@mui/x-charts 6.0.0-alpha.5 → 6.0.0-alpha.7
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 +18 -2
- package/BarChart/BarChart.js +74 -17
- package/BarChart/BarElement.d.ts +22 -0
- package/BarChart/BarElement.js +21 -10
- package/BarChart/BarPlot.d.ts +14 -1
- package/BarChart/BarPlot.js +23 -4
- package/BarChart/formatter.js +23 -12
- package/CHANGELOG.md +154 -0
- package/ChartContainer/index.js +3 -0
- package/ChartsAxis/ChartsAxis.d.ts +11 -1
- package/ChartsAxis/ChartsAxis.js +51 -6
- package/ChartsLegend/ChartsLegend.d.ts +25 -2
- package/ChartsLegend/ChartsLegend.js +49 -17
- package/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/ChartsTooltip/ChartsTooltipTable.d.ts +2 -9
- package/ChartsXAxis/ChartsXAxis.js +44 -9
- package/ChartsYAxis/ChartsYAxis.js +44 -9
- package/LineChart/AreaElement.d.ts +22 -0
- package/LineChart/AreaElement.js +31 -11
- package/LineChart/AreaPlot.d.ts +14 -1
- package/LineChart/AreaPlot.js +32 -5
- package/LineChart/LineChart.d.ts +20 -2
- package/LineChart/LineChart.js +76 -16
- package/LineChart/LineElement.d.ts +22 -0
- package/LineChart/LineElement.js +31 -10
- package/LineChart/LinePlot.d.ts +14 -1
- package/LineChart/LinePlot.js +38 -6
- package/LineChart/MarkElement.js +1 -1
- package/LineChart/MarkPlot.d.ts +24 -1
- package/LineChart/MarkPlot.js +30 -6
- package/LineChart/formatter.js +23 -12
- package/PieChart/PieArcLabel.js +0 -1
- package/PieChart/PieChart.d.ts +14 -2
- package/PieChart/PieChart.js +60 -13
- package/PieChart/PiePlot.d.ts +27 -1
- package/PieChart/PiePlot.js +29 -6
- package/ScatterChart/ScatterChart.d.ts +18 -2
- package/ScatterChart/ScatterChart.js +64 -13
- package/ScatterChart/ScatterPlot.d.ts +24 -1
- package/ScatterChart/ScatterPlot.js +28 -4
- package/SparkLineChart/SparkLineChart.d.ts +73 -0
- package/SparkLineChart/SparkLineChart.js +218 -0
- package/SparkLineChart/index.d.ts +1 -0
- package/SparkLineChart/index.js +12 -0
- package/SparkLineChart/package.json +6 -0
- package/colorPalettes/colorPalettes.js +2 -2
- package/context/CartesianContextProvider.d.ts +3 -1
- package/context/CartesianContextProvider.js +50 -14
- package/context/SeriesContextProvider.d.ts +3 -2
- package/context/SeriesContextProvider.js +5 -3
- package/esm/BarChart/BarChart.js +77 -17
- package/esm/BarChart/BarElement.js +21 -11
- package/esm/BarChart/BarPlot.js +23 -4
- package/esm/BarChart/formatter.js +23 -12
- package/esm/ChartContainer/index.js +3 -0
- package/esm/ChartsAxis/ChartsAxis.js +51 -6
- package/esm/ChartsLegend/ChartsLegend.js +47 -14
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/esm/ChartsXAxis/ChartsXAxis.js +45 -9
- package/esm/ChartsYAxis/ChartsYAxis.js +45 -9
- package/esm/LineChart/AreaElement.js +31 -11
- package/esm/LineChart/AreaPlot.js +33 -5
- package/esm/LineChart/LineChart.js +79 -16
- package/esm/LineChart/LineElement.js +31 -11
- package/esm/LineChart/LinePlot.js +45 -9
- package/esm/LineChart/MarkElement.js +1 -1
- package/esm/LineChart/MarkPlot.js +31 -6
- package/esm/LineChart/formatter.js +23 -13
- package/esm/PieChart/PieArcLabel.js +0 -1
- package/esm/PieChart/PieChart.js +60 -13
- package/esm/PieChart/PiePlot.js +31 -6
- package/esm/ScatterChart/ScatterChart.js +64 -13
- package/esm/ScatterChart/ScatterPlot.js +29 -4
- package/esm/SparkLineChart/SparkLineChart.js +210 -0
- package/esm/SparkLineChart/index.js +1 -0
- package/esm/colorPalettes/colorPalettes.js +2 -2
- package/esm/context/CartesianContextProvider.js +50 -14
- package/esm/context/SeriesContextProvider.js +5 -3
- package/esm/hooks/useTicks.js +9 -6
- package/esm/index.js +1 -0
- package/esm/internals/components/AxisSharedComponents.js +10 -10
- package/esm/models/index.js +3 -1
- package/hooks/useTicks.d.ts +20 -5
- package/hooks/useTicks.js +9 -6
- package/index.d.ts +1 -0
- package/index.js +12 -1
- package/internals/components/AxisSharedComponents.d.ts +4 -4
- package/internals/components/AxisSharedComponents.js +15 -15
- package/internals/defaultizeColor.d.ts +4 -2
- package/legacy/BarChart/BarChart.js +75 -17
- package/legacy/BarChart/BarElement.js +20 -10
- package/legacy/BarChart/BarPlot.js +23 -4
- package/legacy/BarChart/formatter.js +23 -10
- package/legacy/ChartContainer/index.js +3 -0
- package/legacy/ChartsAxis/ChartsAxis.js +51 -6
- package/legacy/ChartsLegend/ChartsLegend.js +46 -15
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/legacy/ChartsXAxis/ChartsXAxis.js +45 -9
- package/legacy/ChartsYAxis/ChartsYAxis.js +45 -9
- package/legacy/LineChart/AreaElement.js +30 -10
- package/legacy/LineChart/AreaPlot.js +31 -5
- package/legacy/LineChart/LineChart.js +77 -16
- package/legacy/LineChart/LineElement.js +30 -10
- package/legacy/LineChart/LinePlot.js +38 -6
- package/legacy/LineChart/MarkElement.js +1 -1
- package/legacy/LineChart/MarkPlot.js +29 -6
- package/legacy/LineChart/formatter.js +23 -11
- package/legacy/PieChart/PieArcLabel.js +0 -1
- package/legacy/PieChart/PieChart.js +60 -13
- package/legacy/PieChart/PiePlot.js +29 -6
- package/legacy/ScatterChart/ScatterChart.js +64 -13
- package/legacy/ScatterChart/ScatterPlot.js +27 -4
- package/legacy/SparkLineChart/SparkLineChart.js +214 -0
- package/legacy/SparkLineChart/index.js +1 -0
- package/legacy/colorPalettes/colorPalettes.js +2 -2
- package/legacy/context/CartesianContextProvider.js +59 -15
- package/legacy/context/SeriesContextProvider.js +6 -4
- package/legacy/hooks/useTicks.js +9 -9
- package/legacy/index.js +2 -1
- package/legacy/internals/components/AxisSharedComponents.js +10 -10
- package/legacy/models/index.js +3 -1
- package/models/axis.d.ts +34 -3
- package/models/index.d.ts +2 -0
- package/models/index.js +11 -0
- package/models/seriesType/bar.d.ts +8 -1
- package/models/seriesType/common.d.ts +2 -2
- package/models/seriesType/config.d.ts +4 -1
- package/models/seriesType/line.d.ts +8 -1
- package/modern/BarChart/BarChart.js +74 -17
- package/modern/BarChart/BarElement.js +20 -11
- package/modern/BarChart/BarPlot.js +23 -4
- package/modern/BarChart/formatter.js +23 -12
- package/modern/ChartContainer/index.js +3 -0
- package/modern/ChartsAxis/ChartsAxis.js +51 -6
- package/modern/ChartsLegend/ChartsLegend.js +46 -14
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/modern/ChartsXAxis/ChartsXAxis.js +44 -9
- package/modern/ChartsYAxis/ChartsYAxis.js +44 -9
- package/modern/LineChart/AreaElement.js +30 -11
- package/modern/LineChart/AreaPlot.js +33 -5
- package/modern/LineChart/LineChart.js +76 -16
- package/modern/LineChart/LineElement.js +30 -11
- package/modern/LineChart/LinePlot.js +39 -6
- package/modern/LineChart/MarkElement.js +1 -1
- package/modern/LineChart/MarkPlot.js +30 -6
- package/modern/LineChart/formatter.js +23 -13
- package/modern/PieChart/PieArcLabel.js +0 -1
- package/modern/PieChart/PieChart.js +60 -13
- package/modern/PieChart/PiePlot.js +30 -6
- package/modern/ScatterChart/ScatterChart.js +64 -13
- package/modern/ScatterChart/ScatterPlot.js +28 -4
- package/modern/SparkLineChart/SparkLineChart.js +210 -0
- package/modern/SparkLineChart/index.js +1 -0
- package/modern/colorPalettes/colorPalettes.js +2 -2
- package/modern/context/CartesianContextProvider.js +50 -14
- package/modern/context/SeriesContextProvider.js +5 -3
- package/modern/hooks/useTicks.js +9 -6
- package/modern/index.js +2 -1
- package/modern/internals/components/AxisSharedComponents.js +10 -10
- package/modern/models/index.js +3 -1
- package/package.json +4 -2
- package/themeAugmentation/components.d.ts +0 -10
- package/themeAugmentation/overrides.d.ts +0 -2
package/LineChart/AreaElement.js
CHANGED
|
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.AreaElement = AreaElement;
|
|
8
|
-
exports.areaElementClasses = void 0;
|
|
8
|
+
exports.areaElementClasses = exports.AreaElementPath = 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"));
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
|
+
var _utils = require("@mui/base/utils");
|
|
15
16
|
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
16
17
|
var _styles = require("@mui/material/styles");
|
|
17
18
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
@@ -19,7 +20,7 @@ var _d3Color = require("d3-color");
|
|
|
19
20
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
20
21
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
21
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["id", "classes", "color", "highlightScope"];
|
|
23
|
+
const _excluded = ["id", "classes", "color", "highlightScope", "slots", "slotProps"];
|
|
23
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
25
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
26
|
function getAreaElementUtilityClass(slot) {
|
|
@@ -51,6 +52,7 @@ const AreaElementPath = (0, _styles.styled)('path', {
|
|
|
51
52
|
transition: 'opacity 0.2s ease-in, fill 0.2s ease-in',
|
|
52
53
|
opacity: ownerState.isFaded ? 0.3 : 1
|
|
53
54
|
}));
|
|
55
|
+
exports.AreaElementPath = AreaElementPath;
|
|
54
56
|
AreaElementPath.propTypes = {
|
|
55
57
|
// ----------------------------- Warning --------------------------------
|
|
56
58
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -71,7 +73,9 @@ function AreaElement(props) {
|
|
|
71
73
|
id,
|
|
72
74
|
classes: innerClasses,
|
|
73
75
|
color,
|
|
74
|
-
highlightScope
|
|
76
|
+
highlightScope,
|
|
77
|
+
slots,
|
|
78
|
+
slotProps
|
|
75
79
|
} = props,
|
|
76
80
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
77
81
|
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
|
|
@@ -94,13 +98,19 @@ function AreaElement(props) {
|
|
|
94
98
|
isHighlighted
|
|
95
99
|
};
|
|
96
100
|
const classes = useUtilityClasses(ownerState);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
const Area = slots?.area ?? AreaElementPath;
|
|
102
|
+
const areaProps = (0, _utils.useSlotProps)({
|
|
103
|
+
elementType: Area,
|
|
104
|
+
externalSlotProps: slotProps?.area,
|
|
105
|
+
additionalProps: (0, _extends2.default)({}, other, getInteractionItemProps({
|
|
106
|
+
type: 'line',
|
|
107
|
+
seriesId: id
|
|
108
|
+
}), {
|
|
109
|
+
className: classes.root
|
|
110
|
+
}),
|
|
111
|
+
ownerState
|
|
112
|
+
});
|
|
113
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Area, (0, _extends2.default)({}, areaProps));
|
|
104
114
|
}
|
|
105
115
|
process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
|
|
106
116
|
// ----------------------------- Warning --------------------------------
|
|
@@ -111,5 +121,15 @@ process.env.NODE_ENV !== "production" ? AreaElement.propTypes = {
|
|
|
111
121
|
highlightScope: _propTypes.default.shape({
|
|
112
122
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
113
123
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
114
|
-
})
|
|
124
|
+
}),
|
|
125
|
+
/**
|
|
126
|
+
* The props used for each component slot.
|
|
127
|
+
* @default {}
|
|
128
|
+
*/
|
|
129
|
+
slotProps: _propTypes.default.object,
|
|
130
|
+
/**
|
|
131
|
+
* Overridable component slots.
|
|
132
|
+
* @default {}
|
|
133
|
+
*/
|
|
134
|
+
slots: _propTypes.default.object
|
|
115
135
|
} : void 0;
|
package/LineChart/AreaPlot.d.ts
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import { AreaElementProps } from './AreaElement';
|
|
3
|
+
export interface AreaPlotSlotsComponent {
|
|
4
|
+
area?: React.JSXElementConstructor<AreaElementProps>;
|
|
5
|
+
}
|
|
6
|
+
export interface AreaPlotSlotComponentProps {
|
|
7
|
+
area?: Partial<AreaElementProps>;
|
|
8
|
+
}
|
|
9
|
+
export interface AreaPlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<AreaElementProps, 'slots' | 'slotProps'> {
|
|
10
|
+
}
|
|
11
|
+
declare function AreaPlot(props: AreaPlotProps): React.JSX.Element | null;
|
|
12
|
+
declare namespace AreaPlot {
|
|
13
|
+
var propTypes: any;
|
|
14
|
+
}
|
|
15
|
+
export { AreaPlot };
|
package/LineChart/AreaPlot.js
CHANGED
|
@@ -5,7 +5,10 @@ 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
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
8
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
12
|
var _d3Shape = require("d3-shape");
|
|
10
13
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
11
14
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
@@ -13,9 +16,15 @@ var _AreaElement = require("./AreaElement");
|
|
|
13
16
|
var _useScale = require("../hooks/useScale");
|
|
14
17
|
var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
|
|
15
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
const _excluded = ["slots", "slotProps"];
|
|
16
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
function AreaPlot() {
|
|
22
|
+
function AreaPlot(props) {
|
|
23
|
+
const {
|
|
24
|
+
slots,
|
|
25
|
+
slotProps
|
|
26
|
+
} = props,
|
|
27
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
19
28
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
20
29
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
21
30
|
if (seriesData === undefined) {
|
|
@@ -33,7 +42,7 @@ function AreaPlot() {
|
|
|
33
42
|
} = axisData;
|
|
34
43
|
const defaultXAxisId = xAxisIds[0];
|
|
35
44
|
const defaultYAxisId = yAxisIds[0];
|
|
36
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
37
46
|
children: stackingGroups.flatMap(({
|
|
38
47
|
ids: groupIds
|
|
39
48
|
}) => {
|
|
@@ -59,9 +68,27 @@ function AreaPlot() {
|
|
|
59
68
|
id: seriesId,
|
|
60
69
|
d: areaPath.curve(curve)(d3Data) || undefined,
|
|
61
70
|
color: series[seriesId].color,
|
|
62
|
-
highlightScope: series[seriesId].highlightScope
|
|
71
|
+
highlightScope: series[seriesId].highlightScope,
|
|
72
|
+
slots: slots,
|
|
73
|
+
slotProps: slotProps
|
|
63
74
|
}, seriesId);
|
|
64
75
|
});
|
|
65
76
|
})
|
|
66
|
-
});
|
|
67
|
-
}
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
process.env.NODE_ENV !== "production" ? AreaPlot.propTypes = {
|
|
80
|
+
// ----------------------------- Warning --------------------------------
|
|
81
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
82
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
83
|
+
// ----------------------------------------------------------------------
|
|
84
|
+
/**
|
|
85
|
+
* The props used for each component slot.
|
|
86
|
+
* @default {}
|
|
87
|
+
*/
|
|
88
|
+
slotProps: _propTypes.default.object,
|
|
89
|
+
/**
|
|
90
|
+
* Overridable component slots.
|
|
91
|
+
* @default {}
|
|
92
|
+
*/
|
|
93
|
+
slots: _propTypes.default.object
|
|
94
|
+
} : void 0;
|
package/LineChart/LineChart.d.ts
CHANGED
|
@@ -1,16 +1,34 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { AreaPlotSlotComponentProps, AreaPlotSlotsComponent } from './AreaPlot';
|
|
3
|
+
import { LinePlotSlotComponentProps, LinePlotSlotsComponent } from './LinePlot';
|
|
2
4
|
import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
|
|
5
|
+
import { MarkPlotSlotComponentProps, MarkPlotSlotsComponent } from './MarkPlot';
|
|
3
6
|
import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
|
|
4
7
|
import { LineSeriesType } from '../models/seriesType/line';
|
|
5
8
|
import { MakeOptional } from '../models/helpers';
|
|
6
9
|
import { ChartsTooltipProps } from '../ChartsTooltip';
|
|
7
|
-
import { ChartsLegendProps } from '../ChartsLegend';
|
|
10
|
+
import { ChartsLegendProps, ChartsLegendSlotComponentProps, ChartsLegendSlotsComponent } from '../ChartsLegend';
|
|
8
11
|
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
9
|
-
|
|
12
|
+
import { ChartsAxisSlotComponentProps, ChartsAxisSlotsComponent } from '../models/axis';
|
|
13
|
+
export interface LineChartSlotsComponent extends ChartsAxisSlotsComponent, AreaPlotSlotsComponent, LinePlotSlotsComponent, MarkPlotSlotsComponent, ChartsLegendSlotsComponent {
|
|
14
|
+
}
|
|
15
|
+
export interface LineChartSlotComponentProps extends ChartsAxisSlotComponentProps, AreaPlotSlotComponentProps, LinePlotSlotComponentProps, MarkPlotSlotComponentProps, ChartsLegendSlotComponentProps {
|
|
16
|
+
}
|
|
17
|
+
export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, Omit<ChartsAxisProps, 'slots' | 'slotProps'> {
|
|
10
18
|
series: MakeOptional<LineSeriesType, 'type'>[];
|
|
11
19
|
tooltip?: ChartsTooltipProps;
|
|
12
20
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
13
21
|
legend?: ChartsLegendProps;
|
|
22
|
+
/**
|
|
23
|
+
* Overridable component slots.
|
|
24
|
+
* @default {}
|
|
25
|
+
*/
|
|
26
|
+
slots?: LineChartSlotsComponent;
|
|
27
|
+
/**
|
|
28
|
+
* The props used for each component slot.
|
|
29
|
+
* @default {}
|
|
30
|
+
*/
|
|
31
|
+
slotProps?: LineChartSlotComponentProps;
|
|
14
32
|
}
|
|
15
33
|
declare const LineChart: React.ForwardRefExoticComponent<LineChartProps & React.RefAttributes<unknown>>;
|
|
16
34
|
export { LineChart };
|
package/LineChart/LineChart.js
CHANGED
|
@@ -31,6 +31,7 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
|
|
|
31
31
|
height,
|
|
32
32
|
margin,
|
|
33
33
|
colors,
|
|
34
|
+
dataset,
|
|
34
35
|
sx,
|
|
35
36
|
tooltip,
|
|
36
37
|
axisHighlight = {
|
|
@@ -41,7 +42,9 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
|
|
|
41
42
|
leftAxis,
|
|
42
43
|
rightAxis,
|
|
43
44
|
bottomAxis,
|
|
44
|
-
children
|
|
45
|
+
children,
|
|
46
|
+
slots,
|
|
47
|
+
slotProps
|
|
45
48
|
} = props;
|
|
46
49
|
const id = (0, _useId.default)();
|
|
47
50
|
const clipPathId = `${id}-clip-path`;
|
|
@@ -57,22 +60,37 @@ const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
|
|
|
57
60
|
id: _constants.DEFAULT_X_AXIS_KEY,
|
|
58
61
|
scaleType: 'point',
|
|
59
62
|
data: Array.from({
|
|
60
|
-
length: Math.max(...series.map(s => s.data.length))
|
|
63
|
+
length: Math.max(...series.map(s => (s.data ?? dataset ?? []).length))
|
|
61
64
|
}, (_, index) => index)
|
|
62
65
|
}],
|
|
63
66
|
yAxis: yAxis,
|
|
64
67
|
colors: colors,
|
|
68
|
+
dataset: dataset,
|
|
65
69
|
sx: sx,
|
|
66
70
|
disableAxisListener: tooltip?.trigger !== 'axis' && axisHighlight?.x === 'none' && axisHighlight?.y === 'none',
|
|
67
71
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("g", {
|
|
68
72
|
clipPath: `url(#${clipPathId})`,
|
|
69
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, {
|
|
73
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AreaPlot.AreaPlot, {
|
|
74
|
+
slots: slots,
|
|
75
|
+
slotProps: slotProps
|
|
76
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinePlot.LinePlot, {
|
|
77
|
+
slots: slots,
|
|
78
|
+
slotProps: slotProps
|
|
79
|
+
})]
|
|
70
80
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxis.ChartsAxis, {
|
|
71
81
|
topAxis: topAxis,
|
|
72
82
|
leftAxis: leftAxis,
|
|
73
83
|
rightAxis: rightAxis,
|
|
74
|
-
bottomAxis: bottomAxis
|
|
75
|
-
|
|
84
|
+
bottomAxis: bottomAxis,
|
|
85
|
+
slots: slots,
|
|
86
|
+
slotProps: slotProps
|
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_MarkPlot.MarkPlot, {
|
|
88
|
+
slots: slots,
|
|
89
|
+
slotProps: slotProps
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsLegend.ChartsLegend, (0, _extends2.default)({}, legend, {
|
|
91
|
+
slots: slots,
|
|
92
|
+
slotProps: slotProps
|
|
93
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsAxisHighlight.ChartsAxisHighlight, (0, _extends2.default)({}, axisHighlight)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsTooltip.ChartsTooltip, (0, _extends2.default)({}, tooltip)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsClipPath.ChartsClipPath, {
|
|
76
94
|
id: clipPathId
|
|
77
95
|
}), children]
|
|
78
96
|
});
|
|
@@ -101,8 +119,13 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
101
119
|
label: _propTypes.default.string,
|
|
102
120
|
labelFontSize: _propTypes.default.number,
|
|
103
121
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
122
|
+
slotProps: _propTypes.default.object,
|
|
123
|
+
slots: _propTypes.default.object,
|
|
104
124
|
stroke: _propTypes.default.string,
|
|
105
125
|
tickFontSize: _propTypes.default.number,
|
|
126
|
+
tickMaxStep: _propTypes.default.number,
|
|
127
|
+
tickMinStep: _propTypes.default.number,
|
|
128
|
+
tickNumber: _propTypes.default.number,
|
|
106
129
|
tickSize: _propTypes.default.number
|
|
107
130
|
}), _propTypes.default.string]),
|
|
108
131
|
children: _propTypes.default.node,
|
|
@@ -111,6 +134,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
111
134
|
* Color palette used to colorize multiple series.
|
|
112
135
|
*/
|
|
113
136
|
colors: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.func]),
|
|
137
|
+
dataset: _propTypes.default.arrayOf(_propTypes.default.object),
|
|
114
138
|
desc: _propTypes.default.string,
|
|
115
139
|
disableAxisListener: _propTypes.default.bool,
|
|
116
140
|
height: _propTypes.default.number,
|
|
@@ -128,8 +152,13 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
128
152
|
label: _propTypes.default.string,
|
|
129
153
|
labelFontSize: _propTypes.default.number,
|
|
130
154
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
155
|
+
slotProps: _propTypes.default.object,
|
|
156
|
+
slots: _propTypes.default.object,
|
|
131
157
|
stroke: _propTypes.default.string,
|
|
132
158
|
tickFontSize: _propTypes.default.number,
|
|
159
|
+
tickMaxStep: _propTypes.default.number,
|
|
160
|
+
tickMinStep: _propTypes.default.number,
|
|
161
|
+
tickNumber: _propTypes.default.number,
|
|
133
162
|
tickSize: _propTypes.default.number
|
|
134
163
|
}), _propTypes.default.string]),
|
|
135
164
|
legend: _propTypes.default.shape({
|
|
@@ -146,6 +175,8 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
146
175
|
horizontal: _propTypes.default.oneOf(['left', 'middle', 'right']).isRequired,
|
|
147
176
|
vertical: _propTypes.default.oneOf(['bottom', 'middle', 'top']).isRequired
|
|
148
177
|
}),
|
|
178
|
+
slotProps: _propTypes.default.object,
|
|
179
|
+
slots: _propTypes.default.object,
|
|
149
180
|
spacing: _propTypes.default.number
|
|
150
181
|
}),
|
|
151
182
|
margin: _propTypes.default.shape({
|
|
@@ -168,15 +199,21 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
168
199
|
label: _propTypes.default.string,
|
|
169
200
|
labelFontSize: _propTypes.default.number,
|
|
170
201
|
position: _propTypes.default.oneOf(['left', 'right']),
|
|
202
|
+
slotProps: _propTypes.default.object,
|
|
203
|
+
slots: _propTypes.default.object,
|
|
171
204
|
stroke: _propTypes.default.string,
|
|
172
205
|
tickFontSize: _propTypes.default.number,
|
|
206
|
+
tickMaxStep: _propTypes.default.number,
|
|
207
|
+
tickMinStep: _propTypes.default.number,
|
|
208
|
+
tickNumber: _propTypes.default.number,
|
|
173
209
|
tickSize: _propTypes.default.number
|
|
174
210
|
}), _propTypes.default.string]),
|
|
175
211
|
series: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
176
212
|
area: _propTypes.default.bool,
|
|
177
213
|
color: _propTypes.default.string,
|
|
178
214
|
curve: _propTypes.default.oneOf(['catmullRom', 'linear', 'monotoneX', 'monotoneY', 'natural', 'step', 'stepAfter', 'stepBefore']),
|
|
179
|
-
data: _propTypes.default.arrayOf(_propTypes.default.number)
|
|
215
|
+
data: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
216
|
+
dataKey: _propTypes.default.string,
|
|
180
217
|
highlightScope: _propTypes.default.shape({
|
|
181
218
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
182
219
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
@@ -191,6 +228,16 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
191
228
|
xAxisKey: _propTypes.default.string,
|
|
192
229
|
yAxisKey: _propTypes.default.string
|
|
193
230
|
})).isRequired,
|
|
231
|
+
/**
|
|
232
|
+
* The props used for each component slot.
|
|
233
|
+
* @default {}
|
|
234
|
+
*/
|
|
235
|
+
slotProps: _propTypes.default.object,
|
|
236
|
+
/**
|
|
237
|
+
* Overridable component slots.
|
|
238
|
+
* @default {}
|
|
239
|
+
*/
|
|
240
|
+
slots: _propTypes.default.object,
|
|
194
241
|
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]),
|
|
195
242
|
title: _propTypes.default.string,
|
|
196
243
|
tooltip: _propTypes.default.shape({
|
|
@@ -213,8 +260,13 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
213
260
|
label: _propTypes.default.string,
|
|
214
261
|
labelFontSize: _propTypes.default.number,
|
|
215
262
|
position: _propTypes.default.oneOf(['bottom', 'top']),
|
|
263
|
+
slotProps: _propTypes.default.object,
|
|
264
|
+
slots: _propTypes.default.object,
|
|
216
265
|
stroke: _propTypes.default.string,
|
|
217
266
|
tickFontSize: _propTypes.default.number,
|
|
267
|
+
tickMaxStep: _propTypes.default.number,
|
|
268
|
+
tickMinStep: _propTypes.default.number,
|
|
269
|
+
tickNumber: _propTypes.default.number,
|
|
218
270
|
tickSize: _propTypes.default.number
|
|
219
271
|
}), _propTypes.default.string]),
|
|
220
272
|
viewBox: _propTypes.default.shape({
|
|
@@ -228,44 +280,52 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
228
280
|
axisId: _propTypes.default.string,
|
|
229
281
|
classes: _propTypes.default.object,
|
|
230
282
|
data: _propTypes.default.array,
|
|
283
|
+
dataKey: _propTypes.default.string,
|
|
231
284
|
disableLine: _propTypes.default.bool,
|
|
232
285
|
disableTicks: _propTypes.default.bool,
|
|
233
286
|
fill: _propTypes.default.string,
|
|
287
|
+
hideTooltip: _propTypes.default.bool,
|
|
234
288
|
id: _propTypes.default.string,
|
|
235
289
|
label: _propTypes.default.string,
|
|
236
290
|
labelFontSize: _propTypes.default.number,
|
|
237
|
-
max: _propTypes.default.number,
|
|
238
|
-
|
|
239
|
-
min: _propTypes.default.number,
|
|
240
|
-
minTicks: _propTypes.default.number,
|
|
291
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
292
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
241
293
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
242
294
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
295
|
+
slotProps: _propTypes.default.object,
|
|
296
|
+
slots: _propTypes.default.object,
|
|
243
297
|
stroke: _propTypes.default.string,
|
|
244
298
|
tickFontSize: _propTypes.default.number,
|
|
299
|
+
tickMaxStep: _propTypes.default.number,
|
|
300
|
+
tickMinStep: _propTypes.default.number,
|
|
301
|
+
tickNumber: _propTypes.default.number,
|
|
245
302
|
tickSize: _propTypes.default.number,
|
|
246
|
-
tickSpacing: _propTypes.default.number,
|
|
247
303
|
valueFormatter: _propTypes.default.func
|
|
248
304
|
})),
|
|
249
305
|
yAxis: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
250
306
|
axisId: _propTypes.default.string,
|
|
251
307
|
classes: _propTypes.default.object,
|
|
252
308
|
data: _propTypes.default.array,
|
|
309
|
+
dataKey: _propTypes.default.string,
|
|
253
310
|
disableLine: _propTypes.default.bool,
|
|
254
311
|
disableTicks: _propTypes.default.bool,
|
|
255
312
|
fill: _propTypes.default.string,
|
|
313
|
+
hideTooltip: _propTypes.default.bool,
|
|
256
314
|
id: _propTypes.default.string,
|
|
257
315
|
label: _propTypes.default.string,
|
|
258
316
|
labelFontSize: _propTypes.default.number,
|
|
259
|
-
max: _propTypes.default.number,
|
|
260
|
-
|
|
261
|
-
min: _propTypes.default.number,
|
|
262
|
-
minTicks: _propTypes.default.number,
|
|
317
|
+
max: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
318
|
+
min: _propTypes.default.oneOfType([_propTypes.default.instanceOf(Date), _propTypes.default.number]),
|
|
263
319
|
position: _propTypes.default.oneOf(['bottom', 'left', 'right', 'top']),
|
|
264
320
|
scaleType: _propTypes.default.oneOf(['band', 'linear', 'log', 'point', 'pow', 'sqrt', 'time', 'utc']),
|
|
321
|
+
slotProps: _propTypes.default.object,
|
|
322
|
+
slots: _propTypes.default.object,
|
|
265
323
|
stroke: _propTypes.default.string,
|
|
266
324
|
tickFontSize: _propTypes.default.number,
|
|
325
|
+
tickMaxStep: _propTypes.default.number,
|
|
326
|
+
tickMinStep: _propTypes.default.number,
|
|
327
|
+
tickNumber: _propTypes.default.number,
|
|
267
328
|
tickSize: _propTypes.default.number,
|
|
268
|
-
tickSpacing: _propTypes.default.number,
|
|
269
329
|
valueFormatter: _propTypes.default.func
|
|
270
330
|
}))
|
|
271
331
|
} : void 0;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SlotComponentProps } from '@mui/base';
|
|
2
3
|
import { HighlightScope } from '../context/HighlightProvider';
|
|
3
4
|
export interface LineElementClasses {
|
|
4
5
|
/** Styles applied to the root element. */
|
|
@@ -18,8 +19,29 @@ export interface LineElementOwnerState {
|
|
|
18
19
|
}
|
|
19
20
|
export declare function getLineElementUtilityClass(slot: string): string;
|
|
20
21
|
export declare const lineElementClasses: LineElementClasses;
|
|
22
|
+
export declare const LineElementPath: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
|
|
23
|
+
ownerState: LineElementOwnerState;
|
|
24
|
+
}, Pick<React.SVGProps<SVGPathElement>, keyof React.SVGProps<SVGPathElement>>, {}>;
|
|
21
25
|
export type LineElementProps = Omit<LineElementOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & {
|
|
22
26
|
highlightScope?: Partial<HighlightScope>;
|
|
27
|
+
/**
|
|
28
|
+
* The props used for each component slot.
|
|
29
|
+
* @default {}
|
|
30
|
+
*/
|
|
31
|
+
slotProps?: {
|
|
32
|
+
line?: SlotComponentProps<'path', {}, LineElementOwnerState>;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Overridable component slots.
|
|
36
|
+
* @default {}
|
|
37
|
+
*/
|
|
38
|
+
slots?: {
|
|
39
|
+
/**
|
|
40
|
+
* The component that renders the root.
|
|
41
|
+
* @default LineElementPath
|
|
42
|
+
*/
|
|
43
|
+
line?: React.ElementType;
|
|
44
|
+
};
|
|
23
45
|
};
|
|
24
46
|
declare function LineElement(props: LineElementProps): React.JSX.Element;
|
|
25
47
|
declare namespace LineElement {
|
package/LineChart/LineElement.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.LineElement = LineElement;
|
|
8
|
+
exports.LineElementPath = void 0;
|
|
8
9
|
exports.getLineElementUtilityClass = getLineElementUtilityClass;
|
|
9
10
|
exports.lineElementClasses = void 0;
|
|
10
11
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -13,13 +14,14 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
13
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
15
|
var _d3Color = require("d3-color");
|
|
15
16
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
17
|
+
var _utils = require("@mui/base/utils");
|
|
16
18
|
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
17
19
|
var _styles = require("@mui/material/styles");
|
|
18
20
|
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
19
21
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
20
22
|
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
21
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["id", "classes", "color", "highlightScope"];
|
|
24
|
+
const _excluded = ["id", "classes", "color", "highlightScope", "slots", "slotProps"];
|
|
23
25
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
27
|
function getLineElementUtilityClass(slot) {
|
|
@@ -53,6 +55,7 @@ const LineElementPath = (0, _styles.styled)('path', {
|
|
|
53
55
|
transition: 'opacity 0.2s ease-in, stroke 0.2s ease-in',
|
|
54
56
|
opacity: ownerState.isFaded ? 0.3 : 1
|
|
55
57
|
}));
|
|
58
|
+
exports.LineElementPath = LineElementPath;
|
|
56
59
|
LineElementPath.propTypes = {
|
|
57
60
|
// ----------------------------- Warning --------------------------------
|
|
58
61
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -73,7 +76,9 @@ function LineElement(props) {
|
|
|
73
76
|
id,
|
|
74
77
|
classes: innerClasses,
|
|
75
78
|
color,
|
|
76
|
-
highlightScope
|
|
79
|
+
highlightScope,
|
|
80
|
+
slots,
|
|
81
|
+
slotProps
|
|
77
82
|
} = props,
|
|
78
83
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
79
84
|
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
|
|
@@ -96,13 +101,19 @@ function LineElement(props) {
|
|
|
96
101
|
isHighlighted
|
|
97
102
|
};
|
|
98
103
|
const classes = useUtilityClasses(ownerState);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
const Line = slots?.line ?? LineElementPath;
|
|
105
|
+
const lineProps = (0, _utils.useSlotProps)({
|
|
106
|
+
elementType: Line,
|
|
107
|
+
externalSlotProps: slotProps?.line,
|
|
108
|
+
additionalProps: (0, _extends2.default)({}, other, getInteractionItemProps({
|
|
109
|
+
type: 'line',
|
|
110
|
+
seriesId: id
|
|
111
|
+
}), {
|
|
112
|
+
className: classes.root
|
|
113
|
+
}),
|
|
114
|
+
ownerState
|
|
115
|
+
});
|
|
116
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Line, (0, _extends2.default)({}, lineProps));
|
|
106
117
|
}
|
|
107
118
|
process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
|
|
108
119
|
// ----------------------------- Warning --------------------------------
|
|
@@ -113,5 +124,15 @@ process.env.NODE_ENV !== "production" ? LineElement.propTypes = {
|
|
|
113
124
|
highlightScope: _propTypes.default.shape({
|
|
114
125
|
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
115
126
|
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
116
|
-
})
|
|
127
|
+
}),
|
|
128
|
+
/**
|
|
129
|
+
* The props used for each component slot.
|
|
130
|
+
* @default {}
|
|
131
|
+
*/
|
|
132
|
+
slotProps: _propTypes.default.object,
|
|
133
|
+
/**
|
|
134
|
+
* Overridable component slots.
|
|
135
|
+
* @default {}
|
|
136
|
+
*/
|
|
137
|
+
slots: _propTypes.default.object
|
|
117
138
|
} : void 0;
|
package/LineChart/LinePlot.d.ts
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
2
|
+
import { LineElementProps } from './LineElement';
|
|
3
|
+
export interface LinePlotSlotsComponent {
|
|
4
|
+
line?: React.JSXElementConstructor<LineElementProps>;
|
|
5
|
+
}
|
|
6
|
+
export interface LinePlotSlotComponentProps {
|
|
7
|
+
line?: Partial<LineElementProps>;
|
|
8
|
+
}
|
|
9
|
+
export interface LinePlotProps extends React.SVGAttributes<SVGSVGElement>, Pick<LineElementProps, 'slots' | 'slotProps'> {
|
|
10
|
+
}
|
|
11
|
+
declare function LinePlot(props: LinePlotProps): React.JSX.Element | null;
|
|
12
|
+
declare namespace LinePlot {
|
|
13
|
+
var propTypes: any;
|
|
14
|
+
}
|
|
15
|
+
export { LinePlot };
|
package/LineChart/LinePlot.js
CHANGED
|
@@ -5,7 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.LinePlot = LinePlot;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
8
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
12
|
var _d3Shape = require("d3-shape");
|
|
10
13
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
11
14
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
@@ -13,9 +16,15 @@ var _LineElement = require("./LineElement");
|
|
|
13
16
|
var _useScale = require("../hooks/useScale");
|
|
14
17
|
var _getCurve = _interopRequireDefault(require("../internals/getCurve"));
|
|
15
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
+
const _excluded = ["slots", "slotProps"];
|
|
16
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
function LinePlot() {
|
|
22
|
+
function LinePlot(props) {
|
|
23
|
+
const {
|
|
24
|
+
slots,
|
|
25
|
+
slotProps
|
|
26
|
+
} = props,
|
|
27
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
19
28
|
const seriesData = React.useContext(_SeriesContextProvider.SeriesContext).line;
|
|
20
29
|
const axisData = React.useContext(_CartesianContextProvider.CartesianContext);
|
|
21
30
|
if (seriesData === undefined) {
|
|
@@ -33,7 +42,7 @@ function LinePlot() {
|
|
|
33
42
|
} = axisData;
|
|
34
43
|
const defaultXAxisId = xAxisIds[0];
|
|
35
44
|
const defaultYAxisId = yAxisIds[0];
|
|
36
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", {
|
|
45
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("g", (0, _extends2.default)({}, other, {
|
|
37
46
|
children: stackingGroups.flatMap(({
|
|
38
47
|
ids: groupIds
|
|
39
48
|
}) => {
|
|
@@ -50,18 +59,41 @@ function LinePlot() {
|
|
|
50
59
|
throw new Error(`Axis of id "${xAxisKey}" should have data property to be able to display a line plot`);
|
|
51
60
|
}
|
|
52
61
|
const linePath = (0, _d3Shape.line)().x(d => xScale(d.x)).y(d => yScale(d.y[1]));
|
|
62
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
63
|
+
if (xData.length !== stackedData.length) {
|
|
64
|
+
throw new Error(`MUI: data length of the x axis (${xData.length} items) does not match length of series (${stackedData.length} items)`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
53
67
|
const curve = (0, _getCurve.default)(series[seriesId].curve);
|
|
54
68
|
const d3Data = xData?.map((x, index) => ({
|
|
55
69
|
x,
|
|
56
|
-
y: stackedData[index]
|
|
70
|
+
y: stackedData[index] ?? [0, 0]
|
|
57
71
|
}));
|
|
58
72
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_LineElement.LineElement, {
|
|
59
73
|
id: seriesId,
|
|
60
74
|
d: linePath.curve(curve)(d3Data) || undefined,
|
|
61
75
|
color: series[seriesId].color,
|
|
62
|
-
highlightScope: series[seriesId].highlightScope
|
|
76
|
+
highlightScope: series[seriesId].highlightScope,
|
|
77
|
+
slots: slots,
|
|
78
|
+
slotProps: slotProps
|
|
63
79
|
}, seriesId);
|
|
64
80
|
});
|
|
65
81
|
})
|
|
66
|
-
});
|
|
67
|
-
}
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
process.env.NODE_ENV !== "production" ? LinePlot.propTypes = {
|
|
85
|
+
// ----------------------------- Warning --------------------------------
|
|
86
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
87
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
88
|
+
// ----------------------------------------------------------------------
|
|
89
|
+
/**
|
|
90
|
+
* The props used for each component slot.
|
|
91
|
+
* @default {}
|
|
92
|
+
*/
|
|
93
|
+
slotProps: _propTypes.default.object,
|
|
94
|
+
/**
|
|
95
|
+
* Overridable component slots.
|
|
96
|
+
* @default {}
|
|
97
|
+
*/
|
|
98
|
+
slots: _propTypes.default.object
|
|
99
|
+
} : void 0;
|