diff --git a/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Elements.kt b/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Elements.kt index c6b5a2f33cf..b29aa102e0d 100644 --- a/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Elements.kt +++ b/web/core/src/jsMain/kotlin/androidx/compose/web/elements/Elements.kt @@ -43,6 +43,10 @@ import org.w3c.dom.HTMLTextAreaElement import org.w3c.dom.HTMLUListElement import org.w3c.dom.Text +typealias StyleBuilderContext = StyleBuilder.() -> Unit +typealias AttrBuilderContext = AttrsBuilder.() -> Unit +typealias ContentBuilder = @Composable ElementScope.() -> Unit + @Composable fun Text(value: String) { ComposeNode( @@ -55,9 +59,9 @@ fun Text(value: String) { @Composable inline fun Div( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "div", @@ -70,9 +74,9 @@ inline fun Div( @Composable inline fun A( href: String? = null, - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "a", @@ -89,9 +93,9 @@ inline fun A( inline fun Input( type: InputType = InputType.Text, value: String = "", - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit = {} + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder = {} ) { TagElement( tagName = "input", @@ -107,137 +111,137 @@ inline fun Input( @Composable inline fun Button( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("button", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H1( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h1", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H2( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h2", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H3( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h3", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H4( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h4", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H5( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h5", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun H6( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("h6", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun P( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("p", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Em( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("em", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun I( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("i", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun B( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("b", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Small( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("small", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Span( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("span", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Br( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("br", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Ul( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit, + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder, ) = TagElement("ul", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Ol( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("ol", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun DOMScope.Li( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("li", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun DOMScope.Li( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement("li", applyAttrs = attrs, applyStyle = style, content = content) @Composable inline fun Img( src: String, alt: String = "", - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit = {} + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder = {} ) = TagElement( tagName = "img", applyAttrs = { @@ -250,9 +254,9 @@ inline fun Img( @Composable inline fun Form( action: String? = null, - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "form", applyAttrs = { @@ -264,9 +268,9 @@ inline fun Form( @Composable inline fun Select( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "select", applyAttrs = attrs, @@ -277,9 +281,9 @@ inline fun Select( @Composable inline fun DOMScope.Option( value: String, - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "option", applyAttrs = { @@ -293,9 +297,9 @@ inline fun DOMScope.Option( @Composable inline fun OptGroup( label: String, - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "optgroup", applyAttrs = { @@ -308,9 +312,9 @@ inline fun OptGroup( @Composable inline fun Section( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "section", applyAttrs = attrs, @@ -320,8 +324,8 @@ inline fun Section( @Composable inline fun TextArea( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, value: String ) = TagElement( tagName = "textarea", @@ -336,9 +340,9 @@ inline fun TextArea( @Composable inline fun Nav( - crossinline attrs: AttrsBuilder.() -> Unit = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) = TagElement( tagName = "nav", applyAttrs = attrs, @@ -348,9 +352,9 @@ inline fun Nav( @Composable inline fun Pre( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "pre", @@ -362,9 +366,9 @@ inline fun Pre( @Composable inline fun Code( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "code", @@ -376,9 +380,9 @@ inline fun Code( @Composable inline fun Main( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit = {} + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder = {} ) { TagElement( tagName = "main", @@ -390,9 +394,9 @@ inline fun Main( @Composable inline fun Footer( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit = {} + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder = {} ) { TagElement( tagName = "footer", @@ -405,9 +409,9 @@ inline fun Footer( @Composable inline fun Label( forId: String? = null, - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit = {} + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder = {} ) { TagElement( tagName = "label", @@ -422,9 +426,9 @@ inline fun Label( @Composable inline fun Table( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "table", @@ -436,9 +440,9 @@ inline fun Table( @Composable inline fun Caption( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "caption", @@ -450,9 +454,9 @@ inline fun Caption( @Composable inline fun Col( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "col", @@ -464,9 +468,9 @@ inline fun Col( @Composable inline fun Colgroup( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "colgroup", @@ -478,9 +482,9 @@ inline fun Colgroup( @Composable inline fun Tr( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "tr", @@ -492,9 +496,9 @@ inline fun Tr( @Composable inline fun Thead( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "thead", @@ -506,9 +510,9 @@ inline fun Thead( @Composable inline fun Th( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "th", @@ -520,9 +524,9 @@ inline fun Th( @Composable inline fun Td( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "td", @@ -534,9 +538,9 @@ inline fun Td( @Composable inline fun Tbody( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "tbody", @@ -548,9 +552,9 @@ inline fun Tbody( @Composable inline fun Tfoot( - crossinline attrs: (AttrsBuilder.() -> Unit) = {}, - crossinline style: (StyleBuilder.() -> Unit) = {}, - content: @Composable ElementScope.() -> Unit + crossinline attrs: AttrBuilderContext = {}, + crossinline style: StyleBuilderContext = {}, + content: ContentBuilder ) { TagElement( tagName = "tfoot",