diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77f2a709d..a5a1c42b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -266,7 +266,7 @@ jobs: run: cp "$BUNDLE_PATH" "artifacts/AboutLibraries-${GITHUB_REF_NAME}.intoto.jsonl" - name: Release - uses: mikepenz/action-gh-release@2a00e201320fb618d8e705a736286b2e31aa48e2 # v3 + uses: mikepenz/action-gh-release@7a1a2d94070db8d22681770f42cdb85a9c38d6ac # v3 with: body: ${{steps.github_release.outputs.changelog}} prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, '-b') || contains(github.ref, '-a') }} diff --git a/MIGRATION.md b/MIGRATION.md index 2631bebc6..577fb00cc 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -47,7 +47,7 @@ The styling knobs that used to be individual `LibrariesContainer` parameters are | `dimensions: LibraryDimensions` | `LibrariesStyle.dimensions` (`VariantDimensions`) via `LibraryDefaults.defaultVariantDimensions(...)` | | `textStyles: LibraryTextStyles` | `LibrariesStyle.textStyles` (`VariantTextStyles`) via `LibraryDefaults.m3VariantTextStyles(...)` / `defaultVariantTextStyles(...)` | | `shapes: LibraryShapes` | `LibrariesStyle.shapes` (`VariantShapes`) via `LibraryDefaults.defaultVariantShapes(...)` | -| `colors: LibraryColors` | Kept (chips + license dialog). Header / row / action chrome colors moved to `variantColors: VariantColors` via `LibraryDefaults.m3VariantColors(...)` / `m2VariantColors(...)` | +| `colors: LibraryColors` | Kept, but now only styles the **license dialog**. All list row colors — including the license chips — moved to `variantColors: VariantColors` via `LibraryDefaults.m3VariantColors(...)` / `m2VariantColors(...)` | | `libraryModifier`, `onFundingClick`, per-slot lambdas (`name`/`version`/`author`/…) | Replaced by `variant` / `actionMode` / `detailMode` enums and the `libraryRow` slot | > Note: `LibraryColors` and the legacy `LibraryDefaults.libraryColors()` / `libraryPadding()` / `libraryDimensions()` / `libraryTextStyles()` / `libraryShapes()` factories still @@ -83,7 +83,7 @@ LibrariesContainer( funding = false, description = false, ), - colors = LibraryDefaults.libraryColors(), // chips + license dialog (unchanged) + colors = LibraryDefaults.libraryColors(), // license dialog only variantColors = LibraryDefaults.m3VariantColors(), // header / row / action chrome variant = LibrariesVariant.Traditional, // or .Refined actionMode = LibraryActionMode.Chips, // or .Icons / .Links @@ -93,6 +93,17 @@ LibrariesContainer( ) ``` +**Keeping the v14 license chip colors:** v15 colors each license chip from its SPDX id via a `LicenseHueResolver` (tinted background + matching label). To restore the v14 look — one solid +color pair for every chip — disable the resolver and set the two license badge colors: + +```kotlin +variantColors = LibraryDefaults.m3VariantColors( + licenseHueResolver = LicenseHueResolver.None, + licenseBadgeContainer = MaterialTheme.colorScheme.primary, // v14 `licenseChipColors.containerColor` + licenseBadgeContent = MaterialTheme.colorScheme.onPrimary, // v14 `licenseChipColors.contentColor` +) +``` + **Customizing padding / dimensions / text styles / shapes:** the M2/M3 `LibrariesContainer` builds its `LibrariesStyle` internally and only exposes `variantColors`. For full control over the remaining tokens, use the Material-agnostic `Libraries` composable from `aboutlibraries-compose` and pass a `LibrariesStyle`: diff --git a/README.md b/README.md index 4adce84fe..fc2a9ba54 100644 --- a/README.md +++ b/README.md @@ -523,6 +523,35 @@ invoked from within the list item — which the `libraryRow` slot already provid full item visual: item animation, expanded background, the variant row, and the inline-detail expansion. +#### Static license chip colors + +Since v15 the license chips are colored *per license*: a `LicenseHueResolver` maps the SPDX id +(`Apache-2.0`, `MIT`, ...) to an accent-derived hue, drawn as a tinted background with matching +label. To turn that off and paint every license chip with one fixed color pair — the v14 look — +set `LicenseHueResolver.None` together with the two license badge colors: + +```kotlin +LibrariesContainer( + libraries = libraries, + modifier = Modifier.fillMaxSize(), + variantColors = LibraryDefaults.m3VariantColors( + // no per-license hue: also removes the colored dot / license tab tint in the Refined variant + licenseHueResolver = LicenseHueResolver.None, + // v14 default: solid `primary` chip with `onPrimary` label + licenseBadgeContainer = MaterialTheme.colorScheme.primary, + licenseBadgeContent = MaterialTheme.colorScheme.onPrimary, + ), +) +``` + +Both badge colors default to `Color.Unspecified`, which keeps the dynamic behavior. Set only +`licenseHueResolver = LicenseHueResolver.None` and the chip falls back to `actionFilledContainer` +at the same low-alpha tint — a neutral, still-tinted chip. + +> [!NOTE] +> `colors: LibraryColors` (`licenseChipColors`, ...) no longer feeds the list rows in v15 — it +> only styles the license dialog. Row chrome lives in `variantColors: VariantColors`. +

diff --git a/aboutlibraries-compose-m2/api/aboutlibraries-compose-m2.klib.api b/aboutlibraries-compose-m2/api/aboutlibraries-compose-m2.klib.api index 47653decd..feecbf2d7 100644 --- a/aboutlibraries-compose-m2/api/aboutlibraries-compose-m2.klib.api +++ b/aboutlibraries-compose-m2/api/aboutlibraries-compose-m2.klib.api @@ -10,7 +10,7 @@ final val com.mikepenz.aboutlibraries.ui.compose.style/DefaultM2LicenseHueResolv final fun (): com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver // com.mikepenz.aboutlibraries.ui.compose.style/DefaultM2LicenseHueResolver.|(){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/m2LibrariesStyle(kotlin/Boolean, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/LibrariesStyle // com.mikepenz.aboutlibraries.ui.compose.style/m2LibrariesStyle|m2LibrariesStyle@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(kotlin.Boolean;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] -final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/m2VariantColors(com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.style/m2VariantColors|m2VariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/m2VariantColors(com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.style/m2VariantColors|m2VariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/m2VariantTextStyles(androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantTextStyles // com.mikepenz.aboutlibraries.ui.compose.style/m2VariantTextStyles|m2VariantTextStyles@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose/chipColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose/ChipColors // com.mikepenz.aboutlibraries.ui.compose/chipColors|chipColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose/libraryColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose/LibraryColors // com.mikepenz.aboutlibraries.ui.compose/libraryColors|libraryColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] diff --git a/aboutlibraries-compose-m2/api/jvm/aboutlibraries-compose-m2.api b/aboutlibraries-compose-m2/api/jvm/aboutlibraries-compose-m2.api index 1f32da476..7510db930 100644 --- a/aboutlibraries-compose-m2/api/jvm/aboutlibraries-compose-m2.api +++ b/aboutlibraries-compose-m2/api/jvm/aboutlibraries-compose-m2.api @@ -31,7 +31,7 @@ public final class com/mikepenz/aboutlibraries/ui/compose/style/M2LibrariesStyle public final class com/mikepenz/aboutlibraries/ui/compose/style/M2VariantTokensKt { public static final fun getDefaultM2LicenseHueResolver ()Lcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver; - public static final fun m2VariantColors-qFui-Go (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Landroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; + public static final fun m2VariantColors-EQ6T93Q (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;JJLandroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; public static final fun m2VariantTextStyles (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;III)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantTextStyles; } diff --git a/aboutlibraries-compose-m2/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/M2VariantTokens.kt b/aboutlibraries-compose-m2/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/M2VariantTokens.kt index 9e55ae9d1..aaa5268d3 100644 --- a/aboutlibraries-compose-m2/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/M2VariantTokens.kt +++ b/aboutlibraries-compose-m2/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/M2VariantTokens.kt @@ -44,12 +44,15 @@ fun LibraryDefaults.m2VariantColors( sheetSurfaceVariant: Color = MaterialTheme.colors.surface, sheetDragHandle: Color = MaterialTheme.colors.onSurface.copy(alpha = 0.24f), licenseHueResolver: LicenseHueResolver = DefaultM2LicenseHueResolver.withPaletteFallback(defaultLicensePalette(isSystemInDarkTheme(), contrastLevel)), + licenseBadgeContainer: Color = Color.Unspecified, + licenseBadgeContent: Color = Color.Unspecified, ): VariantColors = remember( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, rowBackground, rowExpandedBackground, rowOnBackground, rowSubtleContent, rowDivider, actionFilledContainer, actionFilledContent, actionOutlineBorder, actionOutlineContent, actionLinkColor, tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, licenseHueResolver, contrastLevel, + licenseBadgeContainer, licenseBadgeContent, ) { DefaultVariantColors( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, @@ -58,6 +61,8 @@ fun LibraryDefaults.m2VariantColors( tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, licenseHueResolver, contrastLevel = contrastLevel, + licenseBadgeContainer = licenseBadgeContainer, + licenseBadgeContent = licenseBadgeContent, ) } diff --git a/aboutlibraries-compose-m3/api/aboutlibraries-compose-m3.klib.api b/aboutlibraries-compose-m3/api/aboutlibraries-compose-m3.klib.api index b8f335516..6a01027ed 100644 --- a/aboutlibraries-compose-m3/api/aboutlibraries-compose-m3.klib.api +++ b/aboutlibraries-compose-m3/api/aboutlibraries-compose-m3.klib.api @@ -16,7 +16,7 @@ final val com.mikepenz.aboutlibraries.ui.compose.m3.style/LightM3LicensePalette final fun (): kotlin.collections/Map // com.mikepenz.aboutlibraries.ui.compose.m3.style/LightM3LicensePalette.|(){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3.style/m3LibrariesStyle(kotlin/Boolean, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/LibrariesStyle // com.mikepenz.aboutlibraries.ui.compose.m3.style/m3LibrariesStyle|m3LibrariesStyle@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(kotlin.Boolean;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] -final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantColors(com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantColors|m3VariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantColors(com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantColors|m3VariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantTextStyles(androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.ui.text/TextStyle?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantTextStyles // com.mikepenz.aboutlibraries.ui.compose.m3.style/m3VariantTextStyles|m3VariantTextStyles@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.ui.text.TextStyle?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3/chipColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose/ChipColors // com.mikepenz.aboutlibraries.ui.compose.m3/chipColors|chipColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.m3/libraryColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, com.mikepenz.aboutlibraries.ui.compose/ChipColors?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose/LibraryColors // com.mikepenz.aboutlibraries.ui.compose.m3/libraryColors|libraryColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;com.mikepenz.aboutlibraries.ui.compose.ChipColors?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0] diff --git a/aboutlibraries-compose-m3/api/jvm/aboutlibraries-compose-m3.api b/aboutlibraries-compose-m3/api/jvm/aboutlibraries-compose-m3.api index 02e787c9d..1c75bf84e 100644 --- a/aboutlibraries-compose-m3/api/jvm/aboutlibraries-compose-m3.api +++ b/aboutlibraries-compose-m3/api/jvm/aboutlibraries-compose-m3.api @@ -41,7 +41,7 @@ public final class com/mikepenz/aboutlibraries/ui/compose/m3/style/M3VariantToke public static final fun getLightM3LicensePalette ()Ljava/util/Map; public static final fun m3LicenseHueResolver (Ljava/util/Map;)Lcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver; public static synthetic fun m3LicenseHueResolver$default (Ljava/util/Map;ILjava/lang/Object;)Lcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver; - public static final fun m3VariantColors-qFui-Go (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Landroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; + public static final fun m3VariantColors-EQ6T93Q (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;JJLandroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; public static final fun m3VariantTextStyles (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/ui/text/TextStyle;Landroidx/compose/runtime/Composer;III)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantTextStyles; } diff --git a/aboutlibraries-compose-m3/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/m3/style/M3VariantTokens.kt b/aboutlibraries-compose-m3/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/m3/style/M3VariantTokens.kt index f3526e400..48fe606c4 100644 --- a/aboutlibraries-compose-m3/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/m3/style/M3VariantTokens.kt +++ b/aboutlibraries-compose-m3/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/m3/style/M3VariantTokens.kt @@ -204,12 +204,15 @@ fun LibraryDefaults.m3VariantColors( sheetSurfaceVariant: Color = MaterialTheme.colorScheme.surfaceContainerHighest, sheetDragHandle: Color = MaterialTheme.colorScheme.outline.copy(alpha = 0.5f), licenseHueResolver: LicenseHueResolver = accentDerivedLicenseHueResolver(contrastLevel = contrastLevel), + licenseBadgeContainer: Color = Color.Unspecified, + licenseBadgeContent: Color = Color.Unspecified, ): VariantColors = remember( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, rowBackground, rowExpandedBackground, rowOnBackground, rowSubtleContent, rowDivider, actionFilledContainer, actionFilledContent, actionOutlineBorder, actionOutlineContent, actionLinkColor, tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, licenseHueResolver, contrastLevel, + licenseBadgeContainer, licenseBadgeContent, ) { DefaultVariantColors( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, @@ -218,6 +221,8 @@ fun LibraryDefaults.m3VariantColors( tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, licenseHueResolver, contrastLevel = contrastLevel, + licenseBadgeContainer = licenseBadgeContainer, + licenseBadgeContent = licenseBadgeContent, ) } diff --git a/aboutlibraries-compose/api/aboutlibraries-compose.klib.api b/aboutlibraries-compose/api/aboutlibraries-compose.klib.api index 06129f0fa..39e04f738 100644 --- a/aboutlibraries-compose/api/aboutlibraries-compose.klib.api +++ b/aboutlibraries-compose/api/aboutlibraries-compose.klib.api @@ -137,6 +137,10 @@ abstract interface com.mikepenz.aboutlibraries.ui.compose.style/VariantColors { abstract fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.tabIdleBackground.|(){}[0] abstract val tabIdleContent // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.tabIdleContent|{}tabIdleContent[0] abstract fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.tabIdleContent.|(){}[0] + open val licenseBadgeContainer // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.licenseBadgeContainer|{}licenseBadgeContainer[0] + open fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.licenseBadgeContainer.|(){}[0] + open val licenseBadgeContent // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.licenseBadgeContent|{}licenseBadgeContent[0] + open fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/VariantColors.licenseBadgeContent.|(){}[0] } abstract interface com.mikepenz.aboutlibraries.ui.compose.style/VariantDimensions { // com.mikepenz.aboutlibraries.ui.compose.style/VariantDimensions|null[0] @@ -337,7 +341,7 @@ abstract interface com.mikepenz.aboutlibraries.ui.compose/LibraryTextStyles { // } final class com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors : com.mikepenz.aboutlibraries.ui.compose.style/VariantColors { // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors|null[0] - constructor (androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver, com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel = ...) // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.|(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver;com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel){}[0] + constructor (androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver, com.mikepenz.aboutlibraries.ui.compose.style/ContrastLevel = ..., androidx.compose.ui.graphics/Color = ..., androidx.compose.ui.graphics/Color = ...) // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.|(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver;com.mikepenz.aboutlibraries.ui.compose.style.ContrastLevel;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color){}[0] final val actionFilledContainer // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.actionFilledContainer|{}actionFilledContainer[0] final fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.actionFilledContainer.|(){}[0] @@ -359,6 +363,10 @@ final class com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors : final fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.headerOnBackground.|(){}[0] final val headerSubtleContent // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.headerSubtleContent|{}headerSubtleContent[0] final fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.headerSubtleContent.|(){}[0] + final val licenseBadgeContainer // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseBadgeContainer|{}licenseBadgeContainer[0] + final fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseBadgeContainer.|(){}[0] + final val licenseBadgeContent // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseBadgeContent|{}licenseBadgeContent[0] + final fun (): androidx.compose.ui.graphics/Color // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseBadgeContent.|(){}[0] final val licenseHueResolver // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseHueResolver|{}licenseHueResolver[0] final fun (): com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.licenseHueResolver.|(){}[0] final val rowBackground // com.mikepenz.aboutlibraries.ui.compose.style/DefaultVariantColors.rowBackground|{}rowBackground[0] @@ -704,7 +712,7 @@ final val com.mikepenz.aboutlibraries.ui.compose/com_mikepenz_aboutlibraries_ui_ final fun (androidx.compose.foundation.lazy/LazyItemScope).com.mikepenz.aboutlibraries.ui.compose.variant/LibraryRow(com.mikepenz.aboutlibraries.entity/Library, kotlin/Boolean, kotlin/Function0, com.mikepenz.aboutlibraries.ui.compose.style/LibrariesStyle, androidx.compose.ui/Modifier?, com.mikepenz.aboutlibraries.ui.compose.variant/LibrariesVariant?, com.mikepenz.aboutlibraries.ui.compose.variant/LibrariesDensity?, com.mikepenz.aboutlibraries.ui.compose.variant/LibraryBadges?, androidx.compose.ui.graphics/Color, kotlin/Function3?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int) // com.mikepenz.aboutlibraries.ui.compose.variant/LibraryRow|LibraryRow@androidx.compose.foundation.lazy.LazyItemScope(com.mikepenz.aboutlibraries.entity.Library;kotlin.Boolean;kotlin.Function0;com.mikepenz.aboutlibraries.ui.compose.style.LibrariesStyle;androidx.compose.ui.Modifier?;com.mikepenz.aboutlibraries.ui.compose.variant.LibrariesVariant?;com.mikepenz.aboutlibraries.ui.compose.variant.LibrariesDensity?;com.mikepenz.aboutlibraries.ui.compose.variant.LibraryBadges?;androidx.compose.ui.graphics.Color;kotlin.Function3?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver).com.mikepenz.aboutlibraries.ui.compose.style/withPaletteFallback(kotlin.collections/List): com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver // com.mikepenz.aboutlibraries.ui.compose.style/withPaletteFallback|withPaletteFallback@com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver(kotlin.collections.List){}[0] -final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantColors|defaultVariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] +final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantColors(androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, com.mikepenz.aboutlibraries.ui.compose.style/LicenseHueResolver?, androidx.compose.ui.graphics/Color, androidx.compose.ui.graphics/Color, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int, kotlin/Int, kotlin/Int): com.mikepenz.aboutlibraries.ui.compose.style/VariantColors // com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantColors|defaultVariantColors@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver?;androidx.compose.ui.graphics.Color;androidx.compose.ui.graphics.Color;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int;kotlin.Int;kotlin.Int){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantDimensions(androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., kotlin/Float = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ...): com.mikepenz.aboutlibraries.ui.compose.style/VariantDimensions // com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantDimensions|defaultVariantDimensions@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;kotlin.Float;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantPadding(androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ..., androidx.compose.foundation.layout/PaddingValues = ...): com.mikepenz.aboutlibraries.ui.compose.style/VariantPadding // com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantPadding|defaultVariantPadding@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues;androidx.compose.ui.unit.Dp;androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues;androidx.compose.ui.unit.Dp;androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues;androidx.compose.foundation.layout.PaddingValues){}[0] final fun (com.mikepenz.aboutlibraries.ui.compose/LibraryDefaults).com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantShapes(androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ..., androidx.compose.ui.graphics/Shape = ...): com.mikepenz.aboutlibraries.ui.compose.style/VariantShapes // com.mikepenz.aboutlibraries.ui.compose.style/defaultVariantShapes|defaultVariantShapes@com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults(androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape;androidx.compose.ui.graphics.Shape){}[0] diff --git a/aboutlibraries-compose/api/jvm/aboutlibraries-compose.api b/aboutlibraries-compose/api/jvm/aboutlibraries-compose.api index 054fb7ef0..eac4cfbac 100644 --- a/aboutlibraries-compose/api/jvm/aboutlibraries-compose.api +++ b/aboutlibraries-compose/api/jvm/aboutlibraries-compose.api @@ -115,8 +115,8 @@ public final class com/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel : public final class com/mikepenz/aboutlibraries/ui/compose/style/DefaultVariantColors : com/mikepenz/aboutlibraries/ui/compose/style/VariantColors { public static final field $stable I - public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Lcom/mikepenz/aboutlibraries/ui/compose/style/ContrastLevel;JJLkotlin/jvm/internal/DefaultConstructorMarker;)V public fun getActionFilledContainer-0d7_KjU ()J public fun getActionFilledContent-0d7_KjU ()J public fun getActionLinkColor-0d7_KjU ()J @@ -127,6 +127,8 @@ public final class com/mikepenz/aboutlibraries/ui/compose/style/DefaultVariantCo public fun getHeaderDivider-0d7_KjU ()J public fun getHeaderOnBackground-0d7_KjU ()J public fun getHeaderSubtleContent-0d7_KjU ()J + public fun getLicenseBadgeContainer-0d7_KjU ()J + public fun getLicenseBadgeContent-0d7_KjU ()J public fun getLicenseHueResolver ()Lcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver; public fun getRowBackground-0d7_KjU ()J public fun getRowDivider-0d7_KjU ()J @@ -300,6 +302,8 @@ public abstract interface class com/mikepenz/aboutlibraries/ui/compose/style/Var public abstract fun getHeaderDivider-0d7_KjU ()J public abstract fun getHeaderOnBackground-0d7_KjU ()J public abstract fun getHeaderSubtleContent-0d7_KjU ()J + public fun getLicenseBadgeContainer-0d7_KjU ()J + public fun getLicenseBadgeContent-0d7_KjU ()J public abstract fun getLicenseHueResolver ()Lcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver; public abstract fun getRowBackground-0d7_KjU ()J public abstract fun getRowDivider-0d7_KjU ()J @@ -317,6 +321,11 @@ public abstract interface class com/mikepenz/aboutlibraries/ui/compose/style/Var public abstract fun getTabIdleContent-0d7_KjU ()J } +public final class com/mikepenz/aboutlibraries/ui/compose/style/VariantColors$DefaultImpls { + public static fun getLicenseBadgeContainer-0d7_KjU (Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors;)J + public static fun getLicenseBadgeContent-0d7_KjU (Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors;)J +} + public abstract interface class com/mikepenz/aboutlibraries/ui/compose/style/VariantDimensions { public abstract fun getActionIconInnerSize-D9Ej5fM ()F public abstract fun getActionIconSize-D9Ej5fM ()F @@ -382,7 +391,7 @@ public abstract interface class com/mikepenz/aboutlibraries/ui/compose/style/Var } public final class com/mikepenz/aboutlibraries/ui/compose/style/VariantTokensKt { - public static final fun defaultVariantColors-qJfrjvo (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;Landroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; + public static final fun defaultVariantColors-VYEDziw (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;JJJJJJJJJJJJJJJJJJJJJJJLcom/mikepenz/aboutlibraries/ui/compose/style/LicenseHueResolver;JJLandroidx/compose/runtime/Composer;IIII)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantColors; public static final fun defaultVariantDimensions-BbNTOh4 (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;FFFFFFFFFFFFFF)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantDimensions; public static synthetic fun defaultVariantDimensions-BbNTOh4$default (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;FFFFFFFFFFFFFFILjava/lang/Object;)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantDimensions; public static final fun defaultVariantPadding-jR4esIQ (Lcom/mikepenz/aboutlibraries/ui/compose/LibraryDefaults;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FLandroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;FLandroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;Landroidx/compose/foundation/layout/PaddingValues;)Lcom/mikepenz/aboutlibraries/ui/compose/style/VariantPadding; diff --git a/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/VariantTokens.kt b/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/VariantTokens.kt index bbb54013c..5b4d64f99 100644 --- a/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/VariantTokens.kt +++ b/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/style/VariantTokens.kt @@ -61,6 +61,18 @@ interface VariantColors { val licenseHueResolver: LicenseHueResolver val contrastLevel: ContrastLevel + + /** + * Overrides the license badge background. Unspecified keeps the default behaviour: the + * license hue (or [actionFilledContainer]) at a low alpha tint. + */ + val licenseBadgeContainer: Color get() = Color.Unspecified + + /** + * Overrides the license badge label color. Unspecified keeps the default behaviour: the + * license hue (or [actionFilledContent]). + */ + val licenseBadgeContent: Color get() = Color.Unspecified } @Immutable @@ -90,6 +102,8 @@ class DefaultVariantColors( override val sheetDragHandle: Color, override val licenseHueResolver: LicenseHueResolver, override val contrastLevel: ContrastLevel = ContrastLevel.Normal, + override val licenseBadgeContainer: Color = Color.Unspecified, + override val licenseBadgeContent: Color = Color.Unspecified, ) : VariantColors /** @@ -307,13 +321,15 @@ fun LibraryDefaults.defaultVariantColors( sheetSurfaceVariant: Color = Color.Unspecified, sheetDragHandle: Color = Color.Unspecified, licenseHueResolver: LicenseHueResolver = LicenseHueResolver.None, + licenseBadgeContainer: Color = Color.Unspecified, + licenseBadgeContent: Color = Color.Unspecified, ): VariantColors = remember( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, rowBackground, rowExpandedBackground, rowOnBackground, rowSubtleContent, rowDivider, actionFilledContainer, actionFilledContent, actionOutlineBorder, actionOutlineContent, actionLinkColor, tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, - licenseHueResolver, + licenseHueResolver, licenseBadgeContainer, licenseBadgeContent, ) { DefaultVariantColors( headerBackground, headerOnBackground, headerSubtleContent, headerDivider, @@ -322,6 +338,8 @@ fun LibraryDefaults.defaultVariantColors( tabIdleBackground, tabIdleContent, tabActiveBackground, tabActiveBorder, tabActiveContent, sheetScrim, sheetSurface, sheetSurfaceVariant, sheetDragHandle, licenseHueResolver, + licenseBadgeContainer = licenseBadgeContainer, + licenseBadgeContent = licenseBadgeContent, ) } diff --git a/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/variant/traditional/TraditionalRow.kt b/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/variant/traditional/TraditionalRow.kt index 87938a6bd..dc425abb9 100644 --- a/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/variant/traditional/TraditionalRow.kt +++ b/aboutlibraries-compose/src/commonMain/kotlin/com/mikepenz/aboutlibraries/ui/compose/variant/traditional/TraditionalRow.kt @@ -156,8 +156,9 @@ private fun LicenseBadge( ) { val onBg = colors.rowOnBackground.orFallback(Color.Black) val badgeAlpha = if (colors.contrastLevel == ContrastLevel.High) 0.22f else 0.15f - val container = (hue ?: colors.actionFilledContainer.orFallback(onBg)).copy(alpha = badgeAlpha) - val content = hue ?: colors.actionFilledContent.orFallback(onBg) + val container = colors.licenseBadgeContainer + .orFallback((hue ?: colors.actionFilledContainer.orFallback(onBg)).copy(alpha = badgeAlpha)) + val content = colors.licenseBadgeContent.orFallback(hue ?: colors.actionFilledContent.orFallback(onBg)) val borderMod = if (colors.contrastLevel == ContrastLevel.High) Modifier.border(1.dp, content.copy(alpha = 0.5f), shapes.licenseTokenShape) else Modifier diff --git a/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m2/M2SnapshotTests.kt b/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m2/M2SnapshotTests.kt index 49bcda9ce..c050973ff 100644 --- a/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m2/M2SnapshotTests.kt +++ b/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m2/M2SnapshotTests.kt @@ -18,6 +18,8 @@ import androidx.compose.ui.text.font.FontWeight import com.mikepenz.aboutlibraries.screenshot.fakeLibraries import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults +import com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver +import com.mikepenz.aboutlibraries.ui.compose.style.m2VariantColors import com.mikepenz.aboutlibraries.ui.compose.style.m2VariantTextStyles import com.mikepenz.aboutlibraries.ui.compose.variant.LibraryBadges @@ -55,6 +57,26 @@ fun PreviewLibrariesCustomTextStyles() = Theme { } } +/** + * The v14 look: static, solid `primary` license chips instead of the v15 accent-derived tint. + * Documented in the README under "Static license chip colors". + */ +@PreviewLightDark +@Composable +fun PreviewLibrariesStaticLicenseChips() = Theme { + Surface { + LibrariesContainer( + libraries = fakeLibraries, + modifier = Modifier.width(360.dp), + variantColors = LibraryDefaults.m2VariantColors( + licenseHueResolver = LicenseHueResolver.None, + licenseBadgeContainer = MaterialTheme.colors.primary, + licenseBadgeContent = MaterialTheme.colors.onPrimary, + ), + ) + } +} + @PreviewLightDark @Composable fun PreviewLibraryRTL() = Theme { diff --git a/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m3/M3SnapshotTests.kt b/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m3/M3SnapshotTests.kt index 95dd66a7e..c663428b6 100644 --- a/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m3/M3SnapshotTests.kt +++ b/sample/android/src/debug/kotlin/com/mikepenz/aboutlibraries/screenshot/m3/M3SnapshotTests.kt @@ -22,7 +22,9 @@ import androidx.compose.ui.text.font.FontWeight import com.mikepenz.aboutlibraries.screenshot.fakeLibraries import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer +import com.mikepenz.aboutlibraries.ui.compose.m3.style.m3VariantColors import com.mikepenz.aboutlibraries.ui.compose.m3.style.m3VariantTextStyles +import com.mikepenz.aboutlibraries.ui.compose.style.LicenseHueResolver import com.mikepenz.aboutlibraries.ui.compose.variant.LibraryBadges @Composable @@ -85,6 +87,26 @@ fun PreviewLibraryDetailSheet() = Theme { } } +/** + * The v14 look: static, solid `primary` license chips instead of the v15 accent-derived tint. + * Documented in the README under "Static license chip colors". + */ +@PreviewLightDark +@Composable +fun PreviewLibrariesStaticLicenseChips() = Theme { + Surface { + LibrariesContainer( + libraries = fakeLibraries, + modifier = Modifier.width(360.dp), + variantColors = LibraryDefaults.m3VariantColors( + licenseHueResolver = LicenseHueResolver.None, + licenseBadgeContainer = MaterialTheme.colorScheme.primary, + licenseBadgeContent = MaterialTheme.colorScheme.onPrimary, + ), + ) + } +} + @PreviewLightDark @Composable fun PreviewLibraryRTL() = Theme { diff --git a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png new file mode 100644 index 000000000..f02e74910 Binary files /dev/null and b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png differ diff --git a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.light.png b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.light.png new file mode 100644 index 000000000..49c20a889 Binary files /dev/null and b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m2.m2snapshottestskt.previewlibrariesstaticlicensechips.light.png differ diff --git a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png new file mode 100644 index 000000000..e64dfb703 Binary files /dev/null and b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.dark_night.png differ diff --git a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.light.png b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.light.png new file mode 100644 index 000000000..948205054 Binary files /dev/null and b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.m3.m3snapshottestskt.previewlibrariesstaticlicensechips.light.png differ diff --git "a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobiledark.sample_app_\302\267_mobile_\302\267_dark_night.png" "b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobiledark.sample_app_\302\267_mobile_\302\267_dark_night.png" index a9cc3aabe..553a61c54 100644 Binary files "a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobiledark.sample_app_\302\267_mobile_\302\267_dark_night.png" and "b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobiledark.sample_app_\302\267_mobile_\302\267_dark_night.png" differ diff --git "a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobilelight.sample_app_\302\267_mobile_\302\267_light.png" "b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobilelight.sample_app_\302\267_mobile_\302\267_light.png" index 7287a249c..375ce4a30 100644 Binary files "a/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobilelight.sample_app_\302\267_mobile_\302\267_light.png" and "b/sample/android/src/test/snapshots/images/Paparazzi_Preview_Test_com.mikepenz.aboutlibraries.screenshot.sampleapppreviewskt.previewsampleappmobilelight.sample_app_\302\267_mobile_\302\267_light.png" differ