antd-hz
Version:
华卓科技基于 antd 5.0 定制的组件库
97 lines (96 loc) • 3.57 kB
JavaScript
"use client";
import * as React from 'react';
import CheckOutlined from "@ant-design/icons/es/icons/CheckOutlined";
import CloseCircleFilled from "@ant-design/icons/es/icons/CloseCircleFilled";
import CloseOutlined from "@ant-design/icons/es/icons/CloseOutlined";
// import DownOutlined from '@ant-design/icons/DownOutlined';
import LoadingOutlined from "@ant-design/icons/es/icons/LoadingOutlined";
import SearchOutlined from "@ant-design/icons/es/icons/SearchOutlined";
// import CaretDownFilled from '@ant-design/icons/CaretDownFilled';
import Icon from '@ant-design/icons';
import { devUseWarning } from '../_util/warning';
const CaretDownFilledSVG = props => ( /*#__PURE__*/React.createElement("svg", Object.assign({}, props, {
viewBox: "-2.5 -3.5 12 12",
xmlns: "http://www.w3.org/2000/svg"
}), /*#__PURE__*/React.createElement("path", {
d: "M2.95782338,4.68707369 C3.25751045,5.10510859 3.74447863,5.10350818 4.04298796,4.68707369 L6.8600268,0.757009787 C7.15971388,0.338938313 6.96066513,0 6.42998297,0 L0.570857805,0 C0.0336293481,0 -0.157714983,0.340547863 0.140823787,0.757009787 L2.95782338,4.68707369 Z"
})));
const CaretDownFilled = props => /*#__PURE__*/React.createElement(Icon, Object.assign({}, props, {
component: CaretDownFilledSVG
}));
export default function useIcons(_ref) {
let {
suffixIcon,
clearIcon,
menuItemSelectedIcon,
removeIcon,
loading,
multiple,
hasFeedback,
prefixCls,
showSuffixIcon,
feedbackIcon,
showArrow,
componentName
} = _ref;
if (process.env.NODE_ENV !== 'production') {
const warning = devUseWarning(componentName);
warning.deprecated(!clearIcon, 'clearIcon', 'allowClear={{ clearIcon: React.ReactNode }}');
}
// Clear Icon
const mergedClearIcon = clearIcon !== null && clearIcon !== void 0 ? clearIcon : /*#__PURE__*/React.createElement(CloseCircleFilled, null);
// Validation Feedback Icon
const getSuffixIconNode = arrowIcon => {
if (suffixIcon === null && !hasFeedback && !showArrow) {
return null;
}
return /*#__PURE__*/React.createElement(React.Fragment, null, showSuffixIcon !== false && arrowIcon, hasFeedback && feedbackIcon);
};
// Arrow item icon
let mergedSuffixIcon = null;
if (suffixIcon !== undefined) {
mergedSuffixIcon = getSuffixIconNode(suffixIcon);
} else if (loading) {
mergedSuffixIcon = getSuffixIconNode( /*#__PURE__*/React.createElement(LoadingOutlined, {
spin: true
}));
} else {
const iconCls = `${prefixCls}-suffix`;
mergedSuffixIcon = _ref2 => {
let {
open,
showSearch
} = _ref2;
if (open && showSearch) {
return getSuffixIconNode( /*#__PURE__*/React.createElement(SearchOutlined, {
className: iconCls
}));
}
return getSuffixIconNode( /*#__PURE__*/React.createElement(CaretDownFilled, {
className: iconCls
}));
};
}
// Checked item icon
let mergedItemIcon = null;
if (menuItemSelectedIcon !== undefined) {
mergedItemIcon = menuItemSelectedIcon;
} else if (multiple) {
mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);
} else {
mergedItemIcon = null;
}
let mergedRemoveIcon = null;
if (removeIcon !== undefined) {
mergedRemoveIcon = removeIcon;
} else {
mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);
}
return {
clearIcon: mergedClearIcon,
suffixIcon: mergedSuffixIcon,
itemIcon: mergedItemIcon,
removeIcon: mergedRemoveIcon
};
}
export { CaretDownFilled };