Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/es/utils/use-animation-frame.mjs 845 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  "use client";
  import { frame, cancelFrame } from 'motion-dom';
  import { useRef, useContext, useEffect } from 'react';
  import { MotionConfigContext } from '../context/MotionConfigContext.mjs';
  
  function useAnimationFrame(callback) {
      const initialTimestamp = useRef(0);
      const { isStatic } = useContext(MotionConfigContext);
      useEffect(() => {
          if (isStatic)
              return;
          const provideTimeSinceStart = ({ timestamp, delta }) => {
              if (!initialTimestamp.current)
                  initialTimestamp.current = timestamp;
              callback(timestamp - initialTimestamp.current, delta);
          };
          frame.update(provideTimeSinceStart, true);
          return () => cancelFrame(provideTimeSinceStart);
      }, [callback]);
  }
  
  export { useAnimationFrame };
  //# sourceMappingURL=use-animation-frame.mjs.map