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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/BarChart/BarChart.d.ts +1 -1
  2. package/BarChart/BarChart.js +9 -1
  3. package/BarChart/BarLabel/BarLabelPlot.js +1 -1
  4. package/BarChart/BarPlot.js +8 -9
  5. package/BarChart/extremums.d.ts +3 -3
  6. package/BarChart/formatter.d.ts +2 -2
  7. package/BarChart/formatter.js +2 -1
  8. package/BarChart/getColor.d.ts +1 -1
  9. package/BarChart/legend.d.ts +1 -1
  10. package/BarChart/legend.js +1 -1
  11. package/BarChart/plugin.d.ts +2 -2
  12. package/BarChart/plugin.js +1 -2
  13. package/BarChart/useBarChartProps.d.ts +1 -1
  14. package/CHANGELOG.md +115 -0
  15. package/ChartContainer/ChartContainer.d.ts +6 -2
  16. package/ChartContainer/ChartContainer.js +13 -7
  17. package/ChartContainer/useChartContainerProps.d.ts +5 -3
  18. package/ChartContainer/useChartContainerProps.js +7 -5
  19. package/ChartsAxis/ChartsAxis.js +5 -3
  20. package/ChartsGrid/ChartsGrid.js +9 -5
  21. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  22. package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  23. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  24. package/ChartsGrid/ChartsVerticalGrid.js +4 -3
  25. package/ChartsLabel/ChartsLabelGradient.js +11 -12
  26. package/ChartsLegend/ContinuousColorLegend.js +3 -3
  27. package/ChartsLegend/useAxis.js +7 -5
  28. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  29. package/ChartsSurface/ChartsSurface.js +16 -26
  30. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  31. package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  32. package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
  33. package/ChartsTooltip/ChartsTooltipTable.js +0 -20
  34. package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
  35. package/ChartsTooltip/useAxisTooltip.js +13 -9
  36. package/ChartsTooltip/useItemTooltip.d.ts +3 -1
  37. package/ChartsTooltip/useItemTooltip.js +14 -10
  38. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  39. package/ChartsXAxis/ChartsXAxis.js +11 -8
  40. package/ChartsYAxis/ChartsYAxis.js +8 -5
  41. package/Gauge/Gauge.js +5 -1
  42. package/Gauge/GaugeContainer.d.ts +3 -10
  43. package/Gauge/GaugeContainer.js +38 -38
  44. package/LineChart/AnimatedArea.js +1 -1
  45. package/LineChart/AnimatedLine.js +1 -1
  46. package/LineChart/AppearingMask.js +1 -1
  47. package/LineChart/AreaPlot.js +16 -15
  48. package/LineChart/LineChart.js +9 -1
  49. package/LineChart/LineHighlightPlot.js +14 -11
  50. package/LineChart/LinePlot.js +16 -15
  51. package/LineChart/MarkPlot.js +14 -11
  52. package/LineChart/extremums.d.ts +3 -3
  53. package/LineChart/formatter.d.ts +2 -2
  54. package/LineChart/formatter.js +3 -1
  55. package/LineChart/getColor.d.ts +1 -1
  56. package/LineChart/legend.d.ts +1 -1
  57. package/LineChart/legend.js +1 -1
  58. package/LineChart/plugin.d.ts +2 -2
  59. package/LineChart/plugin.js +1 -2
  60. package/LineChart/useLineChartProps.d.ts +1 -1
  61. package/PieChart/PieArcLabelPlot.js +2 -2
  62. package/PieChart/PieArcPlot.js +2 -2
  63. package/PieChart/PieChart.js +9 -1
  64. package/PieChart/dataTransform/transition.d.ts +2 -2
  65. package/PieChart/dataTransform/transition.js +6 -6
  66. package/PieChart/formatter.d.ts +2 -2
  67. package/PieChart/formatter.js +4 -1
  68. package/PieChart/getColor.d.ts +1 -1
  69. package/PieChart/getPieCoordinates.d.ts +2 -2
  70. package/PieChart/legend.d.ts +1 -1
  71. package/PieChart/legend.js +1 -1
  72. package/PieChart/plugin.d.ts +2 -2
  73. package/PieChart/plugin.js +1 -2
  74. package/ScatterChart/Scatter.js +6 -4
  75. package/ScatterChart/ScatterChart.d.ts +1 -2
  76. package/ScatterChart/ScatterChart.js +16 -12
  77. package/ScatterChart/ScatterPlot.js +11 -10
  78. package/ScatterChart/extremums.d.ts +3 -3
  79. package/ScatterChart/extremums.js +3 -1
  80. package/ScatterChart/formatter.d.ts +2 -2
  81. package/ScatterChart/formatter.js +3 -1
  82. package/ScatterChart/getColor.d.ts +1 -1
  83. package/ScatterChart/legend.d.ts +1 -1
  84. package/ScatterChart/legend.js +1 -1
  85. package/ScatterChart/plugin.d.ts +2 -2
  86. package/ScatterChart/plugin.js +1 -2
  87. package/ScatterChart/useScatterChartProps.d.ts +1 -3
  88. package/ScatterChart/useScatterChartProps.js +1 -4
  89. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  90. package/SparkLineChart/SparkLineChart.js +11 -2
  91. package/context/ChartDataProvider/ChartDataProvider.d.ts +6 -22
  92. package/context/ChartDataProvider/ChartDataProvider.js +22 -184
  93. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +6 -83
  94. package/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  95. package/context/ChartProvider/ChartProvider.d.ts +5 -1
  96. package/context/ChartProvider/ChartProvider.js +22 -2
  97. package/context/ChartProvider/ChartProvider.types.d.ts +17 -2
  98. package/context/InteractionSelectors.d.ts +33 -33
  99. package/context/PolarProvider/PolarProvider.d.ts +0 -4
  100. package/context/PolarProvider/PolarProvider.js +59 -47
  101. package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
  102. package/context/PolarProvider/getAxisExtremum.js +48 -20
  103. package/context/PolarProvider/usePolarContext.d.ts +0 -2
  104. package/context/PolarProvider/usePolarContext.js +9 -8
  105. package/context/index.d.ts +0 -2
  106. package/context/index.js +0 -1
  107. package/hooks/index.d.ts +2 -0
  108. package/hooks/index.js +3 -1
  109. package/hooks/useAxis.d.ts +9 -1
  110. package/hooks/useAxis.js +32 -6
  111. package/hooks/useAxisEvents.js +12 -8
  112. package/hooks/useChartGradientId.d.ts +31 -0
  113. package/hooks/useChartGradientId.js +47 -0
  114. package/hooks/useColorScale.js +5 -5
  115. package/hooks/useDrawingArea.d.ts +16 -2
  116. package/hooks/useDrawingArea.js +5 -20
  117. package/hooks/useSeries.d.ts +11 -6
  118. package/hooks/useSeries.js +5 -10
  119. package/hooks/useZAxis.d.ts +3 -2
  120. package/hooks/useZAxis.js +25 -6
  121. package/index.js +1 -1
  122. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -3
  123. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  124. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
  125. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  126. package/internals/defaultizeColor.d.ts +22 -22
  127. package/internals/index.d.ts +13 -8
  128. package/internals/index.js +16 -9
  129. package/internals/plugins/allPlugins.d.ts +12 -1
  130. package/internals/plugins/allPlugins.js +5 -2
  131. package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
  132. package/internals/plugins/corePlugins/corePlugins.js +3 -1
  133. package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
  134. package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  135. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
  136. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  137. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
  138. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  139. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
  140. package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
  141. package/internals/plugins/corePlugins/useChartId/index.js +2 -1
  142. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  143. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +2 -2
  144. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
  145. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
  146. package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  147. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
  148. package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  149. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
  150. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  151. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
  152. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  153. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
  154. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
  155. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  156. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
  157. package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  158. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
  159. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  160. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
  161. package/{modern/context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  162. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
  163. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  164. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +5 -0
  165. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  166. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
  167. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  168. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1372 -0
  169. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  170. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +76 -0
  171. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
  172. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +22 -22
  173. package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
  174. package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  175. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
  176. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  177. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
  178. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  179. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
  180. package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
  181. package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  182. package/internals/plugins/models/index.d.ts +1 -0
  183. package/internals/plugins/models/index.js +2 -1
  184. package/internals/plugins/models/plugin.d.ts +32 -2
  185. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  186. package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
  187. package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
  188. package/internals/plugins/models/seriesConfig/index.js +4 -0
  189. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +14 -0
  190. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
  191. package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
  192. package/internals/store/extractPluginParamsFromProps.js +28 -0
  193. package/internals/store/useChartModels.d.ts +7 -0
  194. package/internals/store/useChartModels.js +64 -0
  195. package/internals/store/useCharts.d.ts +4 -2
  196. package/internals/store/useCharts.js +14 -9
  197. package/internals/store/useCharts.types.d.ts +1 -1
  198. package/internals/store/useStore.d.ts +5 -1
  199. package/internals/store/useStore.js +1 -9
  200. package/models/layout.d.ts +2 -1
  201. package/modern/BarChart/BarChart.js +9 -1
  202. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  203. package/modern/BarChart/BarPlot.js +8 -9
  204. package/modern/BarChart/formatter.js +2 -1
  205. package/modern/BarChart/legend.js +1 -1
  206. package/modern/BarChart/plugin.js +1 -2
  207. package/modern/ChartContainer/ChartContainer.js +13 -7
  208. package/modern/ChartContainer/useChartContainerProps.js +7 -5
  209. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  210. package/modern/ChartsGrid/ChartsGrid.js +9 -5
  211. package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  212. package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
  213. package/modern/ChartsLabel/ChartsLabelGradient.js +11 -12
  214. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -3
  215. package/modern/ChartsLegend/useAxis.js +7 -5
  216. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  217. package/modern/ChartsSurface/ChartsSurface.js +16 -26
  218. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  219. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  220. package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
  221. package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
  222. package/modern/ChartsTooltip/useItemTooltip.js +14 -10
  223. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  224. package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
  225. package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
  226. package/modern/Gauge/Gauge.js +5 -1
  227. package/modern/Gauge/GaugeContainer.js +38 -38
  228. package/modern/LineChart/AnimatedArea.js +1 -1
  229. package/modern/LineChart/AnimatedLine.js +1 -1
  230. package/modern/LineChart/AppearingMask.js +1 -1
  231. package/modern/LineChart/AreaPlot.js +16 -15
  232. package/modern/LineChart/LineChart.js +9 -1
  233. package/modern/LineChart/LineHighlightPlot.js +14 -11
  234. package/modern/LineChart/LinePlot.js +16 -15
  235. package/modern/LineChart/MarkPlot.js +14 -11
  236. package/modern/LineChart/formatter.js +3 -1
  237. package/modern/LineChart/legend.js +1 -1
  238. package/modern/LineChart/plugin.js +1 -2
  239. package/modern/PieChart/PieArcLabelPlot.js +2 -2
  240. package/modern/PieChart/PieArcPlot.js +2 -2
  241. package/modern/PieChart/PieChart.js +9 -1
  242. package/modern/PieChart/dataTransform/transition.js +6 -6
  243. package/modern/PieChart/formatter.js +4 -1
  244. package/modern/PieChart/legend.js +1 -1
  245. package/modern/PieChart/plugin.js +1 -2
  246. package/modern/ScatterChart/Scatter.js +6 -4
  247. package/modern/ScatterChart/ScatterChart.js +16 -12
  248. package/modern/ScatterChart/ScatterPlot.js +11 -10
  249. package/modern/ScatterChart/extremums.js +3 -1
  250. package/modern/ScatterChart/formatter.js +3 -1
  251. package/modern/ScatterChart/legend.js +1 -1
  252. package/modern/ScatterChart/plugin.js +1 -2
  253. package/modern/ScatterChart/useScatterChartProps.js +1 -4
  254. package/modern/SparkLineChart/SparkLineChart.js +11 -2
  255. package/modern/context/ChartDataProvider/ChartDataProvider.js +22 -184
  256. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  257. package/modern/context/ChartProvider/ChartProvider.js +22 -2
  258. package/modern/context/PolarProvider/PolarProvider.js +59 -47
  259. package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
  260. package/modern/context/PolarProvider/usePolarContext.js +9 -8
  261. package/modern/context/index.js +0 -1
  262. package/modern/hooks/index.js +3 -1
  263. package/modern/hooks/useAxis.js +32 -6
  264. package/modern/hooks/useAxisEvents.js +12 -8
  265. package/modern/hooks/useChartGradientId.js +47 -0
  266. package/modern/hooks/useColorScale.js +5 -5
  267. package/modern/hooks/useDrawingArea.js +5 -20
  268. package/modern/hooks/useSeries.js +5 -10
  269. package/modern/hooks/useZAxis.js +25 -6
  270. package/modern/index.js +1 -1
  271. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +19 -27
  272. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  273. package/modern/internals/index.js +16 -9
  274. package/modern/internals/plugins/allPlugins.js +5 -2
  275. package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
  276. package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  277. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  278. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  279. package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
  280. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  281. package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  282. package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  283. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  284. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  285. package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  286. package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  287. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  288. package/{context/ChartDataProvider/useDefaultizeAxis.js → modern/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  289. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  290. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  291. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  292. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  293. package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  294. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  295. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  296. package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  297. package/modern/internals/plugins/models/index.js +2 -1
  298. package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
  299. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
  300. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
  301. package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
  302. package/modern/internals/store/useChartModels.js +64 -0
  303. package/modern/internals/store/useCharts.js +14 -9
  304. package/modern/internals/store/useStore.js +1 -9
  305. package/node/BarChart/BarChart.js +9 -1
  306. package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
  307. package/node/BarChart/BarPlot.js +6 -6
  308. package/node/BarChart/formatter.js +2 -1
  309. package/node/BarChart/legend.js +1 -1
  310. package/node/BarChart/plugin.js +1 -2
  311. package/node/ChartContainer/ChartContainer.js +13 -7
  312. package/node/ChartContainer/useChartContainerProps.js +7 -5
  313. package/node/ChartsAxis/ChartsAxis.js +5 -3
  314. package/node/ChartsGrid/ChartsGrid.js +9 -5
  315. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  316. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
  317. package/node/ChartsLabel/ChartsLabelGradient.js +11 -12
  318. package/node/ChartsLegend/ContinuousColorLegend.js +3 -3
  319. package/node/ChartsLegend/useAxis.js +6 -4
  320. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
  321. package/node/ChartsSurface/ChartsSurface.js +17 -27
  322. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
  323. package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
  324. package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
  325. package/node/ChartsTooltip/useAxisTooltip.js +11 -7
  326. package/node/ChartsTooltip/useItemTooltip.js +13 -9
  327. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
  328. package/node/ChartsXAxis/ChartsXAxis.js +11 -8
  329. package/node/ChartsYAxis/ChartsYAxis.js +8 -5
  330. package/node/Gauge/Gauge.js +5 -1
  331. package/node/Gauge/GaugeContainer.js +38 -38
  332. package/node/LineChart/AnimatedArea.js +1 -1
  333. package/node/LineChart/AnimatedLine.js +1 -1
  334. package/node/LineChart/AppearingMask.js +1 -1
  335. package/node/LineChart/AreaPlot.js +16 -15
  336. package/node/LineChart/LineChart.js +9 -1
  337. package/node/LineChart/LineHighlightPlot.js +14 -11
  338. package/node/LineChart/LinePlot.js +16 -15
  339. package/node/LineChart/MarkPlot.js +14 -11
  340. package/node/LineChart/formatter.js +3 -1
  341. package/node/LineChart/legend.js +1 -1
  342. package/node/LineChart/plugin.js +1 -2
  343. package/node/PieChart/PieArcLabelPlot.js +1 -1
  344. package/node/PieChart/PieArcPlot.js +1 -1
  345. package/node/PieChart/PieChart.js +9 -1
  346. package/node/PieChart/dataTransform/transition.js +9 -7
  347. package/node/PieChart/formatter.js +4 -1
  348. package/node/PieChart/legend.js +1 -1
  349. package/node/PieChart/plugin.js +1 -2
  350. package/node/ScatterChart/Scatter.js +6 -4
  351. package/node/ScatterChart/ScatterChart.js +16 -12
  352. package/node/ScatterChart/ScatterPlot.js +10 -9
  353. package/node/ScatterChart/extremums.js +3 -1
  354. package/node/ScatterChart/formatter.js +3 -1
  355. package/node/ScatterChart/legend.js +1 -1
  356. package/node/ScatterChart/plugin.js +1 -2
  357. package/node/ScatterChart/useScatterChartProps.js +1 -4
  358. package/node/SparkLineChart/SparkLineChart.js +10 -1
  359. package/node/context/ChartDataProvider/ChartDataProvider.js +22 -184
  360. package/node/context/ChartDataProvider/useChartDataProviderProps.js +34 -47
  361. package/node/context/ChartProvider/ChartProvider.js +23 -2
  362. package/node/context/PolarProvider/PolarProvider.js +59 -51
  363. package/node/context/PolarProvider/getAxisExtremum.js +49 -27
  364. package/node/context/PolarProvider/usePolarContext.js +9 -14
  365. package/node/context/index.js +0 -8
  366. package/node/hooks/index.js +29 -2
  367. package/node/hooks/useAxis.js +34 -6
  368. package/node/hooks/useAxisEvents.js +12 -8
  369. package/node/hooks/useChartGradientId.js +56 -0
  370. package/node/hooks/useColorScale.js +4 -4
  371. package/node/hooks/useDrawingArea.js +5 -21
  372. package/node/hooks/useSeries.js +5 -9
  373. package/node/hooks/useZAxis.js +27 -9
  374. package/node/index.js +1 -1
  375. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  376. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +3 -0
  377. package/node/internals/index.js +122 -62
  378. package/node/internals/plugins/allPlugins.js +4 -2
  379. package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
  380. package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
  381. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
  382. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
  383. package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
  384. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  385. package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
  386. package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  387. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
  388. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
  389. package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
  390. package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  391. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
  392. package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
  393. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
  394. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +47 -0
  395. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
  396. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +96 -0
  397. package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
  398. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
  399. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
  400. package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
  401. package/node/internals/plugins/models/index.js +11 -0
  402. package/node/internals/plugins/models/seriesConfig/index.js +49 -0
  403. package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
  404. package/node/internals/store/extractPluginParamsFromProps.js +36 -0
  405. package/node/internals/store/useChartModels.js +73 -0
  406. package/node/internals/store/useCharts.js +14 -9
  407. package/node/internals/store/useStore.js +1 -9
  408. package/package.json +3 -3
  409. package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
  410. package/context/CartesianProvider/CartesianContext.d.ts +0 -4
  411. package/context/CartesianProvider/CartesianContext.js +0 -13
  412. package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
  413. package/context/CartesianProvider/CartesianProvider.js +0 -49
  414. package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
  415. package/context/CartesianProvider/defaultizeAxis.js +0 -13
  416. package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
  417. package/context/CartesianProvider/getAxisExtremum.js +0 -21
  418. package/context/CartesianProvider/index.d.ts +0 -4
  419. package/context/CartesianProvider/index.js +0 -4
  420. package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
  421. package/context/CartesianProvider/useCartesianContext.js +0 -10
  422. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
  423. package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
  424. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
  425. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  426. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
  427. package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  428. package/context/DrawingAreaProvider/index.d.ts +0 -3
  429. package/context/DrawingAreaProvider/index.js +0 -3
  430. package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
  431. package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
  432. package/context/PluginProvider/Plugin.types.d.ts +0 -29
  433. package/context/PluginProvider/PluginContext.d.ts +0 -4
  434. package/context/PluginProvider/PluginContext.js +0 -15
  435. package/context/PluginProvider/PluginProvider.d.ts +0 -4
  436. package/context/PluginProvider/PluginProvider.js +0 -21
  437. package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
  438. package/context/PluginProvider/index.d.ts +0 -12
  439. package/context/PluginProvider/index.js +0 -12
  440. package/context/PluginProvider/mergePlugins.d.ts +0 -46
  441. package/context/PluginProvider/mergePlugins.js +0 -40
  442. package/context/PluginProvider/useColorProcessor.d.ts +0 -4
  443. package/context/PluginProvider/useColorProcessor.js +0 -17
  444. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
  445. package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  446. package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
  447. package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  448. package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
  449. package/context/PluginProvider/useSeriesFormatter.js +0 -17
  450. package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
  451. package/context/PluginProvider/useXExtremumGetter.js +0 -15
  452. package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
  453. package/context/PluginProvider/useYExtremumGetter.js +0 -15
  454. package/context/SeriesProvider/Series.types.d.ts +0 -26
  455. package/context/SeriesProvider/SeriesContext.d.ts +0 -4
  456. package/context/SeriesProvider/SeriesContext.js +0 -8
  457. package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
  458. package/context/SeriesProvider/SeriesProvider.js +0 -33
  459. package/context/SeriesProvider/index.d.ts +0 -12
  460. package/context/SeriesProvider/index.js +0 -8
  461. package/context/SeriesProvider/processSeries.d.ts +0 -18
  462. package/context/SizeProvider/Size.types.d.ts +0 -30
  463. package/context/SizeProvider/SizeContext.d.ts +0 -4
  464. package/context/SizeProvider/SizeContext.js +0 -15
  465. package/context/SizeProvider/SizeProvider.d.ts +0 -11
  466. package/context/SizeProvider/SizeProvider.js +0 -26
  467. package/context/SizeProvider/index.d.ts +0 -4
  468. package/context/SizeProvider/index.js +0 -4
  469. package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
  470. package/context/SizeProvider/useChartContainerDimensions.js +0 -108
  471. package/context/SizeProvider/useSize.d.ts +0 -5
  472. package/context/SizeProvider/useSize.js +0 -13
  473. package/context/ZAxisContextProvider.d.ts +0 -33
  474. package/context/ZAxisContextProvider.js +0 -96
  475. package/internals/computeAxisValue.d.ts +0 -38
  476. package/modern/context/CartesianProvider/CartesianContext.js +0 -13
  477. package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
  478. package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
  479. package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
  480. package/modern/context/CartesianProvider/index.js +0 -4
  481. package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
  482. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  483. package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  484. package/modern/context/DrawingAreaProvider/index.js +0 -3
  485. package/modern/context/PluginProvider/PluginContext.js +0 -15
  486. package/modern/context/PluginProvider/PluginProvider.js +0 -21
  487. package/modern/context/PluginProvider/index.js +0 -12
  488. package/modern/context/PluginProvider/mergePlugins.js +0 -40
  489. package/modern/context/PluginProvider/useColorProcessor.js +0 -17
  490. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  491. package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  492. package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
  493. package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
  494. package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
  495. package/modern/context/SeriesProvider/SeriesContext.js +0 -8
  496. package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
  497. package/modern/context/SeriesProvider/index.js +0 -8
  498. package/modern/context/SizeProvider/SizeContext.js +0 -15
  499. package/modern/context/SizeProvider/SizeProvider.js +0 -26
  500. package/modern/context/SizeProvider/index.js +0 -4
  501. package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
  502. package/modern/context/SizeProvider/useSize.js +0 -13
  503. package/modern/context/ZAxisContextProvider.js +0 -96
  504. package/node/context/CartesianProvider/CartesianContext.js +0 -20
  505. package/node/context/CartesianProvider/CartesianProvider.js +0 -54
  506. package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
  507. package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
  508. package/node/context/CartesianProvider/index.js +0 -49
  509. package/node/context/CartesianProvider/useCartesianContext.js +0 -17
  510. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
  511. package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
  512. package/node/context/DrawingAreaProvider/index.js +0 -38
  513. package/node/context/PluginProvider/PluginContext.js +0 -22
  514. package/node/context/PluginProvider/PluginProvider.js +0 -26
  515. package/node/context/PluginProvider/index.js +0 -137
  516. package/node/context/PluginProvider/mergePlugins.js +0 -47
  517. package/node/context/PluginProvider/useColorProcessor.js +0 -23
  518. package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
  519. package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
  520. package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
  521. package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
  522. package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
  523. package/node/context/SeriesProvider/SeriesContext.js +0 -15
  524. package/node/context/SeriesProvider/SeriesProvider.js +0 -38
  525. package/node/context/SeriesProvider/index.js +0 -49
  526. package/node/context/SizeProvider/SizeContext.js +0 -22
  527. package/node/context/SizeProvider/SizeProvider.js +0 -29
  528. package/node/context/SizeProvider/index.js +0 -49
  529. package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
  530. package/node/context/SizeProvider/useSize.js +0 -20
  531. package/node/context/ZAxisContextProvider.js +0 -103
  532. /package/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  533. /package/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  534. /package/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  535. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
  536. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  537. /package/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  538. /package/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  539. /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  540. /package/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  541. /package/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
  542. /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
  543. /package/modern/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  544. /package/modern/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  545. /package/modern/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  546. /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  547. /package/modern/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  548. /package/modern/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  549. /package/modern/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  550. /package/modern/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  551. /package/node/{context/CartesianProvider/Cartesian.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  552. /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  553. /package/node/{context/PluginProvider/ColorProcessor.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  554. /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  555. /package/node/{context/PluginProvider/ExtremumGetter.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  556. /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  557. /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  558. /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  559. /package/node/{context/SizeProvider/Size.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+ Object.defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.useChartZAxis = void 0;
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var React = _interopRequireWildcard(require("react"));
12
+ var _colorScale = require("../../../colorScale");
13
+ function addDefaultId(axisConfig, defaultId) {
14
+ if (axisConfig.id !== undefined) {
15
+ return axisConfig;
16
+ }
17
+ return (0, _extends2.default)({
18
+ id: defaultId
19
+ }, axisConfig);
20
+ }
21
+ function processColorMap(axisConfig) {
22
+ if (!axisConfig.colorMap) {
23
+ return axisConfig;
24
+ }
25
+ return (0, _extends2.default)({}, axisConfig, {
26
+ colorScale: axisConfig.colorMap.type === 'ordinal' && axisConfig.data ? (0, _colorScale.getOrdinalColorScale)((0, _extends2.default)({
27
+ values: axisConfig.data
28
+ }, axisConfig.colorMap)) : (0, _colorScale.getColorScale)(axisConfig.colorMap.type === 'continuous' ? (0, _extends2.default)({
29
+ min: axisConfig.min,
30
+ max: axisConfig.max
31
+ }, axisConfig.colorMap) : axisConfig.colorMap)
32
+ });
33
+ }
34
+ function getZAxisState(zAxis, dataset) {
35
+ if (!zAxis || zAxis.length === 0) {
36
+ return {
37
+ axis: {},
38
+ axisIds: []
39
+ };
40
+ }
41
+ const zAxisLookup = {};
42
+ const axisIds = [];
43
+ zAxis.forEach((axisConfig, index) => {
44
+ const dataKey = axisConfig.dataKey;
45
+ const defaultizedId = axisConfig.id ?? `defaultized-z-axis-${index}`;
46
+ if (dataKey === undefined || axisConfig.data !== undefined) {
47
+ zAxisLookup[defaultizedId] = processColorMap(addDefaultId(axisConfig, defaultizedId));
48
+ axisIds.push(defaultizedId);
49
+ return;
50
+ }
51
+ if (dataset === undefined) {
52
+ throw new Error('MUI X: z-axis uses `dataKey` but no `dataset` is provided.');
53
+ }
54
+ zAxisLookup[defaultizedId] = processColorMap(addDefaultId((0, _extends2.default)({}, axisConfig, {
55
+ data: dataset.map(d => d[dataKey])
56
+ }), defaultizedId));
57
+ axisIds.push(defaultizedId);
58
+ });
59
+ return {
60
+ axis: zAxisLookup,
61
+ axisIds
62
+ };
63
+ }
64
+ const useChartZAxis = ({
65
+ params,
66
+ store
67
+ }) => {
68
+ const {
69
+ zAxis,
70
+ dataset
71
+ } = params;
72
+
73
+ // The effect do not track any value defined synchronously during the 1st render by hooks called after `useChartZAxis`
74
+ // As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
75
+ const isFirstRender = React.useRef(true);
76
+ React.useEffect(() => {
77
+ if (isFirstRender.current) {
78
+ isFirstRender.current = false;
79
+ return;
80
+ }
81
+ store.update(prev => (0, _extends2.default)({}, prev, {
82
+ zAxis: getZAxisState(zAxis, dataset)
83
+ }));
84
+ }, [zAxis, dataset, store]);
85
+ return {};
86
+ };
87
+ exports.useChartZAxis = useChartZAxis;
88
+ useChartZAxis.params = {
89
+ zAxis: true,
90
+ dataset: true
91
+ };
92
+ useChartZAxis.getInitialState = params => ({
93
+ zAxis: getZAxisState(params.zAxis, params.dataset)
94
+ });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectorChartZAxis = void 0;
7
+ var _selectors = require("../../utils/selectors");
8
+ const selectRootState = state => state;
9
+ const selectorChartZAxis = exports.selectorChartZAxis = (0, _selectors.createSelector)([selectRootState], state => state.zAxis);
@@ -35,4 +35,15 @@ Object.keys(_chart).forEach(function (key) {
35
35
  return _chart[key];
36
36
  }
37
37
  });
38
+ });
39
+ var _seriesConfig = require("./seriesConfig");
40
+ Object.keys(_seriesConfig).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _seriesConfig[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _seriesConfig[key];
47
+ }
48
+ });
38
49
  });
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _colorProcessor = require("./colorProcessor.types");
7
+ Object.keys(_colorProcessor).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _colorProcessor[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _colorProcessor[key];
14
+ }
15
+ });
16
+ });
17
+ var _extremumGetter = require("./extremumGetter.types");
18
+ Object.keys(_extremumGetter).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _extremumGetter[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _extremumGetter[key];
25
+ }
26
+ });
27
+ });
28
+ var _seriesConfig = require("./seriesConfig.types");
29
+ Object.keys(_seriesConfig).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _seriesConfig[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _seriesConfig[key];
36
+ }
37
+ });
38
+ });
39
+ var _seriesProcessor = require("./seriesProcessor.types");
40
+ Object.keys(_seriesProcessor).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _seriesProcessor[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _seriesProcessor[key];
47
+ }
48
+ });
49
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.extractPluginParamsFromProps = void 0;
8
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
+ const _excluded = ["apiRef"];
10
+ const extractPluginParamsFromProps = _ref => {
11
+ let {
12
+ plugins
13
+ } = _ref,
14
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref.props, _excluded);
15
+ const paramsLookup = {};
16
+ plugins.forEach(plugin => {
17
+ Object.assign(paramsLookup, plugin.params);
18
+ });
19
+ const pluginParams = {};
20
+ Object.keys(props).forEach(propName => {
21
+ const prop = props[propName];
22
+ if (paramsLookup[propName]) {
23
+ pluginParams[propName] = prop;
24
+ }
25
+ });
26
+ const defaultizedPluginParams = plugins.reduce((acc, plugin) => {
27
+ if (plugin.getDefaultizedParams) {
28
+ return plugin.getDefaultizedParams({
29
+ params: acc
30
+ });
31
+ }
32
+ return acc;
33
+ }, pluginParams);
34
+ return defaultizedPluginParams;
35
+ };
36
+ exports.extractPluginParamsFromProps = extractPluginParamsFromProps;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useChartModels = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ /**
12
+ * Implements the same behavior as `useControlled` but for several models.
13
+ * The controlled models are never stored in the state, and the state is only updated if the model is not controlled.
14
+ */
15
+ const useChartModels = (plugins, props) => {
16
+ const modelsRef = React.useRef({});
17
+ const [modelsState, setModelsState] = React.useState(() => {
18
+ const initialState = {};
19
+ plugins.forEach(plugin => {
20
+ if (plugin.models) {
21
+ Object.entries(plugin.models).forEach(([modelName, modelInitializer]) => {
22
+ modelsRef.current[modelName] = {
23
+ isControlled: props[modelName] !== undefined,
24
+ getDefaultValue: modelInitializer.getDefaultValue
25
+ };
26
+ initialState[modelName] = modelInitializer.getDefaultValue(props);
27
+ });
28
+ }
29
+ });
30
+ return initialState;
31
+ });
32
+ const models = Object.fromEntries(Object.entries(modelsRef.current).map(([modelName, model]) => {
33
+ const value = props[modelName] ?? modelsState[modelName];
34
+ return [modelName, {
35
+ value,
36
+ setControlledValue: newValue => {
37
+ if (!model.isControlled) {
38
+ setModelsState(prevState => (0, _extends2.default)({}, prevState, {
39
+ [modelName]: typeof newValue === 'function' ? newValue(value) : newValue
40
+ }));
41
+ }
42
+ },
43
+ isControlled: modelsRef.current[modelName].isControlled
44
+ }];
45
+ }));
46
+
47
+ // We know that `modelsRef` do not vary across renders.
48
+ if (process.env.NODE_ENV !== 'production') {
49
+ Object.entries(modelsRef.current).forEach(([modelName, model]) => {
50
+ const controlled = props[modelName];
51
+ const newDefaultValue = model.getDefaultValue(props);
52
+
53
+ /* eslint-disable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps, react-compiler/react-compiler */
54
+ React.useEffect(() => {
55
+ if (model.isControlled !== (controlled !== undefined)) {
56
+ console.error([`MUI X: A component is changing the ${model.isControlled ? '' : 'un'}controlled ${modelName} state of Chart to be ${model.isControlled ? 'un' : ''}controlled.`, 'Elements should not switch from uncontrolled to controlled (or vice versa).', `Decide between using a controlled or uncontrolled ${modelName} ` + 'element for the lifetime of the component.', "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", 'More info: https://fb.me/react-controlled-components'].join('\n'));
57
+ }
58
+ }, [controlled]);
59
+ const {
60
+ current: defaultValue
61
+ } = React.useRef(newDefaultValue);
62
+ React.useEffect(() => {
63
+ if (!model.isControlled && defaultValue !== newDefaultValue) {
64
+ console.error([`MUI X: A component is changing the default ${modelName} state of an uncontrolled Chart after being initialized. ` + `To suppress this warning opt to use a controlled Chart.`].join('\n'));
65
+ }
66
+ }, [JSON.stringify(newDefaultValue)]);
67
+ });
68
+ }
69
+ /* eslint-enable react-hooks/rules-of-hooks, react-hooks/exhaustive-deps */
70
+
71
+ return models;
72
+ };
73
+ exports.useChartModels = useChartModels;
@@ -11,6 +11,8 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _useId = _interopRequireDefault(require("@mui/utils/useId"));
12
12
  var _ChartStore = require("../plugins/utils/ChartStore");
13
13
  var _corePlugins = require("../plugins/corePlugins");
14
+ var _extractPluginParamsFromProps = require("./extractPluginParamsFromProps");
15
+ var _useChartModels = require("./useChartModels");
14
16
  function useChartApiInitialization(inputApiRef) {
15
17
  const fallbackPublicApiRef = React.useRef({});
16
18
  if (inputApiRef) {
@@ -23,12 +25,15 @@ function useChartApiInitialization(inputApiRef) {
23
25
  return fallbackPublicApiRef.current;
24
26
  }
25
27
  let globalId = 0;
26
- function useCharts(inPlugins, props) {
28
+ function useCharts(inPlugins, props, seriesConfig) {
29
+ const chartId = (0, _useId.default)();
27
30
  const plugins = React.useMemo(() => [..._corePlugins.CHART_CORE_PLUGINS, ...inPlugins], [inPlugins]);
28
- const defaultChartId = (0, _useId.default)();
29
- const pluginParams = {
30
- id: defaultChartId
31
- }; // To generate when plugins use params.
31
+ const pluginParams = (0, _extractPluginParamsFromProps.extractPluginParamsFromProps)({
32
+ plugins,
33
+ props
34
+ });
35
+ pluginParams.id = pluginParams.id ?? chartId;
36
+ const models = (0, _useChartModels.useChartModels)(plugins, pluginParams);
32
37
  const instanceRef = React.useRef({});
33
38
  const instance = instanceRef.current;
34
39
  const publicAPI = useChartApiInitialization(props.apiRef);
@@ -52,9 +57,7 @@ function useCharts(inPlugins, props) {
52
57
  };
53
58
  plugins.forEach(plugin => {
54
59
  if (plugin.getInitialState) {
55
- Object.assign(initialState, plugin.getInitialState({
56
- id: defaultChartId
57
- }));
60
+ Object.assign(initialState, plugin.getInitialState(pluginParams, initialState, seriesConfig));
58
61
  }
59
62
  });
60
63
  storeRef.current = new _ChartStore.ChartStore(initialState);
@@ -65,7 +68,9 @@ function useCharts(inPlugins, props) {
65
68
  params: pluginParams,
66
69
  plugins: plugins,
67
70
  store: storeRef.current,
68
- svgRef: innerSvgRef
71
+ svgRef: innerSvgRef,
72
+ seriesConfig,
73
+ models
69
74
  });
70
75
  if (pluginResponse.publicAPI) {
71
76
  Object.assign(publicAPI, pluginResponse.publicAPI);
@@ -6,16 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useStore = useStore;
7
7
  var _ChartProvider = require("../../context/ChartProvider");
8
8
  // This hook should be removed because user and us should not interact with the store directly, but with public/private APIs
9
- function useStore(skipError) {
9
+ function useStore() {
10
10
  const context = (0, _ChartProvider.useChartContext)();
11
- if (skipError) {
12
- // TODO: Remove once store is used by all charts.
13
- // This line is only for `useAxisEvents` which is in the surface of the Gauge.
14
- // But the Gauge don't have store yet because it does not need the interaction provider.
15
- // Will be fixed when every thing move to the store since every component will have access to it.
16
- // @ts-ignore
17
- return context?.store;
18
- }
19
11
  if (!context) {
20
12
  throw new Error(['MUI X: Could not find the charts context.', 'It looks like you rendered your component outside of a ChartsContainer parent component.'].join('\n'));
21
13
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-charts",
3
- "version": "8.0.0-alpha.7",
3
+ "version": "8.0.0-alpha.8",
4
4
  "description": "The community edition of the Charts components (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -38,8 +38,8 @@
38
38
  "react-is": "^18.3.1 || ^19.0.0",
39
39
  "reselect": "^5.1.1",
40
40
  "use-sync-external-store": "^1.4.0",
41
- "@mui/x-charts-vendor": "8.0.0-alpha.7",
42
- "@mui/x-internals": "8.0.0-alpha.7"
41
+ "@mui/x-charts-vendor": "8.0.0-alpha.8",
42
+ "@mui/x-internals": "8.0.0-alpha.8"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "@emotion/react": "^11.9.0",
@@ -1,59 +0,0 @@
1
- import { DatasetType } from '../../models/seriesType/config';
2
- import { AxisDefaultized, ScaleName, ChartsXAxisProps, ChartsYAxisProps, AxisId, AxisConfig } from '../../models/axis';
3
- import { ExtremumFilter } from '../PluginProvider';
4
- export type CartesianProviderProps = {
5
- /**
6
- * The configuration of the x-axes.
7
- * If not provided, a default axis config is used.
8
- * An array of [[AxisConfig]] objects.
9
- */
10
- xAxis: AxisConfig<ScaleName, any, ChartsXAxisProps>[];
11
- /**
12
- * The configuration of the y-axes.
13
- * If not provided, a default axis config is used.
14
- * An array of [[AxisConfig]] objects.
15
- */
16
- yAxis: AxisConfig<ScaleName, any, ChartsYAxisProps>[];
17
- /**
18
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
19
- */
20
- dataset?: DatasetType;
21
- children: React.ReactNode;
22
- };
23
- export type DefaultizedAxisConfig<AxisProps> = {
24
- [axisId: AxisId]: AxisDefaultized<ScaleName, any, AxisProps>;
25
- };
26
- export type CartesianContextState = {
27
- /**
28
- * Mapping from x-axis key to scaling configuration.
29
- */
30
- xAxis: DefaultizedAxisConfig<ChartsXAxisProps>;
31
- /**
32
- * Mapping from y-axis key to scaling configuration.
33
- */
34
- yAxis: DefaultizedAxisConfig<ChartsYAxisProps>;
35
- /**
36
- * The x-axes IDs sorted by order they got provided.
37
- */
38
- xAxisIds: AxisId[];
39
- /**
40
- * The y-axes IDs sorted by order they got provided.
41
- */
42
- yAxisIds: AxisId[];
43
- };
44
- export type ZoomData = {
45
- axisId: AxisId;
46
- start: number;
47
- end: number;
48
- };
49
- export type ZoomFilterMode = 'keep' | 'discard' | 'empty';
50
- export type ZoomOptions = Record<AxisId, {
51
- filterMode: ZoomFilterMode;
52
- }>;
53
- export type ZoomAxisFilters = Record<AxisId, ExtremumFilter>;
54
- export type GetZoomAxisFilters = (params: {
55
- currentAxisId: AxisId | undefined;
56
- seriesXAxisId?: AxisId;
57
- seriesYAxisId?: AxisId;
58
- isDefaultAxis: boolean;
59
- }) => ExtremumFilter;
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { Initializable } from '../context.types';
3
- import { CartesianContextState } from './Cartesian.types';
4
- export declare const CartesianContext: React.Context<Initializable<CartesianContextState>>;
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- export const CartesianContext = /*#__PURE__*/React.createContext({
3
- isInitialized: false,
4
- data: {
5
- xAxis: {},
6
- yAxis: {},
7
- xAxisIds: [],
8
- yAxisIds: []
9
- }
10
- });
11
- if (process.env.NODE_ENV !== 'production') {
12
- CartesianContext.displayName = 'CartesianContext';
13
- }
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { CartesianProviderProps } from './Cartesian.types';
3
- declare function CartesianProvider(props: CartesianProviderProps): React.JSX.Element;
4
- export { CartesianProvider };
@@ -1,49 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { computeAxisValue } from "../../internals/computeAxisValue.js";
5
- import { useDrawingArea } from "../../hooks/useDrawingArea.js";
6
- import { useSeries } from "../../hooks/useSeries.js";
7
- import { CartesianContext } from "./CartesianContext.js";
8
- import { useXExtremumGetter } from "../PluginProvider/useXExtremumGetter.js";
9
- import { useYExtremumGetter } from "../PluginProvider/index.js";
10
- import { jsx as _jsx } from "react/jsx-runtime";
11
- function CartesianProvider(props) {
12
- const {
13
- xAxis,
14
- yAxis,
15
- children
16
- } = props;
17
- const formattedSeries = useSeries();
18
- const drawingArea = useDrawingArea();
19
- const xExtremumGetters = useXExtremumGetter();
20
- const yExtremumGetters = useYExtremumGetter();
21
- const xValues = React.useMemo(() => computeAxisValue({
22
- drawingArea,
23
- formattedSeries,
24
- axis: xAxis,
25
- extremumGetters: xExtremumGetters,
26
- axisDirection: 'x'
27
- }), [drawingArea, formattedSeries, xAxis, xExtremumGetters]);
28
- const yValues = React.useMemo(() => computeAxisValue({
29
- drawingArea,
30
- formattedSeries,
31
- axis: yAxis,
32
- extremumGetters: yExtremumGetters,
33
- axisDirection: 'y'
34
- }), [drawingArea, formattedSeries, yAxis, yExtremumGetters]);
35
- const value = React.useMemo(() => ({
36
- isInitialized: true,
37
- data: {
38
- xAxis: xValues.axis,
39
- yAxis: yValues.axis,
40
- xAxisIds: xValues.axisIds,
41
- yAxisIds: yValues.axisIds
42
- }
43
- }), [xValues, yValues]);
44
- return /*#__PURE__*/_jsx(CartesianContext.Provider, {
45
- value: value,
46
- children: children
47
- });
48
- }
49
- export { CartesianProvider };
@@ -1,38 +0,0 @@
1
- import { MakeOptional } from '@mui/x-internals/types';
2
- import { AxisConfig, ScaleName } from '../../models';
3
- import { ChartsAxisProps } from '../../models/axis';
4
- export declare const defaultizeAxis: (inAxis: MakeOptional<AxisConfig<ScaleName, any, ChartsAxisProps>, "id">[] | undefined, axisName: "x" | "y") => {
5
- fill?: string | undefined;
6
- data?: any[] | undefined;
7
- label?: string | undefined;
8
- slots?: Partial<import("../../internals").ChartsAxisSlots> | undefined;
9
- slotProps?: Partial<import("../../internals").ChartsAxisSlotProps> | undefined;
10
- reverse?: boolean | undefined;
11
- classes?: Partial<import("../..").ChartsAxisClasses> | undefined;
12
- stroke?: string | undefined;
13
- sx?: import("@mui/system").SxProps | undefined;
14
- valueFormatter?: ((value: any, context: import("../../internals").AxisValueFormatterContext) => string) | undefined;
15
- dataKey?: string | undefined;
16
- min?: (number | Date) | undefined;
17
- max?: (number | Date) | undefined;
18
- tickMaxStep?: number | undefined;
19
- tickMinStep?: number | undefined;
20
- tickNumber?: number | undefined;
21
- disableLine?: boolean | undefined;
22
- disableTicks?: boolean | undefined;
23
- tickLabelStyle?: import("../..").ChartsTextStyle | undefined;
24
- labelStyle?: import("../..").ChartsTextStyle | undefined;
25
- tickLabelInterval?: "auto" | ((value: any, index: number) => boolean) | undefined;
26
- tickSize?: number | undefined;
27
- tickInterval?: "auto" | ((value: any, index: number) => boolean) | any[] | undefined;
28
- tickPlacement?: "start" | "end" | "middle" | "extremities" | undefined;
29
- tickLabelPlacement?: "middle" | "tick" | undefined;
30
- scaleType?: "time" | "linear" | "band" | "point" | "log" | "pow" | "sqrt" | "utc" | undefined;
31
- colorMap?: import("../../models/colorMapping").ContinuousColorConfig<number | Date> | import("../../models/colorMapping").PiecewiseColorConfig<number | Date> | import("../../models/colorMapping").OrdinalColorConfig<string | number | Date> | undefined;
32
- hideTooltip?: boolean | undefined;
33
- domainLimit?: "nice" | "strict" | ((min: number, max: number) => {
34
- min: number;
35
- max: number;
36
- }) | undefined;
37
- id: import("../../internals").AxisId;
38
- }[];
@@ -1,13 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { DEFAULT_X_AXIS_KEY, DEFAULT_Y_AXIS_KEY } from "../../constants/index.js";
3
- export const defaultizeAxis = (inAxis, axisName) => {
4
- const DEFAULT_AXIS_KEY = axisName === 'x' ? DEFAULT_X_AXIS_KEY : DEFAULT_Y_AXIS_KEY;
5
- return [...(inAxis?.map((axis, index) => _extends({
6
- id: `defaultized-${axisName}-axis-${index}`
7
- }, axis)) ?? []), ...(inAxis === undefined || inAxis.findIndex(({
8
- id
9
- }) => id === DEFAULT_AXIS_KEY) === -1 ? [{
10
- id: DEFAULT_AXIS_KEY,
11
- scaleType: 'linear'
12
- }] : [])];
13
- };
@@ -1,5 +0,0 @@
1
- import { AxisConfig } from '../../models';
2
- import { FormattedSeries } from '../SeriesProvider';
3
- import { ExtremumGettersConfig } from '../PluginProvider';
4
- import { GetZoomAxisFilters } from './Cartesian.types';
5
- export declare const getAxisExtremum: (axis: AxisConfig, getters: ExtremumGettersConfig, axisIndex: number, formattedSeries: FormattedSeries, getFilters?: GetZoomAxisFilters) => number[];
@@ -1,21 +0,0 @@
1
- const axisExtremumCallback = (acc, chartType, axis, getters, axisIndex, formattedSeries, getFilters) => {
2
- const getter = getters[chartType];
3
- const series = formattedSeries[chartType]?.series ?? {};
4
- const [minChartTypeData, maxChartTypeData] = getter?.({
5
- series,
6
- axis,
7
- axisIndex,
8
- isDefaultAxis: axisIndex === 0,
9
- getFilters
10
- }) ?? [Infinity, -Infinity];
11
- const [minData, maxData] = acc;
12
- return [Math.min(minChartTypeData, minData), Math.max(maxChartTypeData, maxData)];
13
- };
14
- export const getAxisExtremum = (axis, getters, axisIndex, formattedSeries, getFilters) => {
15
- const charTypes = Object.keys(getters);
16
- const extremums = charTypes.reduce((acc, charType) => axisExtremumCallback(acc, charType, axis, getters, axisIndex, formattedSeries, getFilters), [Infinity, -Infinity]);
17
- if (Number.isNaN(extremums[0]) || Number.isNaN(extremums[1])) {
18
- return [Infinity, -Infinity];
19
- }
20
- return extremums;
21
- };
@@ -1,4 +0,0 @@
1
- export * from './CartesianProvider';
2
- export * from './CartesianContext';
3
- export * from './useCartesianContext';
4
- export * from './Cartesian.types';
@@ -1,4 +0,0 @@
1
- export * from "./CartesianProvider.js";
2
- export * from "./CartesianContext.js";
3
- export * from "./useCartesianContext.js";
4
- export * from "./Cartesian.types.js";
@@ -1,2 +0,0 @@
1
- import { CartesianContextState } from './Cartesian.types';
2
- export declare const useCartesianContext: () => CartesianContextState;
@@ -1,10 +0,0 @@
1
- 'use client';
2
-
3
- import * as React from 'react';
4
- import { CartesianContext } from "./CartesianContext.js";
5
- export const useCartesianContext = () => {
6
- const {
7
- data
8
- } = React.useContext(CartesianContext);
9
- return data;
10
- };