@angflow/angular 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +14 -4
  2. package/dist/base.css +416 -411
  3. package/dist/esm/lib/agent/agent-bridge.service.d.ts +70 -0
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +1 -0
  5. package/dist/esm/lib/agent/agent-bridge.service.js +331 -0
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -0
  7. package/dist/esm/lib/agent/index.d.ts +7 -0
  8. package/dist/esm/lib/agent/index.d.ts.map +1 -0
  9. package/dist/esm/lib/agent/index.js +6 -0
  10. package/dist/esm/lib/agent/index.js.map +1 -0
  11. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +27 -0
  12. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +1 -0
  13. package/dist/esm/lib/agent/provide-agent-bridge.js +27 -0
  14. package/dist/esm/lib/agent/provide-agent-bridge.js.map +1 -0
  15. package/dist/esm/lib/agent/tool-schemas.d.ts +10 -0
  16. package/dist/esm/lib/agent/tool-schemas.d.ts.map +1 -0
  17. package/dist/esm/lib/agent/tool-schemas.js +234 -0
  18. package/dist/esm/lib/agent/tool-schemas.js.map +1 -0
  19. package/dist/esm/lib/agent/transports/websocket.d.ts +39 -0
  20. package/dist/esm/lib/agent/transports/websocket.d.ts.map +1 -0
  21. package/dist/esm/lib/agent/transports/websocket.js +95 -0
  22. package/dist/esm/lib/agent/transports/websocket.js.map +1 -0
  23. package/dist/esm/lib/agent/transports/window.d.ts +29 -0
  24. package/dist/esm/lib/agent/transports/window.d.ts.map +1 -0
  25. package/dist/esm/lib/agent/transports/window.js +65 -0
  26. package/dist/esm/lib/agent/transports/window.js.map +1 -0
  27. package/dist/esm/lib/agent/types.d.ts +66 -0
  28. package/dist/esm/lib/agent/types.d.ts.map +1 -0
  29. package/dist/esm/lib/agent/types.js +9 -0
  30. package/dist/esm/lib/agent/types.js.map +1 -0
  31. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +4 -0
  32. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +1 -1
  33. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +24 -20
  34. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -1
  35. package/dist/esm/lib/components/attribution/attribution.component.d.ts +4 -0
  36. package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +1 -1
  37. package/dist/esm/lib/components/attribution/attribution.component.js +22 -18
  38. package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -1
  39. package/dist/esm/lib/components/background/background.component.d.ts +20 -0
  40. package/dist/esm/lib/components/background/background.component.d.ts.map +1 -1
  41. package/dist/esm/lib/components/background/background.component.js +159 -140
  42. package/dist/esm/lib/components/background/background.component.js.map +1 -1
  43. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +7 -0
  44. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +1 -1
  45. package/dist/esm/lib/components/connection-line/connection-line.component.js +7 -0
  46. package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -1
  47. package/dist/esm/lib/components/controls/controls.component.d.ts +21 -0
  48. package/dist/esm/lib/components/controls/controls.component.d.ts.map +1 -1
  49. package/dist/esm/lib/components/controls/controls.component.js +21 -1
  50. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  51. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +4 -0
  52. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +1 -1
  53. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +4 -0
  54. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -1
  55. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +14 -2
  56. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +1 -1
  57. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +12 -0
  58. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  59. package/dist/esm/lib/components/edges/base-edge.component.d.ts +23 -0
  60. package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +1 -1
  61. package/dist/esm/lib/components/edges/base-edge.component.js +63 -40
  62. package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -1
  63. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +4 -0
  64. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +1 -1
  65. package/dist/esm/lib/components/edges/bezier-edge.component.js +4 -0
  66. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  67. package/dist/esm/lib/components/edges/edge-text.component.d.ts +4 -0
  68. package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +1 -1
  69. package/dist/esm/lib/components/edges/edge-text.component.js +30 -26
  70. package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -1
  71. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +4 -0
  72. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +1 -1
  73. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +4 -0
  74. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  75. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +1 -0
  76. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +1 -1
  77. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +1 -0
  78. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  79. package/dist/esm/lib/components/edges/step-edge.component.d.ts +1 -0
  80. package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +1 -1
  81. package/dist/esm/lib/components/edges/step-edge.component.js +1 -0
  82. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  83. package/dist/esm/lib/components/edges/straight-edge.component.d.ts +1 -0
  84. package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +1 -1
  85. package/dist/esm/lib/components/edges/straight-edge.component.js +1 -0
  86. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  87. package/dist/esm/lib/components/handle/handle.component.d.ts +20 -1
  88. package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -1
  89. package/dist/esm/lib/components/handle/handle.component.js +25 -2
  90. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  91. package/dist/esm/lib/components/minimap/minimap.component.d.ts +34 -0
  92. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +1 -1
  93. package/dist/esm/lib/components/minimap/minimap.component.js +30 -4
  94. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  95. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +14 -0
  96. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +1 -1
  97. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +14 -0
  98. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  99. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +29 -0
  100. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +1 -1
  101. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +153 -124
  102. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  103. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +21 -1
  104. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +1 -1
  105. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +21 -1
  106. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  107. package/dist/esm/lib/components/nodes/default-node.component.d.ts +4 -0
  108. package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +1 -1
  109. package/dist/esm/lib/components/nodes/default-node.component.js +13 -9
  110. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  111. package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -0
  112. package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +1 -1
  113. package/dist/esm/lib/components/nodes/group-node.component.js +5 -0
  114. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  115. package/dist/esm/lib/components/nodes/input-node.component.d.ts +4 -0
  116. package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +1 -1
  117. package/dist/esm/lib/components/nodes/input-node.component.js +11 -7
  118. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  119. package/dist/esm/lib/components/nodes/output-node.component.d.ts +4 -0
  120. package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +1 -1
  121. package/dist/esm/lib/components/nodes/output-node.component.js +11 -7
  122. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  123. package/dist/esm/lib/components/panel/panel.component.d.ts +12 -0
  124. package/dist/esm/lib/components/panel/panel.component.d.ts.map +1 -1
  125. package/dist/esm/lib/components/panel/panel.component.js +12 -0
  126. package/dist/esm/lib/components/panel/panel.component.js.map +1 -1
  127. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +5 -0
  128. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +1 -1
  129. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +5 -0
  130. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -1
  131. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
  132. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +35 -3
  133. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  134. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +158 -5
  135. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
  136. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +167 -28
  137. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  138. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +2 -0
  139. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
  140. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +40 -2
  141. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  142. package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
  143. package/dist/esm/lib/container/pane/pane.component.d.ts.map +1 -1
  144. package/dist/esm/lib/container/pane/pane.component.js +18 -25
  145. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  146. package/dist/esm/lib/container/viewport/viewport.component.d.ts +4 -0
  147. package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +1 -1
  148. package/dist/esm/lib/container/viewport/viewport.component.js +4 -0
  149. package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -1
  150. package/dist/esm/lib/directives/drag.directive.d.ts +17 -0
  151. package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -1
  152. package/dist/esm/lib/directives/drag.directive.js +17 -0
  153. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  154. package/dist/esm/lib/directives/key-handler.directive.d.ts +13 -0
  155. package/dist/esm/lib/directives/key-handler.directive.d.ts.map +1 -1
  156. package/dist/esm/lib/directives/key-handler.directive.js +13 -0
  157. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  158. package/dist/esm/lib/public-api.d.ts +2 -0
  159. package/dist/esm/lib/public-api.d.ts.map +1 -1
  160. package/dist/esm/lib/public-api.js +4 -0
  161. package/dist/esm/lib/public-api.js.map +1 -1
  162. package/dist/esm/lib/services/flow-store.service.d.ts +3 -0
  163. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
  164. package/dist/esm/lib/services/flow-store.service.js +3 -0
  165. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  166. package/dist/esm/lib/services/ng-flow.service.d.ts +82 -0
  167. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
  168. package/dist/esm/lib/services/ng-flow.service.js +114 -30
  169. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  170. package/dist/esm/lib/services/tokens.d.ts +23 -0
  171. package/dist/esm/lib/services/tokens.d.ts.map +1 -1
  172. package/dist/esm/lib/services/tokens.js +22 -0
  173. package/dist/esm/lib/services/tokens.js.map +1 -1
  174. package/dist/esm/lib/types/edges.d.ts +6 -5
  175. package/dist/esm/lib/types/edges.d.ts.map +1 -1
  176. package/dist/esm/lib/types/nodes.d.ts +46 -3
  177. package/dist/esm/lib/types/nodes.d.ts.map +1 -1
  178. package/dist/esm/lib/utils/changes.d.ts +20 -0
  179. package/dist/esm/lib/utils/changes.d.ts.map +1 -1
  180. package/dist/esm/lib/utils/changes.js +20 -0
  181. package/dist/esm/lib/utils/changes.js.map +1 -1
  182. package/dist/esm/lib/utils/index.d.ts +1 -0
  183. package/dist/esm/lib/utils/index.d.ts.map +1 -1
  184. package/dist/esm/lib/utils/index.js +1 -0
  185. package/dist/esm/lib/utils/index.js.map +1 -1
  186. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +20 -0
  187. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +1 -0
  188. package/dist/esm/lib/utils/inject-ng-flow-node.js +28 -0
  189. package/dist/esm/lib/utils/inject-ng-flow-node.js.map +1 -0
  190. package/dist/style.css +416 -411
  191. package/package.json +6 -6
@@ -2,6 +2,20 @@ import { Injectable, inject, computed, signal, DestroyRef } from '@angular/core'
2
2
  import { pointToRendererPoint, rendererPointToPoint, getNodesBounds as getNodesBoundsSystem, getConnectedEdges as getConnectedEdgesSystem, getOutgoers as getOutgoersSystem, getIncomers as getIncomersSystem, getViewportForBounds, } from '@angflow/system';
3
3
  import { FlowStore } from './flow-store.service';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * Imperative API for controlling a flow instance: zoom, pan, fit-view,
7
+ * coordinate conversion, node/edge CRUD, spatial queries, and signal-based
8
+ * state access. Provided by `<ng-flow>` and `<ng-flow-provider>`; inject into
9
+ * any descendant with `inject(NgFlowService)`.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * private flow = inject(NgFlowService);
14
+ *
15
+ * zoomToFit() { this.flow.fitView({ padding: 0.2 }); }
16
+ * addNode(n: Node) { this.flow.addNodes(n); }
17
+ * ```
18
+ */
5
19
  export class NgFlowService {
6
20
  constructor() {
7
21
  this.store = inject(FlowStore);
@@ -29,30 +43,42 @@ export class NgFlowService {
29
43
  this.visibleEdgeIds = computed(() => this.store.visibleEdgeIds(), ...(ngDevMode ? [{ debugName: "visibleEdgeIds" }] : /* istanbul ignore next */ []));
30
44
  }
31
45
  // ── Viewport operations ───────────────────────────────────────────────
46
+ /** Zoom the viewport in by one step. Optionally animate over `duration` ms. */
32
47
  zoomIn(options) {
33
48
  return this.store.zoomIn(options);
34
49
  }
50
+ /** Zoom the viewport out by one step. Optionally animate over `duration` ms. */
35
51
  zoomOut(options) {
36
52
  return this.store.zoomOut(options);
37
53
  }
54
+ /** Set the viewport zoom to an absolute level (clamped to `minZoom`/`maxZoom`). */
38
55
  zoomTo(zoomLevel, options) {
39
56
  return this.store.zoomTo(zoomLevel, options);
40
57
  }
58
+ /**
59
+ * Zoom and pan so all nodes (or `options.nodes`) fit in the canvas.
60
+ * Respects `minZoom`, `maxZoom`, and `padding`.
61
+ */
41
62
  fitView(options) {
42
63
  return this.store.fitView(options);
43
64
  }
65
+ /** Set the viewport to an absolute `{ x, y, zoom }`. */
44
66
  setViewport(viewport, options) {
45
67
  return this.store.setViewport(viewport, options);
46
68
  }
69
+ /** Get the current viewport `{ x, y, zoom }`. Non-reactive — prefer the `viewport` signal in templates. */
47
70
  getViewport() {
48
71
  return this.store.viewport();
49
72
  }
73
+ /** Get the current zoom level. Non-reactive. */
50
74
  getZoom() {
51
75
  return this.store.transform()[2];
52
76
  }
77
+ /** Center the viewport on a flow-space coordinate. */
53
78
  setCenter(x, y, options) {
54
79
  return this.store.setCenter(x, y, options);
55
80
  }
81
+ /** Fit the viewport to a specific `Rect` in flow coordinates. Resolves `false` if pan/zoom isn't yet initialized. */
56
82
  async fitBounds(bounds, options) {
57
83
  const pz = this.store.panZoom();
58
84
  if (!pz)
@@ -62,6 +88,11 @@ export class NgFlowService {
62
88
  return true;
63
89
  }
64
90
  // ── Coordinate Conversion ─────────────────────────────────────────────
91
+ /**
92
+ * Convert a viewport/client coordinate (e.g. a `MouseEvent`'s `clientX`/`clientY`)
93
+ * into a position in flow coordinates. Useful when dropping from a palette.
94
+ * Honors `snapToGrid` unless explicitly overridden via `options`.
95
+ */
65
96
  screenToFlowPosition(clientPosition, options) {
66
97
  const domNode = this.store.domNode();
67
98
  if (!domNode)
@@ -73,6 +104,7 @@ export class NgFlowService {
73
104
  };
74
105
  return pointToRendererPoint(correctedPosition, this.store.transform(), options?.snapToGrid ?? this.store.snapToGrid(), options?.snapGrid ?? this.store.snapGrid());
75
106
  }
107
+ /** Inverse of {@link screenToFlowPosition}: convert a flow-space point to viewport/client coordinates. */
76
108
  flowToScreenPosition(flowPosition) {
77
109
  const domNode = this.store.domNode();
78
110
  if (!domNode)
@@ -85,9 +117,11 @@ export class NgFlowService {
85
117
  };
86
118
  }
87
119
  // ── Node Operations ───────────────────────────────────────────────────
120
+ /** Look up the user-facing `Node` object by id. Returns `undefined` if it doesn't exist. */
88
121
  getNode(id) {
89
122
  return this.store.nodeLookup.get(id)?.internals?.userNode;
90
123
  }
124
+ /** Return all nodes, or just those with matching ids when `ids` is provided. */
91
125
  getNodes(ids) {
92
126
  if (ids) {
93
127
  return ids
@@ -96,65 +130,88 @@ export class NgFlowService {
96
130
  }
97
131
  return this.store.nodes();
98
132
  }
133
+ /**
134
+ * Look up the internal node record, which includes computed fields like
135
+ * `positionAbsolute`, `measured`, and handle bounds. Prefer {@link getNode}
136
+ * for user-facing data.
137
+ */
99
138
  getInternalNode(id) {
100
139
  return this.store.nodeLookup.get(id);
101
140
  }
141
+ /** Replace the full `nodes` array. Triggers `(nodesChange)` through the store. */
102
142
  setNodes(nodes) {
103
143
  this.store.setNodes(nodes);
104
144
  }
145
+ /** Append one or more nodes to the current array. */
105
146
  addNodes(nodes) {
106
147
  const toAdd = Array.isArray(nodes) ? nodes : [nodes];
107
- this.store.setNodes([...this.store.nodes(), ...toAdd]);
148
+ if (!toAdd.length)
149
+ return;
150
+ const changes = toAdd.map((item) => ({ type: 'add', item }));
151
+ this.store.triggerNodeChanges(changes);
108
152
  }
153
+ /**
154
+ * Apply a shallow merge (or updater function result) to a single node.
155
+ * Other nodes are left untouched.
156
+ */
109
157
  updateNode(id, nodeUpdate) {
110
- this.store.setNodes(this.store.nodes().map((node) => {
111
- if (node.id === id) {
112
- const update = typeof nodeUpdate === 'function' ? nodeUpdate(node) : nodeUpdate;
113
- return { ...node, ...update };
114
- }
115
- return node;
116
- }));
158
+ const current = this.store.nodes().find((n) => n.id === id);
159
+ if (!current)
160
+ return;
161
+ const update = typeof nodeUpdate === 'function' ? nodeUpdate(current) : nodeUpdate;
162
+ const next = { ...current, ...update };
163
+ this.store.triggerNodeChanges([{ id, type: 'replace', item: next }]);
117
164
  }
165
+ /**
166
+ * Merge `dataUpdate` into a node's `data` object. Equivalent to
167
+ * `updateNode(id, n => ({ data: { ...n.data, ...dataUpdate } }))`.
168
+ */
118
169
  updateNodeData(id, dataUpdate) {
119
- this.store.setNodes(this.store.nodes().map((node) => {
120
- if (node.id === id) {
121
- const update = typeof dataUpdate === 'function' ? dataUpdate(node.data) : dataUpdate;
122
- return { ...node, data: { ...node.data, ...update } };
123
- }
124
- return node;
125
- }));
170
+ const current = this.store.nodes().find((n) => n.id === id);
171
+ if (!current)
172
+ return;
173
+ const update = typeof dataUpdate === 'function' ? dataUpdate(current.data) : dataUpdate;
174
+ const next = { ...current, data: { ...current.data, ...update } };
175
+ this.store.triggerNodeChanges([{ id, type: 'replace', item: next }]);
126
176
  }
127
177
  // ── Edge Operations ───────────────────────────────────────────────────
178
+ /** Look up an edge by id. */
128
179
  getEdge(id) {
129
180
  return this.store.edgeLookup.get(id);
130
181
  }
182
+ /** Return the current edges array. */
131
183
  getEdges() {
132
184
  return this.store.edges();
133
185
  }
186
+ /** Replace the full `edges` array. */
134
187
  setEdges(edges) {
135
188
  this.store.setEdges(edges);
136
189
  }
190
+ /** Append one or more edges to the current array. */
137
191
  addEdges(edges) {
138
192
  const toAdd = Array.isArray(edges) ? edges : [edges];
139
- this.store.setEdges([...this.store.edges(), ...toAdd]);
193
+ if (!toAdd.length)
194
+ return;
195
+ const changes = toAdd.map((item) => ({ type: 'add', item }));
196
+ this.store.triggerEdgeChanges(changes);
140
197
  }
198
+ /** Apply a shallow merge (or updater function) to a single edge. */
141
199
  updateEdge(id, edgeUpdate) {
142
- this.store.setEdges(this.store.edges().map((edge) => {
143
- if (edge.id === id) {
144
- const update = typeof edgeUpdate === 'function' ? edgeUpdate(edge) : edgeUpdate;
145
- return { ...edge, ...update };
146
- }
147
- return edge;
148
- }));
200
+ const current = this.store.edges().find((e) => e.id === id);
201
+ if (!current)
202
+ return;
203
+ const update = typeof edgeUpdate === 'function' ? edgeUpdate(current) : edgeUpdate;
204
+ const next = { ...current, ...update };
205
+ this.store.triggerEdgeChanges([{ id, type: 'replace', item: next }]);
149
206
  }
207
+ /** Merge `dataUpdate` into a single edge's `data` object. */
150
208
  updateEdgeData(id, dataUpdate) {
151
- this.store.setEdges(this.store.edges().map((edge) => {
152
- if (edge.id === id) {
153
- const update = typeof dataUpdate === 'function' ? dataUpdate(edge.data) : dataUpdate;
154
- return { ...edge, data: { ...edge.data, ...update } };
155
- }
156
- return edge;
157
- }));
209
+ const current = this.store.edges().find((e) => e.id === id);
210
+ if (!current)
211
+ return;
212
+ const update = typeof dataUpdate === 'function' ? dataUpdate(current.data) : dataUpdate;
213
+ const next = { ...current, data: { ...current.data, ...update } };
214
+ this.store.triggerEdgeChanges([{ id, type: 'replace', item: next }]);
158
215
  }
159
216
  // ── Batch ─────────────────────────────────────────────────────────────
160
217
  /**
@@ -165,6 +222,14 @@ export class NgFlowService {
165
222
  this.store.batch(fn);
166
223
  }
167
224
  // ── Delete ────────────────────────────────────────────────────────────
225
+ /**
226
+ * Delete the specified nodes and/or edges. Edges connected to deleted nodes
227
+ * are also removed. If an `onBeforeDelete` hook is set, it runs first and
228
+ * can veto the deletion.
229
+ *
230
+ * @returns The nodes and edges that were actually deleted (empty arrays if
231
+ * `onBeforeDelete` returned `false`).
232
+ */
168
233
  async deleteElements(params) {
169
234
  const nodeIdsToDelete = new Set((params.nodes ?? []).map((n) => n.id));
170
235
  const edgeIdsToDelete = new Set((params.edges ?? []).map((e) => e.id));
@@ -192,6 +257,12 @@ export class NgFlowService {
192
257
  return { deletedNodes: nodesToDelete, deletedEdges: edgesToDelete };
193
258
  }
194
259
  // ── Spatial Queries ───────────────────────────────────────────────────
260
+ /**
261
+ * Return all nodes whose bounding box overlaps `node`'s bounding box.
262
+ *
263
+ * @param partially When `true` (default), nodes that merely overlap count;
264
+ * when `false`, only nodes fully contained within `node` are returned.
265
+ */
195
266
  getIntersectingNodes(node, partially = true) {
196
267
  const internalNode = this.store.nodeLookup.get(node.id);
197
268
  if (!internalNode)
@@ -226,6 +297,10 @@ export class NgFlowService {
226
297
  nodeRect.y + nodeRect.height >= otherRect.y + otherRect.height;
227
298
  });
228
299
  }
300
+ /**
301
+ * Whether `node`'s bounding box intersects `area`. `partially` has the
302
+ * same semantics as {@link getIntersectingNodes}.
303
+ */
229
304
  isNodeIntersecting(node, area, partially = true) {
230
305
  const internalNode = this.store.nodeLookup.get(node.id);
231
306
  if (!internalNode)
@@ -247,16 +322,19 @@ export class NgFlowService {
247
322
  area.x + area.width >= nodeRect.x + nodeRect.width &&
248
323
  area.y + area.height >= nodeRect.y + nodeRect.height;
249
324
  }
325
+ /** Compute the axis-aligned bounding `Rect` that contains all given nodes. */
250
326
  getNodesBounds(nodes) {
251
327
  return getNodesBoundsSystem(nodes, { nodeOrigin: this.store.nodeOrigin() });
252
328
  }
253
329
  // ── Connection Queries ────────────────────────────────────────────────
330
+ /** Return all edges that are incident to any of the given node ids (either end). */
254
331
  getConnectedEdges(nodeIds) {
255
332
  const ids = Array.isArray(nodeIds) ? nodeIds : [nodeIds];
256
333
  // getConnectedEdges expects node objects, but we pass IDs and edges
257
334
  const nodeObjects = ids.map(id => ({ id }));
258
335
  return getConnectedEdgesSystem(nodeObjects, this.store.edges());
259
336
  }
337
+ /** Return all `HandleConnection`s currently attached to a specific handle. */
260
338
  getHandleConnections(params) {
261
339
  // The connectionLookup is keyed by composite keys: nodeId, nodeId-type, nodeId-type-handleId
262
340
  const lookupKey = params.id
@@ -267,6 +345,7 @@ export class NgFlowService {
267
345
  return [];
268
346
  return Array.from(connections.values());
269
347
  }
348
+ /** Return all `HandleConnection`s for every handle on a node. */
270
349
  getNodeConnections(nodeId) {
271
350
  const nodeConnections = this.store.connectionLookup.get(nodeId);
272
351
  if (!nodeConnections)
@@ -274,6 +353,11 @@ export class NgFlowService {
274
353
  return Array.from(nodeConnections.values());
275
354
  }
276
355
  // ── Serialization ─────────────────────────────────────────────────────
356
+ /**
357
+ * Snapshot of `{ nodes, edges, viewport }` suitable for persistence.
358
+ * Feed the result back into `[nodes]` / `[edges]` / `[viewport]` bindings
359
+ * (or `setNodes` / `setEdges` / `setViewport`) to restore.
360
+ */
277
361
  toObject() {
278
362
  return {
279
363
  nodes: this.store.nodes(),
@@ -1 +1 @@
1
- {"version":3,"file":"ng-flow.service.js","sourceRoot":"","sources":["../../../../src/lib/services/ng-flow.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-flow.service.js","sourceRoot":"","sources":["../../../../src/lib/services/ng-flow.service.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,27 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ import type { NgFlowNodeContext } from '../types';
3
+ /**
4
+ * DI token providing the host node's id to components nested inside a node
5
+ * template. Injected automatically by the node renderer — custom components
6
+ * like `<ng-flow-handle>` or `<ng-flow-node-toolbar>` use it to resolve their
7
+ * owning node without explicit `[nodeId]` binding.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * constructor(@Optional() @Inject(NODE_ID) private nodeId: string | null) {}
12
+ * ```
13
+ */
2
14
  export declare const NODE_ID: InjectionToken<string>;
15
+ /**
16
+ * DI token providing the host edge's id to components nested inside an edge
17
+ * template. Mirror of {@link NODE_ID} for edge components.
18
+ */
3
19
  export declare const EDGE_ID: InjectionToken<string>;
20
+ /**
21
+ * DI token providing the per-node context (reactive signals) to components
22
+ * registered via `nodeTypes` on `<ng-flow>`. Consumers retrieve the context
23
+ * via the public `injectNgFlowNode<T>()` helper rather than reading the token
24
+ * directly.
25
+ */
26
+ export declare const NG_FLOW_NODE_CONTEXT: InjectionToken<NgFlowNodeContext<unknown>>;
4
27
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,eAAO,MAAM,OAAO,wBAAwC,CAAC;AAC7D,eAAO,MAAM,OAAO,wBAAwC,CAAC"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,wBAAwC,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,OAAO,wBAAwC,CAAC;AAE7D;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,4CAEhC,CAAC"}
@@ -1,4 +1,26 @@
1
1
  import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * DI token providing the host node's id to components nested inside a node
4
+ * template. Injected automatically by the node renderer — custom components
5
+ * like `<ng-flow-handle>` or `<ng-flow-node-toolbar>` use it to resolve their
6
+ * owning node without explicit `[nodeId]` binding.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * constructor(@Optional() @Inject(NODE_ID) private nodeId: string | null) {}
11
+ * ```
12
+ */
2
13
  export const NODE_ID = new InjectionToken('NODE_ID');
14
+ /**
15
+ * DI token providing the host edge's id to components nested inside an edge
16
+ * template. Mirror of {@link NODE_ID} for edge components.
17
+ */
3
18
  export const EDGE_ID = new InjectionToken('EDGE_ID');
19
+ /**
20
+ * DI token providing the per-node context (reactive signals) to components
21
+ * registered via `nodeTypes` on `<ng-flow>`. Consumers retrieve the context
22
+ * via the public `injectNgFlowNode<T>()` helper rather than reading the token
23
+ * directly.
24
+ */
25
+ export const NG_FLOW_NODE_CONTEXT = new InjectionToken('NG_FLOW_NODE_CONTEXT');
4
26
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/lib/services/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAS,SAAS,CAAC,CAAC;AAC7D,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAS,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/lib/services/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAS,SAAS,CAAC,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,cAAc,CAAS,SAAS,CAAC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,cAAc,CACpD,sBAAsB,CACvB,CAAC"}
@@ -1,14 +1,14 @@
1
1
  import type { Type } from '@angular/core';
2
- import type { EdgeBase, BezierPathOptions, SmoothStepPathOptions, DefaultEdgeOptionsBase, EdgePosition, HandleType, ConnectionLineType, Handle, Position, XYPosition } from '@angflow/system';
3
- import type { InternalNode, Node } from './nodes';
2
+ import type { EdgeBase, BezierPathOptions, SmoothStepPathOptions, StepPathOptions, DefaultEdgeOptionsBase, EdgePosition, HandleType, ConnectionLineType, Handle, Position, XYPosition } from '@angflow/system';
3
+ import type { InternalNode, Node, CSSProperties } from './nodes';
4
4
  /**
5
5
  * Options for edge label rendering.
6
6
  */
7
7
  export type EdgeLabelOptions = {
8
8
  label?: string;
9
- labelStyle?: Partial<CSSStyleDeclaration>;
9
+ labelStyle?: CSSProperties;
10
10
  labelShowBg?: boolean;
11
- labelBgStyle?: Partial<CSSStyleDeclaration>;
11
+ labelBgStyle?: CSSProperties;
12
12
  labelBgPadding?: [number, number];
13
13
  labelBgBorderRadius?: number;
14
14
  };
@@ -16,12 +16,13 @@ export type EdgeLabelOptions = {
16
16
  * An Edge is the complete description of an edge in Angular Flow.
17
17
  */
18
18
  export type Edge<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = EdgeBase<EdgeData, EdgeType> & EdgeLabelOptions & {
19
- style?: Partial<CSSStyleDeclaration>;
19
+ style?: CSSProperties;
20
20
  className?: string;
21
21
  reconnectable?: boolean | HandleType;
22
22
  focusable?: boolean;
23
23
  ariaRole?: string;
24
24
  domAttributes?: Record<string, string>;
25
+ pathOptions?: BezierPathOptions | SmoothStepPathOptions | StepPathOptions;
25
26
  };
26
27
  export type BuiltInEdge = Edge<Record<string, unknown>, 'smoothstep'> | Edge<Record<string, unknown>, 'default'> | Edge<Record<string, unknown>, 'step'> | Edge<Record<string, unknown>, 'straight'>;
27
28
  export type EdgeMouseHandler<EdgeType extends Edge = Edge> = (event: MouseEvent, edge: EdgeType) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/edges.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/edges.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,19 @@
1
- import type { Type } from '@angular/core';
2
- import type { NodeBase, InternalNodeBase, NodeProps as NodePropsBase } from '@angflow/system';
1
+ import type { Type, Signal } from '@angular/core';
2
+ import type { NodeBase, InternalNodeBase, NodeProps as NodePropsBase, Position } from '@angflow/system';
3
+ /**
4
+ * CSS-in-JS style object. Like React's `CSSProperties`, accepts numbers for
5
+ * numeric CSS/SVG properties (e.g. `strokeWidth: 1`, `opacity: 0.5`).
6
+ */
7
+ export type CSSProperties = {
8
+ [K in keyof CSSStyleDeclaration]?: string | number | null;
9
+ } & {
10
+ [key: string]: string | number | null | undefined;
11
+ };
3
12
  /**
4
13
  * The Node type represents everything Angular Flow needs to know about a given node.
5
14
  */
6
15
  export type Node<NodeData extends Record<string, unknown> = Record<string, unknown>, NodeType extends string | undefined = string | undefined> = NodeBase<NodeData, NodeType> & {
7
- style?: Partial<CSSStyleDeclaration>;
16
+ style?: CSSProperties;
8
17
  className?: string;
9
18
  resizing?: boolean;
10
19
  focusable?: boolean;
@@ -50,4 +59,38 @@ export interface NodeComponentInputs<NodeType extends Node = Node> {
50
59
  targetPosition: import('@angflow/system').Position;
51
60
  dragHandle?: string;
52
61
  }
62
+ /**
63
+ * Reactive context passed to a custom node component registered via `nodeTypes`.
64
+ * Retrieved by `injectNgFlowNode<TData>()` inside the component class.
65
+ *
66
+ * All properties are read-only signals. Writes to node state must go through
67
+ * `NgFlowService` or `FlowStore` — this context is a view-only projection.
68
+ */
69
+ export interface NgFlowNodeContext<TData = unknown> {
70
+ /** Node id. */
71
+ readonly id: Signal<string>;
72
+ /** Consumer-provided data payload. Typed via `TData`. */
73
+ readonly data: Signal<TData | undefined>;
74
+ /** The node's registered type string (or 'default'). */
75
+ readonly type: Signal<string | undefined>;
76
+ /** True while this node is part of the current selection. */
77
+ readonly selected: Signal<boolean>;
78
+ /** True while this node is being dragged. */
79
+ readonly dragging: Signal<boolean>;
80
+ /** Stacking order computed by the library (selection elevation, etc.). */
81
+ readonly zIndex: Signal<number>;
82
+ /** Whether connection drag is allowed from this node's handles. */
83
+ readonly isConnectable: Signal<boolean>;
84
+ /** Absolute position in flow coordinates. */
85
+ readonly position: Signal<{
86
+ x: number;
87
+ y: number;
88
+ }>;
89
+ /** sourcePosition for default edges (Position enum, optional). */
90
+ readonly sourcePosition: Signal<Position | undefined>;
91
+ /** targetPosition for default edges. */
92
+ readonly targetPosition: Signal<Position | undefined>;
93
+ /** CSS selector for the drag-handle sub-element, if any. */
94
+ readonly dragHandle: Signal<string | undefined>;
95
+ }
53
96
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/nodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,26 @@
1
1
  import type { NodeChange, EdgeChange, NodeSelectionChange, EdgeSelectionChange, NodeRemoveChange, EdgeRemoveChange } from '@angflow/system';
2
2
  import type { Node, Edge } from '../types';
3
+ /**
4
+ * Apply an array of `NodeChange` to the current `nodes` array and return a
5
+ * new array reflecting them. Typical usage is to call this inside
6
+ * `(nodesChange)` to keep your bound `nodes` in sync with user interaction.
7
+ *
8
+ * Handles `add`, `remove`, `replace`, `select`, `position`, and `dimensions`
9
+ * changes; unknown change types pass through unchanged.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * onNodesChange(changes: NodeChange[]) {
14
+ * this.nodes = applyNodeChanges(changes, this.nodes);
15
+ * }
16
+ * ```
17
+ */
3
18
  export declare function applyNodeChanges<NodeType extends Node = Node>(changes: NodeChange<NodeType>[], nodes: NodeType[]): NodeType[];
19
+ /**
20
+ * Apply an array of `EdgeChange` to the current `edges` array and return a
21
+ * new array reflecting them. Mirror of {@link applyNodeChanges} for edges;
22
+ * wire to `(edgesChange)`.
23
+ */
4
24
  export declare function applyEdgeChanges<EdgeType extends Edge = Edge>(changes: EdgeChange<EdgeType>[], edges: EdgeType[]): EdgeType[];
5
25
  export declare function createSelectionChange(id: string, selected: boolean): NodeSelectionChange | EdgeSelectionChange;
6
26
  export declare function getSelectionChanges(items: Map<string, any>, selectedIds?: Set<string>, mutateItem?: boolean): NodeSelectionChange[] | EdgeSelectionChange[];
@@ -1 +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"}
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;;;;;;;;;;;;;;GAcG;AACH,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;;;;GAIG;AACH,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"}