@ant-design/x
Version:
Craft AI-driven interfaces effortlessly
45 lines (42 loc) • 1.79 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.THOUGHT_CHAIN_ITEM_STATUS = void 0;
var _icons = require("@ant-design/icons");
var _clsx = require("clsx");
var _react = _interopRequireDefault(require("react"));
let THOUGHT_CHAIN_ITEM_STATUS = exports.THOUGHT_CHAIN_ITEM_STATUS = /*#__PURE__*/function (THOUGHT_CHAIN_ITEM_STATUS) {
THOUGHT_CHAIN_ITEM_STATUS["LOADING"] = "loading";
THOUGHT_CHAIN_ITEM_STATUS["SUCCESS"] = "success";
THOUGHT_CHAIN_ITEM_STATUS["ERROR"] = "error";
THOUGHT_CHAIN_ITEM_STATUS["ABORT"] = "abort";
return THOUGHT_CHAIN_ITEM_STATUS;
}({});
const StatusIcon = {
[THOUGHT_CHAIN_ITEM_STATUS.LOADING]: /*#__PURE__*/_react.default.createElement(_icons.LoadingOutlined, null),
[THOUGHT_CHAIN_ITEM_STATUS.ERROR]: /*#__PURE__*/_react.default.createElement(_icons.CloseCircleOutlined, null),
[THOUGHT_CHAIN_ITEM_STATUS.SUCCESS]: /*#__PURE__*/_react.default.createElement(_icons.CheckCircleOutlined, null),
[THOUGHT_CHAIN_ITEM_STATUS.ABORT]: /*#__PURE__*/_react.default.createElement(_icons.MinusCircleOutlined, null)
};
const Status = props => {
const {
prefixCls,
icon,
status,
className,
style
} = props;
// ============================ Style ============================
const statusCls = `${prefixCls}-status`;
const IconNode = status ? StatusIcon[status] : icon;
// ============================ Render ============================
return /*#__PURE__*/_react.default.createElement("div", {
className: (0, _clsx.clsx)(statusCls, className, {
[`${statusCls}-${status}`]: status
}),
style: style
}, IconNode);
};
var _default = exports.default = Status;