@xyne/workflow-ui 0.1.3 → 0.3.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/automations/AutomationCard.d.ts +8 -2
- package/dist/components/automations/AutomationCard.d.ts.map +1 -1
- package/dist/components/automations/AutomationCard.js +12 -2
- package/dist/components/automations/AutomationCard.js.map +1 -1
- package/dist/components/automations/AutomationListView.d.ts.map +1 -1
- package/dist/components/automations/AutomationListView.js +106 -7
- package/dist/components/automations/AutomationListView.js.map +1 -1
- package/dist/components/automations/CreateWorkflowDialog.d.ts +8 -2
- package/dist/components/automations/CreateWorkflowDialog.d.ts.map +1 -1
- package/dist/components/automations/CreateWorkflowDialog.js +26 -3
- package/dist/components/automations/CreateWorkflowDialog.js.map +1 -1
- 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/index.d.ts +4 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-folder-list.d.ts +13 -0
- package/dist/hooks/use-folder-list.d.ts.map +1 -0
- package/dist/hooks/use-folder-list.js +48 -0
- package/dist/hooks/use-folder-list.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/hooks/use-workflow-counts.d.ts +12 -0
- package/dist/hooks/use-workflow-counts.d.ts.map +1 -0
- package/dist/hooks/use-workflow-counts.js +35 -0
- package/dist/hooks/use-workflow-counts.js.map +1 -0
- package/dist/hooks/use-workflow-list.d.ts +10 -1
- package/dist/hooks/use-workflow-list.d.ts.map +1 -1
- package/dist/hooks/use-workflow-list.js +15 -3
- package/dist/hooks/use-workflow-list.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
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import type { WorkflowConfig, WorkflowStepConfig } from '@xyne/workflow-sdk/builder';
|
|
1
|
+
import type { WorkflowConfig, WorkflowStepConfig, StepGroup } from '@xyne/workflow-sdk/builder';
|
|
2
2
|
export interface StepConfigPanelProps {
|
|
3
3
|
step: WorkflowStepConfig;
|
|
4
4
|
config: WorkflowConfig;
|
|
5
5
|
category?: string | undefined;
|
|
6
6
|
icon?: string | undefined;
|
|
7
7
|
onUpdateConfig: (config: Record<string, unknown>) => void;
|
|
8
|
+
/** Update the step's documentation fields (alias title/description, group membership). */
|
|
9
|
+
onUpdateMeta?: (meta: {
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
groupId?: string | null;
|
|
13
|
+
}) => void;
|
|
14
|
+
/** Existing step groups (for the group selector). */
|
|
15
|
+
groups?: StepGroup[] | undefined;
|
|
16
|
+
/** Create/update a group (used when creating a new group or editing its title). */
|
|
17
|
+
onUpsertGroup?: (group: StepGroup) => void;
|
|
8
18
|
onDelete: () => void;
|
|
9
19
|
onDuplicate: () => void;
|
|
10
20
|
onToggleDisabled: () => void;
|
|
11
21
|
readOnly: boolean;
|
|
12
22
|
}
|
|
13
|
-
export declare function StepConfigPanel({ step, config, category, icon, onUpdateConfig, onDelete, onDuplicate, onToggleDisabled, readOnly, }: StepConfigPanelProps): import("react").JSX.Element;
|
|
23
|
+
export declare function StepConfigPanel({ step, config, category, icon, onUpdateConfig, onUpdateMeta, groups, onUpsertGroup, onDelete, onDuplicate, onToggleDisabled, readOnly, }: StepConfigPanelProps): import("react").JSX.Element;
|
|
14
24
|
//# sourceMappingURL=StepConfigPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAa,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"StepConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAa,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAgB3G,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC1D,0FAA0F;IAC1F,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACjG,qDAAqD;IACrD,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;IACjC,mFAAmF;IACnF,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAaD,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,GACT,EAAE,oBAAoB,+BAmPtB"}
|
|
@@ -13,13 +13,16 @@ import { getStepIcon } from '../icons.js';
|
|
|
13
13
|
function defaultCondition() {
|
|
14
14
|
return { variable: '', operator: ConditionOperator.EQ, value: '' };
|
|
15
15
|
}
|
|
16
|
+
function genGroupId() {
|
|
17
|
+
return `group_${Math.random().toString(36).slice(2, 8)}`;
|
|
18
|
+
}
|
|
16
19
|
function formatTypeName(type) {
|
|
17
20
|
return type
|
|
18
21
|
.split(/[_-]/)
|
|
19
22
|
.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
|
|
20
23
|
.join(' ');
|
|
21
24
|
}
|
|
22
|
-
export function StepConfigPanel({ step, config, category, icon, onUpdateConfig, onDelete, onDuplicate, onToggleDisabled, readOnly, }) {
|
|
25
|
+
export function StepConfigPanel({ step, config, category, icon, onUpdateConfig, onUpdateMeta, groups, onUpsertGroup, onDelete, onDuplicate, onToggleDisabled, readOnly, }) {
|
|
23
26
|
const isConditional = step.type === 'CONDITIONAL';
|
|
24
27
|
const isSwitch = step.type === 'SWITCH';
|
|
25
28
|
const hasSpecialEditor = isConditional || isSwitch;
|
|
@@ -39,7 +42,20 @@ export function StepConfigPanel({ step, config, category, icon, onUpdateConfig,
|
|
|
39
42
|
return new Set(Object.keys(branches).map((k) => k.split('.')[0]));
|
|
40
43
|
}, [stepConfig, descriptor?.configSchema]);
|
|
41
44
|
const visibleFields = useMemo(() => fields.filter((f) => !branchTopKeys.has(f.path)), [fields, branchTopKeys]);
|
|
42
|
-
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-b border-slate-100 px-5 py-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: displayName }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category ?? step.type })] })] })] }), _jsxs("div", { className: "mt-3 flex items-center gap-2 rounded-md bg-slate-50 px-3 py-1.5", children: [_jsx("span", { className: "text-[10px] text-slate-400 font-medium", children: "Ref" }), _jsx("code", { className: "text-[11px] font-mono text-indigo-500 select-all", children: `{{${step.id}.output}}` })] })] }),
|
|
45
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-b border-slate-100 px-5 py-4", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: cn('flex h-9 w-9 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: displayName }), _jsxs("div", { className: "flex items-center gap-1.5 mt-0.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category ?? step.type })] })] })] }), _jsxs("div", { className: "mt-3 flex items-center gap-2 rounded-md bg-slate-50 px-3 py-1.5", children: [_jsx("span", { className: "text-[10px] text-slate-400 font-medium", children: "Ref" }), _jsx("code", { className: "text-[11px] font-mono text-indigo-500 select-all", children: `{{${step.id}.output}}` })] })] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: [onUpdateMeta && !readOnly && (_jsxs("div", { className: "mb-5 space-y-3 rounded-lg border border-slate-100 bg-slate-50/50 p-3", children: [_jsx("h4", { className: "text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Annotations" }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Title" }), _jsx("input", { type: "text", value: step.title ?? '', onChange: (e) => onUpdateMeta({ title: e.target.value }), placeholder: displayName, className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Description" }), _jsx("textarea", { value: step.description ?? '', onChange: (e) => onUpdateMeta({ description: e.target.value }), rows: 2, placeholder: "What this step does\u2026", className: "w-full resize-y rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] }), _jsxs("div", { children: [_jsx("label", { className: "mb-1 block text-[11px] font-medium text-slate-500", children: "Group" }), _jsxs("select", { value: step.groupId ?? '', onChange: (e) => {
|
|
46
|
+
const v = e.target.value;
|
|
47
|
+
if (v === '__new__') {
|
|
48
|
+
const id = genGroupId();
|
|
49
|
+
onUpsertGroup?.({ id, title: 'New Group' });
|
|
50
|
+
onUpdateMeta({ groupId: id });
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
onUpdateMeta({ groupId: v || null });
|
|
54
|
+
}
|
|
55
|
+
}, className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] bg-white outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100", children: [_jsx("option", { value: "", children: "No group" }), (groups ?? []).map((g) => (_jsx("option", { value: g.id, children: g.title }, g.id))), _jsx("option", { value: "__new__", children: "\uFF0B Create group\u2026" })] }), step.groupId && onUpsertGroup && (() => {
|
|
56
|
+
const current = (groups ?? []).find((g) => g.id === step.groupId);
|
|
57
|
+
return current ? (_jsxs("div", { className: "mt-2 space-y-1.5 rounded-md border border-slate-200 bg-white p-2", children: [_jsx("span", { className: "block text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Group details" }), _jsx("input", { type: "text", value: current.title, onChange: (e) => onUpsertGroup({ ...current, title: e.target.value }), placeholder: "Group title", className: "w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" }), _jsx("textarea", { value: current.description ?? '', onChange: (e) => onUpsertGroup({ ...current, description: e.target.value }), rows: 2, placeholder: "What this group of steps does\u2026", className: "w-full resize-y rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100" })] })) : null;
|
|
58
|
+
})()] })] })), isConditional ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-1 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Condition" }), _jsx("p", { className: "mb-3 text-[11px] text-slate-400", children: "Define when the true branch executes" }), _jsx(ConditionEditorPanel, { condition: stepConfig['condition'] ?? defaultCondition(), onChange: (c) => onUpdateConfig({ ...stepConfig, condition: c }), config: config, atStepId: step.id, readOnly: readOnly })] })) : isSwitch ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-1 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Switch Cases" }), _jsx("p", { className: "mb-3 text-[11px] text-slate-400", children: "Route to the first matching case" }), _jsx(SwitchCaseEditor, { cases: stepConfig['cases'] ?? [], onChange: (c) => onUpdateConfig({ ...stepConfig, cases: c }), config: config, atStepId: step.id, readOnly: readOnly })] })) : isLoading ? (_jsx("div", { className: "flex justify-center py-12", children: _jsx(LoadingSpinner, { size: "md" }) })) : visibleFields.length > 0 ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-3 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Configuration" }), _jsx(EnhancedSchemaFormRenderer, { fields: visibleFields, values: values, errors: errors, onChange: (path, value) => setFieldValue(path, value), config: config, atStepId: step.id, readOnly: readOnly })] })) : (_jsxs("div", { className: "flex flex-col items-center py-12 text-center", children: [_jsx("div", { className: "mb-3 flex h-10 w-10 items-center justify-center rounded-full bg-slate-50 ring-1 ring-slate-100", children: _jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", className: "text-slate-300", strokeLinecap: "round", children: [_jsx("path", { d: "M12 8v4l3 3" }), _jsx("circle", { cx: "12", cy: "12", r: "10" })] }) }), _jsx("p", { className: "text-[13px] font-medium text-slate-400", children: "No configuration needed" }), _jsx("p", { className: "mt-1 text-[11px] text-slate-300", children: "This step works with default settings" })] }))] }), !readOnly && (_jsxs("div", { className: "flex gap-2 border-t border-slate-100 px-5 py-3", children: [_jsxs("button", { onClick: onToggleDisabled, className: cn('flex items-center justify-center gap-1.5 rounded-lg border px-3 py-2 text-[12px] font-medium transition-all', isDisabled
|
|
43
59
|
? 'border-emerald-200 text-emerald-600 hover:bg-emerald-50'
|
|
44
60
|
: 'border-slate-200 text-slate-500 hover:bg-slate-50 hover:border-slate-300'), children: [_jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: isDisabled
|
|
45
61
|
? _jsxs(_Fragment, { children: [_jsx("path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z" }), _jsx("circle", { cx: "12", cy: "12", r: "3" })] })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,SAAS,gBAAgB;IACvB,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACrE,CAAC;
|
|
1
|
+
{"version":3,"file":"StepConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,10 @@ export type ExecutionStepStatus = 'pending' | 'running' | 'completed' | 'failed'
|
|
|
2
2
|
export interface StepNodeProps {
|
|
3
3
|
stepId: string;
|
|
4
4
|
label: string;
|
|
5
|
+
/** Secondary line under the label — the step type name, shown when an alias title is set. */
|
|
6
|
+
subLabel?: string | undefined;
|
|
7
|
+
/** Per-step alias description; surfaced as a one-line subtitle + hover tooltip. */
|
|
8
|
+
description?: string | undefined;
|
|
5
9
|
category?: string | undefined;
|
|
6
10
|
icon?: string | undefined;
|
|
7
11
|
isSelected: boolean;
|
|
@@ -14,5 +18,5 @@ export interface StepNodeProps {
|
|
|
14
18
|
onDuplicate?: () => void;
|
|
15
19
|
onToggleDisabled?: () => void;
|
|
16
20
|
}
|
|
17
|
-
export declare function StepNode({ label, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }: StepNodeProps): import("react").JSX.Element;
|
|
21
|
+
export declare function StepNode({ label, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }: StepNodeProps): import("react").JSX.Element;
|
|
18
22
|
//# sourceMappingURL=StepNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepNode.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepNode.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,wFAAwF;IACxF,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,gBAAgB,GACjB,EAAE,aAAa,+
|
|
1
|
+
{"version":3,"file":"StepNode.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepNode.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExG,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,wFAAwF;IACxF,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,eAAe,EACf,OAAO,EACP,QAAQ,EACR,WAAW,EACX,gBAAgB,GACjB,EAAE,aAAa,+BA0Hf"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { cn } from '../../shared/cn.js';
|
|
3
3
|
import { getCategoryTheme } from '../theme.js';
|
|
4
4
|
import { getStepIcon } from '../icons.js';
|
|
5
|
-
export function StepNode({ label, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }) {
|
|
5
|
+
export function StepNode({ label, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }) {
|
|
6
6
|
const theme = getCategoryTheme(category);
|
|
7
7
|
const isExecution = executionStatus !== undefined;
|
|
8
8
|
// Execution-mode border + ring classes
|
|
@@ -23,11 +23,11 @@ export function StepNode({ label, category, icon, isSelected, isDisabled, readOn
|
|
|
23
23
|
skipped: '',
|
|
24
24
|
}[executionStatus]) : undefined;
|
|
25
25
|
const isPending = isExecution && (executionStatus === 'pending' || executionStatus === 'skipped');
|
|
26
|
-
return (_jsxs("div", { onClick: (e) => { e.stopPropagation(); onClick(); }, className: cn('group relative flex w-48 cursor-pointer items-center gap-3 rounded-lg border bg-white px-3 py-3 transition-all', isExecution
|
|
26
|
+
return (_jsxs("div", { onClick: (e) => { e.stopPropagation(); onClick(); }, title: description || undefined, className: cn('group relative flex w-48 cursor-pointer items-center gap-3 rounded-lg border bg-white px-3 py-3 transition-all', isExecution
|
|
27
27
|
? `border-l-[3px] ${execBorder} ${execRing} shadow-sm`
|
|
28
28
|
: cn(`border-l-[3px] ${theme.accent}`, isSelected
|
|
29
29
|
? `ring-2 ${theme.ring} shadow-md`
|
|
30
|
-
: 'border-slate-200 shadow-sm hover:shadow-md hover:-translate-y-px hover:border-slate-300'), isSelected && isExecution && 'shadow-md', (isDisabled || isPending) && 'opacity-40 grayscale'), style: { animation: 'wui-scale-in 200ms ease-out' }, children: [_jsx("div", { className: cn('flex h-8 w-8 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 16 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-[13px] font-semibold text-slate-800 leading-tight", children: label }), category && (_jsxs("div", { className: "mt-0.5 flex items-center gap-1.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category })] }))] }), !readOnly && (_jsxs("div", { className: cn('absolute -right-1 -top-3 flex gap-1 transition-all duration-150', 'opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0'), children: [onDuplicate && (_jsx("button", { onClick: (e) => { e.stopPropagation(); onDuplicate(); }, className: "flex h-6 w-6 items-center justify-center rounded-md bg-white text-slate-400 shadow-md ring-1 ring-slate-200/80 hover:text-slate-700 hover:ring-slate-300 transition-colors", title: "Duplicate", children: _jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { width: "13", height: "13", x: "9", y: "9", rx: "2" }), _jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }) })), onToggleDisabled && (_jsx("button", { onClick: (e) => { e.stopPropagation(); onToggleDisabled(); }, className: "flex h-6 w-6 items-center justify-center rounded-md bg-white text-slate-400 shadow-md ring-1 ring-slate-200/80 hover:text-slate-700 hover:ring-slate-300 transition-colors", title: isDisabled ? 'Enable' : 'Disable', children: _jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: isDisabled
|
|
30
|
+
: 'border-slate-200 shadow-sm hover:shadow-md hover:-translate-y-px hover:border-slate-300'), isSelected && isExecution && 'shadow-md', (isDisabled || isPending) && 'opacity-40 grayscale'), style: { animation: 'wui-scale-in 200ms ease-out' }, children: [_jsx("div", { className: cn('flex h-8 w-8 shrink-0 items-center justify-center rounded-lg', theme.iconBg, theme.iconText), children: getStepIcon(icon, { size: 16 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-[13px] font-semibold text-slate-800 leading-tight", children: label }), subLabel && (_jsx("div", { className: "truncate text-[11px] text-slate-500 leading-tight", children: subLabel })), description && (_jsx("div", { className: "truncate text-[10px] text-slate-400 leading-tight", children: description })), category && (_jsxs("div", { className: "mt-0.5 flex items-center gap-1.5", children: [_jsx("span", { className: cn('h-1.5 w-1.5 rounded-full', theme.dot) }), _jsx("span", { className: "text-[10px] text-slate-400 uppercase tracking-wide", children: category })] }))] }), !readOnly && (_jsxs("div", { className: cn('absolute -right-1 -top-3 flex gap-1 transition-all duration-150', 'opacity-0 translate-y-1 group-hover:opacity-100 group-hover:translate-y-0'), children: [onDuplicate && (_jsx("button", { onClick: (e) => { e.stopPropagation(); onDuplicate(); }, className: "flex h-6 w-6 items-center justify-center rounded-md bg-white text-slate-400 shadow-md ring-1 ring-slate-200/80 hover:text-slate-700 hover:ring-slate-300 transition-colors", title: "Duplicate", children: _jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { width: "13", height: "13", x: "9", y: "9", rx: "2" }), _jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }) })), onToggleDisabled && (_jsx("button", { onClick: (e) => { e.stopPropagation(); onToggleDisabled(); }, className: "flex h-6 w-6 items-center justify-center rounded-md bg-white text-slate-400 shadow-md ring-1 ring-slate-200/80 hover:text-slate-700 hover:ring-slate-300 transition-colors", title: isDisabled ? 'Enable' : 'Disable', children: _jsx("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: isDisabled
|
|
31
31
|
? _jsxs(_Fragment, { children: [_jsx("path", { d: "M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z" }), _jsx("circle", { cx: "12", cy: "12", r: "3" })] })
|
|
32
32
|
: _jsxs(_Fragment, { children: [_jsx("path", { d: "M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68" }), _jsx("path", { d: "M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61" }), _jsx("line", { x1: "2", x2: "22", y1: "2", y2: "22" })] }) }) })), onDelete && (_jsx("button", { onClick: (e) => { e.stopPropagation(); onDelete(); }, className: "flex h-6 w-6 items-center justify-center rounded-md bg-white text-red-400 shadow-md ring-1 ring-red-200/60 hover:text-red-600 hover:bg-red-50 hover:ring-red-300 transition-colors", title: "Delete", children: _jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M3 6h18" }), _jsx("path", { d: "M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" }), _jsx("path", { d: "M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" })] }) }))] }))] }));
|
|
33
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepNode.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"StepNode.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepNode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SummaryButtonProps {
|
|
2
|
+
/** Current summary markdown (empty string when unset). */
|
|
3
|
+
value: string;
|
|
4
|
+
/** Called when the user applies edits in the dialog. Persists via the builder's Save. */
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
className?: string | undefined;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Trigger for the workflow-summary editor: a compact button that opens a modal
|
|
10
|
+
* markdown editor ({@link SummaryDialog}). The summary is part of the builder's
|
|
11
|
+
* save payload, so there is no separate save here.
|
|
12
|
+
*/
|
|
13
|
+
export declare function SummaryButton({ value, onChange, className }: SummaryButtonProps): import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=SummaryButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryButton.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/SummaryButton.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,yFAAyF;IACzF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BAkC/E"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { SummaryDialog } from './SummaryDialog.js';
|
|
4
|
+
import { cn } from '../../shared/cn.js';
|
|
5
|
+
/**
|
|
6
|
+
* Trigger for the workflow-summary editor: a compact button that opens a modal
|
|
7
|
+
* markdown editor ({@link SummaryDialog}). The summary is part of the builder's
|
|
8
|
+
* save payload, so there is no separate save here.
|
|
9
|
+
*/
|
|
10
|
+
export function SummaryButton({ value, onChange, className }) {
|
|
11
|
+
const [open, setOpen] = useState(false);
|
|
12
|
+
const hasSummary = value.trim().length > 0;
|
|
13
|
+
return (_jsxs("div", { className: cn('relative', className), children: [_jsxs("button", { type: "button", "data-testid": "summary-button", onClick: () => setOpen(true), title: hasSummary ? 'Edit workflow summary' : 'Add a summary describing this workflow', className: cn('flex items-center gap-1.5 rounded-md border px-2.5 py-1.5 text-[13px] font-semibold shadow-sm transition-colors', 'border-slate-200 bg-white text-slate-600 hover:bg-slate-50'), children: [_jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z" }), _jsx("path", { d: "M14 2v6h6" }), _jsx("path", { d: "M16 13H8" }), _jsx("path", { d: "M16 17H8" }), _jsx("path", { d: "M10 9H8" })] }), "Summary", !hasSummary && (_jsx("span", { className: "h-1.5 w-1.5 rounded-full bg-amber-400", title: "No summary yet" }))] }), open && (_jsx(SummaryDialog, { value: value, onApply: onChange, onClose: () => setOpen(false) }))] }));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=SummaryButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryButton.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/SummaryButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAUxC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAsB;IAC9E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3C,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,aACvC,kBACE,IAAI,EAAC,QAAQ,iBACD,gBAAgB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,wCAAwC,EACtF,SAAS,EAAE,EAAE,CACX,iHAAiH,EACjH,4DAA4D,CAC7D,aAED,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC5I,eAAM,CAAC,EAAC,4DAA4D,GAAE,EAAA,eAAM,CAAC,EAAC,WAAW,GAAE,EAAA,eAAM,CAAC,EAAC,UAAU,GAAE,EAAA,eAAM,CAAC,EAAC,UAAU,GAAE,EAAA,eAAM,CAAC,EAAC,SAAS,GAAE,IAClJ,aAEL,CAAC,UAAU,IAAI,CACd,eAAM,SAAS,EAAC,uCAAuC,EAAC,KAAK,EAAC,gBAAgB,GAAG,CAClF,IACM,EAER,IAAI,IAAI,CACP,KAAC,aAAa,IACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAC7B,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface SummaryDialogProps {
|
|
2
|
+
/** Current summary markdown. */
|
|
3
|
+
value: string;
|
|
4
|
+
/** Apply the edited summary (in-memory). Persistence happens via the builder's Save. */
|
|
5
|
+
onApply: (value: string) => void;
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Modal editor for the workflow summary (markdown). Author can paste/type
|
|
10
|
+
* markdown or upload a `.md` file, with a live rendered preview. Applying only
|
|
11
|
+
* updates in-memory state — the summary is persisted with the workflow's Save.
|
|
12
|
+
*/
|
|
13
|
+
export declare function SummaryDialog({ value, onApply, onClose }: SummaryDialogProps): import("react").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=SummaryDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryDialog.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/SummaryDialog.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAID;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,kBAAkB,+BA2H5E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useRef, useState } from 'react';
|
|
3
|
+
import { MarkdownView } from '../../shared/MarkdownView.js';
|
|
4
|
+
import { cn } from '../../shared/cn.js';
|
|
5
|
+
/**
|
|
6
|
+
* Modal editor for the workflow summary (markdown). Author can paste/type
|
|
7
|
+
* markdown or upload a `.md` file, with a live rendered preview. Applying only
|
|
8
|
+
* updates in-memory state — the summary is persisted with the workflow's Save.
|
|
9
|
+
*/
|
|
10
|
+
export function SummaryDialog({ value, onApply, onClose }) {
|
|
11
|
+
const [draft, setDraft] = useState(value);
|
|
12
|
+
const [tab, setTab] = useState('write');
|
|
13
|
+
const [uploadError, setUploadError] = useState(null);
|
|
14
|
+
const fileRef = useRef(null);
|
|
15
|
+
const handleUpload = async (file) => {
|
|
16
|
+
setUploadError(null);
|
|
17
|
+
if (!file)
|
|
18
|
+
return;
|
|
19
|
+
const tooBig = file.size > 1024 * 1024; // 1 MB guard
|
|
20
|
+
if (tooBig) {
|
|
21
|
+
setUploadError('File is too large (max 1 MB).');
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const text = await file.text();
|
|
26
|
+
setDraft(text);
|
|
27
|
+
setTab('preview');
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
setUploadError('Could not read that file.');
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
const apply = () => {
|
|
34
|
+
onApply(draft);
|
|
35
|
+
onClose();
|
|
36
|
+
};
|
|
37
|
+
return (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center", "data-testid": "summary-dialog", children: [_jsx("div", { className: "absolute inset-0 bg-black/30", onClick: onClose }), _jsxs("div", { className: cn('relative z-10 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-xl border border-slate-200 bg-white shadow-xl', 'animate-[wui-fade-in_150ms_ease-out]'), children: [_jsxs("div", { className: "flex items-center justify-between border-b border-slate-200/80 px-5 py-3.5", children: [_jsx("h3", { className: "text-sm font-semibold text-slate-800", children: "Workflow Summary" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsxs("button", { type: "button", "data-testid": "summary-upload", onClick: () => fileRef.current?.click(), className: "flex items-center gap-1.5 rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] font-semibold text-slate-600 hover:bg-slate-50", children: [_jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" }), _jsx("polyline", { points: "17 8 12 3 7 8" }), _jsx("line", { x1: "12", x2: "12", y1: "3", y2: "15" })] }), "Upload .md"] }), _jsx("input", { ref: fileRef, type: "file", accept: ".md,.markdown,text/markdown,text/plain", className: "hidden", "data-testid": "summary-file-input", onChange: (e) => { void handleUpload(e.target.files?.[0]); e.target.value = ''; } }), _jsx("button", { onClick: onClose, className: "flex h-6 w-6 items-center justify-center rounded-md text-slate-400 hover:bg-slate-100 hover:text-slate-600 transition-colors", "aria-label": "Close", children: _jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) })] })] }), _jsxs("div", { className: "flex items-center gap-1 border-b border-slate-200/80 px-5", children: [_jsx(TabButton, { label: "Write", active: tab === 'write', onClick: () => setTab('write'), testid: "summary-tab-write" }), _jsx(TabButton, { label: "Preview", active: tab === 'preview', onClick: () => setTab('preview'), testid: "summary-tab-preview" }), uploadError && _jsx("span", { className: "ml-auto py-2 text-[12px] text-red-600", children: uploadError })] }), _jsx("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: tab === 'write' ? (_jsx("textarea", { "data-testid": "summary-input", value: draft, onChange: (e) => setDraft(e.target.value), placeholder: 'Describe what this workflow does…\n\nMarkdown supported — headings, **bold**, lists, links, tables.', className: "h-[45vh] w-full resize-none rounded-md border border-slate-200 px-3 py-2.5 font-mono text-[13px] leading-relaxed outline-none focus:border-indigo-400 focus:ring-2 focus:ring-indigo-100" })) : (_jsx("div", { className: "min-h-[45vh]", "data-testid": "summary-preview", children: draft.trim() ? (_jsx(MarkdownView, { children: draft })) : (_jsx("p", { className: "text-[13px] italic text-slate-400", children: "Nothing to preview yet." })) })) }), _jsxs("div", { className: "flex items-center justify-end gap-2 border-t border-slate-200/80 px-5 py-3", children: [_jsx("button", { type: "button", onClick: onClose, className: "rounded-md px-3.5 py-1.5 text-[13px] font-semibold text-slate-500 hover:bg-slate-100", children: "Cancel" }), _jsx("button", { type: "button", "data-testid": "summary-apply", onClick: apply, className: "rounded-md bg-indigo-500 px-3.5 py-1.5 text-[13px] font-semibold text-white shadow-sm hover:bg-indigo-600", children: "Done" })] })] })] }));
|
|
38
|
+
}
|
|
39
|
+
function TabButton({ label, active, onClick, testid, }) {
|
|
40
|
+
return (_jsx("button", { type: "button", "data-testid": testid, onClick: onClick, className: cn('border-b-2 px-3 py-2.5 text-[13px] font-semibold transition-colors', active
|
|
41
|
+
? 'border-indigo-500 text-indigo-600'
|
|
42
|
+
: 'border-transparent text-slate-400 hover:text-slate-600'), children: label }));
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=SummaryDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SummaryDialog.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/SummaryDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,14 @@ import { type UseWorkflowBuilderReturn } from '../../../hooks/use-workflow-build
|
|
|
3
3
|
export interface WorkflowBuilderV3Props {
|
|
4
4
|
builder?: UseWorkflowBuilderReturn | undefined;
|
|
5
5
|
initialConfig?: WorkflowConfig | undefined;
|
|
6
|
+
/** Initial workflow summary (a record-level column, edited via the popover). */
|
|
7
|
+
initialSummary?: string | null | undefined;
|
|
6
8
|
onChange?: ((config: WorkflowConfig) => void) | undefined;
|
|
7
|
-
|
|
9
|
+
/** Persists the workflow. Summary travels with config in one save call. */
|
|
10
|
+
onSave?: ((config: WorkflowConfig, summary: string | null) => Promise<void>) | undefined;
|
|
8
11
|
onTestRun?: ((config: WorkflowConfig) => void) | undefined;
|
|
9
12
|
readOnly?: boolean | undefined;
|
|
10
13
|
className?: string | undefined;
|
|
11
14
|
}
|
|
12
|
-
export declare function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onChange, onSave, readOnly, className, }: WorkflowBuilderV3Props): import("react").JSX.Element;
|
|
15
|
+
export declare function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, initialSummary, onChange, onSave, readOnly, className, }: WorkflowBuilderV3Props): import("react").JSX.Element;
|
|
13
16
|
//# sourceMappingURL=WorkflowBuilderV3.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowBuilderV3.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowBuilderV3.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowBuilderV3.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowBuilderV3.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAsB,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAe3G,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC/C,aAAa,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAC3C,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,2EAA2E;IAC3E,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACzF,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EAAE,eAAe,EACxB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,MAAM,EACN,QAAgB,EAChB,SAAS,GACV,EAAE,sBAAsB,+BAwRxB"}
|
|
@@ -7,12 +7,13 @@ import { SidePanel } from './SidePanel.js';
|
|
|
7
7
|
import { StepPicker } from './StepPicker.js';
|
|
8
8
|
import { TriggerPicker } from './TriggerPicker.js';
|
|
9
9
|
import { BuilderToolbar } from './BuilderToolbar.js';
|
|
10
|
+
import { SummaryButton } from './SummaryButton.js';
|
|
10
11
|
import { cn } from '../../shared/cn.js';
|
|
11
12
|
/** Whether the config panel is showing (step or trigger selected). */
|
|
12
13
|
function isPanelOpen(selectedStepId, isTriggerSelected) {
|
|
13
14
|
return !!selectedStepId || isTriggerSelected;
|
|
14
15
|
}
|
|
15
|
-
export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onChange, onSave, readOnly = false, className, }) {
|
|
16
|
+
export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, initialSummary, onChange, onSave, readOnly = false, className, }) {
|
|
16
17
|
const opts = { autoValidate: true };
|
|
17
18
|
if (initialConfig)
|
|
18
19
|
opts.initialConfig = initialConfig;
|
|
@@ -20,6 +21,16 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onC
|
|
|
20
21
|
opts.onChange = onChange;
|
|
21
22
|
const internalBuilder = useWorkflowBuilder(opts);
|
|
22
23
|
const builder = externalBuilder ?? internalBuilder;
|
|
24
|
+
// Workflow summary (record-level column). Seeded from the prop; edited via
|
|
25
|
+
// the popover. `baselineSummary` is the last-persisted value, used for dirty
|
|
26
|
+
// detection alongside the builder's config dirtiness.
|
|
27
|
+
const [summary, setSummary] = useState(initialSummary ?? '');
|
|
28
|
+
const [baselineSummary, setBaselineSummary] = useState(initialSummary ?? '');
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
setSummary(initialSummary ?? '');
|
|
31
|
+
setBaselineSummary(initialSummary ?? '');
|
|
32
|
+
}, [initialSummary]);
|
|
33
|
+
const summaryDirty = summary !== baselineSummary;
|
|
23
34
|
// Save state. `justSaved` stays until the next edit, so the user always sees
|
|
24
35
|
// whether their current changes are persisted.
|
|
25
36
|
const [saving, setSaving] = useState(false);
|
|
@@ -31,7 +42,8 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onC
|
|
|
31
42
|
setSaving(true);
|
|
32
43
|
setSaveError(null);
|
|
33
44
|
try {
|
|
34
|
-
await onSave(builder.config);
|
|
45
|
+
await onSave(builder.config, summary.trim() ? summary : null);
|
|
46
|
+
setBaselineSummary(summary);
|
|
35
47
|
setJustSaved(true);
|
|
36
48
|
}
|
|
37
49
|
catch (err) {
|
|
@@ -40,11 +52,11 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onC
|
|
|
40
52
|
finally {
|
|
41
53
|
setSaving(false);
|
|
42
54
|
}
|
|
43
|
-
}, [onSave, saving, builder.config]);
|
|
55
|
+
}, [onSave, saving, builder.config, summary]);
|
|
44
56
|
// Any edit after a save clears the "Saved" badge (back to an unsaved state).
|
|
45
57
|
useEffect(() => {
|
|
46
58
|
setJustSaved(false);
|
|
47
|
-
}, [builder.config]);
|
|
59
|
+
}, [builder.config, summary]);
|
|
48
60
|
const { stepMeta, triggerMeta } = useStepMetadata(builder.config);
|
|
49
61
|
// Picker state
|
|
50
62
|
const [showStepPicker, setShowStepPicker] = useState(false);
|
|
@@ -151,6 +163,10 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, onC
|
|
|
151
163
|
flex: isPanelOpen(builder.selectedStepId, builder.isTriggerSelected)
|
|
152
164
|
? '0 0 55%'
|
|
153
165
|
: '1 1 100%',
|
|
154
|
-
}, children: [_jsx(WorkflowCanvas, { zoom: zoom, config: builder.config, stepMeta: stepMeta, triggerMeta: triggerMeta, selectedStepId: builder.selectedStepId, isTriggerSelected: builder.isTriggerSelected, isTriggerConfigured: builder.isTriggerConfigured, readOnly: readOnly, onTriggerClick: handleTriggerClick, onStepClick: handleStepClick, onAddStep: handleAddStep, onCanvasClick: handleCanvasClick, onDeleteStep: (id) => builder.removeStep(id), onDuplicateStep: (id) => builder.duplicateStep(id), onToggleStepDisabled: (id) => builder.toggleStepDisabled(id), onAddBranch: (stepId, container, name) => builder.addBranch(stepId, container, name), onRenameBranch: (stepId, container, oldName, newName) => builder.renameBranch(stepId, container, oldName, newName)
|
|
166
|
+
}, children: [_jsx(WorkflowCanvas, { zoom: zoom, config: builder.config, stepMeta: stepMeta, triggerMeta: triggerMeta, selectedStepId: builder.selectedStepId, isTriggerSelected: builder.isTriggerSelected, isTriggerConfigured: builder.isTriggerConfigured, readOnly: readOnly, onTriggerClick: handleTriggerClick, onStepClick: handleStepClick, onAddStep: handleAddStep, onCanvasClick: handleCanvasClick, onDeleteStep: (id) => builder.removeStep(id), onDuplicateStep: (id) => builder.duplicateStep(id), onToggleStepDisabled: (id) => builder.toggleStepDisabled(id), onAddBranch: (stepId, container, name) => builder.addBranch(stepId, container, name), onRenameBranch: (stepId, container, oldName, newName) => builder.renameBranch(stepId, container, oldName, newName), onUpdateGroup: (groupId, patch) => {
|
|
167
|
+
const current = builder.config.groups?.find((g) => g.id === groupId);
|
|
168
|
+
if (current)
|
|
169
|
+
builder.upsertGroup({ ...current, ...patch });
|
|
170
|
+
} }), !readOnly && (_jsx(BuilderToolbar, { canUndo: builder.canUndo, canRedo: builder.canRedo, onUndo: builder.undo, onRedo: builder.redo, onZoomIn: handleZoomIn, onZoomOut: handleZoomOut, onFitView: handleFitView })), !readOnly && onSave && (_jsxs("div", { className: "absolute right-3 top-3 z-10 flex items-center gap-2", children: [saveError && (_jsx("span", { className: "max-w-xs truncate rounded-md bg-red-50 px-2 py-1 text-[11px] text-red-600", title: saveError, children: saveError })), (builder.isDirty || summaryDirty) && !justSaved && (_jsx("span", { className: "text-[11px] font-medium text-amber-600", title: "Unsaved changes", children: "\u25CF Unsaved" })), _jsx(SummaryButton, { value: summary, onChange: setSummary }), _jsxs("button", { type: "button", "data-testid": "builder-save", onClick: () => void handleSave(), disabled: saving, className: cn('flex items-center gap-1.5 rounded-md px-3.5 py-1.5 text-[13px] font-semibold text-white shadow-sm transition-colors', justSaved ? 'bg-emerald-500 hover:bg-emerald-600' : 'bg-indigo-500 hover:bg-indigo-600', saving && 'opacity-50 cursor-not-allowed'), children: [justSaved ? (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) : (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z" }), _jsx("path", { d: "M17 21v-8H7v8" }), _jsx("path", { d: "M7 3v5h8" })] })), saving ? 'Saving…' : justSaved ? 'Saved' : 'Save'] })] }))] }), _jsx(SidePanel, { selectedStep: selectedStep, isTriggerSelected: builder.isTriggerSelected, config: builder.config, stepMeta: stepMeta, triggerMeta: triggerMeta, triggerType: builder.config.trigger.type, triggerConfig: (builder.config.trigger.config ?? {}), readOnly: readOnly, onUpdateStepConfig: (id, config) => builder.updateStepConfig(id, config), onUpdateStepMeta: (id, meta) => builder.updateStepMeta(id, meta), onUpsertGroup: (group) => builder.upsertGroup(group), onDeleteStep: (id) => builder.removeStep(id), onDuplicateStep: (id) => builder.duplicateStep(id), onToggleStepDisabled: (id) => builder.toggleStepDisabled(id), onUpdateTriggerConfig: (config) => builder.updateTriggerConfig(config), onRequestChangeTrigger: () => setShowTriggerPicker(true), onClose: () => builder.clearSelection() }), _jsx(StepPicker, { open: showStepPicker, context: stepPickerContext, onSelect: handleStepPickerSelect, onClose: () => setShowStepPicker(false) }), _jsx(TriggerPicker, { open: showTriggerPicker, onSelect: handleTriggerPickerSelect, onClose: () => setShowTriggerPicker(false) })] }));
|
|
155
171
|
}
|
|
156
172
|
//# sourceMappingURL=WorkflowBuilderV3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowBuilderV3.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowBuilderV3.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkflowBuilderV3.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowBuilderV3.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,10 @@ export interface WorkflowCanvasProps {
|
|
|
21
21
|
onToggleStepDisabled: (stepId: string) => void;
|
|
22
22
|
onAddBranch: (stepId: string, container: string, name: string) => void;
|
|
23
23
|
onRenameBranch: (stepId: string, container: string, oldName: string, newName: string) => void;
|
|
24
|
+
onUpdateGroup?: ((groupId: string, patch: {
|
|
25
|
+
title?: string;
|
|
26
|
+
description?: string;
|
|
27
|
+
}) => void) | undefined;
|
|
24
28
|
}
|
|
25
|
-
export declare function WorkflowCanvas({ config, stepMeta, triggerMeta, selectedStepId, isTriggerSelected, isTriggerConfigured, readOnly, zoom, onTriggerClick, onStepClick, onAddStep, onCanvasClick, onDeleteStep, onDuplicateStep, onToggleStepDisabled, onAddBranch, onRenameBranch, }: WorkflowCanvasProps): import("react").JSX.Element;
|
|
29
|
+
export declare function WorkflowCanvas({ config, stepMeta, triggerMeta, selectedStepId, isTriggerSelected, isTriggerConfigured, readOnly, zoom, onTriggerClick, onStepClick, onAddStep, onCanvasClick, onDeleteStep, onDuplicateStep, onToggleStepDisabled, onAddBranch, onRenameBranch, onUpdateGroup, }: WorkflowCanvasProps): import("react").JSX.Element;
|
|
26
30
|
//# sourceMappingURL=WorkflowCanvas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAMjF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5F,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAMjF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5F,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9F,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC1G;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,QAAQ,EACR,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,QAAQ,EACR,IAAQ,EACR,cAAc,EACd,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,aAAa,GACd,EAAE,mBAAmB,+BA+ErB"}
|
|
@@ -3,7 +3,7 @@ import { TriggerNode } from './TriggerNode.js';
|
|
|
3
3
|
import { Connector } from './Connector.js';
|
|
4
4
|
import { WorkflowTree } from './WorkflowTree.js';
|
|
5
5
|
import { TerminalNode } from './TerminalNode.js';
|
|
6
|
-
export function WorkflowCanvas({ config, stepMeta, triggerMeta, selectedStepId, isTriggerSelected, isTriggerConfigured, readOnly, zoom = 1, onTriggerClick, onStepClick, onAddStep, onCanvasClick, onDeleteStep, onDuplicateStep, onToggleStepDisabled, onAddBranch, onRenameBranch, }) {
|
|
6
|
+
export function WorkflowCanvas({ config, stepMeta, triggerMeta, selectedStepId, isTriggerSelected, isTriggerConfigured, readOnly, zoom = 1, onTriggerClick, onStepClick, onAddStep, onCanvasClick, onDeleteStep, onDuplicateStep, onToggleStepDisabled, onAddBranch, onRenameBranch, onUpdateGroup, }) {
|
|
7
7
|
const triggerInfo = triggerMeta.find((t) => t.type === config.trigger.type);
|
|
8
8
|
// No step editing allowed until a trigger is configured
|
|
9
9
|
const effectiveReadOnly = readOnly || !isTriggerConfigured;
|
|
@@ -16,7 +16,7 @@ export function WorkflowCanvas({ config, stepMeta, triggerMeta, selectedStepId,
|
|
|
16
16
|
}, onClick: (e) => {
|
|
17
17
|
if (e.target === e.currentTarget)
|
|
18
18
|
onCanvasClick();
|
|
19
|
-
}, children: _jsxs("div", { className: "mx-auto flex flex-col items-center origin-top transition-transform duration-150", style: { transform: `scale(${zoom})` }, children: [_jsx(TriggerNode, { label: triggerInfo?.name ?? (isTriggerConfigured ? config.trigger.type : undefined), icon: triggerInfo?.icon, isSelected: isTriggerSelected, isConfigured: isTriggerConfigured, onClick: onTriggerClick }), _jsx(Connector, { showAddButton: !effectiveReadOnly, onAdd: () => onAddStep() }), config.steps.length > 0 && (_jsxs(_Fragment, { children: [_jsx(WorkflowTree, { steps: config.steps, stepMeta: stepMeta, selectedStepId: selectedStepId, readOnly: effectiveReadOnly, onStepClick: onStepClick, onAddStep: onAddStep, onDeleteStep: onDeleteStep, onDuplicateStep: onDuplicateStep, onToggleStepDisabled: onToggleStepDisabled, onAddBranch: onAddBranch, onRenameBranch: onRenameBranch }), _jsx(Connector, { showAddButton: !effectiveReadOnly, onAdd: () => {
|
|
19
|
+
}, children: _jsxs("div", { className: "mx-auto flex flex-col items-center origin-top transition-transform duration-150", style: { transform: `scale(${zoom})` }, children: [_jsx(TriggerNode, { label: triggerInfo?.name ?? (isTriggerConfigured ? config.trigger.type : undefined), icon: triggerInfo?.icon, isSelected: isTriggerSelected, isConfigured: isTriggerConfigured, onClick: onTriggerClick }), _jsx(Connector, { showAddButton: !effectiveReadOnly, onAdd: () => onAddStep() }), config.steps.length > 0 && (_jsxs(_Fragment, { children: [_jsx(WorkflowTree, { steps: config.steps, stepMeta: stepMeta, selectedStepId: selectedStepId, readOnly: effectiveReadOnly, groups: config.groups, onUpdateGroup: onUpdateGroup, onStepClick: onStepClick, onAddStep: onAddStep, onDeleteStep: onDeleteStep, onDuplicateStep: onDuplicateStep, onToggleStepDisabled: onToggleStepDisabled, onAddBranch: onAddBranch, onRenameBranch: onRenameBranch }), _jsx(Connector, { showAddButton: !effectiveReadOnly, onAdd: () => {
|
|
20
20
|
const lastStep = config.steps[config.steps.length - 1];
|
|
21
21
|
if (lastStep)
|
|
22
22
|
onAddStep(lastStep.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowCanvas.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowCanvas.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"WorkflowCanvas.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/WorkflowCanvas.tsx"],"names":[],"mappings":"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"}
|