JSUIKitKBindings/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitVisibility.kt
2022-01-28 14:14:27 +06:00

31 lines
952 B
Kotlin

package dev.inmo.jsuikit.modifiers
sealed class UIKitVisibility(classname: String) : UIKitModifier {
override val classes: Array<String> = arrayOf(classname)
sealed class Hidden(suffix: String?) : UIKitModifier {
override val classes: Array<String> = arrayOf("uk-hidden${suffix ?.let { "-$it" } ?: ""}")
object Hover : Hidden("hover")
sealed class Touch(suffix: String?) : Hidden(suffix) {
override val classes: Array<String> = arrayOf("${suffix ?: ""}touch")
object No : Touch("no")
companion object : Touch(null)
}
companion object : Hidden(null) {
val NoTouch = Touch.No
}
}
sealed class Invisible(suffix: String?) : UIKitModifier {
override val classes: Array<String> = arrayOf("uk-invisible${suffix ?.let { "-$it" } ?: ""}")
object Hover : Invisible("hover")
companion object : Invisible(null)
}
}