@designliquido/delegua-interface-grafica 0.0.0 → 0.0.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/README.md +187 -4
- package/delegua-modulo.d.ts +124 -0
- package/delegua-modulo.d.ts.map +1 -0
- package/{fontes/delegua-modulo.ts → delegua-modulo.js} +101 -31
- package/delegua-modulo.js.map +1 -0
- package/{fontes/index.ts → index.d.ts} +1 -0
- package/index.d.ts.map +1 -0
- package/index.js +20 -0
- package/index.js.map +1 -0
- package/infraestruturas/electron/infraestrutura-electron.d.ts +34 -0
- package/infraestruturas/electron/infraestrutura-electron.d.ts.map +1 -0
- package/{fontes/infraestruturas/electron/infraestrutura-electron.ts → infraestruturas/electron/infraestrutura-electron.js} +43 -72
- package/infraestruturas/electron/infraestrutura-electron.js.map +1 -0
- package/infraestruturas/gtk/index.d.ts +2 -0
- package/infraestruturas/gtk/index.d.ts.map +1 -0
- package/infraestruturas/gtk/index.js +18 -0
- package/infraestruturas/gtk/index.js.map +1 -0
- package/infraestruturas/gtk/infraestrutura-gtk.d.ts +45 -0
- package/infraestruturas/gtk/infraestrutura-gtk.d.ts.map +1 -0
- package/infraestruturas/gtk/infraestrutura-gtk.js +122 -0
- package/infraestruturas/gtk/infraestrutura-gtk.js.map +1 -0
- package/infraestruturas/index.d.ts +8 -0
- package/infraestruturas/index.d.ts.map +1 -0
- package/infraestruturas/index.js +24 -0
- package/infraestruturas/index.js.map +1 -0
- package/infraestruturas/java-swing/index.d.ts +2 -0
- package/infraestruturas/java-swing/index.d.ts.map +1 -0
- package/infraestruturas/java-swing/index.js +18 -0
- package/infraestruturas/java-swing/index.js.map +1 -0
- package/infraestruturas/java-swing/infraestrutura-java-swing.d.ts +48 -0
- package/infraestruturas/java-swing/infraestrutura-java-swing.d.ts.map +1 -0
- package/infraestruturas/java-swing/infraestrutura-java-swing.js +122 -0
- package/infraestruturas/java-swing/infraestrutura-java-swing.js.map +1 -0
- package/infraestruturas/processo-externo/index.d.ts +2 -0
- package/infraestruturas/processo-externo/index.d.ts.map +1 -0
- package/infraestruturas/processo-externo/index.js +18 -0
- package/infraestruturas/processo-externo/index.js.map +1 -0
- package/infraestruturas/processo-externo/infraestrutura-processo-externo.d.ts +40 -0
- package/infraestruturas/processo-externo/infraestrutura-processo-externo.d.ts.map +1 -0
- package/infraestruturas/processo-externo/infraestrutura-processo-externo.js +218 -0
- package/infraestruturas/processo-externo/infraestrutura-processo-externo.js.map +1 -0
- package/infraestruturas/vazia/infraestrutura-vazia.d.ts +23 -0
- package/infraestruturas/vazia/infraestrutura-vazia.d.ts.map +1 -0
- package/infraestruturas/vazia/infraestrutura-vazia.js +50 -0
- package/infraestruturas/vazia/infraestrutura-vazia.js.map +1 -0
- package/infraestruturas/webview/infraestrutura-webview.d.ts +42 -0
- package/infraestruturas/webview/infraestrutura-webview.d.ts.map +1 -0
- package/infraestruturas/webview/infraestrutura-webview.js +337 -0
- package/infraestruturas/webview/infraestrutura-webview.js.map +1 -0
- package/infraestruturas/windows/index.d.ts +2 -0
- package/infraestruturas/windows/index.d.ts.map +1 -0
- package/infraestruturas/windows/index.js +18 -0
- package/infraestruturas/windows/index.js.map +1 -0
- package/infraestruturas/windows/infraestrutura-windows.d.ts +45 -0
- package/infraestruturas/windows/infraestrutura-windows.d.ts.map +1 -0
- package/infraestruturas/windows/infraestrutura-windows.js +122 -0
- package/infraestruturas/windows/infraestrutura-windows.js.map +1 -0
- package/interface-grafica.d.ts +95 -0
- package/interface-grafica.d.ts.map +1 -0
- package/{fontes/interface-grafica.ts → interface-grafica.js} +23 -70
- package/interface-grafica.js.map +1 -0
- package/{fontes/interfaces/componente-interface-grafica-interface.ts → interfaces/componente-interface-grafica-interface.d.ts} +1 -0
- package/interfaces/componente-interface-grafica-interface.d.ts.map +1 -0
- package/interfaces/componente-interface-grafica-interface.js +3 -0
- package/interfaces/componente-interface-grafica-interface.js.map +1 -0
- package/{fontes/interfaces/index.ts → interfaces/index.d.ts} +1 -0
- package/interfaces/index.d.ts.map +1 -0
- package/interfaces/index.js +19 -0
- package/interfaces/index.js.map +1 -0
- package/{fontes/interfaces/infraestrutura-grafica-interface.ts → interfaces/infraestrutura-grafica-interface.d.ts} +2 -12
- package/interfaces/infraestrutura-grafica-interface.d.ts.map +1 -0
- package/interfaces/infraestrutura-grafica-interface.js +3 -0
- package/interfaces/infraestrutura-grafica-interface.js.map +1 -0
- package/package.json +9 -3
- package/.release-it.json +0 -15
- package/fontes/infraestruturas/electron/README.md +0 -92
- package/fontes/infraestruturas/index.ts +0 -2
- package/fontes/infraestruturas/vazia/README.md +0 -53
- package/fontes/infraestruturas/vazia/infraestrutura-vazia.ts +0 -61
- package/jest.config.ts +0 -21
- package/testes/interface-grafica.test.ts +0 -159
- package/tsconfig.json +0 -22
- package/tsconfig.spec.json +0 -21
package/README.md
CHANGED
|
@@ -55,10 +55,54 @@ A biblioteca é dividida em duas camadas:
|
|
|
55
55
|
|
|
56
56
|
### Infraestruturas disponíveis
|
|
57
57
|
|
|
58
|
-
| Classe |
|
|
59
|
-
|
|
60
|
-
| `InfraestruturaElectron` |
|
|
61
|
-
| `
|
|
58
|
+
| Classe | Ambiente | Descrição |
|
|
59
|
+
|--------|----------|-----------|
|
|
60
|
+
| `InfraestruturaElectron` | Processo renderer do Electron | Cria elementos DOM diretamente no `document.body` da janela Electron. Selecionada automaticamente quando `document` está disponível. |
|
|
61
|
+
| `InfraestruturaGtk` *(experimental)* | Node.js + host GTK externo | Encaminha comandos de UI para um processo externo GTK via JSON em stdin/stdout. Recomendado para ambientes Linux-first. |
|
|
62
|
+
| `InfraestruturaJavaSwing` *(experimental)* | Node.js + host Java externo | Encaminha comandos de UI para um processo externo Java Swing via JSON em stdin/stdout. Requer um host Swing compatível com o protocolo da biblioteca. |
|
|
63
|
+
| `InfraestruturaWindows` *(experimental)* | Node.js + host Windows externo | Encaminha comandos de UI para um processo externo Windows (WPF/WinUI/WinForms) via JSON em stdin/stdout. Recomendado para ambientes Windows-first. |
|
|
64
|
+
| `InfraestruturaVazia` | Qualquer (fallback) | Sem operações visuais; mantém estado de texto em memória. Usada em testes unitários e quando nenhuma outra infraestrutura se aplica. |
|
|
65
|
+
| `InfraestruturaWebView` | Extensão VS Code | Renderiza a janela em um `WebviewPanel` do VS Code, comunicando-se via `postMessage`. Requer chamada prévia a `definirFabricaPainelWebView()` em `@designliquido/delegua-node`. |
|
|
66
|
+
| `InfraestruturaElectronSpawn` *(em `delegua-node`)* | Linha de comando (Node.js) | Spawna um processo Electron filho e comunica-se via stdin/stdout com o mesmo protocolo JSON de `InfraestruturaWebView`. Selecionada automaticamente quando o pacote `electron` está instalado. |
|
|
67
|
+
|
|
68
|
+
### Como a infraestrutura é escolhida em `delegua-node`
|
|
69
|
+
|
|
70
|
+
Ao importar `interfaceGrafica` em um programa Delégua, `delegua-node` escolhe a infraestrutura na seguinte ordem de prioridade:
|
|
71
|
+
|
|
72
|
+
1. **`InfraestruturaWebView`** — se a extensão VS Code tiver registrado uma fábrica de painel via `definirFabricaPainelWebView()` (veja abaixo).
|
|
73
|
+
2. **`InfraestruturaElectron`** — se `document` estiver disponível (processo renderer do Electron).
|
|
74
|
+
3. **`InfraestruturaElectronSpawn`** *(em `delegua-node`)* — se o pacote `electron` estiver instalado (local ou globalmente). Spawna um processo Electron filho e comunica-se via stdin/stdout.
|
|
75
|
+
4. **`InfraestruturaVazia`** — fallback final; emite um aviso no console e não exibe nenhuma janela.
|
|
76
|
+
|
|
77
|
+
### Executando programas com interface gráfica
|
|
78
|
+
|
|
79
|
+
#### Linha de comando (Node.js puro)
|
|
80
|
+
|
|
81
|
+
Rodar um programa Delégua diretamente pelo terminal (`delegua meu-programa.delegua`) cai no **fallback `InfraestruturaVazia`**: o programa executa sem erros, mas nenhuma janela é exibida. Isso é esperado — Node.js não tem DOM.
|
|
82
|
+
|
|
83
|
+
#### Dentro do VS Code (extensão Delégua)
|
|
84
|
+
|
|
85
|
+
A extensão Delégua para VS Code pode exibir a janela em um painel nativo chamando `definirFabricaPainelWebView()` antes de executar o programa:
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
import { definirFabricaPainelWebView } from '@designliquido/delegua-node';
|
|
89
|
+
|
|
90
|
+
// no método activate() da extensão:
|
|
91
|
+
definirFabricaPainelWebView(() =>
|
|
92
|
+
vscode.window.createWebviewPanel(
|
|
93
|
+
'delegua-interface-grafica',
|
|
94
|
+
'Interface Gráfica – Delégua',
|
|
95
|
+
vscode.ViewColumn.One,
|
|
96
|
+
{ enableScripts: true }
|
|
97
|
+
)
|
|
98
|
+
);
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Com isso, `ig.iniciar()` abre um painel dentro do próprio VS Code e todos os eventos (cliques, alterações de texto) funcionam normalmente.
|
|
102
|
+
|
|
103
|
+
#### Processo renderer do Electron
|
|
104
|
+
|
|
105
|
+
Se o programa Delégua for executado diretamente dentro de um processo renderer Electron (onde `document` está disponível), `InfraestruturaElectron` é selecionada automaticamente e a janela é renderizada como um overlay DOM sobre a página existente.
|
|
62
106
|
|
|
63
107
|
Para usar uma infraestrutura diferente (ou criar a sua própria), implemente `InfraestruturaGraficaInterface` e passe a instância ao construtor de `InterfaceGrafica`:
|
|
64
108
|
|
|
@@ -72,6 +116,145 @@ class MinhaInfraestrutura implements InfraestruturaGraficaInterface {
|
|
|
72
116
|
const ig = new InterfaceGrafica(new MinhaInfraestrutura());
|
|
73
117
|
```
|
|
74
118
|
|
|
119
|
+
### Selecionando backend Java Swing por variáveis de ambiente
|
|
120
|
+
|
|
121
|
+
O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend Swing automaticamente quando a variável abaixo estiver definida:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
DELEGUA_INTERFACE_GRAFICA_BACKEND=java-swing
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Variáveis opcionais para o host Swing:
|
|
128
|
+
|
|
129
|
+
- `DELEGUA_INTERFACE_GRAFICA_SWING_COMANDO` (padrão: `java`)
|
|
130
|
+
- `DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS` (padrão: `-jar delegua-interface-grafica-swing-host.jar`)
|
|
131
|
+
- `DELEGUA_INTERFACE_GRAFICA_SWING_JAR` (atalho para montar automaticamente `-jar <caminho>` quando `DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS` não estiver definido)
|
|
132
|
+
- `DELEGUA_INTERFACE_GRAFICA_SWING_CWD` (diretório de trabalho para o processo)
|
|
133
|
+
|
|
134
|
+
Se o backend Swing falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
|
|
135
|
+
|
|
136
|
+
### Selecionando backend GTK por variáveis de ambiente
|
|
137
|
+
|
|
138
|
+
O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend GTK automaticamente quando:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
DELEGUA_INTERFACE_GRAFICA_BACKEND=gtk
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
Variáveis opcionais para o host GTK:
|
|
145
|
+
|
|
146
|
+
- `DELEGUA_INTERFACE_GRAFICA_GTK_COMANDO` (padrão: `delegua-interface-grafica-gtk-host`)
|
|
147
|
+
- `DELEGUA_INTERFACE_GRAFICA_GTK_ARGUMENTOS` (argumentos separados por espaço)
|
|
148
|
+
- `DELEGUA_INTERFACE_GRAFICA_GTK_CWD` (diretório de trabalho para o processo)
|
|
149
|
+
|
|
150
|
+
Se o backend GTK falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
|
|
151
|
+
|
|
152
|
+
### Selecionando backend Windows por variáveis de ambiente
|
|
153
|
+
|
|
154
|
+
O módulo `DeleguaModuloInterfaceGrafica` pode inicializar o backend Windows automaticamente quando:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
DELEGUA_INTERFACE_GRAFICA_BACKEND=windows
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Variáveis opcionais para o host Windows:
|
|
161
|
+
|
|
162
|
+
- `DELEGUA_INTERFACE_GRAFICA_WINDOWS_COMANDO` (padrão: `delegua-interface-grafica-windows-host.exe`)
|
|
163
|
+
- `DELEGUA_INTERFACE_GRAFICA_WINDOWS_ARGUMENTOS` (argumentos separados por espaço)
|
|
164
|
+
- `DELEGUA_INTERFACE_GRAFICA_WINDOWS_CWD` (diretório de trabalho para o processo)
|
|
165
|
+
|
|
166
|
+
Se o backend Windows falhar ao iniciar, a biblioteca faz fallback automático para `InfraestruturaVazia` com aviso em `console.warn`.
|
|
167
|
+
|
|
168
|
+
### Protocolo do host externo
|
|
169
|
+
|
|
170
|
+
A especificação do protocolo de mensagens entre TypeScript e hosts externos está em:
|
|
171
|
+
|
|
172
|
+
- `docs/protocolo-processo-externo-v1.md`
|
|
173
|
+
|
|
174
|
+
Um esqueleto inicial do host Java Swing foi adicionado em:
|
|
175
|
+
|
|
176
|
+
- `host-java-swing/`
|
|
177
|
+
|
|
178
|
+
Um esqueleto inicial do host GTK foi adicionado em:
|
|
179
|
+
|
|
180
|
+
- `host-gtk/`
|
|
181
|
+
|
|
182
|
+
Um esqueleto inicial do host Windows foi adicionado em:
|
|
183
|
+
|
|
184
|
+
- `host-windows/`
|
|
185
|
+
|
|
186
|
+
### Teste E2E opcional com host Java real
|
|
187
|
+
|
|
188
|
+
Por padrão, os testes E2E de Swing ficam desativados para não depender de Java/JAR em todos os ambientes.
|
|
189
|
+
|
|
190
|
+
Para executar:
|
|
191
|
+
|
|
192
|
+
1. Gere o JAR do host Java Swing.
|
|
193
|
+
2. Defina as variáveis de ambiente:
|
|
194
|
+
- `DELEGUA_SWING_E2E=1`
|
|
195
|
+
- `DELEGUA_SWING_E2E_JAR=<caminho-absoluto-do-jar>`
|
|
196
|
+
- opcional: `DELEGUA_SWING_E2E_COMANDO=java`
|
|
197
|
+
3. Rode `yarn testes-unitarios`.
|
|
198
|
+
|
|
199
|
+
O teste E2E está em `testes/infraestrutura-java-swing-e2e.test.ts`.
|
|
200
|
+
|
|
201
|
+
Alternativa automatizada (compila host + roda E2E):
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
yarn testes-e2e-java-swing
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
Requisitos para esse comando:
|
|
208
|
+
|
|
209
|
+
- Gradle instalado no ambiente, ou
|
|
210
|
+
- `gradlew`/`gradlew.bat` presente em `host-java-swing/`.
|
|
211
|
+
|
|
212
|
+
Opcionalmente, personalize o comando Gradle com `DELEGUA_SWING_E2E_GRADLE_CMD`.
|
|
213
|
+
|
|
214
|
+
### Teste E2E opcional com host GTK real
|
|
215
|
+
|
|
216
|
+
Por padrão, os testes E2E de GTK ficam desativados para não depender de Rust + GTK nativo em todos os ambientes.
|
|
217
|
+
|
|
218
|
+
Para executar manualmente:
|
|
219
|
+
|
|
220
|
+
1. Compile o host GTK.
|
|
221
|
+
2. Defina as variáveis de ambiente:
|
|
222
|
+
- `DELEGUA_GTK_E2E=1`
|
|
223
|
+
- `DELEGUA_GTK_E2E_CMD=<caminho-absoluto-do-executavel>`
|
|
224
|
+
3. Rode `yarn testes-unitarios`.
|
|
225
|
+
|
|
226
|
+
O teste E2E está em `testes/infraestrutura-gtk-e2e.test.ts`.
|
|
227
|
+
|
|
228
|
+
Alternativa automatizada (compila host + roda E2E):
|
|
229
|
+
|
|
230
|
+
```bash
|
|
231
|
+
yarn testes-e2e-gtk
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Opcionalmente, personalize o comando cargo com `DELEGUA_GTK_E2E_CARGO_CMD`.
|
|
235
|
+
|
|
236
|
+
### Teste E2E opcional com host Windows real
|
|
237
|
+
|
|
238
|
+
Por padrão, os testes E2E de Windows ficam desativados para não depender de .NET/host nativo em todos os ambientes.
|
|
239
|
+
|
|
240
|
+
Para executar manualmente:
|
|
241
|
+
|
|
242
|
+
1. Publique o host Windows.
|
|
243
|
+
2. Defina as variáveis de ambiente:
|
|
244
|
+
- `DELEGUA_WINDOWS_E2E=1`
|
|
245
|
+
- `DELEGUA_WINDOWS_E2E_EXE=<caminho-absoluto-do-executavel>`
|
|
246
|
+
3. Rode `yarn testes-unitarios`.
|
|
247
|
+
|
|
248
|
+
O teste E2E está em `testes/infraestrutura-windows-e2e.test.ts`.
|
|
249
|
+
|
|
250
|
+
Alternativa automatizada (publica host + roda E2E):
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
yarn testes-e2e-windows
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
Opcionalmente, personalize o comando .NET com `DELEGUA_WINDOWS_E2E_DOTNET_CMD`.
|
|
257
|
+
|
|
75
258
|
## Desenvolvimento
|
|
76
259
|
|
|
77
260
|
```bash
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
export declare const DeleguaModuloInterfaceGrafica: {
|
|
2
|
+
janela: {
|
|
3
|
+
tipoRetorno: string;
|
|
4
|
+
funcao: any;
|
|
5
|
+
argumentos: {
|
|
6
|
+
nome: string;
|
|
7
|
+
tipo: string;
|
|
8
|
+
}[];
|
|
9
|
+
documentacao: string;
|
|
10
|
+
exemploCodigo: string;
|
|
11
|
+
};
|
|
12
|
+
botao: {
|
|
13
|
+
tipoRetorno: string;
|
|
14
|
+
funcao: any;
|
|
15
|
+
argumentos: {
|
|
16
|
+
nome: string;
|
|
17
|
+
tipo: string;
|
|
18
|
+
}[];
|
|
19
|
+
documentacao: string;
|
|
20
|
+
exemploCodigo: string;
|
|
21
|
+
};
|
|
22
|
+
rotulo: {
|
|
23
|
+
tipoRetorno: string;
|
|
24
|
+
funcao: any;
|
|
25
|
+
argumentos: {
|
|
26
|
+
nome: string;
|
|
27
|
+
tipo: string;
|
|
28
|
+
}[];
|
|
29
|
+
documentacao: string;
|
|
30
|
+
exemploCodigo: string;
|
|
31
|
+
};
|
|
32
|
+
caixaTexto: {
|
|
33
|
+
tipoRetorno: string;
|
|
34
|
+
funcao: any;
|
|
35
|
+
argumentos: ({
|
|
36
|
+
nome: string;
|
|
37
|
+
tipo: string;
|
|
38
|
+
opcional?: undefined;
|
|
39
|
+
valorPadrao?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
nome: string;
|
|
42
|
+
tipo: string;
|
|
43
|
+
opcional: boolean;
|
|
44
|
+
valorPadrao: string;
|
|
45
|
+
})[];
|
|
46
|
+
documentacao: string;
|
|
47
|
+
exemploCodigo: string;
|
|
48
|
+
};
|
|
49
|
+
caixaVertical: {
|
|
50
|
+
tipoRetorno: string;
|
|
51
|
+
funcao: any;
|
|
52
|
+
argumentos: {
|
|
53
|
+
nome: string;
|
|
54
|
+
tipo: string;
|
|
55
|
+
}[];
|
|
56
|
+
documentacao: string;
|
|
57
|
+
exemploCodigo: string;
|
|
58
|
+
};
|
|
59
|
+
caixaHorizontal: {
|
|
60
|
+
tipoRetorno: string;
|
|
61
|
+
funcao: any;
|
|
62
|
+
argumentos: {
|
|
63
|
+
nome: string;
|
|
64
|
+
tipo: string;
|
|
65
|
+
}[];
|
|
66
|
+
documentacao: string;
|
|
67
|
+
exemploCodigo: string;
|
|
68
|
+
};
|
|
69
|
+
definirTexto: {
|
|
70
|
+
tipoRetorno: string;
|
|
71
|
+
funcao: any;
|
|
72
|
+
argumentos: {
|
|
73
|
+
nome: string;
|
|
74
|
+
tipo: string;
|
|
75
|
+
}[];
|
|
76
|
+
documentacao: string;
|
|
77
|
+
exemploCodigo: string;
|
|
78
|
+
};
|
|
79
|
+
obterTexto: {
|
|
80
|
+
tipoRetorno: string;
|
|
81
|
+
funcao: any;
|
|
82
|
+
argumentos: {
|
|
83
|
+
nome: string;
|
|
84
|
+
tipo: string;
|
|
85
|
+
}[];
|
|
86
|
+
documentacao: string;
|
|
87
|
+
exemploCodigo: string;
|
|
88
|
+
};
|
|
89
|
+
aoClicar: {
|
|
90
|
+
tipoRetorno: string;
|
|
91
|
+
funcao: any;
|
|
92
|
+
argumentos: {
|
|
93
|
+
nome: string;
|
|
94
|
+
tipo: string;
|
|
95
|
+
}[];
|
|
96
|
+
documentacao: string;
|
|
97
|
+
exemploCodigo: string;
|
|
98
|
+
};
|
|
99
|
+
aoAlterar: {
|
|
100
|
+
tipoRetorno: string;
|
|
101
|
+
funcao: any;
|
|
102
|
+
argumentos: {
|
|
103
|
+
nome: string;
|
|
104
|
+
tipo: string;
|
|
105
|
+
}[];
|
|
106
|
+
documentacao: string;
|
|
107
|
+
exemploCodigo: string;
|
|
108
|
+
};
|
|
109
|
+
iniciar: {
|
|
110
|
+
tipoRetorno: string;
|
|
111
|
+
funcao: any;
|
|
112
|
+
argumentos: any[];
|
|
113
|
+
documentacao: string;
|
|
114
|
+
exemploCodigo: string;
|
|
115
|
+
};
|
|
116
|
+
encerrar: {
|
|
117
|
+
tipoRetorno: string;
|
|
118
|
+
funcao: any;
|
|
119
|
+
argumentos: any[];
|
|
120
|
+
documentacao: string;
|
|
121
|
+
exemploCodigo: string;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=delegua-modulo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegua-modulo.d.ts","sourceRoot":"","sources":["../fontes/delegua-modulo.ts"],"names":[],"mappings":"AAoGA,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuOzC,CAAC"}
|
|
@@ -1,10 +1,91 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DeleguaModuloInterfaceGrafica = void 0;
|
|
4
|
+
const infraestrutura_electron_1 = require("./infraestruturas/electron/infraestrutura-electron");
|
|
5
|
+
const infraestrutura_gtk_1 = require("./infraestruturas/gtk/infraestrutura-gtk");
|
|
6
|
+
const infraestrutura_java_swing_1 = require("./infraestruturas/java-swing/infraestrutura-java-swing");
|
|
7
|
+
const infraestrutura_vazia_1 = require("./infraestruturas/vazia/infraestrutura-vazia");
|
|
8
|
+
const infraestrutura_windows_1 = require("./infraestruturas/windows/infraestrutura-windows");
|
|
9
|
+
const interface_grafica_1 = require("./interface-grafica");
|
|
10
|
+
function obterArgumentosSwingDoAmbiente() {
|
|
11
|
+
const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_SWING_ARGUMENTOS;
|
|
12
|
+
if (argumentosDefinidos) {
|
|
13
|
+
return argumentosDefinidos.split(' ').filter(Boolean);
|
|
14
|
+
}
|
|
15
|
+
const caminhoJar = process.env.DELEGUA_INTERFACE_GRAFICA_SWING_JAR;
|
|
16
|
+
if (caminhoJar) {
|
|
17
|
+
return ['-jar', caminhoJar];
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
function obterArgumentosGtkDoAmbiente() {
|
|
22
|
+
const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_GTK_ARGUMENTOS;
|
|
23
|
+
if (!argumentosDefinidos) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
return argumentosDefinidos.split(' ').filter(Boolean);
|
|
27
|
+
}
|
|
28
|
+
function obterArgumentosWindowsDoAmbiente() {
|
|
29
|
+
const argumentosDefinidos = process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_ARGUMENTOS;
|
|
30
|
+
if (!argumentosDefinidos) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
return argumentosDefinidos.split(' ').filter(Boolean);
|
|
34
|
+
}
|
|
35
|
+
function criarInfraestruturaPadrao() {
|
|
36
|
+
var _a, _b, _c;
|
|
37
|
+
const backendPreferido = typeof process !== 'undefined'
|
|
38
|
+
? process.env.DELEGUA_INTERFACE_GRAFICA_BACKEND
|
|
39
|
+
: undefined;
|
|
40
|
+
if (backendPreferido === 'java-swing') {
|
|
41
|
+
try {
|
|
42
|
+
return new infraestrutura_java_swing_1.InfraestruturaJavaSwing({
|
|
43
|
+
comando: process.env.DELEGUA_INTERFACE_GRAFICA_SWING_COMANDO,
|
|
44
|
+
argumentos: obterArgumentosSwingDoAmbiente(),
|
|
45
|
+
diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_SWING_CWD,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
catch (erro) {
|
|
49
|
+
console.warn('[delegua-interface-grafica] Falha ao iniciar backend java-swing. ' +
|
|
50
|
+
`Usando InfraestruturaVazia como fallback. Erro: ${(_a = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _a !== void 0 ? _a : 'desconhecido'}`);
|
|
51
|
+
return new infraestrutura_vazia_1.InfraestruturaVazia();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (backendPreferido === 'gtk') {
|
|
55
|
+
try {
|
|
56
|
+
return new infraestrutura_gtk_1.InfraestruturaGtk({
|
|
57
|
+
comando: process.env.DELEGUA_INTERFACE_GRAFICA_GTK_COMANDO,
|
|
58
|
+
argumentos: obterArgumentosGtkDoAmbiente(),
|
|
59
|
+
diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_GTK_CWD,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (erro) {
|
|
63
|
+
console.warn('[delegua-interface-grafica] Falha ao iniciar backend gtk. ' +
|
|
64
|
+
`Usando InfraestruturaVazia como fallback. Erro: ${(_b = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _b !== void 0 ? _b : 'desconhecido'}`);
|
|
65
|
+
return new infraestrutura_vazia_1.InfraestruturaVazia();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (backendPreferido === 'windows') {
|
|
69
|
+
try {
|
|
70
|
+
return new infraestrutura_windows_1.InfraestruturaWindows({
|
|
71
|
+
comando: process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_COMANDO,
|
|
72
|
+
argumentos: obterArgumentosWindowsDoAmbiente(),
|
|
73
|
+
diretorioTrabalho: process.env.DELEGUA_INTERFACE_GRAFICA_WINDOWS_CWD,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (erro) {
|
|
77
|
+
console.warn('[delegua-interface-grafica] Falha ao iniciar backend windows. ' +
|
|
78
|
+
`Usando InfraestruturaVazia como fallback. Erro: ${(_c = erro === null || erro === void 0 ? void 0 : erro.message) !== null && _c !== void 0 ? _c : 'desconhecido'}`);
|
|
79
|
+
return new infraestrutura_vazia_1.InfraestruturaVazia();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return typeof document !== 'undefined'
|
|
83
|
+
? new infraestrutura_electron_1.InfraestruturaElectron()
|
|
84
|
+
: new infraestrutura_vazia_1.InfraestruturaVazia();
|
|
85
|
+
}
|
|
86
|
+
const _infraestrutura = criarInfraestruturaPadrao();
|
|
87
|
+
const _ig = new interface_grafica_1.InterfaceGrafica(_infraestrutura);
|
|
88
|
+
exports.DeleguaModuloInterfaceGrafica = {
|
|
8
89
|
janela: {
|
|
9
90
|
tipoRetorno: 'objeto',
|
|
10
91
|
funcao: _ig.janela.bind(_ig),
|
|
@@ -13,8 +94,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
13
94
|
{ nome: 'altura', tipo: 'número' },
|
|
14
95
|
{ nome: 'titulo', tipo: 'texto' },
|
|
15
96
|
],
|
|
16
|
-
documentacao:
|
|
17
|
-
`# \`InterfaceGrafica.janela(largura, altura, titulo)\`\n\n` +
|
|
97
|
+
documentacao: `# \`InterfaceGrafica.janela(largura, altura, titulo)\`\n\n` +
|
|
18
98
|
'Cria a janela principal do programa.\n\n' +
|
|
19
99
|
'## Exemplo de Código\n\n' +
|
|
20
100
|
'```delegua\n' +
|
|
@@ -30,8 +110,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
30
110
|
{ nome: 'pai', tipo: 'objeto' },
|
|
31
111
|
{ nome: 'rotulo', tipo: 'texto' },
|
|
32
112
|
],
|
|
33
|
-
documentacao:
|
|
34
|
-
`# \`InterfaceGrafica.botao(pai, rotulo)\`\n\n` +
|
|
113
|
+
documentacao: `# \`InterfaceGrafica.botao(pai, rotulo)\`\n\n` +
|
|
35
114
|
'Cria um botão dentro do componente pai.\n\n' +
|
|
36
115
|
'## Exemplo de Código\n\n' +
|
|
37
116
|
'```delegua\n' +
|
|
@@ -48,8 +127,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
48
127
|
{ nome: 'pai', tipo: 'objeto' },
|
|
49
128
|
{ nome: 'texto', tipo: 'texto' },
|
|
50
129
|
],
|
|
51
|
-
documentacao:
|
|
52
|
-
`# \`InterfaceGrafica.rotulo(pai, texto)\`\n\n` +
|
|
130
|
+
documentacao: `# \`InterfaceGrafica.rotulo(pai, texto)\`\n\n` +
|
|
53
131
|
'Cria um rótulo de texto dentro do componente pai.\n\n' +
|
|
54
132
|
'## Exemplo de Código\n\n' +
|
|
55
133
|
'```delegua\n' +
|
|
@@ -66,8 +144,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
66
144
|
{ nome: 'pai', tipo: 'objeto' },
|
|
67
145
|
{ nome: 'textoInicial', tipo: 'texto', opcional: true, valorPadrao: '' },
|
|
68
146
|
],
|
|
69
|
-
documentacao:
|
|
70
|
-
`# \`InterfaceGrafica.caixaTexto(pai, textoInicial?)\`\n\n` +
|
|
147
|
+
documentacao: `# \`InterfaceGrafica.caixaTexto(pai, textoInicial?)\`\n\n` +
|
|
71
148
|
'Cria uma caixa de texto editável dentro do componente pai.\n\n' +
|
|
72
149
|
'## Exemplo de Código\n\n' +
|
|
73
150
|
'```delegua\n' +
|
|
@@ -83,8 +160,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
83
160
|
argumentos: [
|
|
84
161
|
{ nome: 'pai', tipo: 'objeto' },
|
|
85
162
|
],
|
|
86
|
-
documentacao:
|
|
87
|
-
`# \`InterfaceGrafica.caixaVertical(pai)\`\n\n` +
|
|
163
|
+
documentacao: `# \`InterfaceGrafica.caixaVertical(pai)\`\n\n` +
|
|
88
164
|
'Cria um contêiner com layout vertical (empilhamento de cima para baixo).\n\n' +
|
|
89
165
|
'## Exemplo de Código\n\n' +
|
|
90
166
|
'```delegua\n' +
|
|
@@ -102,8 +178,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
102
178
|
argumentos: [
|
|
103
179
|
{ nome: 'pai', tipo: 'objeto' },
|
|
104
180
|
],
|
|
105
|
-
documentacao:
|
|
106
|
-
`# \`InterfaceGrafica.caixaHorizontal(pai)\`\n\n` +
|
|
181
|
+
documentacao: `# \`InterfaceGrafica.caixaHorizontal(pai)\`\n\n` +
|
|
107
182
|
'Cria um contêiner com layout horizontal (empilhamento da esquerda para direita).\n\n' +
|
|
108
183
|
'## Exemplo de Código\n\n' +
|
|
109
184
|
'```delegua\n' +
|
|
@@ -122,8 +197,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
122
197
|
{ nome: 'componente', tipo: 'objeto' },
|
|
123
198
|
{ nome: 'texto', tipo: 'texto' },
|
|
124
199
|
],
|
|
125
|
-
documentacao:
|
|
126
|
-
`# \`InterfaceGrafica.definirTexto(componente, texto)\`\n\n` +
|
|
200
|
+
documentacao: `# \`InterfaceGrafica.definirTexto(componente, texto)\`\n\n` +
|
|
127
201
|
'Altera o texto de um componente (rótulo ou caixa de texto).\n\n' +
|
|
128
202
|
'## Exemplo de Código\n\n' +
|
|
129
203
|
'```delegua\n' +
|
|
@@ -140,8 +214,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
140
214
|
argumentos: [
|
|
141
215
|
{ nome: 'componente', tipo: 'objeto' },
|
|
142
216
|
],
|
|
143
|
-
documentacao:
|
|
144
|
-
`# \`InterfaceGrafica.obterTexto(componente)\`\n\n` +
|
|
217
|
+
documentacao: `# \`InterfaceGrafica.obterTexto(componente)\`\n\n` +
|
|
145
218
|
'Lê o texto atual de um componente (rótulo ou caixa de texto).\n\n' +
|
|
146
219
|
'## Exemplo de Código\n\n' +
|
|
147
220
|
'```delegua\n' +
|
|
@@ -159,8 +232,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
159
232
|
{ nome: 'componente', tipo: 'objeto' },
|
|
160
233
|
{ nome: 'funcao', tipo: 'função' },
|
|
161
234
|
],
|
|
162
|
-
documentacao:
|
|
163
|
-
`# \`InterfaceGrafica.aoClicar(componente, funcao)\`\n\n` +
|
|
235
|
+
documentacao: `# \`InterfaceGrafica.aoClicar(componente, funcao)\`\n\n` +
|
|
164
236
|
'Registra uma função Delégua para ser chamada ao clicar no componente.\n\n' +
|
|
165
237
|
'## Exemplo de Código\n\n' +
|
|
166
238
|
'```delegua\n' +
|
|
@@ -181,8 +253,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
181
253
|
{ nome: 'componente', tipo: 'objeto' },
|
|
182
254
|
{ nome: 'funcao', tipo: 'função' },
|
|
183
255
|
],
|
|
184
|
-
documentacao:
|
|
185
|
-
`# \`InterfaceGrafica.aoAlterar(componente, funcao)\`\n\n` +
|
|
256
|
+
documentacao: `# \`InterfaceGrafica.aoAlterar(componente, funcao)\`\n\n` +
|
|
186
257
|
'Registra uma função Delégua para ser chamada quando o texto do componente mudar.\n' +
|
|
187
258
|
'A função recebe o novo texto como argumento.\n\n' +
|
|
188
259
|
'## Exemplo de Código\n\n' +
|
|
@@ -201,8 +272,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
201
272
|
tipoRetorno: 'nulo',
|
|
202
273
|
funcao: _ig.iniciar.bind(_ig),
|
|
203
274
|
argumentos: [],
|
|
204
|
-
documentacao:
|
|
205
|
-
`# \`InterfaceGrafica.iniciar()\`\n\n` +
|
|
275
|
+
documentacao: `# \`InterfaceGrafica.iniciar()\`\n\n` +
|
|
206
276
|
'Inicia o laço de eventos da interface gráfica. Bloqueia a execução do programa ' +
|
|
207
277
|
'até que a janela seja fechada.\n' +
|
|
208
278
|
'Deve ser chamado após criar e configurar todos os componentes.\n\n' +
|
|
@@ -219,8 +289,7 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
219
289
|
tipoRetorno: 'nulo',
|
|
220
290
|
funcao: _ig.encerrar.bind(_ig),
|
|
221
291
|
argumentos: [],
|
|
222
|
-
documentacao:
|
|
223
|
-
`# \`InterfaceGrafica.encerrar()\`\n\n` +
|
|
292
|
+
documentacao: `# \`InterfaceGrafica.encerrar()\`\n\n` +
|
|
224
293
|
'Encerra a interface gráfica e fecha todas as janelas.\n\n' +
|
|
225
294
|
'## Exemplo de Código\n\n' +
|
|
226
295
|
'```delegua\n' +
|
|
@@ -236,3 +305,4 @@ export const DeleguaModuloInterfaceGrafica = {
|
|
|
236
305
|
exemploCodigo: 'ig.encerrar()',
|
|
237
306
|
},
|
|
238
307
|
};
|
|
308
|
+
//# sourceMappingURL=delegua-modulo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegua-modulo.js","sourceRoot":"","sources":["../fontes/delegua-modulo.ts"],"names":[],"mappings":"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"}
|
package/index.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
|
package/index.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./infraestruturas"), exports);
|
|
18
|
+
__exportStar(require("./interface-grafica"), exports);
|
|
19
|
+
__exportStar(require("./interfaces"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../fontes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,sDAAoC;AACpC,+CAA6B"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { InfraestruturaGraficaInterface } from '../../interfaces/infraestrutura-grafica-interface';
|
|
2
|
+
import { ComponenteInterfaceGraficaInterface } from '../../interfaces/componente-interface-grafica-interface';
|
|
3
|
+
/**
|
|
4
|
+
* Infraestrutura de interface gráfica para o ambiente Electron.
|
|
5
|
+
* Cria elementos DOM no `document.body` da janela do Electron.
|
|
6
|
+
*
|
|
7
|
+
* O programa Delégua enxerga cada componente como um identificador opaco
|
|
8
|
+
* (`ComponenteInterfaceGraficaInterface`). Internamente, este infraestrutura mantém um mapa entre esses
|
|
9
|
+
* identificadores e os `HTMLElement`s correspondentes.
|
|
10
|
+
*
|
|
11
|
+
* Cada instância de `InfraestruturaElectron` gerencia uma janela independente:
|
|
12
|
+
* um `div` flutuante criado sobre o conteúdo existente da página.
|
|
13
|
+
*/
|
|
14
|
+
export declare class InfraestruturaElectron implements InfraestruturaGraficaInterface {
|
|
15
|
+
private readonly elementosPorId;
|
|
16
|
+
private contadorIds;
|
|
17
|
+
private sobreposicao;
|
|
18
|
+
private resolverLaco;
|
|
19
|
+
private proximoId;
|
|
20
|
+
private registrar;
|
|
21
|
+
private obterElemento;
|
|
22
|
+
criarJanela(largura: number, altura: number, titulo: string): ComponenteInterfaceGraficaInterface;
|
|
23
|
+
criarBotao(pai: ComponenteInterfaceGraficaInterface, rotulo: string): ComponenteInterfaceGraficaInterface;
|
|
24
|
+
criarRotulo(pai: ComponenteInterfaceGraficaInterface, texto: string): ComponenteInterfaceGraficaInterface;
|
|
25
|
+
criarCaixaTexto(pai: ComponenteInterfaceGraficaInterface, textoInicial: string): ComponenteInterfaceGraficaInterface;
|
|
26
|
+
criarCaixaVertical(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
|
|
27
|
+
criarCaixaHorizontal(pai: ComponenteInterfaceGraficaInterface): ComponenteInterfaceGraficaInterface;
|
|
28
|
+
definirTexto(componente: ComponenteInterfaceGraficaInterface, texto: string): void;
|
|
29
|
+
obterTexto(componente: ComponenteInterfaceGraficaInterface): string;
|
|
30
|
+
conectarEvento(componente: ComponenteInterfaceGraficaInterface, evento: string, callback: (...argumentos: any[]) => Promise<void>): void;
|
|
31
|
+
iniciarLaco(): Promise<void>;
|
|
32
|
+
encerrar(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=infraestrutura-electron.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infraestrutura-electron.d.ts","sourceRoot":"","sources":["../../../fontes/infraestruturas/electron/infraestrutura-electron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAa9G;;;;;;;;;;GAUG;AACH,qBAAa,sBAAuB,YAAW,8BAA8B;IACzE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuC;IACtE,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAA6B;IAMjD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAerB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAoFjG,UAAU,CAAC,GAAG,EAAE,mCAAmC,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAiBzG,WAAW,CAAC,GAAG,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,mCAAmC;IAYzG,eAAe,CAAC,GAAG,EAAE,mCAAmC,EAAE,YAAY,EAAE,MAAM,GAAG,mCAAmC;IAgBpH,kBAAkB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAYjG,oBAAoB,CAAC,GAAG,EAAE,mCAAmC,GAAG,mCAAmC;IAiBnG,YAAY,CAAC,UAAU,EAAE,mCAAmC,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IASlF,UAAU,CAAC,UAAU,EAAE,mCAAmC,GAAG,MAAM;IAYnE,cAAc,CACV,UAAU,EAAE,mCAAmC,EAC/C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,IAAI;IAsBD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAMlC,QAAQ,IAAI,IAAI;CAYnB"}
|