synthesisui 0.16.216 → 0.16.217

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/dist/guide.js CHANGED
@@ -1,6 +1,13 @@
1
1
  import { nextFontSnippet } from "./fonts.js";
2
2
  import { animationShorthand, classifyKeyframe, describeKeyframe, isFullRotation, } from "./motion.js";
3
3
  const kebab = (v) => v.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
4
+ /**
5
+ * O NOME CSS DE UMA PROPRIEDADE DO DOCUMENTO - e o hífen do prefixo de fornecedor faz parte dele.
6
+ *
7
+ * `WebkitFontSmoothing` é `-webkit-font-smoothing` no CSS, e sem o hífen inicial o agente copia uma
8
+ * propriedade que não existe. `kebab` sozinho começa a palavra em `webkit`.
9
+ */
10
+ const cssProp = (v) => (/^[A-Z]/.test(v) ? "-" : "") + kebab(v);
4
11
  const list = (items) => items.length ? items.map((i) => `\`${i}\``).join(", ") : "_(none)_";
5
12
  const dataAttrs = (variants) => Object.entries(variants).map(([axis, opts]) => `data-${kebab(axis)}="${Object.keys(opts).join("|")}"`);
6
13
  // Famílias genéricas do CSS - fallbacks, não webfonts a carregar.
@@ -387,6 +394,40 @@ ${depLines.join("\n")}
387
394
  * A prosa vem PRONTA do registry (ver `RegistryPayload.pending`): medir aqui seria uma segunda
388
395
  * cópia da regra, do lado que não tem a procedência dos caminhos.
389
396
  */
397
+ /**
398
+ * A PÁGINA DELE, DITA AO AGENTE - e sem esta seção a adoção escrevia um registro que ninguém lia.
399
+ *
400
+ * O QUÊ: as regras de elemento da folha global dele que ele adotou no sistema - `body { margin: 0 }`,
401
+ * `a { text-decoration-line: underline }`, `h1 { font-size: {typography.scale.h1} }`.
402
+ *
403
+ * POR QUÊ: a oferta que as adota promete, com todas as letras, *"your agent stops guessing at the
404
+ * page"*. Elas viajam no `design-system.json` desde o primeiro dia e o GUIDE - o arquivo que o
405
+ * agente é MANDADO ler primeiro - nunca as mencionou. Seis regras adotadas no sistema real em
406
+ * 12/08, e nenhum agente do mundo as encontraria (medido no repo dele, no `v6/GUIDE.md`).
407
+ *
408
+ * O que ele ganha ao ler: a página já tem base, então o próximo componente não redecide `margin`,
409
+ * `box-sizing` nem a família do heading - e não briga com o que a folha dele já faz.
410
+ */
411
+ const pageBase = Object.entries(foundations.base ?? {});
412
+ const pageBaseSection = pageBase.length === 0
413
+ ? ""
414
+ : `
415
+ ---
416
+
417
+ ## The page this system sits on
418
+
419
+ Their global stylesheet already dresses the page before any component runs, and the system carries
420
+ it. **Do not re-declare these, and do not fight them** - compose on top:
421
+
422
+ ${pageBase
423
+ .map(([element, props]) => `- \`${element}\` - ${Object.entries(props)
424
+ .map(([prop, at]) => `${cssProp(prop)}: ${at.value}`)
425
+ .join("; ")}`)
426
+ .join("\n")}
427
+
428
+ A value in braces is a token of theirs: it re-themes with the system, so the page follows the same
429
+ edit the components do.
430
+ `;
390
431
  const pending = payload.pending ?? [];
391
432
  const pendingSection = pending.length === 0
392
433
  ? ""
@@ -650,7 +691,7 @@ ${hasTailwind
650
691
  **Motion vocabulary** below; never hand-roll \`@keyframes\` or raw durations.
651
692
  - When **creating a new component** the DS does not cover yet: compose it from these semantic
652
693
  tokens to inherit the system's identity; do not invent colors/measures outside the scale.
653
- ${pendingSection}${keyframeLines.length > 0
694
+ ${pageBaseSection}${pendingSection}${keyframeLines.length > 0
654
695
  ? `
655
696
  ---
656
697
 
@@ -59,8 +59,13 @@
59
59
  * portão existe: o `GUIDE.md` que cai na pasta ganhou a seção "Open in this system", com o que o
60
60
  * sistema ainda não decidiu. Um install anterior a esta versão materializa um guia que não diz ao
61
61
  * agente dele quais nomes são provisórios - bytes diferentes, e diferença que muda o que ele lê.
62
+ *
63
+ * 0.16.216 -> 0.16.217 no mesmo dia, e SIM de novo: o guia passou a imprimir a PÁGINA que o sistema
64
+ * carrega - as regras de elemento da folha global dele. Elas viajavam no `design-system.json` desde
65
+ * sempre e o arquivo que o agente é mandado ler não as citava, então seis regras adotadas no sistema
66
+ * real eram invisíveis para quem ia escrever a próxima tela.
62
67
  */
63
- export const MATERIALISER_SINCE = "0.16.216";
68
+ export const MATERIALISER_SINCE = "0.16.217";
64
69
  /**
65
70
  * A ÚLTIMA VERSÃO EM QUE O QUE O HOOK RODA MUDOU.
66
71
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.216",
3
+ "version": "0.16.217",
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": {