You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
775 lines
30 KiB
775 lines
30 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[99836],{
|
|
|
|
/***/ 97910:
|
|
/*!*************************************************************!*\
|
|
!*** ./node_modules/antd/es/progress/index.js + 10 modules ***!
|
|
\*************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
"Z": function() { return /* binding */ es_progress; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
|
|
var defineProperty = __webpack_require__(4942);
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
|
|
var esm_extends = __webpack_require__(87462);
|
|
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js
|
|
var CheckCircleFilled = __webpack_require__(19735);
|
|
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/CheckOutlined.js
|
|
var CheckOutlined = __webpack_require__(64894);
|
|
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js
|
|
var CloseCircleFilled = __webpack_require__(17012);
|
|
// EXTERNAL MODULE: ./node_modules/antd/node_modules/@ant-design/icons/es/icons/CloseOutlined.js
|
|
var CloseOutlined = __webpack_require__(62208);
|
|
// EXTERNAL MODULE: ./node_modules/classnames/index.js
|
|
var classnames = __webpack_require__(94184);
|
|
var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
|
|
// EXTERNAL MODULE: ./node_modules/rc-util/es/omit.js
|
|
var omit = __webpack_require__(98423);
|
|
// EXTERNAL MODULE: ./node_modules/react/index.js
|
|
var react = __webpack_require__(67294);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js
|
|
var context = __webpack_require__(53124);
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/_util/type.js
|
|
var type = __webpack_require__(93355);
|
|
// EXTERNAL MODULE: ./node_modules/@ant-design/colors/dist/index.esm.js
|
|
var index_esm = __webpack_require__(92138);
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
|
|
var objectWithoutProperties = __webpack_require__(45987);
|
|
;// CONCATENATED MODULE: ./node_modules/rc-progress/es/common.js
|
|
|
|
var defaultProps = {
|
|
className: '',
|
|
percent: 0,
|
|
prefixCls: 'rc-progress',
|
|
strokeColor: '#2db7f5',
|
|
strokeLinecap: 'round',
|
|
strokeWidth: 1,
|
|
style: {},
|
|
trailColor: '#D9D9D9',
|
|
trailWidth: 1,
|
|
gapPosition: 'bottom'
|
|
};
|
|
var useTransitionDuration = function useTransitionDuration() {
|
|
var pathsRef = (0,react.useRef)([]);
|
|
var prevTimeStamp = (0,react.useRef)(null);
|
|
(0,react.useEffect)(function () {
|
|
var now = Date.now();
|
|
var updated = false;
|
|
pathsRef.current.forEach(function (path) {
|
|
if (!path) {
|
|
return;
|
|
}
|
|
updated = true;
|
|
var pathStyle = path.style;
|
|
pathStyle.transitionDuration = '.3s, .3s, .3s, .06s';
|
|
if (prevTimeStamp.current && now - prevTimeStamp.current < 100) {
|
|
pathStyle.transitionDuration = '0s, 0s';
|
|
}
|
|
});
|
|
if (updated) {
|
|
prevTimeStamp.current = Date.now();
|
|
}
|
|
});
|
|
return pathsRef.current;
|
|
};
|
|
;// CONCATENATED MODULE: ./node_modules/rc-progress/es/Line.js
|
|
|
|
|
|
var _excluded = ["className", "percent", "prefixCls", "strokeColor", "strokeLinecap", "strokeWidth", "style", "trailColor", "trailWidth", "transition"];
|
|
|
|
|
|
|
|
var Line = function Line(_ref) {
|
|
var className = _ref.className,
|
|
percent = _ref.percent,
|
|
prefixCls = _ref.prefixCls,
|
|
strokeColor = _ref.strokeColor,
|
|
strokeLinecap = _ref.strokeLinecap,
|
|
strokeWidth = _ref.strokeWidth,
|
|
style = _ref.style,
|
|
trailColor = _ref.trailColor,
|
|
trailWidth = _ref.trailWidth,
|
|
transition = _ref.transition,
|
|
restProps = (0,objectWithoutProperties/* default */.Z)(_ref, _excluded);
|
|
// eslint-disable-next-line no-param-reassign
|
|
delete restProps.gapPosition;
|
|
var percentList = Array.isArray(percent) ? percent : [percent];
|
|
var strokeColorList = Array.isArray(strokeColor) ? strokeColor : [strokeColor];
|
|
var paths = useTransitionDuration();
|
|
var center = strokeWidth / 2;
|
|
var right = 100 - strokeWidth / 2;
|
|
var pathString = "M ".concat(strokeLinecap === 'round' ? center : 0, ",").concat(center, "\n L ").concat(strokeLinecap === 'round' ? right : 100, ",").concat(center);
|
|
var viewBoxString = "0 0 100 ".concat(strokeWidth);
|
|
var stackPtg = 0;
|
|
return /*#__PURE__*/react.createElement("svg", (0,esm_extends/* default */.Z)({
|
|
className: classnames_default()("".concat(prefixCls, "-line"), className),
|
|
viewBox: viewBoxString,
|
|
preserveAspectRatio: "none",
|
|
style: style
|
|
}, restProps), /*#__PURE__*/react.createElement("path", {
|
|
className: "".concat(prefixCls, "-line-trail"),
|
|
d: pathString,
|
|
strokeLinecap: strokeLinecap,
|
|
stroke: trailColor,
|
|
strokeWidth: trailWidth || strokeWidth,
|
|
fillOpacity: "0"
|
|
}), percentList.map(function (ptg, index) {
|
|
var dashPercent = 1;
|
|
switch (strokeLinecap) {
|
|
case 'round':
|
|
dashPercent = 1 - strokeWidth / 100;
|
|
break;
|
|
case 'square':
|
|
dashPercent = 1 - strokeWidth / 2 / 100;
|
|
break;
|
|
default:
|
|
dashPercent = 1;
|
|
break;
|
|
}
|
|
var pathStyle = {
|
|
strokeDasharray: "".concat(ptg * dashPercent, "px, 100px"),
|
|
strokeDashoffset: "-".concat(stackPtg, "px"),
|
|
transition: transition || 'stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear'
|
|
};
|
|
var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];
|
|
stackPtg += ptg;
|
|
return /*#__PURE__*/react.createElement("path", {
|
|
key: index,
|
|
className: "".concat(prefixCls, "-line-path"),
|
|
d: pathString,
|
|
strokeLinecap: strokeLinecap,
|
|
stroke: color,
|
|
strokeWidth: strokeWidth,
|
|
fillOpacity: "0",
|
|
ref: function ref(elem) {
|
|
// https://reactjs.org/docs/refs-and-the-dom.html#callback-refs
|
|
// React will call the ref callback with the DOM element when the component mounts,
|
|
// and call it with `null` when it unmounts.
|
|
// Refs are guaranteed to be up-to-date before componentDidMount or componentDidUpdate fires.
|
|
paths[index] = elem;
|
|
},
|
|
style: pathStyle
|
|
});
|
|
}));
|
|
};
|
|
Line.defaultProps = defaultProps;
|
|
Line.displayName = 'Line';
|
|
/* harmony default export */ var es_Line = (Line);
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
|
|
var esm_typeof = __webpack_require__(71002);
|
|
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
|
|
var slicedToArray = __webpack_require__(97685);
|
|
// EXTERNAL MODULE: ./node_modules/rc-util/es/Dom/canUseDom.js
|
|
var canUseDom = __webpack_require__(98924);
|
|
;// CONCATENATED MODULE: ./node_modules/rc-progress/es/hooks/useId.js
|
|
|
|
|
|
|
|
var uuid = 0;
|
|
/** Is client side and not jsdom */
|
|
var isBrowserClient = true && (0,canUseDom/* default */.Z)();
|
|
/** Get unique id for accessibility usage */
|
|
function getUUID() {
|
|
var retId;
|
|
// Test never reach
|
|
/* istanbul ignore if */
|
|
if (isBrowserClient) {
|
|
retId = uuid;
|
|
uuid += 1;
|
|
} else {
|
|
retId = 'TEST_OR_SSR';
|
|
}
|
|
return retId;
|
|
}
|
|
/* harmony default export */ var useId = (function (id) {
|
|
// Inner id for accessibility usage. Only work in client side
|
|
var _React$useState = react.useState(),
|
|
_React$useState2 = (0,slicedToArray/* default */.Z)(_React$useState, 2),
|
|
innerId = _React$useState2[0],
|
|
setInnerId = _React$useState2[1];
|
|
react.useEffect(function () {
|
|
setInnerId("rc_progress_".concat(getUUID()));
|
|
}, []);
|
|
return id || innerId;
|
|
});
|
|
;// CONCATENATED MODULE: ./node_modules/rc-progress/es/Circle.js
|
|
|
|
|
|
|
|
var Circle_excluded = ["id", "prefixCls", "steps", "strokeWidth", "trailWidth", "gapDegree", "gapPosition", "trailColor", "strokeLinecap", "style", "className", "strokeColor", "percent"];
|
|
|
|
|
|
|
|
|
|
function stripPercentToNumber(percent) {
|
|
return +percent.replace('%', '');
|
|
}
|
|
function toArray(value) {
|
|
var mergedValue = value !== null && value !== void 0 ? value : [];
|
|
return Array.isArray(mergedValue) ? mergedValue : [mergedValue];
|
|
}
|
|
var VIEW_BOX_SIZE = 100;
|
|
var getCircleStyle = function getCircleStyle(perimeter, perimeterWithoutGap, offset, percent, rotateDeg, gapDegree, gapPosition, strokeColor, strokeLinecap, strokeWidth) {
|
|
var stepSpace = arguments.length > 10 && arguments[10] !== undefined ? arguments[10] : 0;
|
|
var offsetDeg = offset / 100 * 360 * ((360 - gapDegree) / 360);
|
|
var positionDeg = gapDegree === 0 ? 0 : {
|
|
bottom: 0,
|
|
top: 180,
|
|
left: 90,
|
|
right: -90
|
|
}[gapPosition];
|
|
var strokeDashoffset = (100 - percent) / 100 * perimeterWithoutGap;
|
|
// Fix percent accuracy when strokeLinecap is round
|
|
// https://github.com/ant-design/ant-design/issues/35009
|
|
if (strokeLinecap === 'round' && percent !== 100) {
|
|
strokeDashoffset += strokeWidth / 2;
|
|
// when percent is small enough (<= 1%), keep smallest value to avoid it's disappearance
|
|
if (strokeDashoffset >= perimeterWithoutGap) {
|
|
strokeDashoffset = perimeterWithoutGap - 0.01;
|
|
}
|
|
}
|
|
return {
|
|
stroke: typeof strokeColor === 'string' ? strokeColor : undefined,
|
|
strokeDasharray: "".concat(perimeterWithoutGap, "px ").concat(perimeter),
|
|
strokeDashoffset: strokeDashoffset + stepSpace,
|
|
transform: "rotate(".concat(rotateDeg + offsetDeg + positionDeg, "deg)"),
|
|
transformOrigin: '0 0',
|
|
transition: 'stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s',
|
|
fillOpacity: 0
|
|
};
|
|
};
|
|
var Circle = function Circle(_ref) {
|
|
var id = _ref.id,
|
|
prefixCls = _ref.prefixCls,
|
|
steps = _ref.steps,
|
|
strokeWidth = _ref.strokeWidth,
|
|
trailWidth = _ref.trailWidth,
|
|
_ref$gapDegree = _ref.gapDegree,
|
|
gapDegree = _ref$gapDegree === void 0 ? 0 : _ref$gapDegree,
|
|
gapPosition = _ref.gapPosition,
|
|
trailColor = _ref.trailColor,
|
|
strokeLinecap = _ref.strokeLinecap,
|
|
style = _ref.style,
|
|
className = _ref.className,
|
|
strokeColor = _ref.strokeColor,
|
|
percent = _ref.percent,
|
|
restProps = (0,objectWithoutProperties/* default */.Z)(_ref, Circle_excluded);
|
|
var mergedId = useId(id);
|
|
var gradientId = "".concat(mergedId, "-gradient");
|
|
var radius = VIEW_BOX_SIZE / 2 - strokeWidth / 2;
|
|
var perimeter = Math.PI * 2 * radius;
|
|
var rotateDeg = gapDegree > 0 ? 90 + gapDegree / 2 : -90;
|
|
var perimeterWithoutGap = perimeter * ((360 - gapDegree) / 360);
|
|
var _ref2 = (0,esm_typeof/* default */.Z)(steps) === 'object' ? steps : {
|
|
count: steps,
|
|
space: 2
|
|
},
|
|
stepCount = _ref2.count,
|
|
stepSpace = _ref2.space;
|
|
var circleStyle = getCircleStyle(perimeter, perimeterWithoutGap, 0, 100, rotateDeg, gapDegree, gapPosition, trailColor, strokeLinecap, strokeWidth);
|
|
var percentList = toArray(percent);
|
|
var strokeColorList = toArray(strokeColor);
|
|
var gradient = strokeColorList.find(function (color) {
|
|
return color && (0,esm_typeof/* default */.Z)(color) === 'object';
|
|
});
|
|
var paths = useTransitionDuration();
|
|
var getStokeList = function getStokeList() {
|
|
var stackPtg = 0;
|
|
return percentList.map(function (ptg, index) {
|
|
var color = strokeColorList[index] || strokeColorList[strokeColorList.length - 1];
|
|
var stroke = color && (0,esm_typeof/* default */.Z)(color) === 'object' ? "url(#".concat(gradientId, ")") : undefined;
|
|
var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, ptg, rotateDeg, gapDegree, gapPosition, color, strokeLinecap, strokeWidth);
|
|
stackPtg += ptg;
|
|
return /*#__PURE__*/react.createElement("circle", {
|
|
key: index,
|
|
className: "".concat(prefixCls, "-circle-path"),
|
|
r: radius,
|
|
cx: 0,
|
|
cy: 0,
|
|
stroke: stroke,
|
|
strokeLinecap: strokeLinecap,
|
|
strokeWidth: strokeWidth,
|
|
opacity: ptg === 0 ? 0 : 1,
|
|
style: circleStyleForStack,
|
|
ref: function ref(elem) {
|
|
// https://reactjs.org/docs/refs-and-the-dom.html#callback-refs
|
|
// React will call the ref callback with the DOM element when the component mounts,
|
|
// and call it with `null` when it unmounts.
|
|
// Refs are guaranteed to be up-to-date before componentDidMount or componentDidUpdate fires.
|
|
paths[index] = elem;
|
|
}
|
|
});
|
|
}).reverse();
|
|
};
|
|
var getStepStokeList = function getStepStokeList() {
|
|
// only show the first percent when pass steps
|
|
var current = Math.round(stepCount * (percentList[0] / 100));
|
|
var stepPtg = 100 / stepCount;
|
|
var stackPtg = 0;
|
|
return new Array(stepCount).fill(null).map(function (_, index) {
|
|
var color = index <= current - 1 ? strokeColorList[0] : trailColor;
|
|
var stroke = color && (0,esm_typeof/* default */.Z)(color) === 'object' ? "url(#".concat(gradientId, ")") : undefined;
|
|
var circleStyleForStack = getCircleStyle(perimeter, perimeterWithoutGap, stackPtg, stepPtg, rotateDeg, gapDegree, gapPosition, color, 'butt', strokeWidth, stepSpace);
|
|
stackPtg += (perimeterWithoutGap - circleStyleForStack.strokeDashoffset + stepSpace) * 100 / perimeterWithoutGap;
|
|
return /*#__PURE__*/react.createElement("circle", {
|
|
key: index,
|
|
className: "".concat(prefixCls, "-circle-path"),
|
|
r: radius,
|
|
cx: 0,
|
|
cy: 0,
|
|
stroke: stroke
|
|
// strokeLinecap={strokeLinecap}
|
|
,
|
|
strokeWidth: strokeWidth,
|
|
opacity: 1,
|
|
style: circleStyleForStack,
|
|
ref: function ref(elem) {
|
|
paths[index] = elem;
|
|
}
|
|
});
|
|
});
|
|
};
|
|
return /*#__PURE__*/react.createElement("svg", (0,esm_extends/* default */.Z)({
|
|
className: classnames_default()("".concat(prefixCls, "-circle"), className),
|
|
viewBox: "".concat(-VIEW_BOX_SIZE / 2, " ").concat(-VIEW_BOX_SIZE / 2, " ").concat(VIEW_BOX_SIZE, " ").concat(VIEW_BOX_SIZE),
|
|
style: style,
|
|
id: id,
|
|
role: "presentation"
|
|
}, restProps), gradient && /*#__PURE__*/react.createElement("defs", null, /*#__PURE__*/react.createElement("linearGradient", {
|
|
id: gradientId,
|
|
x1: "100%",
|
|
y1: "0%",
|
|
x2: "0%",
|
|
y2: "0%"
|
|
}, Object.keys(gradient).sort(function (a, b) {
|
|
return stripPercentToNumber(a) - stripPercentToNumber(b);
|
|
}).map(function (key, index) {
|
|
return /*#__PURE__*/react.createElement("stop", {
|
|
key: index,
|
|
offset: key,
|
|
stopColor: gradient[key]
|
|
});
|
|
}))), !stepCount && /*#__PURE__*/react.createElement("circle", {
|
|
className: "".concat(prefixCls, "-circle-trail"),
|
|
r: radius,
|
|
cx: 0,
|
|
cy: 0,
|
|
stroke: trailColor,
|
|
strokeLinecap: strokeLinecap,
|
|
strokeWidth: trailWidth || strokeWidth,
|
|
style: circleStyle
|
|
}), stepCount ? getStepStokeList() : getStokeList());
|
|
};
|
|
Circle.defaultProps = defaultProps;
|
|
Circle.displayName = 'Circle';
|
|
/* harmony default export */ var es_Circle = (Circle);
|
|
;// CONCATENATED MODULE: ./node_modules/rc-progress/es/index.js
|
|
|
|
|
|
|
|
/* harmony default export */ var es = ({
|
|
Line: es_Line,
|
|
Circle: es_Circle
|
|
});
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/utils.js
|
|
|
|
function validProgress(progress) {
|
|
if (!progress || progress < 0) {
|
|
return 0;
|
|
}
|
|
if (progress > 100) {
|
|
return 100;
|
|
}
|
|
return progress;
|
|
}
|
|
function getSuccessPercent(_ref) {
|
|
var success = _ref.success,
|
|
successPercent = _ref.successPercent;
|
|
var percent = successPercent;
|
|
/** @deprecated Use `percent` instead */
|
|
if (success && 'progress' in success) {
|
|
false ? 0 : void 0;
|
|
percent = success.progress;
|
|
}
|
|
if (success && 'percent' in success) {
|
|
percent = success.percent;
|
|
}
|
|
return percent;
|
|
}
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/Circle.js
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getPercentage(_ref) {
|
|
var percent = _ref.percent,
|
|
success = _ref.success,
|
|
successPercent = _ref.successPercent;
|
|
var realSuccessPercent = validProgress(getSuccessPercent({
|
|
success: success,
|
|
successPercent: successPercent
|
|
}));
|
|
return [realSuccessPercent, validProgress(validProgress(percent) - realSuccessPercent)];
|
|
}
|
|
function getStrokeColor(_ref2) {
|
|
var _ref2$success = _ref2.success,
|
|
success = _ref2$success === void 0 ? {} : _ref2$success,
|
|
strokeColor = _ref2.strokeColor;
|
|
var successColor = success.strokeColor;
|
|
return [successColor || index_esm.presetPrimaryColors.green, strokeColor || null];
|
|
}
|
|
var Circle_Circle = function Circle(props) {
|
|
var prefixCls = props.prefixCls,
|
|
width = props.width,
|
|
strokeWidth = props.strokeWidth,
|
|
_props$trailColor = props.trailColor,
|
|
trailColor = _props$trailColor === void 0 ? null : _props$trailColor,
|
|
_props$strokeLinecap = props.strokeLinecap,
|
|
strokeLinecap = _props$strokeLinecap === void 0 ? 'round' : _props$strokeLinecap,
|
|
gapPosition = props.gapPosition,
|
|
gapDegree = props.gapDegree,
|
|
type = props.type,
|
|
children = props.children,
|
|
success = props.success;
|
|
var circleSize = width || 120;
|
|
var circleStyle = {
|
|
width: circleSize,
|
|
height: circleSize,
|
|
fontSize: circleSize * 0.15 + 6
|
|
};
|
|
var circleWidth = strokeWidth || 6;
|
|
var gapPos = gapPosition || type === 'dashboard' && 'bottom' || undefined;
|
|
var getGapDegree = function getGapDegree() {
|
|
// Support gapDeg = 0 when type = 'dashboard'
|
|
if (gapDegree || gapDegree === 0) {
|
|
return gapDegree;
|
|
}
|
|
if (type === 'dashboard') {
|
|
return 75;
|
|
}
|
|
return undefined;
|
|
};
|
|
// using className to style stroke color
|
|
var isGradient = Object.prototype.toString.call(props.strokeColor) === '[object Object]';
|
|
var strokeColor = getStrokeColor({
|
|
success: success,
|
|
strokeColor: props.strokeColor
|
|
});
|
|
var wrapperClassName = classnames_default()("".concat(prefixCls, "-inner"), (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-circle-gradient"), isGradient));
|
|
return /*#__PURE__*/react.createElement("div", {
|
|
className: wrapperClassName,
|
|
style: circleStyle
|
|
}, /*#__PURE__*/react.createElement(es_Circle, {
|
|
percent: getPercentage(props),
|
|
strokeWidth: circleWidth,
|
|
trailWidth: circleWidth,
|
|
strokeColor: strokeColor,
|
|
strokeLinecap: strokeLinecap,
|
|
trailColor: trailColor,
|
|
prefixCls: prefixCls,
|
|
gapDegree: getGapDegree(),
|
|
gapPosition: gapPos
|
|
}), children);
|
|
};
|
|
/* harmony default export */ var progress_Circle = (Circle_Circle);
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/Line.js
|
|
|
|
var __rest = undefined && undefined.__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;
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
* @example
|
|
* {
|
|
* "0%": "#afc163",
|
|
* "75%": "#009900",
|
|
* "50%": "green", // ====> '#afc163 0%, #66FF00 25%, #00CC00 50%, #009900 75%, #ffffff 100%'
|
|
* "25%": "#66FF00",
|
|
* "100%": "#ffffff"
|
|
* }
|
|
*/
|
|
var sortGradient = function sortGradient(gradients) {
|
|
var tempArr = [];
|
|
Object.keys(gradients).forEach(function (key) {
|
|
var formattedKey = parseFloat(key.replace(/%/g, ''));
|
|
if (!isNaN(formattedKey)) {
|
|
tempArr.push({
|
|
key: formattedKey,
|
|
value: gradients[key]
|
|
});
|
|
}
|
|
});
|
|
tempArr = tempArr.sort(function (a, b) {
|
|
return a.key - b.key;
|
|
});
|
|
return tempArr.map(function (_ref) {
|
|
var key = _ref.key,
|
|
value = _ref.value;
|
|
return "".concat(value, " ").concat(key, "%");
|
|
}).join(', ');
|
|
};
|
|
/**
|
|
* Then this man came to realize the truth: Besides six pence, there is the moon. Besides bread and
|
|
* butter, there is the bug. And... Besides women, there is the code.
|
|
*
|
|
* @example
|
|
* {
|
|
* "0%": "#afc163",
|
|
* "25%": "#66FF00",
|
|
* "50%": "#00CC00", // ====> linear-gradient(to right, #afc163 0%, #66FF00 25%,
|
|
* "75%": "#009900", // #00CC00 50%, #009900 75%, #ffffff 100%)
|
|
* "100%": "#ffffff"
|
|
* }
|
|
*/
|
|
var handleGradient = function handleGradient(strokeColor, directionConfig) {
|
|
var _strokeColor$from = strokeColor.from,
|
|
from = _strokeColor$from === void 0 ? index_esm.presetPrimaryColors.blue : _strokeColor$from,
|
|
_strokeColor$to = strokeColor.to,
|
|
to = _strokeColor$to === void 0 ? index_esm.presetPrimaryColors.blue : _strokeColor$to,
|
|
_strokeColor$directio = strokeColor.direction,
|
|
direction = _strokeColor$directio === void 0 ? directionConfig === 'rtl' ? 'to left' : 'to right' : _strokeColor$directio,
|
|
rest = __rest(strokeColor, ["from", "to", "direction"]);
|
|
if (Object.keys(rest).length !== 0) {
|
|
var sortedGradients = sortGradient(rest);
|
|
return {
|
|
backgroundImage: "linear-gradient(".concat(direction, ", ").concat(sortedGradients, ")")
|
|
};
|
|
}
|
|
return {
|
|
backgroundImage: "linear-gradient(".concat(direction, ", ").concat(from, ", ").concat(to, ")")
|
|
};
|
|
};
|
|
var Line_Line = function Line(props) {
|
|
var prefixCls = props.prefixCls,
|
|
directionConfig = props.direction,
|
|
percent = props.percent,
|
|
strokeWidth = props.strokeWidth,
|
|
size = props.size,
|
|
strokeColor = props.strokeColor,
|
|
_props$strokeLinecap = props.strokeLinecap,
|
|
strokeLinecap = _props$strokeLinecap === void 0 ? 'round' : _props$strokeLinecap,
|
|
children = props.children,
|
|
_props$trailColor = props.trailColor,
|
|
trailColor = _props$trailColor === void 0 ? null : _props$trailColor,
|
|
success = props.success;
|
|
var backgroundProps = strokeColor && typeof strokeColor !== 'string' ? handleGradient(strokeColor, directionConfig) : {
|
|
background: strokeColor
|
|
};
|
|
var borderRadius = strokeLinecap === 'square' || strokeLinecap === 'butt' ? 0 : undefined;
|
|
var trailStyle = {
|
|
backgroundColor: trailColor || undefined,
|
|
borderRadius: borderRadius
|
|
};
|
|
var percentStyle = (0,esm_extends/* default */.Z)({
|
|
width: "".concat(validProgress(percent), "%"),
|
|
height: strokeWidth || (size === 'small' ? 6 : 8),
|
|
borderRadius: borderRadius
|
|
}, backgroundProps);
|
|
var successPercent = getSuccessPercent(props);
|
|
var successPercentStyle = {
|
|
width: "".concat(validProgress(successPercent), "%"),
|
|
height: strokeWidth || (size === 'small' ? 6 : 8),
|
|
borderRadius: borderRadius,
|
|
backgroundColor: success === null || success === void 0 ? void 0 : success.strokeColor
|
|
};
|
|
var successSegment = successPercent !== undefined ? /*#__PURE__*/react.createElement("div", {
|
|
className: "".concat(prefixCls, "-success-bg"),
|
|
style: successPercentStyle
|
|
}) : null;
|
|
return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
|
|
className: "".concat(prefixCls, "-outer")
|
|
}, /*#__PURE__*/react.createElement("div", {
|
|
className: "".concat(prefixCls, "-inner"),
|
|
style: trailStyle
|
|
}, /*#__PURE__*/react.createElement("div", {
|
|
className: "".concat(prefixCls, "-bg"),
|
|
style: percentStyle
|
|
}), successSegment)), children);
|
|
};
|
|
/* harmony default export */ var progress_Line = (Line_Line);
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/Steps.js
|
|
|
|
|
|
|
|
var Steps = function Steps(props) {
|
|
var size = props.size,
|
|
steps = props.steps,
|
|
_props$percent = props.percent,
|
|
percent = _props$percent === void 0 ? 0 : _props$percent,
|
|
_props$strokeWidth = props.strokeWidth,
|
|
strokeWidth = _props$strokeWidth === void 0 ? 8 : _props$strokeWidth,
|
|
strokeColor = props.strokeColor,
|
|
_props$trailColor = props.trailColor,
|
|
trailColor = _props$trailColor === void 0 ? null : _props$trailColor,
|
|
prefixCls = props.prefixCls,
|
|
children = props.children;
|
|
var current = Math.round(steps * (percent / 100));
|
|
var stepWidth = size === 'small' ? 2 : 14;
|
|
var styledSteps = new Array(steps);
|
|
for (var i = 0; i < steps; i++) {
|
|
var color = Array.isArray(strokeColor) ? strokeColor[i] : strokeColor;
|
|
styledSteps[i] = /*#__PURE__*/react.createElement("div", {
|
|
key: i,
|
|
className: classnames_default()("".concat(prefixCls, "-steps-item"), (0,defineProperty/* default */.Z)({}, "".concat(prefixCls, "-steps-item-active"), i <= current - 1)),
|
|
style: {
|
|
backgroundColor: i <= current - 1 ? color : trailColor,
|
|
width: stepWidth,
|
|
height: strokeWidth
|
|
}
|
|
});
|
|
}
|
|
return /*#__PURE__*/react.createElement("div", {
|
|
className: "".concat(prefixCls, "-steps-outer")
|
|
}, styledSteps, children);
|
|
};
|
|
/* harmony default export */ var progress_Steps = (Steps);
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/progress.js
|
|
|
|
|
|
var progress_rest = undefined && undefined.__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 ProgressTypes = (0,type/* tuple */.b)('line', 'circle', 'dashboard');
|
|
var ProgressStatuses = (0,type/* tuple */.b)('normal', 'exception', 'active', 'success');
|
|
var Progress = function Progress(props) {
|
|
var _classNames;
|
|
var customizePrefixCls = props.prefixCls,
|
|
className = props.className,
|
|
steps = props.steps,
|
|
strokeColor = props.strokeColor,
|
|
_props$percent = props.percent,
|
|
percent = _props$percent === void 0 ? 0 : _props$percent,
|
|
_props$size = props.size,
|
|
size = _props$size === void 0 ? 'default' : _props$size,
|
|
_props$showInfo = props.showInfo,
|
|
showInfo = _props$showInfo === void 0 ? true : _props$showInfo,
|
|
_props$type = props.type,
|
|
type = _props$type === void 0 ? 'line' : _props$type,
|
|
restProps = progress_rest(props, ["prefixCls", "className", "steps", "strokeColor", "percent", "size", "showInfo", "type"]);
|
|
function getPercentNumber() {
|
|
var successPercent = getSuccessPercent(props);
|
|
return parseInt(successPercent !== undefined ? successPercent.toString() : percent.toString(), 10);
|
|
}
|
|
function getProgressStatus() {
|
|
var status = props.status;
|
|
if (!ProgressStatuses.includes(status) && getPercentNumber() >= 100) {
|
|
return 'success';
|
|
}
|
|
return status || 'normal';
|
|
}
|
|
function renderProcessInfo(prefixCls, progressStatus) {
|
|
var format = props.format;
|
|
var successPercent = getSuccessPercent(props);
|
|
if (!showInfo) {
|
|
return null;
|
|
}
|
|
var text;
|
|
var textFormatter = format || function (percentNumber) {
|
|
return "".concat(percentNumber, "%");
|
|
};
|
|
var isLineType = type === 'line';
|
|
if (format || progressStatus !== 'exception' && progressStatus !== 'success') {
|
|
text = textFormatter(validProgress(percent), validProgress(successPercent));
|
|
} else if (progressStatus === 'exception') {
|
|
text = isLineType ? /*#__PURE__*/react.createElement(CloseCircleFilled/* default */.Z, null) : /*#__PURE__*/react.createElement(CloseOutlined/* default */.Z, null);
|
|
} else if (progressStatus === 'success') {
|
|
text = isLineType ? /*#__PURE__*/react.createElement(CheckCircleFilled/* default */.Z, null) : /*#__PURE__*/react.createElement(CheckOutlined/* default */.Z, null);
|
|
}
|
|
return /*#__PURE__*/react.createElement("span", {
|
|
className: "".concat(prefixCls, "-text"),
|
|
title: typeof text === 'string' ? text : undefined
|
|
}, text);
|
|
}
|
|
var _React$useContext = react.useContext(context/* ConfigContext */.E_),
|
|
getPrefixCls = _React$useContext.getPrefixCls,
|
|
direction = _React$useContext.direction;
|
|
var prefixCls = getPrefixCls('progress', customizePrefixCls);
|
|
var progressStatus = getProgressStatus();
|
|
var progressInfo = renderProcessInfo(prefixCls, progressStatus);
|
|
false ? 0 : void 0;
|
|
var strokeColorNotArray = Array.isArray(strokeColor) ? strokeColor[0] : strokeColor;
|
|
var strokeColorNotGradient = typeof strokeColor === 'string' || Array.isArray(strokeColor) ? strokeColor : undefined;
|
|
var progress;
|
|
// Render progress shape
|
|
if (type === 'line') {
|
|
progress = steps ? /*#__PURE__*/react.createElement(progress_Steps, (0,esm_extends/* default */.Z)({}, props, {
|
|
strokeColor: strokeColorNotGradient,
|
|
prefixCls: prefixCls,
|
|
steps: steps
|
|
}), progressInfo) : /*#__PURE__*/react.createElement(progress_Line, (0,esm_extends/* default */.Z)({}, props, {
|
|
strokeColor: strokeColorNotArray,
|
|
prefixCls: prefixCls,
|
|
direction: direction
|
|
}), progressInfo);
|
|
} else if (type === 'circle' || type === 'dashboard') {
|
|
progress = /*#__PURE__*/react.createElement(progress_Circle, (0,esm_extends/* default */.Z)({}, props, {
|
|
strokeColor: strokeColorNotArray,
|
|
prefixCls: prefixCls,
|
|
progressStatus: progressStatus
|
|
}), progressInfo);
|
|
}
|
|
var classString = classnames_default()(prefixCls, (_classNames = {}, (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-").concat(type === 'dashboard' && 'circle' || steps && 'steps' || type), true), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-status-").concat(progressStatus), true), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-show-info"), showInfo), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-").concat(size), size), (0,defineProperty/* default */.Z)(_classNames, "".concat(prefixCls, "-rtl"), direction === 'rtl'), _classNames), className);
|
|
return /*#__PURE__*/react.createElement("div", (0,esm_extends/* default */.Z)({}, (0,omit/* default */.Z)(restProps, ['status', 'format', 'trailColor', 'strokeWidth', 'width', 'gapDegree', 'gapPosition', 'strokeLinecap', 'success', 'successPercent']), {
|
|
className: classString,
|
|
role: "progressbar"
|
|
}), progress);
|
|
};
|
|
/* harmony default export */ var progress = (Progress);
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/index.js
|
|
|
|
/* harmony default export */ var es_progress = (progress);
|
|
|
|
/***/ }),
|
|
|
|
/***/ 57273:
|
|
/*!******************************************************************!*\
|
|
!*** ./node_modules/antd/es/progress/style/index.js + 1 modules ***!
|
|
\******************************************************************/
|
|
/***/ (function(__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/antd/es/style/default.less
|
|
var style_default = __webpack_require__(43146);
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/style/index.less
|
|
// extracted by mini-css-extract-plugin
|
|
|
|
;// CONCATENATED MODULE: ./node_modules/antd/es/progress/style/index.js
|
|
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |