{"ast":null,"code":"import _objectSpread from \"/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@babel/runtime/helpers/esm/objectSpread2.js\";\nimport _objectWithoutProperties from \"/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\";\nconst _excluded = [\"container\", \"target\"];\nimport { motionValue } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { scroll } from '../render/dom/scroll/index.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\nconst createScrollMotionValues = () => ({\n scrollX: motionValue(0),\n scrollY: motionValue(0),\n scrollXProgress: motionValue(0),\n scrollYProgress: motionValue(0)\n});\nconst isRefPending = ref => {\n if (!ref) return false;\n return !ref.current;\n};\nfunction useScroll() {\n let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n {\n container,\n target\n } = _ref,\n options = _objectWithoutProperties(_ref, _excluded);\n const values = useConstant(createScrollMotionValues);\n const scrollAnimation = useRef(null);\n const needsStart = useRef(false);\n const start = useCallback(() => {\n scrollAnimation.current = scroll((_progress, _ref2) => {\n let {\n x,\n y\n } = _ref2;\n values.scrollX.set(x.current);\n values.scrollXProgress.set(x.progress);\n values.scrollY.set(y.current);\n values.scrollYProgress.set(y.progress);\n }, _objectSpread(_objectSpread({}, options), {}, {\n container: (container === null || container === void 0 ? void 0 : container.current) || undefined,\n target: (target === null || target === void 0 ? void 0 : target.current) || undefined\n }));\n return () => {\n var _scrollAnimation$curr;\n (_scrollAnimation$curr = scrollAnimation.current) === null || _scrollAnimation$curr === void 0 || _scrollAnimation$curr.call(scrollAnimation);\n };\n }, [container, target, JSON.stringify(options.offset)]);\n useIsomorphicLayoutEffect(() => {\n needsStart.current = false;\n if (isRefPending(container) || isRefPending(target)) {\n needsStart.current = true;\n return;\n } else {\n return start();\n }\n }, [start]);\n useEffect(() => {\n if (needsStart.current) {\n invariant(!isRefPending(container), \"Container ref is defined but not hydrated\", \"use-scroll-ref\");\n invariant(!isRefPending(target), \"Target ref is defined but not hydrated\", \"use-scroll-ref\");\n return start();\n } else {\n return;\n }\n }, [start]);\n return values;\n}\nexport { useScroll };","map":{"version":3,"names":["motionValue","invariant","useRef","useCallback","useEffect","scroll","useConstant","useIsomorphicLayoutEffect","createScrollMotionValues","scrollX","scrollY","scrollXProgress","scrollYProgress","isRefPending","ref","current","useScroll","_ref","arguments","length","undefined","container","target","options","_objectWithoutProperties","_excluded","values","scrollAnimation","needsStart","start","_progress","_ref2","x","y","set","progress","_objectSpread","_scrollAnimation$curr","call","JSON","stringify","offset"],"sources":["/home/gnx/Desktop/ETB/ETB-FrontEnd/node_modules/framer-motion/dist/es/value/use-scroll.mjs"],"sourcesContent":["import { motionValue } from 'motion-dom';\nimport { invariant } from 'motion-utils';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { scroll } from '../render/dom/scroll/index.mjs';\nimport { useConstant } from '../utils/use-constant.mjs';\nimport { useIsomorphicLayoutEffect } from '../utils/use-isomorphic-effect.mjs';\n\nconst createScrollMotionValues = () => ({\n scrollX: motionValue(0),\n scrollY: motionValue(0),\n scrollXProgress: motionValue(0),\n scrollYProgress: motionValue(0),\n});\nconst isRefPending = (ref) => {\n if (!ref)\n return false;\n return !ref.current;\n};\nfunction useScroll({ container, target, ...options } = {}) {\n const values = useConstant(createScrollMotionValues);\n const scrollAnimation = useRef(null);\n const needsStart = useRef(false);\n const start = useCallback(() => {\n scrollAnimation.current = scroll((_progress, { x, y, }) => {\n values.scrollX.set(x.current);\n values.scrollXProgress.set(x.progress);\n values.scrollY.set(y.current);\n values.scrollYProgress.set(y.progress);\n }, {\n ...options,\n container: container?.current || undefined,\n target: target?.current || undefined,\n });\n return () => {\n scrollAnimation.current?.();\n };\n }, [container, target, JSON.stringify(options.offset)]);\n useIsomorphicLayoutEffect(() => {\n needsStart.current = false;\n if (isRefPending(container) || isRefPending(target)) {\n needsStart.current = true;\n return;\n }\n else {\n return start();\n }\n }, [start]);\n useEffect(() => {\n if (needsStart.current) {\n invariant(!isRefPending(container), \"Container ref is defined but not hydrated\", \"use-scroll-ref\");\n invariant(!isRefPending(target), \"Target ref is defined but not hydrated\", \"use-scroll-ref\");\n return start();\n }\n else {\n return;\n }\n }, [start]);\n return values;\n}\n\nexport { useScroll };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}