// Code generated by scripts/generate-dom-helpers.mjs; DO NOT EDIT.
// Source: scripts/dom-elements.mjs
// Helpers: 54; categories: table, form, interactive, metadata, semantic, svg.

///|
fn generated_dom_element(
  name : String,
  id : String?,
  class_name : String?,
  class_list : Array[String],
  attrs : ElementAttrs?,
  event : ElementEvents?,
  style : RespoStyle,
  children : Array[VirtualNode],
  string_props~ : Array[(String, String?)],
  bool_props~ : Array[(String, Bool?)],
  int_props~ : Array[(String, Int?)],
  float_props~ : Array[(String, Float?)],
  event_props~ : Array[(DOMEventType, ((DOMEvent) -> Unit)?)],
) -> VirtualNode {
  let attrs = attrs.unwrap_or_default()
  let event = event.unwrap_or_default()
  if id is Some(value) {
    attrs.set("id", value)
  }
  if combine_classes(class_name, class_list) is Some(value) {
    attrs.set("className", value)
  }
  for prop in string_props {
    let (prop_name, prop_value) = prop
    if prop_value is Some(value) {
      attrs.set(prop_name, value)
    }
  }
  for prop in bool_props {
    let (prop_name, prop_value) = prop
    if prop_value is Some(value) {
      attrs.set_bool(prop_name, value)
    }
  }
  for prop in int_props {
    let (prop_name, prop_value) = prop
    if prop_value is Some(value) {
      attrs.set_int(prop_name, value)
    }
  }
  for prop in float_props {
    let (prop_name, prop_value) = prop
    if prop_value is Some(value) {
      attrs.set_float(prop_name, value)
    }
  }
  for prop in event_props {
    let (event_type, handler) = prop
    if handler is Some(handler) {
      event.set(event_type, handler)
    }
  }
  Element({ name, attrs, event, style, children })
}

///|
/// Generated typed helper for the `table` table element.
pub fn table(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "table",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `caption` table element.
pub fn caption(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "caption",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `colgroup` table element.
pub fn colgroup(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  span? : Int,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "colgroup",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index), ("span", span)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `col` table element.
pub fn col(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  span? : Int,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "col",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    [],
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index), ("span", span)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `thead` table element.
pub fn thead(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "thead",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `tbody` table element.
pub fn tbody(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "tbody",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `tfoot` table element.
pub fn tfoot(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "tfoot",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `tr` table element.
pub fn tr(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "tr",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `th` table element.
pub fn th(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  scope? : String,
  headers? : String,
  abbr? : String,
  col_span? : Int,
  row_span? : Int,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "th",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("scope", scope),
      ("headers", headers),
      ("abbr", abbr),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[
      ("tabIndex", tab_index),
      ("colSpan", col_span),
      ("rowSpan", row_span),
    ],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `td` table element.
pub fn td(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  headers? : String,
  col_span? : Int,
  row_span? : Int,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "td",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("headers", headers),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[
      ("tabIndex", tab_index),
      ("colSpan", col_span),
      ("rowSpan", row_span),
    ],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `fieldset` form element.
pub fn fieldset(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  name? : String,
  disabled? : Bool,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "fieldset",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("name", name),
    ],
    bool_props=[("hidden", hidden), ("disabled", disabled)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `legend` form element.
pub fn legend(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "legend",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `datalist` form element.
pub fn datalist(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "datalist",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `optgroup` form element.
pub fn optgroup(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  label? : String,
  disabled? : Bool,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "optgroup",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("label", label),
    ],
    bool_props=[("hidden", hidden), ("disabled", disabled)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `output` form element.
pub fn output(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  name? : String,
  html_for? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "output",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("name", name),
      ("htmlFor", html_for),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `progress` form element.
pub fn progress(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  value? : Float,
  max? : Float,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "progress",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[("value", value), ("max", max)],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `meter` form element.
pub fn meter(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  value? : Float,
  min? : Float,
  max? : Float,
  low? : Float,
  high? : Float,
  optimum? : Float,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "meter",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[
      ("value", value),
      ("min", min),
      ("max", max),
      ("low", low),
      ("high", high),
      ("optimum", optimum),
    ],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `dialog` interactive element.
pub fn dialog(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  open? : Bool,
  on_click? : (DOMEvent) -> Unit,
  on_cancel? : (DOMEvent) -> Unit,
  on_close? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "dialog",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden), ("open", open)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click), (Cancel, on_cancel), (Close, on_close)],
  )
}

///|
/// Generated typed helper for the `details` interactive element.
pub fn details(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  open? : Bool,
  on_click? : (DOMEvent) -> Unit,
  on_toggle? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "details",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden), ("open", open)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click), (Toggle, on_toggle)],
  )
}

///|
/// Generated typed helper for the `summary` interactive element.
pub fn summary(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "summary",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `title` metadata element.
pub fn title(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "title",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `meta` metadata element.
pub fn meta(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  name? : String,
  content? : String,
  charset? : String,
  http_equiv? : String,
  item_prop? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "meta",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    [],
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("name", name),
      ("content", content),
      ("charSet", charset),
      ("httpEquiv", http_equiv),
      ("itemProp", item_prop),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `link` metadata element.
pub fn link(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  rel? : String,
  href? : String,
  media? : String,
  precedence? : String,
  cross_origin? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "link",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    [],
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("rel", rel),
      ("href", href),
      ("media", media),
      ("precedence", precedence),
      ("crossOrigin", cross_origin),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `style` metadata element.
pub fn style_tag(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  precedence? : String,
  href? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "style",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("precedence", precedence),
      ("href", href),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `script` metadata element.
pub fn script_tag(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  src? : String,
  type_? : String,
  cross_origin? : String,
  async_? : Bool,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "script",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("src", src),
      ("type", type_),
      ("crossOrigin", cross_origin),
    ],
    bool_props=[("hidden", hidden), ("async", async_)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `main` semantic element.
pub fn main_(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "main",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `address` semantic element.
pub fn address(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "address",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `figure` semantic element.
pub fn figure(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "figure",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `figcaption` semantic element.
pub fn figcaption(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "figcaption",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `blockquote` semantic element.
pub fn blockquote(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  cite? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "blockquote",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("cite", cite),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `pre` semantic element.
pub fn pre(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "pre",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `code` semantic element.
pub fn code(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "code",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `strong` semantic element.
pub fn strong(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "strong",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `em` semantic element.
pub fn em(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "em",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `time` semantic element.
pub fn time_(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  date_time? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "time",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("dateTime", date_time),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `svg` svg element.
pub fn svg(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  view_box? : String,
  width? : String,
  height? : String,
  xmlns? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "svg",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("viewBox", view_box),
      ("width", width),
      ("height", height),
      ("xmlns", xmlns),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `g` svg element.
pub fn g(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  transform? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "g",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("transform", transform),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `defs` svg element.
pub fn defs(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "defs",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `symbol` svg element.
pub fn symbol(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  view_box? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "symbol",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("viewBox", view_box),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `path` svg element.
pub fn path(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  d? : String,
  fill? : String,
  stroke? : String,
  stroke_width? : String,
  path_length? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "path",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("d", d),
      ("fill", fill),
      ("stroke", stroke),
      ("strokeWidth", stroke_width),
      ("pathLength", path_length),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `circle` svg element.
pub fn circle(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  cx? : String,
  cy? : String,
  r? : String,
  fill? : String,
  stroke? : String,
  stroke_width? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "circle",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("cx", cx),
      ("cy", cy),
      ("r", r),
      ("fill", fill),
      ("stroke", stroke),
      ("strokeWidth", stroke_width),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `ellipse` svg element.
pub fn ellipse(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  cx? : String,
  cy? : String,
  rx? : String,
  ry? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "ellipse",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("cx", cx),
      ("cy", cy),
      ("rx", rx),
      ("ry", ry),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `rect` svg element.
pub fn rect(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x? : String,
  y? : String,
  width? : String,
  height? : String,
  rx? : String,
  ry? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "rect",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x", x),
      ("y", y),
      ("width", width),
      ("height", height),
      ("rx", rx),
      ("ry", ry),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `line` svg element.
pub fn line(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x1? : String,
  y1? : String,
  x2? : String,
  y2? : String,
  stroke? : String,
  stroke_width? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "line",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x1", x1),
      ("y1", y1),
      ("x2", x2),
      ("y2", y2),
      ("stroke", stroke),
      ("strokeWidth", stroke_width),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `polyline` svg element.
pub fn polyline(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  points? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "polyline",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("points", points),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `polygon` svg element.
pub fn polygon(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  points? : String,
  fill? : String,
  stroke? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "polygon",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("points", points),
      ("fill", fill),
      ("stroke", stroke),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `clipPath` svg element.
pub fn clip_path(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "clipPath",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `mask` svg element.
pub fn mask(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x? : String,
  y? : String,
  width? : String,
  height? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "mask",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x", x),
      ("y", y),
      ("width", width),
      ("height", height),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `linearGradient` svg element.
pub fn linear_gradient(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x1? : String,
  y1? : String,
  x2? : String,
  y2? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "linearGradient",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x1", x1),
      ("y1", y1),
      ("x2", x2),
      ("y2", y2),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `radialGradient` svg element.
pub fn radial_gradient(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  cx? : String,
  cy? : String,
  r? : String,
  fx? : String,
  fy? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "radialGradient",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("cx", cx),
      ("cy", cy),
      ("r", r),
      ("fx", fx),
      ("fy", fy),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `stop` svg element.
pub fn stop(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  offset? : String,
  stop_color? : String,
  stop_opacity? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "stop",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("offset", offset),
      ("stopColor", stop_color),
      ("stopOpacity", stop_opacity),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `text` svg element.
pub fn svg_text(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x? : String,
  y? : String,
  dx? : String,
  dy? : String,
  text_anchor? : String,
  fill? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "text",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x", x),
      ("y", y),
      ("dx", dx),
      ("dy", dy),
      ("textAnchor", text_anchor),
      ("fill", fill),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `tspan` svg element.
pub fn tspan(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  x? : String,
  y? : String,
  dx? : String,
  dy? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "tspan",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("x", x),
      ("y", y),
      ("dx", dx),
      ("dy", dy),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}

///|
/// Generated typed helper for the `use` svg element.
pub fn use_(
  id? : String,
  class_name? : String,
  class_list? : Array[String] = [],
  attrs? : ElementAttrs,
  event? : ElementEvents,
  style? : RespoStyle = respo_style(),
  children : Array[VirtualNode],
  role? : String,
  title? : String,
  tab_index? : Int,
  hidden? : Bool,
  aria_label? : String,
  data_testid? : String,
  href? : String,
  xlink_href? : String,
  x? : String,
  y? : String,
  width? : String,
  height? : String,
  on_click? : (DOMEvent) -> Unit,
) -> VirtualNode {
  generated_dom_element(
    "use",
    id,
    class_name,
    class_list,
    attrs,
    event,
    style,
    children,
    string_props=[
      ("role", role),
      ("title", title),
      ("aria-label", aria_label),
      ("data-testid", data_testid),
      ("href", href),
      ("xlinkHref", xlink_href),
      ("x", x),
      ("y", y),
      ("width", width),
      ("height", height),
    ],
    bool_props=[("hidden", hidden)],
    int_props=[("tabIndex", tab_index)],
    float_props=[],
    event_props=[(Click, on_click)],
  )
}