ngx-workflow 0.0.1

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/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "ngx-workflow",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": ">=17.0.0",
6
+ "@angular/core": ">=17.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0",
10
+ "elkjs": "^0.9.2",
11
+ "uuid": "^9.0.1"
12
+ },
13
+ "keywords": [
14
+ "angular",
15
+ "flow",
16
+ "diagram",
17
+ "flowchart",
18
+ "node-based",
19
+ "editor",
20
+ "svg",
21
+ "signals",
22
+ "react-flow",
23
+ "ngx"
24
+ ],
25
+ "author": "Abdul Kyume",
26
+ "license": "MIT",
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/abdulkyume/ngx-workflow.git"
30
+ },
31
+ "bugs": {
32
+ "url": "https://github.com/abdulkyume/ngx-workflowflow/issues"
33
+ },
34
+ "homepage": "https://github.com/abdulkyume/ngx-workflow#readme",
35
+ "module": "fesm2022/ngx-workflow.mjs",
36
+ "typings": "types/ngx-workflow.d.ts",
37
+ "exports": {
38
+ "./package.json": {
39
+ "default": "./package.json"
40
+ },
41
+ ".": {
42
+ "types": "./types/ngx-workflow.d.ts",
43
+ "default": "./fesm2022/ngx-workflow.mjs"
44
+ }
45
+ },
46
+ "sideEffects": false
47
+ }
@@ -0,0 +1,482 @@
1
+ import * as i0 from '@angular/core';
2
+ import { WritableSignal, ElementRef, EventEmitter, Type, OnInit, OnDestroy, OnChanges, Signal, Renderer2, NgZone, ChangeDetectorRef, SimpleChanges, InjectionToken } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+
5
+ interface XYPosition {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ interface Dimensions {
10
+ width: number;
11
+ height: number;
12
+ }
13
+ interface Node<T = any> {
14
+ id: string;
15
+ position: XYPosition;
16
+ data?: T;
17
+ type?: string;
18
+ width?: number;
19
+ height?: number;
20
+ selected?: boolean;
21
+ dragging?: boolean;
22
+ draggable?: boolean;
23
+ resizable?: boolean;
24
+ minWidth?: number;
25
+ minHeight?: number;
26
+ maxWidth?: number;
27
+ maxHeight?: number;
28
+ class?: string;
29
+ style?: Record<string, string>;
30
+ parentId?: string;
31
+ expanded?: boolean;
32
+ extent?: 'parent';
33
+ label?: string;
34
+ highlighted?: boolean;
35
+ dimmed?: boolean;
36
+ }
37
+
38
+ type MarkerType = 'arrow' | 'arrowclosed' | 'dot';
39
+ interface Edge<T = any> {
40
+ id: string;
41
+ source: string;
42
+ target: string;
43
+ sourceHandle?: string;
44
+ targetHandle?: string;
45
+ type?: 'bezier' | 'straight' | 'step' | 'smoothstep' | 'smart';
46
+ animated?: boolean;
47
+ style?: {
48
+ [key: string]: any;
49
+ };
50
+ selected?: boolean;
51
+ label?: string;
52
+ labelStyle?: {
53
+ [key: string]: any;
54
+ };
55
+ labelBgStyle?: {
56
+ [key: string]: any;
57
+ };
58
+ labelBgPadding?: [number, number];
59
+ labelBgBorderRadius?: number;
60
+ markerStart?: MarkerType | string;
61
+ markerEnd?: MarkerType | string;
62
+ data?: T;
63
+ }
64
+ interface TempEdge$1 extends Edge {
65
+ sourceX: number;
66
+ sourceY: number;
67
+ targetX: number;
68
+ targetY: number;
69
+ }
70
+
71
+ interface Viewport {
72
+ x: number;
73
+ y: number;
74
+ zoom: number;
75
+ }
76
+
77
+ interface DiagramState {
78
+ nodes: Node[];
79
+ edges: Edge[];
80
+ viewport: Viewport;
81
+ }
82
+ interface AlignmentGuide {
83
+ type: 'horizontal' | 'vertical';
84
+ position: number;
85
+ start: number;
86
+ end: number;
87
+ }
88
+
89
+ declare class UndoRedoService {
90
+ private undoStack;
91
+ private redoStack;
92
+ constructor();
93
+ saveState(currentState: DiagramState): void;
94
+ undo(currentState: DiagramState): DiagramState | undefined;
95
+ redo(currentState: DiagramState): DiagramState | undefined;
96
+ canUndo: i0.Signal<boolean>;
97
+ canRedo: i0.Signal<boolean>;
98
+ clearStacks(): void;
99
+ static ɵfac: i0.ɵɵFactoryDeclaration<UndoRedoService, never>;
100
+ static ɵprov: i0.ɵɵInjectableDeclaration<UndoRedoService>;
101
+ }
102
+
103
+ interface Connection {
104
+ source: string;
105
+ sourceHandle?: string;
106
+ target: string;
107
+ targetHandle?: string;
108
+ }
109
+ interface TempEdge extends Edge {
110
+ sourceX: number;
111
+ sourceY: number;
112
+ targetX: number;
113
+ targetY: number;
114
+ }
115
+ declare class DiagramStateService {
116
+ private undoRedoService;
117
+ readonly nodes: WritableSignal<Node[]>;
118
+ readonly edges: WritableSignal<Edge[]>;
119
+ readonly tempEdges: WritableSignal<TempEdge[]>;
120
+ readonly viewport: WritableSignal<Viewport>;
121
+ readonly alignmentGuides: WritableSignal<AlignmentGuide[]>;
122
+ readonly searchQuery: WritableSignal<string>;
123
+ readonly filterType: WritableSignal<string | null>;
124
+ readonly containerDimensions: WritableSignal<{
125
+ width: number;
126
+ height: number;
127
+ }>;
128
+ readonly selectedNodes: i0.Signal<Node<any>[]>;
129
+ readonly selectedEdges: i0.Signal<Edge<any>[]>;
130
+ readonly viewNodes: i0.Signal<{
131
+ highlighted: any;
132
+ dimmed: boolean;
133
+ id: string;
134
+ position: XYPosition;
135
+ data?: any;
136
+ type?: string;
137
+ width?: number;
138
+ height?: number;
139
+ selected?: boolean;
140
+ dragging?: boolean;
141
+ draggable?: boolean;
142
+ resizable?: boolean;
143
+ minWidth?: number;
144
+ minHeight?: number;
145
+ maxWidth?: number;
146
+ maxHeight?: number;
147
+ class?: string;
148
+ style?: Record<string, string>;
149
+ parentId?: string;
150
+ expanded?: boolean;
151
+ extent?: "parent";
152
+ label?: string;
153
+ }[]>;
154
+ readonly visibleNodes: i0.Signal<{
155
+ highlighted: any;
156
+ dimmed: boolean;
157
+ id: string;
158
+ position: XYPosition;
159
+ data?: any;
160
+ type?: string;
161
+ width?: number;
162
+ height?: number;
163
+ selected?: boolean;
164
+ dragging?: boolean;
165
+ draggable?: boolean;
166
+ resizable?: boolean;
167
+ minWidth?: number;
168
+ minHeight?: number;
169
+ maxWidth?: number;
170
+ maxHeight?: number;
171
+ class?: string;
172
+ style?: Record<string, string>;
173
+ parentId?: string;
174
+ expanded?: boolean;
175
+ extent?: "parent";
176
+ label?: string;
177
+ }[]>;
178
+ readonly lodLevel: i0.Signal<"low" | "medium" | "high">;
179
+ el: ElementRef<HTMLElement | SVGSVGElement> | undefined;
180
+ readonly dragEnd: EventEmitter<Node<any>>;
181
+ readonly nodesChange: EventEmitter<Node<any>[]>;
182
+ readonly edgesChange: EventEmitter<Edge<any>[]>;
183
+ readonly viewportChange: EventEmitter<Viewport>;
184
+ readonly nodeClick: EventEmitter<Node<any>>;
185
+ readonly edgeClick: EventEmitter<Edge<any>>;
186
+ readonly connect: EventEmitter<Connection>;
187
+ readonly dragStart: EventEmitter<Node<any>>;
188
+ private nodeUpdates$;
189
+ private edgeUpdates$;
190
+ private viewportUpdates$;
191
+ constructor(undoRedoService: UndoRedoService);
192
+ private getCurrentState;
193
+ getDiagramState(): DiagramState;
194
+ /**
195
+ * Replace the entire diagram state (nodes, edges, viewport) with the given state.
196
+ * Used for importing diagram JSON.
197
+ */
198
+ setDiagramState(state: DiagramState): void;
199
+ private applyState;
200
+ undo(): void;
201
+ redo(): void;
202
+ onResizeStart(node: Node): void;
203
+ onResizeEnd(node: Node): void;
204
+ addEdge(edge: Edge): void;
205
+ updateEdge(id: string, changes: Partial<Edge>): void;
206
+ removeEdge(id: string): void;
207
+ addTempEdge(edge: TempEdge): void;
208
+ updateTempEdgeTarget(id: string, targetPosition: XYPosition): void;
209
+ setViewport(viewport: Partial<Viewport>): void;
210
+ selectNodes(nodeIds: string[], multi?: boolean): void;
211
+ clearSelection(): void;
212
+ selectAll(): void;
213
+ multiSelect(nodeId: string): void;
214
+ deleteSelectedElements(): void;
215
+ alignNodes(alignment: 'left' | 'center' | 'right' | 'top' | 'middle' | 'bottom'): void;
216
+ distributeNodes(distribution: 'horizontal' | 'vertical'): void;
217
+ batchUpdateNodes(updatedNodes: Node[]): void;
218
+ batchUpdateEdges(updatedEdges: Edge[]): void;
219
+ batchUpdateViewport(updatedViewport: Viewport): void;
220
+ onNodeClick(node: Node): void;
221
+ onEdgeClick(edge: Edge): void;
222
+ onDragStart(node: Node): void;
223
+ onDragEnd(node: Node): void;
224
+ private clipboard;
225
+ copy(): void;
226
+ paste(): void;
227
+ cut(): void;
228
+ duplicate(): void;
229
+ groupNodes(nodeIds: string[]): void;
230
+ ungroupNodes(groupId: string): void;
231
+ addNode(node: Node): void;
232
+ removeNode(id: string): void;
233
+ updateNode(id: string, changes: Partial<Node>): void;
234
+ resizeNode(id: string, width: number, height: number, position?: XYPosition): void;
235
+ toggleGroup(groupId: string): void;
236
+ moveNode(id: string, newPosition: XYPosition): void;
237
+ private moveChildren;
238
+ moveNodes(moves: {
239
+ id: string;
240
+ position: XYPosition;
241
+ }[]): void;
242
+ setSearchQuery(query: string): void;
243
+ setFilterType(type: string | null): void;
244
+ setZoom(zoom: number): void;
245
+ setContainerDimensions(dimensions: {
246
+ width: number;
247
+ height: number;
248
+ }): void;
249
+ static ɵfac: i0.ɵɵFactoryDeclaration<DiagramStateService, never>;
250
+ static ɵprov: i0.ɵɵInjectableDeclaration<DiagramStateService>;
251
+ }
252
+
253
+ type NodeComponentType = Type<{
254
+ node: Node;
255
+ }>;
256
+ type EdgeComponentType = Type<{
257
+ edge: Edge;
258
+ }>;
259
+
260
+ declare class DiagramComponent implements OnInit, OnDestroy, OnChanges {
261
+ el: ElementRef<HTMLElement>;
262
+ private renderer;
263
+ private ngZone;
264
+ private cdRef;
265
+ diagramStateService: DiagramStateService;
266
+ nodeTypes: Record<string, NodeComponentType> | null;
267
+ svgRef: ElementRef<SVGSVGElement>;
268
+ initialNodes: Node[];
269
+ initialEdges: Edge[];
270
+ initialViewport?: Viewport;
271
+ showZoomControls: boolean;
272
+ showMinimap: boolean;
273
+ showBackground: boolean;
274
+ backgroundVariant: 'dots' | 'lines' | 'cross';
275
+ backgroundGap: number;
276
+ backgroundSize: number;
277
+ backgroundColor: string;
278
+ backgroundBgColor: string;
279
+ nodeClick: EventEmitter<Node<any>>;
280
+ edgeClick: EventEmitter<Edge<any>>;
281
+ connect: EventEmitter<{
282
+ source: string;
283
+ sourceHandle?: string;
284
+ target: string;
285
+ targetHandle?: string;
286
+ }>;
287
+ nodesChange: EventEmitter<Node<any>[]>;
288
+ edgesChange: EventEmitter<Edge<any>[]>;
289
+ nodeDoubleClick: EventEmitter<Node<any>>;
290
+ selectedNodeForEditing: Node | null;
291
+ viewport: WritableSignal<Viewport>;
292
+ nodes: WritableSignal<Node[]>;
293
+ viewNodes: Signal<Node[]>;
294
+ filteredNodes: Signal<Node[]>;
295
+ edges: WritableSignal<Edge[]>;
296
+ tempEdges: WritableSignal<TempEdge$1[]>;
297
+ alignmentGuides: Signal<AlignmentGuide[]>;
298
+ Math: Math;
299
+ private _pathFinder;
300
+ private pathCache;
301
+ private dragAnimationFrameId;
302
+ private unlistenPointerMove;
303
+ private unlistenPointerUp;
304
+ private unlistenPointerLeave;
305
+ private pathPointsCache;
306
+ private isPanning;
307
+ private lastPanPosition;
308
+ private subscriptions;
309
+ isSelecting: boolean;
310
+ selectionStart: XYPosition;
311
+ selectionEnd: XYPosition;
312
+ private isDraggingNode;
313
+ private draggingNode;
314
+ private draggingNodes;
315
+ private startNodePosition;
316
+ private startNodePositions;
317
+ private startPointerPosition;
318
+ private isConnecting;
319
+ private currentPreviewEdgeId;
320
+ private currentTargetHandle;
321
+ private connectingSourceNodeId;
322
+ private connectingSourceHandleId;
323
+ private isResizing;
324
+ private resizingNode;
325
+ private resizeHandle;
326
+ private startResizePosition;
327
+ private startNodeDimensions;
328
+ private isUpdatingEdge;
329
+ private updatingEdge;
330
+ private updatingEdgeHandle;
331
+ editingEdgeId: string | null;
332
+ private updatePathFinder;
333
+ onEdgeDoubleClick(event: MouseEvent, edge: Edge): void;
334
+ onNodeDoubleClick(event: MouseEvent, node: Node): void;
335
+ onDiagramDoubleClick(event: MouseEvent): void;
336
+ closeSidebar(): void;
337
+ onPropertiesChange(changes: Partial<Node>): void;
338
+ updateEdgeLabel(edge: Edge, newLabel: string): void;
339
+ onEdgeLabelBlur(): void;
340
+ defaultNodeWidth: number;
341
+ defaultNodeHeight: number;
342
+ connectionValidator?: (sourceNodeId: string, targetNodeId: string) => boolean;
343
+ nodesResizable: boolean;
344
+ private isValidConnection;
345
+ constructor(el: ElementRef<HTMLElement>, // Host element
346
+ renderer: Renderer2, ngZone: NgZone, cdRef: ChangeDetectorRef, diagramStateService: DiagramStateService, nodeTypes: Record<string, NodeComponentType> | null);
347
+ get nodeTypeKeys(): string[];
348
+ private nodes$;
349
+ private resizeObserver;
350
+ ngOnInit(): void;
351
+ ngOnDestroy(): void;
352
+ get lodLevel(): string;
353
+ ngOnChanges(changes: SimpleChanges): void;
354
+ get transform(): string;
355
+ trackByNodeId(index: number, node: Node): string;
356
+ trackByEdgeId(index: number, edge: Edge): string;
357
+ onDeleteKeyPress(event: any): void;
358
+ onUndoKeyPress(event: any): void;
359
+ onRedoKeyPress(event: any): void;
360
+ onCopyKeyPress(event: any): void;
361
+ onPasteKeyPress(event: any): void;
362
+ onCutKeyPress(event: any): void;
363
+ onDuplicateKeyPress(event: any): void;
364
+ onGroupKeyPress(event: any): void;
365
+ onUngroupKeyPress(event: any): void;
366
+ toggleGroup(event: Event, node: Node): void;
367
+ private isInputActive;
368
+ onWheel(event: WheelEvent): void;
369
+ onPointerDown(event: PointerEvent): void;
370
+ onPointerMove(event: PointerEvent): void;
371
+ onPointerUp(event: PointerEvent): void;
372
+ onPointerLeave(event: PointerEvent): void;
373
+ private startConnecting;
374
+ private updateConnection;
375
+ private finishConnecting;
376
+ private clearTargetHandleHighlight;
377
+ private startDraggingNode;
378
+ private dragNode;
379
+ private stopDraggingNode;
380
+ private startResizing;
381
+ private resize;
382
+ private stopResizing;
383
+ startUpdatingEdge(event: PointerEvent, edge: Edge, handleType: 'source' | 'target'): void;
384
+ private updateEdge;
385
+ private stopUpdatingEdge;
386
+ private startPanning;
387
+ private pan;
388
+ private stopPanning;
389
+ private startSelecting;
390
+ private updateSelection;
391
+ private stopSelecting;
392
+ private getDiagramCoordinates;
393
+ private performLassoSelection;
394
+ getEdgePath(edge: Edge | TempEdge$1, isTemporary?: boolean): string;
395
+ getMarkerUrl(marker: string | undefined): string | null;
396
+ getEdgeLabelPosition(edge: Edge): XYPosition;
397
+ onEdgeClick(event: MouseEvent, edge: Edge): void;
398
+ getCustomNodeComponent(type: string | undefined): NodeComponentType | null;
399
+ zoomIn(): void;
400
+ zoomOut(): void;
401
+ resetZoom(): void;
402
+ fitView(): void;
403
+ /**
404
+ * Returns the current state of the diagram (nodes, edges, viewport).
405
+ */
406
+ getDiagramState(): DiagramState;
407
+ /**
408
+ * Sets the state of the diagram.
409
+ */
410
+ setDiagramState(state: DiagramState): void;
411
+ /**
412
+ * Exports the diagram as an SVG file.
413
+ * @param fileName The name of the file to download (default: 'diagram.svg')
414
+ * @param download Whether to trigger a download (default: true)
415
+ * @returns The SVG string
416
+ */
417
+ exportToSVG(fileName?: string, download?: boolean): string;
418
+ /**
419
+ * Exports the diagram as a PNG image.
420
+ * @param fileName The name of the file to download (default: 'diagram.png')
421
+ * @param download Whether to trigger a download (default: true)
422
+ * @returns A promise that resolves to the data URL of the PNG
423
+ */
424
+ exportToPNG(fileName?: string, download?: boolean): Promise<string>;
425
+ /**
426
+ * Exports the diagram state as a JSON file.
427
+ * @param fileName The name of the file to download (default: 'diagram.json')
428
+ */
429
+ exportToJSON(fileName?: string): void;
430
+ /**
431
+ * Triggers the file input to select a JSON file for import.
432
+ */
433
+ triggerImport(): void;
434
+ /**
435
+ * Handles the file selection for import.
436
+ */
437
+ onFileSelected(event: Event): void;
438
+ private downloadFile;
439
+ onSearch(event: Event): void;
440
+ onFilterType(event: Event): void;
441
+ onZoomChange(zoom: number): void;
442
+ onMinimapViewportChange(viewport: Viewport): void;
443
+ getEdgeHandlePosition(edge: Edge, type: 'source' | 'target'): XYPosition;
444
+ onKeyDown(event: KeyboardEvent): void;
445
+ static ɵfac: i0.ɵɵFactoryDeclaration<DiagramComponent, [null, null, null, null, null, { optional: true; }]>;
446
+ static ɵcmp: i0.ɵɵComponentDeclaration<DiagramComponent, "ngx-workflow-diagram", never, { "initialNodes": { "alias": "initialNodes"; "required": false; }; "initialEdges": { "alias": "initialEdges"; "required": false; }; "initialViewport": { "alias": "initialViewport"; "required": false; }; "showZoomControls": { "alias": "showZoomControls"; "required": false; }; "showMinimap": { "alias": "showMinimap"; "required": false; }; "showBackground": { "alias": "showBackground"; "required": false; }; "backgroundVariant": { "alias": "backgroundVariant"; "required": false; }; "backgroundGap": { "alias": "backgroundGap"; "required": false; }; "backgroundSize": { "alias": "backgroundSize"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "backgroundBgColor": { "alias": "backgroundBgColor"; "required": false; }; "connectionValidator": { "alias": "connectionValidator"; "required": false; }; "nodesResizable": { "alias": "nodesResizable"; "required": false; }; }, { "nodeClick": "nodeClick"; "edgeClick": "edgeClick"; "connect": "connect"; "nodesChange": "nodesChange"; "edgesChange": "edgesChange"; "nodeDoubleClick": "nodeDoubleClick"; }, never, never, true, never>;
447
+ }
448
+
449
+ declare class RoundedRectNodeComponent {
450
+ node: Node;
451
+ static ɵfac: i0.ɵɵFactoryDeclaration<RoundedRectNodeComponent, never>;
452
+ static ɵcmp: i0.ɵɵComponentDeclaration<RoundedRectNodeComponent, "ngx-workflow-rounded-rect-node", never, { "node": { "alias": "node"; "required": false; }; }, {}, never, never, true, never>;
453
+ }
454
+
455
+ declare class NgxWorkflowModule {
456
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxWorkflowModule, never>;
457
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NgxWorkflowModule, never, [typeof i1.CommonModule, typeof DiagramComponent, typeof RoundedRectNodeComponent], [typeof DiagramComponent, typeof RoundedRectNodeComponent]>;
458
+ static ɵinj: i0.ɵɵInjectorDeclaration<NgxWorkflowModule>;
459
+ }
460
+
461
+ declare class LayoutService {
462
+ private elk;
463
+ constructor();
464
+ applyElkLayout(nodes: Node[], edges: Edge[], options?: any): Promise<Node[]>;
465
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutService, never>;
466
+ static ɵprov: i0.ɵɵInjectableDeclaration<LayoutService>;
467
+ }
468
+
469
+ declare const NGX_WORKFLOW_NODE_TYPES: InjectionToken<Record<string, NodeComponentType>>;
470
+
471
+ declare const NGX_WORKFLOW_EDGE_TYPES: InjectionToken<Record<string, EdgeComponentType>>;
472
+
473
+ declare function getStraightPath(source: XYPosition, target: XYPosition): string;
474
+ declare function getBezierPath(source: XYPosition, target: XYPosition): string;
475
+ declare function getStepPath(source: XYPosition, target: XYPosition): string;
476
+ declare function getSelfLoopPath(source: XYPosition, handle?: string, offset?: number): string;
477
+ declare function getSmartEdgePath(path: XYPosition[]): string;
478
+ declare function getPolylineMidpoint(points: XYPosition[]): XYPosition;
479
+
480
+ export { DiagramComponent, DiagramStateService, LayoutService, NGX_WORKFLOW_EDGE_TYPES, NGX_WORKFLOW_NODE_TYPES, NgxWorkflowModule, RoundedRectNodeComponent, UndoRedoService, getBezierPath, getPolylineMidpoint, getSelfLoopPath, getSmartEdgePath, getStepPath, getStraightPath };
481
+ export type { AlignmentGuide, DiagramState, Dimensions, Edge, EdgeComponentType, MarkerType, Node, NodeComponentType, TempEdge$1 as TempEdge, Viewport, XYPosition };
482
+ //# sourceMappingURL=ngx-workflow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngx-workflow.d.ts","sources":["../../../libs/ngx-workflow/src/lib/models/node.model.ts","../../../libs/ngx-workflow/src/lib/models/edge.model.ts","../../../libs/ngx-workflow/src/lib/models/viewport.model.ts","../../../libs/ngx-workflow/src/lib/models/diagram.model.ts","../../../libs/ngx-workflow/src/lib/services/undo-redo.service.ts","../../../libs/ngx-workflow/src/lib/services/diagram-state.service.ts","../../../libs/ngx-workflow/src/lib/types/component-types.ts","../../../libs/ngx-workflow/src/lib/components/diagram/diagram.component.ts","../../../libs/ngx-workflow/src/lib/components/custom-node/rounded-rect-node.component.ts","../../../libs/ngx-workflow/src/lib/ngx-workflow.module.ts","../../../libs/ngx-workflow/src/lib/services/layout.service.ts","../../../libs/ngx-workflow/src/lib/injection-tokens/node-types.token.ts","../../../libs/ngx-workflow/src/lib/injection-tokens/edge-types.token.ts","../../../libs/ngx-workflow/src/lib/utils/path-getters.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["TempEdge","_angular_core"],"mappings":"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"}