iconUtil.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = getIcons;
  7. var _vue = require("vue");
  8. var _DownOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/DownOutlined"));
  9. var _LoadingOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/LoadingOutlined"));
  10. var _CheckOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CheckOutlined"));
  11. var _CloseOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseOutlined"));
  12. var _CloseCircleFilled = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/CloseCircleFilled"));
  13. var _SearchOutlined = _interopRequireDefault(require("@ant-design/icons-vue/lib/icons/SearchOutlined"));
  14. function getIcons(props) {
  15. var slots = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  16. var loading = props.loading,
  17. multiple = props.multiple,
  18. prefixCls = props.prefixCls;
  19. var suffixIcon = props.suffixIcon || slots.suffixIcon && slots.suffixIcon();
  20. var clearIcon = props.clearIcon || slots.clearIcon && slots.clearIcon();
  21. var menuItemSelectedIcon = props.menuItemSelectedIcon || slots.menuItemSelectedIcon && slots.menuItemSelectedIcon();
  22. var removeIcon = props.removeIcon || slots.removeIcon && slots.removeIcon();
  23. // Clear Icon
  24. var mergedClearIcon = clearIcon;
  25. if (!clearIcon) {
  26. mergedClearIcon = (0, _vue.createVNode)(_CloseCircleFilled.default, null, null);
  27. }
  28. // Arrow item icon
  29. var mergedSuffixIcon = null;
  30. if (suffixIcon !== undefined) {
  31. mergedSuffixIcon = suffixIcon;
  32. } else if (loading) {
  33. mergedSuffixIcon = (0, _vue.createVNode)(_LoadingOutlined.default, {
  34. "spin": true
  35. }, null);
  36. } else {
  37. var iconCls = "".concat(prefixCls, "-suffix");
  38. mergedSuffixIcon = function mergedSuffixIcon(_ref) {
  39. var open = _ref.open,
  40. showSearch = _ref.showSearch;
  41. if (open && showSearch) {
  42. return (0, _vue.createVNode)(_SearchOutlined.default, {
  43. "class": iconCls
  44. }, null);
  45. }
  46. return (0, _vue.createVNode)(_DownOutlined.default, {
  47. "class": iconCls
  48. }, null);
  49. };
  50. }
  51. // Checked item icon
  52. var mergedItemIcon = null;
  53. if (menuItemSelectedIcon !== undefined) {
  54. mergedItemIcon = menuItemSelectedIcon;
  55. } else if (multiple) {
  56. mergedItemIcon = (0, _vue.createVNode)(_CheckOutlined.default, null, null);
  57. } else {
  58. mergedItemIcon = null;
  59. }
  60. var mergedRemoveIcon = null;
  61. if (removeIcon !== undefined) {
  62. mergedRemoveIcon = removeIcon;
  63. } else {
  64. mergedRemoveIcon = (0, _vue.createVNode)(_CloseOutlined.default, null, null);
  65. }
  66. return {
  67. clearIcon: mergedClearIcon,
  68. suffixIcon: mergedSuffixIcon,
  69. itemIcon: mergedItemIcon,
  70. removeIcon: mergedRemoveIcon
  71. };
  72. }