theme-sosh

The OUDS Theme Sosh module provides the concrete implementation of the Sosh design system theme. It maps the abstract definitions from the Theme Contract to the specific Raw Tokens of the Sosh brand.

It serves as the "factory" that assembles the specific visual identity of Sosh.

Purpose

While the core module provides the mechanisms to access the theme, and theme-contract defines what a theme is, theme-sosh defines what the Sosh theme looks like.

  • Implementation: It implements the interfaces defined in theme-contract (OudsColorSemanticTokens, OudsFontSemanticTokens, etc.).

  • Mapping: It assigns specific values from Sosh raw tokens (e.g., ColorBlueDuckDark960) or global raw tokens (e.g., ColorFunctionalBlack) to semantic slots (e.g., bgPrimaryDark, contentDefaultLight).

Usage

To use the Sosh theme in your application, follow these steps:

1. Add the dependency

Ensure the theme-sosh module is included in your module's build.gradle.kts file in addition to the core module:

Kotlin DSL
dependencies {
// ...
implementation("com.orange.ouds.android:ouds-core:0.4.0")
implementation("com.orange.ouds.android:ouds-theme-sosh:0.4.0")
// ...
}

Groovy DSL
dependencies {
// ...
implementation 'com.orange.ouds.android:ouds-core:0.4.0'
implementation 'com.orange.ouds.android:ouds-theme-sosh:0.4.0'
// ...
}

2. Initialize the Theme

In your application, you must provide the SoshTheme instance to the OudsTheme composable. This effectively "injects" the Sosh visual style into the OUDS system.

Use OudsTheme as a replacement for the traditional MaterialTheme.

OudsTheme(theme = SoshTheme()) {
// Use OUDS Android or Material components here for an interface
// matching the Orange Unified Design System with the Sosh theme
}

Relationship with other modules

ModuleRoleAnalogy
global-raw-tokensThe Ingredients"Flour", "Sugar", "Chocolate"
theme-contractThe Recipe Template"A Cake Recipe"
theme-soshThe Specific Recipe"Sosh Special Cake Recipe"
coreThe Baker"Making the Sosh Cake available to eat"

Tokens versions

This module implements the design specifications versioned below:

Android system1.2.0
Sosh brand2.3.0
Sosh core1.2.0

🤖 Note: The majority of the files in this module (specifically within the tokens packages) are automatically generated by Tokenator based on the design definitions.

Any manual changes to these files will be lost during the next synchronization.

Packages

Link copied to clipboard

This package contains the core SoshTheme class, which acts as the bridge between the abstract contract and the concrete Sosh visual implementation used to configure the OudsTheme.

Link copied to clipboard

This package defines the fundamental, immutable values (such as specific hex codes and base dimensions) that constitute the raw ingredients of the Sosh brand identity.