123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- var _typeof3 = require("@babel/runtime/helpers/typeof");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
- var React = _interopRequireWildcard(require("react"));
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
- var Block = function Block(_ref) {
- var bg = _ref.bg,
- children = _ref.children;
- return /*#__PURE__*/React.createElement("div", {
- style: {
- width: '100%',
- height: '100%',
- background: bg
- }
- }, children);
- };
- function getPtgColors(color, scale) {
- return Object.keys(color).map(function (key) {
- var parsedKey = parseFloat(key);
- var ptgKey = "".concat(Math.floor(parsedKey * scale), "%");
- return "".concat(color[key], " ").concat(ptgKey);
- });
- }
- var PtgCircle = /*#__PURE__*/React.forwardRef(function (props, ref) {
- var prefixCls = props.prefixCls,
- color = props.color,
- gradientId = props.gradientId,
- radius = props.radius,
- circleStyleForStack = props.style,
- ptg = props.ptg,
- strokeLinecap = props.strokeLinecap,
- strokeWidth = props.strokeWidth,
- size = props.size,
- gapDegree = props.gapDegree;
- var isGradient = color && (0, _typeof2.default)(color) === 'object';
- var stroke = isGradient ? "#FFF" : undefined;
- // ========================== Circle ==========================
- var halfSize = size / 2;
- var circleNode = /*#__PURE__*/React.createElement("circle", {
- className: "".concat(prefixCls, "-circle-path"),
- r: radius,
- cx: halfSize,
- cy: halfSize,
- stroke: stroke,
- strokeLinecap: strokeLinecap,
- strokeWidth: strokeWidth,
- opacity: ptg === 0 ? 0 : 1,
- style: circleStyleForStack,
- ref: ref
- });
- // ========================== Render ==========================
- if (!isGradient) {
- return circleNode;
- }
- var maskId = "".concat(gradientId, "-conic");
- var fromDeg = gapDegree ? "".concat(180 + gapDegree / 2, "deg") : '0deg';
- var conicColors = getPtgColors(color, (360 - gapDegree) / 360);
- var linearColors = getPtgColors(color, 1);
- var conicColorBg = "conic-gradient(from ".concat(fromDeg, ", ").concat(conicColors.join(', '), ")");
- var linearColorBg = "linear-gradient(to ".concat(gapDegree ? 'bottom' : 'top', ", ").concat(linearColors.join(', '), ")");
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("mask", {
- id: maskId
- }, circleNode), /*#__PURE__*/React.createElement("foreignObject", {
- x: 0,
- y: 0,
- width: size,
- height: size,
- mask: "url(#".concat(maskId, ")")
- }, /*#__PURE__*/React.createElement(Block, {
- bg: linearColorBg
- }, /*#__PURE__*/React.createElement(Block, {
- bg: conicColorBg
- }))));
- });
- if (process.env.NODE_ENV !== 'production') {
- PtgCircle.displayName = 'PtgCircle';
- }
- var _default = exports.default = PtgCircle;
|