@mui/x-charts 7.0.0-beta.0 → 7.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BarChart/BarChart.d.ts +2 -1
- package/BarChart/BarChart.js +33 -12
- package/BarChart/BarElement.d.ts +20 -13
- package/BarChart/BarElement.js +7 -3
- package/BarChart/BarPlot.d.ts +11 -6
- package/BarChart/BarPlot.js +28 -15
- package/BarChart/formatter.js +1 -1
- package/CHANGELOG.md +406 -1
- package/ChartContainer/ChartContainer.js +6 -4
- package/ChartsAxis/ChartsAxis.js +4 -4
- package/ChartsLegend/ChartsLegend.d.ts +5 -54
- package/ChartsLegend/ChartsLegend.js +2 -307
- package/ChartsLegend/DefaultChartsLegend.d.ts +60 -0
- package/ChartsLegend/DefaultChartsLegend.js +294 -0
- package/ChartsLegend/index.d.ts +1 -0
- package/ChartsLegend/index.js +11 -0
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.d.ts +20 -0
- package/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +83 -0
- package/ChartsOnAxisClickHandler/index.d.ts +1 -0
- package/ChartsOnAxisClickHandler/index.js +16 -0
- package/ChartsOnAxisClickHandler/package.json +6 -0
- package/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/ChartsReferenceLine/common.d.ts +2 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +6 -5
- package/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -5
- package/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/ChartsTooltip/utils.d.ts +4 -1
- package/ChartsTooltip/utils.js +15 -0
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.d.ts +7 -0
- package/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/ChartsXAxis/ChartsXAxis.js +13 -9
- package/ChartsYAxis/ChartsYAxis.js +1 -1
- package/LineChart/AnimatedArea.d.ts +1361 -0
- package/LineChart/AnimatedArea.js +111 -0
- package/LineChart/AnimatedLine.d.ts +1361 -0
- package/LineChart/AnimatedLine.js +113 -0
- package/LineChart/AreaElement.d.ts +19 -18
- package/LineChart/AreaElement.js +17 -34
- package/LineChart/AreaPlot.d.ts +12 -7
- package/LineChart/AreaPlot.js +91 -58
- package/LineChart/LineChart.d.ts +13 -4
- package/LineChart/LineChart.js +45 -14
- package/LineChart/LineElement.d.ts +19 -18
- package/LineChart/LineElement.js +16 -36
- package/LineChart/LineHighlightElement.d.ts +3 -2
- package/LineChart/LineHighlightElement.js +5 -3
- package/LineChart/LinePlot.d.ts +12 -7
- package/LineChart/LinePlot.js +89 -56
- package/LineChart/MarkElement.d.ts +8 -4
- package/LineChart/MarkElement.js +27 -13
- package/LineChart/MarkPlot.d.ts +8 -1
- package/LineChart/MarkPlot.js +80 -51
- package/LineChart/formatter.js +1 -1
- package/LineChart/index.d.ts +2 -0
- package/LineChart/index.js +22 -0
- package/PieChart/PieArc.d.ts +3 -2
- package/PieChart/PieArc.js +1 -0
- package/PieChart/PieArcLabel.d.ts +3 -2
- package/PieChart/PieArcLabel.js +1 -0
- package/PieChart/PieArcLabelPlot.d.ts +1 -1
- package/PieChart/PieArcLabelPlot.js +2 -2
- package/PieChart/PieArcPlot.d.ts +2 -2
- package/PieChart/PieArcPlot.js +7 -7
- package/PieChart/PieChart.d.ts +1 -1
- package/PieChart/PieChart.js +14 -12
- package/PieChart/PiePlot.d.ts +1 -1
- package/PieChart/PiePlot.js +4 -4
- package/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
- package/ScatterChart/Scatter.d.ts +7 -1
- package/ScatterChart/Scatter.js +17 -3
- package/ScatterChart/ScatterChart.d.ts +8 -2
- package/ScatterChart/ScatterChart.js +21 -10
- package/ScatterChart/ScatterPlot.d.ts +1 -1
- package/ScatterChart/ScatterPlot.js +10 -2
- package/SparkLineChart/SparkLineChart.d.ts +1 -1
- package/SparkLineChart/SparkLineChart.js +7 -4
- package/context/CartesianContextProvider.js +8 -6
- package/context/DrawingProvider.d.ts +6 -1
- package/context/DrawingProvider.js +9 -2
- package/context/InteractionProvider.d.ts +3 -3
- package/esm/BarChart/BarChart.js +33 -12
- package/esm/BarChart/BarElement.js +7 -3
- package/esm/BarChart/BarPlot.js +27 -15
- package/esm/BarChart/formatter.js +1 -1
- package/esm/ChartContainer/ChartContainer.js +6 -4
- package/esm/ChartsAxis/ChartsAxis.js +4 -4
- package/esm/ChartsLegend/ChartsLegend.js +2 -307
- package/esm/ChartsLegend/DefaultChartsLegend.js +286 -0
- package/esm/ChartsLegend/index.js +1 -0
- package/esm/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +77 -0
- package/esm/ChartsOnAxisClickHandler/index.js +1 -0
- package/esm/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/esm/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/esm/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +6 -5
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/esm/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -5
- package/esm/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/esm/ChartsTooltip/utils.js +12 -0
- package/esm/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/esm/ChartsXAxis/ChartsXAxis.js +13 -9
- package/esm/ChartsYAxis/ChartsYAxis.js +1 -1
- package/esm/LineChart/AnimatedArea.js +103 -0
- package/esm/LineChart/AnimatedLine.js +105 -0
- package/esm/LineChart/AreaElement.js +16 -33
- package/esm/LineChart/AreaPlot.js +92 -59
- package/esm/LineChart/LineChart.js +45 -14
- package/esm/LineChart/LineElement.js +16 -35
- package/esm/LineChart/LineHighlightElement.js +5 -3
- package/esm/LineChart/LinePlot.js +90 -57
- package/esm/LineChart/MarkElement.js +27 -13
- package/esm/LineChart/MarkPlot.js +80 -51
- package/esm/LineChart/formatter.js +1 -1
- package/esm/LineChart/index.js +2 -0
- package/esm/PieChart/PieArc.js +1 -0
- package/esm/PieChart/PieArcLabel.js +1 -0
- package/esm/PieChart/PieArcLabelPlot.js +2 -2
- package/esm/PieChart/PieArcPlot.js +7 -7
- package/esm/PieChart/PieChart.js +14 -12
- package/esm/PieChart/PiePlot.js +4 -4
- package/esm/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
- package/esm/ScatterChart/Scatter.js +17 -3
- package/esm/ScatterChart/ScatterChart.js +21 -10
- package/esm/ScatterChart/ScatterPlot.js +10 -2
- package/esm/SparkLineChart/SparkLineChart.js +7 -4
- package/esm/context/CartesianContextProvider.js +8 -6
- package/esm/context/DrawingProvider.js +9 -2
- package/esm/hooks/useDrawingArea.js +7 -3
- package/esm/index.js +1 -0
- package/esm/internals/geometry.js +1 -1
- package/esm/internals/useAnimatedPath.js +29 -0
- package/esm/internals/utils.js +7 -0
- package/hooks/useDrawingArea.d.ts +2 -0
- package/hooks/useDrawingArea.js +7 -3
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/internals/defaultizeColor.d.ts +16 -16
- package/internals/defaultizeValueFormatter.d.ts +4 -7
- package/internals/geometry.js +1 -1
- package/internals/stackSeries.d.ts +4 -7
- package/internals/useAnimatedPath.d.ts +1 -0
- package/internals/useAnimatedPath.js +38 -0
- package/internals/utils.d.ts +4 -0
- package/internals/utils.js +8 -0
- package/legacy/BarChart/BarChart.js +33 -12
- package/legacy/BarChart/BarElement.js +6 -2
- package/legacy/BarChart/BarPlot.js +28 -14
- package/legacy/BarChart/formatter.js +1 -1
- package/legacy/ChartContainer/ChartContainer.js +6 -4
- package/legacy/ChartsAxis/ChartsAxis.js +4 -4
- package/legacy/ChartsLegend/ChartsLegend.js +2 -323
- package/legacy/ChartsLegend/DefaultChartsLegend.js +302 -0
- package/legacy/ChartsLegend/index.js +1 -0
- package/legacy/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
- package/legacy/ChartsOnAxisClickHandler/index.js +1 -0
- package/legacy/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/legacy/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/legacy/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +6 -7
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/legacy/ChartsTooltip/DefaultChartsAxisTooltipContent.js +8 -5
- package/legacy/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/legacy/ChartsTooltip/utils.js +12 -0
- package/legacy/ChartsVoronoiHandler/ChartsVoronoiHandler.js +88 -44
- package/legacy/ChartsXAxis/ChartsXAxis.js +12 -8
- package/legacy/ChartsYAxis/ChartsYAxis.js +1 -1
- package/legacy/LineChart/AnimatedArea.js +102 -0
- package/legacy/LineChart/AnimatedLine.js +104 -0
- package/legacy/LineChart/AreaElement.js +15 -35
- package/legacy/LineChart/AreaPlot.js +102 -66
- package/legacy/LineChart/LineChart.js +45 -14
- package/legacy/LineChart/LineElement.js +15 -37
- package/legacy/LineChart/LineHighlightElement.js +5 -3
- package/legacy/LineChart/LinePlot.js +97 -63
- package/legacy/LineChart/MarkElement.js +30 -12
- package/legacy/LineChart/MarkPlot.js +83 -53
- package/legacy/LineChart/formatter.js +1 -1
- package/legacy/LineChart/index.js +2 -0
- package/legacy/PieChart/PieArc.js +1 -0
- package/legacy/PieChart/PieArcLabel.js +1 -0
- package/legacy/PieChart/PieArcLabelPlot.js +2 -2
- package/legacy/PieChart/PieArcPlot.js +7 -7
- package/legacy/PieChart/PieChart.js +14 -12
- package/legacy/PieChart/PiePlot.js +4 -4
- package/legacy/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
- package/legacy/ScatterChart/Scatter.js +19 -3
- package/legacy/ScatterChart/ScatterChart.js +21 -10
- package/legacy/ScatterChart/ScatterPlot.js +10 -2
- package/legacy/SparkLineChart/SparkLineChart.js +8 -5
- package/legacy/context/CartesianContextProvider.js +8 -6
- package/legacy/context/DrawingProvider.js +11 -2
- package/legacy/hooks/useDrawingArea.js +7 -3
- package/legacy/index.js +2 -1
- package/legacy/internals/geometry.js +1 -1
- package/legacy/internals/useAnimatedPath.js +32 -0
- package/legacy/internals/utils.js +7 -0
- package/models/axis.d.ts +7 -2
- package/models/seriesType/common.d.ts +2 -1
- package/models/seriesType/config.d.ts +7 -12
- package/models/seriesType/line.d.ts +2 -2
- package/models/seriesType/pie.d.ts +7 -3
- package/models/seriesType/scatter.d.ts +5 -2
- package/modern/BarChart/BarChart.js +33 -12
- package/modern/BarChart/BarElement.js +7 -3
- package/modern/BarChart/BarPlot.js +27 -15
- package/modern/BarChart/formatter.js +1 -1
- package/modern/ChartContainer/ChartContainer.js +6 -4
- package/modern/ChartsAxis/ChartsAxis.js +4 -4
- package/modern/ChartsLegend/ChartsLegend.js +2 -307
- package/modern/ChartsLegend/DefaultChartsLegend.js +286 -0
- package/modern/ChartsLegend/index.js +1 -0
- package/modern/ChartsOnAxisClickHandler/ChartsOnAxisClickHandler.js +75 -0
- package/modern/ChartsOnAxisClickHandler/index.js +1 -0
- package/modern/ChartsReferenceLine/ChartsReferenceLine.js +2 -2
- package/modern/ChartsReferenceLine/ChartsXReferenceLine.js +1 -1
- package/modern/ChartsReferenceLine/ChartsYReferenceLine.js +1 -1
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +6 -5
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +2 -2
- package/modern/ChartsTooltip/DefaultChartsAxisTooltipContent.js +7 -5
- package/modern/ChartsTooltip/DefaultChartsItemTooltipContent.js +1 -1
- package/modern/ChartsTooltip/utils.js +12 -0
- package/modern/ChartsVoronoiHandler/ChartsVoronoiHandler.js +92 -44
- package/modern/ChartsXAxis/ChartsXAxis.js +13 -9
- package/modern/ChartsYAxis/ChartsYAxis.js +1 -1
- package/modern/LineChart/AnimatedArea.js +103 -0
- package/modern/LineChart/AnimatedLine.js +105 -0
- package/modern/LineChart/AreaElement.js +16 -33
- package/modern/LineChart/AreaPlot.js +91 -58
- package/modern/LineChart/LineChart.js +45 -14
- package/modern/LineChart/LineElement.js +16 -35
- package/modern/LineChart/LineHighlightElement.js +5 -3
- package/modern/LineChart/LinePlot.js +89 -56
- package/modern/LineChart/MarkElement.js +27 -13
- package/modern/LineChart/MarkPlot.js +80 -51
- package/modern/LineChart/formatter.js +1 -1
- package/modern/LineChart/index.js +2 -0
- package/modern/PieChart/PieArc.js +1 -0
- package/modern/PieChart/PieArcLabel.js +1 -0
- package/modern/PieChart/PieArcLabelPlot.js +2 -2
- package/modern/PieChart/PieArcPlot.js +7 -7
- package/modern/PieChart/PieChart.js +14 -12
- package/modern/PieChart/PiePlot.js +4 -4
- package/modern/ResponsiveChartContainer/ResponsiveChartContainer.js +6 -4
- package/modern/ScatterChart/Scatter.js +17 -3
- package/modern/ScatterChart/ScatterChart.js +21 -10
- package/modern/ScatterChart/ScatterPlot.js +10 -2
- package/modern/SparkLineChart/SparkLineChart.js +7 -4
- package/modern/context/CartesianContextProvider.js +8 -6
- package/modern/context/DrawingProvider.js +9 -2
- package/modern/hooks/useDrawingArea.js +7 -3
- package/modern/index.js +2 -1
- package/modern/internals/geometry.js +1 -1
- package/modern/internals/useAnimatedPath.js +29 -0
- package/modern/internals/utils.js +7 -0
- package/package.json +6 -5
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AnimatedLine = AnimatedLine;
|
|
8
|
+
exports.LineElementPath = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _web = require("@react-spring/web");
|
|
14
|
+
var _d3Color = require("d3-color");
|
|
15
|
+
var _styles = require("@mui/material/styles");
|
|
16
|
+
var _useAnimatedPath = require("../internals/useAnimatedPath");
|
|
17
|
+
var _DrawingProvider = require("../context/DrawingProvider");
|
|
18
|
+
var _utils = require("../internals/utils");
|
|
19
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
+
const _excluded = ["d", "skipAnimation", "ownerState"];
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
+
const LineElementPath = exports.LineElementPath = (0, _styles.styled)(_web.animated.path, {
|
|
24
|
+
name: 'MuiLineElement',
|
|
25
|
+
slot: 'Root',
|
|
26
|
+
overridesResolver: (_, styles) => styles.root
|
|
27
|
+
})(({
|
|
28
|
+
ownerState
|
|
29
|
+
}) => ({
|
|
30
|
+
strokeWidth: 2,
|
|
31
|
+
strokeLinejoin: 'round',
|
|
32
|
+
fill: 'none',
|
|
33
|
+
stroke: ownerState.isHighlighted ? (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex() : ownerState.color,
|
|
34
|
+
transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
|
|
35
|
+
opacity: ownerState.isFaded ? 0.3 : 1
|
|
36
|
+
}));
|
|
37
|
+
/**
|
|
38
|
+
* Demos:
|
|
39
|
+
*
|
|
40
|
+
* - [Lines](https://mui.com/x/react-charts/lines/)
|
|
41
|
+
* - [Line demonstration](https://mui.com/x/react-charts/line-demo/)
|
|
42
|
+
*
|
|
43
|
+
* API:
|
|
44
|
+
*
|
|
45
|
+
* - [AnimatedLine API](https://mui.com/x/api/charts/animated-line/)
|
|
46
|
+
*/
|
|
47
|
+
function AnimatedLine(props) {
|
|
48
|
+
const {
|
|
49
|
+
d,
|
|
50
|
+
skipAnimation,
|
|
51
|
+
ownerState
|
|
52
|
+
} = props,
|
|
53
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
54
|
+
const {
|
|
55
|
+
left,
|
|
56
|
+
top,
|
|
57
|
+
bottom,
|
|
58
|
+
width,
|
|
59
|
+
height,
|
|
60
|
+
right,
|
|
61
|
+
chartId
|
|
62
|
+
} = React.useContext(_DrawingProvider.DrawingContext);
|
|
63
|
+
const path = (0, _useAnimatedPath.useAnimatedPath)(d, skipAnimation);
|
|
64
|
+
const {
|
|
65
|
+
animatedWidth
|
|
66
|
+
} = (0, _web.useSpring)({
|
|
67
|
+
from: {
|
|
68
|
+
animatedWidth: left
|
|
69
|
+
},
|
|
70
|
+
to: {
|
|
71
|
+
animatedWidth: width + left + right
|
|
72
|
+
},
|
|
73
|
+
reset: false,
|
|
74
|
+
immediate: skipAnimation
|
|
75
|
+
});
|
|
76
|
+
const clipId = (0, _utils.cleanId)(`${chartId}-${ownerState.id}-line-clip`);
|
|
77
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
78
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("clipPath", {
|
|
79
|
+
id: clipId,
|
|
80
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_web.animated.rect, {
|
|
81
|
+
x: 0,
|
|
82
|
+
y: 0,
|
|
83
|
+
width: animatedWidth,
|
|
84
|
+
height: top + height + bottom
|
|
85
|
+
})
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
87
|
+
clipPath: `url(#${clipId})`,
|
|
88
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LineElementPath, (0, _extends2.default)({}, other, {
|
|
89
|
+
ownerState: ownerState,
|
|
90
|
+
d: path
|
|
91
|
+
}))
|
|
92
|
+
})]
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
process.env.NODE_ENV !== "production" ? AnimatedLine.propTypes = {
|
|
96
|
+
// ----------------------------- Warning --------------------------------
|
|
97
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
98
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
99
|
+
// ----------------------------------------------------------------------
|
|
100
|
+
d: _propTypes.default.string.isRequired,
|
|
101
|
+
ownerState: _propTypes.default.shape({
|
|
102
|
+
classes: _propTypes.default.object,
|
|
103
|
+
color: _propTypes.default.string.isRequired,
|
|
104
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
105
|
+
isFaded: _propTypes.default.bool.isRequired,
|
|
106
|
+
isHighlighted: _propTypes.default.bool.isRequired
|
|
107
|
+
}).isRequired,
|
|
108
|
+
/**
|
|
109
|
+
* If `true`, animations are skipped.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
skipAnimation: _propTypes.default.bool
|
|
113
|
+
} : void 0;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { SlotComponentProps } from '@mui/base/utils';
|
|
3
2
|
import { HighlightScope } from '../context/HighlightProvider';
|
|
3
|
+
import { AnimatedAreaProps } from './AnimatedArea';
|
|
4
|
+
import { SeriesId } from '../models/seriesType/common';
|
|
4
5
|
export interface AreaElementClasses {
|
|
5
6
|
/** Styles applied to the root element. */
|
|
6
7
|
root: string;
|
|
@@ -10,8 +11,8 @@ export interface AreaElementClasses {
|
|
|
10
11
|
faded: string;
|
|
11
12
|
}
|
|
12
13
|
export type AreaElementClassKey = keyof AreaElementClasses;
|
|
13
|
-
interface AreaElementOwnerState {
|
|
14
|
-
id:
|
|
14
|
+
export interface AreaElementOwnerState {
|
|
15
|
+
id: SeriesId;
|
|
15
16
|
color: string;
|
|
16
17
|
isFaded: boolean;
|
|
17
18
|
isHighlighted: boolean;
|
|
@@ -19,30 +20,30 @@ interface AreaElementOwnerState {
|
|
|
19
20
|
}
|
|
20
21
|
export declare function getAreaElementUtilityClass(slot: string): string;
|
|
21
22
|
export declare const areaElementClasses: AreaElementClasses;
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
export interface AreaElementSlots {
|
|
24
|
+
/**
|
|
25
|
+
* The component that renders the area.
|
|
26
|
+
* @default AnimatedArea
|
|
27
|
+
*/
|
|
28
|
+
area?: React.JSXElementConstructor<AnimatedAreaProps>;
|
|
29
|
+
}
|
|
30
|
+
export interface AreaElementSlotProps {
|
|
31
|
+
area?: AnimatedAreaProps;
|
|
32
|
+
}
|
|
33
|
+
export interface AreaElementProps extends Omit<AreaElementOwnerState, 'isFaded' | 'isHighlighted'>, Pick<AnimatedAreaProps, 'skipAnimation'>, Omit<React.ComponentPropsWithoutRef<'path'>, 'color' | 'id'> {
|
|
34
|
+
d: string;
|
|
26
35
|
highlightScope?: Partial<HighlightScope>;
|
|
27
36
|
/**
|
|
28
37
|
* The props used for each component slot.
|
|
29
38
|
* @default {}
|
|
30
39
|
*/
|
|
31
|
-
slotProps?:
|
|
32
|
-
area?: SlotComponentProps<'path', {}, AreaElementOwnerState>;
|
|
33
|
-
};
|
|
40
|
+
slotProps?: AreaElementSlotProps;
|
|
34
41
|
/**
|
|
35
42
|
* Overridable component slots.
|
|
36
43
|
* @default {}
|
|
37
44
|
*/
|
|
38
|
-
slots?:
|
|
39
|
-
|
|
40
|
-
* The component that renders the root.
|
|
41
|
-
* @default AreaElementPath
|
|
42
|
-
*/
|
|
43
|
-
area?: React.ElementType;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
45
|
+
slots?: AreaElementSlots;
|
|
46
|
+
}
|
|
46
47
|
/**
|
|
47
48
|
* Demos:
|
|
48
49
|
*
|
package/LineChart/AreaElement.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.AreaElement = AreaElement;
|
|
8
|
-
exports.areaElementClasses =
|
|
8
|
+
exports.areaElementClasses = void 0;
|
|
9
9
|
exports.getAreaElementUtilityClass = getAreaElementUtilityClass;
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
@@ -14,13 +14,12 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
15
|
var _utils = require("@mui/base/utils");
|
|
16
16
|
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
17
|
-
var _styles = require("@mui/material/styles");
|
|
18
17
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
19
|
-
var _d3Color = require("d3-color");
|
|
20
18
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
21
19
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
20
|
+
var _AnimatedArea = require("./AnimatedArea");
|
|
22
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
|
-
const _excluded = ["id", "classes", "color", "highlightScope", "slots", "slotProps"];
|
|
22
|
+
const _excluded = ["id", "classes", "color", "highlightScope", "slots", "slotProps", "onClick"];
|
|
24
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
25
24
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
26
25
|
function getAreaElementUtilityClass(slot) {
|
|
@@ -39,33 +38,6 @@ const useUtilityClasses = ownerState => {
|
|
|
39
38
|
};
|
|
40
39
|
return (0, _composeClasses.default)(slots, getAreaElementUtilityClass, classes);
|
|
41
40
|
};
|
|
42
|
-
const AreaElementPath = exports.AreaElementPath = (0, _styles.styled)('path', {
|
|
43
|
-
name: 'MuiAreaElement',
|
|
44
|
-
slot: 'Root',
|
|
45
|
-
overridesResolver: (_, styles) => styles.root
|
|
46
|
-
})(({
|
|
47
|
-
ownerState
|
|
48
|
-
}) => ({
|
|
49
|
-
stroke: 'none',
|
|
50
|
-
fill: ownerState.isHighlighted ? (0, _d3Color.color)(ownerState.color).brighter(1).formatHex() : (0, _d3Color.color)(ownerState.color).brighter(0.5).formatHex(),
|
|
51
|
-
transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
|
|
52
|
-
opacity: ownerState.isFaded ? 0.3 : 1
|
|
53
|
-
}));
|
|
54
|
-
AreaElementPath.propTypes = {
|
|
55
|
-
// ----------------------------- Warning --------------------------------
|
|
56
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
57
|
-
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
58
|
-
// ----------------------------------------------------------------------
|
|
59
|
-
as: _propTypes.default.elementType,
|
|
60
|
-
ownerState: _propTypes.default.shape({
|
|
61
|
-
classes: _propTypes.default.object,
|
|
62
|
-
color: _propTypes.default.string.isRequired,
|
|
63
|
-
id: _propTypes.default.string.isRequired,
|
|
64
|
-
isFaded: _propTypes.default.bool.isRequired,
|
|
65
|
-
isHighlighted: _propTypes.default.bool.isRequired
|
|
66
|
-
}).isRequired,
|
|
67
|
-
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
68
|
-
};
|
|
69
41
|
/**
|
|
70
42
|
* Demos:
|
|
71
43
|
*
|
|
@@ -83,7 +55,8 @@ function AreaElement(props) {
|
|
|
83
55
|
color,
|
|
84
56
|
highlightScope,
|
|
85
57
|
slots,
|
|
86
|
-
slotProps
|
|
58
|
+
slotProps,
|
|
59
|
+
onClick
|
|
87
60
|
} = props,
|
|
88
61
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
89
62
|
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
|
|
@@ -106,7 +79,7 @@ function AreaElement(props) {
|
|
|
106
79
|
isHighlighted
|
|
107
80
|
};
|
|
108
81
|
const classes = useUtilityClasses(ownerState);
|
|
109
|
-
const Area = slots?.area ??
|
|
82
|
+
const Area = slots?.area ?? _AnimatedArea.AnimatedArea;
|
|
110
83
|
const areaProps = (0, _utils.useSlotProps)({
|
|
111
84
|
elementType: Area,
|
|
112
85
|
externalSlotProps: slotProps?.area,
|
|
@@ -114,7 +87,9 @@ function AreaElement(props) {
|
|
|
114
87
|
type: 'line',
|
|
115
88
|
seriesId: id
|
|
116
89
|
}), {
|
|
117
|
-
className: classes.root
|
|
90
|
+
className: classes.root,
|
|
91
|
+
onClick,
|
|
92
|
+
cursor: onClick ? 'pointer' : 'unset'
|
|
118
93
|
}),
|
|
119
94
|
ownerState
|
|
120
95
|
});
|
|
@@ -126,10 +101,18 @@ process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
|
|
|
126
101
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
127
102
|
// ----------------------------------------------------------------------
|
|
128
103
|
classes: _propTypes.default.object,
|
|
104
|
+
color: _propTypes.default.string.isRequired,
|
|
105
|
+
d: _propTypes.default.string.isRequired,
|
|
129
106
|
highlightScope: _propTypes.default.shape({
|
|
130
107
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
131
108
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
132
109
|
}),
|
|
110
|
+
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
111
|
+
/**
|
|
112
|
+
* If `true`, animations are skipped.
|
|
113
|
+
* @default false
|
|
114
|
+
*/
|
|
115
|
+
skipAnimation: _propTypes.default.bool,
|
|
133
116
|
/**
|
|
134
117
|
* The props used for each component slot.
|
|
135
118
|
* @default {}
|
package/LineChart/AreaPlot.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AreaElementProps } from './AreaElement';
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { AreaElementProps, AreaElementSlotProps, AreaElementSlots } from './AreaElement';
|
|
3
|
+
import { LineItemIdentifier } from '../models/seriesType/line';
|
|
4
|
+
export interface AreaPlotSlots extends AreaElementSlots {
|
|
5
5
|
}
|
|
6
|
-
export interface AreaPlotSlotProps {
|
|
7
|
-
area?: Partial<AreaElementProps>;
|
|
6
|
+
export interface AreaPlotSlotProps extends AreaElementSlotProps {
|
|
8
7
|
}
|
|
9
|
-
export interface AreaPlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<AreaElementProps, 'slots' | 'slotProps'> {
|
|
8
|
+
export interface AreaPlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<AreaElementProps, 'slots' | 'slotProps' | 'skipAnimation'> {
|
|
9
|
+
/**
|
|
10
|
+
* Callback fired when a line area item is clicked.
|
|
11
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
12
|
+
* @param {LineItemIdentifier} lineItemIdentifier The line item identifier.
|
|
13
|
+
*/
|
|
14
|
+
onItemClick?: (event: React.MouseEvent<SVGElement, MouseEvent>, lineItemIdentifier: LineItemIdentifier) => void;
|
|
10
15
|
}
|
|
11
16
|
/**
|
|
12
17
|
* Demos:
|
|
@@ -19,7 +24,7 @@ export interface AreaPlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<
|
|
|
19
24
|
*
|
|
20
25
|
* - [AreaPlot API](https://mui.com/x/api/charts/area-plot/)
|
|
21
26
|
*/
|
|
22
|
-
declare function AreaPlot(props: AreaPlotProps): React.JSX.Element
|
|
27
|
+
declare function AreaPlot(props: AreaPlotProps): React.JSX.Element;
|
|
23
28
|
declare namespace AreaPlot {
|
|
24
29
|
var propTypes: any;
|
|
25
30
|
}
|
package/LineChart/AreaPlot.js
CHANGED
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.AreaPlot = AreaPlot;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _d3Shape = require("d3-shape");
|
|
@@ -17,30 +17,14 @@ var _useScale = require("../hooks/useScale");
|
|
|
17
17
|
var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
|
|
18
18
|
var _constants = require("../constants");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["slots", "slotProps"];
|
|
20
|
+
const _excluded = ["slots", "slotProps", "onItemClick", "skipAnimation"];
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
-
|
|
24
|
-
* Demos:
|
|
25
|
-
*
|
|
26
|
-
* - [Lines](https://mui.com/x/react-charts/lines/)
|
|
27
|
-
* - [Areas demonstration](https://mui.com/x/react-charts/areas-demo/)
|
|
28
|
-
* - [Stacking](https://mui.com/x/react-charts/stacking/)
|
|
29
|
-
*
|
|
30
|
-
* API:
|
|
31
|
-
*
|
|
32
|
-
* - [AreaPlot API](https://mui.com/x/api/charts/area-plot/)
|
|
33
|
-
*/
|
|
34
|
-
function AreaPlot(props) {
|
|
35
|
-
const {
|
|
36
|
-
slots,
|
|
37
|
-
slotProps
|
|
38
|
-
} = props,
|
|
39
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
23
|
+
const useAggregatedData = () => {
|
|
40
24
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
41
25
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
42
26
|
if (seriesData === undefined) {
|
|
43
|
-
return
|
|
27
|
+
return [];
|
|
44
28
|
}
|
|
45
29
|
const {
|
|
46
30
|
series,
|
|
@@ -54,46 +38,84 @@ function AreaPlot(props) {
|
|
|
54
38
|
} = axisData;
|
|
55
39
|
const defaultXAxisId = xAxisIds[0];
|
|
56
40
|
const defaultYAxisId = yAxisIds[0];
|
|
57
|
-
return
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (
|
|
73
|
-
|
|
74
|
-
throw new Error(`MUI X Charts: ${xAxisKey === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisKey}"`} should have data property to be able to display a line plot.`);
|
|
75
|
-
}
|
|
76
|
-
if (xData.length < stackedData.length) {
|
|
77
|
-
throw new Error(`MUI X Charts: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
|
|
78
|
-
}
|
|
41
|
+
return stackingGroups.flatMap(({
|
|
42
|
+
ids: groupIds
|
|
43
|
+
}) => {
|
|
44
|
+
return groupIds.flatMap(seriesId => {
|
|
45
|
+
const {
|
|
46
|
+
xAxisKey = defaultXAxisId,
|
|
47
|
+
yAxisKey = defaultYAxisId,
|
|
48
|
+
stackedData,
|
|
49
|
+
data,
|
|
50
|
+
connectNulls
|
|
51
|
+
} = series[seriesId];
|
|
52
|
+
const xScale = (0, _useScale.getValueToPositionMapper)(xAxis[xAxisKey].scale);
|
|
53
|
+
const yScale = yAxis[yAxisKey].scale;
|
|
54
|
+
const xData = xAxis[xAxisKey].data;
|
|
55
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
56
|
+
if (xData === undefined) {
|
|
57
|
+
throw new Error(`MUI X Charts: ${xAxisKey === _constants.DEFAULT_X_AXIS_KEY ? 'The first `xAxis`' : `The x-axis with id "${xAxisKey}"`} should have data property to be able to display a line plot.`);
|
|
79
58
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
59
|
+
if (xData.length < stackedData.length) {
|
|
60
|
+
throw new Error(`MUI X Charts: The data length of the x axis (${xData.length} items) is lower than the length of series (${stackedData.length} items).`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const areaPath = (0, _d3Shape.area)().x(d => xScale(d.x)).defined((_, i) => connectNulls || data[i] != null).y0(d => d.y && yScale(d.y[0])).y1(d => d.y && yScale(d.y[1]));
|
|
64
|
+
const curve = (0, _getCurve.default)(series[seriesId].curve);
|
|
65
|
+
const formattedData = xData?.map((x, index) => ({
|
|
66
|
+
x,
|
|
67
|
+
y: stackedData[index]
|
|
68
|
+
})) ?? [];
|
|
69
|
+
const d3Data = connectNulls ? formattedData.filter((_, i) => data[i] != null) : formattedData;
|
|
70
|
+
const d = areaPath.curve(curve)(d3Data) || '';
|
|
71
|
+
return (0, _extends2.default)({}, series[seriesId], {
|
|
72
|
+
d,
|
|
73
|
+
seriesId
|
|
95
74
|
});
|
|
96
|
-
})
|
|
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
|
+
const {
|
|
92
|
+
slots,
|
|
93
|
+
slotProps,
|
|
94
|
+
onItemClick,
|
|
95
|
+
skipAnimation
|
|
96
|
+
} = props,
|
|
97
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
98
|
+
const completedData = useAggregatedData();
|
|
99
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
100
|
+
children: completedData.reverse().map(({
|
|
101
|
+
d,
|
|
102
|
+
seriesId,
|
|
103
|
+
color,
|
|
104
|
+
highlightScope,
|
|
105
|
+
area
|
|
106
|
+
}) => !!area && /*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaElement.AreaElement, {
|
|
107
|
+
id: seriesId,
|
|
108
|
+
d: d,
|
|
109
|
+
color: color,
|
|
110
|
+
highlightScope: highlightScope,
|
|
111
|
+
slots: slots,
|
|
112
|
+
slotProps: slotProps,
|
|
113
|
+
onClick: onItemClick && (event => onItemClick(event, {
|
|
114
|
+
type: 'line',
|
|
115
|
+
seriesId
|
|
116
|
+
})),
|
|
117
|
+
skipAnimation: skipAnimation
|
|
118
|
+
}, seriesId))
|
|
97
119
|
}));
|
|
98
120
|
}
|
|
99
121
|
process.env.NODE_ENV !== "production" ? AreaPlot.propTypes = {
|
|
@@ -101,6 +123,17 @@ process.env.NODE_ENV !== "production" ? AreaPlot.propTypes = {
|
|
|
101
123
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
102
124
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
103
125
|
// ----------------------------------------------------------------------
|
|
126
|
+
/**
|
|
127
|
+
* Callback fired when a line area item is clicked.
|
|
128
|
+
* @param {React.MouseEvent<SVGPathElement, MouseEvent>} event The event source of the callback.
|
|
129
|
+
* @param {LineItemIdentifier} lineItemIdentifier The line item identifier.
|
|
130
|
+
*/
|
|
131
|
+
onItemClick: _propTypes.default.func,
|
|
132
|
+
/**
|
|
133
|
+
* If `true`, animations are skipped.
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
skipAnimation: _propTypes.default.bool,
|
|
104
137
|
/**
|
|
105
138
|
* The props used for each component slot.
|
|
106
139
|
* @default {}
|
package/LineChart/LineChart.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AreaPlotSlotProps, AreaPlotSlots } from './AreaPlot';
|
|
3
|
-
import { LinePlotSlotProps, LinePlotSlots } from './LinePlot';
|
|
2
|
+
import { AreaPlotProps, AreaPlotSlotProps, AreaPlotSlots } from './AreaPlot';
|
|
3
|
+
import { LinePlotProps, LinePlotSlotProps, LinePlotSlots } from './LinePlot';
|
|
4
4
|
import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
|
|
5
|
-
import { MarkPlotSlotProps, MarkPlotSlots } from './MarkPlot';
|
|
5
|
+
import { MarkPlotProps, MarkPlotSlotProps, MarkPlotSlots } from './MarkPlot';
|
|
6
6
|
import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
|
|
7
7
|
import { LineSeriesType } from '../models/seriesType/line';
|
|
8
8
|
import { MakeOptional } from '../models/helpers';
|
|
@@ -11,11 +11,12 @@ import { ChartsLegendProps, ChartsLegendSlotProps, ChartsLegendSlots } from '../
|
|
|
11
11
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
12
12
|
import { ChartsAxisSlotProps, ChartsAxisSlots } from '../models/axis';
|
|
13
13
|
import { LineHighlightPlotSlots, LineHighlightPlotSlotProps } from './LineHighlightPlot';
|
|
14
|
+
import { ChartsOnAxisClickHandlerProps } from '../ChartsOnAxisClickHandler';
|
|
14
15
|
export interface LineChartSlots extends ChartsAxisSlots, AreaPlotSlots, LinePlotSlots, MarkPlotSlots, LineHighlightPlotSlots, ChartsLegendSlots, ChartsTooltipSlots {
|
|
15
16
|
}
|
|
16
17
|
export interface LineChartSlotProps extends ChartsAxisSlotProps, AreaPlotSlotProps, LinePlotSlotProps, MarkPlotSlotProps, LineHighlightPlotSlotProps, ChartsLegendSlotProps, ChartsTooltipSlotProps {
|
|
17
18
|
}
|
|
18
|
-
export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'
|
|
19
|
+
export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'>, ChartsOnAxisClickHandlerProps {
|
|
19
20
|
series: MakeOptional<LineSeriesType, 'type'>[];
|
|
20
21
|
tooltip?: ChartsTooltipProps;
|
|
21
22
|
/**
|
|
@@ -45,6 +46,14 @@ export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'ser
|
|
|
45
46
|
* @default {}
|
|
46
47
|
*/
|
|
47
48
|
slotProps?: LineChartSlotProps;
|
|
49
|
+
onAreaClick?: AreaPlotProps['onItemClick'];
|
|
50
|
+
onLineClick?: LinePlotProps['onItemClick'];
|
|
51
|
+
onMarkClick?: MarkPlotProps['onItemClick'];
|
|
52
|
+
/**
|
|
53
|
+
* If `true`, animations are skipped.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
skipAnimation?: boolean;
|
|
48
57
|
}
|
|
49
58
|
/**
|
|
50
59
|
* Demos:
|