diff --git a/CHANGELOG.md b/CHANGELOG.md index 58c0200..e5dfa5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.6.1 + +* `DefaultInput` has been renamed to `StandardInput` +* `Compose`: `1.3.1-rc02` + ## 0.6.0 * `Kotlin`: `1.8.10` diff --git a/gradle.properties b/gradle.properties index e265d68..860cb38 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,10 +3,8 @@ org.gradle.parallel=true kotlin.js.generate.externals=true kotlin.incremental=true kotlin.incremental.js=true -android.useAndroidX=true -android.enableJetifier=true # Project data group=dev.inmo -version=0.6.0 +version=0.6.1 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 53c60ba..ebb7af5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] kt = "1.8.10" -jb-compose = "1.3.1-rc01" -jb-dokka = "1.7.20" +jb-compose = "1.3.1-rc02" +jb-dokka = "1.8.10" gh-release = "2.4.1" [libraries] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ae04661..774fae8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/StandardInput.kt b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/StandardInput.kt index dab38d2..3361d99 100644 --- a/src/jsMain/kotlin/dev/inmo/jsuikit/elements/StandardInput.kt +++ b/src/jsMain/kotlin/dev/inmo/jsuikit/elements/StandardInput.kt @@ -8,6 +8,40 @@ import org.jetbrains.compose.web.dom.AttrBuilderContext import org.jetbrains.compose.web.dom.Input import org.w3c.dom.HTMLInputElement +@Composable +fun StandardInput( + type: InputType, + value: T? = null, + vararg modifiers: UIKitModifier, + disabled: Boolean = false, + placeholder: String? = null, + attributesCustomizer: AttrBuilderContext = {}, + onChange: HTMLInputElement.(T) -> Unit +) { + Input(type) { + classes("uk-input") + include(*modifiers) + + placeholder ?.let(::placeholder) + + value ?.let { + when (it) { + is String -> value(it) + is Number -> value(it) + else -> {} + } + } + + onInput { event -> event.target.onChange(event.value) } + + if (disabled) { + disabled() + } + attributesCustomizer() + } +} + +@Deprecated("Renamed", ReplaceWith("StandardInput(type, value, *modifiers, disabled, placeholder, attributesCustomizer, onChange)")) @Composable fun DefaultInput( type: InputType, @@ -17,28 +51,8 @@ fun DefaultInput( vararg modifiers: UIKitModifier, attributesCustomizer: AttrBuilderContext = {}, onChange: (T) -> Unit -) { - Input(type) { - classes("uk-input") - include(*modifiers) - - placeholder ?.let(::placeholder) - - value.let { - when (it) { - is String -> value(it) - is Number -> value(it) - else -> {} - } - } - - onInput { onChange(it.value) } - - if (disabled) { - disabled() - } - attributesCustomizer() - } +) = StandardInput(type, value, modifiers = modifiers, disabled, placeholder, attributesCustomizer) { + onChange(it) } @Composable @@ -49,12 +63,12 @@ fun StandardInput( placeholder: String? = null, vararg modifiers: UIKitModifier, attributesCustomizer: AttrBuilderContext = {}, -) = DefaultInput( +) = StandardInput( type, state.value, + modifiers = modifiers, disabledState ?.value == true, placeholder, - modifiers = modifiers, attributesCustomizer = attributesCustomizer ) { state.value = it