{"version":3,"sources":["webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/Filler.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/Item.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useChildren.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/utils/isFirefox.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useGetSize.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/utils/CacheMap.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useHeights.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/ScrollBar.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/utils/scrollbarUtil.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/List.js","webpack://berenedacom/../node_modules/rc-virtual-list/es/index.js","webpack://berenedacom/../node_modules/rc-virtual-list/node_modules/classnames/index.js"],"names":[],"mappings":"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","file":"nm.rc-virtual-list.40a0ff15024117ec5d6d.js","sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as 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}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.indexOf(n) >= 0) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], t.indexOf(o) >= 0 || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nexport { _objectWithoutProperties as default };","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(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}","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}","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","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 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 elementRef.current.addEventListener('touchend', onTouchEnd);\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 }\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 thumbEle.addEventListener('touchstart', onThumbMouseDown);\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 scale = containerSize / scrollbarRef.current.getBoundingClientRect().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 window.addEventListener('touchmove', onMouseMove);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchend', onMouseUp);\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 }, [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 componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\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 List from \"./List\";\nexport default List;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"sourceRoot":""}