kjsuikit/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Dropdown.kt

49 lines
1.4 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-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
import org.jetbrains.compose.web.dom.*
2021-12-22 08:38:12 +00:00
import org.w3c.dom.HTMLDivElement
@Composable
fun Dropdown(
vararg modifiers: UIKitModifier,
2021-12-22 08:38:12 +00:00
toggle: String? = null,
pos: UIKitDropdown.Position? = null,
mode: UIKitDropdown.Mode? = null,
delayShow: Milliseconds? = null,
delayHide: Milliseconds? = null,
boundary: String? = null,
boundaryAlign: Boolean? = null,
flip: UIKitDropdown.Flip? = null,
offset: Int? = null,
animation: UIKitAnimation? = null,
duration: Milliseconds? = null,
attributesCustomizer: AttrBuilderContext<HTMLDivElement> = {},
2021-12-22 08:38:12 +00:00
contentBuilder: ContentBuilder<HTMLDivElement>
) {
Div(
{
buildAndAddAttribute("uk-dropdown") {
"toggle" to toggle
"pos" to pos
"mode" to mode
"delayShow" to delayShow
"delayHide" to delayHide
"boundary" to boundary
"boundaryAlign" to boundaryAlign
"flip" to flip
"offset" to offset
"animation" to animation
"duration" to duration
}
classes("uk-dropdown")
include(*modifiers)
attributesCustomizer()
2021-12-22 08:38:12 +00:00
},
contentBuilder
)
}