@xyne/workflow-ui 1.3.13 → 1.3.15
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/CreateWorkflowDialog.d.ts.map +1 -1
- package/dist/components/automations/CreateWorkflowDialog.js +5 -1
- package/dist/components/automations/CreateWorkflowDialog.js.map +1 -1
- package/dist/components/browser/EntryGrid.d.ts +3 -1
- package/dist/components/browser/EntryGrid.d.ts.map +1 -1
- package/dist/components/browser/EntryGrid.js +6 -5
- package/dist/components/browser/EntryGrid.js.map +1 -1
- package/dist/components/browser/EntryList.d.ts +4 -1
- package/dist/components/browser/EntryList.d.ts.map +1 -1
- package/dist/components/browser/EntryList.js +9 -6
- package/dist/components/browser/EntryList.js.map +1 -1
- package/dist/components/browser/NameDialog.d.ts +6 -2
- package/dist/components/browser/NameDialog.d.ts.map +1 -1
- package/dist/components/browser/NameDialog.js +7 -3
- package/dist/components/browser/NameDialog.js.map +1 -1
- package/dist/components/browser/permissions.d.ts +11 -0
- package/dist/components/browser/permissions.d.ts.map +1 -0
- package/dist/components/browser/permissions.js +6 -0
- package/dist/components/browser/permissions.js.map +1 -0
- package/dist/components/browser/types.d.ts +11 -0
- package/dist/components/browser/types.d.ts.map +1 -1
- package/dist/components/browser/utils.d.ts +4 -0
- package/dist/components/browser/utils.d.ts.map +1 -1
- package/dist/components/browser/utils.js +10 -0
- package/dist/components/browser/utils.js.map +1 -1
- package/dist/components/dashboard/WorkflowDashboard.d.ts +9 -1
- package/dist/components/dashboard/WorkflowDashboard.d.ts.map +1 -1
- package/dist/components/dashboard/WorkflowDashboard.js +11 -2
- package/dist/components/dashboard/WorkflowDashboard.js.map +1 -1
- package/dist/components/execution/ExecutionViewer.d.ts.map +1 -1
- package/dist/components/execution/ExecutionViewer.js +6 -3
- package/dist/components/execution/ExecutionViewer.js.map +1 -1
- package/dist/components/provider/slot-resolution.d.ts +6 -0
- package/dist/components/provider/slot-resolution.d.ts.map +1 -1
- package/dist/components/provider/slot-resolution.js +9 -0
- package/dist/components/provider/slot-resolution.js.map +1 -1
- package/dist/components/runs/RunsTable.js +1 -1
- package/dist/components/runs/RunsTable.js.map +1 -1
- package/dist/components/runs/RunsView.d.ts.map +1 -1
- package/dist/components/runs/RunsView.js +7 -36
- package/dist/components/runs/RunsView.js.map +1 -1
- package/dist/components/schema-form/AttachmentField.d.ts +16 -0
- package/dist/components/schema-form/AttachmentField.d.ts.map +1 -0
- package/dist/components/schema-form/AttachmentField.js +139 -0
- package/dist/components/schema-form/AttachmentField.js.map +1 -0
- package/dist/components/share/ShareDialog.d.ts +21 -0
- package/dist/components/share/ShareDialog.d.ts.map +1 -0
- package/dist/components/share/ShareDialog.js +98 -0
- package/dist/components/share/ShareDialog.js.map +1 -0
- package/dist/components/workflows/WorkflowBrowser.d.ts.map +1 -1
- package/dist/components/workflows/WorkflowBrowser.js +42 -7
- package/dist/components/workflows/WorkflowBrowser.js.map +1 -1
- package/dist/hooks/use-execution-rerun.d.ts.map +1 -1
- package/dist/hooks/use-execution-rerun.js +2 -1
- package/dist/hooks/use-execution-rerun.js.map +1 -1
- package/dist/hooks/use-pause-interaction.d.ts.map +1 -1
- package/dist/hooks/use-pause-interaction.js +2 -1
- package/dist/hooks/use-pause-interaction.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/slots.d.ts +22 -1
- package/dist/types/slots.d.ts.map +1 -1
- package/dist/utils/map-lanes.d.ts +35 -0
- package/dist/utils/map-lanes.d.ts.map +1 -0
- package/dist/utils/map-lanes.js +48 -0
- package/dist/utils/map-lanes.js.map +1 -0
- package/dist/utils/permissions.d.ts +21 -0
- package/dist/utils/permissions.d.ts.map +1 -0
- package/dist/utils/permissions.js +31 -0
- package/dist/utils/permissions.js.map +1 -0
- package/package.json +1 -1
- package/dist/components/builder/AddStepButton.d.ts +0 -6
- package/dist/components/builder/AddStepButton.d.ts.map +0 -1
- package/dist/components/builder/AddStepButton.js +0 -7
- package/dist/components/builder/AddStepButton.js.map +0 -1
- package/dist/components/builder/BranchEdge.d.ts +0 -3
- package/dist/components/builder/BranchEdge.d.ts.map +0 -1
- package/dist/components/builder/BranchEdge.js +0 -19
- package/dist/components/builder/BranchEdge.js.map +0 -1
- package/dist/components/builder/BuilderToolbar.d.ts +0 -10
- package/dist/components/builder/BuilderToolbar.d.ts.map +0 -1
- package/dist/components/builder/BuilderToolbar.js +0 -16
- package/dist/components/builder/BuilderToolbar.js.map +0 -1
- package/dist/components/builder/StepConfigDrawer.d.ts +0 -11
- package/dist/components/builder/StepConfigDrawer.d.ts.map +0 -1
- package/dist/components/builder/StepConfigDrawer.js +0 -21
- package/dist/components/builder/StepConfigDrawer.js.map +0 -1
- package/dist/components/builder/StepNode.d.ts +0 -15
- package/dist/components/builder/StepNode.d.ts.map +0 -1
- package/dist/components/builder/StepNode.js +0 -56
- package/dist/components/builder/StepNode.js.map +0 -1
- package/dist/components/builder/StepPalette.d.ts +0 -7
- package/dist/components/builder/StepPalette.d.ts.map +0 -1
- package/dist/components/builder/StepPalette.js +0 -83
- package/dist/components/builder/StepPalette.js.map +0 -1
- package/dist/components/builder/StepPicker.d.ts +0 -9
- package/dist/components/builder/StepPicker.d.ts.map +0 -1
- package/dist/components/builder/StepPicker.js +0 -95
- package/dist/components/builder/StepPicker.js.map +0 -1
- package/dist/components/builder/TriggerConfigPanel.d.ts +0 -10
- package/dist/components/builder/TriggerConfigPanel.d.ts.map +0 -1
- package/dist/components/builder/TriggerConfigPanel.js +0 -49
- package/dist/components/builder/TriggerConfigPanel.js.map +0 -1
- package/dist/components/builder/TriggerNode.d.ts +0 -9
- package/dist/components/builder/TriggerNode.d.ts.map +0 -1
- package/dist/components/builder/TriggerNode.js +0 -30
- package/dist/components/builder/TriggerNode.js.map +0 -1
- package/dist/components/builder/TriggerPicker.d.ts +0 -8
- package/dist/components/builder/TriggerPicker.d.ts.map +0 -1
- package/dist/components/builder/TriggerPicker.js +0 -61
- package/dist/components/builder/TriggerPicker.js.map +0 -1
- package/dist/components/builder/WorkflowBuilder.d.ts +0 -20
- package/dist/components/builder/WorkflowBuilder.d.ts.map +0 -1
- package/dist/components/builder/WorkflowBuilder.js +0 -157
- package/dist/components/builder/WorkflowBuilder.js.map +0 -1
- package/dist/components/builder/edge-types.d.ts +0 -3
- package/dist/components/builder/edge-types.d.ts.map +0 -1
- package/dist/components/builder/edge-types.js +0 -5
- package/dist/components/builder/edge-types.js.map +0 -1
- package/dist/components/builder/node-types.d.ts +0 -3
- package/dist/components/builder/node-types.d.ts.map +0 -1
- package/dist/components/builder/node-types.js +0 -11
- package/dist/components/builder/node-types.js.map +0 -1
- package/dist/components/builder/v2/AddStepButton.d.ts +0 -6
- package/dist/components/builder/v2/AddStepButton.d.ts.map +0 -1
- package/dist/components/builder/v2/AddStepButton.js +0 -6
- package/dist/components/builder/v2/AddStepButton.js.map +0 -1
- package/dist/components/builder/v2/BranchEdge.d.ts +0 -3
- package/dist/components/builder/v2/BranchEdge.d.ts.map +0 -1
- package/dist/components/builder/v2/BranchEdge.js +0 -46
- package/dist/components/builder/v2/BranchEdge.js.map +0 -1
- package/dist/components/builder/v2/LoopBodyEdge.d.ts +0 -7
- package/dist/components/builder/v2/LoopBodyEdge.d.ts.map +0 -1
- package/dist/components/builder/v2/LoopBodyEdge.js +0 -19
- package/dist/components/builder/v2/LoopBodyEdge.js.map +0 -1
- package/dist/components/builder/v2/LoopbackEdge.d.ts +0 -10
- package/dist/components/builder/v2/LoopbackEdge.d.ts.map +0 -1
- package/dist/components/builder/v2/LoopbackEdge.js +0 -26
- package/dist/components/builder/v2/LoopbackEdge.js.map +0 -1
- package/dist/components/builder/v2/StepNode.d.ts +0 -21
- package/dist/components/builder/v2/StepNode.d.ts.map +0 -1
- package/dist/components/builder/v2/StepNode.js +0 -36
- package/dist/components/builder/v2/StepNode.js.map +0 -1
- package/dist/components/builder/v2/StepPicker.d.ts +0 -8
- package/dist/components/builder/v2/StepPicker.d.ts.map +0 -1
- package/dist/components/builder/v2/StepPicker.js +0 -73
- package/dist/components/builder/v2/StepPicker.js.map +0 -1
- package/dist/components/builder/v2/TerminalNode.d.ts +0 -6
- package/dist/components/builder/v2/TerminalNode.d.ts.map +0 -1
- package/dist/components/builder/v2/TerminalNode.js +0 -7
- package/dist/components/builder/v2/TerminalNode.js.map +0 -1
- package/dist/components/builder/v2/TriggerNode.d.ts +0 -10
- package/dist/components/builder/v2/TriggerNode.d.ts.map +0 -1
- package/dist/components/builder/v2/TriggerNode.js +0 -20
- package/dist/components/builder/v2/TriggerNode.js.map +0 -1
- package/dist/components/builder/v2/TriggerPicker.d.ts +0 -7
- package/dist/components/builder/v2/TriggerPicker.d.ts.map +0 -1
- package/dist/components/builder/v2/TriggerPicker.js +0 -45
- package/dist/components/builder/v2/TriggerPicker.js.map +0 -1
- package/dist/components/builder/v2/WorkflowBuilder.d.ts +0 -14
- package/dist/components/builder/v2/WorkflowBuilder.d.ts.map +0 -1
- package/dist/components/builder/v2/WorkflowBuilder.js +0 -189
- package/dist/components/builder/v2/WorkflowBuilder.js.map +0 -1
- package/dist/components/builder/v2/edge-types.d.ts +0 -3
- package/dist/components/builder/v2/edge-types.d.ts.map +0 -1
- package/dist/components/builder/v2/edge-types.js +0 -9
- package/dist/components/builder/v2/edge-types.js.map +0 -1
- package/dist/components/builder/v2/icons.d.ts +0 -25
- package/dist/components/builder/v2/icons.d.ts.map +0 -1
- package/dist/components/builder/v2/icons.js +0 -43
- package/dist/components/builder/v2/icons.js.map +0 -1
- package/dist/components/builder/v2/layout-engine.d.ts +0 -76
- package/dist/components/builder/v2/layout-engine.d.ts.map +0 -1
- package/dist/components/builder/v2/layout-engine.js +0 -465
- package/dist/components/builder/v2/layout-engine.js.map +0 -1
- package/dist/components/builder/v2/node-types.d.ts +0 -3
- package/dist/components/builder/v2/node-types.d.ts.map +0 -1
- package/dist/components/builder/v2/node-types.js +0 -11
- package/dist/components/builder/v2/node-types.js.map +0 -1
- package/dist/components/builder/v2/theme.d.ts +0 -28
- package/dist/components/builder/v2/theme.d.ts.map +0 -1
- package/dist/components/builder/v2/theme.js +0 -63
- package/dist/components/builder/v2/theme.js.map +0 -1
- package/dist/components/dashboard/WorkflowSummaryEditor.d.ts +0 -11
- package/dist/components/dashboard/WorkflowSummaryEditor.d.ts.map +0 -1
- package/dist/components/dashboard/WorkflowSummaryEditor.js +0 -46
- package/dist/components/dashboard/WorkflowSummaryEditor.js.map +0 -1
- package/dist/components/execution/ExecutionEdge.d.ts +0 -4
- package/dist/components/execution/ExecutionEdge.d.ts.map +0 -1
- package/dist/components/execution/ExecutionEdge.js +0 -27
- package/dist/components/execution/ExecutionEdge.js.map +0 -1
- package/dist/components/execution/ExecutionStepNode.d.ts +0 -14
- package/dist/components/execution/ExecutionStepNode.d.ts.map +0 -1
- package/dist/components/execution/ExecutionStepNode.js +0 -47
- package/dist/components/execution/ExecutionStepNode.js.map +0 -1
- package/dist/components/execution/ExecutionTriggerNode.d.ts +0 -9
- package/dist/components/execution/ExecutionTriggerNode.d.ts.map +0 -1
- package/dist/components/execution/ExecutionTriggerNode.js +0 -15
- package/dist/components/execution/ExecutionTriggerNode.js.map +0 -1
- package/dist/components/execution/StepAgentPanels.d.ts +0 -9
- package/dist/components/execution/StepAgentPanels.d.ts.map +0 -1
- package/dist/components/execution/StepAgentPanels.js +0 -133
- package/dist/components/execution/StepAgentPanels.js.map +0 -1
- package/dist/components/execution/execution-layout.d.ts +0 -31
- package/dist/components/execution/execution-layout.d.ts.map +0 -1
- package/dist/components/execution/execution-layout.js +0 -90
- package/dist/components/execution/execution-layout.js.map +0 -1
- package/dist/components/shared/JsonTreeViewer.d.ts +0 -9
- package/dist/components/shared/JsonTreeViewer.d.ts.map +0 -1
- package/dist/components/shared/JsonTreeViewer.js +0 -46
- package/dist/components/shared/JsonTreeViewer.js.map +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { SlotName, SlotOverrides, ClassNamesOverrides } from './slots.js';
|
|
1
|
+
export type { SlotName, SlotOverrides, ClassNamesOverrides, AttributeFieldsProps, ShareSlotProps } from './slots.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/types/slots.d.ts
CHANGED
|
@@ -3,13 +3,34 @@ import type { ComponentType } from 'react';
|
|
|
3
3
|
* Named slots that consumers can replace globally (via provider)
|
|
4
4
|
* or per-component (via `slots` prop).
|
|
5
5
|
*/
|
|
6
|
-
export type SlotName = 'StepNode' | 'TriggerNode' | 'BranchEdge' | 'AddStepButton' | 'StepPalette' | 'BuilderToolbar' | 'StepConfigDrawer' | 'ExecutionStepNode' | 'ExecutionEdge' | 'PauseInteractionPanel' | 'StepDetailPanel';
|
|
6
|
+
export type SlotName = 'StepNode' | 'TriggerNode' | 'BranchEdge' | 'AddStepButton' | 'StepPalette' | 'BuilderToolbar' | 'StepConfigDrawer' | 'ExecutionStepNode' | 'ExecutionEdge' | 'PauseInteractionPanel' | 'StepDetailPanel' | 'folderAttributes' | 'workflowAttributes' | 'shareResource';
|
|
7
7
|
/**
|
|
8
8
|
* Map of slot name → component type for global overrides.
|
|
9
9
|
* Each value is typed as `ComponentType<any>` at the provider level;
|
|
10
10
|
* individual components narrow the props via their own `slots` prop type.
|
|
11
11
|
*/
|
|
12
12
|
export type SlotOverrides = Partial<Record<SlotName, ComponentType<any>>>;
|
|
13
|
+
/**
|
|
14
|
+
* Props for the `folderAttributes` / `workflowAttributes` slots. The product
|
|
15
|
+
* types `TAttrs` with its `ResourceAttributes<'folder' | 'workflow'>`; its
|
|
16
|
+
* component renders the (possibly complex) construct picker and emits the value.
|
|
17
|
+
*/
|
|
18
|
+
export interface AttributeFieldsProps<TAttrs = unknown> {
|
|
19
|
+
value: Partial<TAttrs>;
|
|
20
|
+
onChange: (patch: Partial<TAttrs>) => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Props the framework passes to the `shareResource` slot. The framework decides
|
|
24
|
+
* *whether* to open it (gated by `permittedActions`) and identifies the target;
|
|
25
|
+
* the host-provided component owns everything else — the principal model
|
|
26
|
+
* (email/username/group), roles, and transport.
|
|
27
|
+
*/
|
|
28
|
+
export interface ShareSlotProps {
|
|
29
|
+
resourceType: 'workflow' | 'folder';
|
|
30
|
+
resourceId: string;
|
|
31
|
+
resourceName?: string;
|
|
32
|
+
onClose: () => void;
|
|
33
|
+
}
|
|
13
34
|
/**
|
|
14
35
|
* ClassNames override map — consumers pass Tailwind classes to override
|
|
15
36
|
* default styles on named inner elements.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../../src/types/slots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,aAAa,GACb,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../../src/types/slots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAChB,UAAU,GACV,aAAa,GACb,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,kBAAkB,GAClB,mBAAmB,GACnB,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GAIjB,kBAAkB,GAClB,oBAAoB,GAKpB,eAAe,CAAC;AAEpB;;;;GAIG;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO;IACpD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,UAAU,GAAG,QAAQ,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ExecutionDetail } from '@xyne/workflow-sdk/client';
|
|
2
|
+
import { type StepExecutionState } from '../hooks/use-execution-viewer.js';
|
|
3
|
+
/** One concurrent MAP iteration, ready to render as a PARALLEL-style lane. */
|
|
4
|
+
export interface MapIterationLane {
|
|
5
|
+
/** Zero-based iteration index, as captured from the node-path. */
|
|
6
|
+
index: number;
|
|
7
|
+
/** Per-iteration step states, keyed by bare leaf config id (frame-stripped). */
|
|
8
|
+
states: Map<string, StepExecutionState>;
|
|
9
|
+
/** This iteration's frame-stripped records — fed to a nested MAP inside the body. */
|
|
10
|
+
records: ExecutionDetail['steps'];
|
|
11
|
+
/**
|
|
12
|
+
* The node-path frame for this iteration (e.g. `owners_map:item#0/`). Prefixed
|
|
13
|
+
* onto a lane step's id to form a per-iteration selection id, so clicking the
|
|
14
|
+
* same body step in different lanes selects DIFFERENT records.
|
|
15
|
+
*/
|
|
16
|
+
prefix: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Group an execution's raw step records into per-iteration lanes for one MAP step.
|
|
20
|
+
*
|
|
21
|
+
* MAP iteration records are node-path keyed `<mapStepId>:<branchKey>#<i>/<rest>`
|
|
22
|
+
* (e.g. `owners_map:item#2/validate`). We bucket records by the captured iteration
|
|
23
|
+
* index `<i>`, then keep two views per iteration:
|
|
24
|
+
* - `states`: built from the records AS-IS, so each record's `nodePath` stays the
|
|
25
|
+
* FULL node-path — that's what the approvals selector / sidebar resume need to
|
|
26
|
+
* resume a paused gate inside one iteration. (Keying is by bare leaf id via
|
|
27
|
+
* `leafStepId`, so there's no cross-iteration collision regardless.)
|
|
28
|
+
* - `records`: the same records with the `<mapStepId>:<branchKey>#<i>/` frame
|
|
29
|
+
* stripped, so a nested MAP inside the body can regex-match its own iterations
|
|
30
|
+
* against paths relative to this iteration.
|
|
31
|
+
*
|
|
32
|
+
* Lanes are returned sorted by index so they render in source-array order.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildMapIterations(mapStepId: string, records: ExecutionDetail['steps'] | undefined): MapIterationLane[];
|
|
35
|
+
//# sourceMappingURL=map-lanes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-lanes.d.ts","sourceRoot":"","sources":["../../src/utils/map-lanes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,kCAAkC,CAAC;AAE1C,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACxC,qFAAqF;IACrF,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,SAAS,GAC5C,gBAAgB,EAAE,CA0BpB"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { buildStepStatesFromRecords, } from '../hooks/use-execution-viewer.js';
|
|
2
|
+
function escapeRegExp(s) {
|
|
3
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Group an execution's raw step records into per-iteration lanes for one MAP step.
|
|
7
|
+
*
|
|
8
|
+
* MAP iteration records are node-path keyed `<mapStepId>:<branchKey>#<i>/<rest>`
|
|
9
|
+
* (e.g. `owners_map:item#2/validate`). We bucket records by the captured iteration
|
|
10
|
+
* index `<i>`, then keep two views per iteration:
|
|
11
|
+
* - `states`: built from the records AS-IS, so each record's `nodePath` stays the
|
|
12
|
+
* FULL node-path — that's what the approvals selector / sidebar resume need to
|
|
13
|
+
* resume a paused gate inside one iteration. (Keying is by bare leaf id via
|
|
14
|
+
* `leafStepId`, so there's no cross-iteration collision regardless.)
|
|
15
|
+
* - `records`: the same records with the `<mapStepId>:<branchKey>#<i>/` frame
|
|
16
|
+
* stripped, so a nested MAP inside the body can regex-match its own iterations
|
|
17
|
+
* against paths relative to this iteration.
|
|
18
|
+
*
|
|
19
|
+
* Lanes are returned sorted by index so they render in source-array order.
|
|
20
|
+
*/
|
|
21
|
+
export function buildMapIterations(mapStepId, records) {
|
|
22
|
+
if (!records)
|
|
23
|
+
return [];
|
|
24
|
+
const re = new RegExp(`^${escapeRegExp(mapStepId)}:[^/]+#(\\d+)/`);
|
|
25
|
+
const full = new Map();
|
|
26
|
+
const stripped = new Map();
|
|
27
|
+
for (const r of records) {
|
|
28
|
+
const m = re.exec(r.stepName);
|
|
29
|
+
if (!m)
|
|
30
|
+
continue;
|
|
31
|
+
const iter = Number(m[1]);
|
|
32
|
+
(full.get(iter) ?? full.set(iter, []).get(iter)).push(r);
|
|
33
|
+
const sub = r.stepName.slice(r.stepName.indexOf('/') + 1); // drop the map frame
|
|
34
|
+
(stripped.get(iter) ?? stripped.set(iter, []).get(iter)).push({ ...r, stepName: sub });
|
|
35
|
+
}
|
|
36
|
+
return [...full.entries()]
|
|
37
|
+
.sort((a, b) => a[0] - b[0])
|
|
38
|
+
.map(([index, recs]) => {
|
|
39
|
+
const first = recs[0].stepName;
|
|
40
|
+
return {
|
|
41
|
+
index,
|
|
42
|
+
records: stripped.get(index),
|
|
43
|
+
states: buildStepStatesFromRecords(recs),
|
|
44
|
+
prefix: first.slice(0, first.indexOf('/') + 1), // e.g. "owners_map:item#0/"
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=map-lanes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-lanes.js","sourceRoot":"","sources":["../../src/utils/map-lanes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,GAE3B,MAAM,kCAAkC,CAAC;AAkB1C,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,OAA6C;IAE7C,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE7D,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB;QAChF,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;SACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,IAAK,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC;QACjC,OAAO;YACL,KAAK;YACL,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE;YAC7B,MAAM,EAAE,0BAA0B,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,4BAA4B;SAC7E,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Action } from '@xyne/workflow-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* Whether `action` is permitted, given a resource's `permittedActions` (from
|
|
4
|
+
* the authorizer, attached to single-fetch DTOs by the SDK runtime).
|
|
5
|
+
*
|
|
6
|
+
* When `permittedActions` is `undefined` — list rows (not computed to avoid an
|
|
7
|
+
* N+1), or no authorizer configured — this returns `true`: the UI shows the
|
|
8
|
+
* control optimistically and the backend still enforces. A denied attempt comes
|
|
9
|
+
* back as a 403, surfaced by the mutation hooks. So this gates the UI for UX; it
|
|
10
|
+
* is never the security boundary.
|
|
11
|
+
*/
|
|
12
|
+
export declare function canPerform(permittedActions: readonly Action[] | undefined, action: Action): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* True when an error from the workflow client is an authorization denial (403).
|
|
15
|
+
* `WorkflowClientError` carries `.status`; a denied mutation surfaces here even
|
|
16
|
+
* when the UI showed the control optimistically (list rows).
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPermissionDenied(err: unknown): boolean;
|
|
19
|
+
/** A user-facing message for a mutation error, normalizing 403s. */
|
|
20
|
+
export declare function friendlyMutationError(err: unknown): string;
|
|
21
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,gBAAgB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAC/C,MAAM,EAAE,MAAM,GACb,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAOxD;AAED,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAG1D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `action` is permitted, given a resource's `permittedActions` (from
|
|
3
|
+
* the authorizer, attached to single-fetch DTOs by the SDK runtime).
|
|
4
|
+
*
|
|
5
|
+
* When `permittedActions` is `undefined` — list rows (not computed to avoid an
|
|
6
|
+
* N+1), or no authorizer configured — this returns `true`: the UI shows the
|
|
7
|
+
* control optimistically and the backend still enforces. A denied attempt comes
|
|
8
|
+
* back as a 403, surfaced by the mutation hooks. So this gates the UI for UX; it
|
|
9
|
+
* is never the security boundary.
|
|
10
|
+
*/
|
|
11
|
+
export function canPerform(permittedActions, action) {
|
|
12
|
+
return permittedActions === undefined || permittedActions.includes(action);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* True when an error from the workflow client is an authorization denial (403).
|
|
16
|
+
* `WorkflowClientError` carries `.status`; a denied mutation surfaces here even
|
|
17
|
+
* when the UI showed the control optimistically (list rows).
|
|
18
|
+
*/
|
|
19
|
+
export function isPermissionDenied(err) {
|
|
20
|
+
return (typeof err === 'object' &&
|
|
21
|
+
err !== null &&
|
|
22
|
+
'status' in err &&
|
|
23
|
+
err.status === 403);
|
|
24
|
+
}
|
|
25
|
+
/** A user-facing message for a mutation error, normalizing 403s. */
|
|
26
|
+
export function friendlyMutationError(err) {
|
|
27
|
+
if (isPermissionDenied(err))
|
|
28
|
+
return "You don't have permission to perform this action.";
|
|
29
|
+
return err instanceof Error ? err.message : String(err);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/utils/permissions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CACxB,gBAA+C,EAC/C,MAAc;IAEd,OAAO,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,QAAQ,IAAI,GAAG;QACd,GAA2B,CAAC,MAAM,KAAK,GAAG,CAC5C,CAAC;AACJ,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,IAAI,kBAAkB,CAAC,GAAG,CAAC;QAAE,OAAO,mDAAmD,CAAC;IACxF,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddStepButton.d.ts","sourceRoot":"","sources":["../../../src/components/builder/AddStepButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,+BAqB9C"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Handle, Position } from '@xyflow/react';
|
|
3
|
-
export function AddStepButton(_props) {
|
|
4
|
-
// Click is handled by onNodeClick on the ReactFlow component.
|
|
5
|
-
return (_jsxs("div", { className: "flex w-[220px] items-center justify-center", children: [_jsx(Handle, { type: "target", position: Position.Top, className: "!opacity-0" }), _jsx("div", { className: "group flex h-6 w-6 items-center justify-center rounded-full border border-slate-300 bg-white cursor-pointer transition-all duration-150 hover:border-indigo-400 hover:shadow-sm hover:scale-110 active:scale-100", title: "Add step", children: _jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", className: "text-slate-400 group-hover:text-indigo-500 transition-colors duration-150", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }) }), _jsx(Handle, { type: "source", position: Position.Bottom, className: "!opacity-0" })] }));
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=AddStepButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AddStepButton.js","sourceRoot":"","sources":["../../../src/components/builder/AddStepButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMjD,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,8DAA8D;IAC9D,OAAO,CACL,eAAK,SAAS,EAAC,4CAA4C,aACzD,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAC,YAAY,GAAG,EAEvE,cACE,SAAS,EAAC,kNAAkN,EAC5N,KAAK,EAAC,UAAU,YAEhB,eACE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EACpH,SAAS,EAAC,2EAA2E,aAErF,eAAM,CAAC,EAAC,UAAU,GAAE,EAAA,eAAM,CAAC,EAAC,UAAU,GAAE,IACpC,GACF,EAEN,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAC,YAAY,GAAG,IACtE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BranchEdge.d.ts","sourceRoot":"","sources":["../../../src/components/builder/BranchEdge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAExE,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,KAAK,EACL,KAAK,GACN,EAAE,SAAS,+BAuCX"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { BaseEdge, getBezierPath } from '@xyflow/react';
|
|
3
|
-
export function BranchEdge({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, label, style, }) {
|
|
4
|
-
const [edgePath, labelX, labelY] = getBezierPath({
|
|
5
|
-
sourceX,
|
|
6
|
-
sourceY,
|
|
7
|
-
sourcePosition,
|
|
8
|
-
targetX,
|
|
9
|
-
targetY,
|
|
10
|
-
targetPosition,
|
|
11
|
-
});
|
|
12
|
-
return (_jsxs(_Fragment, { children: [_jsx(BaseEdge, { id: id, path: edgePath, style: {
|
|
13
|
-
stroke: '#cbd5e1',
|
|
14
|
-
strokeWidth: 1,
|
|
15
|
-
strokeDasharray: '5 3',
|
|
16
|
-
...style,
|
|
17
|
-
} }), label && (_jsx("foreignObject", { width: 80, height: 22, x: labelX - 40, y: labelY - 11, requiredExtensions: "http://www.w3.org/1999/xhtml", children: _jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("span", { className: "rounded border border-slate-200 bg-white px-2 py-0.5 text-[10px] font-medium text-slate-400 uppercase tracking-wider", children: label }) }) }))] }));
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=BranchEdge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BranchEdge.js","sourceRoot":"","sources":["../../../src/components/builder/BranchEdge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAC;AAExE,MAAM,UAAU,UAAU,CAAC,EACzB,EAAE,EACF,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,KAAK,EACL,KAAK,GACK;IACV,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC;QAC/C,OAAO;QACP,OAAO;QACP,cAAc;QACd,OAAO;QACP,OAAO;QACP,cAAc;KACf,CAAC,CAAC;IAEH,OAAO,CACL,8BACE,KAAC,QAAQ,IACP,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE;oBACL,MAAM,EAAE,SAAS;oBACjB,WAAW,EAAE,CAAC;oBACd,eAAe,EAAE,KAAK;oBACtB,GAAG,KAAK;iBACT,GACD,EACD,KAAK,IAAI,CACR,wBACE,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,CAAC,EAAE,MAAM,GAAG,EAAE,EACd,CAAC,EAAE,MAAM,GAAG,EAAE,EACd,kBAAkB,EAAC,8BAA8B,YAEjD,cAAK,SAAS,EAAC,yCAAyC,YACtD,eAAM,SAAS,EAAC,sHAAsH,YACnI,KAAK,GACD,GACH,GACQ,CACjB,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { UseWorkflowBuilderReturn } from '../../hooks/use-workflow-builder.js';
|
|
2
|
-
export interface BuilderToolbarProps {
|
|
3
|
-
builder: UseWorkflowBuilderReturn;
|
|
4
|
-
onSave?: (() => void) | undefined;
|
|
5
|
-
onTestRun?: (() => void) | undefined;
|
|
6
|
-
isSaving?: boolean | undefined;
|
|
7
|
-
className?: string | undefined;
|
|
8
|
-
}
|
|
9
|
-
export declare function BuilderToolbar({ builder, onSave, onTestRun, isSaving, className, }: BuilderToolbarProps): import("react").JSX.Element;
|
|
10
|
-
//# sourceMappingURL=BuilderToolbar.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/builder/BuilderToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGpF,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,wBAAwB,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,+BA6GrB"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from '../shared/cn.js';
|
|
3
|
-
export function BuilderToolbar({ builder, onSave, onTestRun, isSaving, className, }) {
|
|
4
|
-
const { isDirty, canUndo, canRedo, undo, redo, isValidating, validation } = builder;
|
|
5
|
-
const hasErrors = validation !== null && !validation.valid;
|
|
6
|
-
return (_jsxs("div", { className: cn('flex items-center gap-3 border-t border-slate-200/80 bg-white px-4 py-2', className), children: [_jsxs("div", { className: "flex items-center rounded-lg border border-slate-200/80 bg-slate-50/50 p-0.5", children: [_jsx("button", { onClick: undo, disabled: !canUndo, className: cn('flex h-7 w-7 items-center justify-center rounded-md transition-all duration-100', canUndo
|
|
7
|
-
? 'text-slate-500 hover:bg-white hover:text-slate-700 hover:shadow-sm'
|
|
8
|
-
: 'text-slate-300 cursor-not-allowed'), title: "Undo", children: _jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M3 7v6h6" }), _jsx("path", { d: "M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13" })] }) }), _jsx("div", { className: "w-px h-4 bg-slate-200/60" }), _jsx("button", { onClick: redo, disabled: !canRedo, className: cn('flex h-7 w-7 items-center justify-center rounded-md transition-all duration-100', canRedo
|
|
9
|
-
? 'text-slate-500 hover:bg-white hover:text-slate-700 hover:shadow-sm'
|
|
10
|
-
: 'text-slate-300 cursor-not-allowed'), title: "Redo", children: _jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M21 7v6h-6" }), _jsx("path", { d: "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3L21 13" })] }) })] }), isValidating && (_jsxs("span", { className: "flex items-center gap-1.5 text-[11px] font-medium text-slate-400", children: [_jsxs("svg", { className: "h-3 w-3 animate-spin", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: [_jsx("circle", { cx: "12", cy: "12", r: "10", strokeOpacity: "0.2" }), _jsx("path", { d: "M12 2a10 10 0 0 1 10 10", strokeOpacity: "0.7" })] }), "Validating"] })), hasErrors && !isValidating && (_jsxs("span", { className: "flex items-center gap-1.5 rounded-lg bg-red-50 px-2.5 py-1 text-[11px] font-semibold text-red-500 ring-1 ring-red-200/50", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M12 8v4" }), _jsx("path", { d: "M12 16h.01" })] }), validation && 'errors' in validation && Array.isArray(validation['errors'])
|
|
11
|
-
? `${validation['errors'].length} error${validation['errors'].length === 1 ? '' : 's'}`
|
|
12
|
-
: 'Errors'] })), _jsx("div", { className: "flex-1" }), onTestRun && (_jsxs("button", { onClick: onTestRun, className: cn('flex items-center gap-2 rounded-lg border border-slate-200 px-3.5 py-1.5 text-[13px] font-medium transition-all duration-100', 'text-slate-600 hover:bg-slate-50 hover:border-slate-300 hover:text-slate-800 active:scale-[0.98]'), children: [_jsx("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor", className: "text-emerald-500", children: _jsx("polygon", { points: "5 3 19 12 5 21 5 3" }) }), "Test Run"] })), onSave && (_jsx("button", { onClick: onSave, disabled: !isDirty || isSaving, className: cn('flex items-center gap-2 rounded-lg px-4 py-1.5 text-[13px] font-semibold transition-all duration-100', isDirty && !isSaving
|
|
13
|
-
? 'bg-indigo-500 text-white shadow-sm shadow-indigo-200 hover:bg-indigo-600 active:scale-[0.98]'
|
|
14
|
-
: 'bg-slate-100 text-slate-400 cursor-not-allowed'), children: isSaving ? (_jsxs(_Fragment, { children: [_jsxs("svg", { className: "h-3 w-3 animate-spin", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", children: [_jsx("circle", { cx: "12", cy: "12", r: "10", strokeOpacity: "0.3" }), _jsx("path", { d: "M12 2a10 10 0 0 1 10 10" })] }), "Saving"] })) : 'Save' }))] }));
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=BuilderToolbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BuilderToolbar.js","sourceRoot":"","sources":["../../../src/components/builder/BuilderToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { WorkflowStepConfig } from '@xyne/workflow-sdk/builder';
|
|
2
|
-
export interface StepConfigDrawerProps {
|
|
3
|
-
step: WorkflowStepConfig;
|
|
4
|
-
onUpdateConfig: (config: Record<string, unknown>) => void;
|
|
5
|
-
onDelete: () => void;
|
|
6
|
-
onDuplicate: () => void;
|
|
7
|
-
onClose: () => void;
|
|
8
|
-
className?: string | undefined;
|
|
9
|
-
}
|
|
10
|
-
export declare function StepConfigDrawer({ step, onUpdateConfig, onDelete, onDuplicate, onClose, className, }: StepConfigDrawerProps): import("react").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=StepConfigDrawer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfigDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/builder/StepConfigDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAMrE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,kBAAkB,CAAC;IACzB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AASD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EACJ,cAAc,EACd,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,GACV,EAAE,qBAAqB,+BAgGvB"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useStepConfig } from '../../hooks/use-step-config.js';
|
|
3
|
-
import { SchemaFormRenderer } from '../schema-form/SchemaFormRenderer.js';
|
|
4
|
-
import { LoadingSpinner } from '../shared/LoadingSpinner.js';
|
|
5
|
-
import { cn } from '../shared/cn.js';
|
|
6
|
-
function formatTypeName(type) {
|
|
7
|
-
return type
|
|
8
|
-
.split(/[_-]/)
|
|
9
|
-
.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
|
|
10
|
-
.join(' ');
|
|
11
|
-
}
|
|
12
|
-
export function StepConfigDrawer({ step, onUpdateConfig, onDelete, onDuplicate, onClose, className, }) {
|
|
13
|
-
const { fields, values, errors, setFieldValue, descriptor, isLoading } = useStepConfig({
|
|
14
|
-
stepType: step.type,
|
|
15
|
-
initialValues: step.config ?? {},
|
|
16
|
-
onValuesChange: onUpdateConfig,
|
|
17
|
-
});
|
|
18
|
-
const displayName = descriptor?.name ?? formatTypeName(step.type);
|
|
19
|
-
return (_jsxs("div", { className: cn('flex w-80 flex-col border-l border-slate-200/80 bg-white', 'animate-[wui-slide-in-right_180ms_ease-out]', className), children: [_jsxs("div", { className: "flex items-center gap-3 border-b border-slate-100 px-4 py-3.5", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-indigo-50 text-xs font-bold text-indigo-500", children: step.type.slice(0, 2).toUpperCase() }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-[13px] font-semibold text-slate-800", children: displayName }), _jsx("div", { className: "truncate text-[11px] text-slate-400 uppercase tracking-wide", children: step.type.replace(/_/g, ' ') })] }), _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", 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" })] }) })] }), _jsx("div", { className: "flex-1 overflow-y-auto p-4", children: isLoading ? (_jsx("div", { className: "flex justify-center py-8", 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: errors, onChange: (path, value) => setFieldValue(path, value) })] })) : (_jsxs("div", { className: "flex flex-col items-center py-8 text-center", children: [_jsx("div", { className: "mb-2.5 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-400", 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" })] })) }), _jsxs("div", { className: "flex gap-2 border-t border-slate-100 px-4 py-3", children: [_jsxs("button", { onClick: onDuplicate, className: cn('flex flex-1 items-center justify-center gap-1.5 rounded-lg border border-slate-200 px-3 py-2 text-[13px] font-medium', 'text-slate-600 hover:bg-slate-50 hover:border-slate-300 transition-all duration-100'), children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", 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" })] }), "Duplicate"] }), _jsxs("button", { onClick: onDelete, className: cn('flex flex-1 items-center justify-center gap-1.5 rounded-lg border border-red-200/60 px-3 py-2 text-[13px] font-medium', 'text-red-500 hover:bg-red-50 hover:border-red-300 transition-all duration-100'), 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: "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" })] }), "Delete"] })] })] }));
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=StepConfigDrawer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepConfigDrawer.js","sourceRoot":"","sources":["../../../src/components/builder/StepConfigDrawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { NodeProps } from '@xyflow/react';
|
|
2
|
-
import type React from 'react';
|
|
3
|
-
import type { WorkflowStepConfig } from '@xyne/workflow-sdk/builder';
|
|
4
|
-
export interface StepNodeData {
|
|
5
|
-
stepConfig: WorkflowStepConfig;
|
|
6
|
-
label: string;
|
|
7
|
-
isSelected?: boolean | undefined;
|
|
8
|
-
isDisabled?: boolean | undefined;
|
|
9
|
-
hasValidationErrors?: boolean | undefined;
|
|
10
|
-
onDelete?: (() => void) | undefined;
|
|
11
|
-
onDuplicate?: (() => void) | undefined;
|
|
12
|
-
onToggleDisabled?: (() => void) | undefined;
|
|
13
|
-
}
|
|
14
|
-
export declare function StepNode({ data }: NodeProps): React.JSX.Element;
|
|
15
|
-
//# sourceMappingURL=StepNode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepNode.d.ts","sourceRoot":"","sources":["../../../src/components/builder/StepNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGrE,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACvC,gBAAgB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7C;AAqGD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,qBAsH3C"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Handle, Position } from '@xyflow/react';
|
|
3
|
-
import { cn } from '../shared/cn.js';
|
|
4
|
-
const CATEGORIES = {
|
|
5
|
-
data: { accent: 'border-l-sky-400', iconBg: 'bg-sky-50', iconText: 'text-sky-500' },
|
|
6
|
-
integration: { accent: 'border-l-violet-400', iconBg: 'bg-violet-50', iconText: 'text-violet-500' },
|
|
7
|
-
control: { accent: 'border-l-amber-400', iconBg: 'bg-amber-50', iconText: 'text-amber-500' },
|
|
8
|
-
flow: { accent: 'border-l-teal-400', iconBg: 'bg-teal-50', iconText: 'text-teal-500' },
|
|
9
|
-
action: { accent: 'border-l-indigo-400', iconBg: 'bg-indigo-50', iconText: 'text-indigo-500' },
|
|
10
|
-
};
|
|
11
|
-
function getCategoryForType(type) {
|
|
12
|
-
const t = type.toUpperCase();
|
|
13
|
-
if (['TRANSFORM', 'CODE', 'DEDUP'].includes(t))
|
|
14
|
-
return 'data';
|
|
15
|
-
if (['HTTP_REQUEST', 'HTTP'].includes(t))
|
|
16
|
-
return 'integration';
|
|
17
|
-
if (['CONDITIONAL', 'SWITCH', 'LOOP', 'PARALLEL'].includes(t))
|
|
18
|
-
return 'control';
|
|
19
|
-
if (['WAIT'].includes(t))
|
|
20
|
-
return 'flow';
|
|
21
|
-
return 'action';
|
|
22
|
-
}
|
|
23
|
-
function getTheme(category) {
|
|
24
|
-
return CATEGORIES[category.toLowerCase()] ?? CATEGORIES['action'];
|
|
25
|
-
}
|
|
26
|
-
// ─── Step icons (inline SVGs for all built-in types) ───
|
|
27
|
-
function StepIcon({ type, category }) {
|
|
28
|
-
const theme = getTheme(category);
|
|
29
|
-
const t = type.toUpperCase();
|
|
30
|
-
const icons = {
|
|
31
|
-
TRANSFORM: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M3 6h18" }), _jsx("path", { d: "M7 12h10" }), _jsx("path", { d: "M10 18h4" })] })),
|
|
32
|
-
CODE: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("polyline", { points: "16 18 22 12 16 6" }), _jsx("polyline", { points: "8 6 2 12 8 18" })] })),
|
|
33
|
-
HTTP_REQUEST: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M2 12h20" }), _jsx("path", { d: "M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" })] })),
|
|
34
|
-
LOOP: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M17 2l4 4-4 4" }), _jsx("path", { d: "M3 11V9a4 4 0 0 1 4-4h14" }), _jsx("path", { d: "M7 22l-4-4 4-4" }), _jsx("path", { d: "M21 13v2a4 4 0 0 1-4 4H3" })] })),
|
|
35
|
-
PARALLEL: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M8 3v18" }), _jsx("path", { d: "M16 3v18" }), _jsx("path", { d: "M3 8h4" }), _jsx("path", { d: "M3 16h4" }), _jsx("path", { d: "M17 8h4" }), _jsx("path", { d: "M17 16h4" })] })),
|
|
36
|
-
WAIT: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("polyline", { points: "12 6 12 12 16 14" })] })),
|
|
37
|
-
DEDUP: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "2", y: "6", width: "13", height: "13", rx: "2" }), _jsx("path", { d: "M9 2h9a2 2 0 0 1 2 2v9" }), _jsx("path", { d: "m15 11-4 4-2-2" })] })),
|
|
38
|
-
CONDITIONAL: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M12 3v6" }), _jsx("path", { d: "M12 15v6" }), _jsx("circle", { cx: "12", cy: "12", r: "3" }), _jsx("path", { d: "M3 12h6" }), _jsx("path", { d: "M15 12h6" })] })),
|
|
39
|
-
SWITCH: (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M6 3v12" }), _jsx("path", { d: "m18 9-6 6-6-6" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("circle", { cx: "18", cy: "6", r: "3" })] })),
|
|
40
|
-
};
|
|
41
|
-
return (_jsx("div", { className: cn('flex h-8 w-8 shrink-0 items-center justify-center rounded-md', theme.iconBg, theme.iconText), children: icons[t] ?? (_jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2" }), _jsx("path", { d: "M12 8v8" }), _jsx("path", { d: "M8 12h8" })] })) }));
|
|
42
|
-
}
|
|
43
|
-
// ─── Component ───
|
|
44
|
-
export function StepNode({ data }) {
|
|
45
|
-
const { stepConfig, label, isSelected, isDisabled, hasValidationErrors, onDelete, onDuplicate, onToggleDisabled, } = data;
|
|
46
|
-
// Invisible rejoin merge points
|
|
47
|
-
if (!label) {
|
|
48
|
-
return (_jsxs("div", { className: "h-0 w-0", children: [_jsx(Handle, { type: "target", position: Position.Top, className: "!opacity-0" }), _jsx(Handle, { type: "source", position: Position.Bottom, className: "!opacity-0" })] }));
|
|
49
|
-
}
|
|
50
|
-
const category = getCategoryForType(stepConfig.type);
|
|
51
|
-
const theme = getTheme(category);
|
|
52
|
-
return (_jsxs("div", { className: cn('group relative w-[220px] rounded-lg border border-l-[3px] bg-white transition-all duration-150', 'cursor-pointer select-none', theme.accent, isSelected
|
|
53
|
-
? 'border-indigo-300 shadow-[0_0_0_2px_rgba(99,102,241,0.2)] ring-1 ring-indigo-200'
|
|
54
|
-
: 'border-slate-200 shadow-sm hover:shadow-md hover:border-slate-300', isDisabled && 'opacity-35 grayscale', hasValidationErrors && 'ring-2 ring-red-300/50'), children: [_jsx(Handle, { type: "target", position: Position.Top, className: "!opacity-0" }), _jsxs("div", { className: "flex items-center gap-2.5 px-3 py-2.5", children: [_jsx(StepIcon, { type: stepConfig.type, category: category }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-[13px] font-semibold text-slate-800 leading-tight", children: label }), _jsx("div", { className: "mt-0.5 truncate text-[11px] text-slate-400 uppercase tracking-wide", children: stepConfig.type.replace(/_/g, ' ') })] }), hasValidationErrors && (_jsx("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-red-50 text-red-500", children: _jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", children: [_jsx("path", { d: "M12 9v4" }), _jsx("circle", { cx: "12", cy: "16", r: "0.5", fill: "currentColor" })] }) }))] }), _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: isDisabled ? (_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: "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" })] })) : (_jsxs("svg", { width: "11", height: "11", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M9.88 9.88a3 3 0 1 0 4.24 4.24" }), _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" })] }) }))] }), _jsx(Handle, { type: "source", position: Position.Bottom, className: "!opacity-0" })] }));
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=StepNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepNode.js","sourceRoot":"","sources":["../../../src/components/builder/StepNode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
|
-
export interface StepPaletteProps {
|
|
3
|
-
onSelectStep: (type: string) => void;
|
|
4
|
-
className?: string | undefined;
|
|
5
|
-
}
|
|
6
|
-
export declare function StepPalette({ onSelectStep, className }: StepPaletteProps): React.JSX.Element;
|
|
7
|
-
//# sourceMappingURL=StepPalette.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StepPalette.d.ts","sourceRoot":"","sources":["../../../src/components/builder/StepPalette.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAwCD,wBAAgB,WAAW,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,gBAAgB,qBAiJxE"}
|