Blame view

天文台pc/tianwentai-ui/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs 1.84 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
44
45
  import { isCSSVariableName } from '../../animation/utils/is-css-variable.mjs';
  import { transformProps } from '../utils/keys-transform.mjs';
  import { defaultTransformValue, readTransformValue } from '../dom/parse-transform.mjs';
  import { measureViewportBox } from '../../projection/utils/measure.mjs';
  import { DOMVisualElement } from '../dom/DOMVisualElement.mjs';
  import { buildHTMLStyles } from './utils/build-styles.mjs';
  import { renderHTML } from './utils/render.mjs';
  import { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.mjs';
  
  function getComputedStyle(element) {
      return window.getComputedStyle(element);
  }
  class HTMLVisualElement extends DOMVisualElement {
      constructor() {
          super(...arguments);
          this.type = "html";
          this.renderInstance = renderHTML;
      }
      readValueFromInstance(instance, key) {
          if (transformProps.has(key)) {
              return this.projection?.isProjecting
                  ? defaultTransformValue(key)
                  : readTransformValue(instance, key);
          }
          else {
              const computedStyle = getComputedStyle(instance);
              const value = (isCSSVariableName(key)
                  ? computedStyle.getPropertyValue(key)
                  : computedStyle[key]) || 0;
              return typeof value === "string" ? value.trim() : value;
          }
      }
      measureInstanceViewportBox(instance, { transformPagePoint }) {
          return measureViewportBox(instance, transformPagePoint);
      }
      build(renderState, latestValues, props) {
          buildHTMLStyles(renderState, latestValues, props.transformTemplate);
      }
      scrapeMotionValuesFromProps(props, prevProps, visualElement) {
          return scrapeMotionValuesFromProps(props, prevProps, visualElement);
      }
  }
  
  export { HTMLVisualElement, getComputedStyle };
  //# sourceMappingURL=HTMLVisualElement.mjs.map