Blame view

天文台pc/tianwentai-ui/node_modules/framer-motion/dist/es/components/LayoutGroup/index.mjs 1.47 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
  "use client";
  import { jsx } from 'react/jsx-runtime';
  import { useContext, useRef, useMemo } from 'react';
  import { LayoutGroupContext } from '../../context/LayoutGroupContext.mjs';
  import { DeprecatedLayoutGroupContext } from '../../context/DeprecatedLayoutGroupContext.mjs';
  import { useForceUpdate } from '../../utils/use-force-update.mjs';
  import { nodeGroup } from 'motion-dom';
  
  const shouldInheritGroup = (inherit) => inherit === true;
  const shouldInheritId = (inherit) => shouldInheritGroup(inherit === true) || inherit === "id";
  const LayoutGroup = ({ children, id, inherit = true }) => {
      const layoutGroupContext = useContext(LayoutGroupContext);
      const deprecatedLayoutGroupContext = useContext(DeprecatedLayoutGroupContext);
      const [forceRender, key] = useForceUpdate();
      const context = useRef(null);
      const upstreamId = layoutGroupContext.id || deprecatedLayoutGroupContext;
      if (context.current === null) {
          if (shouldInheritId(inherit) && upstreamId) {
              id = id ? upstreamId + "-" + id : upstreamId;
          }
          context.current = {
              id,
              group: shouldInheritGroup(inherit)
                  ? layoutGroupContext.group || nodeGroup()
                  : nodeGroup(),
          };
      }
      const memoizedContext = useMemo(() => ({ ...context.current, forceRender }), [key]);
      return (jsx(LayoutGroupContext.Provider, { value: memoizedContext, children: children }));
  };
  
  export { LayoutGroup };
  //# sourceMappingURL=index.mjs.map