antd
Version:
An enterprise-class UI design language and React components implementation
84 lines (83 loc) • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getStrokeColor = exports.getSize = exports.getPercentage = void 0;
exports.getSuccessPercent = getSuccessPercent;
exports.validProgress = validProgress;
var _colors = require("@ant-design/colors");
function validProgress(progress) {
if (!progress || progress < 0) {
return 0;
}
if (progress > 100) {
return 100;
}
return progress;
}
function getSuccessPercent({
success
}) {
let percent;
if (success && 'percent' in success) {
percent = success.percent;
}
return percent;
}
const getPercentage = ({
percent,
success
}) => {
const realSuccessPercent = validProgress(getSuccessPercent({
success
}));
return [realSuccessPercent, validProgress(validProgress(percent) - realSuccessPercent)];
};
exports.getPercentage = getPercentage;
const getStrokeColor = ({
success = {},
strokeColor
}) => {
const {
strokeColor: successColor
} = success;
return [successColor || _colors.presetPrimaryColors.green, strokeColor || null];
};
exports.getStrokeColor = getStrokeColor;
const getSize = (size, type, extra) => {
let width = -1;
let height = -1;
if (type === 'step') {
const steps = extra.steps;
const strokeWidth = extra.strokeWidth;
if (typeof size === 'string' || typeof size === 'undefined') {
width = size === 'small' ? 2 : 14;
height = strokeWidth ?? 8;
} else if (typeof size === 'number') {
[width, height] = [size, size];
} else {
[width = 14, height = 8] = Array.isArray(size) ? size : [size.width, size.height];
}
width *= steps;
} else if (type === 'line') {
const strokeWidth = extra?.strokeWidth;
if (typeof size === 'string' || typeof size === 'undefined') {
height = strokeWidth || (size === 'small' ? 6 : 8);
} else if (typeof size === 'number') {
[width, height] = [size, size];
} else {
[width = -1, height = 8] = Array.isArray(size) ? size : [size.width, size.height];
}
} else if (type === 'circle' || type === 'dashboard') {
if (typeof size === 'string' || typeof size === 'undefined') {
[width, height] = size === 'small' ? [60, 60] : [120, 120];
} else if (typeof size === 'number') {
[width, height] = [size, size];
} else if (Array.isArray(size)) {
width = size[0] ?? size[1] ?? 120;
height = size[0] ?? size[1] ?? 120;
}
}
return [width, height];
};
exports.getSize = getSize;