@easyv/charts 1.4.29 → 1.4.30

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.
Files changed (90) hide show
  1. package/.babelrc +8 -8
  2. package/.husky/commit-msg +3 -3
  3. package/CHANGELOG.md +18 -18
  4. package/commitlint.config.js +1 -1
  5. package/lib/components/AnimateData.js +16 -8
  6. package/lib/components/Axis.js +134 -87
  7. package/lib/components/Background.js +26 -18
  8. package/lib/components/Band.js +98 -72
  9. package/lib/components/BaseLine.js +46 -33
  10. package/lib/components/Brush.js +46 -29
  11. package/lib/components/Carousel.js +40 -13
  12. package/lib/components/CartesianChart.js +146 -97
  13. package/lib/components/Chart.js +38 -24
  14. package/lib/components/ChartContainer.js +27 -18
  15. package/lib/components/ConicalGradient.js +89 -56
  16. package/lib/components/Control.js +28 -12
  17. package/lib/components/ExtentData.js +17 -9
  18. package/lib/components/FilterData.js +27 -16
  19. package/lib/components/Indicator.js +30 -23
  20. package/lib/components/Label.js +126 -96
  21. package/lib/components/Legend.js +66 -41
  22. package/lib/components/Lighter.js +50 -21
  23. package/lib/components/Line.js +59 -39
  24. package/lib/components/LinearGradient.js +22 -16
  25. package/lib/components/Mapping.js +34 -9
  26. package/lib/components/Marquee.js +30 -14
  27. package/lib/components/PieChart.js +420 -318
  28. package/lib/components/StackData.js +18 -8
  29. package/lib/components/StereoBar.js +105 -65
  30. package/lib/components/TextOverflow.js +21 -8
  31. package/lib/components/Tooltip.js +55 -41
  32. package/lib/components/index.js +29 -0
  33. package/lib/components/pieTooltip.js +67 -40
  34. package/lib/context/index.js +2 -0
  35. package/lib/css/index.module.css +42 -42
  36. package/lib/css/piechart.module.css +26 -26
  37. package/lib/element/ConicGradient.js +35 -29
  38. package/lib/element/Line.js +13 -9
  39. package/lib/element/index.js +2 -0
  40. package/lib/formatter/index.js +2 -0
  41. package/lib/formatter/legend.js +41 -30
  42. package/lib/hooks/index.js +9 -0
  43. package/lib/hooks/useAiData.js +20 -12
  44. package/lib/hooks/useAnimateData.js +21 -8
  45. package/lib/hooks/useAxes.js +117 -67
  46. package/lib/hooks/useCarouselAxisX.js +59 -26
  47. package/lib/hooks/useExtentData.js +47 -15
  48. package/lib/hooks/useFilterData.js +34 -13
  49. package/lib/hooks/useStackData.js +35 -12
  50. package/lib/hooks/useTooltip.js +53 -36
  51. package/lib/index.js +15 -0
  52. package/lib/utils/index.js +247 -95
  53. package/package.json +55 -55
  54. package/src/components/Axis.tsx +1 -1
  55. package/src/components/Background.tsx +61 -61
  56. package/src/components/Band.tsx +274 -274
  57. package/src/components/Brush.js +159 -159
  58. package/src/components/CartesianChart.js +1 -0
  59. package/src/components/Chart.js +101 -101
  60. package/src/components/ChartContainer.tsx +71 -71
  61. package/src/components/ConicalGradient.js +258 -258
  62. package/src/components/Control.jsx +51 -51
  63. package/src/components/ExtentData.js +17 -17
  64. package/src/components/Indicator.js +61 -61
  65. package/src/components/Label.js +275 -275
  66. package/src/components/Legend.js +165 -165
  67. package/src/components/Lighter.jsx +173 -173
  68. package/src/components/Line.js +150 -150
  69. package/src/components/LinearGradient.js +29 -29
  70. package/src/components/PieTooltip.jsx +160 -160
  71. package/src/components/StereoBar.tsx +307 -307
  72. package/src/components/index.js +59 -59
  73. package/src/context/index.js +2 -2
  74. package/src/css/index.module.css +42 -42
  75. package/src/css/piechart.module.css +26 -26
  76. package/src/element/ConicGradient.jsx +55 -55
  77. package/src/element/Line.tsx +33 -33
  78. package/src/element/index.ts +3 -3
  79. package/src/formatter/index.js +1 -1
  80. package/src/formatter/legend.js +92 -92
  81. package/src/hooks/index.js +20 -20
  82. package/src/hooks/useAnimateData.ts +67 -67
  83. package/src/hooks/useExtentData.js +1 -1
  84. package/src/hooks/useFilterData.js +72 -72
  85. package/src/hooks/useStackData.js +101 -101
  86. package/src/hooks/useTooltip.ts +100 -100
  87. package/src/index.js +6 -6
  88. package/src/types/index.d.ts +67 -67
  89. package/src/utils/index.js +757 -757
  90. package/tsconfig.json +23 -23
@@ -1,40 +1,54 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
11
+
9
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
11
16
  var _react = _interopRequireWildcard(require("react"));
17
+
12
18
  var _d3v = require("d3v7");
19
+
13
20
  var _utils = require("../utils");
21
+
14
22
  var _svgPathProperties = require("svg-path-properties");
23
+
15
24
  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); }
25
+
16
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- /**
18
- * 区域图发光跟踪路径
27
+
28
+ /**
29
+ * 区域图发光跟踪路径
19
30
  */
20
31
  var _default = function _default(_ref) {
21
32
  var d = _ref.path,
22
- config = _ref.config,
23
- _ref$config = _ref.config,
24
- curveLength = _ref$config.length,
25
- width = _ref$config.width,
26
- fill = _ref$config.fill,
27
- unitStep = _ref$config.unitStep;
33
+ config = _ref.config,
34
+ _ref$config = _ref.config,
35
+ curveLength = _ref$config.length,
36
+ width = _ref$config.width,
37
+ fill = _ref$config.fill,
38
+ unitStep = _ref$config.unitStep;
28
39
  var pointIndexRef = (0, _react.useRef)(0);
29
40
  var raf = (0, _react.useRef)(null);
41
+
30
42
  var _useState = (0, _react.useState)([]),
31
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
32
- points = _useState2[0],
33
- setPoints = _useState2[1];
43
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
44
+ points = _useState2[0],
45
+ setPoints = _useState2[1];
46
+
34
47
  var _useState3 = (0, _react.useState)(null),
35
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
36
- lighter = _useState4[0],
37
- setLighter = _useState4[1];
48
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
49
+ lighter = _useState4[0],
50
+ setLighter = _useState4[1];
51
+
38
52
  var pointLength = points.length;
39
53
  var totalLength = getLength(pointLength, curveLength);
40
54
  var easingFunc = easing.linear;
@@ -44,6 +58,7 @@ var _default = function _default(_ref) {
44
58
  var drawLigher = (0, _react.useCallback)(function () {
45
59
  var STEP = 2;
46
60
  var LOOP = false;
61
+
47
62
  if (lighter && lighter.children) {
48
63
  var currentPointLength = pointIndexRef.current;
49
64
  var pointIndex = currentPointLength >= totalLength ? LOOP ? curveLength : 0 : currentPointLength + unitStep + Math.floor(easingFunc(pointIndexRef.current / totalLength) * STEP);
@@ -54,22 +69,26 @@ var _default = function _default(_ref) {
54
69
  drawCircle(Array.from(lighter.children), [].concat((0, _toConsumableArray2["default"])(points.slice(startIndex, endIndex)), (0, _toConsumableArray2["default"])(overstepPoints)), interpolateList);
55
70
  pointIndexRef.current = pointIndex;
56
71
  }
72
+
57
73
  raf.current = requestAnimationFrame(drawLigher);
58
74
  }, [lighter, totalLength, curveLength, unitStep, points, interpolateList]);
59
75
  (0, _react.useEffect)(function () {
60
76
  var path = new _svgPathProperties.svgPathProperties(d);
61
77
  var totalLength = path.getTotalLength();
62
78
  var points = [];
79
+
63
80
  for (var i = 0; i < totalLength; i++) {
64
81
  var _path$getPointAtLengt = path.getPointAtLength(i),
65
- x = _path$getPointAtLengt.x,
66
- y = _path$getPointAtLengt.y;
82
+ x = _path$getPointAtLengt.x,
83
+ y = _path$getPointAtLengt.y;
84
+
67
85
  points.push({
68
86
  index: i,
69
87
  x: x,
70
88
  y: y
71
89
  });
72
90
  }
91
+
73
92
  setPoints(points);
74
93
  }, [d, config]);
75
94
  (0, _react.useEffect)(function () {
@@ -82,7 +101,7 @@ var _default = function _default(_ref) {
82
101
  ref: setLighter
83
102
  }, points.map(function (_ref2, index) {
84
103
  var x = _ref2.x,
85
- y = _ref2.y;
104
+ y = _ref2.y;
86
105
  return /*#__PURE__*/_react["default"].createElement("circle", {
87
106
  cx: x,
88
107
  cy: y,
@@ -92,30 +111,35 @@ var _default = function _default(_ref) {
92
111
  });
93
112
  }));
94
113
  };
114
+
95
115
  exports["default"] = _default;
116
+
96
117
  var drawCircle = function drawCircle(children, points, interpolateList) {
97
- var pointLength = points.length;
98
- // const [startPoint] = points;
118
+ var pointLength = points.length; // const [startPoint] = points;
99
119
  // const startIndex = startPoint ? startPoint.index : 0;
120
+
100
121
  children.forEach(function (child, index) {
101
122
  var pointIndex = points.findIndex(function (_ref3) {
102
123
  var i = _ref3.index;
103
124
  return i == index;
104
125
  });
105
- child.setAttribute('fill', pointIndex > -1 ? getColor(pointIndex / pointLength,
106
- //TODO: 颜色插值尚需完善
126
+ child.setAttribute('fill', pointIndex > -1 ? getColor(pointIndex / pointLength, //TODO: 颜色插值尚需完善
107
127
  interpolateList) : 'none');
108
128
  });
109
129
  };
130
+
110
131
  var getColor = function getColor(x, interpolateList) {
111
132
  return interpolateList(x);
112
133
  };
134
+
113
135
  var getLength = function getLength(pointLength, length) {
114
136
  if (length > pointLength) {
115
137
  return pointLength * 2;
116
138
  }
139
+
117
140
  return pointLength + length;
118
141
  };
142
+
119
143
  var getColorsInterpolate = function getColorsInterpolate(colors) {
120
144
  var length = colors.length;
121
145
  if (!!(length < 2)) return (0, _d3v.scaleLinear)().domain([0, 1]).range([colors[0].color || '#000', colors[0].color || '#000']);
@@ -126,6 +150,7 @@ var getColorsInterpolate = function getColorsInterpolate(colors) {
126
150
  }));
127
151
  return linear;
128
152
  };
153
+
129
154
  var easing = {
130
155
  linear: function linear() {
131
156
  return 0;
@@ -143,13 +168,17 @@ var easing = {
143
168
  return k < 0.5 ? 0.5 * (1 - easing.easeIn(1 - 2 * k)) : 0.5 * easing.easeIn(k * 2 - 1) + 0.5;
144
169
  }
145
170
  };
171
+
146
172
  var getPointIndex = function getPointIndex(pointIndex, pointLength, curveLength) {
147
173
  var index = pointIndex - curveLength;
174
+
148
175
  if (index < 0) {
149
176
  return 0;
150
177
  }
178
+
151
179
  if (index >= pointLength) {
152
180
  return pointLength - 1;
153
181
  }
182
+
154
183
  return index;
155
184
  };
@@ -1,34 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
11
+
9
12
  var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
11
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
12
18
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
+
13
20
  var _react = _interopRequireWildcard(require("react"));
21
+
14
22
  var _d3v = require("d3v7");
23
+
15
24
  var _utils = require("../utils");
25
+
16
26
  var _ = require(".");
27
+
17
28
  var _excluded = ["data"];
18
- /**
19
- * 折线图
20
- */
29
+
21
30
  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); }
31
+
22
32
  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
+
23
34
  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; }
35
+
24
36
  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; }
37
+
25
38
  var defined = function defined(d) {
26
39
  return d.data.y != null;
27
40
  };
41
+
28
42
  var getLineData = function getLineData(data, connectNulls) {
29
43
  return connectNulls ? data.map(function (_ref) {
30
44
  var data = _ref.data,
31
- item = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
45
+ item = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
46
  return _objectSpread(_objectSpread({}, item), {}, {
33
47
  data: _objectSpread(_objectSpread({}, data), {}, {
34
48
  y: +data.y
@@ -36,25 +50,28 @@ var getLineData = function getLineData(data, connectNulls) {
36
50
  });
37
51
  }) : data;
38
52
  };
53
+
39
54
  var Area = function Area(_ref2) {
40
55
  var data = _ref2.data,
41
- config = _ref2.config,
42
- _ref2$config = _ref2.config,
43
- id = _ref2$config.id,
44
- fill = _ref2$config.fill,
45
- type = _ref2$config.type,
46
- url = _ref2$config.url,
47
- opacity = _ref2$config.opacity,
48
- _ref2$config$size = _ref2$config.size,
49
- patternW = _ref2$config$size.width,
50
- patternH = _ref2$config$size.height,
51
- curve = _ref2$config.curve,
52
- tension = _ref2$config.tension,
53
- xScaler = _ref2.xScaler,
54
- yScaler = _ref2.yScaler;
56
+ config = _ref2.config,
57
+ _ref2$config = _ref2.config,
58
+ id = _ref2$config.id,
59
+ fill = _ref2$config.fill,
60
+ type = _ref2$config.type,
61
+ url = _ref2$config.url,
62
+ opacity = _ref2$config.opacity,
63
+ _ref2$config$size = _ref2$config.size,
64
+ patternW = _ref2$config$size.width,
65
+ patternH = _ref2$config$size.height,
66
+ curve = _ref2$config.curve,
67
+ tension = _ref2$config.tension,
68
+ xScaler = _ref2.xScaler,
69
+ yScaler = _ref2.yScaler;
70
+
55
71
  var _yScaler$range = yScaler.range(),
56
- _yScaler$range2 = (0, _slicedToArray2["default"])(_yScaler$range, 1),
57
- height = _yScaler$range2[0];
72
+ _yScaler$range2 = (0, _slicedToArray2["default"])(_yScaler$range, 1),
73
+ height = _yScaler$range2[0];
74
+
58
75
  var area = (0, _react.useMemo)(function () {
59
76
  return (0, _utils.getColorList)(fill);
60
77
  }, [fill]);
@@ -65,8 +82,7 @@ var Area = function Area(_ref2) {
65
82
  }).y1(function (_ref4) {
66
83
  var y = _ref4.data.y;
67
84
  return yScaler(y);
68
- })
69
- // .y0(height)
85
+ }) // .y0(height)
70
86
  .y0(function (_ref5) {
71
87
  (0, _objectDestructuringEmpty2["default"])(_ref5);
72
88
  return yScaler(0);
@@ -95,25 +111,26 @@ var Area = function Area(_ref2) {
95
111
  rotate: 0
96
112
  })));
97
113
  };
114
+
98
115
  var _default = /*#__PURE__*/(0, _react.memo)(function (_ref6) {
99
116
  var type = _ref6.type,
100
- _ref6$config$line = _ref6.config.line,
101
- lineType = _ref6$config$line.type,
102
- lineWidth = _ref6$config$line.lineWidth,
103
- curve = _ref6$config$line.curve,
104
- tension = _ref6$config$line.tension,
105
- connectNulls = _ref6$config$line.connectNulls,
106
- lineShadow = _ref6$config$line.lineShadow,
107
- lighter = _ref6$config$line.lighter,
108
- _ref6$line = _ref6.line,
109
- lineId = _ref6$line.id,
110
- stroke = _ref6$line.stroke,
111
- area = _ref6.area,
112
- data = _ref6.data,
113
- _ref6$xAxis = _ref6.xAxis,
114
- xScaler = _ref6$xAxis.scaler,
115
- direction = _ref6$xAxis.direction,
116
- yScaler = _ref6.yAxis.scaler;
117
+ _ref6$config$line = _ref6.config.line,
118
+ lineType = _ref6$config$line.type,
119
+ lineWidth = _ref6$config$line.lineWidth,
120
+ curve = _ref6$config$line.curve,
121
+ tension = _ref6$config$line.tension,
122
+ connectNulls = _ref6$config$line.connectNulls,
123
+ lineShadow = _ref6$config$line.lineShadow,
124
+ lighter = _ref6$config$line.lighter,
125
+ _ref6$line = _ref6.line,
126
+ lineId = _ref6$line.id,
127
+ stroke = _ref6$line.stroke,
128
+ area = _ref6.area,
129
+ data = _ref6.data,
130
+ _ref6$xAxis = _ref6.xAxis,
131
+ xScaler = _ref6$xAxis.scaler,
132
+ direction = _ref6$xAxis.direction,
133
+ yScaler = _ref6.yAxis.scaler;
117
134
  if (!data.length) return null;
118
135
  var ticks = xScaler.domain();
119
136
  var sortData = (0, _react.useMemo)(function () {
@@ -127,9 +144,11 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref6) {
127
144
  return ticks.indexOf(a) - ticks.indexOf(b);
128
145
  });
129
146
  }, [data, ticks]);
147
+
130
148
  var _data = (0, _react.useMemo)(function () {
131
149
  return getLineData(sortData, connectNulls);
132
150
  }, [sortData, connectNulls]);
151
+
133
152
  var lineGen = (0, _react.useMemo)(function () {
134
153
  var isVertical = direction === 'vertical';
135
154
  var lineGen = (isVertical ? (0, _d3v.line)().y(function (_ref10) {
@@ -177,4 +196,5 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref6) {
177
196
  config: lighter
178
197
  }));
179
198
  });
199
+
180
200
  exports["default"] = _default;
@@ -1,27 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- /**
10
- * svg渐变滤镜
11
+
12
+ /**
13
+ * svg渐变滤镜
11
14
  */
12
15
  var _default = function _default(_ref) {
13
16
  var id = _ref.id,
14
- colors = _ref.colors,
15
- _ref$rotate = _ref.rotate,
16
- rotate = _ref$rotate === void 0 ? 0 : _ref$rotate,
17
- gradientUnits = _ref.gradientUnits,
18
- _ref$position = _ref.position,
19
- _ref$position2 = _ref$position === void 0 ? [0, 0, 0, 1] : _ref$position,
20
- _ref$position3 = (0, _slicedToArray2["default"])(_ref$position2, 4),
21
- x1 = _ref$position3[0],
22
- y1 = _ref$position3[1],
23
- x2 = _ref$position3[2],
24
- y2 = _ref$position3[3];
17
+ colors = _ref.colors,
18
+ _ref$rotate = _ref.rotate,
19
+ rotate = _ref$rotate === void 0 ? 0 : _ref$rotate,
20
+ gradientUnits = _ref.gradientUnits,
21
+ _ref$position = _ref.position;
22
+ _ref$position = _ref$position === void 0 ? [0, 0, 0, 1] : _ref$position;
23
+
24
+ var _ref$position2 = (0, _slicedToArray2["default"])(_ref$position, 4),
25
+ x1 = _ref$position2[0],
26
+ y1 = _ref$position2[1],
27
+ x2 = _ref$position2[2],
28
+ y2 = _ref$position2[3];
29
+
25
30
  return /*#__PURE__*/React.createElement("linearGradient", {
26
31
  x1: x1,
27
32
  y1: y1,
@@ -32,9 +37,9 @@ var _default = function _default(_ref) {
32
37
  gradientTransform: 'rotate(' + rotate + ', .5, .5)'
33
38
  }, colors.map(function (_ref2, index) {
34
39
  var offset = _ref2.offset,
35
- color = _ref2.color,
36
- _ref2$stopOpacity = _ref2.stopOpacity,
37
- stopOpacity = _ref2$stopOpacity === void 0 ? 1 : _ref2$stopOpacity;
40
+ color = _ref2.color,
41
+ _ref2$stopOpacity = _ref2.stopOpacity,
42
+ stopOpacity = _ref2$stopOpacity === void 0 ? 1 : _ref2$stopOpacity;
38
43
  return /*#__PURE__*/React.createElement("stop", {
39
44
  key: index,
40
45
  offset: offset,
@@ -43,4 +48,5 @@ var _default = function _default(_ref) {
43
48
  });
44
49
  }));
45
50
  };
51
+
46
52
  exports["default"] = _default;
@@ -1,35 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
9
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
10
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
11
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
12
18
  var _react = require("react");
19
+
13
20
  var _d3v = require("d3v7");
21
+
14
22
  var _excluded = ["series"],
15
- _excluded2 = ["config", "data"];
23
+ _excluded2 = ["config", "data"];
24
+
16
25
  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
+
17
27
  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
+
18
29
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
30
+
19
31
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
20
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
32
+
33
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
34
+
21
35
  var groupBySeriesData = function groupBySeriesData(data) {
22
36
  var groupBySeries = (0, _d3v.group)(data, function (d) {
23
37
  return d.s;
24
38
  });
25
39
  var tmp = [];
40
+
26
41
  var _iterator = _createForOfIteratorHelper(groupBySeries.entries()),
27
- _step;
42
+ _step;
43
+
28
44
  try {
29
45
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
30
46
  var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
31
- key = _step$value[0],
32
- value = _step$value[1];
47
+ key = _step$value[0],
48
+ value = _step$value[1];
49
+
33
50
  tmp.push({
34
51
  key: key,
35
52
  value: value
@@ -40,24 +57,28 @@ var groupBySeriesData = function groupBySeriesData(data) {
40
57
  } finally {
41
58
  _iterator.f();
42
59
  }
60
+
43
61
  return tmp;
44
62
  };
63
+
45
64
  var isValidData = function isValidData(data) {
46
65
  return !!(Array.isArray(data) && data.filter(function (obj) {
47
66
  return Object.prototype.toString.call(obj) === '[object Object]' && Object.keys(obj).length !== 0;
48
67
  }).length > 0);
49
68
  };
69
+
50
70
  var _default = function _default(Component) {
51
71
  return /*#__PURE__*/(0, _react.memo)(function (_ref) {
52
72
  var _ref$config = _ref.config,
53
- series = _ref$config.series,
54
- config = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded),
55
- originData = _ref.data,
56
- rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
73
+ series = _ref$config.series,
74
+ config = (0, _objectWithoutProperties2["default"])(_ref$config, _excluded),
75
+ originData = _ref.data,
76
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
57
77
  var data = (0, _react.useMemo)(function () {
58
78
  if (!isValidData(originData)) return [];
59
79
  return groupBySeriesData(originData);
60
80
  }, [originData]);
81
+
61
82
  var _series = (0, _react.useMemo)(function () {
62
83
  if (!!data.length) {
63
84
  var seriesLength = series.length;
@@ -66,6 +87,7 @@ var _default = function _default(Component) {
66
87
  return !fieldName;
67
88
  });
68
89
  var tmp = new Map();
90
+
69
91
  if (!!noName) {
70
92
  data.forEach(function (_ref3, index) {
71
93
  var key = _ref3.key;
@@ -77,6 +99,7 @@ var _default = function _default(Component) {
77
99
  });
78
100
  return tmp;
79
101
  }
102
+
80
103
  var lastSeries = series[seriesLength - 1];
81
104
  data.forEach(function (_ref4) {
82
105
  var key = _ref4.key;
@@ -95,6 +118,7 @@ var _default = function _default(Component) {
95
118
  return tmp;
96
119
  }
97
120
  }, [series, data]);
121
+
98
122
  return !!data.length && /*#__PURE__*/React.createElement(Component, (0, _extends2["default"])({}, rest, {
99
123
  data: originData,
100
124
  config: _objectSpread(_objectSpread({}, config), {}, {
@@ -103,4 +127,5 @@ var _default = function _default(Component) {
103
127
  }));
104
128
  });
105
129
  };
130
+
106
131
  exports["default"] = _default;
@@ -1,37 +1,47 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
11
+
9
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
11
16
  var _react = _interopRequireWildcard(require("react"));
17
+
12
18
  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); }
19
+
13
20
  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; }
21
+
14
22
  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; }
23
+
15
24
  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; }
16
- /**
17
- * 文字跑马灯组件
18
- * eg: <Marquee value={文本内容} speed={跑马灯速度} style={额外样式}></Marquee>
19
- */
25
+
20
26
  var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
21
27
  var value = props.value,
22
- style = props.style,
23
- _props$speed = props.speed,
24
- speed = _props$speed === void 0 ? 5 : _props$speed;
28
+ style = props.style,
29
+ _props$speed = props.speed,
30
+ speed = _props$speed === void 0 ? 5 : _props$speed;
25
31
  var rootRef = ref || (0, _react.useRef)();
26
32
  var target = (0, _react.useRef)(null);
27
33
  var observe = (0, _react.useRef)(null);
28
34
  var speed_ = (0, _react.useRef)(0); //这里必须用一个ref绑定speed,否则animation中获取不到最新的speed
35
+
29
36
  var timer = (0, _react.useRef)();
37
+
30
38
  var _useState = (0, _react.useState)(false),
31
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
32
- overflow = _useState2[0],
33
- setOverflow = _useState2[1];
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ overflow = _useState2[0],
41
+ setOverflow = _useState2[1];
42
+
34
43
  speed_.current = speed;
44
+
35
45
  var startAnimation = function startAnimation(lineWidth) {
36
46
  var animation = function animation(timestamp) {
37
47
  var frame = Math.round(timestamp * speed_.current % (lineWidth * 100) / 100);
@@ -39,24 +49,28 @@ var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef
39
49
  target.current.nextSibling.style.transform = "translate(-".concat(frame, "px,0px)");
40
50
  timer.current = requestAnimationFrame(animation);
41
51
  };
52
+
42
53
  timer.current = requestAnimationFrame(animation);
43
54
  };
55
+
44
56
  (0, _react.useEffect)(function () {
45
57
  //初始化观察器,利用观察器来监视组件可视区域变化
46
58
  observe.current = new IntersectionObserver(function (entries) {
47
59
  var entrie = entries[0];
60
+
48
61
  if (entrie.boundingClientRect.width <= entrie.rootBounds.width) {
49
62
  //表示文字全部可视
50
63
  cancelAnimationFrame(timer.current || 0);
51
64
  target.current.style.transform = "translate(0px,0px)"; //重置偏移
65
+
52
66
  setOverflow(false);
53
67
  return;
54
68
  } else {
55
69
  //否则文本溢出
56
70
  if (!overflow) {
57
71
  cancelAnimationFrame(timer.current || 0);
58
- startAnimation(entrie.target.offsetWidth);
59
- //startAnimation(entrie.boundingClientRect.width);
72
+ startAnimation(entrie.target.offsetWidth); //startAnimation(entrie.boundingClientRect.width);
73
+
60
74
  setOverflow(true);
61
75
  }
62
76
  }
@@ -66,8 +80,9 @@ var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef
66
80
  threshold: new Array(101).fill(0).map(function (d, i) {
67
81
  return i / 100;
68
82
  }) //这里设置了[0-1]之间所有的阈值,保证每一帧的变化都能被观察到
69
- });
70
- // start observing
83
+
84
+ }); // start observing
85
+
71
86
  observe.current.observe(target.current);
72
87
  return function () {
73
88
  cancelAnimationFrame(timer.current || 0);
@@ -99,4 +114,5 @@ var _default = /*#__PURE__*/(0, _react.memo)( /*#__PURE__*/(0, _react.forwardRef
99
114
  });
100
115
  }));
101
116
  }));
117
+
102
118
  exports["default"] = _default;