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