{"version":3,"file":"static/js/91762.4835c7de.chunk.js","mappings":"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","sources":["../node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js","../node_modules/@ant-design/icons/DownOutlined.js","../node_modules/@ant-design/icons/lib/icons/DownOutlined.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/rc-select/es/hooks/useBaseProps.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/utils/keyUtil.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/rc-select/es/BaseSelect.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/hooks/useFilterOptions.js","../node_modules/rc-select/es/hooks/useId.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/hooks/useRefFunc.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/SelectContext.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/hooks/useOptions.js","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/index.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.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/node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.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/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useGetSize.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js"],"sourcesContent":["\"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 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\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _DownOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DownOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(e) { if (\"function\" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }\nfunction _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\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};\nvar RefIcon = /*#__PURE__*/React.forwardRef(DownOutlined);\nif (process.env.NODE_ENV !== 'production') {\n RefIcon.displayName = 'DownOutlined';\n}\nvar _default = exports.default = RefIcon;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\n\nimport * as React from 'react';\nexport var BaseSelectContext = /*#__PURE__*/React.createContext(null);\nexport default function useBaseProps() {\n return React.useContext(BaseSelectContext);\n}","import * as React from 'react';\n\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null);\n\n // Clean up\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import * as React from 'react';\nimport classNames from 'classnames';\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 if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\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};\nexport default TransBtn;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { warning } from \"rc-util/es/warning\";\nvar Input = function Input(_ref, ref) {\n var _inputNode2, _inputNode2$props;\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 activeDescendantId = _ref.activeDescendantId,\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 originProps = _inputNode.props;\n var onOriginKeyDown = originProps.onKeyDown,\n onOriginChange = originProps.onChange,\n onOriginMouseDown = originProps.onMouseDown,\n onOriginCompositionStart = originProps.onCompositionStart,\n onOriginCompositionEnd = originProps.onCompositionEnd,\n style = originProps.style;\n warning(!('maxLength' in inputNode.props), \"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled.\");\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread(_objectSpread({\n type: 'search'\n }, originProps), {}, {\n // Override over origin props\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 ? void 0 : (_inputNode2$props = _inputNode2.props) === null || _inputNode2$props === void 0 ? void 0 : _inputNode2$props.className),\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': activeDescendantId\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return value !== undefined ? [value] : [];\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nexport function hasValue(value) {\n return value !== undefined && value !== null;\n}\nfunction isTitleType(title) {\n return ['string', 'number'].includes(_typeof(title));\n}\nexport function getTitle(item) {\n var title = undefined;\n if (item) {\n if (isTitleType(item.title)) {\n title = item.title.toString();\n } else if (isTitleType(item.label)) {\n title = item.label.toString();\n }\n }\n return title;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from \"../TransBtn\";\nimport Input from \"./Input\";\nimport useLayoutEffect from \"../hooks/useLayoutEffect\";\nimport { getTitle } from \"../utils/commonUtil\";\nfunction itemKey(value) {\n var _value$key;\n return (_value$key = value.key) !== null && _value$key !== void 0 ? _value$key : value.value;\n}\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onRemove = props.onRemove,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\");\n\n // ===================== Search ======================\n var inputValue = open || mode === \"multiple\" && autoClearSearchValue === false || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || mode === \"multiple\" && autoClearSearchValue === false || showSearch && (open || focused);\n\n // We measure width and set to the input immediately\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]);\n\n // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n function defaultRenderSelector(item, content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled)),\n title: getTitle(item)\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 function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n }));\n }\n function renderItem(valueItem) {\n var itemDisabled = valueItem.disabled,\n label = valueItem.label,\n value = valueItem.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onRemove(valueItem);\n };\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(valueItem, displayLabel, itemDisabled, closable, onClose);\n }\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector({\n title: content\n }, content, false);\n }\n\n // >>> Input Node\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\"));\n\n // >>> Selections\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: itemKey,\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\nexport default SelectSelector;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from \"../utils/commonUtil\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from \"./Input\";\nimport { getTitle } from \"../utils/commonUtil\";\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]);\n\n // Not show text when closed expect combobox mode\n var hasTextInput = mode !== 'combobox' && !open && !showSearch ? false : !!inputValue;\n\n // Get title\n var title = getTitle(item);\n var renderPlaceholder = function renderPlaceholder() {\n if (item) {\n return null;\n }\n var hiddenStyle = hasTextInput ? {\n visibility: 'hidden'\n } : undefined;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\"),\n style: hiddenStyle\n }, placeholder);\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n // 当 Select 已经选中选项时,还需 selection 隐藏但留在原地占位\n // https://github.com/ant-design/ant-design/issues/27688\n // https://github.com/ant-design/ant-design/issues/41530\n ,\n style: hasTextInput ? {\n visibility: 'hidden'\n } : undefined\n }, item.label) : null, renderPlaceholder());\n};\nexport default SingleSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\n\nimport * 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\";\nimport { isValidateOpenKey } from \"../utils/keyUtil\";\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef;\n\n // ======================= Ref =======================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n });\n\n // ====================== Input ======================\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit === null || onSearchSubmit === void 0 ? void 0 : onSearchSubmit(event.target.value);\n }\n if (isValidateOpenKey(which)) {\n onToggleOpen(true);\n }\n };\n\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n };\n\n // When paste come, ignore next onChange\n var pastedTextRef = useRef(null);\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false;\n\n // Trigger search again to support `tokenSeparators` with typewriting\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n var onInputChange = function onInputChange(event) {\n var value = event.target.value;\n\n // Pasted text should replace back to origin content\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n // when mode is combobox, don't prevent default behavior\n // https://github.com/ant-design/ant-design/issues/37320\n if (event.target !== inputRef.current && !inputMouseDown && mode !== 'combobox') {\n event.preventDefault();\n }\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open && autoClearSearchValue !== false) {\n onSearch('', true, false);\n }\n onToggleOpen();\n }\n };\n\n // ================= Inner Selector ==================\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = mode === 'multiple' || mode === 'tags' ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import KeyCode from \"rc-util/es/KeyCode\";\n\n/** keyCode Judgment function */\nexport function isValidateOpenKey(currentKeyCode) {\n return ![\n // System function button\n KeyCode.ESC, KeyCode.SHIFT, KeyCode.BACKSPACE, KeyCode.TAB, KeyCode.WIN_KEY, KeyCode.ALT, KeyCode.META, KeyCode.WIN_KEY_RIGHT, KeyCode.CTRL, KeyCode.SEMICOLON, KeyCode.EQUALS, KeyCode.CAPS_LOCK, KeyCode.CONTEXT_MENU,\n // F1-F12\n KeyCode.F1, KeyCode.F2, KeyCode.F3, KeyCode.F4, KeyCode.F5, KeyCode.F6, KeyCode.F7, KeyCode.F8, KeyCode.F9, KeyCode.F10, KeyCode.F11, KeyCode.F12].includes(currentKeyCode);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"placement\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\", \"onPopupMouseEnter\"];\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\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};\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 placement = props.placement,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n onPopupMouseEnter = props.onPopupMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]);\n\n // ===================== Motion ======================\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName;\n\n // ======================= Ref =======================\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 var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'),\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef,\n onMouseEnter: onPopupMouseEnter\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};\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n if ('value' in data) {\n value = data.value;\n }\n if (key !== null && key !== undefined) {\n return key;\n }\n if (value !== undefined) {\n return value;\n }\n return \"rc-index-key-\".concat(index);\n}\nexport function fillFieldNames(fieldNames, childrenAsData) {\n var _ref = fieldNames || {},\n label = _ref.label,\n value = _ref.value,\n options = _ref.options;\n return {\n label: label || (childrenAsData ? 'children' : 'label'),\n value: value || 'value',\n options: options || 'options'\n };\n}\n\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\nexport function flattenOptions(options) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n fieldNames = _ref2.fieldNames,\n childrenAsData = _ref2.childrenAsData;\n var flattenList = [];\n var _fillFieldNames = fillFieldNames(fieldNames, false),\n fieldLabel = _fillFieldNames.label,\n fieldValue = _fillFieldNames.value,\n fieldOptions = _fillFieldNames.options;\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n var label = data[fieldLabel];\n if (isGroupOption || !(fieldOptions in data)) {\n var value = data[fieldValue];\n\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data,\n label: label,\n value: value\n });\n } else {\n var grpLabel = label;\n if (grpLabel === undefined && childrenAsData) {\n grpLabel = data.label;\n }\n\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data,\n label: grpLabel\n });\n dig(data[fieldOptions], true);\n }\n });\n }\n dig(options, false);\n return flattenList;\n}\n\n/**\n * Inject `props` into `option` for legacy usage\n */\nexport function injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n return newOption;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n var match = false;\n function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n if (!token) {\n return [str];\n }\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n var list = separate(text, tokens);\n return match ? list : null;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"showArrow\", \"inputIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { BaseSelectContext } from \"./hooks/useBaseProps\";\nimport useDelayReset from \"./hooks/useDelayReset\";\nimport useLock from \"./hooks/useLock\";\nimport useSelectTriggerControl from \"./hooks/useSelectTriggerControl\";\nimport Selector from \"./Selector\";\nimport SelectTrigger from \"./SelectTrigger\";\nimport TransBtn from \"./TransBtn\";\nimport { getSeparatedContent } from \"./utils/valueUtil\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n}\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle, _classNames2;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n }\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n var _useMergedState = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = innerOpen;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n if (disabled) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (which === KeyCode.BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n containerWidth = _React$useState4[0],\n setContainerWidth = _React$useState4[1];\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n useLayoutEffect(function () {\n if (triggerOpen) {\n var _containerRef$current;\n var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);\n if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]);\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !multiple && mode !== 'combobox';\n var arrowNode;\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 }\n\n // ============================= Clear ==============================\n var clearNode;\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 ? void 0 : onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 ? void 0 : _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n if (!disabled && allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {\n clearNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n }\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !multiple), _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\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n 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 placement: placement,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(displayValues.map(function (_ref) {\n var label = _ref.label,\n value = _ref.value;\n return ['number', 'string'].includes(_typeof(label)) ? label : value;\n }).join(', '))), selectorNode, arrowNode, clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n var delayRef = React.useRef(null);\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n if (callback) {\n callback();\n }\n }, timeout);\n };\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen, customizedTrigger) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen,\n customizedTrigger: customizedTrigger\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var _propsRef$current;\n // If trigger is customized, Trigger will take control of popupVisible\n if ((_propsRef$current = propsRef.current) !== null && _propsRef$current !== void 0 && _propsRef$current.customizedTrigger) {\n return;\n }\n var target = event.target;\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { toArray } from \"../utils/commonUtil\";\nimport { injectPropsWithOption } from \"../utils/valueUtil\";\nfunction includes(test, search) {\n return toArray(test).join('').toUpperCase().includes(search);\n}\nexport default (function (options, fieldNames, searchValue, filterOption, optionFilterProp) {\n return React.useMemo(function () {\n if (!searchValue || filterOption === false) {\n return options;\n }\n var fieldOptions = fieldNames.options,\n fieldLabel = fieldNames.label,\n fieldValue = fieldNames.value;\n var filteredOptions = [];\n var customizeFilter = typeof filterOption === 'function';\n var upperSearch = searchValue.toUpperCase();\n var filterFunc = customizeFilter ? filterOption : function (_, option) {\n // Use provided `optionFilterProp`\n if (optionFilterProp) {\n return includes(option[optionFilterProp], upperSearch);\n }\n\n // Auto select `label` or `value` by option type\n if (option[fieldOptions]) {\n // hack `fieldLabel` since `OptionGroup` children is not `label`\n return includes(option[fieldLabel !== 'children' ? fieldLabel : 'label'], upperSearch);\n }\n return includes(option[fieldValue], upperSearch);\n };\n var wrapOption = customizeFilter ? function (opt) {\n return injectPropsWithOption(opt);\n } : function (opt) {\n return opt;\n };\n options.forEach(function (item) {\n // Group should check child options\n if (item[fieldOptions]) {\n // Check group first\n var matchGroup = filterFunc(searchValue, wrapOption(item));\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item[fieldOptions].filter(function (subItem) {\n return filterFunc(searchValue, wrapOption(subItem));\n });\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, _defineProperty({}, fieldOptions, subOptions)));\n }\n }\n return;\n }\n if (filterFunc(searchValue, wrapOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n }, [options, filterOption, optionFilterProp, searchValue, fieldNames]);\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n\n/** Get unique id for accessibility usage */\nexport function getUUID() {\n var retId;\n\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n return id || innerId;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"value\"],\n _excluded2 = [\"children\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nfunction convertNodeToOption(node) {\n var _ref = node,\n key = _ref.key,\n _ref$props = _ref.props,\n children = _ref$props.children,\n value = _ref$props.value,\n restProps = _objectWithoutProperties(_ref$props, _excluded);\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n var _ref2 = node,\n isSelectOptGroup = _ref2.type.isSelectOptGroup,\n key = _ref2.key,\n _ref2$props = _ref2.props,\n children = _ref2$props.children,\n restProps = _objectWithoutProperties(_ref2$props, _excluded2);\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import * as React from 'react';\n\n/**\n * Same as `React.useCallback` but always return a memoized function\n * but redirect to real function.\n */\nexport default function useRefFunc(callback) {\n var funcRef = React.useRef();\n funcRef.current = callback;\n var cacheFn = React.useCallback(function () {\n return funcRef.current.apply(funcRef, arguments);\n }, []);\n return cacheFn;\n}","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\nOption.isSelectOption = true;\nexport default Option;","import * as React from 'react';\n\n// Use any here since we do not get the type during compilation\n\nvar SelectContext = /*#__PURE__*/React.createContext(null);\nexport default SelectContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"disabled\", \"title\", \"children\", \"style\", \"className\"];\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\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\";\nimport { isPlatformMac } from \"./utils/platformUtil\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nimport SelectContext from \"./SelectContext\";\n\n// export interface OptionListProps {\n\nfunction isTitleType(content) {\n return typeof content === 'string' || typeof content === 'number';\n}\n\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\nvar OptionList = function OptionList(_, ref) {\n var _useBaseProps = useBaseProps(),\n prefixCls = _useBaseProps.prefixCls,\n id = _useBaseProps.id,\n open = _useBaseProps.open,\n multiple = _useBaseProps.multiple,\n mode = _useBaseProps.mode,\n searchValue = _useBaseProps.searchValue,\n toggleOpen = _useBaseProps.toggleOpen,\n notFoundContent = _useBaseProps.notFoundContent,\n onPopupScroll = _useBaseProps.onPopupScroll;\n var _React$useContext = React.useContext(SelectContext),\n flattenOptions = _React$useContext.flattenOptions,\n onActiveValue = _React$useContext.onActiveValue,\n defaultActiveFirstOption = _React$useContext.defaultActiveFirstOption,\n onSelect = _React$useContext.onSelect,\n menuItemSelectedIcon = _React$useContext.menuItemSelectedIcon,\n rawValues = _React$useContext.rawValues,\n fieldNames = _React$useContext.fieldNames,\n virtual = _React$useContext.virtual,\n listHeight = _React$useContext.listHeight,\n listItemHeight = _React$useContext.listItemHeight;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n });\n\n // =========================== List ===========================\n var listRef = React.useRef(null);\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n var scrollIntoView = function scrollIntoView(args) {\n if (listRef.current) {\n listRef.current.scrollTo(typeof args === 'number' ? {\n index: args\n } : args);\n }\n };\n\n // ========================== Active ==========================\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n if (!group && !data.disabled) {\n return current;\n }\n }\n return -1;\n };\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n };\n\n // Trigger active event\n var flattenItem = memoFlattenOptions[index];\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n onActiveValue(flattenItem.value, index, info);\n };\n\n // Auto active first item when list length or searchValue changed\n useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]);\n\n // https://github.com/ant-design/ant-design/issues/34975\n var isSelected = React.useCallback(function (value) {\n return rawValues.has(value) && mode !== 'combobox';\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]);\n\n // Auto scroll to item position in single mode\n useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && rawValues.size === 1) {\n var value = Array.from(rawValues)[0];\n var index = memoFlattenOptions.findIndex(function (_ref) {\n var data = _ref.data;\n return data.value === value;\n });\n if (index !== -1) {\n setActive(index);\n scrollIntoView(index);\n }\n }\n });\n\n // Force trigger scrollbar visible when open\n if (open) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open, searchValue]);\n\n // ========================== Values ==========================\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !rawValues.has(value)\n });\n }\n\n // Single mode should always close by select\n if (!multiple) {\n toggleOpen(false);\n }\n };\n\n // ========================= Keyboard =========================\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which,\n ctrlKey = event.ctrlKey;\n switch (which) {\n // >>> Arrow keys & ctrl + n/p on Mac\n case KeyCode.N:\n case KeyCode.P:\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n } else if (isPlatformMac() && ctrlKey) {\n if (which === KeyCode.N) {\n offset = 1;\n } else if (which === KeyCode.P) {\n offset = -1;\n }\n }\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n break;\n }\n\n // >>> Select\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n if (item && !item.data.disabled) {\n onSelectValue(item.value);\n } else {\n onSelectValue(undefined);\n }\n if (open) {\n event.preventDefault();\n }\n break;\n }\n\n // >>> Close\n case KeyCode.ESC:\n {\n toggleOpen(false);\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n });\n\n // ========================== Render ==========================\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n var omitFieldNameList = Object.keys(fieldNames).map(function (key) {\n return fieldNames[key];\n });\n var getLabel = function getLabel(item) {\n return item.label;\n };\n var renderItem = function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value;\n var group = item.group;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = getLabel(item);\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' && !group ? mergedLabel : null\n }, attrs, {\n key: index,\n role: group ? 'presentation' : 'option',\n id: \"\".concat(id, \"_list_\").concat(index),\n \"aria-selected\": isSelected(value)\n }), value) : null;\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: listHeight,\n itemHeight: listItemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onPopupScroll,\n virtual: virtual\n }, function (item, itemIndex) {\n var _classNames;\n var group = item.group,\n groupOption = item.groupOption,\n data = item.data,\n label = item.label,\n value = item.value;\n var key = data.key;\n\n // Group\n if (group) {\n var _data$title;\n var groupTitle = (_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : isTitleType(label) ? label.toString() : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\")),\n title: groupTitle\n }, label !== undefined ? label : key);\n }\n var disabled = data.disabled,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, _excluded);\n var passedProps = omit(otherProps, omitFieldNameList);\n\n // Option\n var selected = isSelected(value);\n var 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 = getLabel(item);\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n\n // https://github.com/ant-design/ant-design/issues/34145\n var content = typeof mergedLabel === 'number' ? mergedLabel : mergedLabel || value;\n // https://github.com/ant-design/ant-design/issues/26717\n var optionTitle = isTitleType(content) ? content.toString() : undefined;\n if (title !== undefined) {\n optionTitle = title;\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, pickAttrs(passedProps), {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\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};\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","/* istanbul ignore file */\nexport function isPlatformMac() {\n return /(mac\\sos|macintosh)/i.test(navigator.appVersion);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"id\", \"mode\", \"prefixCls\", \"backfill\", \"fieldNames\", \"inputValue\", \"searchValue\", \"onSearch\", \"autoClearSearchValue\", \"onSelect\", \"onDeselect\", \"dropdownMatchSelectWidth\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"optionLabelProp\", \"options\", \"children\", \"defaultActiveFirstOption\", \"menuItemSelectedIcon\", \"virtual\", \"listHeight\", \"listItemHeight\", \"value\", \"defaultValue\", \"labelInValue\", \"onChange\"];\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport BaseSelect, { isMultiple } from \"./BaseSelect\";\nimport useCache from \"./hooks/useCache\";\nimport useFilterOptions from \"./hooks/useFilterOptions\";\nimport useId from \"./hooks/useId\";\nimport useOptions from \"./hooks/useOptions\";\nimport useRefFunc from \"./hooks/useRefFunc\";\nimport OptGroup from \"./OptGroup\";\nimport Option from \"./Option\";\nimport OptionList from \"./OptionList\";\nimport SelectContext from \"./SelectContext\";\nimport { hasValue, toArray } from \"./utils/commonUtil\";\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from \"./utils/valueUtil\";\nimport warningProps, { warningNullOptions } from \"./utils/warningPropsUtil\";\nvar OMIT_DOM_PROPS = ['inputValue'];\nfunction isRawValue(value) {\n return !value || _typeof(value) !== 'object';\n}\nvar Select = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n mode = props.mode,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-select' : _props$prefixCls,\n backfill = props.backfill,\n fieldNames = props.fieldNames,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n onSearch = props.onSearch,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n optionFilterProp = props.optionFilterProp,\n optionLabelProp = props.optionLabelProp,\n options = props.options,\n children = props.children,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n virtual = props.virtual,\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 value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedId = useId(id);\n var multiple = isMultiple(mode);\n var childrenAsData = !!(!options && children);\n var mergedFilterOption = React.useMemo(function () {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n return filterOption;\n }, [filterOption, mode]);\n\n // ========================= FieldNames =========================\n var mergedFieldNames = React.useMemo(function () {\n return fillFieldNames(fieldNames, childrenAsData);\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [\n // We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames), childrenAsData]\n /* eslint-enable react-hooks/exhaustive-deps */);\n\n // =========================== Search ===========================\n var _useMergedState = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: function postState(search) {\n return search || '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSearchValue = _useMergedState2[0],\n setSearchValue = _useMergedState2[1];\n\n // =========================== Option ===========================\n var parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);\n var valueOptions = parsedOptions.valueOptions,\n labelOptions = parsedOptions.labelOptions,\n mergedOptions = parsedOptions.options;\n\n // ========================= Wrap Value =========================\n var convert2LabelValues = React.useCallback(function (draftValues) {\n // Convert to array\n var valueList = toArray(draftValues);\n\n // Convert to labelInValue type\n return valueList.map(function (val) {\n var rawValue;\n var rawLabel;\n var rawKey;\n var rawDisabled;\n var rawTitle;\n\n // Fill label & value\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n var _val$value;\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = (_val$value = val.value) !== null && _val$value !== void 0 ? _val$value : rawKey;\n }\n var option = valueOptions.get(rawValue);\n if (option) {\n var _option$key;\n // Fill missing props\n if (rawLabel === undefined) rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = (_option$key = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key !== void 0 ? _option$key : rawValue;\n rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;\n rawTitle = option === null || option === void 0 ? void 0 : option.title;\n\n // Warning if label not same as provided\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n var optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];\n if (optionLabel !== undefined && ! /*#__PURE__*/React.isValidElement(optionLabel) && ! /*#__PURE__*/React.isValidElement(rawLabel) && optionLabel !== rawLabel) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle\n };\n });\n }, [mergedFieldNames, optionLabelProp, valueOptions]);\n\n // =========================== Values ===========================\n var _useMergedState3 = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n internalValue = _useMergedState4[0],\n setInternalValue = _useMergedState4[1];\n\n // Merged value with LabelValueType\n var rawLabeledValues = React.useMemo(function () {\n var _values$;\n var values = convert2LabelValues(internalValue);\n\n // combobox no need save value when it's no value\n if (mode === 'combobox' && !((_values$ = values[0]) !== null && _values$ !== void 0 && _values$.value)) {\n return [];\n }\n return values;\n }, [internalValue, convert2LabelValues, mode]);\n\n // Fill label with cache to avoid option remove\n var _useCache = useCache(rawLabeledValues, valueOptions),\n _useCache2 = _slicedToArray(_useCache, 2),\n mergedValues = _useCache2[0],\n getMixedOption = _useCache2[1];\n var displayValues = React.useMemo(function () {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n var firstValue = mergedValues[0];\n if (firstValue.value === null && (firstValue.label === null || firstValue.label === undefined)) {\n return [];\n }\n }\n return mergedValues.map(function (item) {\n var _item$label;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : item.value\n });\n });\n }, [mode, mergedValues]);\n\n /** Convert `displayValues` to raw value type set */\n var rawValues = React.useMemo(function () {\n return new Set(mergedValues.map(function (val) {\n return val.value;\n }));\n }, [mergedValues]);\n React.useEffect(function () {\n if (mode === 'combobox') {\n var _mergedValues$;\n var strValue = (_mergedValues$ = mergedValues[0]) === null || _mergedValues$ === void 0 ? void 0 : _mergedValues$.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]);\n\n // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n var createTagOption = useRefFunc(function (val, label) {\n var _ref;\n var mergedLabel = label !== null && label !== void 0 ? label : val;\n return _ref = {}, _defineProperty(_ref, mergedFieldNames.value, val), _defineProperty(_ref, mergedFieldNames.label, mergedLabel), _ref;\n });\n\n // Fill tag as option if mode is `tags`\n var filledTagOptions = React.useMemo(function () {\n if (mode !== 'tags') {\n return mergedOptions;\n }\n\n // >>> Tag mode\n var cloneOptions = _toConsumableArray(mergedOptions);\n\n // Check if value exist in options (include new patch item)\n var existOptions = function existOptions(val) {\n return valueOptions.has(val);\n };\n\n // Fill current value as option\n _toConsumableArray(mergedValues).sort(function (a, b) {\n return a.value < b.value ? -1 : 1;\n }).forEach(function (item) {\n var val = item.value;\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n var filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);\n\n // Fill options with search value if needed\n var filledSearchOptions = React.useMemo(function () {\n if (mode !== 'tags' || !mergedSearchValue || filteredOptions.some(function (item) {\n return item[optionFilterProp || 'value'] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n\n // Fill search value as option\n return [createTagOption(mergedSearchValue)].concat(_toConsumableArray(filteredOptions));\n }, [createTagOption, optionFilterProp, mode, filteredOptions, mergedSearchValue]);\n var orderedFilteredOptions = React.useMemo(function () {\n if (!filterSort) {\n return filledSearchOptions;\n }\n return _toConsumableArray(filledSearchOptions).sort(function (a, b) {\n return filterSort(a, b);\n });\n }, [filledSearchOptions, filterSort]);\n var displayOptions = React.useMemo(function () {\n return flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData: childrenAsData\n });\n }, [orderedFilteredOptions, mergedFieldNames, childrenAsData]);\n\n // =========================== Change ===========================\n var triggerChange = function triggerChange(values) {\n var labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n if (onChange && (\n // Trigger event only when value changed\n labeledValues.length !== mergedValues.length || labeledValues.some(function (newVal, index) {\n var _mergedValues$index;\n return ((_mergedValues$index = mergedValues[index]) === null || _mergedValues$index === void 0 ? void 0 : _mergedValues$index.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value);\n }))) {\n var returnValues = labelInValue ? labeledValues : labeledValues.map(function (v) {\n return v.value;\n });\n var returnOptions = labeledValues.map(function (v) {\n return injectPropsWithOption(getMixedOption(v.value));\n });\n onChange(\n // Value\n multiple ? returnValues : returnValues[0],\n // Option\n multiple ? returnOptions : returnOptions[0]);\n }\n };\n\n // ======================= Accessibility ========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeValue = _React$useState2[0],\n setActiveValue = _React$useState2[1];\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n accessibilityIndex = _React$useState4[0],\n setAccessibilityIndex = _React$useState4[1];\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n var onActiveValue = React.useCallback(function (active, index) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$source = _ref2.source,\n source = _ref2$source === void 0 ? 'keyboard' : _ref2$source;\n setAccessibilityIndex(index);\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }, [backfill, mode]);\n\n // ========================= OptionList =========================\n var triggerSelect = function triggerSelect(val, selected, type) {\n var getSelectEnt = function getSelectEnt() {\n var _option$key2;\n var option = getMixedOption(val);\n return [labelInValue ? {\n label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],\n value: val,\n key: (_option$key2 = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key2 !== void 0 ? _option$key2 : val\n } : val, injectPropsWithOption(option)];\n };\n if (selected && onSelect) {\n var _getSelectEnt = getSelectEnt(),\n _getSelectEnt2 = _slicedToArray(_getSelectEnt, 2),\n wrappedValue = _getSelectEnt2[0],\n _option = _getSelectEnt2[1];\n onSelect(wrappedValue, _option);\n } else if (!selected && onDeselect && type !== 'clear') {\n var _getSelectEnt3 = getSelectEnt(),\n _getSelectEnt4 = _slicedToArray(_getSelectEnt3, 2),\n _wrappedValue = _getSelectEnt4[0],\n _option2 = _getSelectEnt4[1];\n onDeselect(_wrappedValue, _option2);\n }\n };\n\n // Used for OptionList selection\n var onInternalSelect = useRefFunc(function (val, info) {\n var cloneValues;\n\n // Single mode always trigger select only with option list\n var mergedSelect = multiple ? info.selected : true;\n if (mergedSelect) {\n cloneValues = multiple ? [].concat(_toConsumableArray(mergedValues), [val]) : [val];\n } else {\n cloneValues = mergedValues.filter(function (v) {\n return v.value !== val;\n });\n }\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect);\n\n // Clean search value if single or configured\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n });\n\n // ======================= Display Change =======================\n // BaseSelect display values change\n var onDisplayValuesChange = function onDisplayValuesChange(nextValues, info) {\n triggerChange(nextValues);\n var type = info.type,\n values = info.values;\n if (type === 'remove' || type === 'clear') {\n values.forEach(function (item) {\n triggerSelect(item.value, false, type);\n });\n }\n };\n\n // =========================== Search ===========================\n var onInternalSearch = function onInternalSearch(searchText, info) {\n setSearchValue(searchText);\n setActiveValue(null);\n\n // [Submit] Tag mode should flush input\n if (info.source === 'submit') {\n var formatted = (searchText || '').trim();\n // prevent empty tags from appearing when you click the Enter button\n if (formatted) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), [formatted])));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n return;\n }\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchText);\n }\n };\n var onInternalSearchSplit = function onInternalSearchSplit(words) {\n var patchValues = words;\n if (mode !== 'tags') {\n patchValues = words.map(function (word) {\n var opt = labelOptions.get(word);\n return opt === null || opt === void 0 ? void 0 : opt.value;\n }).filter(function (val) {\n return val !== undefined;\n });\n }\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), _toConsumableArray(patchValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true);\n });\n };\n\n // ========================== Context ===========================\n var selectContext = React.useMemo(function () {\n var realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return _objectSpread(_objectSpread({}, parsedOptions), {}, {\n flattenOptions: displayOptions,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon: menuItemSelectedIcon,\n rawValues: rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n childrenAsData: childrenAsData\n });\n }, [parsedOptions, displayOptions, onActiveValue, mergedDefaultActiveFirstOption, onInternalSelect, menuItemSelectedIcon, rawValues, mergedFieldNames, virtual, dropdownMatchSelectWidth, listHeight, listItemHeight, childrenAsData]);\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n }\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n return /*#__PURE__*/React.createElement(SelectContext.Provider, {\n value: selectContext\n }, /*#__PURE__*/React.createElement(BaseSelect, _extends({}, restProps, {\n // >>> MISC\n id: mergedId,\n prefixCls: prefixCls,\n ref: ref,\n omitDomProps: OMIT_DOM_PROPS,\n mode: mode\n // >>> Values\n ,\n displayValues: displayValues,\n onDisplayValuesChange: onDisplayValuesChange\n // >>> Search\n ,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n autoClearSearchValue: autoClearSearchValue,\n onSearchSplit: onInternalSearchSplit,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n // >>> OptionList\n ,\n OptionList: OptionList,\n emptyOptions: !displayOptions.length\n // >>> Accessibility\n ,\n activeValue: activeValue,\n activeDescendantId: \"\".concat(mergedId, \"_list_\").concat(accessibilityIndex)\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nvar TypedSelect = Select;\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\nexport default TypedSelect;","import * as React from 'react';\nimport { convertChildrenToData } from \"../utils/legacyUtil\";\n\n/**\n * Parse `children` to `options` if `options` is not provided.\n * Then flatten the `options`.\n */\nexport default function useOptions(options, children, fieldNames, optionFilterProp, optionLabelProp) {\n return React.useMemo(function () {\n var mergedOptions = options;\n var childrenAsData = !options;\n if (childrenAsData) {\n mergedOptions = convertChildrenToData(children);\n }\n var valueOptions = new Map();\n var labelOptions = new Map();\n var setLabelOptions = function setLabelOptions(labelOptionsMap, option, key) {\n if (key && typeof key === 'string') {\n labelOptionsMap.set(option[key], option);\n }\n };\n function dig(optionList) {\n var isChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n // for loop to speed up collection speed\n for (var i = 0; i < optionList.length; i += 1) {\n var option = optionList[i];\n if (!option[fieldNames.options] || isChildren) {\n valueOptions.set(option[fieldNames.value], option);\n setLabelOptions(labelOptions, option, fieldNames.label);\n // https://github.com/ant-design/ant-design/issues/35304\n setLabelOptions(labelOptions, option, optionFilterProp);\n setLabelOptions(labelOptions, option, optionLabelProp);\n } else {\n dig(option[fieldNames.options], true);\n }\n }\n }\n dig(mergedOptions);\n return {\n options: mergedOptions,\n valueOptions: valueOptions,\n labelOptions: labelOptions\n };\n }, [options, children, fieldNames, optionFilterProp, optionLabelProp]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n/**\n * Cache `value` related LabeledValue & options.\n */\nexport default (function (labeledValues, valueOptions) {\n var cacheRef = React.useRef({\n values: new Map(),\n options: new Map()\n });\n var filledLabeledValues = React.useMemo(function () {\n var _cacheRef$current = cacheRef.current,\n prevValueCache = _cacheRef$current.values,\n prevOptionCache = _cacheRef$current.options;\n\n // Fill label by cache\n var patchedValues = labeledValues.map(function (item) {\n if (item.label === undefined) {\n var _prevValueCache$get;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_prevValueCache$get = prevValueCache.get(item.value)) === null || _prevValueCache$get === void 0 ? void 0 : _prevValueCache$get.label\n });\n }\n return item;\n });\n\n // Refresh cache\n var valueCache = new Map();\n var optionCache = new Map();\n patchedValues.forEach(function (item) {\n valueCache.set(item.value, item);\n optionCache.set(item.value, valueOptions.get(item.value) || prevOptionCache.get(item.value));\n });\n cacheRef.current.values = valueCache;\n cacheRef.current.options = optionCache;\n return patchedValues;\n }, [labeledValues, valueOptions]);\n var getOption = React.useCallback(function (val) {\n return valueOptions.get(val) || cacheRef.current.options.get(val);\n }, [valueOptions]);\n return [filledLabeledValues, getOption];\n});","import Select from \"./Select\";\nimport Option from \"./Option\";\nimport OptGroup from \"./OptGroup\";\nimport BaseSelect from \"./BaseSelect\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nexport { Option, OptGroup, BaseSelect, useBaseProps };\nexport default Select;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\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(event, deltaY) {\n raf.cancel(nextFrameRef.current);\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(false, deltaY)) return;\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);\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}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\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 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 }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n }]);\n return CacheMap;\n}();\nexport default CacheMap;","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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 if (callback(_isHorizontal, _isHorizontal ? offsetX : offsetY)) {\n e.preventDefault();\n }\n // Smooth interval\n clearInterval(intervalRef.current);\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 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 _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 _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';\nfunction getPageXY(e, horizontal) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return obj[horizontal ? 'pageX' : 'pageY'];\n}\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 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 // ================================= 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 // Horizontal scroll no need sync virtual position\n\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) {\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\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]);\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 _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport raf from \"rc-util/es/raf\";\nimport CacheMap from \"../utils/CacheMap\";\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 collectRafRef = useRef();\n function cancelRaf() {\n raf.cancel(collectRafRef.current);\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 if (heightsRef.current.get(key) !== offsetHeight) {\n heightsRef.current.set(key, htmlElement.offsetHeight);\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 collectRafRef.current = raf(doCollect);\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 _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Size info need loop query for the `heights` which will has the perf issue.\n * Let cache result for each render phase.\n */\nexport function useGetSize(mergedData, getKey, heights, itemHeight) {\n var _React$useMemo = React.useMemo(function () {\n return [new Map(), []];\n }, [mergedData, heights.id, itemHeight]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n key2Index = _React$useMemo2[0],\n bottomList = _React$useMemo2[1];\n var getSize = function getSize(startKey) {\n var endKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startKey;\n // Get from cache first\n var startIndex = key2Index.get(startKey);\n var endIndex = key2Index.get(endKey);\n\n // Loop to fill the cache\n if (startIndex === undefined || endIndex === undefined) {\n var dataLen = mergedData.length;\n for (var i = bottomList.length; i < dataLen; i += 1) {\n var _heights$get;\n var item = mergedData[i];\n var key = getKey(item);\n key2Index.set(key, i);\n var cacheHeight = (_heights$get = heights.get(key)) !== null && _heights$get !== void 0 ? _heights$get : itemHeight;\n bottomList[i] = (bottomList[i - 1] || 0) + cacheHeight;\n if (key === startKey) {\n startIndex = i;\n }\n if (key === endKey) {\n endIndex = i;\n }\n if (startIndex !== undefined && endIndex !== undefined) {\n break;\n }\n }\n }\n return {\n top: bottomList[startIndex - 1] || 0,\n bottom: bottomList[endIndex]\n };\n };\n return getSize;\n}","import * as React from 'react';\nimport { Item } from \"../Item\";\nexport default function useChildren(list, startIndex, endIndex, scrollWidth, offsetX, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {\n style: {\n width: scrollWidth\n },\n offsetX: offsetX\n });\n var key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from \"./List\";\nexport default List;"],"names":["Object","defineProperty","exports","value","obj","_default","require","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","e","r","default","t","_getRequireWildcardCache","has","get","n","__proto__","a","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_interopRequireWildcard","_DownOutlined","_AntdIcon","WeakMap","DownOutlined","props","ref","createElement","icon","RefIcon","forwardRef","_extends","assign","target","arguments","length","source","key","prototype","apply","this","_arrayLikeToArray","arr","len","arr2","Array","_iterableToArray","iter","Symbol","iterator","from","_unsupportedIterableToArray","o","minLen","toString","slice","constructor","name","test","_toConsumableArray","isArray","TypeError","_defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","push","forEach","getOwnPropertyDescriptors","defineProperties","_arrayWithHoles","_nonIterableRest","_slicedToArray","_i","_s","_e","_arr","_n","_d","next","done","err","_objectWithoutProperties","excluded","sourceKeys","indexOf","sourceSymbolKeys","propertyIsEnumerable","BaseSelectContext","useBaseProps","useLock","duration","undefined","lockRef","timeoutRef","window","clearTimeout","current","locked","setTimeout","_ref","className","customizeIcon","customizeIconProps","_onMouseDown","onMouseDown","onClick","children","event","preventDefault","style","userSelect","WebkitUserSelect","unselectable","classNames","split","map","cls","concat","Input","_inputNode2","_inputNode2$props","prefixCls","id","inputElement","disabled","tabIndex","autoFocus","autoComplete","editable","activeDescendantId","maxLength","_onKeyDown","onKeyDown","_onChange","onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","open","attrs","inputNode","_inputNode","originRef","originProps","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","warning","_objectSpread","type","composeRef","role","readOnly","opacity","RefInput","displayName","toArray","isBrowserClient","document","documentElement","isTitleType","title","includes","getTitle","item","label","itemKey","_value$key","onPreventMouseDown","stopPropagation","effect","deps","values","searchValue","autoClearSearchValue","inputRef","placeholder","mode","showSearch","removeIcon","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onToggleOpen","onRemove","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","_useState2","useState","inputWidth","setInputWidth","_useState4","focused","setFocused","selectionPrefixCls","inputValue","inputEditable","defaultRenderSelector","content","itemDisabled","closable","onClose","TransBtn","scrollWidth","width","onFocus","onBlur","pickAttrs","selectionNode","Overflow","data","renderItem","valueItem","displayLabel","strLabel","String","customizeRenderSelector","renderRest","suffix","maxCount","activeValue","_React$useState2","inputChanged","setInputChanged","combobox","hasTextInput","visibility","hiddenStyle","renderPlaceholder","Selector","useRef","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","focus","blur","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","currentKeyCode","which","KeyCode","UP","DOWN","ENTER","ESC","SHIFT","BACKSPACE","TAB","WIN_KEY","ALT","META","WIN_KEY_RIGHT","CTRL","SEMICOLON","EQUALS","CAPS_LOCK","CONTEXT_MENU","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","replacedText","replace","clipboardData","getData","selectNode","MultipleSelector","SingleSelector","body","msTouchAction","inputMouseDown","ForwardSelector","_excluded","SelectTrigger","visible","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","_props$direction","direction","placement","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter","restProps","dropdownPrefixCls","popupNode","builtInPlacements","adjustX","bottomLeft","points","offset","overflow","adjustY","bottomRight","topLeft","topRight","getBuiltInPlacements","mergedTransitionName","popupRef","getPopupElement","popupStyle","minWidth","Trigger","showAction","hideAction","popupPlacement","builtinPlacements","popupTransitionName","popup","onMouseEnter","popupAlign","popupVisible","popupClassName","RefSelectTrigger","getKey","index","fillFieldNames","fieldNames","childrenAsData","options","injectPropsWithOption","option","newOption","getSeparatedContent","text","tokens","match","list","separate","str","_ref3","_ref4","token","restTokens","reduce","prevList","unitStr","unit","DEFAULT_OMIT_PROPS","isMultiple","BaseSelect","_customizeRawInputEle","_classNames2","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","_props$notFoundConten","notFoundContent","onClear","loading","getInputElement","getRawInputElement","defaultOpen","onDropdownVisibleChange","onActiveValueChange","onSearchSplit","tokenSeparators","allowClear","showArrow","inputIcon","clearIcon","OptionList","_props$showAction","onKeyUp","multiple","mergedShowSearch","domProps","propName","mobile","setMobile","isMobile","containerRef","selectorDomRef","triggerRef","selectorRef","listRef","_useDelayReset","timeout","bool","setBool","delayRef","cancelLatest","callback","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","_selectorRef$current","_selectorRef$current2","scrollTo","arg","_listRef$current","mergedSearchValue","_displayValues$","val","customizeInputElement","customizeRawInputElement","customizeRawInputRef","useComposeRef","_useMergedState2","useMergedState","defaultValue","innerOpen","setInnerOpen","mergedOpen","emptyListContent","triggerOpen","newOpen","nextOpen","some","tokenSeparator","onInternalSearch","searchText","fromTyping","isCompositing","ret","newSearchText","patchLabels","getClearLock","setClearLock","focusRef","activeTimeoutIds","timeoutId","splice","onTriggerVisibleChange","_React$useState4","setContainerWidth","forceUpdate","useLayoutEffect","_containerRef$current","newWidth","Math","ceil","offsetWidth","Number","isNaN","elements","customizedTrigger","propsRef","onGlobalMouseDown","_propsRef$current","shadowRoot","composed","composedPath","element","every","contains","addEventListener","removeEventListener","useSelectTriggerControl","_triggerRef$current2","arrowNode","clearNode","baseSelectContext","toggleOpen","mergedShowArrow","_selectorRef$current4","renderNode","optionList","mergedClassName","selectorNode","trim","newValues","_triggerRef$current","_selectorRef$current3","activeElement","_len3","restArgs","_key3","_listRef$current2","clearLock","cloneDisplayValues","removedDisplayValue","_len","rest","_key","_len2","_key2","_listRef$current3","height","position","join","Provider","search","toUpperCase","uuid","canUseDom","useId","innerId","setInnerId","retId","getUUID","_excluded2","convertChildrenToData","nodes","optionOnly","node","_ref2","isSelectOptGroup","_ref2$props","_ref$props","convertNodeToOption","useRefFunc","funcRef","cacheFn","OptGroup","Option","isSelectOption","_","_useBaseProps","onPopupScroll","_React$useContext","SelectContext","flattenOptions","onActiveValue","defaultActiveFirstOption","onSelect","menuItemSelectedIcon","rawValues","virtual","listHeight","listItemHeight","itemPrefixCls","memoFlattenOptions","useMemo","prev","onListMouseDown","scrollIntoView","args","getEnabledActiveIndex","_memoFlattenOptions$c","group","activeIndex","setActiveIndex","setActive","fromKeyboard","info","flattenItem","useEffect","isSelected","size","findIndex","onSelectValue","selected","ctrlKey","N","P","navigator","appVersion","nextActiveIndex","omitFieldNameList","getLabel","itemData","mergedLabel","List","itemHeight","fullHeight","onScroll","itemIndex","_classNames","groupOption","_data$title","groupTitle","otherProps","passedProps","omit","optionPrefixCls","optionClassName","iconVisible","optionTitle","onMouseMove","RefOptionList","OMIT_DOM_PROPS","TypedSelect","_props$prefixCls","backfill","_props$autoClearSearc","onDeselect","_props$dropdownMatchS","filterOption","filterSort","optionFilterProp","optionLabelProp","_props$listHeight","_props$listItemHeight","labelInValue","mergedId","mergedFilterOption","mergedFieldNames","JSON","stringify","postState","setSearchValue","parsedOptions","mergedOptions","valueOptions","Map","labelOptions","setLabelOptions","labelOptionsMap","dig","isChildren","useOptions","convert2LabelValues","draftValues","rawValue","rawLabel","rawKey","rawDisabled","rawTitle","_val$value","isRawValue","_option$key","_useMergedState4","internalValue","setInternalValue","_useCache","labeledValues","cacheRef","_cacheRef$current","prevValueCache","prevOptionCache","patchedValues","_prevValueCache$get","valueCache","optionCache","useCache","_values$","_useCache2","mergedValues","getMixedOption","firstValue","_item$label","Set","_mergedValues$","strValue","hasValue","createTagOption","filteredOptions","fieldOptions","fieldLabel","fieldValue","customizeFilter","upperSearch","filterFunc","wrapOption","opt","subOptions","subItem","useFilterOptions","cloneOptions","sort","b","existOptions","filledSearchOptions","orderedFilteredOptions","displayOptions","flattenList","_fillFieldNames","isGroupOption","grpLabel","triggerChange","newVal","_mergedValues$index","returnValues","v","returnOptions","setActiveValue","accessibilityIndex","setAccessibilityIndex","mergedDefaultActiveFirstOption","active","_ref2$source","triggerSelect","getSelectEnt","_option$key2","_getSelectEnt2","wrappedValue","_option","_getSelectEnt4","_wrappedValue","_option2","onInternalSelect","cloneValues","mergedSelect","selectContext","realVirtual","nextValues","formatted","newRawValues","words","patchValues","word","newRawValue","Filler","offsetY","offsetX","onInnerResize","innerProps","rtl","extra","outerStyle","innerStyle","display","flexDirection","transform","ResizeObserver","onResize","offsetHeight","Item","setRef","refFunc","useDiffItem","onDiff","prevData","setPrevData","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","abs","shortKey","findListDiffIndex","userAgent","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","lockTimeoutRef","scrollPingRef","top","bottom","left","right","isHorizontal","delta","smoothOffset","originScroll","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","useOriginScroll","wheelDirectionRef","wheelDirectionCleanRef","raf","cancel","deltaX","deltaY","shiftKey","mergedDeltaX","mergedDeltaY","absX","absY","isFF","patchMultiple","onWheelY","onWheelX","detail","_defineProperties","descriptor","CacheMap","instance","Constructor","_classCallCheck","maps","create","protoProps","staticProps","SMOOTH_PTG","MAX_TIMES","getPageXY","horizontal","touches","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","propsThumbStyle","thumbStyle","dragging","setDragging","pageXY","setPageXY","_React$useState6","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","_React$useState8","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","stateRef","pageY","onThumbMouseDown","onScrollbarTouchStart","scrollbarEle","thumbEle","passive","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","_stateRef$current","stateDragging","statePageY","stateStartTop","rect","getBoundingClientRect","scale","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","ptg","newScrollTop","max","min","onMouseUp","scrollbarPrefixCls","containerStyle","background","borderRadius","cursor","MIN_SIZE","getSpinSize","baseSize","floor","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","_props$fullHeight","_props$component","component","Component","onVirtualScroll","onVisibleChange","extraRender","styles","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","collectRafRef","cancelRaf","collectHeight","sync","doCollect","offsetParent","htmlElement","findDOMNode","c","origin","delete","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","useVirtual","containerHeight","total","curr","isRTL","mergedData","componentRef","fillerInnerRef","offsetTop","setOffsetTop","offsetLeft","setOffsetLeft","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","syncScrollTop","alignedTop","maxScrollHeightRef","keepInRange","scrollTop","rangeRef","start","end","diffItemRef","_React$useMemo","scrollHeight","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","_item","cacheHeight","currentItemBottom","fillerOffset","setSize","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","getVirtualScrollInfo","x","y","lastVirtualScrollInfoRef","triggerScroll","useEvent","params","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","offsetXY","fromHorizontal","_useFrameWheel2","onRawWheel","onFireFoxScroll","cleanUpEvents","touchedRef","touchXRef","touchYRef","elementRef","intervalRef","onTouchMove","currentX","pageX","currentY","_isHorizontal","clearInterval","setInterval","onTouchEnd","onTouchStart","useMobileTouchMove","onMozMousePixelScroll","componentEle","newOffsetLeft","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","_scrollTo","triggerFlash","scrollRef","syncState","setSyncState","times","ori","targetAlign","originAlign","clientHeight","needCollectHeight","newTargetAlign","targetTop","mergedAlign","stackTop","itemBottom","maxLen","leftHeight","_cacheHeight","lastTop","align","_arg$offset","useScrollTo","nativeElement","getScrollInfo","config","renderList","getSize","_React$useMemo2","key2Index","bottomList","startKey","endKey","_heights$get","useGetSize","extraContent","listChildren","setNodeRef","renderFunc","ele","useChildren","componentStyle","overflowX","pointerEvents","containerProps","dir","sizeInfo","currentTarget","ScrollBar","verticalScrollBar","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb"],"sourceRoot":""}