UNPKG

acud

Version:

acg react 组件库

86 lines (85 loc) • 4.91 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireWildcard(require("react")); var _LineProgress = _interopRequireDefault(require("./LineProgress")); var _CircleProgress = _interopRequireDefault(require("./CircleProgress")); var _SizeContext = _interopRequireDefault(require("../config-provider/SizeContext")); var _configProvider = require("../config-provider"); var _common = require("./common"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /** * @file 进度条 * @author liuhanwei */ var __rest = void 0 && (void 0).__rest || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; var Progress = function Progress(_a) { var _a$percent = _a.percent, customizePercent = _a$percent === void 0 ? 0 : _a$percent, _a$type = _a.type, type = _a$type === void 0 ? 'line' : _a$type, _a$size = _a.size, customizeSize = _a$size === void 0 ? 'middle' : _a$size, _a$status = _a.status, customizeStatus = _a$status === void 0 ? 'active' : _a$status, customizeStrokeColor = _a.strokeColor, customizeTextColor = _a.textColor, customizeTextSize = _a.textSize, _a$successStyle = _a.successStyle, successStyle = _a$successStyle === void 0 ? {} : _a$successStyle, format = _a.format, customizePrefixCls = _a.prefixCls, restProps = __rest(_a, ["percent", "type", "size", "status", "strokeColor", "textColor", "textSize", "successStyle", "format", "prefixCls"]); var _useContext = (0, _react.useContext)(_configProvider.ConfigContext), getPrefixCls = _useContext.getPrefixCls; var prefixCls = getPrefixCls('progress', customizePrefixCls); var defaultSize = (0, _react.useContext)(_SizeContext["default"]) || 'small'; // size取值异常时,将使用全局size或默认值small var size = customizeSize in _common.sizeRatioMap ? customizeSize : defaultSize; // percent取值异常时,将使用默认值0 var percent = (0, _common.isNumber)(customizePercent) ? customizePercent : 0; // status取值异常时,将使用默认值active var status = customizeStatus in _common.statusColorMap ? customizeStatus : 'active'; // strokeColor取值异常时,将使用status对应的颜色 var strokeColor = (0, _common.isHexColor)(customizeStrokeColor) ? customizeStrokeColor : ''; var iconStrokeColor = strokeColor || _common.statusColorMap[status]; // 解构进度100时的样式 var successStrokeColor = successStyle.strokeColor, successTextColor = successStyle.textColor, successTextSize = successStyle.textSize; var textColor = customizeTextColor; var textSize = customizeTextSize; // 当进度100时,若存在完成时的样式,则使用该样式 if (percent === 100) { strokeColor = (0, _common.isHexColor)(successStrokeColor) ? successStrokeColor : strokeColor; textColor = (0, _common.isHexColor)(successTextColor) ? successTextColor : textColor; textSize = (0, _common.isNumber)(successTextSize) ? successTextSize : textSize; } // 若存在format方法,则格式化文本 var labelText = format instanceof Function ? format(percent) : "".concat(percent, "%"); var props = { percent: percent, size: size, status: status, strokeColor: strokeColor, iconStrokeColor: iconStrokeColor, textColor: textColor, textSize: textSize, labelText: labelText, prefixCls: prefixCls }; return type === 'circle' ? /*#__PURE__*/_react["default"].createElement(_CircleProgress["default"], (0, _extends2["default"])({}, props, restProps)) : /*#__PURE__*/_react["default"].createElement(_LineProgress["default"], (0, _extends2["default"])({}, props, restProps)); }; var _default = exports["default"] = Progress;