@mui/x-charts 8.0.0-alpha.1 → 8.0.0-alpha.2

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 (272) hide show
  1. package/BarChart/BarChart.js +0 -4
  2. package/BarChart/BarLabel/BarLabel.d.ts +298 -298
  3. package/CHANGELOG.md +228 -7
  4. package/ChartContainer/ChartContainer.d.ts +24 -0
  5. package/ChartContainer/ChartContainer.js +26 -10
  6. package/ChartContainer/useChartContainerProps.d.ts +0 -1
  7. package/ChartContainer/useChartContainerProps.js +3 -4
  8. package/ChartsAxis/axisClasses.js +2 -1
  9. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +3 -3
  10. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +3 -3
  11. package/ChartsLegend/chartsLegendClasses.js +2 -1
  12. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  13. package/ChartsSurface/ChartsSurface.d.ts +14 -0
  14. package/ChartsSurface/ChartsSurface.js +38 -6
  15. package/ChartsTooltip/ChartsTooltip.js +2 -20
  16. package/ChartsTooltip/ChartsTooltipContainer.js +5 -23
  17. package/ChartsTooltip/ChartsTooltipTable.js +1 -1
  18. package/ChartsTooltip/useAxisTooltip.js +3 -3
  19. package/ChartsTooltip/useItemTooltip.d.ts +2 -3
  20. package/ChartsTooltip/useItemTooltip.js +3 -3
  21. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -3
  22. package/ChartsXAxis/ChartsXAxis.js +3 -17
  23. package/ChartsYAxis/ChartsYAxis.js +2 -17
  24. package/Gauge/Gauge.d.ts +1 -1
  25. package/Gauge/GaugeContainer.d.ts +2 -2
  26. package/Gauge/GaugeContainer.js +14 -47
  27. package/LineChart/CircleMarkElement.js +3 -3
  28. package/LineChart/LineChart.js +0 -4
  29. package/LineChart/LineHighlightPlot.js +3 -3
  30. package/LineChart/MarkElement.js +3 -3
  31. package/PieChart/PieChart.js +0 -4
  32. package/ScatterChart/Scatter.js +3 -3
  33. package/ScatterChart/ScatterChart.js +0 -4
  34. package/SparkLineChart/SparkLineChart.js +0 -4
  35. package/context/CartesianProvider/defaultizeAxis.d.ts +9 -11
  36. package/context/ChartDataProvider/ChartDataProvider.d.ts +27 -0
  37. package/context/ChartDataProvider/ChartDataProvider.js +38 -18
  38. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +18 -22
  39. package/context/ChartDataProvider/useDefaultizeAxis.d.ts +9 -11
  40. package/context/ChartProvider/ChartContext.d.ts +6 -0
  41. package/context/ChartProvider/ChartContext.js +8 -0
  42. package/context/ChartProvider/ChartProvider.d.ts +4 -0
  43. package/context/ChartProvider/ChartProvider.js +19 -0
  44. package/context/ChartProvider/ChartProvider.types.d.ts +24 -0
  45. package/context/ChartProvider/index.d.ts +3 -0
  46. package/context/ChartProvider/index.js +3 -0
  47. package/context/ChartProvider/useChartContext.d.ts +3 -0
  48. package/context/ChartProvider/useChartContext.js +11 -0
  49. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +1 -6
  50. package/context/DrawingAreaProvider/DrawingAreaContext.js +0 -1
  51. package/context/InteractionSelectors.d.ts +72 -49
  52. package/context/SizeProvider/Size.types.d.ts +2 -2
  53. package/context/SizeProvider/SizeContext.js +3 -1
  54. package/context/SizeProvider/useChartContainerDimensions.d.ts +1 -1
  55. package/context/SizeProvider/useChartContainerDimensions.js +5 -1
  56. package/hooks/useAxisEvents.js +1 -1
  57. package/hooks/useChartId.js +5 -6
  58. package/hooks/useInteractionItemProps.js +4 -2
  59. package/hooks/useSvgRef.d.ts +1 -1
  60. package/hooks/useSvgRef.js +4 -8
  61. package/index.js +1 -1
  62. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -5
  63. package/internals/defaultizeColor.d.ts +1 -1
  64. package/internals/index.d.ts +1 -3
  65. package/internals/index.js +1 -3
  66. package/internals/plugins/allPlugins.d.ts +1 -0
  67. package/internals/plugins/allPlugins.js +3 -0
  68. package/internals/plugins/corePlugins/corePlugins.d.ts +10 -0
  69. package/internals/plugins/corePlugins/corePlugins.js +7 -0
  70. package/internals/plugins/corePlugins/index.d.ts +2 -0
  71. package/internals/plugins/corePlugins/index.js +1 -0
  72. package/internals/plugins/corePlugins/useChartId/index.d.ts +2 -0
  73. package/internals/plugins/corePlugins/useChartId/index.js +1 -0
  74. package/internals/plugins/corePlugins/useChartId/useChartId.d.ts +3 -0
  75. package/internals/plugins/corePlugins/useChartId/useChartId.js +32 -0
  76. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.d.ts +36 -0
  77. package/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +9 -0
  78. package/internals/plugins/corePlugins/useChartId/useChartId.types.d.ts +20 -0
  79. package/internals/plugins/corePlugins/useChartId/useChartId.utils.d.ts +1 -0
  80. package/internals/plugins/corePlugins/useChartId/useChartId.utils.js +5 -0
  81. package/internals/plugins/featurePlugins/useChartInteraction/index.d.ts +3 -0
  82. package/internals/plugins/featurePlugins/useChartInteraction/index.js +2 -0
  83. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.d.ts +3 -0
  84. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +73 -0
  85. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.d.ts +376 -0
  86. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +10 -0
  87. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.d.ts +57 -0
  88. package/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +1 -0
  89. package/internals/plugins/models/chart.d.ts +14 -0
  90. package/internals/plugins/models/chart.js +1 -0
  91. package/internals/plugins/models/helpers.d.ts +7 -0
  92. package/internals/plugins/models/helpers.js +1 -0
  93. package/internals/plugins/models/index.d.ts +3 -35
  94. package/internals/plugins/models/index.js +3 -1
  95. package/internals/plugins/models/plugin.d.ts +75 -0
  96. package/internals/plugins/models/plugin.js +1 -0
  97. package/internals/plugins/utils/ChartStore.d.ts +9 -8
  98. package/internals/plugins/utils/ChartStore.js +0 -2
  99. package/internals/plugins/utils/selectors.d.ts +2 -2
  100. package/internals/store/useCharts.d.ts +14 -0
  101. package/internals/store/useCharts.js +72 -0
  102. package/internals/store/useCharts.types.d.ts +5 -0
  103. package/internals/store/useCharts.types.js +1 -0
  104. package/internals/store/useSelector.d.ts +4 -0
  105. package/internals/store/useStore.d.ts +3 -0
  106. package/{modern/internals → internals/store}/useStore.js +6 -6
  107. package/models/axis.d.ts +1 -13
  108. package/modern/BarChart/BarChart.js +0 -4
  109. package/modern/ChartContainer/ChartContainer.js +26 -10
  110. package/modern/ChartContainer/useChartContainerProps.js +3 -4
  111. package/modern/ChartsAxis/axisClasses.js +2 -1
  112. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +3 -3
  113. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +3 -3
  114. package/modern/ChartsLegend/chartsLegendClasses.js +2 -1
  115. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  116. package/modern/ChartsSurface/ChartsSurface.js +38 -6
  117. package/modern/ChartsTooltip/ChartsTooltip.js +2 -20
  118. package/modern/ChartsTooltip/ChartsTooltipContainer.js +5 -23
  119. package/modern/ChartsTooltip/ChartsTooltipTable.js +1 -1
  120. package/modern/ChartsTooltip/useAxisTooltip.js +3 -3
  121. package/modern/ChartsTooltip/useItemTooltip.js +3 -3
  122. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -3
  123. package/modern/ChartsXAxis/ChartsXAxis.js +3 -17
  124. package/modern/ChartsYAxis/ChartsYAxis.js +2 -17
  125. package/modern/Gauge/GaugeContainer.js +14 -47
  126. package/modern/LineChart/CircleMarkElement.js +3 -3
  127. package/modern/LineChart/LineChart.js +0 -4
  128. package/modern/LineChart/LineHighlightPlot.js +3 -3
  129. package/modern/LineChart/MarkElement.js +3 -3
  130. package/modern/PieChart/PieChart.js +0 -4
  131. package/modern/ScatterChart/Scatter.js +3 -3
  132. package/modern/ScatterChart/ScatterChart.js +0 -4
  133. package/modern/SparkLineChart/SparkLineChart.js +0 -4
  134. package/modern/context/ChartDataProvider/ChartDataProvider.js +38 -18
  135. package/modern/context/ChartProvider/ChartContext.js +8 -0
  136. package/modern/context/ChartProvider/ChartProvider.js +19 -0
  137. package/modern/context/ChartProvider/ChartProvider.types.js +1 -0
  138. package/modern/context/ChartProvider/index.js +3 -0
  139. package/modern/context/ChartProvider/useChartContext.js +11 -0
  140. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +0 -1
  141. package/modern/context/SizeProvider/SizeContext.js +3 -1
  142. package/modern/context/SizeProvider/useChartContainerDimensions.js +5 -1
  143. package/modern/hooks/useAxisEvents.js +1 -1
  144. package/modern/hooks/useChartId.js +5 -6
  145. package/modern/hooks/useInteractionItemProps.js +4 -2
  146. package/modern/hooks/useSvgRef.js +4 -8
  147. package/modern/index.js +1 -1
  148. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +2 -5
  149. package/modern/internals/index.js +1 -3
  150. package/modern/internals/plugins/allPlugins.js +3 -0
  151. package/modern/internals/plugins/corePlugins/corePlugins.js +7 -0
  152. package/modern/internals/plugins/corePlugins/index.js +1 -0
  153. package/modern/internals/plugins/corePlugins/useChartId/index.js +1 -0
  154. package/modern/internals/plugins/corePlugins/useChartId/useChartId.js +32 -0
  155. package/modern/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +9 -0
  156. package/modern/internals/plugins/corePlugins/useChartId/useChartId.types.js +1 -0
  157. package/modern/internals/plugins/corePlugins/useChartId/useChartId.utils.js +5 -0
  158. package/modern/internals/plugins/featurePlugins/useChartInteraction/index.js +2 -0
  159. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +73 -0
  160. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +10 -0
  161. package/modern/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +1 -0
  162. package/modern/internals/plugins/models/chart.js +1 -0
  163. package/modern/internals/plugins/models/helpers.js +1 -0
  164. package/modern/internals/plugins/models/index.js +3 -1
  165. package/modern/internals/plugins/models/plugin.js +1 -0
  166. package/modern/internals/plugins/utils/ChartStore.js +0 -2
  167. package/modern/internals/store/useCharts.js +72 -0
  168. package/modern/internals/store/useCharts.types.js +1 -0
  169. package/{internals → modern/internals/store}/useStore.js +6 -6
  170. package/node/BarChart/BarChart.js +0 -4
  171. package/node/ChartContainer/ChartContainer.js +26 -10
  172. package/node/ChartContainer/useChartContainerProps.js +3 -4
  173. package/node/ChartsAxis/axisClasses.js +5 -3
  174. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +4 -4
  175. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +4 -4
  176. package/node/ChartsLegend/chartsLegendClasses.js +5 -3
  177. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  178. package/node/ChartsSurface/ChartsSurface.js +37 -5
  179. package/node/ChartsTooltip/ChartsTooltip.js +2 -20
  180. package/node/ChartsTooltip/ChartsTooltipContainer.js +6 -24
  181. package/node/ChartsTooltip/ChartsTooltipTable.js +2 -2
  182. package/node/ChartsTooltip/useAxisTooltip.js +4 -4
  183. package/node/ChartsTooltip/useItemTooltip.js +4 -4
  184. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +3 -3
  185. package/node/ChartsXAxis/ChartsXAxis.js +3 -17
  186. package/node/ChartsYAxis/ChartsYAxis.js +2 -17
  187. package/node/Gauge/GaugeContainer.js +13 -46
  188. package/node/LineChart/CircleMarkElement.js +4 -4
  189. package/node/LineChart/LineChart.js +0 -4
  190. package/node/LineChart/LineHighlightPlot.js +4 -4
  191. package/node/LineChart/MarkElement.js +4 -4
  192. package/node/PieChart/PieChart.js +0 -4
  193. package/node/ScatterChart/Scatter.js +4 -4
  194. package/node/ScatterChart/ScatterChart.js +0 -4
  195. package/node/SparkLineChart/SparkLineChart.js +0 -4
  196. package/node/context/ChartDataProvider/ChartDataProvider.js +38 -18
  197. package/node/context/ChartProvider/ChartContext.js +15 -0
  198. package/node/context/ChartProvider/ChartProvider.js +24 -0
  199. package/node/context/ChartProvider/index.js +38 -0
  200. package/node/context/ChartProvider/useChartContext.js +18 -0
  201. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +0 -1
  202. package/node/context/SizeProvider/SizeContext.js +3 -1
  203. package/node/context/SizeProvider/useChartContainerDimensions.js +5 -1
  204. package/node/hooks/useAxisEvents.js +1 -1
  205. package/node/hooks/useChartId.js +5 -7
  206. package/node/hooks/useInteractionItemProps.js +4 -2
  207. package/node/hooks/useSvgRef.js +4 -9
  208. package/node/index.js +1 -1
  209. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +1 -4
  210. package/node/internals/index.js +4 -28
  211. package/node/internals/plugins/allPlugins.js +10 -0
  212. package/node/internals/plugins/corePlugins/corePlugins.js +12 -0
  213. package/node/internals/plugins/corePlugins/index.js +12 -0
  214. package/node/internals/plugins/corePlugins/useChartId/index.js +12 -0
  215. package/node/internals/plugins/corePlugins/useChartId/useChartId.js +41 -0
  216. package/node/internals/plugins/corePlugins/useChartId/useChartId.selectors.js +15 -0
  217. package/node/internals/plugins/corePlugins/useChartId/useChartId.types.js +5 -0
  218. package/node/internals/plugins/corePlugins/useChartId/useChartId.utils.js +12 -0
  219. package/node/internals/plugins/featurePlugins/useChartInteraction/index.js +27 -0
  220. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.js +81 -0
  221. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.selectors.js +16 -0
  222. package/node/internals/plugins/featurePlugins/useChartInteraction/useChartInteraction.types.js +5 -0
  223. package/node/internals/plugins/models/chart.js +5 -0
  224. package/node/internals/plugins/models/helpers.js +5 -0
  225. package/node/internals/plugins/models/index.js +33 -0
  226. package/node/internals/plugins/models/plugin.js +5 -0
  227. package/node/internals/plugins/utils/ChartStore.js +0 -2
  228. package/node/internals/store/useCharts.js +80 -0
  229. package/node/internals/store/useCharts.types.js +5 -0
  230. package/node/internals/{useStore.js → store/useStore.js} +6 -7
  231. package/package.json +4 -4
  232. package/ChartContainer/ResizableContainer.d.ts +0 -22
  233. package/ChartContainer/ResizableContainer.js +0 -60
  234. package/context/InteractionProvider.d.ts +0 -7
  235. package/context/InteractionProvider.js +0 -22
  236. package/context/SvgRefProvider/SvgRef.types.d.ts +0 -8
  237. package/context/SvgRefProvider/SvgRefContext.d.ts +0 -4
  238. package/context/SvgRefProvider/SvgRefContext.js +0 -17
  239. package/context/SvgRefProvider/SvgRefProvider.d.ts +0 -3
  240. package/context/SvgRefProvider/SvgRefProvider.js +0 -24
  241. package/context/SvgRefProvider/index.d.ts +0 -4
  242. package/context/SvgRefProvider/index.js +0 -4
  243. package/context/SvgRefProvider/useSurfaceRef.d.ts +0 -2
  244. package/context/SvgRefProvider/useSurfaceRef.js +0 -14
  245. package/internals/plugins/utils/ChartsStore.d.ts +0 -12
  246. package/internals/plugins/utils/ChartsStore.js +0 -26
  247. package/internals/useCharts.d.ts +0 -6
  248. package/internals/useCharts.js +0 -29
  249. package/internals/useSelector.d.ts +0 -4
  250. package/internals/useStore.d.ts +0 -2
  251. package/modern/ChartContainer/ResizableContainer.js +0 -60
  252. package/modern/context/InteractionProvider.js +0 -22
  253. package/modern/context/SvgRefProvider/SvgRefContext.js +0 -17
  254. package/modern/context/SvgRefProvider/SvgRefProvider.js +0 -24
  255. package/modern/context/SvgRefProvider/index.js +0 -4
  256. package/modern/context/SvgRefProvider/useSurfaceRef.js +0 -14
  257. package/modern/internals/plugins/utils/ChartsStore.js +0 -26
  258. package/modern/internals/useCharts.js +0 -29
  259. package/node/ChartContainer/ResizableContainer.js +0 -68
  260. package/node/context/InteractionProvider.js +0 -28
  261. package/node/context/SvgRefProvider/SvgRefContext.js +0 -23
  262. package/node/context/SvgRefProvider/SvgRefProvider.js +0 -31
  263. package/node/context/SvgRefProvider/index.js +0 -49
  264. package/node/context/SvgRefProvider/useSurfaceRef.js +0 -20
  265. package/node/internals/plugins/utils/ChartsStore.js +0 -33
  266. package/node/internals/useCharts.js +0 -36
  267. /package/context/{SvgRefProvider/SvgRef.types.js → ChartProvider/ChartProvider.types.js} +0 -0
  268. /package/{modern/context/SvgRefProvider/SvgRef.types.js → internals/plugins/corePlugins/useChartId/useChartId.types.js} +0 -0
  269. /package/internals/{useSelector.js → store/useSelector.js} +0 -0
  270. /package/modern/internals/{useSelector.js → store/useSelector.js} +0 -0
  271. /package/node/context/{SvgRefProvider/SvgRef.types.js → ChartProvider/ChartProvider.types.js} +0 -0
  272. /package/node/internals/{useSelector.js → store/useSelector.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { styled } from '@mui/material/styles';
2
- import { shouldForwardProp } from '@mui/system';
2
+ import { shouldForwardProp } from '@mui/system/createStyled';
3
3
  import { chartsTooltipClasses } from "./chartsTooltipClasses.js";
4
4
 
5
5
  /**
@@ -5,13 +5,13 @@ import { useSeries } from "../hooks/useSeries.js";
5
5
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
6
6
  import { ZAxisContext } from "../context/ZAxisContextProvider.js";
7
7
  import { useColorProcessor } from "../context/PluginProvider/useColorProcessor.js";
8
- import { useStore } from "../internals/useStore.js";
9
- import { useSelector } from "../internals/useSelector.js";
8
+ import { useStore } from "../internals/store/useStore.js";
9
+ import { useSelector } from "../internals/store/useSelector.js";
10
10
  import { getLabel } from "../internals/getLabel.js";
11
11
  import { isCartesianSeriesType } from "../internals/isCartesian.js";
12
12
  import { utcFormatter } from "./utils.js";
13
13
  import { useXAxis, useYAxis } from "../hooks/useAxis.js";
14
- import { selectorChartsInteractionXAxis, selectorChartsInteractionYAxis } from "../context/InteractionSelectors.js";
14
+ import { selectorChartsInteractionXAxis, selectorChartsInteractionYAxis } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
15
15
  export function useAxisTooltip() {
16
16
  const defaultXAxis = useXAxis();
17
17
  const defaultYAxis = useYAxis();
@@ -7,9 +7,9 @@ import { useCartesianContext } from "../context/CartesianProvider/index.js";
7
7
  import { ZAxisContext } from "../context/ZAxisContextProvider.js";
8
8
  import { useColorProcessor } from "../context/PluginProvider/useColorProcessor.js";
9
9
  import { getLabel } from "../internals/getLabel.js";
10
- import { selectorChartsInteractionItem } from "../context/InteractionSelectors.js";
11
- import { useSelector } from "../internals/useSelector.js";
12
- import { useStore } from "../internals/useStore.js";
10
+ import { selectorChartsInteractionItem } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
11
+ import { useSelector } from "../internals/store/useSelector.js";
12
+ import { useStore } from "../internals/store/useStore.js";
13
13
  export function useItemTooltip() {
14
14
  const store = useStore();
15
15
  const item = useSelector(store, selectorChartsInteractionItem);
@@ -7,7 +7,7 @@ import { Delaunay } from '@mui/x-charts-vendor/d3-delaunay';
7
7
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
8
8
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
9
9
  import { getValueToPositionMapper } from "../hooks/useScale.js";
10
- import { useStore } from "../internals/useStore.js";
10
+ import { useStore } from "../internals/store/useStore.js";
11
11
  import { getSVGPoint } from "../internals/getSVGPoint.js";
12
12
  import { useDrawingArea, useSvgRef } from "../hooks/index.js";
13
13
  import { useHighlighted } from "../context/index.js";
@@ -101,10 +101,10 @@ function ChartsVoronoiHandler(props) {
101
101
  lastFind.current = undefined;
102
102
  }, [defaultXAxisId, defaultYAxisId, series, seriesOrder, xAxis, yAxis, drawingArea]);
103
103
  React.useEffect(() => {
104
- const element = svgRef.current;
105
- if (element === null) {
104
+ if (svgRef.current === null) {
106
105
  return undefined;
107
106
  }
107
+ const element = svgRef.current;
108
108
  function getClosestPoint(event) {
109
109
  // Get mouse coordinate in global SVG space
110
110
  const svgPoint = getSVGPoint(element, event);
@@ -137,8 +137,6 @@ function ChartsXAxis(inProps) {
137
137
  tickLabelStyle,
138
138
  label,
139
139
  labelStyle,
140
- tickFontSize,
141
- labelFontSize,
142
140
  tickSize: tickSizeProp,
143
141
  valueFormatter,
144
142
  slots,
@@ -171,9 +169,9 @@ function ChartsXAxis(inProps) {
171
169
  externalSlotProps: slotProps?.axisTickLabel,
172
170
  additionalProps: {
173
171
  style: _extends({
172
+ fontSize: 12,
174
173
  textAnchor: 'middle',
175
- dominantBaseline: position === 'bottom' ? 'hanging' : 'auto',
176
- fontSize: tickFontSize ?? 12
174
+ dominantBaseline: position === 'bottom' ? 'hanging' : 'auto'
177
175
  }, tickLabelStyle)
178
176
  },
179
177
  className: classes.tickLabel,
@@ -202,7 +200,7 @@ function ChartsXAxis(inProps) {
202
200
  externalSlotProps: slotProps?.axisLabel,
203
201
  additionalProps: {
204
202
  style: _extends({
205
- fontSize: labelFontSize ?? 14,
203
+ fontSize: 14,
206
204
  textAnchor: 'middle',
207
205
  dominantBaseline: position === 'bottom' ? 'hanging' : 'auto'
208
206
  }, labelStyle)
@@ -299,12 +297,6 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
299
297
  * The label of the axis.
300
298
  */
301
299
  label: PropTypes.string,
302
- /**
303
- * The font size of the axis label.
304
- * @default 14
305
- * @deprecated Consider using `labelStyle.fontSize` instead.
306
- */
307
- labelFontSize: PropTypes.number,
308
300
  /**
309
301
  * The style applied to the axis label.
310
302
  */
@@ -329,12 +321,6 @@ process.env.NODE_ENV !== "production" ? ChartsXAxis.propTypes = {
329
321
  */
330
322
  stroke: PropTypes.string,
331
323
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
332
- /**
333
- * The font size of the axis ticks text.
334
- * @default 12
335
- * @deprecated Consider using `tickLabelStyle.fontSize` instead.
336
- */
337
- tickFontSize: PropTypes.number,
338
324
  /**
339
325
  * Defines which ticks are displayed.
340
326
  * Its value can be:
@@ -42,8 +42,6 @@ const defaultProps = {
42
42
  position: 'left',
43
43
  disableLine: false,
44
44
  disableTicks: false,
45
- tickFontSize: 12,
46
- labelFontSize: 14,
47
45
  tickSize: 6
48
46
  };
49
47
 
@@ -76,9 +74,7 @@ function ChartsYAxis(inProps) {
76
74
  position,
77
75
  disableLine,
78
76
  disableTicks,
79
- tickFontSize,
80
77
  label,
81
- labelFontSize,
82
78
  labelStyle,
83
79
  tickLabelStyle,
84
80
  tickSize: tickSizeProp,
@@ -113,6 +109,7 @@ function ChartsYAxis(inProps) {
113
109
  tickInterval
114
110
  });
115
111
  const positionSign = position === 'right' ? 1 : -1;
112
+ const tickFontSize = typeof tickLabelStyle?.fontSize === 'number' ? tickLabelStyle.fontSize : 12;
116
113
  const labelRefPoint = {
117
114
  x: positionSign * (tickFontSize + tickSize + 10),
118
115
  y: top + height / 2
@@ -140,7 +137,7 @@ function ChartsYAxis(inProps) {
140
137
  externalSlotProps: slotProps?.axisLabel,
141
138
  additionalProps: {
142
139
  style: _extends({
143
- fontSize: labelFontSize,
140
+ fontSize: 14,
144
141
  angle: positionSign * 90,
145
142
  textAnchor: 'middle',
146
143
  dominantBaseline: 'auto'
@@ -243,12 +240,6 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
243
240
  * The label of the axis.
244
241
  */
245
242
  label: PropTypes.string,
246
- /**
247
- * The font size of the axis label.
248
- * @default 14
249
- * @deprecated Consider using `labelStyle.fontSize` instead.
250
- */
251
- labelFontSize: PropTypes.number,
252
243
  /**
253
244
  * The style applied to the axis label.
254
245
  */
@@ -273,12 +264,6 @@ process.env.NODE_ENV !== "production" ? ChartsYAxis.propTypes = {
273
264
  */
274
265
  stroke: PropTypes.string,
275
266
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
276
- /**
277
- * The font size of the axis ticks text.
278
- * @default 12
279
- * @deprecated Consider using `tickLabelStyle.fontSize` instead.
280
- */
281
- tickFontSize: PropTypes.number,
282
267
  /**
283
268
  * Defines which ticks are displayed.
284
269
  * Its value can be:
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["width", "height", "margin", "title", "desc", "value", "valueMin", "valueMax", "startAngle", "endAngle", "outerRadius", "innerRadius", "cornerRadius", "cx", "cy", "children"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
@@ -9,49 +9,16 @@ import { styled } from '@mui/material/styles';
9
9
  import { ChartsSurface } from "../ChartsSurface/index.js";
10
10
  import { DrawingAreaProvider } from "../context/DrawingAreaProvider/index.js";
11
11
  import { GaugeProvider } from "./GaugeProvider.js";
12
- import { SizeProvider, useSize } from "../context/SizeProvider/index.js";
13
- import { SvgRefProvider } from "../context/SvgRefProvider/index.js";
12
+ import { SizeProvider } from "../context/SizeProvider/index.js";
13
+ import { ChartProvider } from "../context/ChartProvider/index.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
- const ResizableContainerRoot = styled('div', {
16
- name: 'MuiGauge',
17
- slot: 'Container'
18
- })(({
19
- ownerState,
15
+ const GStyled = styled('g')(({
20
16
  theme
21
17
  }) => ({
22
- width: ownerState.width ?? '100%',
23
- height: ownerState.height ?? '100%',
24
- display: 'flex',
25
- position: 'relative',
26
- flexGrow: 1,
27
- flexDirection: 'column',
28
- alignItems: 'center',
29
- justifyContent: 'center',
30
- overflow: 'hidden',
31
- '&>svg': {
32
- width: '100%',
33
- height: '100%'
34
- },
35
18
  '& text': {
36
19
  fill: (theme.vars || theme).palette.text.primary
37
20
  }
38
21
  }));
39
- function ResizableContainer(props) {
40
- const {
41
- inHeight,
42
- inWidth,
43
- hasIntrinsicSize,
44
- containerRef
45
- } = useSize();
46
- return /*#__PURE__*/_jsx(ResizableContainerRoot, _extends({}, props, {
47
- ownerState: {
48
- width: inWidth,
49
- height: inHeight
50
- },
51
- ref: containerRef,
52
- children: hasIntrinsicSize && props.children
53
- }));
54
- }
55
22
  const GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(props, ref) {
56
23
  const {
57
24
  width: inWidth,
@@ -72,10 +39,10 @@ const GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(pro
72
39
  children
73
40
  } = props,
74
41
  other = _objectWithoutPropertiesLoose(props, _excluded);
75
- return /*#__PURE__*/_jsx(SizeProvider, {
76
- width: inWidth,
77
- height: inHeight,
78
- children: /*#__PURE__*/_jsx(SvgRefProvider, {
42
+ return /*#__PURE__*/_jsx(ChartProvider, {
43
+ children: /*#__PURE__*/_jsx(SizeProvider, {
44
+ width: inWidth,
45
+ height: inHeight,
79
46
  children: /*#__PURE__*/_jsx(DrawingAreaProvider, {
80
47
  margin: _extends({
81
48
  left: 10,
@@ -94,18 +61,18 @@ const GaugeContainer = /*#__PURE__*/React.forwardRef(function GaugeContainer(pro
94
61
  cornerRadius: cornerRadius,
95
62
  cx: cx,
96
63
  cy: cy,
97
- children: /*#__PURE__*/_jsx(ResizableContainer, _extends({
64
+ children: /*#__PURE__*/_jsx(ChartsSurface, _extends({
65
+ title: title,
66
+ desc: desc,
67
+ disableAxisListener: true,
98
68
  role: "meter",
99
69
  "aria-valuenow": value === null ? undefined : value,
100
70
  "aria-valuemin": valueMin,
101
71
  "aria-valuemax": valueMax
102
72
  }, other, {
103
- children: /*#__PURE__*/_jsx(ChartsSurface, {
104
- title: title,
105
- desc: desc,
106
- disableAxisListener: true,
73
+ ref: ref,
74
+ children: /*#__PURE__*/_jsx(GStyled, {
107
75
  "aria-hidden": "true",
108
- ref: ref,
109
76
  children: children
110
77
  })
111
78
  }))
@@ -11,9 +11,9 @@ import { animated, useSpring } from '@react-spring/web';
11
11
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
12
12
  import { useItemHighlighted } from "../context/index.js";
13
13
  import { useUtilityClasses } from "./markElementClasses.js";
14
- import { useSelector } from "../internals/useSelector.js";
15
- import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
16
- import { useStore } from "../internals/useStore.js";
14
+ import { useSelector } from "../internals/store/useSelector.js";
15
+ import { selectorChartsInteractionXAxis } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
16
+ import { useStore } from "../internals/store/useStore.js";
17
17
  import { jsx as _jsx } from "react/jsx-runtime";
18
18
  /**
19
19
  * The line mark element that only render circle for performance improvement.
@@ -247,7 +247,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
247
247
  hideTooltip: PropTypes.bool,
248
248
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
249
249
  label: PropTypes.string,
250
- labelFontSize: PropTypes.number,
251
250
  labelStyle: PropTypes.object,
252
251
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
253
252
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -258,7 +257,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
258
257
  slots: PropTypes.object,
259
258
  stroke: PropTypes.string,
260
259
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
261
- tickFontSize: PropTypes.number,
262
260
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
263
261
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
264
262
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -301,7 +299,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
301
299
  hideTooltip: PropTypes.bool,
302
300
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
303
301
  label: PropTypes.string,
304
- labelFontSize: PropTypes.number,
305
302
  labelStyle: PropTypes.object,
306
303
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
307
304
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -312,7 +309,6 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
312
309
  slots: PropTypes.object,
313
310
  stroke: PropTypes.string,
314
311
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
315
- tickFontSize: PropTypes.number,
316
312
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
317
313
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
318
314
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -5,8 +5,8 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
5
5
  const _excluded = ["slots", "slotProps"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { useStore } from "../internals/useStore.js";
9
- import { useSelector } from "../internals/useSelector.js";
8
+ import { useStore } from "../internals/store/useStore.js";
9
+ import { useSelector } from "../internals/store/useSelector.js";
10
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
11
  import { LineHighlightElement } from "./LineHighlightElement.js";
12
12
  import { getValueToPositionMapper } from "../hooks/useScale.js";
@@ -14,7 +14,7 @@ import { DEFAULT_X_AXIS_KEY } from "../constants/index.js";
14
14
  import getColor from "./getColor.js";
15
15
  import { useLineSeries } from "../hooks/useSeries.js";
16
16
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
17
- import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
17
+ import { selectorChartsInteractionXAxis } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  /**
20
20
  * Demos:
@@ -12,9 +12,9 @@ import { getSymbol } from "../internals/getSymbol.js";
12
12
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
13
13
  import { useItemHighlighted } from "../context/index.js";
14
14
  import { useUtilityClasses } from "./markElementClasses.js";
15
- import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
16
- import { useSelector } from "../internals/useSelector.js";
17
- import { useStore } from "../internals/useStore.js";
15
+ import { selectorChartsInteractionXAxis } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
16
+ import { useSelector } from "../internals/store/useSelector.js";
17
+ import { useStore } from "../internals/store/useStore.js";
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  const MarkElementPath = styled(animated.path, {
20
20
  name: 'MuiMarkElement',
@@ -221,7 +221,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
221
221
  hideTooltip: PropTypes.bool,
222
222
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
223
223
  label: PropTypes.string,
224
- labelFontSize: PropTypes.number,
225
224
  labelStyle: PropTypes.object,
226
225
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
227
226
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -232,7 +231,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
232
231
  slots: PropTypes.object,
233
232
  stroke: PropTypes.string,
234
233
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
235
- tickFontSize: PropTypes.number,
236
234
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
237
235
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
238
236
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -275,7 +273,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
275
273
  hideTooltip: PropTypes.bool,
276
274
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
277
275
  label: PropTypes.string,
278
- labelFontSize: PropTypes.number,
279
276
  labelStyle: PropTypes.object,
280
277
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
281
278
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -286,7 +283,6 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
286
283
  slots: PropTypes.object,
287
284
  stroke: PropTypes.string,
288
285
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
289
- tickFontSize: PropTypes.number,
290
286
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
291
287
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
292
288
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -5,11 +5,11 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { getValueToPositionMapper } from "../hooks/useScale.js";
7
7
  import { useInteractionItemProps } from "../hooks/useInteractionItemProps.js";
8
- import { useStore } from "../internals/useStore.js";
9
- import { useSelector } from "../internals/useSelector.js";
8
+ import { useStore } from "../internals/store/useStore.js";
9
+ import { useSelector } from "../internals/store/useSelector.js";
10
10
  import { useHighlighted } from "../context/index.js";
11
11
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
12
- import { selectorChartsInteractionIsVoronoiEnabled } from "../context/InteractionSelectors.js";
12
+ import { selectorChartsInteractionIsVoronoiEnabled } from "../internals/plugins/featurePlugins/useChartInteraction/index.js";
13
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
14
  /**
15
15
  * Demos:
@@ -231,7 +231,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
231
231
  hideTooltip: PropTypes.bool,
232
232
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
233
233
  label: PropTypes.string,
234
- labelFontSize: PropTypes.number,
235
234
  labelStyle: PropTypes.object,
236
235
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
237
236
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -242,7 +241,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
242
241
  slots: PropTypes.object,
243
242
  stroke: PropTypes.string,
244
243
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
245
- tickFontSize: PropTypes.number,
246
244
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
247
245
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
248
246
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -285,7 +283,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
285
283
  hideTooltip: PropTypes.bool,
286
284
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
287
285
  label: PropTypes.string,
288
- labelFontSize: PropTypes.number,
289
286
  labelStyle: PropTypes.object,
290
287
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
291
288
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -296,7 +293,6 @@ process.env.NODE_ENV !== "production" ? ScatterChart.propTypes = {
296
293
  slots: PropTypes.object,
297
294
  stroke: PropTypes.string,
298
295
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
299
- tickFontSize: PropTypes.number,
300
296
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
301
297
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
302
298
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -260,7 +260,6 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
260
260
  hideTooltip: PropTypes.bool,
261
261
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
262
262
  label: PropTypes.string,
263
- labelFontSize: PropTypes.number,
264
263
  labelStyle: PropTypes.object,
265
264
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
266
265
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -271,7 +270,6 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
271
270
  slots: PropTypes.object,
272
271
  stroke: PropTypes.string,
273
272
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
274
- tickFontSize: PropTypes.number,
275
273
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
276
274
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
277
275
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -313,7 +311,6 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
313
311
  hideTooltip: PropTypes.bool,
314
312
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
315
313
  label: PropTypes.string,
316
- labelFontSize: PropTypes.number,
317
314
  labelStyle: PropTypes.object,
318
315
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
319
316
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -324,7 +321,6 @@ process.env.NODE_ENV !== "production" ? SparkLineChart.propTypes = {
324
321
  slots: PropTypes.object,
325
322
  stroke: PropTypes.string,
326
323
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
327
- tickFontSize: PropTypes.number,
328
324
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
329
325
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
330
326
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -5,7 +5,6 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { DrawingAreaProvider } from "../DrawingAreaProvider/index.js";
7
7
  import { SeriesProvider } from "../SeriesProvider/index.js";
8
- import { InteractionProvider } from "../InteractionProvider.js";
9
8
  import { CartesianProvider } from "../CartesianProvider/index.js";
10
9
  import { PluginProvider } from "../PluginProvider/index.js";
11
10
  import { useChartDataProviderProps } from "./useChartDataProviderProps.js";
@@ -13,8 +12,35 @@ import { AnimationProvider } from "../AnimationProvider/index.js";
13
12
  import { ZAxisContextProvider } from "../ZAxisContextProvider.js";
14
13
  import { HighlightedProvider } from "../HighlightedProvider/index.js";
15
14
  import { SizeProvider } from "../SizeProvider/index.js";
16
- import { SvgRefProvider } from "../SvgRefProvider/index.js";
15
+ import { ChartProvider } from "../ChartProvider/index.js";
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ /**
18
+ * Orchestrates the data providers for the chart components and hooks.
19
+ *
20
+ * Use this component if you have custom HTML components that need to access the chart data.
21
+ *
22
+ * Demos:
23
+ *
24
+ * - [Composition](http://localhost:3001/x/react-charts/composition/)
25
+ *
26
+ * API:
27
+ *
28
+ * - [ChartDataProvider API](https://mui.com/x/api/charts/chart-data-provider/)
29
+ *
30
+ * @example
31
+ * ```jsx
32
+ * <ChartDataProvider
33
+ * series={[{ label: "Label", type: "bar", data: [10, 20] }]}
34
+ * xAxis={[{ data: ["A", "B"], scaleType: "band", id: "x-axis" }]}
35
+ * >
36
+ * <ChartsSurface>
37
+ * <BarPlot />
38
+ * <ChartsXAxis position="bottom" axisId="x-axis" />
39
+ * </ChartsSurface>
40
+ * {'Custom Legend Component'}
41
+ * </ChartDataProvider>
42
+ * ```
43
+ */
18
44
  function ChartDataProvider(props) {
19
45
  const {
20
46
  children,
@@ -27,27 +53,25 @@ function ChartDataProvider(props) {
27
53
  animationProviderProps,
28
54
  sizeProviderProps
29
55
  } = useChartDataProviderProps(props);
30
- return /*#__PURE__*/_jsx(SizeProvider, _extends({}, sizeProviderProps, {
31
- children: /*#__PURE__*/_jsx(DrawingAreaProvider, _extends({}, drawingAreaProviderProps, {
32
- children: /*#__PURE__*/_jsx(PluginProvider, _extends({}, pluginProviderProps, {
33
- children: /*#__PURE__*/_jsx(SeriesProvider, _extends({}, seriesProviderProps, {
34
- children: /*#__PURE__*/_jsx(CartesianProvider, _extends({}, cartesianProviderProps, {
35
- children: /*#__PURE__*/_jsx(ZAxisContextProvider, _extends({}, zAxisContextProps, {
36
- children: /*#__PURE__*/_jsx(InteractionProvider, {
56
+ return /*#__PURE__*/_jsx(ChartProvider, {
57
+ children: /*#__PURE__*/_jsx(SizeProvider, _extends({}, sizeProviderProps, {
58
+ children: /*#__PURE__*/_jsx(DrawingAreaProvider, _extends({}, drawingAreaProviderProps, {
59
+ children: /*#__PURE__*/_jsx(PluginProvider, _extends({}, pluginProviderProps, {
60
+ children: /*#__PURE__*/_jsx(SeriesProvider, _extends({}, seriesProviderProps, {
61
+ children: /*#__PURE__*/_jsx(CartesianProvider, _extends({}, cartesianProviderProps, {
62
+ children: /*#__PURE__*/_jsx(ZAxisContextProvider, _extends({}, zAxisContextProps, {
37
63
  children: /*#__PURE__*/_jsx(HighlightedProvider, _extends({}, highlightedProviderProps, {
38
64
  children: /*#__PURE__*/_jsx(AnimationProvider, _extends({}, animationProviderProps, {
39
- children: /*#__PURE__*/_jsx(SvgRefProvider, {
40
- children: children
41
- })
65
+ children: children
42
66
  }))
43
67
  }))
44
- })
68
+ }))
45
69
  }))
46
70
  }))
47
71
  }))
48
72
  }))
49
73
  }))
50
- }));
74
+ });
51
75
  }
52
76
  process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
53
77
  // ----------------------------- Warning --------------------------------
@@ -144,7 +168,6 @@ process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
144
168
  hideTooltip: PropTypes.bool,
145
169
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
146
170
  label: PropTypes.string,
147
- labelFontSize: PropTypes.number,
148
171
  labelStyle: PropTypes.object,
149
172
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
150
173
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -155,7 +178,6 @@ process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
155
178
  slots: PropTypes.object,
156
179
  stroke: PropTypes.string,
157
180
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
158
- tickFontSize: PropTypes.number,
159
181
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
160
182
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
161
183
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -198,7 +220,6 @@ process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
198
220
  hideTooltip: PropTypes.bool,
199
221
  id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
200
222
  label: PropTypes.string,
201
- labelFontSize: PropTypes.number,
202
223
  labelStyle: PropTypes.object,
203
224
  max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
204
225
  min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
@@ -209,7 +230,6 @@ process.env.NODE_ENV !== "production" ? ChartDataProvider.propTypes = {
209
230
  slots: PropTypes.object,
210
231
  stroke: PropTypes.string,
211
232
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
212
- tickFontSize: PropTypes.number,
213
233
  tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
214
234
  tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
215
235
  tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * @ignore - internal component.
4
+ */
5
+ export const ChartContext = /*#__PURE__*/React.createContext(null);
6
+ if (process.env.NODE_ENV !== 'production') {
7
+ ChartContext.displayName = 'ChartContext';
8
+ }
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { useCharts } from "../../internals/store/useCharts.js";
5
+ import { ChartContext } from "./ChartContext.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ function ChartProvider(props) {
8
+ const {
9
+ children
10
+ } = props;
11
+ const {
12
+ contextValue
13
+ } = useCharts([], {});
14
+ return /*#__PURE__*/_jsx(ChartContext.Provider, {
15
+ value: contextValue,
16
+ children: children
17
+ });
18
+ }
19
+ export { ChartProvider };
@@ -0,0 +1,3 @@
1
+ export * from "./ChartProvider.js";
2
+ export * from "./ChartProvider.types.js";
3
+ export * from "./useChartContext.js";
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { ChartContext } from "./ChartContext.js";
5
+ export const useChartContext = () => {
6
+ const context = React.useContext(ChartContext);
7
+ if (context == null) {
8
+ throw new Error(['MUI X: Could not find the Chart context.', 'It looks like you rendered your component outside of a ChartDataProvider.', 'This can also happen if you are bundling multiple versions of the library.'].join('\n'));
9
+ }
10
+ return context;
11
+ };
@@ -8,7 +8,6 @@ export const DrawingAreaContext = /*#__PURE__*/React.createContext({
8
8
  right: 0,
9
9
  height: 300,
10
10
  width: 400,
11
- chartId: '',
12
11
  isPointInside: () => false
13
12
  });
14
13
  if (process.env.NODE_ENV !== 'production') {