import { createVNode, defineComponent } from "vue";
import { CheckCircleOutlined, CloseCircleOutlined, LoadingOutlined, MinusCircleOutlined } from "@antdv-next/icons";
//#region components/thought-chain/Status.tsx
var STATUS_ICON_MAP = {
	loading: createVNode(LoadingOutlined, null, null),
	success: createVNode(CheckCircleOutlined, null, null),
	error: createVNode(CloseCircleOutlined, null, null),
	abort: createVNode(MinusCircleOutlined, null, null)
};
var Status_default = /* @__PURE__ */ defineComponent({
	name: "ThoughtChainStatus",
	props: {
		status: {
			type: String,
			default: void 0
		},
		icon: {
			type: [
				String,
				Object,
				Array
			],
			default: void 0
		},
		prefixCls: {
			type: String,
			required: true
		},
		class: {
			type: [
				String,
				Array,
				Object
			],
			default: void 0
		},
		style: {
			type: [
				String,
				Object,
				Array
			],
			default: void 0
		}
	},
	setup(props) {
		return () => {
			const iconNode = props.status ? STATUS_ICON_MAP[props.status] : props.icon;
			if (!iconNode) return null;
			const statusCls = `${props.prefixCls}-status`;
			return createVNode("div", {
				"class": [
					statusCls,
					props.class,
					{ [`${statusCls}-${props.status}`]: props.status }
				],
				"style": props.style
			}, [iconNode]);
		};
	}
});
//#endregion
export { STATUS_ICON_MAP, Status_default as default };
