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

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 (600) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +10 -2
  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 +3 -2
  13. package/BarChart/useBarChartProps.d.ts +1 -1
  14. package/CHANGELOG.md +551 -3
  15. package/ChartContainer/ChartContainer.d.ts +8 -4
  16. package/ChartContainer/ChartContainer.js +15 -9
  17. package/ChartContainer/useChartContainerProps.d.ts +6 -4
  18. package/ChartContainer/useChartContainerProps.js +7 -5
  19. package/ChartDataProvider/ChartDataProvider.d.ts +42 -0
  20. package/ChartDataProvider/ChartDataProvider.js +108 -0
  21. package/ChartDataProvider/package.json +6 -0
  22. package/ChartDataProvider/useChartDataProviderProps.d.ts +13 -0
  23. package/ChartDataProvider/useChartDataProviderProps.js +52 -0
  24. package/ChartsAxis/ChartsAxis.js +5 -3
  25. package/ChartsGrid/ChartsGrid.js +9 -5
  26. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  27. package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  28. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  29. package/ChartsGrid/ChartsVerticalGrid.js +4 -3
  30. package/ChartsLabel/ChartsLabelGradient.js +11 -12
  31. package/ChartsLegend/ContinuousColorLegend.js +3 -3
  32. package/ChartsLegend/useAxis.js +7 -5
  33. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  34. package/ChartsSurface/ChartsSurface.d.ts +1 -1
  35. package/ChartsSurface/ChartsSurface.js +17 -27
  36. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  37. package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  38. package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
  39. package/ChartsTooltip/ChartsTooltipTable.js +0 -20
  40. package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
  41. package/ChartsTooltip/useAxisTooltip.js +13 -9
  42. package/ChartsTooltip/useItemTooltip.d.ts +3 -1
  43. package/ChartsTooltip/useItemTooltip.js +14 -10
  44. package/ChartsTooltip/utils.js +2 -0
  45. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  46. package/ChartsXAxis/ChartsXAxis.js +11 -8
  47. package/ChartsYAxis/ChartsYAxis.js +8 -5
  48. package/Gauge/Gauge.js +5 -1
  49. package/Gauge/GaugeContainer.d.ts +3 -10
  50. package/Gauge/GaugeContainer.js +38 -38
  51. package/Gauge/GaugeProvider.js +2 -0
  52. package/LineChart/AnimatedArea.js +1 -1
  53. package/LineChart/AnimatedLine.js +1 -1
  54. package/LineChart/AppearingMask.js +1 -1
  55. package/LineChart/AreaPlot.js +59 -25
  56. package/LineChart/CircleMarkElement.d.ts +0 -4
  57. package/LineChart/CircleMarkElement.js +2 -7
  58. package/LineChart/LineChart.d.ts +0 -4
  59. package/LineChart/LineChart.js +10 -6
  60. package/LineChart/LineHighlightElement.d.ts +5 -1
  61. package/LineChart/LineHighlightElement.js +29 -9
  62. package/LineChart/LineHighlightPlot.js +18 -13
  63. package/LineChart/LinePlot.js +59 -24
  64. package/LineChart/MarkPlot.d.ts +0 -6
  65. package/LineChart/MarkPlot.js +20 -23
  66. package/LineChart/extremums.d.ts +3 -3
  67. package/LineChart/formatter.d.ts +2 -2
  68. package/LineChart/formatter.js +3 -1
  69. package/LineChart/getColor.d.ts +1 -1
  70. package/LineChart/legend.d.ts +1 -1
  71. package/LineChart/legend.js +1 -1
  72. package/LineChart/plugin.d.ts +2 -2
  73. package/LineChart/plugin.js +3 -2
  74. package/LineChart/useLineChartProps.d.ts +1 -1
  75. package/LineChart/useLineChartProps.js +3 -5
  76. package/PieChart/PieArcLabelPlot.js +2 -2
  77. package/PieChart/PieArcPlot.js +2 -2
  78. package/PieChart/PieChart.js +10 -2
  79. package/PieChart/dataTransform/transition.d.ts +2 -2
  80. package/PieChart/dataTransform/transition.js +6 -6
  81. package/PieChart/formatter.d.ts +2 -2
  82. package/PieChart/formatter.js +4 -1
  83. package/PieChart/getColor.d.ts +1 -1
  84. package/PieChart/getPieCoordinates.d.ts +2 -2
  85. package/PieChart/legend.d.ts +1 -1
  86. package/PieChart/legend.js +1 -1
  87. package/PieChart/plugin.d.ts +2 -2
  88. package/PieChart/plugin.js +3 -2
  89. package/ScatterChart/Scatter.js +6 -4
  90. package/ScatterChart/ScatterChart.d.ts +1 -2
  91. package/ScatterChart/ScatterChart.js +17 -13
  92. package/ScatterChart/ScatterPlot.js +11 -10
  93. package/ScatterChart/extremums.d.ts +3 -3
  94. package/ScatterChart/extremums.js +3 -1
  95. package/ScatterChart/formatter.d.ts +2 -2
  96. package/ScatterChart/formatter.js +3 -1
  97. package/ScatterChart/getColor.d.ts +1 -1
  98. package/ScatterChart/legend.d.ts +1 -1
  99. package/ScatterChart/legend.js +1 -1
  100. package/ScatterChart/plugin.d.ts +2 -2
  101. package/ScatterChart/plugin.js +3 -2
  102. package/ScatterChart/useScatterChartProps.d.ts +1 -3
  103. package/ScatterChart/useScatterChartProps.js +1 -4
  104. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  105. package/SparkLineChart/SparkLineChart.js +11 -2
  106. package/context/AnimationProvider/AnimationProvider.js +1 -1
  107. package/context/ChartProvider/ChartProvider.d.ts +5 -1
  108. package/context/ChartProvider/ChartProvider.js +22 -2
  109. package/context/ChartProvider/ChartProvider.types.d.ts +17 -2
  110. package/context/InteractionSelectors.d.ts +22 -22
  111. package/context/PolarProvider/PolarProvider.d.ts +0 -4
  112. package/context/PolarProvider/PolarProvider.js +59 -47
  113. package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
  114. package/context/PolarProvider/getAxisExtremum.js +48 -20
  115. package/context/PolarProvider/usePolarContext.d.ts +0 -2
  116. package/context/PolarProvider/usePolarContext.js +9 -8
  117. package/context/index.d.ts +0 -4
  118. package/context/index.js +1 -3
  119. package/hooks/index.d.ts +2 -0
  120. package/hooks/index.js +3 -1
  121. package/hooks/useAxis.d.ts +9 -1
  122. package/hooks/useAxis.js +32 -6
  123. package/hooks/useAxisEvents.js +12 -8
  124. package/hooks/useChartGradientId.d.ts +31 -0
  125. package/hooks/useChartGradientId.js +47 -0
  126. package/hooks/useColorScale.js +5 -5
  127. package/hooks/useDrawingArea.d.ts +16 -2
  128. package/hooks/useDrawingArea.js +5 -20
  129. package/hooks/useLegend.js +8 -13
  130. package/hooks/useSeries.d.ts +11 -6
  131. package/hooks/useSeries.js +5 -10
  132. package/hooks/useZAxis.d.ts +3 -2
  133. package/hooks/useZAxis.js +25 -6
  134. package/index.d.ts +1 -0
  135. package/index.js +3 -2
  136. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -3
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  138. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
  139. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  140. package/internals/defaultizeColor.d.ts +24 -22
  141. package/internals/index.d.ts +14 -10
  142. package/internals/index.js +17 -11
  143. package/internals/plugins/allPlugins.d.ts +12 -1
  144. package/internals/plugins/allPlugins.js +5 -2
  145. package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
  146. package/internals/plugins/corePlugins/corePlugins.js +3 -1
  147. package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
  148. package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  149. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
  150. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  151. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
  152. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  153. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
  154. package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
  155. package/internals/plugins/corePlugins/useChartId/index.js +2 -1
  156. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  157. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
  158. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
  159. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
  160. package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  161. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
  162. package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  163. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
  164. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  165. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
  166. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  167. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
  168. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
  169. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
  171. package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  172. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
  173. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  174. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
  175. package/{modern/context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  176. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
  177. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  178. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +6 -0
  179. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
  180. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
  181. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  182. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1336 -0
  183. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
  184. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +75 -0
  185. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
  186. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +11 -11
  187. package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
  188. package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  189. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
  190. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  191. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
  192. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  193. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
  194. package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
  195. package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  196. package/internals/plugins/models/index.d.ts +1 -0
  197. package/internals/plugins/models/index.js +2 -1
  198. package/internals/plugins/models/plugin.d.ts +32 -2
  199. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  200. package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
  201. package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
  202. package/internals/plugins/models/seriesConfig/index.js +4 -0
  203. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +15 -0
  204. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
  205. package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
  206. package/internals/store/extractPluginParamsFromProps.js +28 -0
  207. package/internals/store/useChartModels.d.ts +7 -0
  208. package/internals/store/useChartModels.js +64 -0
  209. package/internals/store/useCharts.d.ts +4 -2
  210. package/internals/store/useCharts.js +14 -9
  211. package/internals/store/useCharts.types.d.ts +1 -1
  212. package/internals/store/useStore.d.ts +5 -1
  213. package/internals/store/useStore.js +1 -9
  214. package/models/layout.d.ts +2 -1
  215. package/models/seriesType/line.d.ts +11 -0
  216. package/modern/BarChart/BarChart.js +10 -2
  217. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  218. package/modern/BarChart/BarPlot.js +8 -9
  219. package/modern/BarChart/formatter.js +2 -1
  220. package/modern/BarChart/legend.js +1 -1
  221. package/modern/BarChart/plugin.js +3 -2
  222. package/modern/ChartContainer/ChartContainer.js +15 -9
  223. package/modern/ChartContainer/useChartContainerProps.js +7 -5
  224. package/modern/ChartDataProvider/ChartDataProvider.js +108 -0
  225. package/modern/ChartDataProvider/useChartDataProviderProps.js +52 -0
  226. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  227. package/modern/ChartsGrid/ChartsGrid.js +9 -5
  228. package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  229. package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
  230. package/modern/ChartsLabel/ChartsLabelGradient.js +11 -12
  231. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -3
  232. package/modern/ChartsLegend/useAxis.js +7 -5
  233. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  234. package/modern/ChartsSurface/ChartsSurface.js +17 -27
  235. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  236. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  237. package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
  238. package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
  239. package/modern/ChartsTooltip/useItemTooltip.js +14 -10
  240. package/modern/ChartsTooltip/utils.js +2 -0
  241. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  242. package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
  243. package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
  244. package/modern/Gauge/Gauge.js +5 -1
  245. package/modern/Gauge/GaugeContainer.js +38 -38
  246. package/modern/Gauge/GaugeProvider.js +2 -0
  247. package/modern/LineChart/AnimatedArea.js +1 -1
  248. package/modern/LineChart/AnimatedLine.js +1 -1
  249. package/modern/LineChart/AppearingMask.js +1 -1
  250. package/modern/LineChart/AreaPlot.js +59 -25
  251. package/modern/LineChart/CircleMarkElement.js +2 -7
  252. package/modern/LineChart/LineChart.js +10 -6
  253. package/modern/LineChart/LineHighlightElement.js +29 -9
  254. package/modern/LineChart/LineHighlightPlot.js +18 -13
  255. package/modern/LineChart/LinePlot.js +59 -24
  256. package/modern/LineChart/MarkPlot.js +20 -23
  257. package/modern/LineChart/formatter.js +3 -1
  258. package/modern/LineChart/legend.js +1 -1
  259. package/modern/LineChart/plugin.js +3 -2
  260. package/modern/LineChart/useLineChartProps.js +3 -5
  261. package/modern/PieChart/PieArcLabelPlot.js +2 -2
  262. package/modern/PieChart/PieArcPlot.js +2 -2
  263. package/modern/PieChart/PieChart.js +10 -2
  264. package/modern/PieChart/dataTransform/transition.js +6 -6
  265. package/modern/PieChart/formatter.js +4 -1
  266. package/modern/PieChart/legend.js +1 -1
  267. package/modern/PieChart/plugin.js +3 -2
  268. package/modern/ScatterChart/Scatter.js +6 -4
  269. package/modern/ScatterChart/ScatterChart.js +17 -13
  270. package/modern/ScatterChart/ScatterPlot.js +11 -10
  271. package/modern/ScatterChart/extremums.js +3 -1
  272. package/modern/ScatterChart/formatter.js +3 -1
  273. package/modern/ScatterChart/legend.js +1 -1
  274. package/modern/ScatterChart/plugin.js +3 -2
  275. package/modern/ScatterChart/useScatterChartProps.js +1 -4
  276. package/modern/SparkLineChart/SparkLineChart.js +11 -2
  277. package/modern/context/AnimationProvider/AnimationProvider.js +1 -1
  278. package/modern/context/ChartProvider/ChartProvider.js +22 -2
  279. package/modern/context/PolarProvider/PolarProvider.js +59 -47
  280. package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
  281. package/modern/context/PolarProvider/usePolarContext.js +9 -8
  282. package/modern/context/index.js +1 -3
  283. package/modern/hooks/index.js +3 -1
  284. package/modern/hooks/useAxis.js +32 -6
  285. package/modern/hooks/useAxisEvents.js +12 -8
  286. package/modern/hooks/useChartGradientId.js +47 -0
  287. package/modern/hooks/useColorScale.js +5 -5
  288. package/modern/hooks/useDrawingArea.js +5 -20
  289. package/modern/hooks/useLegend.js +8 -13
  290. package/modern/hooks/useSeries.js +5 -10
  291. package/modern/hooks/useZAxis.js +25 -6
  292. package/modern/index.js +3 -2
  293. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  294. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  295. package/modern/internals/index.js +17 -11
  296. package/modern/internals/plugins/allPlugins.js +5 -2
  297. package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
  298. package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  299. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  300. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  301. package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
  302. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  303. package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  304. package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  305. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  306. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  307. package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  308. package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  309. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  310. package/{context/ChartDataProvider/useDefaultizeAxis.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  311. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  312. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +5 -0
  313. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  314. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +89 -0
  315. package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  316. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  317. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  318. package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  319. package/modern/internals/plugins/models/index.js +2 -1
  320. package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
  321. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
  322. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
  323. package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
  324. package/modern/internals/store/useChartModels.js +64 -0
  325. package/modern/internals/store/useCharts.js +14 -9
  326. package/modern/internals/store/useStore.js +1 -9
  327. package/node/BarChart/BarChart.js +11 -3
  328. package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
  329. package/node/BarChart/BarPlot.js +6 -6
  330. package/node/BarChart/formatter.js +2 -1
  331. package/node/BarChart/legend.js +1 -1
  332. package/node/BarChart/plugin.js +3 -2
  333. package/node/ChartContainer/ChartContainer.js +15 -9
  334. package/node/ChartContainer/useChartContainerProps.js +7 -5
  335. package/node/ChartDataProvider/ChartDataProvider.js +114 -0
  336. package/node/ChartDataProvider/useChartDataProviderProps.js +59 -0
  337. package/node/ChartsAxis/ChartsAxis.js +5 -3
  338. package/node/ChartsGrid/ChartsGrid.js +9 -5
  339. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  340. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
  341. package/node/ChartsLabel/ChartsLabelGradient.js +11 -12
  342. package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
  343. package/node/ChartsLegend/useAxis.js +6 -4
  344. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
  345. package/node/ChartsSurface/ChartsSurface.js +18 -28
  346. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
  347. package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
  348. package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
  349. package/node/ChartsTooltip/useAxisTooltip.js +11 -7
  350. package/node/ChartsTooltip/useItemTooltip.js +13 -9
  351. package/node/ChartsTooltip/utils.js +1 -0
  352. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
  353. package/node/ChartsXAxis/ChartsXAxis.js +11 -8
  354. package/node/ChartsYAxis/ChartsYAxis.js +8 -5
  355. package/node/Gauge/Gauge.js +5 -1
  356. package/node/Gauge/GaugeContainer.js +38 -38
  357. package/node/Gauge/GaugeProvider.js +2 -2
  358. package/node/LineChart/AnimatedArea.js +1 -1
  359. package/node/LineChart/AnimatedLine.js +1 -1
  360. package/node/LineChart/AppearingMask.js +1 -1
  361. package/node/LineChart/AreaPlot.js +59 -25
  362. package/node/LineChart/CircleMarkElement.js +2 -7
  363. package/node/LineChart/LineChart.js +11 -7
  364. package/node/LineChart/LineHighlightElement.js +29 -9
  365. package/node/LineChart/LineHighlightPlot.js +18 -13
  366. package/node/LineChart/LinePlot.js +59 -24
  367. package/node/LineChart/MarkPlot.js +20 -23
  368. package/node/LineChart/formatter.js +3 -1
  369. package/node/LineChart/legend.js +1 -1
  370. package/node/LineChart/plugin.js +3 -2
  371. package/node/LineChart/useLineChartProps.js +3 -5
  372. package/node/PieChart/PieArcLabelPlot.js +1 -1
  373. package/node/PieChart/PieArcPlot.js +1 -1
  374. package/node/PieChart/PieChart.js +11 -3
  375. package/node/PieChart/dataTransform/transition.js +9 -7
  376. package/node/PieChart/formatter.js +4 -1
  377. package/node/PieChart/legend.js +1 -1
  378. package/node/PieChart/plugin.js +3 -2
  379. package/node/ScatterChart/Scatter.js +6 -4
  380. package/node/ScatterChart/ScatterChart.js +18 -14
  381. package/node/ScatterChart/ScatterPlot.js +10 -9
  382. package/node/ScatterChart/extremums.js +3 -1
  383. package/node/ScatterChart/formatter.js +3 -1
  384. package/node/ScatterChart/legend.js +1 -1
  385. package/node/ScatterChart/plugin.js +3 -2
  386. package/node/ScatterChart/useScatterChartProps.js +1 -4
  387. package/node/SparkLineChart/SparkLineChart.js +10 -1
  388. package/node/context/AnimationProvider/AnimationProvider.js +1 -1
  389. package/node/context/ChartProvider/ChartProvider.js +23 -2
  390. package/node/context/PolarProvider/PolarProvider.js +59 -51
  391. package/node/context/PolarProvider/getAxisExtremum.js +49 -27
  392. package/node/context/PolarProvider/usePolarContext.js +9 -14
  393. package/node/context/index.js +1 -20
  394. package/node/hooks/index.js +29 -2
  395. package/node/hooks/useAxis.js +34 -6
  396. package/node/hooks/useAxisEvents.js +12 -8
  397. package/node/hooks/useChartGradientId.js +56 -0
  398. package/node/hooks/useColorScale.js +4 -4
  399. package/node/hooks/useDrawingArea.js +5 -21
  400. package/node/hooks/useLegend.js +8 -14
  401. package/node/hooks/useSeries.js +5 -9
  402. package/node/hooks/useZAxis.js +27 -9
  403. package/node/index.js +12 -1
  404. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  405. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  406. package/node/internals/index.js +111 -63
  407. package/node/internals/plugins/allPlugins.js +4 -2
  408. package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
  409. package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
  410. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
  411. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
  412. package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
  413. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  414. package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
  415. package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  416. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
  417. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
  418. package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
  419. package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  420. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
  421. package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
  422. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
  423. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +59 -0
  424. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
  425. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +98 -0
  426. package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
  427. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
  428. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
  429. package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
  430. package/node/internals/plugins/models/index.js +11 -0
  431. package/node/internals/plugins/models/seriesConfig/index.js +49 -0
  432. package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
  433. package/node/internals/store/extractPluginParamsFromProps.js +36 -0
  434. package/node/internals/store/useChartModels.js +73 -0
  435. package/node/internals/store/useCharts.js +14 -9
  436. package/node/internals/store/useStore.js +1 -9
  437. package/package.json +3 -3
  438. package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
  439. package/context/CartesianProvider/CartesianContext.d.ts +0 -4
  440. package/context/CartesianProvider/CartesianContext.js +0 -13
  441. package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
  442. package/context/CartesianProvider/CartesianProvider.js +0 -49
  443. package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
  444. package/context/CartesianProvider/defaultizeAxis.js +0 -13
  445. package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
  446. package/context/CartesianProvider/getAxisExtremum.js +0 -21
  447. package/context/CartesianProvider/index.d.ts +0 -4
  448. package/context/CartesianProvider/index.js +0 -4
  449. package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
  450. package/context/CartesianProvider/useCartesianContext.js +0 -10
  451. package/context/ChartDataProvider/ChartDataProvider.d.ts +0 -58
  452. package/context/ChartDataProvider/ChartDataProvider.js +0 -270
  453. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +0 -90
  454. package/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
  455. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
  456. package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
  457. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
  458. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  459. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
  460. package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  461. package/context/DrawingAreaProvider/index.d.ts +0 -3
  462. package/context/DrawingAreaProvider/index.js +0 -3
  463. package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
  464. package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
  465. package/context/PluginProvider/Plugin.types.d.ts +0 -29
  466. package/context/PluginProvider/PluginContext.d.ts +0 -4
  467. package/context/PluginProvider/PluginContext.js +0 -15
  468. package/context/PluginProvider/PluginProvider.d.ts +0 -4
  469. package/context/PluginProvider/PluginProvider.js +0 -21
  470. package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
  471. package/context/PluginProvider/index.d.ts +0 -12
  472. package/context/PluginProvider/index.js +0 -12
  473. package/context/PluginProvider/mergePlugins.d.ts +0 -46
  474. package/context/PluginProvider/mergePlugins.js +0 -40
  475. package/context/PluginProvider/useColorProcessor.d.ts +0 -4
  476. package/context/PluginProvider/useColorProcessor.js +0 -17
  477. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
  478. package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  479. package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
  480. package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  481. package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
  482. package/context/PluginProvider/useSeriesFormatter.js +0 -17
  483. package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
  484. package/context/PluginProvider/useXExtremumGetter.js +0 -15
  485. package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
  486. package/context/PluginProvider/useYExtremumGetter.js +0 -15
  487. package/context/SeriesProvider/Series.types.d.ts +0 -26
  488. package/context/SeriesProvider/SeriesContext.d.ts +0 -4
  489. package/context/SeriesProvider/SeriesContext.js +0 -8
  490. package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
  491. package/context/SeriesProvider/SeriesProvider.js +0 -33
  492. package/context/SeriesProvider/index.d.ts +0 -12
  493. package/context/SeriesProvider/index.js +0 -8
  494. package/context/SeriesProvider/processSeries.d.ts +0 -18
  495. package/context/SizeProvider/Size.types.d.ts +0 -30
  496. package/context/SizeProvider/SizeContext.d.ts +0 -4
  497. package/context/SizeProvider/SizeContext.js +0 -15
  498. package/context/SizeProvider/SizeProvider.d.ts +0 -11
  499. package/context/SizeProvider/SizeProvider.js +0 -26
  500. package/context/SizeProvider/index.d.ts +0 -4
  501. package/context/SizeProvider/index.js +0 -4
  502. package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
  503. package/context/SizeProvider/useChartContainerDimensions.js +0 -108
  504. package/context/SizeProvider/useSize.d.ts +0 -5
  505. package/context/SizeProvider/useSize.js +0 -13
  506. package/context/ZAxisContextProvider.d.ts +0 -33
  507. package/context/ZAxisContextProvider.js +0 -96
  508. package/internals/computeAxisValue.d.ts +0 -38
  509. package/modern/context/CartesianProvider/CartesianContext.js +0 -13
  510. package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
  511. package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
  512. package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
  513. package/modern/context/CartesianProvider/index.js +0 -4
  514. package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
  515. package/modern/context/ChartDataProvider/ChartDataProvider.js +0 -270
  516. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +0 -66
  517. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  518. package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  519. package/modern/context/DrawingAreaProvider/index.js +0 -3
  520. package/modern/context/PluginProvider/PluginContext.js +0 -15
  521. package/modern/context/PluginProvider/PluginProvider.js +0 -21
  522. package/modern/context/PluginProvider/index.js +0 -12
  523. package/modern/context/PluginProvider/mergePlugins.js +0 -40
  524. package/modern/context/PluginProvider/useColorProcessor.js +0 -17
  525. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  526. package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  527. package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
  528. package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
  529. package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
  530. package/modern/context/SeriesProvider/SeriesContext.js +0 -8
  531. package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
  532. package/modern/context/SeriesProvider/index.js +0 -8
  533. package/modern/context/SizeProvider/SizeContext.js +0 -15
  534. package/modern/context/SizeProvider/SizeProvider.js +0 -26
  535. package/modern/context/SizeProvider/index.js +0 -4
  536. package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
  537. package/modern/context/SizeProvider/useSize.js +0 -13
  538. package/modern/context/ZAxisContextProvider.js +0 -96
  539. package/node/context/CartesianProvider/CartesianContext.js +0 -20
  540. package/node/context/CartesianProvider/CartesianProvider.js +0 -54
  541. package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
  542. package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
  543. package/node/context/CartesianProvider/index.js +0 -49
  544. package/node/context/CartesianProvider/useCartesianContext.js +0 -17
  545. package/node/context/ChartDataProvider/ChartDataProvider.js +0 -276
  546. package/node/context/ChartDataProvider/useChartDataProviderProps.js +0 -72
  547. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
  548. package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
  549. package/node/context/DrawingAreaProvider/index.js +0 -38
  550. package/node/context/PluginProvider/PluginContext.js +0 -22
  551. package/node/context/PluginProvider/PluginProvider.js +0 -26
  552. package/node/context/PluginProvider/index.js +0 -137
  553. package/node/context/PluginProvider/mergePlugins.js +0 -47
  554. package/node/context/PluginProvider/useColorProcessor.js +0 -23
  555. package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
  556. package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
  557. package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
  558. package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
  559. package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
  560. package/node/context/SeriesProvider/SeriesContext.js +0 -15
  561. package/node/context/SeriesProvider/SeriesProvider.js +0 -38
  562. package/node/context/SeriesProvider/index.js +0 -49
  563. package/node/context/SizeProvider/SizeContext.js +0 -22
  564. package/node/context/SizeProvider/SizeProvider.js +0 -29
  565. package/node/context/SizeProvider/index.js +0 -49
  566. package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
  567. package/node/context/SizeProvider/useSize.js +0 -20
  568. package/node/context/ZAxisContextProvider.js +0 -103
  569. /package/{context/ChartDataProvider → ChartDataProvider}/index.d.ts +0 -0
  570. /package/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  571. /package/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  572. /package/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  573. /package/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  574. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
  575. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  576. /package/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  577. /package/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  578. /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  579. /package/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  580. /package/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
  581. /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
  582. /package/modern/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  583. /package/modern/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  584. /package/modern/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  585. /package/modern/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  586. /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  587. /package/modern/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  588. /package/modern/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  589. /package/modern/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  590. /package/modern/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  591. /package/node/{context/ChartDataProvider → ChartDataProvider}/index.js +0 -0
  592. /package/node/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  593. /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  594. /package/node/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  595. /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  596. /package/node/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  597. /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  598. /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  599. /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  600. /package/node/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
@@ -13,14 +13,15 @@ var React = _interopRequireWildcard(require("react"));
13
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
14
14
  var _styles = require("@mui/material/styles");
15
15
  var _d3Shape = require("@mui/x-charts-vendor/d3-shape");
16
- var _CartesianProvider = require("../context/CartesianProvider");
17
16
  var _LineElement = require("./LineElement");
18
17
  var _useScale = require("../hooks/useScale");
19
18
  var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
19
+ var _isBandScale = require("../internals/isBandScale");
20
20
  var _constants = require("../constants");
21
- var _ChartsAxesGradients = require("../internals/components/ChartsAxesGradients");
22
21
  var _useSeries = require("../hooks/useSeries");
23
22
  var _AnimationProvider = require("../context/AnimationProvider");
23
+ var _useChartGradientId = require("../hooks/useChartGradientId");
24
+ var _hooks = require("../hooks");
24
25
  var _jsxRuntime = require("react/jsx-runtime");
25
26
  const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
26
27
  const LinePlotRoot = (0, _styles.styled)('g', {
@@ -34,7 +35,15 @@ const LinePlotRoot = (0, _styles.styled)('g', {
34
35
  });
35
36
  const useAggregatedData = () => {
36
37
  const seriesData = (0, _useSeries.useLineSeries)();
37
- const axisData = (0, _CartesianProvider.useCartesianContext)();
38
+ const {
39
+ xAxis,
40
+ xAxisIds
41
+ } = (0, _hooks.useXAxes)();
42
+ const {
43
+ yAxis,
44
+ yAxisIds
45
+ } = (0, _hooks.useYAxes)();
46
+ const getGradientId = (0, _useChartGradientId.useChartGradientIdBuilder)();
38
47
 
39
48
  // This memo prevents odd line chart behavior when hydrating.
40
49
  const allData = React.useMemo(() => {
@@ -45,12 +54,6 @@ const useAggregatedData = () => {
45
54
  series,
46
55
  stackingGroups
47
56
  } = seriesData;
48
- const {
49
- xAxis,
50
- yAxis,
51
- xAxisIds,
52
- yAxisIds
53
- } = axisData;
54
57
  const defaultXAxisId = xAxisIds[0];
55
58
  const defaultYAxisId = yAxisIds[0];
56
59
  return stackingGroups.flatMap(({
@@ -62,12 +65,15 @@ const useAggregatedData = () => {
62
65
  yAxisId = defaultYAxisId,
63
66
  stackedData,
64
67
  data,
65
- connectNulls
68
+ connectNulls,
69
+ curve,
70
+ strictStepCurve
66
71
  } = series[seriesId];
67
- const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisId].scale);
72
+ const xScale = xAxis[xAxisId].scale;
73
+ const xPosition = (0, _useScale.getValueToPositionMapper)(xScale);
68
74
  const yScale = yAxis[yAxisId].scale;
69
75
  const xData = xAxis[xAxisId].data;
70
- const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
76
+ const gradientId = yAxis[yAxisId].colorScale && getGradientId(yAxisId) || xAxis[xAxisId].colorScale && getGradientId(xAxisId) || undefined;
71
77
  if (process.env.NODE_ENV !== 'production') {
72
78
  if (xData === undefined) {
73
79
  throw new Error(`MUI X: ${xAxisId === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisId}"`} should have data property to be able to display a line plot.`);
@@ -76,21 +82,51 @@ const useAggregatedData = () => {
76
82
  throw new Error(`MUI X: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
77
83
  }
78
84
  }
79
- const linePath = (0, _d3Shape.line)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y(d => yScale(d.y[1]));
80
- const formattedData = xData?.map((x, index) => ({
81
- x,
82
- y: stackedData[index]
83
- })) ?? [];
84
- const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
85
- const d = linePath.curve((0, _getCurve.default)(series[seriesId].curve))(d3Data) || '';
85
+ const shouldExpand = curve?.includes('step') && !strictStepCurve && (0, _isBandScale.isBandScale)(xScale);
86
+ const formattedData = xData?.flatMap((x, index) => {
87
+ const nullData = data[index] == null;
88
+ if (shouldExpand) {
89
+ const rep = [{
90
+ x,
91
+ y: stackedData[index],
92
+ nullData,
93
+ isExtension: false
94
+ }];
95
+ if (!nullData && (index === 0 || data[index - 1] == null)) {
96
+ rep.unshift({
97
+ x: (xScale(x) ?? 0) - (xScale.step() - xScale.bandwidth()) / 2,
98
+ y: stackedData[index],
99
+ nullData,
100
+ isExtension: true
101
+ });
102
+ }
103
+ if (!nullData && (index === data.length - 1 || data[index + 1] == null)) {
104
+ rep.push({
105
+ x: (xScale(x) ?? 0) + (xScale.step() + xScale.bandwidth()) / 2,
106
+ y: stackedData[index],
107
+ nullData,
108
+ isExtension: true
109
+ });
110
+ }
111
+ return rep;
112
+ }
113
+ return {
114
+ x,
115
+ y: stackedData[index],
116
+ nullData
117
+ };
118
+ }) ?? [];
119
+ const d3Data = connectNulls ? formattedData.filter(d => !d.nullData) : formattedData;
120
+ const linePath = (0, _d3Shape.line)().x(d => d.isExtension ? d.x : xPosition(d.x)).defined(d => connectNulls || !d.nullData || !!d.isExtension).y(d => yScale(d.y[1]));
121
+ const d = linePath.curve((0, _getCurve.default)(curve))(d3Data) || '';
86
122
  return (0, _extends2.default)({}, series[seriesId], {
87
- gradientUsed,
123
+ gradientId,
88
124
  d,
89
125
  seriesId
90
126
  });
91
127
  });
92
128
  });
93
- }, [seriesData, axisData]);
129
+ }, [seriesData, xAxisIds, yAxisIds, xAxis, yAxis, getGradientId]);
94
130
  return allData;
95
131
  };
96
132
 
@@ -113,20 +149,19 @@ function LinePlot(props) {
113
149
  } = props,
114
150
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
115
151
  const skipAnimation = (0, _AnimationProvider.useSkipAnimation)(inSkipAnimation);
116
- const getGradientId = (0, _ChartsAxesGradients.useChartGradient)();
117
152
  const completedData = useAggregatedData();
118
153
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(LinePlotRoot, (0, _extends2.default)({}, other, {
119
154
  children: completedData.map(({
120
155
  d,
121
156
  seriesId,
122
157
  color,
123
- gradientUsed
158
+ gradientId
124
159
  }) => {
125
160
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineElement.LineElement, {
126
161
  id: seriesId,
127
162
  d: d,
128
163
  color: color,
129
- gradientId: gradientUsed && getGradientId(...gradientUsed),
164
+ gradientId: gradientId,
130
165
  skipAnimation: skipAnimation,
131
166
  slots: slots,
132
167
  slotProps: slotProps,
@@ -13,17 +13,17 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var React = _interopRequireWildcard(require("react"));
14
14
  var _constants = require("../constants");
15
15
  var _AnimationProvider = require("../context/AnimationProvider");
16
- var _CartesianProvider = require("../context/CartesianProvider");
17
16
  var _useChartId = require("../hooks/useChartId");
18
- var _useDrawingArea = require("../hooks/useDrawingArea");
19
17
  var _useScale = require("../hooks/useScale");
20
18
  var _useSeries = require("../hooks/useSeries");
21
19
  var _cleanId = require("../internals/cleanId");
22
20
  var _CircleMarkElement = require("./CircleMarkElement");
23
21
  var _getColor = _interopRequireDefault(require("./getColor"));
24
22
  var _MarkElement = require("./MarkElement");
23
+ var _ChartProvider = require("../context/ChartProvider");
24
+ var _hooks = require("../hooks");
25
25
  var _jsxRuntime = require("react/jsx-runtime");
26
- const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick", "experimentalRendering"];
26
+ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
27
27
  /**
28
28
  * Demos:
29
29
  *
@@ -39,16 +39,23 @@ function MarkPlot(props) {
39
39
  slots,
40
40
  slotProps,
41
41
  skipAnimation: inSkipAnimation,
42
- onItemClick,
43
- experimentalRendering
42
+ onItemClick
44
43
  } = props,
45
44
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
46
45
  const skipAnimation = (0, _AnimationProvider.useSkipAnimation)(inSkipAnimation);
47
46
  const seriesData = (0, _useSeries.useLineSeries)();
48
- const axisData = (0, _CartesianProvider.useCartesianContext)();
47
+ const {
48
+ xAxis,
49
+ xAxisIds
50
+ } = (0, _hooks.useXAxes)();
51
+ const {
52
+ yAxis,
53
+ yAxisIds
54
+ } = (0, _hooks.useYAxes)();
49
55
  const chartId = (0, _useChartId.useChartId)();
50
- const drawingArea = (0, _useDrawingArea.useDrawingArea)();
51
- const Mark = slots?.mark ?? (experimentalRendering ? _CircleMarkElement.CircleMarkElement : _MarkElement.MarkElement);
56
+ const {
57
+ instance
58
+ } = (0, _ChartProvider.useChartContext)();
52
59
  if (seriesData === undefined) {
53
60
  return null;
54
61
  }
@@ -56,12 +63,6 @@ function MarkPlot(props) {
56
63
  series,
57
64
  stackingGroups
58
65
  } = seriesData;
59
- const {
60
- xAxis,
61
- yAxis,
62
- xAxisIds,
63
- yAxisIds
64
- } = axisData;
65
66
  const defaultXAxisId = xAxisIds[0];
66
67
  const defaultYAxisId = yAxisIds[0];
67
68
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
@@ -74,7 +75,8 @@ function MarkPlot(props) {
74
75
  yAxisId = defaultYAxisId,
75
76
  stackedData,
76
77
  data,
77
- showMark = true
78
+ showMark = true,
79
+ shape = 'circle'
78
80
  } = series[seriesId];
79
81
  if (showMark === false) {
80
82
  return null;
@@ -88,6 +90,7 @@ function MarkPlot(props) {
88
90
  const clipId = (0, _cleanId.cleanId)(`${chartId}-${seriesId}-line-clip`); // We assume that if displaying line mark, the line will also be rendered
89
91
 
90
92
  const colorGetter = (0, _getColor.default)(series[seriesId], xAxis[xAxisId], yAxis[yAxisId]);
93
+ const Mark = slots?.mark ?? (shape === 'circle' ? _CircleMarkElement.CircleMarkElement : _MarkElement.MarkElement);
91
94
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
92
95
  clipPath: `url(#${clipId})`,
93
96
  children: xData?.map((x, index) => {
@@ -110,7 +113,7 @@ function MarkPlot(props) {
110
113
  // Remove missing data point
111
114
  return false;
112
115
  }
113
- if (!drawingArea.isPointInside({
116
+ if (!instance.isPointInside({
114
117
  x,
115
118
  y
116
119
  })) {
@@ -135,7 +138,7 @@ function MarkPlot(props) {
135
138
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Mark, (0, _extends2.default)({
136
139
  id: seriesId,
137
140
  dataIndex: index,
138
- shape: "circle",
141
+ shape: shape,
139
142
  color: colorGetter(index),
140
143
  x: x,
141
144
  y: y // Don't know why TS doesn't get from the filter that y can't be null
@@ -158,12 +161,6 @@ process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
158
161
  // | These PropTypes are generated from the TypeScript type definitions |
159
162
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
160
163
  // ----------------------------------------------------------------------
161
- /**
162
- * If `true` the mark element will only be able to render circle.
163
- * Giving fewer customization options, but saving around 40ms per 1.000 marks.
164
- * @default false
165
- */
166
- experimentalRendering: _propTypes.default.bool,
167
164
  /**
168
165
  * Callback fired when a line mark item is clicked.
169
166
  * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
@@ -56,7 +56,9 @@ const formatter = (params, dataset) => {
56
56
  .order(stackingOrder).offset(stackingOffset)(d3Dataset);
57
57
  ids.forEach((id, index) => {
58
58
  const dataKey = series[id].dataKey;
59
- completedSeries[id] = (0, _extends2.default)({}, series[id], {
59
+ completedSeries[id] = (0, _extends2.default)({
60
+ labelMarkType: 'line'
61
+ }, series[id], {
60
62
  data: dataKey ? dataset.map(data => {
61
63
  const value = data[dataKey];
62
64
  if (typeof value !== 'number') {
@@ -16,7 +16,7 @@ const legendGetter = params => {
16
16
  return acc;
17
17
  }
18
18
  acc.push({
19
- markType: series[seriesId].labelMarkType ?? 'line',
19
+ markType: series[seriesId].labelMarkType,
20
20
  id: seriesId,
21
21
  seriesId,
22
22
  color: series[seriesId].color,
@@ -8,10 +8,11 @@ exports.plugin = void 0;
8
8
  var _extremums = require("./extremums");
9
9
  var _formatter = _interopRequireDefault(require("./formatter"));
10
10
  var _getColor = _interopRequireDefault(require("./getColor"));
11
+ var _legend = _interopRequireDefault(require("./legend"));
11
12
  const plugin = exports.plugin = {
12
- seriesType: 'line',
13
13
  colorProcessor: _getColor.default,
14
- seriesFormatter: _formatter.default,
14
+ seriesProcessor: _formatter.default,
15
+ legendGetter: _legend.default,
15
16
  xExtremumGetter: _extremums.getExtremumX,
16
17
  yExtremumGetter: _extremums.getExtremumY
17
18
  };
@@ -11,7 +11,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
12
12
  var _constants = require("../constants");
13
13
  var _calculateMargins = require("../internals/calculateMargins");
14
- const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className", "experimentalMarkRendering"];
14
+ const _excluded = ["xAxis", "yAxis", "series", "width", "height", "margin", "colors", "dataset", "sx", "onAxisClick", "onAreaClick", "onLineClick", "onMarkClick", "axisHighlight", "disableLineItemHighlight", "hideLegend", "grid", "topAxis", "leftAxis", "rightAxis", "bottomAxis", "children", "slots", "slotProps", "skipAnimation", "loading", "highlightedItem", "onHighlightChange", "className"];
15
15
  /**
16
16
  * A helper function that extracts LineChartProps from the input props
17
17
  * and returns an object with props for the children components of LineChart.
@@ -49,8 +49,7 @@ const useLineChartProps = props => {
49
49
  loading,
50
50
  highlightedItem,
51
51
  onHighlightChange,
52
- className,
53
- experimentalMarkRendering
52
+ className
54
53
  } = props,
55
54
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
56
55
  const id = (0, _useId.default)();
@@ -111,8 +110,7 @@ const useLineChartProps = props => {
111
110
  slots,
112
111
  slotProps,
113
112
  onItemClick: onMarkClick,
114
- skipAnimation,
115
- experimentalRendering: experimentalMarkRendering
113
+ skipAnimation
116
114
  };
117
115
  const overlayProps = {
118
116
  slots,
@@ -72,7 +72,7 @@ function PieArcLabelPlot(props) {
72
72
  faded,
73
73
  data
74
74
  });
75
- const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultLabelTransitionConfig, {
75
+ const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, (0, _transition.getDefaultLabelTransitionConfig)(skipAnimation), {
76
76
  immediate: skipAnimation
77
77
  }));
78
78
  if (data.length === 0) {
@@ -45,7 +45,7 @@ function PieArcPlot(props) {
45
45
  faded,
46
46
  data
47
47
  });
48
- const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, _transition.defaultTransitionConfig, {
48
+ const transition = (0, _web.useTransition)(transformedData, (0, _extends2.default)({}, (0, _transition.getDefaultTransitionConfig)(skipAnimation), {
49
49
  immediate: skipAnimation
50
50
  }));
51
51
  if (data.length === 0) {
@@ -17,7 +17,7 @@ var _ChartsLegend = require("../ChartsLegend");
17
17
  var _PiePlot = require("./PiePlot");
18
18
  var _ChartsOverlay = require("../ChartsOverlay");
19
19
  var _ChartsSurface = require("../ChartsSurface");
20
- var _context = require("../context");
20
+ var _ChartDataProvider = require("../ChartDataProvider");
21
21
  var _useChartContainerProps = require("../ChartContainer/useChartContainerProps");
22
22
  var _ChartsWrapper = require("../internals/components/ChartsWrapper");
23
23
  var _jsxRuntime = require("react/jsx-runtime");
@@ -82,7 +82,7 @@ const PieChart = exports.PieChart = /*#__PURE__*/React.forwardRef(function PieCh
82
82
  skipAnimation
83
83
  }), ref);
84
84
  const Tooltip = slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
85
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProvider.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
86
86
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsWrapper.ChartsWrapper, {
87
87
  legendPosition: props.slotProps?.legend?.position,
88
88
  legendDirection: props?.slotProps?.legend?.direction ?? 'vertical',
@@ -112,6 +112,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
112
112
  // | These PropTypes are generated from the TypeScript type definitions |
113
113
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
114
114
  // ----------------------------------------------------------------------
115
+ apiRef: _propTypes.default.shape({
116
+ current: _propTypes.default.object
117
+ }),
115
118
  children: _propTypes.default.node,
116
119
  className: _propTypes.default.string,
117
120
  /**
@@ -145,6 +148,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
145
148
  dataIndex: _propTypes.default.number,
146
149
  seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
147
150
  }),
151
+ /**
152
+ * This prop is used to help implement the accessibility logic.
153
+ * If you don't provide this prop. It falls back to a randomly generated id.
154
+ */
155
+ id: _propTypes.default.string,
148
156
  /**
149
157
  * If `true`, a loading overlay is displayed.
150
158
  * @default false
@@ -154,7 +162,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
154
162
  * The margin between the SVG and the drawing area.
155
163
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
156
164
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
157
- * @default object Depends on the charts type.
158
165
  */
159
166
  margin: _propTypes.default.shape({
160
167
  bottom: _propTypes.default.number,
@@ -193,6 +200,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
193
200
  */
194
201
  slots: _propTypes.default.object,
195
202
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
203
+ theme: _propTypes.default.oneOf(['dark', 'light']),
196
204
  title: _propTypes.default.string,
197
205
  /**
198
206
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.defaultTransitionConfig = exports.defaultLabelTransitionConfig = void 0;
7
- const defaultTransitionConfig = exports.defaultTransitionConfig = {
6
+ exports.getDefaultTransitionConfig = exports.getDefaultLabelTransitionConfig = void 0;
7
+ const getDefaultTransitionConfig = skipAnimation => ({
8
8
  keys: item => item.id,
9
- from: ({
9
+ from: skipAnimation ? undefined : ({
10
10
  innerRadius,
11
11
  outerRadius,
12
12
  cornerRadius,
@@ -70,10 +70,11 @@ const defaultTransitionConfig = exports.defaultTransitionConfig = {
70
70
  friction: 14,
71
71
  clamp: true
72
72
  }
73
- };
74
- const defaultLabelTransitionConfig = exports.defaultLabelTransitionConfig = {
73
+ });
74
+ exports.getDefaultTransitionConfig = getDefaultTransitionConfig;
75
+ const getDefaultLabelTransitionConfig = skipAnimation => ({
75
76
  keys: item => item.id,
76
- from: ({
77
+ from: skipAnimation ? undefined : ({
77
78
  innerRadius,
78
79
  outerRadius,
79
80
  arcLabelRadius,
@@ -140,4 +141,5 @@ const defaultLabelTransitionConfig = exports.defaultLabelTransitionConfig = {
140
141
  friction: 14,
141
142
  clamp: true
142
143
  }
143
- };
144
+ });
145
+ exports.getDefaultLabelTransitionConfig = getDefaultLabelTransitionConfig;
@@ -32,11 +32,14 @@ const formatter = params => {
32
32
  seriesOrder.forEach(seriesId => {
33
33
  const arcs = (0, _d3Shape.pie)().startAngle(2 * Math.PI * (series[seriesId].startAngle ?? 0) / 360).endAngle(2 * Math.PI * (series[seriesId].endAngle ?? 360) / 360).padAngle(2 * Math.PI * (series[seriesId].paddingAngle ?? 0) / 360).sortValues(getSortingComparator(series[seriesId].sortingValues ?? 'none'))(series[seriesId].data.map(piePoint => piePoint.value));
34
34
  defaultizedSeries[seriesId] = (0, _extends2.default)({
35
+ labelMarkType: 'circle',
35
36
  valueFormatter: item => item.value.toLocaleString()
36
37
  }, series[seriesId], {
37
38
  data: series[seriesId].data.map((item, index) => (0, _extends2.default)({}, item, {
38
39
  id: item.id ?? `auto-generated-pie-id-${seriesId}-${index}`
39
- }, arcs[index])).map((item, index) => (0, _extends2.default)({}, item, {
40
+ }, arcs[index])).map((item, index) => (0, _extends2.default)({
41
+ labelMarkType: 'circle'
42
+ }, item, {
40
43
  formattedValue: series[seriesId].valueFormatter?.((0, _extends2.default)({}, item, {
41
44
  label: (0, _getLabel.getLabel)(item.label, 'arc')
42
45
  }), {
@@ -17,7 +17,7 @@ const legendGetter = params => {
17
17
  return;
18
18
  }
19
19
  acc.push({
20
- markType: item.labelMarkType ?? series[seriesId].labelMarkType ?? 'circle',
20
+ markType: series[seriesId].labelMarkType,
21
21
  id: item.id,
22
22
  seriesId,
23
23
  color: item.color,
@@ -7,8 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.plugin = void 0;
8
8
  var _formatter = _interopRequireDefault(require("./formatter"));
9
9
  var _getColor = _interopRequireDefault(require("./getColor"));
10
+ var _legend = _interopRequireDefault(require("./legend"));
10
11
  const plugin = exports.plugin = {
11
- seriesType: 'pie',
12
12
  colorProcessor: _getColor.default,
13
- seriesFormatter: _formatter.default
13
+ seriesProcessor: _formatter.default,
14
+ legendGetter: _legend.default
14
15
  };
@@ -15,8 +15,8 @@ var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
15
15
  var _useStore = require("../internals/store/useStore");
16
16
  var _useSelector = require("../internals/store/useSelector");
17
17
  var _context = require("../context");
18
- var _useDrawingArea = require("../hooks/useDrawingArea");
19
18
  var _useChartInteraction = require("../internals/plugins/featurePlugins/useChartInteraction");
19
+ var _ChartProvider = require("../context/ChartProvider");
20
20
  var _jsxRuntime = require("react/jsx-runtime");
21
21
  /**
22
22
  * Demos:
@@ -38,7 +38,9 @@ function Scatter(props) {
38
38
  markerSize,
39
39
  onItemClick
40
40
  } = props;
41
- const drawingArea = (0, _useDrawingArea.useDrawingArea)();
41
+ const {
42
+ instance
43
+ } = (0, _ChartProvider.useChartContext)();
42
44
  const store = (0, _useStore.useStore)();
43
45
  const isVoronoiEnabled = (0, _useSelector.useSelector)(store, _useChartInteraction.selectorChartsInteractionIsVoronoiEnabled);
44
46
  const skipInteractionHandlers = isVoronoiEnabled || series.disableHover;
@@ -55,7 +57,7 @@ function Scatter(props) {
55
57
  const scatterPoint = series.data[i];
56
58
  const x = getXPosition(scatterPoint.x);
57
59
  const y = getYPosition(scatterPoint.y);
58
- const isInRange = drawingArea.isPointInside({
60
+ const isInRange = instance.isPointInside({
59
61
  x,
60
62
  y
61
63
  });
@@ -83,7 +85,7 @@ function Scatter(props) {
83
85
  }
84
86
  }
85
87
  return temp;
86
- }, [xScale, yScale, drawingArea, series.data, series.id, isHighlighted, isFaded, getInteractionItemProps, colorGetter, color]);
88
+ }, [xScale, yScale, series.data, series.id, isHighlighted, isFaded, getInteractionItemProps, colorGetter, color, instance]);
87
89
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
88
90
  children: cleanData.map(dataPoint => /*#__PURE__*/(0, _jsxRuntime.jsx)("circle", (0, _extends2.default)({
89
91
  cx: 0,
@@ -19,10 +19,9 @@ var _ChartsOverlay = require("../ChartsOverlay");
19
19
  var _ChartsAxisHighlight = require("../ChartsAxisHighlight");
20
20
  var _ChartsVoronoiHandler = require("../ChartsVoronoiHandler/ChartsVoronoiHandler");
21
21
  var _ChartsGrid = require("../ChartsGrid");
22
- var _ZAxisContextProvider = require("../context/ZAxisContextProvider");
23
22
  var _useScatterChartProps = require("./useScatterChartProps");
24
23
  var _useChartContainerProps = require("../ChartContainer/useChartContainerProps");
25
- var _context = require("../context");
24
+ var _ChartDataProvider = require("../ChartDataProvider");
26
25
  var _ChartsSurface = require("../ChartsSurface");
27
26
  var _ChartsWrapper = require("../internals/components/ChartsWrapper");
28
27
  var _jsxRuntime = require("react/jsx-runtime");
@@ -44,7 +43,6 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
44
43
  const {
45
44
  chartsWrapperProps,
46
45
  chartContainerProps,
47
- zAxisProps,
48
46
  voronoiHandlerProps,
49
47
  chartsAxisProps,
50
48
  gridProps,
@@ -59,17 +57,15 @@ const ScatterChart = exports.ScatterChart = /*#__PURE__*/React.forwardRef(functi
59
57
  chartsSurfaceProps
60
58
  } = (0, _useChartContainerProps.useChartContainerProps)(chartContainerProps, ref);
61
59
  const Tooltip = props.slots?.tooltip ?? _ChartsTooltip.ChartsTooltip;
62
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartDataProvider.ChartDataProvider, (0, _extends2.default)({}, chartDataProviderProps, {
63
61
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsWrapper.ChartsWrapper, (0, _extends2.default)({}, chartsWrapperProps, {
64
- children: [!props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
65
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ZAxisContextProvider.ZAxisContextProvider, (0, _extends2.default)({}, zAxisProps, {
66
- children: [!props.disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, (0, _extends2.default)({}, voronoiHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
67
- "data-drawing-container": true,
68
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, (0, _extends2.default)({}, scatterPlotProps))
69
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({
70
- trigger: "item"
71
- }, props.slotProps?.tooltip)), children]
72
- }))
62
+ children: [!props.hideLegend && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legendProps)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ChartsSurface.ChartsSurface, (0, _extends2.default)({}, chartsSurfaceProps, {
63
+ children: [!props.disableVoronoi && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsVoronoiHandler.ChartsVoronoiHandler, (0, _extends2.default)({}, voronoiHandlerProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, (0, _extends2.default)({}, chartsAxisProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsGrid.ChartsGrid, (0, _extends2.default)({}, gridProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
64
+ "data-drawing-container": true,
65
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScatterPlot.ScatterPlot, (0, _extends2.default)({}, scatterPlotProps))
66
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsOverlay.ChartsOverlay, (0, _extends2.default)({}, overlayProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlightProps)), !props.loading && /*#__PURE__*/(0, _jsxRuntime.jsx)(Tooltip, (0, _extends2.default)({
67
+ trigger: "item"
68
+ }, props.slotProps?.tooltip)), children]
73
69
  }))]
74
70
  }))
75
71
  }));
@@ -79,6 +75,9 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
79
75
  // | These PropTypes are generated from the TypeScript type definitions |
80
76
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
81
77
  // ----------------------------------------------------------------------
78
+ apiRef: _propTypes.default.shape({
79
+ current: _propTypes.default.object
80
+ }),
82
81
  /**
83
82
  * The configuration of axes highlight.
84
83
  * @see See {@link https://mui.com/x/react-charts/highlighting/ highlighting docs} for more details.
@@ -139,6 +138,11 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
139
138
  dataIndex: _propTypes.default.number,
140
139
  seriesId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
141
140
  }),
141
+ /**
142
+ * This prop is used to help implement the accessibility logic.
143
+ * If you don't provide this prop. It falls back to a randomly generated id.
144
+ */
145
+ id: _propTypes.default.string,
142
146
  /**
143
147
  * Indicate which axis to display the left of the charts.
144
148
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -154,7 +158,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
154
158
  * The margin between the SVG and the drawing area.
155
159
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
156
160
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
157
- * @default object Depends on the charts type.
158
161
  */
159
162
  margin: _propTypes.default.shape({
160
163
  bottom: _propTypes.default.number,
@@ -201,6 +204,7 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
201
204
  */
202
205
  slots: _propTypes.default.object,
203
206
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
207
+ theme: _propTypes.default.oneOf(['dark', 'light']),
204
208
  title: _propTypes.default.string,
205
209
  /**
206
210
  * Indicate which axis to display the top of the charts.
@@ -11,9 +11,9 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _Scatter = require("./Scatter");
14
- var _CartesianProvider = require("../context/CartesianProvider");
15
14
  var _getColor = _interopRequireDefault(require("./getColor"));
16
15
  var _useSeries = require("../hooks/useSeries");
16
+ var _hooks = require("../hooks");
17
17
  var _useZAxis = require("../hooks/useZAxis");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
19
  /**
@@ -33,11 +33,18 @@ function ScatterPlot(props) {
33
33
  onItemClick
34
34
  } = props;
35
35
  const seriesData = (0, _useSeries.useScatterSeries)();
36
- const axisData = (0, _CartesianProvider.useCartesianContext)();
36
+ const {
37
+ xAxis,
38
+ xAxisIds
39
+ } = (0, _hooks.useXAxes)();
40
+ const {
41
+ yAxis,
42
+ yAxisIds
43
+ } = (0, _hooks.useYAxes)();
37
44
  const {
38
45
  zAxis,
39
46
  zAxisIds
40
- } = (0, _useZAxis.useZAxis)();
47
+ } = (0, _useZAxis.useZAxes)();
41
48
  if (seriesData === undefined) {
42
49
  return null;
43
50
  }
@@ -45,12 +52,6 @@ function ScatterPlot(props) {
45
52
  series,
46
53
  seriesOrder
47
54
  } = seriesData;
48
- const {
49
- xAxis,
50
- yAxis,
51
- xAxisIds,
52
- yAxisIds
53
- } = axisData;
54
55
  const defaultXAxisId = xAxisIds[0];
55
56
  const defaultYAxisId = yAxisIds[0];
56
57
  const defaultZAxisId = zAxisIds[0];