wix-style-react
Version:
wix-style-react
66 lines (63 loc) • 2.15 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/Loader/Arc.js";
// taken from https://stackoverflow.com/a/18473154
function polarToCartesian(centerX, centerY, radius, angleInDegrees) {
var angleInRadians = (angleInDegrees - 90) * Math.PI / 180.0;
return {
x: centerX + radius * Math.cos(angleInRadians),
y: centerY + radius * Math.sin(angleInRadians)
};
}
/* eslint-disable max-params */
function describeArc(x, y, radius, startAngle, endAngle) {
var start = polarToCartesian(x, y, radius, endAngle);
var end = polarToCartesian(x, y, radius, startAngle);
var largeArcFlag = endAngle - startAngle <= 180 ? '0' : '1';
var d = ['M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(' ');
return d;
}
/* eslint-enable */
var Arc = _ref => {
var {
className,
strokeWidth,
viewBoxSize,
angle
} = _ref;
var d = describeArc(0, 0, (viewBoxSize - strokeWidth) / 2, 0, angle);
var viewBox = "-".concat(viewBoxSize / 2, " -").concat(viewBoxSize / 2, " ").concat(viewBoxSize, " ").concat(viewBoxSize);
return /*#__PURE__*/_react.default.createElement("svg", {
xmlns: "http://www.w3.org/2000/svg",
viewBox: viewBox,
className: className,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 45,
columnNumber: 5
}
}, /*#__PURE__*/_react.default.createElement("path", {
strokeWidth: strokeWidth,
d: d,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 50,
columnNumber: 7
}
}));
};
Arc.propTypes = {
angle: _propTypes.default.number,
className: _propTypes.default.string,
strokeWidth: _propTypes.default.number,
viewBoxSize: _propTypes.default.number
};
Arc.displayName = 'Arc';
var _default = exports.default = Arc;
//# sourceMappingURL=Arc.js.map