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) } }