@mui/x-charts 6.18.7 → 6.19.1
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/CHANGELOG.md +71 -0
- package/LineChart/formatter.js +5 -1
- package/PieChart/PieArcLabel.d.ts +1 -0
- package/PieChart/PieArcLabel.js +7 -8
- package/PieChart/PieArcLabelPlot.js +14 -3
- package/PieChart/PieArcPlot.js +8 -1
- package/PieChart/PieChart.js +3 -0
- package/PieChart/PiePlot.js +3 -0
- package/PieChart/dataTransform/transition.js +9 -2
- package/PieChart/dataTransform/useTransformData.d.ts +1 -0
- package/PieChart/dataTransform/useTransformData.js +11 -8
- package/esm/LineChart/formatter.js +5 -1
- package/esm/PieChart/PieArcLabel.js +7 -8
- package/esm/PieChart/PieArcLabelPlot.js +14 -3
- package/esm/PieChart/PieArcPlot.js +8 -1
- package/esm/PieChart/PieChart.js +3 -0
- package/esm/PieChart/PiePlot.js +3 -0
- package/esm/PieChart/dataTransform/transition.js +9 -2
- package/esm/PieChart/dataTransform/useTransformData.js +12 -9
- package/esm/internals/stackSeries.js +5 -3
- package/esm/models/index.js +1 -0
- package/esm/models/stacking.js +1 -0
- package/index.js +1 -1
- package/internals/defaultizeColor.d.ts +7 -4
- package/internals/stackSeries.d.ts +8 -3
- package/internals/stackSeries.js +4 -3
- package/legacy/LineChart/formatter.js +6 -2
- package/legacy/PieChart/PieArcLabel.js +7 -6
- package/legacy/PieChart/PieArcLabelPlot.js +14 -4
- package/legacy/PieChart/PieArcPlot.js +9 -1
- package/legacy/PieChart/PieChart.js +3 -0
- package/legacy/PieChart/PiePlot.js +3 -0
- package/legacy/PieChart/dataTransform/transition.js +9 -2
- package/legacy/PieChart/dataTransform/useTransformData.js +12 -9
- package/legacy/index.js +1 -1
- package/legacy/internals/stackSeries.js +5 -3
- package/legacy/models/index.js +1 -0
- package/legacy/models/stacking.js +1 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +11 -0
- package/models/seriesType/bar.d.ts +6 -0
- package/models/seriesType/common.d.ts +2 -3
- package/models/seriesType/index.d.ts +0 -1
- package/models/seriesType/line.d.ts +6 -0
- package/models/seriesType/pie.d.ts +14 -0
- package/models/stacking.d.ts +2 -0
- package/models/stacking.js +5 -0
- package/modern/LineChart/formatter.js +5 -1
- package/modern/PieChart/PieArcLabel.js +7 -8
- package/modern/PieChart/PieArcLabelPlot.js +14 -3
- package/modern/PieChart/PieArcPlot.js +8 -1
- package/modern/PieChart/PieChart.js +3 -0
- package/modern/PieChart/PiePlot.js +3 -0
- package/modern/PieChart/dataTransform/transition.js +9 -2
- package/modern/PieChart/dataTransform/useTransformData.js +11 -8
- package/modern/index.js +1 -1
- package/modern/internals/stackSeries.js +4 -3
- package/modern/models/index.js +1 -0
- package/modern/models/stacking.js +1 -0
- package/package.json +1 -1
|
@@ -70,6 +70,7 @@ export const defaultLabelTransitionConfig = {
|
|
|
70
70
|
from: ({
|
|
71
71
|
innerRadius,
|
|
72
72
|
outerRadius,
|
|
73
|
+
arcLabelRadius,
|
|
73
74
|
cornerRadius,
|
|
74
75
|
startAngle,
|
|
75
76
|
endAngle,
|
|
@@ -78,6 +79,7 @@ export const defaultLabelTransitionConfig = {
|
|
|
78
79
|
innerRadius,
|
|
79
80
|
outerRadius: (innerRadius + outerRadius) / 2,
|
|
80
81
|
cornerRadius,
|
|
82
|
+
arcLabelRadius,
|
|
81
83
|
startAngle: (startAngle + endAngle) / 2,
|
|
82
84
|
endAngle: (startAngle + endAngle) / 2,
|
|
83
85
|
paddingAngle,
|
|
@@ -90,6 +92,7 @@ export const defaultLabelTransitionConfig = {
|
|
|
90
92
|
}) => ({
|
|
91
93
|
innerRadius,
|
|
92
94
|
outerRadius: innerRadius,
|
|
95
|
+
arcLabelRadius: innerRadius,
|
|
93
96
|
startAngle: (startAngle + endAngle) / 2,
|
|
94
97
|
endAngle: (startAngle + endAngle) / 2,
|
|
95
98
|
opacity: 0
|
|
@@ -98,12 +101,14 @@ export const defaultLabelTransitionConfig = {
|
|
|
98
101
|
innerRadius,
|
|
99
102
|
outerRadius,
|
|
100
103
|
startAngle,
|
|
101
|
-
endAngle
|
|
104
|
+
endAngle,
|
|
105
|
+
arcLabelRadius
|
|
102
106
|
}) => ({
|
|
103
107
|
innerRadius,
|
|
104
108
|
outerRadius,
|
|
105
109
|
startAngle,
|
|
106
110
|
endAngle,
|
|
111
|
+
arcLabelRadius,
|
|
107
112
|
opacity: 1
|
|
108
113
|
}),
|
|
109
114
|
update: ({
|
|
@@ -112,7 +117,8 @@ export const defaultLabelTransitionConfig = {
|
|
|
112
117
|
cornerRadius,
|
|
113
118
|
startAngle,
|
|
114
119
|
endAngle,
|
|
115
|
-
paddingAngle
|
|
120
|
+
paddingAngle,
|
|
121
|
+
arcLabelRadius
|
|
116
122
|
}) => ({
|
|
117
123
|
innerRadius,
|
|
118
124
|
outerRadius,
|
|
@@ -120,6 +126,7 @@ export const defaultLabelTransitionConfig = {
|
|
|
120
126
|
startAngle,
|
|
121
127
|
endAngle,
|
|
122
128
|
paddingAngle,
|
|
129
|
+
arcLabelRadius,
|
|
123
130
|
opacity: 1
|
|
124
131
|
}),
|
|
125
132
|
config: {
|
|
@@ -11,6 +11,7 @@ export function useTransformData(series) {
|
|
|
11
11
|
highlighted,
|
|
12
12
|
paddingAngle: basePaddingAngle = 0,
|
|
13
13
|
innerRadius: baseInnerRadius = 0,
|
|
14
|
+
arcLabelRadius: baseArcLabelRadius,
|
|
14
15
|
outerRadius: baseOuterRadius,
|
|
15
16
|
cornerRadius: baseCornerRadius = 0
|
|
16
17
|
} = series;
|
|
@@ -34,26 +35,28 @@ export function useTransformData(series) {
|
|
|
34
35
|
};
|
|
35
36
|
}, [highlightScope, highlightedItem, seriesId]);
|
|
36
37
|
const dataWithHighlight = React.useMemo(() => data.map((item, itemIndex) => {
|
|
37
|
-
var
|
|
38
|
+
var _attributesOverride$p, _attributesOverride$i, _attributesOverride$o, _attributesOverride$c, _ref, _attributesOverride$a;
|
|
38
39
|
const {
|
|
39
40
|
isHighlighted,
|
|
40
41
|
isFaded
|
|
41
42
|
} = getHighlightStatus(itemIndex);
|
|
42
|
-
const
|
|
43
|
+
const attributesOverride = _extends({
|
|
43
44
|
additionalRadius: 0
|
|
44
45
|
}, isFaded && faded || isHighlighted && highlighted || {});
|
|
45
|
-
const paddingAngle = Math.max(0, Math.PI * ((
|
|
46
|
-
const innerRadius = Math.max(0, (
|
|
47
|
-
const outerRadius = Math.max(0, (
|
|
48
|
-
const cornerRadius = (
|
|
49
|
-
|
|
46
|
+
const paddingAngle = Math.max(0, Math.PI * ((_attributesOverride$p = attributesOverride.paddingAngle) != null ? _attributesOverride$p : basePaddingAngle) / 180);
|
|
47
|
+
const innerRadius = Math.max(0, (_attributesOverride$i = attributesOverride.innerRadius) != null ? _attributesOverride$i : baseInnerRadius);
|
|
48
|
+
const outerRadius = Math.max(0, (_attributesOverride$o = attributesOverride.outerRadius) != null ? _attributesOverride$o : baseOuterRadius + attributesOverride.additionalRadius);
|
|
49
|
+
const cornerRadius = (_attributesOverride$c = attributesOverride.cornerRadius) != null ? _attributesOverride$c : baseCornerRadius;
|
|
50
|
+
const arcLabelRadius = (_ref = (_attributesOverride$a = attributesOverride.arcLabelRadius) != null ? _attributesOverride$a : baseArcLabelRadius) != null ? _ref : (innerRadius + outerRadius) / 2;
|
|
51
|
+
return _extends({}, item, attributesOverride, {
|
|
50
52
|
isFaded,
|
|
51
53
|
isHighlighted,
|
|
52
54
|
paddingAngle,
|
|
53
55
|
innerRadius,
|
|
54
56
|
outerRadius,
|
|
55
|
-
cornerRadius
|
|
57
|
+
cornerRadius,
|
|
58
|
+
arcLabelRadius
|
|
56
59
|
});
|
|
57
|
-
}), [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, data, faded, getHighlightStatus, highlighted]);
|
|
60
|
+
}), [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, baseArcLabelRadius, data, faded, getHighlightStatus, highlighted]);
|
|
58
61
|
return dataWithHighlight;
|
|
59
62
|
}
|
|
@@ -56,7 +56,8 @@ export const StackOffset = {
|
|
|
56
56
|
export const getStackingGroups = params => {
|
|
57
57
|
const {
|
|
58
58
|
series,
|
|
59
|
-
seriesOrder
|
|
59
|
+
seriesOrder,
|
|
60
|
+
defaultStrategy
|
|
60
61
|
} = params;
|
|
61
62
|
const stackingGroups = [];
|
|
62
63
|
const stackIndex = {};
|
|
@@ -73,11 +74,12 @@ export const getStackingGroups = params => {
|
|
|
73
74
|
stackingOffset: StackOffset.none
|
|
74
75
|
});
|
|
75
76
|
} else if (stackIndex[stack] === undefined) {
|
|
77
|
+
var _ref, _ref2;
|
|
76
78
|
stackIndex[stack] = stackingGroups.length;
|
|
77
79
|
stackingGroups.push({
|
|
78
80
|
ids: [id],
|
|
79
|
-
stackingOrder: StackOrder[stackOrder != null ? stackOrder : 'none'],
|
|
80
|
-
stackingOffset: StackOffset[stackOffset != null ? stackOffset : 'diverging']
|
|
81
|
+
stackingOrder: StackOrder[(_ref = stackOrder != null ? stackOrder : defaultStrategy == null ? void 0 : defaultStrategy.stackOrder) != null ? _ref : 'none'],
|
|
82
|
+
stackingOffset: StackOffset[(_ref2 = stackOffset != null ? stackOffset : defaultStrategy == null ? void 0 : defaultStrategy.stackOffset) != null ? _ref2 : 'diverging']
|
|
81
83
|
});
|
|
82
84
|
} else {
|
|
83
85
|
stackingGroups[stackIndex[stack]].ids.push(id);
|
package/esm/models/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
9
9
|
type: "pie";
|
|
10
10
|
innerRadius?: string | number | undefined;
|
|
11
11
|
outerRadius?: string | number | undefined;
|
|
12
|
+
arcLabelRadius?: string | number | undefined;
|
|
12
13
|
cornerRadius?: number | undefined;
|
|
13
14
|
startAngle?: number | undefined;
|
|
14
15
|
endAngle?: number | undefined;
|
|
@@ -24,6 +25,7 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
24
25
|
outerRadius?: number | undefined;
|
|
25
26
|
cornerRadius?: number | undefined;
|
|
26
27
|
paddingAngle?: number | undefined;
|
|
28
|
+
arcLabelRadius?: number | undefined;
|
|
27
29
|
color?: string | undefined;
|
|
28
30
|
} | undefined;
|
|
29
31
|
faded?: {
|
|
@@ -32,6 +34,7 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
32
34
|
outerRadius?: number | undefined;
|
|
33
35
|
cornerRadius?: number | undefined;
|
|
34
36
|
paddingAngle?: number | undefined;
|
|
37
|
+
arcLabelRadius?: number | undefined;
|
|
35
38
|
color?: string | undefined;
|
|
36
39
|
} | undefined;
|
|
37
40
|
id?: string | undefined;
|
|
@@ -44,6 +47,7 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
44
47
|
dataKey?: string | undefined;
|
|
45
48
|
label?: string | undefined;
|
|
46
49
|
layout?: "horizontal" | "vertical" | undefined;
|
|
50
|
+
stackOffset?: import("..").StackOffsetType | undefined;
|
|
47
51
|
id?: string | undefined;
|
|
48
52
|
color: string;
|
|
49
53
|
valueFormatter?: ((value: number) => string) | undefined;
|
|
@@ -51,8 +55,7 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
51
55
|
xAxisKey?: string | undefined;
|
|
52
56
|
yAxisKey?: string | undefined;
|
|
53
57
|
stack?: string | undefined;
|
|
54
|
-
|
|
55
|
-
stackOrder?: "reverse" | "none" | "appearance" | "ascending" | "descending" | "insideOut" | undefined;
|
|
58
|
+
stackOrder?: import("..").StackOrderType | undefined;
|
|
56
59
|
} | {
|
|
57
60
|
type: "line";
|
|
58
61
|
data?: (number | null)[] | undefined;
|
|
@@ -64,14 +67,14 @@ export declare function defaultizeColor(series: AllSeriesType, seriesIndex: numb
|
|
|
64
67
|
showMark?: boolean | ((params: import("../models/seriesType").ShowMarkParams<number | Date>) => boolean) | undefined;
|
|
65
68
|
disableHighlight?: boolean | undefined;
|
|
66
69
|
connectNulls?: boolean | undefined;
|
|
70
|
+
stackOffset?: import("..").StackOffsetType | undefined;
|
|
67
71
|
id?: string | undefined;
|
|
68
72
|
color: string;
|
|
69
73
|
valueFormatter?: ((value: number) => string) | undefined;
|
|
70
74
|
highlightScope?: Partial<import("..").HighlightScope> | undefined;
|
|
71
75
|
xAxisKey?: string | undefined;
|
|
72
76
|
yAxisKey?: string | undefined;
|
|
73
|
-
|
|
74
|
-
stackOrder?: "reverse" | "none" | "appearance" | "ascending" | "descending" | "insideOut" | undefined;
|
|
77
|
+
stackOrder?: import("..").StackOrderType | undefined;
|
|
75
78
|
} | {
|
|
76
79
|
type: "scatter";
|
|
77
80
|
data: import("../models/seriesType").ScatterValueType[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Series } from 'd3-shape';
|
|
2
|
-
import { BarSeriesType, LineSeriesType } from '../models/seriesType';
|
|
2
|
+
import type { BarSeriesType, LineSeriesType } from '../models/seriesType';
|
|
3
|
+
import type { StackOffsetType, StackOrderType } from '../models/stacking';
|
|
3
4
|
type StackableSeries = {
|
|
4
5
|
[id: string]: BarSeriesType;
|
|
5
6
|
} | {
|
|
@@ -8,6 +9,10 @@ type StackableSeries = {
|
|
|
8
9
|
type FormatterParams = {
|
|
9
10
|
series: StackableSeries;
|
|
10
11
|
seriesOrder: string[];
|
|
12
|
+
defaultStrategy?: {
|
|
13
|
+
stackOrder?: StackOrderType;
|
|
14
|
+
stackOffset?: StackOffsetType;
|
|
15
|
+
};
|
|
11
16
|
};
|
|
12
17
|
export type StackingGroupsType = {
|
|
13
18
|
ids: string[];
|
|
@@ -15,10 +20,10 @@ export type StackingGroupsType = {
|
|
|
15
20
|
stackingOffset: (series: Series<any, any>, order: Iterable<number>) => void;
|
|
16
21
|
}[];
|
|
17
22
|
export declare const StackOrder: {
|
|
18
|
-
[key in
|
|
23
|
+
[key in StackOrderType]: (series: Series<any, any>) => number[];
|
|
19
24
|
};
|
|
20
25
|
export declare const StackOffset: {
|
|
21
|
-
[key in
|
|
26
|
+
[key in StackOffsetType]: (series: Series<any, any>, order: Iterable<number>) => void;
|
|
22
27
|
};
|
|
23
28
|
/**
|
|
24
29
|
* Takes a set of series and groups their ids
|
package/internals/stackSeries.js
CHANGED
|
@@ -62,7 +62,8 @@ const StackOffset = exports.StackOffset = {
|
|
|
62
62
|
const getStackingGroups = params => {
|
|
63
63
|
const {
|
|
64
64
|
series,
|
|
65
|
-
seriesOrder
|
|
65
|
+
seriesOrder,
|
|
66
|
+
defaultStrategy
|
|
66
67
|
} = params;
|
|
67
68
|
const stackingGroups = [];
|
|
68
69
|
const stackIndex = {};
|
|
@@ -82,8 +83,8 @@ const getStackingGroups = params => {
|
|
|
82
83
|
stackIndex[stack] = stackingGroups.length;
|
|
83
84
|
stackingGroups.push({
|
|
84
85
|
ids: [id],
|
|
85
|
-
stackingOrder: StackOrder[stackOrder ?? 'none'],
|
|
86
|
-
stackingOffset: StackOffset[stackOffset ?? 'diverging']
|
|
86
|
+
stackingOrder: StackOrder[stackOrder ?? defaultStrategy?.stackOrder ?? 'none'],
|
|
87
|
+
stackingOffset: StackOffset[stackOffset ?? defaultStrategy?.stackOffset ?? 'diverging']
|
|
87
88
|
});
|
|
88
89
|
} else {
|
|
89
90
|
stackingGroups[stackIndex[stack]].ids.push(id);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
4
|
import { stack as d3Stack } from 'd3-shape';
|
|
5
5
|
import { getStackingGroups } from '../internals/stackSeries';
|
|
6
6
|
import defaultizeValueFormatter from '../internals/defaultizeValueFormatter';
|
|
@@ -11,7 +11,11 @@ var formatter = function formatter(params, dataset) {
|
|
|
11
11
|
var _ref;
|
|
12
12
|
var seriesOrder = params.seriesOrder,
|
|
13
13
|
series = params.series;
|
|
14
|
-
var stackingGroups = getStackingGroups(params
|
|
14
|
+
var stackingGroups = getStackingGroups(_extends({}, params, {
|
|
15
|
+
defaultStrategy: {
|
|
16
|
+
stackOffset: 'none'
|
|
17
|
+
}
|
|
18
|
+
}));
|
|
15
19
|
|
|
16
20
|
// Create a data set with format adapted to d3
|
|
17
21
|
var d3Dataset = (_ref = dataset) != null ? _ref : [];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
-
var _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
|
|
4
|
+
var _excluded = ["id", "classes", "color", "startAngle", "endAngle", "paddingAngle", "arcLabelRadius", "innerRadius", "outerRadius", "cornerRadius", "formattedArcLabel", "isHighlighted", "isFaded", "style"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { animated, to } from '@react-spring/web';
|
|
@@ -44,7 +44,7 @@ var PieArcLabelRoot = styled(animated.text, {
|
|
|
44
44
|
* It's not an inline function because we need it in inerpolation.
|
|
45
45
|
*/
|
|
46
46
|
var getLabelPosition = function getLabelPosition(formattedArcLabel, variable) {
|
|
47
|
-
return function (startAngle, endAngle, padAngle,
|
|
47
|
+
return function (startAngle, endAngle, padAngle, arcLabelRadius, cornerRadius) {
|
|
48
48
|
if (!formattedArcLabel) {
|
|
49
49
|
return 0;
|
|
50
50
|
}
|
|
@@ -52,8 +52,8 @@ var getLabelPosition = function getLabelPosition(formattedArcLabel, variable) {
|
|
|
52
52
|
padAngle: padAngle,
|
|
53
53
|
startAngle: startAngle,
|
|
54
54
|
endAngle: endAngle,
|
|
55
|
-
innerRadius:
|
|
56
|
-
outerRadius:
|
|
55
|
+
innerRadius: arcLabelRadius,
|
|
56
|
+
outerRadius: arcLabelRadius
|
|
57
57
|
}),
|
|
58
58
|
_ref3 = _slicedToArray(_ref2, 2),
|
|
59
59
|
x = _ref3[0],
|
|
@@ -71,6 +71,7 @@ function PieArcLabel(props) {
|
|
|
71
71
|
startAngle = props.startAngle,
|
|
72
72
|
endAngle = props.endAngle,
|
|
73
73
|
paddingAngle = props.paddingAngle,
|
|
74
|
+
arcLabelRadius = props.arcLabelRadius,
|
|
74
75
|
innerRadius = props.innerRadius,
|
|
75
76
|
outerRadius = props.outerRadius,
|
|
76
77
|
cornerRadius = props.cornerRadius,
|
|
@@ -91,8 +92,8 @@ function PieArcLabel(props) {
|
|
|
91
92
|
className: classes.root
|
|
92
93
|
}, other, {
|
|
93
94
|
style: _extends({
|
|
94
|
-
x: to([startAngle, endAngle, paddingAngle,
|
|
95
|
-
y: to([startAngle, endAngle, paddingAngle,
|
|
95
|
+
x: to([startAngle, endAngle, paddingAngle, arcLabelRadius, cornerRadius], getLabelPosition(formattedArcLabel, 'x')),
|
|
96
|
+
y: to([startAngle, endAngle, paddingAngle, arcLabelRadius, cornerRadius], getLabelPosition(formattedArcLabel, 'y'))
|
|
96
97
|
}, style),
|
|
97
98
|
children: formattedArcLabel
|
|
98
99
|
}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "arcLabel", "arcLabelMinAngle", "skipAnimation"],
|
|
4
|
-
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "cornerRadius"];
|
|
3
|
+
var _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "arcLabelRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "arcLabel", "arcLabelMinAngle", "skipAnimation"],
|
|
4
|
+
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "arcLabelRadius", "cornerRadius"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { useTransition } from '@react-spring/web';
|
|
@@ -28,9 +28,9 @@ function PieArcLabelPlot(props) {
|
|
|
28
28
|
var _slots$pieArcLabel;
|
|
29
29
|
var slots = props.slots,
|
|
30
30
|
slotProps = props.slotProps,
|
|
31
|
-
|
|
32
|
-
innerRadius = _props$innerRadius === void 0 ? 0 : _props$innerRadius,
|
|
31
|
+
innerRadius = props.innerRadius,
|
|
33
32
|
outerRadius = props.outerRadius,
|
|
33
|
+
arcLabelRadius = props.arcLabelRadius,
|
|
34
34
|
_props$cornerRadius = props.cornerRadius,
|
|
35
35
|
cornerRadius = _props$cornerRadius === void 0 ? 0 : _props$cornerRadius,
|
|
36
36
|
_props$paddingAngle = props.paddingAngle,
|
|
@@ -51,6 +51,7 @@ function PieArcLabelPlot(props) {
|
|
|
51
51
|
var transformedData = useTransformData({
|
|
52
52
|
innerRadius: innerRadius,
|
|
53
53
|
outerRadius: outerRadius,
|
|
54
|
+
arcLabelRadius: arcLabelRadius,
|
|
54
55
|
cornerRadius: cornerRadius,
|
|
55
56
|
paddingAngle: paddingAngle,
|
|
56
57
|
id: id,
|
|
@@ -73,6 +74,7 @@ function PieArcLabelPlot(props) {
|
|
|
73
74
|
pA = _ref.paddingAngle,
|
|
74
75
|
iR = _ref.innerRadius,
|
|
75
76
|
oR = _ref.outerRadius,
|
|
77
|
+
aLR = _ref.arcLabelRadius,
|
|
76
78
|
cR = _ref.cornerRadius,
|
|
77
79
|
style = _objectWithoutProperties(_ref, _excluded2);
|
|
78
80
|
return /*#__PURE__*/_jsx(ArcLabel, _extends({
|
|
@@ -81,6 +83,7 @@ function PieArcLabelPlot(props) {
|
|
|
81
83
|
paddingAngle: pA,
|
|
82
84
|
innerRadius: iR,
|
|
83
85
|
outerRadius: oR,
|
|
86
|
+
arcLabelRadius: aLR,
|
|
84
87
|
cornerRadius: cR,
|
|
85
88
|
style: style,
|
|
86
89
|
id: id,
|
|
@@ -105,6 +108,11 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
|
|
|
105
108
|
* The minimal angle required to display the arc label.
|
|
106
109
|
*/
|
|
107
110
|
arcLabelMinAngle: PropTypes.number,
|
|
111
|
+
/**
|
|
112
|
+
* The radius between circle center and the arc label in px.
|
|
113
|
+
* @default (innerRadius - outerRadius) / 2
|
|
114
|
+
*/
|
|
115
|
+
arcLabelRadius: PropTypes.number,
|
|
108
116
|
/**
|
|
109
117
|
* The radius applied to arc corners (similar to border radius).
|
|
110
118
|
* @default 0
|
|
@@ -126,6 +134,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
|
|
|
126
134
|
*/
|
|
127
135
|
faded: PropTypes.shape({
|
|
128
136
|
additionalRadius: PropTypes.number,
|
|
137
|
+
arcLabelRadius: PropTypes.number,
|
|
129
138
|
color: PropTypes.string,
|
|
130
139
|
cornerRadius: PropTypes.number,
|
|
131
140
|
innerRadius: PropTypes.number,
|
|
@@ -137,6 +146,7 @@ process.env.NODE_ENV !== "production" ? PieArcLabelPlot.propTypes = {
|
|
|
137
146
|
*/
|
|
138
147
|
highlighted: PropTypes.shape({
|
|
139
148
|
additionalRadius: PropTypes.number,
|
|
149
|
+
arcLabelRadius: PropTypes.number,
|
|
140
150
|
color: PropTypes.string,
|
|
141
151
|
cornerRadius: PropTypes.number,
|
|
142
152
|
innerRadius: PropTypes.number,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
3
|
var _excluded = ["slots", "slotProps", "innerRadius", "outerRadius", "cornerRadius", "paddingAngle", "id", "highlightScope", "highlighted", "faded", "data", "onClick", "skipAnimation"],
|
|
4
|
-
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "outerRadius", "cornerRadius"];
|
|
4
|
+
_excluded2 = ["startAngle", "endAngle", "paddingAngle", "innerRadius", "arcLabelRadius", "outerRadius", "cornerRadius"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { useTransition } from '@react-spring/web';
|
|
@@ -55,6 +55,7 @@ function PieArcPlot(props) {
|
|
|
55
55
|
endAngle = _ref.endAngle,
|
|
56
56
|
pA = _ref.paddingAngle,
|
|
57
57
|
iR = _ref.innerRadius,
|
|
58
|
+
arcLabelRadius = _ref.arcLabelRadius,
|
|
58
59
|
oR = _ref.outerRadius,
|
|
59
60
|
cR = _ref.cornerRadius,
|
|
60
61
|
style = _objectWithoutProperties(_ref, _excluded2);
|
|
@@ -88,6 +89,11 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
|
|
|
88
89
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
89
90
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
90
91
|
// ----------------------------------------------------------------------
|
|
92
|
+
/**
|
|
93
|
+
* The radius between circle center and the arc label in px.
|
|
94
|
+
* @default (innerRadius - outerRadius) / 2
|
|
95
|
+
*/
|
|
96
|
+
arcLabelRadius: PropTypes.number,
|
|
91
97
|
/**
|
|
92
98
|
* The radius applied to arc corners (similar to border radius).
|
|
93
99
|
* @default 0
|
|
@@ -109,6 +115,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
|
|
|
109
115
|
*/
|
|
110
116
|
faded: PropTypes.shape({
|
|
111
117
|
additionalRadius: PropTypes.number,
|
|
118
|
+
arcLabelRadius: PropTypes.number,
|
|
112
119
|
color: PropTypes.string,
|
|
113
120
|
cornerRadius: PropTypes.number,
|
|
114
121
|
innerRadius: PropTypes.number,
|
|
@@ -120,6 +127,7 @@ process.env.NODE_ENV !== "production" ? PieArcPlot.propTypes = {
|
|
|
120
127
|
*/
|
|
121
128
|
highlighted: PropTypes.shape({
|
|
122
129
|
additionalRadius: PropTypes.number,
|
|
130
|
+
arcLabelRadius: PropTypes.number,
|
|
123
131
|
color: PropTypes.string,
|
|
124
132
|
cornerRadius: PropTypes.number,
|
|
125
133
|
innerRadius: PropTypes.number,
|
|
@@ -250,6 +250,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
250
250
|
series: PropTypes.arrayOf(PropTypes.shape({
|
|
251
251
|
arcLabel: PropTypes.oneOfType([PropTypes.oneOf(['formattedValue', 'label', 'value']), PropTypes.func]),
|
|
252
252
|
arcLabelMinAngle: PropTypes.number,
|
|
253
|
+
arcLabelRadius: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
253
254
|
color: PropTypes.string,
|
|
254
255
|
cornerRadius: PropTypes.number,
|
|
255
256
|
cx: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -263,6 +264,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
263
264
|
endAngle: PropTypes.number,
|
|
264
265
|
faded: PropTypes.shape({
|
|
265
266
|
additionalRadius: PropTypes.number,
|
|
267
|
+
arcLabelRadius: PropTypes.number,
|
|
266
268
|
color: PropTypes.string,
|
|
267
269
|
cornerRadius: PropTypes.number,
|
|
268
270
|
innerRadius: PropTypes.number,
|
|
@@ -271,6 +273,7 @@ process.env.NODE_ENV !== "production" ? PieChart.propTypes = {
|
|
|
271
273
|
}),
|
|
272
274
|
highlighted: PropTypes.shape({
|
|
273
275
|
additionalRadius: PropTypes.number,
|
|
276
|
+
arcLabelRadius: PropTypes.number,
|
|
274
277
|
color: PropTypes.string,
|
|
275
278
|
cornerRadius: PropTypes.number,
|
|
276
279
|
innerRadius: PropTypes.number,
|
|
@@ -73,6 +73,7 @@ function PiePlot(props) {
|
|
|
73
73
|
var _series$seriesId2 = series[seriesId],
|
|
74
74
|
innerRadiusParam = _series$seriesId2.innerRadius,
|
|
75
75
|
outerRadiusParam = _series$seriesId2.outerRadius,
|
|
76
|
+
arcLabelRadiusParam = _series$seriesId2.arcLabelRadius,
|
|
76
77
|
cornerRadius = _series$seriesId2.cornerRadius,
|
|
77
78
|
paddingAngle = _series$seriesId2.paddingAngle,
|
|
78
79
|
arcLabel = _series$seriesId2.arcLabel,
|
|
@@ -83,6 +84,7 @@ function PiePlot(props) {
|
|
|
83
84
|
highlightScope = _series$seriesId2.highlightScope;
|
|
84
85
|
var outerRadius = getPercentageValue(outerRadiusParam != null ? outerRadiusParam : availableRadius, availableRadius);
|
|
85
86
|
var innerRadius = getPercentageValue(innerRadiusParam != null ? innerRadiusParam : 0, availableRadius);
|
|
87
|
+
var arcLabelRadius = arcLabelRadiusParam === undefined ? (outerRadius + innerRadius) / 2 : getPercentageValue(arcLabelRadiusParam, availableRadius);
|
|
86
88
|
var cx = getPercentageValue(cxParam != null ? cxParam : '50%', width);
|
|
87
89
|
var cy = getPercentageValue(cyParam != null ? cyParam : '50%', height);
|
|
88
90
|
return /*#__PURE__*/_jsx("g", {
|
|
@@ -90,6 +92,7 @@ function PiePlot(props) {
|
|
|
90
92
|
children: /*#__PURE__*/_jsx(PieArcLabelPlot, {
|
|
91
93
|
innerRadius: innerRadius,
|
|
92
94
|
outerRadius: outerRadius != null ? outerRadius : availableRadius,
|
|
95
|
+
arcLabelRadius: arcLabelRadius,
|
|
93
96
|
cornerRadius: cornerRadius,
|
|
94
97
|
paddingAngle: paddingAngle,
|
|
95
98
|
id: seriesId,
|
|
@@ -78,6 +78,7 @@ export var defaultLabelTransitionConfig = {
|
|
|
78
78
|
from: function from(_ref5) {
|
|
79
79
|
var innerRadius = _ref5.innerRadius,
|
|
80
80
|
outerRadius = _ref5.outerRadius,
|
|
81
|
+
arcLabelRadius = _ref5.arcLabelRadius,
|
|
81
82
|
cornerRadius = _ref5.cornerRadius,
|
|
82
83
|
startAngle = _ref5.startAngle,
|
|
83
84
|
endAngle = _ref5.endAngle,
|
|
@@ -86,6 +87,7 @@ export var defaultLabelTransitionConfig = {
|
|
|
86
87
|
innerRadius: innerRadius,
|
|
87
88
|
outerRadius: (innerRadius + outerRadius) / 2,
|
|
88
89
|
cornerRadius: cornerRadius,
|
|
90
|
+
arcLabelRadius: arcLabelRadius,
|
|
89
91
|
startAngle: (startAngle + endAngle) / 2,
|
|
90
92
|
endAngle: (startAngle + endAngle) / 2,
|
|
91
93
|
paddingAngle: paddingAngle,
|
|
@@ -99,6 +101,7 @@ export var defaultLabelTransitionConfig = {
|
|
|
99
101
|
return {
|
|
100
102
|
innerRadius: innerRadius,
|
|
101
103
|
outerRadius: innerRadius,
|
|
104
|
+
arcLabelRadius: innerRadius,
|
|
102
105
|
startAngle: (startAngle + endAngle) / 2,
|
|
103
106
|
endAngle: (startAngle + endAngle) / 2,
|
|
104
107
|
opacity: 0
|
|
@@ -108,12 +111,14 @@ export var defaultLabelTransitionConfig = {
|
|
|
108
111
|
var innerRadius = _ref7.innerRadius,
|
|
109
112
|
outerRadius = _ref7.outerRadius,
|
|
110
113
|
startAngle = _ref7.startAngle,
|
|
111
|
-
endAngle = _ref7.endAngle
|
|
114
|
+
endAngle = _ref7.endAngle,
|
|
115
|
+
arcLabelRadius = _ref7.arcLabelRadius;
|
|
112
116
|
return {
|
|
113
117
|
innerRadius: innerRadius,
|
|
114
118
|
outerRadius: outerRadius,
|
|
115
119
|
startAngle: startAngle,
|
|
116
120
|
endAngle: endAngle,
|
|
121
|
+
arcLabelRadius: arcLabelRadius,
|
|
117
122
|
opacity: 1
|
|
118
123
|
};
|
|
119
124
|
},
|
|
@@ -123,7 +128,8 @@ export var defaultLabelTransitionConfig = {
|
|
|
123
128
|
cornerRadius = _ref8.cornerRadius,
|
|
124
129
|
startAngle = _ref8.startAngle,
|
|
125
130
|
endAngle = _ref8.endAngle,
|
|
126
|
-
paddingAngle = _ref8.paddingAngle
|
|
131
|
+
paddingAngle = _ref8.paddingAngle,
|
|
132
|
+
arcLabelRadius = _ref8.arcLabelRadius;
|
|
127
133
|
return {
|
|
128
134
|
innerRadius: innerRadius,
|
|
129
135
|
outerRadius: outerRadius,
|
|
@@ -131,6 +137,7 @@ export var defaultLabelTransitionConfig = {
|
|
|
131
137
|
startAngle: startAngle,
|
|
132
138
|
endAngle: endAngle,
|
|
133
139
|
paddingAngle: paddingAngle,
|
|
140
|
+
arcLabelRadius: arcLabelRadius,
|
|
134
141
|
opacity: 1
|
|
135
142
|
};
|
|
136
143
|
},
|
|
@@ -12,6 +12,7 @@ export function useTransformData(series) {
|
|
|
12
12
|
basePaddingAngle = _series$paddingAngle === void 0 ? 0 : _series$paddingAngle,
|
|
13
13
|
_series$innerRadius = series.innerRadius,
|
|
14
14
|
baseInnerRadius = _series$innerRadius === void 0 ? 0 : _series$innerRadius,
|
|
15
|
+
baseArcLabelRadius = series.arcLabelRadius,
|
|
15
16
|
baseOuterRadius = series.outerRadius,
|
|
16
17
|
_series$cornerRadius = series.cornerRadius,
|
|
17
18
|
baseCornerRadius = _series$cornerRadius === void 0 ? 0 : _series$cornerRadius;
|
|
@@ -35,26 +36,28 @@ export function useTransformData(series) {
|
|
|
35
36
|
}, [highlightScope, highlightedItem, seriesId]);
|
|
36
37
|
var dataWithHighlight = React.useMemo(function () {
|
|
37
38
|
return data.map(function (item, itemIndex) {
|
|
38
|
-
var
|
|
39
|
+
var _attributesOverride$p, _attributesOverride$i, _attributesOverride$o, _attributesOverride$c, _ref, _attributesOverride$a;
|
|
39
40
|
var _getHighlightStatus = getHighlightStatus(itemIndex),
|
|
40
41
|
isHighlighted = _getHighlightStatus.isHighlighted,
|
|
41
42
|
isFaded = _getHighlightStatus.isFaded;
|
|
42
|
-
var
|
|
43
|
+
var attributesOverride = _extends({
|
|
43
44
|
additionalRadius: 0
|
|
44
45
|
}, isFaded && faded || isHighlighted && highlighted || {});
|
|
45
|
-
var paddingAngle = Math.max(0, Math.PI * ((
|
|
46
|
-
var innerRadius = Math.max(0, (
|
|
47
|
-
var outerRadius = Math.max(0, (
|
|
48
|
-
var cornerRadius = (
|
|
49
|
-
|
|
46
|
+
var paddingAngle = Math.max(0, Math.PI * ((_attributesOverride$p = attributesOverride.paddingAngle) != null ? _attributesOverride$p : basePaddingAngle) / 180);
|
|
47
|
+
var innerRadius = Math.max(0, (_attributesOverride$i = attributesOverride.innerRadius) != null ? _attributesOverride$i : baseInnerRadius);
|
|
48
|
+
var outerRadius = Math.max(0, (_attributesOverride$o = attributesOverride.outerRadius) != null ? _attributesOverride$o : baseOuterRadius + attributesOverride.additionalRadius);
|
|
49
|
+
var cornerRadius = (_attributesOverride$c = attributesOverride.cornerRadius) != null ? _attributesOverride$c : baseCornerRadius;
|
|
50
|
+
var arcLabelRadius = (_ref = (_attributesOverride$a = attributesOverride.arcLabelRadius) != null ? _attributesOverride$a : baseArcLabelRadius) != null ? _ref : (innerRadius + outerRadius) / 2;
|
|
51
|
+
return _extends({}, item, attributesOverride, {
|
|
50
52
|
isFaded: isFaded,
|
|
51
53
|
isHighlighted: isHighlighted,
|
|
52
54
|
paddingAngle: paddingAngle,
|
|
53
55
|
innerRadius: innerRadius,
|
|
54
56
|
outerRadius: outerRadius,
|
|
55
|
-
cornerRadius: cornerRadius
|
|
57
|
+
cornerRadius: cornerRadius,
|
|
58
|
+
arcLabelRadius: arcLabelRadius
|
|
56
59
|
});
|
|
57
60
|
});
|
|
58
|
-
}, [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, data, faded, getHighlightStatus, highlighted]);
|
|
61
|
+
}, [baseCornerRadius, baseInnerRadius, baseOuterRadius, basePaddingAngle, baseArcLabelRadius, data, faded, getHighlightStatus, highlighted]);
|
|
59
62
|
return dataWithHighlight;
|
|
60
63
|
}
|
package/legacy/index.js
CHANGED
|
@@ -55,7 +55,8 @@ export var StackOffset = {
|
|
|
55
55
|
*/
|
|
56
56
|
export var getStackingGroups = function getStackingGroups(params) {
|
|
57
57
|
var series = params.series,
|
|
58
|
-
seriesOrder = params.seriesOrder
|
|
58
|
+
seriesOrder = params.seriesOrder,
|
|
59
|
+
defaultStrategy = params.defaultStrategy;
|
|
59
60
|
var stackingGroups = [];
|
|
60
61
|
var stackIndex = {};
|
|
61
62
|
seriesOrder.forEach(function (id) {
|
|
@@ -70,11 +71,12 @@ export var getStackingGroups = function getStackingGroups(params) {
|
|
|
70
71
|
stackingOffset: StackOffset.none
|
|
71
72
|
});
|
|
72
73
|
} else if (stackIndex[stack] === undefined) {
|
|
74
|
+
var _ref, _ref2;
|
|
73
75
|
stackIndex[stack] = stackingGroups.length;
|
|
74
76
|
stackingGroups.push({
|
|
75
77
|
ids: [id],
|
|
76
|
-
stackingOrder: StackOrder[stackOrder != null ? stackOrder : 'none'],
|
|
77
|
-
stackingOffset: StackOffset[stackOffset != null ? stackOffset : 'diverging']
|
|
78
|
+
stackingOrder: StackOrder[(_ref = stackOrder != null ? stackOrder : defaultStrategy == null ? void 0 : defaultStrategy.stackOrder) != null ? _ref : 'none'],
|
|
79
|
+
stackingOffset: StackOffset[(_ref2 = stackOffset != null ? stackOffset : defaultStrategy == null ? void 0 : defaultStrategy.stackOffset) != null ? _ref2 : 'diverging']
|
|
78
80
|
});
|
|
79
81
|
} else {
|
|
80
82
|
stackingGroups[stackIndex[stack]].ids.push(id);
|
package/legacy/models/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/models/index.d.ts
CHANGED