diff --git a/CHANGELOG.md b/CHANGELOG.md index ce18656..382af4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.1.7 +Add Toggle builder + ## 0.1.6 * Add support of UIKitButton size and group diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Toggle.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Toggle.kt new file mode 100644 index 0000000..ab6c6a1 --- /dev/null +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/Toggle.kt @@ -0,0 +1,26 @@ +package dev.inmo.jsuikit.elements + +import androidx.compose.runtime.Composable +import dev.inmo.jsuikit.modifiers.UIKitToggle +import dev.inmo.jsuikit.modifiers.include +import dev.inmo.jsuikit.utils.Attrs +import org.jetbrains.compose.web.attributes.ButtonType +import org.jetbrains.compose.web.attributes.type +import org.jetbrains.compose.web.dom.Button +import org.jetbrains.compose.web.dom.ContentBuilder +import org.w3c.dom.HTMLButtonElement + +@Composable +fun Toggle( + attrs: Attrs, + contentBuilder: ContentBuilder +) { + Button( + { + include(UIKitToggle) + type(ButtonType.Button) + attrs.builder(this) + }, + contentBuilder + ) +} diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitToggle.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitToggle.kt index e91be23..5b8311f 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitToggle.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/modifiers/UIKitToggle.kt @@ -38,7 +38,7 @@ sealed class UIKitToggle( class Custom internal constructor(otherAttrs: Map) : UIKitToggle(otherAttrs = otherAttrs) - companion object { + companion object : UIKitToggle(otherAttrs = mapOf("uk-toggle" to "")) { operator fun invoke( target: String? = null, mode: Mode? = null,