Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/es/animation/hooks/use-animate.mjs 891 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 { useMemo } from 'react';
  import { useConstant } from '../../utils/use-constant.mjs';
  import { useUnmountEffect } from '../../utils/use-unmount-effect.mjs';
  import { useReducedMotionConfig } from '../../utils/reduced-motion/use-reduced-motion-config.mjs';
  import { createScopedAnimate } from '../animate/index.mjs';
  
  function useAnimate() {
      const scope = useConstant(() => ({
          current: null, // Will be hydrated by React
          animations: [],
      }));
      const reduceMotion = useReducedMotionConfig() ?? undefined;
      const animate = useMemo(() => createScopedAnimate({ scope, reduceMotion }), [scope, reduceMotion]);
      useUnmountEffect(() => {
          scope.animations.forEach((animation) => animation.stop());
          scope.animations.length = 0;
      });
      return [scope, animate];
  }
  
  export { useAnimate };
  //# sourceMappingURL=use-animate.mjs.map