@@jsxConfig({version: 4})

module C0 = {
  @res.jsxComponentProps
  type props<'priority, 'text> = {
    priority: 'priority,
    text?: 'text,
  }

  let make = ({priority: _, text: ?__text, _}: props<_, _>) => {
    let __text_value = switch __text {
    | Some(text) => text
    | None => "Test"
    }
    let text = __text_value
    (React.string(text): React.element)
  }
  let make = {
    let \"AliasProps$C0" = (props: props<_>) => make(props)

    \"AliasProps$C0"
  }
}

module C1 = {
  @res.jsxComponentProps
  type props<'priority, 'text> = {
    priority: 'priority,
    text?: 'text,
  }

  let make = ({priority: p, text: ?__text, _}: props<_, _>) => {
    let __text_value = switch __text {
    | Some(text) => text
    | None => "Test"
    }
    let text = __text_value
    (React.string(p ++ text): React.element)
  }
  let make = {
    let \"AliasProps$C1" = (props: props<_>) => make(props)

    \"AliasProps$C1"
  }
}

module C2 = {
  @res.jsxComponentProps
  type props<'foo> = {
    foo?: 'foo,
  }

  let make = ({foo: ?__foo, _}: props<_>) => {
    let __foo_value = switch __foo {
    | Some(foo) => foo
    | None => ""
    }
    let bar = __foo_value
    (React.string(bar): React.element)
  }
  let make = {
    let \"AliasProps$C2" = (props: props<_>) => make(props)

    \"AliasProps$C2"
  }
}

module C3 = {
  @res.jsxComponentProps
  type props<'foo, 'a, 'b> = {
    foo?: 'foo,
    a?: 'a,
    b: 'b,
  }

  let make = ({foo: ?__foo, a: ?__a, b, _}: props<_, _, _>) => {
    let __foo_value = switch __foo {
    | Some(foo) => foo
    | None => ""
    }
    let bar = __foo_value
    let __a_value = switch __a {
    | Some(a) => a
    | None => bar
    }
    let a = __a_value
    (
      {
        React.string(bar ++ a ++ b)
      }: React.element
    )
  }
  let make = {
    let \"AliasProps$C3" = (props: props<_>) => make(props)

    \"AliasProps$C3"
  }
}

module C4 = {
  @res.jsxComponentProps
  type props<'a, 'x> = {
    a: 'a,
    x?: 'x,
  }

  let make = ({a: b, x: ?__x, _}: props<_, _>) => {
    let __x_value = switch __x {
    | Some(x) => x
    | None => true
    }
    let x = __x_value
    (ReactDOM.jsx("div", {children: ?ReactDOM.someElement(b)}): React.element)
  }
  let make = {
    let \"AliasProps$C4" = (props: props<_>) => make(props)

    \"AliasProps$C4"
  }
}

module C5 = {
  @res.jsxComponentProps
  type props<'a, 'z> = {
    a: 'a,
    z?: 'z,
  }

  let make = ({a: (x, y), z: ?__z, _}: props<_, _>) => {
    let __z_value = switch __z {
    | Some(z) => z
    | None => 3
    }
    let z = __z_value
    (x + y + z: React.element)
  }
  let make = {
    let \"AliasProps$C5" = (props: props<_>) => make(props)

    \"AliasProps$C5"
  }
}

module C6 = {
  module type Comp = {
    @res.jsxComponentProps
    type props = {}

    let make: React.component<props>
  }
  @res.jsxComponentProps
  type props<'comp, 'x> = {
    comp: 'comp,
    x: 'x,
  }

  let make = ({comp: module(Comp: Comp), x: (a, b), _}: props<_, _>): React.element =>
    React.jsx(Comp.make, {})
  let make = {
    let \"AliasProps$C6" = (props: props<_>) => make(props)

    \"AliasProps$C6"
  }
}
