Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/es/value/use-follow-value.mjs 903 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 { attachFollow, isMotionValue } from 'motion-dom';
  import { useContext, useInsertionEffect } from 'react';
  import { MotionConfigContext } from '../context/MotionConfigContext.mjs';
  import { useMotionValue } from './use-motion-value.mjs';
  import { useTransform } from './use-transform.mjs';
  
  function useFollowValue(source, options = {}) {
      const { isStatic } = useContext(MotionConfigContext);
      const getFromSource = () => (isMotionValue(source) ? source.get() : source);
      // isStatic will never change, allowing early hooks return
      if (isStatic) {
          return useTransform(getFromSource);
      }
      const value = useMotionValue(getFromSource());
      useInsertionEffect(() => {
          return attachFollow(value, source, options);
      }, [value, JSON.stringify(options)]);
      return value;
  }
  
  export { useFollowValue };
  //# sourceMappingURL=use-follow-value.mjs.map