Files
ai-course/node_modules/.cache/babel-loader/503c2f4fe9c2e40e36737cfe9ac36a49bd50a17587f13e434146520ee001fd3a.json

1 line
9.9 KiB
JSON
Raw Normal View History

{"ast":null,"code":"import _objectWithoutProperties from \"/Users/apple/Documents/cursor/Web\\u8BFE\\u4EF6/AI\\u8BFE/education_web_\\u591AAgent\\u534F\\u4F5C\\u7CFB\\u7EDF/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nconst _excluded = [\"container\"];\nimport { resize, frame, cancelFrame, frameData } from 'motion-dom';\nimport { noop } from 'motion-utils';\nimport { createScrollInfo } from './info.mjs';\nimport { createOnScrollHandler } from './on-scroll-handler.mjs';\nconst scrollListeners = new WeakMap();\nconst resizeListeners = new WeakMap();\nconst onScrollHandlers = new WeakMap();\nconst getEventTarget = element => element === document.scrollingElement ? window : element;\nfunction scrollInfo(onScroll) {\n let _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n {\n container = document.scrollingElement\n } = _ref,\n options = _objectWithoutProperties(_ref, _excluded);\n if (!container) return noop;\n let containerHandlers = onScrollHandlers.get(container);\n /**\n * Get the onScroll handlers for this container.\n * If one isn't found, create a new one.\n */\n if (!containerHandlers) {\n containerHandlers = new Set();\n onScrollHandlers.set(container, containerHandlers);\n }\n /**\n * Create a new onScroll handler for the provided callback.\n */\n const info = createScrollInfo();\n const containerHandler = createOnScrollHandler(container, onScroll, info, options);\n containerHandlers.add(containerHandler);\n /**\n * Check if there's a scroll event listener for this container.\n * If not, create one.\n */\n if (!scrollListeners.has(container)) {\n const measureAll = () => {\n for (const handler of containerHandlers) {\n handler.measure(frameData.timestamp);\n }\n frame.preUpdate(notifyAll);\n };\n const notifyAll = () => {\n for (const handler of containerHandlers) {\n handler.notify();\n }\n };\n const listener = () => frame.read(measureAll);\n scrollListeners.set(container, listener);\n const target = getEventTarget(container);\n window.addEventListener(\"resize\", listener, {\n passive: true\n });\n if (container !== document.documentElement) {\n resizeListeners.set(container, resize(container, listener));\n }\n target.addEventListener(\"scroll\", listener, {\n passive: true\n });\n listener();\n }\n const listener = scrollListeners.get(container);\n frame.read(listener, false, true);\n return () => {\n cancelFrame(listener);\n /**\n * Check if we even have any handlers for this container.\n */\n const currentHandlers = onScrollHandlers.get(container);\n if (!currentHandlers) return;\n currentHandlers.delete(containerHandler);\n if (currentHandlers.size) return;\n /**\n * If no more handlers, remove the scroll listener too.\n */\n const scrollListener = scrollListeners.get(container);\n scrollListeners.delete(container);\n if (scrollListener) {\n var _resizeListeners$get;\n getEventTarget(container).removeEventListener(\"scroll\", scrollListener);\n (_resizeListeners$get = resizeListeners.get(container)) === null || _resizeListeners$get === void 0 || _resizeListeners$get();\n window.removeEventListener(\"resize\", scrollListener);\n }\n };\n}\nexport { scrollInfo };","map":{"version":3,"names":["resize","frame","cancelFrame","frameData","noop","createScrollInfo","createOnScrollHandler","scrollListeners","WeakMap","resizeListeners","onScrollHandlers","getEventTarget","element","document","scrollingElement","window","scrollInfo","onScroll","_ref","arguments","length","undefined","container","options","_objectWithoutProperties","_excluded","containerHandlers","get","Set","set","info","containerHandler","add","has","measureAll","handler","measure","timestamp","preUpdate","notifyAll","notify","listener","read","target","addEventListener","passive","documentElement","currentHandlers","delete","size","scrollListener","_resizeListeners$get","removeEvent