@mui/x-charts 7.14.0 → 7.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/BarChart/BarChart.js +180 -183
  2. package/BarChart/BarClipPath.js +17 -25
  3. package/BarChart/BarElement.js +33 -43
  4. package/BarChart/BarLabel/BarLabel.d.ts +1 -1
  5. package/BarChart/BarLabel/BarLabel.js +25 -34
  6. package/BarChart/BarLabel/BarLabel.types.js +1 -5
  7. package/BarChart/BarLabel/BarLabelItem.js +31 -39
  8. package/BarChart/BarLabel/BarLabelPlot.js +13 -21
  9. package/BarChart/BarLabel/barLabelClasses.d.ts +1 -1
  10. package/BarChart/BarLabel/barLabelClasses.js +9 -19
  11. package/BarChart/BarLabel/getBarLabel.js +2 -9
  12. package/BarChart/BarLabel/index.js +2 -25
  13. package/BarChart/BarPlot.js +36 -44
  14. package/BarChart/checkScaleErrors.js +6 -12
  15. package/BarChart/extremums.js +3 -11
  16. package/BarChart/formatter.js +9 -16
  17. package/BarChart/getColor.js +1 -7
  18. package/BarChart/getRadius.js +2 -9
  19. package/BarChart/index.js +4 -49
  20. package/BarChart/legend.js +3 -9
  21. package/BarChart/package.json +2 -2
  22. package/BarChart/plugin.js +8 -15
  23. package/BarChart/types.js +1 -5
  24. package/BarChart/useBarChartProps.js +17 -25
  25. package/CHANGELOG.md +69 -0
  26. package/ChartContainer/ChartContainer.js +164 -172
  27. package/ChartContainer/index.js +1 -16
  28. package/ChartContainer/package.json +2 -2
  29. package/ChartContainer/useChartContainerProps.d.ts +8 -8
  30. package/ChartContainer/useChartContainerProps.js +13 -23
  31. package/ChartContainer/useDefaultizeAxis.d.ts +4 -4
  32. package/ChartContainer/useDefaultizeAxis.js +8 -18
  33. package/ChartsAxis/ChartsAxis.js +24 -32
  34. package/ChartsAxis/axisClasses.js +4 -11
  35. package/ChartsAxis/index.js +2 -27
  36. package/ChartsAxis/package.json +2 -2
  37. package/ChartsAxisHighlight/ChartsAxisHighlight.js +34 -44
  38. package/ChartsAxisHighlight/index.js +1 -16
  39. package/ChartsAxisHighlight/package.json +2 -2
  40. package/ChartsClipPath/ChartsClipPath.js +17 -25
  41. package/ChartsClipPath/index.js +1 -16
  42. package/ChartsClipPath/package.json +2 -2
  43. package/ChartsGrid/ChartsGrid.d.ts +1 -1
  44. package/ChartsGrid/ChartsGrid.js +34 -42
  45. package/ChartsGrid/chartsGridClasses.js +5 -13
  46. package/ChartsGrid/index.js +2 -27
  47. package/ChartsGrid/package.json +2 -2
  48. package/ChartsLegend/ChartsLegend.js +33 -41
  49. package/ChartsLegend/ContinuousColorLegend.js +66 -73
  50. package/ChartsLegend/DefaultChartsLegend.js +38 -46
  51. package/ChartsLegend/LegendPerItem.js +30 -39
  52. package/ChartsLegend/PiecewiseColorLegend.js +36 -44
  53. package/ChartsLegend/chartsLegend.types.js +1 -5
  54. package/ChartsLegend/chartsLegendClasses.js +4 -11
  55. package/ChartsLegend/index.js +6 -71
  56. package/ChartsLegend/legend.types.js +1 -5
  57. package/ChartsLegend/legendItemsPlacement.js +6 -13
  58. package/ChartsLegend/package.json +2 -2
  59. package/ChartsLegend/useAxis.js +6 -14
  60. package/ChartsLegend/utils.js +9 -16
  61. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +15 -23
  62. package/ChartsOnAxisClickHandler/index.js +1 -16
  63. package/ChartsOnAxisClickHandler/package.json +2 -2
  64. package/ChartsOverlay/ChartsLoadingOverlay.js +12 -21
  65. package/ChartsOverlay/ChartsNoDataOverlay.js +12 -21
  66. package/ChartsOverlay/ChartsOverlay.js +13 -23
  67. package/ChartsOverlay/index.js +3 -26
  68. package/ChartsOverlay/package.json +2 -2
  69. package/ChartsReferenceLine/ChartsReferenceLine.js +21 -29
  70. package/ChartsReferenceLine/ChartsXReferenceLine.js +22 -31
  71. package/ChartsReferenceLine/ChartsYReferenceLine.js +22 -31
  72. package/ChartsReferenceLine/chartsReferenceLineClasses.js +5 -13
  73. package/ChartsReferenceLine/common.js +6 -13
  74. package/ChartsReferenceLine/index.js +2 -27
  75. package/ChartsReferenceLine/package.json +2 -2
  76. package/{modern → ChartsSurface}/ChartsSurface.js +7 -3
  77. package/ChartsSurface/index.d.ts +1 -0
  78. package/ChartsSurface/index.js +1 -0
  79. package/ChartsSurface/package.json +6 -0
  80. package/ChartsText/ChartsText.js +18 -26
  81. package/ChartsText/index.js +1 -12
  82. package/ChartsText/package.json +2 -2
  83. package/ChartsTooltip/ChartsAxisTooltipContent.js +22 -30
  84. package/ChartsTooltip/ChartsItemTooltipContent.js +18 -26
  85. package/ChartsTooltip/ChartsTooltip.js +34 -42
  86. package/ChartsTooltip/ChartsTooltipTable.js +11 -16
  87. package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +44 -52
  88. package/ChartsTooltip/DefaultChartsItemTooltipContent.js +32 -40
  89. package/ChartsTooltip/chartsTooltipClasses.js +4 -11
  90. package/ChartsTooltip/index.js +7 -82
  91. package/ChartsTooltip/package.json +2 -2
  92. package/ChartsTooltip/utils.js +9 -21
  93. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +29 -37
  94. package/ChartsVoronoiHandler/index.js +1 -16
  95. package/ChartsVoronoiHandler/package.json +2 -2
  96. package/ChartsXAxis/ChartsXAxis.js +76 -84
  97. package/ChartsXAxis/index.js +1 -16
  98. package/ChartsXAxis/package.json +2 -2
  99. package/ChartsYAxis/ChartsYAxis.js +70 -77
  100. package/ChartsYAxis/index.js +1 -16
  101. package/ChartsYAxis/package.json +2 -2
  102. package/Gauge/Gauge.js +52 -60
  103. package/Gauge/GaugeContainer.js +51 -59
  104. package/Gauge/GaugeProvider.js +17 -28
  105. package/Gauge/GaugeReferenceArc.js +11 -20
  106. package/Gauge/GaugeValueArc.js +11 -20
  107. package/Gauge/GaugeValueText.js +18 -26
  108. package/Gauge/gaugeClasses.js +6 -14
  109. package/Gauge/index.js +7 -87
  110. package/Gauge/package.json +2 -2
  111. package/Gauge/utils.js +2 -9
  112. package/LineChart/AnimatedArea.js +35 -44
  113. package/LineChart/AnimatedLine.js +36 -45
  114. package/LineChart/AreaElement.js +33 -43
  115. package/LineChart/AreaPlot.js +30 -38
  116. package/LineChart/LineChart.js +185 -188
  117. package/LineChart/LineElement.js +33 -43
  118. package/LineChart/LineHighlightElement.js +20 -30
  119. package/LineChart/LineHighlightPlot.js +28 -36
  120. package/LineChart/LinePlot.js +30 -38
  121. package/LineChart/MarkElement.js +40 -48
  122. package/LineChart/MarkPlot.js +33 -41
  123. package/LineChart/extremums.js +3 -11
  124. package/LineChart/formatter.js +9 -16
  125. package/LineChart/getColor.js +1 -7
  126. package/LineChart/index.js +11 -126
  127. package/LineChart/legend.js +3 -9
  128. package/LineChart/package.json +2 -2
  129. package/LineChart/plugin.js +8 -15
  130. package/LineChart/useLineChartProps.js +14 -22
  131. package/PieChart/PieArc.js +34 -44
  132. package/PieChart/PieArcLabel.js +30 -40
  133. package/PieChart/PieArcLabelPlot.js +59 -67
  134. package/PieChart/PieArcPlot.js +56 -64
  135. package/PieChart/PieChart.js +180 -183
  136. package/PieChart/PiePlot.js +29 -37
  137. package/PieChart/dataTransform/transition.js +2 -8
  138. package/PieChart/dataTransform/useTransformData.js +7 -16
  139. package/PieChart/formatter.js +10 -17
  140. package/PieChart/getColor.js +1 -7
  141. package/PieChart/getPieCoordinates.js +4 -10
  142. package/PieChart/index.js +7 -82
  143. package/PieChart/legend.js +3 -9
  144. package/PieChart/package.json +2 -2
  145. package/PieChart/plugin.js +5 -12
  146. package/ResponsiveChartContainer/ResizableContainer.js +2 -8
  147. package/ResponsiveChartContainer/ResponsiveChartContainer.js +151 -159
  148. package/ResponsiveChartContainer/index.js +1 -16
  149. package/ResponsiveChartContainer/package.json +2 -2
  150. package/ResponsiveChartContainer/useChartContainerDimensions.js +7 -17
  151. package/ResponsiveChartContainer/useResponsiveChartContainerProps.js +8 -16
  152. package/ScatterChart/Scatter.js +26 -34
  153. package/ScatterChart/ScatterChart.js +198 -201
  154. package/ScatterChart/ScatterPlot.js +21 -29
  155. package/ScatterChart/extremums.js +3 -11
  156. package/ScatterChart/formatter.js +3 -9
  157. package/ScatterChart/getColor.js +1 -7
  158. package/ScatterChart/index.js +3 -38
  159. package/ScatterChart/legend.js +3 -9
  160. package/ScatterChart/package.json +2 -2
  161. package/ScatterChart/plugin.js +8 -15
  162. package/ScatterChart/useScatterChartProps.js +10 -18
  163. package/SparkLineChart/SparkLineChart.js +163 -171
  164. package/SparkLineChart/index.js +1 -16
  165. package/SparkLineChart/package.json +2 -2
  166. package/colorPalettes/colorPalettes.js +9 -18
  167. package/colorPalettes/index.js +1 -16
  168. package/colorPalettes/package.json +2 -2
  169. package/constants/package.json +6 -0
  170. package/context/CartesianProvider/Cartesian.types.js +1 -5
  171. package/context/CartesianProvider/CartesianContext.js +2 -10
  172. package/context/CartesianProvider/CartesianProvider.js +17 -24
  173. package/context/CartesianProvider/computeValue.js +28 -35
  174. package/context/CartesianProvider/defaultizeAxis.d.ts +4 -4
  175. package/context/CartesianProvider/defaultizeAxis.js +6 -14
  176. package/context/CartesianProvider/getAxisExtremum.js +2 -9
  177. package/context/CartesianProvider/index.js +8 -60
  178. package/context/CartesianProvider/useCartesianContext.js +5 -14
  179. package/context/CartesianProvider/zoom.js +2 -9
  180. package/context/DrawingProvider.js +13 -24
  181. package/context/HighlightedProvider/HighlightedContext.js +2 -9
  182. package/context/HighlightedProvider/HighlightedProvider.js +24 -32
  183. package/context/HighlightedProvider/createIsFaded.js +2 -9
  184. package/context/HighlightedProvider/createIsHighlighted.js +2 -9
  185. package/context/HighlightedProvider/index.js +4 -49
  186. package/context/HighlightedProvider/useHighlighted.js +4 -11
  187. package/context/HighlightedProvider/useItemHighlighted.js +3 -9
  188. package/context/InteractionProvider.d.ts +2 -2
  189. package/context/InteractionProvider.js +13 -22
  190. package/context/PluginProvider/ColorProcessor.types.js +1 -5
  191. package/context/PluginProvider/ExtremumGetter.types.js +1 -5
  192. package/context/PluginProvider/Plugin.types.js +1 -5
  193. package/context/PluginProvider/PluginContext.js +2 -10
  194. package/context/PluginProvider/PluginProvider.js +8 -15
  195. package/context/PluginProvider/SeriesFormatter.types.js +1 -5
  196. package/context/PluginProvider/index.js +10 -115
  197. package/context/PluginProvider/mergePlugins.d.ts +6 -6
  198. package/context/PluginProvider/mergePlugins.js +6 -13
  199. package/context/PluginProvider/useColorProcessor.js +4 -12
  200. package/context/PluginProvider/useSeriesFormatter.js +4 -12
  201. package/context/PluginProvider/useXExtremumGetter.js +4 -12
  202. package/context/PluginProvider/useYExtremumGetter.js +4 -12
  203. package/context/SeriesProvider/Series.types.js +1 -5
  204. package/context/SeriesProvider/SeriesContext.js +2 -10
  205. package/context/SeriesProvider/SeriesProvider.js +14 -21
  206. package/context/SeriesProvider/index.js +7 -48
  207. package/context/SeriesProvider/processSeries.js +6 -14
  208. package/context/ZAxisContextProvider.js +36 -45
  209. package/context/context.types.js +1 -5
  210. package/context/index.js +2 -27
  211. package/context/package.json +2 -2
  212. package/hooks/index.js +7 -115
  213. package/hooks/package.json +2 -2
  214. package/hooks/useAxis.js +5 -12
  215. package/hooks/useAxisEvents.js +17 -25
  216. package/hooks/useChartDimensions.js +5 -14
  217. package/hooks/useChartId.js +4 -12
  218. package/hooks/useColorScale.js +9 -19
  219. package/hooks/useDrawingArea.js +4 -12
  220. package/hooks/useInteractionItemProps.js +7 -16
  221. package/hooks/useMounted.js +4 -13
  222. package/hooks/useReducedMotion.js +6 -12
  223. package/hooks/useScale.js +8 -15
  224. package/hooks/useSeries.js +8 -19
  225. package/hooks/useSvgRef.js +4 -12
  226. package/hooks/useTicks.js +7 -16
  227. package/index.js +27 -292
  228. package/internals/SlotComponentPropsFromProps.js +1 -5
  229. package/internals/cleanId.js +1 -7
  230. package/internals/colorScale.js +8 -16
  231. package/internals/components/AxisSharedComponents.js +8 -15
  232. package/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +17 -27
  233. package/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +7 -15
  234. package/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +7 -15
  235. package/internals/components/ChartsAxesGradients/index.js +1 -16
  236. package/internals/configInit.js +1 -7
  237. package/internals/defaultizeColor.d.ts +16 -16
  238. package/internals/defaultizeColor.js +5 -12
  239. package/internals/defaultizeValueFormatter.js +3 -10
  240. package/internals/domUtils.js +6 -16
  241. package/internals/geometry.js +1 -7
  242. package/internals/getCurve.js +11 -17
  243. package/internals/getLabel.js +1 -7
  244. package/internals/getPercentageValue.js +1 -7
  245. package/internals/getSVGPoint.js +1 -7
  246. package/internals/getScale.js +8 -14
  247. package/internals/getSymbol.js +1 -7
  248. package/internals/getWordsByLines.js +5 -12
  249. package/internals/index.d.ts +1 -0
  250. package/internals/index.js +40 -322
  251. package/internals/isBandScale.js +1 -7
  252. package/internals/isCartesian.js +4 -11
  253. package/internals/isDefined.js +1 -7
  254. package/internals/isInfinity.js +1 -7
  255. package/internals/notNull.js +1 -7
  256. package/internals/package.json +2 -2
  257. package/internals/stackSeries.js +16 -23
  258. package/internals/ts-generic.js +1 -5
  259. package/internals/useAnimatedPath.d.ts +1 -1
  260. package/internals/useAnimatedPath.js +21 -26
  261. package/internals/warning.js +2 -9
  262. package/models/axis.js +2 -9
  263. package/models/colorMapping.js +1 -5
  264. package/models/helpers.js +1 -5
  265. package/models/index.js +4 -38
  266. package/models/layout.js +1 -5
  267. package/models/package.json +2 -2
  268. package/models/seriesType/bar.js +1 -5
  269. package/models/seriesType/common.js +1 -5
  270. package/models/seriesType/config.js +1 -5
  271. package/models/seriesType/index.js +6 -61
  272. package/models/seriesType/line.js +1 -5
  273. package/models/seriesType/pie.js +1 -5
  274. package/models/seriesType/scatter.js +1 -5
  275. package/models/stacking.js +1 -5
  276. package/models/z-axis.js +1 -5
  277. package/modern/BarChart/BarChart.js +6 -1
  278. package/modern/BarChart/BarLabel/BarLabel.js +4 -4
  279. package/modern/ChartsGrid/ChartsGrid.js +6 -6
  280. package/modern/ChartsLegend/ContinuousColorLegend.js +3 -2
  281. package/modern/ChartsLegend/LegendPerItem.js +5 -4
  282. package/{esm → modern/ChartsSurface}/ChartsSurface.js +7 -3
  283. package/modern/ChartsSurface/index.js +1 -0
  284. package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
  285. package/modern/ChartsYAxis/ChartsYAxis.js +3 -2
  286. package/modern/LineChart/LineChart.js +6 -1
  287. package/modern/LineChart/MarkElement.js +4 -2
  288. package/modern/PieChart/PieChart.js +10 -5
  289. package/modern/ScatterChart/ScatterChart.js +6 -1
  290. package/modern/hooks/useAxisEvents.js +2 -1
  291. package/modern/index.js +1 -1
  292. package/modern/internals/index.js +1 -0
  293. package/modern/internals/useAnimatedPath.js +17 -13
  294. package/node/BarChart/BarChart.js +356 -0
  295. package/node/BarChart/BarClipPath.js +50 -0
  296. package/node/BarChart/BarElement.js +119 -0
  297. package/node/BarChart/BarLabel/BarLabel.js +60 -0
  298. package/node/BarChart/BarLabel/BarLabel.types.js +5 -0
  299. package/node/BarChart/BarLabel/BarLabelItem.js +127 -0
  300. package/node/BarChart/BarLabel/BarLabelPlot.js +83 -0
  301. package/node/BarChart/BarLabel/barLabelClasses.js +29 -0
  302. package/{esm → node}/BarChart/BarLabel/getBarLabel.js +9 -2
  303. package/node/BarChart/BarLabel/index.js +25 -0
  304. package/{esm → node}/BarChart/BarPlot.js +44 -36
  305. package/{esm → node}/BarChart/checkScaleErrors.js +12 -6
  306. package/{esm → node}/BarChart/extremums.js +11 -3
  307. package/{esm → node}/BarChart/formatter.js +16 -9
  308. package/{esm → node}/BarChart/getColor.js +7 -1
  309. package/{esm → node}/BarChart/getRadius.js +9 -2
  310. package/node/BarChart/index.js +49 -0
  311. package/{esm → node}/BarChart/legend.js +9 -3
  312. package/node/BarChart/plugin.js +17 -0
  313. package/node/BarChart/types.js +5 -0
  314. package/{esm → node}/BarChart/useBarChartProps.js +25 -17
  315. package/node/ChartContainer/ChartContainer.js +258 -0
  316. package/node/ChartContainer/index.js +16 -0
  317. package/node/ChartContainer/useChartContainerProps.js +92 -0
  318. package/node/ChartContainer/useDefaultizeAxis.js +40 -0
  319. package/{esm → node}/ChartsAxis/ChartsAxis.js +32 -24
  320. package/node/ChartsAxis/axisClasses.js +12 -0
  321. package/node/ChartsAxis/index.js +27 -0
  322. package/{esm → node}/ChartsAxisHighlight/ChartsAxisHighlight.js +44 -34
  323. package/node/ChartsAxisHighlight/index.js +16 -0
  324. package/node/ChartsClipPath/ChartsClipPath.js +59 -0
  325. package/node/ChartsClipPath/index.js +16 -0
  326. package/node/ChartsGrid/ChartsGrid.js +141 -0
  327. package/node/ChartsGrid/chartsGridClasses.js +14 -0
  328. package/node/ChartsGrid/index.js +27 -0
  329. package/node/ChartsLegend/ChartsLegend.js +114 -0
  330. package/{esm → node}/ChartsLegend/ContinuousColorLegend.js +74 -65
  331. package/node/ChartsLegend/DefaultChartsLegend.js +105 -0
  332. package/{esm → node}/ChartsLegend/LegendPerItem.js +40 -29
  333. package/{esm → node}/ChartsLegend/PiecewiseColorLegend.js +44 -36
  334. package/node/ChartsLegend/chartsLegend.types.js +5 -0
  335. package/node/ChartsLegend/chartsLegendClasses.js +12 -0
  336. package/node/ChartsLegend/index.js +71 -0
  337. package/node/ChartsLegend/legend.types.js +5 -0
  338. package/{esm → node}/ChartsLegend/legendItemsPlacement.js +13 -6
  339. package/node/ChartsLegend/useAxis.js +47 -0
  340. package/node/ChartsLegend/utils.js +23 -0
  341. package/{esm → node}/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +23 -15
  342. package/node/ChartsOnAxisClickHandler/index.js +16 -0
  343. package/node/ChartsOverlay/ChartsLoadingOverlay.js +43 -0
  344. package/node/ChartsOverlay/ChartsNoDataOverlay.js +43 -0
  345. package/node/ChartsOverlay/ChartsOverlay.js +41 -0
  346. package/node/ChartsOverlay/index.js +26 -0
  347. package/node/ChartsReferenceLine/ChartsReferenceLine.js +82 -0
  348. package/node/ChartsReferenceLine/ChartsXReferenceLine.js +109 -0
  349. package/node/ChartsReferenceLine/ChartsYReferenceLine.js +109 -0
  350. package/node/ChartsReferenceLine/chartsReferenceLineClasses.js +14 -0
  351. package/node/ChartsReferenceLine/common.js +27 -0
  352. package/node/ChartsReferenceLine/index.js +27 -0
  353. package/{ChartsSurface.js → node/ChartsSurface/ChartsSurface.js} +6 -2
  354. package/node/ChartsSurface/index.js +16 -0
  355. package/{esm → node}/ChartsText/ChartsText.js +26 -18
  356. package/node/ChartsText/index.js +12 -0
  357. package/node/ChartsTooltip/ChartsAxisTooltipContent.js +88 -0
  358. package/node/ChartsTooltip/ChartsItemTooltipContent.js +60 -0
  359. package/node/ChartsTooltip/ChartsTooltip.js +162 -0
  360. package/{esm → node}/ChartsTooltip/ChartsTooltipTable.js +16 -11
  361. package/node/ChartsTooltip/DefaultChartsAxisTooltipContent.js +129 -0
  362. package/node/ChartsTooltip/DefaultChartsItemTooltipContent.js +98 -0
  363. package/node/ChartsTooltip/chartsTooltipClasses.js +12 -0
  364. package/node/ChartsTooltip/index.js +82 -0
  365. package/{esm → node}/ChartsTooltip/utils.js +21 -9
  366. package/{esm → node}/ChartsVoronoiHandler/ChartsVoronoiHandler.js +37 -29
  367. package/node/ChartsVoronoiHandler/index.js +16 -0
  368. package/{esm → node}/ChartsXAxis/ChartsXAxis.js +84 -76
  369. package/node/ChartsXAxis/index.js +16 -0
  370. package/{esm → node}/ChartsYAxis/ChartsYAxis.js +78 -69
  371. package/node/ChartsYAxis/index.js +16 -0
  372. package/node/Gauge/Gauge.js +157 -0
  373. package/{esm → node}/Gauge/GaugeContainer.js +59 -51
  374. package/node/Gauge/GaugeProvider.js +99 -0
  375. package/node/Gauge/GaugeReferenceArc.js +44 -0
  376. package/node/Gauge/GaugeValueArc.js +51 -0
  377. package/node/Gauge/GaugeValueText.js +77 -0
  378. package/node/Gauge/gaugeClasses.js +15 -0
  379. package/node/Gauge/index.js +87 -0
  380. package/{esm → node}/Gauge/utils.js +9 -2
  381. package/node/LineChart/AnimatedArea.js +112 -0
  382. package/node/LineChart/AnimatedLine.js +115 -0
  383. package/node/LineChart/AreaElement.js +119 -0
  384. package/{esm → node}/LineChart/AreaPlot.js +38 -30
  385. package/node/LineChart/LineChart.js +357 -0
  386. package/node/LineChart/LineElement.js +119 -0
  387. package/node/LineChart/LineHighlightElement.js +90 -0
  388. package/node/LineChart/LineHighlightPlot.js +126 -0
  389. package/{esm → node}/LineChart/LinePlot.js +38 -30
  390. package/node/LineChart/MarkElement.js +140 -0
  391. package/{esm → node}/LineChart/MarkPlot.js +41 -33
  392. package/{esm → node}/LineChart/extremums.js +11 -3
  393. package/{esm → node}/LineChart/formatter.js +16 -9
  394. package/{esm → node}/LineChart/getColor.js +7 -1
  395. package/node/LineChart/index.js +126 -0
  396. package/{esm → node}/LineChart/legend.js +9 -3
  397. package/node/LineChart/plugin.js +17 -0
  398. package/{esm → node}/LineChart/useLineChartProps.js +22 -14
  399. package/node/PieChart/PieArc.js +117 -0
  400. package/node/PieChart/PieArcLabel.js +117 -0
  401. package/node/PieChart/PieArcLabelPlot.js +202 -0
  402. package/node/PieChart/PieArcPlot.js +184 -0
  403. package/node/PieChart/PieChart.js +401 -0
  404. package/{esm → node}/PieChart/PiePlot.js +37 -29
  405. package/{esm → node}/PieChart/dataTransform/transition.js +8 -2
  406. package/{esm → node}/PieChart/dataTransform/useTransformData.js +16 -7
  407. package/node/PieChart/formatter.js +53 -0
  408. package/node/PieChart/getColor.js +12 -0
  409. package/node/PieChart/getPieCoordinates.js +25 -0
  410. package/node/PieChart/index.js +82 -0
  411. package/{esm → node}/PieChart/legend.js +9 -3
  412. package/node/PieChart/plugin.js +14 -0
  413. package/{esm → node}/ResponsiveChartContainer/ResizableContainer.js +8 -2
  414. package/node/ResponsiveChartContainer/ResponsiveChartContainer.js +233 -0
  415. package/node/ResponsiveChartContainer/index.js +16 -0
  416. package/{esm → node}/ResponsiveChartContainer/useChartContainerDimensions.js +17 -7
  417. package/{esm → node}/ResponsiveChartContainer/useResponsiveChartContainerProps.js +16 -8
  418. package/{esm → node}/ScatterChart/Scatter.js +34 -26
  419. package/node/ScatterChart/ScatterChart.js +363 -0
  420. package/node/ScatterChart/ScatterPlot.js +107 -0
  421. package/{esm → node}/ScatterChart/extremums.js +11 -3
  422. package/node/ScatterChart/formatter.js +17 -0
  423. package/{esm → node}/ScatterChart/getColor.js +7 -1
  424. package/node/ScatterChart/index.js +38 -0
  425. package/{esm → node}/ScatterChart/legend.js +9 -3
  426. package/node/ScatterChart/plugin.js +17 -0
  427. package/{esm → node}/ScatterChart/useScatterChartProps.js +18 -10
  428. package/node/SparkLineChart/SparkLineChart.js +356 -0
  429. package/node/SparkLineChart/index.js +16 -0
  430. package/node/colorPalettes/colorPalettes.js +18 -0
  431. package/node/colorPalettes/index.js +16 -0
  432. package/node/context/CartesianProvider/Cartesian.types.js +5 -0
  433. package/node/context/CartesianProvider/CartesianContext.js +21 -0
  434. package/node/context/CartesianProvider/CartesianProvider.js +54 -0
  435. package/{esm → node}/context/CartesianProvider/computeValue.js +35 -28
  436. package/node/context/CartesianProvider/defaultizeAxis.js +21 -0
  437. package/{esm → node}/context/CartesianProvider/getAxisExtremum.js +9 -2
  438. package/node/context/CartesianProvider/index.js +61 -0
  439. package/node/context/CartesianProvider/useCartesianContext.js +17 -0
  440. package/{esm → node}/context/CartesianProvider/zoom.js +9 -2
  441. package/node/context/DrawingProvider.js +87 -0
  442. package/node/context/HighlightedProvider/HighlightedContext.js +39 -0
  443. package/node/context/HighlightedProvider/HighlightedProvider.js +100 -0
  444. package/{esm → node}/context/HighlightedProvider/createIsFaded.js +9 -2
  445. package/{esm → node}/context/HighlightedProvider/createIsHighlighted.js +9 -2
  446. package/node/context/HighlightedProvider/index.js +49 -0
  447. package/node/context/HighlightedProvider/useHighlighted.js +27 -0
  448. package/{esm → node}/context/HighlightedProvider/useItemHighlighted.js +9 -3
  449. package/node/context/InteractionProvider.js +85 -0
  450. package/node/context/PluginProvider/ColorProcessor.types.js +5 -0
  451. package/node/context/PluginProvider/ExtremumGetter.types.js +5 -0
  452. package/node/context/PluginProvider/Plugin.types.js +5 -0
  453. package/node/context/PluginProvider/PluginContext.js +21 -0
  454. package/node/context/PluginProvider/PluginProvider.js +26 -0
  455. package/node/context/PluginProvider/SeriesFormatter.types.js +5 -0
  456. package/node/context/PluginProvider/index.js +115 -0
  457. package/{esm → node}/context/PluginProvider/mergePlugins.js +13 -6
  458. package/node/context/PluginProvider/useColorProcessor.js +23 -0
  459. package/node/context/PluginProvider/useSeriesFormatter.js +23 -0
  460. package/node/context/PluginProvider/useXExtremumGetter.js +23 -0
  461. package/node/context/PluginProvider/useYExtremumGetter.js +23 -0
  462. package/node/context/SeriesProvider/Series.types.js +5 -0
  463. package/node/context/SeriesProvider/SeriesContext.js +16 -0
  464. package/node/context/SeriesProvider/SeriesProvider.js +38 -0
  465. package/node/context/SeriesProvider/index.js +49 -0
  466. package/{esm → node}/context/SeriesProvider/processSeries.js +14 -6
  467. package/node/context/ZAxisContextProvider.js +103 -0
  468. package/node/context/context.types.js +5 -0
  469. package/node/context/index.js +27 -0
  470. package/node/hooks/index.js +115 -0
  471. package/node/hooks/useAxis.js +24 -0
  472. package/{esm → node}/hooks/useAxisEvents.js +26 -16
  473. package/node/hooks/useChartDimensions.js +25 -0
  474. package/node/hooks/useChartId.js +16 -0
  475. package/node/hooks/useColorScale.js +37 -0
  476. package/node/hooks/useDrawingArea.js +30 -0
  477. package/node/hooks/useInteractionItemProps.js +55 -0
  478. package/node/hooks/useMounted.js +25 -0
  479. package/{esm → node}/hooks/useReducedMotion.js +12 -6
  480. package/node/hooks/useScale.js +30 -0
  481. package/{esm → node}/hooks/useSeries.js +19 -8
  482. package/node/hooks/useSvgRef.js +20 -0
  483. package/{esm → node}/hooks/useTicks.js +16 -7
  484. package/node/index.js +298 -0
  485. package/node/internals/SlotComponentPropsFromProps.js +5 -0
  486. package/node/internals/cleanId.js +12 -0
  487. package/node/internals/colorScale.js +24 -0
  488. package/node/internals/components/AxisSharedComponents.js +33 -0
  489. package/node/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +105 -0
  490. package/node/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +64 -0
  491. package/node/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +48 -0
  492. package/node/internals/components/ChartsAxesGradients/index.js +16 -0
  493. package/{esm → node}/internals/configInit.js +7 -1
  494. package/node/internals/defaultizeColor.js +21 -0
  495. package/node/internals/defaultizeValueFormatter.js +17 -0
  496. package/{esm → node}/internals/domUtils.js +16 -6
  497. package/{esm → node}/internals/geometry.js +7 -1
  498. package/node/internals/getCurve.js +45 -0
  499. package/node/internals/getLabel.js +9 -0
  500. package/{esm → node}/internals/getPercentageValue.js +7 -1
  501. package/{esm → node}/internals/getSVGPoint.js +7 -1
  502. package/node/internals/getScale.js +23 -0
  503. package/{esm → node}/internals/getSymbol.js +7 -1
  504. package/node/internals/getWordsByLines.js +21 -0
  505. package/node/internals/index.js +335 -0
  506. package/node/internals/isBandScale.js +9 -0
  507. package/node/internals/isCartesian.js +14 -0
  508. package/node/internals/isDefined.js +9 -0
  509. package/node/internals/isInfinity.js +9 -0
  510. package/node/internals/notNull.js +9 -0
  511. package/{esm → node}/internals/stackSeries.js +23 -16
  512. package/node/internals/ts-generic.js +5 -0
  513. package/node/internals/useAnimatedPath.js +42 -0
  514. package/{esm → node}/internals/warning.js +9 -2
  515. package/node/models/axis.js +18 -0
  516. package/node/models/colorMapping.js +5 -0
  517. package/node/models/helpers.js +5 -0
  518. package/node/models/index.js +38 -0
  519. package/node/models/layout.js +5 -0
  520. package/node/models/seriesType/bar.js +5 -0
  521. package/node/models/seriesType/common.js +5 -0
  522. package/node/models/seriesType/config.js +5 -0
  523. package/node/models/seriesType/index.js +71 -0
  524. package/node/models/seriesType/line.js +5 -0
  525. package/node/models/seriesType/pie.js +5 -0
  526. package/node/models/seriesType/scatter.js +5 -0
  527. package/node/models/stacking.js +5 -0
  528. package/node/models/z-axis.js +5 -0
  529. package/{esm → node}/tests/firePointerEvent.js +12 -5
  530. package/node/themeAugmentation/index.js +38 -0
  531. package/package.json +7 -7
  532. package/tests/firePointerEvent.js +5 -12
  533. package/themeAugmentation/components.d.ts +2 -12
  534. package/themeAugmentation/index.js +3 -38
  535. package/themeAugmentation/overrides.d.ts +6 -7
  536. package/themeAugmentation/package.json +2 -2
  537. package/themeAugmentation/props.d.ts +3 -14
  538. package/esm/BarChart/BarChart.js +0 -343
  539. package/esm/BarChart/BarClipPath.js +0 -42
  540. package/esm/BarChart/BarElement.js +0 -109
  541. package/esm/BarChart/BarLabel/BarLabel.js +0 -51
  542. package/esm/BarChart/BarLabel/BarLabel.types.js +0 -1
  543. package/esm/BarChart/BarLabel/BarLabelItem.js +0 -119
  544. package/esm/BarChart/BarLabel/BarLabelPlot.js +0 -75
  545. package/esm/BarChart/BarLabel/barLabelClasses.js +0 -19
  546. package/esm/BarChart/BarLabel/index.js +0 -2
  547. package/esm/BarChart/index.js +0 -4
  548. package/esm/BarChart/plugin.js +0 -10
  549. package/esm/BarChart/types.js +0 -1
  550. package/esm/ChartContainer/ChartContainer.js +0 -250
  551. package/esm/ChartContainer/index.js +0 -1
  552. package/esm/ChartContainer/useChartContainerProps.js +0 -82
  553. package/esm/ChartContainer/useDefaultizeAxis.js +0 -30
  554. package/esm/ChartsAxis/axisClasses.js +0 -5
  555. package/esm/ChartsAxis/index.js +0 -2
  556. package/esm/ChartsAxisHighlight/index.js +0 -1
  557. package/esm/ChartsClipPath/ChartsClipPath.js +0 -51
  558. package/esm/ChartsClipPath/index.js +0 -1
  559. package/esm/ChartsGrid/ChartsGrid.js +0 -133
  560. package/esm/ChartsGrid/chartsGridClasses.js +0 -6
  561. package/esm/ChartsGrid/index.js +0 -2
  562. package/esm/ChartsLegend/ChartsLegend.js +0 -106
  563. package/esm/ChartsLegend/DefaultChartsLegend.js +0 -97
  564. package/esm/ChartsLegend/chartsLegend.types.js +0 -1
  565. package/esm/ChartsLegend/chartsLegendClasses.js +0 -5
  566. package/esm/ChartsLegend/index.js +0 -6
  567. package/esm/ChartsLegend/legend.types.js +0 -1
  568. package/esm/ChartsLegend/useAxis.js +0 -39
  569. package/esm/ChartsLegend/utils.js +0 -16
  570. package/esm/ChartsOnAxisClickHandler/index.js +0 -1
  571. package/esm/ChartsOverlay/ChartsLoadingOverlay.js +0 -34
  572. package/esm/ChartsOverlay/ChartsNoDataOverlay.js +0 -34
  573. package/esm/ChartsOverlay/ChartsOverlay.js +0 -31
  574. package/esm/ChartsOverlay/index.js +0 -3
  575. package/esm/ChartsReferenceLine/ChartsReferenceLine.js +0 -74
  576. package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +0 -100
  577. package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +0 -100
  578. package/esm/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  579. package/esm/ChartsReferenceLine/common.js +0 -20
  580. package/esm/ChartsReferenceLine/index.js +0 -2
  581. package/esm/ChartsText/index.js +0 -1
  582. package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +0 -80
  583. package/esm/ChartsTooltip/ChartsItemTooltipContent.js +0 -52
  584. package/esm/ChartsTooltip/ChartsTooltip.js +0 -154
  585. package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -121
  586. package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -90
  587. package/esm/ChartsTooltip/chartsTooltipClasses.js +0 -5
  588. package/esm/ChartsTooltip/index.js +0 -7
  589. package/esm/ChartsVoronoiHandler/index.js +0 -1
  590. package/esm/ChartsXAxis/index.js +0 -1
  591. package/esm/ChartsYAxis/index.js +0 -1
  592. package/esm/Gauge/Gauge.js +0 -149
  593. package/esm/Gauge/GaugeProvider.js +0 -88
  594. package/esm/Gauge/GaugeReferenceArc.js +0 -35
  595. package/esm/Gauge/GaugeValueArc.js +0 -42
  596. package/esm/Gauge/GaugeValueText.js +0 -69
  597. package/esm/Gauge/gaugeClasses.js +0 -7
  598. package/esm/Gauge/index.js +0 -7
  599. package/esm/LineChart/AnimatedArea.js +0 -103
  600. package/esm/LineChart/AnimatedLine.js +0 -106
  601. package/esm/LineChart/AreaElement.js +0 -109
  602. package/esm/LineChart/LineChart.js +0 -344
  603. package/esm/LineChart/LineElement.js +0 -109
  604. package/esm/LineChart/LineHighlightElement.js +0 -80
  605. package/esm/LineChart/LineHighlightPlot.js +0 -118
  606. package/esm/LineChart/MarkElement.js +0 -128
  607. package/esm/LineChart/index.js +0 -11
  608. package/esm/LineChart/plugin.js +0 -10
  609. package/esm/PieChart/PieArc.js +0 -107
  610. package/esm/PieChart/PieArcLabel.js +0 -107
  611. package/esm/PieChart/PieArcLabelPlot.js +0 -194
  612. package/esm/PieChart/PieArcPlot.js +0 -176
  613. package/esm/PieChart/PieChart.js +0 -388
  614. package/esm/PieChart/formatter.js +0 -46
  615. package/esm/PieChart/getColor.js +0 -6
  616. package/esm/PieChart/getPieCoordinates.js +0 -19
  617. package/esm/PieChart/index.js +0 -7
  618. package/esm/PieChart/plugin.js +0 -7
  619. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -225
  620. package/esm/ResponsiveChartContainer/index.js +0 -1
  621. package/esm/ScatterChart/ScatterChart.js +0 -350
  622. package/esm/ScatterChart/ScatterPlot.js +0 -99
  623. package/esm/ScatterChart/formatter.js +0 -11
  624. package/esm/ScatterChart/index.js +0 -3
  625. package/esm/ScatterChart/plugin.js +0 -10
  626. package/esm/SparkLineChart/SparkLineChart.js +0 -348
  627. package/esm/SparkLineChart/index.js +0 -1
  628. package/esm/colorPalettes/colorPalettes.js +0 -9
  629. package/esm/colorPalettes/index.js +0 -1
  630. package/esm/context/CartesianProvider/Cartesian.types.js +0 -1
  631. package/esm/context/CartesianProvider/CartesianContext.js +0 -13
  632. package/esm/context/CartesianProvider/CartesianProvider.js +0 -47
  633. package/esm/context/CartesianProvider/defaultizeAxis.js +0 -13
  634. package/esm/context/CartesianProvider/index.js +0 -9
  635. package/esm/context/CartesianProvider/useCartesianContext.js +0 -8
  636. package/esm/context/DrawingProvider.js +0 -76
  637. package/esm/context/HighlightedProvider/HighlightedContext.js +0 -32
  638. package/esm/context/HighlightedProvider/HighlightedProvider.js +0 -92
  639. package/esm/context/HighlightedProvider/index.js +0 -4
  640. package/esm/context/HighlightedProvider/useHighlighted.js +0 -20
  641. package/esm/context/InteractionProvider.js +0 -76
  642. package/esm/context/PluginProvider/ColorProcessor.types.js +0 -1
  643. package/esm/context/PluginProvider/ExtremumGetter.types.js +0 -1
  644. package/esm/context/PluginProvider/Plugin.types.js +0 -1
  645. package/esm/context/PluginProvider/PluginContext.js +0 -13
  646. package/esm/context/PluginProvider/PluginProvider.js +0 -19
  647. package/esm/context/PluginProvider/SeriesFormatter.types.js +0 -1
  648. package/esm/context/PluginProvider/index.js +0 -10
  649. package/esm/context/PluginProvider/useColorProcessor.js +0 -15
  650. package/esm/context/PluginProvider/useSeriesFormatter.js +0 -15
  651. package/esm/context/PluginProvider/useXExtremumGetter.js +0 -15
  652. package/esm/context/PluginProvider/useYExtremumGetter.js +0 -15
  653. package/esm/context/SeriesProvider/Series.types.js +0 -1
  654. package/esm/context/SeriesProvider/SeriesContext.js +0 -8
  655. package/esm/context/SeriesProvider/SeriesProvider.js +0 -31
  656. package/esm/context/SeriesProvider/index.js +0 -8
  657. package/esm/context/ZAxisContextProvider.js +0 -94
  658. package/esm/context/context.types.js +0 -1
  659. package/esm/context/index.js +0 -2
  660. package/esm/hooks/index.js +0 -7
  661. package/esm/hooks/useAxis.js +0 -17
  662. package/esm/hooks/useChartDimensions.js +0 -16
  663. package/esm/hooks/useChartId.js +0 -8
  664. package/esm/hooks/useColorScale.js +0 -27
  665. package/esm/hooks/useDrawingArea.js +0 -22
  666. package/esm/hooks/useInteractionItemProps.js +0 -46
  667. package/esm/hooks/useMounted.js +0 -16
  668. package/esm/hooks/useScale.js +0 -23
  669. package/esm/hooks/useSvgRef.js +0 -12
  670. package/esm/index.js +0 -26
  671. package/esm/internals/SlotComponentPropsFromProps.js +0 -1
  672. package/esm/internals/cleanId.js +0 -6
  673. package/esm/internals/colorScale.js +0 -16
  674. package/esm/internals/components/AxisSharedComponents.js +0 -26
  675. package/esm/internals/components/ChartsAxesGradients/ChartsAxesGradients.js +0 -95
  676. package/esm/internals/components/ChartsAxesGradients/ChartsContinuousGradient.js +0 -56
  677. package/esm/internals/components/ChartsAxesGradients/ChartsPiecewiseGradient.js +0 -40
  678. package/esm/internals/components/ChartsAxesGradients/index.js +0 -1
  679. package/esm/internals/defaultizeColor.js +0 -14
  680. package/esm/internals/defaultizeValueFormatter.js +0 -10
  681. package/esm/internals/getCurve.js +0 -39
  682. package/esm/internals/getLabel.js +0 -3
  683. package/esm/internals/getScale.js +0 -17
  684. package/esm/internals/getWordsByLines.js +0 -14
  685. package/esm/internals/index.js +0 -40
  686. package/esm/internals/isBandScale.js +0 -3
  687. package/esm/internals/isCartesian.js +0 -7
  688. package/esm/internals/isDefined.js +0 -3
  689. package/esm/internals/isInfinity.js +0 -3
  690. package/esm/internals/notNull.js +0 -3
  691. package/esm/internals/ts-generic.js +0 -1
  692. package/esm/internals/useAnimatedPath.js +0 -29
  693. package/esm/internals/useIsRTL.js +0 -5
  694. package/esm/models/axis.js +0 -11
  695. package/esm/models/colorMapping.js +0 -1
  696. package/esm/models/helpers.js +0 -1
  697. package/esm/models/index.js +0 -4
  698. package/esm/models/layout.js +0 -1
  699. package/esm/models/seriesType/bar.js +0 -1
  700. package/esm/models/seriesType/common.js +0 -1
  701. package/esm/models/seriesType/config.js +0 -1
  702. package/esm/models/seriesType/index.js +0 -16
  703. package/esm/models/seriesType/line.js +0 -1
  704. package/esm/models/seriesType/pie.js +0 -1
  705. package/esm/models/seriesType/scatter.js +0 -1
  706. package/esm/models/stacking.js +0 -1
  707. package/esm/models/z-axis.js +0 -1
  708. package/esm/themeAugmentation/index.js +0 -3
  709. package/internals/useIsRTL.d.ts +0 -1
  710. package/internals/useIsRTL.js +0 -12
  711. package/modern/internals/useIsRTL.js +0 -5
  712. /package/{ChartsSurface.d.ts → ChartsSurface/ChartsSurface.d.ts} +0 -0
  713. /package/{constants.d.ts → constants/index.d.ts} +0 -0
  714. /package/{esm/constants.js → constants/index.js} +0 -0
  715. /package/modern/{constants.js → constants/index.js} +0 -0
  716. /package/{constants.js → node/constants/index.js} +0 -0
@@ -1,106 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["d", "skipAnimation", "ownerState"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { animated, useSpring } from '@react-spring/web';
7
- import { color as d3Color } from '@mui/x-charts-vendor/d3-color';
8
- import { styled } from '@mui/material/styles';
9
- import { useAnimatedPath } from '../internals/useAnimatedPath';
10
- import { cleanId } from '../internals/cleanId';
11
- import { useChartId } from '../hooks/useChartId';
12
- import { useDrawingArea } from '../hooks/useDrawingArea';
13
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- export const LineElementPath = styled(animated.path, {
15
- name: 'MuiLineElement',
16
- slot: 'Root',
17
- overridesResolver: (_, styles) => styles.root
18
- })(({
19
- ownerState
20
- }) => ({
21
- strokeWidth: 2,
22
- strokeLinejoin: 'round',
23
- fill: 'none',
24
- stroke: ownerState.gradientId && `url(#${ownerState.gradientId})` || ownerState.isHighlighted && d3Color(ownerState.color).brighter(0.5).formatHex() || ownerState.color,
25
- transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
26
- opacity: ownerState.isFaded ? 0.3 : 1
27
- }));
28
- /**
29
- * Demos:
30
- *
31
- * - [Lines](https://mui.com/x/react-charts/lines/)
32
- * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
33
- *
34
- * API:
35
- *
36
- * - [AnimatedLine API](https://mui.com/x/api/charts/animated-line/)
37
- */
38
- function AnimatedLine(props) {
39
- const {
40
- d,
41
- skipAnimation,
42
- ownerState
43
- } = props,
44
- other = _objectWithoutPropertiesLoose(props, _excluded);
45
- const {
46
- left,
47
- top,
48
- bottom,
49
- width,
50
- height,
51
- right
52
- } = useDrawingArea();
53
- const chartId = useChartId();
54
- const path = useAnimatedPath(d, skipAnimation);
55
- const {
56
- animatedWidth
57
- } = useSpring({
58
- from: {
59
- animatedWidth: left
60
- },
61
- to: {
62
- animatedWidth: width + left + right
63
- },
64
- reset: false,
65
- immediate: skipAnimation
66
- });
67
- const clipId = cleanId(`${chartId}-${ownerState.id}-line-clip`);
68
- return /*#__PURE__*/_jsxs(React.Fragment, {
69
- children: [/*#__PURE__*/_jsx("clipPath", {
70
- id: clipId,
71
- children: /*#__PURE__*/_jsx(animated.rect, {
72
- x: 0,
73
- y: 0,
74
- width: animatedWidth,
75
- height: top + height + bottom
76
- })
77
- }), /*#__PURE__*/_jsx("g", {
78
- clipPath: `url(#${clipId})`,
79
- children: /*#__PURE__*/_jsx(LineElementPath, _extends({}, other, {
80
- ownerState: ownerState,
81
- d: path
82
- }))
83
- })]
84
- });
85
- }
86
- process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
87
- // ----------------------------- Warning --------------------------------
88
- // | These PropTypes are generated from the TypeScript type definitions |
89
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
90
- // ----------------------------------------------------------------------
91
- d: PropTypes.string.isRequired,
92
- ownerState: PropTypes.shape({
93
- classes: PropTypes.object,
94
- color: PropTypes.string.isRequired,
95
- gradientId: PropTypes.string,
96
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
97
- isFaded: PropTypes.bool.isRequired,
98
- isHighlighted: PropTypes.bool.isRequired
99
- }).isRequired,
100
- /**
101
- * If `true`, animations are skipped.
102
- * @default false
103
- */
104
- skipAnimation: PropTypes.bool
105
- } : void 0;
106
- export { AnimatedLine };
@@ -1,109 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import composeClasses from '@mui/utils/composeClasses';
7
- import useSlotProps from '@mui/utils/useSlotProps';
8
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
9
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
10
- import { useInteractionItemProps } from '../hooks/useInteractionItemProps';
11
- import { AnimatedArea } from './AnimatedArea';
12
- import { useItemHighlighted } from '../context';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- export function getAreaElementUtilityClass(slot) {
15
- return generateUtilityClass('MuiAreaElement', slot);
16
- }
17
- export const areaElementClasses = generateUtilityClasses('MuiAreaElement', ['root', 'highlighted', 'faded']);
18
- const useUtilityClasses = ownerState => {
19
- const {
20
- classes,
21
- id,
22
- isFaded,
23
- isHighlighted
24
- } = ownerState;
25
- const slots = {
26
- root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
27
- };
28
- return composeClasses(slots, getAreaElementUtilityClass, classes);
29
- };
30
- /**
31
- * Demos:
32
- *
33
- * - [Lines](https://mui.com/x/react-charts/lines/)
34
- * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
35
- *
36
- * API:
37
- *
38
- * - [AreaElement API](https://mui.com/x/api/charts/area-element/)
39
- */
40
- function AreaElement(props) {
41
- const {
42
- id,
43
- classes: innerClasses,
44
- color,
45
- gradientId,
46
- slots,
47
- slotProps,
48
- onClick
49
- } = props,
50
- other = _objectWithoutPropertiesLoose(props, _excluded);
51
- const getInteractionItemProps = useInteractionItemProps();
52
- const {
53
- isFaded,
54
- isHighlighted
55
- } = useItemHighlighted({
56
- seriesId: id
57
- });
58
- const ownerState = {
59
- id,
60
- classes: innerClasses,
61
- color,
62
- gradientId,
63
- isFaded,
64
- isHighlighted
65
- };
66
- const classes = useUtilityClasses(ownerState);
67
- const Area = slots?.area ?? AnimatedArea;
68
- const areaProps = useSlotProps({
69
- elementType: Area,
70
- externalSlotProps: slotProps?.area,
71
- additionalProps: _extends({}, getInteractionItemProps({
72
- type: 'line',
73
- seriesId: id
74
- }), {
75
- onClick,
76
- cursor: onClick ? 'pointer' : 'unset'
77
- }),
78
- className: classes.root,
79
- ownerState
80
- });
81
- return /*#__PURE__*/_jsx(Area, _extends({}, other, areaProps));
82
- }
83
- process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
84
- // ----------------------------- Warning --------------------------------
85
- // | These PropTypes are generated from the TypeScript type definitions |
86
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
87
- // ----------------------------------------------------------------------
88
- classes: PropTypes.object,
89
- color: PropTypes.string.isRequired,
90
- d: PropTypes.string.isRequired,
91
- gradientId: PropTypes.string,
92
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
93
- /**
94
- * If `true`, animations are skipped.
95
- * @default false
96
- */
97
- skipAnimation: PropTypes.bool,
98
- /**
99
- * The props used for each component slot.
100
- * @default {}
101
- */
102
- slotProps: PropTypes.object,
103
- /**
104
- * Overridable component slots.
105
- * @default {}
106
- */
107
- slots: PropTypes.object
108
- } : void 0;
109
- export { AreaElement };
@@ -1,344 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import PropTypes from 'prop-types';
4
- import { AreaPlot } from './AreaPlot';
5
- import { LinePlot } from './LinePlot';
6
- import { ResponsiveChartContainer } from '../ResponsiveChartContainer';
7
- import { MarkPlot } from './MarkPlot';
8
- import { ChartsAxis } from '../ChartsAxis/ChartsAxis';
9
- import { ChartsTooltip } from '../ChartsTooltip';
10
- import { ChartsLegend } from '../ChartsLegend';
11
- import { ChartsAxisHighlight } from '../ChartsAxisHighlight';
12
- import { ChartsClipPath } from '../ChartsClipPath';
13
- import { LineHighlightPlot } from './LineHighlightPlot';
14
- import { ChartsGrid } from '../ChartsGrid';
15
- import { ChartsOnAxisClickHandler } from '../ChartsOnAxisClickHandler';
16
- import { ChartsOverlay } from '../ChartsOverlay';
17
- import { useLineChartProps } from './useLineChartProps';
18
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
19
- /**
20
- * Demos:
21
- *
22
- * - [Lines](https://mui.com/x/react-charts/lines/)
23
- * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
24
- *
25
- * API:
26
- *
27
- * - [LineChart API](https://mui.com/x/api/charts/line-chart/)
28
- */
29
- const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
30
- const {
31
- chartContainerProps,
32
- axisClickHandlerProps,
33
- gridProps,
34
- clipPathProps,
35
- clipPathGroupProps,
36
- areaPlotProps,
37
- linePlotProps,
38
- markPlotProps,
39
- overlayProps,
40
- chartsAxisProps,
41
- axisHighlightProps,
42
- lineHighlightPlotProps,
43
- legendProps,
44
- tooltipProps,
45
- children
46
- } = useLineChartProps(props);
47
- return /*#__PURE__*/_jsxs(ResponsiveChartContainer, _extends({
48
- ref: ref
49
- }, chartContainerProps, {
50
- children: [props.onAxisClick && /*#__PURE__*/_jsx(ChartsOnAxisClickHandler, _extends({}, axisClickHandlerProps)), props.grid && /*#__PURE__*/_jsx(ChartsGrid, _extends({}, gridProps)), /*#__PURE__*/_jsxs("g", _extends({}, clipPathGroupProps, {
51
- children: [/*#__PURE__*/_jsx(AreaPlot, _extends({}, areaPlotProps)), /*#__PURE__*/_jsx(LinePlot, _extends({}, linePlotProps)), /*#__PURE__*/_jsx(ChartsOverlay, _extends({}, overlayProps)), /*#__PURE__*/_jsx(ChartsAxisHighlight, _extends({}, axisHighlightProps))]
52
- })), /*#__PURE__*/_jsx(ChartsAxis, _extends({}, chartsAxisProps)), /*#__PURE__*/_jsx("g", {
53
- "data-drawing-container": true,
54
- children: /*#__PURE__*/_jsx(MarkPlot, _extends({}, markPlotProps))
55
- }), /*#__PURE__*/_jsx(LineHighlightPlot, _extends({}, lineHighlightPlotProps)), /*#__PURE__*/_jsx(ChartsLegend, _extends({}, legendProps)), !props.loading && /*#__PURE__*/_jsx(ChartsTooltip, _extends({}, tooltipProps)), /*#__PURE__*/_jsx(ChartsClipPath, _extends({}, clipPathProps)), children]
56
- }));
57
- });
58
- process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
59
- // ----------------------------- Warning --------------------------------
60
- // | These PropTypes are generated from the TypeScript type definitions |
61
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
62
- // ----------------------------------------------------------------------
63
- /**
64
- * The configuration of axes highlight.
65
- * @see See {@link https://mui.com/x/react-charts/tooltip/#highlights highlight docs} for more details.
66
- * @default { x: 'line' }
67
- */
68
- axisHighlight: PropTypes.shape({
69
- x: PropTypes.oneOf(['band', 'line', 'none']),
70
- y: PropTypes.oneOf(['band', 'line', 'none'])
71
- }),
72
- /**
73
- * Indicate which axis to display the bottom of the charts.
74
- * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
75
- * @default xAxisIds[0] The id of the first provided axis
76
- */
77
- bottomAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
78
- children: PropTypes.node,
79
- className: PropTypes.string,
80
- /**
81
- * Color palette used to colorize multiple series.
82
- * @default blueberryTwilightPalette
83
- */
84
- colors: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.func]),
85
- /**
86
- * An array of objects that can be used to populate series and axes data using their `dataKey` property.
87
- */
88
- dataset: PropTypes.arrayOf(PropTypes.object),
89
- desc: PropTypes.string,
90
- /**
91
- * If `true`, the charts will not listen to the mouse move event.
92
- * It might break interactive features, but will improve performance.
93
- * @default false
94
- */
95
- disableAxisListener: PropTypes.bool,
96
- /**
97
- * If `true`, render the line highlight item.
98
- */
99
- disableLineItemHighlight: PropTypes.bool,
100
- /**
101
- * Option to display a cartesian grid in the background.
102
- */
103
- grid: PropTypes.shape({
104
- horizontal: PropTypes.bool,
105
- vertical: PropTypes.bool
106
- }),
107
- /**
108
- * The height of the chart in px. If not defined, it takes the height of the parent element.
109
- */
110
- height: PropTypes.number,
111
- /**
112
- * The item currently highlighted. Turns highlighting into a controlled prop.
113
- */
114
- highlightedItem: PropTypes.shape({
115
- dataIndex: PropTypes.number,
116
- seriesId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
117
- }),
118
- /**
119
- * Indicate which axis to display the left of the charts.
120
- * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
121
- * @default yAxisIds[0] The id of the first provided axis
122
- */
123
- leftAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
124
- /**
125
- * @deprecated Consider using `slotProps.legend` instead.
126
- */
127
- legend: PropTypes.shape({
128
- classes: PropTypes.object,
129
- direction: PropTypes.oneOf(['column', 'row']),
130
- hidden: PropTypes.bool,
131
- position: PropTypes.shape({
132
- horizontal: PropTypes.oneOf(['left', 'middle', 'right']).isRequired,
133
- vertical: PropTypes.oneOf(['bottom', 'middle', 'top']).isRequired
134
- }),
135
- slotProps: PropTypes.object,
136
- slots: PropTypes.object
137
- }),
138
- /**
139
- * If `true`, a loading overlay is displayed.
140
- * @default false
141
- */
142
- loading: PropTypes.bool,
143
- /**
144
- * The margin between the SVG and the drawing area.
145
- * It's used for leaving some space for extra information such as the x- and y-axis or legend.
146
- * Accepts an object with the optional properties: `top`, `bottom`, `left`, and `right`.
147
- * @default object Depends on the charts type.
148
- */
149
- margin: PropTypes.shape({
150
- bottom: PropTypes.number,
151
- left: PropTypes.number,
152
- right: PropTypes.number,
153
- top: PropTypes.number
154
- }),
155
- /**
156
- * Callback fired when an area element is clicked.
157
- */
158
- onAreaClick: PropTypes.func,
159
- /**
160
- * The function called for onClick events.
161
- * The second argument contains information about all line/bar elements at the current mouse position.
162
- * @param {MouseEvent} event The mouse event recorded on the `<svg/>` element.
163
- * @param {null | AxisData} data The data about the clicked axis and items associated with it.
164
- */
165
- onAxisClick: PropTypes.func,
166
- /**
167
- * The callback fired when the highlighted item changes.
168
- *
169
- * @param {HighlightItemData | null} highlightedItem The newly highlighted item.
170
- */
171
- onHighlightChange: PropTypes.func,
172
- /**
173
- * Callback fired when a line element is clicked.
174
- */
175
- onLineClick: PropTypes.func,
176
- /**
177
- * Callback fired when a mark element is clicked.
178
- */
179
- onMarkClick: PropTypes.func,
180
- /**
181
- * Indicate which axis to display the right of the charts.
182
- * Can be a string (the id of the axis) or an object `ChartsYAxisProps`.
183
- * @default null
184
- */
185
- rightAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
186
- /**
187
- * The series to display in the line chart.
188
- * An array of [[LineSeriesType]] objects.
189
- */
190
- series: PropTypes.arrayOf(PropTypes.object).isRequired,
191
- /**
192
- * If `true`, animations are skipped.
193
- * @default false
194
- */
195
- skipAnimation: PropTypes.bool,
196
- /**
197
- * The props used for each component slot.
198
- * @default {}
199
- */
200
- slotProps: PropTypes.object,
201
- /**
202
- * Overridable component slots.
203
- * @default {}
204
- */
205
- slots: PropTypes.object,
206
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
207
- title: PropTypes.string,
208
- /**
209
- * The configuration of the tooltip.
210
- * @see See {@link https://mui.com/x/react-charts/tooltip/ tooltip docs} for more details.
211
- * @default { trigger: 'item' }
212
- */
213
- tooltip: PropTypes.shape({
214
- axisContent: PropTypes.elementType,
215
- classes: PropTypes.object,
216
- itemContent: PropTypes.elementType,
217
- slotProps: PropTypes.object,
218
- slots: PropTypes.object,
219
- trigger: PropTypes.oneOf(['axis', 'item', 'none'])
220
- }),
221
- /**
222
- * Indicate which axis to display the top of the charts.
223
- * Can be a string (the id of the axis) or an object `ChartsXAxisProps`.
224
- * @default null
225
- */
226
- topAxis: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
227
- viewBox: PropTypes.shape({
228
- height: PropTypes.number,
229
- width: PropTypes.number,
230
- x: PropTypes.number,
231
- y: PropTypes.number
232
- }),
233
- /**
234
- * The width of the chart in px. If not defined, it takes the width of the parent element.
235
- */
236
- width: PropTypes.number,
237
- /**
238
- * The configuration of the x-axes.
239
- * If not provided, a default axis config is used.
240
- * An array of [[AxisConfig]] objects.
241
- */
242
- xAxis: PropTypes.arrayOf(PropTypes.shape({
243
- classes: PropTypes.object,
244
- colorMap: PropTypes.oneOfType([PropTypes.shape({
245
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
246
- type: PropTypes.oneOf(['ordinal']).isRequired,
247
- unknownColor: PropTypes.string,
248
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
249
- }), PropTypes.shape({
250
- color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
251
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
252
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
253
- type: PropTypes.oneOf(['continuous']).isRequired
254
- }), PropTypes.shape({
255
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
256
- thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
257
- type: PropTypes.oneOf(['piecewise']).isRequired
258
- })]),
259
- data: PropTypes.array,
260
- dataKey: PropTypes.string,
261
- disableLine: PropTypes.bool,
262
- disableTicks: PropTypes.bool,
263
- fill: PropTypes.string,
264
- hideTooltip: PropTypes.bool,
265
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
266
- label: PropTypes.string,
267
- labelFontSize: PropTypes.number,
268
- labelStyle: PropTypes.object,
269
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
270
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
271
- position: PropTypes.oneOf(['bottom', 'top']),
272
- reverse: PropTypes.bool,
273
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
274
- slotProps: PropTypes.object,
275
- slots: PropTypes.object,
276
- stroke: PropTypes.string,
277
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
278
- tickFontSize: PropTypes.number,
279
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
280
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
281
- tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
282
- tickLabelStyle: PropTypes.object,
283
- tickMaxStep: PropTypes.number,
284
- tickMinStep: PropTypes.number,
285
- tickNumber: PropTypes.number,
286
- tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
287
- tickSize: PropTypes.number,
288
- valueFormatter: PropTypes.func
289
- })),
290
- /**
291
- * The configuration of the y-axes.
292
- * If not provided, a default axis config is used.
293
- * An array of [[AxisConfig]] objects.
294
- */
295
- yAxis: PropTypes.arrayOf(PropTypes.shape({
296
- classes: PropTypes.object,
297
- colorMap: PropTypes.oneOfType([PropTypes.shape({
298
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
299
- type: PropTypes.oneOf(['ordinal']).isRequired,
300
- unknownColor: PropTypes.string,
301
- values: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number, PropTypes.string]).isRequired)
302
- }), PropTypes.shape({
303
- color: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string.isRequired), PropTypes.func]).isRequired,
304
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
305
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
306
- type: PropTypes.oneOf(['continuous']).isRequired
307
- }), PropTypes.shape({
308
- colors: PropTypes.arrayOf(PropTypes.string).isRequired,
309
- thresholds: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]).isRequired).isRequired,
310
- type: PropTypes.oneOf(['piecewise']).isRequired
311
- })]),
312
- data: PropTypes.array,
313
- dataKey: PropTypes.string,
314
- disableLine: PropTypes.bool,
315
- disableTicks: PropTypes.bool,
316
- fill: PropTypes.string,
317
- hideTooltip: PropTypes.bool,
318
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
319
- label: PropTypes.string,
320
- labelFontSize: PropTypes.number,
321
- labelStyle: PropTypes.object,
322
- max: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
323
- min: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.number]),
324
- position: PropTypes.oneOf(['left', 'right']),
325
- reverse: PropTypes.bool,
326
- scaleType: PropTypes.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
327
- slotProps: PropTypes.object,
328
- slots: PropTypes.object,
329
- stroke: PropTypes.string,
330
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
331
- tickFontSize: PropTypes.number,
332
- tickInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.array, PropTypes.func]),
333
- tickLabelInterval: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.func]),
334
- tickLabelPlacement: PropTypes.oneOf(['middle', 'tick']),
335
- tickLabelStyle: PropTypes.object,
336
- tickMaxStep: PropTypes.number,
337
- tickMinStep: PropTypes.number,
338
- tickNumber: PropTypes.number,
339
- tickPlacement: PropTypes.oneOf(['end', 'extremities', 'middle', 'start']),
340
- tickSize: PropTypes.number,
341
- valueFormatter: PropTypes.func
342
- }))
343
- } : void 0;
344
- export { LineChart };
@@ -1,109 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["id", "classes", "color", "gradientId", "slots", "slotProps", "onClick"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import composeClasses from '@mui/utils/composeClasses';
7
- import useSlotProps from '@mui/utils/useSlotProps';
8
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
9
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
10
- import { useInteractionItemProps } from '../hooks/useInteractionItemProps';
11
- import { AnimatedLine } from './AnimatedLine';
12
- import { useItemHighlighted } from '../context';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- export function getLineElementUtilityClass(slot) {
15
- return generateUtilityClass('MuiLineElement', slot);
16
- }
17
- export const lineElementClasses = generateUtilityClasses('MuiLineElement', ['root', 'highlighted', 'faded']);
18
- const useUtilityClasses = ownerState => {
19
- const {
20
- classes,
21
- id,
22
- isFaded,
23
- isHighlighted
24
- } = ownerState;
25
- const slots = {
26
- root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
27
- };
28
- return composeClasses(slots, getLineElementUtilityClass, classes);
29
- };
30
- /**
31
- * Demos:
32
- *
33
- * - [Lines](https://mui.com/x/react-charts/lines/)
34
- * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
35
- *
36
- * API:
37
- *
38
- * - [LineElement API](https://mui.com/x/api/charts/line-element/)
39
- */
40
- function LineElement(props) {
41
- const {
42
- id,
43
- classes: innerClasses,
44
- color,
45
- gradientId,
46
- slots,
47
- slotProps,
48
- onClick
49
- } = props,
50
- other = _objectWithoutPropertiesLoose(props, _excluded);
51
- const getInteractionItemProps = useInteractionItemProps();
52
- const {
53
- isFaded,
54
- isHighlighted
55
- } = useItemHighlighted({
56
- seriesId: id
57
- });
58
- const ownerState = {
59
- id,
60
- classes: innerClasses,
61
- color,
62
- gradientId,
63
- isFaded,
64
- isHighlighted
65
- };
66
- const classes = useUtilityClasses(ownerState);
67
- const Line = slots?.line ?? AnimatedLine;
68
- const lineProps = useSlotProps({
69
- elementType: Line,
70
- externalSlotProps: slotProps?.line,
71
- additionalProps: _extends({}, getInteractionItemProps({
72
- type: 'line',
73
- seriesId: id
74
- }), {
75
- onClick,
76
- cursor: onClick ? 'pointer' : 'unset'
77
- }),
78
- className: classes.root,
79
- ownerState
80
- });
81
- return /*#__PURE__*/_jsx(Line, _extends({}, other, lineProps));
82
- }
83
- process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
84
- // ----------------------------- Warning --------------------------------
85
- // | These PropTypes are generated from the TypeScript type definitions |
86
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
87
- // ----------------------------------------------------------------------
88
- classes: PropTypes.object,
89
- color: PropTypes.string.isRequired,
90
- d: PropTypes.string.isRequired,
91
- gradientId: PropTypes.string,
92
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
93
- /**
94
- * If `true`, animations are skipped.
95
- * @default false
96
- */
97
- skipAnimation: PropTypes.bool,
98
- /**
99
- * The props used for each component slot.
100
- * @default {}
101
- */
102
- slotProps: PropTypes.object,
103
- /**
104
- * Overridable component slots.
105
- * @default {}
106
- */
107
- slots: PropTypes.object
108
- } : void 0;
109
- export { LineElement };