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-01-12 10:27:49 +00:00
|
|
|
import dev.inmo.jsuikit.buildAndAddAttribute
|
2022-01-12 13:58:52 +00:00
|
|
|
import dev.inmo.jsuikit.modifiers.*
|
2022-01-12 10:27:49 +00:00
|
|
|
import dev.inmo.jsuikit.utils.Milliseconds
|
2021-12-22 08:38:12 +00:00
|
|
|
import org.jetbrains.compose.web.dom.*
|
|
|
|
import org.w3c.dom.HTMLLIElement
|
|
|
|
import org.w3c.dom.HTMLUListElement
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
fun Nav(
|
2022-01-13 05:55:08 +00:00
|
|
|
modifiers: Array<UIKitModifier> = emptyArray(),
|
2021-12-22 08:38:12 +00:00
|
|
|
multiple: Boolean? = null,
|
|
|
|
collapsible: Boolean? = null,
|
|
|
|
animation: UIKitAnimation? = null,
|
|
|
|
duration: Milliseconds? = null,
|
2022-01-13 05:55:08 +00:00
|
|
|
attributesCustomizer: AttrBuilderContext<HTMLUListElement> = {},
|
2021-12-22 08:38:12 +00:00
|
|
|
dataAllocator: ContentBuilder<HTMLUListElement>
|
|
|
|
) {
|
|
|
|
Ul(
|
|
|
|
{
|
|
|
|
buildAndAddAttribute("uk-nav") {
|
|
|
|
"multiple" to multiple ?.toString()
|
|
|
|
"collapsible" to collapsible ?.toString()
|
|
|
|
"animation" to animation
|
|
|
|
"duration" to duration ?.toString()
|
|
|
|
}
|
|
|
|
classes("uk-nav")
|
|
|
|
include(*modifiers)
|
2022-01-13 05:55:08 +00:00
|
|
|
attributesCustomizer()
|
2021-12-22 08:38:12 +00:00
|
|
|
}
|
|
|
|
) {
|
|
|
|
dataAllocator()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Composable
|
|
|
|
fun NavElement(
|
2022-01-13 05:55:08 +00:00
|
|
|
modifiers: Array<UIKitModifier> = emptyArray(),
|
|
|
|
attributesCustomizer: AttrBuilderContext<HTMLLIElement> = {},
|
2021-12-22 08:38:12 +00:00
|
|
|
contentAllocator: ContentBuilder<HTMLLIElement>
|
|
|
|
) {
|
|
|
|
Li(
|
|
|
|
{
|
|
|
|
include(*modifiers)
|
2022-01-13 05:55:08 +00:00
|
|
|
attributesCustomizer
|
2021-12-22 08:38:12 +00:00
|
|
|
}
|
|
|
|
) {
|
|
|
|
contentAllocator()
|
|
|
|
}
|
|
|
|
}
|