mana-kotlin-tokens/README.md
Till JS 627eed4e4c build: Maven-Registry till/maven -> mana/maven (Namespace-Vereinheitlichung)
Kotlin-Libs liegen jetzt in der Verein-Package-Registry git.mana.how/api/packages/mana/maven
(alle 10 Libs / 50 Versionen registry-zu-registry kopiert). Consumer- und
Publisher-URLs nachgezogen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:05:27 +02:00

1.9 KiB

mana-kotlin-tokens

Geteiltes Design-Token- und Theme-System für die nativen Android-Apps von mana Das Kotlin-Pendant zu den Tokens aus mana-swift-core (ManaTokens) und dem @mana/themes-Web-Paket — eine Quelle, drei Plattformen, pixelgleiche Farben (gleiche HSL→sRGB-Konvertierung, gleiche 21 Signatur-Variants, gleiche Slugs).

Was drin ist

  • ManaTheme — Enum der 21 Signatur-Variants (mana, paper, skylight, bodensee, …) mit Slug, Anzeige-Name, Charakter, Signatur-App und Theme-Pass-Freischalt-Logik.
  • ManaColors / ManaPalette — die 12 Vereins-Tokens (Light + Dark).
  • ManaAppTheme(theme, mode) { … } — der eine Theme-Wrapper für alle Apps. Verdrahtet die Variante in ein Material-3-ColorScheme und stellt die rohen Tokens über Mana.colors bereit (für surfaceHover, success, warning — die Tokens ohne Material-Slot).
  • Spacing / Radius / ManaTypography — Abstände, Radien, Typo-Skala.

Nutzung

settings.gradle.kts (mavenLocal zuerst, dann Forgejo — kein Credential nötig):

dependencyResolutionManagement {
    repositories {
        google(); mavenCentral(); mavenLocal()
        maven("https://git.mana.how/api/packages/mana/maven") {
            content { includeGroup("ev.mana") }
        }
    }
}

app/build.gradle.kts:

implementation("ev.mana:mana-kotlin-tokens:0.1.0")

App-Theme:

@Composable
fun WordeckTheme(mode: ManaThemeMode, content: @Composable () -> Unit) =
    ManaAppTheme(ManaTheme.SKYLIGHT, mode, content = content)   // Signatur-Variante

Im UI: Material-Slots über MaterialTheme.colorScheme.*, Extra-Tokens über Mana.colors.warning / .success / .surfaceHover.

Publish

./gradlew publish -PforgejoToken="$FORGEJO_TOKEN"

SOT der Flotte: mana/docs/playbooks/ANDROID_FLEET.md.