treege 3.0.0-beta.3 → 3.0.0-beta.30
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/LICENSE +18 -12
- package/README.md +305 -49
- package/dist/ThemeContext-D49eu_oE.js +1472 -0
- package/dist/editor/components/input/ComboboxWithCreate.d.ts +2 -1
- package/dist/editor/constants/defaultNode.d.ts +1 -1
- package/dist/editor/constants/edgeTypes.d.ts +3 -2
- package/dist/editor/constants/nodeSpacing.d.ts +20 -0
- package/dist/editor/constants/nodeTypes.d.ts +5 -5
- package/dist/editor/context/TreegeEditorContext.d.ts +24 -1
- package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +1 -1
- package/dist/editor/features/TreegeEditor/edges/ConditionalEdge.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/edges/DefaultEdge.d.ts +3 -0
- package/dist/editor/features/TreegeEditor/forms/SubmitConfigForm.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/inputs/ComboboxPattern.d.ts +2 -1
- package/dist/editor/features/TreegeEditor/inputs/OptionImageField.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/GroupNode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/TreegeNode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/BottomHandleDropdown.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeLabelInput.d.ts +9 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeTypeBadge.d.ts +8 -0
- package/dist/editor/features/TreegeEditor/nodes/components/OpenSheetButton.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/SubTypeBadge.d.ts +8 -0
- package/dist/editor/features/TreegeEditor/nodes/layout/NodeWrapper.d.ts +2 -1
- package/dist/editor/features/TreegeEditor/panel/AIGeneratorDialog.d.ts +16 -0
- package/dist/editor/hooks/useFlowActions.d.ts +2 -0
- package/dist/editor/hooks/useFlowConnections.d.ts +4 -0
- package/dist/editor/hooks/useNodesSelection.d.ts +5 -5
- package/dist/editor/types/ai.d.ts +65 -0
- package/dist/editor/types/editor.d.ts +9 -8
- package/dist/editor/utils/aiFlowGenerator.d.ts +5 -0
- package/dist/editor/utils/image.d.ts +7 -0
- package/dist/editor-DnrJgSrC.js +3567 -0
- package/dist/editor.js +3 -7
- package/dist/main.js +5 -52
- package/dist/renderer/context/TreegeRendererContext.d.ts +4 -1
- package/dist/renderer/features/TreegeRenderer/native/TreegeRenderer.d.ts +19 -11
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultFormWrapper.d.ts +7 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultGroup.d.ts +7 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +26 -15
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButton.d.ts +9 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButtonWrapper.d.ts +11 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultUI.d.ts +8 -7
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +84 -24
- package/dist/renderer/features/TreegeRenderer/web/TreegeRenderer.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButton.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSubmitInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +1 -1
- package/dist/renderer/hooks/useRenderNode.d.ts +55 -0
- package/dist/renderer/hooks/useSubmitHandler.d.ts +34 -0
- package/dist/renderer/hooks/useTranslate.d.ts +6 -4
- package/dist/renderer/index.d.ts +2 -0
- package/dist/renderer/index.native.d.ts +19 -0
- package/dist/renderer/types/renderer.d.ts +60 -6
- package/dist/renderer/utils/form.d.ts +22 -2
- package/dist/renderer/utils/http.d.ts +101 -0
- package/dist/renderer/utils/node.d.ts +9 -1
- package/dist/renderer/utils/sanitize.d.ts +85 -0
- package/dist/renderer/utils/sanitize.native.d.ts +69 -0
- package/dist/renderer/utils/submit.d.ts +47 -0
- package/dist/renderer-MCPhNlp1.js +1157 -0
- package/dist/renderer-native.d.ts +2 -0
- package/dist/renderer-native.js +3408 -0
- package/dist/renderer.js +4 -45
- package/dist/separator-gO82kpxa.js +350 -0
- package/dist/shared/components/ui/alert-dialog.d.ts +14 -0
- package/dist/shared/components/ui/badge.d.ts +2 -2
- package/dist/shared/components/ui/button.d.ts +1 -1
- package/dist/shared/components/ui/popover.d.ts +3 -1
- package/dist/shared/components/ui/select.d.ts +3 -1
- package/dist/shared/constants/colors.d.ts +45 -0
- package/dist/shared/constants/inputType.d.ts +1 -0
- package/dist/shared/context/ThemeContext.d.ts +2 -0
- package/dist/shared/context/ThemeContext.native.d.ts +22 -0
- package/dist/shared/hooks/useThemeColors.d.ts +37 -0
- package/dist/shared/locales/ar.json.d.ts +102 -9
- package/dist/shared/locales/de.json.d.ts +102 -9
- package/dist/shared/locales/en.json.d.ts +103 -10
- package/dist/shared/locales/es.json.d.ts +102 -9
- package/dist/shared/locales/fr.json.d.ts +102 -9
- package/dist/shared/locales/it.json.d.ts +102 -9
- package/dist/shared/locales/pt.json.d.ts +102 -9
- package/dist/shared/types/node.d.ts +56 -0
- package/dist/useRenderNode-B_GPMTPf.js +774 -0
- package/package.json +36 -9
- package/dist/ThemeContext-BIvs8Kw-.js +0 -758
- package/dist/TreegeEditor-BSPfQQk3.js +0 -2151
- package/dist/TreegeRenderer-D3EvsEfJ.js +0 -1413
- package/dist/_name_.css +0 -1
- package/dist/editor/features/TreegeEditor/nodes/FlowNode.d.ts +0 -6
- package/dist/editor/features/TreegeEditor/nodes/InputNode.d.ts +0 -6
- package/dist/editor/features/TreegeEditor/nodes/UINode.d.ts +0 -6
|
@@ -4,6 +4,8 @@ declare const _default: {
|
|
|
4
4
|
"clear": "Limpar",
|
|
5
5
|
"close": "Fechar",
|
|
6
6
|
"create": "Criar",
|
|
7
|
+
"delete": "Excluir",
|
|
8
|
+
"other": "Outro",
|
|
7
9
|
"retry": "Tentar novamente",
|
|
8
10
|
"save": "Salvar",
|
|
9
11
|
"submit": "Enviar",
|
|
@@ -11,7 +13,7 @@ declare const _default: {
|
|
|
11
13
|
},
|
|
12
14
|
"editor": {
|
|
13
15
|
"actionsPanel": {
|
|
14
|
-
"addNode": "Adicionar
|
|
16
|
+
"addNode": "Adicionar elemento",
|
|
15
17
|
"clear": "Limpar",
|
|
16
18
|
"clearSuccess": "Fluxo limpo!",
|
|
17
19
|
"clearSuccessDesc": "Todos os nós e arestas foram removidos.",
|
|
@@ -28,6 +30,26 @@ declare const _default: {
|
|
|
28
30
|
"parseError": "Erro ao analisar o arquivo JSON.",
|
|
29
31
|
"parseErrorDesc": "Tente corrigir o arquivo e importá-lo novamente."
|
|
30
32
|
},
|
|
33
|
+
"aiGenerator": {
|
|
34
|
+
"aiNotConfigured": "IA não configurada",
|
|
35
|
+
"aiNotConfiguredDesc": "Adicione a prop {code} ao TreegeEditorProvider",
|
|
36
|
+
"buttonLabel": "Gerar com IA",
|
|
37
|
+
"cancel": "Cancelar",
|
|
38
|
+
"description": "Descrição",
|
|
39
|
+
"descriptionPlaceholder": "Exemplo: Criar um formulário de contato com nome, email, telefone e mensagem",
|
|
40
|
+
"enterDescription": "Por favor insira uma descrição",
|
|
41
|
+
"failedToGenerate": "Falha ao gerar árvore",
|
|
42
|
+
"generate": "Gerar",
|
|
43
|
+
"generating": "Gerando...",
|
|
44
|
+
"keyboardShortcut": "Pressione {cmdEnter} ou {ctrlEnter} para gerar",
|
|
45
|
+
"missingApiKey": "Configuração de IA ausente",
|
|
46
|
+
"missingApiKeyDesc": "Por favor configure sua chave API de IA no TreegeEditorProvider",
|
|
47
|
+
"successDescription": "{nodes} nós e {edges} arestas criados",
|
|
48
|
+
"successTitle": "Árvore gerada com sucesso!",
|
|
49
|
+
"title": "Gerar fluxo com IA",
|
|
50
|
+
"titleDescription": "Descreva o formulário ou árvore de decisão que deseja criar, e a IA irá gerá-lo para você.",
|
|
51
|
+
"unknownError": "Erro desconhecido"
|
|
52
|
+
},
|
|
31
53
|
"comboboxPattern": {
|
|
32
54
|
"custom": "Personalizado: {value}",
|
|
33
55
|
"search": "Pesquisar padrões...",
|
|
@@ -94,8 +116,8 @@ declare const _default: {
|
|
|
94
116
|
"methodPut": "PUT",
|
|
95
117
|
"noFieldsAvailable": "Nenhum campo disponível",
|
|
96
118
|
"requestBody": "Corpo da requisição (JSON)",
|
|
97
|
-
"requestBodyDesc": "Use
|
|
98
|
-
"requestBodyPlaceholder": "{\"
|
|
119
|
+
"requestBodyDesc": "Use {{fieldId}} para referenciar outros campos. Certifique-se de que a formatação JSON está correta, incluindo aspas ao redor de valores de string.",
|
|
120
|
+
"requestBodyPlaceholder": "{\"nome\": \"{{nomeUsuario}}\", \"idade\": {{idadeUsuario}}}",
|
|
99
121
|
"responseConfiguration": "Configuração da resposta",
|
|
100
122
|
"responsePath": "Caminho da resposta",
|
|
101
123
|
"responsePathDesc": "Extrair dados da resposta usando notação de ponto ou indexação de array",
|
|
@@ -104,6 +126,8 @@ declare const _default: {
|
|
|
104
126
|
"searchParameterDesc": "Se definido, habilita uma caixa de pesquisa que adiciona este parâmetro às chamadas de API (ex: ?q=Paris)",
|
|
105
127
|
"searchParameterPlaceholder": "q, pesquisa, consulta...",
|
|
106
128
|
"selectMethod": "Selecionar método",
|
|
129
|
+
"sendAllFormValues": "Enviar todos os dados do formulário",
|
|
130
|
+
"sendAllFormValuesDesc": "Enviar automaticamente todos os valores do formulário como corpo JSON",
|
|
107
131
|
"showLoadingState": "Mostrar estado de carregamento",
|
|
108
132
|
"valueField": "Campo de valor",
|
|
109
133
|
"valueFieldDesc": "Campo a ser usado como valor da opção (ex: id)",
|
|
@@ -121,6 +145,7 @@ declare const _default: {
|
|
|
121
145
|
"defaultValueTypeNone": "Nenhum",
|
|
122
146
|
"defaultValueTypeReference": "Campo de referência",
|
|
123
147
|
"defaultValueTypeStatic": "Valor estático",
|
|
148
|
+
"disablePast": "Desativar datas passadas",
|
|
124
149
|
"errorMessage": "Mensagem de erro",
|
|
125
150
|
"helperText": "Texto de ajuda",
|
|
126
151
|
"httpConfiguration": "Configuração HTTP",
|
|
@@ -128,9 +153,18 @@ declare const _default: {
|
|
|
128
153
|
"multipleFiles": "Arquivos múltiplos",
|
|
129
154
|
"multipleSelection": "Seleção múltipla",
|
|
130
155
|
"name": "Nome",
|
|
156
|
+
"nameDescription": "Nome de campo personalizado opcional para exportação de formulário. Se vazio, o rótulo será usado como chave.",
|
|
131
157
|
"noParentFieldsAvailable": "Nenhum campo pai disponível",
|
|
132
158
|
"objectMapping": "Mapeamento de objeto",
|
|
133
159
|
"objectMappingDesc": "Mapear as propriedades do objeto de origem para uma nova estrutura",
|
|
160
|
+
"optionImageAdd": "Adicionar imagem",
|
|
161
|
+
"optionImageError": "Não foi possível processar a imagem.",
|
|
162
|
+
"optionImageInvalid": "Formato de imagem não suportado.",
|
|
163
|
+
"optionImageRemove": "Remover imagem",
|
|
164
|
+
"optionImageReplace": "Substituir imagem",
|
|
165
|
+
"optionImageTooLarge": "Imagem muito grande (máx. 5 MB).",
|
|
166
|
+
"optionImageUpload": "Enviar arquivo",
|
|
167
|
+
"optionImageUrlPlaceholder": "https://...",
|
|
134
168
|
"optionLabel": "Rótulo",
|
|
135
169
|
"options": "Opções",
|
|
136
170
|
"optionValue": "Valor",
|
|
@@ -144,6 +178,7 @@ declare const _default: {
|
|
|
144
178
|
"sourceKey": "Chave de origem",
|
|
145
179
|
"staticValue": "Valor estático",
|
|
146
180
|
"staticValuePlaceholder": "Digite o valor padrão",
|
|
181
|
+
"submitConfiguration": "Configuração de envio",
|
|
147
182
|
"targetKey": "Chave de destino",
|
|
148
183
|
"transformArray": "Converter para array",
|
|
149
184
|
"transformBoolean": "Converter para booleano",
|
|
@@ -155,6 +190,12 @@ declare const _default: {
|
|
|
155
190
|
"transformType": "Tipo de transformação",
|
|
156
191
|
"validation": "Validação"
|
|
157
192
|
},
|
|
193
|
+
"nodeActionsSheet": {
|
|
194
|
+
"deleteNode": "Excluir nó",
|
|
195
|
+
"deleteNodeConfirm": "Tem certeza de que deseja excluir este nó?",
|
|
196
|
+
"deleteNodeSuccess": "Nó excluído com sucesso",
|
|
197
|
+
"editNode": "Editar nó"
|
|
198
|
+
},
|
|
158
199
|
"selectInputType": {
|
|
159
200
|
"type": "Tipo"
|
|
160
201
|
},
|
|
@@ -172,7 +213,50 @@ declare const _default: {
|
|
|
172
213
|
"noGroup": "Sem grupo"
|
|
173
214
|
},
|
|
174
215
|
"selectNodeType": {
|
|
175
|
-
"nodeType": "Tipo de nó"
|
|
216
|
+
"nodeType": "Tipo de nó",
|
|
217
|
+
"options": {
|
|
218
|
+
"flow": "Fluxo externo",
|
|
219
|
+
"group": "Grupo",
|
|
220
|
+
"input": "Pergunta",
|
|
221
|
+
"ui": "Elemento de design"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"submitConfigForm": {
|
|
225
|
+
"addHeader": "Adicionar cabeçalho",
|
|
226
|
+
"apiUrl": "URL da API",
|
|
227
|
+
"apiUrlDesc": "Use {{fieldId}} para referenciar outros campos",
|
|
228
|
+
"apiUrlPlaceholder": "https://api.exemplo.com/submit",
|
|
229
|
+
"behavior": "Comportamento",
|
|
230
|
+
"errorMessage": "Mensagem de erro",
|
|
231
|
+
"errorMessageDesc": "Mensagem exibida quando o envio falha",
|
|
232
|
+
"errorMessagePlaceholder": "Ocorreu um erro. Por favor, tente novamente.",
|
|
233
|
+
"headerName": "Nome do cabeçalho",
|
|
234
|
+
"headers": "Cabeçalhos",
|
|
235
|
+
"headerValue": "Valor do cabeçalho",
|
|
236
|
+
"httpMethod": "Método HTTP",
|
|
237
|
+
"insertVariable": "Inserir variável",
|
|
238
|
+
"methodDelete": "DELETE",
|
|
239
|
+
"methodPatch": "PATCH",
|
|
240
|
+
"methodPost": "POST",
|
|
241
|
+
"methodPut": "PUT",
|
|
242
|
+
"noFieldsAvailable": "Nenhum campo disponível",
|
|
243
|
+
"postSubmission": "Após o envio",
|
|
244
|
+
"redirectUrl": "URL de redirecionamento",
|
|
245
|
+
"redirectUrlDesc": "URL para redirecionar após envio bem-sucedido",
|
|
246
|
+
"redirectUrlPlaceholder": "/success ou https://exemplo.com/obrigado",
|
|
247
|
+
"requestBody": "Corpo da requisição (JSON)",
|
|
248
|
+
"requestBodyDesc": "Use {{fieldId}} para referenciar outros campos. Certifique-se de que a formatação JSON está correta, incluindo aspas ao redor de valores de string.",
|
|
249
|
+
"requestBodyPlaceholder": "{\"nome\": \"{{nomeUsuario}}\", \"email\": \"{{emailUsuario}}\"}",
|
|
250
|
+
"selectMethod": "Selecionar método",
|
|
251
|
+
"sendAllFormValues": "Enviar todos os dados do formulário",
|
|
252
|
+
"sendAllFormValuesDesc": "Enviar automaticamente todos os valores do formulário como corpo JSON",
|
|
253
|
+
"showLoadingState": "Mostrar estado de carregamento",
|
|
254
|
+
"successMessage": "Mensagem de sucesso",
|
|
255
|
+
"successMessageDesc": "Mensagem exibida quando o envio é bem-sucedido",
|
|
256
|
+
"successMessagePlaceholder": "Formulário enviado com sucesso!"
|
|
257
|
+
},
|
|
258
|
+
"treegeNode": {
|
|
259
|
+
"labelPlaceholder": "Rótulo..."
|
|
176
260
|
},
|
|
177
261
|
"uiNodeForm": {
|
|
178
262
|
"label": "Rótulo",
|
|
@@ -184,7 +268,9 @@ declare const _default: {
|
|
|
184
268
|
"renderer": {
|
|
185
269
|
"defaultAddressInput": {
|
|
186
270
|
"enterAddress": "Digite um endereço...",
|
|
187
|
-
"noAddressesFound": "Nenhum endereço encontrado."
|
|
271
|
+
"noAddressesFound": "Nenhum endereço encontrado.",
|
|
272
|
+
"searching": "Pesquisando...",
|
|
273
|
+
"typeMinChars": "Digite pelo menos 3 caracteres para pesquisar"
|
|
188
274
|
},
|
|
189
275
|
"defaultAutocompleteInput": {
|
|
190
276
|
"noResults": "Nenhum resultado encontrado.",
|
|
@@ -192,22 +278,29 @@ declare const _default: {
|
|
|
192
278
|
"selectOption": "Selecione uma opção"
|
|
193
279
|
},
|
|
194
280
|
"defaultHttpInput": {
|
|
195
|
-
"fetchFailed": "Falha ao buscar dados",
|
|
196
|
-
"httpError": "HTTP {status}: {statusText}",
|
|
281
|
+
"fetchFailed": "Falha ao buscar dados. Por favor, verifique sua conexão de rede.",
|
|
282
|
+
"httpError": "Erro HTTP {status}: {statusText}",
|
|
197
283
|
"noDataAvailable": "Nenhum dado disponível. Configure \"Buscar na montagem\" ou adicione um parâmetro de pesquisa.",
|
|
198
284
|
"noResults": "Nenhum resultado encontrado.",
|
|
199
|
-
"noUrlConfigured": "Nenhuma URL configurada",
|
|
285
|
+
"noUrlConfigured": "Nenhuma URL configurada. Por favor, adicione uma URL na configuração HTTP.",
|
|
200
286
|
"retry": "Tentar novamente",
|
|
201
287
|
"search": "Pesquisar...",
|
|
202
288
|
"searching": "Pesquisando...",
|
|
203
|
-
"selectOption": "Selecione uma opção"
|
|
289
|
+
"selectOption": "Selecione uma opção",
|
|
290
|
+
"waitingForRequiredFields": "Aguardando campos obrigatórios"
|
|
204
291
|
},
|
|
205
292
|
"defaultInputs": {
|
|
293
|
+
"addMoreFiles": "Adicionar mais arquivos",
|
|
206
294
|
"endDate": "Data de fim",
|
|
207
295
|
"endTime": "Hora de fim",
|
|
296
|
+
"filePickerError": "Falha ao selecionar arquivo",
|
|
297
|
+
"filePickerUnavailable": "Seleção de arquivo indisponível. Instale react-native-document-picker.",
|
|
298
|
+
"replaceFile": "Substituir arquivo",
|
|
208
299
|
"required": "*",
|
|
209
300
|
"selectDate": "Selecionar data",
|
|
210
301
|
"selectDateRange": "Selecionar intervalo de datas",
|
|
302
|
+
"selectFile": "Selecionar arquivo",
|
|
303
|
+
"selectFiles": "Selecionar arquivos",
|
|
211
304
|
"startDate": "Data de início",
|
|
212
305
|
"startTime": "Hora de início"
|
|
213
306
|
},
|
|
@@ -22,6 +22,11 @@ export type InputOption = {
|
|
|
22
22
|
* Whether the option is disabled and cannot be selected
|
|
23
23
|
*/
|
|
24
24
|
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Optional image for the option, stored as base64 data URL.
|
|
27
|
+
* Currently displayed by radio inputs; automatically resized and compressed on upload.
|
|
28
|
+
*/
|
|
29
|
+
image?: string;
|
|
25
30
|
};
|
|
26
31
|
export type BaseNodeData = {
|
|
27
32
|
/**
|
|
@@ -68,6 +73,10 @@ export type HttpConfig = {
|
|
|
68
73
|
* Request body (for POST/PUT/PATCH methods)
|
|
69
74
|
*/
|
|
70
75
|
body?: string;
|
|
76
|
+
/**
|
|
77
|
+
* If true, automatically sends all form data as JSON body (overrides custom body)
|
|
78
|
+
*/
|
|
79
|
+
sendAllFormValues?: boolean;
|
|
71
80
|
/**
|
|
72
81
|
* JSONPath or key to extract from the response
|
|
73
82
|
* Examples: "data.users", "results[0].name"
|
|
@@ -100,6 +109,45 @@ export type HttpConfig = {
|
|
|
100
109
|
*/
|
|
101
110
|
showLoading?: boolean;
|
|
102
111
|
};
|
|
112
|
+
export type SubmitConfig = {
|
|
113
|
+
/**
|
|
114
|
+
* The HTTP method to use for form submission
|
|
115
|
+
*/
|
|
116
|
+
method?: "POST" | "PUT" | "PATCH" | "DELETE";
|
|
117
|
+
/**
|
|
118
|
+
* The API URL to call on submit (supports template variables like {{fieldId}})
|
|
119
|
+
*/
|
|
120
|
+
url?: string;
|
|
121
|
+
/**
|
|
122
|
+
* Custom headers for the HTTP request
|
|
123
|
+
*/
|
|
124
|
+
headers?: HttpHeader[];
|
|
125
|
+
/**
|
|
126
|
+
* Request body (for POST/PUT/PATCH methods, supports template variables like {{fieldId}})
|
|
127
|
+
* Strings are automatically quoted, use: {"name": {{userName}}}
|
|
128
|
+
*/
|
|
129
|
+
body?: string;
|
|
130
|
+
/**
|
|
131
|
+
* If true, automatically sends all form data as JSON body (overrides custom body)
|
|
132
|
+
*/
|
|
133
|
+
sendAllFormValues?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* URL to redirect to after successful submission (supports template variables from response)
|
|
136
|
+
*/
|
|
137
|
+
redirectUrl?: string;
|
|
138
|
+
/**
|
|
139
|
+
* Success message to display after successful submission (translatable)
|
|
140
|
+
*/
|
|
141
|
+
successMessage?: Translatable;
|
|
142
|
+
/**
|
|
143
|
+
* Error message to display if submission fails (translatable)
|
|
144
|
+
*/
|
|
145
|
+
errorMessage?: Translatable;
|
|
146
|
+
/**
|
|
147
|
+
* Whether to show a loading state while submitting
|
|
148
|
+
*/
|
|
149
|
+
showLoading?: boolean;
|
|
150
|
+
};
|
|
103
151
|
export type InputNodeData = BaseNodeData & {
|
|
104
152
|
/**
|
|
105
153
|
* The name of the input field, used for identification and form submission
|
|
@@ -137,6 +185,10 @@ export type InputNodeData = BaseNodeData & {
|
|
|
137
185
|
* Whether multiple selections are allowed (for select and checkbox types)
|
|
138
186
|
*/
|
|
139
187
|
multiple?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Whether past dates should be disabled (for date and daterange types)
|
|
190
|
+
*/
|
|
191
|
+
disablePast?: boolean;
|
|
140
192
|
/**
|
|
141
193
|
* The default value config for the input field
|
|
142
194
|
*/
|
|
@@ -154,6 +206,10 @@ export type InputNodeData = BaseNodeData & {
|
|
|
154
206
|
* HTTP configuration for the input field (used with type="http")
|
|
155
207
|
*/
|
|
156
208
|
httpConfig?: HttpConfig;
|
|
209
|
+
/**
|
|
210
|
+
* Submit configuration for the input field (used with type="submit")
|
|
211
|
+
*/
|
|
212
|
+
submitConfig?: SubmitConfig;
|
|
157
213
|
};
|
|
158
214
|
export type UINodeData = BaseNodeData & {
|
|
159
215
|
/**
|