UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4Object.defineProperty(exports, "__esModule", {
5 value: true
6});
7exports.useAllowClear = void 0;
8var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9var _TransBtn = _interopRequireDefault(require("../TransBtn"));
10var _react = _interopRequireDefault(require("react"));
11var useAllowClear = exports.useAllowClear = function useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon) {
12 var disabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
13 var mergedSearchValue = arguments.length > 6 ? arguments[6] : undefined;
14 var mode = arguments.length > 7 ? arguments[7] : undefined;
15 var mergedClearIcon = _react.default.useMemo(function () {
16 if ((0, _typeof2.default)(allowClear) === 'object') {
17 return allowClear.clearIcon;
18 }
19 if (clearIcon) {
20 return clearIcon;
21 }
22 }, [allowClear, clearIcon]);
23 var mergedAllowClear = _react.default.useMemo(function () {
24 if (!disabled && !!allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {
25 return true;
26 }
27 return false;
28 }, [allowClear, disabled, displayValues.length, mergedSearchValue, mode]);
29 return {
30 allowClear: mergedAllowClear,
31 clearIcon: /*#__PURE__*/_react.default.createElement(_TransBtn.default, {
32 className: "".concat(prefixCls, "-clear"),
33 onMouseDown: onClearMouseDown,
34 customizeIcon: mergedClearIcon
35 }, "\xD7")
36 };
37};
\No newline at end of file