@calibrate-ds/core 0.1.81 → 0.1.83

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 (41) hide show
  1. package/dist/filesystem/prune-stale-components.d.ts.map +1 -1
  2. package/dist/filesystem/prune-stale-components.js +38 -2
  3. package/dist/filesystem/prune-stale-components.js.map +1 -1
  4. package/dist/mappings/naming-strategy.d.ts.map +1 -1
  5. package/dist/mappings/naming-strategy.js +6 -0
  6. package/dist/mappings/naming-strategy.js.map +1 -1
  7. package/dist/model/build-design-system-model.d.ts.map +1 -1
  8. package/dist/model/build-design-system-model.js +5 -0
  9. package/dist/model/build-design-system-model.js.map +1 -1
  10. package/dist/normalizer/naming.d.ts.map +1 -1
  11. package/dist/normalizer/naming.js +12 -5
  12. package/dist/normalizer/naming.js.map +1 -1
  13. package/dist/normalizer/normalize-components.d.ts.map +1 -1
  14. package/dist/normalizer/normalize-components.js +24 -5
  15. package/dist/normalizer/normalize-components.js.map +1 -1
  16. package/dist/normalizer/types.d.ts +4 -0
  17. package/dist/normalizer/types.d.ts.map +1 -1
  18. package/dist/prompt/generate-component-prompt.d.ts.map +1 -1
  19. package/dist/prompt/generate-component-prompt.js +24 -7
  20. package/dist/prompt/generate-component-prompt.js.map +1 -1
  21. package/dist/snapshots/index.d.ts +1 -0
  22. package/dist/snapshots/index.d.ts.map +1 -1
  23. package/dist/snapshots/index.js +1 -0
  24. package/dist/snapshots/index.js.map +1 -1
  25. package/dist/snapshots/load-latest-snapshot.d.ts.map +1 -1
  26. package/dist/snapshots/load-latest-snapshot.js +4 -1
  27. package/dist/snapshots/load-latest-snapshot.js.map +1 -1
  28. package/dist/snapshots/load-previous-snapshot.d.ts.map +1 -1
  29. package/dist/snapshots/load-previous-snapshot.js +2 -1
  30. package/dist/snapshots/load-previous-snapshot.js.map +1 -1
  31. package/dist/snapshots/sanitize-model.d.ts +18 -0
  32. package/dist/snapshots/sanitize-model.d.ts.map +1 -0
  33. package/dist/snapshots/sanitize-model.js +77 -0
  34. package/dist/snapshots/sanitize-model.js.map +1 -0
  35. package/dist/tokens/resolution.d.ts.map +1 -1
  36. package/dist/tokens/resolution.js +31 -10
  37. package/dist/tokens/resolution.js.map +1 -1
  38. package/dist/verify/verdict.d.ts.map +1 -1
  39. package/dist/verify/verdict.js +10 -1
  40. package/dist/verify/verdict.js.map +1 -1
  41. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"prune-stale-components.d.ts","sourceRoot":"","sources":["../../src/filesystem/prune-stale-components.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAe,MAAM,4BAA4B,CAAC;AAK5F,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAI,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAG,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,WAAW,CAAC,CA4CtB"}
1
+ {"version":3,"file":"prune-stale-components.d.ts","sourceRoot":"","sources":["../../src/filesystem/prune-stale-components.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAe,MAAM,4BAA4B,CAAC;AAK5F,MAAM,MAAM,WAAW,GAAG;IACtB,KAAK,EAAI,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAG,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,oBAAoB,CACtC,MAAM,EAAE,SAAS,EACjB,QAAQ,EAAE,iBAAiB,GAC5B,OAAO,CAAC,WAAW,CAAC,CA8EtB"}
@@ -16,8 +16,39 @@ export async function pruneStaleComponents(config, snapshot) {
16
16
  staleEntries.push({ id, data });
17
17
  }
18
18
  }
19
+ // E-16 (orphan detection): a pre-0.1.82 rename left old-name files next to the
20
+ // new ones inside a still-managed folder — invisible to the stale-entry check
21
+ // above because the component itself still exists. Detect PTB-generated files
22
+ // in managed folders whose basenames aren't among the manifest's tracked
23
+ // artifacts and REPORT them (never auto-delete: an unexpected file may be a
24
+ // developer's hand-written addition).
25
+ const orphanWarnings = [];
26
+ const { packageRoot } = resolveDSPaths(config);
27
+ for (const [id, data] of Object.entries(manifest.components)) {
28
+ if (!snapshot.components.some(c => c.id === id))
29
+ continue; // handled as stale above
30
+ if (!data.folder || !data.artifacts?.length)
31
+ continue;
32
+ const folderAbs = path.join(packageRoot, data.folder);
33
+ try {
34
+ const files = await fs.readdir(folderAbs);
35
+ const tracked = new Set(data.artifacts.map(a => path.basename(a)));
36
+ for (const f of files) {
37
+ if (tracked.has(f))
38
+ continue;
39
+ if (!/\.(tsx|jsx|ts|css)$/.test(f))
40
+ continue;
41
+ const content = await fs.readFile(path.join(folderAbs, f), "utf-8").catch(() => "");
42
+ if (content.includes("PTB_METADATA")) {
43
+ orphanWarnings.push(`${data.name}: "${f}" in ${data.folder} is PTB-generated but untracked — ` +
44
+ `likely a leftover from a rename. Delete it manually if the component was renamed.`);
45
+ }
46
+ }
47
+ }
48
+ catch { /* folder unreadable — nothing to report */ }
49
+ }
19
50
  if (staleEntries.length === 0) {
20
- return { found: 0, deleted: [], skipped: [], errors: [] };
51
+ return { found: orphanWarnings.length, deleted: [], skipped: orphanWarnings, errors: [] };
21
52
  }
22
53
  const generator = getGenerator(config.framework.name || "react");
23
54
  const result = await generator.pruneComponents(config, staleEntries);
@@ -47,6 +78,11 @@ export async function pruneStaleComponents(config, snapshot) {
47
78
  }
48
79
  }
49
80
  catch { /* no ptb.lock yet */ }
50
- return { found: staleEntries.length, deleted: result.deleted, skipped: result.skipped, errors: result.errors };
81
+ return {
82
+ found: staleEntries.length + orphanWarnings.length,
83
+ deleted: result.deleted,
84
+ skipped: [...result.skipped, ...orphanWarnings],
85
+ errors: result.errors,
86
+ };
51
87
  }
52
88
  //# sourceMappingURL=prune-stale-components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prune-stale-components.js","sourceRoot":"","sources":["../../src/filesystem/prune-stale-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prune-stale-components.js","sourceRoot":"","sources":["../../src/filesystem/prune-stale-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASvD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,MAAiB,EACjB,QAA2B;IAE3B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,YAAY,GAA8D,EAAE,CAAC;IACnF,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,4EAA4E;IAC5E,sCAAsC;IACtC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/C,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAAE,SAAS,CAAC,yBAAyB;QACpF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM;YAAE,SAAS;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpF,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnC,cAAc,CAAC,IAAI,CACf,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,oCAAoC;wBAC1E,mFAAmF,CACtF,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAAC,MAAM,CAAC,CAAC,2CAA2C,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAC9F,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAErE,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IACD,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErC,oEAAoE;IACpE,MAAM,EAAE,aAAa,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAwB,CAAC;QACrF,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YAC/F,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,WAAW,GAAG,IAAI,CAAC;YACvB,CAAC;QACL,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,CAAC;IAEjC,OAAO;QACH,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;QAClD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,cAAc,CAAC;QAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;KACxB,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"naming-strategy.d.ts","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY;+BAItB,MAAM,GAAG,MAAM;kCAIZ,MAAM,GAAG,MAAM;8BAInB,MAAM,GAAG,MAAM;2BAIlB,MAAM,SAAS,MAAM,GAAG,MAAM;EAI5D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhE;AAiDD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7D;AAgCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD"}
1
+ {"version":3,"file":"naming-strategy.d.ts","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY;+BAItB,MAAM,GAAG,MAAM;kCAIZ,MAAM,GAAG,MAAM;8BAInB,MAAM,GAAG,MAAM;2BAIlB,MAAM,SAAS,MAAM,GAAG,MAAM;EAI5D;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUhE;AAuDD;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG7D;AAgCD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD"}
@@ -61,6 +61,12 @@ function applyCase(str, targetCase) {
61
61
  if (!str)
62
62
  str = "";
63
63
  const normalized = str
64
+ // E-12: fold diacritics to ASCII before stripping (café → cafe,
65
+ // münchen → munchen) so accented names produce faithful identifiers
66
+ // instead of lossy ones (caf-m-nchen). NFKD separates base chars from
67
+ // combining marks; the marks are then removed. Pure ASCII is unchanged.
68
+ .normalize("NFKD")
69
+ .replace(/[\u0300-\u036f]/g, "")
64
70
  // Split existing camelCase/PascalCase boundaries BEFORE stripping non-alphanumeric,
65
71
  // so "ChatHeader" → "Chat Header" and "BtnWeb" → "Btn Web".
66
72
  // Without this, capitalize("ChatHeader") → "Chatheader" (lowercases internal caps).
@@ -1 +1 @@
1
- {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"naming-strategy.js","sourceRoot":"","sources":["../../src/mappings/naming-strategy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-design-system-model.d.ts","sourceRoot":"","sources":["../../src/model/build-design-system-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuC,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,eAAe,EAAE,GAClC,iBAAiB,CAqFnB"}
1
+ {"version":3,"file":"build-design-system-model.d.ts","sourceRoot":"","sources":["../../src/model/build-design-system-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAuC,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC1H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AASzD;;GAEG;AACH,wBAAgB,sBAAsB,CAClC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,eAAe,EAAE,GAClC,iBAAiB,CA0FnB"}
@@ -26,6 +26,11 @@ export function buildDesignSystemModel(rawScanResult, resolvedTokens) {
26
26
  const { baseName } = normalizeFigmaName(entity.name);
27
27
  lookupMap.byId.set(entity.id, internalId);
28
28
  lookupMap.byName.set(baseName, internalId);
29
+ // E-18: slash names split into category + baseName; keep the full raw name
30
+ // registered so instance references using the complete path still resolve.
31
+ if (entity.name && entity.name !== baseName) {
32
+ lookupMap.byName.set(entity.name.trim(), internalId);
33
+ }
29
34
  // Natively secure all variants (masterComponentIds) mapping towards the parent set ID
30
35
  if (entity.type === "COMPONENT_SET") {
31
36
  for (const variant of entity.children) {
@@ -1 +1 @@
1
- {"version":3,"file":"build-design-system-model.js","sourceRoot":"","sources":["../../src/model/build-design-system-model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAClC,aAA4B,EAC5B,cAAiC;IAGjC,uCAAuC;IACvC,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAErF,gDAAgD;IAChD,MAAM,SAAS,GAAuB;QAClC,IAAI,EAAE,IAAI,GAAG,EAAE;QACf,MAAM,EAAE,IAAI,GAAG,EAAE;KACpB,CAAC;IAEF,oDAAoD;IACpD,MAAM,WAAW,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,CAAC;IACrE,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QAC/B,6FAA6F;QAC7F,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,eAAe;YAC9C,CAAC,CAAC,QAAQ,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;YACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC;gBACzG,CAAC,CAAC,aAAa,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE;gBAC7C,CAAC,CAAC,QAAQ,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;QAEjD,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC1C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3C,sFAAsF;QACtF,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAGD,0DAA0D;IAC1D,MAAM,UAAU,GAA0B,mBAAmB,CACzD,CAAC,GAAG,mBAAmB,EAAE,GAAG,mBAAmB,CAAC,EAChD,SAAS,EACT,cAAc,EACd,aAAa,CAAC,MAAM,CACvB,CAAC;IAEF,2DAA2D;IAC3D,MAAM,UAAU,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAE5D,8EAA8E;IAC9E,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,mFAAmF;QACnF,+FAA+F;QAC/F,mDAAmD;QACnD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxG,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;YAC5D,IAAI,SAAS,EAAE,CAAC;gBACZ,SAAS,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC1B,SAAS,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC5D,CAAC;QACL,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,kBAAkB,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAEzE,yEAAyE;IACzE,MAAM,YAAY,GAAqB,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,YAAY,CAAC,IAAI,CAAC;gBACd,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,0EAA0E;gBACjG,QAAQ,EAAE,QAAQ,CAAC,WAAW;gBAC9B,IAAI,EAAE,YAAY;aACrB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,0BAA0B;IAC1B,OAAO;QACH,OAAO,EAAE,aAAa,CAAC,SAAS;QAChC,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,EAAE;QACZ,UAAU;QACV,YAAY;QACZ,MAAM,EAAE,aAAa,CAAC,MAAM;KAC/B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"build-design-system-model.js","sourceRoot":"","sources":["../../src/model/build-design-system-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/normalizer/naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAqCxE"}
1
+ {"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/normalizer/naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CA2CxE"}
@@ -29,13 +29,20 @@ export function normalizeFigmaName(rawName) {
29
29
  // We'll leave baseName as rawName here, and let the caller override if needed.
30
30
  return result;
31
31
  }
32
- // Pattern 2: Slash-separated names "Button / Primary"
32
+ // Pattern 2: Slash-separated names Figma library-folder semantics (E-18).
33
+ // "Nav/Header/Back" is displayed in Figma as component "Back" inside folders
34
+ // "Nav" → "Header". Previously PTB truncated to the FIRST segment ("Nav") and
35
+ // discarded the rest — silent data loss at ingestion for the most common
36
+ // library convention ("Icons/Close"). Now: last segment = component name,
37
+ // preceding segments = categoryPath.
33
38
  if (rawName.includes("/")) {
34
- const parts = rawName.split("/").map(p => p.trim());
35
- result.baseName = parts[0] || rawName;
39
+ const parts = rawName.split("/").map(p => p.trim()).filter(Boolean);
36
40
  if (parts.length > 1) {
37
- // Very basic heuristic: treat the second part as a "variant" or "type"
38
- result.variantProperties["type"] = parts.slice(1).join(" ");
41
+ result.baseName = parts[parts.length - 1];
42
+ result.categoryPath = parts.slice(0, -1).join("/");
43
+ }
44
+ else {
45
+ result.baseName = parts[0] || rawName;
39
46
  }
40
47
  return result;
41
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/normalizer/naming.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAyB;QACjC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;QACxB,iBAAiB,EAAE,EAAE;KACxB,CAAC;IAEF,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,uEAAuE;IACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,8FAA8F;QAC9F,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,qGAAqG;QACrG,+EAA+E;QAC/E,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,sDAAsD;IACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,uEAAuE;YACvE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/normalizer/naming.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAC9C,MAAM,MAAM,GAAyB;QACjC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE;QACxB,iBAAiB,EAAE,EAAE;KACxB,CAAC;IAEF,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC;IAE5B,uEAAuE;IACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,8FAA8F;QAC9F,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC1C,CAAC;QACL,CAAC;QACD,qGAAqG;QACrG,+EAA+E;QAC/E,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,yEAAyE;IACzE,0EAA0E;IAC1E,qCAAqC;IACrC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-components.d.ts","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA8E,eAAe,EAAuG,MAAM,4BAA4B,CAAC;AACxQ,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,iBAAiB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,EACzD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,GAAE,eAAe,EAAO,EAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,mBAAmB,EAAE,CAkEvB;AAuBD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,mBAAmB,CAuJrB;AAucD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzF"}
1
+ {"version":3,"file":"normalize-components.d.ts","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA8E,eAAe,EAAuG,MAAM,4BAA4B,CAAC;AACxQ,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,iBAAiB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,EACzD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,GAAE,eAAe,EAAO,EAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,mBAAmB,EAAE,CAsEvB;AAuBD,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,SAAS,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC1C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjC,mBAAmB,CA2JrB;AAmdD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzF"}
@@ -77,6 +77,10 @@ export function normalizeComponents(canonicalEntities, lookupMap, tokens = [], f
77
77
  const internalId = `comp_${entity.id.replace(/:/g, "_")}`;
78
78
  lookupMap.byId.set(entity.id, internalId);
79
79
  lookupMap.byName.set(baseName, internalId);
80
+ // E-18: keep the full slash name resolvable for instance references
81
+ if (entity.name && entity.name.trim() !== baseName) {
82
+ lookupMap.byName.set(entity.name.trim(), internalId);
83
+ }
80
84
  if (entity.key)
81
85
  keyToName.set(entity.key, entity.name);
82
86
  }
@@ -151,7 +155,7 @@ function pruneInstanceSubtrees(node, knownIds) {
151
155
  }
152
156
  }
153
157
  export function normalizeComponent(entity, lookupMap, tokens, tokenIndex, keyToName = new Map(), fileStyles) {
154
- const { baseName } = normalizeFigmaName(entity.name);
158
+ const { baseName, categoryPath: nameCategory } = normalizeFigmaName(entity.name);
155
159
  const internalId = lookupMap.byId.get(entity.id);
156
160
  // Extract variants and comprehensive properties
157
161
  const { variantAxes, properties } = aggregateProperties(entity, keyToName);
@@ -218,7 +222,11 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex, keyToN
218
222
  componentType,
219
223
  name: baseName,
220
224
  description: `Imported from Figma ${entity.type}. Page: ${entity.context.page.name}`,
221
- categoryPath: entity.context.page.name,
225
+ // E-18: a slash name's folder prefix ("Icons" in "Icons/Close") nests under
226
+ // the page-level category so Figma's library-folder structure is preserved.
227
+ categoryPath: nameCategory
228
+ ? `${entity.context.page.name}/${nameCategory}`
229
+ : entity.context.page.name,
222
230
  variantAxes: variantAxes.length > 0 ? variantAxes : undefined,
223
231
  properties: properties.length > 0 ? properties : undefined,
224
232
  dependencies: dependencies.length > 0 ? dependencies : undefined,
@@ -323,20 +331,31 @@ function extractStyleMetadata(node, tokens, tokenIndex) {
323
331
  rawMetadata[slot] = resolvedToken?.name
324
332
  ? { token: resolvedToken.name, cssVar: resolvedToken.cssVariable, value }
325
333
  : value;
334
+ // S-2: when the node IS bound to a variable but the variable can't be
335
+ // resolved (e.g. tokens unavailable on this plan/scope), preserve the
336
+ // variable REFERENCE instead of dropping the linkage entirely — a later
337
+ // `ptb import-tokens` or Enterprise upgrade can then reconnect it.
338
+ const unresolvedRef = boundVar?.id && !resolvedToken
339
+ ? { id: boundVar.id, name: boundVar.name ?? "" }
340
+ : undefined;
326
341
  tokenBindings.push({
327
342
  slot,
328
343
  rawValue: value,
329
344
  resolvedToken,
330
- boundToken: boundVar?.id ? resolvedToken : undefined,
345
+ boundToken: boundVar?.id ? (resolvedToken ?? unresolvedRef) : undefined,
331
346
  source: boundVar?.id ? "figma-variable-binding" : undefined
332
347
  });
333
348
  };
334
349
  // Extract Background/Fill Color
350
+ // S-2: Figma stores variable bindings on the node (boundVariables.fills) OR on
351
+ // the paint itself (paint.boundVariables.color) depending on how the variable
352
+ // was applied. The text path below always checked both; background/border only
353
+ // checked the node level, so paint-level bindings were silently dropped.
335
354
  if (node.fills && Array.isArray(node.fills)) {
336
355
  const solidFill = node.fills.find((f) => f.type === "SOLID" && f.visible !== false);
337
356
  if (solidFill && solidFill.color) {
338
357
  const hex = rgbToHex(solidFill.color.r, solidFill.color.g, solidFill.color.b);
339
- const boundVar = node.boundVariables?.fills?.[0]; // Simplification for first fill
358
+ const boundVar = node.boundVariables?.fills?.[0] ?? solidFill.boundVariables?.color;
340
359
  bind("background", hex, boundVar);
341
360
  }
342
361
  }
@@ -345,7 +364,7 @@ function extractStyleMetadata(node, tokens, tokenIndex) {
345
364
  const solidStroke = node.strokes.find((s) => s.type === "SOLID" && s.visible !== false);
346
365
  if (solidStroke && solidStroke.color) {
347
366
  const hex = rgbToHex(solidStroke.color.r, solidStroke.color.g, solidStroke.color.b);
348
- const boundVar = node.boundVariables?.strokes?.[0];
367
+ const boundVar = node.boundVariables?.strokes?.[0] ?? solidStroke.boundVariables?.color;
349
368
  bind("border", hex, boundVar);
350
369
  }
351
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-components.js","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"normalize-components.js","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,10 @@ import type { RawComponentNode, RawComponentSet } from "../scanner/types.js";
3
3
  export type NormalizedNameResult = {
4
4
  baseName: string;
5
5
  variantProperties: Record<string, string>;
6
+ /** E-18: Figma library-folder prefix from a slash name — "Nav/Header/Back"
7
+ * yields baseName "Back" + categoryPath "Nav/Header". Undefined when the
8
+ * name has no slashes. */
9
+ categoryPath?: string;
6
10
  };
7
11
  export type ClassificationResult = {
8
12
  canonicalComponents: (RawComponentNode | RawComponentSet)[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalizer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAE9F,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,mBAAmB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC;IAC5D,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/normalizer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAmB,MAAM,qBAAqB,CAAC;AAE9F,MAAM,MAAM,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C;;+BAE2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,mBAAmB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,CAAC;IAC5D,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-component-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/generate-component-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAA8K,MAAM,4BAA4B,CAAC;AAwlBvQ;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,gBAAgB,EACzB,SAAS,GAAE,MAAM,GAAG,IAAW,GAChC,sBAAsB,CA4pCxB"}
1
+ {"version":3,"file":"generate-component-prompt.d.ts","sourceRoot":"","sources":["../../src/prompt/generate-component-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAA8K,MAAM,4BAA4B,CAAC;AAimBvQ;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,OAAO,EAAE,gBAAgB,EACzB,SAAS,GAAE,MAAM,GAAG,IAAW,GAChC,sBAAsB,CAwqCxB"}
@@ -95,14 +95,18 @@ function buildCssSkeleton(context) {
95
95
  for (const b of context.tokenBindings) {
96
96
  const cv = b.resolvedToken?.cssVariable;
97
97
  const isValidVar = cv?.startsWith("--");
98
+ // The design-measured rawValue is always available on the binding — emit
99
+ // it as the var() fallback so the skeleton is valid CSS even when the
100
+ // custom property isn't defined in the host stylesheet.
101
+ const withFallback = (raw) => raw !== undefined && raw !== null && String(raw) !== "" ? `var(${cv}, ${raw})` : `var(${cv})`;
98
102
  if (b.slot === "background") {
99
- containerLines.push(isValidVar ? ` background: var(${cv});` : ` background: ${b.rawValue};`);
103
+ containerLines.push(isValidVar ? ` background: ${withFallback(b.rawValue)};` : ` background: ${b.rawValue};`);
100
104
  }
101
105
  else if (b.slot === "border") {
102
- containerLines.push(isValidVar ? ` border-color: var(${cv});` : ` border-color: ${b.rawValue};`);
106
+ containerLines.push(isValidVar ? ` border-color: ${withFallback(b.rawValue)};` : ` border-color: ${b.rawValue};`);
103
107
  }
104
108
  else if (b.slot === "text") {
105
- containerLines.push(isValidVar ? ` color: var(${cv});` : ` color: ${b.rawValue};`);
109
+ containerLines.push(isValidVar ? ` color: ${withFallback(b.rawValue)};` : ` color: ${b.rawValue};`);
106
110
  }
107
111
  else if (b.slot === "radius") {
108
112
  containerLines.push(` border-radius: ${b.rawValue}px;`);
@@ -185,16 +189,19 @@ function buildCssSkeleton(context) {
185
189
  const seenProps = new Set();
186
190
  for (const ch of changes) {
187
191
  const prop = ch.property ?? "";
192
+ // toColor carries the variant's concrete color alongside the var name —
193
+ // emit it as the fallback so overrides are valid without the custom prop.
194
+ const varRef = (cssVar, color) => color ? `var(${cssVar}, ${color})` : `var(${cssVar})`;
188
195
  if (prop === "style:fill" && !seenProps.has("background")) {
189
- css.push(ch.toCssVar ? ` background: var(${ch.toCssVar});` : ` background: none; /* ptb: fill removed in this variant */`);
196
+ css.push(ch.toCssVar ? ` background: ${varRef(ch.toCssVar, ch.toColor)};` : ` background: none; /* ptb: fill removed in this variant */`);
190
197
  seenProps.add("background");
191
198
  }
192
199
  else if (prop === "style:textFill" && ch.toCssVar && !seenProps.has("color")) {
193
- css.push(` color: var(${ch.toCssVar});`);
200
+ css.push(` color: ${varRef(ch.toCssVar, ch.toColor)};`);
194
201
  seenProps.add("color");
195
202
  }
196
203
  else if (prop === "style:stroke" && ch.toCssVar && !seenProps.has("border-color")) {
197
- css.push(` border-color: var(${ch.toCssVar});`);
204
+ css.push(` border-color: ${varRef(ch.toCssVar, ch.toColor)};`);
198
205
  seenProps.add("border-color");
199
206
  }
200
207
  else if (prop === "layout" && ch.to && !seenProps.has("layout")) {
@@ -1205,7 +1212,17 @@ export function generateComponentPrompt(context, framework = null) {
1205
1212
  cssRef = `var(${bind.cssVar}, var(${bind.canonicalCssVar}))`;
1206
1213
  }
1207
1214
  else {
1208
- cssRef = `var(${bind.cssVar})`;
1215
+ // Last resort (STRING residual): when the alias chain is unresolvable
1216
+ // AND terminal, fall back to the design-measured rawValue captured on
1217
+ // the component's token binding for the same slot (hex or number from
1218
+ // the Figma node itself). Numeric raw values get px under the same
1219
+ // slot/var heuristics as above.
1220
+ const rawFromBinding = (context.tokenBindings ?? []).find((tb) => tb?.slot === slot && tb?.rawValue !== undefined && tb?.rawValue !== null)?.rawValue;
1221
+ let rawFallback = rawFromBinding !== undefined ? String(rawFromBinding) : "";
1222
+ if (rawFallback && /^\d+(\.\d+)?$/.test(rawFallback) && (DIMENSIONAL_SLOTS.has(slot) || SPATIAL_VAR_RE.test(bind.cssVar ?? ""))) {
1223
+ rawFallback = `${rawFallback}px`;
1224
+ }
1225
+ cssRef = rawFallback ? `var(${bind.cssVar}, ${rawFallback})` : `var(${bind.cssVar})`;
1209
1226
  }
1210
1227
  lines.push(`- **${slot}** [${bind.valueType}]: \`${cssRef}\``);
1211
1228
  lines.push(` - Resolution Path: ${safeArray(bind.resolutionPath).join(" -> ")}`);