{"ast":null,"code":"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}","map":{"version":3,"names":["raf","useRef","isFF","useOriginScroll","useFrameWheel","inVirtual","isScrollAtTop","isScrollAtBottom","isScrollAtLeft","isScrollAtRight","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","originScroll","onWheelY","event","deltaY","cancel","current","preventDefault","patchMultiple","onWheelX","deltaX","wheelDirectionRef","wheelDirectionCleanRef","onWheel","shiftKey","mergedDeltaX","mergedDeltaY","absX","Math","abs","absY","onFireFoxScroll","detail"],"sources":["C:/Users/Аришина)/source/repos/PromoCursed/node_modules/rc-virtual-list/es/hooks/useFrameWheel.js"],"sourcesContent":["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}"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}