@calibrate-ds/core 0.1.4 → 0.1.6
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/LICENSE +201 -0
- package/dist/__tests__/compare-components.test.js +146 -0
- package/dist/__tests__/compare-components.test.js.map +1 -1
- package/dist/__tests__/compare-tokens.test.d.ts +2 -0
- package/dist/__tests__/compare-tokens.test.d.ts.map +1 -0
- package/dist/__tests__/compare-tokens.test.js +76 -0
- package/dist/__tests__/compare-tokens.test.js.map +1 -0
- package/dist/diff/compare-components.d.ts.map +1 -1
- package/dist/diff/compare-components.js +168 -19
- package/dist/diff/compare-components.js.map +1 -1
- package/dist/diff/compare-tokens.d.ts.map +1 -1
- package/dist/diff/compare-tokens.js +76 -21
- package/dist/diff/compare-tokens.js.map +1 -1
- package/dist/diff/format-diff-summary.d.ts.map +1 -1
- package/dist/diff/format-diff-summary.js +18 -2
- package/dist/diff/format-diff-summary.js.map +1 -1
- package/dist/docs/generate-component-stories.d.ts.map +1 -1
- package/dist/docs/generate-component-stories.js +21 -0
- package/dist/docs/generate-component-stories.js.map +1 -1
- package/dist/doctor/check-component.d.ts.map +1 -1
- package/dist/doctor/check-component.js +18 -0
- package/dist/doctor/check-component.js.map +1 -1
- package/dist/icons/enrich-bitmap-assets.d.ts +14 -0
- package/dist/icons/enrich-bitmap-assets.d.ts.map +1 -0
- package/dist/icons/enrich-bitmap-assets.js +100 -0
- package/dist/icons/enrich-bitmap-assets.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/normalizer/classify-group-intent.d.ts +32 -0
- package/dist/normalizer/classify-group-intent.d.ts.map +1 -0
- package/dist/normalizer/classify-group-intent.js +76 -0
- package/dist/normalizer/classify-group-intent.js.map +1 -0
- package/dist/normalizer/index.d.ts +2 -0
- package/dist/normalizer/index.d.ts.map +1 -1
- package/dist/normalizer/index.js +2 -0
- package/dist/normalizer/index.js.map +1 -1
- package/dist/normalizer/instance-resolver.d.ts.map +1 -1
- package/dist/normalizer/instance-resolver.js +17 -1
- package/dist/normalizer/instance-resolver.js.map +1 -1
- package/dist/normalizer/normalize-components.d.ts.map +1 -1
- package/dist/normalizer/normalize-components.js +23 -3
- package/dist/normalizer/normalize-components.js.map +1 -1
- package/dist/normalizer/sanitize-property-names.d.ts +27 -0
- package/dist/normalizer/sanitize-property-names.d.ts.map +1 -0
- package/dist/normalizer/sanitize-property-names.js +163 -0
- package/dist/normalizer/sanitize-property-names.js.map +1 -0
- package/dist/prompt/generate-component-prompt.d.ts.map +1 -1
- package/dist/prompt/generate-component-prompt.js +5 -2
- package/dist/prompt/generate-component-prompt.js.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { resolveDSPaths } from "../filesystem/resolve-ds-paths.js";
|
|
4
|
+
/**
|
|
5
|
+
* Walks every component's layout tree (renderTree + baseRenderTree + childNodes)
|
|
6
|
+
* looking for nodes whose rawStyles.fills carries an IMAGE entry — the audit's
|
|
7
|
+
* Gap #6 case (profile photos, screenshots, raster assets that previously
|
|
8
|
+
* vanished from the generated output). Each unique image is exported via the
|
|
9
|
+
* Figma /images endpoint as PNG, written to <packageRoot>/src/assets/, and
|
|
10
|
+
* the source node is tagged with a workspace-relative `imageAssetPath`.
|
|
11
|
+
*
|
|
12
|
+
* Best-effort: a batch export failure logs a warning and continues so a
|
|
13
|
+
* partial scan still produces useful output.
|
|
14
|
+
*/
|
|
15
|
+
export async function enrichBitmapAssets(model, fileKey, token, config) {
|
|
16
|
+
const detected = [];
|
|
17
|
+
for (const comp of model.components) {
|
|
18
|
+
for (const root of relevantTrees(comp))
|
|
19
|
+
collectImageFillNodes(root, detected);
|
|
20
|
+
}
|
|
21
|
+
if (detected.length === 0)
|
|
22
|
+
return;
|
|
23
|
+
// Dedup by Figma node ID — the same instance can appear in multiple trees.
|
|
24
|
+
const byNodeId = new Map();
|
|
25
|
+
for (const d of detected) {
|
|
26
|
+
const list = byNodeId.get(d.nodeId) ?? [];
|
|
27
|
+
list.push(d);
|
|
28
|
+
byNodeId.set(d.nodeId, list);
|
|
29
|
+
}
|
|
30
|
+
const nodeIds = [...byNodeId.keys()];
|
|
31
|
+
const { packageRoot, workspaceRoot } = resolveDSPaths(config);
|
|
32
|
+
const assetsDir = path.join(packageRoot, "src", "assets");
|
|
33
|
+
await fs.mkdir(assetsDir, { recursive: true });
|
|
34
|
+
// Resolve URLs via the existing Figma image-export endpoint.
|
|
35
|
+
let urlMap = {};
|
|
36
|
+
try {
|
|
37
|
+
const { getImageExports } = await import("@calibrate-ds/figma-client");
|
|
38
|
+
urlMap = await getImageExports({ fileKey, nodeIds, format: "png", token });
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
console.warn(`[PTB] Bitmap export request failed: ${e.message}`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
await Promise.all(Object.entries(urlMap).map(async ([nodeId, url]) => {
|
|
45
|
+
if (!url)
|
|
46
|
+
return;
|
|
47
|
+
const targets = byNodeId.get(nodeId) ?? [];
|
|
48
|
+
if (targets.length === 0)
|
|
49
|
+
return;
|
|
50
|
+
// Stable filename keyed off Figma node id so re-scans overwrite the
|
|
51
|
+
// same path. Strip ':' which is illegal on Windows and ugly on URLs.
|
|
52
|
+
const safeName = `${nodeId.replace(/:/g, "-")}.png`;
|
|
53
|
+
const filePath = path.join(assetsDir, safeName);
|
|
54
|
+
try {
|
|
55
|
+
const res = await fetch(url);
|
|
56
|
+
if (!res.ok)
|
|
57
|
+
return;
|
|
58
|
+
const buf = Buffer.from(await res.arrayBuffer());
|
|
59
|
+
await fs.writeFile(filePath, buf);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.warn(`[PTB] Bitmap download failed for ${nodeId}: ${e.message}`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Workspace-relative path so consumers see the same string regardless
|
|
66
|
+
// of where their tsconfig roots them. Generators recompute a
|
|
67
|
+
// component-relative path when emitting the <img src> at write time.
|
|
68
|
+
const relPath = path.relative(workspaceRoot, filePath).replace(/\\/g, "/");
|
|
69
|
+
for (const t of targets)
|
|
70
|
+
t.node.imageAssetPath = relPath;
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
function collectImageFillNodes(node, out) {
|
|
74
|
+
const fills = node.rawStyles?.fills;
|
|
75
|
+
if (fills && Array.isArray(fills)) {
|
|
76
|
+
const img = fills.find(f => f && f.type === "IMAGE" && typeof f.imageRef === "string");
|
|
77
|
+
if (img) {
|
|
78
|
+
// We need a Figma node ID for the export endpoint; layout-tree
|
|
79
|
+
// nodes record this on `componentId` for instances or fall back
|
|
80
|
+
// to the source node id when one was preserved during scan.
|
|
81
|
+
const nodeId = node.figmaNodeId ?? node.componentId ?? node.id;
|
|
82
|
+
if (typeof nodeId === "string" && nodeId.length > 0) {
|
|
83
|
+
out.push({ nodeId, imageRef: img.imageRef, node });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
for (const child of node.children ?? [])
|
|
88
|
+
collectImageFillNodes(child, out);
|
|
89
|
+
}
|
|
90
|
+
function relevantTrees(comp) {
|
|
91
|
+
const trees = [];
|
|
92
|
+
if (comp.layoutTree)
|
|
93
|
+
trees.push(comp.layoutTree);
|
|
94
|
+
if (comp.renderTree && comp.renderTree !== comp.layoutTree)
|
|
95
|
+
trees.push(comp.renderTree);
|
|
96
|
+
if (comp.baseRenderTree && comp.baseRenderTree !== comp.layoutTree)
|
|
97
|
+
trees.push(comp.baseRenderTree);
|
|
98
|
+
return trees;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=enrich-bitmap-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrich-bitmap-assets.js","sourceRoot":"","sources":["../../src/icons/enrich-bitmap-assets.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -27,5 +27,6 @@ export * from "./ai/index.js";
|
|
|
27
27
|
export * from "./doctor/index.js";
|
|
28
28
|
export * from "./docs/index.js";
|
|
29
29
|
export * from "./icons/enrich-icon-svgs.js";
|
|
30
|
+
export * from "./icons/enrich-bitmap-assets.js";
|
|
30
31
|
export * from "./design-tool/index.js";
|
|
31
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -27,5 +27,6 @@ export * from "./ai/index.js";
|
|
|
27
27
|
export * from "./doctor/index.js";
|
|
28
28
|
export * from "./docs/index.js";
|
|
29
29
|
export * from "./icons/enrich-icon-svgs.js";
|
|
30
|
+
export * from "./icons/enrich-bitmap-assets.js";
|
|
30
31
|
export * from "./design-tool/index.js";
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uCAAuC,CAAC;AACtD,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { LayoutTreeNode } from "@calibrate-ds/shared-types";
|
|
2
|
+
/**
|
|
3
|
+
* Walks a layout tree and tags container nodes whose immediate children are
|
|
4
|
+
* sibling instances with identical recipes — the case that prompted audit
|
|
5
|
+
* Gap #8 ("three identical <BtnWeb> ellipsis buttons in a row, no hint").
|
|
6
|
+
*
|
|
7
|
+
* Heuristic intent classification:
|
|
8
|
+
*
|
|
9
|
+
* state-showcase layout direction is row, every sibling is the same
|
|
10
|
+
* componentId, AND at least one variant axis differs
|
|
11
|
+
* between siblings (the showcase is *demonstrating*
|
|
12
|
+
* variants side-by-side). Generator should keep one
|
|
13
|
+
* canonical instance.
|
|
14
|
+
*
|
|
15
|
+
* instance-list direction is column, ≥3 identical-recipe siblings.
|
|
16
|
+
* Long vertical lists in Figma are almost always
|
|
17
|
+
* "this becomes a `.map()`" in code.
|
|
18
|
+
*
|
|
19
|
+
* menu-group 2+ identical-recipe siblings that don't match either
|
|
20
|
+
* of the above (typical icon-bar / button-group).
|
|
21
|
+
* Generator renders each child as-is.
|
|
22
|
+
*
|
|
23
|
+
* unknown analysis didn't have enough signal — leave the
|
|
24
|
+
* decision to the generator (it currently defaults to
|
|
25
|
+
* "menu-group" behavior, which is the safest fallback).
|
|
26
|
+
*
|
|
27
|
+
* Mutates the tree in place, only setting `groupIntent` on container nodes
|
|
28
|
+
* where a meaningful classification could be derived. Nodes that don't
|
|
29
|
+
* match the criteria are left untouched.
|
|
30
|
+
*/
|
|
31
|
+
export declare function classifyGroupIntent(tree: LayoutTreeNode | undefined): void;
|
|
32
|
+
//# sourceMappingURL=classify-group-intent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify-group-intent.d.ts","sourceRoot":"","sources":["../../src/normalizer/classify-group-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAY1E"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Walks a layout tree and tags container nodes whose immediate children are
|
|
3
|
+
* sibling instances with identical recipes — the case that prompted audit
|
|
4
|
+
* Gap #8 ("three identical <BtnWeb> ellipsis buttons in a row, no hint").
|
|
5
|
+
*
|
|
6
|
+
* Heuristic intent classification:
|
|
7
|
+
*
|
|
8
|
+
* state-showcase layout direction is row, every sibling is the same
|
|
9
|
+
* componentId, AND at least one variant axis differs
|
|
10
|
+
* between siblings (the showcase is *demonstrating*
|
|
11
|
+
* variants side-by-side). Generator should keep one
|
|
12
|
+
* canonical instance.
|
|
13
|
+
*
|
|
14
|
+
* instance-list direction is column, ≥3 identical-recipe siblings.
|
|
15
|
+
* Long vertical lists in Figma are almost always
|
|
16
|
+
* "this becomes a `.map()`" in code.
|
|
17
|
+
*
|
|
18
|
+
* menu-group 2+ identical-recipe siblings that don't match either
|
|
19
|
+
* of the above (typical icon-bar / button-group).
|
|
20
|
+
* Generator renders each child as-is.
|
|
21
|
+
*
|
|
22
|
+
* unknown analysis didn't have enough signal — leave the
|
|
23
|
+
* decision to the generator (it currently defaults to
|
|
24
|
+
* "menu-group" behavior, which is the safest fallback).
|
|
25
|
+
*
|
|
26
|
+
* Mutates the tree in place, only setting `groupIntent` on container nodes
|
|
27
|
+
* where a meaningful classification could be derived. Nodes that don't
|
|
28
|
+
* match the criteria are left untouched.
|
|
29
|
+
*/
|
|
30
|
+
export function classifyGroupIntent(tree) {
|
|
31
|
+
if (!tree)
|
|
32
|
+
return;
|
|
33
|
+
const visit = (node) => {
|
|
34
|
+
const kids = node.children ?? [];
|
|
35
|
+
if (kids.length >= 2 && node.type === "container") {
|
|
36
|
+
const intent = inferIntentForChildren(kids, node);
|
|
37
|
+
if (intent)
|
|
38
|
+
node.groupIntent = intent;
|
|
39
|
+
}
|
|
40
|
+
for (const child of kids)
|
|
41
|
+
visit(child);
|
|
42
|
+
};
|
|
43
|
+
visit(tree);
|
|
44
|
+
}
|
|
45
|
+
function inferIntentForChildren(kids, parent) {
|
|
46
|
+
// Only classify when every child is an instance pointing at the same
|
|
47
|
+
// componentId. A mixed group is structural composition, not repetition.
|
|
48
|
+
const componentIds = kids.map(k => k.componentId).filter((id) => !!id);
|
|
49
|
+
if (componentIds.length !== kids.length)
|
|
50
|
+
return null;
|
|
51
|
+
const first = componentIds[0];
|
|
52
|
+
if (!componentIds.every(id => id === first))
|
|
53
|
+
return null;
|
|
54
|
+
// Compare variant selections — if any axis differs across siblings, this
|
|
55
|
+
// is a state showcase (designer demonstrating variants side by side).
|
|
56
|
+
const allAxes = new Set();
|
|
57
|
+
for (const k of kids) {
|
|
58
|
+
for (const axis of Object.keys(k.variantSelection ?? {}))
|
|
59
|
+
allAxes.add(axis);
|
|
60
|
+
}
|
|
61
|
+
let varies = false;
|
|
62
|
+
for (const axis of allAxes) {
|
|
63
|
+
const values = new Set(kids.map(k => k.variantSelection?.[axis] ?? ""));
|
|
64
|
+
if (values.size > 1) {
|
|
65
|
+
varies = true;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (varies && (parent.layout?.direction === "row"))
|
|
70
|
+
return "state-showcase";
|
|
71
|
+
// No variant differences. Direction + count drive the call.
|
|
72
|
+
if (parent.layout?.direction === "column" && kids.length >= 3)
|
|
73
|
+
return "instance-list";
|
|
74
|
+
return "menu-group";
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=classify-group-intent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify-group-intent.js","sourceRoot":"","sources":["../../src/normalizer/classify-group-intent.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgC;IAChE,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,KAAK,GAAG,CAAC,IAAoB,EAAE,EAAE;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM;gBAAE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC3B,IAAsB,EACtB,MAAsB;IAEtB,qEAAqE;IACrE,wEAAwE;IACxE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzD,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC;YAAC,MAAM;QAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,KAAK,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAE5E,4DAA4D;IAC5D,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,eAAe,CAAC;IAEtF,OAAO,YAAY,CAAC;AACxB,CAAC"}
|
|
@@ -4,4 +4,6 @@ export * from "./classify-entities.js";
|
|
|
4
4
|
export * from "./normalize-components.js";
|
|
5
5
|
export * from "./normalize-composites.js";
|
|
6
6
|
export * from "./normalize-instances.js";
|
|
7
|
+
export * from "./sanitize-property-names.js";
|
|
8
|
+
export * from "./classify-group-intent.js";
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/normalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/normalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC"}
|
package/dist/normalizer/index.js
CHANGED
|
@@ -4,4 +4,6 @@ export * from "./classify-entities.js";
|
|
|
4
4
|
export * from "./normalize-components.js";
|
|
5
5
|
export * from "./normalize-composites.js";
|
|
6
6
|
export * from "./normalize-instances.js";
|
|
7
|
+
export * from "./sanitize-property-names.js";
|
|
8
|
+
export * from "./classify-group-intent.js";
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/normalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/normalizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-resolver.d.ts","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAsB,mBAAmB,EAA2L,MAAM,4BAA4B,CAAC;AACrT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4B1C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,cAAc,EACpB,UAAU,GAAE,mBAAmB,EAAO,EACtC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,qBAAqB,GAAG,SAAS,CAsCnC;
|
|
1
|
+
{"version":3,"file":"instance-resolver.d.ts","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAsB,mBAAmB,EAA2L,MAAM,4BAA4B,CAAC;AACrT,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA4B1C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,cAAc,EACpB,UAAU,GAAE,mBAAmB,EAAO,EACtC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GACvC,qBAAqB,GAAG,SAAS,CAsCnC;AAgjBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,QAwBhI"}
|
|
@@ -458,6 +458,21 @@ function doResolveInstanceRecipe(node, components = [], tokenIndex) {
|
|
|
458
458
|
return;
|
|
459
459
|
processedNames.add(cleanName);
|
|
460
460
|
const { renderPattern, visibilityBehavior } = computeSlotRender(kind, visible, prop, textContent, dependency);
|
|
461
|
+
// Audit Gap #7: explicit renderAs so consumers don't have to infer
|
|
462
|
+
// whether to pass `children`, a typed prop, or accept the design-owned
|
|
463
|
+
// subtree as-is. The visibilityBehavior already encodes this implicitly;
|
|
464
|
+
// renderAs surfaces it as a discriminated union for downstream tooling.
|
|
465
|
+
let renderAs;
|
|
466
|
+
if (prop) {
|
|
467
|
+
renderAs = { mode: "prop", name: prop };
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
470
|
+
// No prop = the slot is design-owned (fixed visible subtree like an
|
|
471
|
+
// embedded icon, or a hidden node that doesn't render). Treat as
|
|
472
|
+
// a named slot rather than as React children — children is reserved
|
|
473
|
+
// for explicit children-policy slots on composite roots.
|
|
474
|
+
renderAs = { mode: "slot", name: cleanName };
|
|
475
|
+
}
|
|
461
476
|
slotContract[cleanName] = {
|
|
462
477
|
kind,
|
|
463
478
|
visible,
|
|
@@ -465,7 +480,8 @@ function doResolveInstanceRecipe(node, components = [], tokenIndex) {
|
|
|
465
480
|
textContent,
|
|
466
481
|
dependency,
|
|
467
482
|
renderPattern,
|
|
468
|
-
visibilityBehavior
|
|
483
|
+
visibilityBehavior,
|
|
484
|
+
renderAs,
|
|
469
485
|
};
|
|
470
486
|
};
|
|
471
487
|
textNodes.forEach(tn => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance-resolver.js","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"instance-resolver.js","sourceRoot":"","sources":["../../src/normalizer/instance-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAAuF,MAAM,4BAA4B,CAAC;AACxP,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize-components.d.ts","sourceRoot":"","sources":["../../src/normalizer/normalize-components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAA8E,eAAe,EAAuF,MAAM,4BAA4B,CAAC;AACxP,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,iBAAiB,EAAE,CAAC,gBAAgB,GAAG,eAAe,CAAC,EAAE,EACzD,SAAS,EAAE,kBAAkB,EAC7B,MAAM,GAAE,eAAe,EAAO,GAC/B,mBAAmB,EAAE,CA+BvB;AAGD,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,GACtC,mBAAmB,CA0FrB;AAgZD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYzF"}
|
|
@@ -3,6 +3,8 @@ import { isIconComponent } from "../icons/enrich-icon-svgs.js";
|
|
|
3
3
|
import { buildComparableSnapshot, diffVariantAgainstBaseline } from "./variant-diff.js";
|
|
4
4
|
import { rgbToHex } from "./helpers.js";
|
|
5
5
|
import { relinkTreeRecipes } from "./instance-resolver.js";
|
|
6
|
+
import { applyLeakedPropertyRename } from "./sanitize-property-names.js";
|
|
7
|
+
import { classifyGroupIntent } from "./classify-group-intent.js";
|
|
6
8
|
function normalizeTokenId(id) {
|
|
7
9
|
if (!id)
|
|
8
10
|
return "";
|
|
@@ -122,7 +124,7 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex) {
|
|
|
122
124
|
: isFormCtrl ? "formControl"
|
|
123
125
|
: dependencies.length > 0 ? "composite"
|
|
124
126
|
: "layout";
|
|
125
|
-
|
|
127
|
+
const component = {
|
|
126
128
|
id: internalId,
|
|
127
129
|
designToolNodeId: entity.id,
|
|
128
130
|
kind: {
|
|
@@ -150,6 +152,18 @@ export function normalizeComponent(entity, lookupMap, tokens, tokenIndex) {
|
|
|
150
152
|
dependencyInstances,
|
|
151
153
|
reactions: entity.reactions,
|
|
152
154
|
};
|
|
155
|
+
// Rewrites text-type property names whose comparable form matches a piece
|
|
156
|
+
// of layer text content — Figma's "default the property name to its text"
|
|
157
|
+
// behavior is the canonical source of `alexandraDavis?: string` leaks. The
|
|
158
|
+
// original Figma identity is preserved on `property.figmaName` for any
|
|
159
|
+
// round-trip tooling. See sanitize-property-names.ts for the heuristic.
|
|
160
|
+
applyLeakedPropertyRename(component);
|
|
161
|
+
// Tags container nodes that contain repeated identical-recipe siblings so
|
|
162
|
+
// the generator can distinguish a state-showcase (drop duplicates) from a
|
|
163
|
+
// genuine list (map over data) from an icon-button cluster (render each).
|
|
164
|
+
// Audit Gap #8: previously the generator emitted N literal copies blind.
|
|
165
|
+
classifyGroupIntent(component.layoutTree);
|
|
166
|
+
return component;
|
|
153
167
|
}
|
|
154
168
|
/**
|
|
155
169
|
* Parses variant selection from Figma node name (e.g. "Primary=sm, Effect=Default")
|
|
@@ -233,12 +247,15 @@ function extractSizeMetadata(node, tokens, tokenIndex) {
|
|
|
233
247
|
return undefined;
|
|
234
248
|
const toDesignValue = (val, boundVar, axis) => {
|
|
235
249
|
let resolvedToken;
|
|
250
|
+
let boundToken;
|
|
236
251
|
if (boundVar?.id) {
|
|
237
252
|
resolvedToken = resolveTokenById(boundVar.id, tokenIndex);
|
|
238
253
|
}
|
|
239
254
|
if (!resolvedToken && boundVar?.name) {
|
|
240
255
|
resolvedToken = { name: boundVar.name, id: boundVar.id };
|
|
241
256
|
}
|
|
257
|
+
if (boundVar?.id)
|
|
258
|
+
boundToken = resolvedToken;
|
|
242
259
|
let mode = "fixed";
|
|
243
260
|
if (node.layoutMode === "HORIZONTAL") {
|
|
244
261
|
if (axis === "horizontal") {
|
|
@@ -276,7 +293,7 @@ function extractSizeMetadata(node, tokens, tokenIndex) {
|
|
|
276
293
|
mode = "fixed";
|
|
277
294
|
}
|
|
278
295
|
}
|
|
279
|
-
return { rawValue: val, resolvedToken, mode };
|
|
296
|
+
return { rawValue: val, resolvedToken, boundToken, mode };
|
|
280
297
|
};
|
|
281
298
|
return {
|
|
282
299
|
width: toDesignValue(width, node.boundVariables?.width, "horizontal"),
|
|
@@ -289,16 +306,19 @@ function extractLayoutMetadata(node, tokens, tokenIndex) {
|
|
|
289
306
|
return undefined;
|
|
290
307
|
const toDesignValue = (val, boundVar) => {
|
|
291
308
|
let resolvedToken;
|
|
309
|
+
let boundToken;
|
|
292
310
|
if (boundVar?.id) {
|
|
293
311
|
resolvedToken = resolveTokenById(boundVar.id, tokenIndex);
|
|
294
312
|
}
|
|
295
313
|
if (!resolvedToken && boundVar?.name) {
|
|
296
314
|
resolvedToken = { name: boundVar.name, id: boundVar.id };
|
|
297
315
|
}
|
|
316
|
+
if (boundVar?.id)
|
|
317
|
+
boundToken = resolvedToken;
|
|
298
318
|
if (!resolvedToken) {
|
|
299
319
|
resolvedToken = resolveTokenByValue(val, tokens);
|
|
300
320
|
}
|
|
301
|
-
return { rawValue: val, resolvedToken };
|
|
321
|
+
return { rawValue: val, resolvedToken, boundToken };
|
|
302
322
|
};
|
|
303
323
|
const isAutoGap = node.primaryAxisAlignItems === "SPACE_BETWEEN";
|
|
304
324
|
const gapVal = isAutoGap
|