1 line
56 KiB
JSON
1 line
56 KiB
JSON
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { useEvent } from 'rc-util';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport Filler from \"./Filler\";\nimport useChildren from \"./hooks/useChildren\";\nimport useDiffItem from \"./hooks/useDiffItem\";\nimport useFrameWheel from \"./hooks/useFrameWheel\";\nimport { useGetSize } from \"./hooks/useGetSize\";\nimport useHeights from \"./hooks/useHeights\";\nimport useMobileTouchMove from \"./hooks/useMobileTouchMove\";\nimport useOriginScroll from \"./hooks/useOriginScroll\";\nimport useScrollTo from \"./hooks/useScrollTo\";\nimport ScrollBar from \"./ScrollBar\";\nimport { getSpinSize } from \"./utils/scrollbarUtil\";\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n direction = props.direction,\n scrollWidth = props.scrollWidth,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVirtualScroll = props.onVirtualScroll,\n onVisibleChange = props.onVisibleChange,\n innerProps = props.innerProps,\n extraRender = props.extraRender,\n styles = props.styles,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Item Key ===============================\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n\n // ================================ Height ================================\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3];\n\n // ================================= MISC =================================\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var containerHeight = React.useMemo(function () {\n return Object.values(heights.maps).reduce(function (total, curr) {\n return total + curr;\n }, 0);\n }, [heights.id, heights.maps]);\n var inVirtual = useVirtual && data && (Math.max(itemHeight * data.length, containerHeight) > height || !!scrollWidth);\n var isRTL = direction === 'rtl';\n var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var containerRef = useRef();\n\n // =============================== Item Key ===============================\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n offsetTop = _useState2[0],\n setOffsetTop = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n offsetLeft = _useState4[0],\n setOffsetLeft = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrollMoving = _useState6[0],\n setScrollMoving = _useState6[1];\n var onScrollbarStartMove = function onScrollbarStartMove() {\n setScrollMoving(true);\n };\n var onScrollbarStopMove = function onScrollbarStopMove() {\n setScrollMoving(false);\n };\n var sharedConfig = {\n getKey: getKey\n };\n\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(function (origin) {\n var value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n diffItemRef.current = diffItem;\n\n // ========================== Visible Calculation =========================\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n for (var i = 0; i < dataLen; i += 1) {\n var _item = mergedData[i];\n var key = getKey(_item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n fillerOffset = _React$useMemo.offset;\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n\n // ================================= Size =================================\n var _React$useState = React.useState({\n width: 0,\n height: height\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n size = _React$useState2[0],\n setSize = _React$useState2[1];\n var onHolderResize = function onHolderResize(sizeInfo) {\n setSize({\n width: sizeInfo.offsetWidth,\n height: sizeInfo.offsetHeight\n });\n };\n\n // Hack on scrollbar to enable flash call\n var verticalScrollBarRef = useRef();\n var horizontalScrollBarRef = useRef();\n var horizontalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.width, scrollWidth);\n }, [size.width, scrollWidth]);\n var verticalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.height, scrollHeight);\n }, [size.height, scrollHeight]);\n\n // =============================== In Range ===============================\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n var isScrollAtTop = offsetTop <= 0;\n var isScrollAtBottom = offsetTop >= maxScrollHeight;\n var isScrollAtLeft = offsetLeft <= 0;\n var isScrollAtRight = offsetLeft >= scrollWidth;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n\n // ================================ Scroll ================================\n var getVirtualScrollInfo = function getVirtualScrollInfo() {\n return {\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n };\n };\n var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n var triggerScroll = useEvent(function (params) {\n if (onVirtualScroll) {\n var nextInfo = _objectSpread(_objectSpread({}, getVirtualScrollInfo()), params);\n\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n var newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(function () {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n\n // Trigger origin onScroll\n onScroll === null || onScroll === void 0 || onScroll(e);\n triggerScroll();\n }\n var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n var tmpOffsetLeft = nextOffsetLeft;\n var max = !!scrollWidth ? scrollWidth - size.width : 0;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n if (fromHorizontal) {\n // Horizontal scroll no need sync virtual position\n\n flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (isHorizontal, delta, smoothOffset) {\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]);\n\n // Sync scroll left\n useLayoutEffect(function () {\n if (scrollWidth) {\n var newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n return collectHeight(true);\n }, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","map":{"version":3,"names":["_extends","_typeof","_objectSpread","_defineProperty","_slicedToArray","_objectWithoutProperties","_excluded","classNames","ResizeObserver","useEvent","useLayoutEffect","React","useRef","useState","flushSync","Filler","useChildren","useDiffItem","useFrameWheel","useGetSize","useHeights","useMobileTouchMove","useOriginScroll","useScrollTo","ScrollBar","getSpinSize","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","props","ref","_props$prefixCls","prefixCls","className","height","itemHeight","_props$fullHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","_props$component","component","Component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","restProps","getKey","useCallback","item","_useHeights","_useHeights2","setInstanceRef","collectHeight","heights","heightUpdatedMark","useVirtual","containerHeight","useMemo","Object","values","maps","reduce","total","curr","id","inVirtual","Math","max","length","isRTL","mergedClassName","concat","mergedData","componentRef","fillerInnerRef","containerRef","_useState","_useState2","offsetTop","setOffsetTop","_useState3","_useState4","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","syncScrollTop","newTop","origin","value","alignedTop","keepInRange","current","scrollTop","rangeRef","start","end","diffItemRef","_useDiffItem","_useDiffItem2","diffItem","_React$useMemo","scrollHeight","undefined","offset","_fillerInnerRef$curre","offsetHeight","itemTop","startIndex","startOffset","endIndex","dataLen","i","_item","key","cacheHeight","get","currentItemBottom","ceil","min","fillerOffset","_React$useState","width","_React$useState2","size","setSize","onHolderResize","sizeInfo","offsetWidth","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","maxScrollHeightRef","newScrollTop","Number","isNaN","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","originScroll","getVirtualScrollInfo","x","y","lastVirtualScrollInfoRef","triggerScroll","params","nextInfo","onScrollBar","newScrollOffset","horizontal","newOffset","onFallbackScroll","e","currentTarget","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","onWheelDelta","offsetXY","fromHorizontal","left","top","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","isHorizontal","delta","smoothOffset","preventDefault","deltaX","deltaY","onMozMousePixelScroll","componentEle","addEventListener","passive","removeEventListener","newOffsetLeft","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","delayHidden","_scrollTo","useImperativeHandle","nativeElement","getScrollInfo","scrollTo","config","isPosScroll","arg","renderList","slice","getSize","extraContent","offsetX","offsetY","rtl","listChildren","componentStyle","overflowX","pointerEvents","containerProps","dir","createElement","position","onResize","onMouseEnter","onInnerResize","extra","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","verticalScrollBar","thumbStyle","verticalScrollBarThumb","horizontalScrollBar","horizontalScrollBarThumb","List","forwardRef","displayName"],"sources":["C:/Users/Аришина)/Desktop/promo/node_modules/rc-virtual-list/es/List.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\", \"styles\"];\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport { useEvent } from 'rc-util';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport Filler from \"./Filler\";\nimport useChildren from \"./hooks/useChildren\";\nimport useDiffItem from \"./hooks/useDiffItem\";\nimport useFrameWheel from \"./hooks/useFrameWheel\";\nimport { useGetSize } from \"./hooks/useGetSize\";\nimport useHeights from \"./hooks/useHeights\";\nimport useMobileTouchMove from \"./hooks/useMobileTouchMove\";\nimport useOriginScroll from \"./hooks/useOriginScroll\";\nimport useScrollTo from \"./hooks/useScrollTo\";\nimport ScrollBar from \"./ScrollBar\";\nimport { getSpinSize } from \"./utils/scrollbarUtil\";\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n direction = props.direction,\n scrollWidth = props.scrollWidth,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVirtualScroll = props.onVirtualScroll,\n onVisibleChange = props.onVisibleChange,\n innerProps = props.innerProps,\n extraRender = props.extraRender,\n styles = props.styles,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // =============================== Item Key ===============================\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n\n // ================================ Height ================================\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3];\n\n // ================================= MISC =================================\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var containerHeight = React.useMemo(function () {\n return Object.values(heights.maps).reduce(function (total, curr) {\n return total + curr;\n }, 0);\n }, [heights.id, heights.maps]);\n var inVirtual = useVirtual && data && (Math.max(itemHeight * data.length, containerHeight) > height || !!scrollWidth);\n var isRTL = direction === 'rtl';\n var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n var containerRef = useRef();\n\n // =============================== Item Key ===============================\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n offsetTop = _useState2[0],\n setOffsetTop = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n offsetLeft = _useState4[0],\n setOffsetLeft = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrollMoving = _useState6[0],\n setScrollMoving = _useState6[1];\n var onScrollbarStartMove = function onScrollbarStartMove() {\n setScrollMoving(true);\n };\n var onScrollbarStopMove = function onScrollbarStopMove() {\n setScrollMoving(false);\n };\n var sharedConfig = {\n getKey: getKey\n };\n\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(function (origin) {\n var value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n diffItemRef.current = diffItem;\n\n // ========================== Visible Calculation =========================\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n for (var i = 0; i < dataLen; i += 1) {\n var _item = mergedData[i];\n var key = getKey(_item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n fillerOffset = _React$useMemo.offset;\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n\n // ================================= Size =================================\n var _React$useState = React.useState({\n width: 0,\n height: height\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n size = _React$useState2[0],\n setSize = _React$useState2[1];\n var onHolderResize = function onHolderResize(sizeInfo) {\n setSize({\n width: sizeInfo.offsetWidth,\n height: sizeInfo.offsetHeight\n });\n };\n\n // Hack on scrollbar to enable flash call\n var verticalScrollBarRef = useRef();\n var horizontalScrollBarRef = useRef();\n var horizontalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.width, scrollWidth);\n }, [size.width, scrollWidth]);\n var verticalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.height, scrollHeight);\n }, [size.height, scrollHeight]);\n\n // =============================== In Range ===============================\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n var isScrollAtTop = offsetTop <= 0;\n var isScrollAtBottom = offsetTop >= maxScrollHeight;\n var isScrollAtLeft = offsetLeft <= 0;\n var isScrollAtRight = offsetLeft >= scrollWidth;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight);\n\n // ================================ Scroll ================================\n var getVirtualScrollInfo = function getVirtualScrollInfo() {\n return {\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n };\n };\n var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n var triggerScroll = useEvent(function (params) {\n if (onVirtualScroll) {\n var nextInfo = _objectSpread(_objectSpread({}, getVirtualScrollInfo()), params);\n\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n var newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(function () {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n\n // Trigger origin onScroll\n onScroll === null || onScroll === void 0 || onScroll(e);\n triggerScroll();\n }\n var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n var tmpOffsetLeft = nextOffsetLeft;\n var max = !!scrollWidth ? scrollWidth - size.width : 0;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n if (fromHorizontal) {\n // Horizontal scroll no need sync virtual position\n\n flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, isScrollAtLeft, isScrollAtRight, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (isHorizontal, delta, smoothOffset) {\n if (originScroll(isHorizontal, delta, smoothOffset)) {\n return false;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaX: isHorizontal ? delta : 0,\n deltaY: isHorizontal ? 0 : delta\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel, {\n passive: false\n });\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll, {\n passive: true\n });\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll, {\n passive: false\n });\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]);\n\n // Sync scroll left\n useLayoutEffect(function () {\n if (scrollWidth) {\n var newOffsetLeft = keepInHorizontalRange(offsetLeft);\n setOffsetLeft(newOffsetLeft);\n triggerScroll({\n x: newOffsetLeft\n });\n }\n }, [size.width, scrollWidth]);\n\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 || _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 || _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, function () {\n return collectHeight(true);\n }, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n nativeElement: containerRef.current,\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, offsetLeft, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: containerRef,\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height,\n style: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.verticalScrollBarThumb\n }), inVirtual && scrollWidth > size.width && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true,\n style: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBar,\n thumbStyle: styles === null || styles === void 0 ? void 0 : styles.horizontalScrollBarThumb\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} |