synthesisui 0.16.260 → 0.16.261

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.
@@ -180,6 +180,33 @@ function nameOfTag(tag) {
180
180
  .replace(/[^a-z0-9]+/g, "-")
181
181
  .replace(/^-|-$/g, "");
182
182
  }
183
+ /**
184
+ * O NOME QUE ELE MESMO DEU AO ELEMENTO - a classe do CSS Module.
185
+ *
186
+ * `className={styles.senderConfigContent}` é o cliente nomeando aquele nó. Antes
187
+ * disto o nó virava `box`, que é o nosso nome para "caixa que carrega decisões e
188
+ * cujo papel não se lê da tag" - correto e mudo. Medido no monorepo do dono em
189
+ * 20/08: **1185 dos 5319 nós de sketch carregam `moduleClass`**, em 381 nomes
190
+ * distintos - `content`, `formControl`, `senderConfig`, `title`, `actions`, `list`.
191
+ * Todos eles chegavam como `box`.
192
+ *
193
+ * É a lei 12 no nível do nó: o que ele declarou vence o que a gente deduziria. E é
194
+ * a promessa de paridade SEMÂNTICA - devolver o componente com os nomes dele, não
195
+ * com os nossos.
196
+ *
197
+ * A PRIMEIRA palavra, e não a mais longa nem a mais rara: `styles.card styles.open`
198
+ * é o elemento (`card`) mais um estado (`open`), nessa ordem, porque é assim que
199
+ * uma pessoa escreve. Escolher outra seria adivinhar qual das duas é o papel.
200
+ */
201
+ function nameOfModule(moduleClass) {
202
+ const first = String(moduleClass ?? "")
203
+ .trim()
204
+ .split(/\s+/)[0];
205
+ if (!first)
206
+ return undefined;
207
+ const name = nameOfTag(first);
208
+ return name || undefined;
209
+ }
183
210
  /**
184
211
  * A HEADLESS PRIMITIVE'S OWN MEMBER NAME, when it says what the thing is.
185
212
  *
@@ -517,7 +544,12 @@ versionOf) {
517
544
  * chegava com 2 das 35 (04/08).
518
545
  */
519
546
  if (!name && (classes || node.moduleClass))
520
- name = "box";
547
+ /**
548
+ * `box` VIROU A ÚLTIMA OPÇÃO, não a primeira - ver `nameOfModule`. Um nó com
549
+ * classe de module tem nome, e o nome é dele.
550
+ */
551
+ name =
552
+ nameOfModule(node.moduleClass) ?? "box";
521
553
  /**
522
554
  * A NODE WHOSE CONTENT IS THE CALLER'S is a slot, and it keeps its own name
523
555
  * and classes - the border and the hover on a `<tr>{children}</tr>` are real
@@ -13,7 +13,7 @@ import { isNearDuplicate, isNeutral, lightness, } from "../doctor/color-distance
13
13
  import { describeGate, gateComponent, groupSkips, SCREENS_FOR_SYSTEM, } from "../doctor/component-gate.js";
14
14
  import { emptyTally, internalSpecifiers, scanComponentsInto, tallyToInventory, } from "../doctor/components-scan.js";
15
15
  import { countShape, describeCoverage, summarizeCoverage, } from "../doctor/coverage.js";
16
- import { crosswalk, floorSize, isLibrary, observedRules, useLiveCatalogue, } from "../doctor/crosswalk.js";
16
+ import { classifyAside, crosswalk, floorSize, isLibrary, observedRules, useLiveCatalogue, } from "../doctor/crosswalk.js";
17
17
  import { keyframeOffsets, moduleImports, partialCandidates, readGlobalClasses, readModuleCss, readModuleUsage, sheetImports, transcribeModule, } from "../doctor/css-modules.js";
18
18
  import { dataContract } from "../doctor/data-contract.js";
19
19
  import { reconcile, scanDefinitions, } from "../doctor/definitions-scan.js";
@@ -703,6 +703,10 @@ export async function takeCensus(root, opts) {
703
703
  if (esize > 0 || etag || esketch.length > 0) {
704
704
  looks[extra.name] = {
705
705
  ...(esketch.length > 0 ? { sketch: esketch } : {}),
706
+ /** Ver `CensusLook.aside` - o segundo componente do arquivo também. */
707
+ ...(classifyAside(extra.name)
708
+ ? { aside: classifyAside(extra.name) }
709
+ : {}),
706
710
  ...et,
707
711
  ...(etag ? { rootTag: etag } : {}),
708
712
  ...rootPackage(etag, esketch),
@@ -992,6 +996,10 @@ export async function takeCensus(root, opts) {
992
996
  if (size > 0 || tag) {
993
997
  looks[found[0].name] = {
994
998
  ...(sketch.length > 0 ? { sketch } : {}),
999
+ /** Ver `CensusLook.aside`: o fato viaja, a regra fica de um lado só. */
1000
+ ...(classifyAside(found[0].name)
1001
+ ? { aside: classifyAside(found[0].name) }
1002
+ : {}),
995
1003
  ...withoutDark,
996
1004
  base,
997
1005
  states,
@@ -202,7 +202,7 @@ export const CHECKER_SINCE = "0.16.250";
202
202
  * (era 53% no melhor caminho; o derivado dava 38%). Um censo medido antes disto não
203
203
  * tem versão nenhuma - e o mapa de blueprints por versão não tem o que consultar.
204
204
  */
205
- export const READER_SINCE = "0.16.240";
205
+ export const READER_SINCE = "0.16.261";
206
206
  /**
207
207
  * O QUE ESTÁ INSTALADO AQUI FICOU PARA TRÁS - e as DUAS condições que fazem isso ser verdade.
208
208
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.260",
3
+ "version": "0.16.261",
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": {