Configuration
Composeum separates resolved config from override intent:
previewConfig { ... }builds a fullPreviewConfigpreviewConfigOverride { ... }expresses mergeable overrides
That split matters when multiple registries contribute behavior.
Global config
Section titled “Global config”val config = previewConfig { fontScale = 1.1f uiScale = 0.95f showDescriptions = true showTags = true thumbnailColumns = 3 groupExpansionMode = GroupExpansionMode.INLINE}Per-group overrides
Section titled “Per-group overrides”val config = previewConfig { groups { group(SampleGroup.Components::class) { thumbnailColumns = 2 } }}Per-preview overrides
Section titled “Per-preview overrides”val config = previewConfig { preview("tech.example.SampleGroup.Components/Profile Card") { showParamPanel = true params { string(key = "name", label = "Name", initial = "Jane Doe") boolean(key = "online", label = "Online", initial = true) } }}Useful per-preview knobs:
previewWrappershowParamPanelparamFormparams { ... }
Registry-local overrides
Section titled “Registry-local overrides”If you are building a registry manually, use registry-local config and include semantics:
val registry = buildRegistry { config { showDescriptions = false }}That override stays attached to the registry and composes when another registry includes it.