From 6daa57fe8f2b9128364c6fa64f88ec514f06be81 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 27 Apr 2022 16:13:58 +0600 Subject: [PATCH] improve support of List --- .../kotlin/dev/inmo/jsuikit/elements/List.kt | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/List.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/List.kt index cc9ac3e..e39286f 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/List.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/List.kt @@ -2,12 +2,30 @@ package dev.inmo.jsuikit.elements import androidx.compose.runtime.Composable import androidx.compose.runtime.snapshots.SnapshotStateList -import dev.inmo.jsuikit.modifiers.UIKitModifier -import dev.inmo.jsuikit.modifiers.include +import dev.inmo.jsuikit.modifiers.* +import dev.inmo.jsuikit.utils.Attrs import org.jetbrains.compose.web.dom.* import org.w3c.dom.HTMLHeadingElement import org.w3c.dom.HTMLUListElement +@Composable +fun List( + data: SnapshotStateList, + ukAttrs: Attrs = Attrs.empty(), + elementAllocator: @Composable ElementScope.(T) -> Unit +) { + Ul( + { + include(UIKitList) + ukAttrs.builder(this) + } + ) { + data.forEach { + elementAllocator(it) + } + } +} + @Composable fun List( title: String, @@ -23,15 +41,5 @@ fun List( Text(title) } besidesTitleAndList ?.invoke() - Ul( - { - classes("uk-list") - include(*ulModifiers) - ulCustomizer() - } - ) { - data.forEach { - elementAllocator(it) - } - } + List(data, Attrs(*ulModifiers) { ulCustomizer(this) }, elementAllocator) }