@easyv/charts 1.4.16 → 1.4.17

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 (46) hide show
  1. package/lib/components/AnimateData.js +16 -8
  2. package/lib/components/Axis.js +128 -82
  3. package/lib/components/Background.js +24 -16
  4. package/lib/components/Band.js +89 -62
  5. package/lib/components/BaseLine.js +41 -29
  6. package/lib/components/Brush.js +46 -29
  7. package/lib/components/Carousel.js +40 -13
  8. package/lib/components/CartesianChart.js +98 -78
  9. package/lib/components/Chart.js +36 -23
  10. package/lib/components/ChartContainer.js +27 -18
  11. package/lib/components/ConicalGradient.js +68 -35
  12. package/lib/components/ExtentData.js +17 -9
  13. package/lib/components/FilterData.js +27 -16
  14. package/lib/components/Indicator.js +8 -6
  15. package/lib/components/Label.js +112 -82
  16. package/lib/components/Legend.js +66 -41
  17. package/lib/components/Lighter.js +48 -19
  18. package/lib/components/Line.js +59 -39
  19. package/lib/components/LinearGradient.js +20 -14
  20. package/lib/components/Mapping.js +34 -9
  21. package/lib/components/Marquee.js +30 -14
  22. package/lib/components/PieChart.js +400 -306
  23. package/lib/components/StackData.js +18 -8
  24. package/lib/components/StereoBar.js +105 -65
  25. package/lib/components/TextOverflow.js +25 -9
  26. package/lib/components/Tooltip.js +55 -41
  27. package/lib/components/index.js +27 -0
  28. package/lib/context/index.js +2 -0
  29. package/lib/element/ConicGradient.js +35 -29
  30. package/lib/element/Line.js +13 -9
  31. package/lib/element/index.js +2 -0
  32. package/lib/formatter/index.js +2 -0
  33. package/lib/formatter/legend.js +41 -30
  34. package/lib/hooks/index.js +8 -0
  35. package/lib/hooks/useAnimateData.js +16 -3
  36. package/lib/hooks/useAxes.js +115 -65
  37. package/lib/hooks/useCarouselAxisX.js +56 -26
  38. package/lib/hooks/useExtentData.js +46 -14
  39. package/lib/hooks/useFilterData.js +29 -8
  40. package/lib/hooks/useStackData.js +30 -7
  41. package/lib/hooks/useTooltip.js +43 -26
  42. package/lib/index.js +15 -0
  43. package/lib/utils/index.js +247 -95
  44. package/package.json +1 -1
  45. package/src/components/CartesianChart.js +6 -6
  46. package/src/components/TextOverflow.tsx +4 -1
@@ -1,18 +1,28 @@
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"));
11
+
9
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
10
14
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
11
16
  var _react = require("react");
17
+
12
18
  var _d3v = require("d3v7");
19
+
13
20
  var _utils = require("../utils");
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; }
25
+
16
26
  var stackData = function stackData(data, series) {
17
27
  var dataMap = (0, _d3v.group)(data, function (d) {
18
28
  return d.x;
@@ -25,11 +35,14 @@ var stackData = function stackData(data, series) {
25
35
  dataMap.forEach(function (value) {
26
36
  var arr = [];
27
37
  (0, _utils.resetStacks)(stacks);
38
+
28
39
  for (var i = 0, j = value.length; i < j; i++) {
29
40
  var d = value[i];
30
41
  var stack = series.get(d.s);
42
+
31
43
  if (d && d.y !== undefined && !isNaN(d.y)) {
32
44
  var currentStack = (0, _utils.getCurrentStack)(stack, stacks);
45
+
33
46
  if (stack && currentStack) {
34
47
  if (d.y >= 0) {
35
48
  currentStack.positive += d.y;
@@ -43,13 +56,13 @@ var stackData = function stackData(data, series) {
43
56
  }
44
57
  }
45
58
  }
59
+
46
60
  min = Math.min.apply(Math, arr.concat([min]));
47
61
  max = Math.max.apply(Math, arr.concat([max]));
48
62
  });
49
63
  dataMap.clear();
50
64
  return [min || 0, max || (min || 0) + 100];
51
65
  };
52
-
53
66
  /**
54
67
  * 计算轴的domain
55
68
  * @param {Array} axes x轴列表
@@ -57,65 +70,81 @@ var stackData = function stackData(data, series) {
57
70
  * @param {Object} data 数据列表
58
71
  * @returns {Array} 返回带domain的轴
59
72
  */
73
+
74
+
60
75
  var _default = function _default(_ref) {
61
76
  var axes = _ref.axes,
62
- series = _ref.series,
63
- data = _ref.data;
77
+ series = _ref.series,
78
+ data = _ref.data;
79
+
64
80
  var _series = (0, _react.useMemo)(function () {
65
81
  return (0, _utils.seriesYOrZ)(series);
66
82
  }, [series]);
83
+
67
84
  var _useMemo = (0, _react.useMemo)(function () {
68
- return (0, _utils.dataYOrZ)(data, _series);
69
- }, [data, _series]),
70
- dataY = _useMemo.y,
71
- dataZ = _useMemo.z;
85
+ return (0, _utils.dataYOrZ)(data, _series);
86
+ }, [data, _series]),
87
+ dataY = _useMemo.y,
88
+ dataZ = _useMemo.z;
89
+
72
90
  var x = (0, _react.useMemo)(function () {
73
91
  return (0, _toConsumableArray2["default"])((0, _d3v.group)(data, function (d) {
74
92
  return d.x;
75
93
  }).keys());
76
94
  }, [data]);
77
95
  var y = stackData(dataY, _series.y);
78
- var z = stackData(dataZ, _series.z);
79
- //clipAxisMode如果是auto根据clipDifferenceValue设置clipValue
96
+ var z = stackData(dataZ, _series.z); //clipAxisMode如果是auto根据clipDifferenceValue设置clipValue
97
+
80
98
  return axes.map(function (item) {
81
99
  var axisType = item.axisType,
82
- domain = item.domain,
83
- type = item.type;
100
+ domain = item.domain,
101
+ type = item.type;
102
+
84
103
  switch (axisType) {
85
104
  case "x":
86
105
  return _objectSpread(_objectSpread({}, item), {}, {
87
106
  domain: type == "linear" ? (0, _d3v.extent)(x) : x
88
107
  });
108
+
89
109
  case "y":
90
110
  {
91
111
  if (item.axisType == "y" && item.isClipAxis === true && item.clipAxisMode == "auto") {
92
112
  var _dataY = dataY.map(function (_item) {
93
113
  return _item.y;
94
114
  });
115
+
95
116
  var _clipValue = Infinity;
117
+
96
118
  if (_dataY.length >= 2) {
97
119
  _dataY.sort(function (a, b) {
98
120
  return a - b;
99
121
  });
122
+
100
123
  var clipDifferenceValueArr = [];
124
+
101
125
  for (var i = 0; i < _dataY.length - 1; i++) {
102
126
  clipDifferenceValueArr.push(_dataY[i + 1] - _dataY[i]);
103
127
  }
128
+
104
129
  var max = (0, _d3v.max)(clipDifferenceValueArr);
130
+
105
131
  if (max >= item.clipDifferenceValue) {
106
132
  var index = clipDifferenceValueArr.indexOf(max);
107
133
  _clipValue = _dataY[index];
108
134
  }
109
135
  }
136
+
110
137
  return _objectSpread(_objectSpread({}, item), {}, {
111
138
  domain: domain ? getDomain(y, domain) : y,
112
139
  clipValue: _clipValue
113
140
  });
114
141
  }
142
+
115
143
  return _objectSpread(_objectSpread({}, item), {}, {
116
144
  domain: domain ? getDomain(y, domain) : y
117
145
  });
118
146
  }
147
+
119
148
  case "z":
120
149
  return _objectSpread(_objectSpread({}, item), {}, {
121
150
  domain: domain ? getDomain(z, domain) : z
@@ -123,12 +152,15 @@ var _default = function _default(_ref) {
123
152
  }
124
153
  });
125
154
  };
155
+
126
156
  exports["default"] = _default;
157
+
127
158
  var getDomain = function getDomain(_ref2, _ref3) {
128
159
  var _ref4 = (0, _slicedToArray2["default"])(_ref2, 2),
129
- min1 = _ref4[0],
130
- max1 = _ref4[1];
160
+ min1 = _ref4[0],
161
+ max1 = _ref4[1];
162
+
131
163
  var min = _ref3.min,
132
- max = _ref3.max;
164
+ max = _ref3.max;
133
165
  return [min !== "" ? +min : min1, max !== "" ? +max : max1];
134
166
  };
@@ -1,26 +1,39 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
9
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
10
14
  var _react = require("react");
15
+
11
16
  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; }
17
+
12
18
  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; }
19
+
13
20
  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; } } }; }
21
+
14
22
  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); }
15
- 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; }
23
+
24
+ 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; }
25
+
16
26
  var getInitialSelected = function getInitialSelected(series) {
17
27
  var status = new Map();
28
+
18
29
  var _iterator = _createForOfIteratorHelper(series.entries()),
19
- _step;
30
+ _step;
31
+
20
32
  try {
21
33
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
22
34
  var _step$value = (0, _slicedToArray2["default"])(_step.value, 1),
23
- name = _step$value[0];
35
+ name = _step$value[0];
36
+
24
37
  status.set(name, true);
25
38
  }
26
39
  } catch (err) {
@@ -28,8 +41,10 @@ var getInitialSelected = function getInitialSelected(series) {
28
41
  } finally {
29
42
  _iterator.f();
30
43
  }
44
+
31
45
  return status;
32
46
  };
47
+
33
48
  var getSelected = function getSelected(selected, name) {
34
49
  var tmp = new Map();
35
50
  selected.forEach(function (value, key) {
@@ -41,20 +56,23 @@ var getSelected = function getSelected(selected, name) {
41
56
  });
42
57
  return tmp;
43
58
  };
44
-
45
59
  /**
46
60
  * 图例点击状态管理
47
61
  * @param {Array} data 数据
48
62
  * @param {Map} series 系列
49
63
  * @returns {Array} 返回筛选后的数据和是否选中状态,及控制选中函数
50
64
  */
65
+
66
+
51
67
  var _default = function _default(_ref) {
52
68
  var data = _ref.data,
53
- series = _ref.series;
69
+ series = _ref.series;
70
+
54
71
  var _useState = (0, _react.useState)(getInitialSelected(series)),
55
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
- selected = _useState2[0],
57
- setSelected = _useState2[1];
72
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
73
+ selected = _useState2[0],
74
+ setSelected = _useState2[1];
75
+
58
76
  var _series = (0, _react.useMemo)(function () {
59
77
  var tmp = new Map();
60
78
  series.forEach(function (currentSeries, key) {
@@ -65,12 +83,14 @@ var _default = function _default(_ref) {
65
83
  });
66
84
  return tmp;
67
85
  }, [selected, series]);
86
+
68
87
  var _data = (0, _react.useMemo)(function () {
69
88
  return data.filter(function (_ref2) {
70
89
  var s = _ref2.s;
71
90
  return s && _series.get(s) && _series.get(s).selected;
72
91
  });
73
92
  }, [data, _series]);
93
+
74
94
  var onClick = (0, _react.useCallback)(function (name) {
75
95
  setSelected(function (selected) {
76
96
  return getSelected(selected, name);
@@ -89,4 +109,5 @@ var _default = function _default(_ref) {
89
109
  })
90
110
  }, onClick];
91
111
  };
112
+
92
113
  exports["default"] = _default;
@@ -1,24 +1,35 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _react = require("react");
17
+
12
18
  var _d3v = require("d3v7");
19
+
13
20
  var _utils = require("../utils");
21
+
14
22
  var _excluded = ["name"];
23
+
15
24
  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; }
25
+
16
26
  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; }
27
+
17
28
  var getSeriesMap = function getSeriesMap(series) {
18
29
  var seriesMap = new Map();
19
30
  series.forEach(function (_ref) {
20
31
  var name = _ref.name,
21
- rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
32
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
22
33
  seriesMap.set(name, _objectSpread(_objectSpread({}, rest), {}, {
23
34
  name: name,
24
35
  data: []
@@ -26,22 +37,27 @@ var getSeriesMap = function getSeriesMap(series) {
26
37
  });
27
38
  return seriesMap;
28
39
  };
40
+
29
41
  var resetStackData = function resetStackData(series) {
30
42
  series.forEach(function (series) {
31
43
  series.data = [];
32
44
  });
33
45
  };
46
+
34
47
  var setStackData = function setStackData(data, series, stacks) {
35
48
  var dataMap = (0, _d3v.group)(data, function (d) {
36
49
  return d.x;
37
50
  });
38
51
  dataMap.forEach(function (value) {
39
52
  (0, _utils.resetStacks)(stacks);
53
+
40
54
  for (var i = 0, j = value.length; i < j; i++) {
41
55
  var d = value[i];
42
56
  var currentSeries = series.get(d.s);
57
+
43
58
  if (d && d.y !== undefined && !isNaN(d.y)) {
44
59
  var currentStack = (0, _utils.getCurrentStack)(currentSeries, stacks);
60
+
45
61
  if (currentSeries && currentStack) {
46
62
  if (d.y >= 0) {
47
63
  currentSeries.data.push({
@@ -71,34 +87,40 @@ var setStackData = function setStackData(data, series, stacks) {
71
87
  dataMap.clear();
72
88
  return series;
73
89
  };
74
-
75
90
  /**
76
91
  * 计算堆叠数据
77
92
  * @param {Array} data 数据
78
93
  * @param {Map} series 系列
79
94
  * @returns {Array} 返回堆叠后的数据,由一开始的{x, y, s}变成{data: {x, y, s}, bound: [start, end], index}
80
95
  */
96
+
97
+
81
98
  var _default = function _default(_ref2) {
82
99
  var data = _ref2.data,
83
- series = _ref2.series;
100
+ series = _ref2.series;
101
+
84
102
  var _series = (0, _react.useMemo)(function () {
85
103
  var stacks = (0, _utils.getStacks)(series);
104
+
86
105
  var _series = getSeriesMap(series);
106
+
87
107
  return {
88
108
  stacks: stacks,
89
109
  series: (0, _utils.seriesYOrZ)(_series)
90
110
  };
91
111
  }, [series]);
112
+
92
113
  var _data = (0, _react.useMemo)(function () {
93
114
  return (0, _utils.dataYOrZ)(data, _series.series);
94
115
  }, [data, _series]);
116
+
95
117
  var tmp = (0, _react.useMemo)(function () {
96
118
  var dataY = _data.y,
97
- dataZ = _data.z;
119
+ dataZ = _data.z;
98
120
  var stacks = _series.stacks,
99
- _series$series = _series.series,
100
- seriesY = _series$series.y,
101
- seriesZ = _series$series.z;
121
+ _series$series = _series.series,
122
+ seriesY = _series$series.y,
123
+ seriesZ = _series$series.z;
102
124
  resetStackData(seriesY);
103
125
  resetStackData(seriesZ);
104
126
  setStackData(dataY, seriesY, stacks);
@@ -112,4 +134,5 @@ var _default = function _default(_ref2) {
112
134
  }, [_data, _series]);
113
135
  return tmp;
114
136
  };
137
+
115
138
  exports["default"] = _default;
@@ -1,15 +1,19 @@
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"));
11
+
9
12
  var _react = require("react");
13
+
10
14
  var _utils = require("../utils");
11
- var callback = function callback() {};
12
15
 
16
+ var callback = function callback() {};
13
17
  /**
14
18
  * 主要用于轴类图表,返回当前选中的是哪一个x
15
19
  * @param {Array} svg svg的dom实例
@@ -21,49 +25,59 @@ var callback = function callback() {};
21
25
  * @param {Object} config 轮播动画参数
22
26
  * @returns {Object} 返回被选中的名称,坐标,选中方法
23
27
  */
28
+
29
+
24
30
  var _default = function _default(_ref) {
25
31
  var svg = _ref.svg,
26
- marginLeft = _ref.marginLeft,
27
- marginTop = _ref.marginTop,
28
- width = _ref.width,
29
- height = _ref.height,
30
- axisX = _ref.axisX,
31
- isHover = _ref.isHover,
32
- _ref$config = _ref.config,
33
- _ref$config2 = _ref$config === void 0 ? {} : _ref$config,
34
- auto = _ref$config2.auto,
35
- _ref$config2$interval = _ref$config2.interval,
36
- interval = _ref$config2$interval === void 0 ? 0 : _ref$config2$interval,
37
- manual = _ref$config2.manual;
32
+ marginLeft = _ref.marginLeft,
33
+ marginTop = _ref.marginTop,
34
+ width = _ref.width,
35
+ height = _ref.height,
36
+ axisX = _ref.axisX,
37
+ isHover = _ref.isHover,
38
+ _ref$config = _ref.config;
39
+ _ref$config = _ref$config === void 0 ? {} : _ref$config;
40
+ var auto = _ref$config.auto,
41
+ _ref$config$interval = _ref$config.interval,
42
+ interval = _ref$config$interval === void 0 ? 0 : _ref$config$interval,
43
+ manual = _ref$config.manual;
44
+
38
45
  var _useState = (0, _react.useState)(null),
39
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
- currentIndex = _useState2[0],
41
- setCurrentIndex = _useState2[1];
46
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
47
+ currentIndex = _useState2[0],
48
+ setCurrentIndex = _useState2[1];
49
+
42
50
  var tickLength = axisX.allTicks.length;
43
51
  var setIndex = (0, _react.useCallback)(function (e) {
44
52
  if (svg) {
45
53
  var _getMousePos = (0, _utils.getMousePos)(e, svg.current),
46
- mouseX = _getMousePos.x,
47
- mouseY = _getMousePos.y,
48
- boundWidth = _getMousePos.w,
49
- boundHeight = _getMousePos.h;
54
+ mouseX = _getMousePos.x,
55
+ mouseY = _getMousePos.y,
56
+ boundWidth = _getMousePos.w,
57
+ boundHeight = _getMousePos.h;
58
+
50
59
  var carousel = axisX.carousel,
51
- allTicks = axisX.allTicks,
52
- ticks = axisX.ticks,
53
- scaler = axisX.scaler,
54
- direction = axisX.direction;
60
+ allTicks = axisX.allTicks,
61
+ ticks = axisX.ticks,
62
+ scaler = axisX.scaler,
63
+ direction = axisX.direction;
64
+
55
65
  var _ticks = carousel ? ticks : allTicks;
66
+
56
67
  var ratioX = parseInt(svg.current.style.width) / boundWidth;
57
68
  var ratioY = parseInt(svg.current.style.height) / boundHeight;
58
69
  var resetX = mouseX * ratioX;
59
70
  var resetY = mouseY * ratioY;
60
71
  var x = resetX - marginLeft;
61
72
  var y = resetY - marginTop;
73
+
62
74
  if (x > 0 && x < width && y > 0 && y < height && _ticks.length) {
63
75
  var position = direction === 'vertical' ? y : x;
76
+
64
77
  var _name = _ticks.reduce(function (prev, current) {
65
78
  return Math.abs(scaler(prev) - position) > Math.abs(scaler(current) - position) ? current : prev;
66
79
  });
80
+
67
81
  setCurrentIndex(allTicks.findIndex(function (tick) {
68
82
  return tick == _name;
69
83
  }));
@@ -76,15 +90,17 @@ var _default = function _default(_ref) {
76
90
  }
77
91
  }, [svg, marginLeft, axisX, auto]);
78
92
  (0, _react.useEffect)(function () {
79
- var on = auto && tickLength && !isHover;
80
- // if (!!on) setCurrentIndex(0);
93
+ var on = auto && tickLength && !isHover; // if (!!on) setCurrentIndex(0);
94
+
81
95
  var intervalHandler = on ? setInterval(function () {
82
96
  setCurrentIndex(function (index) {
83
97
  var tmp = index == null ? 0 : index;
84
98
  var currentIndex = tmp + 1;
99
+
85
100
  if (currentIndex >= tickLength) {
86
101
  return 0;
87
102
  }
103
+
88
104
  return currentIndex;
89
105
  });
90
106
  }, interval * 1000) : null;
@@ -99,4 +115,5 @@ var _default = function _default(_ref) {
99
115
  setIndex: manual ? setIndex : callback
100
116
  };
101
117
  };
118
+
102
119
  exports["default"] = _default;
package/lib/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime/helpers/typeof");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -8,7 +9,9 @@ var _exportNames = {
8
9
  utils: true
9
10
  };
10
11
  exports.utils = void 0;
12
+
11
13
  var _components = require("./components");
14
+
12
15
  Object.keys(_components).forEach(function (key) {
13
16
  if (key === "default" || key === "__esModule") return;
14
17
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -20,7 +23,9 @@ Object.keys(_components).forEach(function (key) {
20
23
  }
21
24
  });
22
25
  });
26
+
23
27
  var _hooks = require("./hooks");
28
+
24
29
  Object.keys(_hooks).forEach(function (key) {
25
30
  if (key === "default" || key === "__esModule") return;
26
31
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -32,7 +37,9 @@ Object.keys(_hooks).forEach(function (key) {
32
37
  }
33
38
  });
34
39
  });
40
+
35
41
  var _context = require("./context");
42
+
36
43
  Object.keys(_context).forEach(function (key) {
37
44
  if (key === "default" || key === "__esModule") return;
38
45
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -44,7 +51,9 @@ Object.keys(_context).forEach(function (key) {
44
51
  }
45
52
  });
46
53
  });
54
+
47
55
  var _formatter = require("./formatter");
56
+
48
57
  Object.keys(_formatter).forEach(function (key) {
49
58
  if (key === "default" || key === "__esModule") return;
50
59
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -56,9 +65,13 @@ Object.keys(_formatter).forEach(function (key) {
56
65
  }
57
66
  });
58
67
  });
68
+
59
69
  var _utils = _interopRequireWildcard(require("./utils"));
70
+
60
71
  exports.utils = _utils;
72
+
61
73
  var _utils3 = require("@easyv/utils");
74
+
62
75
  Object.keys(_utils3).forEach(function (key) {
63
76
  if (key === "default" || key === "__esModule") return;
64
77
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -70,5 +83,7 @@ Object.keys(_utils3).forEach(function (key) {
70
83
  }
71
84
  });
72
85
  });
86
+
73
87
  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); }
88
+
74
89
  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; }