@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.
- package/dist/components/builder/v3/GroupContainer.d.ts +21 -0
- package/dist/components/builder/v3/GroupContainer.d.ts.map +1 -0
- package/dist/components/builder/v3/GroupContainer.js +65 -0
- package/dist/components/builder/v3/GroupContainer.js.map +1 -0
- package/dist/components/builder/v3/SidePanel.d.ts +7 -1
- package/dist/components/builder/v3/SidePanel.d.ts.map +1 -1
- package/dist/components/builder/v3/SidePanel.js +2 -2
- package/dist/components/builder/v3/SidePanel.js.map +1 -1
- package/dist/components/builder/v3/StepConfigPanel.d.ts +12 -2
- package/dist/components/builder/v3/StepConfigPanel.d.ts.map +1 -1
- package/dist/components/builder/v3/StepConfigPanel.js +18 -2
- package/dist/components/builder/v3/StepConfigPanel.js.map +1 -1
- package/dist/components/builder/v3/StepNode.d.ts +5 -1
- package/dist/components/builder/v3/StepNode.d.ts.map +1 -1
- package/dist/components/builder/v3/StepNode.js +3 -3
- package/dist/components/builder/v3/StepNode.js.map +1 -1
- package/dist/components/builder/v3/SummaryButton.d.ts +14 -0
- package/dist/components/builder/v3/SummaryButton.d.ts.map +1 -0
- package/dist/components/builder/v3/SummaryButton.js +15 -0
- package/dist/components/builder/v3/SummaryButton.js.map +1 -0
- package/dist/components/builder/v3/SummaryDialog.d.ts +14 -0
- package/dist/components/builder/v3/SummaryDialog.d.ts.map +1 -0
- package/dist/components/builder/v3/SummaryDialog.js +44 -0
- package/dist/components/builder/v3/SummaryDialog.js.map +1 -0
- package/dist/components/builder/v3/WorkflowBuilderV3.d.ts +5 -2
- package/dist/components/builder/v3/WorkflowBuilderV3.d.ts.map +1 -1
- package/dist/components/builder/v3/WorkflowBuilderV3.js +21 -5
- package/dist/components/builder/v3/WorkflowBuilderV3.js.map +1 -1
- package/dist/components/builder/v3/WorkflowCanvas.d.ts +5 -1
- package/dist/components/builder/v3/WorkflowCanvas.d.ts.map +1 -1
- package/dist/components/builder/v3/WorkflowCanvas.js +2 -2
- package/dist/components/builder/v3/WorkflowCanvas.js.map +1 -1
- package/dist/components/builder/v3/WorkflowTree.d.ts +9 -2
- package/dist/components/builder/v3/WorkflowTree.d.ts.map +1 -1
- package/dist/components/builder/v3/WorkflowTree.js +24 -7
- package/dist/components/builder/v3/WorkflowTree.js.map +1 -1
- package/dist/components/dashboard/WorkflowDashboard.d.ts +4 -2
- package/dist/components/dashboard/WorkflowDashboard.d.ts.map +1 -1
- package/dist/components/dashboard/WorkflowDashboard.js +2 -2
- package/dist/components/dashboard/WorkflowDashboard.js.map +1 -1
- package/dist/components/dashboard/WorkflowSummaryEditor.d.ts +11 -0
- package/dist/components/dashboard/WorkflowSummaryEditor.d.ts.map +1 -0
- package/dist/components/dashboard/WorkflowSummaryEditor.js +46 -0
- package/dist/components/dashboard/WorkflowSummaryEditor.js.map +1 -0
- package/dist/components/execution/ExecutionHeader.d.ts +9 -1
- package/dist/components/execution/ExecutionHeader.d.ts.map +1 -1
- package/dist/components/execution/ExecutionHeader.js +4 -2
- package/dist/components/execution/ExecutionHeader.js.map +1 -1
- package/dist/components/execution/ExecutionTree.d.ts +4 -2
- package/dist/components/execution/ExecutionTree.d.ts.map +1 -1
- package/dist/components/execution/ExecutionTree.js +18 -4
- package/dist/components/execution/ExecutionTree.js.map +1 -1
- package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
- package/dist/components/execution/ExecutionViewer.js +20 -3
- package/dist/components/execution/ExecutionViewer.js.map +1 -1
- package/dist/components/execution/SidePanelShell.d.ts +24 -0
- package/dist/components/execution/SidePanelShell.d.ts.map +1 -0
- package/dist/components/execution/SidePanelShell.js +46 -0
- package/dist/components/execution/SidePanelShell.js.map +1 -0
- package/dist/components/execution/StepDetailPanel.d.ts +8 -1
- package/dist/components/execution/StepDetailPanel.d.ts.map +1 -1
- package/dist/components/execution/StepDetailPanel.js +4 -32
- package/dist/components/execution/StepDetailPanel.js.map +1 -1
- package/dist/components/execution/SummaryPanel.d.ts +19 -0
- package/dist/components/execution/SummaryPanel.d.ts.map +1 -0
- package/dist/components/execution/SummaryPanel.js +13 -0
- package/dist/components/execution/SummaryPanel.js.map +1 -0
- package/dist/components/index.d.ts +10 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/MarkdownView.d.ts +13 -0
- package/dist/components/shared/MarkdownView.d.ts.map +1 -0
- package/dist/components/shared/MarkdownView.js +30 -0
- package/dist/components/shared/MarkdownView.js.map +1 -0
- package/dist/hooks/use-workflow-builder.d.ts +11 -1
- package/dist/hooks/use-workflow-builder.d.ts.map +1 -1
- package/dist/hooks/use-workflow-builder.js +49 -0
- package/dist/hooks/use-workflow-builder.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utils/group-layout.d.ts +33 -0
- package/dist/utils/group-layout.d.ts.map +1 -0
- package/dist/utils/group-layout.js +53 -0
- package/dist/utils/group-layout.js.map +1 -0
- 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.
|
|
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.
|
|
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
|
},
|