-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
v0.4.0 release
- Loading branch information
Showing
178 changed files
with
4,438 additions
and
801 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
.gradle | ||
.kotlin | ||
build | ||
local.properties | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
# Change log | ||
|
||
## v0.4.0 / 2024-10-24 | ||
|
||
* fix a bug that a dependent project might crash on Android and add the Android target explicitly for all modules | ||
* no longer publish the legacy module | ||
* bump Kotlin to 2.0.10, Compose Multiplatform to 1.7.0, Kobweb to 0.19.2, and our Compose HTML Material to 0.4.0 | ||
|
||
### Common | ||
|
||
* add `Arrangement.spacedBy` | ||
* Move `LoadingState` here from [Compose HTML Material](https://github.com/huanshankeji/compose-html-material) | ||
* add color parameters to the text composables | ||
* rename `InlineText` to `TaglessText` | ||
* add the `alpha` modifiers | ||
* add a `hidden` modifier | ||
* add the `clickable` modifier and replace `onClick` with it | ||
* add the `PaddingValues` type | ||
* add a `BoxWithConstraints` layout composable that's still buggy on JS DOM | ||
* add `flex-basis: 0` to the weight modifiers on JS DOM to make them consistent with the `androidx.compose` behavior | ||
* split the `padding` modifiers into `outerPadding` and `innerPadding` | ||
* add the `VerticalScrollBox` and `HorizontalScrollBox` composables as (better) alternatives to the `*Scroll` modifiers | ||
|
||
### Material 2 | ||
|
||
* revamp `TopAppBarScaffold` to take a bottom bar, a floating action bottom, and a snackbar host, and fix some of its display issues on JS DOM | ||
* fix bugs that the action buttons don't show and their `onClick` callbacks are not passed on JS DOM | ||
* add the `SnackbarHost` (the Material 3 snackbar is not available in Material Web yet) | ||
* add `RadioGroupColumn` and improve `RadioRow` on JS DOM | ||
* add a platform-specific implementation for `com.huanshankeji.compose.material2.ext.IconButton` on JS DOM that's more idiomatic, and fix a bug that in some scenarios icons are not shown, by always importing "material-icons/iconfont/material-icons.css" | ||
|
||
### Material 3 | ||
|
||
* add the menu composables `DropdownMenu`, `DropdownMenuItem`, `ExposedDropdownMenuBox`, and `ExposedDropdownMenuWithTextField` | ||
* add the progress indicator composables `LinearProgressIndicator` and `CircularProgressIndicator` | ||
* fix a bug in the text fields on JS DOM that causes the caret to be reset to the start whenever the value changes if the `type` attribute is set | ||
* make multiline text fields work on JS DOM | ||
* add an `isInteractiveJsDom` parameter to ListItemComponents | ||
|
||
### Navigation | ||
|
||
* initially support navigation | ||
|
||
### ViewModel | ||
|
||
* initially support ViewModel which delegates to raw UI state on Compose HTML / JS DOM | ||
|
||
### Demo | ||
|
||
* make the demo UI friendly on mobile | ||
|
||
## v0.3.0 / 2024-5-10 | ||
|
||
Support Material 3. See the Updated README.md for more details. | ||
|
||
## v0.2.0 / 2024-4-17 | ||
|
||
The project now depends on Kobweb Silk on Kotlin/JS (Compose HTML) and there is a universal multiplatform interface for `Modifier`, scopes, etc. akin to those in `androidx.compose`. Obsolete code including `ModifierOrAttrsScope` is moved to a legacy module. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
val androidSdkVersion = 34 // bump to 35 when AGP and Kotlin are bumped |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
const val FOR_COMPOSE_TARGETS_IN_TITLE = "for `androidx.compose` and Compose HTML" | ||
const val FOR_COMPOSE_TARGETS_IN_DESCRIPTION = | ||
"for `androidx.compose` (Android, desktop (JVM), iOS, and web (Kotlin/Wasm)) and Compose HTML" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,14 @@ | ||
import com.huanshankeji.CommonDependencies | ||
import org.jetbrains.compose.ComposeBuildConfig | ||
|
||
val projectVersion = "0.3.0" | ||
val projectVersion = "0.4.0" | ||
|
||
val commonDependencies = CommonDependencies() | ||
|
||
object DependencyVersions { | ||
const val composeMultiplatform = ComposeBuildConfig.composeVersion // for "ui-unit" | ||
val kobweb = "0.17.3" | ||
val huanshankejiComposeHtml = "0.3.0" | ||
val kobweb = "0.19.2" | ||
val huanshankejiComposeHtml = "0.4.0" // don't use a snapshot version in a main branch | ||
val kmdc = "0.1.2" | ||
val materialSymbols = "0.17.4" | ||
|
||
object Androidx { | ||
val activityCompose = "1.9.0" | ||
val compose = "1.6.6" | ||
} | ||
val materialSymbols = "0.25.1" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
42 changes: 42 additions & 0 deletions
42
buildSrc/src/main/kotlin/lib-conventions-without-publishing.gradle.kts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi | ||
|
||
plugins { | ||
id("common-conventions") | ||
id("com.huanshankeji.kotlin-multiplatform-conventional-targets") | ||
id("com.android.library") | ||
} | ||
|
||
kotlin { | ||
androidTarget { | ||
publishLibraryVariants("release", "debug") | ||
} | ||
|
||
// move to `common-conventions` if necessary | ||
|
||
@OptIn(ExperimentalKotlinGradlePluginApi::class) | ||
applyDefaultHierarchyTemplate { | ||
common { | ||
group("androidxCommon") { | ||
withJvm() | ||
withAndroidTarget() | ||
group("ios") | ||
withWasmJs() | ||
} | ||
} | ||
} | ||
|
||
/* | ||
sourceSets { | ||
val androidxCommonMain by creating { dependsOn(commonMain.get()) } | ||
jvmMain { dependsOn(androidxCommonMain) } | ||
iosMain { dependsOn(androidxCommonMain) } | ||
named("wasmJsMain") { dependsOn(androidxCommonMain) } | ||
} | ||
*/ | ||
} | ||
|
||
android { | ||
namespace = group as String | ||
|
||
compileSdk = androidSdkVersion | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,33 +1,4 @@ | ||
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi | ||
|
||
plugins { | ||
id("common-conventions") | ||
// TODO: `id("com.android.library") version "7.2.2"`? | ||
id("com.huanshankeji.kotlin-multiplatform-jvm-and-js-browser-conventions") | ||
id("lib-conventions-without-publishing") | ||
id("com.huanshankeji.kotlin-multiplatform-sonatype-ossrh-publish-conventions") | ||
//id("com.android.library") // not used yet, the `jvm` target seems to be enough | ||
} | ||
|
||
kotlin { | ||
// move to `common-conventions` if necessary | ||
|
||
@OptIn(ExperimentalKotlinGradlePluginApi::class) | ||
applyDefaultHierarchyTemplate { | ||
common { | ||
group("androidxCommon") { | ||
withJvm() | ||
group("ios") | ||
withWasm() | ||
} | ||
} | ||
} | ||
|
||
/* | ||
sourceSets { | ||
val androidxCommonMain by creating { dependsOn(commonMain.get()) } | ||
jvmMain { dependsOn(androidxCommonMain) } | ||
iosMain { dependsOn(androidxCommonMain) } | ||
named("wasmJsMain") { dependsOn(androidxCommonMain) } | ||
} | ||
*/ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.