UNPKG

react-svg-line-chart

Version:

A lightweight responsive line chart component for React using only SVG

78 lines (62 loc) 2.31 kB
"use strict"; exports.__esModule = true; var _templateObject = _taggedTemplateLiteralLoose(["\n stroke: ", ";\n stroke-width: ", ";\n opacity: ", ";\n"], ["\n stroke: ", ";\n stroke-width: ", ";\n opacity: ", ";\n"]); var _propTypes = require("prop-types"); var _propTypes2 = _interopRequireDefault(_propTypes); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _styledComponents = require("styled-components"); var _styledComponents2 = _interopRequireDefault(_styledComponents); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _taggedTemplateLiteralLoose(strings, raw) { strings.raw = raw; return strings; } var SvgGroup = _styledComponents2.default.g(_templateObject, function (props) { return props.color; }, function (props) { return props.width; }, function (props) { return props.opacity; }); var Axis = function Axis(_ref) { var axisColor = _ref.axisColor, axisOpacity = _ref.axisOpacity, axisVisible = _ref.axisVisible, axisWidth = _ref.axisWidth, getX = _ref.getX, getY = _ref.getY, maxX = _ref.maxX, maxY = _ref.maxY, minX = _ref.minX, minY = _ref.minY; return axisVisible ? _react2.default.createElement( SvgGroup, { color: axisColor, width: axisWidth, opacity: axisOpacity }, _react2.default.createElement("line", { x1: getX(minX), y1: getY(minY), x2: getX(maxX), y2: getY(minY) }), _react2.default.createElement("line", { x1: getX(minX), y1: getY(minY), x2: getX(minX), y2: getY(maxY) }) ) : null; }; Axis.propTypes = process.env.NODE_ENV !== "production" ? { axisColor: _propTypes2.default.string, axisOpacity: _propTypes2.default.number, axisVisible: _propTypes2.default.bool, axisWidth: _propTypes2.default.number, getX: _propTypes2.default.func, getY: _propTypes2.default.func, maxX: _propTypes2.default.number, maxY: _propTypes2.default.number, minX: _propTypes2.default.number, minY: _propTypes2.default.number } : {}; Axis.defaultProps = { axisColor: "#34495e", axisOpacity: 0.3, axisVisible: true, axisWidth: 1, getX: function getX(x) { return x; }, getY: function getY(y) { return y; } }; exports.default = Axis; module.exports = exports["default"];