@phcdevworks/spectre-tokens 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +299 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +36 -6
- package/dist/index.d.cts +60 -6
- package/dist/index.d.ts +60 -6
- package/dist/index.js +299 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/tokens/core.json +134 -2
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../tokens/core.json","../src/css.ts"],"sourcesContent":["import coreTokens from '../tokens/core.json';\n\nimport { generateCssVariables } from './css';\nimport type { SpectreTokens, SpectreModeName, SpectreModeTokens, TailwindTheme, Tokens } from './types';\n\nexport type {\n TailwindTheme,\n Tokens,\n SpectreTokens,\n SpectreModeTokens,\n SpectreModeName,\n ColorScale,\n TokenScale,\n TypographyTokens,\n TransitionTokens,\n AccessibilityTokens,\n ButtonStateTokens,\n FormStateTokens,\n AnimationEntry\n} from './types';\n\nconst tokens: SpectreTokens = coreTokens as SpectreTokens;\n\nconst sanitizeFontFamily = (value: string): string[] =>\n value\n .split(',')\n .map((segment) => segment.trim().replace(/^['\"]|['\"]$/g, ''))\n .filter(Boolean);\n\nconst createTailwindTheme = (source: Tokens = tokens as Tokens): TailwindTheme => {\n const colors: TailwindTheme['colors'] = {};\n Object.entries(source.colors).forEach(([group, scale]) => {\n colors[group] = { ...scale };\n });\n\n const fontFamily = Object.entries(source.typography.families).reduce<Record<string, string[]>>((acc, [key, value]) => {\n acc[key] = sanitizeFontFamily(value);\n return acc;\n }, {});\n\n const fontSize = Object.entries(source.typography.scale).reduce<TailwindTheme['fontSize']>((acc, [key, entry]) => {\n acc[key] = [\n entry.fontSize,\n {\n lineHeight: entry.lineHeight,\n ...(entry.fontWeight ? { fontWeight: entry.fontWeight } : {}),\n ...(entry.letterSpacing ? { letterSpacing: entry.letterSpacing } : {})\n }\n ];\n return acc;\n }, {});\n\n return {\n colors,\n spacing: { ...source.spacing },\n borderRadius: { ...source.radii },\n fontFamily,\n fontSize,\n boxShadow: { ...source.shadows },\n screens: { ...source.breakpoints },\n zIndex: { ...source.zIndex },\n transitionDuration: { ...source.transitions.duration },\n transitionTimingFunction: { ...source.transitions.easing },\n opacity: { ...source.opacity }\n };\n};\n\nexport const tailwindTheme = createTailwindTheme(tokens as Tokens);\nexport const tailwindPreset = {\n theme: tailwindTheme\n};\n\nexport { tokens, generateCssVariables };\nexport default tokens;\n","{\n \"colors\": {\n \"brand\": {\n \"50\": \"#f5f0ff\",\n \"100\": \"#ebe2ff\",\n \"200\": \"#d7c6ff\",\n \"300\": \"#bfa1ff\",\n \"400\": \"#a37aff\",\n \"500\": \"#8652ff\",\n \"600\": \"#6c32e6\",\n \"700\": \"#5626b4\",\n \"800\": \"#3d1b7f\",\n \"900\": \"#241147\"\n },\n \"neutral\": {\n \"50\": \"#f8fafc\",\n \"100\": \"#f1f5f9\",\n \"200\": \"#e2e8f0\",\n \"300\": \"#cbd5f5\",\n \"400\": \"#94a3b8\",\n \"500\": \"#64748b\",\n \"600\": \"#475569\",\n \"700\": \"#334155\",\n \"800\": \"#1e293b\",\n \"900\": \"#0f172a\"\n },\n \"accent\": {\n \"50\": \"#e5fff8\",\n \"100\": \"#b8ffed\",\n \"200\": \"#89ffe1\",\n \"300\": \"#59ffd6\",\n \"400\": \"#29ffca\",\n \"500\": \"#03e6b3\",\n \"600\": \"#00b389\",\n \"700\": \"#008060\",\n \"800\": \"#004d38\",\n \"900\": \"#002a20\"\n },\n \"success\": {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#bbf7d0\",\n \"300\": \"#86efac\",\n \"400\": \"#4ade80\",\n \"500\": \"#22c55e\",\n \"600\": \"#16a34a\",\n \"700\": \"#15803d\",\n \"800\": \"#166534\",\n \"900\": \"#14532d\"\n },\n \"warning\": {\n \"50\": \"#fffbeb\",\n \"100\": \"#fef3c7\",\n \"200\": \"#fde68a\",\n \"300\": \"#fcd34d\",\n \"400\": \"#fbbf24\",\n \"500\": \"#f59e0b\",\n \"600\": \"#d97706\",\n \"700\": \"#b45309\",\n \"800\": \"#92400e\",\n \"900\": \"#78350f\"\n },\n \"error\": {\n \"50\": \"#fef2f2\",\n \"100\": \"#fee2e2\",\n \"200\": \"#fecaca\",\n \"300\": \"#fca5a5\",\n \"400\": \"#f87171\",\n \"500\": \"#ef4444\",\n \"600\": \"#dc2626\",\n \"700\": \"#b91c1c\",\n \"800\": \"#991b1b\",\n \"900\": \"#7f1d1d\"\n },\n \"info\": {\n \"50\": \"#eff6ff\",\n \"100\": \"#dbeafe\",\n \"200\": \"#bfdbfe\",\n \"300\": \"#93c5fd\",\n \"400\": \"#60a5fa\",\n \"500\": \"#3b82f6\",\n \"600\": \"#2563eb\",\n \"700\": \"#1d4ed8\",\n \"800\": \"#1e40af\",\n \"900\": \"#1e3a8a\"\n },\n \"focus\": {\n \"primary\": \"#8652ff\",\n \"error\": \"#ef4444\",\n \"info\": \"#3b82f6\"\n }\n },\n \"surface\": {\n \"page\": {\n \"value\": \"#f8fafc\",\n \"description\": \"primary app background\"\n },\n \"card\": {\n \"value\": \"#ffffff\",\n \"description\": \"containers and tiles\"\n },\n \"input\": {\n \"value\": \"#ffffff\",\n \"description\": \"form inputs, textareas\"\n },\n \"overlay\": {\n \"value\": \"rgba(15,23,42,0.6)\",\n \"description\": \"modals, dropdowns, flyouts\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"#0f172a\",\n \"muted\": \"#475569\",\n \"subtle\": \"#94a3b8\"\n },\n \"onSurface\": {\n \"default\": \"#0f172a\",\n \"muted\": \"#6b7280\",\n \"subtle\": \"#94a3b8\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"#0f172a\",\n \"textMuted\": \"#6b7280\"\n },\n \"input\": {\n \"text\": \"#0f172a\",\n \"placeholder\": \"#94a3b8\"\n },\n \"button\": {\n \"textDefault\": \"#0f172a\",\n \"textOnPrimary\": \"#ffffff\"\n }\n },\n \"modes\": {\n \"default\": {\n \"surface\": {\n \"page\": {\n \"value\": \"#f8fafc\"\n },\n \"card\": {\n \"value\": \"#ffffff\"\n },\n \"input\": {\n \"value\": \"#ffffff\"\n },\n \"overlay\": {\n \"value\": \"rgba(15,23,42,0.6)\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": {\n \"value\": \"#0f172a\"\n },\n \"muted\": {\n \"value\": \"#475569\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"onSurface\": {\n \"default\": {\n \"value\": \"#0f172a\"\n },\n \"muted\": {\n \"value\": \"#6b7280\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n }\n }\n },\n \"component\": {\n \"card\": {\n \"text\": {\n \"value\": \"#0f172a\"\n },\n \"textMuted\": {\n \"value\": \"#6b7280\"\n }\n },\n \"input\": {\n \"text\": {\n \"value\": \"#0f172a\"\n },\n \"placeholder\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"button\": {\n \"textDefault\": {\n \"value\": \"#0f172a\"\n },\n \"textOnPrimary\": {\n \"value\": \"#ffffff\"\n }\n }\n }\n },\n \"dark\": {\n \"surface\": {\n \"page\": {\n \"value\": \"#0f172a\"\n },\n \"card\": {\n \"value\": \"#1e293b\"\n },\n \"input\": {\n \"value\": \"#334155\"\n },\n \"overlay\": {\n \"value\": \"#1e293b\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": {\n \"value\": \"#f8fafc\"\n },\n \"muted\": {\n \"value\": \"#cbd5f5\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"onSurface\": {\n \"default\": {\n \"value\": \"#f1f5f9\"\n },\n \"muted\": {\n \"value\": \"#cbd5f5\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n }\n }\n },\n \"component\": {\n \"card\": {\n \"text\": {\n \"value\": \"#f1f5f9\"\n },\n \"textMuted\": {\n \"value\": \"#cbd5f5\"\n }\n },\n \"input\": {\n \"text\": {\n \"value\": \"#f1f5f9\"\n },\n \"placeholder\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"button\": {\n \"textDefault\": {\n \"value\": \"#f1f5f9\"\n },\n \"textOnPrimary\": {\n \"value\": \"#ffffff\"\n }\n }\n }\n }\n },\n \"opacity\": {\n \"disabled\": \"0.38\",\n \"hover\": \"0.92\",\n \"active\": \"0.84\",\n \"focus\": \"1\",\n \"overlay\": \"0.5\",\n \"tooltip\": \"0.95\"\n },\n \"accessibility\": {\n \"focusRing\": {\n \"width\": \"2px\",\n \"offset\": \"2px\",\n \"style\": \"solid\"\n },\n \"minTouchTarget\": \"44px\",\n \"minTextSize\": \"16px\"\n },\n \"buttons\": {\n \"primary\": {\n \"bg\": \"#8652ff\",\n \"bgHover\": \"#6c32e6\",\n \"bgActive\": \"#5626b4\",\n \"bgDisabled\": \"#cbd5f5\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"secondary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f1f5f9\",\n \"bgActive\": \"#e2e8f0\",\n \"bgDisabled\": \"#f8fafc\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\",\n \"border\": \"#8652ff\",\n \"borderDisabled\": \"#cbd5f5\"\n },\n \"ghost\": {\n \"bg\": \"transparent\",\n \"bgHover\": \"#f5f0ff\",\n \"bgActive\": \"#ebe2ff\",\n \"bgDisabled\": \"transparent\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"danger\": {\n \"bg\": \"#ef4444\",\n \"bgHover\": \"#dc2626\",\n \"bgActive\": \"#b91c1c\",\n \"bgDisabled\": \"#fecaca\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"success\": {\n \"bg\": \"#22c55e\",\n \"bgHover\": \"#16a34a\",\n \"bgActive\": \"#15803d\",\n \"bgDisabled\": \"#bbf7d0\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n }\n },\n \"forms\": {\n \"default\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#cbd5f5\",\n \"text\": \"#0f172a\",\n \"placeholder\": \"#94a3b8\"\n },\n \"hover\": {\n \"border\": \"#8652ff\"\n },\n \"focus\": {\n \"border\": \"#8652ff\",\n \"ring\": \"#8652ff\"\n },\n \"valid\": {\n \"border\": \"#22c55e\",\n \"bg\": \"#f0fdf4\",\n \"text\": \"#15803d\"\n },\n \"invalid\": {\n \"border\": \"#ef4444\",\n \"bg\": \"#fef2f2\",\n \"text\": \"#b91c1c\"\n },\n \"disabled\": {\n \"bg\": \"#f8fafc\",\n \"border\": \"#e2e8f0\",\n \"text\": \"#94a3b8\"\n }\n },\n \"spacing\": {\n \"none\": \"0rem\",\n \"3xs\": \"0.125rem\",\n \"2xs\": \"0.25rem\",\n \"xs\": \"0.5rem\",\n \"sm\": \"0.75rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\"\n },\n \"radii\": {\n \"none\": \"0\",\n \"sm\": \"2px\",\n \"md\": \"4px\",\n \"lg\": \"8px\",\n \"pill\": \"999px\"\n },\n \"borders\": {\n \"card\": \"#334155\",\n \"input\": \"#cbd5f5\"\n },\n \"typography\": {\n \"families\": {\n \"sans\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"serif\": \"'Spectre Serif', 'Georgia', serif\",\n \"mono\": \"'JetBrains Mono', 'SFMono-Regular', Consolas, monospace\"\n },\n \"scale\": {\n \"xs\": {\n \"fontSize\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"fontSize\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"fontWeight\": 400\n },\n \"md\": {\n \"fontSize\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"fontWeight\": 500\n },\n \"lg\": {\n \"fontSize\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"fontWeight\": 600\n },\n \"xl\": {\n \"fontSize\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"fontWeight\": 600\n },\n \"2xl\": {\n \"fontSize\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"fontWeight\": 700\n },\n \"3xl\": {\n \"fontSize\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"fontWeight\": 700\n }\n }\n },\n \"shadows\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(15, 23, 42, 0.08)\",\n \"md\": \"0 3px 8px -1px rgba(15, 23, 42, 0.1)\",\n \"lg\": \"0 8px 20px -4px rgba(15, 23, 42, 0.18)\"\n },\n \"breakpoints\": {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n },\n \"zIndex\": {\n \"base\": \"0\",\n \"dropdown\": \"1000\",\n \"sticky\": \"1100\",\n \"fixed\": \"1200\",\n \"overlay\": \"1300\",\n \"modal\": \"1400\",\n \"popover\": \"1500\",\n \"tooltip\": \"1600\"\n },\n \"transitions\": {\n \"duration\": {\n \"instant\": \"75ms\",\n \"fast\": \"150ms\",\n \"base\": \"200ms\",\n \"moderate\": \"300ms\",\n \"slow\": \"500ms\",\n \"slower\": \"700ms\"\n },\n \"easing\": {\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"inOut\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"spring\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n }\n },\n \"animations\": {\n \"fadeIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"fade-in\"\n },\n \"fadeOut\": {\n \"duration\": \"150ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"keyframes\": \"fade-out\"\n },\n \"slideUp\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-up\"\n },\n \"slideDown\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-down\"\n },\n \"scaleIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"scale-in\"\n },\n \"bounce\": {\n \"duration\": \"500ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"bounce\"\n },\n \"shake\": {\n \"duration\": \"400ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"shake\"\n },\n \"pulse\": {\n \"duration\": \"1500ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"pulse\"\n }\n }\n}\n","import type { CssVariableMap, CssVariableOptions, SpectreTokens, Tokens } from './types';\n\nconst DEFAULT_PREFIX = 'sp';\nexport const DEFAULT_SELECTOR = ':root';\n\nconst formatKey = (segment: string): string =>\n segment\n .replace(/[^a-z0-9]+/gi, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase();\n\nconst toVariableName = (prefix: string, ...parts: string[]): string => {\n const filtered = parts.filter(Boolean).map(formatKey);\n return `--${prefix}-${filtered.join('-')}`;\n};\n\nexport const createCssVariableMap = (tokens: Tokens, options: CssVariableOptions = {}): CssVariableMap => {\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const map: CssVariableMap = {};\n\n const assign = (name: string, value: string | number | undefined) => {\n if (value === undefined) return;\n map[name] = String(value);\n };\n\n Object.entries(tokens.colors).forEach(([group, scale]) => {\n Object.entries(scale).forEach(([step, value]) => {\n assign(toVariableName(prefix, 'color', group, step), value);\n });\n });\n\n Object.entries(tokens.spacing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'space', key), value);\n });\n\n Object.entries(tokens.radii).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'radius', key), value);\n });\n\n Object.entries(tokens.typography.families).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'font-family', key), value);\n });\n\n Object.entries(tokens.typography.scale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.fontSize);\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight);\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.fontWeight);\n assign(toVariableName(prefix, 'font', key, 'letter-spacing'), entry.letterSpacing);\n });\n\n Object.entries(tokens.shadows).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'shadow', key), value);\n });\n\n Object.entries(tokens.breakpoints).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'breakpoint', key), value);\n });\n\n Object.entries(tokens.zIndex).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'z-index', key), value);\n });\n\n Object.entries(tokens.transitions.duration).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'duration', key), value);\n });\n\n Object.entries(tokens.transitions.easing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'easing', key), value);\n });\n\n Object.entries(tokens.opacity).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'opacity', key), value);\n });\n\n // Accessibility tokens\n assign(toVariableName(prefix, 'focus-ring-width'), tokens.accessibility.focusRing.width);\n assign(toVariableName(prefix, 'focus-ring-offset'), tokens.accessibility.focusRing.offset);\n assign(toVariableName(prefix, 'focus-ring-style'), tokens.accessibility.focusRing.style);\n assign(toVariableName(prefix, 'min-touch-target'), tokens.accessibility.minTouchTarget);\n assign(toVariableName(prefix, 'min-text-size'), tokens.accessibility.minTextSize);\n\n // Button tokens\n Object.entries(tokens.buttons).forEach(([variant, states]) => {\n Object.entries(states).forEach(([state, value]) => {\n assign(toVariableName(prefix, 'button', variant, state), value);\n });\n });\n\n // Form tokens\n Object.entries(tokens.forms).forEach(([state, properties]) => {\n Object.entries(properties).forEach(([prop, value]) => {\n if (value) assign(toVariableName(prefix, 'form', state, prop), value);\n });\n });\n\n // Animation tokens\n Object.entries(tokens.animations).forEach(([name, animation]) => {\n assign(toVariableName(prefix, 'animation', name, 'duration'), animation.duration);\n assign(toVariableName(prefix, 'animation', name, 'easing'), animation.easing);\n assign(toVariableName(prefix, 'animation', name, 'keyframes'), animation.keyframes);\n });\n\n return map;\n};\n\nconst resolveSemanticValue = (value: unknown): string | undefined => {\n if (typeof value === 'string' || typeof value === 'number') return String(value);\n if (value && typeof value === 'object' && 'value' in (value as Record<string, unknown>)) {\n return String((value as Record<string, unknown>).value);\n }\n return undefined;\n};\n\nconst getPath = (source: unknown, path: string[]): unknown =>\n path.reduce<unknown>((acc, key) => (acc && typeof acc === 'object' ? (acc as Record<string, unknown>)[key] : undefined), source);\n\nconst pickSemantic = (...candidates: unknown[]): string | undefined => {\n for (const candidate of candidates) {\n const resolved = resolveSemanticValue(candidate);\n if (resolved !== undefined) return resolved;\n }\n return undefined;\n};\n\nexport const generateCssVariables = (tokens: SpectreTokens, options: CssVariableOptions = {}): string => {\n const selector = options.selector ?? DEFAULT_SELECTOR;\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const declarations = createCssVariableMap(tokens as unknown as Tokens, { ...options, prefix });\n const mapLines = Object.entries(declarations).map(([name, value]) => ` ${name}: ${value};`);\n\n const defaultMode = tokens.modes?.default ?? {};\n const darkMode = tokens.modes?.dark ?? {};\n const surfaceAliases = tokens.surface ?? {};\n const textAliases = tokens.text ?? {};\n const componentAliases = tokens.component ?? {};\n\n const baseLines: string[] = [];\n const addBase = (name: string, value?: string) => {\n if (value !== undefined) baseLines.push(` ${name}: ${value};`);\n };\n\n addBase(toVariableName(prefix, 'surface', 'page'), pickSemantic(getPath(defaultMode, ['surface', 'page']), getPath(surfaceAliases, ['page'])));\n addBase(toVariableName(prefix, 'surface', 'card'), pickSemantic(getPath(defaultMode, ['surface', 'card']), getPath(surfaceAliases, ['card'])));\n addBase(toVariableName(prefix, 'surface', 'input'), pickSemantic(getPath(defaultMode, ['surface', 'input']), getPath(surfaceAliases, ['input'])));\n addBase(toVariableName(prefix, 'surface', 'overlay'), pickSemantic(getPath(defaultMode, ['surface', 'overlay']), getPath(surfaceAliases, ['overlay'])));\n\n addBase(toVariableName(prefix, 'text', 'on', 'page', 'default'), pickSemantic(getPath(defaultMode, ['text', 'onPage', 'default']), getPath(textAliases, ['onPage', 'default'])));\n addBase(toVariableName(prefix, 'text', 'on', 'page', 'muted'), pickSemantic(getPath(defaultMode, ['text', 'onPage', 'muted']), getPath(textAliases, ['onPage', 'muted'])));\n addBase(toVariableName(prefix, 'text', 'on', 'surface', 'default'), pickSemantic(getPath(defaultMode, ['text', 'onSurface', 'default']), getPath(textAliases, ['onSurface', 'default'])));\n addBase(toVariableName(prefix, 'text', 'on', 'surface', 'muted'), pickSemantic(getPath(defaultMode, ['text', 'onSurface', 'muted']), getPath(textAliases, ['onSurface', 'muted'])));\n\n addBase(toVariableName(prefix, 'component', 'card', 'text'), pickSemantic(getPath(defaultMode, ['component', 'card', 'text']), getPath(componentAliases, ['card', 'text'])));\n addBase(toVariableName(prefix, 'component', 'card', 'text-muted'), pickSemantic(getPath(defaultMode, ['component', 'card', 'textMuted']), getPath(componentAliases, ['card', 'textMuted'])));\n addBase(toVariableName(prefix, 'component', 'input', 'text'), pickSemantic(getPath(defaultMode, ['component', 'input', 'text']), getPath(componentAliases, ['input', 'text'])));\n addBase(toVariableName(prefix, 'component', 'input', 'placeholder'), pickSemantic(getPath(defaultMode, ['component', 'input', 'placeholder']), getPath(componentAliases, ['input', 'placeholder'])));\n addBase(toVariableName(prefix, 'button', 'text', 'default'), pickSemantic(getPath(defaultMode, ['component', 'button', 'textDefault']), getPath(componentAliases, ['button', 'textDefault'])));\n addBase(toVariableName(prefix, 'button', 'text', 'on', 'primary'), pickSemantic(getPath(defaultMode, ['component', 'button', 'textOnPrimary']), getPath(componentAliases, ['button', 'textOnPrimary'])));\n\n const rootLines = [...baseLines, ...mapLines];\n\n const darkLines: string[] = [];\n const addDark = (name: string, value?: string) => {\n if (value !== undefined) darkLines.push(` ${name}: ${value};`);\n };\n\n addDark(\n toVariableName(prefix, 'surface', 'page'),\n pickSemantic(getPath(darkMode, ['surface', 'page']), getPath(defaultMode, ['surface', 'page']), getPath(surfaceAliases, ['page']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'card'),\n pickSemantic(getPath(darkMode, ['surface', 'card']), getPath(defaultMode, ['surface', 'card']), getPath(surfaceAliases, ['card']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'input'),\n pickSemantic(getPath(darkMode, ['surface', 'input']), getPath(defaultMode, ['surface', 'input']), getPath(surfaceAliases, ['input']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'overlay'),\n pickSemantic(getPath(darkMode, ['surface', 'overlay']), getPath(defaultMode, ['surface', 'overlay']), getPath(surfaceAliases, ['overlay']))\n );\n\n addDark(\n toVariableName(prefix, 'text', 'on', 'page', 'default'),\n pickSemantic(\n getPath(darkMode, ['text', 'onPage', 'default']),\n getPath(defaultMode, ['text', 'onPage', 'default']),\n getPath(textAliases, ['onPage', 'default'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'page', 'muted'),\n pickSemantic(\n getPath(darkMode, ['text', 'onPage', 'muted']),\n getPath(defaultMode, ['text', 'onPage', 'muted']),\n getPath(textAliases, ['onPage', 'muted'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'surface', 'default'),\n pickSemantic(\n getPath(darkMode, ['text', 'onSurface', 'default']),\n getPath(defaultMode, ['text', 'onSurface', 'default']),\n getPath(textAliases, ['onSurface', 'default'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'surface', 'muted'),\n pickSemantic(\n getPath(darkMode, ['text', 'onSurface', 'muted']),\n getPath(defaultMode, ['text', 'onSurface', 'muted']),\n getPath(textAliases, ['onSurface', 'muted'])\n )\n );\n\n addDark(\n toVariableName(prefix, 'component', 'card', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'card', 'text']),\n getPath(defaultMode, ['component', 'card', 'text']),\n getPath(componentAliases, ['card', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'card', 'text-muted'),\n pickSemantic(\n getPath(darkMode, ['component', 'card', 'textMuted']),\n getPath(defaultMode, ['component', 'card', 'textMuted']),\n getPath(componentAliases, ['card', 'textMuted'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'input', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'input', 'text']),\n getPath(defaultMode, ['component', 'input', 'text']),\n getPath(componentAliases, ['input', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'input', 'placeholder'),\n pickSemantic(\n getPath(darkMode, ['component', 'input', 'placeholder']),\n getPath(defaultMode, ['component', 'input', 'placeholder']),\n getPath(componentAliases, ['input', 'placeholder'])\n )\n );\n addDark(\n toVariableName(prefix, 'button', 'text', 'default'),\n pickSemantic(\n getPath(darkMode, ['component', 'button', 'textDefault']),\n getPath(defaultMode, ['component', 'button', 'textDefault']),\n getPath(componentAliases, ['button', 'textDefault'])\n )\n );\n addDark(\n toVariableName(prefix, 'button', 'text', 'on', 'primary'),\n pickSemantic(\n getPath(darkMode, ['component', 'button', 'textOnPrimary']),\n getPath(defaultMode, ['component', 'button', 'textOnPrimary']),\n getPath(componentAliases, ['button', 'textOnPrimary'])\n )\n );\n\n const rootBlock = `${selector} {\\n${rootLines.join('\\n')}\\n}`;\n const darkBlock = `${selector}[data-spectre-theme=\"dark\"] {\\n${darkLines.join('\\n')}\\n}`;\n\n return `${rootBlock}\\n${darkBlock}\\n`;\n};\n"],"mappings":"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","names":["tokens"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../tokens/core.json","../src/css.ts"],"sourcesContent":["import coreTokens from '../tokens/core.json';\n\nimport { generateCssVariables } from './css';\nimport type { SpectreTokens, SpectreModeName, SpectreModeTokens, TailwindTheme, Tokens } from './types';\n\nexport type {\n TailwindTheme,\n Tokens,\n SpectreTokens,\n SpectreModeTokens,\n SpectreModeName,\n ColorScale,\n TokenScale,\n TypographyTokens,\n TransitionTokens,\n AccessibilityTokens,\n ButtonStateTokens,\n FormStateTokens,\n AnimationEntry\n} from './types';\n\nconst tokens: SpectreTokens = coreTokens as SpectreTokens;\n\nconst sanitizeFontFamily = (value: string): string[] =>\n value\n .split(',')\n .map((segment) => segment.trim().replace(/^['\"]|['\"]$/g, ''))\n .filter(Boolean);\n\nconst createTailwindTheme = (source: Tokens = tokens as Tokens): TailwindTheme => {\n const colors: TailwindTheme['colors'] = {};\n Object.entries(source.colors).forEach(([group, scale]) => {\n colors[group] = { ...scale };\n });\n\n const fontFamily = Object.entries(source.typography.families).reduce<Record<string, string[]>>((acc, [key, value]) => {\n acc[key] = sanitizeFontFamily(value);\n return acc;\n }, {});\n\n const fontSize = Object.entries(source.typography.scale).reduce<TailwindTheme['fontSize']>((acc, [key, entry]) => {\n acc[key] = [\n entry.fontSize,\n {\n lineHeight: entry.lineHeight,\n ...(entry.fontWeight ? { fontWeight: entry.fontWeight } : {}),\n ...(entry.letterSpacing ? { letterSpacing: entry.letterSpacing } : {})\n }\n ];\n return acc;\n }, {});\n\n return {\n colors,\n spacing: { ...source.spacing },\n borderRadius: { ...source.radii },\n fontFamily,\n fontSize,\n boxShadow: { ...source.shadows },\n screens: { ...source.breakpoints },\n zIndex: { ...source.zIndex },\n transitionDuration: { ...source.transitions.duration },\n transitionTimingFunction: { ...source.transitions.easing },\n opacity: { ...source.opacity }\n };\n};\n\nexport const tailwindTheme = createTailwindTheme(tokens as Tokens);\nexport const tailwindPreset = {\n theme: tailwindTheme\n};\n\nexport { tokens, generateCssVariables };\nexport default tokens;\n","{\n \"colors\": {\n \"brand\": {\n \"50\": \"#f5f0ff\",\n \"100\": \"#ebe2ff\",\n \"200\": \"#d7c6ff\",\n \"300\": \"#bfa1ff\",\n \"400\": \"#a37aff\",\n \"500\": \"#8652ff\",\n \"600\": \"#6c32e6\",\n \"700\": \"#5626b4\",\n \"800\": \"#3d1b7f\",\n \"900\": \"#241147\"\n },\n \"neutral\": {\n \"50\": \"#f8fafc\",\n \"100\": \"#f1f5f9\",\n \"200\": \"#e2e8f0\",\n \"300\": \"#cbd5f5\",\n \"400\": \"#94a3b8\",\n \"500\": \"#64748b\",\n \"600\": \"#475569\",\n \"700\": \"#334155\",\n \"800\": \"#1e293b\",\n \"900\": \"#0f172a\"\n },\n \"accent\": {\n \"50\": \"#e5fff8\",\n \"100\": \"#b8ffed\",\n \"200\": \"#89ffe1\",\n \"300\": \"#59ffd6\",\n \"400\": \"#29ffca\",\n \"500\": \"#03e6b3\",\n \"600\": \"#00b389\",\n \"700\": \"#008060\",\n \"800\": \"#004d38\",\n \"900\": \"#002a20\"\n },\n \"success\": {\n \"50\": \"#f0fdf4\",\n \"100\": \"#dcfce7\",\n \"200\": \"#bbf7d0\",\n \"300\": \"#86efac\",\n \"400\": \"#4ade80\",\n \"500\": \"#22c55e\",\n \"600\": \"#16a34a\",\n \"700\": \"#15803d\",\n \"800\": \"#166534\",\n \"900\": \"#14532d\"\n },\n \"warning\": {\n \"50\": \"#fffbeb\",\n \"100\": \"#fef3c7\",\n \"200\": \"#fde68a\",\n \"300\": \"#fcd34d\",\n \"400\": \"#fbbf24\",\n \"500\": \"#f59e0b\",\n \"600\": \"#d97706\",\n \"700\": \"#b45309\",\n \"800\": \"#92400e\",\n \"900\": \"#78350f\"\n },\n \"error\": {\n \"50\": \"#fef2f2\",\n \"100\": \"#fee2e2\",\n \"200\": \"#fecaca\",\n \"300\": \"#fca5a5\",\n \"400\": \"#f87171\",\n \"500\": \"#ef4444\",\n \"600\": \"#dc2626\",\n \"700\": \"#b91c1c\",\n \"800\": \"#991b1b\",\n \"900\": \"#7f1d1d\"\n },\n \"info\": {\n \"50\": \"#eff6ff\",\n \"100\": \"#dbeafe\",\n \"200\": \"#bfdbfe\",\n \"300\": \"#93c5fd\",\n \"400\": \"#60a5fa\",\n \"500\": \"#3b82f6\",\n \"600\": \"#2563eb\",\n \"700\": \"#1d4ed8\",\n \"800\": \"#1e40af\",\n \"900\": \"#1e3a8a\"\n },\n \"focus\": {\n \"primary\": \"#8652ff\",\n \"error\": \"#ef4444\",\n \"info\": \"#3b82f6\"\n }\n },\n \"surface\": {\n \"page\": {\n \"value\": \"#f8fafc\",\n \"description\": \"primary app background\"\n },\n \"card\": {\n \"value\": \"#ffffff\",\n \"description\": \"containers and tiles\"\n },\n \"input\": {\n \"value\": \"#ffffff\",\n \"description\": \"form inputs, textareas\"\n },\n \"overlay\": {\n \"value\": \"rgba(15,23,42,0.6)\",\n \"description\": \"modals, dropdowns, flyouts\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": \"#0f172a\",\n \"muted\": \"#475569\",\n \"subtle\": \"#94a3b8\",\n \"meta\": \"#94a3b8\"\n },\n \"onSurface\": {\n \"default\": \"#0f172a\",\n \"muted\": \"#6b7280\",\n \"subtle\": \"#94a3b8\",\n \"meta\": \"#94a3b8\"\n }\n },\n \"component\": {\n \"card\": {\n \"text\": \"#0f172a\",\n \"textMuted\": \"#6b7280\"\n },\n \"input\": {\n \"text\": \"#0f172a\",\n \"placeholder\": \"#94a3b8\"\n },\n \"button\": {\n \"textDefault\": \"#0f172a\",\n \"textOnPrimary\": \"#ffffff\"\n },\n \"badge\": {\n \"primary\": {\n \"bg\": \"#8652ff\",\n \"text\": \"#0f172a\"\n },\n \"success\": {\n \"bg\": \"#22c55e\",\n \"text\": \"#0f172a\"\n },\n \"warning\": {\n \"bg\": \"#f59e0b\",\n \"text\": \"#0f172a\"\n },\n \"danger\": {\n \"bg\": \"#ef4444\",\n \"text\": \"#0f172a\"\n }\n }\n },\n \"modes\": {\n \"default\": {\n \"surface\": {\n \"page\": {\n \"value\": \"#f8fafc\"\n },\n \"card\": {\n \"value\": \"#ffffff\"\n },\n \"input\": {\n \"value\": \"#ffffff\"\n },\n \"overlay\": {\n \"value\": \"rgba(15,23,42,0.6)\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": {\n \"value\": \"#0f172a\"\n },\n \"muted\": {\n \"value\": \"#475569\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n },\n \"meta\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"onSurface\": {\n \"default\": {\n \"value\": \"#0f172a\"\n },\n \"muted\": {\n \"value\": \"#6b7280\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n },\n \"meta\": {\n \"value\": \"#94a3b8\"\n }\n }\n },\n \"component\": {\n \"card\": {\n \"text\": {\n \"value\": \"#0f172a\"\n },\n \"textMuted\": {\n \"value\": \"#6b7280\"\n }\n },\n \"input\": {\n \"text\": {\n \"value\": \"#0f172a\"\n },\n \"placeholder\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"button\": {\n \"textDefault\": {\n \"value\": \"#0f172a\"\n },\n \"textOnPrimary\": {\n \"value\": \"#ffffff\"\n }\n },\n \"badge\": {\n \"primary\": {\n \"bg\": {\n \"value\": \"#8652ff\"\n },\n \"text\": {\n \"value\": \"#0f172a\"\n }\n },\n \"success\": {\n \"bg\": {\n \"value\": \"#22c55e\"\n },\n \"text\": {\n \"value\": \"#0f172a\"\n }\n },\n \"warning\": {\n \"bg\": {\n \"value\": \"#f59e0b\"\n },\n \"text\": {\n \"value\": \"#0f172a\"\n }\n },\n \"danger\": {\n \"bg\": {\n \"value\": \"#ef4444\"\n },\n \"text\": {\n \"value\": \"#0f172a\"\n }\n }\n }\n }\n },\n \"dark\": {\n \"surface\": {\n \"page\": {\n \"value\": \"#0f172a\"\n },\n \"card\": {\n \"value\": \"#1e293b\"\n },\n \"input\": {\n \"value\": \"#334155\"\n },\n \"overlay\": {\n \"value\": \"#1e293b\"\n }\n },\n \"text\": {\n \"onPage\": {\n \"default\": {\n \"value\": \"#f8fafc\"\n },\n \"muted\": {\n \"value\": \"#cbd5f5\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n },\n \"meta\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"onSurface\": {\n \"default\": {\n \"value\": \"#f1f5f9\"\n },\n \"muted\": {\n \"value\": \"#cbd5f5\"\n },\n \"subtle\": {\n \"value\": \"#94a3b8\"\n },\n \"meta\": {\n \"value\": \"#94a3b8\"\n }\n }\n },\n \"component\": {\n \"card\": {\n \"text\": {\n \"value\": \"#f1f5f9\"\n },\n \"textMuted\": {\n \"value\": \"#cbd5f5\"\n }\n },\n \"input\": {\n \"text\": {\n \"value\": \"#f1f5f9\"\n },\n \"placeholder\": {\n \"value\": \"#94a3b8\"\n }\n },\n \"button\": {\n \"textDefault\": {\n \"value\": \"#f1f5f9\"\n },\n \"textOnPrimary\": {\n \"value\": \"#ffffff\"\n }\n },\n \"badge\": {\n \"primary\": {\n \"bg\": {\n \"value\": \"#8652ff\"\n },\n \"text\": {\n \"value\": \"#f1f5f9\"\n }\n },\n \"success\": {\n \"bg\": {\n \"value\": \"#22c55e\"\n },\n \"text\": {\n \"value\": \"#f1f5f9\"\n }\n },\n \"warning\": {\n \"bg\": {\n \"value\": \"#f59e0b\"\n },\n \"text\": {\n \"value\": \"#f1f5f9\"\n }\n },\n \"danger\": {\n \"bg\": {\n \"value\": \"#ef4444\"\n },\n \"text\": {\n \"value\": \"#f1f5f9\"\n }\n }\n }\n }\n }\n },\n \"opacity\": {\n \"disabled\": \"0.38\",\n \"hover\": \"0.92\",\n \"active\": \"0.84\",\n \"focus\": \"1\",\n \"overlay\": \"0.5\",\n \"tooltip\": \"0.95\"\n },\n \"accessibility\": {\n \"focusRing\": {\n \"width\": \"2px\",\n \"offset\": \"2px\",\n \"style\": \"solid\"\n },\n \"minTouchTarget\": \"44px\",\n \"minTextSize\": \"16px\"\n },\n \"buttons\": {\n \"primary\": {\n \"bg\": \"#8652ff\",\n \"bgHover\": \"#6c32e6\",\n \"bgActive\": \"#5626b4\",\n \"bgDisabled\": \"#cbd5f5\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"secondary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f1f5f9\",\n \"bgActive\": \"#e2e8f0\",\n \"bgDisabled\": \"#f8fafc\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\",\n \"border\": \"#8652ff\",\n \"borderDisabled\": \"#cbd5f5\"\n },\n \"ghost\": {\n \"bg\": \"transparent\",\n \"bgHover\": \"#f5f0ff\",\n \"bgActive\": \"#ebe2ff\",\n \"bgDisabled\": \"transparent\",\n \"text\": \"#8652ff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"danger\": {\n \"bg\": \"#ef4444\",\n \"bgHover\": \"#dc2626\",\n \"bgActive\": \"#b91c1c\",\n \"bgDisabled\": \"#fecaca\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n },\n \"success\": {\n \"bg\": \"#22c55e\",\n \"bgHover\": \"#16a34a\",\n \"bgActive\": \"#15803d\",\n \"bgDisabled\": \"#bbf7d0\",\n \"text\": \"#ffffff\",\n \"textDisabled\": \"#94a3b8\"\n }\n },\n \"forms\": {\n \"default\": {\n \"bg\": \"#ffffff\",\n \"border\": \"#cbd5f5\",\n \"text\": \"#0f172a\",\n \"placeholder\": \"#94a3b8\"\n },\n \"hover\": {\n \"border\": \"#8652ff\"\n },\n \"focus\": {\n \"border\": \"#8652ff\",\n \"ring\": \"#8652ff\"\n },\n \"valid\": {\n \"border\": \"#22c55e\",\n \"bg\": \"#f0fdf4\",\n \"text\": \"#15803d\"\n },\n \"invalid\": {\n \"border\": \"#ef4444\",\n \"bg\": \"#fef2f2\",\n \"text\": \"#b91c1c\"\n },\n \"disabled\": {\n \"bg\": \"#f8fafc\",\n \"border\": \"#e2e8f0\",\n \"text\": \"#94a3b8\"\n }\n },\n \"spacing\": {\n \"none\": \"0rem\",\n \"3xs\": \"0.125rem\",\n \"2xs\": \"0.25rem\",\n \"xs\": \"0.5rem\",\n \"sm\": \"0.75rem\",\n \"md\": \"1rem\",\n \"lg\": \"1.5rem\",\n \"xl\": \"2rem\",\n \"2xl\": \"3rem\",\n \"3xl\": \"4rem\"\n },\n \"radii\": {\n \"none\": \"0\",\n \"sm\": \"2px\",\n \"md\": \"4px\",\n \"lg\": \"8px\",\n \"pill\": \"999px\"\n },\n \"borders\": {\n \"card\": \"#334155\",\n \"input\": \"#cbd5f5\"\n },\n \"font\": {\n \"xs\": {\n \"size\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"weight\": 400\n },\n \"sm\": {\n \"size\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"weight\": 400\n },\n \"md\": {\n \"size\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"weight\": 500\n },\n \"lg\": {\n \"size\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"weight\": 500\n },\n \"xl\": {\n \"size\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"weight\": 600\n },\n \"2xl\": {\n \"size\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"weight\": 600\n }\n },\n \"typography\": {\n \"families\": {\n \"sans\": \"'Inter', 'Helvetica Neue', Arial, sans-serif\",\n \"serif\": \"'Spectre Serif', 'Georgia', serif\",\n \"mono\": \"'JetBrains Mono', 'SFMono-Regular', Consolas, monospace\"\n },\n \"scale\": {\n \"xs\": {\n \"fontSize\": \"0.75rem\",\n \"lineHeight\": \"1.25rem\",\n \"fontWeight\": 400,\n \"letterSpacing\": \"0.02em\"\n },\n \"sm\": {\n \"fontSize\": \"0.875rem\",\n \"lineHeight\": \"1.5rem\",\n \"fontWeight\": 400\n },\n \"md\": {\n \"fontSize\": \"1rem\",\n \"lineHeight\": \"1.75rem\",\n \"fontWeight\": 500\n },\n \"lg\": {\n \"fontSize\": \"1.25rem\",\n \"lineHeight\": \"2rem\",\n \"fontWeight\": 600\n },\n \"xl\": {\n \"fontSize\": \"1.5rem\",\n \"lineHeight\": \"2.125rem\",\n \"fontWeight\": 600\n },\n \"2xl\": {\n \"fontSize\": \"1.875rem\",\n \"lineHeight\": \"2.5rem\",\n \"fontWeight\": 700\n },\n \"3xl\": {\n \"fontSize\": \"2.25rem\",\n \"lineHeight\": \"2.75rem\",\n \"fontWeight\": 700\n }\n }\n },\n \"shadows\": {\n \"none\": \"none\",\n \"sm\": \"0 1px 2px 0 rgba(15, 23, 42, 0.08)\",\n \"md\": \"0 3px 8px -1px rgba(15, 23, 42, 0.1)\",\n \"lg\": \"0 8px 20px -4px rgba(15, 23, 42, 0.18)\"\n },\n \"breakpoints\": {\n \"sm\": \"640px\",\n \"md\": \"768px\",\n \"lg\": \"1024px\",\n \"xl\": \"1280px\",\n \"2xl\": \"1536px\"\n },\n \"zIndex\": {\n \"base\": \"0\",\n \"dropdown\": \"1000\",\n \"sticky\": \"1100\",\n \"fixed\": \"1200\",\n \"overlay\": \"1300\",\n \"modal\": \"1400\",\n \"popover\": \"1500\",\n \"tooltip\": \"1600\"\n },\n \"transitions\": {\n \"duration\": {\n \"instant\": \"75ms\",\n \"fast\": \"150ms\",\n \"base\": \"200ms\",\n \"moderate\": \"300ms\",\n \"slow\": \"500ms\",\n \"slower\": \"700ms\"\n },\n \"easing\": {\n \"linear\": \"linear\",\n \"in\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"out\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"inOut\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"spring\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\n }\n },\n \"animations\": {\n \"fadeIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"fade-in\"\n },\n \"fadeOut\": {\n \"duration\": \"150ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 1, 1)\",\n \"keyframes\": \"fade-out\"\n },\n \"slideUp\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-up\"\n },\n \"slideDown\": {\n \"duration\": \"300ms\",\n \"easing\": \"cubic-bezier(0, 0, 0.2, 1)\",\n \"keyframes\": \"slide-down\"\n },\n \"scaleIn\": {\n \"duration\": \"200ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"scale-in\"\n },\n \"bounce\": {\n \"duration\": \"500ms\",\n \"easing\": \"cubic-bezier(0.34, 1.56, 0.64, 1)\",\n \"keyframes\": \"bounce\"\n },\n \"shake\": {\n \"duration\": \"400ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"shake\"\n },\n \"pulse\": {\n \"duration\": \"1500ms\",\n \"easing\": \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"keyframes\": \"pulse\"\n }\n }\n}\n","import type { CssVariableMap, CssVariableOptions, SpectreTokens, Tokens } from './types';\n\nconst DEFAULT_PREFIX = 'sp';\nexport const DEFAULT_SELECTOR = ':root';\n\nconst formatKey = (segment: string): string =>\n segment\n .replace(/[^a-z0-9]+/gi, '-')\n .replace(/^-+|-+$/g, '')\n .toLowerCase();\n\nconst toVariableName = (prefix: string, ...parts: string[]): string => {\n const filtered = parts.filter(Boolean).map(formatKey);\n return `--${prefix}-${filtered.join('-')}`;\n};\n\nexport const createCssVariableMap = (tokens: SpectreTokens, options: CssVariableOptions = {}): CssVariableMap => {\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const map: CssVariableMap = {};\n const baseTokens = tokens as unknown as Tokens;\n\n const assign = (name: string, value: string | number | undefined) => {\n if (value === undefined) return;\n map[name] = String(value);\n };\n\n Object.entries(baseTokens.colors).forEach(([group, scale]) => {\n Object.entries(scale).forEach(([step, value]) => {\n assign(toVariableName(prefix, 'color', group, step), value);\n });\n });\n\n Object.entries(baseTokens.spacing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'space', key), value);\n });\n\n Object.entries(baseTokens.radii).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'radius', key), value);\n });\n\n Object.entries(baseTokens.typography.families).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'font-family', key), value);\n });\n\n const typographyScale = baseTokens.typography?.scale ?? {};\n const fontScale = baseTokens.font;\n\n if (fontScale && Object.keys(fontScale).length > 0) {\n Object.entries(fontScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.size);\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight);\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.weight);\n });\n } else {\n Object.entries(typographyScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'size'), entry.fontSize);\n assign(toVariableName(prefix, 'font', key, 'line-height'), entry.lineHeight);\n assign(toVariableName(prefix, 'font', key, 'weight'), entry.fontWeight);\n });\n }\n\n Object.entries(typographyScale).forEach(([key, entry]) => {\n assign(toVariableName(prefix, 'font', key, 'letter-spacing'), entry.letterSpacing);\n });\n\n assign(toVariableName(prefix, 'text', 'on', 'page', 'default'), tokens.text.onPage.default);\n assign(toVariableName(prefix, 'text', 'on', 'page', 'muted'), tokens.text.onPage.muted);\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'default'), tokens.text.onSurface.default);\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'muted'), tokens.text.onSurface.muted);\n assign(toVariableName(prefix, 'text', 'on', 'surface', 'meta'), tokens.text.onSurface.meta);\n\n const badge = tokens.component?.badge;\n if (badge) {\n assign(toVariableName(prefix, 'badge', 'primary', 'bg'), badge.primary.bg);\n assign(toVariableName(prefix, 'badge', 'primary', 'text'), badge.primary.text);\n assign(toVariableName(prefix, 'badge', 'success', 'bg'), badge.success.bg);\n assign(toVariableName(prefix, 'badge', 'success', 'text'), badge.success.text);\n assign(toVariableName(prefix, 'badge', 'warning', 'bg'), badge.warning.bg);\n assign(toVariableName(prefix, 'badge', 'warning', 'text'), badge.warning.text);\n assign(toVariableName(prefix, 'badge', 'danger', 'bg'), badge.danger.bg);\n assign(toVariableName(prefix, 'badge', 'danger', 'text'), badge.danger.text);\n }\n\n Object.entries(baseTokens.shadows).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'shadow', key), value);\n });\n\n Object.entries(baseTokens.breakpoints).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'breakpoint', key), value);\n });\n\n Object.entries(baseTokens.zIndex).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'z-index', key), value);\n });\n\n Object.entries(baseTokens.transitions.duration).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'duration', key), value);\n });\n\n Object.entries(baseTokens.transitions.easing).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'easing', key), value);\n });\n\n Object.entries(baseTokens.opacity).forEach(([key, value]) => {\n assign(toVariableName(prefix, 'opacity', key), value);\n });\n\n // Accessibility tokens\n assign(toVariableName(prefix, 'focus-ring-width'), baseTokens.accessibility.focusRing.width);\n assign(toVariableName(prefix, 'focus-ring-offset'), baseTokens.accessibility.focusRing.offset);\n assign(toVariableName(prefix, 'focus-ring-style'), baseTokens.accessibility.focusRing.style);\n assign(toVariableName(prefix, 'min-touch-target'), baseTokens.accessibility.minTouchTarget);\n assign(toVariableName(prefix, 'min-text-size'), baseTokens.accessibility.minTextSize);\n\n // Button tokens\n Object.entries(baseTokens.buttons).forEach(([variant, states]) => {\n Object.entries(states).forEach(([state, value]) => {\n assign(toVariableName(prefix, 'button', variant, state), value);\n });\n });\n\n // Form tokens\n Object.entries(baseTokens.forms).forEach(([state, properties]) => {\n Object.entries(properties).forEach(([prop, value]) => {\n if (value) assign(toVariableName(prefix, 'form', state, prop), value);\n });\n });\n\n // Animation tokens\n Object.entries(baseTokens.animations).forEach(([name, animation]) => {\n assign(toVariableName(prefix, 'animation', name, 'duration'), animation.duration);\n assign(toVariableName(prefix, 'animation', name, 'easing'), animation.easing);\n assign(toVariableName(prefix, 'animation', name, 'keyframes'), animation.keyframes);\n });\n\n return map;\n};\n\nconst resolveSemanticValue = (value: unknown): string | undefined => {\n if (typeof value === 'string' || typeof value === 'number') return String(value);\n if (value && typeof value === 'object' && 'value' in (value as Record<string, unknown>)) {\n return String((value as Record<string, unknown>).value);\n }\n return undefined;\n};\n\nconst getPath = (source: unknown, path: string[]): unknown =>\n path.reduce<unknown>((acc, key) => (acc && typeof acc === 'object' ? (acc as Record<string, unknown>)[key] : undefined), source);\n\nconst pickSemantic = (...candidates: unknown[]): string | undefined => {\n for (const candidate of candidates) {\n const resolved = resolveSemanticValue(candidate);\n if (resolved !== undefined) return resolved;\n }\n return undefined;\n};\n\nexport const generateCssVariables = (tokens: SpectreTokens, options: CssVariableOptions = {}): string => {\n const selector = options.selector ?? DEFAULT_SELECTOR;\n const prefix = options.prefix ?? DEFAULT_PREFIX;\n const declarations = createCssVariableMap(tokens, { ...options, prefix });\n const mapLines = Object.entries(declarations).map(([name, value]) => ` ${name}: ${value};`);\n\n const defaultMode = tokens.modes?.default ?? {};\n const darkMode = tokens.modes?.dark ?? {};\n const surfaceAliases = tokens.surface ?? {};\n const textAliases = tokens.text ?? {};\n const componentAliases = tokens.component ?? {};\n\n const baseLines: string[] = [];\n const addBase = (name: string, value?: string) => {\n if (value !== undefined) baseLines.push(` ${name}: ${value};`);\n };\n\n addBase(toVariableName(prefix, 'surface', 'page'), pickSemantic(getPath(defaultMode, ['surface', 'page']), getPath(surfaceAliases, ['page'])));\n addBase(toVariableName(prefix, 'surface', 'card'), pickSemantic(getPath(defaultMode, ['surface', 'card']), getPath(surfaceAliases, ['card'])));\n addBase(toVariableName(prefix, 'surface', 'input'), pickSemantic(getPath(defaultMode, ['surface', 'input']), getPath(surfaceAliases, ['input'])));\n addBase(toVariableName(prefix, 'surface', 'overlay'), pickSemantic(getPath(defaultMode, ['surface', 'overlay']), getPath(surfaceAliases, ['overlay'])));\n\n addBase(toVariableName(prefix, 'text', 'on', 'page', 'default'), pickSemantic(getPath(defaultMode, ['text', 'onPage', 'default']), getPath(textAliases, ['onPage', 'default'])));\n addBase(toVariableName(prefix, 'text', 'on', 'page', 'muted'), pickSemantic(getPath(defaultMode, ['text', 'onPage', 'muted']), getPath(textAliases, ['onPage', 'muted'])));\n addBase(toVariableName(prefix, 'text', 'on', 'page', 'meta'), pickSemantic(getPath(defaultMode, ['text', 'onPage', 'meta']), getPath(textAliases, ['onPage', 'meta'])));\n addBase(toVariableName(prefix, 'text', 'on', 'surface', 'default'), pickSemantic(getPath(defaultMode, ['text', 'onSurface', 'default']), getPath(textAliases, ['onSurface', 'default'])));\n addBase(toVariableName(prefix, 'text', 'on', 'surface', 'muted'), pickSemantic(getPath(defaultMode, ['text', 'onSurface', 'muted']), getPath(textAliases, ['onSurface', 'muted'])));\n addBase(toVariableName(prefix, 'text', 'on', 'surface', 'meta'), pickSemantic(getPath(defaultMode, ['text', 'onSurface', 'meta']), getPath(textAliases, ['onSurface', 'meta'])));\n\n addBase(toVariableName(prefix, 'component', 'card', 'text'), pickSemantic(getPath(defaultMode, ['component', 'card', 'text']), getPath(componentAliases, ['card', 'text'])));\n addBase(toVariableName(prefix, 'component', 'card', 'text-muted'), pickSemantic(getPath(defaultMode, ['component', 'card', 'textMuted']), getPath(componentAliases, ['card', 'textMuted'])));\n addBase(toVariableName(prefix, 'component', 'input', 'text'), pickSemantic(getPath(defaultMode, ['component', 'input', 'text']), getPath(componentAliases, ['input', 'text'])));\n addBase(toVariableName(prefix, 'component', 'input', 'placeholder'), pickSemantic(getPath(defaultMode, ['component', 'input', 'placeholder']), getPath(componentAliases, ['input', 'placeholder'])));\n addBase(toVariableName(prefix, 'button', 'text', 'default'), pickSemantic(getPath(defaultMode, ['component', 'button', 'textDefault']), getPath(componentAliases, ['button', 'textDefault'])));\n addBase(toVariableName(prefix, 'button', 'text', 'on', 'primary'), pickSemantic(getPath(defaultMode, ['component', 'button', 'textOnPrimary']), getPath(componentAliases, ['button', 'textOnPrimary'])));\n addBase(\n toVariableName(prefix, 'badge', 'primary', 'bg'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'primary', 'bg']), getPath(componentAliases, ['badge', 'primary', 'bg']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'primary', 'text'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'primary', 'text']), getPath(componentAliases, ['badge', 'primary', 'text']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'success', 'bg'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'success', 'bg']), getPath(componentAliases, ['badge', 'success', 'bg']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'success', 'text'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'success', 'text']), getPath(componentAliases, ['badge', 'success', 'text']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'warning', 'bg'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'warning', 'bg']), getPath(componentAliases, ['badge', 'warning', 'bg']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'warning', 'text'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'warning', 'text']), getPath(componentAliases, ['badge', 'warning', 'text']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'danger', 'bg'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'danger', 'bg']), getPath(componentAliases, ['badge', 'danger', 'bg']))\n );\n addBase(\n toVariableName(prefix, 'badge', 'danger', 'text'),\n pickSemantic(getPath(defaultMode, ['component', 'badge', 'danger', 'text']), getPath(componentAliases, ['badge', 'danger', 'text']))\n );\n\n const rootLines = [...baseLines, ...mapLines];\n\n const darkLines: string[] = [];\n const addDark = (name: string, value?: string) => {\n if (value !== undefined) darkLines.push(` ${name}: ${value};`);\n };\n\n addDark(\n toVariableName(prefix, 'surface', 'page'),\n pickSemantic(getPath(darkMode, ['surface', 'page']), getPath(defaultMode, ['surface', 'page']), getPath(surfaceAliases, ['page']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'card'),\n pickSemantic(getPath(darkMode, ['surface', 'card']), getPath(defaultMode, ['surface', 'card']), getPath(surfaceAliases, ['card']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'input'),\n pickSemantic(getPath(darkMode, ['surface', 'input']), getPath(defaultMode, ['surface', 'input']), getPath(surfaceAliases, ['input']))\n );\n addDark(\n toVariableName(prefix, 'surface', 'overlay'),\n pickSemantic(getPath(darkMode, ['surface', 'overlay']), getPath(defaultMode, ['surface', 'overlay']), getPath(surfaceAliases, ['overlay']))\n );\n\n addDark(\n toVariableName(prefix, 'text', 'on', 'page', 'default'),\n pickSemantic(\n getPath(darkMode, ['text', 'onPage', 'default']),\n getPath(defaultMode, ['text', 'onPage', 'default']),\n getPath(textAliases, ['onPage', 'default'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'page', 'muted'),\n pickSemantic(\n getPath(darkMode, ['text', 'onPage', 'muted']),\n getPath(defaultMode, ['text', 'onPage', 'muted']),\n getPath(textAliases, ['onPage', 'muted'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'page', 'meta'),\n pickSemantic(\n getPath(darkMode, ['text', 'onPage', 'meta']),\n getPath(defaultMode, ['text', 'onPage', 'meta']),\n getPath(textAliases, ['onPage', 'meta'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'surface', 'default'),\n pickSemantic(\n getPath(darkMode, ['text', 'onSurface', 'default']),\n getPath(defaultMode, ['text', 'onSurface', 'default']),\n getPath(textAliases, ['onSurface', 'default'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'surface', 'muted'),\n pickSemantic(\n getPath(darkMode, ['text', 'onSurface', 'muted']),\n getPath(defaultMode, ['text', 'onSurface', 'muted']),\n getPath(textAliases, ['onSurface', 'muted'])\n )\n );\n addDark(\n toVariableName(prefix, 'text', 'on', 'surface', 'meta'),\n pickSemantic(\n getPath(darkMode, ['text', 'onSurface', 'meta']),\n getPath(defaultMode, ['text', 'onSurface', 'meta']),\n getPath(textAliases, ['onSurface', 'meta'])\n )\n );\n\n addDark(\n toVariableName(prefix, 'component', 'card', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'card', 'text']),\n getPath(defaultMode, ['component', 'card', 'text']),\n getPath(componentAliases, ['card', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'card', 'text-muted'),\n pickSemantic(\n getPath(darkMode, ['component', 'card', 'textMuted']),\n getPath(defaultMode, ['component', 'card', 'textMuted']),\n getPath(componentAliases, ['card', 'textMuted'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'input', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'input', 'text']),\n getPath(defaultMode, ['component', 'input', 'text']),\n getPath(componentAliases, ['input', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'component', 'input', 'placeholder'),\n pickSemantic(\n getPath(darkMode, ['component', 'input', 'placeholder']),\n getPath(defaultMode, ['component', 'input', 'placeholder']),\n getPath(componentAliases, ['input', 'placeholder'])\n )\n );\n addDark(\n toVariableName(prefix, 'button', 'text', 'default'),\n pickSemantic(\n getPath(darkMode, ['component', 'button', 'textDefault']),\n getPath(defaultMode, ['component', 'button', 'textDefault']),\n getPath(componentAliases, ['button', 'textDefault'])\n )\n );\n addDark(\n toVariableName(prefix, 'button', 'text', 'on', 'primary'),\n pickSemantic(\n getPath(darkMode, ['component', 'button', 'textOnPrimary']),\n getPath(defaultMode, ['component', 'button', 'textOnPrimary']),\n getPath(componentAliases, ['button', 'textOnPrimary'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'primary', 'bg'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'primary', 'bg']),\n getPath(defaultMode, ['component', 'badge', 'primary', 'bg']),\n getPath(componentAliases, ['badge', 'primary', 'bg'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'primary', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'primary', 'text']),\n getPath(defaultMode, ['component', 'badge', 'primary', 'text']),\n getPath(componentAliases, ['badge', 'primary', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'success', 'bg'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'success', 'bg']),\n getPath(defaultMode, ['component', 'badge', 'success', 'bg']),\n getPath(componentAliases, ['badge', 'success', 'bg'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'success', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'success', 'text']),\n getPath(defaultMode, ['component', 'badge', 'success', 'text']),\n getPath(componentAliases, ['badge', 'success', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'warning', 'bg'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'warning', 'bg']),\n getPath(defaultMode, ['component', 'badge', 'warning', 'bg']),\n getPath(componentAliases, ['badge', 'warning', 'bg'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'warning', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'warning', 'text']),\n getPath(defaultMode, ['component', 'badge', 'warning', 'text']),\n getPath(componentAliases, ['badge', 'warning', 'text'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'danger', 'bg'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'danger', 'bg']),\n getPath(defaultMode, ['component', 'badge', 'danger', 'bg']),\n getPath(componentAliases, ['badge', 'danger', 'bg'])\n )\n );\n addDark(\n toVariableName(prefix, 'badge', 'danger', 'text'),\n pickSemantic(\n getPath(darkMode, ['component', 'badge', 'danger', 'text']),\n getPath(defaultMode, ['component', 'badge', 'danger', 'text']),\n getPath(componentAliases, ['badge', 'danger', 'text'])\n )\n );\n\n const rootBlock = `${selector} {\\n${rootLines.join('\\n')}\\n}`;\n const darkBlock = `${selector}[data-spectre-theme=\"dark\"] {\\n${darkLines.join('\\n')}\\n}`;\n\n return `${rootBlock}\\n${darkBlock}\\n`;\n};\n"],"mappings":"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","names":["tokens"]}
|
package/dist/index.css
CHANGED
|
@@ -5,14 +5,24 @@
|
|
|
5
5
|
--sp-surface-overlay: rgba(15,23,42,0.6);
|
|
6
6
|
--sp-text-on-page-default: #0f172a;
|
|
7
7
|
--sp-text-on-page-muted: #475569;
|
|
8
|
+
--sp-text-on-page-meta: #94a3b8;
|
|
8
9
|
--sp-text-on-surface-default: #0f172a;
|
|
9
10
|
--sp-text-on-surface-muted: #6b7280;
|
|
11
|
+
--sp-text-on-surface-meta: #94a3b8;
|
|
10
12
|
--sp-component-card-text: #0f172a;
|
|
11
13
|
--sp-component-card-text-muted: #6b7280;
|
|
12
14
|
--sp-component-input-text: #0f172a;
|
|
13
15
|
--sp-component-input-placeholder: #94a3b8;
|
|
14
16
|
--sp-button-text-default: #0f172a;
|
|
15
17
|
--sp-button-text-on-primary: #ffffff;
|
|
18
|
+
--sp-badge-primary-bg: #8652ff;
|
|
19
|
+
--sp-badge-primary-text: #0f172a;
|
|
20
|
+
--sp-badge-success-bg: #22c55e;
|
|
21
|
+
--sp-badge-success-text: #0f172a;
|
|
22
|
+
--sp-badge-warning-bg: #f59e0b;
|
|
23
|
+
--sp-badge-warning-text: #0f172a;
|
|
24
|
+
--sp-badge-danger-bg: #ef4444;
|
|
25
|
+
--sp-badge-danger-text: #0f172a;
|
|
16
26
|
--sp-color-brand-50: #f5f0ff;
|
|
17
27
|
--sp-color-brand-100: #ebe2ff;
|
|
18
28
|
--sp-color-brand-200: #d7c6ff;
|
|
@@ -107,7 +117,6 @@
|
|
|
107
117
|
--sp-font-xs-size: 0.75rem;
|
|
108
118
|
--sp-font-xs-line-height: 1.25rem;
|
|
109
119
|
--sp-font-xs-weight: 400;
|
|
110
|
-
--sp-font-xs-letter-spacing: 0.02em;
|
|
111
120
|
--sp-font-sm-size: 0.875rem;
|
|
112
121
|
--sp-font-sm-line-height: 1.5rem;
|
|
113
122
|
--sp-font-sm-weight: 400;
|
|
@@ -116,16 +125,27 @@
|
|
|
116
125
|
--sp-font-md-weight: 500;
|
|
117
126
|
--sp-font-lg-size: 1.25rem;
|
|
118
127
|
--sp-font-lg-line-height: 2rem;
|
|
119
|
-
--sp-font-lg-weight:
|
|
128
|
+
--sp-font-lg-weight: 500;
|
|
120
129
|
--sp-font-xl-size: 1.5rem;
|
|
121
130
|
--sp-font-xl-line-height: 2.125rem;
|
|
122
131
|
--sp-font-xl-weight: 600;
|
|
123
132
|
--sp-font-2xl-size: 1.875rem;
|
|
124
133
|
--sp-font-2xl-line-height: 2.5rem;
|
|
125
|
-
--sp-font-2xl-weight:
|
|
126
|
-
--sp-font-
|
|
127
|
-
--sp-
|
|
128
|
-
--sp-
|
|
134
|
+
--sp-font-2xl-weight: 600;
|
|
135
|
+
--sp-font-xs-letter-spacing: 0.02em;
|
|
136
|
+
--sp-text-on-page-default: #0f172a;
|
|
137
|
+
--sp-text-on-page-muted: #475569;
|
|
138
|
+
--sp-text-on-surface-default: #0f172a;
|
|
139
|
+
--sp-text-on-surface-muted: #6b7280;
|
|
140
|
+
--sp-text-on-surface-meta: #94a3b8;
|
|
141
|
+
--sp-badge-primary-bg: #8652ff;
|
|
142
|
+
--sp-badge-primary-text: #0f172a;
|
|
143
|
+
--sp-badge-success-bg: #22c55e;
|
|
144
|
+
--sp-badge-success-text: #0f172a;
|
|
145
|
+
--sp-badge-warning-bg: #f59e0b;
|
|
146
|
+
--sp-badge-warning-text: #0f172a;
|
|
147
|
+
--sp-badge-danger-bg: #ef4444;
|
|
148
|
+
--sp-badge-danger-text: #0f172a;
|
|
129
149
|
--sp-shadow-none: none;
|
|
130
150
|
--sp-shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, 0.08);
|
|
131
151
|
--sp-shadow-md: 0 3px 8px -1px rgba(15, 23, 42, 0.1);
|
|
@@ -245,12 +265,22 @@
|
|
|
245
265
|
--sp-surface-overlay: #1e293b;
|
|
246
266
|
--sp-text-on-page-default: #f8fafc;
|
|
247
267
|
--sp-text-on-page-muted: #cbd5f5;
|
|
268
|
+
--sp-text-on-page-meta: #94a3b8;
|
|
248
269
|
--sp-text-on-surface-default: #f1f5f9;
|
|
249
270
|
--sp-text-on-surface-muted: #cbd5f5;
|
|
271
|
+
--sp-text-on-surface-meta: #94a3b8;
|
|
250
272
|
--sp-component-card-text: #f1f5f9;
|
|
251
273
|
--sp-component-card-text-muted: #cbd5f5;
|
|
252
274
|
--sp-component-input-text: #f1f5f9;
|
|
253
275
|
--sp-component-input-placeholder: #94a3b8;
|
|
254
276
|
--sp-button-text-default: #f1f5f9;
|
|
255
277
|
--sp-button-text-on-primary: #ffffff;
|
|
278
|
+
--sp-badge-primary-bg: #8652ff;
|
|
279
|
+
--sp-badge-primary-text: #f1f5f9;
|
|
280
|
+
--sp-badge-success-bg: #22c55e;
|
|
281
|
+
--sp-badge-success-text: #f1f5f9;
|
|
282
|
+
--sp-badge-warning-bg: #f59e0b;
|
|
283
|
+
--sp-badge-warning-text: #f1f5f9;
|
|
284
|
+
--sp-badge-danger-bg: #ef4444;
|
|
285
|
+
--sp-badge-danger-text: #f1f5f9;
|
|
256
286
|
}
|
package/dist/index.d.cts
CHANGED
|
@@ -6,6 +6,11 @@ interface TypographyScaleEntry {
|
|
|
6
6
|
fontWeight?: number;
|
|
7
7
|
letterSpacing?: string;
|
|
8
8
|
}
|
|
9
|
+
interface FontScaleEntry {
|
|
10
|
+
size: string;
|
|
11
|
+
lineHeight: string;
|
|
12
|
+
weight: number;
|
|
13
|
+
}
|
|
9
14
|
interface TypographyTokens {
|
|
10
15
|
families: Record<string, string>;
|
|
11
16
|
scale: Record<string, TypographyScaleEntry>;
|
|
@@ -62,11 +67,13 @@ interface SpectreModeTokens {
|
|
|
62
67
|
default: SemanticTokenValue;
|
|
63
68
|
muted: SemanticTokenValue;
|
|
64
69
|
subtle: SemanticTokenValue;
|
|
70
|
+
meta: SemanticTokenValue;
|
|
65
71
|
};
|
|
66
72
|
onSurface: {
|
|
67
73
|
default: SemanticTokenValue;
|
|
68
74
|
muted: SemanticTokenValue;
|
|
69
75
|
subtle: SemanticTokenValue;
|
|
76
|
+
meta: SemanticTokenValue;
|
|
70
77
|
};
|
|
71
78
|
};
|
|
72
79
|
component: {
|
|
@@ -82,6 +89,24 @@ interface SpectreModeTokens {
|
|
|
82
89
|
textDefault: SemanticTokenValue;
|
|
83
90
|
textOnPrimary: SemanticTokenValue;
|
|
84
91
|
};
|
|
92
|
+
badge: {
|
|
93
|
+
primary: {
|
|
94
|
+
bg: SemanticTokenValue;
|
|
95
|
+
text: SemanticTokenValue;
|
|
96
|
+
};
|
|
97
|
+
success: {
|
|
98
|
+
bg: SemanticTokenValue;
|
|
99
|
+
text: SemanticTokenValue;
|
|
100
|
+
};
|
|
101
|
+
warning: {
|
|
102
|
+
bg: SemanticTokenValue;
|
|
103
|
+
text: SemanticTokenValue;
|
|
104
|
+
};
|
|
105
|
+
danger: {
|
|
106
|
+
bg: SemanticTokenValue;
|
|
107
|
+
text: SemanticTokenValue;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
85
110
|
};
|
|
86
111
|
}
|
|
87
112
|
interface SpectreTokens {
|
|
@@ -89,6 +114,14 @@ interface SpectreTokens {
|
|
|
89
114
|
spacing: any;
|
|
90
115
|
radii: any;
|
|
91
116
|
typography: any;
|
|
117
|
+
font: {
|
|
118
|
+
xs: FontScaleEntry;
|
|
119
|
+
sm: FontScaleEntry;
|
|
120
|
+
md: FontScaleEntry;
|
|
121
|
+
lg: FontScaleEntry;
|
|
122
|
+
xl: FontScaleEntry;
|
|
123
|
+
['2xl']: FontScaleEntry;
|
|
124
|
+
};
|
|
92
125
|
shadows: any;
|
|
93
126
|
breakpoints: any;
|
|
94
127
|
zIndex: any;
|
|
@@ -108,14 +141,16 @@ interface SpectreTokens {
|
|
|
108
141
|
};
|
|
109
142
|
text: {
|
|
110
143
|
onPage: {
|
|
111
|
-
default:
|
|
112
|
-
muted:
|
|
113
|
-
subtle
|
|
144
|
+
default: string;
|
|
145
|
+
muted: string;
|
|
146
|
+
subtle: string;
|
|
147
|
+
meta: string;
|
|
114
148
|
};
|
|
115
149
|
onSurface: {
|
|
116
|
-
default:
|
|
117
|
-
muted:
|
|
118
|
-
subtle
|
|
150
|
+
default: string;
|
|
151
|
+
muted: string;
|
|
152
|
+
subtle: string;
|
|
153
|
+
meta: string;
|
|
119
154
|
};
|
|
120
155
|
[key: string]: any;
|
|
121
156
|
};
|
|
@@ -132,6 +167,24 @@ interface SpectreTokens {
|
|
|
132
167
|
textDefault: SemanticTokenValue;
|
|
133
168
|
textOnPrimary: SemanticTokenValue;
|
|
134
169
|
};
|
|
170
|
+
badge: {
|
|
171
|
+
primary: {
|
|
172
|
+
bg: string;
|
|
173
|
+
text: string;
|
|
174
|
+
};
|
|
175
|
+
success: {
|
|
176
|
+
bg: string;
|
|
177
|
+
text: string;
|
|
178
|
+
};
|
|
179
|
+
warning: {
|
|
180
|
+
bg: string;
|
|
181
|
+
text: string;
|
|
182
|
+
};
|
|
183
|
+
danger: {
|
|
184
|
+
bg: string;
|
|
185
|
+
text: string;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
135
188
|
[key: string]: any;
|
|
136
189
|
};
|
|
137
190
|
modes: {
|
|
@@ -149,6 +202,7 @@ interface Tokens {
|
|
|
149
202
|
spacing: TokenScale;
|
|
150
203
|
radii: TokenScale;
|
|
151
204
|
typography: TypographyTokens;
|
|
205
|
+
font: Record<string, FontScaleEntry>;
|
|
152
206
|
shadows: TokenScale;
|
|
153
207
|
breakpoints: TokenScale;
|
|
154
208
|
zIndex: TokenScale;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,11 @@ interface TypographyScaleEntry {
|
|
|
6
6
|
fontWeight?: number;
|
|
7
7
|
letterSpacing?: string;
|
|
8
8
|
}
|
|
9
|
+
interface FontScaleEntry {
|
|
10
|
+
size: string;
|
|
11
|
+
lineHeight: string;
|
|
12
|
+
weight: number;
|
|
13
|
+
}
|
|
9
14
|
interface TypographyTokens {
|
|
10
15
|
families: Record<string, string>;
|
|
11
16
|
scale: Record<string, TypographyScaleEntry>;
|
|
@@ -62,11 +67,13 @@ interface SpectreModeTokens {
|
|
|
62
67
|
default: SemanticTokenValue;
|
|
63
68
|
muted: SemanticTokenValue;
|
|
64
69
|
subtle: SemanticTokenValue;
|
|
70
|
+
meta: SemanticTokenValue;
|
|
65
71
|
};
|
|
66
72
|
onSurface: {
|
|
67
73
|
default: SemanticTokenValue;
|
|
68
74
|
muted: SemanticTokenValue;
|
|
69
75
|
subtle: SemanticTokenValue;
|
|
76
|
+
meta: SemanticTokenValue;
|
|
70
77
|
};
|
|
71
78
|
};
|
|
72
79
|
component: {
|
|
@@ -82,6 +89,24 @@ interface SpectreModeTokens {
|
|
|
82
89
|
textDefault: SemanticTokenValue;
|
|
83
90
|
textOnPrimary: SemanticTokenValue;
|
|
84
91
|
};
|
|
92
|
+
badge: {
|
|
93
|
+
primary: {
|
|
94
|
+
bg: SemanticTokenValue;
|
|
95
|
+
text: SemanticTokenValue;
|
|
96
|
+
};
|
|
97
|
+
success: {
|
|
98
|
+
bg: SemanticTokenValue;
|
|
99
|
+
text: SemanticTokenValue;
|
|
100
|
+
};
|
|
101
|
+
warning: {
|
|
102
|
+
bg: SemanticTokenValue;
|
|
103
|
+
text: SemanticTokenValue;
|
|
104
|
+
};
|
|
105
|
+
danger: {
|
|
106
|
+
bg: SemanticTokenValue;
|
|
107
|
+
text: SemanticTokenValue;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
85
110
|
};
|
|
86
111
|
}
|
|
87
112
|
interface SpectreTokens {
|
|
@@ -89,6 +114,14 @@ interface SpectreTokens {
|
|
|
89
114
|
spacing: any;
|
|
90
115
|
radii: any;
|
|
91
116
|
typography: any;
|
|
117
|
+
font: {
|
|
118
|
+
xs: FontScaleEntry;
|
|
119
|
+
sm: FontScaleEntry;
|
|
120
|
+
md: FontScaleEntry;
|
|
121
|
+
lg: FontScaleEntry;
|
|
122
|
+
xl: FontScaleEntry;
|
|
123
|
+
['2xl']: FontScaleEntry;
|
|
124
|
+
};
|
|
92
125
|
shadows: any;
|
|
93
126
|
breakpoints: any;
|
|
94
127
|
zIndex: any;
|
|
@@ -108,14 +141,16 @@ interface SpectreTokens {
|
|
|
108
141
|
};
|
|
109
142
|
text: {
|
|
110
143
|
onPage: {
|
|
111
|
-
default:
|
|
112
|
-
muted:
|
|
113
|
-
subtle
|
|
144
|
+
default: string;
|
|
145
|
+
muted: string;
|
|
146
|
+
subtle: string;
|
|
147
|
+
meta: string;
|
|
114
148
|
};
|
|
115
149
|
onSurface: {
|
|
116
|
-
default:
|
|
117
|
-
muted:
|
|
118
|
-
subtle
|
|
150
|
+
default: string;
|
|
151
|
+
muted: string;
|
|
152
|
+
subtle: string;
|
|
153
|
+
meta: string;
|
|
119
154
|
};
|
|
120
155
|
[key: string]: any;
|
|
121
156
|
};
|
|
@@ -132,6 +167,24 @@ interface SpectreTokens {
|
|
|
132
167
|
textDefault: SemanticTokenValue;
|
|
133
168
|
textOnPrimary: SemanticTokenValue;
|
|
134
169
|
};
|
|
170
|
+
badge: {
|
|
171
|
+
primary: {
|
|
172
|
+
bg: string;
|
|
173
|
+
text: string;
|
|
174
|
+
};
|
|
175
|
+
success: {
|
|
176
|
+
bg: string;
|
|
177
|
+
text: string;
|
|
178
|
+
};
|
|
179
|
+
warning: {
|
|
180
|
+
bg: string;
|
|
181
|
+
text: string;
|
|
182
|
+
};
|
|
183
|
+
danger: {
|
|
184
|
+
bg: string;
|
|
185
|
+
text: string;
|
|
186
|
+
};
|
|
187
|
+
};
|
|
135
188
|
[key: string]: any;
|
|
136
189
|
};
|
|
137
190
|
modes: {
|
|
@@ -149,6 +202,7 @@ interface Tokens {
|
|
|
149
202
|
spacing: TokenScale;
|
|
150
203
|
radii: TokenScale;
|
|
151
204
|
typography: TypographyTokens;
|
|
205
|
+
font: Record<string, FontScaleEntry>;
|
|
152
206
|
shadows: TokenScale;
|
|
153
207
|
breakpoints: TokenScale;
|
|
154
208
|
zIndex: TokenScale;
|