synthesisui 0.16.55 → 0.16.56

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.
@@ -327,13 +327,19 @@ export async function takeCensus(root) {
327
327
  * by the two-option rule, while its type declares four sizes and three
328
328
  * variants (dono, 31/07). The component would have reached the platform with
329
329
  * no contract at all, which is the exact thing reading definitions was for.
330
+ *
331
+ * Carried BESIDE the usage rather than written into it. The first attempt
332
+ * merged the declaration into `props` and broke the two readings that need
333
+ * `props` to mean "what the code passed": the composition list started
334
+ * showing declared options as composed, and the dead-option check went quiet
335
+ * because every declared option now looked used.
330
336
  */
331
337
  const declaredBy = new Map(defined.map((d) => [d.name, d]));
332
338
  const enriched = inventory.map((c) => {
333
339
  const d = declaredBy.get(c.name);
334
340
  if (!d || Object.keys(d.axes).length === 0)
335
341
  return c;
336
- return { ...c, props: { ...c.props, ...d.axes } };
342
+ return { ...c, declaredAxes: d.axes };
337
343
  });
338
344
  const merged = [...enriched, ...fromTypes];
339
345
  // The verdict travels WITH the payload: the platform reads one reading rather
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.55",
3
+ "version": "0.16.56",
4
4
  "description": "Bring SynthesisUI design systems into any project - tokens, typed components, whole pages and an agent-ready CLAUDE.md manifest.",
5
5
  "type": "module",
6
6
  "bin": {