add attributes customizers lambdas to all elements and temporarily change signatures with modifiers from varargs to arrays

This commit is contained in:
2022-01-13 11:55:08 +06:00
parent ccf1daa2b5
commit 0beda0b6ef
16 changed files with 110 additions and 67 deletions

View File

@@ -2,21 +2,27 @@ package dev.inmo.jsuikit.elements
import androidx.compose.runtime.Composable
import dev.inmo.jsuikit.modifiers.*
import org.jetbrains.compose.web.dom.AttrBuilderContext
import org.jetbrains.compose.web.dom.Div
import org.w3c.dom.HTMLDivElement
@Composable
fun Spinner(
vararg modifier: UIKitModifier,
ratio: Float? = null
modifiers: Array<UIKitModifier> = emptyArray(),
ratio: Float? = null,
attributesCustomizer: AttrBuilderContext<HTMLDivElement> = {}
) {
Div(
{
attr("uk-spinner", ratio ?.let { "ratio: $it" } ?: "")
classes("uk-icon", "uk-spinner")
include(*modifier)
include(*modifiers)
attributesCustomizer()
}
)
}
@Composable
fun DefaultSpinner() = Spinner(UIKitAlign.Center, UIKitMargin.Small, UIKitText.Alignment.Center)
fun DefaultSpinner() = Spinner(
arrayOf(UIKitAlign.Center, UIKitMargin.Small, UIKitText.Alignment.Center)
)