From 191afa3e1db330bd9d2dd8e95a1bb03cdcb6efaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 13 Aug 2026 11:42:13 +0200 Subject: [PATCH 1/2] fix(paywalls): expose compose-foundation-layout as an api dependency PaywallFooter, OriginalTemplatePaywallFooter and CloseButton expose PaddingValues and BoxScope in their signatures, but every Compose dependency was declared as implementation, so consumers never got foundation-layout on their compile classpath. Kotlin 2.0.x tolerated the unresolvable type; 2.2 rejects it, so consumers on a recent Kotlin cannot call those APIs unless they happen to pull foundation-layout in themselves. Export the Compose BOM alongside it: without the BOM in the api variant the published metadata carries no version for foundation-layout. --- gradle/libs.versions.toml | 1 + ui/revenuecatui/build.gradle.kts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b4ed73efaf..ca4aa8ae83 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -126,6 +126,7 @@ commonmark-strikethrough = { module = "org.commonmark:commonmark-ext-gfm-striket compose-bom = { module = "androidx.compose:compose-bom", version.ref = "composeBom" } compose-constraintlayout = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "constraintlayout" } +compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout" } compose-material = { module = "androidx.compose.material:material" } compose-material3 = { module = "androidx.compose.material3:material3" } compose-material3Adaptive = { module = "androidx.compose.material3.adaptive:adaptive" } diff --git a/ui/revenuecatui/build.gradle.kts b/ui/revenuecatui/build.gradle.kts index d9236eeceb..0090382eb2 100644 --- a/ui/revenuecatui/build.gradle.kts +++ b/ui/revenuecatui/build.gradle.kts @@ -88,8 +88,11 @@ tasks.withType().configureEach { dependencies { api(project(":purchases")) + // PaddingValues and BoxScope appear in this module's public API, so the BOM that versions + // them has to be exported too: without it the published api variant has no version for them. + api(platform(libs.compose.bom)) + api(libs.compose.foundation.layout) - implementation(platform(libs.compose.bom)) implementation(libs.compose.ui) implementation(libs.compose.ui.util) implementation(libs.compose.ui.graphics) From f6924a3350d68b026f9b18cb988fb93753273025 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Brey?= Date: Thu, 13 Aug 2026 11:46:40 +0200 Subject: [PATCH 2/2] Remove unneeded comment --- ui/revenuecatui/build.gradle.kts | 2 -- 1 file changed, 2 deletions(-) diff --git a/ui/revenuecatui/build.gradle.kts b/ui/revenuecatui/build.gradle.kts index 0090382eb2..e59aadbdff 100644 --- a/ui/revenuecatui/build.gradle.kts +++ b/ui/revenuecatui/build.gradle.kts @@ -88,8 +88,6 @@ tasks.withType().configureEach { dependencies { api(project(":purchases")) - // PaddingValues and BoxScope appear in this module's public API, so the BOM that versions - // them has to be exported too: without it the published api variant has no version for them. api(platform(libs.compose.bom)) api(libs.compose.foundation.layout)