@calibrate-ds/core 0.1.53 → 0.1.65

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 (45) hide show
  1. package/dist/context/get-component-context.d.ts.map +1 -1
  2. package/dist/context/get-component-context.js +77 -11
  3. package/dist/context/get-component-context.js.map +1 -1
  4. package/dist/icons/enrich-icon-svgs.d.ts +5 -0
  5. package/dist/icons/enrich-icon-svgs.d.ts.map +1 -1
  6. package/dist/icons/enrich-icon-svgs.js +4 -1
  7. package/dist/icons/enrich-icon-svgs.js.map +1 -1
  8. package/dist/mappings/naming-strategy.d.ts +19 -0
  9. package/dist/mappings/naming-strategy.d.ts.map +1 -1
  10. package/dist/mappings/naming-strategy.js +26 -0
  11. package/dist/mappings/naming-strategy.js.map +1 -1
  12. package/dist/normalizer/instance-resolver.d.ts +1 -1
  13. package/dist/normalizer/instance-resolver.d.ts.map +1 -1
  14. package/dist/normalizer/instance-resolver.js +57 -12
  15. package/dist/normalizer/instance-resolver.js.map +1 -1
  16. package/dist/normalizer/layout-tree.d.ts.map +1 -1
  17. package/dist/normalizer/layout-tree.js +2 -1
  18. package/dist/normalizer/layout-tree.js.map +1 -1
  19. package/dist/normalizer/normalize-components.d.ts.map +1 -1
  20. package/dist/normalizer/normalize-components.js +51 -1
  21. package/dist/normalizer/normalize-components.js.map +1 -1
  22. package/dist/normalizer/variant-diff.d.ts.map +1 -1
  23. package/dist/normalizer/variant-diff.js +24 -7
  24. package/dist/normalizer/variant-diff.js.map +1 -1
  25. package/dist/prompt/generate-component-prompt.d.ts.map +1 -1
  26. package/dist/prompt/generate-component-prompt.js +39 -13
  27. package/dist/prompt/generate-component-prompt.js.map +1 -1
  28. package/dist/thumbnails/enrich-thumbnails.d.ts.map +1 -1
  29. package/dist/thumbnails/enrich-thumbnails.js +47 -9
  30. package/dist/thumbnails/enrich-thumbnails.js.map +1 -1
  31. package/dist/tokens/resolution.d.ts +7 -0
  32. package/dist/tokens/resolution.d.ts.map +1 -1
  33. package/dist/tokens/resolution.js +17 -2
  34. package/dist/tokens/resolution.js.map +1 -1
  35. package/dist/verify/index.d.ts +2 -0
  36. package/dist/verify/index.d.ts.map +1 -1
  37. package/dist/verify/index.js +1 -0
  38. package/dist/verify/index.js.map +1 -1
  39. package/dist/verify/types.d.ts +26 -0
  40. package/dist/verify/types.d.ts.map +1 -1
  41. package/dist/verify/verdict.d.ts +25 -0
  42. package/dist/verify/verdict.d.ts.map +1 -0
  43. package/dist/verify/verdict.js +43 -0
  44. package/dist/verify/verdict.js.map +1 -0
  45. package/package.json +3 -3
@@ -179,14 +179,21 @@ export function diffVariantAgainstBaseline(variantSnapshot, baselineSnapshot, va
179
179
  const variantNodes = flattenSnapshot(variantSnapshot);
180
180
  const baselineById = new Map();
181
181
  const baselineByPath = new Map();
182
- // name+type within parent path tertiary match when IDs and paths diverge
182
+ // Tertiary: name+type within same parent path (handles sibling-level insertions)
183
183
  const baselineByNameAtParent = new Map();
184
+ // Final fallback: name+type globally (handles ancestor-path shifts where entire
185
+ // subtrees move — parent-scoped key fails for all descendants when any ancestor shifts)
186
+ const baselineByName = new Map();
184
187
  baselineNodes.forEach(n => {
185
188
  if (n.id)
186
189
  baselineById.set(n.id, n);
187
190
  baselineByPath.set(n.path, n);
188
191
  const parentPath = n.path.includes("/") ? n.path.slice(0, n.path.lastIndexOf("/")) : "";
189
192
  baselineByNameAtParent.set(`${parentPath}::${n.name}::${n.type}`, n);
193
+ // First occurrence wins (shallowest / leftmost), consistent with DOM order
194
+ if (!baselineByName.has(`${n.name}::${n.type}`)) {
195
+ baselineByName.set(`${n.name}::${n.type}`, n);
196
+ }
190
197
  });
191
198
  // Build parent lookup: path → parent node name (for structural context in diffs)
192
199
  const parentNameByPath = new Map();
@@ -198,23 +205,33 @@ export function diffVariantAgainstBaseline(variantSnapshot, baselineSnapshot, va
198
205
  };
199
206
  buildParentMap(baselineSnapshot);
200
207
  buildParentMap(variantSnapshot);
201
- // Track baseline nodes that were successfully matched so that step 2 (removals)
202
- // only emits nodes that genuinely don't exist in the variant — eliminating the
203
- // addedNodes == removedNodes bug that occurs when path-matching fails.
208
+ // Track which baseline nodes have been claimed so that the global name fallback
209
+ // doesn't match the same baseline node to two different variant nodes.
204
210
  const matchedBaselinePaths = new Set();
205
211
  // 1. Detect Changes and Additions
206
212
  variantNodes.forEach(vNode => {
207
213
  let bMatch = baselineById.get(vNode.id);
214
+ // Fallback 2: same structural path + same type
208
215
  if (!bMatch) {
209
216
  const candidate = baselineByPath.get(vNode.path);
210
217
  if (candidate && candidate.type === vNode.type)
211
218
  bMatch = candidate;
212
219
  }
213
- // Tertiary: match by name+type within the same parent scope.
214
- // Handles the common case where a node insertion shifts sibling paths.
220
+ // Fallback 3: same name+type within same parent path (sibling insertion)
215
221
  if (!bMatch) {
216
222
  const parentPath = vNode.path.includes("/") ? vNode.path.slice(0, vNode.path.lastIndexOf("/")) : "";
217
- bMatch = baselineByNameAtParent.get(`${parentPath}::${vNode.name}::${vNode.type}`);
223
+ const candidate = baselineByNameAtParent.get(`${parentPath}::${vNode.name}::${vNode.type}`);
224
+ if (candidate && !matchedBaselinePaths.has(candidate.path))
225
+ bMatch = candidate;
226
+ }
227
+ // Fallback 4: same name+type anywhere in the tree (ancestor-path shift).
228
+ // When any ancestor was inserted/removed, all descendants' paths change —
229
+ // parent-scoped keys fail for the whole subtree. A global name match is the
230
+ // last resort. Guard with matchedBaselinePaths to prevent double-matching.
231
+ if (!bMatch) {
232
+ const candidate = baselineByName.get(`${vNode.name}::${vNode.type}`);
233
+ if (candidate && !matchedBaselinePaths.has(candidate.path))
234
+ bMatch = candidate;
218
235
  }
219
236
  if (!bMatch) {
220
237
  result.addedNodes.push({ name: vNode.name, type: vNode.type, path: vNode.path, parentName: parentNameByPath.get(vNode.path) });
@@ -1 +1 @@
1
- {"version":3,"file":"variant-diff.js","sourceRoot":"","sources":["../../src/normalizer/variant-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"variant-diff.js","sourceRoot":"","sources":["../../src/normalizer/variant-diff.ts"],"names":[],"mappings":"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"}
@@ -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,CAomCxB"}
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,CA6nCxB"}
@@ -1,5 +1,5 @@
1
1
  import { isIconComponent } from "../icons/enrich-icon-svgs.js";
2
- import { normalizeIconDisplayName } from "../mappings/naming-strategy.js";
2
+ import { normalizeIconDisplayName, toCanonicalComponentName, toCanonicalFolderSlug } from "../mappings/naming-strategy.js";
3
3
  function buildCssSkeleton(context) {
4
4
  const lines = [];
5
5
  // Only emit var() when cssVar is a valid custom property (starts with --)
@@ -834,12 +834,14 @@ export function generateComponentPrompt(context, framework = null) {
834
834
  const normalizedForCheck = normalizeIconDisplayName(rawName);
835
835
  const isIcon = isIconComponent(rawName) || isIconComponent(normalizedForCheck);
836
836
  const normalized = isIcon ? normalizedForCheck : rawName;
837
- // Split on whitespace AND hyphen/underscore so "btn-web" doesn't emit "Btn-web".
838
- const compName = importName ?? normalized.split(/[\s\-_]+/).map(p => p.charAt(0).toUpperCase() + p.slice(1)).join("");
837
+ // GAP-027: route through the single canonical slug so the import name and
838
+ // folder match the generated export/dir (was: local slug that preserved
839
+ // tail case and had no letter→digit split → chevron-down16x16).
840
+ const compName = importName ?? toCanonicalComponentName(normalized);
839
841
  if (seenImports.has(compName))
840
842
  return;
841
843
  seenImports.add(compName);
842
- const folder = normalized.toLowerCase().replace(/[\s_]+/g, "-");
844
+ const folder = toCanonicalFolderSlug(normalized);
843
845
  // Prefer the context-computed import path; fall back to the folder-based guess.
844
846
  const importPath = depImportPathMap.get(compName)
845
847
  ?? (isIcon ? `../../icons/${folder}/index.js` : `../${folder}/index.js`);
@@ -988,8 +990,8 @@ export function generateComponentPrompt(context, framework = null) {
988
990
  lines.push("");
989
991
  }
990
992
  for (const d of resolvableDeps) {
991
- const nameParts = d.name.split(/[\s\-_]+/);
992
- const pascalName = nameParts.map(p => p.charAt(0).toUpperCase() + p.slice(1)).join("");
993
+ // GAP-027: canonical identifier — matches the generated export name.
994
+ const pascalName = toCanonicalComponentName(d.name);
993
995
  const hasDimension = /\d+x\d+/.test(d.name);
994
996
  const lowerName = d.name.toLowerCase();
995
997
  const ICON_KEYWORDS = ["icon", "chevron", "arrow", "close", "menu", "more", "check", "plus",
@@ -1013,7 +1015,7 @@ export function generateComponentPrompt(context, framework = null) {
1013
1015
  const countNote = d.count > 1 ? ` (used ${d.count}×)` : "";
1014
1016
  lines.push(`- **${d.name}**${countNote} [${importNote}] — ${renderHint}`);
1015
1017
  const resolvedImportPath = d.importPath
1016
- || (isIcon ? `../../icons/${normalizeIconDisplayName(d.name).toLowerCase().replace(/\s+/g, "-")}/index.js` : `../${d.name.toLowerCase().replace(/\s+/g, "-")}/index.js`);
1018
+ || (isIcon ? `../../icons/${toCanonicalFolderSlug(d.name)}/index.js` : `../${toCanonicalFolderSlug(d.name)}/index.js`);
1017
1019
  lines.push(` Import: \`import { ${pascalName} } from '${resolvedImportPath}';\``);
1018
1020
  if (d.propHints && d.propHints.length > 0) {
1019
1021
  lines.push(` Accepted props: \`{ ${d.propHints.join(", ")} }\``);
@@ -1058,8 +1060,7 @@ export function generateComponentPrompt(context, framework = null) {
1058
1060
  }
1059
1061
  else if (def.dependency) {
1060
1062
  const compName = def.dependency.componentName || def.dependency.importName;
1061
- const compNormalized = isIconComponent(compName) ? normalizeIconDisplayName(compName) : compName;
1062
- const depFolder = compNormalized.toLowerCase().replace(/[\s_]+/g, "-");
1063
+ const depFolder = toCanonicalFolderSlug(compName);
1063
1064
  const importPath = isIconComponent(compName)
1064
1065
  ? `../../icons/${depFolder}/index.js`
1065
1066
  : `../${depFolder}/index.js`;
@@ -1178,7 +1179,10 @@ export function generateComponentPrompt(context, framework = null) {
1178
1179
  const fallback = (bind.valueType === "DIMENSION" && /^\d+(\.\d+)?$/.test(String(bind.cssValue)))
1179
1180
  ? `${bind.cssValue}px`
1180
1181
  : bind.cssValue;
1181
- lines.push(`- **${slot}** [${bind.valueType}]: \`var(${bind.cssVar}, ${fallback})\``);
1182
+ // GAP-002: when the binding has no concrete fallback value, emit a bare
1183
+ // var() rather than `var(--x, )` (empty fallback is invalid CSS).
1184
+ const cssRef = fallback ? `var(${bind.cssVar}, ${fallback})` : `var(${bind.cssVar})`;
1185
+ lines.push(`- **${slot}** [${bind.valueType}]: \`${cssRef}\``);
1182
1186
  lines.push(` - Resolution Path: ${safeArray(bind.resolutionPath).join(" -> ")}`);
1183
1187
  }
1184
1188
  }
@@ -1223,8 +1227,31 @@ export function generateComponentPrompt(context, framework = null) {
1223
1227
  lines.push("");
1224
1228
  lines.push("## Nested Instance Recipes");
1225
1229
  lines.push("Use these specific recipes when instantiating the following dependency instances:");
1230
+ // GAP-012: dedup identical instance recipes — emit each unique recipe once
1231
+ // with an occurrence count instead of repeating the full block N times
1232
+ // (a component used in 4 variants previously produced 4 identical recipes).
1233
+ // Fingerprint covers every field the block renders below.
1234
+ const recipeFingerprint = (inst) => JSON.stringify({
1235
+ name: inst.name,
1236
+ recipe: inst.recipe,
1237
+ variantSelection: inst.variantSelection,
1238
+ propertyOverrides: inst.propertyOverrides,
1239
+ childOverrides: inst.childOverrides,
1240
+ });
1241
+ const recipeCounts = new Map();
1242
+ for (const inst of context.dependencyInstances) {
1243
+ const fp = recipeFingerprint(inst);
1244
+ recipeCounts.set(fp, (recipeCounts.get(fp) ?? 0) + 1);
1245
+ }
1246
+ const emittedRecipes = new Set();
1226
1247
  for (const inst of context.dependencyInstances) {
1227
- lines.push(`### Instance: \`${inst.name}\` (Component: ${inst.name})`);
1248
+ const fp = recipeFingerprint(inst);
1249
+ if (emittedRecipes.has(fp))
1250
+ continue;
1251
+ emittedRecipes.add(fp);
1252
+ const occurrences = recipeCounts.get(fp) ?? 1;
1253
+ const countNote = occurrences > 1 ? ` — ${occurrences}× identical instances` : "";
1254
+ lines.push(`### Instance: \`${inst.name}\` (Component: ${inst.name})${countNote}`);
1228
1255
  if (inst.recipe) {
1229
1256
  lines.push(`- **Implementation Mode**: \`${inst.recipe.implementationMode || 'invoke-dependency'}\``);
1230
1257
  if (inst.recipe.classification) {
@@ -1363,8 +1390,7 @@ export function generateComponentPrompt(context, framework = null) {
1363
1390
  const jsxParts = Object.entries(cleanProps).map(([k, v]) => {
1364
1391
  const dep = v;
1365
1392
  if (dep && typeof dep === "object" && dep.kind === "dependency" && dep.importName) {
1366
- const depName = dep.importName
1367
- .split(/[\s\-_]+/).map((p) => p.charAt(0).toUpperCase() + p.slice(1)).join("");
1393
+ const depName = toCanonicalComponentName(dep.importName);
1368
1394
  return `${k}={<${depName} />}`;
1369
1395
  }
1370
1396
  if (typeof v === "boolean")