diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/DropArea.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/DropArea.kt index 1a18195..dbfd41e 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/DropArea.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/DropArea.kt @@ -10,7 +10,7 @@ import org.w3c.dom.HTMLDivElement @Composable fun DropArea( attrs: Attrs = Attrs.empty(), - inputAttrs: InputAttrs = Attrs.empty(), + inputAttrs: InputAttrs = InputAttrs.empty(), contentBuilder: ContentBuilder = {} ) = Div( { diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/utils/AttrsWithContentBuilder.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/utils/AttrsWithContentBuilder.kt index 5bef24b..77603ea 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/utils/AttrsWithContentBuilder.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/utils/AttrsWithContentBuilder.kt @@ -1,10 +1,32 @@ package dev.inmo.jsuikit.utils +import dev.inmo.jsuikit.modifiers.UIKitModifier +import org.jetbrains.compose.web.attributes.AttrsScope import org.jetbrains.compose.web.dom.ContentBuilder import org.w3c.dom.Element typealias AttrsWithContentBuilder = Pair, ContentBuilder> +@Suppress("NOTHING_TO_INLINE") +inline fun AttrsWithContentBuilder(noinline builder: ContentBuilder) = AttrsWithContentBuilder( + Attrs.empty(), + builder +) + +@Suppress("NOTHING_TO_INLINE") +inline fun AttrsWithContentBuilder(attrs: Attrs) = AttrsWithContentBuilder( + attrs +) {} + +@Suppress("NOTHING_TO_INLINE") +inline fun AttrsWithContentBuilder( + modifier: UIKitModifier?, + vararg modifiers: UIKitModifier?, + noinline attrs: AttrsScope.() -> Unit = {} +) = AttrsWithContentBuilder( + Attrs(modifier, *modifiers, attrs = attrs) +) + inline val AttrsWithContentBuilder.attrs get() = first