@nice2dev/ui-diagrams 1.0.2

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.
Files changed (108) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/README.md +49 -0
  3. package/dist/__tests__/DiagramModel.test.d.ts +2 -0
  4. package/dist/__tests__/DiagramModel.test.d.ts.map +1 -0
  5. package/dist/__tests__/animationEngine.test.d.ts +2 -0
  6. package/dist/__tests__/animationEngine.test.d.ts.map +1 -0
  7. package/dist/__tests__/businessVisualizers.test.d.ts +2 -0
  8. package/dist/__tests__/businessVisualizers.test.d.ts.map +1 -0
  9. package/dist/__tests__/dataBinding.test.d.ts +2 -0
  10. package/dist/__tests__/dataBinding.test.d.ts.map +1 -0
  11. package/dist/__tests__/diagramTemplateGallery.test.d.ts +2 -0
  12. package/dist/__tests__/diagramTemplateGallery.test.d.ts.map +1 -0
  13. package/dist/__tests__/exportEngine.test.d.ts +2 -0
  14. package/dist/__tests__/exportEngine.test.d.ts.map +1 -0
  15. package/dist/__tests__/i18n-locales.test.d.ts +2 -0
  16. package/dist/__tests__/i18n-locales.test.d.ts.map +1 -0
  17. package/dist/__tests__/layoutEngine.test.d.ts +2 -0
  18. package/dist/__tests__/layoutEngine.test.d.ts.map +1 -0
  19. package/dist/__tests__/serialization.test.d.ts +2 -0
  20. package/dist/__tests__/serialization.test.d.ts.map +1 -0
  21. package/dist/__tests__/setup.d.ts +2 -0
  22. package/dist/__tests__/setup.d.ts.map +1 -0
  23. package/dist/__tests__/snapGrid.test.d.ts +2 -0
  24. package/dist/__tests__/snapGrid.test.d.ts.map +1 -0
  25. package/dist/__tests__/sprint24-diagrams.test.d.ts +2 -0
  26. package/dist/__tests__/sprint24-diagrams.test.d.ts.map +1 -0
  27. package/dist/components/AnimationTimeline.d.ts +21 -0
  28. package/dist/components/AnimationTimeline.d.ts.map +1 -0
  29. package/dist/components/DiagramCanvas.d.ts +54 -0
  30. package/dist/components/DiagramCanvas.d.ts.map +1 -0
  31. package/dist/components/DiagramCellRenderer.d.ts +36 -0
  32. package/dist/components/DiagramCellRenderer.d.ts.map +1 -0
  33. package/dist/components/DiagramMinimap.d.ts +17 -0
  34. package/dist/components/DiagramMinimap.d.ts.map +1 -0
  35. package/dist/components/DiagramPropertyPanel.d.ts +13 -0
  36. package/dist/components/DiagramPropertyPanel.d.ts.map +1 -0
  37. package/dist/components/DiagramToolbar.d.ts +65 -0
  38. package/dist/components/DiagramToolbar.d.ts.map +1 -0
  39. package/dist/components/NiceDatabaseSchemaViewer.d.ts +77 -0
  40. package/dist/components/NiceDatabaseSchemaViewer.d.ts.map +1 -0
  41. package/dist/components/NiceDecisionTreeEditor.d.ts +126 -0
  42. package/dist/components/NiceDecisionTreeEditor.d.ts.map +1 -0
  43. package/dist/components/NiceDependencyGraph.d.ts +104 -0
  44. package/dist/components/NiceDependencyGraph.d.ts.map +1 -0
  45. package/dist/components/NiceDiagramEditor.d.ts +24 -0
  46. package/dist/components/NiceDiagramEditor.d.ts.map +1 -0
  47. package/dist/components/NiceDiagramViewer.d.ts +19 -0
  48. package/dist/components/NiceDiagramViewer.d.ts.map +1 -0
  49. package/dist/components/NiceNetworkTopology.d.ts +125 -0
  50. package/dist/components/NiceNetworkTopology.d.ts.map +1 -0
  51. package/dist/components/NiceOrgChartVisualizer.d.ts +91 -0
  52. package/dist/components/NiceOrgChartVisualizer.d.ts.map +1 -0
  53. package/dist/components/NiceProcessMiningDiagram.d.ts +84 -0
  54. package/dist/components/NiceProcessMiningDiagram.d.ts.map +1 -0
  55. package/dist/components/NiceWorkflowVisualizer.d.ts +70 -0
  56. package/dist/components/NiceWorkflowVisualizer.d.ts.map +1 -0
  57. package/dist/components/collaborativeDiagram.d.ts +253 -0
  58. package/dist/components/collaborativeDiagram.d.ts.map +1 -0
  59. package/dist/components/diagramAdapters.d.ts +80 -0
  60. package/dist/components/diagramAdapters.d.ts.map +1 -0
  61. package/dist/components/diagramTemplates.d.ts +62 -0
  62. package/dist/components/diagramTemplates.d.ts.map +1 -0
  63. package/dist/components/shapeRegistry.d.ts +134 -0
  64. package/dist/components/shapeRegistry.d.ts.map +1 -0
  65. package/dist/components/snapGuides.d.ts +167 -0
  66. package/dist/components/snapGuides.d.ts.map +1 -0
  67. package/dist/components/workflowIntegrations.d.ts +280 -0
  68. package/dist/components/workflowIntegrations.d.ts.map +1 -0
  69. package/dist/core/DiagramModel.d.ts +56 -0
  70. package/dist/core/DiagramModel.d.ts.map +1 -0
  71. package/dist/core/animationEngine.d.ts +40 -0
  72. package/dist/core/animationEngine.d.ts.map +1 -0
  73. package/dist/core/conditionalStyling.d.ts +151 -0
  74. package/dist/core/conditionalStyling.d.ts.map +1 -0
  75. package/dist/core/dataBinding.d.ts +21 -0
  76. package/dist/core/dataBinding.d.ts.map +1 -0
  77. package/dist/core/diagramComments.d.ts +208 -0
  78. package/dist/core/diagramComments.d.ts.map +1 -0
  79. package/dist/core/diagramParticleEngine.d.ts +96 -0
  80. package/dist/core/diagramParticleEngine.d.ts.map +1 -0
  81. package/dist/core/diagramSearch.d.ts +169 -0
  82. package/dist/core/diagramSearch.d.ts.map +1 -0
  83. package/dist/core/diagramStylePresets.d.ts +56 -0
  84. package/dist/core/diagramStylePresets.d.ts.map +1 -0
  85. package/dist/core/diagramTemplateGallery.d.ts +27 -0
  86. package/dist/core/diagramTemplateGallery.d.ts.map +1 -0
  87. package/dist/core/diagramVersioning.d.ts +124 -0
  88. package/dist/core/diagramVersioning.d.ts.map +1 -0
  89. package/dist/core/exportEngine.d.ts +11 -0
  90. package/dist/core/exportEngine.d.ts.map +1 -0
  91. package/dist/core/i18n.d.ts +19 -0
  92. package/dist/core/i18n.d.ts.map +1 -0
  93. package/dist/core/layoutEngine.d.ts +10 -0
  94. package/dist/core/layoutEngine.d.ts.map +1 -0
  95. package/dist/core/serialization.d.ts +16 -0
  96. package/dist/core/serialization.d.ts.map +1 -0
  97. package/dist/core/snapGrid.d.ts +51 -0
  98. package/dist/core/snapGrid.d.ts.map +1 -0
  99. package/dist/hooks/useDiagramEditor.d.ts +64 -0
  100. package/dist/hooks/useDiagramEditor.d.ts.map +1 -0
  101. package/dist/index.cjs +3484 -0
  102. package/dist/index.d.ts +35 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/index.mjs +58661 -0
  105. package/dist/style.css +1 -0
  106. package/dist/types/diagramTypes.d.ts +410 -0
  107. package/dist/types/diagramTypes.d.ts.map +1 -0
  108. package/package.json +59 -0
@@ -0,0 +1,167 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface Point {
4
+ x: number;
5
+ y: number;
6
+ }
7
+ export interface Rect {
8
+ x: number;
9
+ y: number;
10
+ width: number;
11
+ height: number;
12
+ }
13
+ export interface SnapConfig {
14
+ /** Enable grid snapping */
15
+ gridSnap: boolean;
16
+ /** Grid size in pixels */
17
+ gridSize: number;
18
+ /** Enable snap to objects */
19
+ objectSnap: boolean;
20
+ /** Snap threshold distance in pixels */
21
+ snapThreshold: number;
22
+ /** Show alignment guides */
23
+ showGuides: boolean;
24
+ /** Guide line color */
25
+ guideColor: string;
26
+ /** Guide line width */
27
+ guideWidth: number;
28
+ /** Enable smart distribution guides */
29
+ distributionGuides: boolean;
30
+ /** Enable center alignment guides */
31
+ centerGuides: boolean;
32
+ /** Enable edge alignment guides */
33
+ edgeGuides: boolean;
34
+ }
35
+ export interface Guide {
36
+ id: string;
37
+ type: 'horizontal' | 'vertical';
38
+ position: number;
39
+ start: number;
40
+ end: number;
41
+ label?: string;
42
+ }
43
+ export interface SnapResult {
44
+ point: Point;
45
+ snappedX: boolean;
46
+ snappedY: boolean;
47
+ guides: Guide[];
48
+ }
49
+ export interface AlignmentInfo {
50
+ type: 'left' | 'right' | 'top' | 'bottom' | 'centerX' | 'centerY';
51
+ position: number;
52
+ nodeIds: string[];
53
+ }
54
+ export interface DistributionInfo {
55
+ type: 'horizontal' | 'vertical';
56
+ spacing: number;
57
+ nodeIds: string[];
58
+ }
59
+ export interface NodeBounds {
60
+ id: string;
61
+ rect: Rect;
62
+ }
63
+ export declare const defaultSnapConfig: SnapConfig;
64
+ /**
65
+ * Snap a value to the nearest grid point
66
+ */
67
+ export declare function snapToGrid(value: number, gridSize: number): number;
68
+ /**
69
+ * Snap a point to the grid
70
+ */
71
+ export declare function snapPointToGrid(point: Point, gridSize: number): Point;
72
+ /**
73
+ * Snap a rect position to the grid
74
+ */
75
+ export declare function snapRectToGrid(rect: Rect, gridSize: number): Rect;
76
+ /**
77
+ * Calculate snap result for a moving node against other nodes
78
+ */
79
+ export declare function calculateSnap(movingRect: Rect, otherNodes: NodeBounds[], config: SnapConfig): SnapResult;
80
+ /**
81
+ * Calculate equal distribution spacing between nodes
82
+ */
83
+ export declare function calculateDistribution(nodes: NodeBounds[], direction: 'horizontal' | 'vertical'): DistributionInfo | null;
84
+ /**
85
+ * Distribute nodes evenly
86
+ */
87
+ export declare function distributeNodes(nodes: NodeBounds[], direction: 'horizontal' | 'vertical'): NodeBounds[];
88
+ export type AlignmentType = 'left' | 'right' | 'top' | 'bottom' | 'centerX' | 'centerY';
89
+ /**
90
+ * Align nodes to a specific edge or center
91
+ */
92
+ export declare function alignNodes(nodes: NodeBounds[], alignment: AlignmentType, reference?: number): NodeBounds[];
93
+ /**
94
+ * Match node sizes
95
+ */
96
+ export declare function matchSizes(nodes: NodeBounds[], dimension: 'width' | 'height' | 'both', reference?: 'min' | 'max' | 'avg' | number): NodeBounds[];
97
+ export interface SnapContextValue {
98
+ config: SnapConfig;
99
+ setConfig: (config: Partial<SnapConfig>) => void;
100
+ guides: Guide[];
101
+ setGuides: (guides: Guide[]) => void;
102
+ calculateSnap: (movingRect: Rect, excludeId: string) => SnapResult;
103
+ registerNode: (node: NodeBounds) => void;
104
+ unregisterNode: (id: string) => void;
105
+ updateNode: (node: NodeBounds) => void;
106
+ clearGuides: () => void;
107
+ }
108
+ export interface SnapProviderProps {
109
+ children: React.ReactNode;
110
+ initialConfig?: Partial<SnapConfig>;
111
+ }
112
+ export declare function SnapProvider({ children, initialConfig, }: SnapProviderProps): React.ReactElement;
113
+ export declare function useSnapContext(): SnapContextValue;
114
+ export declare function useSnapConfig(): [SnapConfig, (config: Partial<SnapConfig>) => void];
115
+ export declare function useGuides(): Guide[];
116
+ export declare function useNodeSnap(nodeId: string, initialRect: Rect): {
117
+ position: Point;
118
+ updatePosition: (newPosition: Point) => Point;
119
+ startDrag: () => void;
120
+ endDrag: () => void;
121
+ };
122
+ export interface AlignmentGuidesProps {
123
+ scale?: number;
124
+ offsetX?: number;
125
+ offsetY?: number;
126
+ }
127
+ export declare function AlignmentGuides({ scale, offsetX, offsetY, }: AlignmentGuidesProps): React.ReactElement | null;
128
+ export interface GridBackgroundProps {
129
+ gridSize: number;
130
+ scale?: number;
131
+ offsetX?: number;
132
+ offsetY?: number;
133
+ majorGridInterval?: number;
134
+ minorGridColor?: string;
135
+ majorGridColor?: string;
136
+ showGrid?: boolean;
137
+ }
138
+ export declare function GridBackground({ gridSize, scale, offsetX, offsetY, majorGridInterval, minorGridColor, majorGridColor, showGrid, }: GridBackgroundProps): React.ReactElement | null;
139
+ export interface AlignmentToolbarProps {
140
+ selectedIds: string[];
141
+ onAlign: (type: AlignmentType) => void;
142
+ onDistribute: (direction: 'horizontal' | 'vertical') => void;
143
+ onMatchSize: (dimension: 'width' | 'height' | 'both') => void;
144
+ className?: string;
145
+ }
146
+ export declare function AlignmentToolbar({ selectedIds, onAlign, onDistribute, onMatchSize, className, }: AlignmentToolbarProps): React.ReactElement;
147
+ declare const _default: {
148
+ SnapProvider: typeof SnapProvider;
149
+ useSnapContext: typeof useSnapContext;
150
+ useSnapConfig: typeof useSnapConfig;
151
+ useGuides: typeof useGuides;
152
+ useNodeSnap: typeof useNodeSnap;
153
+ AlignmentGuides: typeof AlignmentGuides;
154
+ GridBackground: typeof GridBackground;
155
+ AlignmentToolbar: typeof AlignmentToolbar;
156
+ snapToGrid: typeof snapToGrid;
157
+ snapPointToGrid: typeof snapPointToGrid;
158
+ snapRectToGrid: typeof snapRectToGrid;
159
+ calculateSnap: typeof calculateSnap;
160
+ calculateDistribution: typeof calculateDistribution;
161
+ distributeNodes: typeof distributeNodes;
162
+ alignNodes: typeof alignNodes;
163
+ matchSizes: typeof matchSizes;
164
+ defaultSnapConfig: SnapConfig;
165
+ };
166
+ export default _default;
167
+ //# sourceMappingURL=snapGuides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapGuides.d.ts","sourceRoot":"","sources":["../../src/components/snapGuides.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ import { WorkflowData } from './NiceWorkflowVisualizer';
2
+
3
+ export interface BPMNDefinitions {
4
+ process?: BPMNProcess | BPMNProcess[];
5
+ collaboration?: BPMNCollaboration;
6
+ message?: BPMNMessage[];
7
+ signal?: BPMNSignal[];
8
+ error?: BPMNError[];
9
+ }
10
+ export interface BPMNProcess {
11
+ id: string;
12
+ name?: string;
13
+ isExecutable?: boolean;
14
+ flowElement?: BPMNFlowElement[];
15
+ sequenceFlow?: BPMNSequenceFlow[];
16
+ laneSet?: BPMNLaneSet;
17
+ }
18
+ export interface BPMNCollaboration {
19
+ id: string;
20
+ participant?: BPMNParticipant[];
21
+ messageFlow?: BPMNMessageFlow[];
22
+ }
23
+ export interface BPMNParticipant {
24
+ id: string;
25
+ name?: string;
26
+ processRef?: string;
27
+ }
28
+ export interface BPMNFlowElement {
29
+ $type: string;
30
+ id: string;
31
+ name?: string;
32
+ incoming?: string[];
33
+ outgoing?: string[];
34
+ default?: string;
35
+ loopCharacteristics?: BPMNLoopCharacteristics;
36
+ boundaryEventRef?: string;
37
+ attachedToRef?: string;
38
+ timerEventDefinition?: BPMNTimerEventDefinition;
39
+ messageEventDefinition?: BPMNMessageEventDefinition;
40
+ errorEventDefinition?: BPMNErrorEventDefinition;
41
+ signalEventDefinition?: BPMNSignalEventDefinition;
42
+ conditionExpression?: BPMNExpression;
43
+ sourceRef?: string;
44
+ targetRef?: string;
45
+ }
46
+ export interface BPMNSequenceFlow {
47
+ id: string;
48
+ name?: string;
49
+ sourceRef: string;
50
+ targetRef: string;
51
+ conditionExpression?: BPMNExpression;
52
+ }
53
+ export interface BPMNExpression {
54
+ $type?: string;
55
+ body?: string;
56
+ language?: string;
57
+ }
58
+ export interface BPMNLaneSet {
59
+ lane?: BPMNLane[];
60
+ }
61
+ export interface BPMNLane {
62
+ id: string;
63
+ name?: string;
64
+ flowNodeRef?: string[];
65
+ }
66
+ export interface BPMNLoopCharacteristics {
67
+ $type: string;
68
+ isSequential?: boolean;
69
+ }
70
+ export interface BPMNTimerEventDefinition {
71
+ timeDuration?: BPMNExpression;
72
+ timeCycle?: BPMNExpression;
73
+ timeDate?: BPMNExpression;
74
+ }
75
+ export interface BPMNMessageEventDefinition {
76
+ messageRef?: string;
77
+ }
78
+ export interface BPMNErrorEventDefinition {
79
+ errorRef?: string;
80
+ }
81
+ export interface BPMNSignalEventDefinition {
82
+ signalRef?: string;
83
+ }
84
+ export interface BPMNMessage {
85
+ id: string;
86
+ name?: string;
87
+ }
88
+ export interface BPMNSignal {
89
+ id: string;
90
+ name?: string;
91
+ }
92
+ export interface BPMNError {
93
+ id: string;
94
+ name?: string;
95
+ errorCode?: string;
96
+ }
97
+ export interface BPMNMessageFlow {
98
+ id: string;
99
+ sourceRef: string;
100
+ targetRef: string;
101
+ name?: string;
102
+ }
103
+ export interface CamundaProcessInstance {
104
+ id: string;
105
+ processDefinitionId: string;
106
+ processDefinitionKey: string;
107
+ processDefinitionName?: string;
108
+ businessKey?: string;
109
+ state: 'ACTIVE' | 'SUSPENDED' | 'COMPLETED' | 'EXTERNALLY_TERMINATED' | 'INTERNALLY_TERMINATED';
110
+ startDate: string;
111
+ endDate?: string;
112
+ tenantId?: string;
113
+ }
114
+ export interface CamundaActivityInstance {
115
+ id: string;
116
+ activityId: string;
117
+ activityName?: string;
118
+ activityType: string;
119
+ processInstanceId: string;
120
+ processDefinitionId: string;
121
+ startDate: string;
122
+ endDate?: string;
123
+ canceled: boolean;
124
+ completeScope: boolean;
125
+ }
126
+ export interface CamundaIncident {
127
+ id: string;
128
+ processInstanceId: string;
129
+ processDefinitionId: string;
130
+ activityId: string;
131
+ incidentType: string;
132
+ incidentMessage?: string;
133
+ incidentTimestamp: string;
134
+ state: 'ACTIVE' | 'RESOLVED' | 'DELETED';
135
+ }
136
+ export interface CamundaTask {
137
+ id: string;
138
+ processInstanceId: string;
139
+ processDefinitionId: string;
140
+ taskDefinitionKey: string;
141
+ name?: string;
142
+ assignee?: string;
143
+ creationDate: string;
144
+ dueDate?: string;
145
+ followUpDate?: string;
146
+ priority: number;
147
+ delegation?: 'PENDING' | 'RESOLVED';
148
+ state: 'CREATED' | 'COMPLETED' | 'CANCELED';
149
+ }
150
+ export interface CamundaHistoryData {
151
+ processInstance: CamundaProcessInstance;
152
+ activityInstances: CamundaActivityInstance[];
153
+ incidents?: CamundaIncident[];
154
+ tasks?: CamundaTask[];
155
+ }
156
+ export interface N8nWorkflow {
157
+ id?: string;
158
+ name: string;
159
+ active?: boolean;
160
+ nodes: N8nNode[];
161
+ connections: N8nConnections;
162
+ settings?: N8nWorkflowSettings;
163
+ staticData?: unknown;
164
+ tags?: N8nTag[];
165
+ createdAt?: string;
166
+ updatedAt?: string;
167
+ }
168
+ export interface N8nNode {
169
+ id?: string;
170
+ name: string;
171
+ type: string;
172
+ typeVersion?: number;
173
+ position: [number, number];
174
+ parameters?: Record<string, unknown>;
175
+ credentials?: Record<string, N8nCredentialRef>;
176
+ disabled?: boolean;
177
+ notes?: string;
178
+ notesInFlow?: boolean;
179
+ webhookId?: string;
180
+ color?: string;
181
+ }
182
+ export interface N8nCredentialRef {
183
+ id: string;
184
+ name: string;
185
+ }
186
+ export interface N8nConnections {
187
+ [nodeName: string]: {
188
+ [outputType: string]: Array<Array<{
189
+ node: string;
190
+ type: string;
191
+ index: number;
192
+ }>>;
193
+ };
194
+ }
195
+ export interface N8nWorkflowSettings {
196
+ executionOrder?: 'v0' | 'v1';
197
+ saveDataErrorExecution?: 'all' | 'none';
198
+ saveDataSuccessExecution?: 'all' | 'none';
199
+ saveManualExecutions?: boolean;
200
+ callerPolicy?: 'any' | 'none' | 'workflowsFromAList' | 'workflowsFromSameOwner';
201
+ timezone?: string;
202
+ errorWorkflow?: string;
203
+ }
204
+ export interface N8nTag {
205
+ id?: string;
206
+ name: string;
207
+ createdAt?: string;
208
+ updatedAt?: string;
209
+ }
210
+ export interface N8nExecution {
211
+ id: string;
212
+ workflowId: string;
213
+ finished: boolean;
214
+ mode: 'cli' | 'error' | 'integrated' | 'internal' | 'manual' | 'retry' | 'trigger' | 'webhook';
215
+ startedAt: string;
216
+ stoppedAt?: string;
217
+ workflowData: N8nWorkflow;
218
+ data?: N8nExecutionData;
219
+ status: 'canceled' | 'crashed' | 'error' | 'new' | 'running' | 'success' | 'unknown' | 'waiting';
220
+ retryOf?: string;
221
+ retrySuccessId?: string;
222
+ }
223
+ export interface N8nExecutionData {
224
+ resultData: {
225
+ runData: Record<string, N8nNodeRunData[]>;
226
+ lastNodeExecuted?: string;
227
+ error?: {
228
+ message: string;
229
+ stack?: string;
230
+ node?: N8nNode;
231
+ };
232
+ };
233
+ executionData?: {
234
+ contextData?: Record<string, unknown>;
235
+ waitingExecution?: Record<string, unknown>;
236
+ waitingExecutionSource?: Record<string, unknown>;
237
+ };
238
+ }
239
+ export interface N8nNodeRunData {
240
+ startTime: number;
241
+ executionTime?: number;
242
+ executionStatus?: 'success' | 'error' | 'canceled' | 'waiting';
243
+ data?: {
244
+ main?: Array<Array<{
245
+ json: Record<string, unknown>;
246
+ }>>;
247
+ };
248
+ error?: {
249
+ message: string;
250
+ stack?: string;
251
+ };
252
+ }
253
+ /**
254
+ * Convert BPMN 2.0 definitions to WorkflowData format.
255
+ */
256
+ export declare function convertBPMNToWorkflow(definitions: BPMNDefinitions, processId?: string): WorkflowData;
257
+ /**
258
+ * Convert Camunda process history to WorkflowData with execution state.
259
+ */
260
+ export declare function convertCamundaToWorkflow(bpmnWorkflow: WorkflowData, historyData: CamundaHistoryData): WorkflowData;
261
+ /**
262
+ * Convert n8n workflow to WorkflowData format.
263
+ */
264
+ export declare function convertN8nToWorkflow(workflow: N8nWorkflow): WorkflowData;
265
+ /**
266
+ * Apply n8n execution data to update step statuses.
267
+ */
268
+ export declare function applyN8nExecution(workflow: WorkflowData, execution: N8nExecution): WorkflowData;
269
+ export type WorkflowEngineType = 'bpmn' | 'camunda' | 'n8n';
270
+ export interface WorkflowEngineConfig {
271
+ type: WorkflowEngineType;
272
+ apiUrl?: string;
273
+ apiKey?: string;
274
+ processDefinitionId?: string;
275
+ }
276
+ /**
277
+ * Detect workflow engine type from data structure.
278
+ */
279
+ export declare function detectWorkflowEngine(data: unknown): WorkflowEngineType | null;
280
+ //# sourceMappingURL=workflowIntegrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflowIntegrations.d.ts","sourceRoot":"","sources":["../../src/components/workflowIntegrations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { NiceDiagramDocument, DiagramNode, DiagramEdge, DiagramGroup, DiagramAnimation, DiagramAnimationMode, DiagramViewport, DiagramViewMode, DiagramPlayerConfig, DiagramStylePresetConfig, DiagramType, Point, Size, NodeShape } from '../types/diagramTypes';
2
+
3
+ export declare class DiagramModel {
4
+ private doc;
5
+ private undoStack;
6
+ private redoStack;
7
+ private listeners;
8
+ private maxHistory;
9
+ constructor(doc?: NiceDiagramDocument);
10
+ static createEmpty(type?: DiagramType): NiceDiagramDocument;
11
+ getDocument(): Readonly<NiceDiagramDocument>;
12
+ getNodes(): readonly DiagramNode[];
13
+ getEdges(): readonly DiagramEdge[];
14
+ getGroups(): readonly DiagramGroup[];
15
+ getAnimations(): readonly DiagramAnimation[];
16
+ getNodeById(id: string): DiagramNode | undefined;
17
+ getEdgeById(id: string): DiagramEdge | undefined;
18
+ getViewport(): DiagramViewport;
19
+ subscribe(listener: () => void): () => void;
20
+ private notify;
21
+ private pushUndo;
22
+ undo(): boolean;
23
+ redo(): boolean;
24
+ canUndo(): boolean;
25
+ canRedo(): boolean;
26
+ addNode(label: string, position: Point, shape?: NodeShape, size?: Size): DiagramNode;
27
+ updateNode(id: string, patch: Partial<Omit<DiagramNode, 'id'>>): void;
28
+ moveNode(id: string, position: Point): void;
29
+ resizeNode(id: string, size: Size): void;
30
+ removeNode(id: string): void;
31
+ addEdge(sourceNodeId: string, sourcePortId: string, targetNodeId: string, targetPortId: string, label?: string): DiagramEdge | null;
32
+ updateEdge(id: string, patch: Partial<Omit<DiagramEdge, 'id'>>): void;
33
+ removeEdge(id: string): void;
34
+ createGroup(label: string, nodeIds: string[]): DiagramGroup;
35
+ removeGroup(id: string): void;
36
+ addAnimation(anim: Omit<DiagramAnimation, 'id'>): DiagramAnimation;
37
+ removeAnimation(id: string): void;
38
+ setViewport(viewport: DiagramViewport): void;
39
+ toggleGroupCollapse(groupId: string): void;
40
+ toggleNodeCollapse(nodeId: string): void;
41
+ getAnimationModes(): readonly DiagramAnimationMode[];
42
+ getActiveAnimationMode(): DiagramAnimationMode | undefined;
43
+ addAnimationMode(name: string, animations?: DiagramAnimation[]): DiagramAnimationMode;
44
+ removeAnimationMode(id: string): void;
45
+ setActiveAnimationMode(id: string): void;
46
+ addAnimationToMode(modeId: string, anim: Omit<DiagramAnimation, 'id'>): DiagramAnimation | null;
47
+ removeAnimationFromMode(modeId: string, animId: string): void;
48
+ setStylePreset(presetId: string): void;
49
+ setStyleOverrides(overrides: Partial<DiagramStylePresetConfig>): void;
50
+ getPlayerConfig(): DiagramPlayerConfig;
51
+ setPlayerConfig(config: Partial<DiagramPlayerConfig>): void;
52
+ setViewMode(mode: DiagramViewMode): void;
53
+ updateAnimation(id: string, patch: Partial<Omit<DiagramAnimation, 'id'>>): void;
54
+ loadDocument(doc: NiceDiagramDocument): void;
55
+ }
56
+ //# sourceMappingURL=DiagramModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiagramModel.d.ts","sourceRoot":"","sources":["../../src/core/DiagramModel.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,KAAK,EACL,IAAI,EACJ,SAAS,EAEV,MAAM,uBAAuB,CAAC;AAW/B,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,UAAU,CAAO;gBAEb,GAAG,CAAC,EAAE,mBAAmB;IAMrC,MAAM,CAAC,WAAW,CAAC,IAAI,GAAE,WAAyB,GAAG,mBAAmB;IAkBxE,WAAW,IAAI,QAAQ,CAAC,mBAAmB,CAAC;IAI5C,QAAQ,IAAI,SAAS,WAAW,EAAE;IAIlC,QAAQ,IAAI,SAAS,WAAW,EAAE;IAIlC,SAAS,IAAI,SAAS,YAAY,EAAE;IAIpC,aAAa,IAAI,SAAS,gBAAgB,EAAE;IAI5C,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIhD,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIhD,WAAW,IAAI,eAAe;IAM9B,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK3C,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,QAAQ;IAMhB,IAAI,IAAI,OAAO;IASf,IAAI,IAAI,OAAO;IASf,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAMlB,OAAO,CACL,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,KAAK,EACf,KAAK,GAAE,SAAyB,EAChC,IAAI,GAAE,IAAiC,GACtC,WAAW;IAiBd,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAOrE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IAQ3C,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI;IAQxC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAoB5B,OAAO,CACL,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,WAAW,GAAG,IAAI;IAqBrB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAOrE,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAS5B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,YAAY;IAiB3D,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAe7B,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,gBAAgB;IAQlE,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQjC,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAQ5C,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAa1C,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAexC,iBAAiB,IAAI,SAAS,oBAAoB,EAAE;IAIpD,sBAAsB,IAAI,oBAAoB,GAAG,SAAS;IAO1D,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,gBAAgB,EAAE,GAAG,oBAAoB;IAerF,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUrC,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMxC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI;IAU/F,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU7D,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMtC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,IAAI;IAQrE,eAAe,IAAI,mBAAmB;IAatC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAM3D,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IASxC,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI;IAS/E,YAAY,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;CAM7C"}
@@ -0,0 +1,40 @@
1
+ import { DiagramAnimation, EasingType } from '../types/diagramTypes';
2
+
3
+ export declare function getEasing(name: EasingType): (t: number) => number;
4
+ export interface AnimationState {
5
+ opacity: number;
6
+ scale: number;
7
+ translateX: number;
8
+ translateY: number;
9
+ /** Glow blur radius */
10
+ glow: number;
11
+ /** Highlight color (empty = none) */
12
+ highlightColor: string;
13
+ /** Stroke dash offset for drawPath effect (0–1) */
14
+ strokeProgress: number;
15
+ /** Ripple ring radius */
16
+ rippleRadius: number;
17
+ /** Ripple ring opacity */
18
+ rippleOpacity: number;
19
+ /** Typewriter character count (0 = none, >0 = show N chars) */
20
+ typewriterChars: number;
21
+ /** Liquid fill progress (0–1) */
22
+ liquidFillProgress: number;
23
+ /** Particle trail progress along edge (0–1) */
24
+ particleTrailT: number;
25
+ }
26
+ export declare class AnimationPlayer {
27
+ private animations;
28
+ private startTime;
29
+ private playing;
30
+ private rafId;
31
+ private stateMap;
32
+ private onFrame;
33
+ constructor(animations: DiagramAnimation[], onFrame: (states: Map<string, AnimationState>) => void);
34
+ play(): void;
35
+ stop(): void;
36
+ pause(): void;
37
+ isPlaying(): boolean;
38
+ private tick;
39
+ }
40
+ //# sourceMappingURL=animationEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationEngine.d.ts","sourceRoot":"","sources":["../../src/core/animationEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAmB1E,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAEjE;AAID,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,cAAc,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;CACxB;AAmBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,OAAO,CAAgD;gBAG7D,UAAU,EAAE,gBAAgB,EAAE,EAC9B,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,IAAI;IAMxD,IAAI,IAAI,IAAI;IAOZ,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAMb,SAAS,IAAI,OAAO;IAIpB,OAAO,CAAC,IAAI,CAkDV;CACH"}