const require_runtime = require("../../../../_virtual/_rolldown/runtime.js");
const require_objectSpread2 = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
const require_objectWithoutProperties = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js");
let react = require("react");
react = require_runtime.__toESM(react);
let _ant_design_icons = require("@ant-design/icons");
_ant_design_icons = require_runtime.__toESM(_ant_design_icons);
//#region ../materials/src/components/icon/index.tsx
const _excluded = [
	"type",
	"size",
	"color"
];
const createFromIconfontCN = _ant_design_icons.createFromIconfontCN;
const Icon = (props, ref) => {
	const { type = "", size, color } = props, rest = require_objectWithoutProperties._objectWithoutProperties(props, _excluded);
	const IconComp = (_ant_design_icons || {})[type];
	const style = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, rest.style), {}, {
		fontSize: size,
		color
	});
	if (!IconComp) {
		const IconFont = createFromIconfontCN();
		return /* @__PURE__ */ react.default.createElement(IconFont, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({ type }, rest), {}, {
			style,
			ref
		}));
	}
	return /* @__PURE__ */ react.default.createElement(IconComp, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, rest), {}, {
		style,
		twoToneColor: color,
		ref
	}));
};
var icon_default = (0, react.forwardRef)(Icon);
//#endregion
exports.default = icon_default;
