synthesisui 0.16.330 → 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 (
|
|
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
|
-
|
|
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
|
}
|
|
@@ -1289,7 +1289,7 @@ consumed) {
|
|
|
1289
1289
|
: `\`${axis}\` gates a look on one option (\`${named[0]}\`) - one option is not an axis, so the layer is kept and \`data-${attr}="${named[0]}"\` has to be set for it to apply`);
|
|
1290
1290
|
}
|
|
1291
1291
|
const layers = allLayers
|
|
1292
|
-
.
|
|
1292
|
+
.flatMap((layer) => {
|
|
1293
1293
|
/**
|
|
1294
1294
|
* THE MODIFIER COMES OFF BEFORE THE TRANSCRIPTION.
|
|
1295
1295
|
*
|
|
@@ -1309,11 +1309,32 @@ consumed) {
|
|
|
1309
1309
|
* folha entra como a camada de baixo, que é onde o CSS a coloca.
|
|
1310
1310
|
*/
|
|
1311
1311
|
const wornHere = wearGlobal(bare, globals);
|
|
1312
|
+
/**
|
|
1313
|
+
* O QUE SÓ VALE NO ESCURO FICA SÓ NO ESCURO - e antes disto ele pintava em toda face.
|
|
1314
|
+
*
|
|
1315
|
+
* O QUE O CLIENTE VIVIA: a folha dele escreve `html.dark .stroke-text { … }`, e a
|
|
1316
|
+
* declaração chegava dentro do MESMO objeto de estilo da camada base, DEPOIS das
|
|
1317
|
+
* declarações claras - então ela ganhava, e o `Typography variant="stroke"` renderizava o
|
|
1318
|
+
* contorno escuro também na face clara. Medido no codelevel em 29/08: 7 declarações, 3
|
|
1319
|
+
* classes, 1 componente.
|
|
1320
|
+
*
|
|
1321
|
+
* A CONDIÇÃO VIAJA COM O VALOR, e o slot para isso já existia: `when.scheme` é o mesmo
|
|
1322
|
+
* campo que o caminho da variante `dark:` usa desde 06/08 (69 camadas do censo dele já o
|
|
1323
|
+
* carregavam enquanto estas 7 declarações eram achatadas). Nada de campo novo.
|
|
1324
|
+
*
|
|
1325
|
+
* O ESQUEMA COMBINA COM AS OUTRAS CONDIÇÕES em vez de substituí-las: a camada escura
|
|
1326
|
+
* herda o `variant`, o `state` e o breakpoint da camada que a originou, que é como
|
|
1327
|
+
* `{ variant: { ring: "true" }, scheme: "dark" }` já aparece hoje.
|
|
1328
|
+
*/
|
|
1329
|
+
const darkOnly = { ...wornHere.dark, ...t.dark };
|
|
1330
|
+
/** A camada JÁ nasceu com um esquema? Aí ela não se divide - ela já é uma face. */
|
|
1331
|
+
const already = layer.when?.scheme;
|
|
1312
1332
|
const style = {
|
|
1313
1333
|
...wornHere.base,
|
|
1314
|
-
...wornHere.dark,
|
|
1315
1334
|
...t.base,
|
|
1316
|
-
|
|
1335
|
+
// Uma camada que já É a face escura recebe o escuro no próprio estilo. Uma que é a
|
|
1336
|
+
// face CLARA não recebe nada dele - seria pintar o outro esquema.
|
|
1337
|
+
...(already === "dark" ? darkOnly : {}),
|
|
1317
1338
|
};
|
|
1318
1339
|
/**
|
|
1319
1340
|
* O HÍBRIDO DO D1, no nível da camada: `classes` é a grafia DELE, verbatim (a metade de
|
|
@@ -1325,7 +1346,7 @@ consumed) {
|
|
|
1325
1346
|
.map((utility) => readUtility(utility, declared))
|
|
1326
1347
|
.filter((d) => d != null);
|
|
1327
1348
|
const fromFramework = reads.length > 0 && reads.every((d) => d.from === "framework");
|
|
1328
|
-
|
|
1349
|
+
const head = {
|
|
1329
1350
|
...(layer.when ? { when: layer.when } : {}),
|
|
1330
1351
|
...(layer.at ? { at: layer.at } : {}),
|
|
1331
1352
|
...(layer.onClasses ? { onClasses: layer.onClasses } : {}),
|
|
@@ -1333,6 +1354,32 @@ consumed) {
|
|
|
1333
1354
|
classes: layer.classes,
|
|
1334
1355
|
...(fromFramework ? { from: "framework" } : {}),
|
|
1335
1356
|
};
|
|
1357
|
+
/**
|
|
1358
|
+
* Sem declaração escura, nenhuma camada a mais - um componente que não tem esquema na
|
|
1359
|
+
* folha sai byte a byte como saía. E `already` já resolveu as duas faces acima.
|
|
1360
|
+
*/
|
|
1361
|
+
if (already || Object.keys(darkOnly).length === 0)
|
|
1362
|
+
return [head];
|
|
1363
|
+
return [
|
|
1364
|
+
head,
|
|
1365
|
+
{
|
|
1366
|
+
when: { ...(layer.when ?? {}), scheme: "dark" },
|
|
1367
|
+
...(layer.at ? { at: layer.at } : {}),
|
|
1368
|
+
...(layer.onClasses ? { onClasses: layer.onClasses } : {}),
|
|
1369
|
+
style: darkOnly,
|
|
1370
|
+
/**
|
|
1371
|
+
* AS MESMAS CLASSES: é a mesma classe dele, com a segunda face que a folha dá a
|
|
1372
|
+
* ela. `classes` é fidelidade - diz qual classe esta camada transcreve -, e quem
|
|
1373
|
+
* pinta é `style`.
|
|
1374
|
+
*
|
|
1375
|
+
* SEM `from`: o carimbo de framework é sobre as utilities transcritas, e estas
|
|
1376
|
+
* declarações vieram da folha DELE. `t.dark` está medido em 0 nas quatro
|
|
1377
|
+
* populações (o modificador sai em `parseClass` antes de `transcribe`), então
|
|
1378
|
+
* hoje o escuro aqui é sempre a folha.
|
|
1379
|
+
*/
|
|
1380
|
+
classes: layer.classes,
|
|
1381
|
+
},
|
|
1382
|
+
];
|
|
1336
1383
|
})
|
|
1337
1384
|
.filter((layer) => Object.keys(layer.style).length > 0);
|
|
1338
1385
|
return {
|
package/dist/install-marks.js
CHANGED
|
@@ -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.
|
|
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