@easyv/charts 1.2.14 → 1.3.2

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.
@@ -22,12 +22,22 @@ var _default = function _default(_ref) {
22
22
  scaler = _ref$axis.scaler,
23
23
  step = _ref$axis.step,
24
24
  direction = _ref$axis.direction,
25
+ bandLength = _ref.bandLength,
25
26
  _ref$config = _ref.config,
26
27
  background = _ref$config.background,
28
+ paddingInner = _ref$config.seriesIntervalWidth,
27
29
  paddingOuter = _ref$config.paddingInner,
28
30
  length = _ref.length;
29
31
  var isVertical = direction === 'vertical';
30
- var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
32
+
33
+ var _getSeriesInfo = (0, _utils.getSeriesInfo)({
34
+ step: step,
35
+ bandLength: bandLength,
36
+ paddingInner: paddingInner,
37
+ paddingOuter: paddingOuter
38
+ }),
39
+ bandwidth = _getSeriesInfo.width;
40
+
31
41
  var size = isVertical ? {
32
42
  width: length,
33
43
  height: bandwidth
@@ -111,19 +111,19 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
111
111
  direction = _ref3$xAxis.direction,
112
112
  yScaler = _ref3.yAxis.scaler;
113
113
  if (!data.length) return null;
114
- var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
115
114
 
116
- var _getBandSeriesStepAnd = (0, _utils.getBandSeriesStepAndWidth)({
117
- width: bandwidth,
115
+ var _getSeriesInfo = (0, _utils.getSeriesInfo)({
116
+ step: step,
117
+ bandLength: bandLength,
118
118
  paddingInner: paddingInner,
119
- bandLength: bandLength
119
+ paddingOuter: paddingOuter
120
120
  }),
121
- seriesStep = _getBandSeriesStepAnd.seriesStep,
122
- seriesWidth = _getBandSeriesStepAnd.seriesWidth;
121
+ seriesWidth = _getSeriesInfo.seriesWidth,
122
+ seriesStep = _getSeriesInfo.seriesStep,
123
+ seriesStart = _getSeriesInfo.seriesStart;
123
124
 
124
125
  var _data = showHighlight ? getHighlightData(data, extent) : data;
125
126
 
126
- var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
127
127
  var isVertical = direction === 'vertical';
128
128
  return /*#__PURE__*/_react["default"].createElement("g", {
129
129
  className: "__easyv-band"
@@ -141,7 +141,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
141
141
 
142
142
  var y1 = yScaler(isVertical ? end : start);
143
143
  var y2 = yScaler(isVertical ? start : end);
144
- var positionX = xScaler(x) + seriesStep * index - offset / 2;
144
+ var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
145
145
  if (isNaN(positionX)) return null;
146
146
  var positionY = y < 0 ? y1 : y2;
147
147
  var attr = getAttr({
@@ -44,6 +44,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
44
44
  animation = _ref$config$chart.animation,
45
45
  legend = _ref$config$chart.legend,
46
46
  series = _ref$config.series,
47
+ bandLength = _ref$config.bandLength,
47
48
  tooltip = _ref$config.tooltip,
48
49
  _ref$config$baseLine = _ref$config.baseLine,
49
50
  _ref$config$baseLine$ = _ref$config$baseLine.orientation,
@@ -133,7 +134,8 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
133
134
  }, background && /*#__PURE__*/_react["default"].createElement(_.Background, {
134
135
  length: isVertical ? chartWidth : chartHeight,
135
136
  axis: axisX,
136
- config: background
137
+ config: background,
138
+ bandLength: bandLength
137
139
  }), (0, _toConsumableArray2["default"])(axes.values()).map(function (item, index) {
138
140
  var config = item.axisType == 'x' ? axisX : item;
139
141
  return /*#__PURE__*/_react["default"].createElement(_.Axis, (0, _extends2["default"])({
@@ -149,6 +151,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
149
151
  return yAxis && Component && /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
150
152
  key: index
151
153
  }, config, {
154
+ bandLength: bandLength,
152
155
  xAxis: axisX,
153
156
  yAxis: yAxis,
154
157
  triggerClick: onInteraction
@@ -161,6 +164,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref) {
161
164
  return yAxis && /*#__PURE__*/_react["default"].createElement(_.Label, (0, _extends2["default"])({
162
165
  key: index
163
166
  }, config, {
167
+ bandLength: bandLength,
164
168
  xAxis: axisX,
165
169
  yAxis: yAxis,
166
170
  triggerClick: onInteraction
@@ -64,6 +64,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
64
64
  var chartWidth = width - marginLeft - marginRight;
65
65
  var chartHeight = height - marginTop - marginBottom;
66
66
  var triggerOnRelative = (0, _react.useCallback)(function (data) {
67
+ console.log("trigger");
67
68
  if (!interaction) return;
68
69
  var callbacks = interaction.callbacks,
69
70
  remoteControls = interaction.remoteControls;
@@ -83,7 +84,7 @@ var Chart = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
83
84
  }
84
85
  });
85
86
  }
86
- }, [onRelative, emitEvent, JSON.stringify(interaction)]);
87
+ }, [JSON.stringify(interaction)]);
87
88
  var onEmit = (0, _react.useCallback)(function () {
88
89
  var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'click';
89
90
  var data = arguments.length > 1 ? arguments[1] : undefined;
@@ -41,7 +41,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
41
41
  direction = _ref$xAxis.direction,
42
42
  yScaler = _ref.yAxis.scaler,
43
43
  triggerClick = _ref.triggerClick;
44
- var lineType = config.hasOwnProperty('line'); //堆叠处理
44
+ var lineType = config.hasOwnProperty('line'); // 堆叠处理
45
45
 
46
46
  var showIcon = icon && icon.show;
47
47
  var showLabel = label && label.show;
@@ -51,17 +51,16 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
51
51
  width = _useContext.width,
52
52
  height = _useContext.height;
53
53
 
54
- var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
55
-
56
- var _getBandSeriesStepAnd = (0, _utils.getBandSeriesStepAndWidth)({
57
- width: bandwidth,
54
+ var _getSeriesInfo = (0, _utils.getSeriesInfo)({
55
+ step: step,
56
+ bandLength: bandLength,
58
57
  paddingInner: paddingInner,
59
- bandLength: bandLength
58
+ paddingOuter: paddingOuter
60
59
  }),
61
- seriesStep = _getBandSeriesStepAnd.seriesStep,
62
- seriesWidth = _getBandSeriesStepAnd.seriesWidth;
60
+ seriesStep = _getSeriesInfo.seriesStep,
61
+ seriesWidth = _getSeriesInfo.seriesWidth,
62
+ seriesStart = _getSeriesInfo.seriesStart;
63
63
 
64
- var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
65
64
  var isVertical = direction === 'vertical';
66
65
  var _position = label.position;
67
66
  return /*#__PURE__*/React.createElement("g", {
@@ -78,11 +77,11 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
78
77
  showY = _ref2$data.showY,
79
78
  s = _ref2$data.s;
80
79
 
81
- var y1 = yScaler(isVertical ? end : start); //处理z型折线图和堆叠柱图的逻辑冲突
80
+ var y1 = yScaler(isVertical ? end : start); // 处理z型折线图和堆叠柱图的逻辑冲突
82
81
 
83
82
  var y2 = lineType ? start ? yScaler(isVertical ? start : end - start) : yScaler(isVertical ? start : end) : yScaler(isVertical ? start : end); // const y2 = yScaler(isVertical ? start : end);
84
83
 
85
- var positionX = xScaler(x) + seriesStep * index - offset / 2;
84
+ var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
86
85
  if (isNaN(positionX)) return null;
87
86
  var position = positionX + seriesWidth / 2;
88
87
  var labelPosition = isVertical ? getVerticalLabel({
@@ -109,7 +108,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref) {
109
108
  key: i,
110
109
  onClick: triggerClick,
111
110
  "data-data": JSON.stringify(data)
112
- }, showIcon && /*#__PURE__*/React.createElement(Icon, {
111
+ }, showIcon && !isNaN(attr.y) && /*#__PURE__*/React.createElement(Icon, {
113
112
  cx: attr.x,
114
113
  cy: attr.y,
115
114
  config: icon
@@ -32,15 +32,13 @@ var _default = function _default(Component) {
32
32
  data = _ref.data,
33
33
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded2);
34
34
 
35
- var _series = (0, _hooks.useStackData)({
35
+ var _config = (0, _hooks.useStackData)({
36
36
  series: series,
37
37
  data: data
38
38
  });
39
39
 
40
40
  return /*#__PURE__*/React.createElement(Component, (0, _extends2["default"])({}, props, {
41
- config: _objectSpread(_objectSpread({}, config), {}, {
42
- series: _series
43
- }),
41
+ config: _objectSpread(_objectSpread({}, config), _config),
44
42
  data: data
45
43
  }));
46
44
  });
@@ -111,22 +111,22 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
111
111
  yScaler = _ref3.yAxis.scaler,
112
112
  fieldName = _ref3.fieldName;
113
113
  if (!data.length) return null;
114
- var bandwidth = (0, _utils.getBandwidth)(step, paddingOuter);
115
114
 
116
- var _getBandSeriesStepAnd = (0, _utils.getBandSeriesStepAndWidth)({
117
- width: bandwidth,
115
+ var _getSeriesInfo = (0, _utils.getSeriesInfo)({
116
+ step: step,
117
+ bandLength: bandLength,
118
118
  paddingInner: paddingInner,
119
- bandLength: bandLength
119
+ paddingOuter: paddingOuter
120
120
  }),
121
- seriesStep = _getBandSeriesStepAnd.seriesStep,
122
- seriesWidth = _getBandSeriesStepAnd.seriesWidth;
121
+ seriesWidth = _getSeriesInfo.seriesWidth,
122
+ seriesStep = _getSeriesInfo.seriesStep,
123
+ seriesStart = _getSeriesInfo.seriesStart;
123
124
 
124
125
  var _data = showHighlight ? getHighlightData(data, extent) : data;
125
126
 
126
- var offset = (seriesWidth + paddingInner * seriesStep) * bandLength - paddingInner * seriesStep;
127
127
  var isVertical = direction === 'vertical';
128
- var highlightColor = parseMultiColorToSVG(highlightFill, "highlight_gradient_" + id + "_" + fieldName);
129
- var color = parseMultiColorToSVG(fill, "gradient_" + id + "_" + fieldName);
128
+ var highlightColor = parseMultiColorToSVG(highlightFill, 'highlight_gradient_' + id + '_' + fieldName);
129
+ var color = parseMultiColorToSVG(fill, 'gradient_' + id + '_' + fieldName);
130
130
  return /*#__PURE__*/_react["default"].createElement("g", {
131
131
  className: "__easyv-band"
132
132
  }, /*#__PURE__*/_react["default"].createElement("defs", null, /*#__PURE__*/_react["default"].createElement("filter", {
@@ -165,7 +165,7 @@ var _default = /*#__PURE__*/(0, _react.memo)(function (_ref3) {
165
165
 
166
166
  var y1 = yScaler(isVertical ? end : start);
167
167
  var y2 = yScaler(isVertical ? start : end);
168
- var positionX = xScaler(x) + seriesStep * index - offset / 2;
168
+ var positionX = xScaler(x) - step / 2 + seriesStart + index * seriesStep;
169
169
  if (isNaN(positionX)) return null;
170
170
  var positionY = y < 0 ? y1 : y2;
171
171
  var attr = getAttr({
@@ -253,7 +253,7 @@ function deg2rad(deg) {
253
253
  }
254
254
 
255
255
  function deepCopy(obj) {
256
- if ((0, _typeof2["default"])(obj) == "object") {
256
+ if ((0, _typeof2["default"])(obj) == 'object') {
257
257
  var o;
258
258
 
259
259
  if (Array.isArray(obj)) {
@@ -278,7 +278,7 @@ function deepCopy(obj) {
278
278
  }
279
279
 
280
280
  function parseMultiColorToSVG(config, id) {
281
- if (config.type == "linear") {
281
+ if (config.type == 'linear') {
282
282
  var _config$linear = config.linear,
283
283
  stops = _config$linear.stops,
284
284
  opacity = _config$linear.opacity;
@@ -302,14 +302,14 @@ function parseMultiColorToSVG(config, id) {
302
302
 
303
303
  return {
304
304
  fill: "url(#".concat(id, ")"),
305
- def: /*#__PURE__*/_react["default"].createElement("linearGradient", {
305
+ def: /*#__PURE__*/_react["default"].createElement('linearGradient', {
306
306
  id: id,
307
307
  x2: start[0],
308
308
  y2: start[1],
309
309
  x1: end[0],
310
310
  y1: end[1]
311
311
  }, _stops.map(function (e) {
312
- return /*#__PURE__*/_react["default"].createElement("stop", {
312
+ return /*#__PURE__*/_react["default"].createElement('stop', {
313
313
  key: e.offset,
314
314
  offset: e.offset / 100,
315
315
  stopColor: e.color,
@@ -28,8 +28,10 @@ var stackData = function stackData(data, series) {
28
28
  return d.x;
29
29
  });
30
30
  var stacks = (0, _utils.getStacks)(series);
31
- var min = 0,
32
- max = 0;
31
+ var min, max;
32
+ max = min = (0, _d3v.min)(data, function (d) {
33
+ return d.y;
34
+ });
33
35
  dataMap.forEach(function (value) {
34
36
  var arr = [];
35
37
  (0, _utils.resetStacks)(stacks);
@@ -82,10 +82,6 @@ var setStackData = function setStackData(data, series, stacks) {
82
82
  });
83
83
  }
84
84
  }
85
-
86
- currentSeries.bandLength = currentSeries.type === 'band' ? stacks.filter(function (item) {
87
- return item.type == 'band';
88
- }).length : 1;
89
85
  }
90
86
  });
91
87
  dataMap.clear();
@@ -129,7 +125,12 @@ var _default = function _default(_ref2) {
129
125
  resetStackData(seriesZ);
130
126
  setStackData(dataY, seriesY, stacks);
131
127
  setStackData(dataZ, seriesZ, stacks);
132
- return [].concat((0, _toConsumableArray2["default"])(seriesY.values()), (0, _toConsumableArray2["default"])(seriesZ.values()));
128
+ return {
129
+ bandLength: stacks.filter(function (item) {
130
+ return item.type == 'band';
131
+ }).length,
132
+ series: [].concat((0, _toConsumableArray2["default"])(seriesY.values()), (0, _toConsumableArray2["default"])(seriesZ.values()))
133
+ };
133
134
  }, [_data, _series]);
134
135
  return tmp;
135
136
  };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.band = band;
9
- exports.sortPie = exports.seriesYOrZ = exports.resetStacks = exports.reduceConfig = exports.isValidHttpUrl = exports.identity = exports.getTranslate3d = exports.getTranslate2d = exports.getTicksOfAxis = exports.getTickCoord = exports.getStacks = exports.getMousePos = exports.getMargin = exports.getIcon = exports.getGridCoord = exports.getFontStyle = exports.getDomPath = exports.getDataWithPercent = exports.getCurrentStack = exports.getColorList = exports.getChildren = exports.getBreakWord = exports.getBandwidth = exports.getBandSeriesStepAndWidth = exports.getBandBackground = exports.filterChildren = exports.dateFormat = exports.dataYOrZ = void 0;
9
+ exports.sortPie = exports.seriesYOrZ = exports.resetStacks = exports.reduceConfig = exports.isValidHttpUrl = exports.identity = exports.getTranslate3d = exports.getTranslate2d = exports.getTicksOfAxis = exports.getTickCoord = exports.getStacks = exports.getSeriesInfo = exports.getMousePos = exports.getMargin = exports.getIcon = exports.getGridCoord = exports.getFontStyle = exports.getDomPath = exports.getDataWithPercent = exports.getCurrentStack = exports.getColorList = exports.getChildren = exports.getBreakWord = exports.getBandwidth = exports.getBandSeriesStepAndWidth = exports.getBandBackground = exports.filterChildren = exports.dateFormat = exports.dataYOrZ = void 0;
10
10
 
11
11
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
12
12
 
@@ -408,15 +408,15 @@ function band() {
408
408
  };
409
409
 
410
410
  scale.range = function (_) {
411
- var _ref11, _ref12;
411
+ var _ref11;
412
412
 
413
- return arguments.length ? ((_ref11 = _, _ref12 = (0, _slicedToArray2["default"])(_ref11, 2), r0 = _ref12[0], r1 = _ref12[1], _ref11), r0 = +r0, r1 = +r1, rescale()) : [r0, r1];
413
+ return arguments.length ? ((_ref11 = (0, _slicedToArray2["default"])(_, 2), r0 = _ref11[0], r1 = _ref11[1]), r0 = +r0, r1 = +r1, rescale()) : [r0, r1];
414
414
  };
415
415
 
416
416
  scale.rangeRound = function (_) {
417
- var _ref13, _ref14;
417
+ var _ref12;
418
418
 
419
- return (_ref13 = _, _ref14 = (0, _slicedToArray2["default"])(_ref13, 2), r0 = _ref14[0], r1 = _ref14[1], _ref13), r0 = +r0, r1 = +r1, round = true, rescale();
419
+ return (_ref12 = (0, _slicedToArray2["default"])(_, 2), r0 = _ref12[0], r1 = _ref12[1]), r0 = +r0, r1 = +r1, round = true, rescale();
420
420
  };
421
421
 
422
422
  scale.bandwidth = function () {
@@ -481,14 +481,14 @@ function initRange(domain, range) {
481
481
 
482
482
  var getStacks = function getStacks(series) {
483
483
  var tmp = [];
484
- series.forEach(function (_ref15, name) {
485
- var type = _ref15.type,
486
- stack = _ref15.stack,
487
- yOrZ = _ref15.yOrZ;
488
- var current = tmp.find(function (_ref16) {
489
- var _type = _ref16.type,
490
- _stack = _ref16.stack,
491
- _yOrZ = _ref16.yOrZ;
484
+ series.forEach(function (_ref13, name) {
485
+ var type = _ref13.type,
486
+ stack = _ref13.stack,
487
+ yOrZ = _ref13.yOrZ;
488
+ var current = tmp.find(function (_ref14) {
489
+ var _type = _ref14.type,
490
+ _stack = _ref14.stack,
491
+ _yOrZ = _ref14.yOrZ;
492
492
  return _type == type && stack && _stack == stack && yOrZ == _yOrZ;
493
493
  });
494
494
 
@@ -523,9 +523,9 @@ var getStacks = function getStacks(series) {
523
523
 
524
524
  exports.getStacks = getStacks;
525
525
 
526
- var dataYOrZ = function dataYOrZ(data, _ref17) {
527
- var seriesY = _ref17.y,
528
- seriesZ = _ref17.z;
526
+ var dataYOrZ = function dataYOrZ(data, _ref15) {
527
+ var seriesY = _ref15.y,
528
+ seriesZ = _ref15.z;
529
529
  var tmp = {
530
530
  y: [],
531
531
  z: []
@@ -577,11 +577,11 @@ var resetStacks = function resetStacks(stacks) {
577
577
  exports.resetStacks = resetStacks;
578
578
 
579
579
  var getCurrentStack = function getCurrentStack(stack, stackMap) {
580
- return stackMap.find(function (_ref18) {
581
- var _stack = _ref18.stack,
582
- _type = _ref18.type,
583
- _yOrZ = _ref18.yOrZ,
584
- _s = _ref18.s;
580
+ return stackMap.find(function (_ref16) {
581
+ var _stack = _ref16.stack,
582
+ _type = _ref16.type,
583
+ _yOrZ = _ref16.yOrZ,
584
+ _s = _ref16.s;
585
585
  return _type == stack.type && _stack == stack.stack && _yOrZ == stack.yOrZ && _s.includes(stack.name);
586
586
  });
587
587
  };
@@ -609,10 +609,10 @@ var getBandwidth = function getBandwidth(step, paddingOuter) {
609
609
 
610
610
  exports.getBandwidth = getBandwidth;
611
611
 
612
- var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(_ref19) {
613
- var width = _ref19.width,
614
- paddingInner = _ref19.paddingInner,
615
- bandLength = _ref19.bandLength;
612
+ var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(_ref17) {
613
+ var width = _ref17.width,
614
+ paddingInner = _ref17.paddingInner,
615
+ bandLength = _ref17.bandLength;
616
616
  var seriesStep = width / (bandLength == 0 ? 1 : bandLength);
617
617
  var seriesWidth = seriesStep * (1 - paddingInner);
618
618
  return {
@@ -623,6 +623,33 @@ var getBandSeriesStepAndWidth = function getBandSeriesStepAndWidth(_ref19) {
623
623
 
624
624
  exports.getBandSeriesStepAndWidth = getBandSeriesStepAndWidth;
625
625
 
626
+ var getSeriesInfo = function getSeriesInfo(_ref18) {
627
+ var step = _ref18.step,
628
+ _ref18$bandLength = _ref18.bandLength,
629
+ bandLength = _ref18$bandLength === void 0 ? 1 : _ref18$bandLength,
630
+ _ref18$paddingInner = _ref18.paddingInner,
631
+ paddingInner = _ref18$paddingInner === void 0 ? 0 : _ref18$paddingInner,
632
+ _ref18$paddingOuter = _ref18.paddingOuter,
633
+ paddingOuter = _ref18$paddingOuter === void 0 ? 0 : _ref18$paddingOuter;
634
+ if (bandLength == 0) return {
635
+ seriesWidth: step,
636
+ seriesStep: step,
637
+ seriesStart: 0,
638
+ width: step
639
+ };
640
+
641
+ var _step = step / (bandLength + paddingOuter * 2 + paddingInner * (bandLength - 1));
642
+
643
+ return {
644
+ seriesWidth: _step,
645
+ seriesStep: (1 + paddingInner) * _step,
646
+ seriesStart: paddingOuter * _step,
647
+ width: step - paddingOuter * 2 * _step
648
+ };
649
+ };
650
+
651
+ exports.getSeriesInfo = getSeriesInfo;
652
+
626
653
  var isValidHttpUrl = function isValidHttpUrl(string) {
627
654
  var url;
628
655
 
@@ -740,27 +767,27 @@ var sortPie = function sortPie(data, order) {
740
767
 
741
768
  switch (order) {
742
769
  case '':
743
- _data.sort(function (_ref20, _ref21) {
744
- var a = _ref20.index;
745
- var b = _ref21.index;
770
+ _data.sort(function (_ref19, _ref20) {
771
+ var a = _ref19.index;
772
+ var b = _ref20.index;
746
773
  return (0, _d3v.ascending)(a, b);
747
774
  });
748
775
 
749
776
  break;
750
777
 
751
778
  case 'desc':
752
- _data.sort(function (_ref22, _ref23) {
753
- var a = _ref22.value;
754
- var b = _ref23.value;
779
+ _data.sort(function (_ref21, _ref22) {
780
+ var a = _ref21.value;
781
+ var b = _ref22.value;
755
782
  return (0, _d3v.descending)(a, b);
756
783
  });
757
784
 
758
785
  break;
759
786
 
760
787
  case 'asc':
761
- _data.sort(function (_ref24, _ref25) {
762
- var a = _ref24.value;
763
- var b = _ref25.value;
788
+ _data.sort(function (_ref23, _ref24) {
789
+ var a = _ref23.value;
790
+ var b = _ref24.value;
764
791
  return (0, _d3v.ascending)(a, b);
765
792
  });
766
793
 
@@ -809,15 +836,15 @@ var getDataWithPercent = function getDataWithPercent() {
809
836
  return d.vote;
810
837
  });
811
838
  var remainder = targetSeats - currentSum;
812
- votesPerQuota.sort(function (_ref26, _ref27) {
813
- var a = _ref26.value;
814
- var b = _ref27.value;
839
+ votesPerQuota.sort(function (_ref25, _ref26) {
840
+ var a = _ref25.value;
841
+ var b = _ref26.value;
815
842
  return a % total - b % total;
816
843
  });
817
- var tmp = votesPerQuota.map(function (_ref28, index) {
818
- var vote = _ref28.vote,
819
- value = _ref28.value,
820
- data = (0, _objectWithoutProperties2["default"])(_ref28, _excluded2);
844
+ var tmp = votesPerQuota.map(function (_ref27, index) {
845
+ var vote = _ref27.vote,
846
+ value = _ref27.value,
847
+ data = (0, _objectWithoutProperties2["default"])(_ref27, _excluded2);
821
848
 
822
849
  var obj = _objectSpread(_objectSpread({}, data), {}, {
823
850
  value: value,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easyv/charts",
3
- "version": "1.2.14",
3
+ "version": "1.3.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -22,7 +22,8 @@
22
22
  "@commitlint/cli": "^16.2.4",
23
23
  "@commitlint/config-conventional": "^16.2.4",
24
24
  "@types/d3": "^7.0.0",
25
- "@types/react": "^17.0.14",
25
+ "@types/react": "^18.0.12",
26
+ "@types/react-dom": "^18.0.5",
26
27
  "babel-plugin-transform-import-styles": "^0.0.11",
27
28
  "babel-preset-env": "^1.7.0",
28
29
  "cz-conventional-changelog": "^3.3.0",
@@ -2,11 +2,16 @@
2
2
  * 轴类图背景
3
3
  */
4
4
  import React from 'react';
5
- import { getBandwidth } from '../utils';
5
+ import { getSeriesInfo } from '../utils';
6
6
 
7
7
  export default ({
8
8
  axis: { ticks, scaler, step, direction },
9
- config: { background, paddingInner: paddingOuter },
9
+ bandLength,
10
+ config: {
11
+ background,
12
+ seriesIntervalWidth: paddingInner,
13
+ paddingInner: paddingOuter,
14
+ },
10
15
  length,
11
16
  }: {
12
17
  axis: {
@@ -15,11 +20,23 @@ export default ({
15
20
  step: number;
16
21
  direction: string;
17
22
  };
18
- config: { background: string; paddingInner: number };
23
+ bandLength: number;
24
+ config: {
25
+ background: string;
26
+ seriesIntervalWidth: number;
27
+ paddingInner: number;
28
+ };
19
29
  length: number;
20
30
  }) => {
21
31
  const isVertical: boolean = direction === 'vertical';
22
- const bandwidth = getBandwidth(step, paddingOuter);
32
+
33
+ const { width: bandwidth } = getSeriesInfo({
34
+ step,
35
+ bandLength,
36
+ paddingInner,
37
+ paddingOuter,
38
+ });
39
+
23
40
  const size = isVertical
24
41
  ? {
25
42
  width: length,
@@ -3,11 +3,7 @@
3
3
  */
4
4
  import React, { memo } from 'react';
5
5
  import { min, max } from 'd3v7';
6
- import {
7
- getBandBackground,
8
- getBandwidth,
9
- getBandSeriesStepAndWidth,
10
- } from '../utils';
6
+ import { getBandBackground, getSeriesInfo } from '../utils';
11
7
 
12
8
  const getHighlightData = (data: Array<DataWithBoundType>, extent: string) => {
13
9
  switch (extent) {
@@ -89,19 +85,16 @@ export default memo(
89
85
  yAxis: { scaler: yScaler },
90
86
  }: any) => {
91
87
  if (!data.length) return null;
92
- const bandwidth = getBandwidth(step, paddingOuter);
93
- const { seriesStep, seriesWidth } = getBandSeriesStepAndWidth({
94
- width: bandwidth,
95
- paddingInner,
88
+
89
+ const { seriesWidth, seriesStep, seriesStart } = getSeriesInfo({
90
+ step,
96
91
  bandLength,
92
+ paddingInner,
93
+ paddingOuter,
97
94
  });
98
95
 
99
96
  const _data = showHighlight ? getHighlightData(data, extent) : data;
100
97
 
101
- const offset =
102
- (seriesWidth + paddingInner * seriesStep) * bandLength -
103
- paddingInner * seriesStep;
104
-
105
98
  const isVertical = direction === 'vertical';
106
99
  return (
107
100
  <g className='__easyv-band'>
@@ -118,7 +111,10 @@ export default memo(
118
111
  ) => {
119
112
  const y1 = yScaler(isVertical ? end : start);
120
113
  const y2 = yScaler(isVertical ? start : end);
121
- const positionX = xScaler(x) + seriesStep * index - offset / 2;
114
+
115
+ const positionX =
116
+ xScaler(x) - step / 2 + seriesStart + index * seriesStep;
117
+
122
118
  if (isNaN(positionX)) return null;
123
119
  const positionY = y < 0 ? y1 : y2;
124
120
  const attr = getAttr({