Foundations

Theming

Build a brand palette, support dark mode and switch themes at runtime.

SKColorScheme derives a full role set from a small number of seed colours, so a brand rollout is a handful of values rather than a spreadsheet of hex codes.

Theme.kt
val Brand = SKColorScheme.fromSeeds(
    primary = Color(0xFF4F46E5),
    accent = Color(0xFF06B6D4),
    neutral = Color(0xFF0B0F19)
)

SKTheme(colorScheme = Brand, dark = isSystemInDarkTheme()) { App() }

Runtime switching

Theme changes propagate through a CompositionLocal and only recompose the subtrees that read the changed token family.