synthesisui 0.16.331 → 0.16.332

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.
@@ -169,6 +169,26 @@ function rules(css, media = null, out = []) {
169
169
  }
170
170
  return out;
171
171
  }
172
+ /**
173
+ * UMA DECLARAÇÃO DE CUSTOM PROPERTY É UMA DECLARAÇÃO - e descartá-la fazia a receita
174
+ * apontar para um nome que a nossa saída não declara.
175
+ *
176
+ * O padrão anterior era `^-?[a-z][a-z-]*$`: um hífen inicial (o prefixo de fabricante),
177
+ * nunca dois. Toda `--nome` caía fora, em `base`, em `dark` e em `states`, para toda
178
+ * classe. Medido no codelevel em 29/08: 0 de 23 classes globais carregavam uma, e a folha
179
+ * declara duas dentro de `@utility holo-card`.
180
+ *
181
+ * O QUE O CLIENTE VIVIA: a receita do `Card variant="holo"` sai com
182
+ * `background: linear-gradient(var(--holo-inner-bg), …)` e a variável não era declarada em
183
+ * lugar nenhum da nossa saída - nem o claro `#ffffff`, nem o escuro `#1a1a21`. Um `var()`
184
+ * sem fallback para propriedade não declarada invalida a declaração em tempo de valor
185
+ * computado, e o `background` volta ao inicial: o preenchimento E a borda cônica somem.
186
+ *
187
+ * Isto NÃO a promove a foundation. Ela continua morando na classe, e é `parseSchemeBlocks`
188
+ * quem decide o que é vocabulário de documento - lá a régua exige escopo de documento, e
189
+ * uma variável de componente nunca passa por ela.
190
+ */
191
+ const PROPERTY = /^(--[a-zA-Z0-9_-]+|-?[a-z][a-z-]*)$/;
172
192
  /** `prop: value;` pairs, in the camelCase the contract uses. */
173
193
  function declarations(body) {
174
194
  const out = {};
@@ -194,12 +214,21 @@ function declarations(body) {
194
214
  continue;
195
215
  const prop = piece.slice(0, colon).trim();
196
216
  const value = piece.slice(colon + 1).trim();
197
- if (!/^-?[a-z][a-z-]*$/.test(prop) || !value)
217
+ if (!PROPERTY.test(prop) || !value)
198
218
  continue;
199
219
  // A value that could break out of the stylesheet is not a value we carry.
200
220
  if (/[<>{}@]/.test(value))
201
221
  continue;
202
- out[camel(prop)] = value;
222
+ /**
223
+ * O NOME DE UMA CUSTOM PROPERTY É A CHAVE DE UMA REFERÊNCIA, e por isso ele não passa
224
+ * pelo `camel`.
225
+ *
226
+ * `--holo-inner-bg` viraria `-HoloInnerBg`, e o `var(--holo-inner-bg)` que a mesma regra
227
+ * escreve deixaria de encontrá-la. Uma propriedade padrão é um NOME que o contrato
228
+ * escreve em camelCase e o compilador devolve em kebab; uma custom property é um
229
+ * IDENTIFICADOR que o autor escolheu, e ela viaja verbatim nas duas pontas.
230
+ */
231
+ out[prop.startsWith("--") ? prop : camel(prop)] = value;
203
232
  }
204
233
  return out;
205
234
  }
@@ -367,7 +367,7 @@ export const CHECKER_SINCE = "0.16.308";
367
367
  * nunca era alcançado. Medido: 1134 componentes, 77 mudaram, e a receita que o cliente recebe muda
368
368
  * com eles. Uma medição anterior não produz o conserto, então a marca sobe.
369
369
  */
370
- export const READER_SINCE = "0.16.331";
370
+ export const READER_SINCE = "0.16.332";
371
371
  /**
372
372
  * O QUE ESTÁ INSTALADO AQUI FICOU PARA TRÁS - e as DUAS condições que fazem isso ser verdade.
373
373
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synthesisui",
3
- "version": "0.16.331",
3
+ "version": "0.16.332",
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": {