@sig-ui/theme
v0.1.2
Published
Theme schema, defaults, and resolution for SigUI
Maintainers
Readme
@sig-ui/theme
Theme resolution layer for SigUI. Converts SiguiConfig into deterministic resolved values for build and runtime use.
What this package is for
Use @sig-ui/theme for:
- config defaults and normalization
- deterministic theme resolution (
resolveTheme) - semantic role mapping and preset resolution
- providing one canonical token source for tooling/runtime
How it fits in SigUI
core -> theme -> (dom, components)
- Built on
@sig-ui/core. - Supplies resolved values used by CLI generation/checks and runtime adaptation.
- Keeps design-decision logic out of component/runtime layers.
Install
bun add @sig-ui/themeQuick examples
import { mergeWithDefaults, resolveTheme } from "@sig-ui/theme";
const config = mergeWithDefaults({ brand: "#6366f1" });
const resolved = resolveTheme(config);
console.log(resolved.spacing.baseUnit);import { resolveTheme } from "@sig-ui/theme";
import { DEFAULT_DEVICE_CONTEXT } from "@sig-ui/core";
const resolved = resolveTheme({ brand: "#2563eb" }, DEFAULT_DEVICE_CONTEXT);Main API
mergeWithDefaults(config)resolveTheme(config, deviceContext?)- preset resolvers (
resolveShape,resolveDepth,resolveDensity,resolveMotion,resolveAppearance) - semantic helpers (
deriveDarkRoles,parseRoleMapping,generateSemanticTokenDeclarations)
Full docs
docs/ARCHITECTURE_OVERVIEW.mddocs/THEME.mddocs/CORE.md(upstream layer)docs/DOM.mdanddocs/COMPONENTS.md(downstream layers)
