@easyv/charts 1.4.15 → 1.4.16
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/.husky/commit-msg +1 -1
- package/lib/components/AnimateData.js +8 -16
- package/lib/components/Axis.js +199 -191
- package/lib/components/Background.js +16 -24
- package/lib/components/Band.js +98 -91
- package/lib/components/BaseLine.js +39 -40
- package/lib/components/Brush.js +29 -46
- package/lib/components/Carousel.js +13 -40
- package/lib/components/CartesianChart.js +66 -86
- package/lib/components/Chart.js +23 -36
- package/lib/components/ChartContainer.js +18 -27
- package/lib/components/ConicalGradient.js +35 -68
- package/lib/components/ExtentData.js +9 -17
- package/lib/components/FilterData.js +16 -27
- package/lib/components/Indicator.js +6 -8
- package/lib/components/Label.js +120 -134
- package/lib/components/Legend.js +41 -66
- package/lib/components/Lighter.js +19 -48
- package/lib/components/Line.js +39 -59
- package/lib/components/LinearGradient.js +14 -20
- package/lib/components/Mapping.js +9 -34
- package/lib/components/Marquee.js +14 -30
- package/lib/components/PieChart.js +306 -400
- package/lib/components/StackData.js +8 -18
- package/lib/components/StereoBar.js +65 -105
- package/lib/components/TextOverflow.js +8 -21
- package/lib/components/Tooltip.js +41 -55
- package/lib/components/index.js +0 -27
- package/lib/context/index.js +0 -2
- package/lib/element/ConicGradient.js +29 -35
- package/lib/element/Line.js +9 -13
- package/lib/element/index.js +0 -2
- package/lib/formatter/index.js +0 -2
- package/lib/formatter/legend.js +30 -41
- package/lib/hooks/index.js +0 -8
- package/lib/hooks/useAnimateData.js +3 -16
- package/lib/hooks/useAxes.js +253 -114
- package/lib/hooks/useCarouselAxisX.js +26 -56
- package/lib/hooks/useExtentData.js +47 -44
- package/lib/hooks/useFilterData.js +8 -29
- package/lib/hooks/useStackData.js +7 -30
- package/lib/hooks/useTooltip.js +26 -43
- package/lib/index.js +0 -15
- package/lib/utils/index.js +95 -247
- package/package.json +55 -54
- package/src/components/Axis.tsx +246 -157
- package/src/components/Band.tsx +91 -56
- package/src/components/BaseLine.js +22 -5
- package/src/components/CartesianChart.js +1 -0
- package/src/components/Label.js +56 -46
- package/src/hooks/useAxes.js +336 -117
- package/src/hooks/useExtentData.js +37 -10
|
@@ -1,72 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
-
|
|
16
11
|
var _d3v = require("d3v7");
|
|
17
|
-
|
|
18
12
|
var _utils = require("@easyv/utils/lib/common/utils");
|
|
19
|
-
|
|
20
13
|
var _indexModule = _interopRequireDefault(require("../css/index.module.css"));
|
|
21
|
-
|
|
22
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
15
|
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
16
|
/**
|
|
27
17
|
* 饼图装饰内圈
|
|
28
18
|
*/
|
|
29
19
|
var _default = function _default(_ref) {
|
|
30
20
|
var width = _ref.width,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
21
|
+
height = _ref.height,
|
|
22
|
+
centerX = _ref.centerX,
|
|
23
|
+
centerY = _ref.centerY,
|
|
24
|
+
radius = _ref.radius,
|
|
25
|
+
_ref$config = _ref.config,
|
|
26
|
+
show = _ref$config.show,
|
|
27
|
+
innerRadius = _ref$config.innerRadius,
|
|
28
|
+
outerRadius = _ref$config.outerRadius,
|
|
29
|
+
opacity = _ref$config.opacity,
|
|
30
|
+
speed = _ref$config.speed,
|
|
31
|
+
direction = _ref$config.direction,
|
|
32
|
+
arcs = _ref.arcs;
|
|
43
33
|
if (!show) return null;
|
|
44
|
-
|
|
45
34
|
var _useState = (0, _react.useState)(null),
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
35
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
36
|
+
canvas = _useState2[0],
|
|
37
|
+
setCanvas = _useState2[1];
|
|
50
38
|
(0, _react.useEffect)(function () {
|
|
51
39
|
if (arcs && arcs.length > 0 && canvas && canvas.getContext('2d')) {
|
|
52
40
|
var _radius = radius * devicePixelRatio;
|
|
53
|
-
|
|
54
41
|
var context = canvas.getContext('2d');
|
|
55
42
|
context.clearRect(0, 0, width * devicePixelRatio, height * devicePixelRatio);
|
|
56
43
|
context.save();
|
|
57
44
|
context.translate(centerX * devicePixelRatio, centerY * devicePixelRatio);
|
|
58
45
|
context.beginPath();
|
|
59
|
-
|
|
60
|
-
|
|
46
|
+
var _arc = (0, _d3v.arc)().innerRadius(innerRadius * _radius).outerRadius(outerRadius * _radius)
|
|
47
|
+
// .padAngle(axis.pole.padAngle)
|
|
61
48
|
// .cornerRadius(axis.pole.cornerRadius)
|
|
62
49
|
.context(context);
|
|
63
|
-
|
|
64
50
|
arcs.forEach(function (element) {
|
|
65
51
|
var startAngle = element.arc.startAngle()();
|
|
66
52
|
var endAngle = element.arc.endAngle()();
|
|
67
|
-
|
|
68
53
|
_arc.startAngle(startAngle).endAngle(endAngle)();
|
|
69
|
-
|
|
70
54
|
context.fillStyle = 'rgba(255, 255, 255, 0)';
|
|
71
55
|
context.fill();
|
|
72
56
|
});
|
|
@@ -75,20 +59,18 @@ var _default = function _default(_ref) {
|
|
|
75
59
|
var conic = new ConicalGradient();
|
|
76
60
|
arcs.reduce(function (reduced, _ref2) {
|
|
77
61
|
var percent = _ref2.percent,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
62
|
+
_ref2$series$color = _ref2.series.color,
|
|
63
|
+
type = _ref2$series$color.type,
|
|
64
|
+
pure = _ref2$series$color.pure,
|
|
65
|
+
stops = _ref2$series$color.linear.stops;
|
|
82
66
|
var result = reduced + percent / 100;
|
|
83
67
|
var color = type == 'pure' ? pure : stops[0].color;
|
|
84
|
-
|
|
85
68
|
if (!!color) {
|
|
86
69
|
var _converColor = (0, _utils.converColor)(color, 1),
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
70
|
+
r = _converColor.r,
|
|
71
|
+
g = _converColor.g,
|
|
72
|
+
b = _converColor.b,
|
|
73
|
+
a = _converColor.a;
|
|
92
74
|
conic.addColorStop(reduced, {
|
|
93
75
|
r: r,
|
|
94
76
|
g: g,
|
|
@@ -102,7 +84,6 @@ var _default = function _default(_ref) {
|
|
|
102
84
|
a: a
|
|
103
85
|
});
|
|
104
86
|
}
|
|
105
|
-
|
|
106
87
|
return result;
|
|
107
88
|
}, 0);
|
|
108
89
|
conic.fill(context, 0, 0, _radius, 0, 2 * Math.PI, false);
|
|
@@ -130,15 +111,11 @@ var _default = function _default(_ref) {
|
|
|
130
111
|
/**
|
|
131
112
|
* ConicalGradient
|
|
132
113
|
*/
|
|
133
|
-
|
|
134
|
-
|
|
135
114
|
exports["default"] = _default;
|
|
136
|
-
|
|
137
115
|
function ConicalGradient() {
|
|
138
116
|
this._offsets = [];
|
|
139
117
|
this._colors = [];
|
|
140
118
|
}
|
|
141
|
-
|
|
142
119
|
ConicalGradient.prototype = {
|
|
143
120
|
/**
|
|
144
121
|
* addColorStop
|
|
@@ -148,19 +125,15 @@ ConicalGradient.prototype = {
|
|
|
148
125
|
*/
|
|
149
126
|
addColorStop: function addColorStop(offset, color) {
|
|
150
127
|
this._offsets.push(offset);
|
|
151
|
-
|
|
152
128
|
this._colors.push(color);
|
|
153
|
-
|
|
154
129
|
return this;
|
|
155
130
|
},
|
|
156
|
-
|
|
157
131
|
/**
|
|
158
132
|
* _offsetsReverse (array.forEach callback)
|
|
159
133
|
*/
|
|
160
134
|
_offsetsReverse: function _offsetsReverse(offset, index, array) {
|
|
161
135
|
array[index] = 1 - offset;
|
|
162
136
|
},
|
|
163
|
-
|
|
164
137
|
/**
|
|
165
138
|
* fill
|
|
166
139
|
*
|
|
@@ -181,7 +154,6 @@ ConicalGradient.prototype = {
|
|
|
181
154
|
startAngle %= TWO_PI;
|
|
182
155
|
if (endAngle < 0) endAngle = endAngle % TWO_PI + TWO_PI;
|
|
183
156
|
endAngle %= TWO_PI;
|
|
184
|
-
|
|
185
157
|
if (anticlockwise) {
|
|
186
158
|
// 逆时针
|
|
187
159
|
var swap = startAngle;
|
|
@@ -191,11 +163,9 @@ ConicalGradient.prototype = {
|
|
|
191
163
|
offsets.reverse();
|
|
192
164
|
offsets.forEach(this._offsetsReverse);
|
|
193
165
|
}
|
|
194
|
-
|
|
195
166
|
if (startAngle > endAngle || Math.abs(endAngle - startAngle) < 0.0001) {
|
|
196
167
|
endAngle += TWO_PI;
|
|
197
168
|
}
|
|
198
|
-
|
|
199
169
|
var colorsLength = colors.length;
|
|
200
170
|
var currentColorIndex = 0;
|
|
201
171
|
var currentColor = colors[currentColorIndex];
|
|
@@ -208,22 +178,21 @@ ConicalGradient.prototype = {
|
|
|
208
178
|
var arcStartAngle = startAngle;
|
|
209
179
|
var arcEndAngle;
|
|
210
180
|
var r1 = currentColor.r,
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
181
|
+
g1 = currentColor.g,
|
|
182
|
+
b1 = currentColor.b,
|
|
183
|
+
a1 = currentColor.a,
|
|
184
|
+
r2 = nextColor.r,
|
|
185
|
+
g2 = nextColor.g,
|
|
186
|
+
b2 = nextColor.b,
|
|
187
|
+
a2 = nextColor.a;
|
|
218
188
|
if (!a1 && a1 !== 0) a1 = 1;
|
|
219
189
|
if (!a2 && a2 !== 0) a2 = 1;
|
|
220
190
|
var rd = r2 - r1,
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
191
|
+
gd = g2 - g1,
|
|
192
|
+
bd = b2 - b1,
|
|
193
|
+
ad = a2 - a1;
|
|
224
194
|
var t, r, g, b, a;
|
|
225
195
|
context.save();
|
|
226
|
-
|
|
227
196
|
for (var i = 0, n = 1 / totalAngleDeg; i < 1; i += n) {
|
|
228
197
|
if (i >= currentOffset) {
|
|
229
198
|
currentColorIndex++;
|
|
@@ -252,7 +221,6 @@ ConicalGradient.prototype = {
|
|
|
252
221
|
currentOffset = offsets[currentColorIndex];
|
|
253
222
|
offsetDist = currentOffset - prevOffset;
|
|
254
223
|
}
|
|
255
|
-
|
|
256
224
|
t = (i - prevOffset) / offsetDist;
|
|
257
225
|
r = rd * t + r1 & 255;
|
|
258
226
|
g = gd * t + g1 & 255;
|
|
@@ -267,7 +235,6 @@ ConicalGradient.prototype = {
|
|
|
267
235
|
context.fill();
|
|
268
236
|
arcStartAngle += stepAngleRad;
|
|
269
237
|
}
|
|
270
|
-
|
|
271
238
|
context.restore();
|
|
272
239
|
return this;
|
|
273
240
|
}
|
|
@@ -1,37 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
11
|
var _react = require("react");
|
|
17
|
-
|
|
18
12
|
var _hooks = require("../hooks");
|
|
19
|
-
|
|
20
13
|
var _excluded = ["axes", "series"],
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
_excluded2 = ["config", "data"];
|
|
15
|
+
/**
|
|
16
|
+
* 计算X/Y/Z轴的domain,具体的逻辑在useExtentData(HOC)
|
|
17
|
+
*/
|
|
23
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
24
|
-
|
|
25
19
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
26
|
-
|
|
27
20
|
var _default = function _default(Component) {
|
|
28
21
|
return /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
29
22
|
var _ref$config = _ref.config,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
axes = _ref$config.axes,
|
|
24
|
+
series = _ref$config.series,
|
|
25
|
+
config = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded),
|
|
26
|
+
data = _ref.data,
|
|
27
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
|
|
35
28
|
return /*#__PURE__*/React.createElement(Component, (0, _extends2["default"])({}, props, {
|
|
36
29
|
config: _objectSpread(_objectSpread({}, config), {}, {
|
|
37
30
|
axes: (0, _hooks.useExtentData)({
|
|
@@ -45,5 +38,4 @@ var _default = function _default(Component) {
|
|
|
45
38
|
}));
|
|
46
39
|
});
|
|
47
40
|
};
|
|
48
|
-
|
|
49
41
|
exports["default"] = _default;
|
|
@@ -1,49 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports["default"] = void 0;
|
|
9
|
-
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
11
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
12
|
var _react = require("react");
|
|
19
|
-
|
|
20
13
|
var _hooks = require("../hooks");
|
|
21
|
-
|
|
22
14
|
var _excluded = ["series"],
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
_excluded2 = ["config", "data"];
|
|
16
|
+
/**
|
|
17
|
+
* 点击图例进行数据筛选,具体逻辑在useFilterData(HOC)
|
|
18
|
+
*/
|
|
25
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
26
|
-
|
|
27
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
|
-
|
|
29
21
|
var _default = function _default(Component) {
|
|
30
22
|
return /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
31
23
|
var _ref$config = _ref.config,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
24
|
+
series = _ref$config.series,
|
|
25
|
+
config = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded),
|
|
26
|
+
data = _ref.data,
|
|
27
|
+
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
|
|
37
28
|
var _useFilterData = (0, _hooks.useFilterData)({
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
29
|
+
series: series,
|
|
30
|
+
data: data
|
|
31
|
+
}),
|
|
32
|
+
_useFilterData2 = (0, _slicedToArray2["default"])(_useFilterData, 2),
|
|
33
|
+
_useFilterData2$ = _useFilterData2[0],
|
|
34
|
+
_series = _useFilterData2$.series,
|
|
35
|
+
filteredData = _useFilterData2$.data,
|
|
36
|
+
filterData = _useFilterData2[1];
|
|
47
37
|
return /*#__PURE__*/React.createElement(Component, (0, _extends2["default"])({}, props, {
|
|
48
38
|
config: _objectSpread(_objectSpread({}, config), {}, {
|
|
49
39
|
series: _series
|
|
@@ -53,5 +43,4 @@ var _default = function _default(Component) {
|
|
|
53
43
|
}));
|
|
54
44
|
});
|
|
55
45
|
};
|
|
56
|
-
|
|
57
46
|
exports["default"] = _default;
|
|
@@ -4,18 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* 轴类图表移上去的指示框背景
|
|
10
9
|
*/
|
|
11
10
|
var _default = function _default(_ref) {
|
|
12
11
|
var color = _ref.color,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
height = _ref.height,
|
|
13
|
+
width = _ref.width,
|
|
14
|
+
_ref$x = _ref.x,
|
|
15
|
+
x = _ref$x === void 0 ? 0 : _ref$x,
|
|
16
|
+
_ref$y = _ref.y,
|
|
17
|
+
y = _ref$y === void 0 ? 0 : _ref$y;
|
|
19
18
|
return /*#__PURE__*/React.createElement("rect", {
|
|
20
19
|
width: width,
|
|
21
20
|
height: height,
|
|
@@ -25,5 +24,4 @@ var _default = function _default(_ref) {
|
|
|
25
24
|
stroke: "none"
|
|
26
25
|
});
|
|
27
26
|
};
|
|
28
|
-
|
|
29
27
|
exports["default"] = _default;
|