UNPKG

@aplus-frontend/antdv

Version:

Vue basic component library maintained based on ant-design-vue

79 lines (78 loc) 3.15 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getIcons; var _vue = require("vue"); var _DownOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/DownOutlined")); var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/LoadingOutlined")); var _CheckOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CheckOutlined")); var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseOutlined")); var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseCircleFilled")); var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/SearchOutlined")); function getIcons(props) { let slots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; const { loading, multiple, prefixCls, hasFeedback, feedbackIcon, showArrow } = props; const suffixIcon = props.suffixIcon || slots.suffixIcon && slots.suffixIcon(); const clearIcon = props.clearIcon || slots.clearIcon && slots.clearIcon(); const menuItemSelectedIcon = props.menuItemSelectedIcon || slots.menuItemSelectedIcon && slots.menuItemSelectedIcon(); const removeIcon = props.removeIcon || slots.removeIcon && slots.removeIcon(); // Clear Icon const mergedClearIcon = clearIcon !== null && clearIcon !== void 0 ? clearIcon : (0, _vue.createVNode)(_CloseCircleFilled.default, null, null); // Validation Feedback Icon const getSuffixIconNode = arrowIcon => (0, _vue.createVNode)(_vue.Fragment, null, [showArrow !== false && arrowIcon, hasFeedback && feedbackIcon]); // Arrow item icon let mergedSuffixIcon = null; if (suffixIcon !== undefined) { mergedSuffixIcon = getSuffixIconNode(suffixIcon); } else if (loading) { mergedSuffixIcon = getSuffixIconNode((0, _vue.createVNode)(_LoadingOutlined.default, { "spin": true }, null)); } else { const iconCls = `${prefixCls}-suffix`; mergedSuffixIcon = _ref => { let { open, showSearch } = _ref; if (open && showSearch) { return getSuffixIconNode((0, _vue.createVNode)(_SearchOutlined.default, { "class": iconCls }, null)); } return getSuffixIconNode((0, _vue.createVNode)(_DownOutlined.default, { "class": iconCls }, null)); }; } // Checked item icon let mergedItemIcon = null; if (menuItemSelectedIcon !== undefined) { mergedItemIcon = menuItemSelectedIcon; } else if (multiple) { mergedItemIcon = (0, _vue.createVNode)(_CheckOutlined.default, null, null); } else { mergedItemIcon = null; } let mergedRemoveIcon = null; if (removeIcon !== undefined) { mergedRemoveIcon = removeIcon; } else { mergedRemoveIcon = (0, _vue.createVNode)(_CloseOutlined.default, null, null); } return { clearIcon: mergedClearIcon, suffixIcon: mergedSuffixIcon, itemIcon: mergedItemIcon, removeIcon: mergedRemoveIcon }; }