react-svg-donut-chart
Version:
A lightweight responsive donut chart React component using only SVG
57 lines (46 loc) • 1.47 kB
JavaScript
"use strict";
exports.__esModule = true;
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _constants = require("../constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Segment = function Segment(_ref) {
var stroke = _ref.stroke,
strokeDasharray = _ref.strokeDasharray,
strokeDashoffset = _ref.strokeDashoffset,
strokeWidth = _ref.strokeWidth,
title = _ref.title;
return _react2.default.createElement(
"circle",
{
cx: _constants.center.x,
cy: _constants.center.y,
r: _constants.radius,
fill: "none",
stroke: stroke,
strokeWidth: strokeWidth,
strokeDasharray: strokeDasharray,
strokeDashoffset: strokeDashoffset
},
title && _react2.default.createElement(
"title",
null,
title
)
);
};
Segment.propTypes = process.env.NODE_ENV !== "production" ? {
stroke: _propTypes2.default.string.isRequired,
strokeDasharray: _propTypes2.default.string.isRequired,
strokeDashoffset: _propTypes2.default.number.isRequired,
strokeWidth: _propTypes2.default.number,
title: _propTypes2.default.string,
value: _propTypes2.default.number.isRequired
} : {};
Segment.defaultProps = {
strokeWidth: 5
};
exports.default = Segment;
module.exports = exports["default"];