synthesisui 0.16.439 → 0.16.441
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/doctor/fragments.js +3 -0
- package/dist/doctor/value-ledger.js +32 -1
- package/dist/install-marks.js +1 -1
- package/dist/report-html.js +10 -19
- package/package.json +1 -1
package/dist/doctor/fragments.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { arranjoSemValor } from "./value-ledger.js";
|
|
1
2
|
/**
|
|
2
3
|
* TODO FRAGMENTO QUE CARREGA ESTILO, com arquivo e linha.
|
|
3
4
|
*
|
|
@@ -646,6 +647,8 @@ forms = []) {
|
|
|
646
647
|
const tokens = literal.split(/\s+/).filter(Boolean);
|
|
647
648
|
const readElsewhere = tokens.length > 0 &&
|
|
648
649
|
tokens.every((tk) => STRUCTURE.has(tk) ||
|
|
650
|
+
/** Arranjo sem valor de design - a MESMA resposta que a conta do anel dá. */
|
|
651
|
+
arranjoSemValor(tk) ||
|
|
649
652
|
wornGlobal.has(tk) ||
|
|
650
653
|
definedGlobal.has(tk) ||
|
|
651
654
|
islandRead.get(f.file)?.has(tk));
|
|
@@ -95,6 +95,37 @@ const STRUCTURAL_TOKENS = new Set([
|
|
|
95
95
|
"peer",
|
|
96
96
|
"isolate",
|
|
97
97
|
]);
|
|
98
|
+
/**
|
|
99
|
+
* O ARRANJO QUE NÃO CARREGA VALOR DE DESIGN - e por isso sai do denominador (dono, 19/09).
|
|
100
|
+
*
|
|
101
|
+
* O QUE O CLIENTE GANHA: a cobertura dele para de ser descontada por `mx-auto` e `col-span-6`.
|
|
102
|
+
* Medido nos dois repositórios limpos, `mx-auto` é o utilitário que mais aparece no que sobrava
|
|
103
|
+
* como não lido - 12 ocorrências num deles, o maior item isolado da lista inteira. Centrar um
|
|
104
|
+
* bloco e dizer quantas colunas ele ocupa não são decisões de design: são arranjo, a mesma coisa
|
|
105
|
+
* que `flex-col` e `w-full`, que já saem por `STRUCTURAL_TOKENS`.
|
|
106
|
+
*
|
|
107
|
+
* O TESTE É O VALOR, e não o nome da família. Estas famílias já resolvem para propriedades que
|
|
108
|
+
* `STRUCTURAL_PROPERTIES` conhece - `gridColumn`, `gridTemplateColumns`, `order` - e o que decide
|
|
109
|
+
* é o outro lado: o valor é uma CONTAGEM (`6`, `12`) ou a palavra `auto`, nenhum dos dois sendo
|
|
110
|
+
* quantidade que alguém escolheu de uma escala. `gap-6` continua fora daqui de propósito, porque
|
|
111
|
+
* ali o número É uma escolha de escala: ele muda o ritmo da tela.
|
|
112
|
+
*
|
|
113
|
+
* A LISTA CONTINUA CONSERVADORA, pelo mesmo motivo escrito em `STRUCTURAL_TOKENS`: o que não
|
|
114
|
+
* estiver aqui cai em `unread`, que é o lado certo de errar. E ela vive NESTE arquivo, junto das
|
|
115
|
+
* outras duas, porque três fontes para "isto é arranjo?" discordariam no primeiro conserto.
|
|
116
|
+
*/
|
|
117
|
+
const ARRANJO_SEM_VALOR = [
|
|
118
|
+
/** Grade e ordem: o valor é uma contagem de trilhas, `auto`, `full` ou `none`. */
|
|
119
|
+
/^(col|row)-(span|start|end)-(\d+|auto|full)$/,
|
|
120
|
+
/^grid-(cols|rows)-(\d+|none|subgrid)$/,
|
|
121
|
+
/^order-(\d+|first|last|none)$/,
|
|
122
|
+
/** Margem `auto` é centralização - a única margem cujo valor não sai de escala nenhuma. */
|
|
123
|
+
/^-?m[xytblrse]?-auto$/,
|
|
124
|
+
];
|
|
125
|
+
/** `mx-auto` e `col-span-6` nomeiam arranjo; `gap-6` nomeia uma escolha de escala. */
|
|
126
|
+
export function arranjoSemValor(utility) {
|
|
127
|
+
return ARRANJO_SEM_VALOR.some((re) => re.test(utility));
|
|
128
|
+
}
|
|
98
129
|
/**
|
|
99
130
|
* O destino de UM token de classe. Exportado para o julgamento por valor e a triagem lerem a
|
|
100
131
|
* MESMA resposta - duas cópias desta decisão é como o item 11 nasceu.
|
|
@@ -119,7 +150,7 @@ export function destinationOf(cls, declared, answered,
|
|
|
119
150
|
*/
|
|
120
151
|
defined) {
|
|
121
152
|
const { utility } = parseClass(cls);
|
|
122
|
-
if (STRUCTURAL_TOKENS.has(utility))
|
|
153
|
+
if (STRUCTURAL_TOKENS.has(utility) || arranjoSemValor(utility))
|
|
123
154
|
return "structure";
|
|
124
155
|
const read = readUtility(utility, declared);
|
|
125
156
|
if (read) {
|
package/dist/install-marks.js
CHANGED
|
@@ -815,7 +815,7 @@ export const CHECKER_SINCE = "0.16.424";
|
|
|
815
815
|
* deveriam estar lá. Quem tem censo gravado precisa de um `sync` para a fila de trabalho dele ser a
|
|
816
816
|
* real; ver o livro-razão de `corpus.spec.ts`.
|
|
817
817
|
*/
|
|
818
|
-
export const READER_SINCE = "0.16.
|
|
818
|
+
export const READER_SINCE = "0.16.440";
|
|
819
819
|
/**
|
|
820
820
|
* O QUE ESTÁ INSTALADO AQUI FICOU PARA TRÁS - e as DUAS condições que fazem isso ser verdade.
|
|
821
821
|
*
|
package/dist/report-html.js
CHANGED
|
@@ -93,7 +93,7 @@ ${layout()}
|
|
|
93
93
|
<div class="bar-fim">
|
|
94
94
|
<p class="meta">${escapar(quando)} · CLI ${escapar(cabecalho.cli)} · nothing left this machine</p>${input.comando
|
|
95
95
|
? `
|
|
96
|
-
<a class="
|
|
96
|
+
<a class="botao" href="${INSTALL_URL}" target="_blank" rel="noreferrer">Open the install page</a>`
|
|
97
97
|
: ""}
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
@@ -166,8 +166,8 @@ ${itens}
|
|
|
166
166
|
* A ÚLTIMA COISA QUE ELA LÊ: a conta, e não mais um inventário.
|
|
167
167
|
*
|
|
168
168
|
* Um relatório que termina na décima sexta lista deixa a pessoa com o diagnóstico e sem o passo.
|
|
169
|
-
* Este capítulo diz o que muda COM OS NÚMEROS DELA e entrega o comando ao lado
|
|
170
|
-
*
|
|
169
|
+
* Este capítulo diz o que muda COM OS NÚMEROS DELA e entrega o comando ao lado, escrito por
|
|
170
|
+
* extenso - quem chegou até aqui decidiu, e não deveria voltar ao terminal para lembrar a linha.
|
|
171
171
|
*/
|
|
172
172
|
function desenharMuda(linhas, comando) {
|
|
173
173
|
if (linhas.length === 0)
|
|
@@ -516,7 +516,7 @@ body {
|
|
|
516
516
|
justify-content: space-between;
|
|
517
517
|
}
|
|
518
518
|
|
|
519
|
-
/* O COMANDO
|
|
519
|
+
/* O COMANDO ESCRITO POR EXTENSO, no corpo: a linha para copiar, selecionavel de uma vez. */
|
|
520
520
|
.comando {
|
|
521
521
|
font-family: ${mono};
|
|
522
522
|
font-size: 12px;
|
|
@@ -805,9 +805,12 @@ footer { margin-top: 40px; color: var(--ds-color-semantic-muted); font-size: 13p
|
|
|
805
805
|
.lado { position: static; max-height: none; padding-bottom: 20px; }
|
|
806
806
|
}
|
|
807
807
|
|
|
808
|
-
/* O BOTAO: um alvo unico para quem leu a conta e decidiu
|
|
809
|
-
|
|
810
|
-
|
|
808
|
+
/* O BOTAO: um alvo unico para quem leu a conta e decidiu. Ele aparece em DOIS lugares - na barra
|
|
809
|
+
do topo, que nao rola, e no topo direito do capitulo de instalacao - e e o MESMO botao nos dois
|
|
810
|
+
(pedido dele, 19/09): na barra ele era um chip com cara de comando, e um comando com cara de
|
|
811
|
+
texto nao anuncia que leva a lugar nenhum. Abrir a pagina publica nao quebra o auto-contido,
|
|
812
|
+
porque um endereco so e buscado se a pessoa clicar. Os tres comandos seguem escritos na pagina,
|
|
813
|
+
por extenso, para quem esta sem rede. */
|
|
811
814
|
.passos-topo {
|
|
812
815
|
display: flex;
|
|
813
816
|
align-items: center;
|
|
@@ -829,18 +832,6 @@ footer { margin-top: 40px; color: var(--ds-color-semantic-muted); font-size: 13p
|
|
|
829
832
|
}
|
|
830
833
|
.botao:hover { opacity: 0.9; }
|
|
831
834
|
|
|
832
|
-
/* O COMANDO DO TOPO E' UM BOTAO: ele abre a pagina de instalacao, entao nao se comporta como
|
|
833
|
-
texto para selecionar - e a seta diz que leva a algum lugar antes de alguem descobrir clicando. */
|
|
834
|
-
a.comando.topo {
|
|
835
|
-
display: inline-flex;
|
|
836
|
-
align-items: center;
|
|
837
|
-
gap: 8px;
|
|
838
|
-
text-decoration: none;
|
|
839
|
-
user-select: none;
|
|
840
|
-
}
|
|
841
|
-
a.comando.topo i { font-style: normal; color: var(--ds-color-semantic-accent); }
|
|
842
|
-
a.comando.topo:hover { border-color: var(--ds-color-semantic-accent); }
|
|
843
|
-
|
|
844
835
|
/* AS DUAS PILHAS DO NAO LIDO, LADO A LADO: a comparacao e' o conteudo, entao elas nao se empilham
|
|
845
836
|
enquanto houver largura - ler "isto me afeta" e "isto nao" em sequencia perde a comparacao. */
|
|
846
837
|
.pilhas { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 4px; }
|
package/package.json
CHANGED