@xyne/workflow-ui 0.1.3 → 0.2.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 (89) hide show
  1. package/dist/components/builder/v3/GroupContainer.d.ts +21 -0
  2. package/dist/components/builder/v3/GroupContainer.d.ts.map +1 -0
  3. package/dist/components/builder/v3/GroupContainer.js +65 -0
  4. package/dist/components/builder/v3/GroupContainer.js.map +1 -0
  5. package/dist/components/builder/v3/SidePanel.d.ts +7 -1
  6. package/dist/components/builder/v3/SidePanel.d.ts.map +1 -1
  7. package/dist/components/builder/v3/SidePanel.js +2 -2
  8. package/dist/components/builder/v3/SidePanel.js.map +1 -1
  9. package/dist/components/builder/v3/StepConfigPanel.d.ts +12 -2
  10. package/dist/components/builder/v3/StepConfigPanel.d.ts.map +1 -1
  11. package/dist/components/builder/v3/StepConfigPanel.js +18 -2
  12. package/dist/components/builder/v3/StepConfigPanel.js.map +1 -1
  13. package/dist/components/builder/v3/StepNode.d.ts +5 -1
  14. package/dist/components/builder/v3/StepNode.d.ts.map +1 -1
  15. package/dist/components/builder/v3/StepNode.js +3 -3
  16. package/dist/components/builder/v3/StepNode.js.map +1 -1
  17. package/dist/components/builder/v3/SummaryButton.d.ts +14 -0
  18. package/dist/components/builder/v3/SummaryButton.d.ts.map +1 -0
  19. package/dist/components/builder/v3/SummaryButton.js +15 -0
  20. package/dist/components/builder/v3/SummaryButton.js.map +1 -0
  21. package/dist/components/builder/v3/SummaryDialog.d.ts +14 -0
  22. package/dist/components/builder/v3/SummaryDialog.d.ts.map +1 -0
  23. package/dist/components/builder/v3/SummaryDialog.js +44 -0
  24. package/dist/components/builder/v3/SummaryDialog.js.map +1 -0
  25. package/dist/components/builder/v3/WorkflowBuilderV3.d.ts +5 -2
  26. package/dist/components/builder/v3/WorkflowBuilderV3.d.ts.map +1 -1
  27. package/dist/components/builder/v3/WorkflowBuilderV3.js +21 -5
  28. package/dist/components/builder/v3/WorkflowBuilderV3.js.map +1 -1
  29. package/dist/components/builder/v3/WorkflowCanvas.d.ts +5 -1
  30. package/dist/components/builder/v3/WorkflowCanvas.d.ts.map +1 -1
  31. package/dist/components/builder/v3/WorkflowCanvas.js +2 -2
  32. package/dist/components/builder/v3/WorkflowCanvas.js.map +1 -1
  33. package/dist/components/builder/v3/WorkflowTree.d.ts +9 -2
  34. package/dist/components/builder/v3/WorkflowTree.d.ts.map +1 -1
  35. package/dist/components/builder/v3/WorkflowTree.js +24 -7
  36. package/dist/components/builder/v3/WorkflowTree.js.map +1 -1
  37. package/dist/components/dashboard/WorkflowDashboard.d.ts +4 -2
  38. package/dist/components/dashboard/WorkflowDashboard.d.ts.map +1 -1
  39. package/dist/components/dashboard/WorkflowDashboard.js +2 -2
  40. package/dist/components/dashboard/WorkflowDashboard.js.map +1 -1
  41. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts +11 -0
  42. package/dist/components/dashboard/WorkflowSummaryEditor.d.ts.map +1 -0
  43. package/dist/components/dashboard/WorkflowSummaryEditor.js +46 -0
  44. package/dist/components/dashboard/WorkflowSummaryEditor.js.map +1 -0
  45. package/dist/components/execution/ExecutionHeader.d.ts +9 -1
  46. package/dist/components/execution/ExecutionHeader.d.ts.map +1 -1
  47. package/dist/components/execution/ExecutionHeader.js +4 -2
  48. package/dist/components/execution/ExecutionHeader.js.map +1 -1
  49. package/dist/components/execution/ExecutionTree.d.ts +4 -2
  50. package/dist/components/execution/ExecutionTree.d.ts.map +1 -1
  51. package/dist/components/execution/ExecutionTree.js +18 -4
  52. package/dist/components/execution/ExecutionTree.js.map +1 -1
  53. package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
  54. package/dist/components/execution/ExecutionViewer.js +20 -3
  55. package/dist/components/execution/ExecutionViewer.js.map +1 -1
  56. package/dist/components/execution/SidePanelShell.d.ts +24 -0
  57. package/dist/components/execution/SidePanelShell.d.ts.map +1 -0
  58. package/dist/components/execution/SidePanelShell.js +46 -0
  59. package/dist/components/execution/SidePanelShell.js.map +1 -0
  60. package/dist/components/execution/StepDetailPanel.d.ts +8 -1
  61. package/dist/components/execution/StepDetailPanel.d.ts.map +1 -1
  62. package/dist/components/execution/StepDetailPanel.js +4 -32
  63. package/dist/components/execution/StepDetailPanel.js.map +1 -1
  64. package/dist/components/execution/SummaryPanel.d.ts +19 -0
  65. package/dist/components/execution/SummaryPanel.d.ts.map +1 -0
  66. package/dist/components/execution/SummaryPanel.js +13 -0
  67. package/dist/components/execution/SummaryPanel.js.map +1 -0
  68. package/dist/components/index.d.ts +10 -0
  69. package/dist/components/index.d.ts.map +1 -1
  70. package/dist/components/index.js +5 -0
  71. package/dist/components/index.js.map +1 -1
  72. package/dist/components/shared/MarkdownView.d.ts +13 -0
  73. package/dist/components/shared/MarkdownView.d.ts.map +1 -0
  74. package/dist/components/shared/MarkdownView.js +30 -0
  75. package/dist/components/shared/MarkdownView.js.map +1 -0
  76. package/dist/hooks/use-workflow-builder.d.ts +11 -1
  77. package/dist/hooks/use-workflow-builder.d.ts.map +1 -1
  78. package/dist/hooks/use-workflow-builder.js +49 -0
  79. package/dist/hooks/use-workflow-builder.js.map +1 -1
  80. package/dist/index.d.ts +2 -2
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +2 -2
  83. package/dist/index.js.map +1 -1
  84. package/dist/styles.css +1 -1
  85. package/dist/utils/group-layout.d.ts +33 -0
  86. package/dist/utils/group-layout.d.ts.map +1 -0
  87. package/dist/utils/group-layout.js +53 -0
  88. package/dist/utils/group-layout.js.map +1 -0
  89. package/package.json +5 -4
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Wraps contiguous runs of steps sharing a `groupId` in group boxes, shared by
3
+ * the builder (`WorkflowTree`) and run view (`ExecutionTree`). Pure layout: the
4
+ * callers supply how to render the step elements, the group box, and the
5
+ * boundary connector — this owns only the run-detection + connector-suppression
6
+ * bookkeeping that both trees would otherwise duplicate.
7
+ */
8
+ export function layoutStepsWithGroups(opts) {
9
+ const { steps, groups, renderElements, renderGroup, renderBoundaryConnector, showTrailingAdd } = opts;
10
+ const groupFor = (gid) => (gid ? groups.find((g) => g.id === gid) : undefined);
11
+ // 1. Each group's last step must suppress its inner trailing connector so the
12
+ // connector can render outside the box (otherwise the "+" sits on the border).
13
+ const suppress = new Set();
14
+ for (let k = 0; k < steps.length;) {
15
+ const gid = steps[k].groupId;
16
+ if (!groupFor(gid)) {
17
+ k++;
18
+ continue;
19
+ }
20
+ let end = k;
21
+ while (end + 1 < steps.length && steps[end + 1].groupId === gid)
22
+ end++;
23
+ if (end < steps.length - 1 || showTrailingAdd)
24
+ suppress.add(steps[end].id);
25
+ k = end + 1;
26
+ }
27
+ // 2. Render elements with suppression, then assemble — wrapping group runs and
28
+ // re-emitting boundary connectors outside their boxes.
29
+ const elements = renderElements(suppress);
30
+ const out = [];
31
+ for (let i = 0; i < steps.length;) {
32
+ const gid = steps[i].groupId;
33
+ const group = groupFor(gid);
34
+ if (!group) {
35
+ out.push(elements[i]);
36
+ i++;
37
+ continue;
38
+ }
39
+ const start = i;
40
+ const run = [];
41
+ while (i < steps.length && steps[i].groupId === gid) {
42
+ run.push(elements[i]);
43
+ i++;
44
+ }
45
+ const lastStep = steps[i - 1];
46
+ out.push(renderGroup(group, run, `group-${group.id}-${start}`));
47
+ if (suppress.has(lastStep.id)) {
48
+ out.push(renderBoundaryConnector(lastStep.id, `group-conn-${group.id}-${start}`));
49
+ }
50
+ }
51
+ return out;
52
+ }
53
+ //# sourceMappingURL=group-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-layout.js","sourceRoot":"","sources":["../../src/utils/group-layout.ts"],"names":[],"mappings":"AA0BA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC5D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,uBAAuB,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAEtG,MAAM,QAAQ,GAAG,CAAC,GAAuB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEnG,8EAA8E;IAC9E,kFAAkF;IAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,OAAO,KAAK,GAAG;YAAE,GAAG,EAAE,CAAC;QACxE,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe;YAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACd,CAAC;IAED,+EAA+E;IAC/E,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;QAClC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;QAC9B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAErD,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;QAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAE/B,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,KAAK,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyne/workflow-ui",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Workflow builder + execution-viewer React UI for @xyne/workflow-sdk.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {
@@ -39,7 +39,7 @@
39
39
  "prepublishOnly": "npm run build"
40
40
  },
41
41
  "peerDependencies": {
42
- "@xyne/workflow-sdk": ">=1.0.0",
42
+ "@xyne/workflow-sdk": ">=1.1.0",
43
43
  "react": ">=18.0.0",
44
44
  "react-dom": ">=18.0.0"
45
45
  },
@@ -48,12 +48,13 @@
48
48
  "@codemirror/lang-javascript": "^6.2.5",
49
49
  "@codemirror/theme-one-dark": "^6.1.3",
50
50
  "@codemirror/view": "^6.43.1",
51
- "@uiw/react-codemirror": "^4.25.10",
52
51
  "@tanstack/react-query": "^5.0.0",
53
52
  "@uiw/react-codemirror": "^4.25.10",
54
53
  "@xyflow/react": "^12.0.0",
55
54
  "clsx": "^2.0.0",
55
+ "react-markdown": "^9.1.0",
56
56
  "recharts": "^3.8.1",
57
+ "remark-gfm": "^4.0.1",
57
58
  "tailwind-merge": "^3.0.0"
58
59
  },
59
60
  "devDependencies": {
@@ -66,9 +67,9 @@
66
67
  "@xyne/workflow-sdk": "file:../workflow-sdk",
67
68
  "autoprefixer": "^10.4.20",
68
69
  "jsdom": "^25.0.0",
69
- "tailwindcss": "^3.4.17",
70
70
  "react": "^19.0.0",
71
71
  "react-dom": "^19.0.0",
72
+ "tailwindcss": "^3.4.17",
72
73
  "typescript": "^5.8.0",
73
74
  "vitest": "^3.2.1"
74
75
  },