@open-mercato/core 0.6.6-develop.6176.1.4507b99c2f → 0.6.6-develop.6198.1.0822f97cc6

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 (39) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/modules/auth/frontend/login.js +5 -5
  3. package/dist/modules/auth/frontend/login.js.map +2 -2
  4. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js +3 -2
  5. package/dist/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.js.map +2 -2
  6. package/dist/modules/catalog/widgets/injection/product-seo/widget.client.js +26 -14
  7. package/dist/modules/catalog/widgets/injection/product-seo/widget.client.js.map +2 -2
  8. package/dist/modules/customers/api/deals/[id]/route.js +169 -149
  9. package/dist/modules/customers/api/deals/[id]/route.js.map +3 -3
  10. package/dist/modules/customers/components/detail/InlineEditors.js +9 -4
  11. package/dist/modules/customers/components/detail/InlineEditors.js.map +2 -2
  12. package/dist/modules/integrations/backend/integrations/[id]/page.js +13 -9
  13. package/dist/modules/integrations/backend/integrations/[id]/page.js.map +2 -2
  14. package/dist/modules/integrations/backend/integrations/detail-page-refresh.js +17 -0
  15. package/dist/modules/integrations/backend/integrations/detail-page-refresh.js.map +7 -0
  16. package/dist/modules/sales/components/documents/SalesDocumentForm.js +299 -297
  17. package/dist/modules/sales/components/documents/SalesDocumentForm.js.map +2 -2
  18. package/dist/modules/workflows/components/EdgeEditDialog.js +120 -141
  19. package/dist/modules/workflows/components/EdgeEditDialog.js.map +2 -2
  20. package/dist/modules/workflows/components/NodeEditDialog.js +114 -118
  21. package/dist/modules/workflows/components/NodeEditDialog.js.map +2 -2
  22. package/dist/modules/workflows/frontend/checkout-demo/page.js +155 -260
  23. package/dist/modules/workflows/frontend/checkout-demo/page.js.map +2 -2
  24. package/package.json +7 -7
  25. package/src/modules/auth/frontend/login.tsx +5 -5
  26. package/src/modules/catalog/backend/catalog/products/MerchandisingAssistantSheet.tsx +4 -3
  27. package/src/modules/catalog/widgets/injection/product-seo/widget.client.tsx +27 -17
  28. package/src/modules/customers/api/deals/[id]/route.ts +208 -174
  29. package/src/modules/customers/components/detail/InlineEditors.tsx +6 -10
  30. package/src/modules/integrations/backend/integrations/[id]/page.tsx +13 -9
  31. package/src/modules/integrations/backend/integrations/detail-page-refresh.ts +36 -0
  32. package/src/modules/sales/components/documents/SalesDocumentForm.tsx +351 -327
  33. package/src/modules/workflows/components/EdgeEditDialog.tsx +132 -157
  34. package/src/modules/workflows/components/NodeEditDialog.tsx +116 -121
  35. package/src/modules/workflows/frontend/checkout-demo/page.tsx +172 -239
  36. package/src/modules/workflows/i18n/de.json +2 -0
  37. package/src/modules/workflows/i18n/en.json +2 -0
  38. package/src/modules/workflows/i18n/es.json +2 -0
  39. package/src/modules/workflows/i18n/pl.json +2 -0
@@ -4,6 +4,8 @@ import { useEffect, useState } from "react";
4
4
  import { Dialog, DialogContent, DialogFooter, DialogHeader, DialogTitle } from "@open-mercato/ui/primitives/dialog";
5
5
  import { Button } from "@open-mercato/ui/primitives/button";
6
6
  import { Input } from "@open-mercato/ui/primitives/input";
7
+ import { Textarea } from "@open-mercato/ui/primitives/textarea";
8
+ import { Checkbox } from "@open-mercato/ui/primitives/checkbox";
7
9
  import { Badge } from "@open-mercato/ui/primitives/badge";
8
10
  import {
9
11
  Select,
@@ -205,7 +207,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
205
207
  required: false,
206
208
  placeholder: ""
207
209
  };
208
- setFormFields([...formFields, newField]);
210
+ setFormFields((prev) => [...prev, newField]);
209
211
  const newExpanded = new Set(expandedFields);
210
212
  newExpanded.add(formFields.length);
211
213
  setExpandedFields(newExpanded);
@@ -216,7 +218,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
216
218
  variant: "destructive"
217
219
  });
218
220
  if (confirmed) {
219
- setFormFields(formFields.filter((_, i) => i !== index));
221
+ setFormFields((prev) => prev.filter((_, i) => i !== index));
220
222
  const newExpanded = new Set(expandedFields);
221
223
  newExpanded.delete(index);
222
224
  setExpandedFields(newExpanded);
@@ -403,7 +405,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
403
405
  )
404
406
  ] }) : /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
405
407
  /* @__PURE__ */ jsxs("div", { children: [
406
- /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: [
408
+ /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-foreground mb-1", children: [
407
409
  t("workflows.form.stepName"),
408
410
  " *"
409
411
  ] }),
@@ -417,24 +419,23 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
417
419
  autoFocus: true
418
420
  }
419
421
  ),
420
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.stepName") })
422
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.stepName") })
421
423
  ] }),
422
424
  /* @__PURE__ */ jsxs("div", { children: [
423
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.description") }),
425
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.description") }),
424
426
  /* @__PURE__ */ jsx(
425
- "textarea",
427
+ Textarea,
426
428
  {
427
429
  value: description,
428
430
  onChange: (e) => setDescription(e.target.value),
429
431
  placeholder: t("workflows.form.placeholders.description"),
430
- rows: 3,
431
- className: "w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus-visible:ring-2 focus-visible:ring-ring focus-visible:border-ring"
432
+ rows: 3
432
433
  }
433
434
  ),
434
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.description") })
435
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.description") })
435
436
  ] }),
436
437
  node.type !== "waitForSignal" && node.type !== "waitForTimer" && /* @__PURE__ */ jsxs("div", { children: [
437
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.timeout") }),
438
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.timeout") }),
438
439
  /* @__PURE__ */ jsx(
439
440
  Input,
440
441
  {
@@ -444,12 +445,12 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
444
445
  placeholder: t("workflows.form.placeholders.timeout")
445
446
  }
446
447
  ),
447
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.timeout") })
448
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.timeout") })
448
449
  ] }),
449
450
  node.type === "userTask" && /* @__PURE__ */ jsxs(Fragment, { children: [
450
- /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.nodeEditor.userTaskConfig") }) }),
451
+ /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.nodeEditor.userTaskConfig") }) }),
451
452
  /* @__PURE__ */ jsxs("div", { children: [
452
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.assignedTo") }),
453
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.assignedTo") }),
453
454
  /* @__PURE__ */ jsx(
454
455
  Input,
455
456
  {
@@ -459,10 +460,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
459
460
  placeholder: t("workflows.form.placeholders.userId")
460
461
  }
461
462
  ),
462
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.assignedTo") })
463
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.assignedTo") })
463
464
  ] }),
464
465
  /* @__PURE__ */ jsxs("div", { children: [
465
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.assignedToRoles") }),
466
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.assignedToRoles") }),
466
467
  /* @__PURE__ */ jsx(
467
468
  Input,
468
469
  {
@@ -472,10 +473,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
472
473
  placeholder: t("workflows.form.placeholders.roles")
473
474
  }
474
475
  ),
475
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.assignedToRoles") })
476
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.assignedToRoles") })
476
477
  ] }),
477
478
  /* @__PURE__ */ jsxs("div", { children: [
478
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.formKey") }),
479
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.formKey") }),
479
480
  /* @__PURE__ */ jsx(
480
481
  Input,
481
482
  {
@@ -485,13 +486,13 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
485
486
  placeholder: t("workflows.form.placeholders.formKey")
486
487
  }
487
488
  ),
488
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.formKey") })
489
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.formKey") })
489
490
  ] }),
490
- /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 mt-4", children: [
491
+ /* @__PURE__ */ jsxs("div", { className: "border-t border-border pt-4 mt-4", children: [
491
492
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
492
493
  /* @__PURE__ */ jsxs("div", { children: [
493
494
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground", children: t("workflows.form.formFields", { count: formFields.length }) }),
494
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.formFields") })
495
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.formFields") })
495
496
  ] }),
496
497
  /* @__PURE__ */ jsxs(
497
498
  Button,
@@ -507,40 +508,41 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
507
508
  )
508
509
  ] }),
509
510
  isJsonSchemaFormat && /* @__PURE__ */ jsx(Alert, { variant: "info", className: "mb-3", children: /* @__PURE__ */ jsx(AlertDescription, { children: t("workflows.nodeEditor.jsonSchemaFormat") }) }),
510
- formFields.length === 0 && /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-sm text-gray-500 bg-gray-50 rounded-lg border border-gray-200", children: t("workflows.nodeEditor.noFormFields") }),
511
+ formFields.length === 0 && /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-sm text-muted-foreground bg-muted rounded-lg border border-border", children: t("workflows.nodeEditor.noFormFields") }),
511
512
  /* @__PURE__ */ jsx("div", { className: "space-y-2", children: formFields.map((field, index) => {
512
513
  const isExpanded = expandedFields.has(index);
513
- return /* @__PURE__ */ jsxs("div", { className: "border border-gray-200 rounded-lg bg-gray-50", children: [
514
+ return /* @__PURE__ */ jsxs("div", { className: "border border-border rounded-lg bg-muted", children: [
514
515
  /* @__PURE__ */ jsxs(
515
- "button",
516
+ Button,
516
517
  {
517
518
  type: "button",
519
+ variant: "ghost",
518
520
  onClick: () => toggleFieldExpanded(index),
519
- className: "w-full px-4 py-3 text-left flex items-center justify-between hover:bg-gray-100 transition-colors rounded-t-lg",
521
+ className: "h-auto w-full justify-between rounded-t-lg px-4 py-3 text-left hover:bg-muted/80",
520
522
  children: [
521
523
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
522
524
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
523
525
  /* @__PURE__ */ jsx("span", { className: "text-sm font-semibold text-foreground", children: field.label || field.name }),
524
526
  /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: field.type }),
525
- field.required && /* @__PURE__ */ jsx(Badge, { variant: "destructive", className: "text-xs text-white", children: t("workflows.form.required") })
527
+ field.required && /* @__PURE__ */ jsx(Badge, { variant: "destructive", className: "text-xs", children: t("workflows.form.required") })
526
528
  ] }),
527
- /* @__PURE__ */ jsxs("p", { className: "text-xs text-gray-600 mt-1", children: [
529
+ /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
528
530
  "Field name: ",
529
- /* @__PURE__ */ jsx("code", { className: "bg-white px-1 rounded", children: field.name })
531
+ /* @__PURE__ */ jsx("code", { className: "bg-background px-1 rounded", children: field.name })
530
532
  ] })
531
533
  ] }),
532
534
  /* @__PURE__ */ jsx(
533
535
  ChevronDown,
534
536
  {
535
- className: `w-5 h-5 text-gray-400 transition-transform ${isExpanded ? "rotate-180" : ""}`
537
+ className: `size-5 text-muted-foreground transition-transform ${isExpanded ? "rotate-180" : ""}`
536
538
  }
537
539
  )
538
540
  ]
539
541
  }
540
542
  ),
541
- isExpanded && /* @__PURE__ */ jsxs("div", { className: "px-4 pb-4 space-y-3 border-t border-gray-200 bg-white", children: [
543
+ isExpanded && /* @__PURE__ */ jsxs("div", { className: "px-4 pb-4 space-y-3 border-t border-border bg-background", children: [
542
544
  /* @__PURE__ */ jsxs("div", { className: "pt-3", children: [
543
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
545
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
544
546
  t("workflows.form.fieldName"),
545
547
  " *"
546
548
  ] }),
@@ -554,10 +556,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
554
556
  placeholder: t("workflows.form.placeholders.fieldName")
555
557
  }
556
558
  ),
557
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.fieldName") })
559
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.fieldName") })
558
560
  ] }),
559
561
  /* @__PURE__ */ jsxs("div", { children: [
560
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
562
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
561
563
  t("workflows.form.fieldLabel"),
562
564
  " *"
563
565
  ] }),
@@ -571,10 +573,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
571
573
  placeholder: t("workflows.form.placeholders.fieldLabel")
572
574
  }
573
575
  ),
574
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.fieldLabel") })
576
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.fieldLabel") })
575
577
  ] }),
576
578
  /* @__PURE__ */ jsxs("div", { children: [
577
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
579
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
578
580
  t("workflows.form.fieldType"),
579
581
  " *"
580
582
  ] }),
@@ -604,7 +606,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
604
606
  )
605
607
  ] }),
606
608
  /* @__PURE__ */ jsxs("div", { children: [
607
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.form.placeholder") }),
609
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.form.placeholder") }),
608
610
  /* @__PURE__ */ jsx(
609
611
  Input,
610
612
  {
@@ -617,7 +619,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
617
619
  )
618
620
  ] }),
619
621
  /* @__PURE__ */ jsxs("div", { children: [
620
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.form.defaultValue") }),
622
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.form.defaultValue") }),
621
623
  /* @__PURE__ */ jsx(
622
624
  Input,
623
625
  {
@@ -630,7 +632,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
630
632
  )
631
633
  ] }),
632
634
  (field.type === "select" || field.type === "radio") && /* @__PURE__ */ jsxs("div", { children: [
633
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.form.options") }),
635
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.form.options") }),
634
636
  /* @__PURE__ */ jsx(
635
637
  Input,
636
638
  {
@@ -641,21 +643,19 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
641
643
  placeholder: t("workflows.form.placeholders.options")
642
644
  }
643
645
  ),
644
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.options") })
646
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.options") })
645
647
  ] }),
646
- /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-xs font-medium text-gray-700", children: [
648
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 text-xs font-medium text-foreground", children: [
647
649
  /* @__PURE__ */ jsx(
648
- "input",
650
+ Checkbox,
649
651
  {
650
- type: "checkbox",
651
652
  checked: field.required,
652
- onChange: (e) => updateFormField(index, "required", e.target.checked),
653
- className: "rounded border-gray-300 text-blue-600 focus-visible:ring-ring"
653
+ onCheckedChange: (checked) => updateFormField(index, "required", checked === true)
654
654
  }
655
655
  ),
656
656
  t("workflows.form.requiredField")
657
657
  ] }) }),
658
- /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-3", children: /* @__PURE__ */ jsxs(
658
+ /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-3", children: /* @__PURE__ */ jsxs(
659
659
  Button,
660
660
  {
661
661
  type: "button",
@@ -673,11 +673,11 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
673
673
  }) })
674
674
  ] })
675
675
  ] }),
676
- node.type === "automated" && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 mt-4", children: [
676
+ node.type === "automated" && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "border-t border-border pt-4 mt-4", children: [
677
677
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
678
678
  /* @__PURE__ */ jsxs("div", { children: [
679
679
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground", children: t("workflows.form.stepActivities", { count: stepActivities.length }) }),
680
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.activities") })
680
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.activities") })
681
681
  ] }),
682
682
  /* @__PURE__ */ jsxs(
683
683
  Button,
@@ -703,14 +703,15 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
703
703
  }
704
704
  )
705
705
  ] }),
706
- stepActivities.length === 0 && /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-sm text-gray-500 bg-gray-50 rounded-lg border border-gray-200", children: t("workflows.nodeEditor.noActivities") }),
706
+ stepActivities.length === 0 && /* @__PURE__ */ jsx("div", { className: "p-4 text-center text-sm text-muted-foreground bg-muted rounded-lg border border-border", children: t("workflows.nodeEditor.noActivities") }),
707
707
  /* @__PURE__ */ jsx("div", { className: "space-y-2", children: stepActivities.map((activity, index) => {
708
708
  const isExpanded = expandedStepActivities.has(index);
709
- return /* @__PURE__ */ jsxs("div", { className: "border border-gray-200 rounded-lg bg-gray-50", children: [
709
+ return /* @__PURE__ */ jsxs("div", { className: "border border-border rounded-lg bg-muted", children: [
710
710
  /* @__PURE__ */ jsxs(
711
- "button",
711
+ Button,
712
712
  {
713
713
  type: "button",
714
+ variant: "ghost",
714
715
  onClick: () => {
715
716
  const newExpanded = new Set(expandedStepActivities);
716
717
  if (isExpanded) {
@@ -720,7 +721,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
720
721
  }
721
722
  setExpandedStepActivities(newExpanded);
722
723
  },
723
- className: "w-full px-4 py-3 text-left flex items-center justify-between hover:bg-gray-100 transition-colors rounded-t-lg",
724
+ className: "h-auto w-full justify-between rounded-t-lg px-4 py-3 text-left hover:bg-muted/80",
724
725
  children: [
725
726
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
726
727
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
@@ -728,23 +729,23 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
728
729
  /* @__PURE__ */ jsx(Badge, { variant: "secondary", className: "text-xs", children: activity.activityType }),
729
730
  activity.async && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-xs", children: t("workflows.form.async") })
730
731
  ] }),
731
- /* @__PURE__ */ jsxs("p", { className: "text-xs text-gray-600 mt-1", children: [
732
+ /* @__PURE__ */ jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: [
732
733
  "ID: ",
733
- /* @__PURE__ */ jsx("code", { className: "bg-white px-1 rounded", children: activity.activityId })
734
+ /* @__PURE__ */ jsx("code", { className: "bg-background px-1 rounded", children: activity.activityId })
734
735
  ] })
735
736
  ] }),
736
737
  /* @__PURE__ */ jsx(
737
738
  ChevronDown,
738
739
  {
739
- className: `w-5 h-5 text-gray-400 transition-transform ${isExpanded ? "rotate-180" : ""}`
740
+ className: `size-5 text-muted-foreground transition-transform ${isExpanded ? "rotate-180" : ""}`
740
741
  }
741
742
  )
742
743
  ]
743
744
  }
744
745
  ),
745
- isExpanded && /* @__PURE__ */ jsxs("div", { className: "px-4 pb-4 space-y-3 border-t border-gray-200 bg-white", children: [
746
+ isExpanded && /* @__PURE__ */ jsxs("div", { className: "px-4 pb-4 space-y-3 border-t border-border bg-background", children: [
746
747
  /* @__PURE__ */ jsxs("div", { className: "pt-3", children: [
747
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
748
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
748
749
  t("workflows.form.activityId"),
749
750
  " *"
750
751
  ] }),
@@ -764,7 +765,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
764
765
  )
765
766
  ] }),
766
767
  /* @__PURE__ */ jsxs("div", { children: [
767
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
768
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
768
769
  t("workflows.form.activityName"),
769
770
  " *"
770
771
  ] }),
@@ -784,7 +785,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
784
785
  )
785
786
  ] }),
786
787
  /* @__PURE__ */ jsxs("div", { children: [
787
- /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: [
788
+ /* @__PURE__ */ jsxs("label", { className: "block text-xs font-medium text-foreground mb-1", children: [
788
789
  t("workflows.form.activityType"),
789
790
  " *"
790
791
  ] }),
@@ -813,7 +814,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
813
814
  )
814
815
  ] }),
815
816
  /* @__PURE__ */ jsxs("div", { children: [
816
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.form.timeout") }),
817
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.form.timeout") }),
817
818
  /* @__PURE__ */ jsx(
818
819
  Input,
819
820
  {
@@ -828,13 +829,13 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
828
829
  placeholder: t("workflows.form.placeholders.timeoutMs")
829
830
  }
830
831
  ),
831
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.timeoutMs") })
832
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.timeoutMs") })
832
833
  ] }),
833
- /* @__PURE__ */ jsxs("div", { className: "border border-gray-200 rounded-lg p-3 bg-gray-50", children: [
834
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-semibold text-gray-700 mb-2", children: t("workflows.form.retryPolicy") }),
834
+ /* @__PURE__ */ jsxs("div", { className: "border border-border rounded-lg p-3 bg-muted", children: [
835
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-semibold text-foreground mb-2", children: t("workflows.form.retryPolicy") }),
835
836
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-2", children: [
836
837
  /* @__PURE__ */ jsxs("div", { children: [
837
- /* @__PURE__ */ jsx("label", { className: "block text-xs text-gray-600 mb-1", children: t("workflows.form.maxAttempts") }),
838
+ /* @__PURE__ */ jsx("label", { className: "block text-xs text-muted-foreground mb-1", children: t("workflows.form.maxAttempts") }),
838
839
  /* @__PURE__ */ jsx(
839
840
  Input,
840
841
  {
@@ -853,7 +854,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
853
854
  )
854
855
  ] }),
855
856
  /* @__PURE__ */ jsxs("div", { children: [
856
- /* @__PURE__ */ jsx("label", { className: "block text-xs text-gray-600 mb-1", children: t("workflows.form.initialInterval") }),
857
+ /* @__PURE__ */ jsx("label", { className: "block text-xs text-muted-foreground mb-1", children: t("workflows.form.initialInterval") }),
857
858
  /* @__PURE__ */ jsx(
858
859
  Input,
859
860
  {
@@ -870,7 +871,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
870
871
  )
871
872
  ] }),
872
873
  /* @__PURE__ */ jsxs("div", { children: [
873
- /* @__PURE__ */ jsx("label", { className: "block text-xs text-gray-600 mb-1", children: t("workflows.form.backoffCoefficient") }),
874
+ /* @__PURE__ */ jsx("label", { className: "block text-xs text-muted-foreground mb-1", children: t("workflows.form.backoffCoefficient") }),
874
875
  /* @__PURE__ */ jsx(
875
876
  Input,
876
877
  {
@@ -888,7 +889,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
888
889
  )
889
890
  ] }),
890
891
  /* @__PURE__ */ jsxs("div", { children: [
891
- /* @__PURE__ */ jsx("label", { className: "block text-xs text-gray-600 mb-1", children: t("workflows.form.maxInterval") }),
892
+ /* @__PURE__ */ jsx("label", { className: "block text-xs text-muted-foreground mb-1", children: t("workflows.form.maxInterval") }),
892
893
  /* @__PURE__ */ jsx(
893
894
  Input,
894
895
  {
@@ -908,23 +909,21 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
908
909
  ] }),
909
910
  /* @__PURE__ */ jsx("div", { className: "flex gap-4", children: /* @__PURE__ */ jsxs("label", { className: "flex items-center gap-2 cursor-pointer", children: [
910
911
  /* @__PURE__ */ jsx(
911
- "input",
912
+ Checkbox,
912
913
  {
913
- type: "checkbox",
914
914
  checked: activity.async || false,
915
- onChange: (e) => {
915
+ onCheckedChange: (checked) => {
916
916
  const updated = [...stepActivities];
917
- updated[index].async = e.target.checked;
917
+ updated[index].async = checked === true;
918
918
  setStepActivities(updated);
919
- },
920
- className: "w-4 h-4 text-blue-600 border-gray-300 rounded focus-visible:ring-ring"
919
+ }
921
920
  }
922
921
  ),
923
- /* @__PURE__ */ jsx("span", { className: "text-xs text-gray-700", children: t("workflows.form.executeAsync") })
922
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-foreground", children: t("workflows.form.executeAsync") })
924
923
  ] }) }),
925
924
  activity.activityType === "WAIT" && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
926
925
  /* @__PURE__ */ jsxs("div", { children: [
927
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.activities.waitDuration") }),
926
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.activities.waitDuration") }),
928
927
  /* @__PURE__ */ jsx(
929
928
  Input,
930
929
  {
@@ -943,7 +942,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
943
942
  ] }),
944
943
  /* @__PURE__ */ jsx("div", { className: "text-xs text-center text-muted-foreground", children: t("workflows.activities.waitOr") }),
945
944
  /* @__PURE__ */ jsxs("div", { children: [
946
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.activities.waitUntil") }),
945
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.activities.waitUntil") }),
947
946
  /* @__PURE__ */ jsx(
948
947
  Input,
949
948
  {
@@ -961,7 +960,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
961
960
  ] })
962
961
  ] }),
963
962
  activity.activityType !== "WAIT" && /* @__PURE__ */ jsxs("div", { children: [
964
- /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-gray-700 mb-1", children: t("workflows.form.configuration") }),
963
+ /* @__PURE__ */ jsx("label", { className: "block text-xs font-medium text-foreground mb-1", children: t("workflows.form.configuration") }),
965
964
  /* @__PURE__ */ jsx(
966
965
  JsonBuilder,
967
966
  {
@@ -973,9 +972,9 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
973
972
  }
974
973
  }
975
974
  ),
976
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.activityConfig") })
975
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.activityConfig") })
977
976
  ] }),
978
- /* @__PURE__ */ jsx("div", { className: "pt-3 border-t border-gray-100", children: /* @__PURE__ */ jsxs(
977
+ /* @__PURE__ */ jsx("div", { className: "pt-3 border-t border-border", children: /* @__PURE__ */ jsxs(
979
978
  Button,
980
979
  {
981
980
  type: "button",
@@ -998,9 +997,9 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
998
997
  }) })
999
998
  ] }) }),
1000
999
  node.type === "subWorkflow" && /* @__PURE__ */ jsxs(Fragment, { children: [
1001
- /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.form.subWorkflowConfig") }) }),
1000
+ /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.form.subWorkflowConfig") }) }),
1002
1001
  /* @__PURE__ */ jsxs("div", { children: [
1003
- /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: [
1002
+ /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-foreground mb-1", children: [
1004
1003
  t("workflows.form.workflowToInvoke"),
1005
1004
  " *"
1006
1005
  ] }),
@@ -1026,10 +1025,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1026
1025
  }
1027
1026
  )
1028
1027
  ] }),
1029
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.subWorkflowId") })
1028
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.subWorkflowId") })
1030
1029
  ] }),
1031
1030
  /* @__PURE__ */ jsxs("div", { children: [
1032
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.version") }),
1031
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.version") }),
1033
1032
  /* @__PURE__ */ jsx(
1034
1033
  Input,
1035
1034
  {
@@ -1039,20 +1038,20 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1039
1038
  placeholder: t("workflows.form.placeholders.version")
1040
1039
  }
1041
1040
  ),
1042
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.subWorkflowVersion") })
1041
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.subWorkflowVersion") })
1043
1042
  ] }),
1044
- /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 mt-4", children: [
1043
+ /* @__PURE__ */ jsxs("div", { className: "border-t border-border pt-4 mt-4", children: [
1045
1044
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
1046
1045
  /* @__PURE__ */ jsxs("div", { children: [
1047
1046
  /* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold text-foreground", children: t("workflows.form.inputMapping", { count: inputMappings.length }) }),
1048
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.inputMapping") })
1047
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.inputMapping") })
1049
1048
  ] }),
1050
1049
  /* @__PURE__ */ jsxs(
1051
1050
  Button,
1052
1051
  {
1053
1052
  type: "button",
1054
1053
  size: "sm",
1055
- onClick: () => setInputMappings([...inputMappings, { key: "", value: "" }]),
1054
+ onClick: () => setInputMappings((prev) => [...prev, { key: "", value: "" }]),
1056
1055
  children: [
1057
1056
  /* @__PURE__ */ jsx(Plus, { className: "size-3 mr-1" }),
1058
1057
  t("workflows.form.addMapping")
@@ -1060,7 +1059,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1060
1059
  }
1061
1060
  )
1062
1061
  ] }),
1063
- inputMappings.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 italic", children: t("workflows.nodeEditor.noInputMappings") }) : /* @__PURE__ */ jsx("div", { className: "space-y-2", children: inputMappings.map((mapping, index) => /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-start", children: [
1062
+ inputMappings.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground italic", children: t("workflows.nodeEditor.noInputMappings") }) : /* @__PURE__ */ jsx("div", { className: "space-y-2", children: inputMappings.map((mapping, index) => /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-start", children: [
1064
1063
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
1065
1064
  /* @__PURE__ */ jsx(
1066
1065
  Input,
@@ -1075,9 +1074,9 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1075
1074
  placeholder: t("workflows.form.placeholders.childKey")
1076
1075
  }
1077
1076
  ),
1078
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.childKey") })
1077
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.childKey") })
1079
1078
  ] }),
1080
- /* @__PURE__ */ jsx("span", { className: "text-gray-400 mt-2", children: "\u2192" }),
1079
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground mt-2", children: "\u2192" }),
1081
1080
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
1082
1081
  /* @__PURE__ */ jsx(
1083
1082
  Input,
@@ -1092,7 +1091,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1092
1091
  placeholder: t("workflows.form.placeholders.parentPath")
1093
1092
  }
1094
1093
  ),
1095
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.parentPath") })
1094
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.parentPath") })
1096
1095
  ] }),
1097
1096
  /* @__PURE__ */ jsx(
1098
1097
  Button,
@@ -1101,7 +1100,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1101
1100
  size: "sm",
1102
1101
  variant: "ghost",
1103
1102
  onClick: () => {
1104
- setInputMappings(inputMappings.filter((_, i) => i !== index));
1103
+ setInputMappings((prev) => prev.filter((_, i) => i !== index));
1105
1104
  },
1106
1105
  className: "mt-1",
1107
1106
  children: /* @__PURE__ */ jsx(Trash2, { className: "size-3" })
@@ -1109,18 +1108,18 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1109
1108
  )
1110
1109
  ] }, index)) })
1111
1110
  ] }),
1112
- /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 mt-4", children: [
1111
+ /* @__PURE__ */ jsxs("div", { className: "border-t border-border pt-4 mt-4", children: [
1113
1112
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-3", children: [
1114
1113
  /* @__PURE__ */ jsxs("div", { children: [
1115
1114
  /* @__PURE__ */ jsx("h4", { className: "text-sm font-semibold text-foreground", children: t("workflows.form.outputMapping", { count: outputMappings.length }) }),
1116
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.outputMapping") })
1115
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.outputMapping") })
1117
1116
  ] }),
1118
1117
  /* @__PURE__ */ jsxs(
1119
1118
  Button,
1120
1119
  {
1121
1120
  type: "button",
1122
1121
  size: "sm",
1123
- onClick: () => setOutputMappings([...outputMappings, { key: "", value: "" }]),
1122
+ onClick: () => setOutputMappings((prev) => [...prev, { key: "", value: "" }]),
1124
1123
  children: [
1125
1124
  /* @__PURE__ */ jsx(Plus, { className: "size-3 mr-1" }),
1126
1125
  t("workflows.form.addMapping")
@@ -1128,7 +1127,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1128
1127
  }
1129
1128
  )
1130
1129
  ] }),
1131
- outputMappings.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-500 italic", children: t("workflows.nodeEditor.noOutputMappings") }) : /* @__PURE__ */ jsx("div", { className: "space-y-2", children: outputMappings.map((mapping, index) => /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-start", children: [
1130
+ outputMappings.length === 0 ? /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground italic", children: t("workflows.nodeEditor.noOutputMappings") }) : /* @__PURE__ */ jsx("div", { className: "space-y-2", children: outputMappings.map((mapping, index) => /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-start", children: [
1132
1131
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
1133
1132
  /* @__PURE__ */ jsx(
1134
1133
  Input,
@@ -1143,9 +1142,9 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1143
1142
  placeholder: t("workflows.form.placeholders.parentKey")
1144
1143
  }
1145
1144
  ),
1146
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.parentKey") })
1145
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.parentKey") })
1147
1146
  ] }),
1148
- /* @__PURE__ */ jsx("span", { className: "text-gray-400 mt-2", children: "\u2190" }),
1147
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground mt-2", children: "\u2190" }),
1149
1148
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
1150
1149
  /* @__PURE__ */ jsx(
1151
1150
  Input,
@@ -1160,7 +1159,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1160
1159
  placeholder: t("workflows.form.placeholders.childPath")
1161
1160
  }
1162
1161
  ),
1163
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-0.5", children: t("workflows.form.descriptions.childPath") })
1162
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-0.5", children: t("workflows.form.descriptions.childPath") })
1164
1163
  ] }),
1165
1164
  /* @__PURE__ */ jsx(
1166
1165
  Button,
@@ -1169,7 +1168,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1169
1168
  size: "sm",
1170
1169
  variant: "ghost",
1171
1170
  onClick: () => {
1172
- setOutputMappings(outputMappings.filter((_, i) => i !== index));
1171
+ setOutputMappings((prev) => prev.filter((_, i) => i !== index));
1173
1172
  },
1174
1173
  className: "mt-1",
1175
1174
  children: /* @__PURE__ */ jsx(Trash2, { className: "size-3" })
@@ -1179,9 +1178,9 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1179
1178
  ] })
1180
1179
  ] }),
1181
1180
  node.type === "waitForSignal" && /* @__PURE__ */ jsxs(Fragment, { children: [
1182
- /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.form.signalConfig") }) }),
1181
+ /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.form.signalConfig") }) }),
1183
1182
  /* @__PURE__ */ jsxs("div", { children: [
1184
- /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: [
1183
+ /* @__PURE__ */ jsxs("label", { className: "block text-sm font-medium text-foreground mb-1", children: [
1185
1184
  t("workflows.form.signalName"),
1186
1185
  " *"
1187
1186
  ] }),
@@ -1194,10 +1193,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1194
1193
  placeholder: t("workflows.form.placeholders.signalName")
1195
1194
  }
1196
1195
  ),
1197
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.signalName") })
1196
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.signalName") })
1198
1197
  ] }),
1199
1198
  /* @__PURE__ */ jsxs("div", { children: [
1200
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.form.timeout") }),
1199
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.form.timeout") }),
1201
1200
  /* @__PURE__ */ jsx(
1202
1201
  Input,
1203
1202
  {
@@ -1215,13 +1214,13 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1215
1214
  "aria-invalid": fieldErrors.signalTimeout ? true : void 0
1216
1215
  }
1217
1216
  ),
1218
- fieldErrors.signalTimeout ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.signalTimeout }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.signalTimeout") })
1217
+ fieldErrors.signalTimeout ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.signalTimeout }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.signalTimeout") })
1219
1218
  ] })
1220
1219
  ] }),
1221
1220
  node.type === "waitForTimer" && /* @__PURE__ */ jsxs(Fragment, { children: [
1222
- /* @__PURE__ */ jsx("div", { className: "border-t border-gray-200 pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.steps.types.WAIT_FOR_TIMER") }) }),
1221
+ /* @__PURE__ */ jsx("div", { className: "border-t border-border pt-4 mt-4", children: /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground mb-3", children: t("workflows.steps.types.WAIT_FOR_TIMER") }) }),
1223
1222
  /* @__PURE__ */ jsxs("div", { children: [
1224
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.activities.waitDuration") }),
1223
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.activities.waitDuration") }),
1225
1224
  /* @__PURE__ */ jsx(
1226
1225
  Input,
1227
1226
  {
@@ -1240,10 +1239,10 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1240
1239
  "aria-invalid": fieldErrors.timerDuration ? true : void 0
1241
1240
  }
1242
1241
  ),
1243
- fieldErrors.timerDuration ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.timerDuration }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.activities.waitDurationDescription") })
1242
+ fieldErrors.timerDuration ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.timerDuration }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.activities.waitDurationDescription") })
1244
1243
  ] }),
1245
1244
  /* @__PURE__ */ jsxs("div", { children: [
1246
- /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-gray-700 mb-1", children: t("workflows.activities.waitUntil") }),
1245
+ /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-foreground mb-1", children: t("workflows.activities.waitUntil") }),
1247
1246
  /* @__PURE__ */ jsx(
1248
1247
  Input,
1249
1248
  {
@@ -1263,26 +1262,23 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1263
1262
  "aria-invalid": fieldErrors.timerUntil ? true : void 0
1264
1263
  }
1265
1264
  ),
1266
- fieldErrors.timerUntil ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.timerUntil }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.activities.waitUntilDescription") })
1265
+ fieldErrors.timerUntil ? /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive mt-1", children: fieldErrors.timerUntil }) : /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.activities.waitUntilDescription") })
1267
1266
  ] })
1268
1267
  ] }),
1269
- /* @__PURE__ */ jsxs("div", { className: "border-t border-gray-200 pt-4 mt-4", children: [
1268
+ /* @__PURE__ */ jsxs("div", { className: "border-t border-border pt-4 mt-4", children: [
1270
1269
  /* @__PURE__ */ jsxs(
1271
- "button",
1270
+ Button,
1272
1271
  {
1273
1272
  type: "button",
1273
+ variant: "ghost",
1274
1274
  onClick: () => setShowAdvanced(!showAdvanced),
1275
- className: "flex items-center justify-between w-full text-left",
1275
+ className: "h-auto w-full justify-between px-0 py-0 text-left hover:bg-transparent",
1276
1276
  children: [
1277
1277
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-foreground", children: t("workflows.form.advancedConfiguration") }),
1278
1278
  /* @__PURE__ */ jsx(
1279
- "svg",
1279
+ ChevronDown,
1280
1280
  {
1281
- className: `w-5 h-5 transition-transform ${showAdvanced ? "rotate-180" : ""}`,
1282
- fill: "none",
1283
- stroke: "currentColor",
1284
- viewBox: "0 0 24 24",
1285
- children: /* @__PURE__ */ jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" })
1281
+ className: `size-5 transition-transform ${showAdvanced ? "rotate-180" : ""}`
1286
1282
  }
1287
1283
  )
1288
1284
  ]
@@ -1296,7 +1292,7 @@ function NodeEditDialog({ node, isOpen, onClose, onSave, onDelete }) {
1296
1292
  onChange: setAdvancedConfig
1297
1293
  }
1298
1294
  ),
1299
- /* @__PURE__ */ jsx("p", { className: "text-xs text-gray-500 mt-1", children: t("workflows.form.descriptions.advancedConfig") })
1295
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: t("workflows.form.descriptions.advancedConfig") })
1300
1296
  ] })
1301
1297
  ] })
1302
1298
  ] }) }),