OudsThemeContract

An interface to create an OUDS supported theme.

Implementations of this interface define the look and feel of the application by providing specific token values (colors, typography, spacing, etc.). Any values not explicitly set will generally rely on abstract definitions, but typical implementations should provide full sets of tokens.

Properties

Link copied to clipboard

The collection of border-related tokens (width, radius, style) used in the theme.

Link copied to clipboard

The collection of semantic color tokens used in the theme.

Link copied to clipboard

Specific tokens for customizing the internal behavior or style of OUDS components.

Link copied to clipboard

Allows customization of drawable resources used explicitly by OUDS components.

Link copied to clipboard

The collection of visual effect tokens (e.g., blurs) used in the theme.

Link copied to clipboard

The collection of elevation tokens (z-index, shadows) used in the theme.

Link copied to clipboard

The font family used in the theme.

Link copied to clipboard

The collection of typography semantic tokens (font sizes, weights, line heights) used in the theme.

Link copied to clipboard

The collection of grid layout tokens used in the theme.

Link copied to clipboard

The mapping of OUDS tokens to standard Material 3 color roles. This ensures compatibility with standard Material components.

Link copied to clipboard
abstract val name: String

The display name of the theme (e.g., "Orange", "Sosh").

Link copied to clipboard

The collection of opacity tokens used in the theme.

Link copied to clipboard

The general settings for the theme configuration.

Link copied to clipboard

The collection of size tokens (icons, constraints) used in the theme.

Link copied to clipboard

The collection of spacing tokens (padding, margins, gaps) used in the theme.

Functions

Link copied to clipboard
abstract fun describeContents(): Int
Link copied to clipboard
abstract fun writeToParcel(p0: Parcel, p1: Int)