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
abstract val borderTokens: OudsBorderSemanticTokens

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

Link copied to clipboard
abstract val colorTokens: OudsColorSemanticTokens

The collection of semantic color tokens used in the theme.

Link copied to clipboard
abstract val componentsTokens: OudsComponentsTokens

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
abstract val effectTokens: OudsEffectSemanticTokens

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

Link copied to clipboard
abstract val elevationTokens: OudsElevationSemanticTokens

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
abstract val fontTokens: OudsFontSemanticTokens

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

Link copied to clipboard
abstract val gridTokens: OudsGridSemanticTokens

The collection of grid layout tokens used in the theme.

Link copied to clipboard
abstract val materialColorTokens: OudsMaterialColorTokens

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
abstract val opacityTokens: OudsOpacitySemanticTokens

The collection of opacity tokens used in the theme.

Link copied to clipboard

The general settings for the theme configuration.

Link copied to clipboard
abstract val sizeTokens: OudsSizeSemanticTokens

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

Link copied to clipboard
abstract val spaceTokens: OudsSpaceSemanticTokens

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)