@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
@@ -18,7 +18,7 @@ import { ChartsOnAxisClickHandler } from "../ChartsOnAxisClickHandler/index.js";
18
18
  import { ChartsOverlay } from "../ChartsOverlay/index.js";
19
19
  import { useLineChartProps } from "./useLineChartProps.js";
20
20
  import { useChartContainerProps } from "../ChartContainer/useChartContainerProps.js";
21
- import { ChartDataProvider } from "../context/index.js";
21
+ import { ChartDataProvider } from "../ChartDataProvider/index.js";
22
22
  import { ChartsSurface } from "../ChartsSurface/index.js";
23
23
  import { ChartsWrapper } from "../internals/components/ChartsWrapper/index.js";
24
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -77,6 +77,9 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
77
77
  // | These PropTypes are generated from the TypeScript type definitions |
78
78
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
79
79
  // ----------------------------------------------------------------------
80
+ apiRef: PropTypes.shape({
81
+ current: PropTypes.object
82
+ }),
80
83
  /**
81
84
  * The configuration of axes highlight.
82
85
  * @see See {@link https://mui.com/x/react-charts/highlighting/ highlighting docs} for more details.
@@ -114,10 +117,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
114
117
  * If `true`, render the line highlight item.
115
118
  */
116
119
  disableLineItemHighlight: PropTypes.bool,
117
- /**
118
- * If `true` marks will render `<circle />` instead of `<path />` and drop theme override for faster rendering.
119
- */
120
- experimentalMarkRendering: PropTypes.bool,
121
120
  /**
122
121
  * Option to display a cartesian grid in the background.
123
122
  */
@@ -140,6 +139,11 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
140
139
  dataIndex: PropTypes.number,
141
140
  seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
142
141
  }),
142
+ /**
143
+ * This prop is used to help implement the accessibility logic.
144
+ * If you don't provide this prop. It falls back to a randomly generated id.
145
+ */
146
+ id: PropTypes.string,
143
147
  /**
144
148
  * Indicate which axis to display the left of the charts.
145
149
  * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
@@ -155,7 +159,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
155
159
  * The margin between the SVG and the drawing area.
156
160
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
157
161
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
158
- * @default object Depends on the charts type.
159
162
  */
160
163
  margin: PropTypes.shape({
161
164
  bottom: PropTypes.number,
@@ -215,6 +218,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
215
218
  */
216
219
  slots: PropTypes.object,
217
220
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
221
+ theme: PropTypes.oneOf(['dark', 'light']),
218
222
  title: PropTypes.string,
219
223
  /**
220
224
  * Indicate which axis to display the top of the charts.
@@ -2,13 +2,15 @@
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 = ["x", "y", "id", "classes", "color"];
5
+ const _excluded = ["x", "y", "id", "classes", "color", "shape"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { symbol as d3Symbol, symbolsFill as d3SymbolsFill } from '@mui/x-charts-vendor/d3-shape';
8
9
  import composeClasses from '@mui/utils/composeClasses';
9
10
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
10
11
  import { styled } from '@mui/material/styles';
11
12
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
13
+ import { getSymbol } from "../internals/getSymbol.js";
12
14
  import { jsx as _jsx } from "react/jsx-runtime";
13
15
  export function getHighlightElementUtilityClass(slot) {
14
16
  return generateUtilityClass('MuiHighlightElement', slot);
@@ -24,7 +26,18 @@ const useUtilityClasses = ownerState => {
24
26
  };
25
27
  return composeClasses(slots, getHighlightElementUtilityClass, classes);
26
28
  };
27
- const HighlightElement = styled('circle', {
29
+ const HighlightPathElement = styled('path', {
30
+ name: 'MuiHighlightElement',
31
+ slot: 'Root',
32
+ overridesResolver: (_, styles) => styles.root
33
+ })(({
34
+ ownerState
35
+ }) => ({
36
+ transform: `translate(${ownerState.x}px, ${ownerState.y}px)`,
37
+ transformOrigin: `${ownerState.x}px ${ownerState.y}px`,
38
+ fill: ownerState.color
39
+ }));
40
+ const HighlightCircleElement = styled('circle', {
28
41
  name: 'MuiHighlightElement',
29
42
  slot: 'Root',
30
43
  overridesResolver: (_, styles) => styles.root
@@ -51,7 +64,8 @@ function LineHighlightElement(props) {
51
64
  y,
52
65
  id,
53
66
  classes: innerClasses,
54
- color
67
+ color,
68
+ shape
55
69
  } = props,
56
70
  other = _objectWithoutPropertiesLoose(props, _excluded);
57
71
  const ownerState = {
@@ -62,14 +76,19 @@ function LineHighlightElement(props) {
62
76
  y
63
77
  };
64
78
  const classes = useUtilityClasses(ownerState);
65
- return /*#__PURE__*/_jsx(HighlightElement, _extends({
66
- pointerEvents: "none",
67
- ownerState: ownerState,
68
- className: classes.root,
79
+ const Element = shape === 'circle' ? HighlightCircleElement : HighlightPathElement;
80
+ const additionalProps = shape === 'circle' ? {
69
81
  cx: 0,
70
82
  cy: 0,
71
83
  r: other.r === undefined ? 5 : other.r
72
- }, other));
84
+ } : {
85
+ d: d3Symbol(d3SymbolsFill[getSymbol(shape)])()
86
+ };
87
+ return /*#__PURE__*/_jsx(Element, _extends({
88
+ pointerEvents: "none",
89
+ ownerState: ownerState,
90
+ className: classes.root
91
+ }, additionalProps, other));
73
92
  }
74
93
  process.env.NODE_ENV !== "production" ? LineHighlightElement.propTypes = {
75
94
  // ----------------------------- Warning --------------------------------
@@ -77,6 +96,7 @@ process.env.NODE_ENV !== "production" ? LineHighlightElement.propTypes = {
77
96
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
78
97
  // ----------------------------------------------------------------------
79
98
  classes: PropTypes.object,
80
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired
99
+ id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
100
+ shape: PropTypes.oneOf(['circle', 'cross', 'diamond', 'square', 'star', 'triangle', 'wye']).isRequired
81
101
  } : void 0;
82
102
  export { LineHighlightElement };
@@ -7,14 +7,14 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useStore } from "../internals/store/useStore.js";
9
9
  import { useSelector } from "../internals/store/useSelector.js";
10
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
10
  import { LineHighlightElement } from "./LineHighlightElement.js";
12
11
  import { getValueToPositionMapper } from "../hooks/useScale.js";
13
12
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
14
13
  import getColor from "./getColor.js";
15
14
  import { useLineSeries } from "../hooks/useSeries.js";
16
- import { useDrawingArea } from "../hooks/useDrawingArea.js";
15
+ import { useChartContext } from "../context/ChartProvider/index.js";
17
16
  import { selectorChartsInteractionXAxis } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
17
+ import { useXAxes, useYAxes } from "../hooks/useAxis.js";
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  /**
20
20
  * Demos:
@@ -33,8 +33,17 @@ function LineHighlightPlot(props) {
33
33
  } = props,
34
34
  other = _objectWithoutPropertiesLoose(props, _excluded);
35
35
  const seriesData = useLineSeries();
36
- const axisData = useCartesianContext();
37
- const drawingArea = useDrawingArea();
36
+ const {
37
+ xAxis,
38
+ xAxisIds
39
+ } = useXAxes();
40
+ const {
41
+ yAxis,
42
+ yAxisIds
43
+ } = useYAxes();
44
+ const {
45
+ instance
46
+ } = useChartContext();
38
47
  const store = useStore();
39
48
  const xAxisIdentifier = useSelector(store, selectorChartsInteractionXAxis);
40
49
  const highlightedIndex = xAxisIdentifier?.index;
@@ -48,12 +57,6 @@ function LineHighlightPlot(props) {
48
57
  series,
49
58
  stackingGroups
50
59
  } = seriesData;
51
- const {
52
- xAxis,
53
- yAxis,
54
- xAxisIds,
55
- yAxisIds
56
- } = axisData;
57
60
  const defaultXAxisId = xAxisIds[0];
58
61
  const defaultYAxisId = yAxisIds[0];
59
62
  const Element = slots?.lineHighlight ?? LineHighlightElement;
@@ -67,7 +70,8 @@ function LineHighlightPlot(props) {
67
70
  yAxisId = defaultYAxisId,
68
71
  stackedData,
69
72
  data,
70
- disableHighlight
73
+ disableHighlight,
74
+ shape = 'circle'
71
75
  } = series[seriesId];
72
76
  if (disableHighlight || data[highlightedIndex] == null) {
73
77
  return null;
@@ -81,7 +85,7 @@ function LineHighlightPlot(props) {
81
85
  const x = xScale(xData[highlightedIndex]);
82
86
  const y = yScale(stackedData[highlightedIndex][1]); // This should not be undefined since y should not be a band scale
83
87
 
84
- if (!drawingArea.isPointInside({
88
+ if (!instance.isPointInside({
85
89
  x,
86
90
  y
87
91
  })) {
@@ -92,7 +96,8 @@ function LineHighlightPlot(props) {
92
96
  id: seriesId,
93
97
  color: colorGetter(highlightedIndex),
94
98
  x: x,
95
- y: y
99
+ y: y,
100
+ shape: shape
96
101
  }, slotProps?.lineHighlight), `${seriesId}`);
97
102
  });
98
103
  })
@@ -7,14 +7,15 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { styled } from '@mui/material/styles';
9
9
  import { line as d3Line } from '@mui/x-charts-vendor/d3-shape';
10
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
10
  import { LineElement, lineElementClasses } from "./LineElement.js";
12
11
  import { getValueToPositionMapper } from "../hooks/useScale.js";
13
12
  import getCurveFactory from "../internals/getCurve.js";
13
+ import { isBandScale } from "../internals/isBandScale.js";
14
14
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
15
- import { useChartGradient } from "../internals/components/ChartsAxesGradients/index.js";
16
15
  import { useLineSeries } from "../hooks/useSeries.js";
17
16
  import { useSkipAnimation } from "../context/AnimationProvider/index.js";
17
+ import { useChartGradientIdBuilder } from "../hooks/useChartGradientId.js";
18
+ import { useXAxes, useYAxes } from "../hooks/index.js";
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
20
  const LinePlotRoot = styled('g', {
20
21
  name: 'MuiAreaPlot',
@@ -27,7 +28,15 @@ const LinePlotRoot = styled('g', {
27
28
  });
28
29
  const useAggregatedData = () => {
29
30
  const seriesData = useLineSeries();
30
- const axisData = useCartesianContext();
31
+ const {
32
+ xAxis,
33
+ xAxisIds
34
+ } = useXAxes();
35
+ const {
36
+ yAxis,
37
+ yAxisIds
38
+ } = useYAxes();
39
+ const getGradientId = useChartGradientIdBuilder();
31
40
 
32
41
  // This memo prevents odd line chart behavior when hydrating.
33
42
  const allData = React.useMemo(() => {
@@ -38,12 +47,6 @@ const useAggregatedData = () => {
38
47
  series,
39
48
  stackingGroups
40
49
  } = seriesData;
41
- const {
42
- xAxis,
43
- yAxis,
44
- xAxisIds,
45
- yAxisIds
46
- } = axisData;
47
50
  const defaultXAxisId = xAxisIds[0];
48
51
  const defaultYAxisId = yAxisIds[0];
49
52
  return stackingGroups.flatMap(({
@@ -55,12 +58,15 @@ const useAggregatedData = () => {
55
58
  yAxisId = defaultYAxisId,
56
59
  stackedData,
57
60
  data,
58
- connectNulls
61
+ connectNulls,
62
+ curve,
63
+ strictStepCurve
59
64
  } = series[seriesId];
60
- const xScale = getValueToPositionMapper(xAxis[xAxisId].scale);
65
+ const xScale = xAxis[xAxisId].scale;
66
+ const xPosition = getValueToPositionMapper(xScale);
61
67
  const yScale = yAxis[yAxisId].scale;
62
68
  const xData = xAxis[xAxisId].data;
63
- const gradientUsed = yAxis[yAxisId].colorScale && [yAxisId, 'y'] || xAxis[xAxisId].colorScale && [xAxisId, 'x'] || undefined;
69
+ const gradientId = yAxis[yAxisId].colorScale && getGradientId(yAxisId) || xAxis[xAxisId].colorScale && getGradientId(xAxisId) || undefined;
64
70
  if (process.env.NODE_ENV !== 'production') {
65
71
  if (xData === undefined) {
66
72
  throw new Error(`MUI X: ${xAxisId === 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.`);
@@ -69,21 +75,51 @@ const useAggregatedData = () => {
69
75
  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).`);
70
76
  }
71
77
  }
72
- const linePath = d3Line().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y(d => yScale(d.y[1]));
73
- const formattedData = xData?.map((x, index) => ({
74
- x,
75
- y: stackedData[index]
76
- })) ?? [];
77
- const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
78
- const d = linePath.curve(getCurveFactory(series[seriesId].curve))(d3Data) || '';
78
+ const shouldExpand = curve?.includes('step') && !strictStepCurve && isBandScale(xScale);
79
+ const formattedData = xData?.flatMap((x, index) => {
80
+ const nullData = data[index] == null;
81
+ if (shouldExpand) {
82
+ const rep = [{
83
+ x,
84
+ y: stackedData[index],
85
+ nullData,
86
+ isExtension: false
87
+ }];
88
+ if (!nullData && (index === 0 || data[index - 1] == null)) {
89
+ rep.unshift({
90
+ x: (xScale(x) ?? 0) - (xScale.step() - xScale.bandwidth()) / 2,
91
+ y: stackedData[index],
92
+ nullData,
93
+ isExtension: true
94
+ });
95
+ }
96
+ if (!nullData && (index === data.length - 1 || data[index + 1] == null)) {
97
+ rep.push({
98
+ x: (xScale(x) ?? 0) + (xScale.step() + xScale.bandwidth()) / 2,
99
+ y: stackedData[index],
100
+ nullData,
101
+ isExtension: true
102
+ });
103
+ }
104
+ return rep;
105
+ }
106
+ return {
107
+ x,
108
+ y: stackedData[index],
109
+ nullData
110
+ };
111
+ }) ?? [];
112
+ const d3Data = connectNulls ? formattedData.filter(d => !d.nullData) : formattedData;
113
+ const linePath = d3Line().x(d => d.isExtension ? d.x : xPosition(d.x)).defined(d => connectNulls || !d.nullData || !!d.isExtension).y(d => yScale(d.y[1]));
114
+ const d = linePath.curve(getCurveFactory(curve))(d3Data) || '';
79
115
  return _extends({}, series[seriesId], {
80
- gradientUsed,
116
+ gradientId,
81
117
  d,
82
118
  seriesId
83
119
  });
84
120
  });
85
121
  });
86
- }, [seriesData, axisData]);
122
+ }, [seriesData, xAxisIds, yAxisIds, xAxis, yAxis, getGradientId]);
87
123
  return allData;
88
124
  };
89
125
 
@@ -106,20 +142,19 @@ function LinePlot(props) {
106
142
  } = props,
107
143
  other = _objectWithoutPropertiesLoose(props, _excluded);
108
144
  const skipAnimation = useSkipAnimation(inSkipAnimation);
109
- const getGradientId = useChartGradient();
110
145
  const completedData = useAggregatedData();
111
146
  return /*#__PURE__*/_jsx(LinePlotRoot, _extends({}, other, {
112
147
  children: completedData.map(({
113
148
  d,
114
149
  seriesId,
115
150
  color,
116
- gradientUsed
151
+ gradientId
117
152
  }) => {
118
153
  return /*#__PURE__*/_jsx(LineElement, {
119
154
  id: seriesId,
120
155
  d: d,
121
156
  color: color,
122
- gradientId: gradientUsed && getGradientId(...gradientUsed),
157
+ gradientId: gradientId,
123
158
  skipAnimation: skipAnimation,
124
159
  slots: slots,
125
160
  slotProps: slotProps,
@@ -2,20 +2,20 @@
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 = ["slots", "slotProps", "skipAnimation", "onItemClick", "experimentalRendering"];
5
+ const _excluded = ["slots", "slotProps", "skipAnimation", "onItemClick"];
6
6
  import PropTypes from 'prop-types';
7
7
  import * as React from 'react';
8
8
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
9
9
  import { useSkipAnimation } from "../context/AnimationProvider/index.js";
10
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
10
  import { useChartId } from "../hooks/useChartId.js";
12
- import { useDrawingArea } from "../hooks/useDrawingArea.js";
13
11
  import { getValueToPositionMapper } from "../hooks/useScale.js";
14
12
  import { useLineSeries } from "../hooks/useSeries.js";
15
13
  import { cleanId } from "../internals/cleanId.js";
16
14
  import { CircleMarkElement } from "./CircleMarkElement.js";
17
15
  import getColor from "./getColor.js";
18
16
  import { MarkElement } from "./MarkElement.js";
17
+ import { useChartContext } from "../context/ChartProvider/index.js";
18
+ import { useXAxes, useYAxes } from "../hooks/index.js";
19
19
  import { jsx as _jsx } from "react/jsx-runtime";
20
20
  /**
21
21
  * Demos:
@@ -32,16 +32,23 @@ function MarkPlot(props) {
32
32
  slots,
33
33
  slotProps,
34
34
  skipAnimation: inSkipAnimation,
35
- onItemClick,
36
- experimentalRendering
35
+ onItemClick
37
36
  } = props,
38
37
  other = _objectWithoutPropertiesLoose(props, _excluded);
39
38
  const skipAnimation = useSkipAnimation(inSkipAnimation);
40
39
  const seriesData = useLineSeries();
41
- const axisData = useCartesianContext();
40
+ const {
41
+ xAxis,
42
+ xAxisIds
43
+ } = useXAxes();
44
+ const {
45
+ yAxis,
46
+ yAxisIds
47
+ } = useYAxes();
42
48
  const chartId = useChartId();
43
- const drawingArea = useDrawingArea();
44
- const Mark = slots?.mark ?? (experimentalRendering ? CircleMarkElement : MarkElement);
49
+ const {
50
+ instance
51
+ } = useChartContext();
45
52
  if (seriesData === undefined) {
46
53
  return null;
47
54
  }
@@ -49,12 +56,6 @@ function MarkPlot(props) {
49
56
  series,
50
57
  stackingGroups
51
58
  } = seriesData;
52
- const {
53
- xAxis,
54
- yAxis,
55
- xAxisIds,
56
- yAxisIds
57
- } = axisData;
58
59
  const defaultXAxisId = xAxisIds[0];
59
60
  const defaultYAxisId = yAxisIds[0];
60
61
  return /*#__PURE__*/_jsx("g", _extends({}, other, {
@@ -67,7 +68,8 @@ function MarkPlot(props) {
67
68
  yAxisId = defaultYAxisId,
68
69
  stackedData,
69
70
  data,
70
- showMark = true
71
+ showMark = true,
72
+ shape = 'circle'
71
73
  } = series[seriesId];
72
74
  if (showMark === false) {
73
75
  return null;
@@ -81,6 +83,7 @@ function MarkPlot(props) {
81
83
  const clipId = cleanId(`${chartId}-${seriesId}-line-clip`); // We assume that if displaying line mark, the line will also be rendered
82
84
 
83
85
  const colorGetter = getColor(series[seriesId], xAxis[xAxisId], yAxis[yAxisId]);
86
+ const Mark = slots?.mark ?? (shape === 'circle' ? CircleMarkElement : MarkElement);
84
87
  return /*#__PURE__*/_jsx("g", {
85
88
  clipPath: `url(#${clipId})`,
86
89
  children: xData?.map((x, index) => {
@@ -103,7 +106,7 @@ function MarkPlot(props) {
103
106
  // Remove missing data point
104
107
  return false;
105
108
  }
106
- if (!drawingArea.isPointInside({
109
+ if (!instance.isPointInside({
107
110
  x,
108
111
  y
109
112
  })) {
@@ -128,7 +131,7 @@ function MarkPlot(props) {
128
131
  return /*#__PURE__*/_jsx(Mark, _extends({
129
132
  id: seriesId,
130
133
  dataIndex: index,
131
- shape: "circle",
134
+ shape: shape,
132
135
  color: colorGetter(index),
133
136
  x: x,
134
137
  y: y // Don't know why TS doesn't get from the filter that y can't be null
@@ -151,12 +154,6 @@ process.env.NODE_ENV !== "production" ? MarkPlot.propTypes = {
151
154
  // | These PropTypes are generated from the TypeScript type definitions |
152
155
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
153
156
  // ----------------------------------------------------------------------
154
- /**
155
- * If `true` the mark element will only be able to render circle.
156
- * Giving fewer customization options, but saving around 40ms per 1.000 marks.
157
- * @default false
158
- */
159
- experimentalRendering: PropTypes.bool,
160
157
  /**
161
158
  * Callback fired when a line mark item is clicked.
162
159
  * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
@@ -49,7 +49,9 @@ const formatter = (params, dataset) => {
49
49
  .order(stackingOrder).offset(stackingOffset)(d3Dataset);
50
50
  ids.forEach((id, index) => {
51
51
  const dataKey = series[id].dataKey;
52
- completedSeries[id] = _extends({}, series[id], {
52
+ completedSeries[id] = _extends({
53
+ labelMarkType: 'line'
54
+ }, series[id], {
53
55
  data: dataKey ? dataset.map(data => {
54
56
  const value = data[dataKey];
55
57
  if (typeof value !== 'number') {
@@ -10,7 +10,7 @@ const legendGetter = params => {
10
10
  return acc;
11
11
  }
12
12
  acc.push({
13
- markType: series[seriesId].labelMarkType ?? 'line',
13
+ markType: series[seriesId].labelMarkType,
14
14
  id: seriesId,
15
15
  seriesId,
16
16
  color: series[seriesId].color,
@@ -1,10 +1,11 @@
1
1
  import { getExtremumX, getExtremumY } from "./extremums.js";
2
2
  import formatter from "./formatter.js";
3
3
  import getColor from "./getColor.js";
4
+ import legendGetter from "./legend.js";
4
5
  export const plugin = {
5
- seriesType: 'line',
6
6
  colorProcessor: getColor,
7
- seriesFormatter: formatter,
7
+ seriesProcessor: formatter,
8
+ legendGetter,
8
9
  xExtremumGetter: getExtremumX,
9
10
  yExtremumGetter: getExtremumY
10
11
  };
@@ -2,7 +2,7 @@
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 = ["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"];
5
+ 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"];
6
6
  import useId from '@mui/utils/useId';
7
7
  import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
8
8
  import { calculateMargins } from "../internals/calculateMargins.js";
@@ -44,8 +44,7 @@ export const useLineChartProps = props => {
44
44
  loading,
45
45
  highlightedItem,
46
46
  onHighlightChange,
47
- className,
48
- experimentalMarkRendering
47
+ className
49
48
  } = props,
50
49
  other = _objectWithoutPropertiesLoose(props, _excluded);
51
50
  const id = useId();
@@ -106,8 +105,7 @@ export const useLineChartProps = props => {
106
105
  slots,
107
106
  slotProps,
108
107
  onItemClick: onMarkClick,
109
- skipAnimation,
110
- experimentalRendering: experimentalMarkRendering
108
+ skipAnimation
111
109
  };
112
110
  const overlayProps = {
113
111
  slots,
@@ -7,7 +7,7 @@ const _excluded = ["arcLabel", "arcLabelMinAngle", "arcLabelRadius", "cornerRadi
7
7
  import * as React from 'react';
8
8
  import PropTypes from 'prop-types';
9
9
  import { useTransition } from '@react-spring/web';
10
- import { defaultLabelTransitionConfig } from "./dataTransform/transition.js";
10
+ import { getDefaultLabelTransitionConfig } from "./dataTransform/transition.js";
11
11
  import { useTransformData } from "./dataTransform/useTransformData.js";
12
12
  import { PieArcLabel } from "./PieArcLabel.js";
13
13
  import { getLabel } from "../internals/getLabel.js";
@@ -65,7 +65,7 @@ function PieArcLabelPlot(props) {
65
65
  faded,
66
66
  data
67
67
  });
68
- const transition = useTransition(transformedData, _extends({}, defaultLabelTransitionConfig, {
68
+ const transition = useTransition(transformedData, _extends({}, getDefaultLabelTransitionConfig(skipAnimation), {
69
69
  immediate: skipAnimation
70
70
  }));
71
71
  if (data.length === 0) {
@@ -7,7 +7,7 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { useTransition } from '@react-spring/web';
9
9
  import { PieArc } from "./PieArc.js";
10
- import { defaultTransitionConfig } from "./dataTransform/transition.js";
10
+ import { getDefaultTransitionConfig } from "./dataTransform/transition.js";
11
11
  import { useTransformData } from "./dataTransform/useTransformData.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  function PieArcPlot(props) {
@@ -38,7 +38,7 @@ function PieArcPlot(props) {
38
38
  faded,
39
39
  data
40
40
  });
41
- const transition = useTransition(transformedData, _extends({}, defaultTransitionConfig, {
41
+ const transition = useTransition(transformedData, _extends({}, getDefaultTransitionConfig(skipAnimation), {
42
42
  immediate: skipAnimation
43
43
  }));
44
44
  if (data.length === 0) {
@@ -11,7 +11,7 @@ import { ChartsLegend } from "../ChartsLegend/index.js";
11
11
  import { PiePlot } from "./PiePlot.js";
12
12
  import { ChartsOverlay } from "../ChartsOverlay/index.js";
13
13
  import { ChartsSurface } from "../ChartsSurface/index.js";
14
- import { ChartDataProvider } from "../context/index.js";
14
+ import { ChartDataProvider } from "../ChartDataProvider/index.js";
15
15
  import { useChartContainerProps } from "../ChartContainer/useChartContainerProps.js";
16
16
  import { ChartsWrapper } from "../internals/components/ChartsWrapper/index.js";
17
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -105,6 +105,9 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
105
105
  // | These PropTypes are generated from the TypeScript type definitions |
106
106
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
107
107
  // ----------------------------------------------------------------------
108
+ apiRef: PropTypes.shape({
109
+ current: PropTypes.object
110
+ }),
108
111
  children: PropTypes.node,
109
112
  className: PropTypes.string,
110
113
  /**
@@ -138,6 +141,11 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
138
141
  dataIndex: PropTypes.number,
139
142
  seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
140
143
  }),
144
+ /**
145
+ * This prop is used to help implement the accessibility logic.
146
+ * If you don't provide this prop. It falls back to a randomly generated id.
147
+ */
148
+ id: PropTypes.string,
141
149
  /**
142
150
  * If `true`, a loading overlay is displayed.
143
151
  * @default false
@@ -147,7 +155,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
147
155
  * The margin between the SVG and the drawing area.
148
156
  * It's used for leaving some space for extra information such as the x- and y-axis or legend.
149
157
  * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
150
- * @default object Depends on the charts type.
151
158
  */
152
159
  margin: PropTypes.shape({
153
160
  bottom: PropTypes.number,
@@ -186,6 +193,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
186
193
  */
187
194
  slots: PropTypes.object,
188
195
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
196
+ theme: PropTypes.oneOf(['dark', 'light']),
189
197
  title: PropTypes.string,
190
198
  /**
191
199
  * The width of the chart in px. If not defined, it takes the width of the parent element.
@@ -1,6 +1,6 @@
1
- export const defaultTransitionConfig = {
1
+ export const getDefaultTransitionConfig = skipAnimation => ({
2
2
  keys: item => item.id,
3
- from: ({
3
+ from: skipAnimation ? undefined : ({
4
4
  innerRadius,
5
5
  outerRadius,
6
6
  cornerRadius,
@@ -64,10 +64,10 @@ export const defaultTransitionConfig = {
64
64
  friction: 14,
65
65
  clamp: true
66
66
  }
67
- };
68
- export const defaultLabelTransitionConfig = {
67
+ });
68
+ export const getDefaultLabelTransitionConfig = skipAnimation => ({
69
69
  keys: item => item.id,
70
- from: ({
70
+ from: skipAnimation ? undefined : ({
71
71
  innerRadius,
72
72
  outerRadius,
73
73
  arcLabelRadius,
@@ -134,4 +134,4 @@ export const defaultLabelTransitionConfig = {
134
134
  friction: 14,
135
135
  clamp: true
136
136
  }
137
- };
137
+ });