UNPKG

@teamsparta/stack-core

Version:
32 lines (30 loc) 861 B
// src/theme/utils/generateThemeStyles.ts import { mapColorTheme, populateCSSVariables, primitiveColor } from "@teamsparta/stack-tokens"; function generateThemeStyles(theme) { const currentSemanticColor = mapColorTheme(theme); const semanticColorTokens = populateCSSVariables( currentSemanticColor, "stack-semantic" ); const primitiveColorTokens = populateCSSVariables( primitiveColor, "stack-primitive" ); const semanticColorStyles = Object.entries(semanticColorTokens).map(([key, value]) => `${key}: ${value};`).join("\n"); const primitiveColorStyles = Object.entries(primitiveColorTokens).map(([key, value]) => `${key}: ${value};`).join("\n"); return ` [data-stack-color-theme="${theme}"] { ${semanticColorStyles} } :root { ${primitiveColorStyles} } `; } export { generateThemeStyles };