2dc00aec878eadeb46178fd37e475b7f58c1a2e31fa79aaf92128475f701bafd.json 74 KB

1
  1. {"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"prefix\", \"suffixIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"builtinPlacements\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useAllowClear } from \"../hooks/useAllowClear\";\nimport { BaseSelectContext } from \"../hooks/useBaseProps\";\nimport useDelayReset from \"../hooks/useDelayReset\";\nimport useLock from \"../hooks/useLock\";\nimport useSelectTriggerControl from \"../hooks/useSelectTriggerControl\";\nimport Selector from \"../Selector\";\nimport SelectTrigger from \"../SelectTrigger\";\nimport TransBtn from \"../TransBtn\";\nimport { getSeparatedContent, isValidCount } from \"../utils/valueUtil\";\nimport SelectContext from \"../SelectContext\";\nimport Polite from \"./Polite\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport var isMultiple = function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n};\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n prefix = props.prefix,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 || omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n var blurRef = React.useRef(false);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n },\n nativeElement: containerRef.current || selectorDomRef.current\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 || (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n rendered = _React$useState4[0],\n setRendered = _React$useState4[1];\n useLayoutEffect(function () {\n setRendered(true);\n }, []);\n var _useMergedState = useMergedState(false, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 || onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var _ref = React.useContext(SelectContext) || {},\n maxCount = _ref.maxCount,\n rawValues = _ref.rawValues;\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n if (multiple && isValidCount(maxCount) && (rawValues === null || rawValues === void 0 ? void 0 : rawValues.size) >= maxCount) {\n return;\n }\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 || onActiveValueChange(null);\n var separatedList = getSeparatedContent(searchText, tokenSeparators, isValidCount(maxCount) ? maxCount - rawValues.size : undefined);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : separatedList;\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 || onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n var keyLockRef = React.useRef(false);\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var key = event.key;\n var isEnterKey = key === 'Enter';\n if (isEnterKey) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (key === 'Backspace' && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && (!isEnterKey || !keyLockRef.current)) {\n var _listRef$current2;\n // Lock the Enter key after it is pressed to avoid repeated triggering of the onChange event.\n if (isEnterKey) {\n keyLockRef.current = true;\n }\n (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n if (event.key === 'Enter') {\n keyLockRef.current = false;\n }\n onKeyUp === null || onKeyUp === void 0 || onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n var onInputBlur = function onInputBlur() {\n // Unlock the Enter key after the input blur; otherwise, the Enter key needs to be pressed twice to trigger the correct effect.\n keyLockRef.current = false;\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n blurRef.current = true;\n setMockFocused(false, function () {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 || _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 || onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var showSuffixIcon = !!suffixIcon || loading;\n var arrowNode;\n if (showSuffixIcon) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: suffixIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n }\n\n // ============================= Clear ==============================\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 || onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 || _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n var _useAllowClear = useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode),\n mergedAllowClear = _useAllowClear.allowClear,\n clearNode = _useAllowClear.clearIcon;\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-focused\"), mockFocused), \"\".concat(prefixCls, \"-multiple\"), multiple), \"\".concat(prefixCls, \"-single\"), !multiple), \"\".concat(prefixCls, \"-allow-clear\"), allowClear), \"\".concat(prefixCls, \"-show-arrow\"), showSuffixIcon), \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(prefixCls, \"-loading\"), loading), \"\".concat(prefixCls, \"-open\"), mergedOpen), \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch));\n\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n builtinPlacements: builtinPlacements,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode(node) {\n return (\n // TODO: This is workaround and should be removed in `rc-select`\n // And use new standard `nativeElement` for ref.\n // But we should update `rc-resize-observer` first.\n selectorDomRef.current || node\n );\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? (/*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n })) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n prefix: prefix,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter,\n onInputBlur: onInputBlur\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), /*#__PURE__*/React.createElement(Polite, {\n visible: mockFocused && !mergedOpen,\n values: displayValues\n }), selectorNode, arrowNode, mergedAllowClear && clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;","map":{"version":3,"names":["_extends","_defineProperty","_toConsumableArray","_slicedToArray","_objectSpread","_objectWithoutProperties","_excluded","classNames","useLayoutEffect","useMergedState","isMobile","useComposeRef","React","useAllowClear","BaseSelectContext","useDelayReset","useLock","useSelectTriggerControl","Selector","SelectTrigger","TransBtn","getSeparatedContent","isValidCount","SelectContext","Polite","DEFAULT_OMIT_PROPS","isMultiple","mode","BaseSelect","forwardRef","props","ref","_customizeRawInputEle","id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","_props$notFoundConten","notFoundContent","onClear","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","prefix","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","_props$showAction","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown","restProps","multiple","mergedShowSearch","undefined","domProps","forEach","propName","_React$useState","useState","_React$useState2","mobile","setMobile","useEffect","containerRef","useRef","selectorDomRef","triggerRef","selectorRef","listRef","blurRef","_useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","useImperativeHandle","_selectorRef$current","_selectorRef$current2","focus","current","blur","scrollTo","arg","_listRef$current","nativeElement","mergedSearchValue","useMemo","_displayValues$","val","value","String","customizeInputElement","customizeRawInputElement","customizeRawInputRef","_React$useState3","_React$useState4","rendered","setRendered","_useMergedState","defaultValue","_useMergedState2","innerOpen","setInnerOpen","mergedOpen","emptyListContent","triggerOpen","onToggleOpen","useCallback","newOpen","nextOpen","tokenWithEnter","some","tokenSeparator","includes","_ref","useContext","maxCount","rawValues","onInternalSearch","searchText","fromTyping","isCompositing","size","ret","newSearchText","separatedList","patchLabels","source","onInternalSearchSubmit","trim","_useLock","_useLock2","getClearLock","setClearLock","keyLockRef","onInternalKeyDown","event","clearLock","key","isEnterKey","preventDefault","length","cloneDisplayValues","removedDisplayValue","i","splice","type","values","_len","arguments","rest","Array","_key","_listRef$current2","apply","concat","onInternalKeyUp","_len2","_key2","_listRef$current3","onSelectorRemove","newValues","filter","onInputBlur","focusRef","onContainerFocus","onContainerBlur","activeTimeoutIds","timeoutId","clearTimeout","onInternalMouseDown","_triggerRef$current","target","popupElement","getPopupElement","contains","setTimeout","index","indexOf","document","activeElement","_selectorRef$current3","push","_len3","restArgs","_key3","_React$useState5","_React$useState6","forceUpdate","onPopupMouseEnter","onTriggerVisibleChange","_triggerRef$current2","baseSelectContext","toggleOpen","showSuffixIcon","arrowNode","createElement","customizeIcon","customizeIconProps","focused","onClearMouseDown","_selectorRef$current4","_useAllowClear","mergedAllowClear","clearNode","optionList","mergedClassName","selectorNode","visible","empty","getTriggerDOMNode","node","onPopupVisibleChange","cloneElement","domRef","inputElement","onSearchSubmit","onRemove","renderNode","Provider","process","env","NODE_ENV","displayName"],"sources":["/Users/max_liu/max_liu/company/tools_auto_pt/node_modules/rc-select/es/BaseSelect/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"prefix\", \"suffixIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"builtinPlacements\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useAllowClear } from \"../hooks/useAllowClear\";\nimport { BaseSelectContext } from \"../hooks/useBaseProps\";\nimport useDelayReset from \"../hooks/useDelayReset\";\nimport useLock from \"../hooks/useLock\";\nimport useSelectTriggerControl from \"../hooks/useSelectTriggerControl\";\nimport Selector from \"../Selector\";\nimport SelectTrigger from \"../SelectTrigger\";\nimport TransBtn from \"../TransBtn\";\nimport { getSeparatedContent, isValidCount } from \"../utils/valueUtil\";\nimport SelectContext from \"../SelectContext\";\nimport Polite from \"./Polite\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport var isMultiple = function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n};\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n prefix = props.prefix,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 || omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n var blurRef = React.useRef(false);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n },\n nativeElement: containerRef.current || selectorDomRef.current\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 || (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n rendered = _React$useState4[0],\n setRendered = _React$useState4[1];\n useLayoutEffect(function () {\n setRendered(true);\n }, []);\n var _useMergedState = useMergedState(false, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 || onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var _ref = React.useContext(SelectContext) || {},\n maxCount = _ref.maxCount,\n rawValues = _ref.rawValues;\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n if (multiple && isValidCount(maxCount) && (rawValues === null || rawValues === void 0 ? void 0 : rawValues.size) >= maxCount) {\n return;\n }\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 || onActiveValueChange(null);\n var separatedList = getSeparatedContent(searchText, tokenSeparators, isValidCount(maxCount) ? maxCount - rawValues.size : undefined);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : separatedList;\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 || onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n var keyLockRef = React.useRef(false);\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var key = event.key;\n var isEnterKey = key === 'Enter';\n if (isEnterKey) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (key === 'Backspace' && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && (!isEnterKey || !keyLockRef.current)) {\n var _listRef$current2;\n // Lock the Enter key after it is pressed to avoid repeated triggering of the onChange event.\n if (isEnterKey) {\n keyLockRef.current = true;\n }\n (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n if (event.key === 'Enter') {\n keyLockRef.current = false;\n }\n onKeyUp === null || onKeyUp === void 0 || onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n var onInputBlur = function onInputBlur() {\n // Unlock the Enter key after the input blur; otherwise, the Enter key needs to be pressed twice to trigger the correct effect.\n keyLockRef.current = false;\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n blurRef.current = true;\n setMockFocused(false, function () {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 || _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 || onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var showSuffixIcon = !!suffixIcon || loading;\n var arrowNode;\n if (showSuffixIcon) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: suffixIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n }\n\n // ============================= Clear ==============================\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 || onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 || _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n var _useAllowClear = useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode),\n mergedAllowClear = _useAllowClear.allowClear,\n clearNode = _useAllowClear.clearIcon;\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-focused\"), mockFocused), \"\".concat(prefixCls, \"-multiple\"), multiple), \"\".concat(prefixCls, \"-single\"), !multiple), \"\".concat(prefixCls, \"-allow-clear\"), allowClear), \"\".concat(prefixCls, \"-show-arrow\"), showSuffixIcon), \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(prefixCls, \"-loading\"), loading), \"\".concat(prefixCls, \"-open\"), mergedOpen), \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch));\n\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n builtinPlacements: builtinPlacements,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode(node) {\n return (\n // TODO: This is workaround and should be removed in `rc-select`\n // And use new standard `nativeElement` for ref.\n // But we should update `rc-resize-observer` first.\n selectorDomRef.current || node\n );\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? ( /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n })) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n prefix: prefix,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter,\n onInputBlur: onInputBlur\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), /*#__PURE__*/React.createElement(Polite, {\n visible: mockFocused && !mergedOpen,\n values: displayValues\n }), selectorNode, arrowNode, mergedAllowClear && clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}