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

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 (335) hide show
  1. package/BarChart/AnimatedBarElement.d.ts +15 -0
  2. package/BarChart/AnimatedBarElement.js +21 -0
  3. package/BarChart/BarChart.d.ts +4 -9
  4. package/BarChart/BarChart.js +3 -31
  5. package/BarChart/BarElement.d.ts +5 -1342
  6. package/BarChart/BarElement.js +10 -20
  7. package/BarChart/BarPlot.js +12 -2
  8. package/BarChart/useBarChartProps.d.ts +0 -2
  9. package/BarChart/useBarChartProps.js +2 -8
  10. package/CHANGELOG.md +429 -5
  11. package/ChartContainer/ChartContainer.d.ts +2 -19
  12. package/ChartContainer/ChartContainer.js +10 -20
  13. package/ChartContainer/ResizableContainer.d.ts +17 -4
  14. package/ChartContainer/ResizableContainer.js +36 -2
  15. package/ChartContainer/useChartContainerProps.d.ts +6 -7
  16. package/ChartContainer/useChartContainerProps.js +14 -28
  17. package/ChartsAxisHighlight/ChartsAxisHighlight.d.ts +1 -17
  18. package/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  19. package/ChartsAxisHighlight/ChartsAxisHighlight.types.d.ts +5 -0
  20. package/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  21. package/ChartsAxisHighlight/ChartsAxisHighlightPath.d.ts +6 -0
  22. package/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  23. package/ChartsAxisHighlight/ChartsXAxisHighlight.d.ts +10 -0
  24. package/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  25. package/ChartsAxisHighlight/ChartsYAxisHighlight.d.ts +10 -0
  26. package/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  27. package/ChartsAxisHighlight/chartsAxisHighlightClasses.d.ts +7 -0
  28. package/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  29. package/ChartsAxisHighlight/index.d.ts +3 -0
  30. package/ChartsAxisHighlight/index.js +4 -1
  31. package/ChartsGrid/ChartsGrid.js +1 -1
  32. package/ChartsGrid/ChartsHorizontalGrid.d.ts +2 -2
  33. package/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  34. package/ChartsGrid/ChartsVerticalGrid.d.ts +2 -2
  35. package/ChartsGrid/ChartsVerticalGrid.js +3 -3
  36. package/ChartsLegend/LegendPerItem.d.ts +2 -2
  37. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  38. package/ChartsSurface/ChartsSurface.d.ts +0 -15
  39. package/ChartsSurface/ChartsSurface.js +35 -34
  40. package/ChartsTooltip/ChartTooltip.types.d.ts +15 -0
  41. package/ChartsTooltip/ChartTooltip.types.js +1 -0
  42. package/ChartsTooltip/ChartsAxisTooltipContent.d.ts +7 -39
  43. package/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  44. package/ChartsTooltip/ChartsItemTooltipContent.d.ts +5 -28
  45. package/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  46. package/ChartsTooltip/ChartsTooltip.d.ts +3 -69
  47. package/ChartsTooltip/ChartsTooltip.js +161 -145
  48. package/ChartsTooltip/ChartsTooltipContainer.d.ts +33 -0
  49. package/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  50. package/ChartsTooltip/chartsTooltipClasses.d.ts +1 -0
  51. package/ChartsTooltip/chartsTooltipClasses.js +18 -2
  52. package/ChartsTooltip/index.d.ts +3 -3
  53. package/ChartsTooltip/index.js +2 -3
  54. package/ChartsTooltip/useAxisTooltip.d.ts +2 -2
  55. package/ChartsTooltip/useAxisTooltip.js +19 -19
  56. package/ChartsTooltip/useItemTooltip.d.ts +1 -1
  57. package/ChartsTooltip/useItemTooltip.js +5 -4
  58. package/ChartsTooltip/utils.d.ts +0 -3
  59. package/ChartsTooltip/utils.js +0 -8
  60. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  61. package/Gauge/Gauge.d.ts +1 -1
  62. package/Gauge/Gauge.js +0 -6
  63. package/Gauge/GaugeContainer.d.ts +3 -3
  64. package/Gauge/GaugeContainer.js +60 -61
  65. package/LineChart/AnimatedArea.d.ts +0 -1333
  66. package/LineChart/AnimatedArea.js +9 -18
  67. package/LineChart/AnimatedLine.d.ts +0 -1333
  68. package/LineChart/AnimatedLine.js +9 -20
  69. package/LineChart/AreaPlot.js +12 -2
  70. package/LineChart/CircleMarkElement.js +6 -5
  71. package/LineChart/LineChart.d.ts +4 -10
  72. package/LineChart/LineChart.js +3 -32
  73. package/LineChart/LineHighlightPlot.js +6 -5
  74. package/LineChart/LinePlot.js +12 -2
  75. package/LineChart/MarkElement.js +6 -5
  76. package/LineChart/useLineChartProps.d.ts +0 -2
  77. package/LineChart/useLineChartProps.js +2 -8
  78. package/PieChart/PieChart.d.ts +3 -9
  79. package/PieChart/PieChart.js +5 -37
  80. package/PieChart/PiePlot.js +2 -2
  81. package/PieChart/getPieCoordinates.d.ts +2 -2
  82. package/README.md +2 -2
  83. package/ScatterChart/Scatter.js +6 -5
  84. package/ScatterChart/ScatterChart.d.ts +4 -10
  85. package/ScatterChart/ScatterChart.js +5 -32
  86. package/ScatterChart/useScatterChartProps.d.ts +0 -2
  87. package/ScatterChart/useScatterChartProps.js +1 -9
  88. package/SparkLineChart/SparkLineChart.d.ts +3 -4
  89. package/SparkLineChart/SparkLineChart.js +4 -31
  90. package/context/ChartDataProvider/ChartDataProvider.d.ts +9 -19
  91. package/context/ChartDataProvider/ChartDataProvider.js +30 -43
  92. package/context/ChartDataProvider/useChartDataProviderProps.d.ts +7 -10
  93. package/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  94. package/context/{DrawingProvider.d.ts → DrawingAreaProvider/DrawingArea.types.d.ts} +3 -14
  95. package/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  96. package/context/DrawingAreaProvider/DrawingAreaContext.d.ts +8 -0
  97. package/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  98. package/context/DrawingAreaProvider/DrawingAreaProvider.d.ts +3 -0
  99. package/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  100. package/context/DrawingAreaProvider/index.d.ts +3 -0
  101. package/context/DrawingAreaProvider/index.js +3 -0
  102. package/context/InteractionProvider.d.ts +5 -48
  103. package/context/InteractionProvider.js +8 -64
  104. package/context/InteractionSelectors.d.ts +359 -0
  105. package/context/InteractionSelectors.js +12 -0
  106. package/context/SizeProvider/Size.types.d.ts +30 -0
  107. package/context/SizeProvider/Size.types.js +1 -0
  108. package/context/SizeProvider/SizeContext.d.ts +4 -0
  109. package/context/SizeProvider/SizeContext.js +13 -0
  110. package/context/SizeProvider/SizeProvider.d.ts +11 -0
  111. package/context/SizeProvider/SizeProvider.js +26 -0
  112. package/context/SizeProvider/index.d.ts +4 -0
  113. package/context/SizeProvider/index.js +4 -0
  114. package/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.d.ts +4 -1
  115. package/{modern/ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  116. package/context/SizeProvider/useSize.d.ts +5 -0
  117. package/context/SizeProvider/useSize.js +13 -0
  118. package/context/SvgRefProvider/SvgRef.types.d.ts +8 -0
  119. package/context/SvgRefProvider/SvgRef.types.js +1 -0
  120. package/context/SvgRefProvider/SvgRefContext.d.ts +4 -0
  121. package/context/SvgRefProvider/SvgRefContext.js +17 -0
  122. package/context/SvgRefProvider/SvgRefProvider.d.ts +3 -0
  123. package/context/SvgRefProvider/SvgRefProvider.js +24 -0
  124. package/context/SvgRefProvider/index.d.ts +4 -0
  125. package/context/SvgRefProvider/index.js +4 -0
  126. package/context/SvgRefProvider/useSurfaceRef.d.ts +2 -0
  127. package/context/SvgRefProvider/useSurfaceRef.js +14 -0
  128. package/context/index.d.ts +2 -0
  129. package/context/index.js +2 -1
  130. package/hooks/useAxisEvents.js +32 -19
  131. package/hooks/useChartId.js +2 -2
  132. package/hooks/useDrawingArea.d.ts +2 -2
  133. package/hooks/useDrawingArea.js +2 -2
  134. package/hooks/useInteractionItemProps.js +19 -12
  135. package/hooks/useSvgRef.js +3 -3
  136. package/index.js +1 -1
  137. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.d.ts +1 -1
  138. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  139. package/internals/computeAxisValue.d.ts +2 -2
  140. package/internals/index.d.ts +3 -2
  141. package/internals/index.js +3 -2
  142. package/internals/plugins/models/index.d.ts +35 -0
  143. package/internals/plugins/models/index.js +1 -0
  144. package/internals/plugins/utils/ChartStore.d.ts +12 -0
  145. package/internals/plugins/utils/ChartStore.js +26 -0
  146. package/internals/plugins/utils/ChartsStore.d.ts +12 -0
  147. package/internals/plugins/utils/ChartsStore.js +26 -0
  148. package/internals/plugins/utils/selectors.d.ts +9 -0
  149. package/internals/plugins/utils/selectors.js +37 -0
  150. package/internals/useCharts.d.ts +6 -0
  151. package/internals/useCharts.js +29 -0
  152. package/internals/useSelector.d.ts +4 -0
  153. package/internals/useSelector.js +6 -0
  154. package/internals/useStore.d.ts +2 -0
  155. package/internals/useStore.js +17 -0
  156. package/modern/BarChart/AnimatedBarElement.js +21 -0
  157. package/modern/BarChart/BarChart.js +3 -31
  158. package/modern/BarChart/BarElement.js +10 -20
  159. package/modern/BarChart/BarPlot.js +12 -2
  160. package/modern/BarChart/useBarChartProps.js +2 -8
  161. package/modern/ChartContainer/ChartContainer.js +10 -20
  162. package/modern/ChartContainer/ResizableContainer.js +36 -2
  163. package/modern/ChartContainer/useChartContainerProps.js +14 -28
  164. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +10 -96
  165. package/modern/ChartsAxisHighlight/ChartsAxisHighlight.types.js +1 -0
  166. package/modern/ChartsAxisHighlight/ChartsAxisHighlightPath.js +34 -0
  167. package/modern/ChartsAxisHighlight/ChartsXAxisHighlight.js +53 -0
  168. package/modern/ChartsAxisHighlight/ChartsYAxisHighlight.js +53 -0
  169. package/modern/ChartsAxisHighlight/chartsAxisHighlightClasses.js +6 -0
  170. package/modern/ChartsAxisHighlight/index.js +4 -1
  171. package/modern/ChartsGrid/ChartsGrid.js +1 -1
  172. package/modern/ChartsGrid/ChartsHorizontalGrid.js +3 -3
  173. package/modern/ChartsGrid/ChartsVerticalGrid.js +3 -3
  174. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  175. package/modern/ChartsSurface/ChartsSurface.js +35 -34
  176. package/modern/ChartsTooltip/ChartTooltip.types.js +1 -0
  177. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +83 -72
  178. package/modern/ChartsTooltip/ChartsItemTooltipContent.js +54 -44
  179. package/modern/ChartsTooltip/ChartsTooltip.js +161 -145
  180. package/modern/ChartsTooltip/ChartsTooltipContainer.js +298 -0
  181. package/modern/ChartsTooltip/chartsTooltipClasses.js +18 -2
  182. package/modern/ChartsTooltip/index.js +2 -3
  183. package/modern/ChartsTooltip/useAxisTooltip.js +19 -19
  184. package/modern/ChartsTooltip/useItemTooltip.js +5 -4
  185. package/modern/ChartsTooltip/utils.js +0 -8
  186. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +47 -34
  187. package/modern/Gauge/Gauge.js +0 -6
  188. package/modern/Gauge/GaugeContainer.js +60 -61
  189. package/modern/LineChart/AnimatedArea.js +9 -18
  190. package/modern/LineChart/AnimatedLine.js +9 -20
  191. package/modern/LineChart/AreaPlot.js +12 -2
  192. package/modern/LineChart/CircleMarkElement.js +6 -5
  193. package/modern/LineChart/LineChart.js +3 -32
  194. package/modern/LineChart/LineHighlightPlot.js +6 -5
  195. package/modern/LineChart/LinePlot.js +12 -2
  196. package/modern/LineChart/MarkElement.js +6 -5
  197. package/modern/LineChart/useLineChartProps.js +2 -8
  198. package/modern/PieChart/PieChart.js +5 -37
  199. package/modern/PieChart/PiePlot.js +2 -2
  200. package/modern/ScatterChart/Scatter.js +6 -5
  201. package/modern/ScatterChart/ScatterChart.js +5 -32
  202. package/modern/ScatterChart/useScatterChartProps.js +1 -9
  203. package/modern/SparkLineChart/SparkLineChart.js +4 -31
  204. package/modern/context/ChartDataProvider/ChartDataProvider.js +30 -43
  205. package/modern/context/ChartDataProvider/useChartDataProviderProps.js +22 -42
  206. package/modern/context/DrawingAreaProvider/DrawingArea.types.js +1 -0
  207. package/modern/context/DrawingAreaProvider/DrawingAreaContext.js +16 -0
  208. package/modern/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +11 -41
  209. package/modern/context/DrawingAreaProvider/index.js +3 -0
  210. package/modern/context/InteractionProvider.js +8 -64
  211. package/modern/context/InteractionSelectors.js +12 -0
  212. package/modern/context/SizeProvider/Size.types.js +1 -0
  213. package/modern/context/SizeProvider/SizeContext.js +13 -0
  214. package/modern/context/SizeProvider/SizeProvider.js +26 -0
  215. package/modern/context/SizeProvider/index.js +4 -0
  216. package/{ChartContainer → modern/context/SizeProvider}/useChartContainerDimensions.js +11 -5
  217. package/modern/context/SizeProvider/useSize.js +13 -0
  218. package/modern/context/SvgRefProvider/SvgRef.types.js +1 -0
  219. package/modern/context/SvgRefProvider/SvgRefContext.js +17 -0
  220. package/modern/context/SvgRefProvider/SvgRefProvider.js +24 -0
  221. package/modern/context/SvgRefProvider/index.js +4 -0
  222. package/modern/context/SvgRefProvider/useSurfaceRef.js +14 -0
  223. package/modern/context/index.js +2 -1
  224. package/modern/hooks/useAxisEvents.js +32 -19
  225. package/modern/hooks/useChartId.js +2 -2
  226. package/modern/hooks/useDrawingArea.js +2 -2
  227. package/modern/hooks/useInteractionItemProps.js +19 -12
  228. package/modern/hooks/useSvgRef.js +3 -3
  229. package/modern/index.js +1 -1
  230. package/modern/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  231. package/modern/internals/index.js +3 -2
  232. package/modern/internals/plugins/models/index.js +1 -0
  233. package/modern/internals/plugins/utils/ChartStore.js +26 -0
  234. package/modern/internals/plugins/utils/ChartsStore.js +26 -0
  235. package/modern/internals/plugins/utils/selectors.js +37 -0
  236. package/modern/internals/useCharts.js +29 -0
  237. package/modern/internals/useSelector.js +6 -0
  238. package/modern/internals/useStore.js +17 -0
  239. package/node/BarChart/AnimatedBarElement.js +28 -0
  240. package/node/BarChart/BarChart.js +3 -31
  241. package/node/BarChart/BarElement.js +11 -21
  242. package/node/BarChart/BarPlot.js +11 -1
  243. package/node/BarChart/useBarChartProps.js +2 -8
  244. package/node/ChartContainer/ChartContainer.js +10 -20
  245. package/node/ChartContainer/ResizableContainer.js +39 -3
  246. package/node/ChartContainer/useChartContainerProps.js +14 -28
  247. package/node/ChartsAxisHighlight/ChartsAxisHighlight.js +12 -100
  248. package/node/ChartsAxisHighlight/ChartsAxisHighlight.types.js +5 -0
  249. package/node/ChartsAxisHighlight/ChartsAxisHighlightPath.js +40 -0
  250. package/node/ChartsAxisHighlight/ChartsXAxisHighlight.js +57 -0
  251. package/node/ChartsAxisHighlight/ChartsYAxisHighlight.js +57 -0
  252. package/node/ChartsAxisHighlight/chartsAxisHighlightClasses.js +14 -0
  253. package/node/ChartsAxisHighlight/index.js +33 -0
  254. package/node/ChartsGrid/ChartsGrid.js +2 -2
  255. package/node/ChartsGrid/ChartsHorizontalGrid.js +4 -4
  256. package/node/ChartsGrid/ChartsVerticalGrid.js +4 -4
  257. package/node/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +9 -7
  258. package/node/ChartsSurface/ChartsSurface.js +35 -34
  259. package/node/ChartsTooltip/ChartTooltip.types.js +5 -0
  260. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +83 -73
  261. package/node/ChartsTooltip/ChartsItemTooltipContent.js +54 -45
  262. package/node/ChartsTooltip/ChartsTooltip.js +160 -144
  263. package/node/ChartsTooltip/ChartsTooltipContainer.js +304 -0
  264. package/node/ChartsTooltip/chartsTooltipClasses.js +22 -3
  265. package/node/ChartsTooltip/index.js +19 -28
  266. package/node/ChartsTooltip/useAxisTooltip.js +19 -19
  267. package/node/ChartsTooltip/useItemTooltip.js +5 -4
  268. package/node/ChartsTooltip/utils.js +0 -9
  269. package/node/ChartsVoronoiHandler/ChartsVoronoiHandler.js +48 -35
  270. package/node/Gauge/Gauge.js +0 -6
  271. package/node/Gauge/GaugeContainer.js +60 -61
  272. package/node/LineChart/AnimatedArea.js +9 -19
  273. package/node/LineChart/AnimatedLine.js +9 -21
  274. package/node/LineChart/AreaPlot.js +11 -1
  275. package/node/LineChart/CircleMarkElement.js +6 -5
  276. package/node/LineChart/LineChart.js +3 -32
  277. package/node/LineChart/LineHighlightPlot.js +6 -5
  278. package/node/LineChart/LinePlot.js +11 -1
  279. package/node/LineChart/MarkElement.js +6 -5
  280. package/node/LineChart/useLineChartProps.js +2 -8
  281. package/node/PieChart/PieChart.js +5 -37
  282. package/node/PieChart/PiePlot.js +2 -2
  283. package/node/ScatterChart/Scatter.js +6 -5
  284. package/node/ScatterChart/ScatterChart.js +5 -32
  285. package/node/ScatterChart/useScatterChartProps.js +1 -9
  286. package/node/SparkLineChart/SparkLineChart.js +4 -31
  287. package/node/context/ChartDataProvider/ChartDataProvider.js +30 -43
  288. package/node/context/ChartDataProvider/useChartDataProviderProps.js +22 -44
  289. package/node/context/DrawingAreaProvider/DrawingArea.types.js +5 -0
  290. package/node/context/DrawingAreaProvider/DrawingAreaContext.js +22 -0
  291. package/node/context/{DrawingProvider.js → DrawingAreaProvider/DrawingAreaProvider.js} +12 -44
  292. package/node/context/DrawingAreaProvider/index.js +38 -0
  293. package/node/context/InteractionProvider.js +9 -66
  294. package/node/context/InteractionSelectors.js +18 -0
  295. package/node/context/SizeProvider/Size.types.js +5 -0
  296. package/node/context/SizeProvider/SizeContext.js +20 -0
  297. package/node/context/SizeProvider/SizeProvider.js +29 -0
  298. package/node/context/SizeProvider/index.js +49 -0
  299. package/node/{ChartContainer → context/SizeProvider}/useChartContainerDimensions.js +11 -5
  300. package/node/context/SizeProvider/useSize.js +20 -0
  301. package/node/context/SvgRefProvider/SvgRef.types.js +5 -0
  302. package/node/context/SvgRefProvider/SvgRefContext.js +23 -0
  303. package/node/context/SvgRefProvider/SvgRefProvider.js +31 -0
  304. package/node/context/SvgRefProvider/index.js +49 -0
  305. package/node/context/SvgRefProvider/useSurfaceRef.js +20 -0
  306. package/node/context/index.js +10 -2
  307. package/node/hooks/useAxisEvents.js +33 -19
  308. package/node/hooks/useChartId.js +2 -2
  309. package/node/hooks/useDrawingArea.js +2 -2
  310. package/node/hooks/useInteractionItemProps.js +20 -13
  311. package/node/hooks/useSvgRef.js +3 -3
  312. package/node/index.js +1 -1
  313. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +9 -4
  314. package/node/internals/index.js +28 -16
  315. package/node/internals/plugins/models/index.js +5 -0
  316. package/node/internals/plugins/utils/ChartStore.js +33 -0
  317. package/node/internals/plugins/utils/ChartsStore.js +33 -0
  318. package/node/internals/plugins/utils/selectors.js +44 -0
  319. package/node/internals/useCharts.js +36 -0
  320. package/node/internals/useSelector.js +13 -0
  321. package/node/internals/useStore.js +24 -0
  322. package/package.json +7 -5
  323. package/themeAugmentation/props.d.ts +1 -2
  324. package/ChartsTooltip/DefaultChartsAxisTooltipContent.d.ts +0 -7
  325. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  326. package/ChartsTooltip/DefaultChartsItemTooltipContent.d.ts +0 -8
  327. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  328. package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -123
  329. package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -92
  330. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -129
  331. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -98
  332. /package/ChartsGrid/{styledCommonents.d.ts → styledComponents.d.ts} +0 -0
  333. /package/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  334. /package/modern/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
  335. /package/node/ChartsGrid/{styledCommonents.js → styledComponents.js} +0 -0
@@ -6,15 +6,21 @@ import PropTypes from 'prop-types';
6
6
  import { ChartDataProvider } from "../context/ChartDataProvider/index.js";
7
7
  import { ResizableContainer } from "./ResizableContainer.js";
8
8
  import { useChartContainerProps } from "./useChartContainerProps.js";
9
+ import { ChartsSurface } from "../ChartsSurface/index.js";
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
11
12
  const {
12
- hasIntrinsicSize,
13
13
  chartDataProviderProps,
14
- resizableChartContainerProps
14
+ children,
15
+ resizableContainerProps,
16
+ chartsSurfaceProps
15
17
  } = useChartContainerProps(props, ref);
16
- return /*#__PURE__*/_jsx(ResizableContainer, _extends({}, resizableChartContainerProps, {
17
- children: hasIntrinsicSize ? /*#__PURE__*/_jsx(ChartDataProvider, _extends({}, chartDataProviderProps)) : null
18
+ return /*#__PURE__*/_jsx(ChartDataProvider, _extends({}, chartDataProviderProps, {
19
+ children: /*#__PURE__*/_jsx(ResizableContainer, _extends({}, resizableContainerProps, {
20
+ children: /*#__PURE__*/_jsx(ChartsSurface, _extends({}, chartsSurfaceProps, {
21
+ children: children
22
+ }))
23
+ }))
18
24
  }));
19
25
  });
20
26
  process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
@@ -74,16 +80,6 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
74
80
  * If not provided, the container supports line, bar, scatter and pie charts.
75
81
  */
76
82
  plugins: PropTypes.arrayOf(PropTypes.object),
77
- /**
78
- * The chart will try to wait for the parent container to resolve its size
79
- * before it renders for the first time.
80
- *
81
- * This can be useful in some scenarios where the chart appear to grow after
82
- * the first render, like when used inside a grid.
83
- *
84
- * @default false
85
- */
86
- resolveSizeBeforeRender: PropTypes.bool,
87
83
  /**
88
84
  * The array of series to display.
89
85
  * Each type of series has its own specificity.
@@ -97,12 +93,6 @@ process.env.NODE_ENV !== "production" ? ChartContainer.propTypes = {
97
93
  skipAnimation: PropTypes.bool,
98
94
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
99
95
  title: PropTypes.string,
100
- viewBox: PropTypes.shape({
101
- height: PropTypes.number,
102
- width: PropTypes.number,
103
- x: PropTypes.number,
104
- y: PropTypes.number
105
- }),
106
96
  /**
107
97
  * The width of the chart in px. If not defined, it takes the width of the parent element.
108
98
  */
@@ -1,9 +1,22 @@
1
- import type { ChartContainerProps } from './ChartContainer';
1
+ import * as React from 'react';
2
+ import type { SizeContextState } from '../context/SizeProvider';
2
3
  /**
3
4
  * Wrapping div that take the shape of its parent.
4
5
  *
5
6
  * @ignore - do not document.
6
7
  */
7
- export declare const ResizableContainer: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
8
- ownerState: Pick<ChartContainerProps, "width" | "height">;
9
- }, Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("react").ClassAttributes<HTMLDivElement> | keyof import("react").HTMLAttributes<HTMLDivElement>>, {}>;
8
+ export declare const ResizableContainerRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
9
+ ownerState: Partial<Pick<SizeContextState, "width" | "height">>;
10
+ }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
11
+ /**
12
+ * Wrapping div that take the shape of its parent.
13
+ *
14
+ * @ignore - do not document.
15
+ */
16
+ declare function ResizableContainer(props: {
17
+ children: React.ReactNode;
18
+ }): React.JSX.Element;
19
+ declare namespace ResizableContainer {
20
+ var propTypes: any;
21
+ }
22
+ export { ResizableContainer };
@@ -1,10 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import * as React from 'react';
3
+ import PropTypes from 'prop-types';
1
4
  import { styled } from '@mui/material/styles';
5
+ import { useSize } from "../context/SizeProvider/index.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
2
7
  /**
3
8
  * Wrapping div that take the shape of its parent.
4
9
  *
5
10
  * @ignore - do not document.
6
11
  */
7
- export const ResizableContainer = styled('div', {
12
+ export const ResizableContainerRoot = styled('div', {
8
13
  name: 'MuiResponsiveChart',
9
14
  slot: 'Container'
10
15
  })(({
@@ -23,4 +28,33 @@ export const ResizableContainer = styled('div', {
23
28
  width: '100%',
24
29
  height: '100%'
25
30
  }
26
- }));
31
+ }));
32
+
33
+ /**
34
+ * Wrapping div that take the shape of its parent.
35
+ *
36
+ * @ignore - do not document.
37
+ */
38
+ function ResizableContainer(props) {
39
+ const {
40
+ inHeight,
41
+ inWidth,
42
+ containerRef
43
+ } = useSize();
44
+ return /*#__PURE__*/_jsx(ResizableContainerRoot, _extends({}, props, {
45
+ ownerState: {
46
+ width: inWidth,
47
+ height: inHeight
48
+ },
49
+ ref: containerRef,
50
+ children: props.children
51
+ }));
52
+ }
53
+ process.env.NODE_ENV !== "production" ? ResizableContainer.propTypes = {
54
+ // ----------------------------- Warning --------------------------------
55
+ // | These PropTypes are generated from the TypeScript type definitions |
56
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
57
+ // ----------------------------------------------------------------------
58
+ children: PropTypes.node
59
+ } : void 0;
60
+ export { ResizableContainer };
@@ -1,14 +1,13 @@
1
+ import * as React from 'react';
2
+ import { ChartsSurfaceProps } from '../ChartsSurface';
1
3
  import { ChartDataProviderProps } from '../context/ChartDataProvider';
2
4
  import type { ChartContainerProps } from './ChartContainer';
3
5
  export type UseChartContainerPropsReturnValue = {
4
- hasIntrinsicSize: boolean;
5
6
  chartDataProviderProps: ChartDataProviderProps;
6
- resizableChartContainerProps: {
7
- ownerState: {
8
- width: ChartContainerProps['width'];
9
- height: ChartContainerProps['height'];
10
- };
11
- ref: React.Ref<HTMLDivElement>;
7
+ chartsSurfaceProps: ChartsSurfaceProps & {
8
+ ref: React.Ref<SVGSVGElement>;
12
9
  };
10
+ resizableContainerProps: any;
11
+ children: React.ReactNode;
13
12
  };
14
13
  export declare const useChartContainerProps: (props: ChartContainerProps, ref: React.Ref<SVGSVGElement>) => UseChartContainerPropsReturnValue;
@@ -1,14 +1,11 @@
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 = ["width", "height", "resolveSizeBeforeRender", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "sx", "title", "viewBox", "xAxis", "yAxis", "zAxis", "skipAnimation"];
6
- import { useChartContainerDimensions } from "./useChartContainerDimensions.js";
4
+ const _excluded = ["width", "height", "margin", "children", "series", "colors", "dataset", "desc", "disableAxisListener", "highlightedItem", "onHighlightChange", "plugins", "sx", "title", "xAxis", "yAxis", "zAxis", "skipAnimation"];
7
5
  export const useChartContainerProps = (props, ref) => {
8
6
  const {
9
7
  width,
10
8
  height,
11
- resolveSizeBeforeRender,
12
9
  margin,
13
10
  children,
14
11
  series,
@@ -21,50 +18,39 @@ export const useChartContainerProps = (props, ref) => {
21
18
  plugins,
22
19
  sx,
23
20
  title,
24
- viewBox,
25
21
  xAxis,
26
22
  yAxis,
27
23
  zAxis,
28
24
  skipAnimation
29
25
  } = props,
30
26
  other = _objectWithoutPropertiesLoose(props, _excluded);
31
- const {
32
- containerRef,
33
- width: dWidth,
34
- height: dHeight
35
- } = useChartContainerDimensions(width, height, resolveSizeBeforeRender);
36
- const resizableChartContainerProps = _extends({}, other, {
37
- ownerState: {
38
- width,
39
- height
40
- },
41
- ref: containerRef
42
- });
27
+ const resizableContainerProps = other;
28
+ const chartsSurfaceProps = {
29
+ title,
30
+ desc,
31
+ sx,
32
+ disableAxisListener,
33
+ ref
34
+ };
43
35
  const chartDataProviderProps = {
44
36
  margin,
45
- children,
46
37
  series,
47
38
  colors,
48
39
  dataset,
49
- desc,
50
- disableAxisListener,
51
40
  highlightedItem,
52
41
  onHighlightChange,
53
42
  plugins,
54
- sx,
55
- title,
56
- viewBox,
57
43
  xAxis,
58
44
  yAxis,
59
45
  zAxis,
60
46
  skipAnimation,
61
- width: dWidth,
62
- height: dHeight,
63
- ref
47
+ width,
48
+ height
64
49
  };
65
50
  return {
66
- hasIntrinsicSize: Boolean(dWidth && dHeight),
67
51
  chartDataProviderProps,
68
- resizableChartContainerProps
52
+ resizableContainerProps,
53
+ chartsSurfaceProps,
54
+ children
69
55
  };
70
56
  };
@@ -1,21 +1,5 @@
1
1
  import * as React from 'react';
2
- export interface ChartsAxisHighlightClasses {
3
- /** Styles applied to the root element. */
4
- root: string;
5
- }
6
- export type ChartsAxisHighlightClassKey = keyof ChartsAxisHighlightClasses;
7
- export declare function getAxisHighlightUtilityClass(slot: string): string;
8
- export declare const chartsAxisHighlightClasses: ChartsAxisHighlightClasses;
9
- export declare const ChartsAxisHighlightPath: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
10
- ownerState: {
11
- axisHighlight: AxisHighlight;
12
- };
13
- }, Pick<React.SVGProps<SVGPathElement>, keyof React.SVGProps<SVGPathElement>>, {}>;
14
- type AxisHighlight = 'none' | 'line' | 'band';
15
- export type ChartsAxisHighlightProps = {
16
- x?: AxisHighlight;
17
- y?: AxisHighlight;
18
- };
2
+ import { ChartsAxisHighlightProps } from './ChartsAxisHighlight.types';
19
3
  /**
20
4
  * Demos:
21
5
  *
@@ -1,57 +1,19 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import * as React from 'react';
5
4
  import PropTypes from 'prop-types';
6
5
  import composeClasses from '@mui/utils/composeClasses';
7
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
8
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
9
- import { styled } from '@mui/material/styles';
10
- import { InteractionContext } from "../context/InteractionProvider.js";
11
- import { useCartesianContext } from "../context/CartesianProvider/index.js";
12
- import { getValueToPositionMapper } from "../hooks/useScale.js";
13
- import { isBandScale } from "../internals/isBandScale.js";
6
+ import { getAxisHighlightUtilityClass } from "./chartsAxisHighlightClasses.js";
7
+ import ChartsYHighlight from "./ChartsYAxisHighlight.js";
8
+ import ChartsXHighlight from "./ChartsXAxisHighlight.js";
14
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
- export function getAxisHighlightUtilityClass(slot) {
16
- return generateUtilityClass('MuiChartsAxisHighlight', slot);
17
- }
18
- export const chartsAxisHighlightClasses = generateUtilityClasses('MuiChartsAxisHighlight', ['root']);
19
10
  const useUtilityClasses = () => {
20
11
  const slots = {
21
12
  root: ['root']
22
13
  };
23
14
  return composeClasses(slots, getAxisHighlightUtilityClass);
24
15
  };
25
- export const ChartsAxisHighlightPath = styled('path', {
26
- name: 'MuiChartsAxisHighlight',
27
- slot: 'Root',
28
- overridesResolver: (_, styles) => styles.root
29
- })(({
30
- theme
31
- }) => ({
32
- pointerEvents: 'none',
33
- variants: [{
34
- props: {
35
- axisHighlight: 'band'
36
- },
37
- style: _extends({
38
- fill: 'white',
39
- fillOpacity: 0.1
40
- }, theme.applyStyles('light', {
41
- fill: 'gray'
42
- }))
43
- }, {
44
- props: {
45
- axisHighlight: 'line'
46
- },
47
- style: _extends({
48
- strokeDasharray: '5 2',
49
- stroke: '#ffffff'
50
- }, theme.applyStyles('light', {
51
- stroke: '#000000'
52
- }))
53
- }]
54
- }));
16
+
55
17
  /**
56
18
  * Demos:
57
19
  *
@@ -66,62 +28,14 @@ function ChartsAxisHighlight(props) {
66
28
  x: xAxisHighlight,
67
29
  y: yAxisHighlight
68
30
  } = props;
69
- const {
70
- xAxisIds,
71
- xAxis,
72
- yAxisIds,
73
- yAxis
74
- } = useCartesianContext();
75
31
  const classes = useUtilityClasses();
76
- const USED_X_AXIS_ID = xAxisIds[0];
77
- const USED_Y_AXIS_ID = yAxisIds[0];
78
- const xScale = xAxis[USED_X_AXIS_ID].scale;
79
- const yScale = yAxis[USED_Y_AXIS_ID].scale;
80
- const {
81
- axis
82
- } = React.useContext(InteractionContext);
83
- const getXPosition = getValueToPositionMapper(xScale);
84
- const getYPosition = getValueToPositionMapper(yScale);
85
- const axisX = axis.x;
86
- const axisY = axis.y;
87
- const isBandScaleX = xAxisHighlight === 'band' && axisX !== null && isBandScale(xScale);
88
- const isBandScaleY = yAxisHighlight === 'band' && axisY !== null && isBandScale(yScale);
89
- if (process.env.NODE_ENV !== 'production') {
90
- const isXError = isBandScaleX && xScale(axisX.value) === undefined;
91
- const isYError = isBandScaleY && yScale(axisY.value) === undefined;
92
- if (isXError || isYError) {
93
- console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
94
- }
95
- }
96
32
  return /*#__PURE__*/_jsxs(React.Fragment, {
97
- children: [isBandScaleX && xScale(axisX.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath
98
- // @ts-expect-error, xScale value is checked in the statement above
99
- , {
100
- d: `M ${xScale(axisX.value) - (xScale.step() - xScale.bandwidth()) / 2} ${yScale.range()[0]} l ${xScale.step()} 0 l 0 ${yScale.range()[1] - yScale.range()[0]} l ${-xScale.step()} 0 Z`,
101
- className: classes.root,
102
- ownerState: {
103
- axisHighlight: 'band'
104
- }
105
- }), isBandScaleY && yScale(axisY.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
106
- d: `M ${xScale.range()[0]} ${
107
- // @ts-expect-error, yScale value is checked in the statement above
108
- yScale(axisY.value) - (yScale.step() - yScale.bandwidth()) / 2} l 0 ${yScale.step()} l ${xScale.range()[1] - xScale.range()[0]} 0 l 0 ${-yScale.step()} Z`,
109
- className: classes.root,
110
- ownerState: {
111
- axisHighlight: 'band'
112
- }
113
- }), xAxisHighlight === 'line' && axis.x !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
114
- d: `M ${getXPosition(axis.x.value)} ${yScale.range()[0]} L ${getXPosition(axis.x.value)} ${yScale.range()[1]}`,
115
- className: classes.root,
116
- ownerState: {
117
- axisHighlight: 'line'
118
- }
119
- }), yAxisHighlight === 'line' && axis.y !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
120
- d: `M ${xScale.range()[0]} ${getYPosition(axis.y.value)} L ${xScale.range()[1]} ${getYPosition(axis.y.value)}`,
121
- className: classes.root,
122
- ownerState: {
123
- axisHighlight: 'line'
124
- }
33
+ children: [xAxisHighlight && /*#__PURE__*/_jsx(ChartsXHighlight, {
34
+ type: xAxisHighlight,
35
+ classes: classes
36
+ }), yAxisHighlight && /*#__PURE__*/_jsx(ChartsYHighlight, {
37
+ type: yAxisHighlight,
38
+ classes: classes
125
39
  })]
126
40
  });
127
41
  }
@@ -0,0 +1,5 @@
1
+ export type ChartsAxisHighlightType = 'none' | 'line' | 'band';
2
+ export type ChartsAxisHighlightProps = {
3
+ x?: ChartsAxisHighlightType;
4
+ y?: ChartsAxisHighlightType;
5
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { ChartsAxisHighlightType } from './ChartsAxisHighlight.types';
2
+ export declare const ChartsAxisHighlightPath: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
3
+ ownerState: {
4
+ axisHighlight: ChartsAxisHighlightType;
5
+ };
6
+ }, Pick<import("react").SVGProps<SVGPathElement>, keyof import("react").SVGProps<SVGPathElement>>, {}>;
@@ -0,0 +1,34 @@
1
+ 'use client';
2
+
3
+ import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import { styled } from '@mui/material/styles';
5
+ export const ChartsAxisHighlightPath = styled('path', {
6
+ name: 'MuiChartsAxisHighlight',
7
+ slot: 'Root',
8
+ overridesResolver: (_, styles) => styles.root
9
+ })(({
10
+ theme
11
+ }) => ({
12
+ pointerEvents: 'none',
13
+ variants: [{
14
+ props: {
15
+ axisHighlight: 'band'
16
+ },
17
+ style: _extends({
18
+ fill: 'white',
19
+ fillOpacity: 0.1
20
+ }, theme.applyStyles('light', {
21
+ fill: 'gray'
22
+ }))
23
+ }, {
24
+ props: {
25
+ axisHighlight: 'line'
26
+ },
27
+ style: _extends({
28
+ strokeDasharray: '5 2',
29
+ stroke: '#ffffff'
30
+ }, theme.applyStyles('light', {
31
+ stroke: '#000000'
32
+ }))
33
+ }]
34
+ }));
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ChartsAxisHighlightType } from './ChartsAxisHighlight.types';
3
+ import { ChartsAxisHighlightClasses } from './chartsAxisHighlightClasses';
4
+ /**
5
+ * @ignore - internal component.
6
+ */
7
+ export default function ChartsXHighlight(props: {
8
+ type: ChartsAxisHighlightType;
9
+ classes: ChartsAxisHighlightClasses;
10
+ }): React.JSX.Element;
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { getValueToPositionMapper, useXScale } from "../hooks/useScale.js";
5
+ import { isBandScale } from "../internals/isBandScale.js";
6
+ import { useSelector } from "../internals/useSelector.js";
7
+ import { useStore } from "../internals/useStore.js";
8
+ import { selectorChartsInteractionXAxis } from "../context/InteractionSelectors.js";
9
+ import { useDrawingArea } from "../hooks/index.js";
10
+ import { ChartsAxisHighlightPath } from "./ChartsAxisHighlightPath.js";
11
+
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export default function ChartsXHighlight(props) {
17
+ const {
18
+ type,
19
+ classes
20
+ } = props;
21
+ const {
22
+ top,
23
+ height
24
+ } = useDrawingArea();
25
+ const xScale = useXScale();
26
+ const store = useStore();
27
+ const axisX = useSelector(store, selectorChartsInteractionXAxis);
28
+ const getXPosition = getValueToPositionMapper(xScale);
29
+ const isBandScaleX = type === 'band' && axisX !== null && isBandScale(xScale);
30
+ if (process.env.NODE_ENV !== 'production') {
31
+ const isError = isBandScaleX && xScale(axisX.value) === undefined;
32
+ if (isError) {
33
+ console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
34
+ }
35
+ }
36
+ return /*#__PURE__*/_jsxs(React.Fragment, {
37
+ children: [isBandScaleX && xScale(axisX.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath
38
+ // @ts-expect-error, xScale value is checked in the statement above
39
+ , {
40
+ d: `M ${xScale(axisX.value) - (xScale.step() - xScale.bandwidth()) / 2} ${top} l ${xScale.step()} 0 l 0 ${height} l ${-xScale.step()} 0 Z`,
41
+ className: classes.root,
42
+ ownerState: {
43
+ axisHighlight: 'band'
44
+ }
45
+ }), type === 'line' && axisX !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
46
+ d: `M ${getXPosition(axisX.value)} ${top} L ${getXPosition(axisX.value)} ${top + height}`,
47
+ className: classes.root,
48
+ ownerState: {
49
+ axisHighlight: 'line'
50
+ }
51
+ })]
52
+ });
53
+ }
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { ChartsAxisHighlightType } from './ChartsAxisHighlight.types';
3
+ import { ChartsAxisHighlightClasses } from './chartsAxisHighlightClasses';
4
+ /**
5
+ * @ignore - internal component.
6
+ */
7
+ export default function ChartsYHighlight(props: {
8
+ type: ChartsAxisHighlightType;
9
+ classes: ChartsAxisHighlightClasses;
10
+ }): React.JSX.Element;
@@ -0,0 +1,53 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { getValueToPositionMapper, useYScale } from "../hooks/useScale.js";
5
+ import { isBandScale } from "../internals/isBandScale.js";
6
+ import { useSelector } from "../internals/useSelector.js";
7
+ import { useStore } from "../internals/useStore.js";
8
+ import { selectorChartsInteractionYAxis } from "../context/InteractionSelectors.js";
9
+ import { useDrawingArea } from "../hooks/index.js";
10
+ import { ChartsAxisHighlightPath } from "./ChartsAxisHighlightPath.js";
11
+
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export default function ChartsYHighlight(props) {
17
+ const {
18
+ type,
19
+ classes
20
+ } = props;
21
+ const {
22
+ left,
23
+ width
24
+ } = useDrawingArea();
25
+ const yScale = useYScale();
26
+ const store = useStore();
27
+ const axisY = useSelector(store, selectorChartsInteractionYAxis);
28
+ const getYPosition = getValueToPositionMapper(yScale);
29
+ const isBandScaleY = type === 'band' && axisY !== null && isBandScale(yScale);
30
+ if (process.env.NODE_ENV !== 'production') {
31
+ const isError = isBandScaleY && yScale(axisY.value) === undefined;
32
+ if (isError) {
33
+ console.error([`MUI X: The position value provided for the axis is not valid for the current scale.`, `This probably means something is wrong with the data passed to the chart.`, `The ChartsAxisHighlight component will not be displayed.`].join('\n'));
34
+ }
35
+ }
36
+ return /*#__PURE__*/_jsxs(React.Fragment, {
37
+ children: [isBandScaleY && yScale(axisY.value) !== undefined && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
38
+ d: `M ${left} ${
39
+ // @ts-expect-error, yScale value is checked in the statement above
40
+ yScale(axisY.value) - (yScale.step() - yScale.bandwidth()) / 2} l 0 ${yScale.step()} l ${width} 0 l 0 ${-yScale.step()} Z`,
41
+ className: classes.root,
42
+ ownerState: {
43
+ axisHighlight: 'band'
44
+ }
45
+ }), type === 'line' && axisY !== null && /*#__PURE__*/_jsx(ChartsAxisHighlightPath, {
46
+ d: `M ${left} ${getYPosition(axisY.value)} L ${left + width} ${getYPosition(axisY.value)}`,
47
+ className: classes.root,
48
+ ownerState: {
49
+ axisHighlight: 'line'
50
+ }
51
+ })]
52
+ });
53
+ }
@@ -0,0 +1,7 @@
1
+ export interface ChartsAxisHighlightClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export type ChartsAxisHighlightClassKey = keyof ChartsAxisHighlightClasses;
6
+ export declare function getAxisHighlightUtilityClass(slot: string): string;
7
+ export declare const chartsAxisHighlightClasses: ChartsAxisHighlightClasses;
@@ -0,0 +1,6 @@
1
+ import generateUtilityClass from '@mui/utils/generateUtilityClass';
2
+ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
+ export function getAxisHighlightUtilityClass(slot) {
4
+ return generateUtilityClass('MuiChartsAxisHighlight', slot);
5
+ }
6
+ export const chartsAxisHighlightClasses = generateUtilityClasses('MuiChartsAxisHighlight', ['root']);
@@ -1 +1,4 @@
1
1
  export * from './ChartsAxisHighlight';
2
+ export * from './chartsAxisHighlightClasses';
3
+ export * from './ChartsAxisHighlight.types';
4
+ export * from './ChartsAxisHighlightPath';
@@ -1 +1,4 @@
1
- export * from "./ChartsAxisHighlight.js";
1
+ export * from "./ChartsAxisHighlight.js";
2
+ export * from "./chartsAxisHighlightClasses.js";
3
+ export * from "./ChartsAxisHighlight.types.js";
4
+ export * from "./ChartsAxisHighlightPath.js";
@@ -10,7 +10,7 @@ import { useThemeProps } from '@mui/material/styles';
10
10
  import { useCartesianContext } from "../context/CartesianProvider/index.js";
11
11
  import { getChartsGridUtilityClass } from "./chartsGridClasses.js";
12
12
  import { useDrawingArea } from "../hooks/useDrawingArea.js";
13
- import { GridRoot } from "./styledCommonents.js";
13
+ import { GridRoot } from "./styledComponents.js";
14
14
  import { ChartsGridVertical } from "./ChartsVerticalGrid.js";
15
15
  import { ChartsGridHorizontal } from "./ChartsHorizontalGrid.js";
16
16
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1,10 +1,10 @@
1
1
  import * as React from 'react';
2
- import { DrawingArea } from '../context/DrawingProvider';
2
+ import { DrawingAreaState } from '../context/DrawingAreaProvider';
3
3
  import { AxisDefaultized, ChartsYAxisProps, ScaleName } from '../models/axis';
4
4
  import { ChartsGridClasses } from './chartsGridClasses';
5
5
  interface ChartsGridHorizontalProps {
6
6
  axis: AxisDefaultized<ScaleName, any, ChartsYAxisProps>;
7
- drawingArea: DrawingArea;
7
+ drawingArea: DrawingAreaState;
8
8
  classes: Partial<ChartsGridClasses>;
9
9
  }
10
10
  /**
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useTicks } from "../hooks/useTicks.js";
3
- import { GridLine } from "./styledCommonents.js";
3
+ import { GridLine } from "./styledComponents.js";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
5
  /**
6
6
  * @ignore - internal component.
@@ -23,7 +23,7 @@ export function ChartsGridHorizontal(props) {
23
23
  });
24
24
  return /*#__PURE__*/_jsx(React.Fragment, {
25
25
  children: yTicks.map(({
26
- formattedValue,
26
+ value,
27
27
  offset
28
28
  }) => /*#__PURE__*/_jsx(GridLine, {
29
29
  y1: offset,
@@ -31,6 +31,6 @@ export function ChartsGridHorizontal(props) {
31
31
  x1: drawingArea.left,
32
32
  x2: drawingArea.left + drawingArea.width,
33
33
  className: classes.horizontalLine
34
- }, `horizontal-${formattedValue}`))
34
+ }, `horizontal-${value}`))
35
35
  });
36
36
  }