treege 3.0.0-beta.55 → 3.0.0-beta.57

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 (78) hide show
  1. package/README.md +33 -10
  2. package/dist/DefaultInputs-CoJrOYMe.js +1859 -0
  3. package/dist/ThemeContext-BhIeqgqN.js +1398 -0
  4. package/dist/editor/constants/edgeTypes.d.ts +1 -1
  5. package/dist/editor/context/TreegeEditorContext.d.ts +8 -1
  6. package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +1 -1
  7. package/dist/editor/features/TreegeEditor/edges/DefaultEdge.d.ts +1 -1
  8. package/dist/editor/features/TreegeEditor/forms/OptionsMappingFields.d.ts +34 -0
  9. package/dist/editor/features/TreegeEditor/forms/SensitiveHeaderWarning.d.ts +13 -0
  10. package/dist/editor/features/TreegeEditor/nodes/components/BottomHandleDropdown.d.ts +18 -2
  11. package/dist/editor/features/TreegeEditor/nodes/components/NodeTypePickerMenuContent.d.ts +12 -0
  12. package/dist/editor/types/editor.d.ts +19 -1
  13. package/dist/editor/utils/cleanNodeConfig.d.ts +5 -0
  14. package/dist/editor/utils/edge.d.ts +37 -1
  15. package/dist/editor/utils/sensitiveHeaders.d.ts +15 -0
  16. package/dist/editor-D3cbfAxI.js +6232 -0
  17. package/dist/editor.js +2 -2
  18. package/dist/main.js +4 -4
  19. package/dist/renderer/features/TreegeRenderer/InputRendererHost.d.ts +15 -0
  20. package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +2 -2
  21. package/dist/renderer/features/TreegeRenderer/native/components/DependencyHint.d.ts +15 -0
  22. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts +2 -2
  23. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts +2 -2
  24. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts +2 -2
  25. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts +2 -2
  26. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts +2 -2
  27. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts +2 -2
  28. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts +2 -2
  29. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts +2 -2
  30. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts +2 -2
  31. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts +2 -2
  32. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts +2 -2
  33. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts +2 -2
  34. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts +2 -2
  35. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts +2 -2
  36. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts +2 -2
  37. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts +2 -2
  38. package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts +2 -2
  39. package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +18 -18
  40. package/dist/renderer/features/TreegeRenderer/web/components/DependencyHint.d.ts +22 -0
  41. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +2 -2
  42. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +2 -2
  43. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +2 -2
  44. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +2 -2
  45. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +2 -2
  46. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +2 -2
  47. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +2 -2
  48. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +2 -2
  49. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +2 -2
  50. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +2 -2
  51. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +2 -2
  52. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +2 -2
  53. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSubmitInput.d.ts +2 -2
  54. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +2 -2
  55. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +2 -2
  56. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +2 -2
  57. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +2 -2
  58. package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +2 -2
  59. package/dist/renderer/hooks/useRenderNode.d.ts +2 -1
  60. package/dist/renderer/types/renderer.d.ts +62 -23
  61. package/dist/renderer/utils/http.d.ts +13 -1
  62. package/dist/renderer/utils/node.d.ts +11 -0
  63. package/dist/renderer/utils/templateDependencies.d.ts +17 -0
  64. package/dist/renderer-native.js +1251 -1216
  65. package/dist/renderer.js +3 -3
  66. package/dist/shared/constants/inputType.d.ts +5 -0
  67. package/dist/shared/locales/ar.json.d.ts +20 -1
  68. package/dist/shared/locales/de.json.d.ts +20 -1
  69. package/dist/shared/locales/en.json.d.ts +20 -1
  70. package/dist/shared/locales/es.json.d.ts +20 -1
  71. package/dist/shared/locales/fr.json.d.ts +20 -1
  72. package/dist/shared/locales/it.json.d.ts +20 -1
  73. package/dist/shared/locales/pt.json.d.ts +20 -1
  74. package/dist/shared/types/node.d.ts +20 -0
  75. package/package.json +1 -1
  76. package/dist/DefaultInputs-BbfholiM.js +0 -1799
  77. package/dist/ThemeContext-C9418UR6.js +0 -1354
  78. package/dist/editor-DgUCBTZ0.js +0 -5831
package/dist/renderer.js CHANGED
@@ -1,3 +1,3 @@
1
- import { A as e, L as t, S as n, a as r, b as i, c as a, d as o, f as s, g as c, h as l, i as u, k as d, l as f, m as p, n as m, o as h, p as g, s as _, t as v, u as y, x as b } from "./ThemeContext-C9418UR6.js";
2
- import { C as x, E as S, S as C, T as w, _ as T, a as E, b as D, d as O, f as k, i as A, l as j, m as M, n as N, p as P, r as F, s as I, t as L, u as R, v as z, w as B, x as V, y as H } from "./DefaultInputs-BbfholiM.js";
3
- export { S as DefaultAddressInput, w as DefaultAutocompleteInput, B as DefaultCheckboxInput, x as DefaultDateInput, C as DefaultDateRangeInput, V as DefaultFileInput, D as DefaultHiddenInput, H as DefaultHttpInput, z as DefaultNumberInput, T as DefaultPasswordInput, M as DefaultRadioInput, P as DefaultSelectInput, I as DefaultSwitchInput, E as DefaultTextAreaInput, A as DefaultTextInput, F as DefaultTimeInput, N as DefaultTimeRangeInput, R as Divider, v as ThemeProvider, O as Title, y as TreegeConfigProvider, j as TreegeRenderer, s as applyReferenceTransformation, g as calculateReferenceFieldUpdates, p as checkFormFieldHasValue, l as convertFormValuesToNamedFormat, L as defaultInputRenderers, k as defaultUI, a as evaluateCondition, f as evaluateConditions, i as fileToSerializable, b as filesToSerializable, r as findStartNode, h as getFlowRenderState, t as getTranslatedText, c as isFieldEmpty, _ as isStartNode, d as sanitize, e as sanitizeHttpResponse, n as serializableToFile, m as useTheme, o as useTreegeConfig, u as useTreegeRenderer };
1
+ import { A as e, R as t, a as n, b as r, c as i, d as a, f as o, g as s, h as c, i as l, k as u, l as d, m as f, n as p, o as m, p as h, s as g, t as _, u as v, x as y, y as b } from "./ThemeContext-BhIeqgqN.js";
2
+ import { C as x, E as S, S as C, T as w, _ as T, a as E, b as D, d as O, f as k, i as A, l as j, m as M, n as N, p as P, r as F, s as I, t as L, u as R, v as z, w as B, x as V, y as H } from "./DefaultInputs-CoJrOYMe.js";
3
+ export { S as DefaultAddressInput, w as DefaultAutocompleteInput, B as DefaultCheckboxInput, x as DefaultDateInput, C as DefaultDateRangeInput, V as DefaultFileInput, D as DefaultHiddenInput, H as DefaultHttpInput, z as DefaultNumberInput, T as DefaultPasswordInput, M as DefaultRadioInput, P as DefaultSelectInput, I as DefaultSwitchInput, E as DefaultTextAreaInput, A as DefaultTextInput, F as DefaultTimeInput, N as DefaultTimeRangeInput, R as Divider, _ as ThemeProvider, O as Title, v as TreegeConfigProvider, j as TreegeRenderer, o as applyReferenceTransformation, h as calculateReferenceFieldUpdates, f as checkFormFieldHasValue, c as convertFormValuesToNamedFormat, L as defaultInputRenderers, k as defaultUI, i as evaluateCondition, d as evaluateConditions, b as fileToSerializable, r as filesToSerializable, n as findStartNode, m as getFlowRenderState, t as getTranslatedText, s as isFieldEmpty, g as isStartNode, u as sanitize, e as sanitizeHttpResponse, y as serializableToFile, p as useTheme, a as useTreegeConfig, l as useTreegeRenderer };
@@ -18,3 +18,8 @@ export declare const INPUT_TYPE: {
18
18
  readonly time: "time";
19
19
  readonly timerange: "timerange";
20
20
  };
21
+ /**
22
+ * Input types that carry a static option list (`data.options`) or can use a
23
+ * remote `data.optionsSource`. Anything else is treated as a free-form input.
24
+ */
25
+ export declare const OPTIONS_INPUT_TYPES: readonly string[];
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "تم استيراد التدفق بنجاح.",
29
29
  "invalidJson": "ملف JSON غير صالح.",
30
30
  "invalidJsonDesc": "يجب أن يحتوي الملف على مصفوفات من العقد والحواف.",
31
+ "language": "اللغة",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "خطأ في تحليل ملف JSON.",
33
- "parseErrorDesc": "حاول إصلاح الملف واستيراده مرة أخرى."
34
+ "parseErrorDesc": "حاول إصلاح الملف واستيراده مرة أخرى.",
35
+ "sensitiveHeadersStripped": "تمت إزالة الترويسات الحساسة",
36
+ "sensitiveHeadersStrippedDesc": "تمت إزالة ترويسات بيانات الاعتماد لتجنّب تسريب الأسرار."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "الذكاء الاصطناعي غير مُهيأ",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "إضافة رأس",
136
+ "addQueryParam": "إضافة معامل",
133
137
  "apiUrl": "رابط API",
134
138
  "apiUrlDesc": "استخدم متغيرات القالب مثل {{fieldId}} للإشارة إلى الحقول الأخرى",
135
139
  "apiUrlPlaceholder": "https://api.example.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "لا توجد حقول متاحة",
157
+ "queryParamName": "اسم المعامل",
158
+ "queryParams": "معاملات الاستعلام",
159
+ "queryParamValue": "قيمة المعامل",
153
160
  "requestBody": "جسم الطلب (JSON)",
154
161
  "requestBodyDesc": "استخدم {{fieldId}} للإشارة إلى حقول أخرى. تأكد من تنسيق JSON الصحيح بما في ذلك علامات الاقتباس حول القيم النصية.",
155
162
  "requestBodyPlaceholder": "{\"name\": \"{{userName}}\", \"age\": {{userAge}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "لا تزال الطلبية تحتوي على متغيّرات غير مُحَلّة. استبدلها بقيمة مثال ثابتة للاكتشاف ثم أعدها.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "تستخدم هذه الطلبية متغيّرات ديناميكية ({vars}) ليست لها قيمة في المحرّر. يستدعي زر «اكتشاف الحقول» واجهة الـAPI كما هي، لذا قد يفشل. استبدلها مؤقتًا بقيمة مثال ثابتة لاكتشاف الاستجابة، ثم أعد المتغيّرات.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "عنصر تصميم"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "تجنّب وضع بيانات الاعتماد (Authorization، مفاتيح API) في ترويسات الحقل، فهي تُحفظ في الشجرة المُصدَّرة. استخدم الترويسات العامة (تفويض) للمصادقة بدلاً من ذلك."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "إضافة عنصر",
316
328
  "createBranch": "إنشاء فرع",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "إضافة رأس",
337
+ "addQueryParam": "إضافة معامل",
325
338
  "apiUrl": "رابط API",
326
339
  "apiUrlDesc": "استخدم {{fieldId}} للإشارة إلى حقول أخرى",
327
340
  "apiUrlPlaceholder": "https://api.example.com/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "لا توجد حقول متاحة",
342
355
  "postSubmission": "بعد الإرسال",
356
+ "queryParamName": "اسم المعامل",
357
+ "queryParams": "معاملات الاستعلام",
358
+ "queryParamValue": "قيمة المعامل",
343
359
  "redirectUrl": "رابط إعادة التوجيه",
344
360
  "redirectUrlDesc": "الرابط الذي سيتم التوجيه إليه بعد نجاح الإرسال",
345
361
  "redirectUrlPlaceholder": "/success أو https://example.com/thank-you",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "حقول مطلوبة مفقودة:",
418
434
  "submit": "إرسال"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "يرجى ملء الحقول التالية أولاً:"
438
+ },
420
439
  "step": {
421
440
  "back": "رجوع",
422
441
  "continue": "متابعة"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "Der Ablauf wurde erfolgreich importiert.",
29
29
  "invalidJson": "Ungültige JSON-Datei.",
30
30
  "invalidJsonDesc": "Die Datei muss Knoten- und Kanten-Arrays enthalten.",
31
+ "language": "Sprache",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Fehler beim Parsen der JSON-Datei.",
33
- "parseErrorDesc": "Versuchen Sie, die Datei zu korrigieren und erneut zu importieren."
34
+ "parseErrorDesc": "Versuchen Sie, die Datei zu korrigieren und erneut zu importieren.",
35
+ "sensitiveHeadersStripped": "Sensible Header entfernt",
36
+ "sensitiveHeadersStrippedDesc": "Anmelde-Header wurden entfernt, um das Offenlegen von Geheimnissen zu vermeiden."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "KI nicht konfiguriert",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Header hinzufügen",
136
+ "addQueryParam": "Parameter hinzufügen",
133
137
  "apiUrl": "API-URL",
134
138
  "apiUrlDesc": "Verwenden Sie Vorlagenvariablen wie {{fieldId}}, um andere Felder zu referenzieren",
135
139
  "apiUrlPlaceholder": "https://api.beispiel.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "Keine Felder verfügbar",
157
+ "queryParamName": "Parametername",
158
+ "queryParams": "Query-Parameter",
159
+ "queryParamValue": "Parameterwert",
153
160
  "requestBody": "Anfrage-Body (JSON)",
154
161
  "requestBodyDesc": "Verwenden Sie {{fieldId}}, um andere Felder zu referenzieren. Stellen Sie sicher, dass die JSON-Formatierung korrekt ist, einschließlich Anführungszeichen um Zeichenkettenwerte.",
155
162
  "requestBodyPlaceholder": "{\"name\": \"{{benutzername}}\", \"alter\": {{benutzeralter}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "Die Anfrage enthält noch nicht aufgelöste Variablen. Ersetzen Sie sie durch einen statischen Beispielwert, um sie zu erkennen, und stellen Sie sie dann wieder her.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "Diese Anfrage verwendet dynamische Variablen ({vars}), die im Editor keinen Wert haben. „Felder erkennen“ ruft die API unverändert auf und kann daher fehlschlagen. Ersetzen Sie sie vorübergehend durch einen statischen Beispielwert, um die Antwort zu erkennen, und stellen Sie die Variablen anschließend wieder her.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Designelement"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Speichern Sie keine Anmeldedaten (Authorization, API-Schlüssel) in Feld-Headern – sie werden im exportierten Baum gespeichert. Verwenden Sie stattdessen globale Header (Autorisieren) zur Authentifizierung."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Element hinzufügen",
316
328
  "createBranch": "Verzweigung erstellen",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Header hinzufügen",
337
+ "addQueryParam": "Parameter hinzufügen",
325
338
  "apiUrl": "API-URL",
326
339
  "apiUrlDesc": "Verwenden Sie {{fieldId}}, um andere Felder zu referenzieren",
327
340
  "apiUrlPlaceholder": "https://api.beispiel.de/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "Keine Felder verfügbar",
342
355
  "postSubmission": "Nach dem Absenden",
356
+ "queryParamName": "Parametername",
357
+ "queryParams": "Query-Parameter",
358
+ "queryParamValue": "Parameterwert",
343
359
  "redirectUrl": "Weiterleitungs-URL",
344
360
  "redirectUrlDesc": "URL, zu der nach erfolgreicher Übermittlung weitergeleitet wird",
345
361
  "redirectUrlPlaceholder": "/success oder https://beispiel.de/danke",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Erforderliche Felder fehlen",
418
434
  "submit": "Senden"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Bitte füllen Sie zuerst die folgenden Felder aus:"
438
+ },
420
439
  "step": {
421
440
  "back": "Zurück",
422
441
  "continue": "Weiter"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "The flow has been imported successfully.",
29
29
  "invalidJson": "Invalid JSON file.",
30
30
  "invalidJsonDesc": "The file must contain nodes and edges arrays.",
31
+ "language": "Language",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Error parsing JSON file.",
33
- "parseErrorDesc": "Try to fix the file and import it again."
34
+ "parseErrorDesc": "Try to fix the file and import it again.",
35
+ "sensitiveHeadersStripped": "Sensitive headers removed",
36
+ "sensitiveHeadersStrippedDesc": "Credential headers were stripped to avoid leaking secrets."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "AI not configured",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Add header",
136
+ "addQueryParam": "Add parameter",
133
137
  "apiUrl": "API URL",
134
138
  "apiUrlDesc": "Use template variables like {{fieldId}} to reference form fields",
135
139
  "apiUrlPlaceholder": "https://api.example.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "No fields available",
157
+ "queryParamName": "Parameter name",
158
+ "queryParams": "Query parameters",
159
+ "queryParamValue": "Parameter value",
153
160
  "requestBody": "Request Body (JSON)",
154
161
  "requestBodyDesc": "Use {{fieldId}} to reference form fields. Ensure proper JSON formatting including quotes around string values.",
155
162
  "requestBodyPlaceholder": "{\"name\": \"{{userName}}\", \"age\": {{userAge}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "The request still contains unresolved variables. Replace them with a static example value to detect, then restore them.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "This request uses dynamic variables ({vars}) that have no value in the editor. \"Detect fields\" calls the API as-is, so it may fail. Temporarily replace them with a static example value to detect the response, then restore the variables.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Design Element"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Avoid storing credentials (Authorization, API keys) in field headers — they are saved into the exported tree. Use global headers (Authorize) for authentication instead."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Add an element",
316
328
  "createBranch": "Create a branch",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Add header",
337
+ "addQueryParam": "Add parameter",
325
338
  "apiUrl": "API URL",
326
339
  "apiUrlDesc": "Use {{fieldId}} to reference form fields",
327
340
  "apiUrlPlaceholder": "https://api.example.com/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "No fields available",
342
355
  "postSubmission": "Post Submission",
356
+ "queryParamName": "Parameter name",
357
+ "queryParams": "Query parameters",
358
+ "queryParamValue": "Parameter value",
343
359
  "redirectUrl": "Redirect URL",
344
360
  "redirectUrlDesc": "URL to redirect to after successful submission",
345
361
  "redirectUrlPlaceholder": "/success or https://example.com/thank-you",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Required fields missing",
418
434
  "submit": "Submit"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Please fill in the following fields first:"
438
+ },
420
439
  "step": {
421
440
  "back": "Back",
422
441
  "continue": "Continue"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "El flujo se ha importado correctamente.",
29
29
  "invalidJson": "Archivo JSON inválido.",
30
30
  "invalidJsonDesc": "El archivo debe contener matrices de nodos y aristas.",
31
+ "language": "Idioma",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Error al analizar el archivo JSON.",
33
- "parseErrorDesc": "Intenta corregir el archivo e importarlo nuevamente."
34
+ "parseErrorDesc": "Intenta corregir el archivo e importarlo nuevamente.",
35
+ "sensitiveHeadersStripped": "Encabezados sensibles eliminados",
36
+ "sensitiveHeadersStrippedDesc": "Se eliminaron los encabezados de credenciales para evitar filtrar secretos."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "IA no configurada",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Agregar encabezado",
136
+ "addQueryParam": "Agregar parámetro",
133
137
  "apiUrl": "URL de la API",
134
138
  "apiUrlDesc": "Use variables de plantilla como {{fieldId}} para referenciar otros campos",
135
139
  "apiUrlPlaceholder": "https://api.ejemplo.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "No hay campos disponibles",
157
+ "queryParamName": "Nombre del parámetro",
158
+ "queryParams": "Parámetros de consulta",
159
+ "queryParamValue": "Valor del parámetro",
153
160
  "requestBody": "Cuerpo de la solicitud (JSON)",
154
161
  "requestBodyDesc": "Use {{fieldId}} para referenciar otros campos. Asegúrese de un formato JSON adecuado, incluyendo comillas alrededor de los valores de cadena.",
155
162
  "requestBodyPlaceholder": "{\"nombre\": \"{{nombreUsuario}}\", \"edad\": {{edadUsuario}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "La solicitud aún contiene variables sin resolver. Reemplázalas por un valor de ejemplo estático para detectar y luego restáuralas.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "Esta solicitud usa variables dinámicas ({vars}) que no tienen valor en el editor. «Detectar campos» llama a la API tal cual, por lo que puede fallar. Reemplázalas temporalmente por un valor de ejemplo estático para detectar la respuesta y luego restaura las variables.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Elemento de diseño"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Evite almacenar credenciales (Authorization, claves de API) en los encabezados del campo: se guardan en el árbol exportado. Use encabezados globales (Autorizar) para la autenticación."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Añadir un elemento",
316
328
  "createBranch": "Crear una rama",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Agregar encabezado",
337
+ "addQueryParam": "Agregar parámetro",
325
338
  "apiUrl": "URL de la API",
326
339
  "apiUrlDesc": "Use {{fieldId}} para referenciar otros campos",
327
340
  "apiUrlPlaceholder": "https://api.ejemplo.com/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "No hay campos disponibles",
342
355
  "postSubmission": "Después del envío",
356
+ "queryParamName": "Nombre del parámetro",
357
+ "queryParams": "Parámetros de consulta",
358
+ "queryParamValue": "Valor del parámetro",
343
359
  "redirectUrl": "URL de redirección",
344
360
  "redirectUrlDesc": "URL a la que redirigir después de un envío exitoso",
345
361
  "redirectUrlPlaceholder": "/success o https://ejemplo.com/gracias",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Faltan campos obligatorios",
418
434
  "submit": "Enviar"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Complete primero los siguientes campos:"
438
+ },
420
439
  "step": {
421
440
  "back": "Atrás",
422
441
  "continue": "Continuar"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "Le flux a été importé avec succès.",
29
29
  "invalidJson": "Fichier JSON invalide.",
30
30
  "invalidJsonDesc": "Le fichier doit contenir des tableaux de nœuds et d'arêtes.",
31
+ "language": "Langue",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Erreur d'analyse du fichier JSON.",
33
- "parseErrorDesc": "Essayez de corriger le fichier et de l'importer à nouveau."
34
+ "parseErrorDesc": "Essayez de corriger le fichier et de l'importer à nouveau.",
35
+ "sensitiveHeadersStripped": "En-têtes sensibles supprimés",
36
+ "sensitiveHeadersStrippedDesc": "Les en-têtes d'identification ont été retirés pour éviter toute fuite de secrets."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "IA non configurée",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Ajouter un en-tête",
136
+ "addQueryParam": "Ajouter un paramètre",
133
137
  "apiUrl": "URL de l'API",
134
138
  "apiUrlDesc": "Utilisez des variables de modèle comme {{fieldId}} pour référencer d'autres champs",
135
139
  "apiUrlPlaceholder": "https://api.exemple.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "Aucun champ disponible",
157
+ "queryParamName": "Nom du paramètre",
158
+ "queryParams": "Paramètres de requête",
159
+ "queryParamValue": "Valeur du paramètre",
153
160
  "requestBody": "Corps de la requête (JSON)",
154
161
  "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.",
155
162
  "requestBodyPlaceholder": "{\"nom\": \"{{nomUtilisateur}}\", \"age\": {{ageUtilisateur}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Chemin vers la description (optionnel)",
265
272
  "detect": "Détecter les champs",
273
+ "detectDynamicHint": "La requête contient encore des variables non résolues. Remplacez-les par une valeur d'exemple statique pour détecter, puis rétablissez-les.",
266
274
  "detectFailed": "Échec de la requête.",
267
275
  "detectSuccess": "Champs détectés.",
268
276
  "disable": "Utiliser des options statiques",
269
277
  "dynamicHint": "Les options sont récupérées depuis cette API au runtime.",
278
+ "dynamicVarsWarning": "Cette requête utilise des variables dynamiques ({vars}) qui n'ont pas de valeur dans l'éditeur. « Détecter les champs » appelle l'API telle quelle et peut donc échouer. Remplacez-les temporairement par une valeur d'exemple statique pour détecter la réponse, puis rétablissez les variables.",
270
279
  "enable": "Récupérer depuis une API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Chemin vers l'URL de l'image (optionnel)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Élément de design"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Évitez de mettre des identifiants (Authorization, clés d'API) dans les en-têtes du champ : ils sont enregistrés dans l'arbre exporté. Utilisez plutôt les en-têtes globaux (Autoriser) pour l'authentification."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Ajouter un élément",
316
328
  "createBranch": "Créer une branche",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Ajouter un en-tête",
337
+ "addQueryParam": "Ajouter un paramètre",
325
338
  "apiUrl": "URL de l'API",
326
339
  "apiUrlDesc": "Utilisez {{fieldId}} pour référencer d'autres champs",
327
340
  "apiUrlPlaceholder": "https://api.exemple.com/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "Aucun champ disponible",
342
355
  "postSubmission": "Après soumission",
356
+ "queryParamName": "Nom du paramètre",
357
+ "queryParams": "Paramètres de requête",
358
+ "queryParamValue": "Valeur du paramètre",
343
359
  "redirectUrl": "URL de redirection",
344
360
  "redirectUrlDesc": "URL vers laquelle rediriger après une soumission réussie",
345
361
  "redirectUrlPlaceholder": "/success ou https://exemple.com/merci",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Champs requis manquants",
418
434
  "submit": "Envoyer"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Veuillez d'abord remplir les champs suivants :"
438
+ },
420
439
  "step": {
421
440
  "back": "Retour",
422
441
  "continue": "Continuer"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "Il flusso è stato importato con successo.",
29
29
  "invalidJson": "File JSON non valido.",
30
30
  "invalidJsonDesc": "Il file deve contenere array di nodi e archi.",
31
+ "language": "Lingua",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Errore nell'analisi del file JSON.",
33
- "parseErrorDesc": "Prova a correggere il file e importarlo di nuovo."
34
+ "parseErrorDesc": "Prova a correggere il file e importarlo di nuovo.",
35
+ "sensitiveHeadersStripped": "Header sensibili rimossi",
36
+ "sensitiveHeadersStrippedDesc": "Gli header con credenziali sono stati rimossi per evitare di esporre segreti."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "IA non configurata",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Aggiungi intestazione",
136
+ "addQueryParam": "Aggiungi parametro",
133
137
  "apiUrl": "URL API",
134
138
  "apiUrlDesc": "Usa variabili template come {{fieldId}} per riferire altri campi",
135
139
  "apiUrlPlaceholder": "https://api.esempio.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "Nessun campo disponibile",
157
+ "queryParamName": "Nome parametro",
158
+ "queryParams": "Parametri di query",
159
+ "queryParamValue": "Valore parametro",
153
160
  "requestBody": "Corpo della richiesta (JSON)",
154
161
  "requestBodyDesc": "Usa {{fieldId}} per riferire altri campi. Assicurati che la formattazione JSON sia corretta, comprese le virgolette attorno ai valori stringa.",
155
162
  "requestBodyPlaceholder": "{\"nome\": \"{{nomeUtente}}\", \"eta\": {{etaUtente}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "La richiesta contiene ancora variabili non risolte. Sostituiscile con un valore di esempio statico per rilevare, poi ripristinale.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "Questa richiesta usa variabili dinamiche ({vars}) che non hanno valore nell'editor. «Rileva campi» chiama l'API così com'è, quindi può fallire. Sostituiscile temporaneamente con un valore di esempio statico per rilevare la risposta, poi ripristina le variabili.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Elemento di design"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Evita di inserire credenziali (Authorization, chiavi API) negli header del campo: vengono salvate nell'albero esportato. Usa invece gli header globali (Autorizza) per l'autenticazione."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Aggiungi un elemento",
316
328
  "createBranch": "Crea un ramo",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Aggiungi intestazione",
337
+ "addQueryParam": "Aggiungi parametro",
325
338
  "apiUrl": "URL dell'API",
326
339
  "apiUrlDesc": "Usa {{fieldId}} per riferire altri campi",
327
340
  "apiUrlPlaceholder": "https://api.esempio.it/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "Nessun campo disponibile",
342
355
  "postSubmission": "Dopo l'invio",
356
+ "queryParamName": "Nome parametro",
357
+ "queryParams": "Parametri di query",
358
+ "queryParamValue": "Valore parametro",
343
359
  "redirectUrl": "URL di reindirizzamento",
344
360
  "redirectUrlDesc": "URL a cui reindirizzare dopo un invio riuscito",
345
361
  "redirectUrlPlaceholder": "/success o https://esempio.it/grazie",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Campi obbligatori mancanti",
418
434
  "submit": "Invia"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Compila prima i seguenti campi:"
438
+ },
420
439
  "step": {
421
440
  "back": "Indietro",
422
441
  "continue": "Continua"
@@ -28,9 +28,12 @@ declare const _default: {
28
28
  "importSuccessDesc": "O fluxo foi importado com sucesso.",
29
29
  "invalidJson": "Arquivo JSON inválido.",
30
30
  "invalidJsonDesc": "O arquivo deve conter arrays de nós e arestas.",
31
+ "language": "Idioma",
31
32
  "openApi": "OpenAPI",
32
33
  "parseError": "Erro ao analisar o arquivo JSON.",
33
- "parseErrorDesc": "Tente corrigir o arquivo e importá-lo novamente."
34
+ "parseErrorDesc": "Tente corrigir o arquivo e importá-lo novamente.",
35
+ "sensitiveHeadersStripped": "Cabeçalhos sensíveis removidos",
36
+ "sensitiveHeadersStrippedDesc": "Os cabeçalhos de credenciais foram removidos para evitar o vazamento de segredos."
34
37
  },
35
38
  "aiGenerator": {
36
39
  "aiNotConfigured": "IA não configurada",
@@ -130,6 +133,7 @@ declare const _default: {
130
133
  },
131
134
  "httpConfigForm": {
132
135
  "addHeader": "Adicionar cabeçalho",
136
+ "addQueryParam": "Adicionar parâmetro",
133
137
  "apiUrl": "URL da API",
134
138
  "apiUrlDesc": "Use variáveis de modelo como {{fieldId}} para referenciar outros campos",
135
139
  "apiUrlPlaceholder": "https://api.exemplo.com/data",
@@ -150,6 +154,9 @@ declare const _default: {
150
154
  "methodPost": "POST",
151
155
  "methodPut": "PUT",
152
156
  "noFieldsAvailable": "Nenhum campo disponível",
157
+ "queryParamName": "Nome do parâmetro",
158
+ "queryParams": "Parâmetros de consulta",
159
+ "queryParamValue": "Valor do parâmetro",
153
160
  "requestBody": "Corpo da requisição (JSON)",
154
161
  "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.",
155
162
  "requestBodyPlaceholder": "{\"nome\": \"{{nomeUsuario}}\", \"idade\": {{idadeUsuario}}}",
@@ -263,10 +270,12 @@ declare const _default: {
263
270
  "descriptionField": "Description",
264
271
  "descriptionFieldPlaceholder": "Path to description (optional)",
265
272
  "detect": "Detect fields",
273
+ "detectDynamicHint": "A requisição ainda contém variáveis não resolvidas. Substitua-as por um valor de exemplo estático para detectar e depois restaure-as.",
266
274
  "detectFailed": "Failed to fetch the API.",
267
275
  "detectSuccess": "Fields detected.",
268
276
  "disable": "Use static options",
269
277
  "dynamicHint": "Options are fetched from this API at runtime.",
278
+ "dynamicVarsWarning": "Esta requisição usa variáveis dinâmicas ({vars}) que não têm valor no editor. «Detectar campos» chama a API como está, portanto pode falhar. Substitua-as temporariamente por um valor de exemplo estático para detectar a resposta e depois restaure as variáveis.",
270
279
  "enable": "Fetch from API",
271
280
  "imageField": "Image",
272
281
  "imageFieldPlaceholder": "Path to image URL (optional)",
@@ -311,6 +320,9 @@ declare const _default: {
311
320
  "ui": "Elemento de design"
312
321
  }
313
322
  },
323
+ "sensitiveHeaderWarning": {
324
+ "message": "Evite armazenar credenciais (Authorization, chaves de API) nos cabeçalhos do campo: elas são salvas na árvore exportada. Use cabeçalhos globais (Autorizar) para autenticação."
325
+ },
314
326
  "stackedEdge": {
315
327
  "addNode": "Adicionar um elemento",
316
328
  "createBranch": "Criar uma ramificação",
@@ -322,6 +334,7 @@ declare const _default: {
322
334
  },
323
335
  "submitConfigForm": {
324
336
  "addHeader": "Adicionar cabeçalho",
337
+ "addQueryParam": "Adicionar parâmetro",
325
338
  "apiUrl": "URL da API",
326
339
  "apiUrlDesc": "Use {{fieldId}} para referenciar outros campos",
327
340
  "apiUrlPlaceholder": "https://api.exemplo.com/submit",
@@ -340,6 +353,9 @@ declare const _default: {
340
353
  "methodPut": "PUT",
341
354
  "noFieldsAvailable": "Nenhum campo disponível",
342
355
  "postSubmission": "Após o envio",
356
+ "queryParamName": "Nome do parâmetro",
357
+ "queryParams": "Parâmetros de consulta",
358
+ "queryParamValue": "Valor do parâmetro",
343
359
  "redirectUrl": "URL de redirecionamento",
344
360
  "redirectUrlDesc": "URL para redirecionar após envio bem-sucedido",
345
361
  "redirectUrlPlaceholder": "/success ou https://exemplo.com/obrigado",
@@ -417,6 +433,9 @@ declare const _default: {
417
433
  "requiredFieldsMissing": "Campos obrigatórios ausentes",
418
434
  "submit": "Enviar"
419
435
  },
436
+ "dependencyHint": {
437
+ "title": "Preencha primeiro os seguintes campos:"
438
+ },
420
439
  "step": {
421
440
  "back": "Voltar",
422
441
  "continue": "Continuar"
@@ -54,6 +54,16 @@ export type HttpHeader = {
54
54
  */
55
55
  value: string;
56
56
  };
57
+ export type QueryParam = {
58
+ /**
59
+ * The query parameter key (e.g., "limit", "page", "sort")
60
+ */
61
+ key: string;
62
+ /**
63
+ * The query parameter value (supports template variables like {{fieldId}})
64
+ */
65
+ value: string;
66
+ };
57
67
  export type HttpConfig = {
58
68
  /**
59
69
  * The HTTP method to use
@@ -67,6 +77,10 @@ export type HttpConfig = {
67
77
  * Custom headers for the HTTP request
68
78
  */
69
79
  headers?: HttpHeader[];
80
+ /**
81
+ * Query parameters appended to the URL (supports template variables like {{fieldId}})
82
+ */
83
+ queryParams?: QueryParam[];
70
84
  /**
71
85
  * Request body (for POST/PUT/PATCH methods)
72
86
  */
@@ -133,6 +147,8 @@ export type OptionsSource = {
133
147
  method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
134
148
  /** Custom headers (merged with global headers; field-level wins) */
135
149
  headers?: HttpHeader[];
150
+ /** Query parameters appended to the URL (supports template variables like {{fieldId}}) */
151
+ queryParams?: QueryParam[];
136
152
  /** Request body (for POST/PUT/PATCH; supports template variables) */
137
153
  body?: string;
138
154
  /** JSONPath to extract the array from the response (e.g., "data.users") */
@@ -153,6 +169,10 @@ export type SubmitConfig = {
153
169
  * Custom headers for the HTTP request
154
170
  */
155
171
  headers?: HttpHeader[];
172
+ /**
173
+ * Query parameters appended to the URL (supports template variables like {{fieldId}})
174
+ */
175
+ queryParams?: QueryParam[];
156
176
  /**
157
177
  * Request body (for POST/PUT/PATCH methods, supports template variables like {{fieldId}})
158
178
  * Strings are automatically quoted, use: {"name": {{userName}}}