acud
Version:
acg react 组件库
76 lines • 2.6 kB
JavaScript
import * as React from 'react';
import OutlinedDown from "acud-icon/es/icons/OutlinedDown";
import OutlinedUp from "acud-icon/es/icons/OutlinedUp";
import OutlinedLoading from "acud-icon/es/icons/OutlinedLoading";
import OutlinedCheck from "acud-icon/es/icons/OutlinedCheck";
import OutlinedClose from "acud-icon/es/icons/OutlinedClose";
export default function getIcons(_ref) {
var suffixIcon = _ref.suffixIcon,
clearIcon = _ref.clearIcon,
menuItemSelectedIcon = _ref.menuItemSelectedIcon,
removeIcon = _ref.removeIcon,
loading = _ref.loading,
multiple = _ref.multiple,
hasFeedback = _ref.hasFeedback,
prefixCls = _ref.prefixCls,
triggerOpen = _ref.triggerOpen,
showArrow = _ref.showArrow,
feedbackIcon = _ref.feedbackIcon;
// Clear Icon
var mergedClearIcon = clearIcon;
if (!clearIcon) {
mergedClearIcon = /*#__PURE__*/React.createElement(OutlinedClose, {
width: "8px",
height: "8px"
});
}
// Validation Feedback Icon
var getSuffixIconNode = function getSuffixIconNode(arrowIcon) {
return /*#__PURE__*/React.createElement(React.Fragment, null, showArrow !== false && arrowIcon, hasFeedback && feedbackIcon);
};
// Arrow item icon
var mergedSuffixIcon = null;
if (suffixIcon !== undefined) {
mergedSuffixIcon = getSuffixIconNode(suffixIcon);
} else if (loading) {
mergedSuffixIcon = getSuffixIconNode(/*#__PURE__*/React.createElement(OutlinedLoading, {
animation: "spin"
}));
} else {
var iconCls = "".concat(prefixCls, "-suffix");
mergedSuffixIcon = function mergedSuffixIcon() {
// if (open && showSearch) {
// return <OutlinedSearch className={iconCls} />;
// }
return getSuffixIconNode(triggerOpen ? /*#__PURE__*/React.createElement(OutlinedUp, {
className: iconCls
}) : /*#__PURE__*/React.createElement(OutlinedDown, {
className: iconCls
}));
};
}
// Checked item icon
var mergedItemIcon = null;
if (menuItemSelectedIcon !== undefined) {
mergedItemIcon = menuItemSelectedIcon;
} else if (multiple) {
mergedItemIcon = /*#__PURE__*/React.createElement(OutlinedCheck, null);
} else {
mergedItemIcon = null;
}
var mergedRemoveIcon = null;
if (removeIcon !== undefined) {
mergedRemoveIcon = removeIcon;
} else {
mergedRemoveIcon = /*#__PURE__*/React.createElement(OutlinedClose, {
width: "12px",
height: "12px"
});
}
return {
clearIcon: mergedClearIcon,
suffixIcon: mergedSuffixIcon,
itemIcon: mergedItemIcon,
removeIcon: mergedRemoveIcon
};
}