UNPKG

@wix/design-system

Version:

@wix/design-system

61 lines (60 loc) 2.09 kB
"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/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Loader/components/Arc.tsx"; // 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) }; } 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'; return ['M', start.x, start.y, 'A', radius, radius, 0, largeArcFlag, 0, end.x, end.y].join(' '); } 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: 60, columnNumber: 5 } }, /*#__PURE__*/_react.default.createElement("path", { strokeWidth: strokeWidth, d: d, __self: void 0, __source: { fileName: _jsxFileName, lineNumber: 65, 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