{"version":3,"file":"chunk-klb-pay35.js","sources":["../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/hooks/useAllowClear.js","../node_modules/rc-select/es/hooks/useBaseProps.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/utils/keyUtil.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/es/SelectContext.js","../node_modules/rc-select/es/BaseSelect/Polite.js","../node_modules/rc-select/es/BaseSelect/index.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/hooks/useFilterOptions.js","../node_modules/rc-select/es/hooks/useId.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/hooks/useOptions.js","../node_modules/rc-select/es/hooks/useRefFunc.js","../node_modules/rc-select/es/Select.js"],"sourcesContent":["import * as React from 'react';\nimport classNames from 'classnames';\nvar TransBtn = function TransBtn(props) {\n var className = props.className,\n customizeIcon = props.customizeIcon,\n customizeIconProps = props.customizeIconProps,\n children = props.children,\n _onMouseDown = props.onMouseDown,\n onClick = props.onClick;\n var icon = typeof customizeIcon === 'function' ? customizeIcon(customizeIconProps) : customizeIcon;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n _onMouseDown === null || _onMouseDown === void 0 || _onMouseDown(event);\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\nexport default TransBtn;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport TransBtn from \"../TransBtn\";\nimport React from 'react';\nexport var useAllowClear = function useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon) {\n var disabled = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var mergedSearchValue = arguments.length > 6 ? arguments[6] : undefined;\n var mode = arguments.length > 7 ? arguments[7] : undefined;\n var mergedClearIcon = React.useMemo(function () {\n if (_typeof(allowClear) === 'object') {\n return allowClear.clearIcon;\n }\n if (clearIcon) {\n return clearIcon;\n }\n }, [allowClear, clearIcon]);\n var mergedAllowClear = React.useMemo(function () {\n if (!disabled && !!allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {\n return true;\n }\n return false;\n }, [allowClear, disabled, displayValues.length, mergedSearchValue, mode]);\n return {\n allowClear: mergedAllowClear,\n clearIcon: /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: mergedClearIcon\n }, \"\\xD7\")\n };\n};","/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\n\nimport * as React from 'react';\nexport var BaseSelectContext = /*#__PURE__*/React.createContext(null);\nexport default function useBaseProps() {\n return React.useContext(BaseSelectContext);\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n var delayRef = React.useRef(null);\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n if (callback) {\n callback();\n }\n }, timeout);\n };\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\n\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null);\n\n // Clean up\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen, customizedTrigger) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen,\n customizedTrigger: customizedTrigger\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var _propsRef$current;\n // If trigger is customized, Trigger will take control of popupVisible\n if ((_propsRef$current = propsRef.current) !== null && _propsRef$current !== void 0 && _propsRef$current.customizedTrigger) {\n return;\n }\n var target = event.target;\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import KeyCode from \"rc-util/es/KeyCode\";\n\n/** keyCode Judgment function */\nexport function isValidateOpenKey(currentKeyCode) {\n return ![\n // System function button\n KeyCode.ESC, KeyCode.SHIFT, KeyCode.BACKSPACE, KeyCode.TAB, KeyCode.WIN_KEY, KeyCode.ALT, KeyCode.META, KeyCode.WIN_KEY_RIGHT, KeyCode.CTRL, KeyCode.SEMICOLON, KeyCode.EQUALS, KeyCode.CAPS_LOCK, KeyCode.CONTEXT_MENU,\n // F1-F12\n KeyCode.F1, KeyCode.F2, KeyCode.F3, KeyCode.F4, KeyCode.F5, KeyCode.F6, KeyCode.F7, KeyCode.F8, KeyCode.F9, KeyCode.F10, KeyCode.F11, KeyCode.F12].includes(currentKeyCode);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { warning } from \"rc-util/es/warning\";\nvar Input = function Input(props, ref) {\n var _inputNode2;\n var prefixCls = props.prefixCls,\n id = props.id,\n inputElement = props.inputElement,\n disabled = props.disabled,\n tabIndex = props.tabIndex,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n editable = props.editable,\n activeDescendantId = props.activeDescendantId,\n value = props.value,\n maxLength = props.maxLength,\n _onKeyDown = props.onKeyDown,\n _onMouseDown = props.onMouseDown,\n _onChange = props.onChange,\n onPaste = props.onPaste,\n _onCompositionStart = props.onCompositionStart,\n _onCompositionEnd = props.onCompositionEnd,\n open = props.open,\n attrs = props.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n originProps = _inputNode.props;\n var onOriginKeyDown = originProps.onKeyDown,\n onOriginChange = originProps.onChange,\n onOriginMouseDown = originProps.onMouseDown,\n onOriginCompositionStart = originProps.onCompositionStart,\n onOriginCompositionEnd = originProps.onCompositionEnd,\n style = originProps.style;\n warning(!('maxLength' in inputNode.props), \"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled.\");\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread(_objectSpread({\n type: 'search'\n }, originProps), {}, {\n // Override over origin props\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 || (_inputNode2 = _inputNode2.props) === null || _inputNode2 === void 0 ? void 0 : _inputNode2.className),\n role: 'combobox',\n 'aria-expanded': open || false,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': open ? activeDescendantId : undefined\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nif (process.env.NODE_ENV !== 'production') {\n RefInput.displayName = 'Input';\n}\nexport default RefInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return value !== undefined ? [value] : [];\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nexport function hasValue(value) {\n return value !== undefined && value !== null;\n}\n\n/** combo mode no value judgment function */\nexport function isComboNoValue(value) {\n return !value && value !== 0;\n}\nfunction isTitleType(title) {\n return ['string', 'number'].includes(_typeof(title));\n}\nexport function getTitle(item) {\n var title = undefined;\n if (item) {\n if (isTitleType(item.title)) {\n title = item.title.toString();\n } else if (isTitleType(item.label)) {\n title = item.label.toString();\n }\n }\n return title;\n}","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from \"../utils/commonUtil\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from \"../TransBtn\";\nimport Input from \"./Input\";\nimport useLayoutEffect from \"../hooks/useLayoutEffect\";\nimport { getTitle } from \"../utils/commonUtil\";\nfunction itemKey(value) {\n var _value$key;\n return (_value$key = value.key) !== null && _value$key !== void 0 ? _value$key : value.value;\n}\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onRemove = props.onRemove,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\");\n\n // ===================== Search ======================\n var inputValue = open || mode === 'multiple' && autoClearSearchValue === false || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || mode === 'multiple' && autoClearSearchValue === false || showSearch && (open || focused);\n\n // We measure width and set to the input immediately\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]);\n\n // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n var defaultRenderSelector = function defaultRenderSelector(item, content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n title: getTitle(item),\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled))\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-item-content\")\n }, content), closable && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(selectionPrefixCls, \"-item-remove\"),\n onMouseDown: onPreventMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n };\n var customizeRenderSelector = function customizeRenderSelector(value, content, itemDisabled, closable, onClose, isMaxTag) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose,\n isMaxTag: !!isMaxTag\n }));\n };\n var renderItem = function renderItem(valueItem) {\n var itemDisabled = valueItem.disabled,\n label = valueItem.label,\n value = valueItem.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n var onClose = function onClose(event) {\n if (event) {\n event.stopPropagation();\n }\n onRemove(valueItem);\n };\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(valueItem, displayLabel, itemDisabled, closable, onClose);\n };\n var renderRest = function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return typeof tagRender === 'function' ? customizeRenderSelector(undefined, content, false, false, undefined, true) : defaultRenderSelector({\n title: content\n }, content, false);\n };\n\n // >>> Input Node\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\"));\n\n // >>> Selections\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: itemKey,\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\nexport default SelectSelector;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from \"./Input\";\nimport { getTitle } from \"../utils/commonUtil\";\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd,\n title = props.title;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]);\n\n // Not show text when closed expect combobox mode\n var hasTextInput = mode !== 'combobox' && !open && !showSearch ? false : !!inputValue;\n\n // Get title of selection item\n var selectionTitle = title === undefined ? getTitle(item) : title;\n var placeholderNode = React.useMemo(function () {\n if (item) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\"),\n style: hasTextInput ? {\n visibility: 'hidden'\n } : undefined\n }, placeholder);\n }, [item, hasTextInput, placeholder, prefixCls]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: selectionTitle\n // 当 Select 已经选中选项时,还需 selection 隐藏但留在原地占位\n // https://github.com/ant-design/ant-design/issues/27688\n // https://github.com/ant-design/ant-design/issues/41530\n ,\n style: hasTextInput ? {\n visibility: 'hidden'\n } : undefined\n }, item.label) : null, placeholderNode);\n};\nexport default SingleSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\n\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport useLock from \"../hooks/useLock\";\nimport { isValidateOpenKey } from \"../utils/keyUtil\";\nimport MultipleSelector from \"./MultipleSelector\";\nimport SingleSelector from \"./SingleSelector\";\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n disabled = props.disabled,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef;\n\n // ======================= Ref =======================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus(options) {\n inputRef.current.focus(options);\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n });\n\n // ====================== Input ======================\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit === null || onSearchSubmit === void 0 || onSearchSubmit(event.target.value);\n }\n if (isValidateOpenKey(which)) {\n onToggleOpen(true);\n }\n };\n\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n };\n\n // When paste come, ignore next onChange\n var pastedTextRef = useRef(null);\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false;\n\n // Trigger search again to support `tokenSeparators` with typewriting\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n var onInputChange = function onInputChange(event) {\n var value = event.target.value;\n\n // Pasted text should replace back to origin content\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.getData('text');\n pastedTextRef.current = value || '';\n };\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n // when mode is combobox and it is disabled, don't prevent default behavior\n // https://github.com/ant-design/ant-design/issues/37320\n // https://github.com/ant-design/ant-design/issues/48281\n if (event.target !== inputRef.current && !inputMouseDown && !(mode === 'combobox' && disabled)) {\n event.preventDefault();\n }\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open && autoClearSearchValue !== false) {\n onSearch('', true, false);\n }\n onToggleOpen();\n }\n };\n\n // ================= Inner Selector ==================\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = mode === 'multiple' || mode === 'tags' ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nif (process.env.NODE_ENV !== 'production') {\n ForwardSelector.displayName = 'Selector';\n}\nexport default ForwardSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"placement\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\", \"onPopupMouseEnter\"];\nimport Trigger from '@rc-component/trigger';\nimport classNames from 'classnames';\nimport * as React from 'react';\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n },\n htmlRegion: 'scroll'\n }\n };\n};\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n onPopupMouseEnter = props.onPopupMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n var mergedBuiltinPlacements = React.useMemo(function () {\n return builtinPlacements || getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [builtinPlacements, dropdownMatchSelectWidth]);\n\n // ===================== Motion ======================\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName;\n\n // =================== Popup Width ===================\n var isNumberPopupWidth = typeof dropdownMatchSelectWidth === 'number';\n var stretch = React.useMemo(function () {\n if (isNumberPopupWidth) {\n return null;\n }\n return dropdownMatchSelectWidth === false ? 'minWidth' : 'width';\n }, [dropdownMatchSelectWidth, isNumberPopupWidth]);\n var popupStyle = dropdownStyle;\n if (isNumberPopupWidth) {\n popupStyle = _objectSpread(_objectSpread({}, popupStyle), {}, {\n width: dropdownMatchSelectWidth\n });\n }\n\n // ======================= Ref =======================\n var triggerPopupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n var _triggerPopupRef$curr;\n return (_triggerPopupRef$curr = triggerPopupRef.current) === null || _triggerPopupRef$curr === void 0 ? void 0 : _triggerPopupRef$curr.popupElement;\n }\n };\n });\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'),\n builtinPlacements: mergedBuiltinPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n onMouseEnter: onPopupMouseEnter\n }, popupNode),\n ref: triggerPopupRef,\n stretch: stretch,\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode,\n onPopupVisibleChange: onPopupVisibleChange\n }), children);\n};\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nif (process.env.NODE_ENV !== 'production') {\n RefSelectTrigger.displayName = 'SelectTrigger';\n}\nexport default RefSelectTrigger;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n if ('value' in data) {\n value = data.value;\n }\n if (key !== null && key !== undefined) {\n return key;\n }\n if (value !== undefined) {\n return value;\n }\n return \"rc-index-key-\".concat(index);\n}\nexport function isValidCount(value) {\n return typeof value !== 'undefined' && !Number.isNaN(value);\n}\nexport function fillFieldNames(fieldNames, childrenAsData) {\n var _ref = fieldNames || {},\n label = _ref.label,\n value = _ref.value,\n options = _ref.options,\n groupLabel = _ref.groupLabel;\n var mergedLabel = label || (childrenAsData ? 'children' : 'label');\n return {\n label: mergedLabel,\n value: value || 'value',\n options: options || 'options',\n groupLabel: groupLabel || mergedLabel\n };\n}\n\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\nexport function flattenOptions(options) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n fieldNames = _ref2.fieldNames,\n childrenAsData = _ref2.childrenAsData;\n var flattenList = [];\n var _fillFieldNames = fillFieldNames(fieldNames, false),\n fieldLabel = _fillFieldNames.label,\n fieldValue = _fillFieldNames.value,\n fieldOptions = _fillFieldNames.options,\n groupLabel = _fillFieldNames.groupLabel;\n function dig(list, isGroupOption) {\n if (!Array.isArray(list)) {\n return;\n }\n list.forEach(function (data) {\n if (isGroupOption || !(fieldOptions in data)) {\n var value = data[fieldValue];\n\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data,\n label: data[fieldLabel],\n value: value\n });\n } else {\n var grpLabel = data[groupLabel];\n if (grpLabel === undefined && childrenAsData) {\n grpLabel = data.label;\n }\n\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data,\n label: grpLabel\n });\n dig(data[fieldOptions], true);\n }\n });\n }\n dig(options, false);\n return flattenList;\n}\n\n/**\n * Inject `props` into `option` for legacy usage\n */\nexport function injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n return newOption;\n}\nexport var getSeparatedContent = function getSeparatedContent(text, tokens, end) {\n if (!tokens || !tokens.length) {\n return null;\n }\n var match = false;\n var separate = function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n if (!token) {\n return [str];\n }\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(Boolean);\n };\n var list = separate(text, tokens);\n if (match) {\n return typeof end !== 'undefined' ? list.slice(0, end) : list;\n } else {\n return null;\n }\n};","import * as React from 'react';\n\n// Use any here since we do not get the type during compilation\n\nvar SelectContext = /*#__PURE__*/React.createContext(null);\nexport default SelectContext;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nexport default function Polite(props) {\n var visible = props.visible,\n values = props.values;\n if (!visible) {\n return null;\n }\n\n // Only cut part of values since it's a screen reader\n var MAX_COUNT = 50;\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-live\": \"polite\",\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n }\n }, \"\".concat(values.slice(0, MAX_COUNT).map(function (_ref) {\n var label = _ref.label,\n value = _ref.value;\n return ['number', 'string'].includes(_typeof(label)) ? label : value;\n }).join(', ')), values.length > MAX_COUNT ? ', ...' : null);\n}","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\", \"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 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 (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n if (isEnterKey) {\n keyLockRef.current = true;\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\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 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 })));\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;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\nOption.isSelectOption = true;\nexport default Option;","/* istanbul ignore file */\nexport function isPlatformMac() {\n return /(mac\\sos|macintosh)/i.test(navigator.appVersion);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"disabled\", \"title\", \"children\", \"style\", \"className\"];\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport omit from \"rc-util/es/omit\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport List from 'rc-virtual-list';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport SelectContext from \"./SelectContext\";\nimport TransBtn from \"./TransBtn\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nimport { isPlatformMac } from \"./utils/platformUtil\";\nimport { isValidCount } from \"./utils/valueUtil\";\n\n// export interface OptionListProps {\n\nfunction isTitleType(content) {\n return typeof content === 'string' || typeof content === 'number';\n}\n\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\nvar OptionList = function OptionList(_, ref) {\n var _useBaseProps = useBaseProps(),\n prefixCls = _useBaseProps.prefixCls,\n id = _useBaseProps.id,\n open = _useBaseProps.open,\n multiple = _useBaseProps.multiple,\n mode = _useBaseProps.mode,\n searchValue = _useBaseProps.searchValue,\n toggleOpen = _useBaseProps.toggleOpen,\n notFoundContent = _useBaseProps.notFoundContent,\n onPopupScroll = _useBaseProps.onPopupScroll;\n var _React$useContext = React.useContext(SelectContext),\n maxCount = _React$useContext.maxCount,\n flattenOptions = _React$useContext.flattenOptions,\n onActiveValue = _React$useContext.onActiveValue,\n defaultActiveFirstOption = _React$useContext.defaultActiveFirstOption,\n onSelect = _React$useContext.onSelect,\n menuItemSelectedIcon = _React$useContext.menuItemSelectedIcon,\n rawValues = _React$useContext.rawValues,\n fieldNames = _React$useContext.fieldNames,\n virtual = _React$useContext.virtual,\n direction = _React$useContext.direction,\n listHeight = _React$useContext.listHeight,\n listItemHeight = _React$useContext.listItemHeight,\n optionRender = _React$useContext.optionRender;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n });\n\n // =========================== List ===========================\n var listRef = React.useRef(null);\n var overMaxCount = React.useMemo(function () {\n return multiple && isValidCount(maxCount) && (rawValues === null || rawValues === void 0 ? void 0 : rawValues.size) >= maxCount;\n }, [multiple, maxCount, rawValues === null || rawValues === void 0 ? void 0 : rawValues.size]);\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n var scrollIntoView = function scrollIntoView(args) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.scrollTo(typeof args === 'number' ? {\n index: args\n } : args);\n };\n\n // ========================== Active ==========================\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _ref = memoFlattenOptions[current] || {},\n group = _ref.group,\n data = _ref.data;\n if (!group && !(data !== null && data !== void 0 && data.disabled) && !overMaxCount) {\n return current;\n }\n }\n return -1;\n };\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n };\n\n // Trigger active event\n var flattenItem = memoFlattenOptions[index];\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n onActiveValue(flattenItem.value, index, info);\n };\n\n // Auto active first item when list length or searchValue changed\n useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]);\n\n // https://github.com/ant-design/ant-design/issues/34975\n var isSelected = React.useCallback(function (value) {\n return rawValues.has(value) && mode !== 'combobox';\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]);\n\n // Auto scroll to item position in single mode\n useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && rawValues.size === 1) {\n var value = Array.from(rawValues)[0];\n var index = memoFlattenOptions.findIndex(function (_ref2) {\n var data = _ref2.data;\n return data.value === value;\n });\n if (index !== -1) {\n setActive(index);\n scrollIntoView(index);\n }\n }\n });\n\n // Force trigger scrollbar visible when open\n if (open) {\n var _listRef$current2;\n (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.scrollTo(undefined);\n }\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open, searchValue]);\n\n // ========================== Values ==========================\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !rawValues.has(value)\n });\n }\n\n // Single mode should always close by select\n if (!multiple) {\n toggleOpen(false);\n }\n };\n\n // ========================= Keyboard =========================\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which,\n ctrlKey = event.ctrlKey;\n switch (which) {\n // >>> Arrow keys & ctrl + n/p on Mac\n case KeyCode.N:\n case KeyCode.P:\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n } else if (isPlatformMac() && ctrlKey) {\n if (which === KeyCode.N) {\n offset = 1;\n } else if (which === KeyCode.P) {\n offset = -1;\n }\n }\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n break;\n }\n\n // >>> Select\n case KeyCode.ENTER:\n {\n var _item$data;\n // value\n var item = memoFlattenOptions[activeIndex];\n if (item && !(item !== null && item !== void 0 && (_item$data = item.data) !== null && _item$data !== void 0 && _item$data.disabled) && !overMaxCount) {\n onSelectValue(item.value);\n } else {\n onSelectValue(undefined);\n }\n if (open) {\n event.preventDefault();\n }\n break;\n }\n\n // >>> Close\n case KeyCode.ESC:\n {\n toggleOpen(false);\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n });\n\n // ========================== Render ==========================\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n var omitFieldNameList = Object.keys(fieldNames).map(function (key) {\n return fieldNames[key];\n });\n var getLabel = function getLabel(item) {\n return item.label;\n };\n function getItemAriaProps(item, index) {\n var group = item.group;\n return {\n role: group ? 'presentation' : 'option',\n id: \"\".concat(id, \"_list_\").concat(index)\n };\n }\n var renderItem = function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) {\n return null;\n }\n var itemData = item.data || {};\n var value = itemData.value;\n var group = item.group;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = getLabel(item);\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' && !group ? mergedLabel : null\n }, attrs, {\n key: index\n }, getItemAriaProps(item, index), {\n \"aria-selected\": isSelected(value)\n }), value) : null;\n };\n var a11yProps = {\n role: 'listbox',\n id: \"\".concat(id, \"_list\")\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, virtual && /*#__PURE__*/React.createElement(\"div\", _extends({}, a11yProps, {\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }), renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: listHeight,\n itemHeight: listItemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onPopupScroll,\n virtual: virtual,\n direction: direction,\n innerProps: virtual ? null : a11yProps\n }, function (item, itemIndex) {\n var group = item.group,\n groupOption = item.groupOption,\n data = item.data,\n label = item.label,\n value = item.value;\n var key = data.key;\n\n // Group\n if (group) {\n var _data$title;\n var groupTitle = (_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : isTitleType(label) ? label.toString() : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\"), data.className),\n title: groupTitle\n }, label !== undefined ? label : key);\n }\n var disabled = data.disabled,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, _excluded);\n var passedProps = omit(otherProps, omitFieldNameList);\n\n // Option\n var selected = isSelected(value);\n var mergedDisabled = disabled || !selected && overMaxCount;\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !mergedDisabled), \"\".concat(optionPrefixCls, \"-disabled\"), mergedDisabled), \"\".concat(optionPrefixCls, \"-selected\"), selected));\n var mergedLabel = getLabel(item);\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n\n // https://github.com/ant-design/ant-design/issues/34145\n var content = typeof mergedLabel === 'number' ? mergedLabel : mergedLabel || value;\n // https://github.com/ant-design/ant-design/issues/26717\n var optionTitle = isTitleType(content) ? content.toString() : undefined;\n if (title !== undefined) {\n optionTitle = title;\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, pickAttrs(passedProps), !virtual ? getItemAriaProps(item, itemIndex) : {}, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || mergedDisabled) {\n return;\n }\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!mergedDisabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, typeof optionRender === 'function' ? optionRender(item, {\n index: itemIndex\n }) : content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n value: value,\n disabled: mergedDisabled,\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nif (process.env.NODE_ENV !== 'production') {\n RefOptionList.displayName = 'OptionList';\n}\nexport default RefOptionList;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n/**\n * Cache `value` related LabeledValue & options.\n */\nexport default (function (labeledValues, valueOptions) {\n var cacheRef = React.useRef({\n values: new Map(),\n options: new Map()\n });\n var filledLabeledValues = React.useMemo(function () {\n var _cacheRef$current = cacheRef.current,\n prevValueCache = _cacheRef$current.values,\n prevOptionCache = _cacheRef$current.options;\n\n // Fill label by cache\n var patchedValues = labeledValues.map(function (item) {\n if (item.label === undefined) {\n var _prevValueCache$get;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_prevValueCache$get = prevValueCache.get(item.value)) === null || _prevValueCache$get === void 0 ? void 0 : _prevValueCache$get.label\n });\n }\n return item;\n });\n\n // Refresh cache\n var valueCache = new Map();\n var optionCache = new Map();\n patchedValues.forEach(function (item) {\n valueCache.set(item.value, item);\n optionCache.set(item.value, valueOptions.get(item.value) || prevOptionCache.get(item.value));\n });\n cacheRef.current.values = valueCache;\n cacheRef.current.options = optionCache;\n return patchedValues;\n }, [labeledValues, valueOptions]);\n var getOption = React.useCallback(function (val) {\n return valueOptions.get(val) || cacheRef.current.options.get(val);\n }, [valueOptions]);\n return [filledLabeledValues, getOption];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { toArray } from \"../utils/commonUtil\";\nimport { injectPropsWithOption } from \"../utils/valueUtil\";\nfunction includes(test, search) {\n return toArray(test).join('').toUpperCase().includes(search);\n}\nexport default (function (options, fieldNames, searchValue, filterOption, optionFilterProp) {\n return React.useMemo(function () {\n if (!searchValue || filterOption === false) {\n return options;\n }\n var fieldOptions = fieldNames.options,\n fieldLabel = fieldNames.label,\n fieldValue = fieldNames.value;\n var filteredOptions = [];\n var customizeFilter = typeof filterOption === 'function';\n var upperSearch = searchValue.toUpperCase();\n var filterFunc = customizeFilter ? filterOption : function (_, option) {\n // Use provided `optionFilterProp`\n if (optionFilterProp) {\n return includes(option[optionFilterProp], upperSearch);\n }\n\n // Auto select `label` or `value` by option type\n if (option[fieldOptions]) {\n // hack `fieldLabel` since `OptionGroup` children is not `label`\n return includes(option[fieldLabel !== 'children' ? fieldLabel : 'label'], upperSearch);\n }\n return includes(option[fieldValue], upperSearch);\n };\n var wrapOption = customizeFilter ? function (opt) {\n return injectPropsWithOption(opt);\n } : function (opt) {\n return opt;\n };\n options.forEach(function (item) {\n // Group should check child options\n if (item[fieldOptions]) {\n // Check group first\n var matchGroup = filterFunc(searchValue, wrapOption(item));\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item[fieldOptions].filter(function (subItem) {\n return filterFunc(searchValue, wrapOption(subItem));\n });\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, _defineProperty({}, fieldOptions, subOptions)));\n }\n }\n return;\n }\n if (filterFunc(searchValue, wrapOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n }, [options, filterOption, optionFilterProp, searchValue, fieldNames]);\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n\n/** Get unique id for accessibility usage */\nexport function getUUID() {\n var retId;\n\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n return id || innerId;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"value\"],\n _excluded2 = [\"children\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nfunction convertNodeToOption(node) {\n var _ref = node,\n key = _ref.key,\n _ref$props = _ref.props,\n children = _ref$props.children,\n value = _ref$props.value,\n restProps = _objectWithoutProperties(_ref$props, _excluded);\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n var _ref2 = node,\n isSelectOptGroup = _ref2.type.isSelectOptGroup,\n key = _ref2.key,\n _ref2$props = _ref2.props,\n children = _ref2$props.children,\n restProps = _objectWithoutProperties(_ref2$props, _excluded2);\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import * as React from 'react';\nimport { convertChildrenToData } from \"../utils/legacyUtil\";\n\n/**\n * Parse `children` to `options` if `options` is not provided.\n * Then flatten the `options`.\n */\nvar useOptions = function useOptions(options, children, fieldNames, optionFilterProp, optionLabelProp) {\n return React.useMemo(function () {\n var mergedOptions = options;\n var childrenAsData = !options;\n if (childrenAsData) {\n mergedOptions = convertChildrenToData(children);\n }\n var valueOptions = new Map();\n var labelOptions = new Map();\n var setLabelOptions = function setLabelOptions(labelOptionsMap, option, key) {\n if (key && typeof key === 'string') {\n labelOptionsMap.set(option[key], option);\n }\n };\n var dig = function dig(optionList) {\n var isChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n // for loop to speed up collection speed\n for (var i = 0; i < optionList.length; i += 1) {\n var option = optionList[i];\n if (!option[fieldNames.options] || isChildren) {\n valueOptions.set(option[fieldNames.value], option);\n setLabelOptions(labelOptions, option, fieldNames.label);\n // https://github.com/ant-design/ant-design/issues/35304\n setLabelOptions(labelOptions, option, optionFilterProp);\n setLabelOptions(labelOptions, option, optionLabelProp);\n } else {\n dig(option[fieldNames.options], true);\n }\n }\n };\n dig(mergedOptions);\n return {\n options: mergedOptions,\n valueOptions: valueOptions,\n labelOptions: labelOptions\n };\n }, [options, children, fieldNames, optionFilterProp, optionLabelProp]);\n};\nexport default useOptions;","import * as React from 'react';\n\n/**\n * Same as `React.useCallback` but always return a memoized function\n * but redirect to real function.\n */\nexport default function useRefFunc(callback) {\n var funcRef = React.useRef();\n funcRef.current = callback;\n var cacheFn = React.useCallback(function () {\n return funcRef.current.apply(funcRef, arguments);\n }, []);\n return cacheFn;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"id\", \"mode\", \"prefixCls\", \"backfill\", \"fieldNames\", \"inputValue\", \"searchValue\", \"onSearch\", \"autoClearSearchValue\", \"onSelect\", \"onDeselect\", \"dropdownMatchSelectWidth\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"optionLabelProp\", \"options\", \"optionRender\", \"children\", \"defaultActiveFirstOption\", \"menuItemSelectedIcon\", \"virtual\", \"direction\", \"listHeight\", \"listItemHeight\", \"labelRender\", \"value\", \"defaultValue\", \"labelInValue\", \"onChange\", \"maxCount\"];\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport BaseSelect, { isMultiple } from \"./BaseSelect\";\nimport OptGroup from \"./OptGroup\";\nimport Option from \"./Option\";\nimport OptionList from \"./OptionList\";\nimport SelectContext from \"./SelectContext\";\nimport useCache from \"./hooks/useCache\";\nimport useFilterOptions from \"./hooks/useFilterOptions\";\nimport useId from \"./hooks/useId\";\nimport useOptions from \"./hooks/useOptions\";\nimport useRefFunc from \"./hooks/useRefFunc\";\nimport { hasValue, isComboNoValue, toArray } from \"./utils/commonUtil\";\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from \"./utils/valueUtil\";\nimport warningProps, { warningNullOptions } from \"./utils/warningPropsUtil\";\nvar OMIT_DOM_PROPS = ['inputValue'];\nfunction isRawValue(value) {\n return !value || _typeof(value) !== 'object';\n}\nvar Select = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n mode = props.mode,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-select' : _props$prefixCls,\n backfill = props.backfill,\n fieldNames = props.fieldNames,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n onSearch = props.onSearch,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n optionFilterProp = props.optionFilterProp,\n optionLabelProp = props.optionLabelProp,\n options = props.options,\n optionRender = props.optionRender,\n children = props.children,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n virtual = props.virtual,\n direction = props.direction,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n labelRender = props.labelRender,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n onChange = props.onChange,\n maxCount = props.maxCount,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedId = useId(id);\n var multiple = isMultiple(mode);\n var childrenAsData = !!(!options && children);\n var mergedFilterOption = React.useMemo(function () {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n return filterOption;\n }, [filterOption, mode]);\n\n // ========================= FieldNames =========================\n var mergedFieldNames = React.useMemo(function () {\n return fillFieldNames(fieldNames, childrenAsData);\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [\n // We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames), childrenAsData]\n /* eslint-enable react-hooks/exhaustive-deps */);\n\n // =========================== Search ===========================\n var _useMergedState = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: function postState(search) {\n return search || '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSearchValue = _useMergedState2[0],\n setSearchValue = _useMergedState2[1];\n\n // =========================== Option ===========================\n var parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);\n var valueOptions = parsedOptions.valueOptions,\n labelOptions = parsedOptions.labelOptions,\n mergedOptions = parsedOptions.options;\n\n // ========================= Wrap Value =========================\n var convert2LabelValues = React.useCallback(function (draftValues) {\n // Convert to array\n var valueList = toArray(draftValues);\n\n // Convert to labelInValue type\n return valueList.map(function (val) {\n var rawValue;\n var rawLabel;\n var rawKey;\n var rawDisabled;\n var rawTitle;\n\n // Fill label & value\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n var _val$value;\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = (_val$value = val.value) !== null && _val$value !== void 0 ? _val$value : rawKey;\n }\n var option = valueOptions.get(rawValue);\n if (option) {\n var _option$key;\n // Fill missing props\n if (rawLabel === undefined) rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = (_option$key = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key !== void 0 ? _option$key : rawValue;\n rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;\n rawTitle = option === null || option === void 0 ? void 0 : option.title;\n\n // Warning if label not same as provided\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n var optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];\n if (optionLabel !== undefined && ! /*#__PURE__*/React.isValidElement(optionLabel) && ! /*#__PURE__*/React.isValidElement(rawLabel) && optionLabel !== rawLabel) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle\n };\n });\n }, [mergedFieldNames, optionLabelProp, valueOptions]);\n\n // =========================== Values ===========================\n var _useMergedState3 = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n internalValue = _useMergedState4[0],\n setInternalValue = _useMergedState4[1];\n\n // Merged value with LabelValueType\n var rawLabeledValues = React.useMemo(function () {\n var _values$;\n var newInternalValue = multiple && internalValue === null ? [] : internalValue;\n var values = convert2LabelValues(newInternalValue);\n\n // combobox no need save value when it's no value (exclude value equal 0)\n if (mode === 'combobox' && isComboNoValue((_values$ = values[0]) === null || _values$ === void 0 ? void 0 : _values$.value)) {\n return [];\n }\n return values;\n }, [internalValue, convert2LabelValues, mode, multiple]);\n\n // Fill label with cache to avoid option remove\n var _useCache = useCache(rawLabeledValues, valueOptions),\n _useCache2 = _slicedToArray(_useCache, 2),\n mergedValues = _useCache2[0],\n getMixedOption = _useCache2[1];\n var displayValues = React.useMemo(function () {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n var firstValue = mergedValues[0];\n if (firstValue.value === null && (firstValue.label === null || firstValue.label === undefined)) {\n return [];\n }\n }\n return mergedValues.map(function (item) {\n var _ref;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_ref = typeof labelRender === 'function' ? labelRender(item) : item.label) !== null && _ref !== void 0 ? _ref : item.value\n });\n });\n }, [mode, mergedValues, labelRender]);\n\n /** Convert `displayValues` to raw value type set */\n var rawValues = React.useMemo(function () {\n return new Set(mergedValues.map(function (val) {\n return val.value;\n }));\n }, [mergedValues]);\n React.useEffect(function () {\n if (mode === 'combobox') {\n var _mergedValues$;\n var strValue = (_mergedValues$ = mergedValues[0]) === null || _mergedValues$ === void 0 ? void 0 : _mergedValues$.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]);\n\n // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n var createTagOption = useRefFunc(function (val, label) {\n var mergedLabel = label !== null && label !== void 0 ? label : val;\n return _defineProperty(_defineProperty({}, mergedFieldNames.value, val), mergedFieldNames.label, mergedLabel);\n });\n\n // Fill tag as option if mode is `tags`\n var filledTagOptions = React.useMemo(function () {\n if (mode !== 'tags') {\n return mergedOptions;\n }\n\n // >>> Tag mode\n var cloneOptions = _toConsumableArray(mergedOptions);\n\n // Check if value exist in options (include new patch item)\n var existOptions = function existOptions(val) {\n return valueOptions.has(val);\n };\n\n // Fill current value as option\n _toConsumableArray(mergedValues).sort(function (a, b) {\n return a.value < b.value ? -1 : 1;\n }).forEach(function (item) {\n var val = item.value;\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n var filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);\n\n // Fill options with search value if needed\n var filledSearchOptions = React.useMemo(function () {\n if (mode !== 'tags' || !mergedSearchValue || filteredOptions.some(function (item) {\n return item[optionFilterProp || 'value'] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n // ignore when search value equal select input value\n if (filteredOptions.some(function (item) {\n return item[mergedFieldNames.value] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n // Fill search value as option\n return [createTagOption(mergedSearchValue)].concat(_toConsumableArray(filteredOptions));\n }, [createTagOption, optionFilterProp, mode, filteredOptions, mergedSearchValue, mergedFieldNames]);\n var sorter = function sorter(inputOptions) {\n var sortedOptions = _toConsumableArray(inputOptions).sort(function (a, b) {\n return filterSort(a, b, {\n searchValue: mergedSearchValue\n });\n });\n return sortedOptions.map(function (item) {\n if (Array.isArray(item.options)) {\n return _objectSpread(_objectSpread({}, item), {}, {\n options: item.options.length > 0 ? sorter(item.options) : item.options\n });\n }\n return item;\n });\n };\n var orderedFilteredOptions = React.useMemo(function () {\n if (!filterSort) {\n return filledSearchOptions;\n }\n return sorter(filledSearchOptions);\n }, [filledSearchOptions, filterSort, mergedSearchValue]);\n var displayOptions = React.useMemo(function () {\n return flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData: childrenAsData\n });\n }, [orderedFilteredOptions, mergedFieldNames, childrenAsData]);\n\n // =========================== Change ===========================\n var triggerChange = function triggerChange(values) {\n var labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n if (onChange && (\n // Trigger event only when value changed\n labeledValues.length !== mergedValues.length || labeledValues.some(function (newVal, index) {\n var _mergedValues$index;\n return ((_mergedValues$index = mergedValues[index]) === null || _mergedValues$index === void 0 ? void 0 : _mergedValues$index.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value);\n }))) {\n var returnValues = labelInValue ? labeledValues : labeledValues.map(function (v) {\n return v.value;\n });\n var returnOptions = labeledValues.map(function (v) {\n return injectPropsWithOption(getMixedOption(v.value));\n });\n onChange(\n // Value\n multiple ? returnValues : returnValues[0],\n // Option\n multiple ? returnOptions : returnOptions[0]);\n }\n };\n\n // ======================= Accessibility ========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeValue = _React$useState2[0],\n setActiveValue = _React$useState2[1];\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n accessibilityIndex = _React$useState4[0],\n setAccessibilityIndex = _React$useState4[1];\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n var onActiveValue = React.useCallback(function (active, index) {\n var _ref3 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref3$source = _ref3.source,\n source = _ref3$source === void 0 ? 'keyboard' : _ref3$source;\n setAccessibilityIndex(index);\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }, [backfill, mode]);\n\n // ========================= OptionList =========================\n var triggerSelect = function triggerSelect(val, selected, type) {\n var getSelectEnt = function getSelectEnt() {\n var _option$key2;\n var option = getMixedOption(val);\n return [labelInValue ? {\n label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],\n value: val,\n key: (_option$key2 = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key2 !== void 0 ? _option$key2 : val\n } : val, injectPropsWithOption(option)];\n };\n if (selected && onSelect) {\n var _getSelectEnt = getSelectEnt(),\n _getSelectEnt2 = _slicedToArray(_getSelectEnt, 2),\n wrappedValue = _getSelectEnt2[0],\n _option = _getSelectEnt2[1];\n onSelect(wrappedValue, _option);\n } else if (!selected && onDeselect && type !== 'clear') {\n var _getSelectEnt3 = getSelectEnt(),\n _getSelectEnt4 = _slicedToArray(_getSelectEnt3, 2),\n _wrappedValue = _getSelectEnt4[0],\n _option2 = _getSelectEnt4[1];\n onDeselect(_wrappedValue, _option2);\n }\n };\n\n // Used for OptionList selection\n var onInternalSelect = useRefFunc(function (val, info) {\n var cloneValues;\n\n // Single mode always trigger select only with option list\n var mergedSelect = multiple ? info.selected : true;\n if (mergedSelect) {\n cloneValues = multiple ? [].concat(_toConsumableArray(mergedValues), [val]) : [val];\n } else {\n cloneValues = mergedValues.filter(function (v) {\n return v.value !== val;\n });\n }\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect);\n\n // Clean search value if single or configured\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n });\n\n // ======================= Display Change =======================\n // BaseSelect display values change\n var onDisplayValuesChange = function onDisplayValuesChange(nextValues, info) {\n triggerChange(nextValues);\n var type = info.type,\n values = info.values;\n if (type === 'remove' || type === 'clear') {\n values.forEach(function (item) {\n triggerSelect(item.value, false, type);\n });\n }\n };\n\n // =========================== Search ===========================\n var onInternalSearch = function onInternalSearch(searchText, info) {\n setSearchValue(searchText);\n setActiveValue(null);\n\n // [Submit] Tag mode should flush input\n if (info.source === 'submit') {\n var formatted = (searchText || '').trim();\n // prevent empty tags from appearing when you click the Enter button\n if (formatted) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), [formatted])));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n return;\n }\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n onSearch === null || onSearch === void 0 || onSearch(searchText);\n }\n };\n var onInternalSearchSplit = function onInternalSearchSplit(words) {\n var patchValues = words;\n if (mode !== 'tags') {\n patchValues = words.map(function (word) {\n var opt = labelOptions.get(word);\n return opt === null || opt === void 0 ? void 0 : opt.value;\n }).filter(function (val) {\n return val !== undefined;\n });\n }\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), _toConsumableArray(patchValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true);\n });\n };\n\n // ========================== Context ===========================\n var selectContext = React.useMemo(function () {\n var realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return _objectSpread(_objectSpread({}, parsedOptions), {}, {\n flattenOptions: displayOptions,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon: menuItemSelectedIcon,\n rawValues: rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n direction: direction,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n childrenAsData: childrenAsData,\n maxCount: maxCount,\n optionRender: optionRender\n });\n }, [maxCount, parsedOptions, displayOptions, onActiveValue, mergedDefaultActiveFirstOption, onInternalSelect, menuItemSelectedIcon, rawValues, mergedFieldNames, virtual, dropdownMatchSelectWidth, direction, listHeight, listItemHeight, childrenAsData, optionRender]);\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n }\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n return /*#__PURE__*/React.createElement(SelectContext.Provider, {\n value: selectContext\n }, /*#__PURE__*/React.createElement(BaseSelect, _extends({}, restProps, {\n // >>> MISC\n id: mergedId,\n prefixCls: prefixCls,\n ref: ref,\n omitDomProps: OMIT_DOM_PROPS,\n mode: mode\n // >>> Values\n ,\n displayValues: displayValues,\n onDisplayValuesChange: onDisplayValuesChange\n // >>> Trigger\n ,\n direction: direction\n // >>> Search\n ,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n autoClearSearchValue: autoClearSearchValue,\n onSearchSplit: onInternalSearchSplit,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n // >>> OptionList\n ,\n OptionList: OptionList,\n emptyOptions: !displayOptions.length\n // >>> Accessibility\n ,\n activeValue: activeValue,\n activeDescendantId: \"\".concat(mergedId, \"_list_\").concat(accessibilityIndex)\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nvar TypedSelect = Select;\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\nexport default TypedSelect;"],"names":["TransBtn","props","className","customizeIcon","customizeIconProps","children","_onMouseDown","onClick","icon","React.createElement","event","classNames","cls","useAllowClear","prefixCls","onClearMouseDown","displayValues","allowClear","clearIcon","disabled","mergedSearchValue","mode","mergedClearIcon","React","_typeof","mergedAllowClear","BaseSelectContext","React.createContext","useBaseProps","React.useContext","useDelayReset","timeout","_React$useState","React.useState","_React$useState2","_slicedToArray","bool","setBool","delayRef","React.useRef","cancelLatest","React.useEffect","delaySetBool","value","callback","useLock","duration","lockRef","timeoutRef","doLock","locked","useSelectTriggerControl","elements","open","triggerOpen","customizedTrigger","propsRef","onGlobalMouseDown","_propsRef$current","target","element","isValidateOpenKey","currentKeyCode","KeyCode","Input","ref","_inputNode2","id","inputElement","tabIndex","autoFocus","autoComplete","editable","activeDescendantId","maxLength","_onKeyDown","_onChange","onPaste","_onCompositionStart","_onCompositionEnd","attrs","inputNode","_inputNode","originRef","originProps","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","style","warning","React.cloneElement","_objectSpread","composeRef","RefInput","React.forwardRef","toArray","isClient","isBrowserClient","hasValue","isComboNoValue","isTitleType","title","getTitle","item","useLayoutEffect","effect","deps","React.useLayoutEffect","itemKey","_value$key","onPreventMouseDown","SelectSelector","values","searchValue","autoClearSearchValue","inputRef","placeholder","showSearch","removeIcon","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onToggleOpen","onRemove","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","_useState","useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","focused","setFocused","selectionPrefixCls","inputValue","inputEditable","defaultRenderSelector","content","itemDisabled","closable","onClose","_defineProperty","customizeRenderSelector","isMaxTag","onMouseDown","e","renderItem","valueItem","label","displayLabel","strLabel","renderRest","pickAttrs","selectionNode","Overflow","React.Fragment","SingleSelector","activeValue","inputChanged","setInputChanged","combobox","hasTextInput","selectionTitle","placeholderNode","React.useMemo","Selector","useRef","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","React.useImperativeHandle","options","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","onInternalInputKeyDown","which","onInternalInputMouseDown","pastedTextRef","triggerOnSearch","replacedText","clipboardData","_ref","isIE","inputMouseDown","sharedProps","selectNode","MultipleSelector","_extends","ForwardSelector","_excluded","getBuiltInPlacements","dropdownMatchSelectWidth","adjustX","SelectTrigger","visible","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","_props$direction","direction","placement","builtinPlacements","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter","restProps","_objectWithoutProperties","dropdownPrefixCls","popupNode","mergedBuiltinPlacements","mergedTransitionName","isNumberPopupWidth","stretch","popupStyle","triggerPopupRef","_triggerPopupRef$curr","Trigger","RefSelectTrigger","getKey","data","index","key","isValidCount","fillFieldNames","fieldNames","childrenAsData","groupLabel","mergedLabel","flattenOptions","_ref2","flattenList","_fillFieldNames","fieldLabel","fieldValue","fieldOptions","dig","list","isGroupOption","grpLabel","injectPropsWithOption","option","newOption","getSeparatedContent","text","tokens","end","match","separate","str","_ref3","_ref4","_toArray","token","restTokens","prevList","unitStr","_toConsumableArray","SelectContext","Polite","MAX_COUNT","DEFAULT_OMIT_PROPS","isMultiple","BaseSelect","_customizeRawInputEle","omitDomProps","onDisplayValuesChange","emptyOptions","_props$notFoundConten","notFoundContent","onClear","loading","getInputElement","getRawInputElement","defaultOpen","onDropdownVisibleChange","onActiveValueChange","onSearchSplit","tokenSeparators","suffixIcon","OptionList","_props$showAction","showAction","onFocus","onBlur","onKeyUp","onKeyDown","multiple","mergedShowSearch","domProps","propName","mobile","setMobile","isMobile","containerRef","selectorDomRef","triggerRef","selectorRef","listRef","blurRef","_useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","_selectorRef$current","_selectorRef$current2","arg","_listRef$current","_displayValues$","val","customizeInputElement","customizeRawInputElement","customizeRawInputRef","useComposeRef","_React$useState3","_React$useState4","rendered","setRendered","_useMergedState","useMergedState","_useMergedState2","innerOpen","setInnerOpen","mergedOpen","emptyListContent","React.useCallback","newOpen","nextOpen","tokenSeparator","maxCount","rawValues","onInternalSearch","searchText","fromTyping","isCompositing","ret","newSearchText","separatedList","patchLabels","onInternalSearchSubmit","getClearLock","setClearLock","keyLockRef","onInternalKeyDown","clearLock","isEnterKey","cloneDisplayValues","removedDisplayValue","i","current","_len","rest","_key","_listRef$current2","onInternalKeyUp","_len2","_key2","_listRef$current3","onSelectorRemove","newValues","focusRef","onContainerFocus","onContainerBlur","activeTimeoutIds","timeoutId","onInternalMouseDown","_triggerRef$current","_selectorRef$current3","_len3","restArgs","_key3","_React$useState5","_React$useState6","forceUpdate","onTriggerVisibleChange","_triggerRef$current2","baseSelectContext","showSuffixIcon","arrowNode","_selectorRef$current4","_useAllowClear","clearNode","optionList","mergedClassName","selectorNode","node","renderNode","OptGroup","Option","isPlatformMac","_","_useBaseProps","toggleOpen","onPopupScroll","_React$useContext","onActiveValue","defaultActiveFirstOption","onSelect","menuItemSelectedIcon","virtual","listHeight","listItemHeight","optionRender","itemPrefixCls","memoFlattenOptions","useMemo","prev","next","overMaxCount","onListMouseDown","scrollIntoView","args","getEnabledActiveIndex","offset","len","group","activeIndex","setActiveIndex","setActive","fromKeyboard","info","flattenItem","useEffect","isSelected","onSelectValue","ctrlKey","nextActiveIndex","_item$data","omitFieldNameList","getLabel","getItemAriaProps","itemData","a11yProps","List","itemIndex","groupOption","_data$title","groupTitle","otherProps","passedProps","omit","selected","mergedDisabled","optionPrefixCls","optionClassName","iconVisible","optionTitle","React.isValidElement","RefOptionList","useCache","labeledValues","valueOptions","cacheRef","filledLabeledValues","_cacheRef$current","prevValueCache","prevOptionCache","patchedValues","_prevValueCache$get","valueCache","optionCache","getOption","includes","test","search","useFilterOptions","filterOption","optionFilterProp","filteredOptions","customizeFilter","upperSearch","filterFunc","wrapOption","opt","matchGroup","subOptions","subItem","uuid","canUseDom","getUUID","retId","useId","innerId","setInnerId","_excluded2","convertNodeToOption","_ref$props","convertChildrenToData","nodes","optionOnly","isSelectOptGroup","_ref2$props","useOptions","optionLabelProp","mergedOptions","labelOptions","setLabelOptions","labelOptionsMap","isChildren","useRefFunc","funcRef","cacheFn","OMIT_DOM_PROPS","isRawValue","Select","_props$prefixCls","backfill","_props$autoClearSearc","onDeselect","_props$dropdownMatchS","filterSort","_props$listHeight","_props$listItemHeight","labelRender","defaultValue","labelInValue","onChange","mergedId","mergedFilterOption","mergedFieldNames","setSearchValue","parsedOptions","convert2LabelValues","draftValues","valueList","rawValue","rawLabel","rawKey","rawDisabled","rawTitle","_val$value","_option$key","_useMergedState3","_useMergedState4","internalValue","setInternalValue","rawLabeledValues","_values$","newInternalValue","_useCache","_useCache2","mergedValues","getMixedOption","firstValue","_mergedValues$","strValue","createTagOption","filledTagOptions","cloneOptions","existOptions","a","b","filledSearchOptions","sorter","inputOptions","sortedOptions","orderedFilteredOptions","displayOptions","triggerChange","newVal","_mergedValues$index","returnValues","v","returnOptions","setActiveValue","accessibilityIndex","setAccessibilityIndex","mergedDefaultActiveFirstOption","active","_ref3$source","source","triggerSelect","type","getSelectEnt","_option$key2","_getSelectEnt","_getSelectEnt2","wrappedValue","_option","_getSelectEnt3","_getSelectEnt4","_wrappedValue","_option2","onInternalSelect","cloneValues","mergedSelect","nextValues","formatted","newRawValues","onInternalSearchSplit","words","patchValues","word","newRawValue","selectContext","realVirtual","TypedSelect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}