mirror of
https://github.com/InsanusMokrassar/JSUIKitKBindings.git
synced 2025-12-18 12:15:57 +00:00
Drop component and Navbar improvements
This commit is contained in:
24
src/jsMain/kotlin/dev/inmo/jsuikit/elements/Drop.kt
Normal file
24
src/jsMain/kotlin/dev/inmo/jsuikit/elements/Drop.kt
Normal file
@@ -0,0 +1,24 @@
|
||||
package dev.inmo.jsuikit.elements
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import dev.inmo.jsuikit.modifiers.UIKitDrop
|
||||
import dev.inmo.jsuikit.modifiers.attrsBuilder
|
||||
import dev.inmo.jsuikit.utils.*
|
||||
import org.jetbrains.compose.web.dom.Div
|
||||
import org.w3c.dom.HTMLButtonElement
|
||||
import org.w3c.dom.HTMLDivElement
|
||||
|
||||
@Composable
|
||||
fun Drop(
|
||||
buttonBuilder: AttrsWithContentBuilder<HTMLButtonElement>,
|
||||
dropBuilder: AttrsWithContentBuilder<HTMLDivElement>
|
||||
) {
|
||||
DefaultButton(
|
||||
attributesCustomizer = buttonBuilder.attributesBuilderContext,
|
||||
contentAllocator = buttonBuilder.builder
|
||||
)
|
||||
Div(
|
||||
(Attrs<HTMLDivElement>(UIKitDrop.Custom()) + dropBuilder.attrs).builder,
|
||||
dropBuilder.builder
|
||||
)
|
||||
}
|
||||
@@ -10,7 +10,7 @@ import org.w3c.dom.HTMLLIElement
|
||||
import org.w3c.dom.HTMLUListElement
|
||||
|
||||
@Composable
|
||||
fun <T> Iconnav(
|
||||
fun <T> IconNav(
|
||||
data: Iterable<T>,
|
||||
listAttrs: Attrs<HTMLUListElement> = Attrs.empty(),
|
||||
elementAttrsBuilder: AttrsScope<HTMLLIElement>.(T) -> Unit = {},
|
||||
@@ -31,3 +31,11 @@ fun <T> Iconnav(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun <T> Iconnav(
|
||||
data: Iterable<T>,
|
||||
listAttrs: Attrs<HTMLUListElement> = Attrs.empty(),
|
||||
elementAttrsBuilder: AttrsScope<HTMLLIElement>.(T) -> Unit = {},
|
||||
elementBuilder: @Composable ElementScope<HTMLLIElement>.(T) -> Unit
|
||||
) = IconNav(data, listAttrs, elementAttrsBuilder, elementBuilder)
|
||||
|
||||
@@ -5,8 +5,7 @@ import dev.inmo.jsuikit.modifiers.*
|
||||
import dev.inmo.jsuikit.utils.*
|
||||
import org.jetbrains.compose.web.attributes.AttrsScope
|
||||
import org.jetbrains.compose.web.dom.*
|
||||
import org.w3c.dom.HTMLLIElement
|
||||
import org.w3c.dom.HTMLUListElement
|
||||
import org.w3c.dom.*
|
||||
|
||||
@Composable
|
||||
fun NavbarNav(
|
||||
@@ -30,3 +29,17 @@ fun NavbarNav(
|
||||
vararg elements: AttrsWithContentBuilder<HTMLLIElement>,
|
||||
attrs: Attrs<HTMLUListElement> = Attrs.empty()
|
||||
) = NavbarNav(elements.toList(), attrs)
|
||||
|
||||
fun NavbarNavBuilder(
|
||||
elements: List<AttrsWithContentBuilder<HTMLLIElement>>,
|
||||
attrs: Attrs<HTMLUListElement> = Attrs.empty(),
|
||||
containerAttrs: Attrs<HTMLDivElement> = Attrs.empty()
|
||||
) = AttrsWithContentBuilder<HTMLDivElement>(containerAttrs) {
|
||||
NavbarNav(elements, attrs)
|
||||
}
|
||||
|
||||
fun NavbarNavBuilder(
|
||||
vararg elements: AttrsWithContentBuilder<HTMLLIElement>,
|
||||
attrs: Attrs<HTMLUListElement> = Attrs.empty(),
|
||||
containerAttrs: Attrs<HTMLDivElement> = Attrs.empty()
|
||||
) = NavbarNavBuilder(elements.toList(), attrs, containerAttrs)
|
||||
|
||||
Reference in New Issue
Block a user