Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/es/animation/hooks/use-animation.mjs 1.25 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
  "use client";
  import { useConstant } from '../../utils/use-constant.mjs';
  import { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.mjs';
  import { animationControls } from './animation-controls.mjs';
  
  /**
   * Creates `LegacyAnimationControls`, which can be used to manually start, stop
   * and sequence animations on one or more components.
   *
   * The returned `LegacyAnimationControls` should be passed to the `animate` property
   * of the components you want to animate.
   *
   * These components can then be animated with the `start` method.
   *
   * ```jsx
   * import * as React from 'react'
   * import { motion, useAnimation } from 'framer-motion'
   *
   * export function MyComponent(props) {
   *    const controls = useAnimation()
   *
   *    controls.start({
   *        x: 100,
   *        transition: { duration: 0.5 },
   *    })
   *
   *    return <motion.div animate={controls} />
   * }
   * ```
   *
   * @returns Animation controller with `start` and `stop` methods
   *
   * @public
   */
  function useAnimationControls() {
      const controls = useConstant(animationControls);
      useIsomorphicLayoutEffect(controls.mount, []);
      return controls;
  }
  const useAnimation = useAnimationControls;
  
  export { useAnimation, useAnimationControls };
  //# sourceMappingURL=use-animation.mjs.map