@boopdoopgoop/design-system 0.0.0-stage → 0.2.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/README.md +442 -2
- package/dist/components/index.cjs +233 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.cts +63 -0
- package/dist/components/index.d.ts +63 -0
- package/dist/components/index.js +208 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.cjs +777 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +775 -0
- package/dist/index.d.ts +775 -0
- package/dist/index.js +745 -0
- package/dist/index.js.map +1 -0
- package/package.json +99 -4
- package/src/tokens/primitives.json +354 -0
- package/src/tokens/semantic.json +133 -0
- package/styles/components.css +290 -0
- package/styles/fonts.css +8 -0
- package/styles/theme.css +271 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/tokens/primitives.json","../src/tokens/semantic.json","../src/token-engine.ts"],"sourcesContent":["import primitives from './tokens/primitives.json';\nimport semantic from './tokens/semantic.json';\nimport { flattenTokens, resolveTokens } from './token-engine';\n\n/** DTCG source documents; CSS and font loading remain opt-in. */\nexport const tokenDocuments = { primitives, semantic };\nexport const tokens = flattenTokens(primitives, semantic);\nexport const resolvedTokens = resolveTokens(tokens);\nexport { flattenTokens, resolveTokens, renderTheme } from './token-engine';\nexport type { Token, TokenType, ResolvedToken } from './token-engine';\n","{\n \"$description\": \"DTCG 2025.10 primitives. Colors use sRGB components in the 0–1 range; dimensions are CSS pixels. Product CSS is the value authority.\",\n \"primitive\": {\n \"color\": {\n \"$type\": \"color\",\n \"white\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [1, 1, 1],\n \"hex\": \"#ffffff\"\n }\n },\n \"black\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [0, 0, 0],\n \"hex\": \"#000000\"\n }\n },\n \"ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.10196078431372549, 0.10196078431372549, 0.10196078431372549\n ],\n \"hex\": \"#1a1a1a\"\n }\n },\n \"muted\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [0.4, 0.4, 0.4],\n \"hex\": \"#666666\"\n }\n },\n \"mist\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9568627450980393, 0.9568627450980393, 0.9490196078431372\n ],\n \"hex\": \"#f4f4f2\"\n }\n },\n \"line\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.8196078431372549, 0.8196078431372549, 0.8196078431372549\n ],\n \"hex\": \"#d1d1d1\"\n }\n },\n \"control-line\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.5803921568627451, 0.5803921568627451, 0.5803921568627451\n ],\n \"hex\": \"#949494\"\n }\n },\n \"placeholder\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.4627450980392157, 0.4627450980392157, 0.4627450980392157\n ],\n \"hex\": \"#767676\"\n }\n },\n \"signal\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.27058823529411763, 0.27058823529411763, 0.27058823529411763\n ],\n \"hex\": \"#454545\"\n }\n },\n \"warning\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.5411764705882353, 0.41568627450980394, 0.07058823529411765\n ],\n \"hex\": \"#8a6a12\"\n }\n },\n \"success\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.2196078431372549, 0.43529411764705883, 0.1411764705882353\n ],\n \"hex\": \"#386f24\"\n }\n },\n \"danger\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.6078431372549019, 0.17254901960784313, 0.17254901960784313\n ],\n \"hex\": \"#9b2c2c\"\n }\n },\n \"info\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [0.2, 0.3137254901960784, 0.611764705882353],\n \"hex\": \"#33509c\"\n }\n },\n \"sage\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.8627450980392157, 0.9098039215686274, 0.8313725490196079\n ],\n \"hex\": \"#dce8d4\"\n }\n },\n \"sage-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.1843137254901961, 0.2901960784313726, 0.1607843137254902\n ],\n \"hex\": \"#2f4a29\"\n }\n },\n \"slate\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.8588235294117647, 0.8980392156862745, 0.9372549019607843\n ],\n \"hex\": \"#dbe5ef\"\n }\n },\n \"slate-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.19607843137254902, 0.2823529411764706, 0.3764705882352941\n ],\n \"hex\": \"#324860\"\n }\n },\n \"ochre\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9411764705882353, 0.8901960784313725, 0.7686274509803922\n ],\n \"hex\": \"#f0e3c4\"\n }\n },\n \"ochre-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [0.4, 0.2980392156862745, 0.08627450980392157],\n \"hex\": \"#664c16\"\n }\n },\n \"clay\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9411764705882353, 0.8588235294117647, 0.8156862745098039\n ],\n \"hex\": \"#f0dbd0\"\n }\n },\n \"clay-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.4549019607843137, 0.2627450980392157, 0.1843137254901961\n ],\n \"hex\": \"#74432f\"\n }\n },\n \"mauve\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9098039215686274, 0.8627450980392157, 0.9254901960784314\n ],\n \"hex\": \"#e8dcec\"\n }\n },\n \"mauve-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.3686274509803922, 0.25098039215686274, 0.40784313725490196\n ],\n \"hex\": \"#5e4068\"\n }\n },\n \"stone\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9019607843137255, 0.8901960784313725, 0.8588235294117647\n ],\n \"hex\": \"#e6e3db\"\n }\n },\n \"stone-ink\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.30980392156862746, 0.2980392156862745, 0.2627450980392157\n ],\n \"hex\": \"#4f4c43\"\n }\n },\n \"paper\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9490196078431372, 0.9294117647058824, 0.8862745098039215\n ],\n \"hex\": \"#f2ede2\"\n }\n },\n \"sheet\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.9725490196078431, 0.9607843137254902, 0.9333333333333333\n ],\n \"hex\": \"#f8f5ee\"\n }\n },\n \"ink-70\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.28627450980392155, 0.2784313725490196, 0.26666666666666666\n ],\n \"hex\": \"#494744\"\n }\n },\n \"ink-35\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.615686274509804, 0.6039215686274509, 0.5764705882352941\n ],\n \"hex\": \"#9d9a93\"\n }\n },\n \"ink-18\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [\n 0.7764705882352941, 0.7607843137254902, 0.7254901960784313\n ],\n \"hex\": \"#c6c2b9\"\n }\n },\n \"yellow\": {\n \"$value\": {\n \"colorSpace\": \"srgb\",\n \"components\": [1, 0.9098039215686274, 0],\n \"hex\": \"#ffe800\"\n }\n }\n },\n \"font\": {\n \"$type\": \"fontFamily\",\n \"display\": {\n \"$value\": [\n \"Big Shoulders Display\",\n \"Arial Narrow\",\n \"Helvetica Neue\",\n \"Arial\",\n \"sans-serif\"\n ]\n },\n \"body\": {\n \"$value\": [\"Archivo\", \"ui-sans-serif\", \"system-ui\", \"sans-serif\"]\n },\n \"mono\": {\n \"$value\": [\"Spline Sans Mono\", \"ui-monospace\", \"Menlo\", \"monospace\"]\n }\n },\n \"size\": {\n \"$type\": \"dimension\",\n \"11\": { \"$value\": { \"value\": 11, \"unit\": \"px\" } },\n \"12\": { \"$value\": { \"value\": 12, \"unit\": \"px\" } },\n \"14\": { \"$value\": { \"value\": 14, \"unit\": \"px\" } },\n \"15\": { \"$value\": { \"value\": 15, \"unit\": \"px\" } },\n \"18\": { \"$value\": { \"value\": 18, \"unit\": \"px\" } },\n \"24\": { \"$value\": { \"value\": 24, \"unit\": \"px\" } },\n \"32\": { \"$value\": { \"value\": 32, \"unit\": \"px\" } }\n },\n \"dimension\": {\n \"$type\": \"dimension\",\n \"zero\": { \"$value\": { \"value\": 0, \"unit\": \"px\" } },\n \"one\": { \"$value\": { \"value\": 1, \"unit\": \"px\" } },\n \"two\": { \"$value\": { \"value\": 2, \"unit\": \"px\" } },\n \"three\": { \"$value\": { \"value\": 3, \"unit\": \"px\" } }\n },\n \"space\": {\n \"$type\": \"dimension\",\n \"4\": { \"$value\": { \"value\": 4, \"unit\": \"px\" } },\n \"6\": { \"$value\": { \"value\": 6, \"unit\": \"px\" } },\n \"8\": { \"$value\": { \"value\": 8, \"unit\": \"px\" } },\n \"10\": { \"$value\": { \"value\": 10, \"unit\": \"px\" } },\n \"12\": { \"$value\": { \"value\": 12, \"unit\": \"px\" } },\n \"16\": { \"$value\": { \"value\": 16, \"unit\": \"px\" } },\n \"20\": { \"$value\": { \"value\": 20, \"unit\": \"px\" } },\n \"24\": { \"$value\": { \"value\": 24, \"unit\": \"px\" } },\n \"32\": { \"$value\": { \"value\": 32, \"unit\": \"px\" } }\n },\n \"component-size\": {\n \"$type\": \"dimension\",\n \"control\": { \"$value\": { \"value\": 44, \"unit\": \"px\" } },\n \"textarea\": { \"$value\": { \"value\": 96, \"unit\": \"px\" } },\n \"modal\": { \"$value\": { \"value\": 480, \"unit\": \"px\" } }\n },\n \"layer\": {\n \"$type\": \"number\",\n \"modal\": { \"$value\": 50 }\n },\n \"weight\": {\n \"$type\": \"fontWeight\",\n \"regular\": { \"$value\": 400 },\n \"medium\": { \"$value\": 500 },\n \"semibold\": { \"$value\": 600 },\n \"bold\": { \"$value\": 700 },\n \"black\": { \"$value\": 900 }\n },\n \"ratio\": {\n \"$type\": \"number\",\n \"display\": { \"$value\": 1 },\n \"body\": { \"$value\": 1.45 },\n \"copy\": { \"$value\": 1.4 },\n \"label\": { \"$value\": 1.25 },\n \"grain\": { \"$value\": 0.1 },\n \"hover\": { \"$value\": 0.05 },\n \"overlay\": { \"$value\": 0.4 },\n \"disabled\": { \"$value\": 0.55 },\n \"tracking-control\": { \"$value\": 0.08 },\n \"tracking-label\": { \"$value\": 0.12 },\n \"tracking-panel\": { \"$value\": 0.14 }\n }\n }\n}\n","{\n \"$description\": \"Semantic aliases. App chrome and risograph paper are independent named tiers, not light/dark modes. Font choices are fixed for this release.\",\n \"color\": {\n \"$type\": \"color\",\n \"app\": {\n \"$description\": \"theme.css lines 6–32. App chrome only.\",\n \"canvas\": { \"$value\": \"{primitive.color.white}\" },\n \"paper\": { \"$value\": \"{primitive.color.white}\" },\n \"ink\": { \"$value\": \"{primitive.color.ink}\" },\n \"muted\": { \"$value\": \"{primitive.color.muted}\" },\n \"mist\": { \"$value\": \"{primitive.color.mist}\" },\n \"line\": { \"$value\": \"{primitive.color.line}\" },\n \"control-line\": { \"$value\": \"{primitive.color.control-line}\" },\n \"placeholder\": { \"$value\": \"{primitive.color.placeholder}\" },\n \"signal\": { \"$value\": \"{primitive.color.signal}\" },\n \"on-signal\": { \"$value\": \"{primitive.color.white}\" },\n \"focus\": { \"$value\": \"{primitive.color.ink}\" },\n \"warning\": { \"$value\": \"{primitive.color.warning}\" },\n \"success\": { \"$value\": \"{primitive.color.success}\" },\n \"danger\": { \"$value\": \"{primitive.color.danger}\" },\n \"info\": { \"$value\": \"{primitive.color.info}\" },\n \"tile-sage\": { \"$value\": \"{primitive.color.sage}\" },\n \"tile-sage-ink\": { \"$value\": \"{primitive.color.sage-ink}\" },\n \"tile-slate\": { \"$value\": \"{primitive.color.slate}\" },\n \"tile-slate-ink\": { \"$value\": \"{primitive.color.slate-ink}\" },\n \"tile-ochre\": { \"$value\": \"{primitive.color.ochre}\" },\n \"tile-ochre-ink\": { \"$value\": \"{primitive.color.ochre-ink}\" },\n \"tile-clay\": { \"$value\": \"{primitive.color.clay}\" },\n \"tile-clay-ink\": { \"$value\": \"{primitive.color.clay-ink}\" },\n \"tile-mauve\": { \"$value\": \"{primitive.color.mauve}\" },\n \"tile-mauve-ink\": { \"$value\": \"{primitive.color.mauve-ink}\" },\n \"tile-stone\": { \"$value\": \"{primitive.color.stone}\" },\n \"tile-stone-ink\": { \"$value\": \"{primitive.color.stone-ink}\" }\n },\n \"riso\": {\n \"$description\": \"risograph.css lines 12–18. A single black drum at three densities and marker yellow.\",\n \"paper\": { \"$value\": \"{primitive.color.paper}\" },\n \"sheet\": { \"$value\": \"{primitive.color.sheet}\" },\n \"ink\": { \"$value\": \"{primitive.color.black}\" },\n \"ink-2\": { \"$value\": \"{primitive.color.ink-70}\" },\n \"tint-35\": { \"$value\": \"{primitive.color.ink-35}\" },\n \"tint-18\": { \"$value\": \"{primitive.color.ink-18}\" },\n \"highlight\": { \"$value\": \"{primitive.color.yellow}\" }\n }\n },\n \"font\": {\n \"$type\": \"fontFamily\",\n \"display\": { \"$value\": \"{primitive.font.display}\" },\n \"body\": { \"$value\": \"{primitive.font.body}\" },\n \"sans\": { \"$value\": \"{font.body}\" },\n \"ui\": { \"$value\": \"{font.body}\" },\n \"mono\": { \"$value\": \"{primitive.font.mono}\" }\n },\n \"text\": {\n \"$type\": \"dimension\",\n \"display\": { \"$value\": \"{primitive.size.32}\" },\n \"heading\": { \"$value\": \"{primitive.size.24}\" },\n \"body\": { \"$value\": \"{primitive.size.15}\" },\n \"ui\": { \"$value\": \"{primitive.size.14}\" },\n \"mono\": { \"$value\": \"{primitive.size.12}\" },\n \"label\": { \"$value\": \"{primitive.size.11}\" }\n },\n \"leading\": {\n \"$type\": \"number\",\n \"display\": { \"$value\": \"{primitive.ratio.display}\" },\n \"body\": { \"$value\": \"{primitive.ratio.body}\" },\n \"ui\": { \"$value\": \"{primitive.ratio.copy}\" },\n \"label\": { \"$value\": \"{primitive.ratio.label}\" }\n },\n \"font-weight\": {\n \"$type\": \"fontWeight\",\n \"black\": { \"$value\": \"{primitive.weight.black}\" },\n \"regular\": { \"$value\": \"{primitive.weight.regular}\" },\n \"medium\": { \"$value\": \"{primitive.weight.medium}\" },\n \"semibold\": { \"$value\": \"{primitive.weight.semibold}\" },\n \"bold\": { \"$value\": \"{primitive.weight.bold}\" }\n },\n \"radius\": {\n \"$type\": \"dimension\",\n \"control\": { \"$value\": \"{primitive.dimension.zero}\" }\n },\n \"border\": {\n \"$type\": \"dimension\",\n \"app\": { \"$value\": \"{primitive.dimension.one}\" },\n \"riso\": { \"$value\": \"{primitive.dimension.three}\" }\n },\n \"focus\": {\n \"$type\": \"dimension\",\n \"app-width\": { \"$value\": \"{primitive.dimension.two}\" },\n \"app-offset\": { \"$value\": \"{primitive.dimension.two}\" },\n \"riso-width\": { \"$value\": \"{primitive.dimension.three}\" },\n \"riso-offset\": { \"$value\": \"{primitive.dimension.three}\" }\n },\n \"space\": {\n \"$type\": \"dimension\",\n \"xs\": { \"$value\": \"{primitive.space.4}\" },\n \"hint\": { \"$value\": \"{primitive.space.6}\" },\n \"sm\": { \"$value\": \"{primitive.space.8}\" },\n \"tag-inline\": { \"$value\": \"{primitive.space.10}\" },\n \"md\": { \"$value\": \"{primitive.space.12}\" },\n \"lg\": { \"$value\": \"{primitive.space.16}\" },\n \"panel\": { \"$value\": \"{primitive.space.20}\" },\n \"modal\": { \"$value\": \"{primitive.space.24}\" },\n \"viewport\": { \"$value\": \"{primitive.space.32}\" }\n },\n \"size\": {\n \"$type\": \"dimension\",\n \"control\": { \"$value\": \"{primitive.component-size.control}\" },\n \"icon\": { \"$value\": \"{primitive.size.12}\" },\n \"close-icon\": { \"$value\": \"{primitive.size.14}\" },\n \"close\": { \"$value\": \"{primitive.size.32}\" },\n \"textarea\": { \"$value\": \"{primitive.component-size.textarea}\" },\n \"modal\": { \"$value\": \"{primitive.component-size.modal}\" }\n },\n \"layer\": {\n \"$type\": \"number\",\n \"modal\": { \"$value\": \"{primitive.layer.modal}\" }\n },\n \"tracking\": {\n \"$type\": \"number\",\n \"control\": { \"$value\": \"{primitive.ratio.tracking-control}\" },\n \"label\": { \"$value\": \"{primitive.ratio.tracking-label}\" },\n \"panel\": { \"$value\": \"{primitive.ratio.tracking-panel}\" }\n },\n \"opacity\": {\n \"$type\": \"number\",\n \"riso-grain\": { \"$value\": \"{primitive.ratio.grain}\" },\n \"hover\": { \"$value\": \"{primitive.ratio.hover}\" },\n \"overlay\": { \"$value\": \"{primitive.ratio.overlay}\" },\n \"disabled\": { \"$value\": \"{primitive.ratio.disabled}\" },\n \"disabled-close\": { \"$value\": \"{primitive.ratio.overlay}\" }\n }\n}\n","export type TokenType =\n 'color' | 'dimension' | 'fontFamily' | 'fontWeight' | 'number';\n\nexport interface Token {\n $type: TokenType;\n $value: unknown;\n $description?: string;\n}\n\nexport interface ResolvedToken extends Token {\n path: string;\n cssName: string;\n cssValue: string;\n}\n\nconst types = new Set<TokenType>([\n 'color',\n 'dimension',\n 'fontFamily',\n 'fontWeight',\n 'number',\n]);\nconst reference = /^\\{([^{}]+)\\}$/;\n\nfunction object(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\n/** Flatten the supported DTCG subset, honoring inherited group types. */\nexport function flattenTokens(...documents: unknown[]): Record<string, Token> {\n const result: Record<string, Token> = {};\n function visit(node: unknown, path: string[], inherited?: TokenType): void {\n if (!object(node))\n throw new Error(`Invalid token group: ${path.join('.')}`);\n const type = (node.$type ?? inherited) as TokenType;\n if ('$value' in node) {\n const name = path.join('.');\n if (!name || !types.has(type))\n throw new Error(`Unsupported type: ${name}`);\n if (name in result) throw new Error(`Duplicate token: ${name}`);\n result[name] = {\n $type: type,\n $value: node.$value,\n ...(typeof node.$description === 'string'\n ? { $description: node.$description }\n : {}),\n };\n return;\n }\n for (const [key, child] of Object.entries(node)) {\n if (key.startsWith('$')) continue;\n if (!/^[a-z0-9-]+$/.test(key))\n throw new Error(`Invalid token key: ${key}`);\n visit(child, [...path, key], type);\n }\n }\n for (const document of documents) visit(document, []);\n return result;\n}\n\nfunction serialize(type: TokenType, value: unknown, path: string): string {\n const fail = (): never => {\n throw new Error(`Invalid ${type} value: ${path}`);\n };\n switch (type) {\n case 'color': {\n if (!object(value) || value.colorSpace !== 'srgb') return fail();\n const components = value.components;\n if (\n !Array.isArray(components) ||\n components.length !== 3 ||\n !components.every(\n (n) =>\n typeof n === 'number' && Number.isFinite(n) && n >= 0 && n <= 1,\n )\n )\n return fail();\n const alpha = value.alpha ?? 1;\n if (\n typeof alpha !== 'number' ||\n !Number.isFinite(alpha) ||\n alpha < 0 ||\n alpha > 1\n )\n return fail();\n const hex = `#${components\n .map((n: number) =>\n Math.round(n * 255)\n .toString(16)\n .padStart(2, '0'),\n )\n .join('')}`;\n if (value.hex !== undefined && value.hex !== hex) return fail();\n return alpha === 1\n ? hex\n : `rgb(${components.map((n: number) => Math.round(n * 255)).join(' ')} / ${alpha})`;\n }\n case 'dimension':\n if (\n !object(value) ||\n typeof value.value !== 'number' ||\n !Number.isFinite(value.value) ||\n !['px', 'rem'].includes(String(value.unit))\n )\n return fail();\n return `${value.value}${value.unit}`;\n case 'fontFamily': {\n const families = typeof value === 'string' ? [value] : value;\n if (\n !Array.isArray(families) ||\n !families.length ||\n !families.every(\n (family) =>\n typeof family === 'string' && /^[a-zA-Z0-9 -]+$/.test(family),\n )\n )\n return fail();\n const generic = new Set([\n 'serif',\n 'sans-serif',\n 'monospace',\n 'system-ui',\n 'ui-serif',\n 'ui-sans-serif',\n 'ui-monospace',\n ]);\n return families\n .map((family: string) => (generic.has(family) ? family : `\"${family}\"`))\n .join(', ');\n }\n case 'fontWeight':\n if (\n typeof value !== 'number' ||\n !Number.isFinite(value) ||\n value < 1 ||\n value > 1000\n )\n return fail();\n return String(value);\n case 'number':\n if (typeof value !== 'number' || !Number.isFinite(value)) return fail();\n return String(value);\n }\n}\n\n/** Resolve aliases with explicit missing-reference, cycle, and type checks. */\nexport function resolveTokens(\n tokens: Record<string, Token>,\n): Record<string, ResolvedToken> {\n const resolved: Record<string, ResolvedToken> = {};\n const visiting = new Set<string>();\n const names = new Set<string>();\n function resolve(path: string): ResolvedToken {\n if (resolved[path]) return resolved[path];\n const token = tokens[path];\n if (!token) throw new Error(`Missing alias target: ${path}`);\n if (visiting.has(path)) throw new Error(`Circular alias: ${path}`);\n visiting.add(path);\n let value = token.$value;\n const match = typeof value === 'string' ? reference.exec(value) : null;\n if (match) {\n const target = resolve(match[1]!);\n if (target.$type !== token.$type)\n throw new Error(`Alias type mismatch: ${path}`);\n value = target.$value;\n }\n const cssName = `--ds-${path.replaceAll('.', '-')}`;\n if (names.has(cssName)) throw new Error(`CSS name collision: ${cssName}`);\n names.add(cssName);\n const entry = {\n ...token,\n $value: value,\n path,\n cssName,\n cssValue: serialize(token.$type, value, path),\n };\n resolved[path] = entry;\n visiting.delete(path);\n return entry;\n }\n for (const path of Object.keys(tokens).sort()) resolve(path);\n return resolved;\n}\n\nconst commonRoles = {\n canvas: ['canvas', 'paper'],\n paper: ['paper', 'paper'],\n sheet: ['paper', 'sheet'],\n ink: ['ink', 'ink'],\n muted: ['muted', 'ink-2'],\n line: ['line', 'tint-18'],\n 'control-line': ['control-line', 'ink'],\n placeholder: ['placeholder', 'tint-35'],\n signal: ['signal', 'ink'],\n 'on-signal': ['on-signal', 'paper'],\n focus: ['focus', 'ink'],\n} as const;\n\n/** Deterministic output: no timestamps, filesystem access, or external tools. */\nexport function renderTheme(tokens: Record<string, Token>): string {\n const resolved = resolveTokens(tokens);\n const entries = Object.entries(resolved).sort(([a], [b]) =>\n a.localeCompare(b, 'en'),\n );\n function declaration(path: string): string {\n const token = tokens[path]!;\n const match =\n typeof token.$value === 'string' ? reference.exec(token.$value) : null;\n return match\n ? `var(${resolved[match[1]!]!.cssName})`\n : resolved[path]!.cssValue;\n }\n function roles(tier: 'app' | 'riso'): string[] {\n return Object.entries(commonRoles).map(([role, targets]) => {\n const path = `color.${tier}.${targets[tier === 'app' ? 0 : 1]}`;\n if (!resolved[path]) throw new Error(`Missing tier role: ${path}`);\n return ` --ds-color-${role}: var(${resolved[path].cssName});`;\n });\n }\n const theme = entries\n .filter(([path]) =>\n /^(color|font|text|leading|font-weight|radius)\\./.test(path),\n )\n .map(\n ([path, token]) =>\n ` --${path.replaceAll('.', '-')}: var(${token.cssName});`,\n );\n theme.push(\n ...Object.keys(commonRoles).map(\n (role) => ` --color-${role}: var(--ds-color-${role});`,\n ),\n );\n return [\n '/* Generated from src/tokens/*.json. Run pnpm generate; do not edit. */',\n ':root {',\n ...entries.map(\n ([path, token]) => ` ${token.cssName}: ${declaration(path)};`,\n ),\n ...roles('app'),\n '}',\n '',\n '[data-intangibility-tier=\"app\"] {',\n ...roles('app'),\n '}',\n '',\n '[data-intangibility-tier=\"riso\"] {',\n ...roles('riso'),\n '}',\n '',\n '/* Inline utilities resolve scoped roles on the consuming element. */',\n '@theme inline static {',\n ...theme,\n '}',\n '',\n ].join('\\n');\n}\n"],"mappings":"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","names":["tokens"]}
|