JSUIKitKBindings/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Navbar.kt

48 lines
1.2 KiB
Kotlin
Raw Normal View History

2022-01-12 10:27:49 +00:00
package dev.inmo.jsuikit.elements
2021-12-22 08:38:12 +00:00
import androidx.compose.runtime.Composable
2022-05-19 07:21:39 +00:00
import dev.inmo.jsuikit.modifiers.*
import org.jetbrains.compose.web.dom.*
import org.w3c.dom.HTMLElement
2021-12-22 08:38:12 +00:00
2022-05-19 07:21:39 +00:00
@Composable
fun Navbar(
attributesCustomizer: AttrBuilderContext<HTMLElement> = {},
contentBuilder: ContentBuilder<HTMLElement>
) {
Nav(
{
include(UIKitNavbar, UIKitNavbar.Container)
attributesCustomizer()
}
) {
2022-05-19 08:38:35 +00:00
contentBuilder()
2022-05-19 07:21:39 +00:00
}
}
2021-12-22 08:38:12 +00:00
@Composable
fun Navbar(
leftBuilder: NavbarNavBuilder? = null,
centerBuilder: NavbarNavBuilder? = null,
rightBuilder: NavbarNavBuilder? = null,
vararg navModifiers: UIKitModifier,
attributesCustomizer: AttrBuilderContext<HTMLElement> = {},
2021-12-22 08:38:12 +00:00
) {
2022-05-19 07:21:39 +00:00
Navbar(
2021-12-22 08:38:12 +00:00
{
include(*navModifiers)
attributesCustomizer()
2021-12-22 08:38:12 +00:00
}
) {
leftBuilder ?.let {
2022-05-19 07:21:39 +00:00
Div({ include(UIKitNavbar.Alignment.Left) }) { it.draw() }
2021-12-22 08:38:12 +00:00
}
centerBuilder ?.let {
2022-05-19 07:21:39 +00:00
Div({ include(UIKitNavbar.Alignment.Center) }) { it.draw() }
2021-12-22 08:38:12 +00:00
}
rightBuilder ?.let {
2022-05-19 07:21:39 +00:00
Div({ include(UIKitNavbar.Alignment.Right) }) { it.draw() }
2021-12-22 08:38:12 +00:00
}
}
}