@mui/x-charts 8.0.0-alpha.6 → 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 (716) hide show
  1. package/BarChart/AnimatedBarElement.js +1 -0
  2. package/BarChart/BarChart.d.ts +1 -1
  3. package/BarChart/BarChart.js +26 -8
  4. package/BarChart/BarLabel/BarLabel.d.ts +1 -479
  5. package/BarChart/BarLabel/BarLabelPlot.js +1 -1
  6. package/BarChart/BarLabel/barLabelClasses.d.ts +1 -1
  7. package/BarChart/BarPlot.js +8 -9
  8. package/BarChart/extremums.d.ts +3 -3
  9. package/BarChart/formatter.d.ts +2 -2
  10. package/BarChart/formatter.js +2 -1
  11. package/BarChart/getColor.d.ts +1 -1
  12. package/BarChart/legend.d.ts +1 -1
  13. package/BarChart/legend.js +1 -0
  14. package/BarChart/plugin.d.ts +2 -2
  15. package/BarChart/plugin.js +1 -2
  16. package/BarChart/useBarChartProps.d.ts +5 -3
  17. package/BarChart/useBarChartProps.js +16 -3
  18. package/CHANGELOG.md +242 -1
  19. package/ChartContainer/ChartContainer.d.ts +6 -2
  20. package/ChartContainer/ChartContainer.js +13 -7
  21. package/ChartContainer/useChartContainerProps.d.ts +5 -3
  22. package/ChartContainer/useChartContainerProps.js +7 -5
  23. package/ChartsAxis/ChartsAxis.js +5 -3
  24. package/ChartsGrid/ChartsGrid.js +9 -5
  25. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  26. package/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  27. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  28. package/ChartsGrid/ChartsVerticalGrid.js +4 -3
  29. package/ChartsLabel/ChartsLabel.d.ts +2 -3
  30. package/ChartsLabel/ChartsLabel.js +3 -18
  31. package/ChartsLabel/ChartsLabelGradient.d.ts +9 -8
  32. package/ChartsLabel/ChartsLabelGradient.js +28 -26
  33. package/ChartsLabel/ChartsLabelMark.d.ts +2 -3
  34. package/ChartsLabel/ChartsLabelMark.js +5 -2
  35. package/ChartsLabel/index.d.ts +7 -0
  36. package/ChartsLabel/index.js +6 -0
  37. package/ChartsLabel/labelClasses.d.ts +0 -1
  38. package/ChartsLabel/labelGradientClasses.d.ts +5 -4
  39. package/ChartsLabel/labelGradientClasses.js +3 -2
  40. package/ChartsLabel/labelMarkClasses.d.ts +3 -2
  41. package/ChartsLabel/labelMarkClasses.js +3 -2
  42. package/ChartsLabel/package.json +6 -0
  43. package/ChartsLegend/ChartsLegend.d.ts +18 -22
  44. package/ChartsLegend/ChartsLegend.js +100 -109
  45. package/ChartsLegend/ContinuousColorLegend.d.ts +29 -38
  46. package/ChartsLegend/ContinuousColorLegend.js +198 -321
  47. package/ChartsLegend/PiecewiseColorLegend.d.ts +27 -19
  48. package/ChartsLegend/PiecewiseColorLegend.js +201 -111
  49. package/ChartsLegend/chartsLegend.types.d.ts +17 -60
  50. package/ChartsLegend/chartsLegendClasses.d.ts +7 -8
  51. package/ChartsLegend/chartsLegendClasses.js +16 -2
  52. package/ChartsLegend/colorLegend.types.d.ts +13 -0
  53. package/ChartsLegend/continuousColorLegendClasses.d.ts +26 -0
  54. package/ChartsLegend/continuousColorLegendClasses.js +23 -0
  55. package/ChartsLegend/direction.d.ts +1 -0
  56. package/ChartsLegend/index.d.ts +13 -3
  57. package/ChartsLegend/index.js +9 -3
  58. package/ChartsLegend/legend.types.d.ts +10 -54
  59. package/ChartsLegend/legendContext.types.d.ts +55 -0
  60. package/ChartsLegend/onClickContextBuilder.d.ts +2 -0
  61. package/ChartsLegend/onClickContextBuilder.js +7 -0
  62. package/ChartsLegend/piecewiseColorDefaultLabelFormatter.d.ts +2 -0
  63. package/ChartsLegend/piecewiseColorDefaultLabelFormatter.js +9 -0
  64. package/ChartsLegend/piecewiseColorLegend.types.d.ts +26 -0
  65. package/ChartsLegend/piecewiseColorLegendClasses.d.ts +28 -0
  66. package/ChartsLegend/piecewiseColorLegendClasses.js +23 -0
  67. package/ChartsLegend/useAxis.d.ts +1 -1
  68. package/ChartsLegend/useAxis.js +7 -6
  69. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  70. package/ChartsReferenceLine/ChartsXReferenceLine.d.ts +1 -1
  71. package/ChartsReferenceLine/ChartsYReferenceLine.d.ts +1 -1
  72. package/ChartsSurface/ChartsSurface.js +16 -27
  73. package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  74. package/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  75. package/ChartsTooltip/ChartsTooltipTable.d.ts +0 -6
  76. package/ChartsTooltip/ChartsTooltipTable.js +0 -20
  77. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -1
  78. package/ChartsTooltip/useAxisTooltip.d.ts +3 -1
  79. package/ChartsTooltip/useAxisTooltip.js +13 -9
  80. package/ChartsTooltip/useItemTooltip.d.ts +3 -1
  81. package/ChartsTooltip/useItemTooltip.js +14 -10
  82. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  83. package/ChartsXAxis/ChartsXAxis.js +11 -8
  84. package/ChartsYAxis/ChartsYAxis.js +8 -5
  85. package/Gauge/Gauge.js +5 -1
  86. package/Gauge/GaugeContainer.d.ts +3 -10
  87. package/Gauge/GaugeContainer.js +38 -38
  88. package/LineChart/AnimatedArea.js +2 -1
  89. package/LineChart/AnimatedLine.js +2 -1
  90. package/LineChart/AppearingMask.js +2 -1
  91. package/LineChart/AreaPlot.js +16 -15
  92. package/LineChart/CircleMarkElement.js +1 -0
  93. package/LineChart/LineChart.js +29 -11
  94. package/LineChart/LineHighlightPlot.js +14 -11
  95. package/LineChart/LinePlot.js +16 -15
  96. package/LineChart/MarkElement.js +3 -1
  97. package/LineChart/MarkPlot.js +14 -11
  98. package/LineChart/extremums.d.ts +3 -3
  99. package/LineChart/formatter.d.ts +2 -2
  100. package/LineChart/formatter.js +3 -1
  101. package/LineChart/getColor.d.ts +1 -1
  102. package/LineChart/legend.d.ts +1 -1
  103. package/LineChart/legend.js +1 -0
  104. package/LineChart/plugin.d.ts +2 -2
  105. package/LineChart/plugin.js +1 -2
  106. package/LineChart/useLineChartProps.d.ts +5 -3
  107. package/LineChart/useLineChartProps.js +15 -2
  108. package/PieChart/PieArc.js +3 -1
  109. package/PieChart/PieArcLabel.js +13 -9
  110. package/PieChart/PieArcLabelPlot.js +3 -2
  111. package/PieChart/PieArcPlot.js +3 -2
  112. package/PieChart/PieChart.js +51 -42
  113. package/PieChart/dataTransform/transition.d.ts +2 -2
  114. package/PieChart/dataTransform/transition.js +6 -6
  115. package/PieChart/formatter.d.ts +2 -2
  116. package/PieChart/formatter.js +4 -1
  117. package/PieChart/getColor.d.ts +1 -1
  118. package/PieChart/getPieCoordinates.d.ts +2 -2
  119. package/PieChart/legend.d.ts +1 -1
  120. package/PieChart/legend.js +1 -0
  121. package/PieChart/plugin.d.ts +2 -2
  122. package/PieChart/plugin.js +1 -2
  123. package/ScatterChart/Scatter.js +6 -4
  124. package/ScatterChart/ScatterChart.d.ts +1 -2
  125. package/ScatterChart/ScatterChart.js +28 -14
  126. package/ScatterChart/ScatterPlot.js +11 -10
  127. package/ScatterChart/extremums.d.ts +3 -3
  128. package/ScatterChart/extremums.js +3 -1
  129. package/ScatterChart/formatter.d.ts +2 -2
  130. package/ScatterChart/formatter.js +3 -1
  131. package/ScatterChart/getColor.d.ts +1 -1
  132. package/ScatterChart/legend.d.ts +1 -1
  133. package/ScatterChart/legend.js +1 -0
  134. package/ScatterChart/plugin.d.ts +2 -2
  135. package/ScatterChart/plugin.js +1 -2
  136. package/ScatterChart/useScatterChartProps.d.ts +5 -5
  137. package/ScatterChart/useScatterChartProps.js +16 -6
  138. package/SparkLineChart/SparkLineChart.d.ts +2 -2
  139. package/SparkLineChart/SparkLineChart.js +12 -6
  140. package/constants/index.d.ts +1 -0
  141. package/constants/index.js +2 -1
  142. package/context/ChartDataProvider/ChartDataProvider.d.ts +6 -22
  143. package/context/ChartDataProvider/ChartDataProvider.js +22 -184
  144. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +6 -83
  145. package/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  146. package/context/ChartProvider/ChartProvider.d.ts +5 -1
  147. package/context/ChartProvider/ChartProvider.js +22 -2
  148. package/context/ChartProvider/ChartProvider.types.d.ts +18 -3
  149. package/context/InteractionSelectors.d.ts +22 -22
  150. package/context/PolarProvider/PolarProvider.d.ts +0 -4
  151. package/context/PolarProvider/PolarProvider.js +59 -47
  152. package/context/PolarProvider/getAxisExtremum.d.ts +0 -4
  153. package/context/PolarProvider/getAxisExtremum.js +48 -20
  154. package/context/PolarProvider/usePolarContext.d.ts +0 -2
  155. package/context/PolarProvider/usePolarContext.js +9 -8
  156. package/context/index.d.ts +0 -2
  157. package/context/index.js +0 -1
  158. package/hooks/index.d.ts +3 -0
  159. package/hooks/index.js +4 -1
  160. package/hooks/useAxis.d.ts +9 -1
  161. package/hooks/useAxis.js +32 -6
  162. package/hooks/useAxisEvents.js +12 -8
  163. package/hooks/useChartGradientId.d.ts +31 -0
  164. package/hooks/useChartGradientId.js +47 -0
  165. package/hooks/useColorScale.js +5 -5
  166. package/hooks/useDrawingArea.d.ts +16 -2
  167. package/hooks/useDrawingArea.js +5 -20
  168. package/hooks/useLegend.d.ts +13 -0
  169. package/{modern/ChartsLegend/utils.js → hooks/useLegend.js} +20 -1
  170. package/hooks/useSeries.d.ts +11 -6
  171. package/hooks/useSeries.js +5 -10
  172. package/hooks/useSvgRef.d.ts +1 -1
  173. package/hooks/useZAxis.d.ts +3 -2
  174. package/hooks/useZAxis.js +25 -6
  175. package/index.d.ts +1 -0
  176. package/index.js +2 -1
  177. package/internals/calculateMargins.d.ts +7 -0
  178. package/internals/calculateMargins.js +25 -0
  179. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +0 -2
  180. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +65 -29
  181. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +6 -6
  182. package/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.d.ts +13 -0
  183. package/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.js +61 -0
  184. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.d.ts +1 -1
  185. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +6 -0
  186. package/internals/components/ChartsWrapper/ChartsWrapper.d.ts +17 -0
  187. package/internals/components/ChartsWrapper/ChartsWrapper.js +66 -0
  188. package/internals/components/ChartsWrapper/index.d.ts +1 -0
  189. package/internals/components/ChartsWrapper/index.js +1 -0
  190. package/internals/consumeSlots.d.ts +48 -0
  191. package/internals/consumeSlots.js +101 -0
  192. package/internals/consumeThemeProps.d.ts +3 -7
  193. package/internals/consumeThemeProps.js +18 -27
  194. package/internals/defaultizeColor.d.ts +26 -21
  195. package/internals/index.d.ts +14 -8
  196. package/internals/index.js +17 -9
  197. package/internals/plugins/allPlugins.d.ts +12 -1
  198. package/internals/plugins/allPlugins.js +5 -2
  199. package/internals/plugins/corePlugins/corePlugins.d.ts +1 -1
  200. package/internals/plugins/corePlugins/corePlugins.js +3 -1
  201. package/internals/plugins/corePlugins/useChartDimensions/index.d.ts +3 -0
  202. package/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  203. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.d.ts +3 -0
  204. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  205. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.d.ts +264 -0
  206. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  207. package/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.d.ts +99 -0
  208. package/internals/plugins/corePlugins/useChartId/index.d.ts +1 -0
  209. package/internals/plugins/corePlugins/useChartId/index.js +2 -1
  210. package/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  211. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +1 -1
  212. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +1 -1
  213. package/internals/plugins/corePlugins/useChartSeries/index.d.ts +3 -0
  214. package/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  215. package/internals/plugins/corePlugins/useChartSeries/processSeries.d.ts +18 -0
  216. package/{modern/context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  217. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.d.ts +3 -0
  218. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  219. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.d.ts +61 -0
  220. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  221. package/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.d.ts +51 -0
  222. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.d.ts +10 -0
  223. package/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  224. package/internals/plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.d.ts +29 -0
  225. package/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  226. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.d.ts +18 -0
  227. package/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  228. package/internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.d.ts +39 -0
  229. package/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  230. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.d.ts +6 -0
  231. package/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  232. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.d.ts +5 -0
  233. package/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  234. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.d.ts +4 -0
  235. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  236. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.d.ts +1372 -0
  237. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  238. package/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.d.ts +76 -0
  239. package/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.d.ts +18 -0
  240. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +11 -11
  241. package/internals/plugins/featurePlugins/useChartZAxis/index.d.ts +3 -0
  242. package/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  243. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.d.ts +3 -0
  244. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  245. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.d.ts +45 -0
  246. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  247. package/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.d.ts +39 -0
  248. package/internals/plugins/featurePlugins/useChartZAxis/utils.d.ts +0 -0
  249. package/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  250. package/internals/plugins/models/index.d.ts +1 -0
  251. package/internals/plugins/models/index.js +2 -1
  252. package/internals/plugins/models/plugin.d.ts +33 -3
  253. package/internals/plugins/models/seriesConfig/colorProcessor.types.d.ts +5 -0
  254. package/internals/plugins/models/seriesConfig/extremumGetter.types.d.ts +22 -0
  255. package/internals/plugins/models/seriesConfig/index.d.ts +4 -0
  256. package/internals/plugins/models/seriesConfig/index.js +4 -0
  257. package/internals/plugins/models/seriesConfig/seriesConfig.types.d.ts +14 -0
  258. package/internals/plugins/models/seriesConfig/seriesProcessor.types.d.ts +18 -0
  259. package/internals/store/extractPluginParamsFromProps.d.ts +7 -0
  260. package/internals/store/extractPluginParamsFromProps.js +28 -0
  261. package/internals/store/useChartModels.d.ts +7 -0
  262. package/internals/store/useChartModels.js +64 -0
  263. package/internals/store/useCharts.d.ts +6 -4
  264. package/internals/store/useCharts.js +14 -9
  265. package/internals/store/useCharts.types.d.ts +1 -1
  266. package/internals/store/useStore.d.ts +5 -1
  267. package/internals/store/useStore.js +1 -9
  268. package/models/layout.d.ts +2 -1
  269. package/models/seriesType/common.d.ts +9 -0
  270. package/models/seriesType/pie.d.ts +9 -0
  271. package/modern/BarChart/AnimatedBarElement.js +1 -0
  272. package/modern/BarChart/BarChart.js +26 -8
  273. package/modern/BarChart/BarLabel/BarLabelPlot.js +1 -1
  274. package/modern/BarChart/BarPlot.js +8 -9
  275. package/modern/BarChart/formatter.js +2 -1
  276. package/modern/BarChart/legend.js +1 -0
  277. package/modern/BarChart/plugin.js +1 -2
  278. package/modern/BarChart/useBarChartProps.js +16 -3
  279. package/modern/ChartContainer/ChartContainer.js +13 -7
  280. package/modern/ChartContainer/useChartContainerProps.js +7 -5
  281. package/modern/ChartsAxis/ChartsAxis.js +5 -3
  282. package/modern/ChartsGrid/ChartsGrid.js +9 -5
  283. package/modern/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  284. package/modern/ChartsGrid/ChartsVerticalGrid.js +4 -3
  285. package/modern/ChartsLabel/ChartsLabel.js +3 -18
  286. package/modern/ChartsLabel/ChartsLabelGradient.js +28 -26
  287. package/modern/ChartsLabel/ChartsLabelMark.js +5 -2
  288. package/modern/ChartsLabel/index.js +6 -0
  289. package/modern/ChartsLabel/labelGradientClasses.js +3 -2
  290. package/modern/ChartsLabel/labelMarkClasses.js +3 -2
  291. package/modern/ChartsLegend/ChartsLegend.js +100 -109
  292. package/modern/ChartsLegend/ContinuousColorLegend.js +198 -321
  293. package/modern/ChartsLegend/PiecewiseColorLegend.js +201 -111
  294. package/modern/ChartsLegend/chartsLegendClasses.js +16 -2
  295. package/modern/ChartsLegend/continuousColorLegendClasses.js +23 -0
  296. package/modern/ChartsLegend/index.js +9 -3
  297. package/modern/ChartsLegend/onClickContextBuilder.js +7 -0
  298. package/modern/ChartsLegend/piecewiseColorDefaultLabelFormatter.js +9 -0
  299. package/modern/ChartsLegend/piecewiseColorLegend.types.js +1 -0
  300. package/modern/ChartsLegend/piecewiseColorLegendClasses.js +23 -0
  301. package/modern/ChartsLegend/useAxis.js +7 -6
  302. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +7 -6
  303. package/modern/ChartsSurface/ChartsSurface.js +16 -27
  304. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -3
  305. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +6 -3
  306. package/modern/ChartsTooltip/ChartsTooltipTable.js +0 -20
  307. package/modern/ChartsTooltip/useAxisTooltip.js +13 -9
  308. package/modern/ChartsTooltip/useItemTooltip.js +14 -10
  309. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +16 -9
  310. package/modern/ChartsXAxis/ChartsXAxis.js +11 -8
  311. package/modern/ChartsYAxis/ChartsYAxis.js +8 -5
  312. package/modern/Gauge/Gauge.js +5 -1
  313. package/modern/Gauge/GaugeContainer.js +38 -38
  314. package/modern/LineChart/AnimatedArea.js +2 -1
  315. package/modern/LineChart/AnimatedLine.js +2 -1
  316. package/modern/LineChart/AppearingMask.js +2 -1
  317. package/modern/LineChart/AreaPlot.js +16 -15
  318. package/modern/LineChart/CircleMarkElement.js +1 -0
  319. package/modern/LineChart/LineChart.js +29 -11
  320. package/modern/LineChart/LineHighlightPlot.js +14 -11
  321. package/modern/LineChart/LinePlot.js +16 -15
  322. package/modern/LineChart/MarkElement.js +3 -1
  323. package/modern/LineChart/MarkPlot.js +14 -11
  324. package/modern/LineChart/formatter.js +3 -1
  325. package/modern/LineChart/legend.js +1 -0
  326. package/modern/LineChart/plugin.js +1 -2
  327. package/modern/LineChart/useLineChartProps.js +15 -2
  328. package/modern/PieChart/PieArc.js +3 -1
  329. package/modern/PieChart/PieArcLabel.js +13 -9
  330. package/modern/PieChart/PieArcLabelPlot.js +3 -2
  331. package/modern/PieChart/PieArcPlot.js +3 -2
  332. package/modern/PieChart/PieChart.js +51 -42
  333. package/modern/PieChart/dataTransform/transition.js +6 -6
  334. package/modern/PieChart/formatter.js +4 -1
  335. package/modern/PieChart/legend.js +1 -0
  336. package/modern/PieChart/plugin.js +1 -2
  337. package/modern/ScatterChart/Scatter.js +6 -4
  338. package/modern/ScatterChart/ScatterChart.js +28 -14
  339. package/modern/ScatterChart/ScatterPlot.js +11 -10
  340. package/modern/ScatterChart/extremums.js +3 -1
  341. package/modern/ScatterChart/formatter.js +3 -1
  342. package/modern/ScatterChart/legend.js +1 -0
  343. package/modern/ScatterChart/plugin.js +1 -2
  344. package/modern/ScatterChart/useScatterChartProps.js +16 -6
  345. package/modern/SparkLineChart/SparkLineChart.js +12 -6
  346. package/modern/constants/index.js +2 -1
  347. package/modern/context/ChartDataProvider/ChartDataProvider.js +22 -184
  348. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +33 -47
  349. package/modern/context/ChartProvider/ChartProvider.js +22 -2
  350. package/modern/context/PolarProvider/PolarProvider.js +59 -47
  351. package/modern/context/PolarProvider/getAxisExtremum.js +48 -20
  352. package/modern/context/PolarProvider/usePolarContext.js +9 -8
  353. package/modern/context/index.js +0 -1
  354. package/modern/hooks/index.js +4 -1
  355. package/modern/hooks/useAxis.js +32 -6
  356. package/modern/hooks/useAxisEvents.js +12 -8
  357. package/modern/hooks/useChartGradientId.js +47 -0
  358. package/modern/hooks/useColorScale.js +5 -5
  359. package/modern/hooks/useDrawingArea.js +5 -20
  360. package/{ChartsLegend/utils.js → modern/hooks/useLegend.js} +20 -1
  361. package/modern/hooks/useSeries.js +5 -10
  362. package/modern/hooks/useZAxis.js +25 -6
  363. package/modern/index.js +2 -1
  364. package/modern/internals/calculateMargins.js +25 -0
  365. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +65 -29
  366. package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +6 -6
  367. package/modern/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.js +61 -0
  368. package/modern/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +6 -0
  369. package/modern/internals/components/ChartsWrapper/ChartsWrapper.js +66 -0
  370. package/modern/internals/components/ChartsWrapper/index.js +1 -0
  371. package/modern/internals/consumeSlots.js +101 -0
  372. package/modern/internals/consumeThemeProps.js +18 -27
  373. package/modern/internals/index.js +17 -9
  374. package/modern/internals/plugins/allPlugins.js +5 -2
  375. package/modern/internals/plugins/corePlugins/corePlugins.js +3 -1
  376. package/modern/internals/plugins/corePlugins/useChartDimensions/index.js +2 -0
  377. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +175 -0
  378. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +25 -0
  379. package/modern/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js +1 -0
  380. package/modern/internals/plugins/corePlugins/useChartId/index.js +2 -1
  381. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  382. package/modern/internals/plugins/corePlugins/useChartSeries/index.js +2 -0
  383. package/{context/SeriesProvider → modern/internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  384. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +72 -0
  385. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +4 -0
  386. package/modern/internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js +1 -0
  387. package/modern/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +21 -0
  388. package/modern/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  389. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +61 -0
  390. package/modern/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +3 -11
  391. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +22 -0
  392. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +4 -0
  393. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +68 -0
  394. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +87 -0
  395. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js +1 -0
  396. package/modern/internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js +1 -0
  397. package/modern/internals/plugins/featurePlugins/useChartZAxis/index.js +2 -0
  398. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +86 -0
  399. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +3 -0
  400. package/modern/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js +1 -0
  401. package/modern/internals/plugins/featurePlugins/useChartZAxis/utils.js +0 -0
  402. package/modern/internals/plugins/models/index.js +2 -1
  403. package/modern/internals/plugins/models/seriesConfig/colorProcessor.types.js +1 -0
  404. package/modern/internals/plugins/models/seriesConfig/extremumGetter.types.js +1 -0
  405. package/modern/internals/plugins/models/seriesConfig/index.js +4 -0
  406. package/modern/internals/plugins/models/seriesConfig/seriesConfig.types.js +1 -0
  407. package/modern/internals/plugins/models/seriesConfig/seriesProcessor.types.js +1 -0
  408. package/modern/internals/store/extractPluginParamsFromProps.js +28 -0
  409. package/modern/internals/store/useChartModels.js +64 -0
  410. package/modern/internals/store/useCharts.js +14 -9
  411. package/modern/internals/store/useStore.js +1 -9
  412. package/node/BarChart/AnimatedBarElement.js +1 -0
  413. package/node/BarChart/BarChart.js +26 -8
  414. package/node/BarChart/BarLabel/BarLabelPlot.js +1 -1
  415. package/node/BarChart/BarPlot.js +6 -6
  416. package/node/BarChart/formatter.js +2 -1
  417. package/node/BarChart/legend.js +1 -0
  418. package/node/BarChart/plugin.js +1 -2
  419. package/node/BarChart/useBarChartProps.js +15 -3
  420. package/node/ChartContainer/ChartContainer.js +13 -7
  421. package/node/ChartContainer/useChartContainerProps.js +7 -5
  422. package/node/ChartsAxis/ChartsAxis.js +5 -3
  423. package/node/ChartsGrid/ChartsGrid.js +9 -5
  424. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -3
  425. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -3
  426. package/node/ChartsLabel/ChartsLabel.js +3 -18
  427. package/node/ChartsLabel/ChartsLabelGradient.js +28 -26
  428. package/node/ChartsLabel/ChartsLabelMark.js +5 -2
  429. package/node/ChartsLabel/index.js +26 -0
  430. package/node/ChartsLabel/labelGradientClasses.js +3 -2
  431. package/node/ChartsLabel/labelMarkClasses.js +3 -2
  432. package/node/ChartsLegend/ChartsLegend.js +99 -108
  433. package/node/ChartsLegend/ContinuousColorLegend.js +199 -322
  434. package/node/ChartsLegend/PiecewiseColorLegend.js +201 -111
  435. package/node/ChartsLegend/chartsLegendClasses.js +17 -3
  436. package/node/ChartsLegend/continuousColorLegendClasses.js +31 -0
  437. package/node/ChartsLegend/index.js +80 -16
  438. package/node/ChartsLegend/onClickContextBuilder.js +14 -0
  439. package/node/ChartsLegend/piecewiseColorDefaultLabelFormatter.js +15 -0
  440. package/node/ChartsLegend/piecewiseColorLegendClasses.js +31 -0
  441. package/node/ChartsLegend/useAxis.js +6 -4
  442. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +6 -5
  443. package/node/ChartsSurface/ChartsSurface.js +17 -28
  444. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +5 -2
  445. package/node/ChartsTooltip/ChartsItemTooltipContent.js +5 -2
  446. package/node/ChartsTooltip/ChartsTooltipTable.js +1 -21
  447. package/node/ChartsTooltip/useAxisTooltip.js +11 -7
  448. package/node/ChartsTooltip/useItemTooltip.js +13 -9
  449. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +19 -12
  450. package/node/ChartsXAxis/ChartsXAxis.js +11 -8
  451. package/node/ChartsYAxis/ChartsYAxis.js +8 -5
  452. package/node/Gauge/Gauge.js +5 -1
  453. package/node/Gauge/GaugeContainer.js +38 -38
  454. package/node/LineChart/AnimatedArea.js +2 -1
  455. package/node/LineChart/AnimatedLine.js +2 -1
  456. package/node/LineChart/AppearingMask.js +2 -1
  457. package/node/LineChart/AreaPlot.js +16 -15
  458. package/node/LineChart/CircleMarkElement.js +1 -0
  459. package/node/LineChart/LineChart.js +29 -11
  460. package/node/LineChart/LineHighlightPlot.js +14 -11
  461. package/node/LineChart/LinePlot.js +16 -15
  462. package/node/LineChart/MarkElement.js +3 -1
  463. package/node/LineChart/MarkPlot.js +14 -11
  464. package/node/LineChart/formatter.js +3 -1
  465. package/node/LineChart/legend.js +1 -0
  466. package/node/LineChart/plugin.js +1 -2
  467. package/node/LineChart/useLineChartProps.js +14 -2
  468. package/node/PieChart/PieArc.js +3 -1
  469. package/node/PieChart/PieArcLabel.js +13 -9
  470. package/node/PieChart/PieArcLabelPlot.js +2 -1
  471. package/node/PieChart/PieArcPlot.js +2 -1
  472. package/node/PieChart/PieChart.js +51 -42
  473. package/node/PieChart/dataTransform/transition.js +9 -7
  474. package/node/PieChart/formatter.js +4 -1
  475. package/node/PieChart/legend.js +1 -0
  476. package/node/PieChart/plugin.js +1 -2
  477. package/node/ScatterChart/Scatter.js +6 -4
  478. package/node/ScatterChart/ScatterChart.js +28 -14
  479. package/node/ScatterChart/ScatterPlot.js +10 -9
  480. package/node/ScatterChart/extremums.js +3 -1
  481. package/node/ScatterChart/formatter.js +3 -1
  482. package/node/ScatterChart/legend.js +1 -0
  483. package/node/ScatterChart/plugin.js +1 -2
  484. package/node/ScatterChart/useScatterChartProps.js +15 -6
  485. package/node/SparkLineChart/SparkLineChart.js +11 -5
  486. package/node/constants/index.js +3 -2
  487. package/node/context/ChartDataProvider/ChartDataProvider.js +22 -184
  488. package/node/context/ChartDataProvider/useChartDataProviderProps.js +34 -47
  489. package/node/context/ChartProvider/ChartProvider.js +23 -2
  490. package/node/context/PolarProvider/PolarProvider.js +59 -51
  491. package/node/context/PolarProvider/getAxisExtremum.js +49 -27
  492. package/node/context/PolarProvider/usePolarContext.js +9 -14
  493. package/node/context/index.js +0 -8
  494. package/node/hooks/index.js +41 -2
  495. package/node/hooks/useAxis.js +34 -6
  496. package/node/hooks/useAxisEvents.js +12 -8
  497. package/node/hooks/useChartGradientId.js +56 -0
  498. package/node/hooks/useColorScale.js +4 -4
  499. package/node/hooks/useDrawingArea.js +5 -21
  500. package/node/{ChartsLegend/utils.js → hooks/useLegend.js} +19 -1
  501. package/node/hooks/useSeries.js +5 -9
  502. package/node/hooks/useZAxis.js +27 -9
  503. package/node/index.js +12 -1
  504. package/node/internals/calculateMargins.js +33 -0
  505. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +64 -29
  506. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +6 -6
  507. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradientObjectBound.js +69 -0
  508. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +6 -0
  509. package/node/internals/components/ChartsWrapper/ChartsWrapper.js +72 -0
  510. package/node/internals/components/ChartsWrapper/index.js +16 -0
  511. package/node/internals/consumeSlots.js +109 -0
  512. package/node/internals/consumeThemeProps.js +18 -27
  513. package/node/internals/index.js +134 -62
  514. package/node/internals/plugins/allPlugins.js +4 -2
  515. package/node/internals/plugins/corePlugins/corePlugins.js +3 -1
  516. package/node/internals/plugins/corePlugins/useChartDimensions/index.js +27 -0
  517. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.js +183 -0
  518. package/node/internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js +32 -0
  519. package/node/internals/plugins/corePlugins/useChartId/index.js +16 -1
  520. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +1 -1
  521. package/node/internals/plugins/corePlugins/useChartSeries/index.js +27 -0
  522. package/node/{context/SeriesProvider → internals/plugins/corePlugins/useChartSeries}/processSeries.js +9 -6
  523. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.js +80 -0
  524. package/node/internals/plugins/corePlugins/useChartSeries/useChartSeries.selectors.js +11 -0
  525. package/node/internals/plugins/corePlugins/useChartSeries/useColorProcessor.js +27 -0
  526. package/node/internals/{computeAxisValue.js → plugins/featurePlugins/useChartCartesianAxis/computeAxisValue.js} +19 -27
  527. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/createAxisFilterMapper.js +69 -0
  528. package/node/{context/ChartDataProvider/useDefaultizeAxis.js → internals/plugins/featurePlugins/useChartCartesianAxis/defaultizeAxis.js} +4 -13
  529. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/getAxisExtremum.js +29 -0
  530. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/index.js +47 -0
  531. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.js +76 -0
  532. package/node/internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.selectors.js +96 -0
  533. package/node/internals/plugins/featurePlugins/useChartZAxis/index.js +27 -0
  534. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.js +94 -0
  535. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.selectors.js +9 -0
  536. package/node/internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js +5 -0
  537. package/node/internals/plugins/featurePlugins/useChartZAxis/utils.js +1 -0
  538. package/node/internals/plugins/models/index.js +11 -0
  539. package/node/internals/plugins/models/seriesConfig/colorProcessor.types.js +5 -0
  540. package/node/internals/plugins/models/seriesConfig/extremumGetter.types.js +5 -0
  541. package/node/internals/plugins/models/seriesConfig/index.js +49 -0
  542. package/node/internals/plugins/models/seriesConfig/seriesConfig.types.js +5 -0
  543. package/node/internals/plugins/models/seriesConfig/seriesProcessor.types.js +5 -0
  544. package/node/internals/store/extractPluginParamsFromProps.js +36 -0
  545. package/node/internals/store/useChartModels.js +73 -0
  546. package/node/internals/store/useCharts.js +14 -9
  547. package/node/internals/store/useStore.js +1 -9
  548. package/package.json +4 -4
  549. package/ChartsLegend/ChartsLegendItem.d.ts +0 -26
  550. package/ChartsLegend/ChartsLegendItem.js +0 -65
  551. package/ChartsLegend/DefaultChartsLegend.d.ts +0 -25
  552. package/ChartsLegend/DefaultChartsLegend.js +0 -112
  553. package/ChartsLegend/LegendPerItem.d.ts +0 -65
  554. package/ChartsLegend/LegendPerItem.js +0 -129
  555. package/ChartsLegend/legendItemsPlacement.d.ts +0 -3
  556. package/ChartsLegend/legendItemsPlacement.js +0 -72
  557. package/ChartsLegend/utils.d.ts +0 -2
  558. package/context/CartesianProvider/Cartesian.types.d.ts +0 -59
  559. package/context/CartesianProvider/CartesianContext.d.ts +0 -4
  560. package/context/CartesianProvider/CartesianContext.js +0 -13
  561. package/context/CartesianProvider/CartesianProvider.d.ts +0 -4
  562. package/context/CartesianProvider/CartesianProvider.js +0 -49
  563. package/context/CartesianProvider/defaultizeAxis.d.ts +0 -38
  564. package/context/CartesianProvider/defaultizeAxis.js +0 -13
  565. package/context/CartesianProvider/getAxisExtremum.d.ts +0 -5
  566. package/context/CartesianProvider/getAxisExtremum.js +0 -21
  567. package/context/CartesianProvider/index.d.ts +0 -4
  568. package/context/CartesianProvider/index.js +0 -4
  569. package/context/CartesianProvider/useCartesianContext.d.ts +0 -2
  570. package/context/CartesianProvider/useCartesianContext.js +0 -10
  571. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +0 -39
  572. package/context/DrawingAreaProvider/DrawingArea.types.d.ts +0 -51
  573. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +0 -3
  574. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  575. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +0 -3
  576. package/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  577. package/context/DrawingAreaProvider/index.d.ts +0 -3
  578. package/context/DrawingAreaProvider/index.js +0 -3
  579. package/context/PluginProvider/ColorProcessor.types.d.ts +0 -8
  580. package/context/PluginProvider/ExtremumGetter.types.d.ts +0 -25
  581. package/context/PluginProvider/Plugin.types.d.ts +0 -29
  582. package/context/PluginProvider/PluginContext.d.ts +0 -4
  583. package/context/PluginProvider/PluginContext.js +0 -15
  584. package/context/PluginProvider/PluginProvider.d.ts +0 -4
  585. package/context/PluginProvider/PluginProvider.js +0 -21
  586. package/context/PluginProvider/SeriesFormatter.types.d.ts +0 -21
  587. package/context/PluginProvider/index.d.ts +0 -12
  588. package/context/PluginProvider/index.js +0 -12
  589. package/context/PluginProvider/mergePlugins.d.ts +0 -46
  590. package/context/PluginProvider/mergePlugins.js +0 -40
  591. package/context/PluginProvider/useColorProcessor.d.ts +0 -4
  592. package/context/PluginProvider/useColorProcessor.js +0 -17
  593. package/context/PluginProvider/useRadiusExtremumGetter.d.ts +0 -4
  594. package/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  595. package/context/PluginProvider/useRotationExtremumGetter.d.ts +0 -4
  596. package/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  597. package/context/PluginProvider/useSeriesFormatter.d.ts +0 -4
  598. package/context/PluginProvider/useSeriesFormatter.js +0 -17
  599. package/context/PluginProvider/useXExtremumGetter.d.ts +0 -4
  600. package/context/PluginProvider/useXExtremumGetter.js +0 -15
  601. package/context/PluginProvider/useYExtremumGetter.d.ts +0 -4
  602. package/context/PluginProvider/useYExtremumGetter.js +0 -15
  603. package/context/SeriesProvider/Series.types.d.ts +0 -26
  604. package/context/SeriesProvider/SeriesContext.d.ts +0 -4
  605. package/context/SeriesProvider/SeriesContext.js +0 -8
  606. package/context/SeriesProvider/SeriesProvider.d.ts +0 -5
  607. package/context/SeriesProvider/SeriesProvider.js +0 -33
  608. package/context/SeriesProvider/index.d.ts +0 -12
  609. package/context/SeriesProvider/index.js +0 -8
  610. package/context/SeriesProvider/processSeries.d.ts +0 -18
  611. package/context/SizeProvider/Size.types.d.ts +0 -30
  612. package/context/SizeProvider/SizeContext.d.ts +0 -4
  613. package/context/SizeProvider/SizeContext.js +0 -15
  614. package/context/SizeProvider/SizeProvider.d.ts +0 -11
  615. package/context/SizeProvider/SizeProvider.js +0 -26
  616. package/context/SizeProvider/index.d.ts +0 -4
  617. package/context/SizeProvider/index.js +0 -4
  618. package/context/SizeProvider/useChartContainerDimensions.d.ts +0 -9
  619. package/context/SizeProvider/useChartContainerDimensions.js +0 -108
  620. package/context/SizeProvider/useSize.d.ts +0 -5
  621. package/context/SizeProvider/useSize.js +0 -13
  622. package/context/ZAxisContextProvider.d.ts +0 -33
  623. package/context/ZAxisContextProvider.js +0 -96
  624. package/internals/computeAxisValue.d.ts +0 -38
  625. package/modern/ChartsLegend/ChartsLegendItem.js +0 -65
  626. package/modern/ChartsLegend/DefaultChartsLegend.js +0 -112
  627. package/modern/ChartsLegend/LegendPerItem.js +0 -129
  628. package/modern/ChartsLegend/legendItemsPlacement.js +0 -72
  629. package/modern/context/CartesianProvider/CartesianContext.js +0 -13
  630. package/modern/context/CartesianProvider/CartesianProvider.js +0 -49
  631. package/modern/context/CartesianProvider/defaultizeAxis.js +0 -13
  632. package/modern/context/CartesianProvider/getAxisExtremum.js +0 -21
  633. package/modern/context/CartesianProvider/index.js +0 -4
  634. package/modern/context/CartesianProvider/useCartesianContext.js +0 -10
  635. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -15
  636. package/modern/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -48
  637. package/modern/context/DrawingAreaProvider/index.js +0 -3
  638. package/modern/context/PluginProvider/PluginContext.js +0 -15
  639. package/modern/context/PluginProvider/PluginProvider.js +0 -21
  640. package/modern/context/PluginProvider/index.js +0 -12
  641. package/modern/context/PluginProvider/mergePlugins.js +0 -40
  642. package/modern/context/PluginProvider/useColorProcessor.js +0 -17
  643. package/modern/context/PluginProvider/useRadiusExtremumGetter.js +0 -17
  644. package/modern/context/PluginProvider/useRotationExtremumGetter.js +0 -17
  645. package/modern/context/PluginProvider/useSeriesFormatter.js +0 -17
  646. package/modern/context/PluginProvider/useXExtremumGetter.js +0 -15
  647. package/modern/context/PluginProvider/useYExtremumGetter.js +0 -15
  648. package/modern/context/SeriesProvider/SeriesContext.js +0 -8
  649. package/modern/context/SeriesProvider/SeriesProvider.js +0 -33
  650. package/modern/context/SeriesProvider/index.js +0 -8
  651. package/modern/context/SizeProvider/SizeContext.js +0 -15
  652. package/modern/context/SizeProvider/SizeProvider.js +0 -26
  653. package/modern/context/SizeProvider/index.js +0 -4
  654. package/modern/context/SizeProvider/useChartContainerDimensions.js +0 -108
  655. package/modern/context/SizeProvider/useSize.js +0 -13
  656. package/modern/context/ZAxisContextProvider.js +0 -96
  657. package/node/ChartsLegend/ChartsLegendItem.js +0 -72
  658. package/node/ChartsLegend/DefaultChartsLegend.js +0 -118
  659. package/node/ChartsLegend/LegendPerItem.js +0 -137
  660. package/node/ChartsLegend/legendItemsPlacement.js +0 -79
  661. package/node/context/CartesianProvider/CartesianContext.js +0 -20
  662. package/node/context/CartesianProvider/CartesianProvider.js +0 -54
  663. package/node/context/CartesianProvider/defaultizeAxis.js +0 -21
  664. package/node/context/CartesianProvider/getAxisExtremum.js +0 -28
  665. package/node/context/CartesianProvider/index.js +0 -49
  666. package/node/context/CartesianProvider/useCartesianContext.js +0 -17
  667. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -21
  668. package/node/context/DrawingAreaProvider/DrawingAreaProvider.js +0 -55
  669. package/node/context/DrawingAreaProvider/index.js +0 -38
  670. package/node/context/PluginProvider/PluginContext.js +0 -22
  671. package/node/context/PluginProvider/PluginProvider.js +0 -26
  672. package/node/context/PluginProvider/index.js +0 -137
  673. package/node/context/PluginProvider/mergePlugins.js +0 -47
  674. package/node/context/PluginProvider/useColorProcessor.js +0 -23
  675. package/node/context/PluginProvider/useRadiusExtremumGetter.js +0 -23
  676. package/node/context/PluginProvider/useRotationExtremumGetter.js +0 -23
  677. package/node/context/PluginProvider/useSeriesFormatter.js +0 -23
  678. package/node/context/PluginProvider/useXExtremumGetter.js +0 -22
  679. package/node/context/PluginProvider/useYExtremumGetter.js +0 -22
  680. package/node/context/SeriesProvider/SeriesContext.js +0 -15
  681. package/node/context/SeriesProvider/SeriesProvider.js +0 -38
  682. package/node/context/SeriesProvider/index.js +0 -49
  683. package/node/context/SizeProvider/SizeContext.js +0 -22
  684. package/node/context/SizeProvider/SizeProvider.js +0 -29
  685. package/node/context/SizeProvider/index.js +0 -49
  686. package/node/context/SizeProvider/useChartContainerDimensions.js +0 -116
  687. package/node/context/SizeProvider/useSize.js +0 -20
  688. package/node/context/ZAxisContextProvider.js +0 -103
  689. /package/{context/CartesianProvider/Cartesian.types.js → ChartsLegend/colorLegend.types.js} +0 -0
  690. /package/{context/DrawingAreaProvider/DrawingArea.types.js → ChartsLegend/direction.js} +0 -0
  691. /package/{context/PluginProvider/ColorProcessor.types.js → ChartsLegend/legendContext.types.js} +0 -0
  692. /package/{context/PluginProvider/ExtremumGetter.types.js → ChartsLegend/piecewiseColorLegend.types.js} +0 -0
  693. /package/{context/PluginProvider/Plugin.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  694. /package/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  695. /package/{context/SeriesProvider/Series.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  696. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.d.ts +0 -0
  697. /package/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  698. /package/{context/SizeProvider/Size.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
  699. /package/{modern/context/CartesianProvider/Cartesian.types.js → internals/plugins/featurePlugins/useChartZAxis/useChartZAxis.types.js} +0 -0
  700. /package/{modern/context/DrawingAreaProvider/DrawingArea.types.js → internals/plugins/models/seriesConfig/colorProcessor.types.js} +0 -0
  701. /package/{modern/context/PluginProvider/ColorProcessor.types.js → internals/plugins/models/seriesConfig/extremumGetter.types.js} +0 -0
  702. /package/{modern/context/PluginProvider/ExtremumGetter.types.js → internals/plugins/models/seriesConfig/seriesConfig.types.js} +0 -0
  703. /package/{modern/context/PluginProvider/Plugin.types.js → internals/plugins/models/seriesConfig/seriesProcessor.types.js} +0 -0
  704. /package/modern/{context/PluginProvider/SeriesFormatter.types.js → ChartsLegend/colorLegend.types.js} +0 -0
  705. /package/modern/{context/SeriesProvider/Series.types.js → ChartsLegend/direction.js} +0 -0
  706. /package/modern/{context/SizeProvider/Size.types.js → ChartsLegend/legendContext.types.js} +0 -0
  707. /package/modern/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  708. /package/node/{context/CartesianProvider/Cartesian.types.js → ChartsLegend/colorLegend.types.js} +0 -0
  709. /package/node/{context/DrawingAreaProvider/DrawingArea.types.js → ChartsLegend/direction.js} +0 -0
  710. /package/node/{context/PluginProvider/ColorProcessor.types.js → ChartsLegend/legendContext.types.js} +0 -0
  711. /package/node/{context/PluginProvider/ExtremumGetter.types.js → ChartsLegend/piecewiseColorLegend.types.js} +0 -0
  712. /package/node/{context/PluginProvider/Plugin.types.js → internals/plugins/corePlugins/useChartDimensions/useChartDimensions.types.js} +0 -0
  713. /package/node/{context/PluginProvider/SeriesFormatter.types.js → internals/plugins/corePlugins/useChartSeries/useChartSeries.types.js} +0 -0
  714. /package/node/{context/SeriesProvider/Series.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/useChartCartesianAxis.types.js} +0 -0
  715. /package/node/{context/CartesianProvider → internals/plugins/featurePlugins/useChartCartesianAxis}/zoom.js +0 -0
  716. /package/node/{context/SizeProvider/Size.types.js → internals/plugins/featurePlugins/useChartCartesianAxis/zoom.types.js} +0 -0
@@ -1,40 +1,130 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["axisDirection", "axisId", "hideFirst", "hideLast", "labelFormatter", "onItemClick"];
4
+ import _extends from "@babel/runtime/helpers/esm/extends";
5
+ const _excluded = ["direction", "classes", "className", "markType", "labelPosition", "axisDirection", "axisId", "labelFormatter", "onItemClick"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
+ import { styled } from '@mui/material/styles';
9
+ import clsx from 'clsx';
10
+ import { ChartsLabel } from "../ChartsLabel/ChartsLabel.js";
11
+ import { ChartsLabelMark } from "../ChartsLabel/ChartsLabelMark.js";
12
+ import { consumeThemeProps } from "../internals/consumeThemeProps.js";
13
+ import { piecewiseColorLegendClasses, useUtilityClasses } from "./piecewiseColorLegendClasses.js";
8
14
  import { useAxis } from "./useAxis.js";
9
- import { LegendPerItem } from "./LegendPerItem.js";
10
- import { notNull } from "../internals/notNull.js";
11
- import { jsx as _jsx } from "react/jsx-runtime";
12
- function defaultLabelFormatter(params) {
13
- if (params.min === null) {
14
- return `<${params.formattedMax}`;
15
- }
16
- if (params.max === null) {
17
- return `>${params.formattedMin}`;
18
- }
19
- return `${params.formattedMin}-${params.formattedMax}`;
20
- }
21
- const piecewiseColorContextBuilder = context => ({
22
- type: 'piecewiseColor',
23
- color: context.color,
24
- label: context.label,
25
- maxValue: context.maxValue,
26
- minValue: context.minValue
15
+ import { piecewiseColorDefaultLabelFormatter } from "./piecewiseColorDefaultLabelFormatter.js";
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
+ const RootElement = styled('ul', {
18
+ name: 'MuiPiecewiseColorLegend',
19
+ slot: 'Root',
20
+ overridesResolver: (props, styles) => styles.root
21
+ })(({
22
+ theme,
23
+ ownerState
24
+ }) => {
25
+ return _extends({}, theme.typography.caption, {
26
+ color: (theme.vars || theme).palette.text.primary,
27
+ lineHeight: '100%',
28
+ display: 'flex',
29
+ flexDirection: ownerState.direction === 'vertical' ? 'column' : 'row',
30
+ flexShrink: 0,
31
+ gap: theme.spacing(0.5),
32
+ listStyleType: 'none',
33
+ paddingInlineStart: 0,
34
+ marginBlock: theme.spacing(1),
35
+ marginInline: theme.spacing(1),
36
+ width: 'max-content',
37
+ [`button.${piecewiseColorLegendClasses.item}`]: {
38
+ // Reset button styles
39
+ background: 'none',
40
+ border: 'none',
41
+ padding: 0,
42
+ cursor: ownerState.onItemClick ? 'pointer' : 'unset',
43
+ fontFamily: 'inherit',
44
+ fontWeight: 'inherit',
45
+ fontSize: 'inherit',
46
+ letterSpacing: 'inherit',
47
+ color: 'inherit'
48
+ },
49
+ [`.${piecewiseColorLegendClasses.item}`]: {
50
+ display: 'flex',
51
+ gap: theme.spacing(0.5)
52
+ },
53
+ [`li :not(.${piecewiseColorLegendClasses.minLabel}, .${piecewiseColorLegendClasses.maxLabel}) .${piecewiseColorLegendClasses?.mark}`]: {
54
+ alignSelf: 'center'
55
+ },
56
+ [`&.${piecewiseColorLegendClasses.start}`]: {
57
+ alignItems: 'end'
58
+ },
59
+ [`&.${piecewiseColorLegendClasses.end}`]: {
60
+ alignItems: 'start'
61
+ },
62
+ [`&.${piecewiseColorLegendClasses.horizontal}`]: {
63
+ alignItems: 'center',
64
+ [`.${piecewiseColorLegendClasses.item}`]: {
65
+ flexDirection: 'column'
66
+ },
67
+ [`&.${piecewiseColorLegendClasses.start}`]: {
68
+ alignItems: 'end'
69
+ },
70
+ [`&.${piecewiseColorLegendClasses.end}`]: {
71
+ alignItems: 'start'
72
+ },
73
+ [`.${piecewiseColorLegendClasses.minLabel}`]: {
74
+ alignItems: 'end'
75
+ },
76
+ [`&.${piecewiseColorLegendClasses.extremes}`]: {
77
+ [`.${piecewiseColorLegendClasses.minLabel}, .${piecewiseColorLegendClasses.maxLabel}`]: {
78
+ alignItems: 'center',
79
+ display: 'flex',
80
+ flexDirection: 'row'
81
+ }
82
+ }
83
+ },
84
+ [`&.${piecewiseColorLegendClasses.vertical}`]: {
85
+ [`.${piecewiseColorLegendClasses.item}`]: {
86
+ flexDirection: 'row',
87
+ alignItems: 'center'
88
+ },
89
+ [`&.${piecewiseColorLegendClasses.start}`]: {
90
+ alignItems: 'end'
91
+ },
92
+ [`&.${piecewiseColorLegendClasses.end}`]: {
93
+ alignItems: 'start'
94
+ },
95
+ [`&.${piecewiseColorLegendClasses.extremes}`]: {
96
+ alignItems: 'center',
97
+ [`.${piecewiseColorLegendClasses.minLabel}, .${piecewiseColorLegendClasses.maxLabel}`]: {
98
+ alignItems: 'center',
99
+ display: 'flex',
100
+ flexDirection: 'column'
101
+ }
102
+ }
103
+ }
104
+ });
27
105
  });
28
- function PiecewiseColorLegend(props) {
106
+ const PiecewiseColorLegend = consumeThemeProps('MuiPiecewiseColorLegend', {
107
+ defaultProps: {
108
+ direction: 'horizontal',
109
+ labelPosition: 'extremes',
110
+ labelFormatter: piecewiseColorDefaultLabelFormatter
111
+ },
112
+ classesResolver: useUtilityClasses
113
+ }, function PiecewiseColorLegend(props, ref) {
29
114
  const {
115
+ direction,
116
+ classes,
117
+ className,
118
+ markType,
119
+ labelPosition,
30
120
  axisDirection,
31
121
  axisId,
32
- hideFirst,
33
- hideLast,
34
- labelFormatter = defaultLabelFormatter,
122
+ labelFormatter,
35
123
  onItemClick
36
124
  } = props,
37
125
  other = _objectWithoutPropertiesLoose(props, _excluded);
126
+ const isVertical = direction === 'vertical';
127
+ const isReverse = isVertical;
38
128
  const axisItem = useAxis({
39
129
  axisDirection,
40
130
  axisId
@@ -47,42 +137,83 @@ function PiecewiseColorLegend(props) {
47
137
  location: 'legend'
48
138
  }) ?? v.toLocaleString();
49
139
  const formattedLabels = colorMap.thresholds.map(valueFormatter);
50
- const itemsToDisplay = colorMap.colors.map((color, index) => {
51
- const isFirst = index === 0;
52
- const isLast = index === colorMap.colors.length - 1;
53
- if (hideFirst && isFirst || hideLast && isLast) {
54
- return null;
55
- }
56
- const data = _extends({}, isFirst ? {
57
- min: null,
58
- formattedMin: null
59
- } : {
60
- min: colorMap.thresholds[index - 1],
61
- formattedMin: formattedLabels[index - 1]
62
- }, isLast ? {
63
- max: null,
64
- formattedMax: null
65
- } : {
66
- max: colorMap.thresholds[index],
67
- formattedMax: formattedLabels[index]
68
- });
69
- const label = labelFormatter(data);
70
- if (label === null) {
71
- return null;
72
- }
73
- return {
74
- id: label,
140
+ const startClass = isReverse ? classes?.maxLabel : classes?.minLabel;
141
+ const endClass = isReverse ? classes?.minLabel : classes?.maxLabel;
142
+ const colors = colorMap.colors.map((color, colorIndex) => ({
143
+ color,
144
+ colorIndex
145
+ }));
146
+ const orderedColors = isReverse ? colors.reverse() : colors;
147
+ const isStart = labelPosition === 'start';
148
+ const isEnd = labelPosition === 'end';
149
+ const isExtremes = labelPosition === 'extremes';
150
+ return /*#__PURE__*/_jsx(RootElement, _extends({
151
+ className: clsx(classes?.root, className),
152
+ ref: ref
153
+ }, other, {
154
+ ownerState: props,
155
+ children: orderedColors.map(({
75
156
  color,
76
- label,
77
- minValue: data.min,
78
- maxValue: data.max
79
- };
80
- }).filter(notNull);
81
- return /*#__PURE__*/_jsx(LegendPerItem, _extends({}, other, {
82
- itemsToDisplay: itemsToDisplay,
83
- onItemClick: onItemClick ? (event, i) => onItemClick(event, piecewiseColorContextBuilder(itemsToDisplay[i]), i) : undefined
157
+ colorIndex
158
+ }, index) => {
159
+ const isFirst = index === 0;
160
+ const isLast = index === colorMap.colors.length - 1;
161
+ const isFirstColor = colorIndex === 0;
162
+ const isLastColor = colorIndex === colorMap.colors.length - 1;
163
+ const data = _extends({
164
+ index: colorIndex,
165
+ length: formattedLabels.length
166
+ }, isFirstColor ? {
167
+ min: null,
168
+ formattedMin: null
169
+ } : {
170
+ min: colorMap.thresholds[colorIndex - 1],
171
+ formattedMin: formattedLabels[colorIndex - 1]
172
+ }, isLastColor ? {
173
+ max: null,
174
+ formattedMax: null
175
+ } : {
176
+ max: colorMap.thresholds[colorIndex],
177
+ formattedMax: formattedLabels[colorIndex]
178
+ });
179
+ const label = labelFormatter?.(data);
180
+ if (label === null || label === undefined) {
181
+ return null;
182
+ }
183
+ const isTextBefore = isStart || isExtremes && isFirst;
184
+ const isTextAfter = isEnd || isExtremes && isLast;
185
+ const clickObject = {
186
+ type: 'piecewiseColor',
187
+ color,
188
+ label,
189
+ minValue: data.min,
190
+ maxValue: data.max
191
+ };
192
+ const Element = onItemClick ? 'button' : 'div';
193
+ return /*#__PURE__*/_jsx("li", {
194
+ children: /*#__PURE__*/_jsxs(Element, {
195
+ role: onItemClick ? 'button' : undefined,
196
+ type: onItemClick ? 'button' : undefined,
197
+ onClick:
198
+ // @ts-ignore onClick is only attached to a button
199
+ onItemClick ? event => onItemClick(event, clickObject, index) : undefined,
200
+ className: clsx(classes?.item, index === 0 && `${startClass}`, index === orderedColors.length - 1 && `${endClass}`),
201
+ children: [isTextBefore && /*#__PURE__*/_jsx(ChartsLabel, {
202
+ className: classes?.label,
203
+ children: label
204
+ }), /*#__PURE__*/_jsx(ChartsLabelMark, {
205
+ className: classes?.mark,
206
+ type: markType,
207
+ color: color
208
+ }), isTextAfter && /*#__PURE__*/_jsx(ChartsLabel, {
209
+ className: classes?.label,
210
+ children: label
211
+ })]
212
+ })
213
+ }, colorIndex);
214
+ })
84
215
  }));
85
- }
216
+ });
86
217
  process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
87
218
  // ----------------------------- Warning --------------------------------
88
219
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -102,76 +233,35 @@ process.env.NODE_ENV !== "production" ? PiecewiseColorLegend.propTypes = {
102
233
  * Override or extend the styles applied to the component.
103
234
  */
104
235
  classes: PropTypes.object,
236
+ className: PropTypes.string,
105
237
  /**
106
238
  * The direction of the legend layout.
107
- * The default depends on the chart.
108
- */
109
- direction: PropTypes.oneOf(['column', 'row']).isRequired,
110
- /**
111
- * Hide the first item of the legend, corresponding to the [-infinity, min] piece.
112
- * @default false
239
+ * @default 'horizontal'
113
240
  */
114
- hideFirst: PropTypes.bool,
115
- /**
116
- * Hide the last item of the legend, corresponding to the [max, +infinity] piece.
117
- * @default false
118
- */
119
- hideLast: PropTypes.bool,
120
- /**
121
- * Space between two legend items (in px).
122
- * @default 10
123
- */
124
- itemGap: PropTypes.number,
125
- /**
126
- * Height of the item mark (in px).
127
- * @default 20
128
- */
129
- itemMarkHeight: PropTypes.number,
130
- /**
131
- * Width of the item mark (in px).
132
- * @default 20
133
- */
134
- itemMarkWidth: PropTypes.number,
241
+ direction: PropTypes.oneOf(['horizontal', 'vertical']),
135
242
  /**
136
243
  * Format the legend labels.
137
244
  * @param {PiecewiseLabelFormatterParams} params The bound of the piece to format.
138
- * @returns {string|null} The displayed label, or `null` to skip the item.
245
+ * @returns {string|null} The displayed label, `''` to skip the label but show the color mark, or `null` to skip it entirely.
139
246
  */
140
247
  labelFormatter: PropTypes.func,
141
248
  /**
142
- * Style applied to legend labels.
143
- * @default theme.typography.subtitle1
249
+ * Where to position the labels relative to the gradient.
250
+ * @default 'extremes'
144
251
  */
145
- labelStyle: PropTypes.object,
252
+ labelPosition: PropTypes.oneOf(['start', 'end', 'extremes']),
146
253
  /**
147
- * Space between the mark and the label (in px).
148
- * @default 5
254
+ * The type of the mark.
255
+ * @default 'square'
149
256
  */
150
- markGap: PropTypes.number,
257
+ markType: PropTypes.oneOf(['square', 'circle', 'line']),
151
258
  /**
152
259
  * Callback fired when a legend item is clicked.
153
- * @param {React.MouseEvent<SVGRectElement, MouseEvent>} event The click event.
260
+ * @param {React.MouseEvent<HTMLButtonElement, MouseEvent>} event The click event.
154
261
  * @param {PiecewiseColorLegendItemContext} legendItem The legend item data.
155
262
  * @param {number} index The index of the clicked legend item.
156
263
  */
157
264
  onItemClick: PropTypes.func,
158
- /**
159
- * Legend padding (in px).
160
- * Can either be a single number, or an object with top, left, bottom, right properties.
161
- * @default 10
162
- */
163
- padding: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
164
- bottom: PropTypes.number,
165
- left: PropTypes.number,
166
- right: PropTypes.number,
167
- top: PropTypes.number
168
- })]),
169
- /**
170
- * The position of the legend.
171
- */
172
- position: PropTypes.shape({
173
- horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
174
- vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
175
- }).isRequired
265
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
176
266
  } : void 0;
177
267
  export { PiecewiseColorLegend };
@@ -1,6 +1,20 @@
1
1
  import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
2
  import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
- export function getLegendUtilityClass(slot) {
3
+ import composeClasses from '@mui/utils/composeClasses';
4
+ function getLegendUtilityClass(slot) {
4
5
  return generateUtilityClass('MuiChartsLegend', slot);
5
6
  }
6
- export const legendClasses = generateUtilityClasses('MuiChartsLegend', ['root', 'series', 'itemBackground', 'mark', 'label', 'column', 'row']);
7
+ export const useUtilityClasses = props => {
8
+ const {
9
+ classes,
10
+ direction
11
+ } = props;
12
+ const slots = {
13
+ root: ['root', direction],
14
+ mark: ['mark'],
15
+ label: ['label'],
16
+ series: ['series']
17
+ };
18
+ return composeClasses(slots, getLegendUtilityClass, classes);
19
+ };
20
+ export const legendClasses = generateUtilityClasses('MuiChartsLegend', ['root', 'series', 'mark', 'label', 'vertical', 'horizontal']);
@@ -0,0 +1,23 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ import composeClasses from '@mui/utils/composeClasses';
4
+ function getLegendUtilityClass(slot) {
5
+ return generateUtilityClass('MuiContinuousColorLegend', slot);
6
+ }
7
+ export const useUtilityClasses = props => {
8
+ const {
9
+ classes,
10
+ direction,
11
+ labelPosition
12
+ } = props;
13
+ const slots = {
14
+ root: ['root', direction, labelPosition],
15
+ minLabel: ['minLabel'],
16
+ maxLabel: ['maxLabel'],
17
+ gradient: ['gradient'],
18
+ mark: ['mark'],
19
+ label: ['label']
20
+ };
21
+ return composeClasses(slots, getLegendUtilityClass, classes);
22
+ };
23
+ export const continuousColorLegendClasses = generateUtilityClasses('MuiContinuousColorLegend', ['root', 'minLabel', 'maxLabel', 'gradient', 'vertical', 'horizontal', 'start', 'end', 'extremes', 'label']);
@@ -1,6 +1,12 @@
1
1
  export * from "./ChartsLegend.js";
2
- export * from "./DefaultChartsLegend.js";
2
+ export * from "./chartsLegend.types.js";
3
+ export * from "./direction.js";
4
+ export * from "./legendContext.types.js";
5
+ export { legendClasses } from "./chartsLegendClasses.js";
3
6
  export * from "./ContinuousColorLegend.js";
7
+ export * from "./colorLegend.types.js";
8
+ export { continuousColorLegendClasses } from "./continuousColorLegendClasses.js";
4
9
  export * from "./PiecewiseColorLegend.js";
5
- export * from "./chartsLegendClasses.js";
6
- export * from "./utils.js";
10
+ export { piecewiseColorLegendClasses } from "./piecewiseColorLegendClasses.js";
11
+ export { piecewiseColorDefaultLabelFormatter } from "./piecewiseColorDefaultLabelFormatter.js";
12
+ export * from "./legend.types.js";
@@ -0,0 +1,7 @@
1
+ export const seriesContextBuilder = context => ({
2
+ type: 'series',
3
+ color: context.color,
4
+ label: context.label,
5
+ seriesId: context.seriesId,
6
+ itemId: context.itemId
7
+ });
@@ -0,0 +1,9 @@
1
+ export function piecewiseColorDefaultLabelFormatter(params) {
2
+ if (params.min === null) {
3
+ return `<${params.formattedMax}`;
4
+ }
5
+ if (params.max === null) {
6
+ return `>${params.formattedMin}`;
7
+ }
8
+ return `${params.formattedMin}-${params.formattedMax}`;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ import composeClasses from '@mui/utils/composeClasses';
4
+ function getLegendUtilityClass(slot) {
5
+ return generateUtilityClass('MuiPiecewiseColorLegendClasses', slot);
6
+ }
7
+ export const useUtilityClasses = props => {
8
+ const {
9
+ classes,
10
+ direction,
11
+ labelPosition
12
+ } = props;
13
+ const slots = {
14
+ root: ['root', direction, labelPosition],
15
+ minLabel: ['minLabel'],
16
+ maxLabel: ['maxLabel'],
17
+ item: ['item'],
18
+ mark: ['mark'],
19
+ label: ['label']
20
+ };
21
+ return composeClasses(slots, getLegendUtilityClass, classes);
22
+ };
23
+ export const piecewiseColorLegendClasses = generateUtilityClasses('MuiPiecewiseColorLegendClasses', ['root', 'minLabel', 'maxLabel', 'item', 'vertical', 'horizontal', 'start', 'end', 'extremes', 'mark', 'label']);
@@ -1,8 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { useCartesianContext } from "../context/CartesianProvider/useCartesianContext.js";
4
- import { useZAxis } from "../hooks/useZAxis.js";
5
-
3
+ import { useZAxes } from "../hooks/useZAxis.js";
4
+ import { useXAxes, useYAxes } from "../hooks/useAxis.js";
6
5
  /**
7
6
  * Helper to select an axis definition according to its direction and id.
8
7
  */
@@ -12,14 +11,16 @@ export function useAxis({
12
11
  }) {
13
12
  const {
14
13
  xAxis,
15
- xAxisIds,
14
+ xAxisIds
15
+ } = useXAxes();
16
+ const {
16
17
  yAxis,
17
18
  yAxisIds
18
- } = useCartesianContext();
19
+ } = useYAxes();
19
20
  const {
20
21
  zAxis,
21
22
  zAxisIds
22
- } = useZAxis();
23
+ } = useZAxes();
23
24
  switch (axisDirection) {
24
25
  case 'x':
25
26
  {
@@ -3,8 +3,7 @@
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import { useSeries } from "../hooks/useSeries.js";
6
- import { useSvgRef } from "../hooks/index.js";
7
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
6
+ import { useSvgRef, useXAxes, useYAxes } from "../hooks/index.js";
8
7
  import { useStore } from "../internals/store/useStore.js";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
9
  function ChartsOnAxisClickHandler(props) {
@@ -15,11 +14,13 @@ function ChartsOnAxisClickHandler(props) {
15
14
  const series = useSeries();
16
15
  const store = useStore();
17
16
  const {
18
- xAxisIds,
19
17
  xAxis,
20
- yAxisIds,
21
- yAxis
22
- } = useCartesianContext();
18
+ xAxisIds
19
+ } = useXAxes();
20
+ const {
21
+ yAxis,
22
+ yAxisIds
23
+ } = useYAxes();
23
24
  React.useEffect(() => {
24
25
  const element = svgRef.current;
25
26
  if (element === null || !onAxisClick) {
@@ -9,8 +9,10 @@ import * as React from 'react';
9
9
  import useForkRef from '@mui/utils/useForkRef';
10
10
  import { useAxisEvents } from "../hooks/useAxisEvents.js";
11
11
  import { ChartsAxesGradients } from "../internals/components/ChartsAxesGradients/index.js";
12
- import { useDrawingArea, useSvgRef } from "../hooks/index.js";
13
- import { useSize } from "../context/SizeProvider/index.js";
12
+ import { useSvgRef } from "../hooks/useSvgRef.js";
13
+ import { useSelector } from "../internals/store/useSelector.js";
14
+ import { useStore } from "../internals/store/useStore.js";
15
+ import { selectorChartContainerSize, selectorChartPropsSize } from "../internals/plugins/corePlugins/useChartDimensions/useChartDimensions.selectors.js";
14
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
17
  const ChartsSurfaceStyles = styled('svg', {
16
18
  name: 'MuiChartsSurface',
@@ -22,7 +24,6 @@ const ChartsSurfaceStyles = styled('svg', {
22
24
  height: ownerState.height ?? '100%',
23
25
  display: 'flex',
24
26
  position: 'relative',
25
- flexGrow: 1,
26
27
  flexDirection: 'column',
27
28
  alignItems: 'center',
28
29
  justifyContent: 'center',
@@ -47,22 +48,17 @@ const ChartsSurfaceStyles = styled('svg', {
47
48
  * - [ChartsSurface API](https://mui.com/x/api/charts/charts-surface/)
48
49
  */
49
50
  const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(inProps, ref) {
51
+ const store = useStore();
50
52
  const {
51
- width,
52
- height,
53
- left,
54
- right,
55
- top,
56
- bottom
57
- } = useDrawingArea();
53
+ width: svgWidth,
54
+ height: svgHeight
55
+ } = useSelector(store, selectorChartContainerSize);
58
56
  const {
59
- hasIntrinsicSize,
60
- svgRef: containerRef,
61
- inHeight,
62
- inWidth
63
- } = useSize();
57
+ width: propsWidth,
58
+ height: propsHeight
59
+ } = useSelector(store, selectorChartPropsSize);
64
60
  const svgRef = useSvgRef();
65
- const handleRef = useForkRef(containerRef, svgRef, ref);
61
+ const handleRef = useForkRef(svgRef, ref);
66
62
  const themeProps = useThemeProps({
67
63
  props: inProps,
68
64
  name: 'MuiChartsSurface'
@@ -75,21 +71,14 @@ const ChartsSurface = /*#__PURE__*/React.forwardRef(function ChartsSurface(inPro
75
71
  desc
76
72
  } = themeProps,
77
73
  other = _objectWithoutPropertiesLoose(themeProps, _excluded);
78
- const svgWidth = width + left + right;
79
- const svgHeight = height + top + bottom;
80
- const svgView = {
81
- width: svgWidth,
82
- height: svgHeight,
83
- x: 0,
84
- y: 0
85
- };
74
+ const hasIntrinsicSize = svgHeight > 0 && svgWidth > 0;
86
75
  useAxisEvents(disableAxisListener);
87
76
  return /*#__PURE__*/_jsxs(ChartsSurfaceStyles, _extends({
88
77
  ownerState: {
89
- width: inWidth,
90
- height: inHeight
78
+ width: propsWidth,
79
+ height: propsHeight
91
80
  },
92
- viewBox: `${svgView.x} ${svgView.y} ${svgView.width} ${svgView.height}`,
81
+ viewBox: `${0} ${0} ${svgWidth} ${svgHeight}`,
93
82
  className: className
94
83
  }, other, {
95
84
  ref: handleRef,
@@ -5,9 +5,10 @@ import PropTypes from 'prop-types';
5
5
  import Typography from '@mui/material/Typography';
6
6
  import clsx from 'clsx';
7
7
  import { useUtilityClasses } from "./chartsTooltipClasses.js";
8
- import { ChartsTooltipCell, ChartsTooltipMark, ChartsTooltipPaper, ChartsTooltipRow, ChartsTooltipTable } from "./ChartsTooltipTable.js";
8
+ import { ChartsTooltipCell, ChartsTooltipPaper, ChartsTooltipRow, ChartsTooltipTable } from "./ChartsTooltipTable.js";
9
9
  import { useAxisTooltip } from "./useAxisTooltip.js";
10
10
  import { useXAxis, useYAxis } from "../hooks/index.js";
11
+ import { ChartsLabelMark } from "../ChartsLabel/ChartsLabelMark.js";
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
13
  function ChartsAxisTooltipContent(props) {
13
14
  const {
@@ -49,7 +50,8 @@ function ChartsAxisTooltipContent(props) {
49
50
  seriesId,
50
51
  color,
51
52
  formattedValue,
52
- formattedLabel
53
+ formattedLabel,
54
+ markType
53
55
  }) => {
54
56
  if (formattedValue == null) {
55
57
  return null;
@@ -58,7 +60,8 @@ function ChartsAxisTooltipContent(props) {
58
60
  className: classes.row,
59
61
  children: [/*#__PURE__*/_jsx(ChartsTooltipCell, {
60
62
  className: clsx(classes.markCell, classes.cell),
61
- children: color && /*#__PURE__*/_jsx(ChartsTooltipMark, {
63
+ children: color && /*#__PURE__*/_jsx(ChartsLabelMark, {
64
+ type: markType,
62
65
  color: color,
63
66
  className: classes.mark
64
67
  })