{"version":3,"file":"static/js/3381.7f08411b.chunk.js","mappings":"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","sources":["../node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/SearchOutlined.js","../node_modules/@ant-design/icons/CheckOutlined.js","../node_modules/@ant-design/icons/DownOutlined.js","../node_modules/@ant-design/icons/SearchOutlined.js","../node_modules/@ant-design/icons/lib/icons/CheckOutlined.js","../node_modules/@ant-design/icons/lib/icons/DownOutlined.js","../node_modules/@ant-design/icons/lib/icons/SearchOutlined.js","../node_modules/antd/lib/select/index.js","../node_modules/antd/lib/select/utils/iconUtil.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","../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/generate.js","../node_modules/rc-select/es/utils/warningPropsUtil.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/interface/generator.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useCacheOptions.js","../node_modules/rc-select/es/hooks/useCacheDisplayValue.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/index.js","../node_modules/rc-util/es/pickAttrs.js"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\" } }] }, \"name\": \"check\", \"theme\": \"outlined\" };\nexports.default = CheckOutlined;\n","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexports.default = DownOutlined;\n","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar SearchOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\" } }] }, \"name\": \"search\", \"theme\": \"outlined\" };\nexports.default = SearchOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckOutlined = _interopRequireDefault(require('./lib/icons/CheckOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckOutlined;\n exports.default = _default;\n module.exports = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _DownOutlined = _interopRequireDefault(require('./lib/icons/DownOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _DownOutlined;\n exports.default = _default;\n module.exports = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _SearchOutlined = _interopRequireDefault(require('./lib/icons/SearchOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _SearchOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckOutlined.default\n }));\n};\n\nCheckOutlined.displayName = 'CheckOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(CheckOutlined);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _DownOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DownOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _DownOutlined.default\n }));\n};\n\nDownOutlined.displayName = 'DownOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(DownOutlined);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _SearchOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/SearchOutlined\"));\n\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar SearchOutlined = function SearchOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _SearchOutlined.default\n }));\n};\n\nSearchOutlined.displayName = 'SearchOutlined';\n\nvar _default = /*#__PURE__*/React.forwardRef(SearchOutlined);\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _omit = _interopRequireDefault(require(\"rc-util/lib/omit\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _rcSelect = _interopRequireWildcard(require(\"rc-select\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _iconUtil = _interopRequireDefault(require(\"./utils/iconUtil\"));\n\nvar _SizeContext = _interopRequireDefault(require(\"../config-provider/SizeContext\"));\n\nvar _motion = require(\"../_util/motion\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// TODO: 4.0 - codemod should help to change `filterOption` to support node props.\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\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\nvar SECRET_COMBOBOX_MODE_DO_NOT_USE = 'SECRET_COMBOBOX_MODE_DO_NOT_USE';\n\nvar InternalSelect = function InternalSelect(_a, ref) {\n var _classNames2;\n\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n className = _a.className,\n getPopupContainer = _a.getPopupContainer,\n dropdownClassName = _a.dropdownClassName,\n _a$listHeight = _a.listHeight,\n listHeight = _a$listHeight === void 0 ? 256 : _a$listHeight,\n _a$listItemHeight = _a.listItemHeight,\n listItemHeight = _a$listItemHeight === void 0 ? 24 : _a$listItemHeight,\n customizeSize = _a.size,\n notFoundContent = _a.notFoundContent,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"className\", \"getPopupContainer\", \"dropdownClassName\", \"listHeight\", \"listItemHeight\", \"size\", \"notFoundContent\"]);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction,\n virtual = _React$useContext.virtual,\n dropdownMatchSelectWidth = _React$useContext.dropdownMatchSelectWidth;\n\n var size = React.useContext(_SizeContext[\"default\"]);\n var prefixCls = getPrefixCls('select', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var mode = React.useMemo(function () {\n var m = props.mode;\n\n if (m === 'combobox') {\n return undefined;\n }\n\n if (m === SECRET_COMBOBOX_MODE_DO_NOT_USE) {\n return 'combobox';\n }\n\n return m;\n }, [props.mode]);\n var isMultiple = mode === 'multiple' || mode === 'tags'; // ===================== Empty =====================\n\n var mergedNotFound;\n\n if (notFoundContent !== undefined) {\n mergedNotFound = notFoundContent;\n } else if (mode === 'combobox') {\n mergedNotFound = null;\n } else {\n mergedNotFound = renderEmpty('Select');\n } // ===================== Icons =====================\n\n\n var _getIcons = (0, _iconUtil[\"default\"])((0, _extends2[\"default\"])((0, _extends2[\"default\"])({}, props), {\n multiple: isMultiple,\n prefixCls: prefixCls\n })),\n suffixIcon = _getIcons.suffixIcon,\n itemIcon = _getIcons.itemIcon,\n removeIcon = _getIcons.removeIcon,\n clearIcon = _getIcons.clearIcon;\n\n var selectProps = (0, _omit[\"default\"])(props, ['suffixIcon', 'itemIcon']);\n var rcSelectRtlDropDownClassName = (0, _classnames[\"default\"])(dropdownClassName, (0, _defineProperty2[\"default\"])({}, \"\".concat(prefixCls, \"-dropdown-\").concat(direction), direction === 'rtl'));\n var mergedSize = customizeSize || size;\n var mergedClassName = (0, _classnames[\"default\"])((_classNames2 = {}, (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-lg\"), mergedSize === 'large'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-sm\"), mergedSize === 'small'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), (0, _defineProperty2[\"default\"])(_classNames2, \"\".concat(prefixCls, \"-borderless\"), !bordered), _classNames2), className);\n return /*#__PURE__*/React.createElement(_rcSelect[\"default\"], (0, _extends2[\"default\"])({\n ref: ref,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n }, selectProps, {\n transitionName: (0, _motion.getTransitionName)(rootPrefixCls, 'slide-up', props.transitionName),\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n mode: mode,\n prefixCls: prefixCls,\n direction: direction,\n inputIcon: suffixIcon,\n menuItemSelectedIcon: itemIcon,\n removeIcon: removeIcon,\n clearIcon: clearIcon,\n notFoundContent: mergedNotFound,\n className: mergedClassName,\n getPopupContainer: getPopupContainer || getContextPopupContainer,\n dropdownClassName: rcSelectRtlDropDownClassName\n }));\n};\n\nvar SelectRef = /*#__PURE__*/React.forwardRef(InternalSelect);\nvar Select = SelectRef;\nSelect.SECRET_COMBOBOX_MODE_DO_NOT_USE = SECRET_COMBOBOX_MODE_DO_NOT_USE;\nSelect.Option = _rcSelect.Option;\nSelect.OptGroup = _rcSelect.OptGroup;\nvar _default = Select;\nexports[\"default\"] = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getIcons;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _DownOutlined = _interopRequireDefault(require(\"@ant-design/icons/DownOutlined\"));\n\nvar _LoadingOutlined = _interopRequireDefault(require(\"@ant-design/icons/LoadingOutlined\"));\n\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons/CheckOutlined\"));\n\nvar _CloseOutlined = _interopRequireDefault(require(\"@ant-design/icons/CloseOutlined\"));\n\nvar _CloseCircleFilled = _interopRequireDefault(require(\"@ant-design/icons/CloseCircleFilled\"));\n\nvar _SearchOutlined = _interopRequireDefault(require(\"@ant-design/icons/SearchOutlined\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction getIcons(_ref) {\n var suffixIcon = _ref.suffixIcon,\n clearIcon = _ref.clearIcon,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n removeIcon = _ref.removeIcon,\n loading = _ref.loading,\n multiple = _ref.multiple,\n prefixCls = _ref.prefixCls;\n // Clear Icon\n var mergedClearIcon = clearIcon;\n\n if (!clearIcon) {\n mergedClearIcon = /*#__PURE__*/React.createElement(_CloseCircleFilled[\"default\"], null);\n } // Arrow item icon\n\n\n var mergedSuffixIcon = null;\n\n if (suffixIcon !== undefined) {\n mergedSuffixIcon = suffixIcon;\n } else if (loading) {\n mergedSuffixIcon = /*#__PURE__*/React.createElement(_LoadingOutlined[\"default\"], {\n spin: true\n });\n } else {\n var iconCls = \"\".concat(prefixCls, \"-suffix\");\n\n mergedSuffixIcon = function mergedSuffixIcon(_ref2) {\n var open = _ref2.open,\n showSearch = _ref2.showSearch;\n\n if (open && showSearch) {\n return /*#__PURE__*/React.createElement(_SearchOutlined[\"default\"], {\n className: iconCls\n });\n }\n\n return /*#__PURE__*/React.createElement(_DownOutlined[\"default\"], {\n className: iconCls\n });\n };\n } // Checked item icon\n\n\n var mergedItemIcon = null;\n\n if (menuItemSelectedIcon !== undefined) {\n mergedItemIcon = menuItemSelectedIcon;\n } else if (multiple) {\n mergedItemIcon = /*#__PURE__*/React.createElement(_CheckOutlined[\"default\"], null);\n } else {\n mergedItemIcon = null;\n }\n\n var mergedRemoveIcon = null;\n\n if (removeIcon !== undefined) {\n mergedRemoveIcon = removeIcon;\n } else {\n mergedRemoveIcon = /*#__PURE__*/React.createElement(_CloseOutlined[\"default\"], null);\n }\n\n return {\n clearIcon: mergedClearIcon,\n suffixIcon: mergedSuffixIcon,\n itemIcon: mergedItemIcon,\n removeIcon: mergedRemoveIcon\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 * 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 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 }\n }\n });\n\n // Always trigger update mark to tell parent that should re-calculate heights when resized\n setUpdatedMark(function (c) {\n return c + 1;\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;","import * as React from 'react';\nimport classNames from 'classnames';\n\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n\n if (_onMouseDown) {\n _onMouseDown(event);\n }\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};\n\nexport default TransBtn;","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 * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport classNames from 'classnames';\nimport List from 'rc-virtual-list';\nimport TransBtn from './TransBtn';\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\n\nvar OptionList = function OptionList(_ref, ref) {\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n flattenOptions = _ref.flattenOptions,\n childrenAsData = _ref.childrenAsData,\n values = _ref.values,\n searchValue = _ref.searchValue,\n multiple = _ref.multiple,\n defaultActiveFirstOption = _ref.defaultActiveFirstOption,\n height = _ref.height,\n itemHeight = _ref.itemHeight,\n notFoundContent = _ref.notFoundContent,\n open = _ref.open,\n menuItemSelectedIcon = _ref.menuItemSelectedIcon,\n virtual = _ref.virtual,\n onSelect = _ref.onSelect,\n onToggleOpen = _ref.onToggleOpen,\n onActiveValue = _ref.onActiveValue,\n onScroll = _ref.onScroll,\n onMouseEnter = _ref.onMouseEnter;\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 }); // =========================== List ===========================\n\n var listRef = React.useRef(null);\n\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n\n var scrollIntoView = function scrollIntoView(index) {\n if (listRef.current) {\n listRef.current.scrollTo({\n index: index\n });\n }\n }; // ========================== Active ==========================\n\n\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n\n if (!group && !data.disabled) {\n return current;\n }\n }\n\n return -1;\n };\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\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 }; // Trigger active event\n\n var flattenItem = memoFlattenOptions[index];\n\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n\n onActiveValue(flattenItem.data.value, index, info);\n }; // Auto active first item when list length or searchValue changed\n\n\n React.useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]); // Auto scroll to item position in single mode\n\n React.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 && values.size === 1) {\n var value = Array.from(values)[0];\n var index = memoFlattenOptions.findIndex(function (_ref2) {\n var data = _ref2.data;\n return data.value === value;\n });\n setActive(index);\n scrollIntoView(index);\n }\n }); // Force trigger scrollbar visible when open\n\n if (open) {\n var _listRef$current;\n\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open]); // ========================== Values ==========================\n\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !values.has(value)\n });\n } // Single mode should always close by select\n\n\n if (!multiple) {\n onToggleOpen(false);\n }\n }; // ========================= Keyboard =========================\n\n\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which;\n\n switch (which) {\n // >>> Arrow keys\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\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\n break;\n }\n // >>> Select\n\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n\n if (item && !item.data.disabled) {\n onSelectValue(item.data.value);\n } else {\n onSelectValue(undefined);\n }\n\n if (open) {\n event.preventDefault();\n }\n\n break;\n }\n // >>> Close\n\n case KeyCode.ESC:\n {\n onToggleOpen(false);\n\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 }); // ========================== Render ==========================\n\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\n function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value,\n label = itemData.label,\n children = itemData.children;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = childrenAsData ? children : label;\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' ? mergedLabel : null\n }, attrs, {\n key: index,\n role: \"option\",\n id: \"\".concat(id, \"_list_\").concat(index),\n \"aria-selected\": values.has(value)\n }), value) : null;\n }\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\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: height,\n itemHeight: itemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onScroll,\n virtual: virtual,\n onMouseEnter: onMouseEnter\n }, function (_ref3, itemIndex) {\n var _classNames;\n\n var group = _ref3.group,\n groupOption = _ref3.groupOption,\n data = _ref3.data;\n var label = data.label,\n key = data.key; // Group\n\n if (group) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\"))\n }, label !== undefined ? label : key);\n }\n\n var disabled = data.disabled,\n value = data.value,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, [\"disabled\", \"value\", \"title\", \"children\", \"style\", \"className\"]); // Option\n\n\n var selected = values.has(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = childrenAsData ? children : label;\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n var content = mergedLabel || value; // https://github.com/ant-design/ant-design/issues/26717\n\n var optionTitle = typeof content === 'string' || typeof content === 'number' ? content.toString() : undefined;\n\n if (title !== undefined) {\n optionTitle = title;\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, otherProps, {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\n\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\n\nOption.isSelectOption = true;\nexport default Option;","/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\n\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\n\nfunction convertNodeToOption(node) {\n var key = node.key,\n _node$props = node.props,\n children = _node$props.children,\n value = _node$props.value,\n restProps = _objectWithoutProperties(_node$props, [\"children\", \"value\"]);\n\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\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\n var isSelectOptGroup = node.type.isSelectOptGroup,\n key = node.key,\n _node$props2 = node.props,\n children = _node$props2.children,\n restProps = _objectWithoutProperties(_node$props2, [\"children\"]);\n\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\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 _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n\n return value !== undefined ? [value] : [];\n}\n/**\n * Convert outer props value into internal value\n */\n\nexport function toInnerValue(value, _ref) {\n var labelInValue = _ref.labelInValue,\n combobox = _ref.combobox;\n var valueMap = new Map();\n\n if (value === undefined || value === '' && combobox) {\n return [[], valueMap];\n }\n\n var values = Array.isArray(value) ? value : [value];\n var rawValues = values;\n\n if (labelInValue) {\n rawValues = values.filter(function (item) {\n return item !== null;\n }).map(function (itemValue) {\n var key = itemValue.key,\n val = itemValue.value;\n var finalVal = val !== undefined ? val : key;\n valueMap.set(finalVal, itemValue);\n return finalVal;\n });\n }\n\n return [rawValues, valueMap];\n}\n/**\n * Convert internal value into out event value\n */\n\nexport function toOuterValues(valueList, _ref2) {\n var optionLabelProp = _ref2.optionLabelProp,\n labelInValue = _ref2.labelInValue,\n prevValueMap = _ref2.prevValueMap,\n options = _ref2.options,\n getLabeledValue = _ref2.getLabeledValue;\n var values = valueList;\n\n if (labelInValue) {\n values = values.map(function (val) {\n return getLabeledValue(val, {\n options: options,\n prevValueMap: prevValueMap,\n labelInValue: labelInValue,\n optionLabelProp: optionLabelProp\n });\n });\n }\n\n return values;\n}\nexport function removeLastEnabledValue(measureValues, values) {\n var newValues = _toConsumableArray(values);\n\n var removeIndex;\n\n for (removeIndex = measureValues.length - 1; removeIndex >= 0; removeIndex -= 1) {\n if (!measureValues[removeIndex].disabled) {\n break;\n }\n }\n\n var removedValue = null;\n\n if (removeIndex !== -1) {\n removedValue = newValues[removeIndex];\n newValues.splice(removeIndex, 1);\n }\n\n return {\n values: newValues,\n removedValue: removedValue\n };\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n/** Is client side and not jsdom */\n\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nvar uuid = 0;\n/** Get unique id for accessibility usage */\n\nexport function getUUID() {\n var retId; // Test never reach\n\n /* istanbul ignore if */\n\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n\n return retId;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nimport { toArray } from './commonUtil';\n\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n\n if ('value' in data) {\n value = data.value;\n }\n\n if (key !== null && key !== undefined) {\n return key;\n }\n\n if (value !== undefined) {\n return value;\n }\n\n return \"rc-index-key-\".concat(index);\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 */\n\n\nexport function flattenOptions(options) {\n var flattenList = [];\n\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n if (isGroupOption || !('options' in data)) {\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data\n });\n } else {\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data\n });\n dig(data.options, true);\n }\n });\n }\n\n dig(options, false);\n return flattenList;\n}\n/**\n * Inject `props` into `option` for legacy usage\n */\n\nfunction injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n\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\n return newOption;\n}\n\nexport function findValueOption(values, options) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$prevValueOptions = _ref.prevValueOptions,\n prevValueOptions = _ref$prevValueOptions === void 0 ? [] : _ref$prevValueOptions;\n\n var optionMap = new Map();\n options.forEach(function (flattenItem) {\n if (!flattenItem.group) {\n var data = flattenItem.data; // Check if match\n\n optionMap.set(data.value, data);\n }\n });\n return values.map(function (val) {\n var option = optionMap.get(val); // Fallback to try to find prev options\n\n if (!option) {\n option = _objectSpread({}, prevValueOptions.find(function (opt) {\n return opt._INTERNAL_OPTION_VALUE_ === val;\n }));\n }\n\n return injectPropsWithOption(option);\n });\n}\nexport var getLabeledValue = function getLabeledValue(value, _ref2) {\n var options = _ref2.options,\n prevValueMap = _ref2.prevValueMap,\n labelInValue = _ref2.labelInValue,\n optionLabelProp = _ref2.optionLabelProp;\n var item = findValueOption([value], options)[0];\n var result = {\n value: value\n };\n var prevValItem = labelInValue ? prevValueMap.get(value) : undefined;\n\n if (prevValItem && _typeof(prevValItem) === 'object' && 'label' in prevValItem) {\n result.label = prevValItem.label;\n\n if (item && typeof prevValItem.label === 'string' && typeof item[optionLabelProp] === 'string' && prevValItem.label.trim() !== item[optionLabelProp].trim()) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n } else if (item && optionLabelProp in item) {\n result.label = item[optionLabelProp];\n } else {\n result.label = value;\n result.isCacheable = true;\n } // Used for motion control\n\n\n result.key = result.value;\n return result;\n};\n\nfunction toRawString(content) {\n return toArray(content).join('');\n}\n/** Filter single option if match the search text */\n\n\nfunction getFilterFunction(optionFilterProp) {\n return function (searchValue, option) {\n var lowerSearchText = searchValue.toLowerCase(); // Group label search\n\n if ('options' in option) {\n return toRawString(option.label).toLowerCase().includes(lowerSearchText);\n } // Option value search\n\n\n var rawValue = option[optionFilterProp];\n var value = toRawString(rawValue).toLowerCase();\n return value.includes(lowerSearchText);\n };\n}\n/** Filter options and return a new options by the search text */\n\n\nexport function filterOptions(searchValue, options, _ref3) {\n var optionFilterProp = _ref3.optionFilterProp,\n filterOption = _ref3.filterOption;\n var filteredOptions = [];\n var filterFunc;\n\n if (filterOption === false) {\n return _toConsumableArray(options);\n }\n\n if (typeof filterOption === 'function') {\n filterFunc = filterOption;\n } else {\n filterFunc = getFilterFunction(optionFilterProp);\n }\n\n options.forEach(function (item) {\n // Group should check child options\n if ('options' in item) {\n // Check group first\n var matchGroup = filterFunc(searchValue, item);\n\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item.options.filter(function (subItem) {\n return filterFunc(searchValue, subItem);\n });\n\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, {\n options: subOptions\n }));\n }\n }\n\n return;\n }\n\n if (filterFunc(searchValue, injectPropsWithOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n\n var match = false;\n\n function separate(str, _ref4) {\n var _ref5 = _toArray(_ref4),\n token = _ref5[0],\n restTokens = _ref5.slice(1);\n\n if (!token) {\n return [str];\n }\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(function (unit) {\n return unit;\n });\n }\n\n var list = separate(text, tokens);\n return match ? list : null;\n}\nexport function isValueDisabled(value, options) {\n var option = findValueOption([value], options)[0];\n return option.disabled;\n}\n/**\n * `tags` mode should fill un-list item into the option list\n */\n\nexport function fillOptionsWithMissingValue(options, value, optionLabelProp, labelInValue) {\n var values = toArray(value).slice().sort();\n\n var cloneOptions = _toConsumableArray(options); // Convert options value to set\n\n\n var optionValues = new Set();\n options.forEach(function (opt) {\n if (opt.options) {\n opt.options.forEach(function (subOpt) {\n optionValues.add(subOpt.value);\n });\n } else {\n optionValues.add(opt.value);\n }\n }); // Fill missing value\n\n values.forEach(function (item) {\n var val = labelInValue ? item.value : item;\n\n if (!optionValues.has(val)) {\n var _ref6;\n\n cloneOptions.push(labelInValue ? (_ref6 = {}, _defineProperty(_ref6, optionLabelProp, item.label), _defineProperty(_ref6, \"value\", val), _ref6) : {\n value: val\n });\n }\n });\n return cloneOptions;\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\";\n\nvar Input = function Input(_ref, ref) {\n var _inputNode2, _inputNode2$props;\n\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n accessibilityIndex = _ref.accessibilityIndex,\n value = _ref.value,\n maxLength = _ref.maxLength,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n _inputNode$props = _inputNode.props,\n onOriginKeyDown = _inputNode$props.onKeyDown,\n onOriginChange = _inputNode$props.onChange,\n onOriginMouseDown = _inputNode$props.onMouseDown,\n onOriginCompositionStart = _inputNode$props.onCompositionStart,\n onOriginCompositionEnd = _inputNode$props.onCompositionEnd,\n style = _inputNode$props.style;\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread({\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n type: 'search',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 ? void 0 : (_inputNode2$props = _inputNode2.props) === null || _inputNode2$props === void 0 ? void 0 : _inputNode2$props.className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': \"\".concat(id, \"_list_\").concat(accessibilityIndex)\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\n\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from '../utils/commonUtil';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\n\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from '../TransBtn';\nimport Input from './Input';\nimport useLayoutEffect from '../hooks/useLayoutEffect';\n\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\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 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 accessibilityIndex = props.accessibilityIndex,\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 onSelect = props.onSelect,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\"); // ===================== Search ======================\n\n var inputValue = open || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || showSearch && (open || focused); // We measure width and set to the input immediately\n\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]); // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n\n function defaultRenderSelector(content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\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\n function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\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 }));\n }\n\n function renderItem(_ref) {\n var itemDisabled = _ref.disabled,\n label = _ref.label,\n value = _ref.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onSelect(value, {\n selected: false\n });\n };\n\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(displayLabel, itemDisabled, closable, onClose);\n }\n\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector(content, false);\n } // >>> Input Node\n\n\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 accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\")); // >>> Selections\n\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: \"key\",\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\n\nexport default SelectSelector;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from './Input';\n\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 accessibilityIndex = props.accessibilityIndex,\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\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\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]); // Not show text when closed expect combobox mode\n\n var hasTextInput = mode !== 'combobox' && !open ? false : !!inputValue;\n var title = item && (typeof item.label === 'string' || typeof item.label === 'number') ? item.label.toString() : undefined;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n accessibilityIndex: accessibilityIndex,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item && !hasTextInput && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n }, item.label), !item && !hasTextInput && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\")\n }, placeholder));\n};\n\nexport default SingleSelector;","import * as React from 'react';\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 */\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); // Clean up\n\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n\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 */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from './MultipleSelector';\nimport SingleSelector from './SingleSelector';\nimport useLock from '../hooks/useLock';\n\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n multiple = props.multiple,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef; // ======================= Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n }); // ====================== Input ======================\n\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\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(event.target.value);\n }\n\n if (![KeyCode.SHIFT, KeyCode.TAB, KeyCode.BACKSPACE, KeyCode.ESC].includes(which)) {\n onToggleOpen(true);\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\n\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n }; // When paste come, ignore next onChange\n\n\n var pastedTextRef = useRef(null);\n\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false; // Trigger search again to support `tokenSeparators` with typewriting\n\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n\n var onInputChange = function onInputChange(event) {\n var value = event.target.value; // Pasted text should replace back to origin content\n\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\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n if (event.target !== inputRef.current && !inputMouseDown) {\n event.preventDefault();\n }\n\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open) {\n onSearch('', true, false);\n }\n\n onToggleOpen();\n }\n }; // ================= Inner Selector ==================\n\n\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = multiple ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\n\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\n\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = typeof dropdownMatchSelectWidth !== 'number' ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n }\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 containerWidth = props.containerWidth,\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 _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\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 restProps = _objectWithoutProperties(props, [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\"]);\n\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]); // ===================== Motion ======================\n\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName; // ======================= Ref =======================\n\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n\n var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: direction === 'rtl' ? 'bottomRight' : 'bottomLeft',\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef\n }, popupNode),\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};\n\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","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 _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\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 */\nimport * as React from 'react';\nimport { useState, useRef, useEffect, useMemo } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport Selector from './Selector';\nimport SelectTrigger from './SelectTrigger';\nimport { INTERNAL_PROPS_MARK } from './interface/generator';\nimport { toInnerValue, toOuterValues, removeLastEnabledValue, getUUID } from './utils/commonUtil';\nimport TransBtn from './TransBtn';\nimport useLock from './hooks/useLock';\nimport useDelayReset from './hooks/useDelayReset';\nimport useLayoutEffect from './hooks/useLayoutEffect';\nimport { getSeparatedContent } from './utils/valueUtil';\nimport useSelectTriggerControl from './hooks/useSelectTriggerControl';\nimport useCacheDisplayValue from './hooks/useCacheDisplayValue';\nimport useCacheOptions from './hooks/useCacheOptions';\nvar DEFAULT_OMIT_PROPS = ['removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'tabIndex'];\n/**\n * This function is in internal usage.\n * Do not use it in your prod env since we may refactor this.\n */\n\nexport default function generateSelector(config) {\n var defaultPrefixCls = config.prefixCls,\n OptionList = config.components.optionList,\n convertChildrenToData = config.convertChildrenToData,\n flattenOptions = config.flattenOptions,\n getLabeledValue = config.getLabeledValue,\n filterOptions = config.filterOptions,\n isValueDisabled = config.isValueDisabled,\n findValueOption = config.findValueOption,\n warningProps = config.warningProps,\n fillOptionsWithMissingValue = config.fillOptionsWithMissingValue,\n omitDOMProps = config.omitDOMProps; // Use raw define since `React.FC` not support generic\n\n function Select(props, ref) {\n var _classNames2;\n\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? defaultPrefixCls : _props$prefixCls,\n className = props.className,\n id = props.id,\n open = props.open,\n defaultOpen = props.defaultOpen,\n options = props.options,\n children = props.children,\n mode = props.mode,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n showSearch = props.showSearch,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n _props$optionFilterPr = props.optionFilterProp,\n optionFilterProp = _props$optionFilterPr === void 0 ? 'value' : _props$optionFilterPr,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSearch = props.onSearch,\n allowClear = props.allowClear,\n clearIcon = props.clearIcon,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n disabled = props.disabled,\n loading = props.loading,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n optionLabelProp = props.optionLabelProp,\n backfill = props.backfill,\n tabIndex = props.tabIndex,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n getPopupContainer = props.getPopupContainer,\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 animation = props.animation,\n transitionName = props.transitionName,\n virtual = props.virtual,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n direction = props.direction,\n tokenSeparators = props.tokenSeparators,\n tagRender = props.tagRender,\n onPopupScroll = props.onPopupScroll,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n onChange = props.onChange,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n onClear = props.onClear,\n _props$internalProps = props.internalProps,\n internalProps = _props$internalProps === void 0 ? {} : _props$internalProps,\n restProps = _objectWithoutProperties(props, [\"prefixCls\", \"className\", \"id\", \"open\", \"defaultOpen\", \"options\", \"children\", \"mode\", \"value\", \"defaultValue\", \"labelInValue\", \"showSearch\", \"inputValue\", \"searchValue\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"autoClearSearchValue\", \"onSearch\", \"allowClear\", \"clearIcon\", \"showArrow\", \"inputIcon\", \"menuItemSelectedIcon\", \"disabled\", \"loading\", \"defaultActiveFirstOption\", \"notFoundContent\", \"optionLabelProp\", \"backfill\", \"tabIndex\", \"getInputElement\", \"getRawInputElement\", \"getPopupContainer\", \"listHeight\", \"listItemHeight\", \"animation\", \"transitionName\", \"virtual\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"showAction\", \"direction\", \"tokenSeparators\", \"tagRender\", \"onPopupScroll\", \"onDropdownVisibleChange\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\", \"onChange\", \"onSelect\", \"onDeselect\", \"onClear\", \"internalProps\"]);\n\n var useInternalProps = internalProps.mark === INTERNAL_PROPS_MARK;\n var domProps = omitDOMProps ? omitDOMProps(restProps) : restProps;\n DEFAULT_OMIT_PROPS.forEach(function (prop) {\n delete domProps[prop];\n });\n var containerRef = useRef(null);\n var triggerRef = useRef(null);\n var selectorRef = useRef(null);\n var listRef = useRef(null);\n var tokenWithEnter = useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n /** Used for component focused management */\n\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2]; // Inner id for accessibility usage. Only work in client side\n\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n innerId = _useState2[0],\n setInnerId = _useState2[1];\n\n useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n var mergedId = id || innerId; // optionLabelProp\n\n var mergedOptionLabelProp = optionLabelProp;\n\n if (mergedOptionLabelProp === undefined) {\n mergedOptionLabelProp = options ? 'label' : 'children';\n } // labelInValue\n\n\n var mergedLabelInValue = mode === 'combobox' ? false : labelInValue;\n var isMultiple = mode === 'tags' || mode === 'multiple';\n var mergedShowSearch = showSearch !== undefined ? showSearch : isMultiple || mode === 'combobox'; // ======================== Mobile ========================\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n mobile = _useState4[0],\n setMobile = _useState4[1];\n\n useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []); // ============================== Ref ===============================\n\n var selectorDomRef = useRef(null);\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2, _listRef$current;\n\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: (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo\n };\n }); // ============================= Value ==============================\n\n var _useMergedState = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n /** Unique raw values */\n\n\n var _useMemo = useMemo(function () {\n return toInnerValue(mergedValue, {\n labelInValue: mergedLabelInValue,\n combobox: mode === 'combobox'\n });\n }, [mergedValue, mergedLabelInValue]),\n _useMemo2 = _slicedToArray(_useMemo, 2),\n mergedRawValue = _useMemo2[0],\n mergedValueMap = _useMemo2[1];\n /** We cache a set of raw values to speed up check */\n\n\n var rawValues = useMemo(function () {\n return new Set(mergedRawValue);\n }, [mergedRawValue]); // ============================= Option =============================\n // Set by option list active, it will merge into search input when mode is `combobox`\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n activeValue = _useState6[0],\n setActiveValue = _useState6[1];\n\n var _useState7 = useState(''),\n _useState8 = _slicedToArray(_useState7, 2),\n innerSearchValue = _useState8[0],\n setInnerSearchValue = _useState8[1];\n\n var mergedSearchValue = innerSearchValue;\n\n if (mode === 'combobox' && mergedValue !== undefined) {\n mergedSearchValue = mergedValue;\n } else if (searchValue !== undefined) {\n mergedSearchValue = searchValue;\n } else if (inputValue) {\n mergedSearchValue = inputValue;\n }\n\n var mergedOptions = useMemo(function () {\n var newOptions = options;\n\n if (newOptions === undefined) {\n newOptions = convertChildrenToData(children);\n }\n /**\n * `tags` should fill un-list item.\n * This is not cool here since TreeSelect do not need this\n */\n\n\n if (mode === 'tags' && fillOptionsWithMissingValue) {\n newOptions = fillOptionsWithMissingValue(newOptions, mergedValue, mergedOptionLabelProp, labelInValue);\n }\n\n return newOptions || [];\n }, [options, children, mode, mergedValue]);\n var mergedFlattenOptions = useMemo(function () {\n return flattenOptions(mergedOptions, props);\n }, [mergedOptions]);\n var getValueOption = useCacheOptions(mergedFlattenOptions); // Display options for OptionList\n\n var displayOptions = useMemo(function () {\n if (!mergedSearchValue || !mergedShowSearch) {\n return _toConsumableArray(mergedOptions);\n }\n\n var filteredOptions = filterOptions(mergedSearchValue, mergedOptions, {\n optionFilterProp: optionFilterProp,\n filterOption: mode === 'combobox' && filterOption === undefined ? function () {\n return true;\n } : filterOption\n });\n\n if (mode === 'tags' && filteredOptions.every(function (opt) {\n return opt[optionFilterProp] !== mergedSearchValue;\n })) {\n filteredOptions.unshift({\n value: mergedSearchValue,\n label: mergedSearchValue,\n key: '__RC_SELECT_TAG_PLACEHOLDER__'\n });\n }\n\n if (filterSort && Array.isArray(filteredOptions)) {\n return _toConsumableArray(filteredOptions).sort(filterSort);\n }\n\n return filteredOptions;\n }, [mergedOptions, mergedSearchValue, mode, mergedShowSearch, filterSort]);\n var displayFlattenOptions = useMemo(function () {\n return flattenOptions(displayOptions, props);\n }, [displayOptions]);\n useEffect(function () {\n if (listRef.current && listRef.current.scrollTo) {\n listRef.current.scrollTo(0);\n }\n }, [mergedSearchValue]); // ============================ Selector ============================\n\n var displayValues = useMemo(function () {\n var tmpValues = mergedRawValue.map(function (val) {\n var valueOptions = getValueOption([val]);\n var displayValue = getLabeledValue(val, {\n options: valueOptions,\n prevValueMap: mergedValueMap,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n });\n return _objectSpread(_objectSpread({}, displayValue), {}, {\n disabled: isValueDisabled(val, valueOptions)\n });\n });\n\n if (!mode && tmpValues.length === 1 && tmpValues[0].value === null && tmpValues[0].label === null) {\n return [];\n }\n\n return tmpValues;\n }, [mergedValue, mergedOptions, mode]); // Polyfill with cache label\n\n displayValues = useCacheDisplayValue(displayValues);\n\n var triggerSelect = function triggerSelect(newValue, isSelect, source) {\n var newValueOption = getValueOption([newValue]);\n var outOption = findValueOption([newValue], newValueOption)[0];\n\n if (!internalProps.skipTriggerSelect) {\n // Skip trigger `onSelect` or `onDeselect` if configured\n var selectValue = mergedLabelInValue ? getLabeledValue(newValue, {\n options: newValueOption,\n prevValueMap: mergedValueMap,\n labelInValue: mergedLabelInValue,\n optionLabelProp: mergedOptionLabelProp\n }) : newValue;\n\n if (isSelect && onSelect) {\n onSelect(selectValue, outOption);\n } else if (!isSelect && onDeselect) {\n onDeselect(selectValue, outOption);\n }\n } // Trigger internal event\n\n\n if (useInternalProps) {\n if (isSelect && internalProps.onRawSelect) {\n internalProps.onRawSelect(newValue, outOption, source);\n } else if (!isSelect && internalProps.onRawDeselect) {\n internalProps.onRawDeselect(newValue, outOption, source);\n }\n }\n }; // We need cache options here in case user update the option list\n\n\n var _useState9 = useState([]),\n _useState10 = _slicedToArray(_useState9, 2),\n prevValueOptions = _useState10[0],\n setPrevValueOptions = _useState10[1];\n\n var triggerChange = function triggerChange(newRawValues) {\n if (useInternalProps && internalProps.skipTriggerChange) {\n return;\n }\n\n var newRawValuesOptions = getValueOption(newRawValues);\n var outValues = toOuterValues(Array.from(newRawValues), {\n labelInValue: mergedLabelInValue,\n options: newRawValuesOptions,\n getLabeledValue: getLabeledValue,\n prevValueMap: mergedValueMap,\n optionLabelProp: mergedOptionLabelProp\n });\n var outValue = isMultiple ? outValues : outValues[0]; // Skip trigger if prev & current value is both empty\n\n if (onChange && (mergedRawValue.length !== 0 || outValues.length !== 0)) {\n var outOptions = findValueOption(newRawValues, newRawValuesOptions, {\n prevValueOptions: prevValueOptions\n }); // We will cache option in case it removed by ajax\n\n setPrevValueOptions(outOptions.map(function (option, index) {\n var clone = _objectSpread({}, option);\n\n Object.defineProperty(clone, '_INTERNAL_OPTION_VALUE_', {\n get: function get() {\n return newRawValues[index];\n }\n });\n return clone;\n }));\n onChange(outValue, isMultiple ? outOptions : outOptions[0]);\n }\n\n setMergedValue(outValue);\n };\n\n var onInternalSelect = function onInternalSelect(newValue, _ref) {\n var selected = _ref.selected,\n source = _ref.source;\n\n if (disabled) {\n return;\n }\n\n var newRawValue;\n\n if (isMultiple) {\n newRawValue = new Set(mergedRawValue);\n\n if (selected) {\n newRawValue.add(newValue);\n } else {\n newRawValue.delete(newValue);\n }\n } else {\n newRawValue = new Set();\n newRawValue.add(newValue);\n } // Multiple always trigger change and single should change if value changed\n\n\n if (isMultiple || !isMultiple && Array.from(mergedRawValue)[0] !== newValue) {\n triggerChange(Array.from(newRawValue));\n } // Trigger `onSelect`. Single mode always trigger select\n\n\n triggerSelect(newValue, !isMultiple || selected, source); // Clean search value if single or configured\n\n if (mode === 'combobox') {\n setInnerSearchValue(String(newValue));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setInnerSearchValue('');\n setActiveValue('');\n }\n };\n\n var onInternalOptionSelect = function onInternalOptionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'option'\n }));\n };\n\n var onInternalSelectionSelect = function onInternalSelectionSelect(newValue, info) {\n onInternalSelect(newValue, _objectSpread(_objectSpread({}, info), {}, {\n source: 'selection'\n }));\n }; // ============================= Input ==============================\n // Only works in `combobox`\n\n\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null; // Used for customize replacement for `rc-cascader`\n\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement(); // ============================== Open ==============================\n\n var _useMergedState3 = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n innerOpen = _useMergedState4[0],\n setInnerOpen = _useMergedState4[1];\n\n var mergedOpen = innerOpen; // Not trigger `open` in `combobox` when `notFoundContent` is empty\n\n var emptyListContent = !notFoundContent && !displayOptions.length;\n\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n\n var triggerOpen = emptyListContent ? false : mergedOpen;\n\n var onToggleOpen = function onToggleOpen(newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n\n if (innerOpen !== nextOpen && !disabled) {\n setInnerOpen(nextOpen);\n\n if (onDropdownVisibleChange) {\n onDropdownVisibleChange(nextOpen);\n }\n }\n }; // Used for raw custom input trigger\n\n\n var onTriggerVisibleChange;\n\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n useSelectTriggerControl(function () {\n var _triggerRef$current;\n\n return [containerRef.current, (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement()];\n }, triggerOpen, onToggleOpen); // ============================= Search =============================\n\n var triggerSearch = function triggerSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n setActiveValue(null); // Check if match the `tokenSeparators`\n\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n var patchRawValues = patchLabels;\n\n if (mode === 'combobox') {\n // Only typing will trigger onChange\n if (fromTyping) {\n triggerChange([newSearchText]);\n }\n } else if (patchLabels) {\n newSearchText = '';\n\n if (mode !== 'tags') {\n patchRawValues = patchLabels.map(function (label) {\n var item = mergedFlattenOptions.find(function (_ref2) {\n var data = _ref2.data;\n return data[mergedOptionLabelProp] === label;\n });\n return item ? item.data.value : null;\n }).filter(function (val) {\n return val !== null;\n });\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), _toConsumableArray(patchRawValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n }); // Should close when paste finish\n\n onToggleOpen(false); // Tell Selector that break next actions\n\n ret = false;\n }\n\n setInnerSearchValue(newSearchText);\n\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText);\n }\n\n return ret;\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\n\n var onSearchSubmit = function onSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [searchText])));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true, 'input');\n });\n setInnerSearchValue('');\n }; // Close dropdown when disabled change\n\n\n useEffect(function () {\n if (innerOpen && !!disabled) {\n setInnerOpen(false);\n }\n }, [disabled]); // Close will clean up single mode search text\n\n useEffect(function () {\n if (!mergedOpen && !isMultiple && mode !== 'combobox') {\n triggerSearch('', false, false);\n }\n }, [mergedOpen]); // ============================ Keyboard ============================\n\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\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1]; // KeyDown\n\n\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n } // We only manage open state here, close logic should handle by list component\n\n\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n\n setClearLock(!!mergedSearchValue); // Remove value by `backspace`\n\n if (which === KeyCode.BACKSPACE && !clearLock && isMultiple && !mergedSearchValue && mergedRawValue.length) {\n var removeInfo = removeLastEnabledValue(displayValues, mergedRawValue);\n\n if (removeInfo.removedValue !== null) {\n triggerChange(removeInfo.values);\n triggerSelect(removeInfo.removedValue, false, 'input');\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\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n\n if (onKeyDown) {\n onKeyDown.apply(void 0, [event].concat(rest));\n }\n }; // KeyUp\n\n\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\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n\n if (onKeyUp) {\n onKeyUp.apply(void 0, [event].concat(rest));\n }\n }; // ========================== Focus / Blur ==========================\n\n /** Record real focus status */\n\n\n var focusRef = useRef(false);\n\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n } // `showAction` should handle `focus` if set\n\n\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n\n focusRef.current = true;\n };\n\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n\n if (disabled) {\n return;\n }\n\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n triggerSearch('', false, false);\n triggerChange(Array.from(new Set([].concat(_toConsumableArray(mergedRawValue), [mergedSearchValue]))));\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n setInnerSearchValue('');\n }\n }\n\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n var activeTimeoutIds = [];\n useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current2;\n\n var target = event.target;\n var popupElement = (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement(); // We should give focus back to selector if clicked item is not focusable\n\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n\n cancelSetMockFocused();\n\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n\n if (onMouseDown) {\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\n onMouseDown.apply(void 0, [event].concat(restArgs));\n }\n }; // ========================= Accessibility ==========================\n\n\n var _useState11 = useState(0),\n _useState12 = _slicedToArray(_useState11, 2),\n accessibilityIndex = _useState12[0],\n setAccessibilityIndex = _useState12[1];\n\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n\n var onActiveValue = function onActiveValue(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\n setAccessibilityIndex(index);\n\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }; // ============================= Popup ==============================\n\n\n var _useState13 = useState(null),\n _useState14 = _slicedToArray(_useState13, 2),\n containerWidth = _useState14[0],\n setContainerWidth = _useState14[1];\n\n var _useState15 = useState({}),\n _useState16 = _slicedToArray(_useState15, 2),\n forceUpdate = _useState16[1]; // We need force update here since popup dom is render async\n\n\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n\n useLayoutEffect(function () {\n if (triggerOpen) {\n var _containerRef$current;\n\n var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);\n\n if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]);\n var popupNode = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef,\n prefixCls: prefixCls,\n id: mergedId,\n open: mergedOpen,\n childrenAsData: !options,\n options: displayOptions,\n flattenOptions: displayFlattenOptions,\n multiple: isMultiple,\n values: rawValues,\n height: listHeight,\n itemHeight: listItemHeight,\n onSelect: onInternalOptionSelect,\n onToggleOpen: onToggleOpen,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n notFoundContent: notFoundContent,\n onScroll: onPopupScroll,\n searchValue: mergedSearchValue,\n menuItemSelectedIcon: menuItemSelectedIcon,\n virtual: virtual !== false && dropdownMatchSelectWidth !== false,\n onMouseEnter: onPopupMouseEnter\n }); // ============================= Clear ==============================\n\n var clearNode;\n\n var onClearMouseDown = function onClearMouseDown() {\n // Trigger internal `onClear` event\n if (useInternalProps && internalProps.onClear) {\n internalProps.onClear();\n }\n\n if (onClear) {\n onClear();\n }\n\n triggerChange([]);\n triggerSearch('', false, false);\n };\n\n if (!disabled && allowClear && (mergedRawValue.length || mergedSearchValue)) {\n clearNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n } // ============================= Arrow ==============================\n\n\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !isMultiple && mode !== 'combobox';\n var arrowNode;\n\n if (mergedShowArrow) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: inputIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n } // ============================ Warning =============================\n\n\n if (process.env.NODE_ENV !== 'production' && warningProps) {\n warningProps(props);\n } // ============================= Render =============================\n\n\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !isMultiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), mergedShowArrow), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2));\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: popupNode,\n containerWidth: containerWidth,\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 getPopupContainer: getPopupContainer,\n empty: !mergedOptions.length,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: composeRef(selectorDomRef, customizeRawInputElement.props.ref)\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: mergedId,\n showSearch: mergedShowSearch,\n mode: mode,\n accessibilityIndex: accessibilityIndex,\n multiple: isMultiple,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n searchValue: mergedSearchValue,\n activeValue: activeValue,\n onSearch: triggerSearch,\n onSearchSubmit: onSearchSubmit,\n onSelect: onInternalSelectionSelect,\n tokenWithEnter: tokenWithEnter\n }))); // Render raw\n\n if (customizeRawInputElement) {\n return selectorNode;\n }\n\n return /*#__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 }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n display: 'flex',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(mergedRawValue.join(', '))), selectorNode, arrowNode, clearNode);\n }\n\n var RefSelect = /*#__PURE__*/React.forwardRef(Select);\n return RefSelect;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport warning, { noteOnce } from \"rc-util/es/warning\";\nimport toNodeArray from \"rc-util/es/Children/toArray\";\nimport { convertChildrenToData } from './legacyUtil';\nimport { toArray } from './commonUtil';\n\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = mode === 'multiple' || mode === 'tags';\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';\n var mergedOptions = options || convertChildrenToData(children); // `tags` should not set option as disabled\n\n warning(mode !== 'tags' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.'); // `combobox` & `tags` should option be `string` type\n\n if (mode === 'tags' || mode === 'combobox') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof ('value' in opt ? opt.value : opt.key) === 'number';\n });\n }\n\n return typeof ('value' in item ? item.value : item.key) === 'number';\n });\n warning(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');\n } // `combobox` should not use `optionLabelProp`\n\n\n warning(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.'); // Only `combobox` support `backfill`\n\n warning(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.'); // Only `combobox` support `getInputElement`\n\n warning(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.'); // Customize `getInputElement` should not use `allowClear` & `placeholder`\n\n noteOnce(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.'); // `onSearch` should use in `combobox` or `showSearch`\n\n if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {\n warning(false, '`onSearch` should work with `showSearch` instead of use alone.');\n }\n\n noteOnce(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');\n\n if (value !== undefined && value !== null) {\n var values = toArray(value);\n warning(!labelInValue || values.every(function (val) {\n return _typeof(val) === 'object' && ('key' in val || 'value' in val);\n }), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');\n warning(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');\n } // Syntactic sugar should use correct children type\n\n\n if (children) {\n var invalidateChildType = null;\n toNodeArray(children).some(function (node) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return false;\n }\n\n var type = node.type;\n\n if (type.isSelectOption) {\n return false;\n }\n\n if (type.isSelectOptGroup) {\n var allChildrenValid = toNodeArray(node.props.children).every(function (subNode) {\n if (! /*#__PURE__*/React.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n\n invalidateChildType = subNode.type;\n return false;\n });\n\n if (allChildrenValid) {\n return false;\n }\n\n return true;\n }\n\n invalidateChildType = type;\n return true;\n });\n\n if (invalidateChildType) {\n warning(false, \"`children` should be `Select.Option` or `Select.OptGroup` instead of `\".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, \"`.\"));\n }\n\n warning(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');\n }\n}\n\nexport default warningProps;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\n\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 */\nimport * as React from 'react';\nimport SelectOptionList from './OptionList';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nimport { convertChildrenToData as convertSelectChildrenToData } from './utils/legacyUtil';\nimport { getLabeledValue as getSelectLabeledValue, filterOptions as selectDefaultFilterOptions, isValueDisabled as isSelectValueDisabled, findValueOption as findSelectValueOption, flattenOptions, fillOptionsWithMissingValue } from './utils/valueUtil';\nimport generateSelector from './generate';\nimport warningProps from './utils/warningPropsUtil';\nvar RefSelect = generateSelector({\n prefixCls: 'rc-select',\n components: {\n optionList: SelectOptionList\n },\n convertChildrenToData: convertSelectChildrenToData,\n flattenOptions: flattenOptions,\n getLabeledValue: getSelectLabeledValue,\n filterOptions: selectDefaultFilterOptions,\n isValueDisabled: isSelectValueDisabled,\n findValueOption: findSelectValueOption,\n warningProps: warningProps,\n fillOptionsWithMissingValue: fillOptionsWithMissingValue\n});\n/**\n * Typescript not support generic with function component,\n * we have to wrap an class component to handle this.\n */\n\nvar Select = /*#__PURE__*/function (_React$Component) {\n _inherits(Select, _React$Component);\n\n var _super = _createSuper(Select);\n\n function Select() {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.apply(this, arguments);\n _this.selectRef = /*#__PURE__*/React.createRef();\n\n _this.focus = function () {\n _this.selectRef.current.focus();\n };\n\n _this.blur = function () {\n _this.selectRef.current.blur();\n };\n\n return _this;\n }\n\n _createClass(Select, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(RefSelect, _extends({\n ref: this.selectRef\n }, this.props));\n }\n }]);\n\n return Select;\n}(React.Component);\n\nSelect.Option = Option;\nSelect.OptGroup = OptGroup;\nexport default Select;","export var INTERNAL_PROPS_MARK = 'RC_SELECT_INTERNAL_PROPS_MARK';","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\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 */\n\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n\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\n var delayRef = React.useRef(null);\n\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n\n if (callback) {\n callback();\n }\n }, timeout);\n };\n\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useCacheOptions(options) {\n var prevOptionMapRef = React.useRef(null);\n var optionMap = React.useMemo(function () {\n var map = new Map();\n options.forEach(function (item) {\n var value = item.data.value;\n map.set(value, item);\n });\n return map;\n }, [options]);\n prevOptionMapRef.current = optionMap;\n\n var getValueOption = function getValueOption(vals) {\n return vals.map(function (value) {\n return prevOptionMapRef.current.get(value);\n }).filter(Boolean);\n };\n\n return getValueOption;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nexport default function useCacheDisplayValue(values) {\n var prevValuesRef = React.useRef(values);\n var mergedValues = React.useMemo(function () {\n // Create value - label map\n var valueLabels = new Map();\n prevValuesRef.current.forEach(function (_ref) {\n var value = _ref.value,\n label = _ref.label;\n\n if (value !== label) {\n valueLabels.set(value, label);\n }\n });\n var resultValues = values.map(function (item) {\n var cacheLabel = valueLabels.get(item.value);\n\n if (item.isCacheable && cacheLabel) {\n return _objectSpread(_objectSpread({}, item), {}, {\n label: cacheLabel\n });\n }\n\n return item;\n });\n prevValuesRef.current = resultValues;\n return resultValues;\n }, [values]);\n return mergedValues;\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var target = event.target;\n\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\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\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import Select from './Select';\nimport Option from './Option';\nimport OptGroup from './OptGroup';\nexport { Option, OptGroup };\nexport default Select;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}"],"names":["Object","defineProperty","exports","value","obj","_default","require","__esModule","module","_interopRequireWildcard","_interopRequireDefault","_objectSpread2","React","_CheckOutlined","_AntdIcon","CheckOutlined","props","ref","createElement","default","icon","displayName","forwardRef","_DownOutlined","DownOutlined","_SearchOutlined","SearchOutlined","_typeof","_defineProperty2","_extends2","_omit","_classnames","_rcSelect","_configProvider","_iconUtil","_SizeContext","_motion","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","__rest","s","e","t","p","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","SECRET_COMBOBOX_MODE_DO_NOT_USE","InternalSelect","_a","_classNames2","mergedNotFound","customizePrefixCls","prefixCls","_a$bordered","bordered","className","getPopupContainer","dropdownClassName","_a$listHeight","listHeight","_a$listItemHeight","listItemHeight","customizeSize","size","notFoundContent","_React$useContext","useContext","ConfigContext","getContextPopupContainer","getPrefixCls","renderEmpty","direction","virtual","dropdownMatchSelectWidth","rootPrefixCls","mode","useMemo","m","isMultiple","undefined","_getIcons","multiple","suffixIcon","itemIcon","removeIcon","clearIcon","selectProps","rcSelectRtlDropDownClassName","concat","mergedSize","mergedClassName","transitionName","getTransitionName","inputIcon","menuItemSelectedIcon","Select","Option","OptGroup","_ref","loading","mergedClearIcon","_CloseCircleFilled","mergedSuffixIcon","_LoadingOutlined","spin","iconCls","_ref2","open","showSearch","mergedItemIcon","mergedRemoveIcon","_CloseOutlined","Filler","height","offsetY","offsetX","children","onInnerResize","innerProps","rtl","extra","outerStyle","innerStyle","display","flexDirection","position","overflow","_objectSpread","_defineProperty","transform","style","ResizeObserver","onResize","offsetHeight","_extends","classNames","Item","setRef","refFunc","node","useDiffItem","data","getKey","onDiff","_React$useState","_React$useState2","_slicedToArray","prevData","setPrevData","_React$useState3","_React$useState4","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","item","diffIndex","Math","abs","shortKey","index","findListDiffIndex","navigator","test","userAgent","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","lockRef","useRef","lockTimeoutRef","scrollPingRef","top","bottom","left","right","current","isHorizontal","delta","smoothOffset","arguments","originScroll","clearTimeout","setTimeout","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","useOriginScroll","wheelDirectionRef","wheelDirectionCleanRef","event","raf","cancel","deltaX","deltaY","shiftKey","mergedDeltaX","mergedDeltaY","absX","absY","_virtualHandled","isFF","preventDefault","patchMultiple","onWheelY","onWheelX","detail","CacheMap","_classCallCheck","this","Set","maps","create","_createClass","id","diffKeys","add","clear","parseNumber","num","parseFloat","isNaN","SMOOTH_PTG","smoothScrollOffset","offset","floor","pow","getPageXY","horizontal","touches","window","scrollOffset","scrollRange","onStartMove","onStopMove","onScroll","spinSize","containerSize","propsThumbStyle","thumbStyle","dragging","setDragging","pageXY","setPageXY","_React$useState5","_React$useState6","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","_React$useState7","_React$useState8","visible","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","stateRef","pageY","onThumbMouseDown","stopPropagation","onScrollbarTouchStart","scrollbarEle","thumbEle","addEventListener","passive","removeEventListener","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","onMouseMove","_stateRef$current","stateDragging","statePageY","stateStartTop","rect","getBoundingClientRect","scale","width","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","ptg","newScrollTop","ceil","max","min","onMouseUp","scrollbarPrefixCls","containerStyle","visibility","background","borderRadius","cursor","userSelect","onMouseDown","getSpinSize","baseSize","_excluded","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","_props$prefixCls","itemHeight","_props$fullHeight","fullHeight","itemKey","scrollWidth","_props$component","component","Component","onVirtualScroll","onVisibleChange","extraRender","styles","restProps","_objectWithoutProperties","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","Map","heightsRef","promiseIdRef","cancelRaf","collectHeight","sync","doCollect","forEach","element","offsetParent","htmlElement","findDOMNode","_getComputedStyle","getComputedStyle","marginTop","marginBottom","totalHeight","c","Promise","resolve","then","useEffect","instance","origin","delete","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","useVirtual","containerHeight","values","reduce","total","curr","isRTL","mergedData","componentRef","fillerInnerRef","containerRef","_useState","useState","_useState2","offsetTop","setOffsetTop","_useState3","_useState4","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","syncScrollTop","alignedTop","Number","maxScrollHeightRef","keepInRange","scrollTop","rangeRef","start","end","diffItemRef","_useDiffItem","_React$useMemo","scrollHeight","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","_item","cacheHeight","currentItemBottom","fillerOffset","changedRecord","getRecord","recordKey","Array","from","diffHeight","ori","resetRecord","setSize","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","getVirtualScrollInfo","x","y","lastVirtualScrollInfoRef","triggerScroll","useEvent","params","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","offsetXY","fromHorizontal","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","listRef","callback","cleanUpEvents","touchedRef","touchXRef","touchYRef","elementRef","intervalRef","onTouchMove","currentX","pageX","currentY","_isHorizontal","scrollHandled","clearInterval","setInterval","onTouchEnd","onTouchStart","target","useLayoutEffect","_listRef$current","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","_key","_cacheHeight","lastTop","arg","align","findIndex","_arg$offset","useScrollTo","nativeElement","getScrollInfo","scrollTo","config","renderList","slice","getSize","_React$useMemo2","key2Index","bottomList","startKey","endKey","_heights$get","useGetSize","extraContent","listChildren","list","setNodeRef","renderFunc","map","useChildren","componentStyle","overflowX","pointerEvents","containerProps","dir","sizeInfo","offsetWidth","currentTarget","onMouseEnter","ScrollBar","verticalScrollBar","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb","List","customizeIcon","customizeIconProps","_onMouseDown","onClick","WebkitUserSelect","unselectable","split","cls","OptionList","flattenOptions","childrenAsData","searchValue","defaultActiveFirstOption","onSelect","onToggleOpen","onActiveValue","itemPrefixCls","memoFlattenOptions","prev","next","onListMouseDown","scrollIntoView","getEnabledActiveIndex","len","_memoFlattenOptions$c","group","disabled","activeIndex","setActiveIndex","setActive","fromKeyboard","info","source","flattenItem","timeoutId","onSelectValue","selected","onKeyDown","which","KeyCode","UP","DOWN","nextActiveIndex","ENTER","ESC","onKeyUp","role","renderItem","itemData","label","attrs","pickAttrs","mergedLabel","_ref3","itemIndex","_classNames","groupOption","title","otherProps","optionPrefixCls","optionClassName","iconVisible","content","optionTitle","toString","TransBtn","isSelected","RefOptionList","isSelectOption","isSelectOptGroup","convertChildrenToData","nodes","optionOnly","toArray","type","_node$props2","_node$props","convertNodeToOption","options","filter","isArray","isBrowserClient","document","documentElement","uuid","injectPropsWithOption","option","newOption","warning","findValueOption","_ref$prevValueOptions","prevValueOptions","optionMap","val","find","opt","_INTERNAL_OPTION_VALUE_","toRawString","join","Input","_inputNode2","_inputNode2$props","inputElement","tabIndex","autoFocus","autoComplete","editable","accessibilityIndex","maxLength","_onKeyDown","_onChange","onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","inputNode","_inputNode","originRef","_inputNode$props","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","composeRef","opacity","readOnly","RefInput","effect","deps","onPreventMouseDown","inputRef","placeholder","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","inputWidth","setInputWidth","focused","setFocused","selectionPrefixCls","inputValue","inputEditable","defaultRenderSelector","itemDisabled","closable","onClose","onFocus","onBlur","selectionNode","Overflow","displayLabel","strLabel","String","customizeRenderSelector","renderRest","suffix","maxCount","activeValue","inputChanged","setInputChanged","combobox","hasTextInput","useLock","duration","timeoutRef","locked","Selector","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","focus","blur","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","SHIFT","TAB","BACKSPACE","includes","replacedText","replace","clipboardData","getData","selectNode","MultipleSelector","SingleSelector","body","msTouchAction","inputMouseDown","ForwardSelector","SelectTrigger","popupElement","containerWidth","animation","dropdownStyle","_props$direction","_props$dropdownMatchS","dropdownRender","dropdownAlign","empty","getTriggerDOMNode","onPopupVisibleChange","dropdownPrefixCls","popupNode","builtInPlacements","adjustX","bottomLeft","points","adjustY","bottomRight","topLeft","topRight","getBuiltInPlacements","mergedTransitionName","popupRef","getPopupElement","popupStyle","minWidth","Trigger","showAction","hideAction","popupPlacement","builtinPlacements","popupTransitionName","popup","popupAlign","popupVisible","popupClassName","RefSelectTrigger","DEFAULT_OMIT_PROPS","backfill","allowClear","getInputElement","defaultOpen","labelInValue","optionLabelProp","mergedShowSearch","mergedOptions","every","hasNumberValue","some","noteOnce","invalidateChildType","toNodeArray","subNode","name","RefSelect","defaultPrefixCls","components","optionList","getLabeledValue","filterOptions","isValueDisabled","fillOptionsWithMissingValue","warningProps","omitDOMProps","defaultValue","filterOption","filterSort","_props$optionFilterPr","optionFilterProp","_props$autoClearSearc","autoClearSearchValue","showArrow","_props$notFoundConten","getRawInputElement","_props$listHeight","_props$listItemHeight","_props$showAction","tokenSeparators","onPopupScroll","onDropdownVisibleChange","onDeselect","onClear","_props$internalProps","internalProps","useInternalProps","mark","domProps","prop","triggerRef","selectorRef","tokenSeparator","_useDelayReset","timeout","bool","setBool","delayRef","cancelLatest","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","innerId","setInnerId","retId","getUUID","mergedId","mergedOptionLabelProp","mergedLabelInValue","mobile","setMobile","isMobile","selectorDomRef","_selectorRef$current","_selectorRef$current2","_useMergedState","useMergedState","_useMergedState2","mergedValue","setMergedValue","_useMemo","valueMap","rawValues","itemValue","finalVal","toInnerValue","_useMemo2","mergedRawValue","mergedValueMap","setActiveValue","_useState7","_useState8","innerSearchValue","setInnerSearchValue","mergedSearchValue","newOptions","mergedFlattenOptions","getValueOption","prevOptionMapRef","vals","Boolean","useCacheOptions","displayOptions","_toConsumableArray","filteredOptions","unshift","sort","displayFlattenOptions","displayValues","tmpValues","valueOptions","displayValue","prevValueMap","prevValuesRef","valueLabels","resultValues","cacheLabel","isCacheable","useCacheDisplayValue","triggerSelect","newValue","isSelect","newValueOption","outOption","skipTriggerSelect","selectValue","onRawSelect","onRawDeselect","_useState9","_useState10","setPrevValueOptions","triggerChange","newRawValues","skipTriggerChange","newRawValuesOptions","outValues","valueList","toOuterValues","outValue","outOptions","clone","onInternalSelect","newRawValue","customizeInputElement","customizeRawInputElement","_useMergedState3","_useMergedState4","innerOpen","setInnerOpen","mergedOpen","emptyListContent","onTriggerVisibleChange","triggerOpen","newOpen","nextOpen","elements","propsRef","onGlobalMouseDown","shadowRoot","composed","composedPath","contains","useSelectTriggerControl","_triggerRef$current","triggerSearch","searchText","fromTyping","isCompositing","ret","newSearchText","patchLabels","text","tokens","match","separate","str","_ref4","_ref5","_toArray","token","restTokens","prevList","unitStr","unit","getSeparatedContent","patchRawValues","getClearLock","setClearLock","focusRef","activeTimeoutIds","splice","_useState11","_useState12","setAccessibilityIndex","mergedDefaultActiveFirstOption","_useState13","_useState14","setContainerWidth","_useState15","forceUpdate","_containerRef$current","newWidth","clearNode","active","_ref3$source","arrowNode","mergedShowArrow","selectorNode","trim","_triggerRef$current2","_selectorRef$current3","activeElement","push","_len3","restArgs","_key3","apply","_listRef$current2","clearLock","removeInfo","measureValues","removeIndex","newValues","removedValue","removeLastEnabledValue","_len","rest","_len2","_key2","_listRef$current3","generateSelector","SelectOptionList","convertSelectChildrenToData","flattenList","dig","isGroupOption","result","prevValItem","filterFunc","lowerSearchText","toLowerCase","getFilterFunction","subOptions","subItem","findSelectValueOption","cloneOptions","optionValues","subOpt","_ref6","_React$Component","_inherits","_super","_createSuper","_this","selectRef","propList","ariaPrefix","dataPrefix","prefix","mergedConfig","ariaOnly","aria","attr","keys"],"sourceRoot":""}