From cef131b1d0b731860841fd2cad9389841cfc4402 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Fri, 28 Jan 2022 14:14:27 +0600 Subject: [PATCH] UIKitVisibility --- CHANGELOG.md | 2 ++ .../inmo/jsuikit/modifiers/UIKitVisibility.kt | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitVisibility.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index 9946f5a..3c8704f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.0.31 +* Support of `UIKitVisibility` + ## 0.0.30 * Add `UIKitComment` diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitVisibility.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitVisibility.kt new file mode 100644 index 0000000..7470123 --- /dev/null +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitVisibility.kt @@ -0,0 +1,30 @@ +package dev.inmo.jsuikit.modifiers + +sealed class UIKitVisibility(classname: String) : UIKitModifier { + override val classes: Array = arrayOf(classname) + + sealed class Hidden(suffix: String?) : UIKitModifier { + override val classes: Array = arrayOf("uk-hidden${suffix ?.let { "-$it" } ?: ""}") + + object Hover : Hidden("hover") + sealed class Touch(suffix: String?) : Hidden(suffix) { + override val classes: Array = 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 = arrayOf("uk-invisible${suffix ?.let { "-$it" } ?: ""}") + + object Hover : Invisible("hover") + + companion object : Invisible(null) + } +}