add Alert and several things in animation

This commit is contained in:
InsanusMokrassar 2022-02-09 13:43:56 +06:00
parent 5ac4242b68
commit 01349d2fac
4 changed files with 53 additions and 0 deletions

View File

@ -2,6 +2,9 @@
## 0.0.34
* Add `Alert`
* Add `Animation#KenBurns`
## 0.0.33
* Fixes in attributes building and related things

View File

@ -0,0 +1,30 @@
package dev.inmo.jsuikit.elements
import androidx.compose.runtime.Composable
import dev.inmo.jsuikit.buildAndAddAttribute
import dev.inmo.jsuikit.modifiers.UIKitAnimation
import dev.inmo.jsuikit.utils.Attrs
import dev.inmo.jsuikit.utils.Milliseconds
import org.jetbrains.compose.web.dom.ContentBuilder
import org.jetbrains.compose.web.dom.Div
import org.w3c.dom.HTMLDivElement
@Composable
fun Alert(
attrs: Attrs<HTMLDivElement>,
animation: UIKitAnimation? = UIKitAnimation.Fade,
duration: Milliseconds? = null,
selClose: String? = null,
content: ContentBuilder<HTMLDivElement>
) = Div(
{
attrs.builder(this)
buildAndAddAttribute("uk-alert") {
"animation" to animation ?.classes ?.firstOrNull()
"duration" to duration
"sel-close" to selClose
}
},
content
)

View File

@ -0,0 +1,18 @@
package dev.inmo.jsuikit.modifiers
sealed class UIKitAlert(classname: String) : UIKitModifier {
override val classes: Array<String> = arrayOf(classname)
sealed class Style(classname: String) : UIKitAlert(classname) {
object Primary : Style("uk-alert-primary")
object Success : Style("uk-alert-success")
object Warning : Style("uk-alert-warning")
object Danger : Style("uk-alert-danger")
}
object Close : UIKitAlert("uk-alert-close")
companion object : UIKitAlert("uk-alert")
}

View File

@ -60,4 +60,6 @@ sealed class UIKitAnimation (name: String) : UIKitModifier, AttributeValue(name)
object Fast : UIKitAnimation("fast")
object KenBurns : UIKitAnimation("kenburns")
}