@angflow/angular 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.
Files changed (196) hide show
  1. package/README.md +187 -0
  2. package/dist/base.css +1204 -0
  3. package/dist/esm/index.d.ts +2 -0
  4. package/dist/esm/index.d.ts.map +1 -0
  5. package/dist/esm/index.js +2 -0
  6. package/dist/esm/index.js.map +1 -0
  7. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +25 -0
  8. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +1 -0
  9. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +58 -0
  10. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -0
  11. package/dist/esm/lib/components/attribution/attribution.component.d.ts +6 -0
  12. package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +1 -0
  13. package/dist/esm/lib/components/attribution/attribution.component.js +32 -0
  14. package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -0
  15. package/dist/esm/lib/components/background/background.component.d.ts +31 -0
  16. package/dist/esm/lib/components/background/background.component.d.ts.map +1 -0
  17. package/dist/esm/lib/components/background/background.component.js +209 -0
  18. package/dist/esm/lib/components/background/background.component.js.map +1 -0
  19. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +36 -0
  20. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +1 -0
  21. package/dist/esm/lib/components/connection-line/connection-line.component.js +146 -0
  22. package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -0
  23. package/dist/esm/lib/components/controls/controls.component.d.ts +25 -0
  24. package/dist/esm/lib/components/controls/controls.component.d.ts.map +1 -0
  25. package/dist/esm/lib/components/controls/controls.component.js +174 -0
  26. package/dist/esm/lib/components/controls/controls.component.js.map +1 -0
  27. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +6 -0
  28. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +1 -0
  29. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +24 -0
  30. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -0
  31. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +22 -0
  32. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +1 -0
  33. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +64 -0
  34. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -0
  35. package/dist/esm/lib/components/edges/base-edge.component.d.ts +11 -0
  36. package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +1 -0
  37. package/dist/esm/lib/components/edges/base-edge.component.js +56 -0
  38. package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -0
  39. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +30 -0
  40. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +1 -0
  41. package/dist/esm/lib/components/edges/bezier-edge.component.js +68 -0
  42. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -0
  43. package/dist/esm/lib/components/edges/edge-text.component.d.ts +11 -0
  44. package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +1 -0
  45. package/dist/esm/lib/components/edges/edge-text.component.js +48 -0
  46. package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -0
  47. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +21 -0
  48. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +1 -0
  49. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +57 -0
  50. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -0
  51. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +22 -0
  52. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +1 -0
  53. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +59 -0
  54. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -0
  55. package/dist/esm/lib/components/edges/step-edge.component.d.ts +22 -0
  56. package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +1 -0
  57. package/dist/esm/lib/components/edges/step-edge.component.js +60 -0
  58. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -0
  59. package/dist/esm/lib/components/edges/straight-edge.component.d.ts +18 -0
  60. package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +1 -0
  61. package/dist/esm/lib/components/edges/straight-edge.component.js +53 -0
  62. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -0
  63. package/dist/esm/lib/components/handle/handle.component.d.ts +28 -0
  64. package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -0
  65. package/dist/esm/lib/components/handle/handle.component.js +162 -0
  66. package/dist/esm/lib/components/handle/handle.component.js.map +1 -0
  67. package/dist/esm/lib/components/minimap/minimap.component.d.ts +75 -0
  68. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +1 -0
  69. package/dist/esm/lib/components/minimap/minimap.component.js +319 -0
  70. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -0
  71. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +6 -0
  72. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +1 -0
  73. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +24 -0
  74. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -0
  75. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +44 -0
  76. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +1 -0
  77. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +198 -0
  78. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -0
  79. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +19 -0
  80. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +1 -0
  81. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +101 -0
  82. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -0
  83. package/dist/esm/lib/components/nodes/default-node.component.d.ts +20 -0
  84. package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +1 -0
  85. package/dist/esm/lib/components/nodes/default-node.component.js +52 -0
  86. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -0
  87. package/dist/esm/lib/components/nodes/group-node.component.d.ts +19 -0
  88. package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +1 -0
  89. package/dist/esm/lib/components/nodes/group-node.component.js +34 -0
  90. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -0
  91. package/dist/esm/lib/components/nodes/input-node.component.d.ts +20 -0
  92. package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +1 -0
  93. package/dist/esm/lib/components/nodes/input-node.component.js +49 -0
  94. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -0
  95. package/dist/esm/lib/components/nodes/output-node.component.d.ts +20 -0
  96. package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +1 -0
  97. package/dist/esm/lib/components/nodes/output-node.component.js +48 -0
  98. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -0
  99. package/dist/esm/lib/components/panel/panel.component.d.ts +13 -0
  100. package/dist/esm/lib/components/panel/panel.component.d.ts.map +1 -0
  101. package/dist/esm/lib/components/panel/panel.component.js +39 -0
  102. package/dist/esm/lib/components/panel/panel.component.js.map +1 -0
  103. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts +12 -0
  104. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts.map +1 -0
  105. package/dist/esm/lib/components/selection-box/selection-box.component.js +56 -0
  106. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -0
  107. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +8 -0
  108. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +1 -0
  109. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +35 -0
  110. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -0
  111. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +70 -0
  112. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -0
  113. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +503 -0
  114. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -0
  115. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +281 -0
  116. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -0
  117. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +644 -0
  118. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -0
  119. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +56 -0
  120. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -0
  121. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +312 -0
  122. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -0
  123. package/dist/esm/lib/container/pane/pane.component.d.ts +35 -0
  124. package/dist/esm/lib/container/pane/pane.component.d.ts.map +1 -0
  125. package/dist/esm/lib/container/pane/pane.component.js +161 -0
  126. package/dist/esm/lib/container/pane/pane.component.js.map +1 -0
  127. package/dist/esm/lib/container/viewport/viewport.component.d.ts +9 -0
  128. package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +1 -0
  129. package/dist/esm/lib/container/viewport/viewport.component.js +35 -0
  130. package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -0
  131. package/dist/esm/lib/directives/drag.directive.d.ts +21 -0
  132. package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -0
  133. package/dist/esm/lib/directives/drag.directive.js +69 -0
  134. package/dist/esm/lib/directives/drag.directive.js.map +1 -0
  135. package/dist/esm/lib/directives/drop-zone.directive.d.ts +30 -0
  136. package/dist/esm/lib/directives/drop-zone.directive.d.ts.map +1 -0
  137. package/dist/esm/lib/directives/drop-zone.directive.js +58 -0
  138. package/dist/esm/lib/directives/drop-zone.directive.js.map +1 -0
  139. package/dist/esm/lib/directives/key-handler.directive.d.ts +29 -0
  140. package/dist/esm/lib/directives/key-handler.directive.d.ts.map +1 -0
  141. package/dist/esm/lib/directives/key-handler.directive.js +176 -0
  142. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -0
  143. package/dist/esm/lib/directives/node-type.directive.d.ts +21 -0
  144. package/dist/esm/lib/directives/node-type.directive.d.ts.map +1 -0
  145. package/dist/esm/lib/directives/node-type.directive.js +32 -0
  146. package/dist/esm/lib/directives/node-type.directive.js.map +1 -0
  147. package/dist/esm/lib/public-api.d.ts +40 -0
  148. package/dist/esm/lib/public-api.d.ts.map +1 -0
  149. package/dist/esm/lib/public-api.js +67 -0
  150. package/dist/esm/lib/public-api.js.map +1 -0
  151. package/dist/esm/lib/services/flow-store.service.d.ts +227 -0
  152. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -0
  153. package/dist/esm/lib/services/flow-store.service.js +542 -0
  154. package/dist/esm/lib/services/flow-store.service.js.map +1 -0
  155. package/dist/esm/lib/services/ng-flow.service.d.ts +186 -0
  156. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -0
  157. package/dist/esm/lib/services/ng-flow.service.js +501 -0
  158. package/dist/esm/lib/services/ng-flow.service.js.map +1 -0
  159. package/dist/esm/lib/services/tokens.d.ts +4 -0
  160. package/dist/esm/lib/services/tokens.d.ts.map +1 -0
  161. package/dist/esm/lib/services/tokens.js +4 -0
  162. package/dist/esm/lib/services/tokens.js.map +1 -0
  163. package/dist/esm/lib/types/edges.d.ts +83 -0
  164. package/dist/esm/lib/types/edges.d.ts.map +1 -0
  165. package/dist/esm/lib/types/edges.js +2 -0
  166. package/dist/esm/lib/types/edges.js.map +1 -0
  167. package/dist/esm/lib/types/general.d.ts +128 -0
  168. package/dist/esm/lib/types/general.d.ts.map +1 -0
  169. package/dist/esm/lib/types/general.js +2 -0
  170. package/dist/esm/lib/types/general.js.map +1 -0
  171. package/dist/esm/lib/types/index.d.ts +5 -0
  172. package/dist/esm/lib/types/index.d.ts.map +1 -0
  173. package/dist/esm/lib/types/index.js +5 -0
  174. package/dist/esm/lib/types/index.js.map +1 -0
  175. package/dist/esm/lib/types/nodes.d.ts +53 -0
  176. package/dist/esm/lib/types/nodes.d.ts.map +1 -0
  177. package/dist/esm/lib/types/nodes.js +2 -0
  178. package/dist/esm/lib/types/nodes.js.map +1 -0
  179. package/dist/esm/lib/types/store.d.ts +71 -0
  180. package/dist/esm/lib/types/store.d.ts.map +1 -0
  181. package/dist/esm/lib/types/store.js +2 -0
  182. package/dist/esm/lib/types/store.js.map +1 -0
  183. package/dist/esm/lib/utils/changes.d.ts +12 -0
  184. package/dist/esm/lib/utils/changes.d.ts.map +1 -0
  185. package/dist/esm/lib/utils/changes.js +134 -0
  186. package/dist/esm/lib/utils/changes.js.map +1 -0
  187. package/dist/esm/lib/utils/index.d.ts +2 -0
  188. package/dist/esm/lib/utils/index.d.ts.map +1 -0
  189. package/dist/esm/lib/utils/index.js +2 -0
  190. package/dist/esm/lib/utils/index.js.map +1 -0
  191. package/dist/esm/lib/utils/type-guards.d.ts +12 -0
  192. package/dist/esm/lib/utils/type-guards.d.ts.map +1 -0
  193. package/dist/esm/lib/utils/type-guards.js +16 -0
  194. package/dist/esm/lib/utils/type-guards.js.map +1 -0
  195. package/dist/style.css +1392 -0
  196. package/package.json +60 -0
@@ -0,0 +1,128 @@
1
+ import type { FitViewParamsBase, FitViewOptionsBase, ZoomInOut, ZoomTo, SetViewport, GetZoom, GetViewport, SetCenter, FitBounds, XYPosition, Connection, NodeChange, EdgeChange, SnapGrid, Rect, Viewport, HandleConnection, NodeConnection } from '@angflow/system';
2
+ import type { Node, Edge, InternalNode } from '.';
3
+ export type OnNodesChange<NodeType extends Node = Node> = (changes: NodeChange<NodeType>[]) => void;
4
+ export type OnEdgesChange<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => void;
5
+ export type NodesChangeMiddleware<NodeType extends Node = Node> = (changes: NodeChange<NodeType>[]) => NodeChange<NodeType>[];
6
+ export type EdgesChangeMiddleware<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => EdgeChange<EdgeType>[];
7
+ export type OnNodesDelete<NodeType extends Node = Node> = (nodes: NodeType[]) => void;
8
+ export type OnEdgesDelete<EdgeType extends Edge = Edge> = (edges: EdgeType[]) => void;
9
+ export type OnDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
10
+ nodes: NodeType[];
11
+ edges: EdgeType[];
12
+ }) => void;
13
+ export type OnSelectionChangeParams<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
14
+ nodes: NodeType[];
15
+ edges: EdgeType[];
16
+ };
17
+ export type OnSelectionChangeFunc<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: OnSelectionChangeParams<NodeType, EdgeType>) => void;
18
+ /**
19
+ * Event payload for node mouse events (click, double-click, context menu, etc.)
20
+ */
21
+ export type NodeMouseEvent<NodeType extends Node = Node> = {
22
+ event: MouseEvent;
23
+ node: NodeType;
24
+ };
25
+ /**
26
+ * Event payload for edge mouse events (click, double-click, context menu, etc.)
27
+ */
28
+ export type EdgeMouseEvent<EdgeType extends Edge = Edge> = {
29
+ event: MouseEvent;
30
+ edge: EdgeType;
31
+ };
32
+ /**
33
+ * Event payload for node drag events (dragStart, drag, dragStop).
34
+ */
35
+ export type NodeDragEvent<NodeType extends Node = Node> = {
36
+ event: MouseEvent;
37
+ node: NodeType;
38
+ nodes: NodeType[];
39
+ };
40
+ /**
41
+ * Event payload for reconnect events.
42
+ */
43
+ export type ReconnectEvent<EdgeType extends Edge = Edge> = {
44
+ oldEdge: EdgeType;
45
+ newConnection: Connection;
46
+ };
47
+ export type FitViewParams<NodeType extends Node = Node> = FitViewParamsBase<NodeType>;
48
+ export type FitViewOptions<NodeType extends Node = Node> = FitViewOptionsBase<NodeType>;
49
+ export type FitView<NodeType extends Node = Node> = (fitViewOptions?: FitViewOptions<NodeType>) => Promise<boolean>;
50
+ export type OnInit<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (instance: NgFlowInstance<NodeType, EdgeType>) => void;
51
+ export type ViewportHelperFunctions = {
52
+ zoomIn: ZoomInOut;
53
+ zoomOut: ZoomInOut;
54
+ zoomTo: ZoomTo;
55
+ getZoom: GetZoom;
56
+ setViewport: SetViewport;
57
+ getViewport: GetViewport;
58
+ setCenter: SetCenter;
59
+ fitBounds: FitBounds;
60
+ screenToFlowPosition: (clientPosition: XYPosition, options?: {
61
+ snapToGrid?: boolean;
62
+ snapGrid?: SnapGrid;
63
+ }) => XYPosition;
64
+ flowToScreenPosition: (flowPosition: XYPosition) => XYPosition;
65
+ };
66
+ export type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
67
+ nodes: NodeType[];
68
+ edges: EdgeType[];
69
+ }) => boolean | Promise<boolean>;
70
+ export type IsValidConnection<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection) => boolean;
71
+ export type UnselectNodesAndEdgesParams<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
72
+ nodes?: NodeType[];
73
+ edges?: EdgeType[];
74
+ };
75
+ /**
76
+ * Serialized representation of the flow state.
77
+ */
78
+ export type NgFlowJsonObject<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
79
+ nodes: NodeType[];
80
+ edges: EdgeType[];
81
+ viewport: Viewport;
82
+ };
83
+ /**
84
+ * Options for deleteElements.
85
+ */
86
+ export type DeleteElementsOptions = {
87
+ nodes?: {
88
+ id: string;
89
+ }[];
90
+ edges?: {
91
+ id: string;
92
+ }[];
93
+ };
94
+ /**
95
+ * The NgFlowInstance provides programmatic access to the flow.
96
+ */
97
+ export type NgFlowInstance<NodeType extends Node = Node, EdgeType extends Edge = Edge> = ViewportHelperFunctions & {
98
+ getNodes: () => NodeType[];
99
+ setNodes: (nodes: NodeType[]) => void;
100
+ addNodes: (nodes: NodeType | NodeType[]) => void;
101
+ getNode: (id: string) => NodeType | undefined;
102
+ getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
103
+ updateNode: (id: string, nodeUpdate: Partial<NodeType> | ((node: NodeType) => Partial<NodeType>)) => void;
104
+ updateNodeData: (id: string, dataUpdate: Record<string, unknown> | ((data: NodeType['data']) => Record<string, unknown>)) => void;
105
+ getEdges: () => EdgeType[];
106
+ setEdges: (edges: EdgeType[]) => void;
107
+ addEdges: (edges: EdgeType | EdgeType[]) => void;
108
+ getEdge: (id: string) => EdgeType | undefined;
109
+ updateEdge: (id: string, edgeUpdate: Partial<EdgeType> | ((edge: EdgeType) => Partial<EdgeType>)) => void;
110
+ updateEdgeData: (id: string, dataUpdate: Record<string, unknown> | ((data: EdgeType['data']) => Record<string, unknown>)) => void;
111
+ deleteElements: (params: DeleteElementsOptions) => Promise<{
112
+ deletedNodes: NodeType[];
113
+ deletedEdges: EdgeType[];
114
+ }>;
115
+ getIntersectingNodes: (node: NodeType, partially?: boolean) => NodeType[];
116
+ isNodeIntersecting: (node: NodeType, area: Rect, partially?: boolean) => boolean;
117
+ getNodesBounds: (nodes: NodeType[]) => Rect;
118
+ getConnectedEdges: (nodeIds: string | string[]) => EdgeType[];
119
+ getHandleConnections: (params: {
120
+ nodeId: string;
121
+ type: 'source' | 'target';
122
+ id?: string;
123
+ }) => HandleConnection[];
124
+ getNodeConnections: (nodeId: string) => NodeConnection[];
125
+ toObject: () => NgFlowJsonObject<NodeType, EdgeType>;
126
+ viewportInitialized: boolean;
127
+ };
128
+ //# sourceMappingURL=general.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/general.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=general.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../../src/lib/types/general.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from './nodes';
2
+ export * from './edges';
3
+ export * from './general';
4
+ export * from './store';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './nodes';
2
+ export * from './edges';
3
+ export * from './general';
4
+ export * from './store';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,53 @@
1
+ import type { Type } from '@angular/core';
2
+ import type { NodeBase, InternalNodeBase, NodeProps as NodePropsBase } from '@angflow/system';
3
+ /**
4
+ * The Node type represents everything Angular Flow needs to know about a given node.
5
+ */
6
+ export type Node<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string | undefined = string | undefined> = NodeBase<NodeData, NodeType> & {
7
+ style?: Partial<CSSStyleDeclaration>;
8
+ className?: string;
9
+ resizing?: boolean;
10
+ focusable?: boolean;
11
+ ariaRole?: string;
12
+ domAttributes?: Record<string, string>;
13
+ };
14
+ /**
15
+ * The InternalNode type extends Node with additional internal properties.
16
+ */
17
+ export type InternalNode<NodeType extends Node = Node> = InternalNodeBase<NodeType>;
18
+ export type NodeMouseHandler<NodeType extends Node = Node> = (event: MouseEvent, node: NodeType) => void;
19
+ export type SelectionDragHandler<NodeType extends Node = Node> = (event: MouseEvent, nodes: NodeType[]) => void;
20
+ export type OnNodeDrag<NodeType extends Node = Node> = (event: MouseEvent, node: NodeType, nodes: NodeType[]) => void;
21
+ /**
22
+ * Built-in node types available in Angular Flow.
23
+ */
24
+ export type BuiltInNode = Node<{
25
+ label: string;
26
+ }, 'input' | 'output' | 'default' | undefined> | Node<Record<string, never>, 'group'>;
27
+ /**
28
+ * Props passed to custom node components via signal inputs.
29
+ */
30
+ export type NodeProps<NodeType extends Node = Node> = NodePropsBase<NodeType>;
31
+ /**
32
+ * Map of node type names to Angular component types.
33
+ */
34
+ export type NodeTypes = Record<string, Type<any>>;
35
+ /**
36
+ * Input contract for custom node components rendered via NgComponentOutlet.
37
+ * Custom node components should declare signal inputs matching these properties.
38
+ */
39
+ export interface NodeComponentInputs<NodeType extends Node = Node> {
40
+ id: string;
41
+ data: NodeType['data'];
42
+ type: string;
43
+ selected: boolean;
44
+ dragging: boolean;
45
+ zIndex: number;
46
+ isConnectable: boolean;
47
+ positionAbsoluteX: number;
48
+ positionAbsoluteY: number;
49
+ sourcePosition: import('@angflow/system').Position;
50
+ targetPosition: import('@angflow/system').Position;
51
+ dragHandle?: string;
52
+ }
53
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,IAAI,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAEzH;;GAEG;AACH,MAAM,MAAM,IAAI,CACd,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClE,QAAQ,SAAS,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,IACtD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAEpF,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAEzG,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;AAEhH,MAAM,MAAM,UAAU,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CACrD,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EAAE,KACd,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,IAAI,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC,GACnE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,OAAO,iBAAiB,EAAE,QAAQ,CAAC;IACnD,cAAc,EAAE,OAAO,iBAAiB,EAAE,QAAQ,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../../src/lib/types/nodes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import type { ConnectionMode, ConnectionState, CoordinateExtent, NodeOrigin, PanZoomInstance, SnapGrid, Transform, InternalNodeBase, NodeLookup, EdgeLookup, ParentLookup, OnError, SelectionRect, ZIndexMode, AriaLabelConfig, NodeChange, EdgeChange } from '@angflow/system';
2
+ import type { Node, Edge, DefaultEdgeOptions } from '.';
3
+ /**
4
+ * The shape of the FlowStore's internal state.
5
+ * This mirrors React Flow's Zustand store shape but uses Angular signals.
6
+ */
7
+ export interface FlowStoreState<NodeType extends Node = Node, EdgeType extends Edge = Edge> {
8
+ rfId: string;
9
+ width: number;
10
+ height: number;
11
+ transform: Transform;
12
+ nodes: NodeType[];
13
+ edges: EdgeType[];
14
+ nodeLookup: NodeLookup<InternalNodeBase<NodeType>>;
15
+ parentLookup: ParentLookup<InternalNodeBase<NodeType>>;
16
+ edgeLookup: EdgeLookup<EdgeType>;
17
+ connectionLookup: Map<string, Map<string, any>>;
18
+ onNodesChange: ((changes: NodeChange<NodeType>[]) => void) | null;
19
+ onEdgesChange: ((changes: EdgeChange<EdgeType>[]) => void) | null;
20
+ hasDefaultNodes: boolean;
21
+ hasDefaultEdges: boolean;
22
+ nodesInitialized: boolean;
23
+ paneDragging: boolean;
24
+ nodesSelectionActive: boolean;
25
+ userSelectionActive: boolean;
26
+ userSelectionRect: SelectionRect | null;
27
+ multiSelectionActive: boolean;
28
+ panZoom: PanZoomInstance | null;
29
+ minZoom: number;
30
+ maxZoom: number;
31
+ translateExtent: CoordinateExtent;
32
+ nodeExtent: CoordinateExtent;
33
+ domNode: HTMLDivElement | null;
34
+ noDragClassName: string;
35
+ noWheelClassName: string;
36
+ noPanClassName: string;
37
+ nodeOrigin: NodeOrigin;
38
+ nodeDragThreshold: number;
39
+ connectionDragThreshold: number;
40
+ snapGrid: SnapGrid;
41
+ snapToGrid: boolean;
42
+ nodesDraggable: boolean;
43
+ nodesConnectable: boolean;
44
+ nodesFocusable: boolean;
45
+ edgesFocusable: boolean;
46
+ edgesReconnectable: boolean;
47
+ elementsSelectable: boolean;
48
+ elevateNodesOnSelect: boolean;
49
+ elevateEdgesOnSelect: boolean;
50
+ selectNodesOnDrag: boolean;
51
+ connectionMode: ConnectionMode;
52
+ connection: ConnectionState;
53
+ connectionClickStartHandle: any | null;
54
+ connectOnClick: boolean;
55
+ connectionRadius: number;
56
+ fitViewQueued: boolean;
57
+ fitViewOptions: any | undefined;
58
+ autoPanOnConnect: boolean;
59
+ autoPanOnNodeDrag: boolean;
60
+ autoPanOnNodeFocus: boolean;
61
+ autoPanSpeed: number;
62
+ isValidConnection: ((connection: any) => boolean) | undefined;
63
+ onError: OnError;
64
+ lib: string;
65
+ debug: boolean;
66
+ zIndexMode: ZIndexMode;
67
+ ariaLabelConfig: AriaLabelConfig;
68
+ ariaLiveMessage: string;
69
+ defaultEdgeOptions: DefaultEdgeOptions | undefined;
70
+ }
71
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/lib/types/store.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import type { NodeChange, EdgeChange, NodeSelectionChange, EdgeSelectionChange, NodeRemoveChange, EdgeRemoveChange } from '@angflow/system';
2
+ import type { Node, Edge } from '../types';
3
+ export declare function applyNodeChanges<NodeType extends Node = Node>(changes: NodeChange<NodeType>[], nodes: NodeType[]): NodeType[];
4
+ export declare function applyEdgeChanges<EdgeType extends Edge = Edge>(changes: EdgeChange<EdgeType>[], edges: EdgeType[]): EdgeType[];
5
+ export declare function createSelectionChange(id: string, selected: boolean): NodeSelectionChange | EdgeSelectionChange;
6
+ export declare function getSelectionChanges(items: Map<string, any>, selectedIds?: Set<string>, mutateItem?: boolean): NodeSelectionChange[] | EdgeSelectionChange[];
7
+ export declare function getElementsDiffChanges({ items, lookup }: {
8
+ items: any[] | undefined;
9
+ lookup: Map<string, any>;
10
+ }): any[];
11
+ export declare function elementToRemoveChange<T extends Node | Edge>(item: T): NodeRemoveChange | EdgeRemoveChange;
12
+ //# sourceMappingURL=changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AA+F3C,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAC3D,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAC/B,KAAK,EAAE,QAAQ,EAAE,GAChB,QAAQ,EAAE,CAEZ;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAC3D,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,EAC/B,KAAK,EAAE,QAAQ,EAAE,GAChB,QAAQ,EAAE,CAEZ;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,mBAAmB,GAAG,mBAAmB,CAE9G;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EACvB,WAAW,GAAE,GAAG,CAAC,MAAM,CAAa,EACpC,UAAU,UAAQ,GACjB,mBAAmB,EAAE,GAAG,mBAAmB,EAAE,CAc/C;AAED,wBAAgB,sBAAsB,CAAC,EAAE,KAAU,EAAE,MAAM,EAAE,EAAE;IAAE,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,GAAG,EAAE,CAwB5H;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,CAEzG"}
@@ -0,0 +1,134 @@
1
+ function applyChanges(changes, elements) {
2
+ const updatedElements = [];
3
+ const changesMap = new Map();
4
+ const addItemChanges = [];
5
+ for (const change of changes) {
6
+ if (change.type === 'add') {
7
+ addItemChanges.push(change);
8
+ continue;
9
+ }
10
+ else if (change.type === 'remove' || change.type === 'replace') {
11
+ changesMap.set(change.id, [change]);
12
+ }
13
+ else {
14
+ const elementChanges = changesMap.get(change.id);
15
+ if (elementChanges) {
16
+ elementChanges.push(change);
17
+ }
18
+ else {
19
+ changesMap.set(change.id, [change]);
20
+ }
21
+ }
22
+ }
23
+ for (const element of elements) {
24
+ const changes = changesMap.get(element.id);
25
+ if (!changes) {
26
+ updatedElements.push(element);
27
+ continue;
28
+ }
29
+ if (changes[0].type === 'remove') {
30
+ continue;
31
+ }
32
+ if (changes[0].type === 'replace') {
33
+ updatedElements.push({ ...changes[0].item });
34
+ continue;
35
+ }
36
+ const updatedElement = { ...element };
37
+ for (const change of changes) {
38
+ applyChange(change, updatedElement);
39
+ }
40
+ updatedElements.push(updatedElement);
41
+ }
42
+ if (addItemChanges.length) {
43
+ addItemChanges.forEach((change) => {
44
+ if (change.index !== undefined) {
45
+ updatedElements.splice(change.index, 0, { ...change.item });
46
+ }
47
+ else {
48
+ updatedElements.push({ ...change.item });
49
+ }
50
+ });
51
+ }
52
+ return updatedElements;
53
+ }
54
+ function applyChange(change, element) {
55
+ switch (change.type) {
56
+ case 'select': {
57
+ element.selected = change.selected;
58
+ break;
59
+ }
60
+ case 'position': {
61
+ if (typeof change.position !== 'undefined') {
62
+ element.position = change.position;
63
+ }
64
+ if (typeof change.dragging !== 'undefined') {
65
+ element.dragging = change.dragging;
66
+ }
67
+ break;
68
+ }
69
+ case 'dimensions': {
70
+ if (typeof change.dimensions !== 'undefined') {
71
+ element.measured = { ...change.dimensions };
72
+ if (change.setAttributes) {
73
+ if (change.setAttributes === true || change.setAttributes === 'width') {
74
+ element.width = change.dimensions.width;
75
+ }
76
+ if (change.setAttributes === true || change.setAttributes === 'height') {
77
+ element.height = change.dimensions.height;
78
+ }
79
+ }
80
+ }
81
+ if (typeof change.resizing === 'boolean') {
82
+ element.resizing = change.resizing;
83
+ }
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ export function applyNodeChanges(changes, nodes) {
89
+ return applyChanges(changes, nodes);
90
+ }
91
+ export function applyEdgeChanges(changes, edges) {
92
+ return applyChanges(changes, edges);
93
+ }
94
+ export function createSelectionChange(id, selected) {
95
+ return { id, type: 'select', selected };
96
+ }
97
+ export function getSelectionChanges(items, selectedIds = new Set(), mutateItem = false) {
98
+ const changes = [];
99
+ for (const [id, item] of items) {
100
+ const willBeSelected = selectedIds.has(id);
101
+ if (!(item.selected === undefined && !willBeSelected) && item.selected !== willBeSelected) {
102
+ if (mutateItem) {
103
+ item.selected = willBeSelected;
104
+ }
105
+ changes.push(createSelectionChange(item.id, willBeSelected));
106
+ }
107
+ }
108
+ return changes;
109
+ }
110
+ export function getElementsDiffChanges({ items = [], lookup }) {
111
+ const changes = [];
112
+ const itemsLookup = new Map(items.map((item) => [item.id, item]));
113
+ for (const [index, item] of items.entries()) {
114
+ const lookupItem = lookup.get(item.id);
115
+ const storeItem = lookupItem?.internals?.userNode ?? lookupItem;
116
+ if (storeItem !== undefined && storeItem !== item) {
117
+ changes.push({ id: item.id, item, type: 'replace' });
118
+ }
119
+ if (storeItem === undefined) {
120
+ changes.push({ item, type: 'add', index });
121
+ }
122
+ }
123
+ for (const [id] of lookup) {
124
+ const nextNode = itemsLookup.get(id);
125
+ if (nextNode === undefined) {
126
+ changes.push({ id, type: 'remove' });
127
+ }
128
+ }
129
+ return changes;
130
+ }
131
+ export function elementToRemoveChange(item) {
132
+ return { id: item.id, type: 'remove' };
133
+ }
134
+ //# sourceMappingURL=changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../../../src/lib/utils/changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { applyNodeChanges, applyEdgeChanges, createSelectionChange, getSelectionChanges, getElementsDiffChanges, elementToRemoveChange } from './changes';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { applyNodeChanges, applyEdgeChanges, createSelectionChange, getSelectionChanges, getElementsDiffChanges, elementToRemoveChange } from './changes';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Node, Edge } from '../types';
2
+ /**
3
+ * Type guard to check if an element is a Node.
4
+ * Angular-specific wrapper around isNodeBase with Angular Flow typing.
5
+ */
6
+ export declare function isNode<NodeType extends Node = Node>(element: any): element is NodeType;
7
+ /**
8
+ * Type guard to check if an element is an Edge.
9
+ * Angular-specific wrapper around isEdgeBase with Angular Flow typing.
10
+ */
11
+ export declare function isEdge<EdgeType extends Edge = Edge>(element: any): element is EdgeType;
12
+ //# sourceMappingURL=type-guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../../../src/lib/utils/type-guards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,MAAM,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,QAAQ,CAEtF;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,QAAQ,CAEtF"}
@@ -0,0 +1,16 @@
1
+ import { isNodeBase, isEdgeBase } from '@angflow/system';
2
+ /**
3
+ * Type guard to check if an element is a Node.
4
+ * Angular-specific wrapper around isNodeBase with Angular Flow typing.
5
+ */
6
+ export function isNode(element) {
7
+ return isNodeBase(element);
8
+ }
9
+ /**
10
+ * Type guard to check if an element is an Edge.
11
+ * Angular-specific wrapper around isEdgeBase with Angular Flow typing.
12
+ */
13
+ export function isEdge(element) {
14
+ return isEdgeBase(element);
15
+ }
16
+ //# sourceMappingURL=type-guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../../../src/lib/utils/type-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGzD;;;GAGG;AACH,MAAM,UAAU,MAAM,CAA+B,OAAY;IAC/D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM,CAA+B,OAAY;IAC/D,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}