@semacode/cli 3.9.0 → 3.9.1
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/geracaoCore.js +15 -1
- package/node_modules/@sema/gerador-css/dist/index.part02.js +9 -9
- package/node_modules/@sema/nucleo/dist/semantico/analisador.part08.js +2 -0
- package/node_modules/@sema/padroes/dist/design.d.ts +4 -0
- package/node_modules/@sema/padroes/dist/design.js +26 -2
- package/package.json +1 -1
package/dist/geracaoCore.js
CHANGED
|
@@ -141,6 +141,19 @@ export function gerarDesignTokensArquivos(ir, alvo) {
|
|
|
141
141
|
}
|
|
142
142
|
const design = resolverDesignTokens(ir.design);
|
|
143
143
|
const cabecalho = `/* SEMA-GOVERNED — design tokens de ${ir.nome}; edite o bloco design do contrato, nao este arquivo. */\n`;
|
|
144
|
+
const cssEscuro = `
|
|
145
|
+
@media (prefers-color-scheme: dark) {
|
|
146
|
+
:root {
|
|
147
|
+
--sema-cor-primaria: ${design.coresEscuras.primaria};
|
|
148
|
+
--sema-cor-primaria-hover: ${design.coresEscuras.primariaHover};
|
|
149
|
+
--sema-cor-fundo: ${design.coresEscuras.fundo};
|
|
150
|
+
--sema-cor-superficie: ${design.coresEscuras.superficie};
|
|
151
|
+
--sema-cor-texto: ${design.coresEscuras.texto};
|
|
152
|
+
--sema-cor-texto-secundario: ${design.coresEscuras.textoSecundario};
|
|
153
|
+
--sema-cor-borda: ${design.coresEscuras.borda};
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
`;
|
|
144
157
|
const css = `${cabecalho}:root {
|
|
145
158
|
--sema-cor-primaria: ${design.cores.primaria};
|
|
146
159
|
--sema-cor-primaria-hover: ${design.cores.primariaHover};
|
|
@@ -157,9 +170,10 @@ export function gerarDesignTokensArquivos(ir, alvo) {
|
|
|
157
170
|
--sema-raio: ${design.forma.raio};
|
|
158
171
|
--sema-movimento-duracao: ${design.movimentoDuracao};
|
|
159
172
|
}
|
|
160
|
-
`;
|
|
173
|
+
${cssEscuro}`;
|
|
161
174
|
const objetoTokens = JSON.stringify({
|
|
162
175
|
colors: design.cores,
|
|
176
|
+
darkColors: design.coresEscuras,
|
|
163
177
|
typography: { ...design.tipografia, scale: design.escala },
|
|
164
178
|
shape: design.forma,
|
|
165
179
|
motion: { duration: design.movimentoDuracao },
|
|
@@ -57,20 +57,20 @@ export function gerarCss(modulo) {
|
|
|
57
57
|
======================================== */
|
|
58
58
|
@media (prefers-color-scheme: dark) {
|
|
59
59
|
:root {
|
|
60
|
-
--sema-cor-primaria:
|
|
61
|
-
--sema-cor-primaria-hover:
|
|
62
|
-
--sema-cor-primaria-suave:
|
|
60
|
+
--sema-cor-primaria: ${design.coresEscuras.primaria};
|
|
61
|
+
--sema-cor-primaria-hover: ${design.coresEscuras.primariaHover};
|
|
62
|
+
--sema-cor-primaria-suave: ${design.coresEscuras.primariaSuave};
|
|
63
63
|
--sema-cor-sucesso: #34d399;
|
|
64
64
|
--sema-cor-sucesso-fundo: #064e3b;
|
|
65
65
|
--sema-cor-erro: #f87171;
|
|
66
66
|
--sema-cor-erro-texto: #fecaca;
|
|
67
67
|
--sema-cor-erro-fundo: #450a0a;
|
|
68
|
-
--sema-cor-fundo:
|
|
69
|
-
--sema-cor-superficie:
|
|
70
|
-
--sema-cor-texto:
|
|
71
|
-
--sema-cor-texto-secundario:
|
|
72
|
-
--sema-cor-borda:
|
|
73
|
-
--sema-cor-borda-foco:
|
|
68
|
+
--sema-cor-fundo: ${design.coresEscuras.fundo};
|
|
69
|
+
--sema-cor-superficie: ${design.coresEscuras.superficie};
|
|
70
|
+
--sema-cor-texto: ${design.coresEscuras.texto};
|
|
71
|
+
--sema-cor-texto-secundario: ${design.coresEscuras.textoSecundario};
|
|
72
|
+
--sema-cor-borda: ${design.coresEscuras.borda};
|
|
73
|
+
--sema-cor-borda-foco: ${design.coresEscuras.bordaFoco};
|
|
74
74
|
--sema-cor-entidade: #a78bfa;
|
|
75
75
|
}
|
|
76
76
|
}
|
|
@@ -256,6 +256,8 @@ export const CAMPOS_TOKENS_DESIGN = new Set([
|
|
|
256
256
|
"paleta", "tipografia", "densidade", "forma", "movimento",
|
|
257
257
|
"cor_primaria", "cor_primaria_hover", "cor_primaria_suave", "cor_fundo", "cor_superficie",
|
|
258
258
|
"cor_texto", "cor_texto_secundario", "cor_borda", "fonte", "fonte_titulo", "fonte_mono", "raio_base",
|
|
259
|
+
"cor_primaria_escuro", "cor_primaria_hover_escuro", "cor_primaria_suave_escuro", "cor_fundo_escuro",
|
|
260
|
+
"cor_superficie_escuro", "cor_texto_escuro", "cor_texto_secundario_escuro", "cor_borda_escuro",
|
|
259
261
|
]);
|
|
260
262
|
export function validarDesignModulo(modulo, diagnosticos) {
|
|
261
263
|
const design = modulo.design;
|
|
@@ -9,6 +9,9 @@ export interface CoresDesign {
|
|
|
9
9
|
borda: string;
|
|
10
10
|
bordaFoco: string;
|
|
11
11
|
}
|
|
12
|
+
export interface PaletaDesign extends CoresDesign {
|
|
13
|
+
escuras: CoresDesign;
|
|
14
|
+
}
|
|
12
15
|
export interface TipografiaDesign {
|
|
13
16
|
fonte: string;
|
|
14
17
|
fonteTitulo: string;
|
|
@@ -26,6 +29,7 @@ export interface FormaDesign {
|
|
|
26
29
|
}
|
|
27
30
|
export interface DesignTokensResolvidos {
|
|
28
31
|
cores: CoresDesign;
|
|
32
|
+
coresEscuras: CoresDesign;
|
|
29
33
|
tipografia: TipografiaDesign;
|
|
30
34
|
escala: EscalaTipografica;
|
|
31
35
|
forma: FormaDesign;
|
|
@@ -5,41 +5,49 @@ const PALETAS = {
|
|
|
5
5
|
primaria: "#6366f1", primariaHover: "#4f46e5", primariaSuave: "#eef2ff",
|
|
6
6
|
fundo: "#fafafa", superficie: "#ffffff", texto: "#18181b",
|
|
7
7
|
textoSecundario: "#71717a", borda: "#e4e4e7", bordaFoco: "#a5b4fc",
|
|
8
|
+
escuras: { primaria: "#818cf8", primariaHover: "#a5b4fc", primariaSuave: "#1e1b4b", fundo: "#09090b", superficie: "#18181b", texto: "#fafafa", textoSecundario: "#a1a1aa", borda: "#3f3f46", bordaFoco: "#6366f1" },
|
|
8
9
|
},
|
|
9
10
|
terra: {
|
|
10
11
|
primaria: "#b45309", primariaHover: "#92400e", primariaSuave: "#fef3c7",
|
|
11
12
|
fundo: "#faf7f2", superficie: "#fffef9", texto: "#292524",
|
|
12
13
|
textoSecundario: "#78716c", borda: "#e7e5e4", bordaFoco: "#d97706",
|
|
14
|
+
escuras: { primaria: "#d97706", primariaHover: "#f59e0b", primariaSuave: "#451a03", fundo: "#1c1410", superficie: "#292019", texto: "#faf5ef", textoSecundario: "#b8a894", borda: "#4a3a2c", bordaFoco: "#f59e0b" },
|
|
13
15
|
},
|
|
14
16
|
floresta: {
|
|
15
17
|
primaria: "#15803d", primariaHover: "#166534", primariaSuave: "#dcfce7",
|
|
16
18
|
fundo: "#f7faf7", superficie: "#ffffff", texto: "#1a2e1a",
|
|
17
19
|
textoSecundario: "#6b7f6b", borda: "#dbe7db", bordaFoco: "#22c55e",
|
|
20
|
+
escuras: { primaria: "#4ade80", primariaHover: "#86efac", primariaSuave: "#14532d", fundo: "#0d1510", superficie: "#16211a", texto: "#f0faf0", textoSecundario: "#93a893", borda: "#2a3d2e", bordaFoco: "#4ade80" },
|
|
18
21
|
},
|
|
19
22
|
oceano: {
|
|
20
23
|
primaria: "#0369a1", primariaHover: "#075985", primariaSuave: "#e0f2fe",
|
|
21
24
|
fundo: "#f8fafc", superficie: "#ffffff", texto: "#0f172a",
|
|
22
25
|
textoSecundario: "#64748b", borda: "#e2e8f0", bordaFoco: "#38bdf8",
|
|
26
|
+
escuras: { primaria: "#38bdf8", primariaHover: "#7dd3fc", primariaSuave: "#0c4a6e", fundo: "#0b1220", superficie: "#141f33", texto: "#f1f6fb", textoSecundario: "#8ba3bd", borda: "#28394f", bordaFoco: "#38bdf8" },
|
|
23
27
|
},
|
|
24
28
|
noturno: {
|
|
25
29
|
primaria: "#22d3ee", primariaHover: "#06b6d4", primariaSuave: "#164e63",
|
|
26
30
|
fundo: "#0f172a", superficie: "#1e293b", texto: "#e2e8f0",
|
|
27
31
|
textoSecundario: "#94a3b8", borda: "#334155", bordaFoco: "#22d3ee",
|
|
32
|
+
escuras: { primaria: "#67e8f9", primariaHover: "#a5f3fc", primariaSuave: "#0e2a33", fundo: "#020617", superficie: "#111c2e", texto: "#eef6fa", textoSecundario: "#8899ab", borda: "#22334a", bordaFoco: "#67e8f9" },
|
|
28
33
|
},
|
|
29
34
|
grafite: {
|
|
30
35
|
primaria: "#f97316", primariaHover: "#ea580c", primariaSuave: "#ffedd5",
|
|
31
36
|
fundo: "#18181b", superficie: "#27272a", texto: "#fafafa",
|
|
32
37
|
textoSecundario: "#a1a1aa", borda: "#3f3f46", bordaFoco: "#fb923c",
|
|
38
|
+
escuras: { primaria: "#fb923c", primariaHover: "#fdba74", primariaSuave: "#431407", fundo: "#101012", superficie: "#1d1d20", texto: "#fafafa", textoSecundario: "#a0a0a6", borda: "#3a3a40", bordaFoco: "#fb923c" },
|
|
33
39
|
},
|
|
34
40
|
neon: {
|
|
35
41
|
primaria: "#a3e635", primariaHover: "#84cc16", primariaSuave: "#365314",
|
|
36
42
|
fundo: "#0a0a0a", superficie: "#171717", texto: "#fafafa",
|
|
37
43
|
textoSecundario: "#a3a3a3", borda: "#262626", bordaFoco: "#a3e635",
|
|
44
|
+
escuras: { primaria: "#bef264", primariaHover: "#d9f99d", primariaSuave: "#1a2e05", fundo: "#050505", superficie: "#101210", texto: "#fafafa", textoSecundario: "#9ca89c", borda: "#1f241f", bordaFoco: "#bef264" },
|
|
38
45
|
},
|
|
39
46
|
pixel: {
|
|
40
47
|
primaria: "#fbbf24", primariaHover: "#f59e0b", primariaSuave: "#451a03",
|
|
41
48
|
fundo: "#111827", superficie: "#1f2937", texto: "#f9fafb",
|
|
42
49
|
textoSecundario: "#9ca3af", borda: "#374151", bordaFoco: "#fbbf24",
|
|
50
|
+
escuras: { primaria: "#fcd34d", primariaHover: "#fde68a", primariaSuave: "#3b2a05", fundo: "#0a0d16", superficie: "#151a28", texto: "#f9fafb", textoSecundario: "#98a1b3", borda: "#2b3446", bordaFoco: "#fcd34d" },
|
|
43
51
|
},
|
|
44
52
|
};
|
|
45
53
|
const TIPOGRAFIAS = {
|
|
@@ -90,9 +98,21 @@ const CHAVES_COR = {
|
|
|
90
98
|
cor_texto_secundario: "textoSecundario",
|
|
91
99
|
cor_borda: "borda",
|
|
92
100
|
};
|
|
101
|
+
const CHAVES_COR_ESCURA = {
|
|
102
|
+
cor_primaria_escuro: "primaria",
|
|
103
|
+
cor_primaria_hover_escuro: "primariaHover",
|
|
104
|
+
cor_primaria_suave_escuro: "primariaSuave",
|
|
105
|
+
cor_fundo_escuro: "fundo",
|
|
106
|
+
cor_superficie_escuro: "superficie",
|
|
107
|
+
cor_texto_escuro: "texto",
|
|
108
|
+
cor_texto_secundario_escuro: "textoSecundario",
|
|
109
|
+
cor_borda_escuro: "borda",
|
|
110
|
+
};
|
|
93
111
|
export function resolverDesignTokens(design) {
|
|
94
112
|
const tokens = design?.tokens ?? {};
|
|
95
|
-
const
|
|
113
|
+
const paleta = PALETAS[tokens.paleta ?? "padrao"] ?? PALETAS.padrao;
|
|
114
|
+
const { escuras, ...cores } = { ...paleta, escuras: { ...paleta.escuras } };
|
|
115
|
+
const coresEscuras = escuras;
|
|
96
116
|
const tipografia = { ...TIPOGRAFIAS[tokens.tipografia ?? "padrao"] ?? TIPOGRAFIAS.padrao };
|
|
97
117
|
const escala = { ...DENSIDADES[tokens.densidade ?? "padrao"] ?? DENSIDADES.padrao };
|
|
98
118
|
const forma = { ...FORMAS[tokens.forma ?? "padrao"] ?? FORMAS.padrao };
|
|
@@ -100,9 +120,13 @@ export function resolverDesignTokens(design) {
|
|
|
100
120
|
const overrides = tokens.overrides ?? {};
|
|
101
121
|
for (const [chave, valor] of Object.entries(overrides)) {
|
|
102
122
|
const alvoCor = CHAVES_COR[chave];
|
|
123
|
+
const alvoCorEscura = CHAVES_COR_ESCURA[chave];
|
|
103
124
|
if (alvoCor) {
|
|
104
125
|
cores[alvoCor] = valor;
|
|
105
126
|
}
|
|
127
|
+
else if (alvoCorEscura) {
|
|
128
|
+
coresEscuras[alvoCorEscura] = valor;
|
|
129
|
+
}
|
|
106
130
|
else if (chave === "fonte") {
|
|
107
131
|
tipografia.fonte = valor;
|
|
108
132
|
}
|
|
@@ -117,7 +141,7 @@ export function resolverDesignTokens(design) {
|
|
|
117
141
|
forma.raioLg = valor;
|
|
118
142
|
}
|
|
119
143
|
}
|
|
120
|
-
return { cores, tipografia, escala, forma, movimentoDuracao };
|
|
144
|
+
return { cores, coresEscuras, tipografia, escala, forma, movimentoDuracao };
|
|
121
145
|
}
|
|
122
146
|
export function listarNomesDesign() {
|
|
123
147
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semacode/cli",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.1",
|
|
4
4
|
"description": "Local-first semantic governance CLI for AI agents, proven with Claude, Codex, zCode (GLM) and Kimi: contracts, drift, impact, docs gates, and code generation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"icon": "logo.png",
|