synthesisui 0.16.273 → 0.16.274

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.
@@ -608,8 +608,12 @@ versionOf) {
608
608
  * one is a hole somebody has to explain.
609
609
  */
610
610
  const expects = EXPECTS[lower];
611
+ /**
612
+ * E O MESMO ÍNDICE NO SLOT DE UM NÓ INTERNO, pela mesma razão: `measuredAt` só alcança um nó que
613
+ * saiba de onde veio. Aqui o `at` é o do PRÓPRIO nó, porque é o conteúdo dele que o slot ocupa.
614
+ */
611
615
  const withSlot = node.slot
612
- ? [...inside, { as: "slot", ...(expects ? { expects } : {}) }]
616
+ ? [...inside, { as: "slot", at: index, ...(expects ? { expects } : {}) }]
613
617
  : inside;
614
618
  if (withSlot.length > 0) {
615
619
  built.children = withSlot;
@@ -655,7 +659,31 @@ versionOf) {
655
659
  const rootNode = sketch[top];
656
660
  if (rootNode?.slot) {
657
661
  const only = EXPECTS[String(rootNode.tag ?? "").toLowerCase()];
658
- read.push({ as: "slot", ...(only ? { expects: only } : {}) });
662
+ /**
663
+ * O ÍNDICE DA RAIZ VIAJA COM O SLOT - e sem ele TODO fato de call-site da raiz sumia.
664
+ *
665
+ * `measuredAt` (anatomy-read.ts) começa com `if (typeof node.at !== "number") return out` e só
666
+ * depois lê `passes`, `contentFrom`, `behaviourProps`, `repeats` e `text`. Um nó sintetizado sem
667
+ * `at` não tem como recuperar nada disso.
668
+ *
669
+ * Medido em 21/08 no repositório do dono, e o que se perdia era ACESSIBILIDADE QUE ELE ESCREVEU:
670
+ *
671
+ * Toast <div role="status" aria-live="polite">
672
+ * TooltipContent <span role="tooltip">
673
+ * ThemeToggle <button type="button" role="switch" aria-label=…>
674
+ * Card <Tag onMouseMove=… onMouseLeave=…> (o tilt inteiro)
675
+ *
676
+ * A lei 10 diz que acessibilidade SUPOSTA é pior que nenhuma. Isto era o inverso e é pior ainda:
677
+ * ele escreveu, o censo colheu, e a receita entregava uma div muda ao agente dele.
678
+ *
679
+ * A raiz continua consumida - ela É o componente. O que muda é que o fato dela deixa de morrer com
680
+ * ela: viaja no slot que representa o conteúdo dela, que é o nó que sobra da raiz.
681
+ */
682
+ read.push({
683
+ as: "slot",
684
+ at: top,
685
+ ...(only ? { expects: only } : {}),
686
+ });
659
687
  }
660
688
  return { read, notes, libraries };
661
689
  }
@@ -253,7 +253,7 @@ export const CHECKER_SINCE = "0.16.250";
253
253
  * publicado antes deste código existir, e uma marca nele calaria o aviso para quem o instalou. Mesma
254
254
  * lição de algumas horas antes, na mesma sessão.
255
255
  */
256
- export const READER_SINCE = "0.16.273";
256
+ export const READER_SINCE = "0.16.274";
257
257
  /**
258
258
  * O QUE ESTÁ INSTALADO AQUI FICOU PARA TRÁS - e as DUAS condições que fazem isso ser verdade.
259
259
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.273",
3
+ "version": "0.16.274",
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": {