{"version":3,"file":"static/js/2628.640f9469.chunk.js","mappings":"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","sources":["../node_modules/antd/es/_util/hooks/useForceUpdate.js","../node_modules/antd/es/config-provider/defaultRenderEmpty.js","../node_modules/antd/es/grid/hooks/useBreakpoint.js","../node_modules/antd/es/select/index.js","../node_modules/antd/es/select/mergedBuiltinPlacements.js","../node_modules/antd/es/select/style/dropdown.js","../node_modules/antd/es/select/style/single.js","../node_modules/antd/es/select/style/token.js","../node_modules/antd/es/select/style/variants.js","../node_modules/antd/es/select/style/index.js","../node_modules/antd/es/select/style/multiple.js","../node_modules/antd/es/select/useIcons.js","../node_modules/antd/es/select/useShowArrow.js","../node_modules/antd/es/style/motion/move.js","../node_modules/antd/node_modules/@ant-design/icons/es/icons/DownOutlined.js","../node_modules/rc-select/es/hooks/useId.js","../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/useLock.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/utils/keyUtil.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/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/hooks/useFilterOptions.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","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/index.js","../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/useScrollDrag.js","../node_modules/rc-virtual-list/es/ScrollBar.js","../node_modules/rc-virtual-list/es/utils/scrollbarUtil.js","../node_modules/rc-virtual-list/es/List.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","../node_modules/rc-virtual-list/es/hooks/useGetSize.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js"],"sourcesContent":["import * as React from 'react';\nexport default function useForceUpdate() {\n const [, forceUpdate] = React.useReducer(x => x + 1, 0);\n return forceUpdate;\n}","\"use client\";\n\nimport React, { useContext } from 'react';\nimport { ConfigContext } from '.';\nimport Empty from '../empty';\nconst DefaultRenderEmpty = props => {\n const {\n componentName\n } = props;\n const {\n getPrefixCls\n } = useContext(ConfigContext);\n const prefix = getPrefixCls('empty');\n switch (componentName) {\n case 'Table':\n case 'List':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE\n });\n case 'Select':\n case 'TreeSelect':\n case 'Cascader':\n case 'Transfer':\n case 'Mentions':\n return /*#__PURE__*/React.createElement(Empty, {\n image: Empty.PRESENTED_IMAGE_SIMPLE,\n className: `${prefix}-small`\n });\n /**\n * This type of component should satisfy the nullish coalescing operator(??) on the left-hand side.\n * to let the component itself implement the logic.\n * For example `Table.filter`.\n */\n case 'Table.filter':\n // why `null`? legacy react16 node type `undefined` is not allowed.\n return null;\n default:\n // Should never hit if we take all the component into consider.\n return /*#__PURE__*/React.createElement(Empty, null);\n }\n};\nexport default DefaultRenderEmpty;","\"use client\";\n\nimport { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport useResponsiveObserver from '../../_util/responsiveObserver';\nfunction useBreakpoint() {\n let refreshOnChange = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n const screensRef = useRef({});\n const forceUpdate = useForceUpdate();\n const responsiveObserver = useResponsiveObserver();\n useLayoutEffect(() => {\n const token = responsiveObserver.subscribe(supportScreens => {\n screensRef.current = supportScreens;\n if (refreshOnChange) {\n forceUpdate();\n }\n });\n return () => responsiveObserver.unsubscribe(token);\n }, []);\n return screensRef.current;\n}\nexport default useBreakpoint;","\"use client\";\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport RcSelect, { OptGroup, Option } from 'rc-select';\nimport omit from \"rc-util/es/omit\";\nimport { useZIndex } from '../_util/hooks/useZIndex';\nimport { getTransitionName } from '../_util/motion';\nimport genPurePanel from '../_util/PurePanel';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { devUseWarning } from '../_util/warning';\nimport { ConfigContext } from '../config-provider';\nimport DefaultRenderEmpty from '../config-provider/defaultRenderEmpty';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport useCSSVarCls from '../config-provider/hooks/useCSSVarCls';\nimport useSize from '../config-provider/hooks/useSize';\nimport { FormItemInputContext } from '../form/context';\nimport useVariants from '../form/hooks/useVariants';\nimport { useCompactItemContext } from '../space/Compact';\nimport { useToken } from '../theme/internal';\nimport mergedBuiltinPlacements from './mergedBuiltinPlacements';\nimport useStyle from './style';\nimport useIcons from './useIcons';\nimport useShowArrow from './useShowArrow';\nconst SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\nconst InternalSelect = (props, ref) => {\n var _a;\n const {\n prefixCls: customizePrefixCls,\n bordered,\n className,\n rootClassName,\n getPopupContainer,\n popupClassName,\n dropdownClassName,\n listHeight = 256,\n placement,\n listItemHeight: customListItemHeight,\n size: customizeSize,\n disabled: customDisabled,\n notFoundContent,\n status: customStatus,\n builtinPlacements,\n dropdownMatchSelectWidth,\n popupMatchSelectWidth,\n direction: propDirection,\n style,\n allowClear,\n variant: customizeVariant,\n dropdownStyle,\n transitionName,\n tagRender,\n maxCount,\n prefix\n } = props,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"className\", \"rootClassName\", \"getPopupContainer\", \"popupClassName\", \"dropdownClassName\", \"listHeight\", \"placement\", \"listItemHeight\", \"size\", \"disabled\", \"notFoundContent\", \"status\", \"builtinPlacements\", \"dropdownMatchSelectWidth\", \"popupMatchSelectWidth\", \"direction\", \"style\", \"allowClear\", \"variant\", \"dropdownStyle\", \"transitionName\", \"tagRender\", \"maxCount\", \"prefix\"]);\n const {\n getPopupContainer: getContextPopupContainer,\n getPrefixCls,\n renderEmpty,\n direction: contextDirection,\n virtual,\n popupMatchSelectWidth: contextPopupMatchSelectWidth,\n popupOverflow,\n select\n } = React.useContext(ConfigContext);\n const [, token] = useToken();\n const listItemHeight = customListItemHeight !== null && customListItemHeight !== void 0 ? customListItemHeight : token === null || token === void 0 ? void 0 : token.controlHeight;\n const prefixCls = getPrefixCls('select', customizePrefixCls);\n const rootPrefixCls = getPrefixCls();\n const direction = propDirection !== null && propDirection !== void 0 ? propDirection : contextDirection;\n const {\n compactSize,\n compactItemClassnames\n } = useCompactItemContext(prefixCls, direction);\n const [variant, enableVariantCls] = useVariants('select', customizeVariant, bordered);\n const rootCls = useCSSVarCls(prefixCls);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls, rootCls);\n const mode = React.useMemo(() => {\n const {\n mode: m\n } = props;\n if (m === 'combobox') {\n return undefined;\n }\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n return m;\n }, [props.mode]);\n const isMultiple = mode === 'multiple' || mode === 'tags';\n const showSuffixIcon = useShowArrow(props.suffixIcon, props.showArrow);\n const mergedPopupMatchSelectWidth = (_a = popupMatchSelectWidth !== null && popupMatchSelectWidth !== void 0 ? popupMatchSelectWidth : dropdownMatchSelectWidth) !== null && _a !== void 0 ? _a : contextPopupMatchSelectWidth;\n // ===================== Form Status =====================\n const {\n status: contextStatus,\n hasFeedback,\n isFormItemInput,\n feedbackIcon\n } = React.useContext(FormItemInputContext);\n const mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Empty =====================\n let mergedNotFound;\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = (renderEmpty === null || renderEmpty === void 0 ? void 0 : renderEmpty('Select')) || /*#__PURE__*/React.createElement(DefaultRenderEmpty, {\n componentName: \"Select\"\n });\n }\n // ===================== Icons =====================\n const {\n suffixIcon,\n itemIcon,\n removeIcon,\n clearIcon\n } = useIcons(Object.assign(Object.assign({}, rest), {\n multiple: isMultiple,\n hasFeedback,\n feedbackIcon,\n showSuffixIcon,\n prefixCls,\n componentName: 'Select'\n }));\n const mergedAllowClear = allowClear === true ? {\n clearIcon\n } : allowClear;\n const selectProps = omit(rest, ['suffixIcon', 'itemIcon']);\n const mergedPopupClassName = classNames(popupClassName || dropdownClassName, {\n [`${prefixCls}-dropdown-${direction}`]: direction === 'rtl'\n }, rootClassName, cssVarCls, rootCls, hashId);\n const mergedSize = useSize(ctx => {\n var _a;\n return (_a = customizeSize !== null && customizeSize !== void 0 ? customizeSize : compactSize) !== null && _a !== void 0 ? _a : ctx;\n });\n // ===================== Disabled =====================\n const disabled = React.useContext(DisabledContext);\n const mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n const mergedClassName = classNames({\n [`${prefixCls}-lg`]: mergedSize === 'large',\n [`${prefixCls}-sm`]: mergedSize === 'small',\n [`${prefixCls}-rtl`]: direction === 'rtl',\n [`${prefixCls}-${variant}`]: enableVariantCls,\n [`${prefixCls}-in-form-item`]: isFormItemInput\n }, getStatusClassNames(prefixCls, mergedStatus, hasFeedback), compactItemClassnames, select === null || select === void 0 ? void 0 : select.className, className, rootClassName, cssVarCls, rootCls, hashId);\n // ===================== Placement =====================\n const memoPlacement = React.useMemo(() => {\n if (placement !== undefined) {\n return placement;\n }\n return direction === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }, [placement, direction]);\n // ====================== Warning ======================\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning('Select');\n warning.deprecated(!dropdownClassName, 'dropdownClassName', 'popupClassName');\n warning.deprecated(dropdownMatchSelectWidth === undefined, 'dropdownMatchSelectWidth', 'popupMatchSelectWidth');\n process.env.NODE_ENV !== \"production\" ? warning(!('showArrow' in props), 'deprecated', '`showArrow` is deprecated which will be removed in next major version. It will be a default behavior, you can hide it by setting `suffixIcon` to null.') : void 0;\n warning.deprecated(!('bordered' in props), 'bordered', 'variant');\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof maxCount !== 'undefined' && !isMultiple), 'usage', '`maxCount` only works with mode `multiple` or `tags`') : void 0;\n }\n // ====================== zIndex =========================\n const [zIndex] = useZIndex('SelectLike', dropdownStyle === null || dropdownStyle === void 0 ? void 0 : dropdownStyle.zIndex);\n // ====================== Render =======================\n return wrapCSSVar(/*#__PURE__*/React.createElement(RcSelect, Object.assign({\n ref: ref,\n virtual: virtual,\n showSearch: select === null || select === void 0 ? void 0 : select.showSearch\n }, selectProps, {\n style: Object.assign(Object.assign({}, select === null || select === void 0 ? void 0 : select.style), style),\n dropdownMatchSelectWidth: mergedPopupMatchSelectWidth,\n transitionName: getTransitionName(rootPrefixCls, 'slide-up', transitionName),\n builtinPlacements: mergedBuiltinPlacements(builtinPlacements, popupOverflow),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n placement: memoPlacement,\n direction: direction,\n prefix: prefix,\n suffixIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n allowClear: mergedAllowClear,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: mergedPopupClassName,\n disabled: mergedDisabled,\n dropdownStyle: Object.assign(Object.assign({}, dropdownStyle), {\n zIndex\n }),\n maxCount: isMultiple ? maxCount : undefined,\n tagRender: isMultiple ? tagRender : undefined\n })));\n};\nif (process.env.NODE_ENV !== 'production') {\n InternalSelect.displayName = 'Select';\n}\nconst Select = /*#__PURE__*/React.forwardRef(InternalSelect);\n// We don't care debug panel\n/* istanbul ignore next */\nconst PurePanel = genPurePanel(Select);\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nSelect._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nexport default Select;","const getBuiltInPlacements = popupOverflow => {\n const htmlRegion = popupOverflow === 'scroll' ? 'scroll' : 'visible';\n const sharedConfig = {\n overflow: {\n adjustX: true,\n adjustY: true,\n shiftY: true\n },\n htmlRegion,\n dynamicInset: true\n };\n return {\n bottomLeft: Object.assign(Object.assign({}, sharedConfig), {\n points: ['tl', 'bl'],\n offset: [0, 4]\n }),\n bottomRight: Object.assign(Object.assign({}, sharedConfig), {\n points: ['tr', 'br'],\n offset: [0, 4]\n }),\n topLeft: Object.assign(Object.assign({}, sharedConfig), {\n points: ['bl', 'tl'],\n offset: [0, -4]\n }),\n topRight: Object.assign(Object.assign({}, sharedConfig), {\n points: ['br', 'tr'],\n offset: [0, -4]\n })\n };\n};\nfunction mergedBuiltinPlacements(buildInPlacements, popupOverflow) {\n return buildInPlacements || getBuiltInPlacements(popupOverflow);\n}\nexport default mergedBuiltinPlacements;","import { resetComponent, textEllipsis } from '../../style';\nimport { initMoveMotion, initSlideMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nconst genItemStyle = token => {\n const {\n optionHeight,\n optionFontSize,\n optionLineHeight,\n optionPadding\n } = token;\n return {\n position: 'relative',\n display: 'block',\n minHeight: optionHeight,\n padding: optionPadding,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: optionFontSize,\n lineHeight: optionLineHeight,\n boxSizing: 'border-box'\n };\n};\nconst genSingleStyle = token => {\n const {\n antCls,\n componentCls\n } = token;\n const selectItemCls = `${componentCls}-item`;\n const slideUpEnterActive = `&${antCls}-slide-up-enter${antCls}-slide-up-enter-active`;\n const slideUpAppearActive = `&${antCls}-slide-up-appear${antCls}-slide-up-appear-active`;\n const slideUpLeaveActive = `&${antCls}-slide-up-leave${antCls}-slide-up-leave-active`;\n const dropdownPlacementCls = `${componentCls}-dropdown-placement-`;\n return [{\n [`${componentCls}-dropdown`]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n zIndex: token.zIndexPopup,\n boxSizing: 'border-box',\n padding: token.paddingXXS,\n overflow: 'hidden',\n fontSize: token.fontSize,\n // Fix select render lag of long text in chrome\n // https://github.com/ant-design/ant-design/issues/11456\n // https://github.com/ant-design/ant-design/issues/11843\n fontVariant: 'initial',\n backgroundColor: token.colorBgElevated,\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary,\n [`\n ${slideUpEnterActive}${dropdownPlacementCls}bottomLeft,\n ${slideUpAppearActive}${dropdownPlacementCls}bottomLeft\n `]: {\n animationName: slideUpIn\n },\n [`\n ${slideUpEnterActive}${dropdownPlacementCls}topLeft,\n ${slideUpAppearActive}${dropdownPlacementCls}topLeft,\n ${slideUpEnterActive}${dropdownPlacementCls}topRight,\n ${slideUpAppearActive}${dropdownPlacementCls}topRight\n `]: {\n animationName: slideDownIn\n },\n [`${slideUpLeaveActive}${dropdownPlacementCls}bottomLeft`]: {\n animationName: slideUpOut\n },\n [`\n ${slideUpLeaveActive}${dropdownPlacementCls}topLeft,\n ${slideUpLeaveActive}${dropdownPlacementCls}topRight\n `]: {\n animationName: slideDownOut\n },\n '&-hidden': {\n display: 'none'\n },\n [selectItemCls]: Object.assign(Object.assign({}, genItemStyle(token)), {\n cursor: 'pointer',\n transition: `background ${token.motionDurationSlow} ease`,\n borderRadius: token.borderRadiusSM,\n // =========== Group ============\n '&-group': {\n color: token.colorTextDescription,\n fontSize: token.fontSizeSM,\n cursor: 'default'\n },\n // =========== Option ===========\n '&-option': {\n display: 'flex',\n '&-content': Object.assign({\n flex: 'auto'\n }, textEllipsis),\n '&-state': {\n flex: 'none',\n display: 'flex',\n alignItems: 'center'\n },\n [`&-active:not(${selectItemCls}-option-disabled)`]: {\n backgroundColor: token.optionActiveBg\n },\n [`&-selected:not(${selectItemCls}-option-disabled)`]: {\n color: token.optionSelectedColor,\n fontWeight: token.optionSelectedFontWeight,\n backgroundColor: token.optionSelectedBg,\n [`${selectItemCls}-option-state`]: {\n color: token.colorPrimary\n },\n [`&:has(+ ${selectItemCls}-option-selected:not(${selectItemCls}-option-disabled))`]: {\n borderEndStartRadius: 0,\n borderEndEndRadius: 0,\n [`& + ${selectItemCls}-option-selected:not(${selectItemCls}-option-disabled)`]: {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n }\n }\n },\n '&-disabled': {\n [`&${selectItemCls}-option-selected`]: {\n backgroundColor: token.colorBgContainerDisabled\n },\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n },\n '&-grouped': {\n paddingInlineStart: token.calc(token.controlPaddingHorizontal).mul(2).equal()\n }\n },\n '&-empty': Object.assign(Object.assign({}, genItemStyle(token)), {\n color: token.colorTextDisabled\n })\n }),\n // =========================== RTL ===========================\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Follow code may reuse in other components\n initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down')];\n};\nexport default genSingleStyle;","import { unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { mergeToken } from '../../theme/internal';\nfunction genSizeStyle(token, suffix) {\n const {\n componentCls,\n inputPaddingHorizontalBase,\n borderRadius\n } = token;\n const selectHeightWithoutBorder = token.calc(token.controlHeight).sub(token.calc(token.lineWidth).mul(2)).equal();\n const suffixCls = suffix ? `${componentCls}-${suffix}` : '';\n return {\n [`${componentCls}-single${suffixCls}`]: {\n fontSize: token.fontSize,\n height: token.controlHeight,\n // ========================= Selector =========================\n [`${componentCls}-selector`]: Object.assign(Object.assign({}, resetComponent(token, true)), {\n display: 'flex',\n borderRadius,\n flex: '1 1 auto',\n [`${componentCls}-selection-search`]: {\n position: 'absolute',\n inset: 0,\n width: '100%',\n '&-input': {\n width: '100%',\n WebkitAppearance: 'textfield'\n }\n },\n [`\n ${componentCls}-selection-item,\n ${componentCls}-selection-placeholder\n `]: {\n display: 'block',\n padding: 0,\n lineHeight: unit(selectHeightWithoutBorder),\n transition: `all ${token.motionDurationSlow}, visibility 0s`,\n alignSelf: 'center'\n },\n [`${componentCls}-selection-placeholder`]: {\n transition: 'none',\n pointerEvents: 'none'\n },\n // For common baseline align\n [['&:after', /* For '' value baseline align */\n `${componentCls}-selection-item:empty:after`, /* For undefined value baseline align */\n `${componentCls}-selection-placeholder:empty:after`].join(',')]: {\n display: 'inline-block',\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }\n }),\n [`\n &${componentCls}-show-arrow ${componentCls}-selection-item,\n &${componentCls}-show-arrow ${componentCls}-selection-search,\n &${componentCls}-show-arrow ${componentCls}-selection-placeholder\n `]: {\n paddingInlineEnd: token.showArrowPaddingInlineEnd\n },\n // Opacity selection if open\n [`&${componentCls}-open ${componentCls}-selection-item`]: {\n color: token.colorTextPlaceholder\n },\n // ========================== Input ==========================\n // We only change the style of non-customize input which is only support by `combobox` mode.\n // Not customize\n [`&:not(${componentCls}-customize-input)`]: {\n [`${componentCls}-selector`]: {\n width: '100%',\n height: '100%',\n alignItems: 'center',\n padding: `0 ${unit(inputPaddingHorizontalBase)}`,\n [`${componentCls}-selection-search-input`]: {\n height: selectHeightWithoutBorder\n },\n '&:after': {\n lineHeight: unit(selectHeightWithoutBorder)\n }\n }\n },\n [`&${componentCls}-customize-input`]: {\n [`${componentCls}-selector`]: {\n '&:after': {\n display: 'none'\n },\n [`${componentCls}-selection-search`]: {\n position: 'static',\n width: '100%'\n },\n [`${componentCls}-selection-placeholder`]: {\n position: 'absolute',\n insetInlineStart: 0,\n insetInlineEnd: 0,\n padding: `0 ${unit(inputPaddingHorizontalBase)}`,\n '&:after': {\n display: 'none'\n }\n }\n }\n }\n }\n };\n}\nexport default function genSingleStyle(token) {\n const {\n componentCls\n } = token;\n const inputPaddingHorizontalSM = token.calc(token.controlPaddingHorizontalSM).sub(token.lineWidth).equal();\n return [genSizeStyle(token),\n // ======================== Small ========================\n // Shared\n genSizeStyle(mergeToken(token, {\n controlHeight: token.controlHeightSM,\n borderRadius: token.borderRadiusSM\n }), 'sm'),\n // padding\n {\n [`${componentCls}-single${componentCls}-sm`]: {\n [`&:not(${componentCls}-customize-input)`]: {\n [`${componentCls}-selector`]: {\n padding: `0 ${unit(inputPaddingHorizontalSM)}`\n },\n // With arrow should provides `padding-right` to show the arrow\n [`&${componentCls}-show-arrow ${componentCls}-selection-search`]: {\n insetInlineEnd: token.calc(inputPaddingHorizontalSM).add(token.calc(token.fontSize).mul(1.5)).equal()\n },\n [`\n &${componentCls}-show-arrow ${componentCls}-selection-item,\n &${componentCls}-show-arrow ${componentCls}-selection-placeholder\n `]: {\n paddingInlineEnd: token.calc(token.fontSize).mul(1.5).equal()\n }\n }\n }\n },\n // ======================== Large ========================\n // Shared\n genSizeStyle(mergeToken(token, {\n controlHeight: token.singleItemHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG\n }), 'lg')];\n}","export const prepareComponentToken = token => {\n const {\n fontSize,\n lineHeight,\n lineWidth,\n controlHeight,\n controlHeightSM,\n controlHeightLG,\n paddingXXS,\n controlPaddingHorizontal,\n zIndexPopupBase,\n colorText,\n fontWeightStrong,\n controlItemBgActive,\n controlItemBgHover,\n colorBgContainer,\n colorFillSecondary,\n colorBgContainerDisabled,\n colorTextDisabled,\n colorPrimaryHover,\n colorPrimary,\n controlOutline\n } = token;\n // Item height default use `controlHeight - 2 * paddingXXS`,\n // but some case `paddingXXS=0`.\n // Let's fallback it.\n const dblPaddingXXS = paddingXXS * 2;\n const dblLineWidth = lineWidth * 2;\n const multipleItemHeight = Math.min(controlHeight - dblPaddingXXS, controlHeight - dblLineWidth);\n const multipleItemHeightSM = Math.min(controlHeightSM - dblPaddingXXS, controlHeightSM - dblLineWidth);\n const multipleItemHeightLG = Math.min(controlHeightLG - dblPaddingXXS, controlHeightLG - dblLineWidth);\n // FIXED_ITEM_MARGIN is a hardcode calculation since calc not support rounding\n const INTERNAL_FIXED_ITEM_MARGIN = Math.floor(paddingXXS / 2);\n return {\n INTERNAL_FIXED_ITEM_MARGIN,\n zIndexPopup: zIndexPopupBase + 50,\n optionSelectedColor: colorText,\n optionSelectedFontWeight: fontWeightStrong,\n optionSelectedBg: controlItemBgActive,\n optionActiveBg: controlItemBgHover,\n optionPadding: `${(controlHeight - fontSize * lineHeight) / 2}px ${controlPaddingHorizontal}px`,\n optionFontSize: fontSize,\n optionLineHeight: lineHeight,\n optionHeight: controlHeight,\n selectorBg: colorBgContainer,\n clearBg: colorBgContainer,\n singleItemHeightLG: controlHeightLG,\n multipleItemBg: colorFillSecondary,\n multipleItemBorderColor: 'transparent',\n multipleItemHeight,\n multipleItemHeightSM,\n multipleItemHeightLG,\n multipleSelectorBgDisabled: colorBgContainerDisabled,\n multipleItemColorDisabled: colorTextDisabled,\n multipleItemBorderColorDisabled: 'transparent',\n showArrowPaddingInlineEnd: Math.ceil(token.fontSize * 1.25),\n hoverBorderColor: colorPrimaryHover,\n activeBorderColor: colorPrimary,\n activeOutlineColor: controlOutline,\n selectAffixPadding: paddingXXS\n };\n};","import { unit } from '@ant-design/cssinjs';\n// =====================================================\n// == Outlined ==\n// =====================================================\nconst genBaseOutlinedStyle = (token, options) => {\n const {\n componentCls,\n antCls,\n controlOutlineWidth\n } = token;\n return {\n [`&:not(${componentCls}-customize-input) ${componentCls}-selector`]: {\n border: `${unit(token.lineWidth)} ${token.lineType} ${options.borderColor}`,\n background: token.selectorBg\n },\n [`&:not(${componentCls}-disabled):not(${componentCls}-customize-input):not(${antCls}-pagination-size-changer)`]: {\n [`&:hover ${componentCls}-selector`]: {\n borderColor: options.hoverBorderHover\n },\n [`${componentCls}-focused& ${componentCls}-selector`]: {\n borderColor: options.activeBorderColor,\n boxShadow: `0 0 0 ${unit(controlOutlineWidth)} ${options.activeOutlineColor}`,\n outline: 0\n },\n [`${componentCls}-prefix`]: {\n color: options.color\n }\n }\n };\n};\nconst genOutlinedStatusStyle = (token, options) => ({\n [`&${token.componentCls}-status-${options.status}`]: Object.assign({}, genBaseOutlinedStyle(token, options))\n});\nconst genOutlinedStyle = token => ({\n '&-outlined': Object.assign(Object.assign(Object.assign(Object.assign({}, genBaseOutlinedStyle(token, {\n borderColor: token.colorBorder,\n hoverBorderHover: token.hoverBorderColor,\n activeBorderColor: token.activeBorderColor,\n activeOutlineColor: token.activeOutlineColor,\n color: token.colorText\n })), genOutlinedStatusStyle(token, {\n status: 'error',\n borderColor: token.colorError,\n hoverBorderHover: token.colorErrorHover,\n activeBorderColor: token.colorError,\n activeOutlineColor: token.colorErrorOutline,\n color: token.colorError\n })), genOutlinedStatusStyle(token, {\n status: 'warning',\n borderColor: token.colorWarning,\n hoverBorderHover: token.colorWarningHover,\n activeBorderColor: token.colorWarning,\n activeOutlineColor: token.colorWarningOutline,\n color: token.colorWarning\n })), {\n [`&${token.componentCls}-disabled`]: {\n [`&:not(${token.componentCls}-customize-input) ${token.componentCls}-selector`]: {\n background: token.colorBgContainerDisabled,\n color: token.colorTextDisabled\n }\n },\n [`&${token.componentCls}-multiple ${token.componentCls}-selection-item`]: {\n background: token.multipleItemBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.multipleItemBorderColor}`\n }\n })\n});\n// =====================================================\n// == Filled ==\n// =====================================================\nconst genBaseFilledStyle = (token, options) => {\n const {\n componentCls,\n antCls\n } = token;\n return {\n [`&:not(${componentCls}-customize-input) ${componentCls}-selector`]: {\n background: options.bg,\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`,\n color: options.color\n },\n [`&:not(${componentCls}-disabled):not(${componentCls}-customize-input):not(${antCls}-pagination-size-changer)`]: {\n [`&:hover ${componentCls}-selector`]: {\n background: options.hoverBg\n },\n [`${componentCls}-focused& ${componentCls}-selector`]: {\n background: token.selectorBg,\n borderColor: options.activeBorderColor,\n outline: 0\n }\n }\n };\n};\nconst genFilledStatusStyle = (token, options) => ({\n [`&${token.componentCls}-status-${options.status}`]: Object.assign({}, genBaseFilledStyle(token, options))\n});\nconst genFilledStyle = token => ({\n '&-filled': Object.assign(Object.assign(Object.assign(Object.assign({}, genBaseFilledStyle(token, {\n bg: token.colorFillTertiary,\n hoverBg: token.colorFillSecondary,\n activeBorderColor: token.activeBorderColor,\n color: token.colorText\n })), genFilledStatusStyle(token, {\n status: 'error',\n bg: token.colorErrorBg,\n hoverBg: token.colorErrorBgHover,\n activeBorderColor: token.colorError,\n color: token.colorError\n })), genFilledStatusStyle(token, {\n status: 'warning',\n bg: token.colorWarningBg,\n hoverBg: token.colorWarningBgHover,\n activeBorderColor: token.colorWarning,\n color: token.colorWarning\n })), {\n [`&${token.componentCls}-disabled`]: {\n [`&:not(${token.componentCls}-customize-input) ${token.componentCls}-selector`]: {\n borderColor: token.colorBorder,\n background: token.colorBgContainerDisabled,\n color: token.colorTextDisabled\n }\n },\n [`&${token.componentCls}-multiple ${token.componentCls}-selection-item`]: {\n background: token.colorBgContainer,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n }\n })\n});\n// =====================================================\n// == Borderless ==\n// =====================================================\nconst genBorderlessStyle = token => ({\n '&-borderless': {\n [`${token.componentCls}-selector`]: {\n background: 'transparent',\n border: `${unit(token.lineWidth)} ${token.lineType} transparent`\n },\n [`&${token.componentCls}-disabled`]: {\n [`&:not(${token.componentCls}-customize-input) ${token.componentCls}-selector`]: {\n color: token.colorTextDisabled\n }\n },\n [`&${token.componentCls}-multiple ${token.componentCls}-selection-item`]: {\n background: token.multipleItemBg,\n border: `${unit(token.lineWidth)} ${token.lineType} ${token.multipleItemBorderColor}`\n },\n // Status\n [`&${token.componentCls}-status-error`]: {\n [`${token.componentCls}-prefix, ${token.componentCls}-selection-item`]: {\n color: token.colorError\n }\n },\n [`&${token.componentCls}-status-warning`]: {\n [`${token.componentCls}-prefix, ${token.componentCls}-selection-item`]: {\n color: token.colorWarning\n }\n }\n }\n});\nconst genVariantsStyle = token => ({\n [token.componentCls]: Object.assign(Object.assign(Object.assign({}, genOutlinedStyle(token)), genFilledStyle(token)), genBorderlessStyle(token))\n});\nexport default genVariantsStyle;","import { resetComponent, resetIcon, textEllipsis } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport genDropdownStyle from './dropdown';\nimport genMultipleStyle from './multiple';\nimport genSingleStyle from './single';\nimport { prepareComponentToken } from './token';\nimport genVariantsStyle from './variants';\n// ============================= Selector =============================\nconst genSelectorStyle = token => {\n const {\n componentCls\n } = token;\n return {\n position: 'relative',\n transition: `all ${token.motionDurationMid} ${token.motionEaseInOut}`,\n input: {\n cursor: 'pointer'\n },\n [`${componentCls}-show-search&`]: {\n cursor: 'text',\n input: {\n cursor: 'auto',\n color: 'inherit',\n height: '100%'\n }\n },\n [`${componentCls}-disabled&`]: {\n cursor: 'not-allowed',\n input: {\n cursor: 'not-allowed'\n }\n }\n };\n};\n// ============================== Styles ==============================\n// /* Reset search input style */\nconst getSearchInputWithoutBorderStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-selection-search-input`]: {\n margin: 0,\n padding: 0,\n background: 'transparent',\n border: 'none',\n outline: 'none',\n appearance: 'none',\n fontFamily: 'inherit',\n '&::-webkit-search-cancel-button': {\n display: 'none',\n '-webkit-appearance': 'none'\n }\n }\n };\n};\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n antCls,\n componentCls,\n inputPaddingHorizontalBase,\n iconCls\n } = token;\n return {\n [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n position: 'relative',\n display: 'inline-flex',\n cursor: 'pointer',\n [`&:not(${componentCls}-customize-input) ${componentCls}-selector`]: Object.assign(Object.assign({}, genSelectorStyle(token)), getSearchInputWithoutBorderStyle(token)),\n // ======================== Selection ========================\n [`${componentCls}-selection-item`]: Object.assign(Object.assign({\n flex: 1,\n fontWeight: 'normal',\n position: 'relative',\n userSelect: 'none'\n }, textEllipsis), {\n // https://github.com/ant-design/ant-design/issues/40421\n [`> ${antCls}-typography`]: {\n display: 'inline'\n }\n }),\n // ======================= Placeholder =======================\n [`${componentCls}-selection-placeholder`]: Object.assign(Object.assign({}, textEllipsis), {\n flex: 1,\n color: token.colorTextPlaceholder,\n pointerEvents: 'none'\n }),\n // ========================== Arrow ==========================\n [`${componentCls}-arrow`]: Object.assign(Object.assign({}, resetIcon()), {\n position: 'absolute',\n top: '50%',\n insetInlineStart: 'auto',\n insetInlineEnd: inputPaddingHorizontalBase,\n height: token.fontSizeIcon,\n marginTop: token.calc(token.fontSizeIcon).mul(-1).div(2).equal(),\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n lineHeight: 1,\n textAlign: 'center',\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n transition: `opacity ${token.motionDurationSlow} ease`,\n [iconCls]: {\n verticalAlign: 'top',\n transition: `transform ${token.motionDurationSlow}`,\n '> svg': {\n verticalAlign: 'top'\n },\n [`&:not(${componentCls}-suffix)`]: {\n pointerEvents: 'auto'\n }\n },\n [`${componentCls}-disabled &`]: {\n cursor: 'not-allowed'\n },\n '> *:not(:last-child)': {\n marginInlineEnd: 8 // FIXME: magic\n }\n }),\n // ========================== Wrap ===========================\n [`${componentCls}-selection-wrap`]: {\n display: 'flex',\n width: '100%',\n position: 'relative',\n minWidth: 0,\n // https://github.com/ant-design/ant-design/issues/51669\n '&:after': {\n content: '\"\\\\a0\"',\n width: 0,\n overflow: 'hidden'\n }\n },\n // ========================= Prefix ==========================\n [`${componentCls}-prefix`]: {\n flex: 'none',\n marginInlineEnd: token.selectAffixPadding\n },\n // ========================== Clear ==========================\n [`${componentCls}-clear`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: 'auto',\n insetInlineEnd: inputPaddingHorizontalBase,\n zIndex: 1,\n display: 'inline-block',\n width: token.fontSizeIcon,\n height: token.fontSizeIcon,\n marginTop: token.calc(token.fontSizeIcon).mul(-1).div(2).equal(),\n color: token.colorTextQuaternary,\n fontSize: token.fontSizeIcon,\n fontStyle: 'normal',\n lineHeight: 1,\n textAlign: 'center',\n textTransform: 'none',\n cursor: 'pointer',\n opacity: 0,\n transition: `color ${token.motionDurationMid} ease, opacity ${token.motionDurationSlow} ease`,\n textRendering: 'auto',\n '&:before': {\n display: 'block'\n },\n '&:hover': {\n color: token.colorTextTertiary\n }\n },\n [`&:hover ${componentCls}-clear`]: {\n opacity: 1,\n background: token.colorBgBase,\n borderRadius: '50%'\n }\n }),\n // ========================= Feedback ==========================\n [`${componentCls}-status`]: {\n '&-error, &-warning, &-success, &-validating': {\n [`&${componentCls}-has-feedback`]: {\n [`${componentCls}-clear`]: {\n insetInlineEnd: token.calc(inputPaddingHorizontalBase).add(token.fontSize).add(token.paddingXS).equal()\n }\n }\n }\n }\n };\n};\n// ============================== Styles ==============================\nconst genSelectStyle = token => {\n const {\n componentCls\n } = token;\n return [{\n [componentCls]: {\n // ==================== In Form ====================\n [`&${componentCls}-in-form-item`]: {\n width: '100%'\n }\n }\n },\n // =====================================================\n // == LTR ==\n // =====================================================\n // Base\n genBaseStyle(token),\n // Single\n genSingleStyle(token),\n // Multiple\n genMultipleStyle(token),\n // Dropdown\n genDropdownStyle(token),\n // =====================================================\n // == RTL ==\n // =====================================================\n {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n }\n },\n // =====================================================\n // == Space Compact ==\n // =====================================================\n genCompactItemStyle(token, {\n borderElCls: `${componentCls}-selector`,\n focusElCls: `${componentCls}-focused`\n })];\n};\n// ============================== Export ==============================\nexport default genStyleHooks('Select', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const selectToken = mergeToken(token, {\n rootPrefixCls,\n inputPaddingHorizontalBase: token.calc(token.paddingSM).sub(1).equal(),\n multipleSelectItemHeight: token.multipleItemHeight,\n selectHeight: token.controlHeight\n });\n return [genSelectStyle(selectToken), genVariantsStyle(selectToken)];\n}, prepareComponentToken, {\n unitless: {\n optionLineHeight: true,\n optionSelectedFontWeight: true\n }\n});","import { unit } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport { mergeToken } from '../../theme/internal';\n/**\n * Get multiple selector needed style. The calculation:\n *\n * ContainerPadding = BasePadding - ItemMargin\n *\n * Border: ╔═══════════════════════════╗ ┬\n * ContainerPadding: ║ ║ │\n * ╟───────────────────────────╢ ┬ │\n * Item Margin: ║ ║ │ │\n * ║ ┌──────────┐ ║ │ │\n * Item(multipleItemHeight): ║ BasePadding │ Item │ ║ Overflow Container(ControlHeight)\n * ║ └──────────┘ ║ │ │\n * Item Margin: ║ ║ │ │\n * ╟───────────────────────────╢ ┴ │\n * ContainerPadding: ║ ║ │\n * Border: ╚═══════════════════════════╝ ┴\n */\nexport const getMultipleSelectorUnit = token => {\n const {\n multipleSelectItemHeight,\n paddingXXS,\n lineWidth,\n INTERNAL_FIXED_ITEM_MARGIN\n } = token;\n const basePadding = token.max(token.calc(paddingXXS).sub(lineWidth).equal(), 0);\n const containerPadding = token.max(token.calc(basePadding).sub(INTERNAL_FIXED_ITEM_MARGIN).equal(), 0);\n return {\n basePadding,\n containerPadding,\n itemHeight: unit(multipleSelectItemHeight),\n itemLineHeight: unit(token.calc(multipleSelectItemHeight).sub(token.calc(token.lineWidth).mul(2)).equal())\n };\n};\nconst getSelectItemStyle = token => {\n const {\n multipleSelectItemHeight,\n selectHeight,\n lineWidth\n } = token;\n const selectItemDist = token.calc(selectHeight).sub(multipleSelectItemHeight).div(2).sub(lineWidth).equal();\n return selectItemDist;\n};\n/**\n * Get the `rc-overflow` needed style.\n * It's a share style which means not affected by `size`.\n */\nexport const genOverflowStyle = token => {\n const {\n componentCls,\n iconCls,\n borderRadiusSM,\n motionDurationSlow,\n paddingXS,\n multipleItemColorDisabled,\n multipleItemBorderColorDisabled,\n colorIcon,\n colorIconHover,\n INTERNAL_FIXED_ITEM_MARGIN\n } = token;\n const selectOverflowPrefixCls = `${componentCls}-selection-overflow`;\n return {\n /**\n * Do not merge `height` & `line-height` under style with `selection` & `search`, since chrome\n * may update to redesign with its align logic.\n */\n // =========================== Overflow ===========================\n [selectOverflowPrefixCls]: {\n position: 'relative',\n display: 'flex',\n flex: 'auto',\n flexWrap: 'wrap',\n maxWidth: '100%',\n '&-item': {\n flex: 'none',\n alignSelf: 'center',\n maxWidth: '100%',\n display: 'inline-flex'\n },\n // ======================== Selections ==========================\n [`${componentCls}-selection-item`]: {\n display: 'flex',\n alignSelf: 'center',\n flex: 'none',\n boxSizing: 'border-box',\n maxWidth: '100%',\n marginBlock: INTERNAL_FIXED_ITEM_MARGIN,\n borderRadius: borderRadiusSM,\n cursor: 'default',\n transition: `font-size ${motionDurationSlow}, line-height ${motionDurationSlow}, height ${motionDurationSlow}`,\n marginInlineEnd: token.calc(INTERNAL_FIXED_ITEM_MARGIN).mul(2).equal(),\n paddingInlineStart: paddingXS,\n paddingInlineEnd: token.calc(paddingXS).div(2).equal(),\n [`${componentCls}-disabled&`]: {\n color: multipleItemColorDisabled,\n borderColor: multipleItemBorderColorDisabled,\n cursor: 'not-allowed'\n },\n // It's ok not to do this, but 24px makes bottom narrow in view should adjust\n '&-content': {\n display: 'inline-block',\n marginInlineEnd: token.calc(paddingXS).div(2).equal(),\n overflow: 'hidden',\n whiteSpace: 'pre',\n // fix whitespace wrapping. custom tags display all whitespace within.\n textOverflow: 'ellipsis'\n },\n '&-remove': Object.assign(Object.assign({}, resetIcon()), {\n display: 'inline-flex',\n alignItems: 'center',\n color: colorIcon,\n fontWeight: 'bold',\n fontSize: 10,\n lineHeight: 'inherit',\n cursor: 'pointer',\n [`> ${iconCls}`]: {\n verticalAlign: '-0.2em'\n },\n '&:hover': {\n color: colorIconHover\n }\n })\n }\n }\n };\n};\nconst genSelectionStyle = (token, suffix) => {\n const {\n componentCls,\n INTERNAL_FIXED_ITEM_MARGIN\n } = token;\n const selectOverflowPrefixCls = `${componentCls}-selection-overflow`;\n const selectItemHeight = token.multipleSelectItemHeight;\n const selectItemDist = getSelectItemStyle(token);\n const suffixCls = suffix ? `${componentCls}-${suffix}` : '';\n const multipleSelectorUnit = getMultipleSelectorUnit(token);\n return {\n [`${componentCls}-multiple${suffixCls}`]: Object.assign(Object.assign({}, genOverflowStyle(token)), {\n // ========================= Selector =========================\n [`${componentCls}-selector`]: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n height: '100%',\n // Multiple is little different that horizontal is follow the vertical\n paddingInline: multipleSelectorUnit.basePadding,\n paddingBlock: multipleSelectorUnit.containerPadding,\n borderRadius: token.borderRadius,\n [`${componentCls}-disabled&`]: {\n background: token.multipleSelectorBgDisabled,\n cursor: 'not-allowed'\n },\n '&:after': {\n display: 'inline-block',\n width: 0,\n margin: `${unit(INTERNAL_FIXED_ITEM_MARGIN)} 0`,\n lineHeight: unit(selectItemHeight),\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }\n },\n // ======================== Selections ========================\n [`${componentCls}-selection-item`]: {\n height: multipleSelectorUnit.itemHeight,\n lineHeight: unit(multipleSelectorUnit.itemLineHeight)\n },\n // ========================== Wrap ===========================\n [`${componentCls}-selection-wrap`]: {\n alignSelf: 'flex-start',\n '&:after': {\n lineHeight: unit(selectItemHeight),\n marginBlock: INTERNAL_FIXED_ITEM_MARGIN\n }\n },\n // ========================== Input ==========================\n [`${componentCls}-prefix`]: {\n marginInlineStart: token.calc(token.inputPaddingHorizontalBase).sub(multipleSelectorUnit.basePadding).equal()\n },\n [`${selectOverflowPrefixCls}-item + ${selectOverflowPrefixCls}-item,\n ${componentCls}-prefix + ${componentCls}-selection-wrap\n `]: {\n [`${componentCls}-selection-search`]: {\n marginInlineStart: 0\n },\n [`${componentCls}-selection-placeholder`]: {\n insetInlineStart: 0\n }\n },\n // https://github.com/ant-design/ant-design/issues/44754\n // Same as `wrap:after`\n [`${selectOverflowPrefixCls}-item-suffix`]: {\n minHeight: multipleSelectorUnit.itemHeight,\n marginBlock: INTERNAL_FIXED_ITEM_MARGIN\n },\n [`${componentCls}-selection-search`]: {\n display: 'inline-flex',\n position: 'relative',\n maxWidth: '100%',\n marginInlineStart: token.calc(token.inputPaddingHorizontalBase).sub(selectItemDist).equal(),\n [`\n &-input,\n &-mirror\n `]: {\n height: selectItemHeight,\n fontFamily: token.fontFamily,\n lineHeight: unit(selectItemHeight),\n transition: `all ${token.motionDurationSlow}`\n },\n '&-input': {\n width: '100%',\n minWidth: 4.1 // fix search cursor missing\n },\n '&-mirror': {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n insetInlineEnd: 'auto',\n zIndex: 999,\n whiteSpace: 'pre',\n // fix whitespace wrapping caused width calculation bug\n visibility: 'hidden'\n }\n },\n // ======================= Placeholder =======================\n [`${componentCls}-selection-placeholder`]: {\n position: 'absolute',\n top: '50%',\n insetInlineStart: token.calc(token.inputPaddingHorizontalBase).sub(multipleSelectorUnit.basePadding).equal(),\n insetInlineEnd: token.inputPaddingHorizontalBase,\n transform: 'translateY(-50%)',\n transition: `all ${token.motionDurationSlow}`\n }\n })\n };\n};\nfunction genSizeStyle(token, suffix) {\n const {\n componentCls\n } = token;\n const suffixCls = suffix ? `${componentCls}-${suffix}` : '';\n const rawStyle = {\n [`${componentCls}-multiple${suffixCls}`]: {\n fontSize: token.fontSize,\n // ========================= Selector =========================\n [`${componentCls}-selector`]: {\n [`${componentCls}-show-search&`]: {\n cursor: 'text'\n }\n },\n [`\n &${componentCls}-show-arrow ${componentCls}-selector,\n &${componentCls}-allow-clear ${componentCls}-selector\n `]: {\n paddingInlineEnd: token.calc(token.fontSizeIcon).add(token.controlPaddingHorizontal).equal()\n }\n }\n };\n return [genSelectionStyle(token, suffix), rawStyle];\n}\nconst genMultipleStyle = token => {\n const {\n componentCls\n } = token;\n const smallToken = mergeToken(token, {\n selectHeight: token.controlHeightSM,\n multipleSelectItemHeight: token.multipleItemHeightSM,\n borderRadius: token.borderRadiusSM,\n borderRadiusSM: token.borderRadiusXS\n });\n const largeToken = mergeToken(token, {\n fontSize: token.fontSizeLG,\n selectHeight: token.controlHeightLG,\n multipleSelectItemHeight: token.multipleItemHeightLG,\n borderRadius: token.borderRadiusLG,\n borderRadiusSM: token.borderRadius\n });\n return [genSizeStyle(token),\n // ======================== Small ========================\n genSizeStyle(smallToken, 'sm'),\n // Padding\n {\n [`${componentCls}-multiple${componentCls}-sm`]: {\n [`${componentCls}-selection-placeholder`]: {\n insetInline: token.calc(token.controlPaddingHorizontalSM).sub(token.lineWidth).equal()\n },\n // https://github.com/ant-design/ant-design/issues/29559\n [`${componentCls}-selection-search`]: {\n marginInlineStart: 2 // Magic Number\n }\n }\n },\n // ======================== Large ========================\n genSizeStyle(largeToken, 'lg')];\n};\nexport default genMultipleStyle;","\"use client\";\n\nimport * as React from 'react';\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport { devUseWarning } from '../_util/warning';\nexport default function useIcons(_ref) {\n let {\n suffixIcon,\n clearIcon,\n menuItemSelectedIcon,\n removeIcon,\n loading,\n multiple,\n hasFeedback,\n prefixCls,\n showSuffixIcon,\n feedbackIcon,\n showArrow,\n componentName\n } = _ref;\n if (process.env.NODE_ENV !== 'production') {\n const warning = devUseWarning(componentName);\n warning.deprecated(!clearIcon, 'clearIcon', 'allowClear={{ clearIcon: React.ReactNode }}');\n }\n // Clear Icon\n const mergedClearIcon = clearIcon !== null && clearIcon !== void 0 ? clearIcon : /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n // Validation Feedback Icon\n const getSuffixIconNode = arrowIcon => {\n if (suffixIcon === null && !hasFeedback && !showArrow) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, showSuffixIcon !== false && arrowIcon, hasFeedback && feedbackIcon);\n };\n // Arrow item icon\n let mergedSuffixIcon = null;\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = getSuffixIconNode(suffixIcon);\n } else if (loading) {\n mergedSuffixIcon = getSuffixIconNode(/*#__PURE__*/React.createElement(LoadingOutlined, {\n spin: true\n }));\n } else {\n const iconCls = `${prefixCls}-suffix`;\n mergedSuffixIcon = _ref2 => {\n let {\n open,\n showSearch\n } = _ref2;\n if (open && showSearch) {\n return getSuffixIconNode(/*#__PURE__*/React.createElement(SearchOutlined, {\n className: iconCls\n }));\n }\n return getSuffixIconNode(/*#__PURE__*/React.createElement(DownOutlined, {\n className: iconCls\n }));\n };\n }\n // Checked item icon\n let mergedItemIcon = null;\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/React.createElement(CheckOutlined, null);\n } else {\n mergedItemIcon = null;\n }\n let mergedRemoveIcon = null;\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/React.createElement(CloseOutlined, null);\n }\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\n };\n}","/**\n * Since Select, TreeSelect, Cascader is same Select like component.\n * We just use same hook to handle this logic.\n *\n * If `suffixIcon` is not equal to `null`, always show it.\n */\nexport default function useShowArrow(suffixIcon, showArrow) {\n return showArrow !== undefined ? showArrow : suffixIcon !== null;\n}","import { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport const moveDownIn = new Keyframes('antMoveDownIn', {\n '0%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveDownOut = new Keyframes('antMoveDownOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveLeftIn = new Keyframes('antMoveLeftIn', {\n '0%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveLeftOut = new Keyframes('antMoveLeftOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveRightIn = new Keyframes('antMoveRightIn', {\n '0%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveRightOut = new Keyframes('antMoveRightOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveUpIn = new Keyframes('antMoveUpIn', {\n '0%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveUpOut = new Keyframes('antMoveUpOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nconst moveMotion = {\n 'move-up': {\n inKeyframes: moveUpIn,\n outKeyframes: moveUpOut\n },\n 'move-down': {\n inKeyframes: moveDownIn,\n outKeyframes: moveDownOut\n },\n 'move-left': {\n inKeyframes: moveLeftIn,\n outKeyframes: moveLeftOut\n },\n 'move-right': {\n inKeyframes: moveRightIn,\n outKeyframes: moveRightOut\n }\n};\nexport const initMoveMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = moveMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nimport * as React from 'react';\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from \"../components/AntdIcon\";\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _extends({}, props, {\n ref: ref,\n icon: DownOutlinedSvg\n }));\n};\n\n/**![down](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIGZpbGw9IiNjYWNhY2EiIHZpZXdCb3g9IjY0IDY0IDg5NiA4OTYiIGZvY3VzYWJsZT0iZmFsc2UiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTg4NCAyNTZoLTc1Yy01LjEgMC05LjkgMi41LTEyLjkgNi42TDUxMiA2NTQuMiAyMjcuOSAyNjIuNmMtMy00LjEtNy44LTYuNi0xMi45LTYuNmgtNzVjLTYuNSAwLTEwLjMgNy40LTYuNSAxMi43bDM1Mi42IDQ4Ni4xYzEyLjggMTcuNiAzOSAxNy42IDUxLjcgMGwzNTIuNi00ODYuMWMzLjktNS4zLjEtMTIuNy02LjQtMTIuN3oiIC8+PC9zdmc+) */\nvar RefIcon = /*#__PURE__*/React.forwardRef(DownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DownOutlined';\n}\nexport default RefIcon;","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 * 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 * 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 _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 _onBlur = props.onBlur,\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 onOriginBlur = originProps.onBlur,\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 onBlur: function onBlur(event) {\n _onBlur(event);\n if (onOriginBlur) {\n onOriginBlur(event);\n }\n }\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}","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 onInputBlur = props.onInputBlur;\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 // https://github.com/ant-design/ant-design/issues/48930\n if (!values.length) {\n return null;\n }\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 onBlur: onInputBlur,\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(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-wrap\")\n }, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\nexport default SelectSelector;","/* 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 _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 onInputBlur = props.onInputBlur,\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(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-wrap\")\n }, /*#__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 onBlur: onInputBlur,\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 prefix = props.prefix,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n onInputBlur = props.onInputBlur,\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\n // Compatible with multiple lines in TextArea\n var isTextAreaElement = inputRef.current instanceof HTMLTextAreaElement;\n if (!isTextAreaElement && open && (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 // Move within the text box\n if (isTextAreaElement && !open && ~[KeyCode.UP, KeyCode.DOWN, KeyCode.LEFT, KeyCode.RIGHT].indexOf(which)) {\n return;\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 onInputBlur: onInputBlur\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 }, prefix && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-prefix\")\n }, prefix), selectNode);\n};\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nif (process.env.NODE_ENV !== 'production') {\n ForwardSelector.displayName = 'Selector';\n}\nexport default ForwardSelector;","import KeyCode from \"rc-util/es/KeyCode\";\n\n/** keyCode Judgment function */\nexport function isValidateOpenKey(currentKeyCode) {\n return (\n // Undefined for Edge bug:\n // https://github.com/ant-design/ant-design/issues/51292\n currentKeyCode &&\n // Other keys\n ![\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 );\n}","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\", \"prefix\", \"suffixIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"builtinPlacements\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useAllowClear } from \"../hooks/useAllowClear\";\nimport { BaseSelectContext } from \"../hooks/useBaseProps\";\nimport useDelayReset from \"../hooks/useDelayReset\";\nimport useLock from \"../hooks/useLock\";\nimport useSelectTriggerControl from \"../hooks/useSelectTriggerControl\";\nimport Selector from \"../Selector\";\nimport SelectTrigger from \"../SelectTrigger\";\nimport TransBtn from \"../TransBtn\";\nimport { getSeparatedContent, isValidCount } from \"../utils/valueUtil\";\nimport SelectContext from \"../SelectContext\";\nimport Polite from \"./Polite\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport var isMultiple = function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n};\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n prefix = props.prefix,\n suffixIcon = props.suffixIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n builtinPlacements = props.builtinPlacements,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 || omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n var blurRef = React.useRef(false);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n },\n nativeElement: containerRef.current || selectorDomRef.current\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 || (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n // SSR not support Portal which means we need delay `open` for the first time render\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n rendered = _React$useState4[0],\n setRendered = _React$useState4[1];\n useLayoutEffect(function () {\n setRendered(true);\n }, []);\n var _useMergedState = useMergedState(false, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = rendered ? innerOpen : false;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 || onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var _ref = React.useContext(SelectContext) || {},\n maxCount = _ref.maxCount,\n rawValues = _ref.rawValues;\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n if (multiple && isValidCount(maxCount) && (rawValues === null || rawValues === void 0 ? void 0 : rawValues.size) >= maxCount) {\n return;\n }\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 || onActiveValueChange(null);\n var separatedList = getSeparatedContent(searchText, tokenSeparators, isValidCount(maxCount) ? maxCount - rawValues.size : undefined);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : separatedList;\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 || onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n\n // After onBlur is triggered, the focused does not need to be reset\n if (disabled && !blurRef.current) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n var keyLockRef = React.useRef(false);\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var key = event.key;\n var isEnterKey = key === 'Enter';\n if (isEnterKey) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (key === 'Backspace' && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && (!isEnterKey || !keyLockRef.current)) {\n var _listRef$current2;\n // Lock the Enter key after it is pressed to avoid repeated triggering of the onChange event.\n if (isEnterKey) {\n keyLockRef.current = true;\n }\n (_listRef$current2 = listRef.current) === null || _listRef$current2 === void 0 || _listRef$current2.onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 || onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current) === null || _listRef$current3 === void 0 || _listRef$current3.onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n if (event.key === 'Enter') {\n keyLockRef.current = false;\n }\n onKeyUp === null || onKeyUp === void 0 || onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n var onInputBlur = function onInputBlur() {\n // Unlock the Enter key after the input blur; otherwise, the Enter key needs to be pressed twice to trigger the correct effect.\n keyLockRef.current = false;\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n blurRef.current = true;\n setMockFocused(false, function () {\n focusRef.current = false;\n blurRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 || _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 || onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var showSuffixIcon = !!suffixIcon || loading;\n var arrowNode;\n if (showSuffixIcon) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: suffixIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n }\n\n // ============================= Clear ==============================\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 || onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 || _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n var _useAllowClear = useAllowClear(prefixCls, onClearMouseDown, displayValues, allowClear, clearIcon, disabled, mergedSearchValue, mode),\n mergedAllowClear = _useAllowClear.allowClear,\n clearNode = _useAllowClear.clearIcon;\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, \"\".concat(prefixCls, \"-focused\"), mockFocused), \"\".concat(prefixCls, \"-multiple\"), multiple), \"\".concat(prefixCls, \"-single\"), !multiple), \"\".concat(prefixCls, \"-allow-clear\"), allowClear), \"\".concat(prefixCls, \"-show-arrow\"), showSuffixIcon), \"\".concat(prefixCls, \"-disabled\"), disabled), \"\".concat(prefixCls, \"-loading\"), loading), \"\".concat(prefixCls, \"-open\"), mergedOpen), \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch));\n\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n builtinPlacements: builtinPlacements,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode(node) {\n return (\n // TODO: This is workaround and should be removed in `rc-select`\n // And use new standard `nativeElement` for ref.\n // But we should update `rc-resize-observer` first.\n selectorDomRef.current || node\n );\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? ( /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n })) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n prefix: prefix,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter,\n onInputBlur: onInputBlur\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), /*#__PURE__*/React.createElement(Polite, {\n visible: mockFocused && !mergedOpen,\n values: displayValues\n }), selectorNode, arrowNode, mergedAllowClear && clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;","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';\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}","/* 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;","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 _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\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 // https://github.com/ant-design/ant-design/issues/34975\n var isSelected = React.useCallback(function (value) {\n if (mode === 'combobox') {\n return false;\n }\n return rawValues.has(value);\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]);\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) && (isSelected(data.value) || !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/48036\n var isAriaSelected = React.useCallback(function (value) {\n if (mode === 'combobox') {\n return String(value).toLowerCase() === searchValue.toLowerCase();\n }\n return rawValues.has(value);\n }, [mode, searchValue, _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 (Tab / Enter)\n case KeyCode.TAB:\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\": isAriaSelected(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\": isAriaSelected(value),\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;","/* 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 _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 _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;","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 Select from \"./Select\";\nimport Option from \"./Option\";\nimport OptGroup from \"./OptGroup\";\nimport BaseSelect from \"./BaseSelect\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nexport { Option, OptGroup, BaseSelect, useBaseProps };\nexport default Select;","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 * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport classNames from 'classnames';\n/**\n * Fill component to provided the scroll content real height.\n */\nvar Filler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var height = _ref.height,\n offsetY = _ref.offsetY,\n offsetX = _ref.offsetX,\n children = _ref.children,\n prefixCls = _ref.prefixCls,\n onInnerResize = _ref.onInnerResize,\n innerProps = _ref.innerProps,\n rtl = _ref.rtl,\n extra = _ref.extra;\n var outerStyle = {};\n var innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n if (offsetY !== undefined) {\n // Not set `width` since this will break `sticky: right`\n outerStyle = {\n height: height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({\n transform: \"translateY(\".concat(offsetY, \"px)\")\n }, rtl ? 'marginRight' : 'marginLeft', -offsetX), \"position\", 'absolute'), \"left\", 0), \"right\", 0), \"top\", 0));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: outerStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref2) {\n var offsetHeight = _ref2.offsetHeight;\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n style: innerStyle,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-holder-inner\"), prefixCls)),\n ref: ref\n }, innerProps), children, extra)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","import * as React from 'react';\nexport function Item(_ref) {\n var children = _ref.children,\n setRef = _ref.setRef;\n var refFunc = React.useCallback(function (node) {\n setRef(node);\n }, []);\n return /*#__PURE__*/React.cloneElement(children, {\n ref: refFunc\n });\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { findListDiffIndex } from \"../utils/algorithmUtil\";\nexport default function useDiffItem(data, getKey, onDiff) {\n var _React$useState = React.useState(data),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevData = _React$useState2[0],\n setPrevData = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n diffItem = _React$useState4[0],\n setDiffItem = _React$useState4[1];\n React.useEffect(function () {\n var diff = findListDiffIndex(prevData || [], data || [], getKey);\n if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {\n onDiff === null || onDiff === void 0 || onDiff(diff.index);\n setDiffItem(data[diff.index]);\n }\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2;\n\n // Balance\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n if (index % 2) {\n return start + stepIndex + 1;\n }\n return start - stepIndex;\n }\n\n // One is out of range\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n return start + (index - beforeCount);\n}\n\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\nexport function findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n return notExistKey;\n }\n\n // Loop to find diff one\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n }\n\n // Pass to ref since global add is in closure\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom,\n left: isScrollAtLeft,\n right: isScrollAtRight\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n scrollPingRef.current.left = isScrollAtLeft;\n scrollPingRef.current.right = isScrollAtRight;\n return function (isHorizontal, delta) {\n var smoothOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var originScroll = isHorizontal ?\n // Pass origin wheel when on the left\n delta < 0 && scrollPingRef.current.left ||\n // Pass origin wheel when on the right\n delta > 0 && scrollPingRef.current.right // Pass origin wheel when on the top\n : delta < 0 && scrollPingRef.current.top ||\n // Pass origin wheel when on the bottom\n delta > 0 && scrollPingRef.current.bottom;\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n return !lockRef.current && originScroll;\n };\n});","import raf from \"rc-util/es/raf\";\nimport { useRef } from 'react';\nimport isFF from \"../utils/isFirefox\";\nimport useOriginScroll from \"./useOriginScroll\";\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, horizontalScroll,\n/***\n * Return `true` when you need to prevent default event\n */\nonWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null);\n\n // Firefox patch\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false);\n\n // Scroll status sync\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n function onWheelY(e, deltaY) {\n raf.cancel(nextFrameRef.current);\n\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(false, deltaY)) return;\n\n // Skip if nest List has handled this event\n var event = e;\n if (!event._virtualHandled) {\n event._virtualHandled = true;\n } else {\n return;\n }\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n\n // Proxy of scroll events\n if (!isFF) {\n event.preventDefault();\n }\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple, false);\n offsetRef.current = 0;\n });\n }\n function onWheelX(event, deltaX) {\n onWheelDelta(deltaX, true);\n if (!isFF) {\n event.preventDefault();\n }\n }\n\n // Check for which direction does wheel do. `sx` means `shift + wheel`\n var wheelDirectionRef = useRef(null);\n var wheelDirectionCleanRef = useRef(null);\n function onWheel(event) {\n if (!inVirtual) return;\n\n // Wait for 2 frame to clean direction\n raf.cancel(wheelDirectionCleanRef.current);\n wheelDirectionCleanRef.current = raf(function () {\n wheelDirectionRef.current = null;\n }, 2);\n var deltaX = event.deltaX,\n deltaY = event.deltaY,\n shiftKey = event.shiftKey;\n var mergedDeltaX = deltaX;\n var mergedDeltaY = deltaY;\n if (wheelDirectionRef.current === 'sx' || !wheelDirectionRef.current && (shiftKey || false) && deltaY && !deltaX) {\n mergedDeltaX = deltaY;\n mergedDeltaY = 0;\n wheelDirectionRef.current = 'sx';\n }\n var absX = Math.abs(mergedDeltaX);\n var absY = Math.abs(mergedDeltaY);\n if (wheelDirectionRef.current === null) {\n wheelDirectionRef.current = horizontalScroll && absX > absY ? 'x' : 'y';\n }\n if (wheelDirectionRef.current === 'y') {\n onWheelY(event, mergedDeltaY);\n } else {\n onWheelX(event, mergedDeltaX);\n }\n }\n\n // A patch for firefox\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n return [onWheel, onFireFoxScroll];\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n// Firefox has low performance of map.\nvar CacheMap = /*#__PURE__*/function () {\n function CacheMap() {\n _classCallCheck(this, CacheMap);\n _defineProperty(this, \"maps\", void 0);\n // Used for cache key\n // `useMemo` no need to update if `id` not change\n _defineProperty(this, \"id\", 0);\n _defineProperty(this, \"diffKeys\", new Set());\n this.maps = Object.create(null);\n }\n _createClass(CacheMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.maps[key] = value;\n this.id += 1;\n this.diffKeys.add(key);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n\n /**\n * CacheMap will record the key changed.\n * To help to know what's update in the next render.\n */\n }, {\n key: \"resetRecord\",\n value: function resetRecord() {\n this.diffKeys.clear();\n }\n }, {\n key: \"getRecord\",\n value: function getRecord() {\n return this.diffKeys;\n }\n }]);\n return CacheMap;\n}();\nexport default CacheMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport * as React from 'react';\nimport { useEffect, useRef } from 'react';\nimport CacheMap from \"../utils/CacheMap\";\nfunction parseNumber(value) {\n var num = parseFloat(value);\n return isNaN(num) ? 0 : num;\n}\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n updatedMark = _React$useState2[0],\n setUpdatedMark = _React$useState2[1];\n var instanceRef = useRef(new Map());\n var heightsRef = useRef(new CacheMap());\n var promiseIdRef = useRef(0);\n function cancelRaf() {\n promiseIdRef.current += 1;\n }\n function collectHeight() {\n var sync = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n cancelRaf();\n var doCollect = function doCollect() {\n var changed = false;\n instanceRef.current.forEach(function (element, key) {\n if (element && element.offsetParent) {\n var htmlElement = findDOMNode(element);\n var offsetHeight = htmlElement.offsetHeight;\n var _getComputedStyle = getComputedStyle(htmlElement),\n marginTop = _getComputedStyle.marginTop,\n marginBottom = _getComputedStyle.marginBottom;\n var marginTopNum = parseNumber(marginTop);\n var marginBottomNum = parseNumber(marginBottom);\n var totalHeight = offsetHeight + marginTopNum + marginBottomNum;\n if (heightsRef.current.get(key) !== totalHeight) {\n heightsRef.current.set(key, totalHeight);\n changed = true;\n }\n }\n });\n\n // Always trigger update mark to tell parent that should re-calculate heights when resized\n if (changed) {\n setUpdatedMark(function (c) {\n return c + 1;\n });\n }\n };\n if (sync) {\n doCollect();\n } else {\n promiseIdRef.current += 1;\n var id = promiseIdRef.current;\n Promise.resolve().then(function () {\n if (id === promiseIdRef.current) {\n doCollect();\n }\n });\n }\n }\n function setInstanceRef(item, instance) {\n var key = getKey(item);\n var origin = instanceRef.current.get(key);\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n }\n\n // Instance changed\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd === null || onItemAdd === void 0 || onItemAdd(item);\n } else {\n onItemRemove === null || onItemRemove === void 0 || onItemRemove(item);\n }\n }\n }\n useEffect(function () {\n return cancelRaf;\n }, []);\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\n}","import useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef } from 'react';\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchXRef = useRef(0);\n var touchYRef = useRef(0);\n var elementRef = useRef(null);\n\n // Smooth scroll\n var intervalRef = useRef(null);\n\n /* eslint-disable prefer-const */\n var cleanUpEvents;\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentX = Math.ceil(e.touches[0].pageX);\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetX = touchXRef.current - currentX;\n var offsetY = touchYRef.current - currentY;\n var _isHorizontal = Math.abs(offsetX) > Math.abs(offsetY);\n if (_isHorizontal) {\n touchXRef.current = currentX;\n } else {\n touchYRef.current = currentY;\n }\n var scrollHandled = callback(_isHorizontal, _isHorizontal ? offsetX : offsetY, false, e);\n if (scrollHandled) {\n e.preventDefault();\n }\n\n // Smooth interval\n clearInterval(intervalRef.current);\n if (scrollHandled) {\n intervalRef.current = setInterval(function () {\n if (_isHorizontal) {\n offsetX *= SMOOTH_PTG;\n } else {\n offsetY *= SMOOTH_PTG;\n }\n var offset = Math.floor(_isHorizontal ? offsetX : offsetY);\n if (!callback(_isHorizontal, offset, true) || Math.abs(offset) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n }\n };\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchXRef.current = Math.ceil(e.touches[0].pageX);\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove, {\n passive: false\n });\n elementRef.current.addEventListener('touchend', onTouchEnd, {\n passive: true\n });\n }\n };\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n }\n return function () {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nfunction smoothScrollOffset(offset) {\n return Math.floor(Math.pow(offset, 0.5));\n}\nexport function getPageXY(e, horizontal) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return obj[horizontal ? 'pageX' : 'pageY'] - window[horizontal ? 'scrollX' : 'scrollY'];\n}\nexport default function useScrollDrag(inVirtual, componentRef, onScrollOffset) {\n React.useEffect(function () {\n var ele = componentRef.current;\n if (inVirtual && ele) {\n var mouseDownLock = false;\n var rafId;\n var _offset;\n var stopScroll = function stopScroll() {\n raf.cancel(rafId);\n };\n var continueScroll = function continueScroll() {\n stopScroll();\n rafId = raf(function () {\n onScrollOffset(_offset);\n continueScroll();\n });\n };\n var onMouseDown = function onMouseDown(e) {\n // Skip if nest List has handled this event\n var event = e;\n if (!event._virtualHandled) {\n event._virtualHandled = true;\n mouseDownLock = true;\n }\n };\n var onMouseUp = function onMouseUp() {\n mouseDownLock = false;\n stopScroll();\n };\n var onMouseMove = function onMouseMove(e) {\n if (mouseDownLock) {\n var mouseY = getPageXY(e, false);\n var _ele$getBoundingClien = ele.getBoundingClientRect(),\n top = _ele$getBoundingClien.top,\n bottom = _ele$getBoundingClien.bottom;\n if (mouseY <= top) {\n var diff = top - mouseY;\n _offset = -smoothScrollOffset(diff);\n continueScroll();\n } else if (mouseY >= bottom) {\n var _diff = mouseY - bottom;\n _offset = smoothScrollOffset(_diff);\n continueScroll();\n } else {\n stopScroll();\n }\n }\n };\n ele.addEventListener('mousedown', onMouseDown);\n ele.ownerDocument.addEventListener('mouseup', onMouseUp);\n ele.ownerDocument.addEventListener('mousemove', onMouseMove);\n return function () {\n ele.removeEventListener('mousedown', onMouseDown);\n ele.ownerDocument.removeEventListener('mouseup', onMouseUp);\n ele.ownerDocument.removeEventListener('mousemove', onMouseMove);\n stopScroll();\n };\n }\n }, [inVirtual]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { getPageXY } from \"./hooks/useScrollDrag\";\nvar ScrollBar = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n rtl = props.rtl,\n scrollOffset = props.scrollOffset,\n scrollRange = props.scrollRange,\n onStartMove = props.onStartMove,\n onStopMove = props.onStopMove,\n onScroll = props.onScroll,\n horizontal = props.horizontal,\n spinSize = props.spinSize,\n containerSize = props.containerSize,\n style = props.style,\n propsThumbStyle = props.thumbStyle;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dragging = _React$useState2[0],\n setDragging = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pageXY = _React$useState4[0],\n setPageXY = _React$useState4[1];\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n startTop = _React$useState6[0],\n setStartTop = _React$useState6[1];\n var isLTR = !rtl;\n\n // ========================= Refs =========================\n var scrollbarRef = React.useRef();\n var thumbRef = React.useRef();\n\n // ======================= Visible ========================\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n visible = _React$useState8[0],\n setVisible = _React$useState8[1];\n var visibleTimeoutRef = React.useRef();\n var delayHidden = function delayHidden() {\n clearTimeout(visibleTimeoutRef.current);\n setVisible(true);\n visibleTimeoutRef.current = setTimeout(function () {\n setVisible(false);\n }, 3000);\n };\n\n // ======================== Range =========================\n var enableScrollRange = scrollRange - containerSize || 0;\n var enableOffsetRange = containerSize - spinSize || 0;\n\n // ========================= Top ==========================\n var top = React.useMemo(function () {\n if (scrollOffset === 0 || enableScrollRange === 0) {\n return 0;\n }\n var ptg = scrollOffset / enableScrollRange;\n return ptg * enableOffsetRange;\n }, [scrollOffset, enableScrollRange, enableOffsetRange]);\n\n // ====================== Container =======================\n var onContainerMouseDown = function onContainerMouseDown(e) {\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Thumb =========================\n var stateRef = React.useRef({\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n });\n stateRef.current = {\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n };\n var onThumbMouseDown = function onThumbMouseDown(e) {\n setDragging(true);\n setPageXY(getPageXY(e, horizontal));\n setStartTop(stateRef.current.top);\n onStartMove();\n e.stopPropagation();\n e.preventDefault();\n };\n\n // ======================== Effect ========================\n\n // React make event as passive, but we need to preventDefault\n // Add event on dom directly instead.\n // ref: https://github.com/facebook/react/issues/9809\n React.useEffect(function () {\n var onScrollbarTouchStart = function onScrollbarTouchStart(e) {\n e.preventDefault();\n };\n var scrollbarEle = scrollbarRef.current;\n var thumbEle = thumbRef.current;\n scrollbarEle.addEventListener('touchstart', onScrollbarTouchStart, {\n passive: false\n });\n thumbEle.addEventListener('touchstart', onThumbMouseDown, {\n passive: false\n });\n return function () {\n scrollbarEle.removeEventListener('touchstart', onScrollbarTouchStart);\n thumbEle.removeEventListener('touchstart', onThumbMouseDown);\n };\n }, []);\n\n // Pass to effect\n var enableScrollRangeRef = React.useRef();\n enableScrollRangeRef.current = enableScrollRange;\n var enableOffsetRangeRef = React.useRef();\n enableOffsetRangeRef.current = enableOffsetRange;\n React.useEffect(function () {\n if (dragging) {\n var moveRafId;\n var onMouseMove = function onMouseMove(e) {\n var _stateRef$current = stateRef.current,\n stateDragging = _stateRef$current.dragging,\n statePageY = _stateRef$current.pageY,\n stateStartTop = _stateRef$current.startTop;\n raf.cancel(moveRafId);\n var rect = scrollbarRef.current.getBoundingClientRect();\n var scale = containerSize / (horizontal ? rect.width : rect.height);\n if (stateDragging) {\n var offset = (getPageXY(e, horizontal) - statePageY) * scale;\n var newTop = stateStartTop;\n if (!isLTR && horizontal) {\n newTop -= offset;\n } else {\n newTop += offset;\n }\n var tmpEnableScrollRange = enableScrollRangeRef.current;\n var tmpEnableOffsetRange = enableOffsetRangeRef.current;\n var ptg = tmpEnableOffsetRange ? newTop / tmpEnableOffsetRange : 0;\n var newScrollTop = Math.ceil(ptg * tmpEnableScrollRange);\n newScrollTop = Math.max(newScrollTop, 0);\n newScrollTop = Math.min(newScrollTop, tmpEnableScrollRange);\n moveRafId = raf(function () {\n onScroll(newScrollTop, horizontal);\n });\n }\n };\n var onMouseUp = function onMouseUp() {\n setDragging(false);\n onStopMove();\n };\n window.addEventListener('mousemove', onMouseMove, {\n passive: true\n });\n window.addEventListener('touchmove', onMouseMove, {\n passive: true\n });\n window.addEventListener('mouseup', onMouseUp, {\n passive: true\n });\n window.addEventListener('touchend', onMouseUp, {\n passive: true\n });\n return function () {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onMouseUp);\n raf.cancel(moveRafId);\n };\n }\n }, [dragging]);\n React.useEffect(function () {\n delayHidden();\n return function () {\n clearTimeout(visibleTimeoutRef.current);\n };\n }, [scrollOffset]);\n\n // ====================== Imperative ======================\n React.useImperativeHandle(ref, function () {\n return {\n delayHidden: delayHidden\n };\n });\n\n // ======================== Render ========================\n var scrollbarPrefixCls = \"\".concat(prefixCls, \"-scrollbar\");\n var containerStyle = {\n position: 'absolute',\n visibility: visible ? null : 'hidden'\n };\n var thumbStyle = {\n position: 'absolute',\n background: 'rgba(0, 0, 0, 0.5)',\n borderRadius: 99,\n cursor: 'pointer',\n userSelect: 'none'\n };\n if (horizontal) {\n // Container\n containerStyle.height = 8;\n containerStyle.left = 0;\n containerStyle.right = 0;\n containerStyle.bottom = 0;\n\n // Thumb\n thumbStyle.height = '100%';\n thumbStyle.width = spinSize;\n if (isLTR) {\n thumbStyle.left = top;\n } else {\n thumbStyle.right = top;\n }\n } else {\n // Container\n containerStyle.width = 8;\n containerStyle.top = 0;\n containerStyle.bottom = 0;\n if (isLTR) {\n containerStyle.right = 0;\n } else {\n containerStyle.left = 0;\n }\n\n // Thumb\n thumbStyle.width = '100%';\n thumbStyle.height = spinSize;\n thumbStyle.top = top;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarRef,\n className: classNames(scrollbarPrefixCls, _defineProperty(_defineProperty(_defineProperty({}, \"\".concat(scrollbarPrefixCls, \"-horizontal\"), horizontal), \"\".concat(scrollbarPrefixCls, \"-vertical\"), !horizontal), \"\".concat(scrollbarPrefixCls, \"-visible\"), visible)),\n style: _objectSpread(_objectSpread({}, containerStyle), style),\n onMouseDown: onContainerMouseDown,\n onMouseMove: delayHidden\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: thumbRef,\n className: classNames(\"\".concat(scrollbarPrefixCls, \"-thumb\"), _defineProperty({}, \"\".concat(scrollbarPrefixCls, \"-thumb-moving\"), dragging)),\n style: _objectSpread(_objectSpread({}, thumbStyle), propsThumbStyle),\n onMouseDown: onThumbMouseDown\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n ScrollBar.displayName = 'ScrollBar';\n}\nexport default ScrollBar;","var MIN_SIZE = 20;\nexport function getSpinSize() {\n var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var scrollRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var baseSize = containerSize / scrollRange * containerSize;\n if (isNaN(baseSize)) {\n baseSize = 0;\n }\n baseSize = Math.max(baseSize, MIN_SIZE);\n return Math.floor(baseSize);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { useEvent } from 'rc-util';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport Filler from \"./Filler\";\nimport useChildren from \"./hooks/useChildren\";\nimport useDiffItem from \"./hooks/useDiffItem\";\nimport useFrameWheel from \"./hooks/useFrameWheel\";\nimport { useGetSize } from \"./hooks/useGetSize\";\nimport useHeights from \"./hooks/useHeights\";\nimport useMobileTouchMove from \"./hooks/useMobileTouchMove\";\nimport useOriginScroll from \"./hooks/useOriginScroll\";\nimport useScrollDrag from \"./hooks/useScrollDrag\";\nimport useScrollTo from \"./hooks/useScrollTo\";\nimport ScrollBar from \"./ScrollBar\";\nimport { getSpinSize } from \"./utils/scrollbarUtil\";\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n direction = props.direction,\n scrollWidth = props.scrollWidth,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVirtualScroll = props.onVirtualScroll,\n onVisibleChange = props.onVisibleChange,\n innerProps = props.innerProps,\n extraRender = props.extraRender,\n styles = props.styles,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Item Key ===============================\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n\n // ================================ Height ================================\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3];\n\n // ================================= MISC =================================\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var containerHeight = React.useMemo(function () {\n return Object.values(heights.maps).reduce(function (total, curr) {\n return total + curr;\n }, 0);\n }, [heights.id, heights.maps]);\n var inVirtual = useVirtual && data && (Math.max(itemHeight * data.length, containerHeight) > height || !!scrollWidth);\n var isRTL = direction === 'rtl';\n var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var containerRef = useRef();\n\n // =============================== Item Key ===============================\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n offsetTop = _useState2[0],\n setOffsetTop = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n offsetLeft = _useState4[0],\n setOffsetLeft = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrollMoving = _useState6[0],\n setScrollMoving = _useState6[1];\n var onScrollbarStartMove = function onScrollbarStartMove() {\n setScrollMoving(true);\n };\n var onScrollbarStopMove = function onScrollbarStopMove() {\n setScrollMoving(false);\n };\n var sharedConfig = {\n getKey: getKey\n };\n\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(function (origin) {\n var value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n diffItemRef.current = diffItem;\n\n // ========================== Visible Calculation =========================\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n for (var i = 0; i < dataLen; i += 1) {\n var _item = mergedData[i];\n var key = getKey(_item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n fillerOffset = _React$useMemo.offset;\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n\n // When scroll up, first visible item get real height may not same as `itemHeight`,\n // Which will make scroll jump.\n // Let's sync scroll top to avoid jump\n React.useLayoutEffect(function () {\n var changedRecord = heights.getRecord();\n if (changedRecord.size === 1) {\n var recordKey = Array.from(changedRecord)[0];\n var startIndexKey = getKey(mergedData[start]);\n if (startIndexKey === recordKey) {\n var realStartHeight = heights.get(recordKey);\n var diffHeight = realStartHeight - itemHeight;\n syncScrollTop(function (ori) {\n return ori + diffHeight;\n });\n }\n }\n heights.resetRecord();\n }, [scrollHeight]);\n\n // ================================= Size =================================\n var _React$useState = React.useState({\n width: 0,\n height: height\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n size = _React$useState2[0],\n setSize = _React$useState2[1];\n var onHolderResize = function onHolderResize(sizeInfo) {\n setSize({\n width: sizeInfo.offsetWidth,\n height: sizeInfo.offsetHeight\n });\n };\n\n // Hack on scrollbar to enable flash call\n var verticalScrollBarRef = useRef();\n var horizontalScrollBarRef = useRef();\n var horizontalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.width, scrollWidth);\n }, [size.width, scrollWidth]);\n var verticalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.height, scrollHeight);\n }, [size.height, scrollHeight]);\n\n // =============================== In Range ===============================\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n var isScrollAtTop = offsetTop <= 0;\n var isScrollAtBottom = offsetTop >= maxScrollHeight;\n var isScrollAtLeft = offsetLeft <= 0;\n var isScrollAtRight = offsetLeft >= scrollWidth;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n\n // ================================ Scroll ================================\n var getVirtualScrollInfo = function getVirtualScrollInfo() {\n return {\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n };\n };\n var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n var triggerScroll = useEvent(function (params) {\n if (onVirtualScroll) {\n var nextInfo = _objectSpread(_objectSpread({}, getVirtualScrollInfo()), params);\n\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n var newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(function () {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n\n // Trigger origin onScroll\n onScroll === null || onScroll === void 0 || onScroll(e);\n triggerScroll();\n }\n var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n var tmpOffsetLeft = nextOffsetLeft;\n var max = !!scrollWidth ? scrollWidth - size.width : 0;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n if (fromHorizontal) {\n flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (isHorizontal, delta, smoothOffset, e) {\n var event = e;\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n\n // Fix nest List trigger TouchMove event\n if (!event || !event._virtualHandled) {\n if (event) {\n event._virtualHandled = true;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n }\n return false;\n });\n\n // MouseDown drag for scroll\n useScrollDrag(inVirtual, componentRef, function (offset) {\n syncScrollTop(function (top) {\n return top + offset;\n });\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n // scrolling at top/bottom limit\n var scrollingUpAtTop = isScrollAtTop && e.detail < 0;\n var scrollingDownAtBottom = isScrollAtBottom && e.detail > 0;\n if (useVirtual && !scrollingUpAtTop && !scrollingDownAtBottom) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual, isScrollAtTop, isScrollAtBottom]);\n\n // Sync scroll left\n useLayoutEffect(function () {\n if (scrollWidth) {\n var newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n return collectHeight(true);\n }, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { warning } from 'rc-util';\nvar MAX_TIMES = 10;\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n var scrollRef = React.useRef();\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n syncState = _React$useState2[0],\n setSyncState = _React$useState2[1];\n\n // ========================== Sync Scroll ==========================\n useLayoutEffect(function () {\n if (syncState && syncState.times < MAX_TIMES) {\n // Never reach\n if (!containerRef.current) {\n setSyncState(function (ori) {\n return _objectSpread({}, ori);\n });\n return;\n }\n collectHeight();\n var targetAlign = syncState.targetAlign,\n originAlign = syncState.originAlign,\n index = syncState.index,\n offset = syncState.offset;\n var height = containerRef.current.clientHeight;\n var needCollectHeight = false;\n var newTargetAlign = targetAlign;\n var targetTop = null;\n\n // Go to next frame if height not exist\n if (height) {\n var mergedAlign = targetAlign || originAlign;\n\n // Get top & bottom\n var stackTop = 0;\n var itemTop = 0;\n var itemBottom = 0;\n var maxLen = Math.min(data.length - 1, index);\n for (var i = 0; i <= maxLen; i += 1) {\n var key = getKey(data[i]);\n itemTop = stackTop;\n var cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n }\n\n // Check if need sync height (visible range has item not record height)\n var leftHeight = mergedAlign === 'top' ? offset : height - offset;\n for (var _i = maxLen; _i >= 0; _i -= 1) {\n var _key = getKey(data[_i]);\n var _cacheHeight = heights.get(_key);\n if (_cacheHeight === undefined) {\n needCollectHeight = true;\n break;\n }\n leftHeight -= _cacheHeight;\n if (leftHeight <= 0) {\n break;\n }\n }\n\n // Scroll to\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n default:\n {\n var scrollTop = containerRef.current.scrollTop;\n var scrollBottom = scrollTop + height;\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n if (targetTop !== null) {\n syncScrollTop(targetTop);\n }\n\n // One more time for sync\n if (targetTop !== syncState.lastTop) {\n needCollectHeight = true;\n }\n }\n\n // Trigger next effect\n if (needCollectHeight) {\n setSyncState(_objectSpread(_objectSpread({}, syncState), {}, {\n times: syncState.times + 1,\n targetAlign: newTargetAlign,\n lastTop: targetTop\n }));\n }\n } else if (process.env.NODE_ENV !== 'production' && (syncState === null || syncState === void 0 ? void 0 : syncState.times) === MAX_TIMES) {\n warning(false, 'Seems `scrollTo` with `rc-virtual-list` reach the max limitation. Please fire issue for us. Thanks.');\n }\n }, [syncState, containerRef.current]);\n\n // =========================== Scroll To ===========================\n return function (arg) {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n }\n\n // Normal scroll logic\n raf.cancel(scrollRef.current);\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && _typeof(arg) === 'object') {\n var index;\n var align = arg.align;\n if ('index' in arg) {\n index = arg.index;\n } else {\n index = data.findIndex(function (item) {\n return getKey(item) === arg.key;\n });\n }\n var _arg$offset = arg.offset,\n offset = _arg$offset === void 0 ? 0 : _arg$offset;\n setSyncState({\n times: 0,\n index: index,\n offset: offset,\n originAlign: align\n });\n }\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Size info need loop query for the `heights` which will has the perf issue.\n * Let cache result for each render phase.\n */\nexport function useGetSize(mergedData, getKey, heights, itemHeight) {\n var _React$useMemo = React.useMemo(function () {\n return [new Map(), []];\n }, [mergedData, heights.id, itemHeight]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n key2Index = _React$useMemo2[0],\n bottomList = _React$useMemo2[1];\n var getSize = function getSize(startKey) {\n var endKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startKey;\n // Get from cache first\n var startIndex = key2Index.get(startKey);\n var endIndex = key2Index.get(endKey);\n\n // Loop to fill the cache\n if (startIndex === undefined || endIndex === undefined) {\n var dataLen = mergedData.length;\n for (var i = bottomList.length; i < dataLen; i += 1) {\n var _heights$get;\n var item = mergedData[i];\n var key = getKey(item);\n key2Index.set(key, i);\n var cacheHeight = (_heights$get = heights.get(key)) !== null && _heights$get !== void 0 ? _heights$get : itemHeight;\n bottomList[i] = (bottomList[i - 1] || 0) + cacheHeight;\n if (key === startKey) {\n startIndex = i;\n }\n if (key === endKey) {\n endIndex = i;\n }\n if (startIndex !== undefined && endIndex !== undefined) {\n break;\n }\n }\n }\n return {\n top: bottomList[startIndex - 1] || 0,\n bottom: bottomList[endIndex]\n };\n };\n return getSize;\n}","import * as React from 'react';\nimport { Item } from \"../Item\";\nexport default function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {\n style: {\n width: scrollWidth\n },\n offsetX: offsetX\n });\n var key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from \"./List\";\nexport default List;"],"names":["useForceUpdate","forceUpdate","React","x","props","componentName","getPrefixCls","useContext","ConfigContext","prefix","Empty","image","PRESENTED_IMAGE_SIMPLE","className","concat","refreshOnChange","arguments","length","undefined","screensRef","useRef","responsiveObserver","useResponsiveObserver","useLayoutEffect","token","subscribe","supportScreens","current","unsubscribe","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","ref","_a","prefixCls","customizePrefixCls","bordered","rootClassName","getPopupContainer","popupClassName","dropdownClassName","listHeight","placement","listItemHeight","customListItemHeight","size","customizeSize","disabled","customDisabled","notFoundContent","status","customStatus","builtinPlacements","dropdownMatchSelectWidth","popupMatchSelectWidth","direction","propDirection","style","allowClear","variant","customizeVariant","dropdownStyle","transitionName","tagRender","maxCount","rest","getContextPopupContainer","renderEmpty","contextDirection","virtual","contextPopupMatchSelectWidth","popupOverflow","select","useToken","controlHeight","rootPrefixCls","compactSize","compactItemClassnames","useCompactItemContext","enableVariantCls","useVariants","rootCls","useCSSVarCls","wrapCSSVar","hashId","cssVarCls","useStyle","mode","m","isMultiple","showSuffixIcon","useShowArrow","suffixIcon","showArrow","mergedPopupMatchSelectWidth","contextStatus","hasFeedback","isFormItemInput","feedbackIcon","FormItemInputContext","mergedStatus","getMergedStatus","mergedNotFound","DefaultRenderEmpty","itemIcon","removeIcon","clearIcon","useIcons","assign","multiple","mergedAllowClear","selectProps","omit","mergedPopupClassName","classNames","mergedSize","useSize","ctx","DisabledContext","mergedDisabled","mergedClassName","getStatusClassNames","memoPlacement","zIndex","useZIndex","RcSelect","showSearch","getTransitionName","mergedBuiltinPlacements","menuItemSelectedIcon","Select","PurePanel","genPurePanel","Option","OptGroup","_InternalPanelDoNotUseOrYouWillBeFired","buildInPlacements","sharedConfig","overflow","adjustX","adjustY","shiftY","htmlRegion","dynamicInset","bottomLeft","points","offset","bottomRight","topLeft","topRight","getBuiltInPlacements","genItemStyle","optionHeight","optionFontSize","optionLineHeight","optionPadding","position","display","minHeight","padding","color","colorText","fontWeight","fontSize","lineHeight","boxSizing","antCls","componentCls","selectItemCls","slideUpEnterActive","slideUpAppearActive","slideUpLeaveActive","dropdownPlacementCls","resetComponent","top","zIndexPopup","paddingXXS","fontVariant","backgroundColor","colorBgElevated","borderRadius","borderRadiusLG","outline","boxShadow","boxShadowSecondary","animationName","slideUpIn","slideDownIn","slideUpOut","slideDownOut","cursor","transition","motionDurationSlow","borderRadiusSM","colorTextDescription","fontSizeSM","flex","textEllipsis","alignItems","optionActiveBg","optionSelectedColor","optionSelectedFontWeight","optionSelectedBg","colorPrimary","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","colorBgContainerDisabled","colorTextDisabled","paddingInlineStart","calc","controlPaddingHorizontal","mul","equal","initSlideMotion","initMoveMotion","genSizeStyle","suffix","inputPaddingHorizontalBase","selectHeightWithoutBorder","sub","lineWidth","suffixCls","height","inset","width","WebkitAppearance","unit","alignSelf","pointerEvents","join","visibility","content","paddingInlineEnd","showArrowPaddingInlineEnd","colorTextPlaceholder","insetInlineStart","insetInlineEnd","genSingleStyle","inputPaddingHorizontalSM","controlPaddingHorizontalSM","mergeToken","controlHeightSM","add","singleItemHeightLG","fontSizeLG","genBaseOutlinedStyle","options","controlOutlineWidth","border","lineType","borderColor","background","selectorBg","hoverBorderHover","activeBorderColor","activeOutlineColor","genOutlinedStatusStyle","genOutlinedStyle","colorBorder","hoverBorderColor","colorError","colorErrorHover","colorErrorOutline","colorWarning","colorWarningHover","colorWarningOutline","multipleItemBg","multipleItemBorderColor","genBaseFilledStyle","bg","hoverBg","genFilledStatusStyle","genFilledStyle","colorFillTertiary","colorFillSecondary","colorErrorBg","colorErrorBgHover","colorWarningBg","colorWarningBgHover","colorBgContainer","colorSplit","genBorderlessStyle","genSelectorStyle","motionDurationMid","motionEaseInOut","input","getSearchInputWithoutBorderStyle","margin","appearance","fontFamily","genBaseStyle","iconCls","userSelect","resetIcon","fontSizeIcon","marginTop","div","colorTextQuaternary","textAlign","verticalAlign","marginInlineEnd","minWidth","selectAffixPadding","fontStyle","textTransform","opacity","textRendering","colorTextTertiary","colorBgBase","paddingXS","genSelectStyle","genMultipleStyle","genDropdownStyle","genCompactItemStyle","borderElCls","focusElCls","genStyleHooks","_ref","selectToken","paddingSM","multipleSelectItemHeight","multipleItemHeight","selectHeight","genVariantsStyle","controlHeightLG","zIndexPopupBase","fontWeightStrong","controlItemBgActive","controlItemBgHover","colorPrimaryHover","controlOutline","dblPaddingXXS","dblLineWidth","Math","min","multipleItemHeightSM","multipleItemHeightLG","INTERNAL_FIXED_ITEM_MARGIN","floor","clearBg","multipleSelectorBgDisabled","multipleItemColorDisabled","multipleItemBorderColorDisabled","ceil","unitless","getMultipleSelectorUnit","basePadding","max","containerPadding","itemHeight","itemLineHeight","genOverflowStyle","colorIcon","colorIconHover","selectOverflowPrefixCls","flexWrap","maxWidth","marginBlock","whiteSpace","textOverflow","genSelectionStyle","selectItemHeight","selectItemDist","getSelectItemStyle","multipleSelectorUnit","paddingInline","paddingBlock","marginInlineStart","transform","rawStyle","smallToken","borderRadiusXS","largeToken","insetInline","loading","mergedClearIcon","CloseCircleFilled","getSuffixIconNode","arrowIcon","mergedSuffixIcon","LoadingOutlined","spin","_ref2","open","SearchOutlined","DownOutlined","mergedItemIcon","CheckOutlined","mergedRemoveIcon","CloseOutlined","moveDownIn","Keyframes","transformOrigin","moveDownOut","moveLeftIn","moveLeftOut","moveRightIn","moveRightOut","moveMotion","inKeyframes","outKeyframes","motionName","motionCls","initMotion","animationTimingFunction","motionEaseOutCirc","motionEaseInOutCirc","AntdIcon","_extends","icon","DownOutlinedSvg","uuid","isBrowserClient","canUseDom","useId","id","_React$useState","_React$useState2","_slicedToArray","innerId","setInnerId","retId","getUUID","customizeIcon","customizeIconProps","children","_onMouseDown","onMouseDown","onClick","event","preventDefault","WebkitUserSelect","unselectable","split","map","cls","BaseSelectContext","useBaseProps","useLock","duration","lockRef","timeoutRef","window","clearTimeout","locked","setTimeout","Input","_inputNode2","inputElement","tabIndex","autoFocus","autoComplete","editable","activeDescendantId","value","maxLength","_onKeyDown","onKeyDown","_onChange","onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","_onBlur","onBlur","attrs","inputNode","_inputNode","originRef","originProps","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","onOriginBlur","warning","_objectSpread","type","composeRef","role","readOnly","toArray","Array","isArray","document","documentElement","isTitleType","title","includes","_typeof","getTitle","item","toString","label","itemKey","_value$key","key","onPreventMouseDown","stopPropagation","effect","deps","values","searchValue","autoClearSearchValue","inputRef","placeholder","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","onToggleOpen","onRemove","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","onInputBlur","measureRef","_useState","useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","focused","setFocused","selectionPrefixCls","inputValue","inputEditable","scrollWidth","defaultRenderSelector","itemDisabled","closable","onClose","_defineProperty","TransBtn","customizeRenderSelector","isMaxTag","onFocus","pickAttrs","selectionNode","Overflow","data","renderItem","valueItem","displayLabel","strLabel","String","slice","renderRest","activeValue","inputChanged","setInputChanged","combobox","hasTextInput","selectionTitle","placeholderNode","Selector","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","focus","blur","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","currentKeyCode","which","isTextAreaElement","HTMLTextAreaElement","KeyCode","UP","DOWN","ENTER","target","LEFT","RIGHT","ESC","SHIFT","BACKSPACE","TAB","WIN_KEY","ALT","META","WIN_KEY_RIGHT","CTRL","SEMICOLON","EQUALS","CAPS_LOCK","CONTEXT_MENU","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","test","replacedText","replace","clipboardData","getData","selectNode","MultipleSelector","SingleSelector","body","msTouchAction","inputMouseDown","_excluded","SelectTrigger","visible","popupElement","animation","_props$direction","dropdownRender","dropdownAlign","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter","restProps","_objectWithoutProperties","dropdownPrefixCls","popupNode","mergedTransitionName","isNumberPopupWidth","stretch","popupStyle","triggerPopupRef","getPopupElement","_triggerPopupRef$curr","Trigger","showAction","hideAction","popupPlacement","popupTransitionName","popup","onMouseEnter","popupAlign","popupVisible","getKey","index","isValidCount","Number","isNaN","fillFieldNames","fieldNames","childrenAsData","mergedLabel","groupLabel","injectPropsWithOption","option","newOption","defineProperty","get","Polite","DEFAULT_OMIT_PROPS","BaseSelect","_customizeRawInputEle","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","_props$notFoundConten","onClear","getInputElement","getRawInputElement","defaultOpen","onDropdownVisibleChange","onActiveValueChange","onSearchSplit","tokenSeparators","OptionList","_props$showAction","onKeyUp","mergedShowSearch","domProps","forEach","propName","mobile","setMobile","isMobile","containerRef","selectorDomRef","triggerRef","selectorRef","listRef","blurRef","_useDelayReset","timeout","bool","setBool","delayRef","cancelLatest","callback","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","_selectorRef$current","_selectorRef$current2","scrollTo","arg","_listRef$current","nativeElement","mergedSearchValue","_displayValues$","val","customizeInputElement","customizeRawInputElement","customizeRawInputRef","useComposeRef","_React$useState3","_React$useState4","rendered","setRendered","_useMergedState","useMergedState","defaultValue","_useMergedState2","innerOpen","setInnerOpen","mergedOpen","emptyListContent","triggerOpen","newOpen","nextOpen","some","tokenSeparator","SelectContext","rawValues","onInternalSearch","searchText","fromTyping","isCompositing","ret","newSearchText","separatedList","text","tokens","end","match","list","separate","str","_ref3","_ref4","_toArray","restTokens","reduce","prevList","unitStr","_toConsumableArray","filter","Boolean","getSeparatedContent","patchLabels","source","getClearLock","setClearLock","keyLockRef","focusRef","activeTimeoutIds","timeoutId","splice","onTriggerVisibleChange","_React$useState5","elements","customizedTrigger","propsRef","onGlobalMouseDown","_propsRef$current","shadowRoot","composed","composedPath","element","every","contains","addEventListener","removeEventListener","useSelectTriggerControl","_triggerRef$current2","arrowNode","baseSelectContext","toggleOpen","renderNode","_useAllowClear","onClearMouseDown","useAllowClear","_selectorRef$current4","clearNode","optionList","selectorNode","node","trim","newValues","_triggerRef$current","_selectorRef$current3","activeElement","push","_len3","restArgs","_key3","apply","_listRef$current2","clearLock","isEnterKey","cloneDisplayValues","removedDisplayValue","_len","_key","_len2","_key2","_listRef$current3","Provider","isSelectOptGroup","isSelectOption","_","_useBaseProps","onPopupScroll","_React$useContext","flattenOptions","onActiveValue","defaultActiveFirstOption","onSelect","optionRender","itemPrefixCls","memoFlattenOptions","useMemo","prev","next","overMaxCount","onListMouseDown","scrollIntoView","args","isSelected","has","getEnabledActiveIndex","len","group","activeIndex","setActiveIndex","setActive","fromKeyboard","info","flattenItem","useEffect","isAriaSelected","toLowerCase","from","findIndex","onSelectValue","selected","ctrlKey","N","P","navigator","appVersion","nextActiveIndex","_item$data","omitFieldNameList","keys","getLabel","getItemAriaProps","itemData","a11yProps","List","fullHeight","onScroll","innerProps","itemIndex","groupOption","_data$title","groupTitle","otherProps","passedProps","optionPrefixCls","optionClassName","iconVisible","optionTitle","onMouseMove","search","toUpperCase","_excluded2","convertChildrenToData","nodes","optionOnly","_ref2$props","_ref$props","convertNodeToOption","optionFilterProp","optionLabelProp","mergedOptions","valueOptions","Map","labelOptions","setLabelOptions","labelOptionsMap","set","dig","isChildren","useRefFunc","funcRef","cacheFn","OMIT_DOM_PROPS","TypedSelect","_props$prefixCls","backfill","_props$autoClearSearc","onDeselect","_props$dropdownMatchS","filterOption","filterSort","_props$listHeight","_props$listItemHeight","labelRender","labelInValue","mergedId","mergedFilterOption","mergedFieldNames","JSON","stringify","postState","setSearchValue","parsedOptions","useOptions","convert2LabelValues","draftValues","rawValue","rawLabel","rawKey","rawDisabled","rawTitle","_val$value","isRawValue","_option$key","_useMergedState3","_useMergedState4","internalValue","setInternalValue","rawLabeledValues","_values$","isComboNoValue","_useCache","labeledValues","cacheRef","_cacheRef$current","prevValueCache","prevOptionCache","patchedValues","_prevValueCache$get","valueCache","optionCache","useCache","_useCache2","mergedValues","getMixedOption","firstValue","Set","_mergedValues$","strValue","hasValue","createTagOption","filteredOptions","fieldOptions","fieldLabel","fieldValue","customizeFilter","upperSearch","filterFunc","wrapOption","opt","subOptions","subItem","useFilterOptions","cloneOptions","sort","a","b","existOptions","filledSearchOptions","sorter","inputOptions","orderedFilteredOptions","displayOptions","flattenList","_fillFieldNames","isGroupOption","grpLabel","triggerChange","newVal","_mergedValues$index","returnValues","v","returnOptions","setActiveValue","accessibilityIndex","setAccessibilityIndex","mergedDefaultActiveFirstOption","active","_ref3$source","triggerSelect","getSelectEnt","_option$key2","_getSelectEnt","_getSelectEnt2","wrappedValue","_option","_getSelectEnt3","_getSelectEnt4","_wrappedValue","_option2","onInternalSelect","cloneValues","mergedSelect","selectContext","realVirtual","nextValues","formatted","newRawValues","words","patchValues","word","newRawValue","Filler","offsetY","offsetX","onInnerResize","rtl","extra","outerStyle","innerStyle","flexDirection","ResizeObserver","onResize","offsetHeight","displayName","Item","setRef","refFunc","useDiffItem","onDiff","prevData","setPrevData","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","abs","shortKey","findListDiffIndex","userAgent","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","lockTimeoutRef","scrollPingRef","bottom","left","right","isHorizontal","delta","smoothOffset","originScroll","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","useOriginScroll","wheelDirectionRef","wheelDirectionCleanRef","raf","cancel","deltaX","deltaY","shiftKey","mergedDeltaX","mergedDeltaY","absX","absY","_virtualHandled","isFF","patchMultiple","onWheelY","onWheelX","detail","CacheMap","_classCallCheck","this","maps","create","_createClass","diffKeys","clear","parseNumber","num","parseFloat","SMOOTH_PTG","smoothScrollOffset","pow","getPageXY","horizontal","touches","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","propsThumbStyle","thumbStyle","dragging","setDragging","pageXY","setPageXY","_React$useState6","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","_React$useState7","_React$useState8","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","stateRef","pageY","onThumbMouseDown","onScrollbarTouchStart","scrollbarEle","thumbEle","passive","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","_stateRef$current","stateDragging","statePageY","stateStartTop","rect","getBoundingClientRect","scale","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","ptg","newScrollTop","onMouseUp","scrollbarPrefixCls","containerStyle","getSpinSize","baseSize","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","_props$fullHeight","_props$component","component","Component","onVirtualScroll","onVisibleChange","extraRender","styles","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","promiseIdRef","cancelRaf","collectHeight","sync","doCollect","changed","offsetParent","htmlElement","findDOMNode","_getComputedStyle","getComputedStyle","marginBottom","totalHeight","c","Promise","resolve","then","instance","origin","delete","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","useVirtual","containerHeight","total","curr","isRTL","mergedData","componentRef","fillerInnerRef","offsetTop","setOffsetTop","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","syncScrollTop","alignedTop","maxScrollHeightRef","keepInRange","scrollTop","rangeRef","start","diffItemRef","_useDiffItem","_React$useMemo","scrollHeight","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","_item","cacheHeight","currentItemBottom","fillerOffset","changedRecord","getRecord","recordKey","diffHeight","ori","resetRecord","setSize","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","getVirtualScrollInfo","y","lastVirtualScrollInfoRef","triggerScroll","useEvent","params","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","offsetXY","fromHorizontal","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","cleanUpEvents","touchedRef","touchXRef","touchYRef","elementRef","intervalRef","onTouchMove","currentX","pageX","currentY","_isHorizontal","scrollHandled","clearInterval","setInterval","onTouchEnd","onTouchStart","useMobileTouchMove","onScrollOffset","ele","rafId","_offset","mouseDownLock","stopScroll","continueScroll","mouseY","_ele$getBoundingClien","ownerDocument","useScrollDrag","onMozMousePixelScroll","scrollingUpAtTop","scrollingDownAtBottom","componentEle","newOffsetLeft","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","_scrollTo","triggerFlash","scrollRef","syncState","setSyncState","times","targetAlign","originAlign","clientHeight","needCollectHeight","newTargetAlign","targetTop","mergedAlign","stackTop","itemBottom","maxLen","leftHeight","_i","_cacheHeight","lastTop","align","_arg$offset","useScrollTo","getScrollInfo","config","renderList","getSize","_React$useMemo2","key2Index","bottomList","startKey","endKey","_heights$get","useGetSize","extraContent","listChildren","setNodeRef","renderFunc","useChildren","componentStyle","overflowX","containerProps","dir","sizeInfo","offsetWidth","currentTarget","ScrollBar","verticalScrollBar","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb"],"sourceRoot":""}