@datatechsolutions/ui 3.13.0 → 3.14.0

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 (135) hide show
  1. package/dist/astrlabe/graph-node.js +6 -6
  2. package/dist/astrlabe/graph-node.mjs +2 -2
  3. package/dist/astrlabe/index.js +114 -114
  4. package/dist/astrlabe/index.mjs +6 -6
  5. package/dist/astrlabe/workflow-canvas.js +6 -6
  6. package/dist/astrlabe/workflow-canvas.mjs +5 -5
  7. package/dist/{chunk-AMCFAGK3.js → chunk-2II2NLAZ.js} +42 -41
  8. package/dist/chunk-2II2NLAZ.js.map +1 -0
  9. package/dist/{chunk-WR55H7DH.mjs → chunk-2SBVFLPZ.mjs} +19 -2
  10. package/dist/chunk-2SBVFLPZ.mjs.map +1 -0
  11. package/dist/{chunk-UXHJS2SH.mjs → chunk-33ZWFDVG.mjs} +282 -331
  12. package/dist/chunk-33ZWFDVG.mjs.map +1 -0
  13. package/dist/{chunk-2ECLDHAT.js → chunk-4HZ55YKZ.js} +9 -9
  14. package/dist/{chunk-2ECLDHAT.js.map → chunk-4HZ55YKZ.js.map} +1 -1
  15. package/dist/{chunk-VI4IUTMX.js → chunk-4P72IJOM.js} +6 -6
  16. package/dist/{chunk-VI4IUTMX.js.map → chunk-4P72IJOM.js.map} +1 -1
  17. package/dist/{chunk-D5OTZGA2.js → chunk-5SCZB5UI.js} +382 -431
  18. package/dist/chunk-5SCZB5UI.js.map +1 -0
  19. package/dist/{chunk-4VHFGW7I.mjs → chunk-5YCH7FHT.mjs} +3 -3
  20. package/dist/{chunk-4VHFGW7I.mjs.map → chunk-5YCH7FHT.mjs.map} +1 -1
  21. package/dist/{chunk-P4RVGMZL.js → chunk-6NBQTIXX.js} +9 -37
  22. package/dist/chunk-6NBQTIXX.js.map +1 -0
  23. package/dist/{chunk-EZQ2D47U.js → chunk-6NEESZVO.js} +4 -4
  24. package/dist/{chunk-EZQ2D47U.js.map → chunk-6NEESZVO.js.map} +1 -1
  25. package/dist/{chunk-N4YT3QA5.js → chunk-72XZ7DSF.js} +13 -13
  26. package/dist/{chunk-N4YT3QA5.js.map → chunk-72XZ7DSF.js.map} +1 -1
  27. package/dist/{chunk-QGRTV35L.mjs → chunk-7NHJSD4A.mjs} +6 -6
  28. package/dist/{chunk-QGRTV35L.mjs.map → chunk-7NHJSD4A.mjs.map} +1 -1
  29. package/dist/{chunk-PPIUMCUZ.js → chunk-7SDB2VC2.js} +4 -4
  30. package/dist/{chunk-PPIUMCUZ.js.map → chunk-7SDB2VC2.js.map} +1 -1
  31. package/dist/{chunk-QGLGQXJE.js → chunk-A5OMGPMR.js} +10 -10
  32. package/dist/chunk-A5OMGPMR.js.map +1 -0
  33. package/dist/{chunk-K5567JM5.js → chunk-AUCS2KF4.js} +26 -26
  34. package/dist/{chunk-K5567JM5.js.map → chunk-AUCS2KF4.js.map} +1 -1
  35. package/dist/{chunk-MSKKNPRE.mjs → chunk-F4KHAKTP.mjs} +172 -116
  36. package/dist/chunk-F4KHAKTP.mjs.map +1 -0
  37. package/dist/{chunk-SDYKXLCU.js → chunk-FHGWXWVZ.js} +67 -67
  38. package/dist/{chunk-SDYKXLCU.js.map → chunk-FHGWXWVZ.js.map} +1 -1
  39. package/dist/{chunk-5ETT54QS.js → chunk-FZUV7GNB.js} +241 -184
  40. package/dist/chunk-FZUV7GNB.js.map +1 -0
  41. package/dist/{chunk-6KDTVSZT.mjs → chunk-HQNIETHV.mjs} +11 -10
  42. package/dist/chunk-HQNIETHV.mjs.map +1 -0
  43. package/dist/{chunk-PLTLRL2V.mjs → chunk-KDDXDQR2.mjs} +3 -3
  44. package/dist/{chunk-PLTLRL2V.mjs.map → chunk-KDDXDQR2.mjs.map} +1 -1
  45. package/dist/{chunk-6YTYD4P5.js → chunk-LJGPMMKB.js} +156 -193
  46. package/dist/chunk-LJGPMMKB.js.map +1 -0
  47. package/dist/{chunk-BHOT22QL.js → chunk-MXQ2EYG2.js} +19 -2
  48. package/dist/chunk-MXQ2EYG2.js.map +1 -0
  49. package/dist/{chunk-ANFSQJNI.mjs → chunk-N6SGVUTR.mjs} +17 -20
  50. package/dist/chunk-N6SGVUTR.mjs.map +1 -0
  51. package/dist/{chunk-IIRS5XZY.js → chunk-NIZSQJRW.js} +33 -33
  52. package/dist/{chunk-IIRS5XZY.js.map → chunk-NIZSQJRW.js.map} +1 -1
  53. package/dist/{chunk-AKWCT53S.mjs → chunk-NXWIT4YQ.mjs} +47 -50
  54. package/dist/chunk-NXWIT4YQ.mjs.map +1 -0
  55. package/dist/{chunk-OC4AOYU5.mjs → chunk-OTQXU4WG.mjs} +83 -120
  56. package/dist/chunk-OTQXU4WG.mjs.map +1 -0
  57. package/dist/{chunk-CSOMZ5UM.mjs → chunk-PO66V2PN.mjs} +9 -9
  58. package/dist/{chunk-CSOMZ5UM.mjs.map → chunk-PO66V2PN.mjs.map} +1 -1
  59. package/dist/{chunk-OY5HUZSD.js → chunk-PXGESUKI.js} +94 -97
  60. package/dist/chunk-PXGESUKI.js.map +1 -0
  61. package/dist/{chunk-7TYNV6SY.mjs → chunk-Q2FUNDCP.mjs} +14 -14
  62. package/dist/{chunk-7TYNV6SY.mjs.map → chunk-Q2FUNDCP.mjs.map} +1 -1
  63. package/dist/{chunk-KWH7JIRP.mjs → chunk-Q5TZTA6H.mjs} +9 -8
  64. package/dist/chunk-Q5TZTA6H.mjs.map +1 -0
  65. package/dist/{chunk-ZRCXDKBE.mjs → chunk-T7DROKWJ.mjs} +4 -4
  66. package/dist/{chunk-ZRCXDKBE.mjs.map → chunk-T7DROKWJ.mjs.map} +1 -1
  67. package/dist/{chunk-3VYD7QL2.mjs → chunk-TQADF23S.mjs} +9 -9
  68. package/dist/chunk-TQADF23S.mjs.map +1 -0
  69. package/dist/{chunk-VIB42VMZ.mjs → chunk-U7VMFQFN.mjs} +5 -5
  70. package/dist/{chunk-VIB42VMZ.mjs.map → chunk-U7VMFQFN.mjs.map} +1 -1
  71. package/dist/{chunk-AHNH2PMI.mjs → chunk-WE35EV7J.mjs} +3 -3
  72. package/dist/{chunk-AHNH2PMI.mjs.map → chunk-WE35EV7J.mjs.map} +1 -1
  73. package/dist/{chunk-UPYACFZJ.mjs → chunk-WTSMTLSP.mjs} +303 -347
  74. package/dist/chunk-WTSMTLSP.mjs.map +1 -0
  75. package/dist/{chunk-WOTKBKS6.js → chunk-YFMMZHL5.js} +47 -50
  76. package/dist/chunk-YFMMZHL5.js.map +1 -0
  77. package/dist/{chunk-DJ33CSGJ.mjs → chunk-ZBX7UCAP.mjs} +9 -37
  78. package/dist/chunk-ZBX7UCAP.mjs.map +1 -0
  79. package/dist/{chunk-NF5DDM5V.js → chunk-ZE6U4N4Q.js} +44 -43
  80. package/dist/chunk-ZE6U4N4Q.js.map +1 -0
  81. package/dist/{chunk-MQDCUBVW.js → chunk-ZIRD3X6G.js} +459 -503
  82. package/dist/chunk-ZIRD3X6G.js.map +1 -0
  83. package/dist/index.d.mts +77 -7
  84. package/dist/index.d.ts +77 -7
  85. package/dist/index.js +708 -704
  86. package/dist/index.mjs +3 -3
  87. package/dist/platform/admin/index.js +12 -12
  88. package/dist/platform/admin/index.mjs +6 -6
  89. package/dist/platform/agents-workspace.js +9 -9
  90. package/dist/platform/agents-workspace.mjs +8 -8
  91. package/dist/platform/app-shell.js +5 -5
  92. package/dist/platform/app-shell.mjs +4 -4
  93. package/dist/platform/auth/index.js +29 -29
  94. package/dist/platform/auth/index.mjs +6 -6
  95. package/dist/platform/billing/index.js +7 -7
  96. package/dist/platform/billing/index.mjs +5 -5
  97. package/dist/platform/impersonation/index.js +5 -5
  98. package/dist/platform/impersonation/index.mjs +4 -4
  99. package/dist/platform/index.js +99 -99
  100. package/dist/platform/index.js.map +1 -1
  101. package/dist/platform/index.mjs +30 -30
  102. package/dist/platform/index.mjs.map +1 -1
  103. package/dist/platform/pages/index.d.mts +115 -3
  104. package/dist/platform/pages/index.d.ts +115 -3
  105. package/dist/platform/pages/index.js +966 -519
  106. package/dist/platform/pages/index.js.map +1 -1
  107. package/dist/platform/pages/index.mjs +562 -121
  108. package/dist/platform/pages/index.mjs.map +1 -1
  109. package/dist/platform/settings/index.js +9 -9
  110. package/dist/platform/settings/index.mjs +8 -8
  111. package/dist/platform/workflow-canvas-shell.js +7 -7
  112. package/dist/platform/workflow-canvas-shell.mjs +6 -6
  113. package/package.json +1 -1
  114. package/dist/chunk-3VYD7QL2.mjs.map +0 -1
  115. package/dist/chunk-5ETT54QS.js.map +0 -1
  116. package/dist/chunk-6KDTVSZT.mjs.map +0 -1
  117. package/dist/chunk-6YTYD4P5.js.map +0 -1
  118. package/dist/chunk-AKWCT53S.mjs.map +0 -1
  119. package/dist/chunk-AMCFAGK3.js.map +0 -1
  120. package/dist/chunk-ANFSQJNI.mjs.map +0 -1
  121. package/dist/chunk-BHOT22QL.js.map +0 -1
  122. package/dist/chunk-D5OTZGA2.js.map +0 -1
  123. package/dist/chunk-DJ33CSGJ.mjs.map +0 -1
  124. package/dist/chunk-KWH7JIRP.mjs.map +0 -1
  125. package/dist/chunk-MQDCUBVW.js.map +0 -1
  126. package/dist/chunk-MSKKNPRE.mjs.map +0 -1
  127. package/dist/chunk-NF5DDM5V.js.map +0 -1
  128. package/dist/chunk-OC4AOYU5.mjs.map +0 -1
  129. package/dist/chunk-OY5HUZSD.js.map +0 -1
  130. package/dist/chunk-P4RVGMZL.js.map +0 -1
  131. package/dist/chunk-QGLGQXJE.js.map +0 -1
  132. package/dist/chunk-UPYACFZJ.mjs.map +0 -1
  133. package/dist/chunk-UXHJS2SH.mjs.map +0 -1
  134. package/dist/chunk-WOTKBKS6.js.map +0 -1
  135. package/dist/chunk-WR55H7DH.mjs.map +0 -1
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk5ETT54QS_js = require('./chunk-5ETT54QS.js');
4
+ var chunkFZUV7GNB_js = require('./chunk-FZUV7GNB.js');
5
5
  var chunkY5VN4SPH_js = require('./chunk-Y5VN4SPH.js');
6
- var chunkEZQ2D47U_js = require('./chunk-EZQ2D47U.js');
7
- var chunkBHOT22QL_js = require('./chunk-BHOT22QL.js');
6
+ var chunk6NEESZVO_js = require('./chunk-6NEESZVO.js');
7
+ var chunkMXQ2EYG2_js = require('./chunk-MXQ2EYG2.js');
8
8
  var chunk72SWXOD5_js = require('./chunk-72SWXOD5.js');
9
9
  var react = require('react');
10
10
  var react$1 = require('@xyflow/react');
@@ -752,7 +752,7 @@ function ConditionalEdgeComponent({
752
752
  transform: `translate(-50%, -50%) translate(${labelX}px,${labelY}px)`
753
753
  },
754
754
  "data-testid": `edge-label-${id}`,
755
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: labelColor, size: "xs", children: label })
755
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: labelColor, size: "xs", children: label })
756
756
  }
757
757
  ),
758
758
  showControls && !showInsertPopup && /* @__PURE__ */ jsxRuntime.jsx(
@@ -896,10 +896,10 @@ var DraggableCommandBar = react.memo(function DraggableCommandBar2({
896
896
  document.addEventListener("keydown", handleKeyDown);
897
897
  return () => document.removeEventListener("keydown", handleKeyDown);
898
898
  }, [showShortcuts, onCloseShortcuts]);
899
- const buttonClassName = "rounded-lg p-1.5 text-gray-600 transition-colors hover:bg-white/40 active:bg-white/60 dark:text-gray-400 dark:hover:bg-white/10 dark:active:bg-white/15";
899
+ const buttonClassName = "rounded-lg p-1.5 text-slate-600 transition-colors hover:bg-white/40 active:bg-white/60 dark:text-slate-400 dark:hover:bg-white/10 dark:active:bg-white/15";
900
900
  const activeButtonClassName = "rounded-lg p-1.5 transition-colors hover:bg-white/40 dark:hover:bg-white/10 text-indigo-600 dark:text-indigo-400";
901
- const inactiveButtonClassName = "rounded-lg p-1.5 transition-colors hover:bg-white/40 dark:hover:bg-white/10 text-gray-400 dark:text-gray-500";
902
- const dividerClassName = "mx-0.5 h-4 w-px bg-gray-400/30 dark:bg-white/10";
901
+ const inactiveButtonClassName = "rounded-lg p-1.5 transition-colors hover:bg-white/40 dark:hover:bg-white/10 text-slate-400 dark:text-slate-500";
902
+ const dividerClassName = "mx-0.5 h-4 w-px bg-slate-400/30 dark:bg-white/10";
903
903
  return /* @__PURE__ */ jsxRuntime.jsx(
904
904
  "div",
905
905
  {
@@ -919,7 +919,7 @@ var DraggableCommandBar = react.memo(function DraggableCommandBar2({
919
919
  {
920
920
  className: `${GLASS_CLASS} flex items-center gap-0.5 rounded-2xl px-2 py-1.5`,
921
921
  children: [
922
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mr-0.5 flex cursor-grab items-center px-0.5 active:cursor-grabbing", children: /* @__PURE__ */ jsxRuntime.jsx(outline.Bars2Icon, { className: "h-3.5 w-3.5 text-gray-400/70 dark:text-gray-500/70" }) }),
922
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mr-0.5 flex cursor-grab items-center px-0.5 active:cursor-grabbing", children: /* @__PURE__ */ jsxRuntime.jsx(outline.Bars2Icon, { className: "h-3.5 w-3.5 text-slate-400/70 dark:text-slate-500/70" }) }),
923
923
  /* @__PURE__ */ jsxRuntime.jsx(
924
924
  "button",
925
925
  {
@@ -1046,7 +1046,7 @@ var DraggableCommandBar = react.memo(function DraggableCommandBar2({
1046
1046
  onClick: (event) => event.stopPropagation(),
1047
1047
  onPointerDown: (event) => event.stopPropagation(),
1048
1048
  children: [
1049
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] font-semibold uppercase tracking-wider text-gray-500 dark:text-gray-400", children: tWorkflow("shortcuts") }),
1049
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] font-semibold uppercase tracking-wider text-slate-500 dark:text-slate-400", children: tWorkflow("shortcuts") }),
1050
1050
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: [
1051
1051
  { keys: "V", label: tWorkflow("pointerMode") },
1052
1052
  { keys: "H", label: tWorkflow("handMode") },
@@ -1068,11 +1068,11 @@ var DraggableCommandBar = react.memo(function DraggableCommandBar2({
1068
1068
  { keys: "G", label: tWorkflow("toggleDots") },
1069
1069
  { keys: "M", label: tWorkflow("toggleMinimap") }
1070
1070
  ].map((shortcut) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1071
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-gray-600 dark:text-gray-300", children: shortcut.label }),
1071
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[11px] text-slate-600 dark:text-slate-300", children: shortcut.label }),
1072
1072
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex items-center gap-0.5", children: shortcut.keys.split(" ").map((key) => /* @__PURE__ */ jsxRuntime.jsx(
1073
1073
  "kbd",
1074
1074
  {
1075
- className: "inline-flex min-w-[20px] items-center justify-center rounded-md bg-white/60 px-1.5 py-0.5 text-[10px] font-medium text-gray-500 shadow-sm ring-1 ring-inset ring-gray-300/40 dark:bg-white/10 dark:text-gray-400 dark:ring-white/10",
1075
+ className: "inline-flex min-w-[20px] items-center justify-center rounded-md bg-white/60 px-1.5 py-0.5 text-[10px] font-medium text-slate-500 shadow-sm ring-1 ring-inset ring-slate-300/40 dark:bg-white/10 dark:text-slate-400 dark:ring-white/10",
1076
1076
  children: key
1077
1077
  },
1078
1078
  key
@@ -1200,24 +1200,24 @@ function getDatasourceLogo(datasourceId, dialect) {
1200
1200
  }
1201
1201
  return null;
1202
1202
  }
1203
- var TYPE_COLORS = {
1204
- string: "bg-gray-500/10 text-gray-500 dark:text-gray-400",
1205
- varchar: "bg-gray-500/10 text-gray-500 dark:text-gray-400",
1206
- text: "bg-gray-500/10 text-gray-500 dark:text-gray-400",
1207
- integer: "bg-blue-500/10 text-blue-600 dark:text-blue-400",
1208
- int: "bg-blue-500/10 text-blue-600 dark:text-blue-400",
1209
- bigint: "bg-blue-500/10 text-blue-600 dark:text-blue-400",
1210
- number: "bg-blue-500/10 text-blue-600 dark:text-blue-400",
1211
- decimal: "bg-indigo-500/10 text-indigo-600 dark:text-indigo-400",
1212
- float: "bg-indigo-500/10 text-indigo-600 dark:text-indigo-400",
1213
- boolean: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400",
1214
- date: "bg-amber-500/10 text-amber-600 dark:text-amber-400",
1215
- timestamp: "bg-amber-500/10 text-amber-600 dark:text-amber-400",
1216
- datetime: "bg-amber-500/10 text-amber-600 dark:text-amber-400",
1217
- json: "bg-violet-500/10 text-violet-600 dark:text-violet-400",
1218
- jsonb: "bg-violet-500/10 text-violet-600 dark:text-violet-400",
1219
- uuid: "bg-teal-500/10 text-teal-600 dark:text-teal-400",
1220
- array: "bg-pink-500/10 text-pink-600 dark:text-pink-400"
1203
+ var TYPE_BADGE_COLORS = {
1204
+ string: "zinc",
1205
+ varchar: "zinc",
1206
+ text: "zinc",
1207
+ integer: "blue",
1208
+ int: "blue",
1209
+ bigint: "blue",
1210
+ number: "blue",
1211
+ decimal: "indigo",
1212
+ float: "indigo",
1213
+ boolean: "emerald",
1214
+ date: "amber",
1215
+ timestamp: "amber",
1216
+ datetime: "amber",
1217
+ json: "violet",
1218
+ jsonb: "violet",
1219
+ uuid: "teal",
1220
+ array: "pink"
1221
1221
  };
1222
1222
  var SIDEBAR_SECTIONS = [
1223
1223
  { id: "connection", label: "Connection", icon: outline.CircleStackIcon },
@@ -1373,7 +1373,7 @@ function DatasourceNodeConfigForm({
1373
1373
  switch (activeSectionId) {
1374
1374
  case "connection":
1375
1375
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1376
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("datasourceHelp") }),
1376
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("datasourceHelp") }),
1377
1377
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-2", children: datasources.map((datasource) => {
1378
1378
  const isSelected = datasource.id === selectedDatasourceId;
1379
1379
  const logo2 = getDatasourceLogo(datasource.id, datasource.dialect);
@@ -1388,12 +1388,12 @@ function DatasourceNodeConfigForm({
1388
1388
  }
1389
1389
  },
1390
1390
  disabled: readOnly && datasource.id !== selectedDatasourceId,
1391
- className: `flex items-center gap-3 rounded-xl border px-3 py-2.5 text-left transition-all ${isSelected ? "border-cyan-500/50 bg-cyan-500/5 ring-1 ring-cyan-500/20 dark:border-cyan-400/40 dark:bg-cyan-400/5" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm dark:border-white/10 dark:bg-white/[0.03] dark:hover:border-white/20"}`,
1391
+ className: `flex items-center gap-3 rounded-xl px-3 py-2.5 text-left transition-all focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${isSelected ? "border border-cyan-500/50 bg-cyan-500/5 ring-1 ring-cyan-500/20 dark:border-cyan-400/40 dark:bg-cyan-400/5" : "liquid-surface hover:shadow-sm"}`,
1392
1392
  children: [
1393
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center", children: logo2 ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logo2, alt: datasource.dialect, className: "h-7 w-7" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ServerStackIcon, { className: "h-6 w-6 text-gray-400" }) }),
1393
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center", children: logo2 ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: logo2, alt: datasource.dialect, className: "h-7 w-7" }) : /* @__PURE__ */ jsxRuntime.jsx(outline.ServerStackIcon, { className: "h-6 w-6 text-slate-400" }) }),
1394
1394
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
1395
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-gray-900 dark:text-white", children: datasource.name }),
1396
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: datasource.dialect })
1395
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-semibold text-slate-900 dark:text-white", children: datasource.name }),
1396
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: datasource.dialect })
1397
1397
  ] }),
1398
1398
  isSelected && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-4 w-4 shrink-0 text-cyan-500 dark:text-cyan-400" })
1399
1399
  ]
@@ -1404,10 +1404,10 @@ function DatasourceNodeConfigForm({
1404
1404
  ] });
1405
1405
  case "table":
1406
1406
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1407
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("tableHelp") }),
1408
- !selectedDatasourceId ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-8 text-center text-xs text-gray-400", children: t("selectDatasource") }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface rounded-xl border border-white/30 dark:border-white/10", children: [
1409
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-gray-200/50 px-3 py-2 dark:border-white/5", children: [
1410
- /* @__PURE__ */ jsxRuntime.jsx(outline.MagnifyingGlassIcon, { className: "h-3.5 w-3.5 text-gray-400" }),
1407
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("tableHelp") }),
1408
+ !selectedDatasourceId ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-8 text-center text-xs text-slate-400", children: t("selectDatasource") }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface rounded-xl border border-white/30 dark:border-white/10", children: [
1409
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-slate-200/50 px-3 py-2 dark:border-white/5", children: [
1410
+ /* @__PURE__ */ jsxRuntime.jsx(outline.MagnifyingGlassIcon, { className: "h-3.5 w-3.5 text-slate-400" }),
1411
1411
  /* @__PURE__ */ jsxRuntime.jsx(
1412
1412
  "input",
1413
1413
  {
@@ -1415,13 +1415,13 @@ function DatasourceNodeConfigForm({
1415
1415
  value: tableSearch,
1416
1416
  onChange: (event) => setTableSearch(event.target.value),
1417
1417
  placeholder: t("selectTable"),
1418
- className: "flex-1 bg-transparent text-xs text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500"
1418
+ className: "flex-1 bg-transparent text-xs text-slate-900 outline-none placeholder:text-slate-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white dark:placeholder:text-slate-500"
1419
1419
  }
1420
1420
  ),
1421
- availableTables.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400", children: availableTables.length })
1421
+ availableTables.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400", children: availableTables.length })
1422
1422
  ] }),
1423
1423
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-64 overflow-y-auto p-1", children: [
1424
- filteredTables.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-6 text-center text-[10px] text-gray-400", children: t("noColumnsAvailable") }),
1424
+ filteredTables.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-6 text-center text-[10px] text-slate-400", children: t("noColumnsAvailable") }),
1425
1425
  filteredTables.map((table) => {
1426
1426
  const isSelected = table === selectedTable;
1427
1427
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1434,9 +1434,9 @@ function DatasourceNodeConfigForm({
1434
1434
  setActiveSectionId("columns");
1435
1435
  }
1436
1436
  },
1437
- className: `flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors ${isSelected ? "bg-cyan-500/10 font-semibold text-cyan-700 dark:text-cyan-300" : "text-gray-700 hover:bg-gray-100/60 dark:text-gray-300 dark:hover:bg-white/5"}`,
1437
+ className: `flex w-full items-center gap-2 rounded-lg px-3 py-2 text-left text-xs transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${isSelected ? "bg-cyan-500/10 font-semibold text-cyan-700 dark:text-cyan-300" : "text-slate-700 hover:bg-slate-100/60 dark:text-slate-300 dark:hover:bg-white/5"}`,
1438
1438
  children: [
1439
- /* @__PURE__ */ jsxRuntime.jsx(outline.TableCellsIcon, { className: "h-3.5 w-3.5 shrink-0 text-gray-400" }),
1439
+ /* @__PURE__ */ jsxRuntime.jsx(outline.TableCellsIcon, { className: "h-3.5 w-3.5 shrink-0 text-slate-400" }),
1440
1440
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: table }),
1441
1441
  isSelected && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "ml-auto h-3.5 w-3.5 shrink-0 text-cyan-500" })
1442
1442
  ]
@@ -1450,7 +1450,7 @@ function DatasourceNodeConfigForm({
1450
1450
  case "columns":
1451
1451
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1452
1452
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1453
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: [
1453
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: [
1454
1454
  selectedColumns.length,
1455
1455
  "/",
1456
1456
  availableColumns.length,
@@ -1462,14 +1462,14 @@ function DatasourceNodeConfigForm({
1462
1462
  type: "button",
1463
1463
  onClick: () => setSelectedColumns(allSelected ? [] : [...allColumnNames]),
1464
1464
  disabled: availableColumns.length === 0,
1465
- className: "text-[10px] font-semibold text-cyan-600 hover:text-cyan-700 disabled:opacity-40 dark:text-cyan-400",
1465
+ className: "text-[10px] font-semibold text-cyan-600 hover:text-cyan-700 disabled:opacity-40 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-cyan-400",
1466
1466
  children: allSelected ? t("deselectAll") : t("selectAll")
1467
1467
  }
1468
1468
  )
1469
1469
  ] }),
1470
- !selectedTable ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-8 text-center text-xs text-gray-400", children: t("selectTable") }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface rounded-xl border border-white/30 dark:border-white/10", children: [
1471
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-gray-200/50 px-3 py-2 dark:border-white/5", children: [
1472
- /* @__PURE__ */ jsxRuntime.jsx(outline.MagnifyingGlassIcon, { className: "h-3.5 w-3.5 text-gray-400" }),
1470
+ !selectedTable ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "py-8 text-center text-xs text-slate-400", children: t("selectTable") }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface rounded-xl border border-white/30 dark:border-white/10", children: [
1471
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 border-b border-slate-200/50 px-3 py-2 dark:border-white/5", children: [
1472
+ /* @__PURE__ */ jsxRuntime.jsx(outline.MagnifyingGlassIcon, { className: "h-3.5 w-3.5 text-slate-400" }),
1473
1473
  /* @__PURE__ */ jsxRuntime.jsx(
1474
1474
  "input",
1475
1475
  {
@@ -1477,15 +1477,15 @@ function DatasourceNodeConfigForm({
1477
1477
  value: columnSearch,
1478
1478
  onChange: (event) => setColumnSearch(event.target.value),
1479
1479
  placeholder: "Search columns...",
1480
- className: "flex-1 bg-transparent text-xs text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500"
1480
+ className: "flex-1 bg-transparent text-xs text-slate-900 outline-none placeholder:text-slate-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white dark:placeholder:text-slate-500"
1481
1481
  }
1482
1482
  )
1483
1483
  ] }),
1484
1484
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-64 overflow-y-auto p-1", children: [
1485
- filteredColumns.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-6 text-center text-[10px] text-gray-400", children: t("noColumnsAvailable") }),
1485
+ filteredColumns.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-3 py-6 text-center text-[10px] text-slate-400", children: t("noColumnsAvailable") }),
1486
1486
  filteredColumns.map((column) => {
1487
1487
  const isSelected = selectedColumns.includes(column.name);
1488
- const typeColor = TYPE_COLORS[column.type.toLowerCase()] ?? TYPE_COLORS.string;
1488
+ const typeBadgeColor = TYPE_BADGE_COLORS[column.type.toLowerCase()] ?? TYPE_BADGE_COLORS.string;
1489
1489
  return /* @__PURE__ */ jsxRuntime.jsxs(
1490
1490
  "button",
1491
1491
  {
@@ -1493,14 +1493,14 @@ function DatasourceNodeConfigForm({
1493
1493
  onClick: () => {
1494
1494
  if (!readOnly) handleToggleColumn(column.name);
1495
1495
  },
1496
- className: `flex w-full items-center gap-2 rounded-lg px-3 py-1.5 text-left transition-colors ${isSelected ? "bg-cyan-500/8 dark:bg-cyan-400/5" : "hover:bg-gray-100/60 dark:hover:bg-white/5"}`,
1496
+ className: `flex w-full items-center gap-2 rounded-lg px-3 py-1.5 text-left transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 ${isSelected ? "bg-cyan-500/8 dark:bg-cyan-400/5" : "hover:bg-slate-100/60 dark:hover:bg-white/5"}`,
1497
1497
  children: [
1498
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors ${isSelected ? "border-cyan-500 bg-cyan-500 dark:border-cyan-400 dark:bg-cyan-400" : "border-gray-300 dark:border-gray-600"}`, children: isSelected && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-2.5 w-2.5 text-white" }) }),
1499
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex-1 truncate text-xs text-gray-900 dark:text-white", children: [
1498
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-4 w-4 shrink-0 items-center justify-center rounded border transition-colors ${isSelected ? "border-cyan-500 bg-cyan-500 dark:border-cyan-400 dark:bg-cyan-400" : "border-slate-300 dark:border-slate-600"}`, children: isSelected && /* @__PURE__ */ jsxRuntime.jsx(outline.CheckIcon, { className: "h-2.5 w-2.5 text-white" }) }),
1499
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex-1 truncate text-xs text-slate-900 dark:text-white", children: [
1500
1500
  column.name,
1501
- column.nullable && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-[9px] text-gray-400", children: "?" })
1501
+ column.nullable && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-[9px] text-slate-400", children: "?" })
1502
1502
  ] }),
1503
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: `shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium ${typeColor}`, children: column.type })
1503
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: typeBadgeColor, size: "xs", children: column.type })
1504
1504
  ]
1505
1505
  },
1506
1506
  column.name
@@ -1512,13 +1512,13 @@ function DatasourceNodeConfigForm({
1512
1512
  case "filters":
1513
1513
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
1514
1514
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1515
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("filtersHelp") }),
1515
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("filtersHelp") }),
1516
1516
  !readOnly && /* @__PURE__ */ jsxRuntime.jsxs(
1517
1517
  "button",
1518
1518
  {
1519
1519
  type: "button",
1520
1520
  onClick: handleAddFilter,
1521
- className: "flex items-center gap-1 text-[10px] font-semibold text-cyan-600 hover:text-cyan-700 dark:text-cyan-400",
1521
+ className: "flex items-center gap-1 text-[10px] font-semibold text-cyan-600 hover:text-cyan-700 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-cyan-400",
1522
1522
  children: [
1523
1523
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-3 w-3" }),
1524
1524
  t("addFilter")
@@ -1527,14 +1527,14 @@ function DatasourceNodeConfigForm({
1527
1527
  )
1528
1528
  ] }),
1529
1529
  filterEntries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 py-8", children: [
1530
- /* @__PURE__ */ jsxRuntime.jsx(outline.FunnelIcon, { className: "h-8 w-8 text-gray-300 dark:text-gray-600" }),
1531
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-400", children: "No filters configured" }),
1530
+ /* @__PURE__ */ jsxRuntime.jsx(outline.FunnelIcon, { className: "h-8 w-8 text-slate-300 dark:text-slate-600" }),
1531
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-400", children: "No filters configured" }),
1532
1532
  /* @__PURE__ */ jsxRuntime.jsxs(
1533
1533
  "button",
1534
1534
  {
1535
1535
  type: "button",
1536
1536
  onClick: handleAddFilter,
1537
- className: "flex items-center gap-1 rounded-lg bg-cyan-500/10 px-3 py-1.5 text-[10px] font-semibold text-cyan-600 hover:bg-cyan-500/15 dark:text-cyan-400",
1537
+ className: "flex items-center gap-1 rounded-lg bg-cyan-500/10 px-3 py-1.5 text-[10px] font-semibold text-cyan-600 hover:bg-cyan-500/15 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-cyan-400",
1538
1538
  children: [
1539
1539
  /* @__PURE__ */ jsxRuntime.jsx(outline.PlusIcon, { className: "h-3 w-3" }),
1540
1540
  t("addFilter")
@@ -1544,14 +1544,15 @@ function DatasourceNodeConfigForm({
1544
1544
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: filterEntries.map((row, index) => {
1545
1545
  const currentOp = row.op ?? "eq";
1546
1546
  const valueDisplay = Array.isArray(row.value) ? row.value.map(String).join(", ") : row.value == null ? "" : String(row.value);
1547
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 rounded-xl border border-gray-200 bg-white px-3 py-2 dark:border-white/10 dark:bg-white/[0.03]", children: [
1547
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface flex items-center gap-2 rounded-xl px-3 py-2", children: [
1548
1548
  /* @__PURE__ */ jsxRuntime.jsxs(
1549
1549
  "select",
1550
1550
  {
1551
1551
  value: row.column,
1552
1552
  onChange: (event) => handleUpdateFilterColumn(index, event.target.value),
1553
1553
  disabled: readOnly,
1554
- className: "w-[28%] rounded bg-transparent text-xs text-gray-900 outline-none disabled:opacity-60 dark:text-white",
1554
+ "aria-label": t("columnName"),
1555
+ className: "w-[28%] rounded bg-transparent text-xs text-slate-900 outline-none focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 disabled:opacity-60 dark:text-white",
1555
1556
  children: [
1556
1557
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: t("columnName") }),
1557
1558
  availableColumns.map((column) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: column.name, children: column.name }, column.name))
@@ -1564,7 +1565,8 @@ function DatasourceNodeConfigForm({
1564
1565
  value: currentOp,
1565
1566
  onChange: (event) => handleUpdateFilterOp(index, event.target.value),
1566
1567
  disabled: readOnly,
1567
- className: "w-[18%] rounded bg-gray-50 px-1 text-center text-[10px] font-semibold uppercase text-gray-700 outline-none disabled:opacity-60 dark:bg-white/[0.05] dark:text-gray-200",
1568
+ "aria-label": t("filterOperator", { _: "Filter operator" }),
1569
+ className: "w-[18%] rounded bg-white/40 px-1 text-center text-[10px] font-semibold uppercase text-slate-700 outline-none backdrop-blur-sm focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 disabled:opacity-60 dark:bg-white/[0.04] dark:text-slate-200",
1568
1570
  title: t("filterOperator", { _: "Filter operator" }),
1569
1571
  children: [
1570
1572
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "eq", children: "= (eq)" }),
@@ -1586,7 +1588,7 @@ function DatasourceNodeConfigForm({
1586
1588
  onChange: (event) => handleUpdateFilterValue(index, event.target.value),
1587
1589
  placeholder: currentOp === "in" ? "comma-separated, e.g. SP, RJ, MG" : t("variableReference"),
1588
1590
  readOnly,
1589
- className: "flex-1 bg-transparent text-xs text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500"
1591
+ className: "flex-1 bg-transparent text-xs text-slate-900 outline-none placeholder:text-slate-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white dark:placeholder:text-slate-500"
1590
1592
  }
1591
1593
  ),
1592
1594
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
@@ -1594,7 +1596,7 @@ function DatasourceNodeConfigForm({
1594
1596
  {
1595
1597
  type: "button",
1596
1598
  onClick: () => handleRemoveFilter(index),
1597
- className: "shrink-0 rounded-md p-1 text-gray-400 transition-colors hover:bg-red-50 hover:text-red-500 dark:hover:bg-red-900/20",
1599
+ className: "shrink-0 rounded-md p-1 text-slate-400 transition-colors hover:bg-red-50 hover:text-red-500 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:hover:bg-red-900/20",
1598
1600
  children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3 w-3" })
1599
1601
  }
1600
1602
  )
@@ -1604,10 +1606,10 @@ function DatasourceNodeConfigForm({
1604
1606
  case "output":
1605
1607
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
1606
1608
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1607
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-xs font-medium text-gray-700 dark:text-gray-300", children: t("outputVariableLabel") }),
1608
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] text-gray-500 dark:text-gray-400", children: t("outputVariableHelp") }),
1609
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 rounded-xl border border-gray-200 bg-white px-3 py-2.5 dark:border-white/10 dark:bg-white/[0.03]", children: [
1610
- /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "h-4 w-4 text-gray-400" }),
1609
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-xs font-medium text-slate-700 dark:text-slate-300", children: t("outputVariableLabel") }),
1610
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] text-slate-500 dark:text-slate-400", children: t("outputVariableHelp") }),
1611
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "liquid-surface flex items-center gap-2 rounded-xl px-3 py-2.5", children: [
1612
+ /* @__PURE__ */ jsxRuntime.jsx(outline.VariableIcon, { className: "h-4 w-4 text-slate-400" }),
1611
1613
  /* @__PURE__ */ jsxRuntime.jsx(
1612
1614
  "input",
1613
1615
  {
@@ -1616,14 +1618,14 @@ function DatasourceNodeConfigForm({
1616
1618
  onChange: (event) => setOutputVariable(event.target.value),
1617
1619
  placeholder: "datasourceResult",
1618
1620
  readOnly,
1619
- className: "flex-1 bg-transparent text-sm text-gray-900 outline-none placeholder:text-gray-400 dark:text-white dark:placeholder:text-gray-500"
1621
+ className: "flex-1 bg-transparent text-sm text-slate-900 outline-none placeholder:text-slate-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white dark:placeholder:text-slate-500"
1620
1622
  }
1621
1623
  )
1622
1624
  ] })
1623
1625
  ] }),
1624
1626
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1625
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-xs font-medium text-gray-700 dark:text-gray-300", children: t("limitLabel") }),
1626
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] text-gray-500 dark:text-gray-400", children: t("limitHelp") }),
1627
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1.5 block text-xs font-medium text-slate-700 dark:text-slate-300", children: t("limitLabel") }),
1628
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-[10px] text-slate-500 dark:text-slate-400", children: t("limitHelp") }),
1627
1629
  /* @__PURE__ */ jsxRuntime.jsx(
1628
1630
  "input",
1629
1631
  {
@@ -1633,15 +1635,15 @@ function DatasourceNodeConfigForm({
1633
1635
  min: 1,
1634
1636
  max: 1e4,
1635
1637
  readOnly,
1636
- className: "w-32 rounded-xl border border-gray-200 bg-white px-3 py-2.5 text-sm text-gray-900 outline-none focus:border-cyan-400 dark:border-white/10 dark:bg-white/[0.03] dark:text-white"
1638
+ className: "liquid-surface w-32 rounded-xl px-3 py-2.5 text-sm text-slate-900 outline-none focus:outline-none focus-visible:ring-2 focus-visible:ring-indigo-500/70 focus-visible:ring-offset-1 dark:text-white"
1637
1639
  }
1638
1640
  )
1639
1641
  ] }),
1640
1642
  selectedDatasource && selectedTable && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-cyan-500/20 bg-cyan-500/5 p-3 dark:border-cyan-400/15 dark:bg-cyan-400/5", children: [
1641
1643
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-cyan-600 dark:text-cyan-400 mb-2", children: "Summary" }),
1642
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 text-xs text-gray-600 dark:text-gray-300", children: [
1644
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1 text-xs text-slate-600 dark:text-slate-300", children: [
1643
1645
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1644
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Source:" }),
1646
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Source:" }),
1645
1647
  " ",
1646
1648
  selectedDatasource.name,
1647
1649
  " (",
@@ -1649,29 +1651,29 @@ function DatasourceNodeConfigForm({
1649
1651
  ")"
1650
1652
  ] }),
1651
1653
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1652
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Table:" }),
1654
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Table:" }),
1653
1655
  " ",
1654
1656
  selectedTable
1655
1657
  ] }),
1656
1658
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1657
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Columns:" }),
1659
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Columns:" }),
1658
1660
  " ",
1659
1661
  selectedColumns.length,
1660
1662
  " of ",
1661
1663
  availableColumns.length
1662
1664
  ] }),
1663
1665
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1664
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Filters:" }),
1666
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Filters:" }),
1665
1667
  " ",
1666
1668
  filterEntries.length
1667
1669
  ] }),
1668
1670
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1669
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Limit:" }),
1671
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Limit:" }),
1670
1672
  " ",
1671
1673
  limit
1672
1674
  ] }),
1673
1675
  /* @__PURE__ */ jsxRuntime.jsxs("p", { children: [
1674
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-gray-400", children: "Output:" }),
1676
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-slate-400", children: "Output:" }),
1675
1677
  " ",
1676
1678
  outputVariable || "\u2014"
1677
1679
  ] })
@@ -1684,7 +1686,7 @@ function DatasourceNodeConfigForm({
1684
1686
  }
1685
1687
  const logo = getDatasourceLogo(selectedDatasourceId, selectedDatasource?.dialect);
1686
1688
  return /* @__PURE__ */ jsxRuntime.jsx(
1687
- chunk5ETT54QS_js.GlassModal,
1689
+ chunkFZUV7GNB_js.GlassModal,
1688
1690
  {
1689
1691
  open,
1690
1692
  onClose: onCancel,
@@ -1699,8 +1701,8 @@ function DatasourceNodeConfigForm({
1699
1701
  onSectionChange: setActiveSectionId
1700
1702
  },
1701
1703
  footer: readOnly ? void 0 : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 px-6 py-3", children: [
1702
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { outline: true, onClick: onCancel, children: t("cancel") }),
1703
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { color: "cyan", onClick: handleSave, disabled: !canSave, children: t("save") })
1704
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { outline: true, onClick: onCancel, children: t("cancel") }),
1705
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { color: "cyan", onClick: handleSave, disabled: !canSave, children: t("save") })
1704
1706
  ] }),
1705
1707
  children: renderSection()
1706
1708
  }
@@ -1911,23 +1913,23 @@ function NodeInteractiveCard({
1911
1913
  );
1912
1914
  }
1913
1915
  function NodeIconBubble({ tone, children }) {
1914
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEZQ2D47U_js.GraphNodeIconBubble, { className: `bg-gradient-to-br ${LOGIC_NODE_GRADIENTS[tone]}`, children });
1916
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk6NEESZVO_js.GraphNodeIconBubble, { className: `bg-gradient-to-br ${LOGIC_NODE_GRADIENTS[tone]}`, children });
1915
1917
  }
1916
1918
  function NodeCardHeader({ icon, title, description, compact = false, iconClassName }) {
1917
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEZQ2D47U_js.GraphNodeHeader, { icon, title, description, compact, iconClassName });
1919
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk6NEESZVO_js.GraphNodeHeader, { icon, title, description, compact, iconClassName });
1918
1920
  }
1919
1921
  function NodeCardMeta({ compact = false, children }) {
1920
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEZQ2D47U_js.GraphNodeMeta, { compact, children });
1922
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk6NEESZVO_js.GraphNodeMeta, { compact, children });
1921
1923
  }
1922
1924
  function NodeCardBadge({ children, className, tone, soft = false }) {
1923
1925
  if (tone) {
1924
1926
  const toneClass = soft ? LOGIC_NODE_BADGE_SOFT_COLORS[tone] : LOGIC_NODE_BADGE_COLORS[tone];
1925
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEZQ2D47U_js.GraphNodeBadge, { className: `inline-flex items-center rounded-full px-2 py-0.5 text-[10px] ${soft ? "font-medium" : "font-semibold"} ${toneClass}`, children });
1927
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk6NEESZVO_js.GraphNodeBadge, { className: `inline-flex items-center rounded-full px-2 py-0.5 text-[10px] ${soft ? "font-medium" : "font-semibold"} ${toneClass}`, children });
1926
1928
  }
1927
1929
  if (className) {
1928
- return /* @__PURE__ */ jsxRuntime.jsx(chunkEZQ2D47U_js.GraphNodeBadge, { className, children });
1930
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk6NEESZVO_js.GraphNodeBadge, { className, children });
1929
1931
  }
1930
- return /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children });
1932
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", children });
1931
1933
  }
1932
1934
  function NodeCardDeleteAction({ nodeId, onDelete }) {
1933
1935
  if (!onDelete) return null;
@@ -2066,8 +2068,8 @@ var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
2066
2068
  const agentLabel = data.label;
2067
2069
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2068
2070
  /* @__PURE__ */ jsxRuntime.jsx(NodeRunningIndicator, { nodeId: id }),
2069
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2070
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2071
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-slate-400 dark:!bg-slate-500" }),
2072
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-slate-400 dark:!bg-slate-500" }),
2071
2073
  /* @__PURE__ */ jsxRuntime.jsx(NodeCard, { variant: "error", nodeType: "agent", width: "w-[320px]", children: /* @__PURE__ */ jsxRuntime.jsx(
2072
2074
  NodeCardHeader,
2073
2075
  {
@@ -2085,41 +2087,41 @@ var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
2085
2087
  const frameworkMeta = getFrameworkMeta(data.agent.framework);
2086
2088
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2087
2089
  /* @__PURE__ */ jsxRuntime.jsx(NodeRunningIndicator, { nodeId: id }),
2088
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2089
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2090
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-slate-400 dark:!bg-slate-500" }),
2091
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Top, id: "top-in", colorClass: "!bg-slate-400 dark:!bg-slate-500" }),
2090
2092
  /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => data.onSelect(agentId), className: "w-full text-left", children: /* @__PURE__ */ jsxRuntime.jsxs(NodeCard, { compact: isCompact, selected, nodeType: "agent", width: "w-[320px]", children: [
2091
2093
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2092
2094
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-shrink-0", children: [
2093
- data.agent.avatar ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: data.agent.avatar, alt: data.agent.name, className: "h-11 w-11 rounded-full bg-white shadow-sm ring-1 ring-gray-200/50 dark:bg-gray-800 dark:ring-white/10" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-full bg-gradient-to-br from-indigo-500/25 to-purple-500/25 ring-1 ring-indigo-500/30", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-6 w-6 text-indigo-500 dark:text-indigo-300" }) }),
2094
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-0.5 -right-0.5 flex h-4 w-4 items-center justify-center rounded-full bg-indigo-500 ring-2 ring-white dark:ring-gray-900", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-2.5 w-2.5 text-white" }) })
2095
+ data.agent.avatar ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: data.agent.avatar, alt: data.agent.name, className: "h-11 w-11 rounded-full bg-white shadow-sm ring-1 ring-slate-200/50 dark:bg-slate-800 dark:ring-white/10" }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-11 w-11 items-center justify-center rounded-full bg-gradient-to-br from-indigo-500/25 to-purple-500/25 ring-1 ring-indigo-500/30", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-6 w-6 text-indigo-500 dark:text-indigo-300" }) }),
2096
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-0.5 -right-0.5 flex h-4 w-4 items-center justify-center rounded-full bg-indigo-500 ring-2 ring-white dark:ring-slate-900", children: /* @__PURE__ */ jsxRuntime.jsx(outline.CpuChipIcon, { className: "h-2.5 w-2.5 text-white" }) })
2095
2097
  ] }),
2096
2098
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2097
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-sm font-semibold text-gray-900 dark:text-white", children: data.agent.name }),
2098
- !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-gray-500 dark:text-gray-400", children: data.agent.role })
2099
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "truncate text-sm font-semibold text-slate-900 dark:text-white", children: data.agent.name }),
2100
+ !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs text-slate-500 dark:text-slate-400", children: data.agent.role })
2099
2101
  ] })
2100
2102
  ] }),
2101
2103
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
2102
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "indigo", size: "xs", children: "Agent" }),
2104
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "indigo", size: "xs", children: "Agent" }),
2103
2105
  (() => {
2104
2106
  const tier = chunk72SWXOD5_js.getAgentTier(Number(data.agent.elo ?? 0));
2105
- return /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: tier.pillColor, children: tier.key });
2107
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: tier.pillColor, children: tier.key });
2106
2108
  })(),
2107
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: frameworkMeta.badgeColor, icon: /* @__PURE__ */ jsxRuntime.jsx(frameworkMeta.IconComponent, { className: "h-3 w-3" }), children: frameworkMeta.label }),
2108
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "blue", size: "xs", children: data.agent.modelId }),
2109
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: [
2109
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: frameworkMeta.badgeColor, icon: /* @__PURE__ */ jsxRuntime.jsx(frameworkMeta.IconComponent, { className: "h-3 w-3" }), children: frameworkMeta.label }),
2110
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "blue", size: "xs", children: data.agent.modelId }),
2111
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", children: [
2110
2112
  "T: ",
2111
2113
  data.agent.temperature
2112
2114
  ] }),
2113
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: [
2115
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", children: [
2114
2116
  "v",
2115
2117
  data.agent.activePromptVersion
2116
2118
  ] }),
2117
2119
  data.agentTools && data.agentTools.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2118
2120
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full" }),
2119
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-1 border-t border-gray-200/20 pt-1 dark:border-white/5", children: [
2121
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center gap-1 border-t border-slate-200/20 pt-1 dark:border-white/5", children: [
2120
2122
  /* @__PURE__ */ jsxRuntime.jsx(outline.CommandLineIcon, { className: "h-3 w-3 shrink-0 text-amber-500 dark:text-amber-400" }),
2121
2123
  data.agentTools.slice(0, 3).map((tool) => /* @__PURE__ */ jsxRuntime.jsx(
2122
- chunkBHOT22QL_js.Badge,
2124
+ chunkMXQ2EYG2_js.Badge,
2123
2125
  {
2124
2126
  color: tool.enabled ? "amber" : "zinc",
2125
2127
  size: "xs",
@@ -2128,7 +2130,7 @@ var AgentFlowNode = react.memo(function AgentFlowNode2({ id, data, selected }) {
2128
2130
  },
2129
2131
  tool.id
2130
2132
  )),
2131
- data.agentTools.length > 3 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[9px] text-gray-400 dark:text-gray-500", children: [
2133
+ data.agentTools.length > 3 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[9px] text-slate-400 dark:text-slate-500", children: [
2132
2134
  "+",
2133
2135
  data.agentTools.length - 3
2134
2136
  ] })
@@ -2216,7 +2218,7 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
2216
2218
  event.stopPropagation();
2217
2219
  },
2218
2220
  children: /* @__PURE__ */ jsxRuntime.jsx(
2219
- chunk5ETT54QS_js.ToggleSwitch,
2221
+ chunkFZUV7GNB_js.ToggleSwitch,
2220
2222
  {
2221
2223
  checked: Boolean(agentTool.enabled),
2222
2224
  onChange: () => data.onToggle?.(agentTool),
@@ -2229,9 +2231,9 @@ var AgentToolFlowNode = react.memo(function AgentToolFlowNode2({ id, data, selec
2229
2231
  )
2230
2232
  ] }),
2231
2233
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardMeta, { compact: isCompact, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
2232
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "amber", size: "xs", children: t("agentToolNode") }),
2233
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: pill, children: category }),
2234
- agentTool.parameters && agentTool.parameters.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: [
2234
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "amber", size: "xs", children: t("agentToolNode") }),
2235
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: pill, children: category }),
2236
+ agentTool.parameters && agentTool.parameters.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", children: [
2235
2237
  agentTool.parameters.length,
2236
2238
  " params"
2237
2239
  ] }),
@@ -2299,7 +2301,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2299
2301
  const categoryPill = CATEGORY_PILL_COLORS[categoryKey] ?? CATEGORY_PILL_COLORS.external;
2300
2302
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2301
2303
  /* @__PURE__ */ jsxRuntime.jsx(NodeRunningIndicator, { nodeId: id }),
2302
- /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-gray-400 dark:!bg-gray-500" }),
2304
+ /* @__PURE__ */ jsxRuntime.jsx(WorkflowHandle, { type: "target", position: react$1.Position.Left, id: "left-in", colorClass: "!bg-slate-400 dark:!bg-slate-500" }),
2303
2305
  /* @__PURE__ */ jsxRuntime.jsx(
2304
2306
  "button",
2305
2307
  {
@@ -2311,8 +2313,8 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2311
2313
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2312
2314
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(IconComponent, { className: "h-5 w-5 text-white" }) }),
2313
2315
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2314
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: tool.name }),
2315
- !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 line-clamp-1 text-xs text-gray-500 dark:text-gray-400", children: String(tool.description ?? "") })
2316
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: tool.name }),
2317
+ !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 line-clamp-1 text-xs text-slate-500 dark:text-slate-400", children: String(tool.description ?? "") })
2316
2318
  ] })
2317
2319
  ] }),
2318
2320
  onToggle && /* @__PURE__ */ jsxRuntime.jsx(
@@ -2324,7 +2326,7 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2324
2326
  event.preventDefault();
2325
2327
  },
2326
2328
  children: /* @__PURE__ */ jsxRuntime.jsx(
2327
- chunk5ETT54QS_js.ToggleSwitch,
2329
+ chunkFZUV7GNB_js.ToggleSwitch,
2328
2330
  {
2329
2331
  checked: Boolean(tool.enabled),
2330
2332
  onChange: () => onToggle(tool),
@@ -2338,9 +2340,9 @@ var ToolFlowNode = react.memo(function ToolFlowNode2({ id, data, selected }) {
2338
2340
  ] }),
2339
2341
  /* @__PURE__ */ jsxRuntime.jsxs(NodeCardMeta, { compact: isCompact, children: [
2340
2342
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2341
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "teal", size: "xs", children: t("nodeType") }),
2342
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: categoryPill, children: tool.category }),
2343
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2343
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "teal", size: "xs", children: t("nodeType") }),
2344
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: categoryPill, children: tool.category }),
2345
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2344
2346
  String(tool.timeoutMs ?? ""),
2345
2347
  "ms"
2346
2348
  ] })
@@ -2390,18 +2392,18 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2390
2392
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2391
2393
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-violet-400 to-purple-500 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ScaleIcon, { className: "h-5 w-5 text-white" }) }),
2392
2394
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2393
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: ruleLabel || t("ruleEngine") }),
2394
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: t("ruleEngineDescription") })
2395
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: ruleLabel || t("ruleEngine") }),
2396
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-slate-500 dark:text-slate-400", children: t("ruleEngineDescription") })
2395
2397
  ] })
2396
2398
  ] }),
2397
2399
  !isCompact && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center justify-between", children: [
2398
2400
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2399
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "violet", size: "xs", children: t("ruleEngine") }),
2400
- contextVariableCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2401
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "violet", size: "xs", children: t("ruleEngine") }),
2402
+ contextVariableCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2401
2403
  contextVariableCount,
2402
2404
  " vars"
2403
2405
  ] }),
2404
- ruleConfig.outputVariable && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2406
+ ruleConfig.outputVariable && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2405
2407
  "\u2192 ",
2406
2408
  ruleConfig.outputVariable
2407
2409
  ] })
@@ -2434,7 +2436,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2434
2436
  /* @__PURE__ */ jsxRuntime.jsx(NodeCard, { variant: "error", nodeType: "rule", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2435
2437
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-amber-400 to-orange-500 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsx(outline.ExclamationTriangleIcon, { className: "h-5 w-5 text-white" }) }),
2436
2438
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2437
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: ruleLabel || t("nodeType") }),
2439
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: ruleLabel || t("nodeType") }),
2438
2440
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-amber-600 dark:text-amber-400", children: t("ruleNotFound") })
2439
2441
  ] })
2440
2442
  ] }) }),
@@ -2463,8 +2465,8 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2463
2465
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2464
2466
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(outline.AdjustmentsHorizontalIcon, { className: "h-5 w-5 text-white" }) }),
2465
2467
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2466
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: rule.name }),
2467
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs font-medium text-gray-600 dark:text-gray-300", children: adjustmentDisplay })
2468
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: rule.name }),
2469
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs font-medium text-slate-600 dark:text-slate-300", children: adjustmentDisplay })
2468
2470
  ] })
2469
2471
  ] }),
2470
2472
  onToggle && /* @__PURE__ */ jsxRuntime.jsx(
@@ -2476,7 +2478,7 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2476
2478
  event.preventDefault();
2477
2479
  },
2478
2480
  children: /* @__PURE__ */ jsxRuntime.jsx(
2479
- chunk5ETT54QS_js.ToggleSwitch,
2481
+ chunkFZUV7GNB_js.ToggleSwitch,
2480
2482
  {
2481
2483
  checked: Boolean(rule.enabled),
2482
2484
  onChange: () => onToggle(rule),
@@ -2490,13 +2492,13 @@ var RuleFlowNode = react.memo(function RuleFlowNode2({ id, data, selected }) {
2490
2492
  ] }),
2491
2493
  !isCompact && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center justify-between", children: [
2492
2494
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2493
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "violet", size: "xs", children: t("nodeType") }),
2494
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: typePill, children: adjustmentType }),
2495
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2495
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "violet", size: "xs", children: t("nodeType") }),
2496
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: typePill, children: adjustmentType }),
2497
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2496
2498
  "P",
2497
2499
  String(rule.priority ?? "")
2498
2500
  ] }),
2499
- Array.isArray(rule.condition?.categories) && rule.condition.categories.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2501
+ Array.isArray(rule.condition?.categories) && rule.condition.categories.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2500
2502
  rule.condition.categories.length,
2501
2503
  " categories"
2502
2504
  ] })
@@ -2563,20 +2565,20 @@ var EntityFlowNode = react.memo(function EntityFlowNode2({ id, data, selected })
2563
2565
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
2564
2566
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br ${gradient} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(EntityIcon, { className: "h-5 w-5 text-white" }) }),
2565
2567
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
2566
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: label }),
2567
- !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-gray-500 dark:text-gray-400", children: data.entity?.label ?? config.entityMasterId })
2568
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: label }),
2569
+ !isCompact && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-slate-500 dark:text-slate-400", children: data.entity?.label ?? config.entityMasterId })
2568
2570
  ] })
2569
2571
  ] }),
2570
2572
  /* @__PURE__ */ jsxRuntime.jsxs(NodeCardMeta, { compact: isCompact, children: [
2571
2573
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2572
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: badgeColor, children: t("entityNodeType") }),
2573
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: badgeColor, children: [
2574
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: badgeColor, children: t("entityNodeType") }),
2575
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: badgeColor, children: [
2574
2576
  fieldCount,
2575
2577
  " ",
2576
2578
  t("entityFields")
2577
2579
  ] }),
2578
- config.limit > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: t("entityLimit", { count: config.limit }) }),
2579
- filterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
2580
+ config.limit > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: t("entityLimit", { count: config.limit }) }),
2581
+ filterCount > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[10px] text-slate-400 dark:text-slate-500", children: [
2580
2582
  filterCount,
2581
2583
  " ",
2582
2584
  t("entityFilters")
@@ -2731,8 +2733,8 @@ var IfElseFlowNode = react.memo(function IfElseFlowNode2({ id, data, selected })
2731
2733
  ] }),
2732
2734
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardDeleteAction, { nodeId: id, onDelete })
2733
2735
  ] }),
2734
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute -right-12 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunk5ETT54QS_js.StatusBadge, { status: "success", label: t("ifBranchLabel"), size: "sm" }) }),
2735
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute bottom-[-1.9rem] left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunk5ETT54QS_js.StatusBadge, { status: "error", label: t("elseBranchLabel"), size: "sm" }) })
2736
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute -right-12 top-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "success", label: t("ifBranchLabel"), size: "sm" }) }),
2737
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute bottom-[-1.9rem] left-1/2 -translate-x-1/2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkFZUV7GNB_js.StatusBadge, { status: "error", label: t("elseBranchLabel"), size: "sm" }) })
2736
2738
  ]
2737
2739
  }
2738
2740
  ),
@@ -3476,7 +3478,7 @@ var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, sel
3476
3478
  event.preventDefault();
3477
3479
  },
3478
3480
  children: /* @__PURE__ */ jsxRuntime.jsx(
3479
- chunk5ETT54QS_js.ToggleSwitch,
3481
+ chunkFZUV7GNB_js.ToggleSwitch,
3480
3482
  {
3481
3483
  checked: true,
3482
3484
  onChange: () => {
@@ -3492,8 +3494,8 @@ var DatasourceFlowNode = react.memo(function DatasourceFlowNode2({ id, data, sel
3492
3494
  ] }),
3493
3495
  /* @__PURE__ */ jsxRuntime.jsxs(NodeCardMeta, { compact: isCompact, children: [
3494
3496
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
3495
- config.dialect && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "cyan", size: "xs", children: config.dialect }),
3496
- readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", children: "sample" }),
3497
+ config.dialect && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "cyan", size: "xs", children: config.dialect }),
3498
+ readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", children: "sample" }),
3497
3499
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-gray-400 dark:text-gray-500", children: [
3498
3500
  columnCount > 0 ? `${columnCount} cols` : null,
3499
3501
  filterCount > 0 ? `${filterCount} filters` : null,
@@ -3617,21 +3619,21 @@ var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
3617
3619
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
3618
3620
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br ${colorScheme.header} shadow-lg`, children: /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleGroupIcon, { className: "h-5 w-5 text-white" }) }),
3619
3621
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3620
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-gray-900 dark:text-white", children: label }),
3621
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-gray-500 dark:text-gray-400", children: config.description || translations("groupNodeDescription") })
3622
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-slate-900 dark:text-white", children: label }),
3623
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-slate-500 dark:text-slate-400", children: config.description || translations("groupNodeDescription") })
3622
3624
  ] })
3623
3625
  ] }),
3624
3626
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 flex items-center justify-between", children: [
3625
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Badge, { color: "zinc", size: "xs", className: colorScheme.text, children: translations("groupNode") }),
3627
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Badge, { color: "zinc", size: "xs", className: colorScheme.text, children: translations("groupNode") }),
3626
3628
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
3627
3629
  /* @__PURE__ */ jsxRuntime.jsx(
3628
3630
  "button",
3629
3631
  {
3630
3632
  type: "button",
3631
3633
  onClick: handleToggleExpand,
3632
- className: "nodrag nopan rounded-lg p-1 opacity-0 transition hover:bg-gray-100 group-hover:opacity-100 dark:hover:bg-white/10",
3634
+ className: "nodrag nopan rounded-lg p-1 opacity-0 transition hover:bg-slate-100 group-hover:opacity-100 dark:hover:bg-white/10",
3633
3635
  title: translations("expandGroup"),
3634
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3.5 w-3.5 text-gray-500 dark:text-gray-400" })
3636
+ children: /* @__PURE__ */ jsxRuntime.jsx(outline.ChevronDownIcon, { className: "h-3.5 w-3.5 text-slate-500 dark:text-slate-400" })
3635
3637
  }
3636
3638
  ),
3637
3639
  onRemoveFromCanvas && /* @__PURE__ */ jsxRuntime.jsx(
@@ -3677,7 +3679,7 @@ var GroupFlowNode = react.memo(function GroupFlowNode2({ id, data, selected }) {
3677
3679
  /* @__PURE__ */ jsxRuntime.jsx(outline.RectangleGroupIcon, { className: `h-4 w-4 ${colorScheme.iconText}` }),
3678
3680
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
3679
3681
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `block truncate text-xs font-semibold ${colorScheme.text}`, children: label }),
3680
- config.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-[10px] text-gray-500 dark:text-gray-400", children: config.description })
3682
+ config.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-[10px] text-slate-500 dark:text-slate-400", children: config.description })
3681
3683
  ] }),
3682
3684
  /* @__PURE__ */ jsxRuntime.jsx(
3683
3685
  "button",
@@ -3783,7 +3785,7 @@ var SpeechTranscriberFlowNode = react.memo(function SpeechTranscriberFlowNode2({
3783
3785
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { tone: "speech_transcriber", children: "Whisper" }),
3784
3786
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { tone: "speech_transcriber", soft: true, children: model }),
3785
3787
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardBadge, { tone: "speech_transcriber", soft: true, children: language }),
3786
- audioRefPreview && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[10px] text-gray-400 dark:text-gray-500", children: audioRefPreview })
3788
+ audioRefPreview && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate text-[10px] text-slate-400 dark:text-slate-500", children: audioRefPreview })
3787
3789
  ] }),
3788
3790
  /* @__PURE__ */ jsxRuntime.jsx(NodeCardDeleteAction, { nodeId: id, onDelete })
3789
3791
  ] })
@@ -3840,9 +3842,9 @@ function ConfigFormActions({
3840
3842
  onSave,
3841
3843
  saveDisabled = false
3842
3844
  }) {
3843
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
3844
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
3845
- /* @__PURE__ */ jsxRuntime.jsx(chunkBHOT22QL_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
3845
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-slate-200 pt-4 dark:border-slate-700", children: [
3846
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", outline: true, onClick: onCancel, children: cancelLabel }),
3847
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", onClick: onSave, disabled: saveDisabled, children: saveLabel })
3846
3848
  ] });
3847
3849
  }
3848
3850
  var COLOR_CLASSES = {
@@ -3919,7 +3921,7 @@ function VariableListEditor({
3919
3921
  }
3920
3922
  }, [handleAdd]);
3921
3923
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3922
- label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-gray-500 dark:text-gray-400", children: label }),
3924
+ label && /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-xs font-medium text-slate-500 dark:text-slate-400", children: label }),
3923
3925
  variables.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 space-y-1", children: variables.map((variable, index) => /* @__PURE__ */ jsxRuntime.jsxs(
3924
3926
  "div",
3925
3927
  {
@@ -3932,17 +3934,19 @@ function VariableListEditor({
3932
3934
  type: "text",
3933
3935
  value: variable,
3934
3936
  onChange: (event) => handleEdit(index, event.target.value),
3935
- className: `flex-1 rounded-md border-0 bg-transparent px-1 py-0.5 text-sm font-medium text-gray-900 outline-none ${colors.input} focus:ring-1 dark:text-white`
3937
+ className: `flex-1 rounded-md border-0 bg-transparent px-1 py-0.5 text-sm font-medium text-slate-900 outline-none ${colors.input} focus:ring-1 dark:text-white`
3936
3938
  }
3937
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm font-medium text-gray-900 dark:text-white", children: variable }),
3939
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm font-medium text-slate-900 dark:text-white", children: variable }),
3938
3940
  /* @__PURE__ */ jsxRuntime.jsx(
3939
- "button",
3941
+ chunkMXQ2EYG2_js.IconButton,
3940
3942
  {
3941
- type: "button",
3943
+ label: `Remove ${variable}`,
3944
+ variant: "ghost",
3945
+ size: "sm",
3946
+ destructive: true,
3942
3947
  onClick: () => handleRemove(index),
3943
- className: "shrink-0 rounded p-0.5 text-gray-400 opacity-0 transition-all hover:bg-red-100 hover:text-red-500 group-hover:opacity-100 dark:hover:bg-red-500/10 dark:hover:text-red-400",
3944
- "aria-label": `Remove ${variable}`,
3945
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3.5 w-3.5" })
3948
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.XMarkIcon, { className: "h-3.5 w-3.5" }),
3949
+ className: "shrink-0 opacity-0 transition-opacity group-hover:opacity-100"
3946
3950
  }
3947
3951
  )
3948
3952
  ]
@@ -3959,7 +3963,7 @@ function VariableListEditor({
3959
3963
  onChange: (event) => setNewVariable(event.target.value),
3960
3964
  onKeyDown: handleKeyDown,
3961
3965
  placeholder,
3962
- className: "flex-1 rounded-lg border border-gray-200/50 bg-gray-50/50 px-3 py-1.5 text-sm text-gray-700 outline-none transition-colors placeholder:text-gray-400 focus:border-gray-300 focus:ring-1 focus:ring-gray-300/30 dark:border-white/10 dark:bg-white/5 dark:text-gray-300 dark:placeholder:text-gray-600"
3966
+ className: "flex-1 rounded-lg border border-slate-200/50 bg-white/40 backdrop-blur-sm px-3 py-1.5 text-sm text-slate-700 outline-none transition-colors placeholder:text-slate-400 focus:border-slate-300 focus:ring-1 focus:ring-slate-300/30 dark:border-white/10 dark:bg-white/[0.04] dark:text-slate-300 dark:placeholder:text-slate-600"
3963
3967
  }
3964
3968
  ),
3965
3969
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -3976,7 +3980,7 @@ function VariableListEditor({
3976
3980
  }
3977
3981
  )
3978
3982
  ] }),
3979
- variables.length === 0 && !canAdd && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-400 dark:text-gray-500", children: "No variables defined" })
3983
+ variables.length === 0 && !canAdd && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-400 dark:text-slate-500", children: "No variables defined" })
3980
3984
  ] });
3981
3985
  }
3982
3986
  function StartNodeConfigForm({ config, onSave, onCancel }) {
@@ -3987,7 +3991,7 @@ function StartNodeConfigForm({ config, onSave, onCancel }) {
3987
3991
  };
3988
3992
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
3989
3993
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3990
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("inputVariablesHelp") }),
3994
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-slate-500 dark:text-slate-400", children: t("inputVariablesHelp") }),
3991
3995
  /* @__PURE__ */ jsxRuntime.jsx(
3992
3996
  VariableListEditor,
3993
3997
  {
@@ -4019,7 +4023,7 @@ function EndNodeConfigForm({ config, onSave, onCancel }) {
4019
4023
  };
4020
4024
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4021
4025
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4022
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("outputVariablesHelp") }),
4026
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-slate-500 dark:text-slate-400", children: t("outputVariablesHelp") }),
4023
4027
  /* @__PURE__ */ jsxRuntime.jsx(
4024
4028
  VariableListEditor,
4025
4029
  {
@@ -4087,9 +4091,9 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4087
4091
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4088
4092
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4089
4093
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
4090
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionsLabel") }),
4094
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("conditionsLabel") }),
4091
4095
  /* @__PURE__ */ jsxRuntime.jsx(
4092
- chunkBHOT22QL_js.Button,
4096
+ chunkMXQ2EYG2_js.Button,
4093
4097
  {
4094
4098
  type: "button",
4095
4099
  onClick: handleAddCondition,
@@ -4097,10 +4101,10 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4097
4101
  }
4098
4102
  )
4099
4103
  ] }),
4100
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: conditions.map((condition, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 rounded-lg border border-gray-200 bg-gray-50 p-3 dark:border-gray-700 dark:bg-gray-800/50", children: [
4104
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: conditions.map((condition, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 rounded-lg bg-white/40 backdrop-blur-sm p-3 dark:bg-white/[0.04]", children: [
4101
4105
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-3 gap-2", children: [
4102
4106
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4103
- chunk5ETT54QS_js.FormInput,
4107
+ chunkFZUV7GNB_js.FormInput,
4104
4108
  {
4105
4109
  type: "text",
4106
4110
  label: t("variableLabel"),
@@ -4111,7 +4115,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4111
4115
  }
4112
4116
  ) }),
4113
4117
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4114
- chunk5ETT54QS_js.FormSelect,
4118
+ chunkFZUV7GNB_js.FormSelect,
4115
4119
  {
4116
4120
  label: t("operatorLabel"),
4117
4121
  value: condition.operator,
@@ -4121,7 +4125,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4121
4125
  }
4122
4126
  ) }),
4123
4127
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
4124
- chunk5ETT54QS_js.FormInput,
4128
+ chunkFZUV7GNB_js.FormInput,
4125
4129
  {
4126
4130
  type: "text",
4127
4131
  label: t("valueLabel"),
@@ -4133,7 +4137,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4133
4137
  ) })
4134
4138
  ] }),
4135
4139
  conditions.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(
4136
- chunkBHOT22QL_js.IconButton,
4140
+ chunkMXQ2EYG2_js.IconButton,
4137
4141
  {
4138
4142
  onClick: () => handleRemoveCondition(index),
4139
4143
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -4146,7 +4150,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4146
4150
  ] }, index)) })
4147
4151
  ] }),
4148
4152
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4149
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("logicalOperatorLabel") }),
4153
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("logicalOperatorLabel") }),
4150
4154
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
4151
4155
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
4152
4156
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4160,7 +4164,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4160
4164
  className: "text-indigo-600 focus:ring-indigo-400"
4161
4165
  }
4162
4166
  ),
4163
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-700 dark:text-gray-300", children: "AND" })
4167
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-slate-700 dark:text-slate-300", children: "AND" })
4164
4168
  ] }),
4165
4169
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
4166
4170
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4174,7 +4178,7 @@ function IfElseNodeConfigForm({ config, onSave, onCancel }) {
4174
4178
  className: "text-indigo-600 focus:ring-indigo-400"
4175
4179
  }
4176
4180
  ),
4177
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-700 dark:text-gray-300", children: "OR" })
4181
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-slate-700 dark:text-slate-300", children: "OR" })
4178
4182
  ] })
4179
4183
  ] })
4180
4184
  ] }),
@@ -4264,26 +4268,26 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4264
4268
  }
4265
4269
  onSave(next);
4266
4270
  };
4267
- const labelClass = "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300";
4268
- const inputClass = "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500";
4271
+ const labelClass = "mb-1 block text-xs font-medium text-slate-700 dark:text-slate-300";
4272
+ const inputClass = "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500";
4269
4273
  const textareaClass = `${inputClass} font-mono text-xs`;
4270
4274
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4271
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 rounded-lg bg-gray-100 p-1 text-sm dark:bg-gray-800", children: [
4275
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2 rounded-lg bg-white/40 dark:bg-white/[0.04] backdrop-blur-sm p-1 text-sm", children: [
4272
4276
  /* @__PURE__ */ jsxRuntime.jsx(
4273
- "button",
4277
+ chunkFZUV7GNB_js.PickerTile,
4274
4278
  {
4275
- type: "button",
4279
+ selected: mode === "operation",
4276
4280
  onClick: () => setMode("operation"),
4277
- className: `flex-1 rounded-md px-3 py-1.5 font-medium transition ${mode === "operation" ? "bg-white text-indigo-600 shadow-sm dark:bg-gray-900 dark:text-indigo-400" : "text-gray-600 dark:text-gray-400"}`,
4281
+ className: `flex-1 rounded-md px-3 py-1.5 font-medium transition ${mode === "operation" ? "bg-white text-indigo-600 shadow-sm dark:bg-slate-900 dark:text-indigo-400" : "text-slate-600 dark:text-slate-400"}`,
4278
4282
  children: t("modeOperation", { _: "Operation" })
4279
4283
  }
4280
4284
  ),
4281
4285
  /* @__PURE__ */ jsxRuntime.jsx(
4282
- "button",
4286
+ chunkFZUV7GNB_js.PickerTile,
4283
4287
  {
4284
- type: "button",
4288
+ selected: mode === "scripted",
4285
4289
  onClick: () => setMode("scripted"),
4286
- className: `flex-1 rounded-md px-3 py-1.5 font-medium transition ${mode === "scripted" ? "bg-white text-indigo-600 shadow-sm dark:bg-gray-900 dark:text-indigo-400" : "text-gray-600 dark:text-gray-400"}`,
4290
+ className: `flex-1 rounded-md px-3 py-1.5 font-medium transition ${mode === "scripted" ? "bg-white text-indigo-600 shadow-sm dark:bg-slate-900 dark:text-indigo-400" : "text-slate-600 dark:text-slate-400"}`,
4287
4291
  children: t("modeScripted", { _: "Scripted" })
4288
4292
  }
4289
4293
  )
@@ -4327,7 +4331,7 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4327
4331
  children: OPERATION_OPTIONS.map((o) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: o.value, children: o.label }, o.value))
4328
4332
  }
4329
4333
  ),
4330
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: selectedOpHelp })
4334
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: selectedOpHelp })
4331
4335
  ] }),
4332
4336
  operation !== "return" && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4333
4337
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: labelClass, children: "from" }),
@@ -4341,7 +4345,7 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4341
4345
  className: inputClass
4342
4346
  }
4343
4347
  ),
4344
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: "Dotted reference into the variable pool. Leave blank to read the sole incoming edge." })
4348
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: "Dotted reference into the variable pool. Leave blank to read the sole incoming edge." })
4345
4349
  ] }),
4346
4350
  (operation === "return" || operation === "merge") && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4347
4351
  /* @__PURE__ */ jsxRuntime.jsxs("label", { className: labelClass, children: [
@@ -4371,7 +4375,7 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4371
4375
  className: inputClass
4372
4376
  }
4373
4377
  ),
4374
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: "Comma-separated keys to project." })
4378
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: "Comma-separated keys to project." })
4375
4379
  ] }),
4376
4380
  operation === "regex_extract" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4377
4381
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -4400,7 +4404,7 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4400
4404
  className: inputClass
4401
4405
  }
4402
4406
  ),
4403
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: "i, m, s, x, U, R (g is implicit)." })
4407
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: "i, m, s, x, U, R (g is implicit)." })
4404
4408
  ] }),
4405
4409
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4406
4410
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: labelClass, children: "group" }),
@@ -4414,18 +4418,18 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4414
4418
  className: inputClass
4415
4419
  }
4416
4420
  ),
4417
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: "0 = whole match, 1 = first capture group (default)." })
4421
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: "0 = whole match, 1 = first capture group (default)." })
4418
4422
  ] })
4419
4423
  ] })
4420
4424
  ] }),
4421
- operation === "xml_titles" && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-sm text-gray-700 dark:text-gray-300", children: [
4425
+ operation === "xml_titles" && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-sm text-slate-700 dark:text-slate-300", children: [
4422
4426
  /* @__PURE__ */ jsxRuntime.jsx(
4423
4427
  "input",
4424
4428
  {
4425
4429
  type: "checkbox",
4426
4430
  checked: keepChannel,
4427
4431
  onChange: (event) => setKeepChannel(event.target.checked),
4428
- className: "h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500 dark:border-gray-600"
4432
+ className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600"
4429
4433
  }
4430
4434
  ),
4431
4435
  "Keep channel/feed title (default: drop the first `<title>`)."
@@ -4442,7 +4446,7 @@ function CodeNodeConfigForm({ config, onSave, onCancel }) {
4442
4446
  className: inputClass
4443
4447
  }
4444
4448
  ),
4445
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: [
4449
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: [
4446
4450
  "Defaults to `",
4447
4451
  operation === "regex_extract" ? "matches" : "titles",
4448
4452
  "` if left blank."
@@ -4505,7 +4509,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4505
4509
  };
4506
4510
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4507
4511
  /* @__PURE__ */ jsxRuntime.jsx(
4508
- chunk5ETT54QS_js.FormSelect,
4512
+ chunkFZUV7GNB_js.FormSelect,
4509
4513
  {
4510
4514
  label: t("methodLabel"),
4511
4515
  value: method,
@@ -4514,7 +4518,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4514
4518
  }
4515
4519
  ),
4516
4520
  /* @__PURE__ */ jsxRuntime.jsx(
4517
- chunk5ETT54QS_js.FormInput,
4521
+ chunkFZUV7GNB_js.FormInput,
4518
4522
  {
4519
4523
  type: "text",
4520
4524
  label: t("urlLabel"),
@@ -4525,9 +4529,9 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4525
4529
  ),
4526
4530
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4527
4531
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
4528
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("headersLabel") }),
4532
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("headersLabel") }),
4529
4533
  /* @__PURE__ */ jsxRuntime.jsx(
4530
- chunkBHOT22QL_js.Button,
4534
+ chunkMXQ2EYG2_js.Button,
4531
4535
  {
4532
4536
  type: "button",
4533
4537
  onClick: handleAddHeader,
@@ -4537,7 +4541,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4537
4541
  ] }),
4538
4542
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: headerEntries.map((entry, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
4539
4543
  /* @__PURE__ */ jsxRuntime.jsx(
4540
- chunk5ETT54QS_js.FormInput,
4544
+ chunkFZUV7GNB_js.FormInput,
4541
4545
  {
4542
4546
  type: "text",
4543
4547
  value: entry.key,
@@ -4547,7 +4551,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4547
4551
  }
4548
4552
  ),
4549
4553
  /* @__PURE__ */ jsxRuntime.jsx(
4550
- chunk5ETT54QS_js.FormInput,
4554
+ chunkFZUV7GNB_js.FormInput,
4551
4555
  {
4552
4556
  type: "text",
4553
4557
  value: entry.value,
@@ -4557,7 +4561,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4557
4561
  }
4558
4562
  ),
4559
4563
  /* @__PURE__ */ jsxRuntime.jsx(
4560
- chunkBHOT22QL_js.IconButton,
4564
+ chunkMXQ2EYG2_js.IconButton,
4561
4565
  {
4562
4566
  onClick: () => handleRemoveHeader(index),
4563
4567
  icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" }),
@@ -4569,7 +4573,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4569
4573
  ] }, index)) })
4570
4574
  ] }),
4571
4575
  method !== "GET" && /* @__PURE__ */ jsxRuntime.jsx(
4572
- chunk5ETT54QS_js.FormTextarea,
4576
+ chunkFZUV7GNB_js.FormTextarea,
4573
4577
  {
4574
4578
  label: t("bodyLabel"),
4575
4579
  value: body,
@@ -4580,7 +4584,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4580
4584
  }
4581
4585
  ),
4582
4586
  /* @__PURE__ */ jsxRuntime.jsx(
4583
- chunk5ETT54QS_js.FormInput,
4587
+ chunkFZUV7GNB_js.FormInput,
4584
4588
  {
4585
4589
  type: "number",
4586
4590
  label: t("timeoutLabel"),
@@ -4592,7 +4596,7 @@ function HttpRequestNodeConfigForm({ config, onSave, onCancel }) {
4592
4596
  }
4593
4597
  ),
4594
4598
  /* @__PURE__ */ jsxRuntime.jsx(
4595
- chunk5ETT54QS_js.FormSelect,
4599
+ chunkFZUV7GNB_js.FormSelect,
4596
4600
  {
4597
4601
  label: t("parseResponseLabel"),
4598
4602
  value: parseResponse,
@@ -4637,7 +4641,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4637
4641
  };
4638
4642
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4639
4643
  /* @__PURE__ */ jsxRuntime.jsx(
4640
- chunk5ETT54QS_js.FormInput,
4644
+ chunkFZUV7GNB_js.FormInput,
4641
4645
  {
4642
4646
  type: "text",
4643
4647
  label: t("bucketLabel"),
@@ -4647,7 +4651,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4647
4651
  }
4648
4652
  ),
4649
4653
  /* @__PURE__ */ jsxRuntime.jsx(
4650
- chunk5ETT54QS_js.FormInput,
4654
+ chunkFZUV7GNB_js.FormInput,
4651
4655
  {
4652
4656
  type: "text",
4653
4657
  label: t("keyLabel"),
@@ -4658,7 +4662,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4658
4662
  ),
4659
4663
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border border-cyan-200/40 bg-cyan-50/40 px-3 py-2 text-[11px] text-cyan-900 dark:border-cyan-500/30 dark:bg-cyan-500/10 dark:text-cyan-100", children: t("sourceOrBodyHint") }),
4660
4664
  /* @__PURE__ */ jsxRuntime.jsx(
4661
- chunk5ETT54QS_js.FormInput,
4665
+ chunkFZUV7GNB_js.FormInput,
4662
4666
  {
4663
4667
  type: "text",
4664
4668
  label: t("sourceUrlLabel"),
@@ -4668,7 +4672,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4668
4672
  }
4669
4673
  ),
4670
4674
  /* @__PURE__ */ jsxRuntime.jsx(
4671
- chunk5ETT54QS_js.FormTextarea,
4675
+ chunkFZUV7GNB_js.FormTextarea,
4672
4676
  {
4673
4677
  label: t("bodyLabel"),
4674
4678
  value: body,
@@ -4679,7 +4683,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4679
4683
  }
4680
4684
  ),
4681
4685
  /* @__PURE__ */ jsxRuntime.jsx(
4682
- chunk5ETT54QS_js.FormInput,
4686
+ chunkFZUV7GNB_js.FormInput,
4683
4687
  {
4684
4688
  type: "text",
4685
4689
  label: t("contentTypeLabel"),
@@ -4689,7 +4693,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4689
4693
  }
4690
4694
  ),
4691
4695
  /* @__PURE__ */ jsxRuntime.jsx(
4692
- chunk5ETT54QS_js.FormInput,
4696
+ chunkFZUV7GNB_js.FormInput,
4693
4697
  {
4694
4698
  type: "number",
4695
4699
  label: t("timeoutLabel"),
@@ -4700,7 +4704,7 @@ function S3WriteNodeConfigForm({ config, onSave, onCancel }) {
4700
4704
  }
4701
4705
  ),
4702
4706
  /* @__PURE__ */ jsxRuntime.jsx(
4703
- chunk5ETT54QS_js.FormInput,
4707
+ chunkFZUV7GNB_js.FormInput,
4704
4708
  {
4705
4709
  type: "text",
4706
4710
  label: t("connectionIdLabel"),
@@ -4729,7 +4733,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4729
4733
  };
4730
4734
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4731
4735
  /* @__PURE__ */ jsxRuntime.jsx(
4732
- chunk5ETT54QS_js.FormTextarea,
4736
+ chunkFZUV7GNB_js.FormTextarea,
4733
4737
  {
4734
4738
  label: t("templateLabel"),
4735
4739
  value: template,
@@ -4740,7 +4744,7 @@ function TemplateTransformNodeConfigForm({ config, onSave, onCancel }) {
4740
4744
  }
4741
4745
  ),
4742
4746
  /* @__PURE__ */ jsxRuntime.jsx(
4743
- chunk5ETT54QS_js.FormInput,
4747
+ chunkFZUV7GNB_js.FormInput,
4744
4748
  {
4745
4749
  type: "text",
4746
4750
  label: t("outputVariableLabel"),
@@ -4769,7 +4773,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
4769
4773
  };
4770
4774
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4771
4775
  /* @__PURE__ */ jsxRuntime.jsx(
4772
- chunk5ETT54QS_js.FormInput,
4776
+ chunkFZUV7GNB_js.FormInput,
4773
4777
  {
4774
4778
  type: "text",
4775
4779
  label: t("iteratorVariableLabel"),
@@ -4779,7 +4783,7 @@ function IterationNodeConfigForm({ config, onSave, onCancel }) {
4779
4783
  }
4780
4784
  ),
4781
4785
  /* @__PURE__ */ jsxRuntime.jsx(
4782
- chunk5ETT54QS_js.FormInput,
4786
+ chunkFZUV7GNB_js.FormInput,
4783
4787
  {
4784
4788
  type: "number",
4785
4789
  label: t("maxIterationsLabel"),
@@ -4810,7 +4814,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4810
4814
  };
4811
4815
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4812
4816
  /* @__PURE__ */ jsxRuntime.jsx(
4813
- chunk5ETT54QS_js.FormInput,
4817
+ chunkFZUV7GNB_js.FormInput,
4814
4818
  {
4815
4819
  type: "text",
4816
4820
  label: t("sourceIdLabel"),
@@ -4820,7 +4824,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4820
4824
  }
4821
4825
  ),
4822
4826
  /* @__PURE__ */ jsxRuntime.jsx(
4823
- chunk5ETT54QS_js.FormInput,
4827
+ chunkFZUV7GNB_js.FormInput,
4824
4828
  {
4825
4829
  type: "number",
4826
4830
  label: t("topKLabel"),
@@ -4831,7 +4835,7 @@ function KnowledgeBaseNodeConfigForm({ config, onSave, onCancel }) {
4831
4835
  }
4832
4836
  ),
4833
4837
  /* @__PURE__ */ jsxRuntime.jsx(
4834
- chunk5ETT54QS_js.FormInput,
4838
+ chunkFZUV7GNB_js.FormInput,
4835
4839
  {
4836
4840
  type: "number",
4837
4841
  label: t("similarityThresholdLabel"),
@@ -4862,7 +4866,7 @@ function AnswerNodeConfigForm({ config, onSave, onCancel }) {
4862
4866
  };
4863
4867
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4864
4868
  /* @__PURE__ */ jsxRuntime.jsx(
4865
- chunk5ETT54QS_js.FormTextarea,
4869
+ chunkFZUV7GNB_js.FormTextarea,
4866
4870
  {
4867
4871
  label: t("outputTemplateLabel"),
4868
4872
  hint: t("outputTemplateHelp"),
@@ -4928,7 +4932,7 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4928
4932
  };
4929
4933
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
4930
4934
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4931
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("modelIdLabel") }),
4935
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("modelIdLabel") }),
4932
4936
  /* @__PURE__ */ jsxRuntime.jsx(
4933
4937
  "input",
4934
4938
  {
@@ -4936,12 +4940,12 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4936
4940
  value: modelId,
4937
4941
  onChange: (event) => setModelId(event.target.value),
4938
4942
  placeholder: t("modelIdPlaceholder"),
4939
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
4943
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
4940
4944
  }
4941
4945
  )
4942
4946
  ] }),
4943
4947
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4944
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("instructionsLabel") }),
4948
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("instructionsLabel") }),
4945
4949
  /* @__PURE__ */ jsxRuntime.jsx(
4946
4950
  "textarea",
4947
4951
  {
@@ -4949,34 +4953,27 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4949
4953
  onChange: (event) => setInstructions(event.target.value),
4950
4954
  placeholder: t("instructionsPlaceholder"),
4951
4955
  rows: 4,
4952
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
4956
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
4953
4957
  }
4954
4958
  )
4955
4959
  ] }),
4956
4960
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
4957
4961
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
4958
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("categoriesLabel") }),
4959
- /* @__PURE__ */ jsxRuntime.jsx(
4960
- "button",
4961
- {
4962
- type: "button",
4963
- onClick: handleAddCategory,
4964
- className: "text-sm text-indigo-600 hover:text-indigo-700 dark:text-indigo-400",
4965
- children: t("addCategory")
4966
- }
4967
- )
4962
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("categoriesLabel") }),
4963
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", plain: true, size: "sm", onClick: handleAddCategory, children: t("addCategory") })
4968
4964
  ] }),
4969
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: categories.map((category, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 p-3 dark:border-gray-700 dark:bg-gray-800/50", children: [
4965
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: categories.map((category, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg bg-white/40 backdrop-blur-sm p-3 dark:bg-white/[0.04]", children: [
4970
4966
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
4971
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-gray-500 dark:text-gray-400", children: t("categoryIndex", { index: index + 1 }) }),
4967
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-slate-500 dark:text-slate-400", children: t("categoryIndex", { index: index + 1 }) }),
4972
4968
  categories.length > 2 && /* @__PURE__ */ jsxRuntime.jsx(
4973
- "button",
4969
+ chunkMXQ2EYG2_js.IconButton,
4974
4970
  {
4975
- type: "button",
4971
+ label: t("removeCategory"),
4972
+ variant: "ghost",
4973
+ size: "sm",
4974
+ destructive: true,
4976
4975
  onClick: () => handleRemoveCategory(index),
4977
- className: "text-sm text-red-500 hover:text-red-600",
4978
- "aria-label": t("removeCategory"),
4979
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
4976
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
4980
4977
  }
4981
4978
  )
4982
4979
  ] }),
@@ -4988,7 +4985,7 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4988
4985
  value: category.name,
4989
4986
  onChange: (event) => handleCategoryChange(index, "name", event.target.value),
4990
4987
  placeholder: t("categoryNamePlaceholder"),
4991
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
4988
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
4992
4989
  }
4993
4990
  ),
4994
4991
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -4998,32 +4995,21 @@ function QuestionClassifierNodeConfigForm({ config, onSave, onCancel }) {
4998
4995
  value: category.description,
4999
4996
  onChange: (event) => handleCategoryChange(index, "description", event.target.value),
5000
4997
  placeholder: t("categoryDescriptionPlaceholder"),
5001
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
4998
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5002
4999
  }
5003
5000
  )
5004
5001
  ] })
5005
5002
  ] }, category.id)) })
5006
5003
  ] }),
5007
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 border-t border-gray-200 dark:border-gray-700", children: [
5008
- /* @__PURE__ */ jsxRuntime.jsx(
5009
- "button",
5010
- {
5011
- type: "button",
5012
- onClick: onCancel,
5013
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
5014
- children: t("cancel")
5015
- }
5016
- ),
5017
- /* @__PURE__ */ jsxRuntime.jsx(
5018
- "button",
5019
- {
5020
- type: "button",
5021
- onClick: handleSave,
5022
- className: "rounded-lg bg-indigo-600 px-4 py-2 text-sm font-medium text-white hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600",
5023
- children: t("save")
5024
- }
5025
- )
5026
- ] })
5004
+ /* @__PURE__ */ jsxRuntime.jsx(
5005
+ ConfigFormActions,
5006
+ {
5007
+ cancelLabel: t("cancel"),
5008
+ saveLabel: t("save"),
5009
+ onCancel,
5010
+ onSave: handleSave
5011
+ }
5012
+ )
5027
5013
  ] });
5028
5014
  }
5029
5015
  var PARAMETER_TYPES = ["string", "number", "boolean", "array"];
@@ -5058,7 +5044,7 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5058
5044
  };
5059
5045
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5060
5046
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5061
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("modelIdLabel") }),
5047
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("modelIdLabel") }),
5062
5048
  /* @__PURE__ */ jsxRuntime.jsx(
5063
5049
  "input",
5064
5050
  {
@@ -5066,37 +5052,30 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5066
5052
  value: modelId,
5067
5053
  onChange: (event) => setModelId(event.target.value),
5068
5054
  placeholder: t("modelIdPlaceholder"),
5069
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5055
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5070
5056
  }
5071
5057
  )
5072
5058
  ] }),
5073
5059
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5074
5060
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
5075
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("parametersLabel") }),
5076
- /* @__PURE__ */ jsxRuntime.jsx(
5077
- "button",
5078
- {
5079
- type: "button",
5080
- onClick: handleAddParameter,
5081
- className: "text-sm text-indigo-600 hover:text-indigo-700 dark:text-indigo-400",
5082
- children: t("addParameter")
5083
- }
5084
- )
5061
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("parametersLabel") }),
5062
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", plain: true, size: "sm", onClick: handleAddParameter, children: t("addParameter") })
5085
5063
  ] }),
5086
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: parameters.map((parameter, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg border border-gray-200 bg-gray-50 p-3 dark:border-gray-700 dark:bg-gray-800/50", children: [
5064
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: parameters.map((parameter, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-lg liquid-surface p-3", children: [
5087
5065
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 flex items-center justify-end", children: /* @__PURE__ */ jsxRuntime.jsx(
5088
- "button",
5066
+ chunkMXQ2EYG2_js.IconButton,
5089
5067
  {
5090
- type: "button",
5068
+ label: t("removeParameter"),
5069
+ variant: "ghost",
5070
+ size: "sm",
5071
+ destructive: true,
5091
5072
  onClick: () => handleRemoveParameter(index),
5092
- className: "text-sm text-red-500 hover:text-red-600",
5093
- "aria-label": t("removeParameter"),
5094
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
5073
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
5095
5074
  }
5096
5075
  ) }),
5097
5076
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-2", children: [
5098
5077
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5099
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-gray-500 dark:text-gray-400", children: t("parameterNameLabel") }),
5078
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-slate-500 dark:text-slate-400", children: t("parameterNameLabel") }),
5100
5079
  /* @__PURE__ */ jsxRuntime.jsx(
5101
5080
  "input",
5102
5081
  {
@@ -5104,25 +5083,25 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5104
5083
  value: parameter.name,
5105
5084
  onChange: (event) => handleParameterChange(index, "name", event.target.value),
5106
5085
  placeholder: t("parameterNamePlaceholder"),
5107
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5086
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5108
5087
  }
5109
5088
  )
5110
5089
  ] }),
5111
5090
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5112
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-gray-500 dark:text-gray-400", children: t("parameterTypeLabel") }),
5091
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-slate-500 dark:text-slate-400", children: t("parameterTypeLabel") }),
5113
5092
  /* @__PURE__ */ jsxRuntime.jsx(
5114
5093
  "select",
5115
5094
  {
5116
5095
  value: parameter.type,
5117
5096
  onChange: (event) => handleParameterChange(index, "type", event.target.value),
5118
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500",
5097
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500",
5119
5098
  children: PARAMETER_TYPES.map((parameterType) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: parameterType, children: parameterType }, parameterType))
5120
5099
  }
5121
5100
  )
5122
5101
  ] })
5123
5102
  ] }),
5124
5103
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2", children: [
5125
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-gray-500 dark:text-gray-400", children: t("parameterDescriptionLabel") }),
5104
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-slate-500 dark:text-slate-400", children: t("parameterDescriptionLabel") }),
5126
5105
  /* @__PURE__ */ jsxRuntime.jsx(
5127
5106
  "input",
5128
5107
  {
@@ -5130,7 +5109,7 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5130
5109
  value: parameter.description,
5131
5110
  onChange: (event) => handleParameterChange(index, "description", event.target.value),
5132
5111
  placeholder: t("parameterDescriptionPlaceholder"),
5133
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5112
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5134
5113
  }
5135
5114
  )
5136
5115
  ] }),
@@ -5141,33 +5120,22 @@ function ParameterExtractorNodeConfigForm({ config, onSave, onCancel }) {
5141
5120
  type: "checkbox",
5142
5121
  checked: parameter.required,
5143
5122
  onChange: (event) => handleParameterChange(index, "required", event.target.checked),
5144
- className: "rounded border-gray-300 text-indigo-600 focus:ring-indigo-400 dark:border-gray-600"
5123
+ className: "rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600"
5145
5124
  }
5146
5125
  ),
5147
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-gray-700 dark:text-gray-300", children: t("parameterRequiredLabel") })
5126
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-slate-700 dark:text-slate-300", children: t("parameterRequiredLabel") })
5148
5127
  ] }) })
5149
5128
  ] }, index)) })
5150
5129
  ] }),
5151
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 border-t border-gray-200 dark:border-gray-700", children: [
5152
- /* @__PURE__ */ jsxRuntime.jsx(
5153
- "button",
5154
- {
5155
- type: "button",
5156
- onClick: onCancel,
5157
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
5158
- children: t("cancel")
5159
- }
5160
- ),
5161
- /* @__PURE__ */ jsxRuntime.jsx(
5162
- "button",
5163
- {
5164
- type: "button",
5165
- onClick: handleSave,
5166
- className: "rounded-lg bg-indigo-600 px-4 py-2 text-sm font-medium text-white hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600",
5167
- children: t("save")
5168
- }
5169
- )
5170
- ] })
5130
+ /* @__PURE__ */ jsxRuntime.jsx(
5131
+ ConfigFormActions,
5132
+ {
5133
+ cancelLabel: t("cancel"),
5134
+ saveLabel: t("save"),
5135
+ onCancel,
5136
+ onSave: handleSave
5137
+ }
5138
+ )
5171
5139
  ] });
5172
5140
  }
5173
5141
  function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
@@ -5198,21 +5166,13 @@ function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
5198
5166
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5199
5167
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5200
5168
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-center justify-between", children: [
5201
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("assignmentsLabel") }),
5202
- /* @__PURE__ */ jsxRuntime.jsx(
5203
- "button",
5204
- {
5205
- type: "button",
5206
- onClick: handleAddAssignment,
5207
- className: "text-sm text-indigo-600 hover:text-indigo-700 dark:text-indigo-400",
5208
- children: t("addAssignment")
5209
- }
5210
- )
5169
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("assignmentsLabel") }),
5170
+ /* @__PURE__ */ jsxRuntime.jsx(chunkMXQ2EYG2_js.Button, { type: "button", plain: true, size: "sm", onClick: handleAddAssignment, children: t("addAssignment") })
5211
5171
  ] }),
5212
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: assignments.map((assignment, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 rounded-lg border border-gray-200 bg-gray-50 p-3 dark:border-gray-700 dark:bg-gray-800/50", children: [
5172
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-3", children: assignments.map((assignment, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-2 rounded-lg bg-white/40 backdrop-blur-sm p-3 dark:bg-white/[0.04]", children: [
5213
5173
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid flex-1 grid-cols-2 gap-2", children: [
5214
5174
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5215
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-gray-500 dark:text-gray-400", children: t("targetLabel") }),
5175
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-slate-500 dark:text-slate-400", children: t("targetLabel") }),
5216
5176
  /* @__PURE__ */ jsxRuntime.jsx(
5217
5177
  "input",
5218
5178
  {
@@ -5220,12 +5180,12 @@ function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
5220
5180
  value: assignment.target,
5221
5181
  onChange: (event) => handleAssignmentChange(index, "target", event.target.value),
5222
5182
  placeholder: t("targetPlaceholder"),
5223
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5183
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5224
5184
  }
5225
5185
  )
5226
5186
  ] }),
5227
5187
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5228
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-gray-500 dark:text-gray-400", children: t("sourceLabel") }),
5188
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs text-slate-500 dark:text-slate-400", children: t("sourceLabel") }),
5229
5189
  /* @__PURE__ */ jsxRuntime.jsx(
5230
5190
  "input",
5231
5191
  {
@@ -5233,43 +5193,34 @@ function VariableAssignerNodeConfigForm({ config, onSave, onCancel }) {
5233
5193
  value: assignment.source,
5234
5194
  onChange: (event) => handleAssignmentChange(index, "source", event.target.value),
5235
5195
  placeholder: t("sourcePlaceholder"),
5236
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5196
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5237
5197
  }
5238
5198
  )
5239
5199
  ] })
5240
5200
  ] }),
5241
5201
  /* @__PURE__ */ jsxRuntime.jsx(
5242
- "button",
5202
+ chunkMXQ2EYG2_js.IconButton,
5243
5203
  {
5244
- type: "button",
5204
+ label: t("removeAssignment"),
5205
+ variant: "ghost",
5206
+ size: "sm",
5207
+ destructive: true,
5208
+ className: "mt-5",
5245
5209
  onClick: () => handleRemoveAssignment(index),
5246
- className: "mt-5 text-sm text-red-500 hover:text-red-600",
5247
- "aria-label": t("removeAssignment"),
5248
- children: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
5210
+ icon: /* @__PURE__ */ jsxRuntime.jsx(outline.TrashIcon, { className: "h-4 w-4" })
5249
5211
  }
5250
5212
  )
5251
5213
  ] }, index)) })
5252
5214
  ] }),
5253
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 border-t border-gray-200 dark:border-gray-700", children: [
5254
- /* @__PURE__ */ jsxRuntime.jsx(
5255
- "button",
5256
- {
5257
- type: "button",
5258
- onClick: onCancel,
5259
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
5260
- children: t("cancel")
5261
- }
5262
- ),
5263
- /* @__PURE__ */ jsxRuntime.jsx(
5264
- "button",
5265
- {
5266
- type: "button",
5267
- onClick: handleSave,
5268
- className: "rounded-lg bg-indigo-600 px-4 py-2 text-sm font-medium text-white hover:bg-indigo-700 dark:bg-indigo-500 dark:hover:bg-indigo-600",
5269
- children: t("save")
5270
- }
5271
- )
5272
- ] })
5215
+ /* @__PURE__ */ jsxRuntime.jsx(
5216
+ ConfigFormActions,
5217
+ {
5218
+ cancelLabel: t("cancel"),
5219
+ saveLabel: t("save"),
5220
+ onCancel,
5221
+ onSave: handleSave
5222
+ }
5223
+ )
5273
5224
  ] });
5274
5225
  }
5275
5226
  var AGGREGATION_MODES = ["array", "object", "concatenate"];
@@ -5296,7 +5247,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5296
5247
  }
5297
5248
  ),
5298
5249
  /* @__PURE__ */ jsxRuntime.jsx(
5299
- chunk5ETT54QS_js.FormInput,
5250
+ chunkFZUV7GNB_js.FormInput,
5300
5251
  {
5301
5252
  type: "text",
5302
5253
  label: t("outputVariableLabel"),
@@ -5306,7 +5257,7 @@ function VariableAggregatorNodeConfigForm({ config, onSave, onCancel }) {
5306
5257
  }
5307
5258
  ),
5308
5259
  /* @__PURE__ */ jsxRuntime.jsx(
5309
- chunk5ETT54QS_js.FormSelect,
5260
+ chunkFZUV7GNB_js.FormSelect,
5310
5261
  {
5311
5262
  label: t("aggregationModeLabel"),
5312
5263
  value: aggregationMode,
@@ -5339,7 +5290,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5339
5290
  };
5340
5291
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5341
5292
  /* @__PURE__ */ jsxRuntime.jsx(
5342
- chunk5ETT54QS_js.FormSelect,
5293
+ chunkFZUV7GNB_js.FormSelect,
5343
5294
  {
5344
5295
  label: t("extractionModeLabel"),
5345
5296
  value: extractionMode,
@@ -5348,7 +5299,7 @@ function DocumentExtractorNodeConfigForm({ config, onSave, onCancel }) {
5348
5299
  }
5349
5300
  ),
5350
5301
  /* @__PURE__ */ jsxRuntime.jsx(
5351
- chunk5ETT54QS_js.FormInput,
5302
+ chunkFZUV7GNB_js.FormInput,
5352
5303
  {
5353
5304
  type: "text",
5354
5305
  label: t("outputVariableLabel"),
@@ -5403,19 +5354,19 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5403
5354
  };
5404
5355
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5405
5356
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5406
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("operationLabel") }),
5357
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("operationLabel") }),
5407
5358
  /* @__PURE__ */ jsxRuntime.jsx(
5408
5359
  "select",
5409
5360
  {
5410
5361
  value: operation,
5411
5362
  onChange: (event) => setOperation(event.target.value),
5412
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500",
5363
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500",
5413
5364
  children: OPERATION_OPTIONS2.map((operationOption) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: operationOption, children: t(`operation_${operationOption}`) }, operationOption))
5414
5365
  }
5415
5366
  )
5416
5367
  ] }),
5417
5368
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5418
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("inputVariableLabel") }),
5369
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("inputVariableLabel") }),
5419
5370
  /* @__PURE__ */ jsxRuntime.jsx(
5420
5371
  "input",
5421
5372
  {
@@ -5423,12 +5374,12 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5423
5374
  value: inputVariable,
5424
5375
  onChange: (event) => setInputVariable(event.target.value),
5425
5376
  placeholder: t("inputVariablePlaceholder"),
5426
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5377
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5427
5378
  }
5428
5379
  )
5429
5380
  ] }),
5430
5381
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5431
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("outputVariableLabel") }),
5382
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("outputVariableLabel") }),
5432
5383
  /* @__PURE__ */ jsxRuntime.jsx(
5433
5384
  "input",
5434
5385
  {
@@ -5436,12 +5387,12 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5436
5387
  value: outputVariable,
5437
5388
  onChange: (event) => setOutputVariable(event.target.value),
5438
5389
  placeholder: t("outputVariablePlaceholder"),
5439
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5390
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5440
5391
  }
5441
5392
  )
5442
5393
  ] }),
5443
5394
  showConditionField && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5444
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("conditionLabel") }),
5395
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("conditionLabel") }),
5445
5396
  /* @__PURE__ */ jsxRuntime.jsx(
5446
5397
  "input",
5447
5398
  {
@@ -5449,13 +5400,13 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5449
5400
  value: condition,
5450
5401
  onChange: (event) => setCondition(event.target.value),
5451
5402
  placeholder: t("conditionPlaceholder"),
5452
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5403
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5453
5404
  }
5454
5405
  )
5455
5406
  ] }),
5456
5407
  showSortFields && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
5457
5408
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5458
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("sortKeyLabel") }),
5409
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("sortKeyLabel") }),
5459
5410
  /* @__PURE__ */ jsxRuntime.jsx(
5460
5411
  "input",
5461
5412
  {
@@ -5463,25 +5414,25 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5463
5414
  value: sortKey,
5464
5415
  onChange: (event) => setSortKey(event.target.value),
5465
5416
  placeholder: t("sortKeyPlaceholder"),
5466
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5417
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5467
5418
  }
5468
5419
  )
5469
5420
  ] }),
5470
5421
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5471
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("sortOrderLabel") }),
5422
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("sortOrderLabel") }),
5472
5423
  /* @__PURE__ */ jsxRuntime.jsx(
5473
5424
  "select",
5474
5425
  {
5475
5426
  value: sortOrder,
5476
5427
  onChange: (event) => setSortOrder(event.target.value),
5477
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500",
5428
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500",
5478
5429
  children: SORT_ORDER_OPTIONS.map((order) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: order, children: t(`sortOrder_${order}`) }, order))
5479
5430
  }
5480
5431
  )
5481
5432
  ] })
5482
5433
  ] }),
5483
5434
  showLimitField && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5484
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("limitCountLabel") }),
5435
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("limitCountLabel") }),
5485
5436
  /* @__PURE__ */ jsxRuntime.jsx(
5486
5437
  "input",
5487
5438
  {
@@ -5489,17 +5440,17 @@ function ListOperatorNodeConfigForm({ config, onSave, onCancel }) {
5489
5440
  value: limitCount,
5490
5441
  onChange: (event) => setLimitCount(Number(event.target.value)),
5491
5442
  min: 1,
5492
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5443
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5493
5444
  }
5494
5445
  )
5495
5446
  ] }),
5496
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 border-t border-gray-200 dark:border-gray-700", children: [
5447
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 pt-4 liquid-divider border-t", children: [
5497
5448
  /* @__PURE__ */ jsxRuntime.jsx(
5498
5449
  "button",
5499
5450
  {
5500
5451
  type: "button",
5501
5452
  onClick: onCancel,
5502
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
5453
+ className: "rounded-lg border border-slate-300 px-4 py-2 text-sm font-medium text-slate-700 hover:bg-white/40 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/[0.04]",
5503
5454
  children: t("cancel")
5504
5455
  }
5505
5456
  ),
@@ -5525,7 +5476,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5525
5476
  };
5526
5477
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5527
5478
  /* @__PURE__ */ jsxRuntime.jsx(
5528
- chunk5ETT54QS_js.FormInput,
5479
+ chunkFZUV7GNB_js.FormInput,
5529
5480
  {
5530
5481
  type: "text",
5531
5482
  label: t("iteratorVariableLabel"),
@@ -5535,7 +5486,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5535
5486
  }
5536
5487
  ),
5537
5488
  /* @__PURE__ */ jsxRuntime.jsx(
5538
- chunk5ETT54QS_js.FormInput,
5489
+ chunkFZUV7GNB_js.FormInput,
5539
5490
  {
5540
5491
  type: "text",
5541
5492
  label: t("itemVariableLabel"),
@@ -5545,7 +5496,7 @@ function IterationStartNodeConfigForm({ config, onSave, onCancel }) {
5545
5496
  }
5546
5497
  ),
5547
5498
  /* @__PURE__ */ jsxRuntime.jsx(
5548
- chunk5ETT54QS_js.FormInput,
5499
+ chunkFZUV7GNB_js.FormInput,
5549
5500
  {
5550
5501
  type: "text",
5551
5502
  label: t("indexVariableLabel"),
@@ -5640,7 +5591,7 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5640
5591
  const filterEntries = Object.entries(filterVariables);
5641
5592
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
5642
5593
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5643
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("entityTypeLabel") }),
5594
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("entityTypeLabel") }),
5644
5595
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
5645
5596
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex h-6 w-6 items-center justify-center rounded-md bg-gradient-to-br ${gradient}`, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-white font-bold", children: (entityDefinition?.label ?? config.entityMasterId ?? "?").charAt(0).toUpperCase() }) }),
5646
5597
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium ${badgeColor}`, children: entityDefinition?.label ?? config.entityMasterId ?? t("entityTypeLabel") })
@@ -5648,8 +5599,8 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5648
5599
  !entityDefinition && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-xs text-amber-600 dark:text-amber-400", children: t("entityNotConfigured") })
5649
5600
  ] }),
5650
5601
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5651
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("outputVariableLabel") }),
5652
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("outputVariableHelp") }),
5602
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("outputVariableLabel") }),
5603
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-slate-500 dark:text-slate-400", children: t("outputVariableHelp") }),
5653
5604
  /* @__PURE__ */ jsxRuntime.jsx(
5654
5605
  "input",
5655
5606
  {
@@ -5657,13 +5608,13 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5657
5608
  value: outputVariable,
5658
5609
  onChange: (event) => setOutputVariable(event.target.value),
5659
5610
  placeholder: `${(entityDefinition?.label ?? "entity").replace(/\s+/g, "")}Data`,
5660
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5611
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5661
5612
  }
5662
5613
  )
5663
5614
  ] }),
5664
5615
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5665
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-gray-700 dark:text-gray-300", children: t("limitLabel") }),
5666
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("limitHelp") }),
5616
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-sm font-medium text-slate-700 dark:text-slate-300", children: t("limitLabel") }),
5617
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-slate-500 dark:text-slate-400", children: t("limitHelp") }),
5667
5618
  /* @__PURE__ */ jsxRuntime.jsx(
5668
5619
  "input",
5669
5620
  {
@@ -5672,13 +5623,13 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5672
5623
  onChange: (event) => setLimit(Math.max(1, Number.parseInt(event.target.value, 10) || 1)),
5673
5624
  min: 1,
5674
5625
  max: 1e3,
5675
- className: "w-32 rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white"
5626
+ className: "w-32 rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white"
5676
5627
  }
5677
5628
  )
5678
5629
  ] }),
5679
5630
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5680
5631
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between", children: [
5681
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("fieldsLabel") }),
5632
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("fieldsLabel") }),
5682
5633
  /* @__PURE__ */ jsxRuntime.jsx(
5683
5634
  "button",
5684
5635
  {
@@ -5690,15 +5641,15 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5690
5641
  )
5691
5642
  ] }),
5692
5643
  selectedFields.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-amber-600 dark:text-amber-400", children: t("noFieldsSelected") }),
5693
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-48 space-y-1 overflow-y-auto rounded-lg border border-gray-200 p-2 dark:border-gray-700", children: [
5694
- availableFields.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-2 py-2 text-xs text-gray-500 dark:text-gray-400", children: t("noFieldsSelected") }),
5644
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-h-48 space-y-1 overflow-y-auto rounded-lg border border-slate-200 p-2 dark:border-slate-700", children: [
5645
+ availableFields.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-2 py-2 text-xs text-slate-500 dark:text-slate-400", children: t("noFieldsSelected") }),
5695
5646
  availableFields.map((field) => {
5696
5647
  const isSelected = selectedFields.includes(field.name);
5697
5648
  const typeBadgeColor = FIELD_TYPE_BADGE_COLORS[field.type] ?? FIELD_TYPE_BADGE_COLORS.string;
5698
5649
  return /* @__PURE__ */ jsxRuntime.jsxs(
5699
5650
  "label",
5700
5651
  {
5701
- className: `flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 transition-colors ${isSelected ? "bg-indigo-50 dark:bg-indigo-500/10" : "hover:bg-gray-50 dark:hover:bg-gray-800"}`,
5652
+ className: `flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 transition-colors ${isSelected ? "bg-indigo-50 dark:bg-indigo-500/10" : "hover:bg-white/40 dark:hover:bg-white/[0.04]"}`,
5702
5653
  children: [
5703
5654
  /* @__PURE__ */ jsxRuntime.jsx(
5704
5655
  "input",
@@ -5706,10 +5657,10 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5706
5657
  type: "checkbox",
5707
5658
  checked: isSelected,
5708
5659
  onChange: () => handleToggleField(field.name),
5709
- className: "h-3.5 w-3.5 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500 dark:border-gray-600"
5660
+ className: "h-3.5 w-3.5 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600"
5710
5661
  }
5711
5662
  ),
5712
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-xs font-medium text-gray-900 dark:text-white", children: field.name }),
5663
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-xs font-medium text-slate-900 dark:text-white", children: field.name }),
5713
5664
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: `rounded-full px-1.5 py-0.5 text-[9px] font-medium ${typeBadgeColor}`, children: field.type })
5714
5665
  ]
5715
5666
  },
@@ -5720,7 +5671,7 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5720
5671
  ] }),
5721
5672
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5722
5673
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-1 flex items-center justify-between", children: [
5723
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: t("filtersLabel") }),
5674
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-sm font-medium text-slate-700 dark:text-slate-300", children: t("filtersLabel") }),
5724
5675
  /* @__PURE__ */ jsxRuntime.jsxs(
5725
5676
  "button",
5726
5677
  {
@@ -5734,7 +5685,7 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5734
5685
  }
5735
5686
  )
5736
5687
  ] }),
5737
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-gray-500 dark:text-gray-400", children: t("filtersHelp") }),
5688
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 text-xs text-slate-500 dark:text-slate-400", children: t("filtersHelp") }),
5738
5689
  filterEntries.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: filterEntries.map(([variableName, fieldName], index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
5739
5690
  /* @__PURE__ */ jsxRuntime.jsx(
5740
5691
  "input",
@@ -5743,16 +5694,16 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5743
5694
  value: variableName,
5744
5695
  onChange: (event) => handleUpdateFilterVariable(variableName, event.target.value),
5745
5696
  placeholder: t("variableName"),
5746
- className: "flex-1 rounded-lg border border-gray-300 bg-white px-2 py-1.5 text-xs text-gray-900 placeholder-gray-400 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white dark:placeholder-gray-500"
5697
+ className: "flex-1 rounded-lg border border-slate-300 bg-white px-2 py-1.5 text-xs text-slate-900 placeholder-slate-400 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white dark:placeholder-slate-500"
5747
5698
  }
5748
5699
  ),
5749
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-gray-400", children: "\u2192" }),
5700
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-slate-400", children: "\u2192" }),
5750
5701
  /* @__PURE__ */ jsxRuntime.jsxs(
5751
5702
  "select",
5752
5703
  {
5753
5704
  value: fieldName,
5754
5705
  onChange: (event) => handleUpdateFilterField(variableName, event.target.value),
5755
- className: "flex-1 rounded-lg border border-gray-300 bg-white px-2 py-1.5 text-xs text-gray-900 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white",
5706
+ className: "flex-1 rounded-lg border border-slate-300 bg-white px-2 py-1.5 text-xs text-slate-900 outline-none focus:border-indigo-400 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white",
5756
5707
  children: [
5757
5708
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: t("fieldName") }),
5758
5709
  availableFields.map((field) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: field.name, children: field.name }, field.name))
@@ -5770,13 +5721,13 @@ function EntityNodeConfigForm({ config, entities = [], onSave, onCancel }) {
5770
5721
  )
5771
5722
  ] }, index)) })
5772
5723
  ] }),
5773
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 border-t border-gray-200 pt-4 dark:border-gray-700", children: [
5724
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2 liquid-divider border-t pt-4", children: [
5774
5725
  /* @__PURE__ */ jsxRuntime.jsx(
5775
5726
  "button",
5776
5727
  {
5777
5728
  type: "button",
5778
5729
  onClick: onCancel,
5779
- className: "rounded-lg border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 dark:border-gray-600 dark:text-gray-300 dark:hover:bg-gray-800",
5730
+ className: "rounded-lg border border-slate-300 px-4 py-2 text-sm font-medium text-slate-700 hover:bg-white/40 dark:border-slate-600 dark:text-slate-300 dark:hover:bg-white/[0.04]",
5780
5731
  children: t("cancel")
5781
5732
  }
5782
5733
  ),
@@ -5817,7 +5768,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5817
5768
  };
5818
5769
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5819
5770
  /* @__PURE__ */ jsxRuntime.jsx(
5820
- chunk5ETT54QS_js.FormInput,
5771
+ chunkFZUV7GNB_js.FormInput,
5821
5772
  {
5822
5773
  type: "text",
5823
5774
  label: translations("labelField"),
@@ -5827,7 +5778,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5827
5778
  }
5828
5779
  ),
5829
5780
  /* @__PURE__ */ jsxRuntime.jsx(
5830
- chunk5ETT54QS_js.FormTextarea,
5781
+ chunkFZUV7GNB_js.FormTextarea,
5831
5782
  {
5832
5783
  label: translations("descriptionField"),
5833
5784
  value: description,
@@ -5837,7 +5788,7 @@ function GroupNodeConfigForm({ config, onSave, onCancel }) {
5837
5788
  }
5838
5789
  ),
5839
5790
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5840
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300", children: translations("colorField") }),
5791
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-2 block text-sm font-medium text-slate-700 dark:text-slate-300", children: translations("colorField") }),
5841
5792
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-3", children: GROUP_COLOR_OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
5842
5793
  "button",
5843
5794
  {
@@ -5872,20 +5823,20 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5872
5823
  };
5873
5824
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5874
5825
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
5875
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: t("ruleIdLabel", { _: "Rule" }) }),
5826
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-slate-700 dark:text-slate-300", children: t("ruleIdLabel", { _: "Rule" }) }),
5876
5827
  availableRules && availableRules.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs(
5877
5828
  "select",
5878
5829
  {
5879
5830
  value: ruleId,
5880
5831
  onChange: (event) => setRuleId(event.target.value),
5881
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-400/20 dark:border-gray-600 dark:bg-gray-800 dark:text-white",
5832
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm text-slate-900 outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600 dark:bg-slate-800 dark:text-white",
5882
5833
  children: [
5883
5834
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: t("rulePickPrompt", { _: "Choose a rule\u2026" }) }),
5884
5835
  availableRules.map((rule) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: rule.ruleId, children: rule.name ? `${rule.name} (${rule.ruleId})` : rule.ruleId }, rule.ruleId))
5885
5836
  ]
5886
5837
  }
5887
5838
  ) : /* @__PURE__ */ jsxRuntime.jsx(
5888
- chunk5ETT54QS_js.FormInput,
5839
+ chunkFZUV7GNB_js.FormInput,
5889
5840
  {
5890
5841
  type: "text",
5891
5842
  value: ruleId,
@@ -5893,7 +5844,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5893
5844
  placeholder: "e.g. peak_hours"
5894
5845
  }
5895
5846
  ),
5896
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-[11px] text-gray-500 dark:text-gray-400", children: [
5847
+ /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-[11px] text-slate-500 dark:text-slate-400", children: [
5897
5848
  "References an ",
5898
5849
  /* @__PURE__ */ jsxRuntime.jsx("code", { children: "astrlabe.agent_rules.rule_id" }),
5899
5850
  " row in this organization."
@@ -5901,7 +5852,7 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5901
5852
  ] }),
5902
5853
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
5903
5854
  /* @__PURE__ */ jsxRuntime.jsx(
5904
- chunk5ETT54QS_js.FormInput,
5855
+ chunkFZUV7GNB_js.FormInput,
5905
5856
  {
5906
5857
  type: "number",
5907
5858
  label: t("priorityLabel", { _: "Priority" }),
@@ -5910,14 +5861,14 @@ function RuleNodeConfigForm({ config, onSave, onCancel, availableRules }) {
5910
5861
  min: 0
5911
5862
  }
5912
5863
  ),
5913
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-end gap-2 pb-2 text-sm text-gray-700 dark:text-gray-300", children: [
5864
+ /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-end gap-2 pb-2 text-sm text-slate-700 dark:text-slate-300", children: [
5914
5865
  /* @__PURE__ */ jsxRuntime.jsx(
5915
5866
  "input",
5916
5867
  {
5917
5868
  type: "checkbox",
5918
5869
  checked: enabled,
5919
5870
  onChange: (event) => setEnabled(event.target.checked),
5920
- className: "h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-500 dark:border-gray-600"
5871
+ className: "h-4 w-4 rounded border-slate-300 text-indigo-600 focus:ring-indigo-500/70 focus:ring-offset-1 dark:border-slate-600"
5921
5872
  }
5922
5873
  ),
5923
5874
  t("enabledLabel", { _: "Enabled" })
@@ -5973,7 +5924,7 @@ function AgentNodeConfigForm({
5973
5924
  }));
5974
5925
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
5975
5926
  agentOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5976
- chunk5ETT54QS_js.FormSelect,
5927
+ chunkFZUV7GNB_js.FormSelect,
5977
5928
  {
5978
5929
  label: t("agentLabel", { _: "Agent" }),
5979
5930
  value: agentId,
@@ -5981,7 +5932,7 @@ function AgentNodeConfigForm({
5981
5932
  options: [{ value: "", label: t("agentPickPrompt", { _: "Choose an agent\u2026" }) }, ...agentOptions]
5982
5933
  }
5983
5934
  ) : /* @__PURE__ */ jsxRuntime.jsx(
5984
- chunk5ETT54QS_js.FormInput,
5935
+ chunkFZUV7GNB_js.FormInput,
5985
5936
  {
5986
5937
  type: "text",
5987
5938
  label: t("agentIdLabel", { _: "Agent ID" }),
@@ -5991,7 +5942,7 @@ function AgentNodeConfigForm({
5991
5942
  }
5992
5943
  ),
5993
5944
  connOptions.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
5994
- chunk5ETT54QS_js.FormSelect,
5945
+ chunkFZUV7GNB_js.FormSelect,
5995
5946
  {
5996
5947
  label: t("connectionLabel", { _: "Model provider connection" }),
5997
5948
  value: connectionId,
@@ -5999,7 +5950,7 @@ function AgentNodeConfigForm({
5999
5950
  options: [{ value: "", label: t("connectionPickPrompt", { _: "Inline model (no connection)" }) }, ...connOptions]
6000
5951
  }
6001
5952
  ) : /* @__PURE__ */ jsxRuntime.jsx(
6002
- chunk5ETT54QS_js.FormInput,
5953
+ chunkFZUV7GNB_js.FormInput,
6003
5954
  {
6004
5955
  type: "text",
6005
5956
  label: t("connectionIdLabel", { _: "Connection ID" }),
@@ -6009,7 +5960,7 @@ function AgentNodeConfigForm({
6009
5960
  }
6010
5961
  ),
6011
5962
  /* @__PURE__ */ jsxRuntime.jsx(
6012
- chunk5ETT54QS_js.FormInput,
5963
+ chunkFZUV7GNB_js.FormInput,
6013
5964
  {
6014
5965
  type: "text",
6015
5966
  label: t("modelIdLabel", { _: "Model override (optional)" }),
@@ -6019,7 +5970,7 @@ function AgentNodeConfigForm({
6019
5970
  }
6020
5971
  ),
6021
5972
  /* @__PURE__ */ jsxRuntime.jsx(
6022
- chunk5ETT54QS_js.FormTextarea,
5973
+ chunkFZUV7GNB_js.FormTextarea,
6023
5974
  {
6024
5975
  label: t("systemPromptLabel", { _: "System prompt" }),
6025
5976
  value: systemPrompt,
@@ -6029,7 +5980,7 @@ function AgentNodeConfigForm({
6029
5980
  }
6030
5981
  ),
6031
5982
  /* @__PURE__ */ jsxRuntime.jsx(
6032
- chunk5ETT54QS_js.FormTextarea,
5983
+ chunkFZUV7GNB_js.FormTextarea,
6033
5984
  {
6034
5985
  label: t("userPromptLabel", { _: "User prompt" }),
6035
5986
  value: userPrompt,
@@ -6040,7 +5991,7 @@ function AgentNodeConfigForm({
6040
5991
  ),
6041
5992
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
6042
5993
  /* @__PURE__ */ jsxRuntime.jsx(
6043
- chunk5ETT54QS_js.FormInput,
5994
+ chunkFZUV7GNB_js.FormInput,
6044
5995
  {
6045
5996
  type: "number",
6046
5997
  label: t("maxTokensLabel", { _: "Max output tokens" }),
@@ -6052,7 +6003,7 @@ function AgentNodeConfigForm({
6052
6003
  }
6053
6004
  ),
6054
6005
  /* @__PURE__ */ jsxRuntime.jsx(
6055
- chunk5ETT54QS_js.FormInput,
6006
+ chunkFZUV7GNB_js.FormInput,
6056
6007
  {
6057
6008
  type: "number",
6058
6009
  label: t("temperatureLabel", { _: "Temperature" }),
@@ -6089,7 +6040,7 @@ function AudioInputNodeConfigForm({ config, onSave, onCancel }) {
6089
6040
  };
6090
6041
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
6091
6042
  /* @__PURE__ */ jsxRuntime.jsx(
6092
- chunk5ETT54QS_js.FormInput,
6043
+ chunkFZUV7GNB_js.FormInput,
6093
6044
  {
6094
6045
  type: "text",
6095
6046
  label: t("urlLabel"),
@@ -6099,7 +6050,7 @@ function AudioInputNodeConfigForm({ config, onSave, onCancel }) {
6099
6050
  }
6100
6051
  ),
6101
6052
  /* @__PURE__ */ jsxRuntime.jsx(
6102
- chunk5ETT54QS_js.FormSelect,
6053
+ chunkFZUV7GNB_js.FormSelect,
6103
6054
  {
6104
6055
  label: t("formatLabel"),
6105
6056
  value: format,
@@ -6148,7 +6099,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6148
6099
  };
6149
6100
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
6150
6101
  /* @__PURE__ */ jsxRuntime.jsx(
6151
- chunk5ETT54QS_js.FormInput,
6102
+ chunkFZUV7GNB_js.FormInput,
6152
6103
  {
6153
6104
  type: "text",
6154
6105
  label: t("audioUrlLabel"),
@@ -6158,7 +6109,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6158
6109
  }
6159
6110
  ),
6160
6111
  /* @__PURE__ */ jsxRuntime.jsx(
6161
- chunk5ETT54QS_js.FormInput,
6112
+ chunkFZUV7GNB_js.FormInput,
6162
6113
  {
6163
6114
  type: "text",
6164
6115
  label: t("modelLabel"),
@@ -6168,7 +6119,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6168
6119
  }
6169
6120
  ),
6170
6121
  /* @__PURE__ */ jsxRuntime.jsx(
6171
- chunk5ETT54QS_js.FormInput,
6122
+ chunkFZUV7GNB_js.FormInput,
6172
6123
  {
6173
6124
  type: "text",
6174
6125
  label: t("languageLabel"),
@@ -6178,7 +6129,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6178
6129
  }
6179
6130
  ),
6180
6131
  /* @__PURE__ */ jsxRuntime.jsx(
6181
- chunk5ETT54QS_js.FormTextarea,
6132
+ chunkFZUV7GNB_js.FormTextarea,
6182
6133
  {
6183
6134
  label: t("promptLabel"),
6184
6135
  value: prompt,
@@ -6188,7 +6139,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6188
6139
  }
6189
6140
  ),
6190
6141
  /* @__PURE__ */ jsxRuntime.jsx(
6191
- chunk5ETT54QS_js.FormSelect,
6142
+ chunkFZUV7GNB_js.FormSelect,
6192
6143
  {
6193
6144
  label: t("responseFormatLabel"),
6194
6145
  value: responseFormat,
@@ -6197,7 +6148,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6197
6148
  }
6198
6149
  ),
6199
6150
  /* @__PURE__ */ jsxRuntime.jsx(
6200
- chunk5ETT54QS_js.FormInput,
6151
+ chunkFZUV7GNB_js.FormInput,
6201
6152
  {
6202
6153
  type: "text",
6203
6154
  label: t("endpointLabel"),
@@ -6207,7 +6158,7 @@ function SpeechTranscriberNodeConfigForm({ config, onSave, onCancel }) {
6207
6158
  }
6208
6159
  ),
6209
6160
  /* @__PURE__ */ jsxRuntime.jsx(
6210
- chunk5ETT54QS_js.FormInput,
6161
+ chunkFZUV7GNB_js.FormInput,
6211
6162
  {
6212
6163
  type: "number",
6213
6164
  label: t("timeoutLabel"),
@@ -6253,14 +6204,14 @@ function DashboardOutputNodeConfigForm({ config, onSave, onCancel }) {
6253
6204
  }
6254
6205
  };
6255
6206
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
6256
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: t("description") }),
6207
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-slate-500 dark:text-slate-400", children: t("description") }),
6257
6208
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
6258
6209
  /* @__PURE__ */ jsxRuntime.jsx(
6259
6210
  "button",
6260
6211
  {
6261
6212
  type: "button",
6262
6213
  onClick: () => setMode("reference"),
6263
- className: `flex-1 rounded-lg border px-3 py-2 text-xs font-medium transition-colors ${mode === "reference" ? "border-fuchsia-500 bg-fuchsia-500/10 text-fuchsia-700 dark:text-fuchsia-300" : "border-gray-200 bg-white text-gray-600 hover:border-fuchsia-300 dark:border-white/10 dark:bg-white/5 dark:text-gray-300"}`,
6214
+ className: `flex-1 rounded-lg border px-3 py-2 text-xs font-medium transition-colors ${mode === "reference" ? "border-fuchsia-500 bg-fuchsia-500/10 text-fuchsia-700 dark:text-fuchsia-300" : "border-slate-200 bg-white text-slate-600 hover:border-fuchsia-300 dark:border-white/10 dark:bg-white/5 dark:text-slate-300"}`,
6264
6215
  children: t("modeReference")
6265
6216
  }
6266
6217
  ),
@@ -6269,13 +6220,13 @@ function DashboardOutputNodeConfigForm({ config, onSave, onCancel }) {
6269
6220
  {
6270
6221
  type: "button",
6271
6222
  onClick: () => setMode("inline"),
6272
- className: `flex-1 rounded-lg border px-3 py-2 text-xs font-medium transition-colors ${mode === "inline" ? "border-fuchsia-500 bg-fuchsia-500/10 text-fuchsia-700 dark:text-fuchsia-300" : "border-gray-200 bg-white text-gray-600 hover:border-fuchsia-300 dark:border-white/10 dark:bg-white/5 dark:text-gray-300"}`,
6223
+ className: `flex-1 rounded-lg border px-3 py-2 text-xs font-medium transition-colors ${mode === "inline" ? "border-fuchsia-500 bg-fuchsia-500/10 text-fuchsia-700 dark:text-fuchsia-300" : "border-slate-200 bg-white text-slate-600 hover:border-fuchsia-300 dark:border-white/10 dark:bg-white/5 dark:text-slate-300"}`,
6273
6224
  children: t("modeInline")
6274
6225
  }
6275
6226
  )
6276
6227
  ] }),
6277
6228
  mode === "reference" ? /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
6278
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: t("referenceLabel") }),
6229
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-slate-700 dark:text-slate-300", children: t("referenceLabel") }),
6279
6230
  /* @__PURE__ */ jsxRuntime.jsx(
6280
6231
  "input",
6281
6232
  {
@@ -6283,12 +6234,12 @@ function DashboardOutputNodeConfigForm({ config, onSave, onCancel }) {
6283
6234
  value: dashboardFrom,
6284
6235
  onChange: (event) => setDashboardFrom(event.target.value),
6285
6236
  placeholder: t("referencePlaceholder"),
6286
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-sm font-mono text-gray-900 placeholder:text-gray-400 focus:border-fuchsia-500 focus:outline-none focus:ring-1 focus:ring-fuchsia-500 dark:border-white/10 dark:bg-white/5 dark:text-white"
6237
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-sm font-mono text-slate-900 placeholder:text-slate-400 focus:border-fuchsia-500 focus:outline-none focus:ring-1 focus:ring-fuchsia-500 dark:border-white/10 dark:bg-white/5 dark:text-white"
6287
6238
  }
6288
6239
  ),
6289
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-gray-500 dark:text-gray-400", children: t("referenceHelp") })
6240
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-slate-500 dark:text-slate-400", children: t("referenceHelp") })
6290
6241
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
6291
- /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-gray-700 dark:text-gray-300", children: t("inlineLabel") }),
6242
+ /* @__PURE__ */ jsxRuntime.jsx("label", { className: "mb-1 block text-xs font-medium text-slate-700 dark:text-slate-300", children: t("inlineLabel") }),
6292
6243
  /* @__PURE__ */ jsxRuntime.jsx(
6293
6244
  "textarea",
6294
6245
  {
@@ -6296,14 +6247,14 @@ function DashboardOutputNodeConfigForm({ config, onSave, onCancel }) {
6296
6247
  onChange: (event) => setInlineJson(event.target.value),
6297
6248
  placeholder: '{\\n "kpis": [],\\n "charts": [],\\n "tables": []\\n}',
6298
6249
  rows: 12,
6299
- className: "w-full rounded-lg border border-gray-300 bg-white px-3 py-2 text-xs font-mono text-gray-900 placeholder:text-gray-400 focus:border-fuchsia-500 focus:outline-none focus:ring-1 focus:ring-fuchsia-500 dark:border-white/10 dark:bg-white/5 dark:text-white"
6250
+ className: "w-full rounded-lg border border-slate-300 bg-white px-3 py-2 text-xs font-mono text-slate-900 placeholder:text-slate-400 focus:border-fuchsia-500 focus:outline-none focus:ring-1 focus:ring-fuchsia-500 dark:border-white/10 dark:bg-white/5 dark:text-white"
6300
6251
  }
6301
6252
  ),
6302
6253
  parseError ? /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-1 text-[10px] font-medium text-red-600 dark:text-red-400", children: [
6303
6254
  t("parseError"),
6304
6255
  ": ",
6305
6256
  parseError
6306
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-gray-500 dark:text-gray-400", children: t("inlineHelp") })
6257
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-[10px] text-slate-500 dark:text-slate-400", children: t("inlineHelp") })
6307
6258
  ] }),
6308
6259
  /* @__PURE__ */ jsxRuntime.jsx(
6309
6260
  ConfigFormActions,
@@ -6422,7 +6373,7 @@ function LogicNodeModal({ onSave, entities = [], datasources = [], onLoadTables,
6422
6373
  };
6423
6374
  const isExperimental = isExperimentalNodeType(config.type);
6424
6375
  return /* @__PURE__ */ jsxRuntime.jsxs(
6425
- chunk5ETT54QS_js.GlassModal,
6376
+ chunkFZUV7GNB_js.GlassModal,
6426
6377
  {
6427
6378
  open,
6428
6379
  onClose: closeModal,
@@ -6493,7 +6444,7 @@ function NodeContextMenu({ position, targetId, onClose, onEdit, onDuplicate, onC
6493
6444
  }
6494
6445
  ];
6495
6446
  return /* @__PURE__ */ jsxRuntime.jsx(
6496
- chunk5ETT54QS_js.ContextMenu,
6447
+ chunkFZUV7GNB_js.ContextMenu,
6497
6448
  {
6498
6449
  position,
6499
6450
  onClose,
@@ -6550,7 +6501,7 @@ function PanelContextMenu({ position, onClose, onPaste, onSelectAll, onFitView,
6550
6501
  }
6551
6502
  ];
6552
6503
  return /* @__PURE__ */ jsxRuntime.jsx(
6553
- chunk5ETT54QS_js.ContextMenu,
6504
+ chunkFZUV7GNB_js.ContextMenu,
6554
6505
  {
6555
6506
  position,
6556
6507
  onClose,
@@ -6697,7 +6648,7 @@ function SelectionContextMenu({
6697
6648
  }
6698
6649
  ];
6699
6650
  return /* @__PURE__ */ jsxRuntime.jsx(
6700
- chunk5ETT54QS_js.ContextMenu,
6651
+ chunkFZUV7GNB_js.ContextMenu,
6701
6652
  {
6702
6653
  position,
6703
6654
  onClose,
@@ -8655,5 +8606,5 @@ exports.useModalStore = useModalStore;
8655
8606
  exports.useWorkflowBuilderClient = useWorkflowBuilderClient;
8656
8607
  exports.useWorkflowBuilderClientOptional = useWorkflowBuilderClientOptional;
8657
8608
  exports.useWorkflowStore = useWorkflowStore;
8658
- //# sourceMappingURL=chunk-D5OTZGA2.js.map
8659
- //# sourceMappingURL=chunk-D5OTZGA2.js.map
8609
+ //# sourceMappingURL=chunk-5SCZB5UI.js.map
8610
+ //# sourceMappingURL=chunk-5SCZB5UI.js.map