@antv/f2
Version:
Charts for mobile visualization.
34 lines • 1.24 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import { jsx } from '../../../jsx';
import { isArray, deepMix } from '@antv/util';
export default (function (props, context) {
var _props$theme = props.theme,
theme = _props$theme === void 0 ? {} : _props$theme;
var _deepMix = deepMix(_objectSpread({}, theme.line), props),
points = _deepMix.points,
style = _deepMix.style,
offsetX = _deepMix.offsetX,
offsetY = _deepMix.offsetY,
animation = _deepMix.animation;
var _ref = points[0] || {},
x1 = _ref.x,
y1 = _ref.y;
var _ref2 = points[1] || {},
x2 = _ref2.x,
y2 = _ref2.y;
var offsetXNum = context.px2hd(offsetX);
var offsetYNum = context.px2hd(offsetY);
var posX1 = x1 + (isArray(offsetXNum) ? offsetXNum[0] || 0 : offsetXNum || 0);
var posY1 = y1 + (isArray(offsetYNum) ? offsetYNum[0] || 0 : offsetYNum || 0);
var posX2 = x2 + (isArray(offsetXNum) ? offsetXNum[1] || 0 : offsetXNum || 0);
var posY2 = y2 + (isArray(offsetYNum) ? offsetYNum[1] || 0 : offsetYNum || 0);
return jsx("group", null, jsx("line", {
attrs: _objectSpread({
x1: posX1,
y1: posY1,
x2: posX2,
y2: posY2
}, style),
animation: animation
}));
});