@mui/x-charts 7.0.0-beta.2 → 7.0.0-beta.4

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 (265) hide show
  1. package/BarChart/BarChart.d.ts +21 -5
  2. package/BarChart/BarChart.js +27 -7
  3. package/CHANGELOG.md +298 -23
  4. package/ChartsGrid/ChartsGrid.d.ts +30 -0
  5. package/ChartsGrid/ChartsGrid.js +128 -0
  6. package/ChartsGrid/chartsGridClasses.d.ts +13 -0
  7. package/ChartsGrid/chartsGridClasses.js +14 -0
  8. package/ChartsGrid/index.d.ts +2 -0
  9. package/ChartsGrid/index.js +27 -0
  10. package/ChartsGrid/package.json +6 -0
  11. package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +1 -1
  12. package/ChartsSurface.js +6 -4
  13. package/ChartsTooltip/utils.js +1 -1
  14. package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +0 -1
  15. package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +1 -2
  16. package/ChartsXAxis/ChartsXAxis.js +3 -3
  17. package/ChartsYAxis/ChartsYAxis.js +3 -3
  18. package/Gauge/Gauge.d.ts +13 -0
  19. package/Gauge/Gauge.js +154 -0
  20. package/Gauge/GaugeContainer.d.ts +17 -0
  21. package/Gauge/GaugeContainer.js +214 -0
  22. package/Gauge/GaugeProvider.d.ts +117 -0
  23. package/Gauge/GaugeProvider.js +99 -0
  24. package/Gauge/GaugeReferenceArc.d.ts +2 -0
  25. package/Gauge/GaugeReferenceArc.js +44 -0
  26. package/Gauge/GaugeValueArc.d.ts +2 -0
  27. package/Gauge/GaugeValueArc.js +51 -0
  28. package/Gauge/GaugeValueText.d.ts +15 -0
  29. package/Gauge/GaugeValueText.js +77 -0
  30. package/Gauge/gaugeClasses.d.ts +14 -0
  31. package/Gauge/gaugeClasses.js +15 -0
  32. package/Gauge/index.d.ts +7 -0
  33. package/Gauge/index.js +87 -0
  34. package/Gauge/package.json +6 -0
  35. package/Gauge/utils.d.ts +19 -0
  36. package/Gauge/utils.js +75 -0
  37. package/LineChart/LineChart.d.ts +24 -5
  38. package/LineChart/LineChart.js +31 -7
  39. package/PieChart/PieArc.d.ts +4 -4
  40. package/PieChart/PieArc.js +9 -9
  41. package/PieChart/PieArcLabelPlot.js +13 -13
  42. package/PieChart/PieChart.d.ts +22 -0
  43. package/PieChart/PieChart.js +22 -2
  44. package/ResponsiveChartContainer/ResponsiveChartContainer.d.ts +0 -2
  45. package/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  46. package/ResponsiveChartContainer/useChartContainerDimensions.d.ts +2 -0
  47. package/ResponsiveChartContainer/useChartContainerDimensions.js +76 -0
  48. package/ScatterChart/ScatterChart.d.ts +18 -0
  49. package/ScatterChart/ScatterChart.js +25 -3
  50. package/SparkLineChart/SparkLineChart.js +0 -2
  51. package/context/CartesianContextProvider.d.ts +0 -8
  52. package/context/CartesianContextProvider.js +4 -89
  53. package/context/DrawingProvider.d.ts +2 -11
  54. package/context/DrawingProvider.js +10 -35
  55. package/context/HighlightProvider.js +3 -0
  56. package/context/InteractionProvider.js +3 -0
  57. package/context/SeriesContextProvider.js +3 -0
  58. package/context/index.d.ts +0 -2
  59. package/context/index.js +1 -15
  60. package/esm/BarChart/BarChart.js +27 -7
  61. package/esm/ChartsGrid/ChartsGrid.js +121 -0
  62. package/esm/ChartsGrid/chartsGridClasses.js +6 -0
  63. package/esm/ChartsGrid/index.js +2 -0
  64. package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  65. package/esm/ChartsSurface.js +6 -4
  66. package/esm/ChartsTooltip/utils.js +2 -2
  67. package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  68. package/esm/ChartsXAxis/ChartsXAxis.js +2 -2
  69. package/esm/ChartsYAxis/ChartsYAxis.js +2 -2
  70. package/esm/Gauge/Gauge.js +147 -0
  71. package/esm/Gauge/GaugeContainer.js +209 -0
  72. package/esm/Gauge/GaugeProvider.js +88 -0
  73. package/esm/Gauge/GaugeReferenceArc.js +35 -0
  74. package/esm/Gauge/GaugeValueArc.js +42 -0
  75. package/esm/Gauge/GaugeValueText.js +69 -0
  76. package/esm/Gauge/gaugeClasses.js +7 -0
  77. package/esm/Gauge/index.js +7 -0
  78. package/esm/Gauge/utils.js +68 -0
  79. package/esm/LineChart/LineChart.js +31 -7
  80. package/esm/PieChart/PieArc.js +9 -9
  81. package/esm/PieChart/PieArcLabelPlot.js +13 -13
  82. package/esm/PieChart/PieChart.js +22 -2
  83. package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  84. package/esm/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  85. package/esm/ScatterChart/ScatterChart.js +25 -3
  86. package/esm/SparkLineChart/SparkLineChart.js +0 -2
  87. package/esm/context/CartesianContextProvider.js +3 -88
  88. package/esm/context/DrawingProvider.js +10 -36
  89. package/esm/context/HighlightProvider.js +3 -0
  90. package/esm/context/InteractionProvider.js +3 -0
  91. package/esm/context/SeriesContextProvider.js +3 -0
  92. package/esm/context/index.js +1 -2
  93. package/esm/hooks/useAxisEvents.js +2 -2
  94. package/esm/hooks/useTicks.js +2 -3
  95. package/esm/index.js +2 -0
  96. package/hooks/useAxisEvents.js +1 -1
  97. package/hooks/useTicks.d.ts +2 -3
  98. package/hooks/useTicks.js +2 -3
  99. package/index.d.ts +2 -0
  100. package/index.js +23 -1
  101. package/modern/BarChart/BarChart.js +27 -7
  102. package/modern/ChartsGrid/ChartsGrid.js +121 -0
  103. package/modern/ChartsGrid/chartsGridClasses.js +6 -0
  104. package/modern/ChartsGrid/index.js +2 -0
  105. package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +2 -2
  106. package/modern/ChartsSurface.js +6 -4
  107. package/modern/ChartsTooltip/utils.js +2 -2
  108. package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +2 -3
  109. package/modern/ChartsXAxis/ChartsXAxis.js +2 -2
  110. package/modern/ChartsYAxis/ChartsYAxis.js +2 -2
  111. package/modern/Gauge/Gauge.js +147 -0
  112. package/modern/Gauge/GaugeContainer.js +206 -0
  113. package/modern/Gauge/GaugeProvider.js +88 -0
  114. package/modern/Gauge/GaugeReferenceArc.js +35 -0
  115. package/modern/Gauge/GaugeValueArc.js +42 -0
  116. package/modern/Gauge/GaugeValueText.js +69 -0
  117. package/modern/Gauge/gaugeClasses.js +7 -0
  118. package/modern/Gauge/index.js +7 -0
  119. package/modern/Gauge/utils.js +68 -0
  120. package/modern/LineChart/LineChart.js +31 -7
  121. package/modern/PieChart/PieArc.js +9 -9
  122. package/modern/PieChart/PieArcLabelPlot.js +13 -13
  123. package/modern/PieChart/PieChart.js +22 -2
  124. package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +2 -68
  125. package/modern/ResponsiveChartContainer/useChartContainerDimensions.js +66 -0
  126. package/modern/ScatterChart/ScatterChart.js +25 -3
  127. package/modern/SparkLineChart/SparkLineChart.js +0 -2
  128. package/modern/context/CartesianContextProvider.js +3 -88
  129. package/modern/context/DrawingProvider.js +10 -36
  130. package/modern/context/HighlightProvider.js +3 -0
  131. package/modern/context/InteractionProvider.js +3 -0
  132. package/modern/context/SeriesContextProvider.js +3 -0
  133. package/modern/context/index.js +1 -2
  134. package/modern/hooks/useAxisEvents.js +2 -2
  135. package/modern/hooks/useTicks.js +2 -3
  136. package/modern/index.js +3 -1
  137. package/package.json +4 -4
  138. package/legacy/BarChart/BarChart.js +0 -418
  139. package/legacy/BarChart/BarElement.js +0 -119
  140. package/legacy/BarChart/BarPlot.js +0 -232
  141. package/legacy/BarChart/extremums.js +0 -45
  142. package/legacy/BarChart/formatter.js +0 -78
  143. package/legacy/BarChart/index.js +0 -3
  144. package/legacy/BarChart/legend.js +0 -15
  145. package/legacy/ChartContainer/ChartContainer.js +0 -189
  146. package/legacy/ChartContainer/index.js +0 -1
  147. package/legacy/ChartsAxis/ChartsAxis.js +0 -215
  148. package/legacy/ChartsAxis/axisClasses.js +0 -5
  149. package/legacy/ChartsAxis/index.js +0 -2
  150. package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +0 -105
  151. package/legacy/ChartsAxisHighlight/index.js +0 -1
  152. package/legacy/ChartsClipPath/ChartsClipPath.js +0 -48
  153. package/legacy/ChartsClipPath/index.js +0 -1
  154. package/legacy/ChartsLegend/ChartsLegend.js +0 -100
  155. package/legacy/ChartsLegend/DefaultChartsLegend.js +0 -302
  156. package/legacy/ChartsLegend/chartsLegendClasses.js +0 -5
  157. package/legacy/ChartsLegend/index.js +0 -4
  158. package/legacy/ChartsLegend/utils.js +0 -15
  159. package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +0 -75
  160. package/legacy/ChartsOnAxisClickHandler/index.js +0 -1
  161. package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +0 -72
  162. package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +0 -105
  163. package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +0 -105
  164. package/legacy/ChartsReferenceLine/chartsReferenceLineClasses.js +0 -6
  165. package/legacy/ChartsReferenceLine/common.js +0 -19
  166. package/legacy/ChartsReferenceLine/index.js +0 -2
  167. package/legacy/ChartsSurface.js +0 -76
  168. package/legacy/ChartsText/ChartsText.js +0 -95
  169. package/legacy/ChartsText/index.js +0 -1
  170. package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +0 -96
  171. package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +0 -53
  172. package/legacy/ChartsTooltip/ChartsTooltip.js +0 -148
  173. package/legacy/ChartsTooltip/ChartsTooltipTable.js +0 -80
  174. package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +0 -118
  175. package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +0 -78
  176. package/legacy/ChartsTooltip/chartsTooltipClasses.js +0 -5
  177. package/legacy/ChartsTooltip/index.js +0 -6
  178. package/legacy/ChartsTooltip/utils.js +0 -103
  179. package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +0 -206
  180. package/legacy/ChartsVoronoiHandler/index.js +0 -1
  181. package/legacy/ChartsXAxis/ChartsXAxis.js +0 -339
  182. package/legacy/ChartsXAxis/index.js +0 -1
  183. package/legacy/ChartsYAxis/ChartsYAxis.js +0 -267
  184. package/legacy/ChartsYAxis/index.js +0 -1
  185. package/legacy/LineChart/AnimatedArea.js +0 -102
  186. package/legacy/LineChart/AnimatedLine.js +0 -104
  187. package/legacy/LineChart/AreaElement.js +0 -112
  188. package/legacy/LineChart/AreaPlot.js +0 -149
  189. package/legacy/LineChart/LineChart.js +0 -426
  190. package/legacy/LineChart/LineElement.js +0 -112
  191. package/legacy/LineChart/LineHighlightElement.js +0 -79
  192. package/legacy/LineChart/LineHighlightPlot.js +0 -97
  193. package/legacy/LineChart/LinePlot.js +0 -144
  194. package/legacy/LineChart/MarkElement.js +0 -153
  195. package/legacy/LineChart/MarkPlot.js +0 -178
  196. package/legacy/LineChart/extremums.js +0 -54
  197. package/legacy/LineChart/formatter.js +0 -82
  198. package/legacy/LineChart/index.js +0 -11
  199. package/legacy/LineChart/legend.js +0 -15
  200. package/legacy/PieChart/PieArc.js +0 -103
  201. package/legacy/PieChart/PieArcLabel.js +0 -112
  202. package/legacy/PieChart/PieArcLabelPlot.js +0 -193
  203. package/legacy/PieChart/PieArcPlot.js +0 -180
  204. package/legacy/PieChart/PieChart.js +0 -382
  205. package/legacy/PieChart/PiePlot.js +0 -137
  206. package/legacy/PieChart/dataTransform/transition.js +0 -149
  207. package/legacy/PieChart/dataTransform/useTransformData.js +0 -63
  208. package/legacy/PieChart/formatter.js +0 -55
  209. package/legacy/PieChart/index.js +0 -6
  210. package/legacy/PieChart/legend.js +0 -16
  211. package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +0 -255
  212. package/legacy/ResponsiveChartContainer/index.js +0 -1
  213. package/legacy/ScatterChart/Scatter.js +0 -110
  214. package/legacy/ScatterChart/ScatterChart.js +0 -370
  215. package/legacy/ScatterChart/ScatterPlot.js +0 -80
  216. package/legacy/ScatterChart/extremums.js +0 -39
  217. package/legacy/ScatterChart/formatter.js +0 -12
  218. package/legacy/ScatterChart/index.js +0 -3
  219. package/legacy/ScatterChart/legend.js +0 -15
  220. package/legacy/SparkLineChart/SparkLineChart.js +0 -266
  221. package/legacy/SparkLineChart/index.js +0 -1
  222. package/legacy/colorPalettes/colorPalettes.js +0 -15
  223. package/legacy/colorPalettes/index.js +0 -1
  224. package/legacy/constants.js +0 -8
  225. package/legacy/context/CartesianContextProvider.js +0 -327
  226. package/legacy/context/DrawingProvider.js +0 -74
  227. package/legacy/context/HighlightProvider.js +0 -56
  228. package/legacy/context/InteractionProvider.js +0 -81
  229. package/legacy/context/SeriesContextProvider.js +0 -74
  230. package/legacy/context/index.js +0 -2
  231. package/legacy/hooks/index.js +0 -2
  232. package/legacy/hooks/useAxisEvents.js +0 -120
  233. package/legacy/hooks/useChartDimensions.js +0 -18
  234. package/legacy/hooks/useDrawingArea.js +0 -21
  235. package/legacy/hooks/useInteractionItemProps.js +0 -71
  236. package/legacy/hooks/useMounted.js +0 -21
  237. package/legacy/hooks/useReducedMotion.js +0 -27
  238. package/legacy/hooks/useScale.js +0 -33
  239. package/legacy/hooks/useTicks.js +0 -66
  240. package/legacy/index.js +0 -31
  241. package/legacy/internals/components/AxisSharedComponents.js +0 -25
  242. package/legacy/internals/defaultizeColor.js +0 -17
  243. package/legacy/internals/defaultizeValueFormatter.js +0 -12
  244. package/legacy/internals/domUtils.js +0 -121
  245. package/legacy/internals/geometry.js +0 -37
  246. package/legacy/internals/getCurve.js +0 -39
  247. package/legacy/internals/getScale.js +0 -17
  248. package/legacy/internals/getWordsByLines.js +0 -15
  249. package/legacy/internals/isBandScale.js +0 -3
  250. package/legacy/internals/stackSeries.js +0 -92
  251. package/legacy/internals/useAnimatedPath.js +0 -32
  252. package/legacy/internals/utils.js +0 -52
  253. package/legacy/models/axis.js +0 -6
  254. package/legacy/models/helpers.js +0 -1
  255. package/legacy/models/index.js +0 -4
  256. package/legacy/models/layout.js +0 -1
  257. package/legacy/models/seriesType/bar.js +0 -1
  258. package/legacy/models/seriesType/common.js +0 -1
  259. package/legacy/models/seriesType/config.js +0 -1
  260. package/legacy/models/seriesType/index.js +0 -5
  261. package/legacy/models/seriesType/line.js +0 -1
  262. package/legacy/models/seriesType/pie.js +0 -1
  263. package/legacy/models/seriesType/scatter.js +0 -1
  264. package/legacy/models/stacking.js +0 -1
  265. package/legacy/themeAugmentation/index.js +0 -3
@@ -1,102 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["d", "skipAnimation", "ownerState"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { styled } from '@mui/material/styles';
7
- import { color as d3Color } from 'd3-color';
8
- import { animated, useSpring } from '@react-spring/web';
9
- import { useAnimatedPath } from '../internals/useAnimatedPath';
10
- import { DrawingContext } from '../context/DrawingProvider';
11
- import { cleanId } from '../internals/utils';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
- export var AreaElementPath = styled(animated.path, {
15
- name: 'MuiAreaElement',
16
- slot: 'Root',
17
- overridesResolver: function overridesResolver(_, styles) {
18
- return styles.root;
19
- }
20
- })(function (_ref) {
21
- var ownerState = _ref.ownerState;
22
- return {
23
- stroke: 'none',
24
- fill: ownerState.isHighlighted ? d3Color(ownerState.color).brighter(1).formatHex() : d3Color(ownerState.color).brighter(0.5).formatHex(),
25
- transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
26
- opacity: ownerState.isFaded ? 0.3 : 1
27
- };
28
- });
29
- /**
30
- * Demos:
31
- *
32
- * - [Lines](https://mui.com/x/react-charts/lines/)
33
- * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
34
- *
35
- * API:
36
- *
37
- * - [AreaElement API](https://mui.com/x/api/charts/animated-area/)
38
- */
39
- function AnimatedArea(props) {
40
- var d = props.d,
41
- skipAnimation = props.skipAnimation,
42
- ownerState = props.ownerState,
43
- other = _objectWithoutProperties(props, _excluded);
44
- var _React$useContext = React.useContext(DrawingContext),
45
- left = _React$useContext.left,
46
- top = _React$useContext.top,
47
- right = _React$useContext.right,
48
- bottom = _React$useContext.bottom,
49
- width = _React$useContext.width,
50
- height = _React$useContext.height,
51
- chartId = _React$useContext.chartId;
52
- var path = useAnimatedPath(d, skipAnimation);
53
- var _useSpring = useSpring({
54
- from: {
55
- animatedWidth: left
56
- },
57
- to: {
58
- animatedWidth: width + left + right
59
- },
60
- reset: false,
61
- immediate: skipAnimation
62
- }),
63
- animatedWidth = _useSpring.animatedWidth;
64
- var clipId = cleanId("".concat(chartId, "-").concat(ownerState.id, "-area-clip"));
65
- return /*#__PURE__*/_jsxs(React.Fragment, {
66
- children: [/*#__PURE__*/_jsx("clipPath", {
67
- id: clipId,
68
- children: /*#__PURE__*/_jsx(animated.rect, {
69
- x: 0,
70
- y: 0,
71
- width: animatedWidth,
72
- height: top + height + bottom
73
- })
74
- }), /*#__PURE__*/_jsx("g", {
75
- clipPath: "url(#".concat(clipId, ")"),
76
- children: /*#__PURE__*/_jsx(AreaElementPath, _extends({}, other, {
77
- ownerState: ownerState,
78
- d: path
79
- }))
80
- })]
81
- });
82
- }
83
- process.env.NODE_ENV !== "production" ? AnimatedArea.propTypes = {
84
- // ----------------------------- Warning --------------------------------
85
- // | These PropTypes are generated from the TypeScript type definitions |
86
- // | To update them edit the TypeScript types and run "yarn proptypes" |
87
- // ----------------------------------------------------------------------
88
- d: PropTypes.string.isRequired,
89
- ownerState: PropTypes.shape({
90
- classes: PropTypes.object,
91
- color: PropTypes.string.isRequired,
92
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
93
- isFaded: PropTypes.bool.isRequired,
94
- isHighlighted: PropTypes.bool.isRequired
95
- }).isRequired,
96
- /**
97
- * If `true`, animations are skipped.
98
- * @default false
99
- */
100
- skipAnimation: PropTypes.bool
101
- } : void 0;
102
- export { AnimatedArea };
@@ -1,104 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _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 'd3-color';
8
- import { styled } from '@mui/material/styles';
9
- import { useAnimatedPath } from '../internals/useAnimatedPath';
10
- import { DrawingContext } from '../context/DrawingProvider';
11
- import { cleanId } from '../internals/utils';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { jsxs as _jsxs } from "react/jsx-runtime";
14
- export var LineElementPath = styled(animated.path, {
15
- name: 'MuiLineElement',
16
- slot: 'Root',
17
- overridesResolver: function overridesResolver(_, styles) {
18
- return styles.root;
19
- }
20
- })(function (_ref) {
21
- var ownerState = _ref.ownerState;
22
- return {
23
- strokeWidth: 2,
24
- strokeLinejoin: 'round',
25
- fill: 'none',
26
- stroke: ownerState.isHighlighted ? d3Color(ownerState.color).brighter(0.5).formatHex() : ownerState.color,
27
- transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
28
- opacity: ownerState.isFaded ? 0.3 : 1
29
- };
30
- });
31
- /**
32
- * Demos:
33
- *
34
- * - [Lines](https://mui.com/x/react-charts/lines/)
35
- * - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
36
- *
37
- * API:
38
- *
39
- * - [AnimatedLine API](https://mui.com/x/api/charts/animated-line/)
40
- */
41
- function AnimatedLine(props) {
42
- var d = props.d,
43
- skipAnimation = props.skipAnimation,
44
- ownerState = props.ownerState,
45
- other = _objectWithoutProperties(props, _excluded);
46
- var _React$useContext = React.useContext(DrawingContext),
47
- left = _React$useContext.left,
48
- top = _React$useContext.top,
49
- bottom = _React$useContext.bottom,
50
- width = _React$useContext.width,
51
- height = _React$useContext.height,
52
- right = _React$useContext.right,
53
- chartId = _React$useContext.chartId;
54
- var path = useAnimatedPath(d, skipAnimation);
55
- var _useSpring = useSpring({
56
- from: {
57
- animatedWidth: left
58
- },
59
- to: {
60
- animatedWidth: width + left + right
61
- },
62
- reset: false,
63
- immediate: skipAnimation
64
- }),
65
- animatedWidth = _useSpring.animatedWidth;
66
- var clipId = cleanId("".concat(chartId, "-").concat(ownerState.id, "-line-clip"));
67
- return /*#__PURE__*/_jsxs(React.Fragment, {
68
- children: [/*#__PURE__*/_jsx("clipPath", {
69
- id: clipId,
70
- children: /*#__PURE__*/_jsx(animated.rect, {
71
- x: 0,
72
- y: 0,
73
- width: animatedWidth,
74
- height: top + height + bottom
75
- })
76
- }), /*#__PURE__*/_jsx("g", {
77
- clipPath: "url(#".concat(clipId, ")"),
78
- children: /*#__PURE__*/_jsx(LineElementPath, _extends({}, other, {
79
- ownerState: ownerState,
80
- d: path
81
- }))
82
- })]
83
- });
84
- }
85
- process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
86
- // ----------------------------- Warning --------------------------------
87
- // | These PropTypes are generated from the TypeScript type definitions |
88
- // | To update them edit the TypeScript types and run "yarn proptypes" |
89
- // ----------------------------------------------------------------------
90
- d: PropTypes.string.isRequired,
91
- ownerState: PropTypes.shape({
92
- classes: PropTypes.object,
93
- color: PropTypes.string.isRequired,
94
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
95
- isFaded: PropTypes.bool.isRequired,
96
- isHighlighted: PropTypes.bool.isRequired
97
- }).isRequired,
98
- /**
99
- * If `true`, animations are skipped.
100
- * @default false
101
- */
102
- skipAnimation: PropTypes.bool
103
- } : void 0;
104
- export { AnimatedLine };
@@ -1,112 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["id", "classes", "color", "highlightScope", "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/base/utils';
8
- import generateUtilityClass from '@mui/utils/generateUtilityClass';
9
- import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
10
- import { getIsFaded, getIsHighlighted, useInteractionItemProps } from '../hooks/useInteractionItemProps';
11
- import { InteractionContext } from '../context/InteractionProvider';
12
- import { AnimatedArea } from './AnimatedArea';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- export function getAreaElementUtilityClass(slot) {
15
- return generateUtilityClass('MuiAreaElement', slot);
16
- }
17
- export var areaElementClasses = generateUtilityClasses('MuiAreaElement', ['root', 'highlighted', 'faded']);
18
- var useUtilityClasses = function useUtilityClasses(ownerState) {
19
- var classes = ownerState.classes,
20
- id = ownerState.id,
21
- isFaded = ownerState.isFaded,
22
- isHighlighted = ownerState.isHighlighted;
23
- var slots = {
24
- root: ['root', "series-".concat(id), isHighlighted && 'highlighted', isFaded && 'faded']
25
- };
26
- return composeClasses(slots, getAreaElementUtilityClass, classes);
27
- };
28
- /**
29
- * Demos:
30
- *
31
- * - [Lines](https://mui.com/x/react-charts/lines/)
32
- * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
33
- *
34
- * API:
35
- *
36
- * - [AreaElement API](https://mui.com/x/api/charts/area-element/)
37
- */
38
- function AreaElement(props) {
39
- var _slots$area;
40
- var id = props.id,
41
- innerClasses = props.classes,
42
- color = props.color,
43
- highlightScope = props.highlightScope,
44
- slots = props.slots,
45
- slotProps = props.slotProps,
46
- onClick = props.onClick,
47
- other = _objectWithoutProperties(props, _excluded);
48
- var getInteractionItemProps = useInteractionItemProps(highlightScope);
49
- var _React$useContext = React.useContext(InteractionContext),
50
- item = _React$useContext.item;
51
- var isHighlighted = getIsHighlighted(item, {
52
- type: 'line',
53
- seriesId: id
54
- }, highlightScope);
55
- var isFaded = !isHighlighted && getIsFaded(item, {
56
- type: 'line',
57
- seriesId: id
58
- }, highlightScope);
59
- var ownerState = {
60
- id: id,
61
- classes: innerClasses,
62
- color: color,
63
- isFaded: isFaded,
64
- isHighlighted: isHighlighted
65
- };
66
- var classes = useUtilityClasses(ownerState);
67
- var Area = (_slots$area = slots == null ? void 0 : slots.area) != null ? _slots$area : AnimatedArea;
68
- var areaProps = useSlotProps({
69
- elementType: Area,
70
- externalSlotProps: slotProps == null ? void 0 : slotProps.area,
71
- additionalProps: _extends({}, other, getInteractionItemProps({
72
- type: 'line',
73
- seriesId: id
74
- }), {
75
- className: classes.root,
76
- onClick: onClick,
77
- cursor: onClick ? 'pointer' : 'unset'
78
- }),
79
- ownerState: ownerState
80
- });
81
- return /*#__PURE__*/_jsx(Area, _extends({}, 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 "yarn proptypes" |
87
- // ----------------------------------------------------------------------
88
- classes: PropTypes.object,
89
- color: PropTypes.string.isRequired,
90
- d: PropTypes.string.isRequired,
91
- highlightScope: PropTypes.shape({
92
- faded: PropTypes.oneOf(['global', 'none', 'series']),
93
- highlighted: PropTypes.oneOf(['item', 'none', 'series'])
94
- }),
95
- id: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
96
- /**
97
- * If `true`, animations are skipped.
98
- * @default false
99
- */
100
- skipAnimation: PropTypes.bool,
101
- /**
102
- * The props used for each component slot.
103
- * @default {}
104
- */
105
- slotProps: PropTypes.object,
106
- /**
107
- * Overridable component slots.
108
- * @default {}
109
- */
110
- slots: PropTypes.object
111
- } : void 0;
112
- export { AreaElement };
@@ -1,149 +0,0 @@
1
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
2
- import _extends from "@babel/runtime/helpers/esm/extends";
3
- var _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { area as d3Area } from 'd3-shape';
7
- import { SeriesContext } from '../context/SeriesContextProvider';
8
- import { CartesianContext } from '../context/CartesianContextProvider';
9
- import { AreaElement } from './AreaElement';
10
- import { getValueToPositionMapper } from '../hooks/useScale';
11
- import getCurveFactory from '../internals/getCurve';
12
- import { DEFAULT_X_AXIS_KEY } from '../constants';
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- var useAggregatedData = function useAggregatedData() {
15
- var seriesData = React.useContext(SeriesContext).line;
16
- var axisData = React.useContext(CartesianContext);
17
- if (seriesData === undefined) {
18
- return [];
19
- }
20
- var series = seriesData.series,
21
- stackingGroups = seriesData.stackingGroups;
22
- var xAxis = axisData.xAxis,
23
- yAxis = axisData.yAxis,
24
- xAxisIds = axisData.xAxisIds,
25
- yAxisIds = axisData.yAxisIds;
26
- var defaultXAxisId = xAxisIds[0];
27
- var defaultYAxisId = yAxisIds[0];
28
- return stackingGroups.flatMap(function (_ref) {
29
- var groupIds = _ref.ids;
30
- return groupIds.flatMap(function (seriesId) {
31
- var _xData$map;
32
- var _series$seriesId = series[seriesId],
33
- _series$seriesId$xAxi = _series$seriesId.xAxisKey,
34
- xAxisKey = _series$seriesId$xAxi === void 0 ? defaultXAxisId : _series$seriesId$xAxi,
35
- _series$seriesId$yAxi = _series$seriesId.yAxisKey,
36
- yAxisKey = _series$seriesId$yAxi === void 0 ? defaultYAxisId : _series$seriesId$yAxi,
37
- stackedData = _series$seriesId.stackedData,
38
- data = _series$seriesId.data,
39
- connectNulls = _series$seriesId.connectNulls;
40
- var xScale = getValueToPositionMapper(xAxis[xAxisKey].scale);
41
- var yScale = yAxis[yAxisKey].scale;
42
- var xData = xAxis[xAxisKey].data;
43
- if (process.env.NODE_ENV !== 'production') {
44
- if (xData === undefined) {
45
- throw new Error("MUI X Charts: ".concat(xAxisKey === DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : "The x-axis with id \"".concat(xAxisKey, "\""), " should have data property to be able to display a line plot."));
46
- }
47
- if (xData.length < stackedData.length) {
48
- throw new Error("MUI X Charts: The data length of the x axis (".concat(xData.length, " items) is lower than the length of series (").concat(stackedData.length, " items)."));
49
- }
50
- }
51
- var areaPath = d3Area().x(function (d) {
52
- return xScale(d.x);
53
- }).defined(function (_, i) {
54
- return connectNulls || data[i] != null;
55
- }).y0(function (d) {
56
- return d.y && yScale(d.y[0]);
57
- }).y1(function (d) {
58
- return d.y && yScale(d.y[1]);
59
- });
60
- var curve = getCurveFactory(series[seriesId].curve);
61
- var formattedData = (_xData$map = xData == null ? void 0 : xData.map(function (x, index) {
62
- return {
63
- x: x,
64
- y: stackedData[index]
65
- };
66
- })) != null ? _xData$map : [];
67
- var d3Data = connectNulls ? formattedData.filter(function (_, i) {
68
- return data[i] != null;
69
- }) : formattedData;
70
- var d = areaPath.curve(curve)(d3Data) || '';
71
- return _extends({}, series[seriesId], {
72
- d: d,
73
- seriesId: seriesId
74
- });
75
- });
76
- });
77
- };
78
-
79
- /**
80
- * Demos:
81
- *
82
- * - [Lines](https://mui.com/x/react-charts/lines/)
83
- * - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
84
- * - [Stacking](https://mui.com/x/react-charts/stacking/)
85
- *
86
- * API:
87
- *
88
- * - [AreaPlot API](https://mui.com/x/api/charts/area-plot/)
89
- */
90
- function AreaPlot(props) {
91
- var slots = props.slots,
92
- slotProps = props.slotProps,
93
- onItemClick = props.onItemClick,
94
- skipAnimation = props.skipAnimation,
95
- other = _objectWithoutProperties(props, _excluded);
96
- var completedData = useAggregatedData();
97
- return /*#__PURE__*/_jsx("g", _extends({}, other, {
98
- children: completedData.reverse().map(function (_ref2) {
99
- var d = _ref2.d,
100
- seriesId = _ref2.seriesId,
101
- color = _ref2.color,
102
- highlightScope = _ref2.highlightScope,
103
- area = _ref2.area;
104
- return !!area && /*#__PURE__*/_jsx(AreaElement, {
105
- id: seriesId,
106
- d: d,
107
- color: color,
108
- highlightScope: highlightScope,
109
- slots: slots,
110
- slotProps: slotProps,
111
- onClick: onItemClick && function (event) {
112
- return onItemClick(event, {
113
- type: 'line',
114
- seriesId: seriesId
115
- });
116
- },
117
- skipAnimation: skipAnimation
118
- }, seriesId);
119
- })
120
- }));
121
- }
122
- process.env.NODE_ENV !== "production" ? AreaPlot.propTypes = {
123
- // ----------------------------- Warning --------------------------------
124
- // | These PropTypes are generated from the TypeScript type definitions |
125
- // | To update them edit the TypeScript types and run "yarn proptypes" |
126
- // ----------------------------------------------------------------------
127
- /**
128
- * Callback fired when a line area item is clicked.
129
- * @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
130
- * @param {LineItemIdentifier} lineItemIdentifier The line item identifier.
131
- */
132
- onItemClick: PropTypes.func,
133
- /**
134
- * If `true`, animations are skipped.
135
- * @default false
136
- */
137
- skipAnimation: PropTypes.bool,
138
- /**
139
- * The props used for each component slot.
140
- * @default {}
141
- */
142
- slotProps: PropTypes.object,
143
- /**
144
- * Overridable component slots.
145
- * @default {}
146
- */
147
- slots: PropTypes.object
148
- } : void 0;
149
- export { AreaPlot };