@xyne/workflow-ui 0.2.0 → 0.4.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/BranchContainer.d.ts +3 -1
- package/dist/components/builder/v3/BranchContainer.d.ts.map +1 -1
- package/dist/components/builder/v3/BranchContainer.js +42 -44
- package/dist/components/builder/v3/BranchContainer.js.map +1 -1
- package/dist/components/builder/v3/DeleteStepDialog.d.ts +14 -0
- package/dist/components/builder/v3/DeleteStepDialog.d.ts.map +1 -0
- package/dist/components/builder/v3/DeleteStepDialog.js +10 -0
- package/dist/components/builder/v3/DeleteStepDialog.js.map +1 -0
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.d.ts.map +1 -1
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.js +27 -4
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.js.map +1 -1
- package/dist/components/builder/v3/IssueBar.d.ts +16 -0
- package/dist/components/builder/v3/IssueBar.d.ts.map +1 -0
- package/dist/components/builder/v3/IssueBar.js +10 -0
- package/dist/components/builder/v3/IssueBar.js.map +1 -0
- package/dist/components/builder/v3/KeyValueEditor.d.ts.map +1 -1
- package/dist/components/builder/v3/KeyValueEditor.js +1 -1
- package/dist/components/builder/v3/KeyValueEditor.js.map +1 -1
- package/dist/components/builder/v3/SaveValidationDialog.d.ts +17 -0
- package/dist/components/builder/v3/SaveValidationDialog.d.ts.map +1 -0
- package/dist/components/builder/v3/SaveValidationDialog.js +16 -0
- package/dist/components/builder/v3/SaveValidationDialog.js.map +1 -0
- package/dist/components/builder/v3/SidePanel.d.ts +6 -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 +4 -1
- package/dist/components/builder/v3/StepConfigPanel.d.ts.map +1 -1
- package/dist/components/builder/v3/StepConfigPanel.js +6 -3
- 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 +4 -3
- package/dist/components/builder/v3/StepNode.js.map +1 -1
- package/dist/components/builder/v3/TriggerConfigPanel.d.ts +4 -1
- package/dist/components/builder/v3/TriggerConfigPanel.d.ts.map +1 -1
- package/dist/components/builder/v3/TriggerConfigPanel.js +5 -2
- package/dist/components/builder/v3/TriggerConfigPanel.js.map +1 -1
- package/dist/components/builder/v3/TriggerNode.d.ts +3 -1
- package/dist/components/builder/v3/TriggerNode.d.ts.map +1 -1
- package/dist/components/builder/v3/TriggerNode.js +3 -3
- package/dist/components/builder/v3/TriggerNode.js.map +1 -1
- package/dist/components/builder/v3/VariablePickerPopover.d.ts +3 -1
- package/dist/components/builder/v3/VariablePickerPopover.d.ts.map +1 -1
- package/dist/components/builder/v3/VariablePickerPopover.js +2 -1
- package/dist/components/builder/v3/VariablePickerPopover.js.map +1 -1
- package/dist/components/builder/v3/VariableRefInput.d.ts +3 -1
- package/dist/components/builder/v3/VariableRefInput.d.ts.map +1 -1
- package/dist/components/builder/v3/VariableRefInput.js +2 -2
- package/dist/components/builder/v3/VariableRefInput.js.map +1 -1
- package/dist/components/builder/v3/WorkflowBuilderV3.d.ts.map +1 -1
- package/dist/components/builder/v3/WorkflowBuilderV3.js +80 -5
- package/dist/components/builder/v3/WorkflowBuilderV3.js.map +1 -1
- package/dist/components/builder/v3/WorkflowCanvas.d.ts +6 -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 +4 -1
- package/dist/components/builder/v3/WorkflowTree.d.ts.map +1 -1
- package/dist/components/builder/v3/WorkflowTree.js +7 -6
- package/dist/components/builder/v3/WorkflowTree.js.map +1 -1
- package/dist/components/execution/ExecutionTree.d.ts.map +1 -1
- package/dist/components/execution/ExecutionTree.js +1 -1
- package/dist/components/execution/ExecutionTree.js.map +1 -1
- 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-variable-picker.js +18 -1
- package/dist/hooks/use-variable-picker.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/styles.css +1 -1
- package/dist/utils/issue-mapping.d.ts +26 -0
- package/dist/utils/issue-mapping.d.ts.map +1 -0
- package/dist/utils/issue-mapping.js +40 -0
- package/dist/utils/issue-mapping.js.map +1 -0
- package/package.json +2 -2
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"StepConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/StepConfigPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,14 @@ export interface StepNodeProps {
|
|
|
13
13
|
readOnly: boolean;
|
|
14
14
|
/** When set, renders execution-mode styling (status borders, pulse, greyed pending). */
|
|
15
15
|
executionStatus?: ExecutionStepStatus | undefined;
|
|
16
|
+
/** Number of validation issues on this step (builder mode) — shows a red badge + accent. */
|
|
17
|
+
issueCount?: number | undefined;
|
|
18
|
+
/** Tooltip text listing the issue messages. */
|
|
19
|
+
issueTitle?: string | undefined;
|
|
16
20
|
onClick: () => void;
|
|
17
21
|
onDelete?: () => void;
|
|
18
22
|
onDuplicate?: () => void;
|
|
19
23
|
onToggleDisabled?: () => void;
|
|
20
24
|
}
|
|
21
|
-
export declare function StepNode({ label, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }: StepNodeProps): import("react").JSX.Element;
|
|
25
|
+
export declare function StepNode({ stepId, label, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, issueCount, issueTitle, onClick, onDelete, onDuplicate, onToggleDisabled, }: StepNodeProps): import("react").JSX.Element;
|
|
22
26
|
//# 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,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,+
|
|
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,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,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,MAAM,EACN,KAAK,EACL,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,eAAe,EACf,UAAU,EACV,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,gBAAgB,GACjB,EAAE,aAAa,+BAuIf"}
|
|
@@ -2,9 +2,10 @@ 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, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, onClick, onDelete, onDuplicate, onToggleDisabled, }) {
|
|
5
|
+
export function StepNode({ stepId, label, subLabel, description, category, icon, isSelected, isDisabled, readOnly, executionStatus, issueCount, issueTitle, onClick, onDelete, onDuplicate, onToggleDisabled, }) {
|
|
6
6
|
const theme = getCategoryTheme(category);
|
|
7
7
|
const isExecution = executionStatus !== undefined;
|
|
8
|
+
const hasIssues = !isExecution && (issueCount ?? 0) > 0;
|
|
8
9
|
// Execution-mode border + ring classes
|
|
9
10
|
const execBorder = isExecution ? ({
|
|
10
11
|
completed: 'border-l-emerald-500 border-emerald-200',
|
|
@@ -23,11 +24,11 @@ export function StepNode({ label, subLabel, description, category, icon, isSelec
|
|
|
23
24
|
skipped: '',
|
|
24
25
|
}[executionStatus]) : undefined;
|
|
25
26
|
const isPending = isExecution && (executionStatus === 'pending' || executionStatus === 'skipped');
|
|
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
|
+
return (_jsxs("div", { "data-step-id": stepId, onClick: (e) => { e.stopPropagation(); onClick(); }, title: hasIssues ? issueTitle : (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
28
|
? `border-l-[3px] ${execBorder} ${execRing} shadow-sm`
|
|
28
29
|
: cn(`border-l-[3px] ${theme.accent}`, isSelected
|
|
29
30
|
? `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 }), 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
|
+
: 'border-slate-200 shadow-sm hover:shadow-md hover:-translate-y-px hover:border-slate-300'), isSelected && isExecution && 'shadow-md', hasIssues && 'ring-2 ring-red-300 border-red-300', (isDisabled || isPending) && 'opacity-40 grayscale'), style: { animation: 'wui-scale-in 200ms ease-out' }, children: [hasIssues && (_jsx("span", { className: "absolute -left-2 -top-2 z-10 flex h-5 min-w-[1.25rem] items-center justify-center rounded-full bg-red-500 px-1 text-[10px] font-bold text-white shadow ring-2 ring-white", title: issueTitle, children: issueCount })), _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
32
|
? _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
33
|
: _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
34
|
}
|
|
@@ -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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"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import type { ValidationIssue } from '@xyne/workflow-sdk';
|
|
1
2
|
import type { TriggerMeta } from '../../../hooks/use-step-metadata.js';
|
|
2
3
|
export interface TriggerConfigPanelProps {
|
|
3
4
|
triggerType: string;
|
|
4
5
|
triggerConfig: Record<string, unknown>;
|
|
5
6
|
triggerMeta: TriggerMeta[];
|
|
7
|
+
/** Validation issues for the trigger — field errors + summary banner. */
|
|
8
|
+
issues?: ValidationIssue[] | undefined;
|
|
6
9
|
onUpdateConfig: (config: Record<string, unknown>) => void;
|
|
7
10
|
onRequestChangeTrigger: () => void;
|
|
8
11
|
readOnly: boolean;
|
|
9
12
|
}
|
|
10
|
-
export declare function TriggerConfigPanel({ triggerType, triggerConfig, triggerMeta, onUpdateConfig, onRequestChangeTrigger, readOnly, }: TriggerConfigPanelProps): import("react").JSX.Element;
|
|
13
|
+
export declare function TriggerConfigPanel({ triggerType, triggerConfig, triggerMeta, issues, onUpdateConfig, onRequestChangeTrigger, readOnly, }: TriggerConfigPanelProps): import("react").JSX.Element;
|
|
11
14
|
//# sourceMappingURL=TriggerConfigPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerConfigPanel.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TriggerConfigPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerConfigPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAM1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,yEAAyE;IACzE,MAAM,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC1D,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,WAAW,EACX,aAAa,EACb,WAAW,EACX,MAAM,EACN,cAAc,EACd,sBAAsB,EACtB,QAAQ,GACT,EAAE,uBAAuB,+BA0FzB"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
2
3
|
import { useTriggerConfig } from '../../../hooks/use-trigger-config.js';
|
|
3
4
|
import { SchemaFormRenderer } from '../../schema-form/SchemaFormRenderer.js';
|
|
4
5
|
import { LoadingSpinner } from '../../shared/LoadingSpinner.js';
|
|
6
|
+
import { fieldErrors } from '../../../utils/issue-mapping.js';
|
|
5
7
|
import { getTriggerIcon } from '../icons.js';
|
|
6
|
-
export function TriggerConfigPanel({ triggerType, triggerConfig, triggerMeta, onUpdateConfig, onRequestChangeTrigger, readOnly, }) {
|
|
8
|
+
export function TriggerConfigPanel({ triggerType, triggerConfig, triggerMeta, issues, onUpdateConfig, onRequestChangeTrigger, readOnly, }) {
|
|
7
9
|
const { fields, values, errors, setFieldValue, descriptor, isLoading } = useTriggerConfig({
|
|
8
10
|
triggerType,
|
|
9
11
|
initialValues: triggerConfig,
|
|
10
12
|
onValuesChange: onUpdateConfig,
|
|
11
13
|
});
|
|
14
|
+
const mergedErrors = useMemo(() => ({ ...fieldErrors(issues), ...errors }), [issues, errors]);
|
|
12
15
|
const currentTrigger = triggerMeta.find((t) => t.type === triggerType);
|
|
13
|
-
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: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-indigo-50 text-indigo-600", children: getTriggerIcon(currentTrigger?.icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: descriptor?.name ?? currentTrigger?.name ?? triggerType }), _jsx("div", { className: "text-[10px] text-indigo-500 uppercase tracking-wider font-medium mt-0.5", children: "Trigger" })] })] }), !readOnly && (_jsxs("button", { onClick: onRequestChangeTrigger, className: "mt-3 flex w-full items-center justify-center gap-1.5 rounded-lg border border-slate-200 px-3 py-1.5 text-[11px] font-medium text-slate-500 hover:bg-slate-50 hover:border-slate-300 transition-all", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }), _jsx("path", { d: "M3 3v5h5" }), _jsx("path", { d: "M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16" }), _jsx("path", { d: "M16 16h5v5" })] }), "Change trigger"] }))] }),
|
|
16
|
+
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: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-indigo-50 text-indigo-600", children: getTriggerIcon(currentTrigger?.icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: descriptor?.name ?? currentTrigger?.name ?? triggerType }), _jsx("div", { className: "text-[10px] text-indigo-500 uppercase tracking-wider font-medium mt-0.5", children: "Trigger" })] })] }), !readOnly && (_jsxs("button", { onClick: onRequestChangeTrigger, className: "mt-3 flex w-full items-center justify-center gap-1.5 rounded-lg border border-slate-200 px-3 py-1.5 text-[11px] font-medium text-slate-500 hover:bg-slate-50 hover:border-slate-300 transition-all", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }), _jsx("path", { d: "M3 3v5h5" }), _jsx("path", { d: "M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16" }), _jsx("path", { d: "M16 16h5v5" })] }), "Change trigger"] }))] }), _jsxs("div", { className: "flex-1 overflow-y-auto px-5 py-4", children: [issues && issues.length > 0 && (_jsx("div", { className: "mb-4 rounded-lg border border-red-200 bg-red-50 p-3", "data-testid": "trigger-issues", children: _jsx("ul", { className: "space-y-0.5 text-[12px] text-red-700", children: issues.map((iss, i) => (_jsxs("li", { children: [iss.location?.field && _jsxs("span", { className: "font-mono text-[11px] text-red-500", children: [iss.location.field, ": "] }), iss.message] }, i))) }) })), isLoading ? (_jsx("div", { className: "flex justify-center py-12", children: _jsx(LoadingSpinner, { size: "md" }) })) : fields.length > 0 ? (_jsxs("div", { children: [_jsx("h4", { className: "mb-3 text-[10px] font-bold uppercase tracking-widest text-slate-400", children: "Configuration" }), _jsx(SchemaFormRenderer, { fields: fields, values: values, errors: mergedErrors, onChange: (path, value) => setFieldValue(path, value), 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-indigo-50 ring-1 ring-indigo-100", children: _jsx("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", className: "text-indigo-300", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" }) }) }), _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 trigger works with default settings" })] }))] })] }));
|
|
14
17
|
}
|
|
15
18
|
//# sourceMappingURL=TriggerConfigPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerConfigPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TriggerConfigPanel.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerConfigPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ export interface TriggerNodeProps {
|
|
|
3
3
|
icon?: string | undefined;
|
|
4
4
|
isSelected: boolean;
|
|
5
5
|
isConfigured: boolean;
|
|
6
|
+
/** Trigger has validation issues — shows a red accent + badge (builder mode). */
|
|
7
|
+
hasIssues?: boolean | undefined;
|
|
6
8
|
onClick: () => void;
|
|
7
9
|
}
|
|
8
|
-
export declare function TriggerNode({ label, icon, isSelected, isConfigured, onClick, }: TriggerNodeProps): import("react").JSX.Element;
|
|
10
|
+
export declare function TriggerNode({ label, icon, isSelected, isConfigured, hasIssues, onClick, }: TriggerNodeProps): import("react").JSX.Element;
|
|
9
11
|
//# sourceMappingURL=TriggerNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerNode.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerNode.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,OAAO,GACR,EAAE,gBAAgB,+
|
|
1
|
+
{"version":3,"file":"TriggerNode.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerNode.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,iFAAiF;IACjF,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,GACR,EAAE,gBAAgB,+BA+ClB"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from '../../shared/cn.js';
|
|
3
3
|
import { getTriggerIcon } from '../icons.js';
|
|
4
|
-
export function TriggerNode({ label, icon, isSelected, isConfigured, onClick, }) {
|
|
5
|
-
return (
|
|
4
|
+
export function TriggerNode({ label, icon, isSelected, isConfigured, hasIssues, onClick, }) {
|
|
5
|
+
return (_jsxs("div", { onClick: (e) => { e.stopPropagation(); onClick(); }, className: cn('relative flex h-16 w-48 cursor-pointer items-center gap-3 border-2 bg-white px-4 transition-all',
|
|
6
6
|
// Asymmetric border-radius: pill-left, rounded-right
|
|
7
7
|
'rounded-l-[2rem] rounded-r-xl', isConfigured
|
|
8
8
|
? isSelected
|
|
9
9
|
? 'border-indigo-400 ring-2 ring-indigo-200 shadow-md'
|
|
10
10
|
: 'border-indigo-300 shadow-sm hover:shadow-md hover:border-indigo-400'
|
|
11
|
-
: 'border-dashed border-slate-300 hover:border-indigo-300'), style: { animation: 'wui-scale-in 200ms ease-out' }, children: isConfigured ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-indigo-50 text-indigo-600", children: getTriggerIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: label }), _jsx("div", { className: "text-[10px] text-indigo-500 uppercase tracking-wider font-medium", children: "Trigger" })] })] })) : (_jsxs("div", { className: "flex w-full items-center justify-center gap-2 text-slate-400", style: { animation: 'wui-pulse 2s ease-in-out infinite' }, children: [_jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" }) }), _jsx("span", { className: "text-sm font-medium", children: "Select Trigger" })] })) }));
|
|
11
|
+
: 'border-dashed border-slate-300 hover:border-indigo-300', hasIssues && 'border-red-300 ring-2 ring-red-300'), style: { animation: 'wui-scale-in 200ms ease-out' }, children: [hasIssues && (_jsx("span", { className: "absolute -left-2 -top-2 z-10 flex h-5 w-5 items-center justify-center rounded-full bg-red-500 text-[10px] font-bold text-white shadow ring-2 ring-white", title: "Trigger has issues", children: "!" })), isConfigured ? (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-indigo-50 text-indigo-600", children: getTriggerIcon(icon, { size: 18 }) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-semibold text-slate-800", children: label }), _jsx("div", { className: "text-[10px] text-indigo-500 uppercase tracking-wider font-medium", children: "Trigger" })] })] })) : (_jsxs("div", { className: "flex w-full items-center justify-center gap-2 text-slate-400", style: { animation: 'wui-pulse 2s ease-in-out infinite' }, children: [_jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2" }) }), _jsx("span", { className: "text-sm font-medium", children: "Select Trigger" })] }))] }));
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=TriggerNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerNode.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"TriggerNode.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/TriggerNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAY7C,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,GACU;IACjB,OAAO,CACL,eACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EACnD,SAAS,EAAE,EAAE,CACX,iGAAiG;QACjG,qDAAqD;QACrD,+BAA+B,EAC/B,YAAY;YACV,CAAC,CAAC,UAAU;gBACV,CAAC,CAAC,oDAAoD;gBACtD,CAAC,CAAC,qEAAqE;YACzE,CAAC,CAAC,wDAAwD,EAC5D,SAAS,IAAI,oCAAoC,CAClD,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,6BAA6B,EAAE,aAElD,SAAS,IAAI,CACZ,eAAM,SAAS,EAAC,yJAAyJ,EAAC,KAAK,EAAC,oBAAoB,kBAAS,CAC9M,EACA,YAAY,CAAC,CAAC,CAAC,CACd,8BACE,cAAK,SAAS,EAAC,6FAA6F,YACzG,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAC/B,EACN,eAAK,SAAS,EAAC,gBAAgB,aAC7B,cAAK,SAAS,EAAC,+CAA+C,YAC3D,KAAK,GACF,EACN,cAAK,SAAS,EAAC,kEAAkE,wBAE3E,IACF,IACL,CACJ,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAC,8DAA8D,EACxE,KAAK,EAAE,EAAE,SAAS,EAAE,mCAAmC,EAAE,aAEzD,cAAK,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,YAC5I,kBAAS,MAAM,EAAC,wCAAwC,GAAG,GACvD,EACN,eAAM,SAAS,EAAC,qBAAqB,+BAAsB,IACvD,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -2,8 +2,10 @@ import type { WorkflowConfig } from '@xyne/workflow-sdk/builder';
|
|
|
2
2
|
export interface VariablePickerPopoverProps {
|
|
3
3
|
config: WorkflowConfig;
|
|
4
4
|
atStepId: string;
|
|
5
|
+
/** Restrict suggestions to refs of this schema type. */
|
|
6
|
+
filterType?: string | undefined;
|
|
5
7
|
onSelect: (refString: string) => void;
|
|
6
8
|
onClose: () => void;
|
|
7
9
|
}
|
|
8
|
-
export declare function VariablePickerPopover({ config, atStepId, onSelect, onClose, }: VariablePickerPopoverProps): import("react").JSX.Element;
|
|
10
|
+
export declare function VariablePickerPopover({ config, atStepId, filterType, onSelect, onClose, }: VariablePickerPopoverProps): import("react").JSX.Element;
|
|
9
11
|
//# sourceMappingURL=VariablePickerPopover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariablePickerPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariablePickerPopover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAMrF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA4FD,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,0BAA0B,+
|
|
1
|
+
{"version":3,"file":"VariablePickerPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariablePickerPopover.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAMrF,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA4FD,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,OAAO,GACR,EAAE,0BAA0B,+BAqG5B"}
|
|
@@ -44,7 +44,7 @@ function collectStepTypes(steps, map) {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
export function VariablePickerPopover({ config, atStepId, onSelect, onClose, }) {
|
|
47
|
+
export function VariablePickerPopover({ config, atStepId, filterType, onSelect, onClose, }) {
|
|
48
48
|
const [query, setQuery] = useState('');
|
|
49
49
|
const { stepMeta } = useStepMetadata(config);
|
|
50
50
|
// Build step ID → display name map from config + metadata
|
|
@@ -63,6 +63,7 @@ export function VariablePickerPopover({ config, atStepId, onSelect, onClose, })
|
|
|
63
63
|
atStepId,
|
|
64
64
|
enabled: true,
|
|
65
65
|
stepLabelMap,
|
|
66
|
+
...(filterType ? { filterType } : {}),
|
|
66
67
|
});
|
|
67
68
|
const displayItems = query ? search(query) : null;
|
|
68
69
|
return (_jsxs("div", { className: cn('absolute right-0 top-full z-30 mt-1 w-72 rounded-xl border border-slate-200/80 bg-white shadow-xl', 'animate-[wui-scale-in_150ms_ease-out]'), onClick: (e) => e.stopPropagation(), children: [_jsxs("div", { className: "flex items-center gap-2 border-b border-slate-100 px-3 py-2", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", className: "shrink-0 text-slate-400", children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("path", { d: "m21 21-4.3-4.3" })] }), _jsx("input", { type: "text", value: query, onChange: (e) => setQuery(e.target.value), placeholder: "Search variables...", autoFocus: true, className: "flex-1 bg-transparent text-[11px] text-slate-700 placeholder:text-slate-400 outline-none", onClick: (e) => e.stopPropagation(), onKeyDown: (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariablePickerPopover.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariablePickerPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAqB,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"VariablePickerPopover.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariablePickerPopover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export interface VariableRefInputProps {
|
|
|
9
9
|
className?: string | undefined;
|
|
10
10
|
/** Compact mode — smaller padding for inline usage */
|
|
11
11
|
compact?: boolean | undefined;
|
|
12
|
+
/** Restrict the picker to refs of this schema type (array/string/number/boolean/object). */
|
|
13
|
+
filterType?: string | undefined;
|
|
12
14
|
}
|
|
13
|
-
export declare function VariableRefInput({ value, onChange, config, atStepId, placeholder, disabled, className, compact, }: VariableRefInputProps): import("react").JSX.Element;
|
|
15
|
+
export declare function VariableRefInput({ value, onChange, config, atStepId, placeholder, disabled, className, compact, filterType, }: VariableRefInputProps): import("react").JSX.Element;
|
|
14
16
|
//# sourceMappingURL=VariableRefInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableRefInput.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariableRefInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAKrF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"VariableRefInput.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariableRefInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAsB,MAAM,4BAA4B,CAAC;AAKrF,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AAsDD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,SAAS,EACT,OAAO,EACP,UAAU,GACX,EAAE,qBAAqB,+BAqGvB"}
|
|
@@ -54,7 +54,7 @@ function isRefBroken(refPath, stepIds) {
|
|
|
54
54
|
return false;
|
|
55
55
|
return !stepIds.has(rootId);
|
|
56
56
|
}
|
|
57
|
-
export function VariableRefInput({ value, onChange, config, atStepId, placeholder, disabled, className, compact, }) {
|
|
57
|
+
export function VariableRefInput({ value, onChange, config, atStepId, placeholder, disabled, className, compact, filterType, }) {
|
|
58
58
|
const [showPicker, setShowPicker] = useState(false);
|
|
59
59
|
const inputRef = useRef(null);
|
|
60
60
|
const stringValue = String(value ?? '');
|
|
@@ -83,6 +83,6 @@ export function VariableRefInput({ value, onChange, config, atStepId, placeholde
|
|
|
83
83
|
return (_jsxs("span", { className: cn('inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-[10px] font-mono', broken
|
|
84
84
|
? 'bg-red-50 text-red-500 ring-1 ring-red-200'
|
|
85
85
|
: 'bg-indigo-50 text-indigo-600 ring-1 ring-indigo-200/60'), children: [broken && (_jsxs("svg", { width: "8", height: "8", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M12 8v4" }), _jsx("path", { d: "M12 16h.01" })] })), `{{${seg.value}}}`] }, i));
|
|
86
|
-
}) })), showPicker && (_jsx(VariablePickerPopover, { config: config, atStepId: atStepId, onSelect: handleInsertRef, onClose: () => setShowPicker(false) }))] }));
|
|
86
|
+
}) })), showPicker && (_jsx(VariablePickerPopover, { config: config, atStepId: atStepId, filterType: filterType, onSelect: handleInsertRef, onClose: () => setShowPicker(false) }))] }));
|
|
87
87
|
}
|
|
88
88
|
//# sourceMappingURL=VariableRefInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VariableRefInput.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariableRefInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"VariableRefInput.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/VariableRefInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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;AAsB3G,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,+BAoYxB"}
|
|
@@ -8,6 +8,12 @@ import { StepPicker } from './StepPicker.js';
|
|
|
8
8
|
import { TriggerPicker } from './TriggerPicker.js';
|
|
9
9
|
import { BuilderToolbar } from './BuilderToolbar.js';
|
|
10
10
|
import { SummaryButton } from './SummaryButton.js';
|
|
11
|
+
import { IssueBar } from './IssueBar.js';
|
|
12
|
+
import { SaveValidationDialog } from './SaveValidationDialog.js';
|
|
13
|
+
import { DeleteStepDialog } from './DeleteStepDialog.js';
|
|
14
|
+
import { groupIssues } from '../../../utils/issue-mapping.js';
|
|
15
|
+
import { useWorkflowClient } from '../../../hooks/use-workflow-client.js';
|
|
16
|
+
import { findStepsReferencing } from '@xyne/workflow-sdk/builder';
|
|
11
17
|
import { cn } from '../../shared/cn.js';
|
|
12
18
|
/** Whether the config panel is showing (step or trigger selected). */
|
|
13
19
|
function isPanelOpen(selectedStepId, isTriggerSelected) {
|
|
@@ -21,6 +27,36 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
21
27
|
opts.onChange = onChange;
|
|
22
28
|
const internalBuilder = useWorkflowBuilder(opts);
|
|
23
29
|
const builder = externalBuilder ?? internalBuilder;
|
|
30
|
+
// ─── Validation issue surfacing (Part C) ───
|
|
31
|
+
const grouped = useMemo(() => groupIssues(builder.validation), [builder.validation]);
|
|
32
|
+
const issueTargets = useMemo(() => {
|
|
33
|
+
const t = [];
|
|
34
|
+
if (grouped.trigger.length > 0)
|
|
35
|
+
t.push('__trigger__');
|
|
36
|
+
t.push(...grouped.orderedStepIds);
|
|
37
|
+
return t;
|
|
38
|
+
}, [grouped]);
|
|
39
|
+
const [issueCursor, setIssueCursor] = useState(0);
|
|
40
|
+
const safeCursor = issueTargets.length ? Math.min(issueCursor, issueTargets.length - 1) : 0;
|
|
41
|
+
const jumpToIssueTarget = useCallback((target) => {
|
|
42
|
+
if (target === '__trigger__') {
|
|
43
|
+
builder.selectTrigger();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
builder.selectStep(target);
|
|
47
|
+
requestAnimationFrame(() => {
|
|
48
|
+
document
|
|
49
|
+
.querySelector(`[data-step-id="${CSS.escape(target)}"]`)
|
|
50
|
+
?.scrollIntoView({ behavior: 'smooth', block: 'center' });
|
|
51
|
+
});
|
|
52
|
+
}, [builder]);
|
|
53
|
+
const cycleIssue = useCallback((dir) => {
|
|
54
|
+
if (issueTargets.length === 0)
|
|
55
|
+
return;
|
|
56
|
+
const next = (safeCursor + dir + issueTargets.length) % issueTargets.length;
|
|
57
|
+
setIssueCursor(next);
|
|
58
|
+
jumpToIssueTarget(issueTargets[next]);
|
|
59
|
+
}, [safeCursor, issueTargets, jumpToIssueTarget]);
|
|
24
60
|
// Workflow summary (record-level column). Seeded from the prop; edited via
|
|
25
61
|
// the popover. `baselineSummary` is the last-persisted value, used for dirty
|
|
26
62
|
// detection alongside the builder's config dirtiness.
|
|
@@ -33,10 +69,14 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
33
69
|
const summaryDirty = summary !== baselineSummary;
|
|
34
70
|
// Save state. `justSaved` stays until the next edit, so the user always sees
|
|
35
71
|
// whether their current changes are persisted.
|
|
72
|
+
const client = useWorkflowClient();
|
|
36
73
|
const [saving, setSaving] = useState(false);
|
|
37
74
|
const [saveError, setSaveError] = useState(null);
|
|
38
75
|
const [justSaved, setJustSaved] = useState(false);
|
|
39
|
-
|
|
76
|
+
// Holds the validation result while the pre-save confirm dialog is open.
|
|
77
|
+
const [pendingValidation, setPendingValidation] = useState(null);
|
|
78
|
+
// The actual persist — used directly when valid, or via "Save anyway".
|
|
79
|
+
const doSave = useCallback(async () => {
|
|
40
80
|
if (!onSave || saving)
|
|
41
81
|
return;
|
|
42
82
|
setSaving(true);
|
|
@@ -53,6 +93,22 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
53
93
|
setSaving(false);
|
|
54
94
|
}
|
|
55
95
|
}, [onSave, saving, builder.config, summary]);
|
|
96
|
+
const handleSave = useCallback(async () => {
|
|
97
|
+
if (!onSave || saving)
|
|
98
|
+
return;
|
|
99
|
+
// Validate fresh; on issues, confirm via the dialog before persisting.
|
|
100
|
+
try {
|
|
101
|
+
const result = await client.workflows.validate(builder.config);
|
|
102
|
+
if (!result.valid) {
|
|
103
|
+
setPendingValidation(result);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
// A validation-endpoint failure must not block saving a draft.
|
|
109
|
+
}
|
|
110
|
+
await doSave();
|
|
111
|
+
}, [onSave, saving, client, builder.config, doSave]);
|
|
56
112
|
// Any edit after a save clears the "Saved" badge (back to an unsaved state).
|
|
57
113
|
useEffect(() => {
|
|
58
114
|
setJustSaved(false);
|
|
@@ -94,6 +150,22 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
94
150
|
builder.clearSelection();
|
|
95
151
|
}, [builder]);
|
|
96
152
|
const selectedStep = useMemo(() => builder.selectedStepId ? builder.getStep(builder.selectedStepId) : null, [builder, builder.selectedStepId]);
|
|
153
|
+
const stepLabel = useCallback((stepId) => {
|
|
154
|
+
const s = builder.getStep(stepId);
|
|
155
|
+
const meta = s ? stepMeta.get(s.type) : undefined;
|
|
156
|
+
return s?.title || meta?.name || s?.type || stepId;
|
|
157
|
+
}, [builder, stepMeta]);
|
|
158
|
+
// Guarded delete: warn first if other steps reference this one (Part D).
|
|
159
|
+
const [pendingDelete, setPendingDelete] = useState(null);
|
|
160
|
+
const requestDeleteStep = useCallback((stepId) => {
|
|
161
|
+
const referrers = findStepsReferencing(builder.config, stepId);
|
|
162
|
+
if (referrers.length > 0) {
|
|
163
|
+
setPendingDelete({ stepId, labels: referrers.map(stepLabel) });
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
builder.removeStep(stepId);
|
|
167
|
+
}
|
|
168
|
+
}, [builder, stepLabel]);
|
|
97
169
|
// Zoom state for canvas
|
|
98
170
|
const canvasRef = useRef(null);
|
|
99
171
|
const [zoom, setZoom] = useState(1);
|
|
@@ -147,7 +219,7 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
147
219
|
// Delete selected step: Delete or Backspace
|
|
148
220
|
if ((e.key === 'Delete' || e.key === 'Backspace') && builder.selectedStepId) {
|
|
149
221
|
e.preventDefault();
|
|
150
|
-
|
|
222
|
+
requestDeleteStep(builder.selectedStepId);
|
|
151
223
|
return;
|
|
152
224
|
}
|
|
153
225
|
// Escape: clear selection
|
|
@@ -158,15 +230,18 @@ export function WorkflowBuilderV3({ builder: externalBuilder, initialConfig, ini
|
|
|
158
230
|
};
|
|
159
231
|
document.addEventListener('keydown', handleKeyDown);
|
|
160
232
|
return () => document.removeEventListener('keydown', handleKeyDown);
|
|
161
|
-
}, [builder, onSave, handleSave]);
|
|
233
|
+
}, [builder, onSave, handleSave, requestDeleteStep]);
|
|
162
234
|
return (_jsxs("div", { className: cn('flex h-full w-full', className), "data-workflow-ui": true, children: [_jsxs("div", { ref: canvasRef, className: "relative overflow-hidden bg-slate-50 transition-[flex] duration-200", style: {
|
|
163
235
|
flex: isPanelOpen(builder.selectedStepId, builder.isTriggerSelected)
|
|
164
236
|
? '0 0 55%'
|
|
165
237
|
: '1 1 100%',
|
|
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) =>
|
|
238
|
+
}, 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) => requestDeleteStep(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
239
|
const current = builder.config.groups?.find((g) => g.id === groupId);
|
|
168
240
|
if (current)
|
|
169
241
|
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) =>
|
|
242
|
+
}, issuesByStep: grouped.byStep, triggerHasIssues: grouped.trigger.length > 0 }), !readOnly && grouped.total > 0 && (_jsx("div", { className: "absolute left-3 top-3 z-10", children: _jsx(IssueBar, { total: grouped.total, position: safeCursor + 1, targetCount: issueTargets.length, onPrev: () => cycleIssue(-1), onNext: () => cycleIssue(1) }) })), !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, issues: builder.selectedStepId ? grouped.byStep.get(builder.selectedStepId) : undefined, triggerIssues: builder.isTriggerSelected ? grouped.trigger : undefined, onUpdateStepConfig: (id, config) => builder.updateStepConfig(id, config), onUpdateStepMeta: (id, meta) => builder.updateStepMeta(id, meta), onUpsertGroup: (group) => builder.upsertGroup(group), onDeleteStep: (id) => requestDeleteStep(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) }), pendingValidation && (_jsx(SaveValidationDialog, { result: pendingValidation, stepLabel: stepLabel, onJump: (target) => { setPendingValidation(null); jumpToIssueTarget(target); }, onCancel: () => setPendingValidation(null), onSaveAnyway: () => { setPendingValidation(null); void doSave(); } })), pendingDelete && (_jsx(DeleteStepDialog, { stepLabel: stepLabel(pendingDelete.stepId), referencingLabels: pendingDelete.labels, onCancel: () => setPendingDelete(null), onConfirm: () => {
|
|
243
|
+
builder.removeStep(pendingDelete.stepId);
|
|
244
|
+
setPendingDelete(null);
|
|
245
|
+
} }))] }));
|
|
171
246
|
}
|
|
172
247
|
//# sourceMappingURL=WorkflowBuilderV3.js.map
|