import { transformProps as s } from "../utils/keys-transform.es.js";
import { getDefaultValueType as a } from "../../value/types/maps/defaults.es.js";
import { createBox as m } from "../../projection/geometry/models.es.js";
import { DOMVisualElement as i } from "../dom/DOMVisualElement.es.js";
import { camelToDash as u } from "../dom/utils/camel-to-dash.es.js";
import { buildSVGAttrs as n } from "./utils/build-attrs.es.js";
import { camelCaseAttributes as p } from "./utils/camel-case-attrs.es.js";
import { isSVGTag as l } from "./utils/is-svg-tag.es.js";
import { renderSVG as f } from "./utils/render.es.js";
import { scrapeMotionValuesFromProps as V } from "./utils/scrape-motion-values.es.js";
class A extends i {
  constructor() {
    super(...arguments), this.type = "svg", this.isSVGTag = !1, this.measureInstanceViewportBox = m;
  }
  getBaseTargetFromProps(t, r) {
    return t[r];
  }
  readValueFromInstance(t, r) {
    if (s.has(r)) {
      const e = a(r);
      return e && e.default || 0;
    }
    return r = p.has(r) ? r : u(r), t.getAttribute(r);
  }
  scrapeMotionValuesFromProps(t, r, e) {
    return V(t, r, e);
  }
  build(t, r, e) {
    n(t, r, this.isSVGTag, e.transformTemplate, e.style);
  }
  renderInstance(t, r, e, o) {
    f(t, r, e, o);
  }
  mount(t) {
    this.isSVGTag = l(t.tagName), super.mount(t);
  }
}
export {
  A as SVGVisualElement
};
//# sourceMappingURL=SVGVisualElement.es.js.map
