// =============================================================================
// AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
// Generated by: scripts/generate_dom_elements.ts
// =============================================================================
///| SVG element factories for browser DOM
///|
///| These functions create SVG elements with proper namespace.
///| All elements use createElementNS with SVG namespace.
// =============================================================================
// SVG Element factories
// =============================================================================
///|
/// Create an SVG element
pub fn svg(
width? : String,
height? : String,
viewBox? : String,
xmlns? : String,
fill? : String,
stroke? : String,
role? : String,
aria_label? : String,
aria_labelledby? : String,
aria_describedby? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if viewBox is Some(v) {
props.push(("viewBox", Static(v)))
}
if xmlns is Some(v) {
props.push(("xmlns", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if role is Some(v) {
props.push(("role", Static(v)))
}
if aria_label is Some(v) {
props.push(("aria-label", Static(v)))
}
if aria_labelledby is Some(v) {
props.push(("aria-labelledby", Static(v)))
}
if aria_describedby is Some(v) {
props.push(("aria-describedby", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "svg", props, children)
}
///|
/// Create an SVG title element for accessibility
pub fn svg_title(
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "title", props, children)
}
///|
/// Create an SVG desc element for accessibility
pub fn svg_desc(
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "desc", props, children)
}
///|
/// Create an SVG group element
pub fn svg_g(
transform? : String,
fill? : String,
stroke? : String,
opacity? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if transform is Some(v) {
props.push(("transform", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if opacity is Some(v) {
props.push(("opacity", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "g", props, children)
}
///|
/// Create an SVG defs element
pub fn svg_defs(
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "defs", props, children)
}
///|
/// Create an SVG symbol element
pub fn svg_symbol(
viewBox? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if viewBox is Some(v) {
props.push(("viewBox", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "symbol", props, children)
}
///|
/// Create an SVG use element
pub fn svg_use(
href? : String,
x? : String,
y? : String,
width? : String,
height? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if href is Some(v) {
props.push(("href", Static(v)))
}
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "use", props, [])
}
///|
/// Create an SVG rect element
pub fn svg_rect(
x? : String,
y? : String,
width? : String,
height? : String,
rx? : String,
ry? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if rx is Some(v) {
props.push(("rx", Static(v)))
}
if ry is Some(v) {
props.push(("ry", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "rect", props, [])
}
///|
/// Create an SVG circle element
pub fn svg_circle(
cx? : String,
cy? : String,
r? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if cx is Some(v) {
props.push(("cx", Static(v)))
}
if cy is Some(v) {
props.push(("cy", Static(v)))
}
if r is Some(v) {
props.push(("r", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "circle", props, [])
}
///|
/// Create an SVG ellipse element
pub fn svg_ellipse(
cx? : String,
cy? : String,
rx? : String,
ry? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if cx is Some(v) {
props.push(("cx", Static(v)))
}
if cy is Some(v) {
props.push(("cy", Static(v)))
}
if rx is Some(v) {
props.push(("rx", Static(v)))
}
if ry is Some(v) {
props.push(("ry", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "ellipse", props, [])
}
///|
/// Create an SVG line element
pub fn svg_line(
x1? : String,
y1? : String,
x2? : String,
y2? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x1 is Some(v) {
props.push(("x1", Static(v)))
}
if y1 is Some(v) {
props.push(("y1", Static(v)))
}
if x2 is Some(v) {
props.push(("x2", Static(v)))
}
if y2 is Some(v) {
props.push(("y2", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "line", props, [])
}
///|
/// Create an SVG polyline element
pub fn svg_polyline(
points? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if points is Some(v) {
props.push(("points", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "polyline", props, [])
}
///|
/// Create an SVG polygon element
pub fn svg_polygon(
points? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if points is Some(v) {
props.push(("points", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "polygon", props, [])
}
///|
/// Create an SVG path element
pub fn svg_path(
d? : String,
fill? : String,
stroke? : String,
stroke_width? : String,
stroke_linecap? : String,
stroke_linejoin? : String,
fill_rule? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if d is Some(v) {
props.push(("d", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if stroke is Some(v) {
props.push(("stroke", Static(v)))
}
if stroke_width is Some(v) {
props.push(("stroke-width", Static(v)))
}
if stroke_linecap is Some(v) {
props.push(("stroke-linecap", Static(v)))
}
if stroke_linejoin is Some(v) {
props.push(("stroke-linejoin", Static(v)))
}
if fill_rule is Some(v) {
props.push(("fill-rule", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "path", props, [])
}
///|
/// Create an SVG text element
pub fn svg_text(
x? : String,
y? : String,
dx? : String,
dy? : String,
text_anchor? : String,
dominant_baseline? : String,
fill? : String,
font_size? : String,
font_family? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if dx is Some(v) {
props.push(("dx", Static(v)))
}
if dy is Some(v) {
props.push(("dy", Static(v)))
}
if text_anchor is Some(v) {
props.push(("text-anchor", Static(v)))
}
if dominant_baseline is Some(v) {
props.push(("dominant-baseline", Static(v)))
}
if fill is Some(v) {
props.push(("fill", Static(v)))
}
if font_size is Some(v) {
props.push(("font-size", Static(v)))
}
if font_family is Some(v) {
props.push(("font-family", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "text", props, children)
}
///|
/// Create an SVG tspan element
pub fn svg_tspan(
x? : String,
y? : String,
dx? : String,
dy? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if dx is Some(v) {
props.push(("dx", Static(v)))
}
if dy is Some(v) {
props.push(("dy", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "tspan", props, children)
}
///|
/// Create an SVG image element
pub fn svg_image(
href? : String,
x? : String,
y? : String,
width? : String,
height? : String,
preserveAspectRatio? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if href is Some(v) {
props.push(("href", Static(v)))
}
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if preserveAspectRatio is Some(v) {
props.push(("preserveAspectRatio", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "image", props, [])
}
///|
/// Create an SVG clipPath element
pub fn svg_clip_path(
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "clipPath", props, children)
}
///|
/// Create an SVG mask element
pub fn svg_mask(
x? : String,
y? : String,
width? : String,
height? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "mask", props, children)
}
///|
/// Create an SVG linearGradient element
pub fn svg_linear_gradient(
x1? : String,
y1? : String,
x2? : String,
y2? : String,
gradientUnits? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x1 is Some(v) {
props.push(("x1", Static(v)))
}
if y1 is Some(v) {
props.push(("y1", Static(v)))
}
if x2 is Some(v) {
props.push(("x2", Static(v)))
}
if y2 is Some(v) {
props.push(("y2", Static(v)))
}
if gradientUnits is Some(v) {
props.push(("gradientUnits", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "linearGradient", props, children)
}
///|
/// Create an SVG radialGradient element
pub fn svg_radial_gradient(
cx? : String,
cy? : String,
r? : String,
fx? : String,
fy? : String,
gradientUnits? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if cx is Some(v) {
props.push(("cx", Static(v)))
}
if cy is Some(v) {
props.push(("cy", Static(v)))
}
if r is Some(v) {
props.push(("r", Static(v)))
}
if fx is Some(v) {
props.push(("fx", Static(v)))
}
if fy is Some(v) {
props.push(("fy", Static(v)))
}
if gradientUnits is Some(v) {
props.push(("gradientUnits", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "radialGradient", props, children)
}
///|
/// Create an SVG stop element for gradients
pub fn svg_stop(
offset? : String,
stop_color? : String,
stop_opacity? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if offset is Some(v) {
props.push(("offset", Static(v)))
}
if stop_color is Some(v) {
props.push(("stop-color", Static(v)))
}
if stop_opacity is Some(v) {
props.push(("stop-opacity", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "stop", props, [])
}
///|
/// Create an SVG pattern element
pub fn svg_pattern(
x? : String,
y? : String,
width? : String,
height? : String,
patternUnits? : String,
patternContentUnits? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if patternUnits is Some(v) {
props.push(("patternUnits", Static(v)))
}
if patternContentUnits is Some(v) {
props.push(("patternContentUnits", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "pattern", props, children)
}
///|
/// Create an SVG filter element
pub fn svg_filter(
x? : String,
y? : String,
width? : String,
height? : String,
filterUnits? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if filterUnits is Some(v) {
props.push(("filterUnits", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "filter", props, children)
}
///|
/// Create an SVG animate element
pub fn svg_animate(
attributeName? : String,
from? : String,
to? : String,
dur? : String,
repeatCount? : String,
fill_anim? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if attributeName is Some(v) {
props.push(("attributeName", Static(v)))
}
if from is Some(v) {
props.push(("from", Static(v)))
}
if to is Some(v) {
props.push(("to", Static(v)))
}
if dur is Some(v) {
props.push(("dur", Static(v)))
}
if repeatCount is Some(v) {
props.push(("repeatCount", Static(v)))
}
if fill_anim is Some(v) {
props.push(("fill", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "animate", props, [])
}
///|
/// Create an SVG animateTransform element
pub fn svg_animate_transform(
attributeName? : String,
type_? : String,
from? : String,
to? : String,
dur? : String,
repeatCount? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if attributeName is Some(v) {
props.push(("attributeName", Static(v)))
}
if type_ is Some(v) {
props.push(("type", Static(v)))
}
if from is Some(v) {
props.push(("from", Static(v)))
}
if to is Some(v) {
props.push(("to", Static(v)))
}
if dur is Some(v) {
props.push(("dur", Static(v)))
}
if repeatCount is Some(v) {
props.push(("repeatCount", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "animateTransform", props, [])
}
///|
/// Create an SVG foreignObject element for embedding HTML
pub fn svg_foreign_object(
x? : String,
y? : String,
width? : String,
height? : String,
id? : String,
class? : String,
style? : String,
dyn_class? : () -> String,
dyn_style? : () -> String,
on? : HandlerMap,
ref_? : ElementRef,
attrs? : Array[(String, Attr)],
dyn_attrs? : Array[(String, AttrValue)],
children : Array[DomNode],
) -> DomNode {
let props = build_props(id, class, style, on, ref_, attrs, dyn_attrs~)
if x is Some(v) {
props.push(("x", Static(v)))
}
if y is Some(v) {
props.push(("y", Static(v)))
}
if width is Some(v) {
props.push(("width", Static(v)))
}
if height is Some(v) {
props.push(("height", Static(v)))
}
if dyn_class is Some(getter) {
props.push(("className", Dynamic(getter)))
}
if dyn_style is Some(getter) {
props.push(("style", Dynamic(getter)))
}
create_element_ns(svg_ns, "foreignObject", props, children)
}