From 5ac4242b68ae68ba08c2f627f865d9ca685ae242 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 13:43:11 +0600 Subject: [PATCH 1/6] start 0.0.34 --- CHANGELOG.md | 2 ++ gradle.properties | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7cdd9a..ed80b69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +## 0.0.34 + ## 0.0.33 * Fixes in attributes building and related things diff --git a/gradle.properties b/gradle.properties index 178c65a..7e971da 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,4 +9,4 @@ android.enableJetifier=true # Project data group=dev.inmo -version=0.0.33 +version=0.0.34 From 01349d2fac3942b1b0f6dd17ff0cb44f9d92c922 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 13:43:56 +0600 Subject: [PATCH 2/6] add Alert and several things in animation --- CHANGELOG.md | 3 ++ .../kotlin/dev/inmo/jsuikit/elements/Alert.kt | 30 +++++++++++++++++++ .../dev/inmo/jsuikit/modifiers/UIKitAlert.kt | 18 +++++++++++ .../inmo/jsuikit/modifiers/UIKitAnimation.kt | 2 ++ 4 files changed, 53 insertions(+) create mode 100644 src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt create mode 100644 src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAlert.kt diff --git a/CHANGELOG.md b/CHANGELOG.md index ed80b69..a3240d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## 0.0.34 +* Add `Alert` +* Add `Animation#KenBurns` + ## 0.0.33 * Fixes in attributes building and related things diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt new file mode 100644 index 0000000..b3a0c49 --- /dev/null +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt @@ -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, + animation: UIKitAnimation? = UIKitAnimation.Fade, + duration: Milliseconds? = null, + selClose: String? = null, + content: ContentBuilder +) = Div( + { + attrs.builder(this) + + buildAndAddAttribute("uk-alert") { + "animation" to animation ?.classes ?.firstOrNull() + "duration" to duration + "sel-close" to selClose + } + }, + content +) diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAlert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAlert.kt new file mode 100644 index 0000000..dc1c2a7 --- /dev/null +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAlert.kt @@ -0,0 +1,18 @@ +package dev.inmo.jsuikit.modifiers + +sealed class UIKitAlert(classname: String) : UIKitModifier { + override val classes: Array = 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") +} diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAnimation.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAnimation.kt index 422ea74..96216e6 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAnimation.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitAnimation.kt @@ -60,4 +60,6 @@ sealed class UIKitAnimation (name: String) : UIKitModifier, AttributeValue(name) object Fast : UIKitAnimation("fast") + object KenBurns : UIKitAnimation("kenburns") + } From 53c728d7bc5f8bb04745bf98f9e6299a4e7d5efd Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 13:48:06 +0600 Subject: [PATCH 3/6] make Alert#attrs to be optional --- src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt index b3a0c49..e190133 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt @@ -11,7 +11,7 @@ import org.w3c.dom.HTMLDivElement @Composable fun Alert( - attrs: Attrs, + attrs: Attrs = Attrs.empty(), animation: UIKitAnimation? = UIKitAnimation.Fade, duration: Milliseconds? = null, selClose: String? = null, From dcc8646f182ed3e33da8bd3722d7286c0b9afc1a Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 13:53:56 +0600 Subject: [PATCH 4/6] add AlertCloseButton --- .../kotlin/dev/inmo/jsuikit/elements/Alert.kt | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt index e190133..2d13141 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt @@ -2,11 +2,11 @@ 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.modifiers.* 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.jetbrains.compose.web.dom.* +import org.w3c.dom.HTMLAnchorElement import org.w3c.dom.HTMLDivElement @Composable @@ -28,3 +28,20 @@ fun Alert( }, content ) + +@Composable +fun AlertCloseButton( + attrs: Attrs = Attrs.empty(), + content: ContentBuilder = @Composable {} +) { + A( + null, + { + include(UIKitAlert.Close) + attr("uk-close", "") + attrs.builder(this) + }, + content + ) + +} From 1a655810bd4a9afad8f7ff41352515074c26a600 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 15:28:47 +0600 Subject: [PATCH 5/6] fixes in AlertCloseButton --- src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt | 3 ++- src/jsMain/kotlin/dev/inmo/jsuikit/elements/Icon.kt | 3 +-- src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitIcon.kt | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitIcon.kt diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt index 2d13141..42898c5 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt @@ -37,8 +37,9 @@ fun AlertCloseButton( A( null, { - include(UIKitAlert.Close) + include(UIKitAlert.Close, UIKitIcon) attr("uk-close", "") + classes("uk-close") attrs.builder(this) }, content diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Icon.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Icon.kt index e9e528e..ab923af 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Icon.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Icon.kt @@ -211,8 +211,7 @@ sealed class Icon(val name: String) { onClick: ((Event) -> Unit)? = null ) { val configurer: AttrBuilderContext = { - classes("uk-icon") - include(*modifiers, type) + include(*modifiers, type, UIKitIcon) attr("uk-icon", "icon: $name${if (ratio != null) { "; ratio: $ratio" } else ""}") onClick ?.let { _ -> onClick { onClick(it.nativeEvent) } diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitIcon.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitIcon.kt new file mode 100644 index 0000000..d951ad9 --- /dev/null +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitIcon.kt @@ -0,0 +1,7 @@ +package dev.inmo.jsuikit.modifiers + +sealed class UIKitIcon(classname: String) : UIKitModifier { + override val classes: Array = arrayOf(classname) + + companion object : UIKitIcon("uk-icon") +} From e4c2622115963c1ebcd24979c97617e79ac264c7 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Wed, 9 Feb 2022 15:47:02 +0600 Subject: [PATCH 6/6] fix of class in Alert --- src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt index 42898c5..edec41f 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Alert.kt @@ -19,6 +19,7 @@ fun Alert( ) = Div( { attrs.builder(this) + include(UIKitAlert) buildAndAddAttribute("uk-alert") { "animation" to animation ?.classes ?.firstOrNull()