antd
Version:
An enterprise-class UI design language and React components implementation
69 lines (57 loc) • 2.03 kB
JavaScript
import * as React from 'react';
import DownOutlined from '@ant-design/icons/DownOutlined';
import LoadingOutlined from '@ant-design/icons/LoadingOutlined';
import CheckOutlined from '@ant-design/icons/CheckOutlined';
import CloseOutlined from '@ant-design/icons/CloseOutlined';
import CloseCircleFilled from '@ant-design/icons/CloseCircleFilled';
import SearchOutlined from '@ant-design/icons/SearchOutlined';
export default function getIcons(_ref) {
var suffixIcon = _ref.suffixIcon,
clearIcon = _ref.clearIcon,
menuItemSelectedIcon = _ref.menuItemSelectedIcon,
removeIcon = _ref.removeIcon,
loading = _ref.loading,
multiple = _ref.multiple;
// Clear Icon
var mergedClearIcon = clearIcon;
if (!clearIcon) {
mergedClearIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);
} // Arrow item icon
var mergedSuffixIcon = null;
if (suffixIcon !== undefined) {
mergedSuffixIcon = suffixIcon;
} else if (loading) {
mergedSuffixIcon = /*#__PURE__*/React.createElement(LoadingOutlined, {
spin: true
});
} else {
mergedSuffixIcon = function mergedSuffixIcon(_ref2) {
var open = _ref2.open,
showSearch = _ref2.showSearch;
if (open && showSearch) {
return /*#__PURE__*/React.createElement(SearchOutlined, null);
}
return /*#__PURE__*/React.createElement(DownOutlined, null);
};
} // Checked item icon
var mergedItemIcon = null;
if (menuItemSelectedIcon !== undefined) {
mergedItemIcon = menuItemSelectedIcon;
} else if (multiple) {
mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);
} else {
mergedItemIcon = null;
}
var mergedRemoveIcon = null;
if (removeIcon !== undefined) {
mergedRemoveIcon = removeIcon;
} else {
mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);
}
return {
clearIcon: mergedClearIcon,
suffixIcon: mergedSuffixIcon,
itemIcon: mergedItemIcon,
removeIcon: mergedRemoveIcon
};
}