@notmrabhi/flowforge 0.1.15 → 0.1.16
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/GatewayBranchEdge-CFre76ne.js +1 -0
- package/dist/{GatewayBranchEdge-DH-aHDPm.js → GatewayBranchEdge-CwL3jMdK.js} +130 -130
- package/dist/canvas.cjs +1 -1
- package/dist/canvas.d.ts +160 -11
- package/dist/canvas.js +2 -2
- package/dist/core.d.ts +41 -0
- package/dist/defaultUi.cjs +1 -1
- package/dist/defaultUi.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +41 -0
- package/dist/index.js +2 -2
- package/dist/nodeRegistry.d.ts +41 -0
- package/dist/templateSkeletons-BKaXZuM9.js +1 -0
- package/dist/templateSkeletons-Bx-hGzdq.js +2945 -0
- package/package.json +1 -1
- package/dist/GatewayBranchEdge-CrDMz9RP.js +0 -1
- package/dist/templateSkeletons-CLTHjrVA.js +0 -1
- package/dist/templateSkeletons-CrVa5zSa.js +0 -2925
package/dist/canvas.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./templateSkeletons-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./templateSkeletons-BKaXZuM9.js"),t=require("./messages-O9Tw_XXR.js"),r=require("./bpmn-CcuE2X_Q.js"),e=require("./GatewayBranchEdge-CFre76ne.js");exports.FlowForgeCanvas=o.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=o.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=o.FlowForgeCanvas;exports.WorkflowExecutionHistory=o.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=o.WorkflowTemplateLibrary;exports.accessRequestSkeleton=o.accessRequestSkeleton;exports.offboardingSkeleton=o.offboardingSkeleton;exports.userOnboardingSkeleton=o.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=o.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=t.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=r.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=r.saveWorkflowToBpmn;exports.ActionNode=e.ActionNode;exports.ApprovalNode=e.ApprovalNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.RestApiNode=e.RestApiNode;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.WebhookTriggerNode=e.WebhookTriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
|
package/dist/canvas.d.ts
CHANGED
|
@@ -45,11 +45,13 @@ export declare interface BpmnSaveOptions {
|
|
|
45
45
|
|
|
46
46
|
declare type BranchChain = CanvasSlot_2[];
|
|
47
47
|
|
|
48
|
-
declare type BranchChain_2 =
|
|
48
|
+
declare type BranchChain_2 = CanvasSlot_3[];
|
|
49
|
+
|
|
50
|
+
declare type BranchChain_3 = CanvasSlot[];
|
|
49
51
|
|
|
50
52
|
export declare interface BranchMap {
|
|
51
53
|
[filterId: string]: {
|
|
52
|
-
[branchKey: string]:
|
|
54
|
+
[branchKey: string]: BranchChain_3;
|
|
53
55
|
};
|
|
54
56
|
}
|
|
55
57
|
|
|
@@ -59,11 +61,17 @@ declare interface BranchMap_2 {
|
|
|
59
61
|
};
|
|
60
62
|
}
|
|
61
63
|
|
|
64
|
+
declare interface BranchMap_3 {
|
|
65
|
+
[filterId: string]: {
|
|
66
|
+
[branchKey: string]: BranchChain_2;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
|
|
62
70
|
export declare const builtInNodeTypes: NodeTypes;
|
|
63
71
|
|
|
64
72
|
export declare interface CanvasSlot {
|
|
65
73
|
id: string;
|
|
66
|
-
kind:
|
|
74
|
+
kind: SlotKind_3;
|
|
67
75
|
reactFlowType: string;
|
|
68
76
|
descriptorType?: string;
|
|
69
77
|
formData?: Record<string, unknown>;
|
|
@@ -87,6 +95,19 @@ declare interface CanvasSlot_2 {
|
|
|
87
95
|
branchLabels?: Record<string, string>;
|
|
88
96
|
}
|
|
89
97
|
|
|
98
|
+
declare interface CanvasSlot_3 {
|
|
99
|
+
id: string;
|
|
100
|
+
kind: SlotKind_2;
|
|
101
|
+
reactFlowType: string;
|
|
102
|
+
descriptorType?: string;
|
|
103
|
+
formData?: Record<string, unknown>;
|
|
104
|
+
nodeData?: Record<string, unknown>;
|
|
105
|
+
deletable?: boolean;
|
|
106
|
+
label?: string;
|
|
107
|
+
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' } */
|
|
108
|
+
branchLabels?: Record<string, string>;
|
|
109
|
+
}
|
|
110
|
+
|
|
90
111
|
/** One column in a per-field condition row */
|
|
91
112
|
declare interface ConditionFieldDef {
|
|
92
113
|
/** Key used to store this column's value in ConditionEntry */
|
|
@@ -309,6 +330,12 @@ declare interface FixedEdge_2 {
|
|
|
309
330
|
target: string;
|
|
310
331
|
}
|
|
311
332
|
|
|
333
|
+
declare interface FixedEdge_3 {
|
|
334
|
+
id: string;
|
|
335
|
+
source: string;
|
|
336
|
+
target: string;
|
|
337
|
+
}
|
|
338
|
+
|
|
312
339
|
declare interface FixedNode {
|
|
313
340
|
id: string;
|
|
314
341
|
type: string;
|
|
@@ -323,6 +350,13 @@ declare interface FixedNode_2 {
|
|
|
323
350
|
deletable?: false;
|
|
324
351
|
}
|
|
325
352
|
|
|
353
|
+
declare interface FixedNode_3 {
|
|
354
|
+
id: string;
|
|
355
|
+
type: string;
|
|
356
|
+
data?: Record<string, unknown>;
|
|
357
|
+
deletable?: false;
|
|
358
|
+
}
|
|
359
|
+
|
|
326
360
|
declare const FlowForgeCanvas: ({ nodeRegistry, templateRegistry, initialValue, nodeTypes: consumerNodeTypes, edgeTypes: consumerEdgeTypes, onSave, readOnly, theme, messages: messageOverrides, canvasOptions, renderTriggerSelector, loadTriggerSources, renderNodePicker, renderNodeConfig, onNodeClick: onNodeClickProp, maxNodes, layoutDirection, executionRecord, onFetchWorkflow, }: FlowForgeCanvasProps) => JSX_2.Element;
|
|
327
361
|
export { FlowForgeCanvas }
|
|
328
362
|
export { FlowForgeCanvas as WorkflowCanvas }
|
|
@@ -446,6 +480,50 @@ export declare interface FlowForgeTheme {
|
|
|
446
480
|
backgroundColor?: string;
|
|
447
481
|
}
|
|
448
482
|
|
|
483
|
+
/**
|
|
484
|
+
* Context passed to `NodeDescriptor.canInsert(ctx)` describing where on the
|
|
485
|
+
* canvas the user clicked "+ Add step". Used by position-aware insertion rules.
|
|
486
|
+
*/
|
|
487
|
+
declare interface InsertContext {
|
|
488
|
+
/** The slot the user clicked under (the one whose "+" edge was clicked). */
|
|
489
|
+
insertAfterSlot: CanvasSlot_2 | null;
|
|
490
|
+
/** Every slot before the insertion point, including the click slot.
|
|
491
|
+
* When inside a branch: spine up to + including the branching parent, then
|
|
492
|
+
* the branch's own slots up to the insertion point. */
|
|
493
|
+
upstreamSlots: CanvasSlot_2[];
|
|
494
|
+
/** Every slot after the insertion point in the same chain. */
|
|
495
|
+
downstreamSlots: CanvasSlot_2[];
|
|
496
|
+
/** Branch context, if the insertion is happening inside a branch. */
|
|
497
|
+
branch: {
|
|
498
|
+
filterId: string;
|
|
499
|
+
branch: string;
|
|
500
|
+
} | null;
|
|
501
|
+
/** The currently active template (the one whose trigger is in use). */
|
|
502
|
+
template: WorkflowTemplate_2 | null;
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Context passed to `NodeDescriptor.canInsert(ctx)` describing where on the
|
|
507
|
+
* canvas the user clicked "+ Add step". Used by position-aware insertion rules.
|
|
508
|
+
*/
|
|
509
|
+
declare interface InsertContext_2 {
|
|
510
|
+
/** The slot the user clicked under (the one whose "+" edge was clicked). */
|
|
511
|
+
insertAfterSlot: CanvasSlot | null;
|
|
512
|
+
/** Every slot before the insertion point, including the click slot.
|
|
513
|
+
* When inside a branch: spine up to + including the branching parent, then
|
|
514
|
+
* the branch's own slots up to the insertion point. */
|
|
515
|
+
upstreamSlots: CanvasSlot[];
|
|
516
|
+
/** Every slot after the insertion point in the same chain. */
|
|
517
|
+
downstreamSlots: CanvasSlot[];
|
|
518
|
+
/** Branch context, if the insertion is happening inside a branch. */
|
|
519
|
+
branch: {
|
|
520
|
+
filterId: string;
|
|
521
|
+
branch: string;
|
|
522
|
+
} | null;
|
|
523
|
+
/** The currently active template (the one whose trigger is in use). */
|
|
524
|
+
template: WorkflowTemplate | null;
|
|
525
|
+
}
|
|
526
|
+
|
|
449
527
|
export declare function loadWorkflowFromBpmn(xml: string): WorkflowState;
|
|
450
528
|
|
|
451
529
|
export declare interface NodeDescriptor {
|
|
@@ -479,6 +557,25 @@ export declare interface NodeDescriptor {
|
|
|
479
557
|
* Receives the node's saved formData.
|
|
480
558
|
*/
|
|
481
559
|
renderNode?: (nodeData: Record<string, unknown>) => ReactNode;
|
|
560
|
+
/**
|
|
561
|
+
* Position constraint — this descriptor can be inserted only if at least ONE
|
|
562
|
+
* of the listed tokens appears in the upstream chain of the click site.
|
|
563
|
+
* Tokens can be a descriptorType (e.g. 'createUserTask'), a slot id
|
|
564
|
+
* (e.g. 'event-userCreated'), or a slot kind (e.g. 'triggerFixed').
|
|
565
|
+
* Ignored when `canInsert` is set.
|
|
566
|
+
*/
|
|
567
|
+
insertAfter?: string[];
|
|
568
|
+
/**
|
|
569
|
+
* Symmetric — must appear DOWNSTREAM of the click site. Same token rules
|
|
570
|
+
* as `insertAfter`. Ignored when `canInsert` is set.
|
|
571
|
+
*/
|
|
572
|
+
insertBefore?: string[];
|
|
573
|
+
/**
|
|
574
|
+
* Full custom rule. Overrides `insertAfter` / `insertBefore`. Receives the
|
|
575
|
+
* click context (upstream/downstream slots, branch info, active template);
|
|
576
|
+
* returns `true` to allow the descriptor at this insertion point.
|
|
577
|
+
*/
|
|
578
|
+
canInsert?: (ctx: InsertContext_2) => boolean;
|
|
482
579
|
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' }. Only applies to branching nodes (filterNode, approvalNode). */
|
|
483
580
|
branchLabels?: Record<string, string>;
|
|
484
581
|
formSchema: FieldDescriptor_2[] | ((nodeId: string) => Promise<FieldDescriptor_2[]>);
|
|
@@ -517,6 +614,25 @@ declare interface NodeDescriptor_2 {
|
|
|
517
614
|
* Receives the node's saved formData.
|
|
518
615
|
*/
|
|
519
616
|
renderNode?: (nodeData: Record<string, unknown>) => ReactNode;
|
|
617
|
+
/**
|
|
618
|
+
* Position constraint — this descriptor can be inserted only if at least ONE
|
|
619
|
+
* of the listed tokens appears in the upstream chain of the click site.
|
|
620
|
+
* Tokens can be a descriptorType (e.g. 'createUserTask'), a slot id
|
|
621
|
+
* (e.g. 'event-userCreated'), or a slot kind (e.g. 'triggerFixed').
|
|
622
|
+
* Ignored when `canInsert` is set.
|
|
623
|
+
*/
|
|
624
|
+
insertAfter?: string[];
|
|
625
|
+
/**
|
|
626
|
+
* Symmetric — must appear DOWNSTREAM of the click site. Same token rules
|
|
627
|
+
* as `insertAfter`. Ignored when `canInsert` is set.
|
|
628
|
+
*/
|
|
629
|
+
insertBefore?: string[];
|
|
630
|
+
/**
|
|
631
|
+
* Full custom rule. Overrides `insertAfter` / `insertBefore`. Receives the
|
|
632
|
+
* click context (upstream/downstream slots, branch info, active template);
|
|
633
|
+
* returns `true` to allow the descriptor at this insertion point.
|
|
634
|
+
*/
|
|
635
|
+
canInsert?: (ctx: InsertContext) => boolean;
|
|
520
636
|
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' }. Only applies to branching nodes (filterNode, approvalNode). */
|
|
521
637
|
branchLabels?: Record<string, string>;
|
|
522
638
|
formSchema: FieldDescriptor[] | ((nodeId: string) => Promise<FieldDescriptor[]>);
|
|
@@ -542,6 +658,8 @@ declare type SlotKind = 'start' | 'end' | 'addTrigger' | 'triggerFixed' | 'userT
|
|
|
542
658
|
|
|
543
659
|
declare type SlotKind_2 = 'start' | 'end' | 'addTrigger' | 'triggerFixed' | 'userTask' | 'addStep' | 'filter' | 'approval';
|
|
544
660
|
|
|
661
|
+
declare type SlotKind_3 = 'start' | 'end' | 'addTrigger' | 'triggerFixed' | 'userTask' | 'addStep' | 'filter' | 'approval';
|
|
662
|
+
|
|
545
663
|
export declare const StartNode: () => JSX_2.Element;
|
|
546
664
|
|
|
547
665
|
export declare type StepStatus = 'pending' | 'running' | 'success' | 'failed' | 'skipped';
|
|
@@ -559,12 +677,12 @@ declare interface SubWorkflowPreviewDrawerProps {
|
|
|
559
677
|
|
|
560
678
|
declare class TemplateRegistry {
|
|
561
679
|
private templates;
|
|
562
|
-
register(template:
|
|
563
|
-
lookup(triggerKey: string):
|
|
564
|
-
list():
|
|
565
|
-
listByCategory(category: string):
|
|
566
|
-
listByTag(tag: string):
|
|
567
|
-
search(query: string):
|
|
680
|
+
register(template: WorkflowTemplate_3): this;
|
|
681
|
+
lookup(triggerKey: string): WorkflowTemplate_3 | undefined;
|
|
682
|
+
list(): WorkflowTemplate_3[];
|
|
683
|
+
listByCategory(category: string): WorkflowTemplate_3[];
|
|
684
|
+
listByTag(tag: string): WorkflowTemplate_3[];
|
|
685
|
+
search(query: string): WorkflowTemplate_3[];
|
|
568
686
|
categories(): string[];
|
|
569
687
|
}
|
|
570
688
|
|
|
@@ -597,6 +715,11 @@ declare interface WorkflowState_2 {
|
|
|
597
715
|
branches: BranchMap_2;
|
|
598
716
|
}
|
|
599
717
|
|
|
718
|
+
declare interface WorkflowState_3 {
|
|
719
|
+
slots: CanvasSlot_3[];
|
|
720
|
+
branches: BranchMap_3;
|
|
721
|
+
}
|
|
722
|
+
|
|
600
723
|
export declare interface WorkflowTemplate {
|
|
601
724
|
triggerKey: string;
|
|
602
725
|
label: string;
|
|
@@ -606,8 +729,8 @@ export declare interface WorkflowTemplate {
|
|
|
606
729
|
availableTasks?: string[];
|
|
607
730
|
maxTasks?: number;
|
|
608
731
|
taskLabels?: Record<string, string>;
|
|
609
|
-
fixedNodes?:
|
|
610
|
-
fixedEdges?:
|
|
732
|
+
fixedNodes?: FixedNode_3[];
|
|
733
|
+
fixedEdges?: FixedEdge_3[];
|
|
611
734
|
insertionPoints?: string[];
|
|
612
735
|
source?: string;
|
|
613
736
|
product?: string;
|
|
@@ -649,6 +772,32 @@ declare interface WorkflowTemplate_2 {
|
|
|
649
772
|
popularity?: number;
|
|
650
773
|
}
|
|
651
774
|
|
|
775
|
+
declare interface WorkflowTemplate_3 {
|
|
776
|
+
triggerKey: string;
|
|
777
|
+
label: string;
|
|
778
|
+
description?: string;
|
|
779
|
+
icon?: ReactNode;
|
|
780
|
+
triggerCategory?: 'event' | 'scheduler' | 'webhook' | string;
|
|
781
|
+
availableTasks?: string[];
|
|
782
|
+
maxTasks?: number;
|
|
783
|
+
taskLabels?: Record<string, string>;
|
|
784
|
+
fixedNodes?: FixedNode_2[];
|
|
785
|
+
fixedEdges?: FixedEdge_2[];
|
|
786
|
+
insertionPoints?: string[];
|
|
787
|
+
source?: string;
|
|
788
|
+
product?: string;
|
|
789
|
+
/** Pre-built workflow state to clone when user selects this template */
|
|
790
|
+
skeletonState?: WorkflowState_3;
|
|
791
|
+
/** Tags for filtering in the template library */
|
|
792
|
+
tags?: string[];
|
|
793
|
+
/** Category grouping in the library */
|
|
794
|
+
category?: string;
|
|
795
|
+
/** Team or author that owns this template */
|
|
796
|
+
author?: string;
|
|
797
|
+
/** Relative popularity score (higher = shown first in library) */
|
|
798
|
+
popularity?: number;
|
|
799
|
+
}
|
|
800
|
+
|
|
652
801
|
export declare const WorkflowTemplateLibrary: default_2.FC<WorkflowTemplateLibraryProps>;
|
|
653
802
|
|
|
654
803
|
declare interface WorkflowTemplateLibraryProps {
|
package/dist/canvas.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { F as a, S as s, F as r, W as t, a as l, b as n, o as d, u as i, w as f } from "./templateSkeletons-
|
|
1
|
+
import { F as a, S as s, F as r, W as t, a as l, b as n, o as d, u as i, w as f } from "./templateSkeletons-Bx-hGzdq.js";
|
|
2
2
|
import { d as w } from "./messages-CO299wPN.js";
|
|
3
3
|
import { l as p, s as b } from "./bpmn-CtfWDaOY.js";
|
|
4
|
-
import { A as F, b as N, E as m, c as u, F as S, R as T, S as c, T as v, W as x, e as A } from "./GatewayBranchEdge-
|
|
4
|
+
import { A as F, b as N, E as m, c as u, F as S, R as T, S as c, T as v, W as x, e as A } from "./GatewayBranchEdge-CwL3jMdK.js";
|
|
5
5
|
export {
|
|
6
6
|
F as ActionNode,
|
|
7
7
|
N as ApprovalNode,
|
package/dist/core.d.ts
CHANGED
|
@@ -187,6 +187,28 @@ export declare interface FlowForgeMessages {
|
|
|
187
187
|
cancel: string;
|
|
188
188
|
}
|
|
189
189
|
|
|
190
|
+
/**
|
|
191
|
+
* Context passed to `NodeDescriptor.canInsert(ctx)` describing where on the
|
|
192
|
+
* canvas the user clicked "+ Add step". Used by position-aware insertion rules.
|
|
193
|
+
*/
|
|
194
|
+
declare interface InsertContext {
|
|
195
|
+
/** The slot the user clicked under (the one whose "+" edge was clicked). */
|
|
196
|
+
insertAfterSlot: CanvasSlot | null;
|
|
197
|
+
/** Every slot before the insertion point, including the click slot.
|
|
198
|
+
* When inside a branch: spine up to + including the branching parent, then
|
|
199
|
+
* the branch's own slots up to the insertion point. */
|
|
200
|
+
upstreamSlots: CanvasSlot[];
|
|
201
|
+
/** Every slot after the insertion point in the same chain. */
|
|
202
|
+
downstreamSlots: CanvasSlot[];
|
|
203
|
+
/** Branch context, if the insertion is happening inside a branch. */
|
|
204
|
+
branch: {
|
|
205
|
+
filterId: string;
|
|
206
|
+
branch: string;
|
|
207
|
+
} | null;
|
|
208
|
+
/** The currently active template (the one whose trigger is in use). */
|
|
209
|
+
template: WorkflowTemplate | null;
|
|
210
|
+
}
|
|
211
|
+
|
|
190
212
|
export declare function loadWorkflowFromBpmn(xml: string): WorkflowState;
|
|
191
213
|
|
|
192
214
|
export declare function makeSubWorkflowDescriptor(opts?: SubWorkflowDescriptorOptions): NodeDescriptor;
|
|
@@ -222,6 +244,25 @@ export declare interface NodeDescriptor {
|
|
|
222
244
|
* Receives the node's saved formData.
|
|
223
245
|
*/
|
|
224
246
|
renderNode?: (nodeData: Record<string, unknown>) => ReactNode;
|
|
247
|
+
/**
|
|
248
|
+
* Position constraint — this descriptor can be inserted only if at least ONE
|
|
249
|
+
* of the listed tokens appears in the upstream chain of the click site.
|
|
250
|
+
* Tokens can be a descriptorType (e.g. 'createUserTask'), a slot id
|
|
251
|
+
* (e.g. 'event-userCreated'), or a slot kind (e.g. 'triggerFixed').
|
|
252
|
+
* Ignored when `canInsert` is set.
|
|
253
|
+
*/
|
|
254
|
+
insertAfter?: string[];
|
|
255
|
+
/**
|
|
256
|
+
* Symmetric — must appear DOWNSTREAM of the click site. Same token rules
|
|
257
|
+
* as `insertAfter`. Ignored when `canInsert` is set.
|
|
258
|
+
*/
|
|
259
|
+
insertBefore?: string[];
|
|
260
|
+
/**
|
|
261
|
+
* Full custom rule. Overrides `insertAfter` / `insertBefore`. Receives the
|
|
262
|
+
* click context (upstream/downstream slots, branch info, active template);
|
|
263
|
+
* returns `true` to allow the descriptor at this insertion point.
|
|
264
|
+
*/
|
|
265
|
+
canInsert?: (ctx: InsertContext) => boolean;
|
|
225
266
|
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' }. Only applies to branching nodes (filterNode, approvalNode). */
|
|
226
267
|
branchLabels?: Record<string, string>;
|
|
227
268
|
formSchema: FieldDescriptor[] | ((nodeId: string) => Promise<FieldDescriptor[]>);
|
package/dist/defaultUi.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GatewayBranchEdge-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./GatewayBranchEdge-CFre76ne.js");exports.ActionNode=e.ActionNode;exports.AddTriggerNode=e.AddTriggerNode;exports.ApprovalNode=e.ApprovalNode;exports.DelayNode=e.DelayNode;exports.EdgeWithPlusLabel=e.EdgeWithPlusLabel;exports.EndNode=e.EndNode;exports.FilterNode=e.FilterNode;exports.GatewayBranchEdge=e.GatewayBranchEdge;exports.LabelPlusEdge=e.LabelPlusEdge;exports.NotificationNode=e.NotificationNode;exports.PlainEdge=e.PlainEdge;exports.PlusEdge=e.PlusEdge;exports.StartNode=e.StartNode;exports.TriggerNode=e.TriggerNode;exports.builtInNodeTypes=e.builtInNodeTypes;
|
package/dist/defaultUi.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as d, a as s, b as o, D as N, E as i, c as l, F as r, G as t, L as g, N as E, P as n, d as P, S as b, T as c, e as p } from "./GatewayBranchEdge-
|
|
1
|
+
import { A as d, a as s, b as o, D as N, E as i, c as l, F as r, G as t, L as g, N as E, P as n, d as P, S as b, T as c, e as p } from "./GatewayBranchEdge-CwL3jMdK.js";
|
|
2
2
|
export {
|
|
3
3
|
d as ActionNode,
|
|
4
4
|
s as AddTriggerNode,
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DNZlQp9z.js"),a=require("./SchemaBuilderDrawer-jbSe-O-O.js");require("react/jsx-runtime");require("react");require("@mui/material");require("react-icons/md");const r=require("./nodeRegistry.cjs"),l=require("./templateRegistry.cjs"),i=require("./templateSkeletons-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DNZlQp9z.js"),a=require("./SchemaBuilderDrawer-jbSe-O-O.js");require("react/jsx-runtime");require("react");require("@mui/material");require("react-icons/md");const r=require("./nodeRegistry.cjs"),l=require("./templateRegistry.cjs"),i=require("./templateSkeletons-BKaXZuM9.js"),d=require("./messages-O9Tw_XXR.js"),n=require("./bpmn-CcuE2X_Q.js"),o=require("./GatewayBranchEdge-CFre76ne.js");class u{constructor(){this.channels=new Map}register(t,s){this.channels.set(t,s)}get(t){return this.channels.get(t)}list(){return Array.from(this.channels.entries()).map(([t,s])=>({key:t,...s}))}has(t){return this.channels.has(t)}}const c=new u;exports.DynamicFormRenderer=e.DynamicFormRenderer;exports.FF=e.FF;exports.FlowForgeRegistry=e.FlowForgeRegistry;exports.FlowForm=e.FlowForm;exports.FormulaInput=e.FormulaInput;exports.InfiniteSelectField=e.InfiniteSelectField;exports.TablePickerField=e.TablePickerField;exports.VariablePicker=e.VariablePicker;exports.VariablePickerProvider=e.VariablePickerProvider;exports.astHasRefs=e.astHasRefs;exports.astToTokens=e.astToTokens;exports.buildEvaluationPayload=e.buildEvaluationPayload;exports.buildFieldConfig=e.buildFieldConfig;exports.buildFormulaPath=e.buildFormulaPath;exports.buildSelectStyles=e.buildSelectStyles;exports.buildValidationSchema=e.buildValidationSchema;exports.dataSourceRegistry=e.dataSourceRegistry;exports.errorTextStyle=e.errorTextStyle;exports.extractLabel=e.extractLabel;exports.fieldRegistry=e.fieldRegistry;exports.hasFormulaTokens=e.hasFormulaTokens;exports.helperTextStyle=e.helperTextStyle;exports.inputStyle=e.inputStyle;exports.isFormula=e.isFormula;exports.parseToAST=e.parseToAST;exports.serializeAST=e.serializeAST;exports.serializeASTAsConfig=e.serializeASTAsConfig;exports.serializeConditionExpressions=e.serializeConditionExpressions;exports.stripFormulaTokens=e.stripFormulaTokens;exports.tokenize=e.tokenize;exports.unwrapFormula=e.unwrapFormula;exports.useVariablePickerContext=e.useVariablePickerContext;exports.wrapFormula=e.wrapFormula;exports.FIELD_TYPE_OPTIONS=a.FIELD_TYPE_OPTIONS;exports.SchemaBuilder=a.SchemaBuilder;exports.SchemaBuilderDrawer=a.SchemaBuilderDrawer;exports.useFlowForm=a.useFlowForm;exports.NodeTypeRegistry=r.NodeTypeRegistry;exports.baseNodeDefaults=r.baseNodeDefaults;exports.conditionBranchDescriptor=r.conditionBranchDescriptor;exports.defineNode=r.defineNode;exports.endEventDescriptor=r.endEventDescriptor;exports.makeSubWorkflowDescriptor=r.makeSubWorkflowDescriptor;exports.nodeTypeRegistry=r.nodeTypeRegistry;exports.notificationDescriptor=r.notificationDescriptor;exports.restApiDescriptor=r.restApiDescriptor;exports.startEventDescriptor=r.startEventDescriptor;exports.subWorkflowDescriptor=r.subWorkflowDescriptor;exports.webhookTriggerDescriptor=r.webhookTriggerDescriptor;exports.webhookTriggerTemplate=r.webhookTriggerTemplate;exports.TemplateRegistry=l.TemplateRegistry;exports.templateRegistry=l.templateRegistry;exports.FlowForgeCanvas=i.FlowForgeCanvas;exports.SubWorkflowPreviewDrawer=i.SubWorkflowPreviewDrawer;exports.WorkflowCanvas=i.FlowForgeCanvas;exports.WorkflowExecutionHistory=i.WorkflowExecutionHistory;exports.WorkflowTemplateLibrary=i.WorkflowTemplateLibrary;exports.accessRequestSkeleton=i.accessRequestSkeleton;exports.offboardingSkeleton=i.offboardingSkeleton;exports.userOnboardingSkeleton=i.userOnboardingSkeleton;exports.webhookIntegrationSkeleton=i.webhookIntegrationSkeleton;exports.defaultFlowForgeMessages=d.defaultFlowForgeMessages;exports.loadWorkflowFromBpmn=n.loadWorkflowFromBpmn;exports.saveWorkflowToBpmn=n.saveWorkflowToBpmn;exports.ActionNode=o.ActionNode;exports.ApprovalNode=o.ApprovalNode;exports.EdgeWithPlusLabel=o.EdgeWithPlusLabel;exports.EndNode=o.EndNode;exports.FilterNode=o.FilterNode;exports.RestApiNode=o.RestApiNode;exports.StartNode=o.StartNode;exports.TriggerNode=o.TriggerNode;exports.WebhookTriggerNode=o.WebhookTriggerNode;exports.builtInNodeTypes=o.builtInNodeTypes;exports.notificationChannelRegistry=c;
|
package/dist/index.d.ts
CHANGED
|
@@ -824,6 +824,28 @@ export declare function inputStyle(opts: {
|
|
|
824
824
|
extraStyle?: React.CSSProperties;
|
|
825
825
|
}): React.CSSProperties;
|
|
826
826
|
|
|
827
|
+
/**
|
|
828
|
+
* Context passed to `NodeDescriptor.canInsert(ctx)` describing where on the
|
|
829
|
+
* canvas the user clicked "+ Add step". Used by position-aware insertion rules.
|
|
830
|
+
*/
|
|
831
|
+
declare interface InsertContext {
|
|
832
|
+
/** The slot the user clicked under (the one whose "+" edge was clicked). */
|
|
833
|
+
insertAfterSlot: CanvasSlot | null;
|
|
834
|
+
/** Every slot before the insertion point, including the click slot.
|
|
835
|
+
* When inside a branch: spine up to + including the branching parent, then
|
|
836
|
+
* the branch's own slots up to the insertion point. */
|
|
837
|
+
upstreamSlots: CanvasSlot[];
|
|
838
|
+
/** Every slot after the insertion point in the same chain. */
|
|
839
|
+
downstreamSlots: CanvasSlot[];
|
|
840
|
+
/** Branch context, if the insertion is happening inside a branch. */
|
|
841
|
+
branch: {
|
|
842
|
+
filterId: string;
|
|
843
|
+
branch: string;
|
|
844
|
+
} | null;
|
|
845
|
+
/** The currently active template (the one whose trigger is in use). */
|
|
846
|
+
template: WorkflowTemplate | null;
|
|
847
|
+
}
|
|
848
|
+
|
|
827
849
|
export declare function isFormula(value: unknown): value is string;
|
|
828
850
|
|
|
829
851
|
export declare interface LoadPageParams {
|
|
@@ -872,6 +894,25 @@ export declare interface NodeDescriptor {
|
|
|
872
894
|
* Receives the node's saved formData.
|
|
873
895
|
*/
|
|
874
896
|
renderNode?: (nodeData: Record<string, unknown>) => ReactNode;
|
|
897
|
+
/**
|
|
898
|
+
* Position constraint — this descriptor can be inserted only if at least ONE
|
|
899
|
+
* of the listed tokens appears in the upstream chain of the click site.
|
|
900
|
+
* Tokens can be a descriptorType (e.g. 'createUserTask'), a slot id
|
|
901
|
+
* (e.g. 'event-userCreated'), or a slot kind (e.g. 'triggerFixed').
|
|
902
|
+
* Ignored when `canInsert` is set.
|
|
903
|
+
*/
|
|
904
|
+
insertAfter?: string[];
|
|
905
|
+
/**
|
|
906
|
+
* Symmetric — must appear DOWNSTREAM of the click site. Same token rules
|
|
907
|
+
* as `insertAfter`. Ignored when `canInsert` is set.
|
|
908
|
+
*/
|
|
909
|
+
insertBefore?: string[];
|
|
910
|
+
/**
|
|
911
|
+
* Full custom rule. Overrides `insertAfter` / `insertBefore`. Receives the
|
|
912
|
+
* click context (upstream/downstream slots, branch info, active template);
|
|
913
|
+
* returns `true` to allow the descriptor at this insertion point.
|
|
914
|
+
*/
|
|
915
|
+
canInsert?: (ctx: InsertContext) => boolean;
|
|
875
916
|
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' }. Only applies to branching nodes (filterNode, approvalNode). */
|
|
876
917
|
branchLabels?: Record<string, string>;
|
|
877
918
|
formSchema: FieldDescriptor[] | ((nodeId: string) => Promise<FieldDescriptor[]>);
|
package/dist/index.js
CHANGED
|
@@ -6,10 +6,10 @@ import "@mui/material";
|
|
|
6
6
|
import "react-icons/md";
|
|
7
7
|
import { NodeTypeRegistry as U, baseNodeDefaults as X, conditionBranchDescriptor as Z, defineNode as $, endEventDescriptor as ee, makeSubWorkflowDescriptor as ae, nodeTypeRegistry as se, notificationDescriptor as re, restApiDescriptor as oe, startEventDescriptor as te, subWorkflowDescriptor as ie, webhookTriggerDescriptor as le, webhookTriggerTemplate as ne } from "./nodeRegistry.js";
|
|
8
8
|
import { TemplateRegistry as de, templateRegistry as ce } from "./templateRegistry.js";
|
|
9
|
-
import { F as me, S as fe, F as ge, W as Fe, a as he, b as be, o as ke, u as Te, w as we } from "./templateSkeletons-
|
|
9
|
+
import { F as me, S as fe, F as ge, W as Fe, a as he, b as be, o as ke, u as Te, w as we } from "./templateSkeletons-Bx-hGzdq.js";
|
|
10
10
|
import { d as ye } from "./messages-CO299wPN.js";
|
|
11
11
|
import { l as De, s as Ne } from "./bpmn-CtfWDaOY.js";
|
|
12
|
-
import { A as We, b as Ae, E as Pe, c as ve, F as Ee, R as Ce, S as Ie, T as Be, W as ze, e as Ve } from "./GatewayBranchEdge-
|
|
12
|
+
import { A as We, b as Ae, E as Pe, c as ve, F as Ee, R as Ce, S as Ie, T as Be, W as ze, e as Ve } from "./GatewayBranchEdge-CwL3jMdK.js";
|
|
13
13
|
class s {
|
|
14
14
|
constructor() {
|
|
15
15
|
this.channels = /* @__PURE__ */ new Map();
|
package/dist/nodeRegistry.d.ts
CHANGED
|
@@ -164,6 +164,28 @@ declare interface FixedNode {
|
|
|
164
164
|
deletable?: false;
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
+
/**
|
|
168
|
+
* Context passed to `NodeDescriptor.canInsert(ctx)` describing where on the
|
|
169
|
+
* canvas the user clicked "+ Add step". Used by position-aware insertion rules.
|
|
170
|
+
*/
|
|
171
|
+
declare interface InsertContext {
|
|
172
|
+
/** The slot the user clicked under (the one whose "+" edge was clicked). */
|
|
173
|
+
insertAfterSlot: CanvasSlot | null;
|
|
174
|
+
/** Every slot before the insertion point, including the click slot.
|
|
175
|
+
* When inside a branch: spine up to + including the branching parent, then
|
|
176
|
+
* the branch's own slots up to the insertion point. */
|
|
177
|
+
upstreamSlots: CanvasSlot[];
|
|
178
|
+
/** Every slot after the insertion point in the same chain. */
|
|
179
|
+
downstreamSlots: CanvasSlot[];
|
|
180
|
+
/** Branch context, if the insertion is happening inside a branch. */
|
|
181
|
+
branch: {
|
|
182
|
+
filterId: string;
|
|
183
|
+
branch: string;
|
|
184
|
+
} | null;
|
|
185
|
+
/** The currently active template (the one whose trigger is in use). */
|
|
186
|
+
template: WorkflowTemplate | null;
|
|
187
|
+
}
|
|
188
|
+
|
|
167
189
|
export declare function makeSubWorkflowDescriptor(opts?: SubWorkflowDescriptorOptions): NodeDescriptor;
|
|
168
190
|
|
|
169
191
|
export declare interface NodeDescriptor {
|
|
@@ -197,6 +219,25 @@ export declare interface NodeDescriptor {
|
|
|
197
219
|
* Receives the node's saved formData.
|
|
198
220
|
*/
|
|
199
221
|
renderNode?: (nodeData: Record<string, unknown>) => ReactNode;
|
|
222
|
+
/**
|
|
223
|
+
* Position constraint — this descriptor can be inserted only if at least ONE
|
|
224
|
+
* of the listed tokens appears in the upstream chain of the click site.
|
|
225
|
+
* Tokens can be a descriptorType (e.g. 'createUserTask'), a slot id
|
|
226
|
+
* (e.g. 'event-userCreated'), or a slot kind (e.g. 'triggerFixed').
|
|
227
|
+
* Ignored when `canInsert` is set.
|
|
228
|
+
*/
|
|
229
|
+
insertAfter?: string[];
|
|
230
|
+
/**
|
|
231
|
+
* Symmetric — must appear DOWNSTREAM of the click site. Same token rules
|
|
232
|
+
* as `insertAfter`. Ignored when `canInsert` is set.
|
|
233
|
+
*/
|
|
234
|
+
insertBefore?: string[];
|
|
235
|
+
/**
|
|
236
|
+
* Full custom rule. Overrides `insertAfter` / `insertBefore`. Receives the
|
|
237
|
+
* click context (upstream/downstream slots, branch info, active template);
|
|
238
|
+
* returns `true` to allow the descriptor at this insertion point.
|
|
239
|
+
*/
|
|
240
|
+
canInsert?: (ctx: InsertContext) => boolean;
|
|
200
241
|
/** Maps branch key → display label. e.g. { pass: 'Pass', fail: 'Fail' }. Only applies to branching nodes (filterNode, approvalNode). */
|
|
201
242
|
branchLabels?: Record<string, string>;
|
|
202
243
|
formSchema: FieldDescriptor[] | ((nodeId: string) => Promise<FieldDescriptor[]>);
|