tdesign-react
Version:
TDesign Component for React
708 lines (704 loc) • 27.7 kB
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
import { _ as _defineProperty } from '../../_chunks/dep-d67deb2c.js';
import { _ as _toConsumableArray } from '../../_chunks/dep-a3a3e527.js';
import { _ as _objectWithoutProperties } from '../../_chunks/dep-ed34fbd4.js';
import { _ as _slicedToArray } from '../../_chunks/dep-10d5731f.js';
import React, { useMemo, useRef, useState, useCallback, useEffect, Children, isValidElement, cloneElement } from 'react';
import classNames from 'classnames';
import { get, isFunction, debounce } from 'lodash-es';
import forwardRefWithStatics from '../../_util/forwardRefWithStatics.js';
import { getOffsetTopToContainer } from '../../_util/helper.js';
import noop from '../../_util/noop.js';
import { parseContentTNode } from '../../_util/parseTNode.js';
import { composeRefs } from '../../_util/ref.js';
import FakeArrow from '../../common/FakeArrow.js';
import useConfig from '../../hooks/useConfig.js';
import useControlled from '../../hooks/useControlled.js';
import useDefaultProps from '../../hooks/useDefaultProps.js';
import { Loading } from '../../loading/index.js';
import { useLocaleReceiver } from '../../locale/LocalReceiver.js';
import { SelectInput } from '../../select-input/index.js';
import { Tag } from '../../tag/index.js';
import { selectDefaultProps } from '../defaultProps.js';
import useKeyboardControl from '../hooks/useKeyboardControl.js';
import { g as getKeyMapping, u as useOptions, i as isSelectOptionGroup, a as getSelectedOptions, b as getSelectValueArr, O as Option } from '../../_chunks/dep-80300655.js';
import OptionGroup from './OptionGroup.js';
import PopupContent from './PopupContent.js';
import '../../_chunks/dep-8abcbcbc.js';
import '../../_chunks/dep-74a10cfb.js';
import 'hoist-non-react-statics';
import '../../_chunks/dep-1144c9da.js';
import '../../_chunks/dep-2ba7b13f.js';
import 'react-is';
import '../../_util/isFragment.js';
import '../../config-provider/ConfigContext.js';
import '../../locale/zh_CN.js';
import '../../_chunks/dep-751cada9.js';
import 'dayjs';
import '../../_chunks/dep-37c4dbb1.js';
import '../../loading/Loading.js';
import '../../_chunks/dep-ca8d3fa0.js';
import '../../common/Portal.js';
import 'react-dom';
import '../../hooks/useLayoutEffect.js';
import '../../loading/defaultProps.js';
import '../../loading/gradient.js';
import '../../_chunks/dep-79351403.js';
import '../../_chunks/dep-624e7b27.js';
import '../../hooks/useDomRefCallback.js';
import '../../loading/plugin.js';
import '../../_util/react-render.js';
import '../../_chunks/dep-d26972d5.js';
import '../../common/PluginContainer.js';
import '../../config-provider/index.js';
import '../../config-provider/ConfigProvider.js';
import '../../config-provider/type.js';
import '../../loading/style/css.js';
import '../../loading/type.js';
import '../../select-input/SelectInput.js';
import '../../popup/index.js';
import '../../popup/Popup.js';
import 'react-transition-group';
import '../../hooks/useAnimation.js';
import '../../hooks/useAttach.js';
import '../../hooks/useMutationObserver.js';
import '../../hooks/useLatest.js';
import '../../hooks/usePopper.js';
import 'react-fast-compare';
import '@popperjs/core';
import '../../hooks/useWindowSize.js';
import '../../popup/defaultProps.js';
import '../../popup/hooks/useTrigger.js';
import '../../_util/listener.js';
import '../../popup/utils/transition.js';
import '../../popup/PopupPlugin.js';
import '../../popup/style/css.js';
import '../../popup/type.js';
import '../../select-input/defaultProps.js';
import '../../select-input/useMultiple.js';
import '../../tag-input/index.js';
import '../../tag-input/TagInput.js';
import 'tdesign-icons-react';
import '../../hooks/useDragSorter.js';
import '../../hooks/useEventCallback.js';
import '../../hooks/useGlobalIcon.js';
import '../../input/index.js';
import '../../input/Input.js';
import '../../input/defaultProps.js';
import '../../input/InputGroup.js';
import '../../input/useLengthLimit.js';
import '../../input/style/css.js';
import '../../input/type.js';
import '../../tag-input/defaultProps.js';
import '../../tag-input/useHover.js';
import '../../tag-input/useTagList.js';
import '../../tag-input/useTagScroll.js';
import '../../tag/Tag.js';
import '../../_chunks/dep-5af45ced.js';
import '../../tag/defaultProps.js';
import '../../tag/CheckTag.js';
import '../../_chunks/dep-9fcdea87.js';
import '../../tag/CheckTagGroup.js';
import '../../tag/style/css.js';
import '../../tag/type.js';
import '../../tag-input/style/css.js';
import '../../tag-input/type.js';
import '../../select-input/useOverlayInnerStyle.js';
import '../../hooks/useInnerPopupVisible.js';
import '../../select-input/useSingle.js';
import '../../select-input/style/css.js';
import '../../select-input/type.js';
import '../../hooks/useRipple.js';
import '../hooks/usePanelVirtualScroll.js';
import '../../hooks/useVirtualScroll.js';
var _excluded = ["overlayClassName", "onScroll", "onScrollToBottom"];
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var Select = forwardRefWithStatics(function (originalProps, ref) {
var props = useDefaultProps(originalProps, selectDefaultProps);
var _useLocaleReceiver = useLocaleReceiver("select"),
_useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 2),
local = _useLocaleReceiver2[0],
t = _useLocaleReceiver2[1];
var emptyText = t(local.loadingText);
var borderless = props.borderless,
autoWidth = props.autoWidth,
creatable = props.creatable,
_props$loadingText = props.loadingText,
loadingText = _props$loadingText === void 0 ? emptyText : _props$loadingText,
max = props.max,
popupProps = props.popupProps,
reserveKeyword = props.reserveKeyword,
className = props.className,
style = props.style,
disabled = props.disabled,
size = props.size,
multiple = props.multiple,
placeholder = props.placeholder,
clearable = props.clearable,
prefixIcon = props.prefixIcon,
options = props.options,
filterable = props.filterable,
loading = props.loading,
empty = props.empty,
valueType = props.valueType,
keys = props.keys,
children = props.children,
collapsedItems = props.collapsedItems,
minCollapsedNum = props.minCollapsedNum,
valueDisplay = props.valueDisplay,
showArrow = props.showArrow,
inputProps = props.inputProps,
panelBottomContent = props.panelBottomContent,
panelTopContent = props.panelTopContent,
selectInputProps = props.selectInputProps,
tagInputProps = props.tagInputProps,
tagProps = props.tagProps,
scroll = props.scroll,
suffixIcon = props.suffixIcon,
label = props.label,
filter = props.filter,
onFocus = props.onFocus,
_onBlur = props.onBlur,
_props$onClear = props.onClear,
onClear = _props$onClear === void 0 ? noop : _props$onClear,
onCreate = props.onCreate,
onRemove = props.onRemove,
onSearch = props.onSearch,
onEnter = props.onEnter,
onPopupVisibleChange = props.onPopupVisibleChange;
var readOnly = props.readOnly || props.readonly;
var _useControlled = useControlled(props, "value", props.onChange),
_useControlled2 = _slicedToArray(_useControlled, 2),
value = _useControlled2[0],
onChange = _useControlled2[1];
var _useMemo = useMemo(function () {
return getKeyMapping(keys);
}, [keys]),
valueKey = _useMemo.valueKey,
labelKey = _useMemo.labelKey,
disabledKey = _useMemo.disabledKey;
var selectInputRef = useRef(null);
var _useConfig = useConfig(),
classPrefix = _useConfig.classPrefix;
var _ref = popupProps || {},
overlayClassName = _ref.overlayClassName,
onScroll = _ref.onScroll,
onScrollToBottom = _ref.onScrollToBottom,
restPopupProps = _objectWithoutProperties(_ref, _excluded);
var _useState = useState(false),
_useState2 = _slicedToArray(_useState, 2),
isScrolling = _useState2[0],
toggleIsScrolling = _useState2[1];
var name = "".concat(classPrefix, "-select");
var _useControlled3 = useControlled(props, "inputValue", props.onInputChange),
_useControlled4 = _slicedToArray(_useControlled3, 2),
inputValue = _useControlled4[0],
onInputChange = _useControlled4[1];
var _useControlled5 = useControlled(props, "popupVisible", onPopupVisibleChange),
_useControlled6 = _slicedToArray(_useControlled5, 2),
innerPopupVisible = _useControlled6[0],
setInnerPopupVisible = _useControlled6[1];
var handlePopupVisibleChange = function handlePopupVisibleChange(visible, ctx) {
if (disabled) return;
visible ? toggleIsScrolling(false) : onInputChange("", {
trigger: "blur"
});
setInnerPopupVisible(visible, ctx);
};
var _useOptions = useOptions(keys, options, children, valueType, value, reserveKeyword),
currentOptions = _useOptions.currentOptions,
setCurrentOptions = _useOptions.setCurrentOptions,
tmpPropOptions = _useOptions.tmpPropOptions,
valueToOption = _useOptions.valueToOption,
selectedOptions = _useOptions.selectedOptions,
flattenedOptions = _useOptions.flattenedOptions;
var onCheckAllChange = useCallback(function (checkAll, e) {
var isDisabledCheckAll = function isDisabledCheckAll(opt) {
return opt.checkAll && opt.disabled;
};
if (!multiple || currentOptions.some(function (opt) {
return !isSelectOptionGroup(opt) && isDisabledCheckAll(opt);
})) return;
var isObjectType = valueType === "object";
var enabledOptions = [];
currentOptions.forEach(function (option) {
if (isSelectOptionGroup(option)) {
var _option$children;
(_option$children = option.children) === null || _option$children === void 0 || _option$children.forEach(function (item) {
if (!item.checkAll && !item.disabled) {
enabledOptions.push(item);
}
});
} else {
!option.checkAll && !option.disabled && enabledOptions.push(option);
}
});
var currentValues = Array.isArray(value) ? value : [];
var disabledSelectedOptions = [];
var isDisabledAndSelected = function isDisabledAndSelected(opt) {
if (opt.checkAll || !opt.disabled) return false;
if (isObjectType) return currentValues.some(function (v) {
return get(v, valueKey) === opt[valueKey];
});
return currentValues.includes(opt[valueKey]);
};
currentOptions.forEach(function (opt) {
if (isSelectOptionGroup(opt)) {
var _opt$children;
(_opt$children = opt.children) === null || _opt$children === void 0 || _opt$children.forEach(function (item) {
if (isDisabledAndSelected(item)) {
disabledSelectedOptions.push(item);
}
});
} else if (isDisabledAndSelected(opt)) {
disabledSelectedOptions.push(opt);
}
});
var checkAllValue;
if (checkAll) {
var enabledValues = enabledOptions.map(function (opt) {
return isObjectType ? opt : opt[valueKey];
});
var disabledValues = disabledSelectedOptions.map(function (opt) {
return isObjectType ? opt : opt[valueKey];
});
checkAllValue = [].concat(_toConsumableArray(disabledValues), _toConsumableArray(enabledValues));
} else {
checkAllValue = disabledSelectedOptions.map(function (opt) {
return isObjectType ? opt : opt[valueKey];
});
}
var _getSelectedOptions = getSelectedOptions(checkAllValue, multiple, valueType, keys, valueToOption),
currentSelectedOptions = _getSelectedOptions.currentSelectedOptions;
onChange === null || onChange === void 0 || onChange(checkAllValue, {
e: e,
trigger: checkAll ? "check" : "uncheck",
selectedOptions: currentSelectedOptions
});
}, [currentOptions, keys, multiple, value, valueKey, valueToOption, valueType, onChange]);
var selectedLabel = useMemo(function () {
if (multiple) {
return selectedOptions.map(function (selectedOption) {
return get(selectedOption || {}, labelKey) || "";
});
}
return get(selectedOptions[0] || {}, labelKey) || void 0;
}, [multiple, selectedOptions, labelKey]);
var onTagChange = function onTagChange(_currentTags, context) {
var handleRemove = function handleRemove(removeIndex, trigger2, e2, label2) {
var values = getSelectValueArr(value, value[removeIndex], true, valueType, keys);
var _getSelectedOptions2 = getSelectedOptions(values, multiple, valueType, keys, valueToOption),
currentSelectedOptions = _getSelectedOptions2.currentSelectedOptions;
onChange(values, {
e: e2,
trigger: trigger2,
selectedOptions: currentSelectedOptions
});
onRemove === null || onRemove === void 0 || onRemove({
value: value[removeIndex],
data: {
label: label2,
value: value[removeIndex]
},
e: e2
});
};
var trigger = context.trigger,
index = context.index,
item = context.item,
e = context.e;
e === null || e === void 0 || e.stopPropagation();
if (trigger === "backspace") {
var closest = -1;
var len = index;
while (len >= 0) {
var option = selectedOptions[len];
if (!isSelectOptionGroup(option) && !option.disabled) {
closest = len;
break;
}
len -= 1;
}
if (closest >= 0) {
var label2 = get(selectedOptions[closest], getKeyMapping(keys).labelKey);
handleRemove(closest, trigger, e, label2);
}
return;
}
if (trigger === "tag-remove") {
var _e$stopPropagation;
e === null || e === void 0 || (_e$stopPropagation = e.stopPropagation) === null || _e$stopPropagation === void 0 || _e$stopPropagation.call(e);
handleRemove(index, trigger, e, item);
}
};
var handleChange = function handleChange(value2, context) {
var selectedValue = multiple ? context.value : value2;
if (multiple) {
!reserveKeyword && inputValue && onInputChange("", {
e: context.e,
trigger: "change"
});
}
if (creatable && isFunction(onCreate)) {
if (options.filter(function (option) {
return option.value === selectedValue;
}).length === 0) {
onCreate(selectedValue);
}
}
var _getSelectedOptions3 = getSelectedOptions(value2, multiple, valueType, keys, valueToOption, selectedValue),
currentSelectedOptions = _getSelectedOptions3.currentSelectedOptions,
currentOption = _getSelectedOptions3.currentOption;
onChange === null || onChange === void 0 || onChange(value2, {
e: context.e,
trigger: context.trigger,
selectedOptions: currentSelectedOptions,
option: currentOption
});
if (multiple && (context === null || context === void 0 ? void 0 : context.trigger) === "uncheck" && isFunction(onRemove)) {
var value3 = context === null || context === void 0 ? void 0 : context.value;
var option = options === null || options === void 0 ? void 0 : options.find(function (option2) {
return option2.value === value3;
});
onRemove({
value: value3,
data: option,
e: context.e
});
}
};
var _useKeyboardControl = useKeyboardControl({
displayOptions: flattenedOptions,
keys: keys,
innerPopupVisible: innerPopupVisible,
max: max,
multiple: multiple,
selectInputRef: selectInputRef,
value: value,
valueType: valueType,
handlePopupVisibleChange: handlePopupVisibleChange,
handleChange: handleChange,
onCheckAllChange: onCheckAllChange,
toggleIsScrolling: toggleIsScrolling
}),
hoverIndex = _useKeyboardControl.hoverIndex,
handleKeyDown = _useKeyboardControl.handleKeyDown;
var handleFilter = function handleFilter(value2) {
var filteredOptions = [];
if (filterable && isFunction(onSearch)) {
return;
}
if (!value2) {
setCurrentOptions(tmpPropOptions);
return;
}
var filterLabels = [];
var filterMethods = function filterMethods(option) {
if (filter && isFunction(filter)) {
return filter(value2, option);
}
var upperValue = value2.toUpperCase();
return ((option === null || option === void 0 ? void 0 : option.label) || "").toUpperCase().includes(upperValue);
};
tmpPropOptions === null || tmpPropOptions === void 0 || tmpPropOptions.forEach(function (option) {
if (isSelectOptionGroup(option)) {
var _option$children2;
filteredOptions.push(_objectSpread(_objectSpread({}, option), {}, {
children: (_option$children2 = option.children) === null || _option$children2 === void 0 ? void 0 : _option$children2.filter(function (child) {
if (filterMethods(child)) {
filterLabels.push(child.label);
return true;
}
return false;
})
}));
} else if (filterMethods(option)) {
filterLabels.push(option.label);
filteredOptions.push(option);
}
});
var isSameLabelOptionExist = filterLabels.includes(value2);
if (creatable && !isSameLabelOptionExist) {
filteredOptions = filteredOptions.concat([{
label: value2,
value: value2
}]);
}
setCurrentOptions(filteredOptions);
};
var handleInputChange = function handleInputChange(value2, context) {
if (context.trigger !== "clear") {
onInputChange(value2, {
e: context.e,
trigger: "input"
});
}
if (value2 === void 0) {
return;
}
if (isFunction(onSearch)) {
onSearch(value2, {
e: context.e
});
return;
}
};
var handleClear = function handleClear(context) {
context.e.stopPropagation();
if (Array.isArray(value)) {
onChange([], _objectSpread(_objectSpread({}, context), {}, {
trigger: "clear",
selectedOptions: []
}));
} else {
onChange(null, _objectSpread(_objectSpread({}, context), {}, {
trigger: "clear",
selectedOptions: []
}));
}
onClear(context);
};
useEffect(function () {
if (typeof inputValue !== "undefined") {
handleFilter(String(inputValue));
}
}, [inputValue, tmpPropOptions]);
var renderSuffixIcon = function renderSuffixIcon() {
if (suffixIcon) {
return suffixIcon;
}
if (loading) {
return /* @__PURE__ */React.createElement(Loading, {
className: classNames("".concat(name, "__right-icon"), "".concat(name, "__active-icon")),
loading: true,
size: "small"
});
}
return showArrow && /* @__PURE__ */React.createElement(FakeArrow, {
className: "".concat(name, "__right-icon"),
isActive: innerPopupVisible,
disabled: disabled
});
};
var getPopupInstance = useCallback(function () {
var _selectInputRef$curre;
return (_selectInputRef$curre = selectInputRef.current) === null || _selectInputRef$curre === void 0 ? void 0 : _selectInputRef$curre.getPopupContentElement();
}, []);
var childrenWithProps = Children.map(children, function (child) {
if (/*#__PURE__*/isValidElement(child)) {
var addedProps = {
multiple: multiple
};
return /*#__PURE__*/cloneElement(child, _objectSpread({}, addedProps));
}
return child;
});
var renderContent = function renderContent() {
var popupContentProps = {
onChange: handleChange,
value: value,
className: className,
size: size,
multiple: multiple,
showPopup: innerPopupVisible,
setShowPopup: function setShowPopup(show) {
return handlePopupVisibleChange(show, {});
},
options: currentOptions,
empty: empty,
max: max,
loadingText: loadingText,
loading: loading,
valueType: valueType,
keys: keys,
panelBottomContent: panelBottomContent,
panelTopContent: panelTopContent,
onCheckAllChange: onCheckAllChange,
getPopupInstance: getPopupInstance,
scroll: scroll,
hoverIndex: hoverIndex
};
return /* @__PURE__ */React.createElement(PopupContent, _objectSpread({}, popupContentProps), childrenWithProps);
};
var renderValueDisplay = useMemo(function () {
if (!valueDisplay) {
if (!multiple) {
if (typeof selectedLabel !== "string") {
return selectedLabel;
}
return "";
}
return function (_ref2) {
var val = _ref2.value;
return val.slice(0, minCollapsedNum ? minCollapsedNum : val.length).map(function (_, index) {
var targetVal = get(selectedOptions[index], valueKey);
var targetLabel = get(selectedOptions[index], labelKey);
var targetOption = valueToOption[targetVal];
return /* @__PURE__ */React.createElement(Tag, _objectSpread(_objectSpread({
key: index,
closable: !get(targetOption, disabledKey) && !disabled && !readOnly,
size: size
}, tagProps), {}, {
onClose: function onClose(_ref3) {
var _e$nativeEvent, _e$nativeEvent$stopIm, _tagProps$onClose;
var e = _ref3.e;
e.stopPropagation();
e === null || e === void 0 || (_e$nativeEvent = e.nativeEvent) === null || _e$nativeEvent === void 0 || (_e$nativeEvent$stopIm = _e$nativeEvent.stopImmediatePropagation) === null || _e$nativeEvent$stopIm === void 0 || _e$nativeEvent$stopIm.call(_e$nativeEvent);
var values = getSelectValueArr(value, value[index], true, valueType, keys);
var _getSelectedOptions4 = getSelectedOptions(values, multiple, valueType, keys, valueToOption, value),
currentSelectedOptions = _getSelectedOptions4.currentSelectedOptions;
onChange(values, {
e: e,
selectedOptions: currentSelectedOptions,
trigger: "tag-remove"
});
tagProps === null || tagProps === void 0 || (_tagProps$onClose = tagProps.onClose) === null || _tagProps$onClose === void 0 || _tagProps$onClose.call(tagProps, {
e: e
});
onRemove === null || onRemove === void 0 || onRemove({
value: targetVal,
data: {
label: targetLabel,
value: targetVal
},
e: e
});
}
}), targetLabel);
});
};
}
if (typeof valueDisplay === "string") {
return valueDisplay;
}
if (multiple) {
return function (_ref4) {
var onClose = _ref4.onClose;
return parseContentTNode(valueDisplay, {
value: selectedOptions,
onClose: onClose
});
};
}
return parseContentTNode(valueDisplay, {
value: selectedLabel,
onClose: noop
});
}, [valueDisplay, multiple, selectedLabel, minCollapsedNum, options, disabled, readOnly, size, tagProps, value, valueType, keys, valueToOption, onRemove, selectedOptions]);
var updateScrollTop = function updateScrollTop(content) {
if (!content || isScrolling) {
return;
}
var firstSelectedNode = content.querySelector(".".concat(classPrefix, "-is-selected"));
if (!multiple && firstSelectedNode) {
var _getComputedStyle = getComputedStyle(firstSelectedNode),
paddingBottom = _getComputedStyle.paddingBottom;
var _getComputedStyle2 = getComputedStyle(content),
marginBottom = _getComputedStyle2.marginBottom;
var elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);
var updateValue = getOffsetTopToContainer(firstSelectedNode, content) - content.offsetTop - (content.clientHeight - firstSelectedNode.clientHeight) + elementBottomHeight;
setTimeout(function () {
content.scrollTop = updateValue;
});
}
};
var onMouseEnter = props.onMouseEnter,
onMouseLeave = props.onMouseLeave;
var handleEnter = function handleEnter(_, context) {
onEnter === null || onEnter === void 0 || onEnter(_objectSpread(_objectSpread({}, context), {}, {
value: value
}));
};
var handleScroll = function handleScroll(_ref5) {
var e = _ref5.e;
toggleIsScrolling(true);
onScroll === null || onScroll === void 0 || onScroll({
e: e
});
if (onScrollToBottom) {
var debounceOnScrollBottom = debounce(function (e2) {
return onScrollToBottom({
e: e2
});
}, 100);
var _e$target = e.target,
scrollTop = _e$target.scrollTop,
clientHeight = _e$target.clientHeight,
scrollHeight = _e$target.scrollHeight;
if (clientHeight + Math.floor(scrollTop) === scrollHeight) {
debounceOnScrollBottom(e);
}
}
};
return /* @__PURE__ */React.createElement("div", {
className: classNames("".concat(name, "__wrap"), className),
style: style,
onMouseEnter: onMouseEnter,
onMouseLeave: onMouseLeave
}, /* @__PURE__ */React.createElement(SelectInput, _objectSpread({
autoWidth: !(style !== null && style !== void 0 && style.width) && autoWidth,
ref: composeRefs(ref, selectInputRef),
className: name,
readonly: readOnly,
autofocus: props.autofocus,
allowInput: (filterable !== null && filterable !== void 0 ? filterable : local.filterable) || isFunction(filter),
multiple: multiple,
value: selectedLabel,
options: selectedOptions,
valueDisplay: renderValueDisplay,
clearable: clearable,
disabled: disabled,
status: props.status,
tips: props.tips,
borderless: borderless,
label: label,
suffix: props.suffix,
prefixIcon: prefixIcon,
suffixIcon: renderSuffixIcon(),
panel: renderContent(),
placeholder: !multiple && innerPopupVisible && selectedLabel ? selectedLabel : placeholder || t(local.placeholder),
inputValue: inputValue,
tagInputProps: _objectSpread({
size: size
}, tagInputProps),
tagProps: _objectSpread({
size: size
}, tagProps),
inputProps: _objectSpread(_objectSpread({
size: size
}, inputProps), {}, {
onKeydown: handleKeyDown
}),
minCollapsedNum: minCollapsedNum,
collapsedItems: collapsedItems,
updateScrollTop: updateScrollTop,
popupProps: _objectSpread({
overlayClassName: ["".concat(name, "__dropdown"), overlayClassName],
onScroll: handleScroll
}, restPopupProps),
popupVisible: innerPopupVisible,
onPopupVisibleChange: handlePopupVisibleChange,
onTagChange: onTagChange,
onInputChange: handleInputChange,
onFocus: onFocus,
onEnter: handleEnter,
onBlur: function onBlur(_, context) {
_onBlur === null || _onBlur === void 0 || _onBlur({
value: value,
e: context.e
});
},
onClear: handleClear
}, selectInputProps)));
}, {
Option: Option,
OptionGroup: OptionGroup
});
Select.displayName = "Select";
export { Select as default };
//# sourceMappingURL=Select.js.map