Blame view

天文台pc/tianwentai-ui/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs 1.05 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
  import { isVariantLabel } from './is-variant-label.mjs';
  import { variantProps } from './variant-props.mjs';
  
  const numVariantProps = variantProps.length;
  /**
   * Get variant context from a visual element's parent chain.
   * Uses `any` type for visualElement to avoid circular dependencies.
   */
  function getVariantContext(visualElement) {
      if (!visualElement)
          return undefined;
      if (!visualElement.isControllingVariants) {
          const context = visualElement.parent
              ? getVariantContext(visualElement.parent) || {}
              : {};
          if (visualElement.props.initial !== undefined) {
              context.initial = visualElement.props.initial;
          }
          return context;
      }
      const context = {};
      for (let i = 0; i < numVariantProps; i++) {
          const name = variantProps[i];
          const prop = visualElement.props[name];
          if (isVariantLabel(prop) || prop === false) {
              context[name] = prop;
          }
      }
      return context;
  }
  
  export { getVariantContext };
  //# sourceMappingURL=get-variant-context.mjs.map