@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/tokens/primitives.json","../src/tokens/semantic.json","../src/token-engine.ts","../src/index.ts"],"sourcesContent":["{\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","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"],"mappings":"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","names":["tokens"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,101 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boopdoopgoop/design-system",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Intangibility tokens, typography, React components, and Tailwind CSS v4 theme",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"packageManager": "pnpm@10.15.1",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": "22.23.2",
|
|
9
|
+
"pnpm": "10.15.1"
|
|
10
|
+
},
|
|
11
|
+
"main": "./dist/index.cjs",
|
|
12
|
+
"module": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"import": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"default": "./dist/index.js"
|
|
19
|
+
},
|
|
20
|
+
"require": {
|
|
21
|
+
"types": "./dist/index.d.cts",
|
|
22
|
+
"default": "./dist/index.cjs"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"./components": {
|
|
26
|
+
"import": {
|
|
27
|
+
"types": "./dist/components/index.d.ts",
|
|
28
|
+
"default": "./dist/components/index.js"
|
|
29
|
+
},
|
|
30
|
+
"require": {
|
|
31
|
+
"types": "./dist/components/index.d.cts",
|
|
32
|
+
"default": "./dist/components/index.cjs"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"./components.css": "./styles/components.css",
|
|
36
|
+
"./theme.css": "./styles/theme.css",
|
|
37
|
+
"./fonts.css": "./styles/fonts.css",
|
|
38
|
+
"./tokens/primitives.json": "./src/tokens/primitives.json",
|
|
39
|
+
"./tokens/semantic.json": "./src/tokens/semantic.json"
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"styles",
|
|
44
|
+
"src/tokens",
|
|
45
|
+
"README.md"
|
|
46
|
+
],
|
|
47
|
+
"sideEffects": [
|
|
48
|
+
"**/*.css"
|
|
49
|
+
],
|
|
50
|
+
"scripts": {
|
|
51
|
+
"generate": "tsx scripts/generate-theme.ts",
|
|
52
|
+
"generate:check": "tsx scripts/generate-theme.ts --check",
|
|
53
|
+
"format": "prettier --check .",
|
|
54
|
+
"format:write": "prettier --write .",
|
|
55
|
+
"lint": "eslint . --max-warnings 0",
|
|
56
|
+
"typecheck": "tsc --noEmit",
|
|
57
|
+
"test": "pnpm build && vitest run",
|
|
58
|
+
"build": "pnpm generate:check && tsup",
|
|
59
|
+
"prepack": "pnpm typecheck && pnpm test"
|
|
60
|
+
},
|
|
61
|
+
"peerDependencies": {
|
|
62
|
+
"react": "^19.0.0",
|
|
63
|
+
"react-dom": "^19.0.0",
|
|
64
|
+
"react-aria-components": "^1.21.1"
|
|
65
|
+
},
|
|
66
|
+
"peerDependenciesMeta": {
|
|
67
|
+
"react-aria-components": {
|
|
68
|
+
"optional": true
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@fontsource/archivo": "^5.3.0",
|
|
73
|
+
"@fontsource/big-shoulders-display": "^5.3.0",
|
|
74
|
+
"@fontsource/spline-sans-mono": "^5.3.0",
|
|
75
|
+
"clsx": "^2.1.1",
|
|
76
|
+
"tailwind-merge": "^3.7.0"
|
|
77
|
+
},
|
|
78
|
+
"devDependencies": {
|
|
79
|
+
"@eslint/js": "10.0.1",
|
|
80
|
+
"@tailwindcss/node": "^4.3.5",
|
|
81
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
82
|
+
"@testing-library/react": "^16.3.3",
|
|
83
|
+
"@testing-library/user-event": "^14.6.8",
|
|
84
|
+
"@types/node": "^22.20.5",
|
|
85
|
+
"@types/react": "^19.3.0",
|
|
86
|
+
"@types/react-dom": "^19.3.0",
|
|
87
|
+
"esbuild": "^0.28.2",
|
|
88
|
+
"eslint": "10.14.0",
|
|
89
|
+
"jsdom": "^31.0.0",
|
|
90
|
+
"prettier": "3.9.10",
|
|
91
|
+
"react": "^19.3.1",
|
|
92
|
+
"react-aria-components": "^1.22.1",
|
|
93
|
+
"react-dom": "^19.3.1",
|
|
94
|
+
"tailwindcss": "^4.3.5",
|
|
95
|
+
"tsup": "8.5.0",
|
|
96
|
+
"tsx": "4.23.15",
|
|
97
|
+
"typescript": "5.9.3",
|
|
98
|
+
"typescript-eslint": "8.72.1",
|
|
99
|
+
"vitest": "^5.1.0"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$description": "DTCG 2025.10 primitives. Colors use sRGB components in the 0–1 range; dimensions are CSS pixels. Product CSS is the value authority.",
|
|
3
|
+
"primitive": {
|
|
4
|
+
"color": {
|
|
5
|
+
"$type": "color",
|
|
6
|
+
"white": {
|
|
7
|
+
"$value": {
|
|
8
|
+
"colorSpace": "srgb",
|
|
9
|
+
"components": [1, 1, 1],
|
|
10
|
+
"hex": "#ffffff"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"black": {
|
|
14
|
+
"$value": {
|
|
15
|
+
"colorSpace": "srgb",
|
|
16
|
+
"components": [0, 0, 0],
|
|
17
|
+
"hex": "#000000"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"ink": {
|
|
21
|
+
"$value": {
|
|
22
|
+
"colorSpace": "srgb",
|
|
23
|
+
"components": [
|
|
24
|
+
0.10196078431372549, 0.10196078431372549, 0.10196078431372549
|
|
25
|
+
],
|
|
26
|
+
"hex": "#1a1a1a"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"muted": {
|
|
30
|
+
"$value": {
|
|
31
|
+
"colorSpace": "srgb",
|
|
32
|
+
"components": [0.4, 0.4, 0.4],
|
|
33
|
+
"hex": "#666666"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"mist": {
|
|
37
|
+
"$value": {
|
|
38
|
+
"colorSpace": "srgb",
|
|
39
|
+
"components": [
|
|
40
|
+
0.9568627450980393, 0.9568627450980393, 0.9490196078431372
|
|
41
|
+
],
|
|
42
|
+
"hex": "#f4f4f2"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"line": {
|
|
46
|
+
"$value": {
|
|
47
|
+
"colorSpace": "srgb",
|
|
48
|
+
"components": [
|
|
49
|
+
0.8196078431372549, 0.8196078431372549, 0.8196078431372549
|
|
50
|
+
],
|
|
51
|
+
"hex": "#d1d1d1"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"control-line": {
|
|
55
|
+
"$value": {
|
|
56
|
+
"colorSpace": "srgb",
|
|
57
|
+
"components": [
|
|
58
|
+
0.5803921568627451, 0.5803921568627451, 0.5803921568627451
|
|
59
|
+
],
|
|
60
|
+
"hex": "#949494"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"placeholder": {
|
|
64
|
+
"$value": {
|
|
65
|
+
"colorSpace": "srgb",
|
|
66
|
+
"components": [
|
|
67
|
+
0.4627450980392157, 0.4627450980392157, 0.4627450980392157
|
|
68
|
+
],
|
|
69
|
+
"hex": "#767676"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"signal": {
|
|
73
|
+
"$value": {
|
|
74
|
+
"colorSpace": "srgb",
|
|
75
|
+
"components": [
|
|
76
|
+
0.27058823529411763, 0.27058823529411763, 0.27058823529411763
|
|
77
|
+
],
|
|
78
|
+
"hex": "#454545"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"warning": {
|
|
82
|
+
"$value": {
|
|
83
|
+
"colorSpace": "srgb",
|
|
84
|
+
"components": [
|
|
85
|
+
0.5411764705882353, 0.41568627450980394, 0.07058823529411765
|
|
86
|
+
],
|
|
87
|
+
"hex": "#8a6a12"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"success": {
|
|
91
|
+
"$value": {
|
|
92
|
+
"colorSpace": "srgb",
|
|
93
|
+
"components": [
|
|
94
|
+
0.2196078431372549, 0.43529411764705883, 0.1411764705882353
|
|
95
|
+
],
|
|
96
|
+
"hex": "#386f24"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"danger": {
|
|
100
|
+
"$value": {
|
|
101
|
+
"colorSpace": "srgb",
|
|
102
|
+
"components": [
|
|
103
|
+
0.6078431372549019, 0.17254901960784313, 0.17254901960784313
|
|
104
|
+
],
|
|
105
|
+
"hex": "#9b2c2c"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"info": {
|
|
109
|
+
"$value": {
|
|
110
|
+
"colorSpace": "srgb",
|
|
111
|
+
"components": [0.2, 0.3137254901960784, 0.611764705882353],
|
|
112
|
+
"hex": "#33509c"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"sage": {
|
|
116
|
+
"$value": {
|
|
117
|
+
"colorSpace": "srgb",
|
|
118
|
+
"components": [
|
|
119
|
+
0.8627450980392157, 0.9098039215686274, 0.8313725490196079
|
|
120
|
+
],
|
|
121
|
+
"hex": "#dce8d4"
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"sage-ink": {
|
|
125
|
+
"$value": {
|
|
126
|
+
"colorSpace": "srgb",
|
|
127
|
+
"components": [
|
|
128
|
+
0.1843137254901961, 0.2901960784313726, 0.1607843137254902
|
|
129
|
+
],
|
|
130
|
+
"hex": "#2f4a29"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"slate": {
|
|
134
|
+
"$value": {
|
|
135
|
+
"colorSpace": "srgb",
|
|
136
|
+
"components": [
|
|
137
|
+
0.8588235294117647, 0.8980392156862745, 0.9372549019607843
|
|
138
|
+
],
|
|
139
|
+
"hex": "#dbe5ef"
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"slate-ink": {
|
|
143
|
+
"$value": {
|
|
144
|
+
"colorSpace": "srgb",
|
|
145
|
+
"components": [
|
|
146
|
+
0.19607843137254902, 0.2823529411764706, 0.3764705882352941
|
|
147
|
+
],
|
|
148
|
+
"hex": "#324860"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"ochre": {
|
|
152
|
+
"$value": {
|
|
153
|
+
"colorSpace": "srgb",
|
|
154
|
+
"components": [
|
|
155
|
+
0.9411764705882353, 0.8901960784313725, 0.7686274509803922
|
|
156
|
+
],
|
|
157
|
+
"hex": "#f0e3c4"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"ochre-ink": {
|
|
161
|
+
"$value": {
|
|
162
|
+
"colorSpace": "srgb",
|
|
163
|
+
"components": [0.4, 0.2980392156862745, 0.08627450980392157],
|
|
164
|
+
"hex": "#664c16"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"clay": {
|
|
168
|
+
"$value": {
|
|
169
|
+
"colorSpace": "srgb",
|
|
170
|
+
"components": [
|
|
171
|
+
0.9411764705882353, 0.8588235294117647, 0.8156862745098039
|
|
172
|
+
],
|
|
173
|
+
"hex": "#f0dbd0"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"clay-ink": {
|
|
177
|
+
"$value": {
|
|
178
|
+
"colorSpace": "srgb",
|
|
179
|
+
"components": [
|
|
180
|
+
0.4549019607843137, 0.2627450980392157, 0.1843137254901961
|
|
181
|
+
],
|
|
182
|
+
"hex": "#74432f"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"mauve": {
|
|
186
|
+
"$value": {
|
|
187
|
+
"colorSpace": "srgb",
|
|
188
|
+
"components": [
|
|
189
|
+
0.9098039215686274, 0.8627450980392157, 0.9254901960784314
|
|
190
|
+
],
|
|
191
|
+
"hex": "#e8dcec"
|
|
192
|
+
}
|
|
193
|
+
},
|
|
194
|
+
"mauve-ink": {
|
|
195
|
+
"$value": {
|
|
196
|
+
"colorSpace": "srgb",
|
|
197
|
+
"components": [
|
|
198
|
+
0.3686274509803922, 0.25098039215686274, 0.40784313725490196
|
|
199
|
+
],
|
|
200
|
+
"hex": "#5e4068"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"stone": {
|
|
204
|
+
"$value": {
|
|
205
|
+
"colorSpace": "srgb",
|
|
206
|
+
"components": [
|
|
207
|
+
0.9019607843137255, 0.8901960784313725, 0.8588235294117647
|
|
208
|
+
],
|
|
209
|
+
"hex": "#e6e3db"
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"stone-ink": {
|
|
213
|
+
"$value": {
|
|
214
|
+
"colorSpace": "srgb",
|
|
215
|
+
"components": [
|
|
216
|
+
0.30980392156862746, 0.2980392156862745, 0.2627450980392157
|
|
217
|
+
],
|
|
218
|
+
"hex": "#4f4c43"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"paper": {
|
|
222
|
+
"$value": {
|
|
223
|
+
"colorSpace": "srgb",
|
|
224
|
+
"components": [
|
|
225
|
+
0.9490196078431372, 0.9294117647058824, 0.8862745098039215
|
|
226
|
+
],
|
|
227
|
+
"hex": "#f2ede2"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"sheet": {
|
|
231
|
+
"$value": {
|
|
232
|
+
"colorSpace": "srgb",
|
|
233
|
+
"components": [
|
|
234
|
+
0.9725490196078431, 0.9607843137254902, 0.9333333333333333
|
|
235
|
+
],
|
|
236
|
+
"hex": "#f8f5ee"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"ink-70": {
|
|
240
|
+
"$value": {
|
|
241
|
+
"colorSpace": "srgb",
|
|
242
|
+
"components": [
|
|
243
|
+
0.28627450980392155, 0.2784313725490196, 0.26666666666666666
|
|
244
|
+
],
|
|
245
|
+
"hex": "#494744"
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"ink-35": {
|
|
249
|
+
"$value": {
|
|
250
|
+
"colorSpace": "srgb",
|
|
251
|
+
"components": [
|
|
252
|
+
0.615686274509804, 0.6039215686274509, 0.5764705882352941
|
|
253
|
+
],
|
|
254
|
+
"hex": "#9d9a93"
|
|
255
|
+
}
|
|
256
|
+
},
|
|
257
|
+
"ink-18": {
|
|
258
|
+
"$value": {
|
|
259
|
+
"colorSpace": "srgb",
|
|
260
|
+
"components": [
|
|
261
|
+
0.7764705882352941, 0.7607843137254902, 0.7254901960784313
|
|
262
|
+
],
|
|
263
|
+
"hex": "#c6c2b9"
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"yellow": {
|
|
267
|
+
"$value": {
|
|
268
|
+
"colorSpace": "srgb",
|
|
269
|
+
"components": [1, 0.9098039215686274, 0],
|
|
270
|
+
"hex": "#ffe800"
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"font": {
|
|
275
|
+
"$type": "fontFamily",
|
|
276
|
+
"display": {
|
|
277
|
+
"$value": [
|
|
278
|
+
"Big Shoulders Display",
|
|
279
|
+
"Arial Narrow",
|
|
280
|
+
"Helvetica Neue",
|
|
281
|
+
"Arial",
|
|
282
|
+
"sans-serif"
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
"body": {
|
|
286
|
+
"$value": ["Archivo", "ui-sans-serif", "system-ui", "sans-serif"]
|
|
287
|
+
},
|
|
288
|
+
"mono": {
|
|
289
|
+
"$value": ["Spline Sans Mono", "ui-monospace", "Menlo", "monospace"]
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"size": {
|
|
293
|
+
"$type": "dimension",
|
|
294
|
+
"11": { "$value": { "value": 11, "unit": "px" } },
|
|
295
|
+
"12": { "$value": { "value": 12, "unit": "px" } },
|
|
296
|
+
"14": { "$value": { "value": 14, "unit": "px" } },
|
|
297
|
+
"15": { "$value": { "value": 15, "unit": "px" } },
|
|
298
|
+
"18": { "$value": { "value": 18, "unit": "px" } },
|
|
299
|
+
"24": { "$value": { "value": 24, "unit": "px" } },
|
|
300
|
+
"32": { "$value": { "value": 32, "unit": "px" } }
|
|
301
|
+
},
|
|
302
|
+
"dimension": {
|
|
303
|
+
"$type": "dimension",
|
|
304
|
+
"zero": { "$value": { "value": 0, "unit": "px" } },
|
|
305
|
+
"one": { "$value": { "value": 1, "unit": "px" } },
|
|
306
|
+
"two": { "$value": { "value": 2, "unit": "px" } },
|
|
307
|
+
"three": { "$value": { "value": 3, "unit": "px" } }
|
|
308
|
+
},
|
|
309
|
+
"space": {
|
|
310
|
+
"$type": "dimension",
|
|
311
|
+
"4": { "$value": { "value": 4, "unit": "px" } },
|
|
312
|
+
"6": { "$value": { "value": 6, "unit": "px" } },
|
|
313
|
+
"8": { "$value": { "value": 8, "unit": "px" } },
|
|
314
|
+
"10": { "$value": { "value": 10, "unit": "px" } },
|
|
315
|
+
"12": { "$value": { "value": 12, "unit": "px" } },
|
|
316
|
+
"16": { "$value": { "value": 16, "unit": "px" } },
|
|
317
|
+
"20": { "$value": { "value": 20, "unit": "px" } },
|
|
318
|
+
"24": { "$value": { "value": 24, "unit": "px" } },
|
|
319
|
+
"32": { "$value": { "value": 32, "unit": "px" } }
|
|
320
|
+
},
|
|
321
|
+
"component-size": {
|
|
322
|
+
"$type": "dimension",
|
|
323
|
+
"control": { "$value": { "value": 44, "unit": "px" } },
|
|
324
|
+
"textarea": { "$value": { "value": 96, "unit": "px" } },
|
|
325
|
+
"modal": { "$value": { "value": 480, "unit": "px" } }
|
|
326
|
+
},
|
|
327
|
+
"layer": {
|
|
328
|
+
"$type": "number",
|
|
329
|
+
"modal": { "$value": 50 }
|
|
330
|
+
},
|
|
331
|
+
"weight": {
|
|
332
|
+
"$type": "fontWeight",
|
|
333
|
+
"regular": { "$value": 400 },
|
|
334
|
+
"medium": { "$value": 500 },
|
|
335
|
+
"semibold": { "$value": 600 },
|
|
336
|
+
"bold": { "$value": 700 },
|
|
337
|
+
"black": { "$value": 900 }
|
|
338
|
+
},
|
|
339
|
+
"ratio": {
|
|
340
|
+
"$type": "number",
|
|
341
|
+
"display": { "$value": 1 },
|
|
342
|
+
"body": { "$value": 1.45 },
|
|
343
|
+
"copy": { "$value": 1.4 },
|
|
344
|
+
"label": { "$value": 1.25 },
|
|
345
|
+
"grain": { "$value": 0.1 },
|
|
346
|
+
"hover": { "$value": 0.05 },
|
|
347
|
+
"overlay": { "$value": 0.4 },
|
|
348
|
+
"disabled": { "$value": 0.55 },
|
|
349
|
+
"tracking-control": { "$value": 0.08 },
|
|
350
|
+
"tracking-label": { "$value": 0.12 },
|
|
351
|
+
"tracking-panel": { "$value": 0.14 }
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|