Specifically made for Echo.
stickyHeadernow have a new paramisSlidable. Allows multiple sticky headers to exist at the same time.stickyHeadernow considercontentPadding.topof the lazy list.
- Fix the extra bounce the bottom sheet makes, when a nested scrollable child exists.
- Disables mouse drag open of the Bottom Sheet.
- Fix the issue where if a Bottom Sheet has a nested vertical scrollable child, the mouse scroll wheel can pass the extra delta to the bottom sheet, once the child has reached the top.
Add the following lines to these files.
libs.version.toml
[versions]
compose = "1.12.0-alpha01"
//...
[libraries]
compose-foundation = { module = "dev.brahmkshatriya.compose.foundation:foundation", version.ref = "compose" }
compose-material3 = { module = "dev.brahmkshatriya.compose.material3:material3", version.ref = "compose" }Root build.gradle.kts (This is necessary, if you want this to work on android)
val androidComposeSubstitutions = mapOf(
"androidx.compose.material3:material3-android" to libs.compose.material3,
"androidx.compose.foundation:foundation-android" to libs.compose.foundation,
)
subprojects {
configurations.all {
resolutionStrategy.dependencySubstitution {
androidComposeSubstitutions.forEach { (requestedModule, dependency) ->
val catalogDependency = dependency.get()
val androidCoordinate = "${requireNotNull(catalogDependency.group)}:${catalogDependency.name}-android:${catalogDependency.versionConstraint.requiredVersion}"
substitute(module(requestedModule)).using(module(androidCoordinate))
}
}
}
}Module's build.gradle.kts
kotlin {
//...
sourceSets {
commonMain.dependencies {
implementation(libs.compose.foundation)
implementation(libs.compose.material3)
}
}
}- Set the Android Sdk in the local.properties
- Run the following command
./gradlew :mpp:publishComposeJbToMavenLocal \
-Pjetbrains.publication.libraries=:compose:foundation:foundation,:compose:material3:material3 \
-Pcompose.platforms=jvm,android,js,wasmJs,linuxX64,linuxArm64
If you have a Mac (Not Tested)
./gradlew :mpp:publishComposeJbToMavenLocal \
-Pjetbrains.publication.libraries=:compose:foundation:foundation,:compose:material3:material3 \
-Pcompose.platforms=jvm,android,js,wasmJs,linuxX64,linuxArm64
- Set
mavenCentralUsername,mavenCentralPassword,signing.keyId,signing.password, andsigning.secretKeyRingFilein~/.gradle/gradle.properties - Run the following command
./gradlew :mpp:publishComposeJbToSonatype \
-Pjetbrains.publication.libraries=:compose:foundation:foundation,:compose:material3:material3 \
-Pcompose.platforms=jvm,android,js,wasmJs,linuxX64,linuxArm64
- After Sonatype validates the uploaded deployment, publish it from the Central Portal.