{"version":3,"file":"chunk-klb-pay79.js","sources":["../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/hooks/useGetSize.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/hooks/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"],"sourcesContent":["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 * 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}","/**\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 _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}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n }\n\n // Pass to ref since global add is in closure\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom,\n left: isScrollAtLeft,\n right: isScrollAtRight\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n scrollPingRef.current.left = isScrollAtLeft;\n scrollPingRef.current.right = isScrollAtRight;\n return function (isHorizontal, delta) {\n var smoothOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var originScroll = isHorizontal ?\n // Pass origin wheel when on the left\n delta < 0 && scrollPingRef.current.left ||\n // Pass origin wheel when on the right\n delta > 0 && scrollPingRef.current.right // Pass origin wheel when on the top\n : delta < 0 && scrollPingRef.current.top ||\n // Pass origin wheel when on the bottom\n delta > 0 && scrollPingRef.current.bottom;\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n return !lockRef.current && originScroll;\n };\n});","import raf from \"rc-util/es/raf\";\nimport { useRef } from 'react';\nimport isFF from \"../utils/isFirefox\";\nimport useOriginScroll from \"./useOriginScroll\";\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, horizontalScroll,\n/***\n * Return `true` when you need to prevent default event\n */\nonWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null);\n\n // Firefox patch\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false);\n\n // Scroll status sync\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n function onWheelY(e, deltaY) {\n raf.cancel(nextFrameRef.current);\n\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(false, deltaY)) return;\n\n // Skip if nest List has handled this event\n var event = e;\n if (!event._virtualHandled) {\n event._virtualHandled = true;\n } else {\n return;\n }\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n\n // Proxy of scroll events\n if (!isFF) {\n event.preventDefault();\n }\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple, false);\n offsetRef.current = 0;\n });\n }\n function onWheelX(event, deltaX) {\n onWheelDelta(deltaX, true);\n if (!isFF) {\n event.preventDefault();\n }\n }\n\n // Check for which direction does wheel do. `sx` means `shift + wheel`\n var wheelDirectionRef = useRef(null);\n var wheelDirectionCleanRef = useRef(null);\n function onWheel(event) {\n if (!inVirtual) return;\n\n // Wait for 2 frame to clean direction\n raf.cancel(wheelDirectionCleanRef.current);\n wheelDirectionCleanRef.current = raf(function () {\n wheelDirectionRef.current = null;\n }, 2);\n var deltaX = event.deltaX,\n deltaY = event.deltaY,\n shiftKey = event.shiftKey;\n var mergedDeltaX = deltaX;\n var mergedDeltaY = deltaY;\n if (wheelDirectionRef.current === 'sx' || !wheelDirectionRef.current && (shiftKey || false) && deltaY && !deltaX) {\n mergedDeltaX = deltaY;\n mergedDeltaY = 0;\n wheelDirectionRef.current = 'sx';\n }\n var absX = Math.abs(mergedDeltaX);\n var absY = Math.abs(mergedDeltaY);\n if (wheelDirectionRef.current === null) {\n wheelDirectionRef.current = horizontalScroll && absX > absY ? 'x' : 'y';\n }\n if (wheelDirectionRef.current === 'y') {\n onWheelY(event, mergedDeltaY);\n } else {\n onWheelX(event, mergedDeltaX);\n }\n }\n\n // A patch for firefox\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n return [onWheel, onFireFoxScroll];\n}","import _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 _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;","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 useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useRef } from 'react';\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchXRef = useRef(0);\n var touchYRef = useRef(0);\n var elementRef = useRef(null);\n\n // Smooth scroll\n var intervalRef = useRef(null);\n\n /* eslint-disable prefer-const */\n var cleanUpEvents;\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentX = Math.ceil(e.touches[0].pageX);\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetX = touchXRef.current - currentX;\n var offsetY = touchYRef.current - currentY;\n var _isHorizontal = Math.abs(offsetX) > Math.abs(offsetY);\n if (_isHorizontal) {\n touchXRef.current = currentX;\n } else {\n touchYRef.current = currentY;\n }\n var scrollHandled = callback(_isHorizontal, _isHorizontal ? offsetX : offsetY, false, e);\n if (scrollHandled) {\n e.preventDefault();\n }\n\n // Smooth interval\n clearInterval(intervalRef.current);\n if (scrollHandled) {\n intervalRef.current = setInterval(function () {\n if (_isHorizontal) {\n offsetX *= SMOOTH_PTG;\n } else {\n offsetY *= SMOOTH_PTG;\n }\n var offset = Math.floor(_isHorizontal ? offsetX : offsetY);\n if (!callback(_isHorizontal, offset, true) || Math.abs(offset) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n }\n };\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchXRef.current = Math.ceil(e.touches[0].pageX);\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove, {\n passive: false\n });\n elementRef.current.addEventListener('touchend', onTouchEnd, {\n passive: true\n });\n }\n };\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart, {\n passive: true\n });\n }\n return function () {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 || _listRef$current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","import _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 flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (isHorizontal, delta, smoothOffset, e) {\n var event = e;\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n\n // Fix nest List trigger TouchMove event\n if (!event || !event._virtualHandled) {\n if (event) {\n event._virtualHandled = true;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n }\n return false;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n // scrolling at top/bottom limit\n var scrollingUpAtTop = isScrollAtTop && e.detail < 0;\n var scrollingDownAtBottom = isScrollAtBottom && e.detail > 0;\n if (useVirtual && !scrollingUpAtTop && !scrollingDownAtBottom) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual, isScrollAtTop, isScrollAtBottom]);\n\n // Sync scroll left\n useLayoutEffect(function () {\n if (scrollWidth) {\n var newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n return collectHeight(true);\n }, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;"],"names":["Filler","React.forwardRef","_ref","ref","height","offsetY","offsetX","children","prefixCls","onInnerResize","innerProps","rtl","extra","outerStyle","innerStyle","_objectSpread","_defineProperty","React.createElement","ResizeObserver","_ref2","offsetHeight","_extends","classNames","Item","setRef","refFunc","React.useCallback","node","React.cloneElement","useChildren","list","startIndex","endIndex","scrollWidth","setNodeRef","renderFunc","getKey","item","index","eleIndex","key","ele","findListDiffIndex","originList","targetList","originLen","targetLen","shortList","longList","notExistKey","getItemKey","diffIndex","multiple","i","shortKey","longKey","useDiffItem","data","onDiff","_React$useState","React.useState","_React$useState2","_slicedToArray","prevData","setPrevData","_React$useState3","_React$useState4","diffItem","setDiffItem","React.useEffect","diff","isFF","_typeof","useOriginScroll","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","lockRef","useRef","lockTimeoutRef","lockScroll","scrollPingRef","isHorizontal","delta","smoothOffset","originScroll","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","onWheelY","e","deltaY","raf","event","patchMultiple","onWheelX","deltaX","wheelDirectionRef","wheelDirectionCleanRef","onWheel","shiftKey","mergedDeltaX","mergedDeltaY","absX","absY","onFireFoxScroll","useGetSize","mergedData","heights","itemHeight","_React$useMemo","React.useMemo","_React$useMemo2","key2Index","bottomList","getSize","startKey","endKey","dataLen","_heights$get","cacheHeight","CacheMap","_classCallCheck","_createClass","value","useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","collectRafRef","cancelRaf","collectHeight","sync","doCollect","element","htmlElement","findDOMNode","c","setInstanceRef","instance","useEffect","SMOOTH_PTG","useMobileTouchMove","listRef","callback","touchedRef","touchXRef","touchYRef","elementRef","intervalRef","cleanUpEvents","onTouchMove","currentX","currentY","_isHorizontal","scrollHandled","offset","onTouchEnd","onTouchStart","useLayoutEffect","_listRef$current","MAX_TIMES","useScrollTo","containerRef","syncScrollTop","triggerFlash","scrollRef","React.useRef","syncState","setSyncState","ori","targetAlign","originAlign","needCollectHeight","newTargetAlign","targetTop","mergedAlign","stackTop","itemTop","itemBottom","maxLen","leftHeight","_i","_key","_cacheHeight","scrollTop","scrollBottom","arg","align","_arg$offset","getPageXY","horizontal","obj","ScrollBar","props","scrollOffset","scrollRange","onStartMove","onStopMove","onScroll","spinSize","containerSize","style","propsThumbStyle","dragging","setDragging","pageXY","setPageXY","_React$useState5","_React$useState6","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","_React$useState7","_React$useState8","visible","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","top","ptg","onContainerMouseDown","stateRef","onThumbMouseDown","onScrollbarTouchStart","scrollbarEle","thumbEle","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","onMouseMove","_stateRef$current","stateDragging","statePageY","stateStartTop","rect","scale","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","newScrollTop","onMouseUp","React.useImperativeHandle","scrollbarPrefixCls","containerStyle","thumbStyle","MIN_SIZE","getSpinSize","baseSize","_excluded","EMPTY_DATA","ScrollStyle","RawList","_props$prefixCls","className","_props$fullHeight","fullHeight","itemKey","virtual","direction","_props$component","Component","onVirtualScroll","onVisibleChange","extraRender","styles","restProps","_objectWithoutProperties","_useHeights","_useHeights2","heightUpdatedMark","useVirtual","containerHeight","total","curr","isRTL","mergedClassName","componentRef","fillerInnerRef","_useState","useState","_useState2","offsetTop","setOffsetTop","_useState3","_useState4","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","origin","alignedTop","keepInRange","rangeRef","diffItemRef","_useDiffItem","_useDiffItem2","_fillerInnerRef$curre","startOffset","_item","currentItemBottom","scrollHeight","start","end","fillerOffset","size","setSize","onHolderResize","sizeInfo","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","maxScrollHeightRef","getVirtualScrollInfo","lastVirtualScrollInfoRef","triggerScroll","useEvent","params","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","onFallbackScroll","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","max","offsetXY","fromHorizontal","left","_useFrameWheel","_useFrameWheel2","onRawWheel","onMozMousePixelScroll","scrollingUpAtTop","scrollingDownAtBottom","componentEle","newOffsetLeft","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","_scrollTo","config","isPosScroll","renderList","extraContent","listChildren","componentStyle","containerProps","List"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}