@semacode/cli 1.3.5 → 1.3.6

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.
Files changed (157) hide show
  1. package/dist/cpp-symbols.d.ts +10 -0
  2. package/dist/cpp-symbols.js.map +1 -0
  3. package/dist/dotnet-http.d.ts +23 -0
  4. package/dist/dotnet-http.js.map +1 -0
  5. package/dist/drift.d.ts +118 -0
  6. package/dist/drift.js.map +1 -0
  7. package/dist/go-http.d.ts +23 -0
  8. package/dist/go-http.js.map +1 -0
  9. package/dist/importador.d.ts +29 -0
  10. package/dist/importador.js.map +1 -0
  11. package/dist/index.d.ts +2 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/java-http.d.ts +23 -0
  14. package/dist/java-http.js.map +1 -0
  15. package/dist/lua-symbols.d.ts +8 -0
  16. package/dist/lua-symbols.js.map +1 -0
  17. package/dist/projeto.d.ts +48 -0
  18. package/dist/projeto.js.map +1 -0
  19. package/dist/python-http.d.ts +23 -0
  20. package/dist/python-http.js.map +1 -0
  21. package/dist/rust-http.d.ts +23 -0
  22. package/dist/rust-http.js.map +1 -0
  23. package/dist/tipos.d.ts +3 -0
  24. package/dist/tipos.js.map +1 -0
  25. package/dist/typescript-http.d.ts +35 -0
  26. package/dist/typescript-http.js.map +1 -0
  27. package/node_modules/@sema/gerador-css/dist/index.d.ts +3 -0
  28. package/node_modules/@sema/gerador-css/dist/index.js +592 -0
  29. package/node_modules/@sema/gerador-css/dist/index.js.map +1 -0
  30. package/node_modules/@sema/gerador-css/package.json +14 -0
  31. package/node_modules/@sema/gerador-css/src/index.ts +605 -0
  32. package/node_modules/@sema/gerador-css/tsconfig.json +13 -0
  33. package/node_modules/@sema/gerador-css/tsconfig.tsbuildinfo +1 -0
  34. package/node_modules/@sema/gerador-dart/dist/index.d.ts +3 -0
  35. package/node_modules/@sema/gerador-dart/dist/index.js +44 -0
  36. package/node_modules/@sema/gerador-dart/dist/index.js.map +1 -0
  37. package/node_modules/@sema/gerador-dart/package.json +14 -0
  38. package/node_modules/@sema/gerador-dart/src/index.ts +52 -0
  39. package/node_modules/@sema/gerador-dart/tsconfig.json +13 -0
  40. package/node_modules/@sema/gerador-dart/tsconfig.tsbuildinfo +1 -0
  41. package/node_modules/@sema/gerador-html/dist/index.d.ts +3 -0
  42. package/node_modules/@sema/gerador-html/dist/index.js +163 -0
  43. package/node_modules/@sema/gerador-html/dist/index.js.map +1 -0
  44. package/node_modules/@sema/gerador-html/package.json +14 -0
  45. package/node_modules/@sema/gerador-html/src/index.ts +185 -0
  46. package/node_modules/@sema/gerador-html/tsconfig.json +13 -0
  47. package/node_modules/@sema/gerador-html/tsconfig.tsbuildinfo +1 -0
  48. package/node_modules/@sema/gerador-javascript/dist/index.d.ts +3 -0
  49. package/node_modules/@sema/gerador-javascript/dist/index.js +421 -0
  50. package/node_modules/@sema/gerador-javascript/dist/index.js.map +1 -0
  51. package/node_modules/@sema/gerador-javascript/package.json +14 -0
  52. package/node_modules/@sema/gerador-javascript/src/index.ts +461 -0
  53. package/node_modules/@sema/gerador-javascript/tsconfig.json +13 -0
  54. package/node_modules/@sema/gerador-javascript/tsconfig.tsbuildinfo +1 -0
  55. package/node_modules/@sema/gerador-lua/dist/index.d.ts +3 -0
  56. package/node_modules/@sema/gerador-lua/dist/index.js +328 -0
  57. package/node_modules/@sema/gerador-lua/dist/index.js.map +1 -0
  58. package/node_modules/@sema/gerador-lua/package.json +14 -0
  59. package/node_modules/@sema/gerador-lua/src/index.d.ts +3 -0
  60. package/node_modules/@sema/gerador-lua/src/index.js.map +1 -0
  61. package/node_modules/@sema/gerador-lua/src/index.ts +359 -0
  62. package/node_modules/@sema/gerador-lua/tsconfig.json +13 -0
  63. package/node_modules/@sema/gerador-lua/tsconfig.tsbuildinfo +1 -0
  64. package/node_modules/@sema/gerador-python/dist/index.d.ts +6 -0
  65. package/node_modules/@sema/gerador-python/dist/index.js +628 -0
  66. package/node_modules/@sema/gerador-python/dist/index.js.map +1 -0
  67. package/node_modules/@sema/gerador-python/package.json +14 -0
  68. package/node_modules/@sema/gerador-python/src/index.ts +706 -0
  69. package/node_modules/@sema/gerador-python/tsconfig.json +13 -0
  70. package/node_modules/@sema/gerador-python/tsconfig.tsbuildinfo +1 -0
  71. package/node_modules/@sema/gerador-typescript/dist/index.d.ts +6 -0
  72. package/node_modules/@sema/gerador-typescript/dist/index.js +656 -0
  73. package/node_modules/@sema/gerador-typescript/dist/index.js.map +1 -0
  74. package/node_modules/@sema/gerador-typescript/package.json +14 -0
  75. package/node_modules/@sema/gerador-typescript/src/index.ts +728 -0
  76. package/node_modules/@sema/gerador-typescript/tsconfig.json +13 -0
  77. package/node_modules/@sema/gerador-typescript/tsconfig.tsbuildinfo +1 -0
  78. package/node_modules/@sema/nucleo/dist/ast/tipos.d.ts +122 -0
  79. package/node_modules/@sema/nucleo/dist/ast/tipos.js +2 -0
  80. package/node_modules/@sema/nucleo/dist/ast/tipos.js.map +1 -0
  81. package/node_modules/@sema/nucleo/dist/diagnosticos/index.d.ts +21 -0
  82. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js +12 -0
  83. package/node_modules/@sema/nucleo/dist/diagnosticos/index.js.map +1 -0
  84. package/node_modules/@sema/nucleo/dist/formatador/index.d.ts +9 -0
  85. package/node_modules/@sema/nucleo/dist/formatador/index.js +445 -0
  86. package/node_modules/@sema/nucleo/dist/formatador/index.js.map +1 -0
  87. package/node_modules/@sema/nucleo/dist/index.d.ts +34 -0
  88. package/node_modules/@sema/nucleo/dist/index.js +95 -0
  89. package/node_modules/@sema/nucleo/dist/index.js.map +1 -0
  90. package/node_modules/@sema/nucleo/dist/ir/conversor.d.ts +5 -0
  91. package/node_modules/@sema/nucleo/dist/ir/conversor.js +781 -0
  92. package/node_modules/@sema/nucleo/dist/ir/conversor.js.map +1 -0
  93. package/node_modules/@sema/nucleo/dist/ir/modelos.d.ts +285 -0
  94. package/node_modules/@sema/nucleo/dist/ir/modelos.js +2 -0
  95. package/node_modules/@sema/nucleo/dist/ir/modelos.js.map +1 -0
  96. package/node_modules/@sema/nucleo/dist/lexer/lexer.d.ts +7 -0
  97. package/node_modules/@sema/nucleo/dist/lexer/lexer.js +122 -0
  98. package/node_modules/@sema/nucleo/dist/lexer/lexer.js.map +1 -0
  99. package/node_modules/@sema/nucleo/dist/lexer/tokens.d.ts +8 -0
  100. package/node_modules/@sema/nucleo/dist/lexer/tokens.js +46 -0
  101. package/node_modules/@sema/nucleo/dist/lexer/tokens.js.map +1 -0
  102. package/node_modules/@sema/nucleo/dist/parser/parser.d.ts +9 -0
  103. package/node_modules/@sema/nucleo/dist/parser/parser.js +656 -0
  104. package/node_modules/@sema/nucleo/dist/parser/parser.js.map +1 -0
  105. package/node_modules/@sema/nucleo/dist/semantico/analisador.d.ts +57 -0
  106. package/node_modules/@sema/nucleo/dist/semantico/analisador.js +1497 -0
  107. package/node_modules/@sema/nucleo/dist/semantico/analisador.js.map +1 -0
  108. package/node_modules/@sema/nucleo/dist/semantico/estruturas.d.ts +104 -0
  109. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js +445 -0
  110. package/node_modules/@sema/nucleo/dist/semantico/estruturas.js.map +1 -0
  111. package/node_modules/@sema/nucleo/dist/semantico/seguranca.d.ts +91 -0
  112. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js +258 -0
  113. package/node_modules/@sema/nucleo/dist/semantico/seguranca.js.map +1 -0
  114. package/node_modules/@sema/nucleo/dist/util/arquivos.d.ts +2 -0
  115. package/node_modules/@sema/nucleo/dist/util/arquivos.js +25 -0
  116. package/node_modules/@sema/nucleo/dist/util/arquivos.js.map +1 -0
  117. package/node_modules/@sema/nucleo/package.json +10 -0
  118. package/node_modules/@sema/nucleo/src/ast/tipos.ts +191 -0
  119. package/node_modules/@sema/nucleo/src/diagnosticos/index.ts +43 -0
  120. package/node_modules/@sema/nucleo/src/formatador/index.ts +507 -0
  121. package/node_modules/@sema/nucleo/src/index.ts +133 -0
  122. package/node_modules/@sema/nucleo/src/ir/conversor.ts +912 -0
  123. package/node_modules/@sema/nucleo/src/ir/modelos.ts +331 -0
  124. package/node_modules/@sema/nucleo/src/lexer/lexer.ts +166 -0
  125. package/node_modules/@sema/nucleo/src/lexer/tokens.ts +64 -0
  126. package/node_modules/@sema/nucleo/src/parser/gramatica.ebnf +39 -0
  127. package/node_modules/@sema/nucleo/src/parser/parser.ts +790 -0
  128. package/node_modules/@sema/nucleo/src/semantico/analisador.ts +2692 -0
  129. package/node_modules/@sema/nucleo/src/semantico/estruturas.ts +632 -0
  130. package/node_modules/@sema/nucleo/src/semantico/seguranca.ts +362 -0
  131. package/node_modules/@sema/nucleo/src/util/arquivos.ts +28 -0
  132. package/node_modules/@sema/nucleo/tsconfig.json +9 -0
  133. package/node_modules/@sema/nucleo/tsconfig.tsbuildinfo +1 -0
  134. package/node_modules/@sema/padroes/dist/index.d.ts +23 -0
  135. package/node_modules/@sema/padroes/dist/index.js +210 -0
  136. package/node_modules/@sema/padroes/dist/index.js.map +1 -0
  137. package/node_modules/@sema/padroes/package.json +10 -0
  138. package/node_modules/@sema/padroes/src/index.ts +251 -0
  139. package/node_modules/@sema/padroes/tsconfig.json +9 -0
  140. package/node_modules/@sema/padroes/tsconfig.tsbuildinfo +1 -0
  141. package/package.json +1 -1
  142. package/README.md +0 -73
  143. package/logo.png +0 -0
  144. package/semacode-cli-1.3.1.tgz +0 -0
  145. package/src/cpp-symbols.ts +0 -82
  146. package/src/dotnet-http.ts +0 -355
  147. package/src/drift.ts +0 -2455
  148. package/src/go-http.ts +0 -118
  149. package/src/importador.ts +0 -3448
  150. package/src/index.ts +0 -4476
  151. package/src/java-http.ts +0 -247
  152. package/src/projeto.ts +0 -810
  153. package/src/python-http.ts +0 -258
  154. package/src/rust-http.ts +0 -125
  155. package/src/tipos.ts +0 -22
  156. package/src/typescript-http.ts +0 -1076
  157. package/tsconfig.json +0 -20
@@ -0,0 +1,592 @@
1
+ import { normalizarNomeModulo, normalizarNomeParaSimbolo, } from "@sema/padroes";
2
+ function gerarEstilosEntity(entity) {
3
+ const nome = normalizarNomeParaSimbolo(entity.nome);
4
+ return `.sema-entity[data-entity="${entity.nome}"] {
5
+ border-left: 3px solid var(--sema-cor-entidade);
6
+ }
7
+ `;
8
+ }
9
+ function gerarEstilosTask(task) {
10
+ const erros = Object.keys(task.errors);
11
+ const erroEstilos = erros.map((nomeErro) => `.sema-erro[data-erro="${nomeErro}"] {
12
+ display: block;
13
+ color: var(--sema-cor-erro-texto);
14
+ background: var(--sema-cor-erro-fundo);
15
+ border-left: 3px solid var(--sema-cor-erro);
16
+ padding: 0.5rem 0.75rem;
17
+ margin-top: 0.5rem;
18
+ border-radius: var(--sema-raio);
19
+ font-size: 0.875rem;
20
+ animation: sema-surgir 0.3s ease;
21
+ }
22
+ `).join("\n");
23
+ return erroEstilos;
24
+ }
25
+ function gerarEstilosState(state) {
26
+ const estilos = [];
27
+ for (const transicao of state.transicoes) {
28
+ estilos.push(`.sema-estado-origem:has(+ .sema-estado-destino) { font-weight: 600; }`);
29
+ }
30
+ return estilos.join("\n");
31
+ }
32
+ function gerarEstilosEnum(enumeracao) {
33
+ return enumeracao.valores.map((valor) => `.sema-select option[value="${valor}"] {
34
+ color: var(--sema-cor-texto);
35
+ }
36
+ `).join("");
37
+ }
38
+ export function gerarCss(modulo) {
39
+ const nomeBase = normalizarNomeModulo(modulo.nome).replace(/\./g, "_");
40
+ const entidades = modulo.entities.map(gerarEstilosEntity).join("\n");
41
+ const tasks = modulo.tasks.map(gerarEstilosTask).join("\n");
42
+ const enums = modulo.enums.map(gerarEstilosEnum).join("\n");
43
+ const css = `/* Arquivo gerado automaticamente pela Sema. */
44
+ /* Modulo de origem: ${modulo.nome} */
45
+
46
+ /* ========================================
47
+ Design System — Variaveis
48
+ ======================================== */
49
+
50
+ :root {
51
+ /* Cores principais */
52
+ --sema-cor-primaria: #6366f1;
53
+ --sema-cor-primaria-hover: #4f46e5;
54
+ --sema-cor-primaria-suave: #eef2ff;
55
+ --sema-cor-sucesso: #10b981;
56
+ --sema-cor-sucesso-fundo: #ecfdf5;
57
+ --sema-cor-erro: #ef4444;
58
+ --sema-cor-erro-texto: #991b1b;
59
+ --sema-cor-erro-fundo: #fef2f2;
60
+ --sema-cor-aviso: #f59e0b;
61
+ --sema-cor-info: #3b82f6;
62
+
63
+ /* Neutros */
64
+ --sema-cor-fundo: #fafafa;
65
+ --sema-cor-superficie: #ffffff;
66
+ --sema-cor-texto: #18181b;
67
+ --sema-cor-texto-secundario: #71717a;
68
+ --sema-cor-borda: #e4e4e7;
69
+ --sema-cor-borda-foco: #a5b4fc;
70
+ --sema-cor-entidade: #8b5cf6;
71
+
72
+ /* Tipografia */
73
+ --sema-fonte: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
74
+ --sema-fonte-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;
75
+ --sema-tamanho-base: 0.9375rem;
76
+ --sema-tamanho-titulo: 1.75rem;
77
+ --sema-tamanho-subtitulo: 1.25rem;
78
+ --sema-tamanho-pequeno: 0.8125rem;
79
+
80
+ /* Espacamento */
81
+ --sema-espacamento-xs: 0.25rem;
82
+ --sema-espacamento-sm: 0.5rem;
83
+ --sema-espacamento-md: 1rem;
84
+ --sema-espacamento-lg: 1.5rem;
85
+ --sema-espacamento-xl: 2rem;
86
+
87
+ /* Bordas e sombras */
88
+ --sema-raio: 0.5rem;
89
+ --sema-raio-lg: 0.75rem;
90
+ --sema-sombra: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
91
+ --sema-sombra-lg: 0 4px 12px rgba(0, 0, 0, 0.1);
92
+
93
+ /* Transicoes */
94
+ --sema-transicao: 150ms ease;
95
+ --sema-transicao-lenta: 300ms ease;
96
+ }
97
+
98
+ /* ========================================
99
+ Dark Mode
100
+ ======================================== */
101
+
102
+ @media (prefers-color-scheme: dark) {
103
+ :root {
104
+ --sema-cor-primaria: #818cf8;
105
+ --sema-cor-primaria-hover: #a5b4fc;
106
+ --sema-cor-primaria-suave: #1e1b4b;
107
+ --sema-cor-sucesso: #34d399;
108
+ --sema-cor-sucesso-fundo: #064e3b;
109
+ --sema-cor-erro: #f87171;
110
+ --sema-cor-erro-texto: #fecaca;
111
+ --sema-cor-erro-fundo: #450a0a;
112
+ --sema-cor-fundo: #09090b;
113
+ --sema-cor-superficie: #18181b;
114
+ --sema-cor-texto: #fafafa;
115
+ --sema-cor-texto-secundario: #a1a1aa;
116
+ --sema-cor-borda: #3f3f46;
117
+ --sema-cor-borda-foco: #6366f1;
118
+ --sema-cor-entidade: #a78bfa;
119
+ }
120
+ }
121
+
122
+ /* ========================================
123
+ Base
124
+ ======================================== */
125
+
126
+ *, *::before, *::after {
127
+ box-sizing: border-box;
128
+ margin: 0;
129
+ padding: 0;
130
+ }
131
+
132
+ body {
133
+ font-family: var(--sema-fonte);
134
+ font-size: var(--sema-tamanho-base);
135
+ line-height: 1.6;
136
+ color: var(--sema-cor-texto);
137
+ background-color: var(--sema-cor-fundo);
138
+ -webkit-font-smoothing: antialiased;
139
+ }
140
+
141
+ /* ========================================
142
+ Layout
143
+ ======================================== */
144
+
145
+ .sema-header {
146
+ background: var(--sema-cor-superficie);
147
+ border-bottom: 1px solid var(--sema-cor-borda);
148
+ padding: var(--sema-espacamento-xl) var(--sema-espacamento-lg);
149
+ text-align: center;
150
+ }
151
+
152
+ .sema-header h1 {
153
+ font-size: var(--sema-tamanho-titulo);
154
+ font-weight: 700;
155
+ color: var(--sema-cor-primaria);
156
+ letter-spacing: -0.02em;
157
+ }
158
+
159
+ .sema-subtitulo {
160
+ color: var(--sema-cor-texto-secundario);
161
+ font-size: var(--sema-tamanho-pequeno);
162
+ margin-top: var(--sema-espacamento-xs);
163
+ }
164
+
165
+ .sema-main {
166
+ max-width: 64rem;
167
+ margin: 0 auto;
168
+ padding: var(--sema-espacamento-xl) var(--sema-espacamento-lg);
169
+ display: flex;
170
+ flex-direction: column;
171
+ gap: var(--sema-espacamento-lg);
172
+ }
173
+
174
+ .sema-footer {
175
+ text-align: center;
176
+ padding: var(--sema-espacamento-lg);
177
+ color: var(--sema-cor-texto-secundario);
178
+ font-size: var(--sema-tamanho-pequeno);
179
+ border-top: 1px solid var(--sema-cor-borda);
180
+ }
181
+
182
+ .sema-footer code {
183
+ font-family: var(--sema-fonte-mono);
184
+ background: var(--sema-cor-primaria-suave);
185
+ padding: 0.125rem 0.375rem;
186
+ border-radius: 0.25rem;
187
+ font-size: 0.8125rem;
188
+ }
189
+
190
+ /* ========================================
191
+ Entities
192
+ ======================================== */
193
+
194
+ .sema-entity,
195
+ .sema-task,
196
+ .sema-enum,
197
+ .sema-state,
198
+ .sema-flow,
199
+ .sema-route {
200
+ background: var(--sema-cor-superficie);
201
+ border: 1px solid var(--sema-cor-borda);
202
+ border-radius: var(--sema-raio-lg);
203
+ padding: var(--sema-espacamento-lg);
204
+ box-shadow: var(--sema-sombra);
205
+ transition: box-shadow var(--sema-transicao);
206
+ }
207
+
208
+ .sema-entity:hover,
209
+ .sema-task:hover,
210
+ .sema-route:hover {
211
+ box-shadow: var(--sema-sombra-lg);
212
+ }
213
+
214
+ .sema-entity h3,
215
+ .sema-task h3,
216
+ .sema-enum h3,
217
+ .sema-state h3,
218
+ .sema-flow h3,
219
+ .sema-route h3 {
220
+ font-size: var(--sema-tamanho-subtitulo);
221
+ font-weight: 600;
222
+ margin-bottom: var(--sema-espacamento-md);
223
+ color: var(--sema-cor-texto);
224
+ }
225
+
226
+ /* ========================================
227
+ Tabelas de Entity
228
+ ======================================== */
229
+
230
+ .sema-tabela {
231
+ width: 100%;
232
+ border-collapse: collapse;
233
+ font-size: var(--sema-tamanho-pequeno);
234
+ }
235
+
236
+ .sema-tabela th {
237
+ text-align: left;
238
+ padding: var(--sema-espacamento-sm) var(--sema-espacamento-md);
239
+ background: var(--sema-cor-primaria-suave);
240
+ border-bottom: 2px solid var(--sema-cor-borda);
241
+ font-weight: 600;
242
+ white-space: nowrap;
243
+ }
244
+
245
+ .sema-tabela th small {
246
+ color: var(--sema-cor-texto-secundario);
247
+ font-weight: 400;
248
+ margin-left: 0.25rem;
249
+ }
250
+
251
+ .sema-tabela td {
252
+ padding: var(--sema-espacamento-sm) var(--sema-espacamento-md);
253
+ border-bottom: 1px solid var(--sema-cor-borda);
254
+ color: var(--sema-cor-texto-secundario);
255
+ }
256
+
257
+ /* ========================================
258
+ Formularios de Task
259
+ ======================================== */
260
+
261
+ .sema-formulario fieldset {
262
+ border: 1px solid var(--sema-cor-borda);
263
+ border-radius: var(--sema-raio);
264
+ padding: var(--sema-espacamento-md);
265
+ margin-bottom: var(--sema-espacamento-md);
266
+ }
267
+
268
+ .sema-formulario legend {
269
+ font-weight: 600;
270
+ font-size: var(--sema-tamanho-pequeno);
271
+ color: var(--sema-cor-texto-secundario);
272
+ padding: 0 var(--sema-espacamento-xs);
273
+ text-transform: uppercase;
274
+ letter-spacing: 0.05em;
275
+ }
276
+
277
+ .sema-campo {
278
+ margin-bottom: var(--sema-espacamento-md);
279
+ }
280
+
281
+ .sema-campo label {
282
+ display: block;
283
+ font-weight: 500;
284
+ font-size: var(--sema-tamanho-pequeno);
285
+ margin-bottom: var(--sema-espacamento-xs);
286
+ color: var(--sema-cor-texto);
287
+ }
288
+
289
+ .sema-obrigatorio {
290
+ color: var(--sema-cor-erro);
291
+ }
292
+
293
+ .sema-campo input[type="text"],
294
+ .sema-campo input[type="number"],
295
+ .sema-campo input[type="email"],
296
+ .sema-campo input[type="url"],
297
+ .sema-campo input[type="date"],
298
+ .sema-campo input[type="datetime-local"],
299
+ .sema-campo textarea {
300
+ width: 100%;
301
+ padding: 0.5rem 0.75rem;
302
+ font-family: var(--sema-fonte);
303
+ font-size: var(--sema-tamanho-base);
304
+ color: var(--sema-cor-texto);
305
+ background: var(--sema-cor-fundo);
306
+ border: 1px solid var(--sema-cor-borda);
307
+ border-radius: var(--sema-raio);
308
+ outline: none;
309
+ transition: border-color var(--sema-transicao), box-shadow var(--sema-transicao);
310
+ }
311
+
312
+ .sema-campo input:focus,
313
+ .sema-campo textarea:focus {
314
+ border-color: var(--sema-cor-borda-foco);
315
+ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
316
+ }
317
+
318
+ .sema-campo textarea {
319
+ min-height: 5rem;
320
+ resize: vertical;
321
+ }
322
+
323
+ .sema-campo-checkbox label {
324
+ display: flex;
325
+ align-items: center;
326
+ gap: var(--sema-espacamento-sm);
327
+ cursor: pointer;
328
+ }
329
+
330
+ .sema-campo-checkbox input[type="checkbox"] {
331
+ width: 1.125rem;
332
+ height: 1.125rem;
333
+ accent-color: var(--sema-cor-primaria);
334
+ }
335
+
336
+ /* ========================================
337
+ Botoes
338
+ ======================================== */
339
+
340
+ .sema-botao {
341
+ display: inline-flex;
342
+ align-items: center;
343
+ justify-content: center;
344
+ padding: 0.625rem 1.25rem;
345
+ font-family: var(--sema-fonte);
346
+ font-size: var(--sema-tamanho-base);
347
+ font-weight: 600;
348
+ color: #fff;
349
+ background: var(--sema-cor-primaria);
350
+ border: none;
351
+ border-radius: var(--sema-raio);
352
+ cursor: pointer;
353
+ transition: background var(--sema-transicao), transform var(--sema-transicao);
354
+ }
355
+
356
+ .sema-botao:hover {
357
+ background: var(--sema-cor-primaria-hover);
358
+ transform: translateY(-1px);
359
+ }
360
+
361
+ .sema-botao:active {
362
+ transform: translateY(0);
363
+ }
364
+
365
+ /* ========================================
366
+ Erros
367
+ ======================================== */
368
+
369
+ .sema-erros {
370
+ margin-top: var(--sema-espacamento-sm);
371
+ }
372
+
373
+ .sema-erro[hidden] {
374
+ display: none;
375
+ }
376
+
377
+ /* ========================================
378
+ Saida
379
+ ======================================== */
380
+
381
+ .sema-saida {
382
+ margin-top: var(--sema-espacamento-md);
383
+ padding: var(--sema-espacamento-md);
384
+ background: var(--sema-cor-sucesso-fundo);
385
+ border: 1px solid var(--sema-cor-sucesso);
386
+ border-radius: var(--sema-raio);
387
+ }
388
+
389
+ .sema-saida[hidden] {
390
+ display: none;
391
+ }
392
+
393
+ .sema-saida h4 {
394
+ font-size: var(--sema-tamanho-pequeno);
395
+ font-weight: 600;
396
+ text-transform: uppercase;
397
+ letter-spacing: 0.05em;
398
+ color: var(--sema-cor-sucesso);
399
+ margin-bottom: var(--sema-espacamento-sm);
400
+ }
401
+
402
+ .sema-campo-saida {
403
+ padding: var(--sema-espacamento-xs) 0;
404
+ font-size: var(--sema-tamanho-pequeno);
405
+ }
406
+
407
+ /* ========================================
408
+ Selects (Enums)
409
+ ======================================== */
410
+
411
+ .sema-select {
412
+ width: 100%;
413
+ padding: 0.5rem 0.75rem;
414
+ font-family: var(--sema-fonte);
415
+ font-size: var(--sema-tamanho-base);
416
+ color: var(--sema-cor-texto);
417
+ background: var(--sema-cor-fundo);
418
+ border: 1px solid var(--sema-cor-borda);
419
+ border-radius: var(--sema-raio);
420
+ outline: none;
421
+ transition: border-color var(--sema-transicao);
422
+ }
423
+
424
+ .sema-select:focus {
425
+ border-color: var(--sema-cor-borda-foco);
426
+ box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
427
+ }
428
+
429
+ /* ========================================
430
+ States
431
+ ======================================== */
432
+
433
+ .sema-state {
434
+ border-left: 3px solid var(--sema-cor-aviso);
435
+ }
436
+
437
+ .sema-transicoes {
438
+ list-style: none;
439
+ padding: 0;
440
+ }
441
+
442
+ .sema-transicoes li {
443
+ padding: var(--sema-espacamento-sm) 0;
444
+ border-bottom: 1px solid var(--sema-cor-borda);
445
+ font-size: var(--sema-tamanho-pequeno);
446
+ }
447
+
448
+ .sema-transicoes li:last-child {
449
+ border-bottom: none;
450
+ }
451
+
452
+ .sema-estado-origem {
453
+ font-weight: 600;
454
+ color: var(--sema-cor-texto);
455
+ }
456
+
457
+ .sema-estado-destino {
458
+ color: var(--sema-cor-primaria);
459
+ font-weight: 600;
460
+ }
461
+
462
+ /* ========================================
463
+ Flows
464
+ ======================================== */
465
+
466
+ .sema-flow {
467
+ border-left: 3px solid var(--sema-cor-info);
468
+ }
469
+
470
+ .sema-etapas {
471
+ padding-left: var(--sema-espacamento-lg);
472
+ counter-reset: etapa;
473
+ }
474
+
475
+ .sema-etapas li {
476
+ padding: var(--sema-espacamento-sm) 0;
477
+ font-size: var(--sema-tamanho-pequeno);
478
+ }
479
+
480
+ .sema-etapa strong {
481
+ color: var(--sema-cor-primaria);
482
+ }
483
+
484
+ /* ========================================
485
+ Routes
486
+ ======================================== */
487
+
488
+ .sema-route {
489
+ border-left: 3px solid var(--sema-cor-sucesso);
490
+ }
491
+
492
+ .sema-route-detalhe {
493
+ display: flex;
494
+ align-items: center;
495
+ gap: var(--sema-espacamento-sm);
496
+ flex-wrap: wrap;
497
+ margin-bottom: var(--sema-espacamento-sm);
498
+ }
499
+
500
+ .sema-route-metodo {
501
+ display: inline-block;
502
+ padding: 0.125rem 0.5rem;
503
+ font-family: var(--sema-fonte-mono);
504
+ font-size: var(--sema-tamanho-pequeno);
505
+ font-weight: 700;
506
+ color: #fff;
507
+ background: var(--sema-cor-sucesso);
508
+ border-radius: 0.25rem;
509
+ text-transform: uppercase;
510
+ }
511
+
512
+ .sema-route-caminho {
513
+ font-family: var(--sema-fonte-mono);
514
+ font-size: var(--sema-tamanho-pequeno);
515
+ color: var(--sema-cor-texto);
516
+ }
517
+
518
+ .sema-route-task {
519
+ font-size: var(--sema-tamanho-pequeno);
520
+ color: var(--sema-cor-texto-secundario);
521
+ }
522
+
523
+ .sema-route-io {
524
+ margin-top: var(--sema-espacamento-sm);
525
+ font-size: var(--sema-tamanho-pequeno);
526
+ }
527
+
528
+ .sema-route-io summary {
529
+ cursor: pointer;
530
+ font-weight: 500;
531
+ color: var(--sema-cor-texto-secundario);
532
+ }
533
+
534
+ .sema-route-io ul {
535
+ padding-left: var(--sema-espacamento-lg);
536
+ margin-top: var(--sema-espacamento-xs);
537
+ }
538
+
539
+ /* ========================================
540
+ Animacoes
541
+ ======================================== */
542
+
543
+ @keyframes sema-surgir {
544
+ from {
545
+ opacity: 0;
546
+ transform: translateY(-4px);
547
+ }
548
+ to {
549
+ opacity: 1;
550
+ transform: translateY(0);
551
+ }
552
+ }
553
+
554
+ /* ========================================
555
+ Responsividade
556
+ ======================================== */
557
+
558
+ @media (max-width: 640px) {
559
+ .sema-main {
560
+ padding: var(--sema-espacamento-md);
561
+ }
562
+
563
+ .sema-header {
564
+ padding: var(--sema-espacamento-lg) var(--sema-espacamento-md);
565
+ }
566
+
567
+ .sema-header h1 {
568
+ font-size: 1.375rem;
569
+ }
570
+
571
+ .sema-tabela {
572
+ display: block;
573
+ overflow-x: auto;
574
+ }
575
+
576
+ .sema-route-detalhe {
577
+ flex-direction: column;
578
+ align-items: flex-start;
579
+ }
580
+ }
581
+
582
+ /* ========================================
583
+ Estilos especificos do modulo
584
+ ======================================== */
585
+
586
+ ${entidades}
587
+ ${tasks}
588
+ ${enums}
589
+ `;
590
+ return [{ caminhoRelativo: `${nomeBase}.css`, conteudo: css }];
591
+ }
592
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAE1B,MAAM,eAAe,CAAC;AAEvB,SAAS,kBAAkB,CAAC,MAAM;IAChC,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,6BAA6B,MAAM,CAAC,IAAI;;;CAGhD,CAAC;AACF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAI;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,yBAAyB,QAAQ;;;;;;;;;;;CAW9E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACZ,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAK;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAU;IAClC,OAAO,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,8BAA8B,KAAK;;;CAG7E,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAgB;IACvC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAG;uBACS,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8hBhC,SAAS;EACT,KAAK;EACL,KAAK;CACN,CAAC;IAEA,OAAO,CAAC,EAAE,eAAe,EAAE,GAAG,QAAQ,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "@sema/gerador-css",
3
+ "version": "1.3.6",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc -p tsconfig.json"
9
+ },
10
+ "dependencies": {
11
+ "@sema/nucleo": "file:../nucleo",
12
+ "@sema/padroes": "file:../padroes"
13
+ }
14
+ }