@mui/x-charts 6.0.0-alpha.1 → 6.0.0-alpha.3
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 +1 -4
- package/BarChart/BarChart.js +6 -3
- package/BarChart/BarPlot.js +42 -8
- package/BarChart/legend.d.ts +3 -0
- package/BarChart/legend.js +20 -0
- package/CHANGELOG.md +287 -107
- package/ChartContainer/index.d.ts +3 -1
- package/ChartContainer/index.js +10 -6
- package/ChartsAxisHighlight/ChartsAxisHighlight.js +3 -2
- package/ChartsLegend/ChartsLegend.d.ts +5 -1
- package/ChartsLegend/ChartsLegend.js +5 -1
- package/ChartsLegend/utils.d.ts +1 -1
- package/ChartsLegend/utils.js +12 -1
- package/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/ChartsTooltip/ChartsItemTooltipContent.js +11 -2
- package/LineChart/LineChart.d.ts +1 -4
- package/LineChart/LineChart.js +6 -3
- package/LineChart/legend.d.ts +3 -0
- package/LineChart/legend.js +20 -0
- package/PieChart/PieArc.d.ts +36 -0
- package/PieChart/PieArc.js +128 -0
- package/PieChart/PieArcLabel.d.ts +36 -0
- package/PieChart/PieArcLabel.js +113 -0
- package/PieChart/PieChart.d.ts +20 -0
- package/PieChart/PieChart.js +292 -0
- package/PieChart/PiePlot.d.ts +2 -0
- package/PieChart/PiePlot.js +98 -0
- package/PieChart/formatter.d.ts +3 -0
- package/PieChart/formatter.js +49 -0
- package/PieChart/index.d.ts +4 -0
- package/PieChart/index.js +47 -0
- package/PieChart/legend.d.ts +3 -0
- package/PieChart/legend.js +19 -0
- package/PieChart/package.json +6 -0
- package/README.md +2 -2
- package/ResponsiveChartContainer/index.d.ts +1 -1
- package/ResponsiveChartContainer/index.js +22 -9
- package/ScatterChart/Scatter.d.ts +1 -1
- package/ScatterChart/Scatter.js +1 -1
- package/ScatterChart/ScatterChart.d.ts +1 -4
- package/ScatterChart/ScatterChart.js +6 -3
- package/ScatterChart/legend.d.ts +3 -0
- package/ScatterChart/legend.js +20 -0
- package/context/CartesianContextProvider.js +31 -20
- package/context/SeriesContextProvider.js +11 -1
- package/esm/BarChart/BarChart.js +4 -2
- package/esm/BarChart/BarPlot.js +44 -8
- package/esm/BarChart/legend.js +13 -0
- package/esm/ChartContainer/index.js +7 -5
- package/esm/ChartsAxisHighlight/ChartsAxisHighlight.js +3 -2
- package/esm/ChartsLegend/ChartsLegend.js +5 -1
- package/esm/ChartsLegend/utils.js +11 -1
- package/esm/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/esm/ChartsTooltip/ChartsItemTooltipContent.js +11 -3
- package/esm/LineChart/LineChart.js +4 -2
- package/esm/LineChart/legend.js +13 -0
- package/esm/PieChart/PieArc.js +117 -0
- package/esm/PieChart/PieArcLabel.js +101 -0
- package/esm/PieChart/PieChart.js +285 -0
- package/esm/PieChart/PiePlot.js +92 -0
- package/esm/PieChart/formatter.js +48 -0
- package/esm/PieChart/index.js +4 -0
- package/esm/PieChart/legend.js +12 -0
- package/esm/ResponsiveChartContainer/index.js +20 -8
- package/esm/ScatterChart/Scatter.js +1 -1
- package/esm/ScatterChart/ScatterChart.js +4 -2
- package/esm/ScatterChart/legend.js +13 -0
- package/esm/context/CartesianContextProvider.js +31 -18
- package/esm/context/SeriesContextProvider.js +11 -1
- package/esm/hooks/index.js +2 -0
- package/esm/hooks/useAxisEvents.js +12 -7
- package/esm/hooks/useDrawingArea.js +16 -0
- package/esm/hooks/useScale.js +19 -21
- package/esm/hooks/useTicks.js +26 -13
- package/esm/index.js +2 -0
- package/esm/internals/defaultizeColor.js +7 -0
- package/esm/internals/getScale.js +17 -0
- package/esm/internals/isBandScale.js +3 -0
- package/esm/models/axis.js +6 -1
- package/esm/models/seriesType/index.js +1 -8
- package/hooks/index.d.ts +2 -0
- package/hooks/index.js +27 -0
- package/hooks/package.json +6 -0
- package/hooks/useAxisEvents.js +14 -9
- package/hooks/useDrawingArea.d.ts +6 -0
- package/hooks/useDrawingArea.js +24 -0
- package/hooks/useScale.d.ts +3 -6
- package/hooks/useScale.js +24 -24
- package/hooks/useTicks.d.ts +1 -1
- package/hooks/useTicks.js +19 -9
- package/index.d.ts +2 -0
- package/index.js +23 -1
- package/internals/defaultizeColor.d.ts +35 -0
- package/internals/defaultizeColor.js +7 -0
- package/internals/getScale.d.ts +2 -0
- package/internals/getScale.js +23 -0
- package/internals/isBandScale.d.ts +3 -0
- package/internals/isBandScale.js +9 -0
- package/legacy/BarChart/BarChart.js +4 -2
- package/legacy/BarChart/BarPlot.js +44 -10
- package/legacy/BarChart/legend.js +15 -0
- package/legacy/ChartContainer/index.js +7 -5
- package/legacy/ChartsAxisHighlight/ChartsAxisHighlight.js +3 -2
- package/legacy/ChartsLegend/ChartsLegend.js +5 -1
- package/legacy/ChartsLegend/utils.js +12 -6
- package/legacy/ChartsTooltip/ChartsAxisTooltipContent.js +3 -1
- package/legacy/ChartsTooltip/ChartsItemTooltipContent.js +10 -3
- package/legacy/LineChart/LineChart.js +4 -2
- package/legacy/LineChart/legend.js +15 -0
- package/legacy/PieChart/PieArc.js +118 -0
- package/legacy/PieChart/PieArcLabel.js +101 -0
- package/legacy/PieChart/PieChart.js +297 -0
- package/legacy/PieChart/PiePlot.js +89 -0
- package/legacy/PieChart/formatter.js +55 -0
- package/legacy/PieChart/index.js +4 -0
- package/legacy/PieChart/legend.js +16 -0
- package/legacy/ResponsiveChartContainer/index.js +18 -8
- package/legacy/ScatterChart/Scatter.js +1 -1
- package/legacy/ScatterChart/ScatterChart.js +4 -2
- package/legacy/ScatterChart/legend.js +15 -0
- package/legacy/context/CartesianContextProvider.js +31 -18
- package/legacy/context/SeriesContextProvider.js +11 -1
- package/legacy/hooks/index.js +2 -0
- package/legacy/hooks/useAxisEvents.js +12 -7
- package/legacy/hooks/useDrawingArea.js +17 -0
- package/legacy/hooks/useScale.js +17 -21
- package/legacy/hooks/useTicks.js +26 -13
- package/legacy/index.js +3 -1
- package/legacy/internals/defaultizeColor.js +9 -0
- package/legacy/internals/getScale.js +17 -0
- package/legacy/internals/isBandScale.js +3 -0
- package/legacy/models/axis.js +6 -1
- package/legacy/models/seriesType/index.js +1 -8
- package/models/axis.d.ts +25 -12
- package/models/axis.js +9 -1
- package/models/seriesType/bar.d.ts +1 -1
- package/models/seriesType/common.d.ts +1 -1
- package/models/seriesType/config.d.ts +29 -2
- package/models/seriesType/index.d.ts +7 -3
- package/models/seriesType/index.js +11 -0
- package/models/seriesType/line.d.ts +1 -1
- package/models/seriesType/pie.d.ts +103 -3
- package/models/seriesType/scatter.d.ts +1 -1
- package/modern/BarChart/BarChart.js +4 -2
- package/modern/BarChart/BarPlot.js +44 -8
- package/modern/BarChart/legend.js +13 -0
- package/modern/ChartContainer/index.js +7 -5
- package/modern/ChartsAxisHighlight/ChartsAxisHighlight.js +3 -2
- package/modern/ChartsLegend/ChartsLegend.js +5 -1
- package/modern/ChartsLegend/utils.js +11 -1
- package/modern/ChartsTooltip/ChartsAxisTooltipContent.js +1 -1
- package/modern/ChartsTooltip/ChartsItemTooltipContent.js +11 -2
- package/modern/LineChart/LineChart.js +4 -2
- package/modern/LineChart/legend.js +13 -0
- package/modern/PieChart/PieArc.js +116 -0
- package/modern/PieChart/PieArcLabel.js +101 -0
- package/modern/PieChart/PieChart.js +285 -0
- package/modern/PieChart/PiePlot.js +91 -0
- package/modern/PieChart/formatter.js +41 -0
- package/modern/PieChart/index.js +4 -0
- package/modern/PieChart/legend.js +12 -0
- package/modern/ResponsiveChartContainer/index.js +20 -8
- package/modern/ScatterChart/Scatter.js +1 -1
- package/modern/ScatterChart/ScatterChart.js +4 -2
- package/modern/ScatterChart/legend.js +13 -0
- package/modern/context/CartesianContextProvider.js +29 -18
- package/modern/context/SeriesContextProvider.js +11 -1
- package/modern/hooks/index.js +2 -0
- package/modern/hooks/useAxisEvents.js +12 -7
- package/modern/hooks/useDrawingArea.js +16 -0
- package/modern/hooks/useScale.js +19 -21
- package/modern/hooks/useTicks.js +18 -8
- package/modern/index.js +3 -1
- package/modern/internals/defaultizeColor.js +7 -0
- package/modern/internals/getScale.js +17 -0
- package/modern/internals/isBandScale.js +3 -0
- package/modern/models/axis.js +6 -1
- package/modern/models/seriesType/index.js +1 -8
- package/package.json +1 -1
|
@@ -6,4 +6,6 @@ import { CartesianContextProviderProps } from '../context/CartesianContextProvid
|
|
|
6
6
|
export type ChartContainerProps = Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, 'svgRef'> & CartesianContextProviderProps, 'children'> & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
8
|
};
|
|
9
|
-
export declare
|
|
9
|
+
export declare const ChartContainer: React.ForwardRefExoticComponent<Omit<ChartsSurfaceProps & SeriesContextProviderProps & Omit<DrawingProviderProps, "svgRef"> & CartesianContextProviderProps, "children"> & {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
} & React.RefAttributes<unknown>>;
|
package/ChartContainer/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
|
-
exports.ChartContainer =
|
|
7
|
+
exports.ChartContainer = void 0;
|
|
7
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
|
|
8
10
|
var _DrawingProvider = require("../context/DrawingProvider");
|
|
9
11
|
var _SeriesContextProvider = require("../context/SeriesContextProvider");
|
|
10
12
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
@@ -14,7 +16,7 @@ var _HighlightProvider = require("../context/HighlightProvider");
|
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
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); }
|
|
16
18
|
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; }
|
|
17
|
-
function ChartContainer(props) {
|
|
19
|
+
const ChartContainer = /*#__PURE__*/React.forwardRef(function ChartContainer(props, ref) {
|
|
18
20
|
const {
|
|
19
21
|
width,
|
|
20
22
|
height,
|
|
@@ -29,12 +31,13 @@ function ChartContainer(props) {
|
|
|
29
31
|
disableAxisListener,
|
|
30
32
|
children
|
|
31
33
|
} = props;
|
|
32
|
-
const
|
|
34
|
+
const svgRef = React.useRef(null);
|
|
35
|
+
const handleRef = (0, _useForkRef.default)(ref, svgRef);
|
|
33
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_DrawingProvider.DrawingProvider, {
|
|
34
37
|
width: width,
|
|
35
38
|
height: height,
|
|
36
39
|
margin: margin,
|
|
37
|
-
svgRef:
|
|
40
|
+
svgRef: svgRef,
|
|
38
41
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SeriesContextProvider.SeriesContextProvider, {
|
|
39
42
|
series: series,
|
|
40
43
|
colors: colors,
|
|
@@ -46,7 +49,7 @@ function ChartContainer(props) {
|
|
|
46
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChartsSurface.ChartsSurface, {
|
|
47
50
|
width: width,
|
|
48
51
|
height: height,
|
|
49
|
-
ref:
|
|
52
|
+
ref: handleRef,
|
|
50
53
|
sx: sx,
|
|
51
54
|
title: title,
|
|
52
55
|
desc: desc,
|
|
@@ -58,4 +61,5 @@ function ChartContainer(props) {
|
|
|
58
61
|
})
|
|
59
62
|
})
|
|
60
63
|
});
|
|
61
|
-
}
|
|
64
|
+
});
|
|
65
|
+
exports.ChartContainer = ChartContainer;
|
|
@@ -10,6 +10,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
10
10
|
var _InteractionProvider = require("../context/InteractionProvider");
|
|
11
11
|
var _CartesianContextProvider = require("../context/CartesianContextProvider");
|
|
12
12
|
var _useScale = require("../hooks/useScale");
|
|
13
|
+
var _isBandScale = require("../internals/isBandScale");
|
|
13
14
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
15
|
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); }
|
|
15
16
|
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; }
|
|
@@ -33,8 +34,8 @@ function ChartsAxisHighlight(props) {
|
|
|
33
34
|
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
34
35
|
const getXPosition = (0, _useScale.getValueToPositionMapper)(xScale);
|
|
35
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
36
|
-
children: [xAxisHighlight === 'band' && axis.x !== null && (0,
|
|
37
|
-
d: `M ${xScale(axis.x.value)
|
|
37
|
+
children: [xAxisHighlight === 'band' && axis.x !== null && (0, _isBandScale.isBandScale)(xScale) && /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
|
|
38
|
+
d: `M ${xScale(axis.x.value) - (xScale.step() - xScale.bandwidth()) / 2} ${yScale.range()[0]} l ${xScale.step()} 0 l 0 ${yScale.range()[1] - yScale.range()[0]} l ${-xScale.step()} 0 Z`,
|
|
38
39
|
fill: "gray",
|
|
39
40
|
fillOpacity: 0.1,
|
|
40
41
|
style: {
|
|
@@ -15,6 +15,10 @@ export type ChartsLegendProps = {
|
|
|
15
15
|
* Override or extend the styles applied to the component.
|
|
16
16
|
*/
|
|
17
17
|
classes?: Partial<ChartsLegendClasses>;
|
|
18
|
+
/**
|
|
19
|
+
* Set to true to hide the legend.
|
|
20
|
+
*/
|
|
21
|
+
hidden?: boolean;
|
|
18
22
|
} & SizingParams;
|
|
19
23
|
type DefaultizedChartsLegendProps = DefaultizedProps<ChartsLegendProps, 'direction' | 'position'>;
|
|
20
24
|
type SeriesLegendOwnerState = ChartSeriesDefaultized<any> & Pick<DefaultizedChartsLegendProps, 'direction'> & {
|
|
@@ -40,5 +44,5 @@ export declare const ChartsLegendMark: import("@emotion/styled").StyledComponent
|
|
|
40
44
|
};
|
|
41
45
|
}, Pick<React.SVGProps<SVGRectElement>, keyof React.SVGProps<SVGRectElement>>, {}>;
|
|
42
46
|
export declare const ChartsLegendLabel: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<Theme>, Pick<React.SVGTextElementAttributes<SVGTextElement>, keyof React.SVGTextElementAttributes<SVGTextElement>>, {}>;
|
|
43
|
-
export declare function ChartsLegend(inProps: ChartsLegendProps): React.JSX.Element;
|
|
47
|
+
export declare function ChartsLegend(inProps: ChartsLegendProps): React.JSX.Element | null;
|
|
44
48
|
export {};
|
|
@@ -159,7 +159,8 @@ function ChartsLegend(inProps) {
|
|
|
159
159
|
const {
|
|
160
160
|
position,
|
|
161
161
|
direction,
|
|
162
|
-
offset
|
|
162
|
+
offset,
|
|
163
|
+
hidden
|
|
163
164
|
} = props;
|
|
164
165
|
const theme = (0, _styles.useTheme)();
|
|
165
166
|
const classes = useUtilityClasses((0, _extends2.default)({}, props, {
|
|
@@ -167,6 +168,9 @@ function ChartsLegend(inProps) {
|
|
|
167
168
|
}));
|
|
168
169
|
const drawingArea = React.useContext(_DrawingProvider.DrawingContext);
|
|
169
170
|
const series = React.useContext(_SeriesContextProvider.SeriesContext);
|
|
171
|
+
if (hidden) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
170
174
|
const seriesToDisplay = (0, _utils2.getSeriesToDisplay)(series);
|
|
171
175
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(ChartsLegendRoot, {
|
|
172
176
|
ownerState: {
|
package/ChartsLegend/utils.d.ts
CHANGED
|
@@ -11,4 +11,4 @@ export type SizingParams = {
|
|
|
11
11
|
itemWidth?: number;
|
|
12
12
|
spacing?: number;
|
|
13
13
|
};
|
|
14
|
-
export declare function getSeriesToDisplay(series: FormattedSeries):
|
|
14
|
+
export declare function getSeriesToDisplay(series: FormattedSeries): import("../models/seriesType/config").LegendParams[];
|
package/ChartsLegend/utils.js
CHANGED
|
@@ -1,9 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.getSeriesToDisplay = getSeriesToDisplay;
|
|
8
|
+
var _legend = _interopRequireDefault(require("../BarChart/legend"));
|
|
9
|
+
var _legend2 = _interopRequireDefault(require("../ScatterChart/legend"));
|
|
10
|
+
var _legend3 = _interopRequireDefault(require("../LineChart/legend"));
|
|
11
|
+
var _legend4 = _interopRequireDefault(require("../PieChart/legend"));
|
|
12
|
+
const legendGetter = {
|
|
13
|
+
bar: _legend.default,
|
|
14
|
+
scatter: _legend2.default,
|
|
15
|
+
line: _legend3.default,
|
|
16
|
+
pie: _legend4.default
|
|
17
|
+
};
|
|
7
18
|
function getSeriesToDisplay(series) {
|
|
8
|
-
return Object.
|
|
19
|
+
return Object.keys(series).flatMap(seriesType => legendGetter[seriesType](series[seriesType]));
|
|
9
20
|
}
|
|
@@ -90,7 +90,7 @@ function ChartsAxisTooltipContent(props) {
|
|
|
90
90
|
const USED_X_AXIS_ID = xAxisIds[0];
|
|
91
91
|
const relevantSeries = React.useMemo(() => {
|
|
92
92
|
const rep = [];
|
|
93
|
-
Object.keys(series).forEach(seriesType => {
|
|
93
|
+
Object.keys(series).filter(seriesType => ['bar', 'line', 'scatter'].includes(seriesType)).forEach(seriesType => {
|
|
94
94
|
series[seriesType].seriesOrder.forEach(seriesId => {
|
|
95
95
|
const axisKey = series[seriesType].series[seriesId].xAxisKey;
|
|
96
96
|
if (axisKey === undefined || axisKey === USED_X_AXIS_ID) {
|
|
@@ -21,8 +21,17 @@ function DefaultChartsItemContent(props) {
|
|
|
21
21
|
if (itemData.dataIndex === undefined) {
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
|
-
const
|
|
25
|
-
|
|
24
|
+
const {
|
|
25
|
+
displayedLabel,
|
|
26
|
+
color
|
|
27
|
+
} = series.type === 'pie' ? {
|
|
28
|
+
color: series.data[itemData.dataIndex].color,
|
|
29
|
+
displayedLabel: series.data[itemData.dataIndex].label
|
|
30
|
+
} : {
|
|
31
|
+
color: series.color,
|
|
32
|
+
displayedLabel: series.label
|
|
33
|
+
};
|
|
34
|
+
|
|
26
35
|
// TODO: Manage to let TS understand series.data and series.valueFormatter are coherent
|
|
27
36
|
// @ts-ignore
|
|
28
37
|
const formattedValue = series.valueFormatter(series.data[itemData.dataIndex]);
|
package/LineChart/LineChart.d.ts
CHANGED
|
@@ -12,8 +12,5 @@ export interface LineChartProps extends Omit<ResponsiveChartContainerProps, 'ser
|
|
|
12
12
|
axisHighlight?: ChartsAxisHighlightProps;
|
|
13
13
|
legend?: ChartsLegendProps;
|
|
14
14
|
}
|
|
15
|
-
declare
|
|
16
|
-
declare namespace LineChart {
|
|
17
|
-
var propTypes: any;
|
|
18
|
-
}
|
|
15
|
+
declare const LineChart: React.ForwardRefExoticComponent<LineChartProps & React.RefAttributes<unknown>>;
|
|
19
16
|
export { LineChart };
|
package/LineChart/LineChart.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.LineChart =
|
|
7
|
+
exports.LineChart = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
@@ -22,7 +22,7 @@ var _ChartsClipPath = require("../ChartsClipPath");
|
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
23
|
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
24
|
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
|
-
function LineChart(props) {
|
|
25
|
+
const LineChart = /*#__PURE__*/React.forwardRef(function LineChart(props, ref) {
|
|
26
26
|
const {
|
|
27
27
|
xAxis,
|
|
28
28
|
yAxis,
|
|
@@ -46,6 +46,7 @@ function LineChart(props) {
|
|
|
46
46
|
const id = (0, _useId.default)();
|
|
47
47
|
const clipPathId = `${id}-clip-path`;
|
|
48
48
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ResponsiveChartContainer.ResponsiveChartContainer, {
|
|
49
|
+
ref: ref,
|
|
49
50
|
series: series.map(s => (0, _extends2.default)({
|
|
50
51
|
type: 'line'
|
|
51
52
|
}, s)),
|
|
@@ -75,7 +76,8 @@ function LineChart(props) {
|
|
|
75
76
|
id: clipPathId
|
|
76
77
|
}), children]
|
|
77
78
|
});
|
|
78
|
-
}
|
|
79
|
+
});
|
|
80
|
+
exports.LineChart = LineChart;
|
|
79
81
|
process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
80
82
|
// ----------------------------- Warning --------------------------------
|
|
81
83
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -133,6 +135,7 @@ process.env.NODE_ENV !== "production" ? LineChart.propTypes = {
|
|
|
133
135
|
legend: _propTypes.default.shape({
|
|
134
136
|
classes: _propTypes.default.object,
|
|
135
137
|
direction: _propTypes.default.oneOf(['column', 'row']),
|
|
138
|
+
hidden: _propTypes.default.bool,
|
|
136
139
|
itemWidth: _propTypes.default.number,
|
|
137
140
|
markSize: _propTypes.default.number,
|
|
138
141
|
offset: _propTypes.default.shape({
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
const legendGetter = params => {
|
|
8
|
+
const {
|
|
9
|
+
seriesOrder,
|
|
10
|
+
series
|
|
11
|
+
} = params;
|
|
12
|
+
const data = seriesOrder.map(seriesId => ({
|
|
13
|
+
color: series[seriesId].color,
|
|
14
|
+
label: series[seriesId].label,
|
|
15
|
+
id: seriesId
|
|
16
|
+
}));
|
|
17
|
+
return data.filter(item => item.label !== undefined);
|
|
18
|
+
};
|
|
19
|
+
var _default = legendGetter;
|
|
20
|
+
exports.default = _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PieArcDatum as D3PieArcDatum } from 'd3-shape';
|
|
3
|
+
import { HighlightScope } from '../context/HighlightProvider';
|
|
4
|
+
import { PieSeriesType } from '../models/seriesType/pie';
|
|
5
|
+
export interface PieArcClasses {
|
|
6
|
+
/** Styles applied to the root element. */
|
|
7
|
+
root: string;
|
|
8
|
+
/** Styles applied to the root element when higlighted. */
|
|
9
|
+
highlighted: string;
|
|
10
|
+
/** Styles applied to the root element when faded. */
|
|
11
|
+
faded: string;
|
|
12
|
+
}
|
|
13
|
+
export type PieArcClassKey = keyof PieArcClasses;
|
|
14
|
+
export interface PieArcOwnerState {
|
|
15
|
+
id: string;
|
|
16
|
+
dataIndex: number;
|
|
17
|
+
color: string;
|
|
18
|
+
isFaded: boolean;
|
|
19
|
+
isHighlighted: boolean;
|
|
20
|
+
classes?: Partial<PieArcClasses>;
|
|
21
|
+
}
|
|
22
|
+
export declare function getPieArcUtilityClass(slot: string): string;
|
|
23
|
+
export declare const pieArcClasses: PieArcClasses;
|
|
24
|
+
export type PieArcProps = Omit<PieArcOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & D3PieArcDatum<any> & {
|
|
25
|
+
highlightScope?: Partial<HighlightScope>;
|
|
26
|
+
innerRadius: PieSeriesType['innerRadius'];
|
|
27
|
+
outerRadius: number;
|
|
28
|
+
cornerRadius: PieSeriesType['cornerRadius'];
|
|
29
|
+
highlighted: PieSeriesType['highlighted'];
|
|
30
|
+
faded: PieSeriesType['faded'];
|
|
31
|
+
};
|
|
32
|
+
declare function PieArc(props: PieArcProps): React.JSX.Element;
|
|
33
|
+
declare namespace PieArc {
|
|
34
|
+
var propTypes: any;
|
|
35
|
+
}
|
|
36
|
+
export default PieArc;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = PieArc;
|
|
8
|
+
exports.getPieArcUtilityClass = getPieArcUtilityClass;
|
|
9
|
+
exports.pieArcClasses = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _d3Shape = require("d3-shape");
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
+
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
18
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
19
|
+
var _InteractionProvider = require("../context/InteractionProvider");
|
|
20
|
+
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "innerRadius", "outerRadius", "cornerRadius", "highlighted", "faded"];
|
|
23
|
+
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
|
+
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
|
+
function getPieArcUtilityClass(slot) {
|
|
26
|
+
return (0, _generateUtilityClass.default)('MuiPieArc', slot);
|
|
27
|
+
}
|
|
28
|
+
const pieArcClasses = (0, _generateUtilityClasses.default)('MuiPieArc', ['root', 'highlighted', 'faded']);
|
|
29
|
+
exports.pieArcClasses = pieArcClasses;
|
|
30
|
+
const useUtilityClasses = ownerState => {
|
|
31
|
+
const {
|
|
32
|
+
classes,
|
|
33
|
+
id,
|
|
34
|
+
isFaded,
|
|
35
|
+
isHighlighted
|
|
36
|
+
} = ownerState;
|
|
37
|
+
const slots = {
|
|
38
|
+
root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
|
|
39
|
+
};
|
|
40
|
+
return (0, _composeClasses.default)(slots, getPieArcUtilityClass, classes);
|
|
41
|
+
};
|
|
42
|
+
const PieArcRoot = (0, _styles.styled)('path', {
|
|
43
|
+
name: 'MuiPieArc',
|
|
44
|
+
slot: 'Root',
|
|
45
|
+
overridesResolver: (_, styles) => styles.arc
|
|
46
|
+
})(({
|
|
47
|
+
ownerState,
|
|
48
|
+
theme
|
|
49
|
+
}) => ({
|
|
50
|
+
stroke: theme.palette.background.paper,
|
|
51
|
+
strokeWidth: 1,
|
|
52
|
+
strokeLinejoin: 'round',
|
|
53
|
+
fill: ownerState.color,
|
|
54
|
+
opacity: ownerState.isFaded ? 0.3 : 1
|
|
55
|
+
}));
|
|
56
|
+
function PieArc(props) {
|
|
57
|
+
const {
|
|
58
|
+
id,
|
|
59
|
+
dataIndex,
|
|
60
|
+
classes: innerClasses,
|
|
61
|
+
color,
|
|
62
|
+
highlightScope,
|
|
63
|
+
innerRadius: baseInnerRadius = 0,
|
|
64
|
+
outerRadius: baseOuterRadius,
|
|
65
|
+
cornerRadius: baseCornerRadius = 0,
|
|
66
|
+
highlighted,
|
|
67
|
+
faded = {
|
|
68
|
+
additionalRadius: -5
|
|
69
|
+
}
|
|
70
|
+
} = props,
|
|
71
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
72
|
+
const getInteractionItemProps = (0, _useInteractionItemProps.useInteractionItemProps)(highlightScope);
|
|
73
|
+
const {
|
|
74
|
+
item
|
|
75
|
+
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
76
|
+
const isHighlighted = (0, _useInteractionItemProps.getIsHighlighted)(item, {
|
|
77
|
+
type: 'pie',
|
|
78
|
+
seriesId: id,
|
|
79
|
+
dataIndex
|
|
80
|
+
}, highlightScope);
|
|
81
|
+
const isFaded = !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, {
|
|
82
|
+
type: 'pie',
|
|
83
|
+
seriesId: id,
|
|
84
|
+
dataIndex
|
|
85
|
+
}, highlightScope);
|
|
86
|
+
const ownerState = {
|
|
87
|
+
id,
|
|
88
|
+
dataIndex,
|
|
89
|
+
classes: innerClasses,
|
|
90
|
+
color,
|
|
91
|
+
isFaded,
|
|
92
|
+
isHighlighted
|
|
93
|
+
};
|
|
94
|
+
const classes = useUtilityClasses(ownerState);
|
|
95
|
+
const attibuesOverride = (0, _extends2.default)({
|
|
96
|
+
additionalRadius: 0
|
|
97
|
+
}, isFaded && faded || isHighlighted && highlighted || {});
|
|
98
|
+
const innerRadius = Math.max(0, attibuesOverride.innerRadius ?? baseInnerRadius);
|
|
99
|
+
const outerRadius = Math.max(0, attibuesOverride.outerRadius ?? baseOuterRadius + attibuesOverride.additionalRadius);
|
|
100
|
+
const cornerRadius = attibuesOverride.cornerRadius ?? baseCornerRadius;
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PieArcRoot, (0, _extends2.default)({
|
|
102
|
+
d: (0, _d3Shape.arc)().cornerRadius(cornerRadius)((0, _extends2.default)({}, other, {
|
|
103
|
+
innerRadius,
|
|
104
|
+
outerRadius
|
|
105
|
+
})),
|
|
106
|
+
ownerState: ownerState,
|
|
107
|
+
className: classes.root
|
|
108
|
+
}, getInteractionItemProps({
|
|
109
|
+
type: 'pie',
|
|
110
|
+
seriesId: id,
|
|
111
|
+
dataIndex
|
|
112
|
+
})));
|
|
113
|
+
}
|
|
114
|
+
process.env.NODE_ENV !== "production" ? PieArc.propTypes = {
|
|
115
|
+
// ----------------------------- Warning --------------------------------
|
|
116
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
117
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
118
|
+
// ----------------------------------------------------------------------
|
|
119
|
+
classes: _propTypes.default.object,
|
|
120
|
+
cornerRadius: _propTypes.default.number,
|
|
121
|
+
dataIndex: _propTypes.default.number.isRequired,
|
|
122
|
+
highlightScope: _propTypes.default.shape({
|
|
123
|
+
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
124
|
+
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
125
|
+
}),
|
|
126
|
+
innerRadius: _propTypes.default.number,
|
|
127
|
+
outerRadius: _propTypes.default.number.isRequired
|
|
128
|
+
} : void 0;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { PieArcDatum as D3PieArcDatum } from 'd3-shape';
|
|
3
|
+
import { HighlightScope } from '../context/HighlightProvider';
|
|
4
|
+
import { PieSeriesType } from '../models/seriesType/pie';
|
|
5
|
+
export interface PieArcLabelClasses {
|
|
6
|
+
/** Styles applied to the root element. */
|
|
7
|
+
root: string;
|
|
8
|
+
/** Styles applied to the root element when higlighted. */
|
|
9
|
+
highlighted: string;
|
|
10
|
+
/** Styles applied to the root element when faded. */
|
|
11
|
+
faded: string;
|
|
12
|
+
}
|
|
13
|
+
export type PieArcLabelClassKey = keyof PieArcLabelClasses;
|
|
14
|
+
export interface PieArcLabelOwnerState {
|
|
15
|
+
id: string;
|
|
16
|
+
dataIndex: number;
|
|
17
|
+
color: string;
|
|
18
|
+
isFaded: boolean;
|
|
19
|
+
isHighlighted: boolean;
|
|
20
|
+
classes?: Partial<PieArcLabelClasses>;
|
|
21
|
+
}
|
|
22
|
+
export declare function getPieArcLabelUtilityClass(slot: string): string;
|
|
23
|
+
export declare const pieArcLabelClasses: PieArcLabelClasses;
|
|
24
|
+
export type PieArcLabelProps = Omit<PieArcLabelOwnerState, 'isFaded' | 'isHighlighted'> & React.ComponentPropsWithoutRef<'path'> & D3PieArcDatum<any> & {
|
|
25
|
+
highlightScope?: Partial<HighlightScope>;
|
|
26
|
+
innerRadius: PieSeriesType['innerRadius'];
|
|
27
|
+
outerRadius: number;
|
|
28
|
+
cornerRadius: PieSeriesType['cornerRadius'];
|
|
29
|
+
} & {
|
|
30
|
+
formattedArcLabel?: string | null;
|
|
31
|
+
};
|
|
32
|
+
declare function PieArcLabel(props: PieArcLabelProps): React.JSX.Element;
|
|
33
|
+
declare namespace PieArcLabel {
|
|
34
|
+
var propTypes: any;
|
|
35
|
+
}
|
|
36
|
+
export default PieArcLabel;
|
|
@@ -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.default = PieArcLabel;
|
|
8
|
+
exports.getPieArcLabelUtilityClass = getPieArcLabelUtilityClass;
|
|
9
|
+
exports.pieArcLabelClasses = void 0;
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _d3Shape = require("d3-shape");
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
16
|
+
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
18
|
+
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
|
|
19
|
+
var _InteractionProvider = require("../context/InteractionProvider");
|
|
20
|
+
var _useInteractionItemProps = require("../hooks/useInteractionItemProps");
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
+
const _excluded = ["id", "dataIndex", "classes", "color", "highlightScope", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel"];
|
|
23
|
+
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
|
+
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
|
+
function getPieArcLabelUtilityClass(slot) {
|
|
26
|
+
return (0, _generateUtilityClass.default)('MuiPieArcLabel', slot);
|
|
27
|
+
}
|
|
28
|
+
const pieArcLabelClasses = (0, _generateUtilityClasses.default)('MuiPieArcLabel', ['root', 'highlighted', 'faded']);
|
|
29
|
+
exports.pieArcLabelClasses = pieArcLabelClasses;
|
|
30
|
+
const useUtilityClasses = ownerState => {
|
|
31
|
+
const {
|
|
32
|
+
classes,
|
|
33
|
+
id,
|
|
34
|
+
isFaded,
|
|
35
|
+
isHighlighted
|
|
36
|
+
} = ownerState;
|
|
37
|
+
const slots = {
|
|
38
|
+
root: ['root', `series-${id}`, isHighlighted && 'highlighted', isFaded && 'faded']
|
|
39
|
+
};
|
|
40
|
+
return (0, _composeClasses.default)(slots, getPieArcLabelUtilityClass, classes);
|
|
41
|
+
};
|
|
42
|
+
const PieArcLabelRoot = (0, _styles.styled)('text', {
|
|
43
|
+
name: 'MuiPieArcLabel',
|
|
44
|
+
slot: 'Root',
|
|
45
|
+
overridesResolver: (_, styles) => styles.root
|
|
46
|
+
})(({
|
|
47
|
+
theme
|
|
48
|
+
}) => ({
|
|
49
|
+
fill: theme.palette.text.primary,
|
|
50
|
+
alignmentBaseline: 'baseline',
|
|
51
|
+
textAnchor: 'middle'
|
|
52
|
+
}));
|
|
53
|
+
function PieArcLabel(props) {
|
|
54
|
+
const {
|
|
55
|
+
id,
|
|
56
|
+
dataIndex,
|
|
57
|
+
classes: innerClasses,
|
|
58
|
+
color,
|
|
59
|
+
highlightScope,
|
|
60
|
+
innerRadius = 0,
|
|
61
|
+
outerRadius,
|
|
62
|
+
cornerRadius = 0,
|
|
63
|
+
formattedArcLabel
|
|
64
|
+
} = props,
|
|
65
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
66
|
+
const {
|
|
67
|
+
item
|
|
68
|
+
} = React.useContext(_InteractionProvider.InteractionContext);
|
|
69
|
+
const isHighlighted = (0, _useInteractionItemProps.getIsHighlighted)(item, {
|
|
70
|
+
type: 'pie',
|
|
71
|
+
seriesId: id,
|
|
72
|
+
dataIndex
|
|
73
|
+
}, highlightScope);
|
|
74
|
+
const isFaded = !isHighlighted && (0, _useInteractionItemProps.getIsFaded)(item, {
|
|
75
|
+
type: 'pie',
|
|
76
|
+
seriesId: id,
|
|
77
|
+
dataIndex
|
|
78
|
+
}, highlightScope);
|
|
79
|
+
const ownerState = {
|
|
80
|
+
id,
|
|
81
|
+
dataIndex,
|
|
82
|
+
classes: innerClasses,
|
|
83
|
+
color,
|
|
84
|
+
isFaded,
|
|
85
|
+
isHighlighted
|
|
86
|
+
};
|
|
87
|
+
const classes = useUtilityClasses(ownerState);
|
|
88
|
+
const arcLabelPosition = formattedArcLabel ? (0, _d3Shape.arc)().cornerRadius(cornerRadius).centroid((0, _extends2.default)({}, other, {
|
|
89
|
+
innerRadius,
|
|
90
|
+
outerRadius
|
|
91
|
+
})) : [0, 0];
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(PieArcLabelRoot, {
|
|
93
|
+
className: classes.root,
|
|
94
|
+
x: arcLabelPosition[0],
|
|
95
|
+
y: arcLabelPosition[1],
|
|
96
|
+
children: formattedArcLabel
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
process.env.NODE_ENV !== "production" ? PieArcLabel.propTypes = {
|
|
100
|
+
// ----------------------------- Warning --------------------------------
|
|
101
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
102
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
103
|
+
// ----------------------------------------------------------------------
|
|
104
|
+
classes: _propTypes.default.object,
|
|
105
|
+
cornerRadius: _propTypes.default.number,
|
|
106
|
+
dataIndex: _propTypes.default.number.isRequired,
|
|
107
|
+
highlightScope: _propTypes.default.shape({
|
|
108
|
+
faded: _propTypes.default.oneOf(['global', 'none', 'series']),
|
|
109
|
+
highlighted: _propTypes.default.oneOf(['item', 'none', 'series'])
|
|
110
|
+
}),
|
|
111
|
+
innerRadius: _propTypes.default.number,
|
|
112
|
+
outerRadius: _propTypes.default.number.isRequired
|
|
113
|
+
} : void 0;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ResponsiveChartContainerProps } from '../ResponsiveChartContainer';
|
|
3
|
+
import { ChartsAxisProps } from '../ChartsAxis/ChartsAxis';
|
|
4
|
+
import { PieSeriesType } from '../models/seriesType';
|
|
5
|
+
import { MakeOptional } from '../models/helpers';
|
|
6
|
+
import { ChartsTooltipProps } from '../ChartsTooltip';
|
|
7
|
+
import { ChartsLegendProps } from '../ChartsLegend';
|
|
8
|
+
import { ChartsAxisHighlightProps } from '../ChartsAxisHighlight';
|
|
9
|
+
import { PieValueType } from '../models/seriesType/pie';
|
|
10
|
+
export interface PieChartProps extends Omit<ResponsiveChartContainerProps, 'series'>, ChartsAxisProps {
|
|
11
|
+
series: MakeOptional<PieSeriesType<MakeOptional<PieValueType, 'id'>>, 'type'>[];
|
|
12
|
+
tooltip?: ChartsTooltipProps;
|
|
13
|
+
axisHighlight?: ChartsAxisHighlightProps;
|
|
14
|
+
legend?: ChartsLegendProps;
|
|
15
|
+
}
|
|
16
|
+
declare function PieChart(props: PieChartProps): React.JSX.Element;
|
|
17
|
+
declare namespace PieChart {
|
|
18
|
+
var propTypes: any;
|
|
19
|
+
}
|
|
20
|
+
export { PieChart };
|