treege 3.0.0-beta.8 → 3.0.0-beta40

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 (137) hide show
  1. package/LICENSE +18 -12
  2. package/README.md +213 -30
  3. package/dist/DefaultInputs-8yJMEyMh.js +1557 -0
  4. package/dist/ThemeContext-Ejgu9Mwr.js +1603 -0
  5. package/dist/editor/components/input/ComboboxWithCreate.d.ts +2 -1
  6. package/dist/editor/constants/defaultNode.d.ts +1 -1
  7. package/dist/editor/constants/edgeTypes.d.ts +3 -2
  8. package/dist/editor/constants/inputTypeIcons.d.ts +3 -0
  9. package/dist/editor/constants/nodeSpacing.d.ts +33 -0
  10. package/dist/editor/constants/nodeTypes.d.ts +5 -5
  11. package/dist/editor/context/TreegeEditorContext.d.ts +53 -1
  12. package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +1 -1
  13. package/dist/editor/features/TreegeEditor/dialogs/ChangeNodeTypeDialog.d.ts +2 -0
  14. package/dist/editor/features/TreegeEditor/dialogs/DeleteNodeDialog.d.ts +2 -0
  15. package/dist/editor/features/TreegeEditor/edges/ConditionalEdge.d.ts +2 -2
  16. package/dist/editor/features/TreegeEditor/edges/DefaultEdge.d.ts +3 -0
  17. package/dist/editor/features/TreegeEditor/forms/SubmitConfigForm.d.ts +7 -0
  18. package/dist/editor/features/TreegeEditor/inputs/ComboboxPattern.d.ts +2 -1
  19. package/dist/editor/features/TreegeEditor/inputs/OptionImageField.d.ts +6 -0
  20. package/dist/editor/features/TreegeEditor/nodes/GroupNode.d.ts +2 -2
  21. package/dist/editor/features/TreegeEditor/nodes/TreegeNode.d.ts +6 -0
  22. package/dist/editor/features/TreegeEditor/nodes/components/BottomHandleDropdown.d.ts +6 -0
  23. package/dist/editor/features/TreegeEditor/nodes/components/NodeInputPreview.d.ts +7 -0
  24. package/dist/editor/features/TreegeEditor/nodes/components/NodeLabelInput.d.ts +9 -0
  25. package/dist/editor/features/TreegeEditor/nodes/components/NodeMoreMenu.d.ts +6 -0
  26. package/dist/editor/features/TreegeEditor/nodes/components/NodeTypeBadge.d.ts +7 -0
  27. package/dist/editor/features/TreegeEditor/nodes/components/OptionsEditor.d.ts +7 -0
  28. package/dist/editor/features/TreegeEditor/nodes/components/RequiredBadge.d.ts +6 -0
  29. package/dist/editor/features/TreegeEditor/nodes/layout/NodeWrapper.d.ts +2 -1
  30. package/dist/editor/features/TreegeEditor/panel/AIGeneratorDialog.d.ts +16 -0
  31. package/dist/editor/hooks/useAutoLayout.d.ts +15 -0
  32. package/dist/editor/hooks/useFlowActions.d.ts +5 -2
  33. package/dist/editor/hooks/useFlowConnections.d.ts +4 -0
  34. package/dist/editor/hooks/useNodesSelection.d.ts +5 -5
  35. package/dist/editor/types/ai.d.ts +65 -0
  36. package/dist/editor/types/editor.d.ts +9 -8
  37. package/dist/editor/utils/aiFlowGenerator.d.ts +5 -0
  38. package/dist/editor/utils/dagreLayout.d.ts +17 -0
  39. package/dist/editor/utils/edge.d.ts +14 -0
  40. package/dist/editor/utils/image.d.ts +7 -0
  41. package/dist/editor/utils/inputTypeIcon.d.ts +6 -0
  42. package/dist/editor-DWJ95r4g.js +4001 -0
  43. package/dist/editor.js +3 -7
  44. package/dist/main.js +4 -52
  45. package/dist/renderer/context/TreegeRendererContext.d.ts +4 -1
  46. package/dist/renderer/features/TreegeRenderer/native/TreegeRenderer.d.ts +19 -11
  47. package/dist/renderer/features/TreegeRenderer/native/components/DefaultFormWrapper.d.ts +7 -7
  48. package/dist/renderer/features/TreegeRenderer/native/components/DefaultGroup.d.ts +7 -7
  49. package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +21 -15
  50. package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButton.d.ts +9 -7
  51. package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButtonWrapper.d.ts +11 -0
  52. package/dist/renderer/features/TreegeRenderer/native/components/DefaultUI.d.ts +8 -7
  53. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts +3 -0
  54. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts +3 -0
  55. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts +3 -0
  56. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts +3 -0
  57. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts +3 -0
  58. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts +3 -0
  59. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts +3 -0
  60. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts +3 -0
  61. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts +3 -0
  62. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts +3 -0
  63. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts +3 -0
  64. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts +3 -0
  65. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts +3 -0
  66. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts +3 -0
  67. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts +3 -0
  68. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts +3 -0
  69. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts +3 -0
  70. package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +84 -24
  71. package/dist/renderer/features/TreegeRenderer/web/TreegeRenderer.d.ts +1 -1
  72. package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButton.d.ts +1 -1
  73. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +1 -1
  74. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +1 -1
  75. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +1 -1
  76. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +1 -1
  77. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +1 -1
  78. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +1 -1
  79. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +1 -1
  80. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +1 -1
  81. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +1 -1
  82. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +1 -1
  83. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +1 -1
  84. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +1 -1
  85. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSubmitInput.d.ts +3 -0
  86. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +1 -1
  87. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +1 -1
  88. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +1 -1
  89. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +1 -1
  90. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +1 -1
  91. package/dist/renderer/hooks/useRenderNode.d.ts +55 -0
  92. package/dist/renderer/hooks/useSubmitHandler.d.ts +34 -0
  93. package/dist/renderer/hooks/useTranslate.d.ts +6 -4
  94. package/dist/renderer/index.d.ts +2 -0
  95. package/dist/renderer/index.native.d.ts +19 -0
  96. package/dist/renderer/types/renderer.d.ts +60 -6
  97. package/dist/renderer/utils/form.d.ts +22 -2
  98. package/dist/renderer/utils/http.d.ts +101 -0
  99. package/dist/renderer/utils/node.d.ts +18 -1
  100. package/dist/renderer/utils/sanitize.d.ts +85 -0
  101. package/dist/renderer/utils/sanitize.native.d.ts +69 -0
  102. package/dist/renderer/utils/submit.d.ts +47 -0
  103. package/dist/renderer-native.d.ts +2 -0
  104. package/dist/renderer-native.js +3496 -0
  105. package/dist/renderer.js +3 -45
  106. package/dist/shared/components/ui/badge.d.ts +2 -2
  107. package/dist/shared/components/ui/button.d.ts +2 -2
  108. package/dist/shared/components/ui/collapsible.d.ts +1 -1
  109. package/dist/shared/components/ui/command.d.ts +1 -1
  110. package/dist/shared/components/ui/dropdown-menu.d.ts +1 -1
  111. package/dist/shared/components/ui/form.d.ts +1 -1
  112. package/dist/shared/components/ui/popover.d.ts +4 -2
  113. package/dist/shared/components/ui/select.d.ts +3 -1
  114. package/dist/shared/components/ui/sheet.d.ts +1 -1
  115. package/dist/shared/components/ui/tooltip.d.ts +1 -1
  116. package/dist/shared/constants/colors.d.ts +45 -0
  117. package/dist/shared/constants/inputType.d.ts +1 -0
  118. package/dist/shared/context/ThemeContext.d.ts +2 -0
  119. package/dist/shared/context/ThemeContext.native.d.ts +22 -0
  120. package/dist/shared/hooks/useThemeColors.d.ts +37 -0
  121. package/dist/shared/locales/ar.json.d.ts +117 -10
  122. package/dist/shared/locales/de.json.d.ts +118 -11
  123. package/dist/shared/locales/en.json.d.ts +119 -12
  124. package/dist/shared/locales/es.json.d.ts +118 -11
  125. package/dist/shared/locales/fr.json.d.ts +118 -11
  126. package/dist/shared/locales/it.json.d.ts +118 -11
  127. package/dist/shared/locales/pt.json.d.ts +118 -11
  128. package/dist/shared/types/edge.d.ts +6 -0
  129. package/dist/shared/types/node.d.ts +64 -0
  130. package/package.json +38 -12
  131. package/dist/ThemeContext-BIvs8Kw-.js +0 -758
  132. package/dist/TreegeEditor-Lv5Tn9_F.js +0 -2152
  133. package/dist/TreegeRenderer-D3EvsEfJ.js +0 -1413
  134. package/dist/editor/features/TreegeEditor/inputs/SelectInputType.d.ts +0 -7
  135. package/dist/editor/features/TreegeEditor/nodes/FlowNode.d.ts +0 -6
  136. package/dist/editor/features/TreegeEditor/nodes/InputNode.d.ts +0 -6
  137. package/dist/editor/features/TreegeEditor/nodes/UINode.d.ts +0 -6
@@ -4,14 +4,17 @@ declare const _default: {
4
4
  "clear": "Limpiar",
5
5
  "close": "Cerrar",
6
6
  "create": "Crear",
7
+ "delete": "Eliminar",
8
+ "other": "Otro",
7
9
  "retry": "Reintentar",
8
10
  "save": "Guardar",
11
+ "settings": "Configuración",
9
12
  "submit": "Enviar",
10
13
  "toggle": "Alternar"
11
14
  },
12
15
  "editor": {
13
16
  "actionsPanel": {
14
- "addNode": "Agregar nodo",
17
+ "addNode": "Agregar elemento",
15
18
  "clear": "Limpiar",
16
19
  "clearSuccess": "¡Flujo limpiado!",
17
20
  "clearSuccessDesc": "Todos los nodos y aristas han sido eliminados.",
@@ -28,6 +31,32 @@ declare const _default: {
28
31
  "parseError": "Error al analizar el archivo JSON.",
29
32
  "parseErrorDesc": "Intenta corregir el archivo e importarlo nuevamente."
30
33
  },
34
+ "aiGenerator": {
35
+ "aiNotConfigured": "IA no configurada",
36
+ "aiNotConfiguredDesc": "Agregue la prop {code} a TreegeEditorProvider",
37
+ "buttonLabel": "Generar con IA",
38
+ "cancel": "Cancelar",
39
+ "description": "Descripción",
40
+ "descriptionPlaceholder": "Ejemplo: Crear un formulario de contacto con nombre, correo electrónico, teléfono y mensaje",
41
+ "enterDescription": "Por favor ingrese una descripción",
42
+ "failedToGenerate": "Error al generar el árbol",
43
+ "generate": "Generar",
44
+ "generating": "Generando...",
45
+ "keyboardShortcut": "Presione {cmdEnter} o {ctrlEnter} para generar",
46
+ "missingApiKey": "Falta configuración de IA",
47
+ "missingApiKeyDesc": "Por favor configure su clave API de IA en TreegeEditorProvider",
48
+ "successDescription": "{nodes} nodos y {edges} aristas creados",
49
+ "successTitle": "¡Árbol generado exitosamente!",
50
+ "title": "Generar flujo con IA",
51
+ "titleDescription": "Describa el formulario o árbol de decisión que desea crear, y la IA lo generará por usted.",
52
+ "unknownError": "Error desconocido"
53
+ },
54
+ "changeNodeTypeDialog": {
55
+ "description": "Este nodo tiene varias ramas salientes. El nuevo tipo solo admite una. Elige qué rama conservar; las demás serán eliminadas.",
56
+ "keepBranch": "Conservar esta rama",
57
+ "noConditions": "Sin condiciones",
58
+ "title": "Cambiar tipo de nodo"
59
+ },
31
60
  "comboboxPattern": {
32
61
  "custom": "Personalizado: {value}",
33
62
  "search": "Buscar patrones...",
@@ -46,6 +75,7 @@ declare const _default: {
46
75
  "conditionsAnd": "condiciones (Y)",
47
76
  "conditionsMixed": "condiciones (mixtas)",
48
77
  "conditionsOr": "condiciones (O)",
78
+ "defineCondition": "Definir una condición",
49
79
  "displayConditions": "Mostrar condiciones",
50
80
  "displayConditionsDesc": "Este campo se mostrará si se cumplen las siguientes condiciones.",
51
81
  "fallback": "Predeterminado",
@@ -94,8 +124,8 @@ declare const _default: {
94
124
  "methodPut": "PUT",
95
125
  "noFieldsAvailable": "No hay campos disponibles",
96
126
  "requestBody": "Cuerpo de la solicitud (JSON)",
97
- "requestBodyDesc": "Use variables de plantilla como ${fieldId} para referenciar otros campos",
98
- "requestBodyPlaceholder": "{\"clave\": \"valor\"}",
127
+ "requestBodyDesc": "Use {{fieldId}} para referenciar otros campos. Asegúrese de un formato JSON adecuado, incluyendo comillas alrededor de los valores de cadena.",
128
+ "requestBodyPlaceholder": "{\"nombre\": \"{{nombreUsuario}}\", \"edad\": {{edadUsuario}}}",
99
129
  "responseConfiguration": "Configuración de respuesta",
100
130
  "responsePath": "Ruta de respuesta",
101
131
  "responsePathDesc": "Extraer datos de la respuesta usando notación de puntos o indexación de matriz",
@@ -104,6 +134,8 @@ declare const _default: {
104
134
  "searchParameterDesc": "Si se configura, habilita un cuadro de búsqueda que agrega este parámetro a las llamadas API (ej: ?q=París)",
105
135
  "searchParameterPlaceholder": "q, buscar, consulta...",
106
136
  "selectMethod": "Seleccionar método",
137
+ "sendAllFormValues": "Enviar todos los datos del formulario",
138
+ "sendAllFormValuesDesc": "Enviar automáticamente todos los valores del formulario como cuerpo JSON",
107
139
  "showLoadingState": "Mostrar estado de carga",
108
140
  "valueField": "Campo de valor",
109
141
  "valueFieldDesc": "Campo a usar como valor de opción (ej: id)",
@@ -112,7 +144,7 @@ declare const _default: {
112
144
  "inputNodeForm": {
113
145
  "addInputFieldsBeforeReference": "Agregue campos de entrada antes de este nodo para referenciarlos",
114
146
  "addMapping": "Agregar mapeo",
115
- "addOption": "+ Agregar opción",
147
+ "addOption": "Agregar opción",
116
148
  "advancedConfiguration": "Configuración avanzada",
117
149
  "defaultChecked": "Marcado por defecto",
118
150
  "defaultValuesCommaSeparated": "Valores predeterminados (separados por comas)",
@@ -121,6 +153,7 @@ declare const _default: {
121
153
  "defaultValueTypeNone": "Ninguno",
122
154
  "defaultValueTypeReference": "Campo de referencia",
123
155
  "defaultValueTypeStatic": "Valor estático",
156
+ "disablePast": "Desactivar fechas pasadas",
124
157
  "errorMessage": "Mensaje de error",
125
158
  "helperText": "Texto de ayuda",
126
159
  "httpConfiguration": "Configuración HTTP",
@@ -128,9 +161,20 @@ declare const _default: {
128
161
  "multipleFiles": "Archivos múltiples",
129
162
  "multipleSelection": "Selección múltiple",
130
163
  "name": "Nombre",
164
+ "nameDescription": "Nombre de campo personalizado opcional para la exportación del formulario. Si está vacío, la etiqueta se usará como clave.",
131
165
  "noParentFieldsAvailable": "No hay campos principales disponibles",
132
166
  "objectMapping": "Mapeo de objetos",
133
167
  "objectMappingDesc": "Mapear las propiedades del objeto de origen a una nueva estructura",
168
+ "optional": "Opcional",
169
+ "optionDescription": "Descripción",
170
+ "optionImageAdd": "Agregar imagen",
171
+ "optionImageError": "No se pudo procesar la imagen.",
172
+ "optionImageInvalid": "Formato de imagen no compatible.",
173
+ "optionImageRemove": "Quitar imagen",
174
+ "optionImageReplace": "Reemplazar imagen",
175
+ "optionImageTooLarge": "Imagen demasiado grande (máx. 5 MB).",
176
+ "optionImageUpload": "Subir archivo",
177
+ "optionImageUrlPlaceholder": "https://...",
134
178
  "optionLabel": "Etiqueta",
135
179
  "options": "Opciones",
136
180
  "optionValue": "Valor",
@@ -144,6 +188,7 @@ declare const _default: {
144
188
  "sourceKey": "Clave de origen",
145
189
  "staticValue": "Valor estático",
146
190
  "staticValuePlaceholder": "Ingrese el valor predeterminado",
191
+ "submitConfiguration": "Configuración de envío",
147
192
  "targetKey": "Clave de destino",
148
193
  "transformArray": "Convertir a matriz",
149
194
  "transformBoolean": "Convertir a booleano",
@@ -153,7 +198,16 @@ declare const _default: {
153
198
  "transformNumber": "Convertir a número",
154
199
  "transformString": "Convertir a texto",
155
200
  "transformType": "Tipo de transformación",
156
- "validation": "Validación"
201
+ "validation": "Validación",
202
+ "variant": "Variante",
203
+ "variantCard": "Tarjeta",
204
+ "variantDefault": "Predeterminado"
205
+ },
206
+ "nodeActionsSheet": {
207
+ "deleteNode": "Eliminar nodo",
208
+ "deleteNodeConfirm": "¿Estás seguro de que quieres eliminar este nodo?",
209
+ "deleteNodeSuccess": "Nodo eliminado exitosamente",
210
+ "editNode": "Editar nodo"
157
211
  },
158
212
  "selectInputType": {
159
213
  "type": "Tipo"
@@ -172,7 +226,50 @@ declare const _default: {
172
226
  "noGroup": "Sin grupo"
173
227
  },
174
228
  "selectNodeType": {
175
- "nodeType": "Tipo de nodo"
229
+ "nodeType": "Tipo de nodo",
230
+ "options": {
231
+ "flow": "Flujo externo",
232
+ "group": "Grupo",
233
+ "input": "Pregunta",
234
+ "ui": "Elemento de diseño"
235
+ }
236
+ },
237
+ "submitConfigForm": {
238
+ "addHeader": "Agregar encabezado",
239
+ "apiUrl": "URL de la API",
240
+ "apiUrlDesc": "Use {{fieldId}} para referenciar otros campos",
241
+ "apiUrlPlaceholder": "https://api.ejemplo.com/submit",
242
+ "behavior": "Comportamiento",
243
+ "errorMessage": "Mensaje de error",
244
+ "errorMessageDesc": "Mensaje mostrado cuando falla el envío",
245
+ "errorMessagePlaceholder": "Ocurrió un error. Por favor, intente nuevamente.",
246
+ "headerName": "Nombre del encabezado",
247
+ "headers": "Encabezados",
248
+ "headerValue": "Valor del encabezado",
249
+ "httpMethod": "Método HTTP",
250
+ "insertVariable": "Insertar variable",
251
+ "methodDelete": "DELETE",
252
+ "methodPatch": "PATCH",
253
+ "methodPost": "POST",
254
+ "methodPut": "PUT",
255
+ "noFieldsAvailable": "No hay campos disponibles",
256
+ "postSubmission": "Después del envío",
257
+ "redirectUrl": "URL de redirección",
258
+ "redirectUrlDesc": "URL a la que redirigir después de un envío exitoso",
259
+ "redirectUrlPlaceholder": "/success o https://ejemplo.com/gracias",
260
+ "requestBody": "Cuerpo de la solicitud (JSON)",
261
+ "requestBodyDesc": "Use {{fieldId}} para referenciar otros campos. Asegúrese de un formato JSON adecuado, incluyendo comillas alrededor de los valores de cadena.",
262
+ "requestBodyPlaceholder": "{\"nombre\": \"{{nombreUsuario}}\", \"email\": \"{{emailUsuario}}\"}",
263
+ "selectMethod": "Seleccionar método",
264
+ "sendAllFormValues": "Enviar todos los datos del formulario",
265
+ "sendAllFormValuesDesc": "Enviar automáticamente todos los valores del formulario como cuerpo JSON",
266
+ "showLoadingState": "Mostrar estado de carga",
267
+ "successMessage": "Mensaje de éxito",
268
+ "successMessageDesc": "Mensaje mostrado cuando el envío es exitoso",
269
+ "successMessagePlaceholder": "¡Formulario enviado exitosamente!"
270
+ },
271
+ "treegeNode": {
272
+ "labelPlaceholder": "Etiqueta..."
176
273
  },
177
274
  "uiNodeForm": {
178
275
  "label": "Etiqueta",
@@ -184,7 +281,9 @@ declare const _default: {
184
281
  "renderer": {
185
282
  "defaultAddressInput": {
186
283
  "enterAddress": "Ingrese una dirección...",
187
- "noAddressesFound": "No se encontraron direcciones."
284
+ "noAddressesFound": "No se encontraron direcciones.",
285
+ "searching": "Buscando...",
286
+ "typeMinChars": "Escribe al menos 3 caracteres para buscar"
188
287
  },
189
288
  "defaultAutocompleteInput": {
190
289
  "noResults": "No se encontraron resultados.",
@@ -192,22 +291,30 @@ declare const _default: {
192
291
  "selectOption": "Seleccionar una opción"
193
292
  },
194
293
  "defaultHttpInput": {
195
- "fetchFailed": "Error al obtener los datos",
196
- "httpError": "HTTP {status}: {statusText}",
294
+ "fetchFailed": "Error al obtener los datos. Por favor, verifique su conexión de red.",
295
+ "httpError": "Error HTTP {status}: {statusText}",
197
296
  "noDataAvailable": "No hay datos disponibles. Configure \"Cargar al montar\" o agregue un parámetro de búsqueda.",
198
297
  "noResults": "No se encontraron resultados.",
199
- "noUrlConfigured": "No hay URL configurada",
298
+ "noUrlConfigured": "No hay URL configurada. Por favor, agregue una URL en la configuración HTTP.",
200
299
  "retry": "Reintentar",
201
300
  "search": "Buscar...",
202
301
  "searching": "Buscando...",
203
- "selectOption": "Seleccionar una opción"
302
+ "selectOption": "Seleccionar una opción",
303
+ "waitingForRequiredFields": "Esperando campos requeridos"
204
304
  },
205
305
  "defaultInputs": {
306
+ "addMoreFiles": "Agregar más archivos",
206
307
  "endDate": "Fecha de fin",
207
308
  "endTime": "Hora de fin",
309
+ "filePickerError": "Error al seleccionar archivo",
310
+ "filePickerUnavailable": "Selección de archivos no disponible. Instale react-native-document-picker.",
311
+ "newAnswer": "Nueva respuesta...",
312
+ "replaceFile": "Reemplazar archivo",
208
313
  "required": "*",
209
314
  "selectDate": "Seleccionar fecha",
210
315
  "selectDateRange": "Seleccionar rango de fechas",
316
+ "selectFile": "Seleccionar archivo",
317
+ "selectFiles": "Seleccionar archivos",
211
318
  "startDate": "Fecha de inicio",
212
319
  "startTime": "Hora de inicio"
213
320
  },
@@ -4,14 +4,17 @@ declare const _default: {
4
4
  "clear": "Effacer",
5
5
  "close": "Fermer",
6
6
  "create": "Créer",
7
+ "delete": "Supprimer",
8
+ "other": "Autre",
7
9
  "retry": "Réessayer",
8
10
  "save": "Enregistrer",
11
+ "settings": "Paramètres",
9
12
  "submit": "Soumettre",
10
13
  "toggle": "Basculer"
11
14
  },
12
15
  "editor": {
13
16
  "actionsPanel": {
14
- "addNode": "Ajouter un nœud",
17
+ "addNode": "Ajouter un élément",
15
18
  "clear": "Supprimer",
16
19
  "clearSuccess": "Flux vidé !",
17
20
  "clearSuccessDesc": "Tous les nœuds et arêtes ont été supprimés.",
@@ -28,6 +31,32 @@ declare const _default: {
28
31
  "parseError": "Erreur d'analyse du fichier JSON.",
29
32
  "parseErrorDesc": "Essayez de corriger le fichier et de l'importer à nouveau."
30
33
  },
34
+ "aiGenerator": {
35
+ "aiNotConfigured": "IA non configurée",
36
+ "aiNotConfiguredDesc": "Ajoutez la prop {code} à TreegeEditorProvider",
37
+ "buttonLabel": "Générer avec l'IA",
38
+ "cancel": "Annuler",
39
+ "description": "Description",
40
+ "descriptionPlaceholder": "Exemple : Créer un formulaire de contact avec nom, email, téléphone et message",
41
+ "enterDescription": "Veuillez entrer une description",
42
+ "failedToGenerate": "Échec de la génération de l'arbre",
43
+ "generate": "Générer",
44
+ "generating": "Génération...",
45
+ "keyboardShortcut": "Appuyez sur {cmdEnter} ou {ctrlEnter} pour générer",
46
+ "missingApiKey": "Configuration IA manquante",
47
+ "missingApiKeyDesc": "Veuillez configurer votre clé API IA dans TreegeEditorProvider",
48
+ "successDescription": "{nodes} nœuds et {edges} arêtes créés",
49
+ "successTitle": "Arbre généré avec succès !",
50
+ "title": "Générer un flux avec l'IA",
51
+ "titleDescription": "Décrivez le formulaire ou l'arbre de décision que vous souhaitez créer, et l'IA le générera pour vous.",
52
+ "unknownError": "Erreur inconnue"
53
+ },
54
+ "changeNodeTypeDialog": {
55
+ "description": "Ce nœud possède plusieurs branches sortantes. Le nouveau type n'en supporte qu'une seule. Choisissez la branche à conserver ; les autres seront supprimées.",
56
+ "keepBranch": "Conserver cette branche",
57
+ "noConditions": "Aucune condition",
58
+ "title": "Changer le type de nœud"
59
+ },
31
60
  "comboboxPattern": {
32
61
  "custom": "Personnalisé : {value}",
33
62
  "search": "Rechercher des motifs...",
@@ -46,6 +75,7 @@ declare const _default: {
46
75
  "conditionsAnd": "conditions (ET)",
47
76
  "conditionsMixed": "conditions (mixtes)",
48
77
  "conditionsOr": "conditions (OU)",
78
+ "defineCondition": "Définir une condition",
49
79
  "displayConditions": "Afficher les conditions",
50
80
  "displayConditionsDesc": "Ce champ sera affiché si les conditions suivantes sont remplies.",
51
81
  "fallback": "Par défaut",
@@ -94,8 +124,8 @@ declare const _default: {
94
124
  "methodPut": "PUT",
95
125
  "noFieldsAvailable": "Aucun champ disponible",
96
126
  "requestBody": "Corps de la requête (JSON)",
97
- "requestBodyDesc": "Utilisez des variables de modèle comme ${fieldId} pour référencer d'autres champs",
98
- "requestBodyPlaceholder": "{\"clé\": \"valeur\"}",
127
+ "requestBodyDesc": "Utilisez {{fieldId}} pour référencer d'autres champs. Assurez-vous d'un formatage JSON approprié, incluant les guillemets autour des valeurs de chaîne.",
128
+ "requestBodyPlaceholder": "{\"nom\": \"{{nomUtilisateur}}\", \"age\": {{ageUtilisateur}}}",
99
129
  "responseConfiguration": "Configuration de la réponse",
100
130
  "responsePath": "Chemin de la réponse",
101
131
  "responsePathDesc": "Extraire les données de la réponse en utilisant la notation par points ou l'indexation de tableau",
@@ -104,6 +134,8 @@ declare const _default: {
104
134
  "searchParameterDesc": "Si défini, active une zone de recherche qui ajoute ce paramètre aux appels API (ex : ?q=Paris)",
105
135
  "searchParameterPlaceholder": "q, recherche, requête...",
106
136
  "selectMethod": "Sélectionner une méthode",
137
+ "sendAllFormValues": "Envoyer toutes les données du formulaire",
138
+ "sendAllFormValuesDesc": "Envoyer automatiquement toutes les valeurs du formulaire en tant que corps JSON",
107
139
  "showLoadingState": "Afficher l'état de chargement",
108
140
  "valueField": "Champ de valeur",
109
141
  "valueFieldDesc": "Champ à utiliser comme valeur d'option (ex : id)",
@@ -112,7 +144,7 @@ declare const _default: {
112
144
  "inputNodeForm": {
113
145
  "addInputFieldsBeforeReference": "Ajoutez des champs de saisie avant ce nœud pour les référencer",
114
146
  "addMapping": "Ajouter un mappage",
115
- "addOption": "+ Ajouter une option",
147
+ "addOption": "Ajouter une option",
116
148
  "advancedConfiguration": "Configuration avancée",
117
149
  "defaultChecked": "Coché par défaut",
118
150
  "defaultValuesCommaSeparated": "Valeurs par défaut (séparées par des virgules)",
@@ -121,6 +153,7 @@ declare const _default: {
121
153
  "defaultValueTypeNone": "Aucun",
122
154
  "defaultValueTypeReference": "Champ de référence",
123
155
  "defaultValueTypeStatic": "Valeur statique",
156
+ "disablePast": "Désactiver les dates passées",
124
157
  "errorMessage": "Message d'erreur",
125
158
  "helperText": "Texte d'aide",
126
159
  "httpConfiguration": "Configuration HTTP",
@@ -128,9 +161,20 @@ declare const _default: {
128
161
  "multipleFiles": "Fichiers multiples",
129
162
  "multipleSelection": "Sélection multiple",
130
163
  "name": "Nom",
164
+ "nameDescription": "Nom de champ personnalisé optionnel pour l'export du formulaire. Si vide, le libellé sera utilisé comme clé.",
131
165
  "noParentFieldsAvailable": "Aucun champ parent disponible",
132
166
  "objectMapping": "Mappage d'objet",
133
167
  "objectMappingDesc": "Mapper les propriétés de l'objet source vers une nouvelle structure",
168
+ "optional": "Optionnel",
169
+ "optionDescription": "Description",
170
+ "optionImageAdd": "Ajouter une image",
171
+ "optionImageError": "Impossible de traiter l'image.",
172
+ "optionImageInvalid": "Format d'image non pris en charge.",
173
+ "optionImageRemove": "Retirer l'image",
174
+ "optionImageReplace": "Remplacer l'image",
175
+ "optionImageTooLarge": "Image trop volumineuse (max 5 Mo).",
176
+ "optionImageUpload": "Importer un fichier",
177
+ "optionImageUrlPlaceholder": "https://...",
134
178
  "optionLabel": "Libellé",
135
179
  "options": "Options",
136
180
  "optionValue": "Valeur",
@@ -144,6 +188,7 @@ declare const _default: {
144
188
  "sourceKey": "Clé source",
145
189
  "staticValue": "Valeur statique",
146
190
  "staticValuePlaceholder": "Entrer une valeur par défaut",
191
+ "submitConfiguration": "Configuration de soumission",
147
192
  "targetKey": "Clé cible",
148
193
  "transformArray": "Convertir en tableau",
149
194
  "transformBoolean": "Convertir en booléen",
@@ -153,7 +198,16 @@ declare const _default: {
153
198
  "transformNumber": "Convertir en nombre",
154
199
  "transformString": "Convertir en chaîne",
155
200
  "transformType": "Type de transformation",
156
- "validation": "Validation"
201
+ "validation": "Validation",
202
+ "variant": "Variante",
203
+ "variantCard": "Carte",
204
+ "variantDefault": "Par défaut"
205
+ },
206
+ "nodeActionsSheet": {
207
+ "deleteNode": "Supprimer le nœud",
208
+ "deleteNodeConfirm": "Êtes-vous sûr de vouloir supprimer ce nœud ?",
209
+ "deleteNodeSuccess": "Nœud supprimé avec succès",
210
+ "editNode": "Modifier le nœud"
157
211
  },
158
212
  "selectInputType": {
159
213
  "type": "Type"
@@ -172,7 +226,50 @@ declare const _default: {
172
226
  "noGroup": "Aucun groupe"
173
227
  },
174
228
  "selectNodeType": {
175
- "nodeType": "Type de nœud"
229
+ "nodeType": "Type de nœud",
230
+ "options": {
231
+ "flow": "Flux externe",
232
+ "group": "Groupe",
233
+ "input": "Question",
234
+ "ui": "Élément de design"
235
+ }
236
+ },
237
+ "submitConfigForm": {
238
+ "addHeader": "Ajouter un en-tête",
239
+ "apiUrl": "URL de l'API",
240
+ "apiUrlDesc": "Utilisez {{fieldId}} pour référencer d'autres champs",
241
+ "apiUrlPlaceholder": "https://api.exemple.com/submit",
242
+ "behavior": "Comportement",
243
+ "errorMessage": "Message d'erreur",
244
+ "errorMessageDesc": "Message affiché en cas d'échec de la soumission",
245
+ "errorMessagePlaceholder": "Une erreur s'est produite. Veuillez réessayer.",
246
+ "headerName": "Nom de l'en-tête",
247
+ "headers": "En-têtes",
248
+ "headerValue": "Valeur de l'en-tête",
249
+ "httpMethod": "Méthode HTTP",
250
+ "insertVariable": "Insérer une variable",
251
+ "methodDelete": "DELETE",
252
+ "methodPatch": "PATCH",
253
+ "methodPost": "POST",
254
+ "methodPut": "PUT",
255
+ "noFieldsAvailable": "Aucun champ disponible",
256
+ "postSubmission": "Après soumission",
257
+ "redirectUrl": "URL de redirection",
258
+ "redirectUrlDesc": "URL vers laquelle rediriger après une soumission réussie",
259
+ "redirectUrlPlaceholder": "/success ou https://exemple.com/merci",
260
+ "requestBody": "Corps de la requête (JSON)",
261
+ "requestBodyDesc": "Utilisez {{fieldId}} pour référencer d'autres champs. Assurez-vous d'un formatage JSON approprié, incluant les guillemets autour des valeurs de chaîne.",
262
+ "requestBodyPlaceholder": "{\"nom\": \"{{nomUtilisateur}}\", \"email\": \"{{emailUtilisateur}}\"}",
263
+ "selectMethod": "Sélectionner une méthode",
264
+ "sendAllFormValues": "Envoyer toutes les données du formulaire",
265
+ "sendAllFormValuesDesc": "Envoyer automatiquement toutes les valeurs du formulaire en tant que corps JSON",
266
+ "showLoadingState": "Afficher l'état de chargement",
267
+ "successMessage": "Message de succès",
268
+ "successMessageDesc": "Message affiché en cas de soumission réussie",
269
+ "successMessagePlaceholder": "Formulaire soumis avec succès !"
270
+ },
271
+ "treegeNode": {
272
+ "labelPlaceholder": "Libellé..."
176
273
  },
177
274
  "uiNodeForm": {
178
275
  "label": "Libellé",
@@ -184,7 +281,9 @@ declare const _default: {
184
281
  "renderer": {
185
282
  "defaultAddressInput": {
186
283
  "enterAddress": "Entrez une adresse...",
187
- "noAddressesFound": "Aucune adresse trouvée."
284
+ "noAddressesFound": "Aucune adresse trouvée.",
285
+ "searching": "Recherche...",
286
+ "typeMinChars": "Tapez au moins 3 caractères pour rechercher"
188
287
  },
189
288
  "defaultAutocompleteInput": {
190
289
  "noResults": "Aucun résultat trouvé.",
@@ -192,22 +291,30 @@ declare const _default: {
192
291
  "selectOption": "Sélectionner une option"
193
292
  },
194
293
  "defaultHttpInput": {
195
- "fetchFailed": "Échec de la récupération des données",
196
- "httpError": "HTTP {status} : {statusText}",
294
+ "fetchFailed": "Échec de la récupération des données. Veuillez vérifier votre connexion réseau.",
295
+ "httpError": "Erreur HTTP {status} : {statusText}",
197
296
  "noDataAvailable": "Aucune donnée disponible. Configurez \"Charger au montage\" ou ajoutez un paramètre de recherche.",
198
297
  "noResults": "Aucun résultat trouvé.",
199
- "noUrlConfigured": "Aucune URL configurée",
298
+ "noUrlConfigured": "Aucune URL configurée. Veuillez ajouter une URL dans la configuration HTTP.",
200
299
  "retry": "Réessayer",
201
300
  "search": "Recherche...",
202
301
  "searching": "Recherche...",
203
- "selectOption": "Sélectionner une option"
302
+ "selectOption": "Sélectionner une option",
303
+ "waitingForRequiredFields": "En attente des champs requis"
204
304
  },
205
305
  "defaultInputs": {
306
+ "addMoreFiles": "Ajouter plus de fichiers",
206
307
  "endDate": "Date de fin",
207
308
  "endTime": "Heure de fin",
309
+ "filePickerError": "Échec de la sélection du fichier",
310
+ "filePickerUnavailable": "Sélection de fichier indisponible. Veuillez installer react-native-document-picker.",
311
+ "newAnswer": "Nouvelle réponse...",
312
+ "replaceFile": "Remplacer le fichier",
208
313
  "required": "*",
209
314
  "selectDate": "Sélectionner une date",
210
315
  "selectDateRange": "Sélectionner une plage de dates",
316
+ "selectFile": "Sélectionner un fichier",
317
+ "selectFiles": "Sélectionner des fichiers",
211
318
  "startDate": "Date de début",
212
319
  "startTime": "Heure de début"
213
320
  },