@calibrate-ds/generator-react 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.
Files changed (85) hide show
  1. package/dist/components/generate-component-css.d.ts +6 -0
  2. package/dist/components/generate-component-css.d.ts.map +1 -0
  3. package/dist/components/generate-component-css.js +97 -0
  4. package/dist/components/generate-component-css.js.map +1 -0
  5. package/dist/components/generate-component-file.d.ts +8 -0
  6. package/dist/components/generate-component-file.d.ts.map +1 -0
  7. package/dist/components/generate-component-file.js +216 -0
  8. package/dist/components/generate-component-file.js.map +1 -0
  9. package/dist/components/generate-composite-file.d.ts +3 -0
  10. package/dist/components/generate-composite-file.d.ts.map +1 -0
  11. package/dist/components/generate-composite-file.js +78 -0
  12. package/dist/components/generate-composite-file.js.map +1 -0
  13. package/dist/components/generate-composite-types.d.ts +7 -0
  14. package/dist/components/generate-composite-types.d.ts.map +1 -0
  15. package/dist/components/generate-composite-types.js +44 -0
  16. package/dist/components/generate-composite-types.js.map +1 -0
  17. package/dist/components/generate-types-file.d.ts +8 -0
  18. package/dist/components/generate-types-file.d.ts.map +1 -0
  19. package/dist/components/generate-types-file.js +65 -0
  20. package/dist/components/generate-types-file.js.map +1 -0
  21. package/dist/components/helpers.d.ts +33 -0
  22. package/dist/components/helpers.d.ts.map +1 -0
  23. package/dist/components/helpers.js +124 -0
  24. package/dist/components/helpers.js.map +1 -0
  25. package/dist/components/index.d.ts +9 -0
  26. package/dist/components/index.d.ts.map +1 -0
  27. package/dist/components/index.js +10 -0
  28. package/dist/components/index.js.map +1 -0
  29. package/dist/components/layout-jsx.d.ts +14 -0
  30. package/dist/components/layout-jsx.d.ts.map +1 -0
  31. package/dist/components/layout-jsx.js +265 -0
  32. package/dist/components/layout-jsx.js.map +1 -0
  33. package/dist/components/prune-components.d.ts +10 -0
  34. package/dist/components/prune-components.d.ts.map +1 -0
  35. package/dist/components/prune-components.js +69 -0
  36. package/dist/components/prune-components.js.map +1 -0
  37. package/dist/components/token-helpers.d.ts +32 -0
  38. package/dist/components/token-helpers.d.ts.map +1 -0
  39. package/dist/components/token-helpers.js +188 -0
  40. package/dist/components/token-helpers.js.map +1 -0
  41. package/dist/components/write-components.d.ts +17 -0
  42. package/dist/components/write-components.d.ts.map +1 -0
  43. package/dist/components/write-components.js +218 -0
  44. package/dist/components/write-components.js.map +1 -0
  45. package/dist/index.d.ts +6 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +14 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/scaffold/generate-placeholder-component-content.d.ts +9 -0
  50. package/dist/scaffold/generate-placeholder-component-content.d.ts.map +1 -0
  51. package/dist/scaffold/generate-placeholder-component-content.js +68 -0
  52. package/dist/scaffold/generate-placeholder-component-content.js.map +1 -0
  53. package/dist/scaffold/index.d.ts +3 -0
  54. package/dist/scaffold/index.d.ts.map +1 -0
  55. package/dist/scaffold/index.js +3 -0
  56. package/dist/scaffold/index.js.map +1 -0
  57. package/dist/scaffold/write-scaffold.d.ts +14 -0
  58. package/dist/scaffold/write-scaffold.d.ts.map +1 -0
  59. package/dist/scaffold/write-scaffold.js +93 -0
  60. package/dist/scaffold/write-scaffold.js.map +1 -0
  61. package/dist/test-css-tokens.d.ts +2 -0
  62. package/dist/test-css-tokens.d.ts.map +1 -0
  63. package/dist/test-css-tokens.js +39 -0
  64. package/dist/test-css-tokens.js.map +1 -0
  65. package/dist/tokens/generate-token-css.d.ts +30 -0
  66. package/dist/tokens/generate-token-css.d.ts.map +1 -0
  67. package/dist/tokens/generate-token-css.js +367 -0
  68. package/dist/tokens/generate-token-css.js.map +1 -0
  69. package/dist/tokens/generate-token-file-content.d.ts +6 -0
  70. package/dist/tokens/generate-token-file-content.d.ts.map +1 -0
  71. package/dist/tokens/generate-token-file-content.js +27 -0
  72. package/dist/tokens/generate-token-file-content.js.map +1 -0
  73. package/dist/tokens/generate-typography-css.d.ts +3 -0
  74. package/dist/tokens/generate-typography-css.d.ts.map +1 -0
  75. package/dist/tokens/generate-typography-css.js +106 -0
  76. package/dist/tokens/generate-typography-css.js.map +1 -0
  77. package/dist/tokens/index.d.ts +5 -0
  78. package/dist/tokens/index.d.ts.map +1 -0
  79. package/dist/tokens/index.js +5 -0
  80. package/dist/tokens/index.js.map +1 -0
  81. package/dist/tokens/write-tokens.d.ts +7 -0
  82. package/dist/tokens/write-tokens.d.ts.map +1 -0
  83. package/dist/tokens/write-tokens.js +115 -0
  84. package/dist/tokens/write-tokens.js.map +1 -0
  85. package/package.json +35 -0
@@ -0,0 +1,93 @@
1
+ import * as path from "node:path";
2
+ import { ensureDir, writeJson, writeText } from "@calibrate-ds/core";
3
+ import { generateTokenFileContent, generateUnifiedTokenCssContent } from "../tokens/index.js";
4
+ import { generateMainComponentContent, generateTypesContent, generateStoriesContent, generateTestsContent, generateIndexContent } from "./generate-placeholder-component-content.js";
5
+ /**
6
+ * Orchestrates writing the complete design system codebase to the filesystem.
7
+ */
8
+ export async function writeScaffold(args) {
9
+ const { config, model, registry, graph, mappings, plan } = args;
10
+ const rootDir = config.project.rootDir || process.cwd();
11
+ const report = {
12
+ createdDirectories: [],
13
+ createdFiles: [],
14
+ skippedFiles: [],
15
+ writtenMetadataFiles: [],
16
+ };
17
+ // 1. Ensure Metadata directory exists
18
+ const metadataAbsPath = path.resolve(rootDir, config.output.metadataDir);
19
+ await ensureDir(metadataAbsPath);
20
+ report.createdDirectories.push(config.output.metadataDir);
21
+ // 2. Write Snapshot Metadata files (always overwrite)
22
+ const metadataFiles = [
23
+ "design-system.model.json",
24
+ "component-registry.json",
25
+ "dependency-graph.json",
26
+ "scaffold-plan.json"
27
+ ];
28
+ await writeJson(path.join(metadataAbsPath, metadataFiles[0]), model);
29
+ await writeJson(path.join(metadataAbsPath, metadataFiles[1]), registry);
30
+ await writeJson(path.join(metadataAbsPath, metadataFiles[2]), graph);
31
+ await writeJson(path.join(metadataAbsPath, metadataFiles[3]), plan);
32
+ report.writtenMetadataFiles.push(...metadataFiles.map(f => path.join(config.output.metadataDir, f)));
33
+ // 3. Ensure all target Scaffold Directories exist
34
+ for (const dirPath of plan.directories) {
35
+ const absDirPath = path.resolve(rootDir, dirPath);
36
+ await ensureDir(absDirPath);
37
+ report.createdDirectories.push(dirPath);
38
+ }
39
+ // 4. Create Scaffold Files Safely
40
+ for (const filePlan of plan.files) {
41
+ const absFilePath = path.resolve(rootDir, filePlan.filePath);
42
+ let contentToWrite = filePlan.contentPlaceholder;
43
+ // Provide sensible default logic depending on the filePlan type
44
+ if (filePlan.type === "tokens") {
45
+ const fileName = path.basename(filePlan.filePath);
46
+ if (fileName === "tokens.css") {
47
+ const { content } = generateUnifiedTokenCssContent(model);
48
+ contentToWrite = content;
49
+ }
50
+ else {
51
+ // Find the associated token collection
52
+ const tokenBaseName = path.basename(filePlan.filePath, ".ts");
53
+ const targetCollection = model.tokens.find(t => t.name.toLowerCase().replace(/[^a-z0-9]/g, "") === tokenBaseName.toLowerCase().replace(/[^a-z0-9]/g, ""));
54
+ if (targetCollection) {
55
+ contentToWrite = generateTokenFileContent(targetCollection);
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ const parsed = path.parse(filePlan.filePath);
61
+ const cleanName = parsed.name.split(".")[0] || "Unknown";
62
+ switch (filePlan.type) {
63
+ case "react-component":
64
+ contentToWrite = generateMainComponentContent(cleanName, config.framework.typescript);
65
+ break;
66
+ case "types":
67
+ contentToWrite = generateTypesContent(cleanName);
68
+ break;
69
+ case "stories":
70
+ contentToWrite = generateStoriesContent(cleanName, config.framework.typescript);
71
+ break;
72
+ case "tests":
73
+ contentToWrite = generateTestsContent(cleanName);
74
+ break;
75
+ case "index":
76
+ contentToWrite = generateIndexContent(cleanName);
77
+ break;
78
+ }
79
+ }
80
+ // Attempt to write text natively. `overwrite: false` protects user code
81
+ const wasWritten = await writeText(absFilePath, contentToWrite, { overwrite: false });
82
+ if (wasWritten) {
83
+ report.createdFiles.push(filePlan.filePath);
84
+ }
85
+ else {
86
+ report.skippedFiles.push(filePlan.filePath);
87
+ }
88
+ }
89
+ // De-duplicate directories safely for cleaner reporting
90
+ report.createdDirectories = Array.from(new Set(report.createdDirectories));
91
+ return report;
92
+ }
93
+ //# sourceMappingURL=write-scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-scaffold.js","sourceRoot":"","sources":["../../src/scaffold/write-scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test-css-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-css-tokens.d.ts","sourceRoot":"","sources":["../src/test-css-tokens.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { generateTokenCssContent } from "./tokens/generate-token-css.js";
2
+ const mockModel = {
3
+ name: "Mapped Collection",
4
+ id: "mapped-id",
5
+ tokens: [
6
+ // Mode A references Mode B
7
+ {
8
+ id: "VariableID:mapped-alias",
9
+ name: "mapped-alias",
10
+ type: "spacing",
11
+ value: { "Mode A": { id: "VariableID:scalar-alias" } }
12
+ },
13
+ // Direct reference
14
+ {
15
+ id: "scalar-alias",
16
+ name: "scalar-alias",
17
+ type: "spacing",
18
+ value: { id: "VariableID:pure-scalar" }
19
+ },
20
+ // Actual scalar
21
+ {
22
+ id: "pure-scalar",
23
+ name: "pure-scalar",
24
+ type: "spacing",
25
+ value: { "Default": { value: 32 } } // Structured scalar with mode!
26
+ }
27
+ ]
28
+ };
29
+ const output = generateTokenCssContent(mockModel);
30
+ console.log(output);
31
+ if (output.includes("--ptb-mapped-collection-mapped-alias: 32px;")) {
32
+ console.log("✅ Recursive alias resolution test passed.");
33
+ process.exit(0);
34
+ }
35
+ else {
36
+ console.log("❌ Recursive alias resolution test failed.");
37
+ process.exit(1);
38
+ }
39
+ //# sourceMappingURL=test-css-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-css-tokens.js","sourceRoot":"","sources":["../src/test-css-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,MAAM,SAAS,GAAG;IACd,IAAI,EAAE,mBAAmB;IACzB,EAAE,EAAE,WAAW;IACf,MAAM,EAAE;QACJ,2BAA2B;QAC3B;YACI,EAAE,EAAE,yBAAyB;YAC7B,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE;SACzD;QACD,mBAAmB;QACnB;YACI,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE,EAAE,EAAE,wBAAwB,EAAE;SAC1C;QACD,gBAAgB;QAChB;YACI,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,+BAA+B;SACtE;KACJ;CACJ,CAAC;AAEF,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAgB,CAAC,CAAC;AACzD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAEpB,IAAI,MAAM,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;KAAM,CAAC;IACJ,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { DesignSystemModel, TokenCollection, DesignToken } from "@calibrate-ds/shared-types";
2
+ /**
3
+ * Generates vanilla CSS Variables content for a specific Token Collection.
4
+ *
5
+ * When richGlobalMap is provided (a collection-aware map built across all collections):
6
+ * - Alias tokens emit var(--ptb-next-layer-token) preserving the CSS cascade architecture
7
+ * - Primitive tokens emit the resolved scalar value with correct units
8
+ *
9
+ * Without richGlobalMap, falls back to resolving terminal values (same as before).
10
+ */
11
+ export declare function generateTokenCssContent(collection: TokenCollection, richGlobalMap?: Map<string, {
12
+ token: DesignToken;
13
+ collectionName: string;
14
+ }>): string;
15
+ /**
16
+ * Generates a unified CSS Variables file containing all tokens from all collections.
17
+ * Correctly resolves alias chains across the entire model and applies units.
18
+ */
19
+ export declare function generateUnifiedTokenCssContent(model: DesignSystemModel): {
20
+ content: string;
21
+ metrics: {
22
+ resolved: number;
23
+ unresolved: number;
24
+ nonScalar: number;
25
+ cycles: number;
26
+ withUnits: number;
27
+ unitless: number;
28
+ };
29
+ };
30
+ //# sourceMappingURL=generate-token-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-token-css.d.ts","sourceRoot":"","sources":["../../src/tokens/generate-token-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAoPlG;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,eAAe,EAC3B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5E,MAAM,CA+CR;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,iBAAiB,GAAG;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAA;CACJ,CA8FA"}
@@ -0,0 +1,367 @@
1
+ import { getPTBTokenVariableName } from "@calibrate-ds/core";
2
+ function getActiveValue(value) {
3
+ if (value === null || value === undefined)
4
+ return value;
5
+ if (typeof value !== "object")
6
+ return value;
7
+ // Check if it's an explicit alias reference
8
+ if ('id' in value && typeof value.id === "string")
9
+ return value;
10
+ // Check for RGBA color object
11
+ if ('r' in value && 'g' in value && 'b' in value)
12
+ return value;
13
+ // Check for structured primitive value
14
+ if ('value' in value)
15
+ return getActiveValue(value.value);
16
+ // Otherwise, assume it's a mode map
17
+ const keys = Object.keys(value);
18
+ if (keys.length > 0) {
19
+ for (const key of keys) {
20
+ if (key.toLowerCase().includes("default") || key === "0") {
21
+ return getActiveValue(value[key]);
22
+ }
23
+ }
24
+ return getActiveValue(value[keys[0]]);
25
+ }
26
+ return value;
27
+ }
28
+ /**
29
+ * Recursively resolves a token's final scalar value by following alias links and ID references.
30
+ */
31
+ function resolveTokenValue(token, allTokens, visited = new Set()) {
32
+ if (visited.has(token.id))
33
+ return { value: null, status: "cycle" };
34
+ visited.add(token.id);
35
+ // 1. Follow explicit aliasTargetId
36
+ if (token.aliasTargetId) {
37
+ const target = allTokens.get(token.aliasTargetId);
38
+ if (target)
39
+ return resolveTokenValue(target, allTokens, visited);
40
+ return { value: null, status: "unresolved" };
41
+ }
42
+ const activeRawValue = getActiveValue(token.value);
43
+ // 2. Follow extracted value object reference { id: "..." }
44
+ if (typeof activeRawValue === "object" && activeRawValue !== null && 'id' in activeRawValue && typeof activeRawValue.id === "string") {
45
+ const idToLookup = activeRawValue.id.replace(/^VariableID:/i, "");
46
+ const target = allTokens.get(idToLookup) || allTokens.get(activeRawValue.id);
47
+ if (target)
48
+ return resolveTokenValue(target, allTokens, visited);
49
+ return { value: null, status: "unresolved" };
50
+ }
51
+ // 3. Extracted RGBA color check
52
+ if (typeof activeRawValue === "object" && activeRawValue !== null && 'r' in activeRawValue && 'g' in activeRawValue && 'b' in activeRawValue) {
53
+ const r = Math.round(activeRawValue.r * 255);
54
+ const g = Math.round(activeRawValue.g * 255);
55
+ const b = Math.round(activeRawValue.b * 255);
56
+ const a = typeof activeRawValue.a === 'number' ? activeRawValue.a : 1;
57
+ if (a < 1) {
58
+ return { value: `rgba(${r}, ${g}, ${b}, ${a})`, status: "resolved" };
59
+ }
60
+ else {
61
+ const toHex = (c) => {
62
+ const hex = c.toString(16);
63
+ return hex.length === 1 ? "0" + hex : hex;
64
+ };
65
+ return { value: `#${toHex(r)}${toHex(g)}${toHex(b)}`.toUpperCase(), status: "resolved" };
66
+ }
67
+ }
68
+ // 4. Check for structured/non-scalar objects (Typography strings left, etc)
69
+ if (typeof activeRawValue === "object" && activeRawValue !== null) {
70
+ return { value: null, status: "non-scalar" };
71
+ }
72
+ // 5. Handle primitive scalars (Strings/Numbers)
73
+ if (typeof activeRawValue === "string" || typeof activeRawValue === "number") {
74
+ if (typeof activeRawValue === "string" && activeRawValue.includes("VariableID:")) {
75
+ const idToLookup = activeRawValue.replace(/^VariableID:/i, "");
76
+ const target = allTokens.get(idToLookup) || allTokens.get(activeRawValue);
77
+ if (target)
78
+ return resolveTokenValue(target, allTokens, visited);
79
+ return { value: null, status: "unresolved" };
80
+ }
81
+ return { value: activeRawValue, status: "resolved" };
82
+ }
83
+ return { value: null, status: "unresolved" };
84
+ }
85
+ /**
86
+ * Common design-tool fonts → web-safe CSS font stacks.
87
+ * Keyed by lowercase font family name.
88
+ */
89
+ const FONT_FALLBACKS = {
90
+ "sf pro": "-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
91
+ "sf pro display": "-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
92
+ "sf pro text": "-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
93
+ "sf pro rounded": "-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
94
+ "sf mono": "\"SF Mono\", ui-monospace, SFMono-Regular, Menlo, Monaco, \"Cascadia Mono\", monospace",
95
+ "new york": "\"New York\", Georgia, \"Times New Roman\", serif",
96
+ "inter": "\"Helvetica Neue\", Arial, sans-serif",
97
+ "roboto": "\"Helvetica Neue\", Arial, sans-serif",
98
+ "roboto mono": "ui-monospace, monospace",
99
+ "open sans": "\"Helvetica Neue\", Arial, sans-serif",
100
+ "lato": "\"Helvetica Neue\", Arial, sans-serif",
101
+ "poppins": "\"Helvetica Neue\", Arial, sans-serif",
102
+ "nunito": "\"Helvetica Neue\", Arial, sans-serif",
103
+ "source sans pro": "\"Helvetica Neue\", Arial, sans-serif",
104
+ "source code pro": "ui-monospace, monospace",
105
+ "fira code": "ui-monospace, monospace",
106
+ "jetbrains mono": "ui-monospace, monospace",
107
+ "helvetica neue": "Helvetica, Arial, sans-serif",
108
+ "helvetica": "Arial, sans-serif",
109
+ "georgia": "\"Times New Roman\", serif",
110
+ };
111
+ /**
112
+ * Wraps a font family name in quotes (if needed) and appends web-safe fallbacks.
113
+ */
114
+ function applyFontFallbacks(fontFamily) {
115
+ const key = fontFamily.toLowerCase().trim();
116
+ const known = FONT_FALLBACKS[key];
117
+ // Quote the primary font if it contains a space
118
+ const quoted = fontFamily.includes(" ") ? `"${fontFamily}"` : fontFamily;
119
+ if (known)
120
+ return `${quoted}, ${known}`;
121
+ // Generic fallback by font category guess
122
+ if (key.includes("mono") || key.includes("code") || key.includes("console")) {
123
+ return `${quoted}, ui-monospace, "Cascadia Code", monospace`;
124
+ }
125
+ if ((key.includes("serif") && !key.includes("sans")) || key.includes("georgia") || key.includes("times")) {
126
+ return `${quoted}, Georgia, "Times New Roman", serif`;
127
+ }
128
+ // Default: sans-serif stack
129
+ return `${quoted}, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif`;
130
+ }
131
+ /**
132
+ * Formats a resolved scalar value for CSS output (px suffix, units, font fallbacks).
133
+ */
134
+ function formatCssValue(value, type, name) {
135
+ if (typeof value === "number") {
136
+ const lowerName = name.toLowerCase();
137
+ const lowerType = type.toLowerCase().replace(/[^a-z0-9]+/g, "");
138
+ // Always unitless: font weights (100–900), opacity (0–1), z-index, counters
139
+ const isUnitless = lowerName.includes("weight") ||
140
+ lowerName.includes("opacity") ||
141
+ lowerName.includes("z-index") ||
142
+ lowerName.includes("zindex") ||
143
+ lowerName.includes("index") ||
144
+ lowerName.includes("ratio") ||
145
+ lowerName.includes("columns") ||
146
+ lowerType.includes("fontweight") ||
147
+ lowerType.includes("opacity");
148
+ if (isUnitless)
149
+ return `${value}`;
150
+ // Line-height: unitless when < 10 (multiplier form), px otherwise
151
+ if (lowerType.includes("lineheight") || lowerName.includes("line-height") || lowerName.includes("lineheight")) {
152
+ return value < 10 ? `${value}` : `${value}px`;
153
+ }
154
+ const dimensionTypes = [
155
+ "spacing", "radius", "sizing", "borderwidth", "fontsize",
156
+ "dimension", "padding", "margin", "gap", "width", "height", "top", "right", "bottom", "left"
157
+ ];
158
+ if (dimensionTypes.some(t => lowerType.includes(t)))
159
+ return `${value}px`;
160
+ if (lowerName.includes("spacing") ||
161
+ lowerName.includes("radius") ||
162
+ lowerName.includes("width") ||
163
+ lowerName.includes("height") ||
164
+ lowerName.includes("size") ||
165
+ lowerName.includes("gap") ||
166
+ lowerName.includes("padding") ||
167
+ lowerName.includes("margin") ||
168
+ lowerName.includes("scale"))
169
+ return `${value}px`;
170
+ // Name ends with -<N> (e.g. "border-4", "gap-16") — treat as dimension
171
+ // Guarded by isUnitless above, so weight-400, z-index-100 never reach here
172
+ if (/[-_]\d+$/.test(lowerName))
173
+ return `${value}px`;
174
+ return `${value}`;
175
+ }
176
+ // String: apply font fallbacks for font-family tokens
177
+ if (typeof value === "string") {
178
+ const nameLC = name.toLowerCase();
179
+ if (nameLC.includes("font") || nameLC.includes("family") || nameLC.includes("typeface")) {
180
+ return applyFontFallbacks(value);
181
+ }
182
+ return value;
183
+ }
184
+ return String(value);
185
+ }
186
+ /**
187
+ * Returns the CSS variable name for the direct alias target of a token (one hop only),
188
+ * preserving the cascade architecture: mapped → var(--alias-x) → var(--brand-y) → #hex.
189
+ * Returns null if the token is not an alias.
190
+ */
191
+ function getDirectAliasVarName(token, richMap) {
192
+ let targetId = null;
193
+ if (token.aliasTargetId) {
194
+ targetId = token.aliasTargetId;
195
+ }
196
+ else {
197
+ // Mirror the same extraction logic resolveTokenValue uses via getActiveValue,
198
+ // so that whatever format makes resolution work also triggers the var() path.
199
+ const active = getActiveValue(token.value);
200
+ if (typeof active === "string" && active.includes("VariableID:")) {
201
+ targetId = active.replace(/^VariableID:/i, "");
202
+ }
203
+ else if (typeof active === "object" && active !== null && "id" in active && typeof active.id === "string") {
204
+ // { id: "VariableID:30:592" } — raw Figma API alias format
205
+ targetId = active.id.replace(/^VariableID:/i, "");
206
+ }
207
+ }
208
+ if (!targetId)
209
+ return null;
210
+ // Try stripped and prefixed forms — whichever way the snapshot stored the IDs
211
+ const entry = richMap.get(targetId) ??
212
+ richMap.get(`VariableID:${targetId}`);
213
+ if (!entry)
214
+ return null;
215
+ return getPTBTokenVariableName(entry.collectionName, entry.token.name);
216
+ }
217
+ /**
218
+ * Generates vanilla CSS Variables content for a specific Token Collection.
219
+ *
220
+ * When richGlobalMap is provided (a collection-aware map built across all collections):
221
+ * - Alias tokens emit var(--ptb-next-layer-token) preserving the CSS cascade architecture
222
+ * - Primitive tokens emit the resolved scalar value with correct units
223
+ *
224
+ * Without richGlobalMap, falls back to resolving terminal values (same as before).
225
+ */
226
+ export function generateTokenCssContent(collection, richGlobalMap) {
227
+ // Build a DesignToken-only map for resolveTokenValue (terminal scalar fallback)
228
+ const localMap = new Map(collection.tokens.map(t => [t.id, t]));
229
+ const resolveMap = richGlobalMap
230
+ ? new Map([
231
+ ...Array.from(richGlobalMap.entries()).map(([k, v]) => [k, v.token]),
232
+ ...localMap,
233
+ ])
234
+ : localMap;
235
+ let cssVars = "";
236
+ let skippedCount = 0;
237
+ for (const t of collection.tokens) {
238
+ const varName = getPTBTokenVariableName(collection.name, t.name);
239
+ // 1. Alias token → emit var() reference (one hop) to preserve cascade
240
+ if (richGlobalMap) {
241
+ const aliasVarName = getDirectAliasVarName(t, richGlobalMap);
242
+ if (aliasVarName) {
243
+ cssVars += ` ${varName}: var(${aliasVarName});\n`;
244
+ continue;
245
+ }
246
+ }
247
+ // 2. Primitive token → resolve to terminal scalar
248
+ const { value, status } = resolveTokenValue(t, resolveMap);
249
+ if (status !== "resolved" || value === null) {
250
+ skippedCount++;
251
+ continue;
252
+ }
253
+ // Skip content strings — multi-word string values that are not font families
254
+ if (typeof value === "string" && /\s/.test(value)) {
255
+ const nameLC = t.name.toLowerCase();
256
+ const isFontFamily = nameLC.includes("font") || nameLC.includes("family") || nameLC.includes("typeface");
257
+ if (!isFontFamily) {
258
+ skippedCount++;
259
+ continue;
260
+ }
261
+ }
262
+ cssVars += ` ${varName}: ${formatCssValue(value, t.type, t.name)};\n`;
263
+ }
264
+ const header = `/**\n * Generated Design Tokens: ${collection.name} (CSS Variables)\n * Do not edit. This file is auto-generated by Calibrate.\n */\n`;
265
+ const skippedComment = skippedCount > 0 ? `\n/* Note: ${skippedCount} tokens were skipped from this local CSS output (unresolved or non-scalar). */\n` : "";
266
+ return `${header}${skippedComment}\n:root {\n${cssVars}}\n`;
267
+ }
268
+ /**
269
+ * Generates a unified CSS Variables file containing all tokens from all collections.
270
+ * Correctly resolves alias chains across the entire model and applies units.
271
+ */
272
+ export function generateUnifiedTokenCssContent(model) {
273
+ // Build both maps: rich (collection-aware, for var() references) and flat (for terminal resolution)
274
+ const allTokens = new Map();
275
+ const richAllTokens = new Map();
276
+ for (const collection of model.tokens) {
277
+ for (const t of collection.tokens) {
278
+ const entry = { token: t, collectionName: collection.name };
279
+ allTokens.set(t.id, t);
280
+ richAllTokens.set(t.id, entry);
281
+ const stripped = t.id.replace(/^VariableID:/i, "");
282
+ if (stripped !== t.id) {
283
+ allTokens.set(stripped, t);
284
+ richAllTokens.set(stripped, entry);
285
+ }
286
+ }
287
+ }
288
+ let cssVars = "";
289
+ const metrics = {
290
+ resolved: 0,
291
+ unresolved: 0,
292
+ nonScalar: 0,
293
+ cycles: 0,
294
+ withUnits: 0,
295
+ unitless: 0
296
+ };
297
+ for (const collection of model.tokens) {
298
+ let collectionVars = "";
299
+ let collectionSkipped = 0;
300
+ for (const t of collection.tokens) {
301
+ const varName = getPTBTokenVariableName(collection.name, t.name);
302
+ // Alias token → emit var() to preserve the cascade (theming-safe)
303
+ const aliasVarName = getDirectAliasVarName(t, richAllTokens);
304
+ if (aliasVarName) {
305
+ collectionVars += ` ${varName}: var(${aliasVarName});\n`;
306
+ metrics.resolved++;
307
+ continue;
308
+ }
309
+ // Primitive token → resolve to terminal scalar
310
+ const { value, status } = resolveTokenValue(t, allTokens);
311
+ if (status === "resolved" && value !== null) {
312
+ // Skip content strings that are not font families
313
+ if (typeof value === "string" && /\s/.test(value)) {
314
+ const nameLC = t.name.toLowerCase();
315
+ const isFontFamily = nameLC.includes("font") || nameLC.includes("family") || nameLC.includes("typeface");
316
+ if (!isFontFamily) {
317
+ collectionSkipped++;
318
+ metrics.unresolved++;
319
+ continue;
320
+ }
321
+ }
322
+ const valueStr = formatCssValue(value, t.type, t.name);
323
+ collectionVars += ` ${varName}: ${valueStr};\n`;
324
+ metrics.resolved++;
325
+ if (typeof value === "number") {
326
+ if (valueStr.endsWith("px"))
327
+ metrics.withUnits++;
328
+ else
329
+ metrics.unitless++;
330
+ }
331
+ }
332
+ else {
333
+ collectionSkipped++;
334
+ if (status === "unresolved")
335
+ metrics.unresolved++;
336
+ else if (status === "non-scalar")
337
+ metrics.nonScalar++;
338
+ else if (status === "cycle")
339
+ metrics.cycles++;
340
+ }
341
+ }
342
+ if (collectionVars) {
343
+ cssVars += ` /* Collection: ${collection.name} */\n`;
344
+ if (collectionSkipped > 0)
345
+ cssVars += ` /* (${collectionSkipped} tokens skipped) */\n`;
346
+ cssVars += collectionVars + "\n";
347
+ }
348
+ }
349
+ const content = `/**
350
+ * Generated Design Tokens (Unified CSS Variables)
351
+ * Do not edit. This file is auto-generated by Calibrate.
352
+ *
353
+ * Metrics:
354
+ * - Resolved: ${metrics.resolved}
355
+ * - Applied px units: ${metrics.withUnits}
356
+ * - Emitted as unitless: ${metrics.unitless}
357
+ * - Unresolved references: ${metrics.unresolved}
358
+ * - Non-scalar / structured tokens: ${metrics.nonScalar}
359
+ * - Cycles: ${metrics.cycles}
360
+ */
361
+
362
+ :root {
363
+ ${cssVars}}
364
+ `;
365
+ return { content, metrics };
366
+ }
367
+ //# sourceMappingURL=generate-token-css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-token-css.js","sourceRoot":"","sources":["../../src/tokens/generate-token-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA8B,MAAM,oBAAoB,CAAC;AAEzF,SAAS,cAAc,CAAC,KAAU;IAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5C,4CAA4C;IAC5C,IAAI,IAAI,IAAI,KAAK,IAAI,OAAQ,KAAa,CAAC,EAAE,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEzE,8BAA8B;IAC9B,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IAE/D,uCAAuC;IACvC,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEzD,oCAAoC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvD,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACtB,KAAkB,EAClB,SAAmC,EACnC,UAAU,IAAI,GAAG,EAAU;IAE3B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEtB,mCAAmC;IACnC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,MAAM;YAAE,OAAO,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnD,2DAA2D;IAC3D,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,IAAI,IAAI,IAAI,cAAc,IAAI,OAAQ,cAAsB,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC5I,MAAM,UAAU,GAAI,cAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,GAAG,CAAE,cAAsB,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,MAAM;YAAE,OAAO,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,gCAAgC;IAChC,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,IAAI,GAAG,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3I,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,cAAsB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,cAAsB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,cAAsB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,OAAQ,cAAsB,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,cAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAExF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACR,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC7F,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAChE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACjD,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC3E,IAAI,OAAO,cAAc,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/E,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC1E,IAAI,MAAM;gBAAE,OAAO,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACjE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QACjD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,cAAc,GAA2B;IAC3C,QAAQ,EAAW,0EAA0E;IAC7F,gBAAgB,EAAG,0EAA0E;IAC7F,aAAa,EAAM,0EAA0E;IAC7F,gBAAgB,EAAG,0EAA0E;IAC7F,SAAS,EAAU,wFAAwF;IAC3G,UAAU,EAAS,mDAAmD;IACtE,OAAO,EAAY,uCAAuC;IAC1D,QAAQ,EAAW,uCAAuC;IAC1D,aAAa,EAAM,yBAAyB;IAC5C,WAAW,EAAQ,uCAAuC;IAC1D,MAAM,EAAa,uCAAuC;IAC1D,SAAS,EAAU,uCAAuC;IAC1D,QAAQ,EAAW,uCAAuC;IAC1D,iBAAiB,EAAE,uCAAuC;IAC1D,iBAAiB,EAAE,yBAAyB;IAC5C,WAAW,EAAQ,yBAAyB;IAC5C,gBAAgB,EAAG,yBAAyB;IAC5C,gBAAgB,EAAG,8BAA8B;IACjD,WAAW,EAAQ,mBAAmB;IACtC,SAAS,EAAU,4BAA4B;CAClD,CAAC;AAEF;;GAEG;AACH,SAAS,kBAAkB,CAAC,UAAkB;IAC1C,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IAClC,gDAAgD;IAChD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;IAEzE,IAAI,KAAK;QAAE,OAAO,GAAG,MAAM,KAAK,KAAK,EAAE,CAAC;IAExC,0CAA0C;IAC1C,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1E,OAAO,GAAG,MAAM,4CAA4C,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvG,OAAO,GAAG,MAAM,qCAAqC,CAAC;IAC1D,CAAC;IACD,4BAA4B;IAC5B,OAAO,GAAG,MAAM,0EAA0E,CAAC;AAC/F,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,KAAsB,EAAE,IAAY,EAAE,IAAY;IACtE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAEhE,4EAA4E;QAC5E,MAAM,UAAU,GACZ,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;YAChC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,UAAU;YAAE,OAAO,GAAG,KAAK,EAAE,CAAC;QAElC,kEAAkE;QAClE,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5G,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC;QAClD,CAAC;QAED,MAAM,cAAc,GAAG;YACnB,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU;YACxD,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;SAC/F,CAAC;QACF,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,GAAG,KAAK,IAAI,CAAC;QAEzE,IACI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1B,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC7B,OAAO,GAAG,KAAK,IAAI,CAAC;QAEtB,uEAAuE;QACvE,2EAA2E;QAC3E,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,KAAK,IAAI,CAAC;QAEpD,OAAO,GAAG,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACtF,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAC1B,KAAkB,EAClB,OAAoE;IAEpE,IAAI,QAAQ,GAAkB,IAAI,CAAC;IAEnC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACtB,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC;IACnC,CAAC;SAAM,CAAC;QACJ,8EAA8E;QAC9E,8EAA8E;QAC9E,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,OAAQ,MAAc,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YACnH,2DAA2D;YAC3D,QAAQ,GAAI,MAAc,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,8EAA8E;IAC9E,MAAM,KAAK,GACP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,uBAAuB,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACnC,UAA2B,EAC3B,aAA2E;IAE3E,gFAAgF;IAChF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAsB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,UAAU,GAA6B,aAAa;QACtD,CAAC,CAAC,IAAI,GAAG,CAAC;YACN,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAA0B,CAAC;YAC7F,GAAG,QAAQ;SACZ,CAAC;QACJ,CAAC,CAAC,QAAQ,CAAC;IAEf,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAEjE,sEAAsE;QACtE,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE,CAAC;gBACf,OAAO,IAAI,KAAK,OAAO,SAAS,YAAY,MAAM,CAAC;gBACnD,SAAS;YACb,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAE3D,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,YAAY,EAAE,CAAC;YACf,SAAS;QACb,CAAC;QAED,6EAA6E;QAC7E,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACzG,IAAI,CAAC,YAAY,EAAE,CAAC;gBAAC,YAAY,EAAE,CAAC;gBAAC,SAAS;YAAC,CAAC;QACpD,CAAC;QAED,OAAO,IAAI,KAAK,OAAO,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,oCAAoC,UAAU,CAAC,IAAI,oFAAoF,CAAC;IACvJ,MAAM,cAAc,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,YAAY,kFAAkF,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5J,OAAO,GAAG,MAAM,GAAG,cAAc,cAAc,OAAO,KAAK,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,KAAwB;IAWnE,oGAAoG;IACpG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0D,CAAC;IACxF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;YAC5D,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACvB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;gBACpB,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC3B,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,OAAO,GAAG;QACZ,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;KACd,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAEjE,kEAAkE;YAClE,MAAM,YAAY,GAAG,qBAAqB,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAC7D,IAAI,YAAY,EAAE,CAAC;gBACf,cAAc,IAAI,KAAK,OAAO,SAAS,YAAY,MAAM,CAAC;gBAC1D,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YAED,+CAA+C;YAC/C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAE1D,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,kDAAkD;gBAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACpC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzG,IAAI,CAAC,YAAY,EAAE,CAAC;wBAAC,iBAAiB,EAAE,CAAC;wBAAC,OAAO,CAAC,UAAU,EAAE,CAAC;wBAAC,SAAS;oBAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvD,cAAc,IAAI,KAAK,OAAO,KAAK,QAAQ,KAAK,CAAC;gBACjD,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAEnB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,OAAO,CAAC,SAAS,EAAE,CAAC;;wBAC5C,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,iBAAiB,EAAE,CAAC;gBACpB,IAAI,MAAM,KAAK,YAAY;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;qBAC7C,IAAI,MAAM,KAAK,YAAY;oBAAE,OAAO,CAAC,SAAS,EAAE,CAAC;qBACjD,IAAI,MAAM,KAAK,OAAO;oBAAE,OAAO,CAAC,MAAM,EAAE,CAAC;YAClD,CAAC;QACL,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACjB,OAAO,IAAI,oBAAoB,UAAU,CAAC,IAAI,OAAO,CAAC;YACtD,IAAI,iBAAiB,GAAG,CAAC;gBAAE,OAAO,IAAI,SAAS,iBAAiB,uBAAuB,CAAC;YACxF,OAAO,IAAI,cAAc,GAAG,IAAI,CAAC;QACrC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG;;;;;iBAKH,OAAO,CAAC,QAAQ;yBACR,OAAO,CAAC,SAAS;4BACd,OAAO,CAAC,QAAQ;8BACd,OAAO,CAAC,UAAU;uCACT,OAAO,CAAC,SAAS;eACzC,OAAO,CAAC,MAAM;;;;EAI3B,OAAO;CACR,CAAC;IAEE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { TokenCollection } from "@calibrate-ds/shared-types";
2
+ /**
3
+ * Generates TypeScript constant file content for a Token Collection.
4
+ */
5
+ export declare function generateTokenFileContent(collection: TokenCollection): string;
6
+ //# sourceMappingURL=generate-token-file-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-token-file-content.d.ts","sourceRoot":"","sources":["../../src/tokens/generate-token-file-content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAwB5E"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Generates TypeScript constant file content for a Token Collection.
3
+ */
4
+ export function generateTokenFileContent(collection) {
5
+ const safeName = collection.name.replace(/[^a-zA-Z0-9_]/g, "");
6
+ let tokensContent = "";
7
+ for (const t of collection.tokens) {
8
+ // We output only the default mode explicitly initially for a clean shape based on the canonical value
9
+ const jsonValue = JSON.stringify(t.value, null, 4).replace(/\n/g, "\n ");
10
+ tokensContent += `
11
+ "${t.name}": {
12
+ id: "${t.id}",
13
+ name: "${t.name}",
14
+ type: "${t.type}",
15
+ value: ${jsonValue}
16
+ },`;
17
+ }
18
+ return `/**
19
+ * Generated Design Tokens: ${collection.name}
20
+ * Do not edit. This file is auto-generated by Calibrate.
21
+ */
22
+
23
+ export const ${safeName}Tokens = {${tokensContent}
24
+ } as const;
25
+ `;
26
+ }
27
+ //# sourceMappingURL=generate-token-file-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-token-file-content.js","sourceRoot":"","sources":["../../src/tokens/generate-token-file-content.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,UAA2B;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE/D,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAClC,sGAAsG;QACtG,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5E,aAAa,IAAI;KAChB,CAAC,CAAC,IAAI;WACA,CAAC,CAAC,EAAE;aACF,CAAC,CAAC,IAAI;aACN,CAAC,CAAC,IAAI;aACN,SAAS;KACjB,CAAC;IACJ,CAAC;IAED,OAAO;8BACqB,UAAU,CAAC,IAAI;;;;eAI9B,QAAQ,aAAa,aAAa;;CAEhD,CAAC;AACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { DesignSystemModel } from "@calibrate-ds/shared-types";
2
+ export declare function generateTypographyCss(model: DesignSystemModel): string;
3
+ //# sourceMappingURL=generate-typography-css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-typography-css.d.ts","sourceRoot":"","sources":["../../src/tokens/generate-typography-css.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAyFpF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CA0CtE"}