@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,176 @@
1
+ import { Directive, inject, input, output, } from '@angular/core';
2
+ import { isInputDOMNode } from '@angflow/system';
3
+ import { FlowStore } from '../services/flow-store.service';
4
+ import { elementToRemoveChange } from '../utils/changes';
5
+ import * as i0 from "@angular/core";
6
+ export class KeyHandlerDirective {
7
+ constructor() {
8
+ this.store = inject(FlowStore);
9
+ this.deleteKeyCode = input(['Backspace', 'Delete'], ...(ngDevMode ? [{ debugName: "deleteKeyCode" }] : /* istanbul ignore next */ []));
10
+ this.selectionKeyCode = input('Shift', ...(ngDevMode ? [{ debugName: "selectionKeyCode" }] : /* istanbul ignore next */ []));
11
+ this.multiSelectionKeyCode = input('Meta', ...(ngDevMode ? [{ debugName: "multiSelectionKeyCode" }] : /* istanbul ignore next */ []));
12
+ this.disableKeyboardA11y = input(false, ...(ngDevMode ? [{ debugName: "disableKeyboardA11y" }] : /* istanbul ignore next */ []));
13
+ this.nodesDelete = output();
14
+ this.edgesDelete = output();
15
+ this.deleteElements = output();
16
+ this.selectionKeyPressed = false;
17
+ this.multiSelectionKeyPressed = false;
18
+ }
19
+ ngOnInit() { }
20
+ ngOnDestroy() { }
21
+ onKeyDown(event) {
22
+ if (isInputDOMNode(event))
23
+ return;
24
+ // Selection key
25
+ if (this.matchesKey(event.key, this.selectionKeyCode())) {
26
+ this.selectionKeyPressed = true;
27
+ this.store.selectionKeyActive.set(true);
28
+ }
29
+ // Multi-selection key
30
+ if (this.matchesKey(event.key, this.multiSelectionKeyCode())) {
31
+ this.multiSelectionKeyPressed = true;
32
+ this.store.multiSelectionActive.set(true);
33
+ }
34
+ // Delete key
35
+ if (this.matchesKey(event.key, this.deleteKeyCode())) {
36
+ this.handleDelete();
37
+ }
38
+ // Select all (Ctrl/Cmd + A)
39
+ if (event.key === 'a' && (event.metaKey || event.ctrlKey)) {
40
+ event.preventDefault();
41
+ this.handleSelectAll();
42
+ }
43
+ // Escape — deselect all
44
+ if (event.key === 'Escape') {
45
+ this.store.unselectNodesAndEdges();
46
+ this.store.connectionClickStartHandle.set(null);
47
+ }
48
+ // Arrow key movement for focused nodes
49
+ if (!this.disableKeyboardA11y() && ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
50
+ this.handleArrowKey(event);
51
+ }
52
+ }
53
+ onKeyUp(event) {
54
+ if (this.matchesKey(event.key, this.selectionKeyCode())) {
55
+ this.selectionKeyPressed = false;
56
+ this.store.selectionKeyActive.set(false);
57
+ }
58
+ if (this.matchesKey(event.key, this.multiSelectionKeyCode())) {
59
+ this.multiSelectionKeyPressed = false;
60
+ this.store.multiSelectionActive.set(false);
61
+ }
62
+ }
63
+ handleDelete() {
64
+ const selectedNodes = this.store.selectedNodes();
65
+ const selectedEdges = this.store.selectedEdges();
66
+ if (selectedNodes.length === 0 && selectedEdges.length === 0)
67
+ return;
68
+ // Filter to only deletable elements
69
+ const deletableNodes = selectedNodes.filter((n) => n.deletable !== false);
70
+ const deletableEdges = selectedEdges.filter((e) => e.deletable !== false);
71
+ // Collect edges connected to deleted nodes
72
+ const nodeIds = new Set(deletableNodes.map((n) => n.id));
73
+ const connectedEdges = this.store.edges().filter((e) => (nodeIds.has(e.source) || nodeIds.has(e.target)) && e.deletable !== false);
74
+ const allEdgesToDelete = [...deletableEdges, ...connectedEdges.filter((e) => !deletableEdges.some((se) => se.id === e.id))];
75
+ if (deletableNodes.length === 0 && allEdgesToDelete.length === 0)
76
+ return;
77
+ const performDelete = () => {
78
+ // Emit delete events
79
+ if (deletableNodes.length > 0) {
80
+ this.nodesDelete.emit(deletableNodes);
81
+ }
82
+ if (allEdgesToDelete.length > 0) {
83
+ this.edgesDelete.emit(allEdgesToDelete);
84
+ }
85
+ this.deleteElements.emit({ nodes: deletableNodes, edges: allEdgesToDelete });
86
+ // Apply changes
87
+ const nodeChanges = deletableNodes.map((n) => elementToRemoveChange(n));
88
+ const edgeChanges = allEdgesToDelete.map((e) => elementToRemoveChange(e));
89
+ this.store.triggerNodeChanges(nodeChanges);
90
+ this.store.triggerEdgeChanges(edgeChanges);
91
+ };
92
+ // Check beforeDelete callback
93
+ const beforeDelete = this.store.onBeforeDelete;
94
+ if (beforeDelete) {
95
+ const result = beforeDelete({ nodes: deletableNodes, edges: allEdgesToDelete });
96
+ if (result instanceof Promise) {
97
+ result.then((allowed) => { if (allowed)
98
+ performDelete(); });
99
+ }
100
+ else if (result) {
101
+ performDelete();
102
+ }
103
+ }
104
+ else {
105
+ performDelete();
106
+ }
107
+ }
108
+ handleSelectAll() {
109
+ const nodeChanges = this.store.nodes().map((n) => ({
110
+ id: n.id,
111
+ type: 'select',
112
+ selected: true,
113
+ }));
114
+ const edgeChanges = this.store.edges().map((e) => ({
115
+ id: e.id,
116
+ type: 'select',
117
+ selected: true,
118
+ }));
119
+ this.store.triggerNodeChanges(nodeChanges);
120
+ this.store.triggerEdgeChanges(edgeChanges);
121
+ }
122
+ handleArrowKey(event) {
123
+ const selectedNodes = this.store.selectedNodes();
124
+ if (selectedNodes.length === 0)
125
+ return;
126
+ event.preventDefault();
127
+ const step = this.store.snapToGrid() ? this.store.snapGrid()[0] : 1;
128
+ let dx = 0, dy = 0;
129
+ switch (event.key) {
130
+ case 'ArrowUp':
131
+ dy = -step;
132
+ break;
133
+ case 'ArrowDown':
134
+ dy = step;
135
+ break;
136
+ case 'ArrowLeft':
137
+ dx = -step;
138
+ break;
139
+ case 'ArrowRight':
140
+ dx = step;
141
+ break;
142
+ }
143
+ const changes = selectedNodes.map((node) => ({
144
+ id: node.id,
145
+ type: 'position',
146
+ position: {
147
+ x: node.position.x + dx,
148
+ y: node.position.y + dy,
149
+ },
150
+ }));
151
+ this.store.triggerNodeChanges(changes);
152
+ }
153
+ matchesKey(eventKey, keyCode) {
154
+ if (keyCode === null)
155
+ return false;
156
+ if (Array.isArray(keyCode))
157
+ return keyCode.includes(eventKey);
158
+ return eventKey === keyCode;
159
+ }
160
+ static { this.ɵfac = function KeyHandlerDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || KeyHandlerDirective)(); }; }
161
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: KeyHandlerDirective, selectors: [["", "ngFlowKeyHandler", ""]], hostBindings: function KeyHandlerDirective_HostBindings(rf, ctx) { if (rf & 1) {
162
+ i0.ɵɵlistener("keydown", function KeyHandlerDirective_keydown_HostBindingHandler($event) { return ctx.onKeyDown($event); }, i0.ɵɵresolveDocument)("keyup", function KeyHandlerDirective_keyup_HostBindingHandler($event) { return ctx.onKeyUp($event); }, i0.ɵɵresolveDocument);
163
+ } }, inputs: { deleteKeyCode: [1, "deleteKeyCode"], selectionKeyCode: [1, "selectionKeyCode"], multiSelectionKeyCode: [1, "multiSelectionKeyCode"], disableKeyboardA11y: [1, "disableKeyboardA11y"] }, outputs: { nodesDelete: "nodesDelete", edgesDelete: "edgesDelete", deleteElements: "deleteElements" } }); }
164
+ }
165
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(KeyHandlerDirective, [{
166
+ type: Directive,
167
+ args: [{
168
+ selector: '[ngFlowKeyHandler]',
169
+ standalone: true,
170
+ host: {
171
+ '(document:keydown)': 'onKeyDown($event)',
172
+ '(document:keyup)': 'onKeyUp($event)',
173
+ },
174
+ }]
175
+ }], null, { deleteKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteKeyCode", required: false }] }], selectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionKeyCode", required: false }] }], multiSelectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionKeyCode", required: false }] }], disableKeyboardA11y: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableKeyboardA11y", required: false }] }], nodesDelete: [{ type: i0.Output, args: ["nodesDelete"] }], edgesDelete: [{ type: i0.Output, args: ["edgesDelete"] }], deleteElements: [{ type: i0.Output, args: ["deleteElements"] }] }); })();
176
+ //# sourceMappingURL=key-handler.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-handler.directive.js","sourceRoot":"","sources":["../../../../src/lib/directives/key-handler.directive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Structural directive that registers an ng-template as a custom node type.
5
+ *
6
+ * Usage:
7
+ * ```html
8
+ * <ng-flow [nodes]="nodes" [edges]="edges">
9
+ * <ng-template ngFlowNodeType="custom" let-node>
10
+ * <div class="my-node">{{ node.data.label }}</div>
11
+ * </ng-template>
12
+ * </ng-flow>
13
+ * ```
14
+ */
15
+ export declare class NgFlowNodeTypeDirective {
16
+ readonly template: TemplateRef<any>;
17
+ type: string;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgFlowNodeTypeDirective, never>;
19
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NgFlowNodeTypeDirective, "[ngFlowNodeType]", never, { "type": { "alias": "ngFlowNodeType"; "required": true; }; }, {}, never, never, true, never>;
20
+ }
21
+ //# sourceMappingURL=node-type.directive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type.directive.d.ts","sourceRoot":"","sources":["../../../../src/lib/directives/node-type.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,WAAW,EAAU,MAAM,eAAe,CAAC;;AAEtE;;;;;;;;;;;GAWG;AACH,qBAIa,uBAAuB;IAClC,QAAQ,CAAC,QAAQ,mBAAuB;IAGxC,IAAI,EAAG,MAAM,CAAC;yCAJH,uBAAuB;2CAAvB,uBAAuB;CAKnC"}
@@ -0,0 +1,32 @@
1
+ import { Directive, Input, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Structural directive that registers an ng-template as a custom node type.
5
+ *
6
+ * Usage:
7
+ * ```html
8
+ * <ng-flow [nodes]="nodes" [edges]="edges">
9
+ * <ng-template ngFlowNodeType="custom" let-node>
10
+ * <div class="my-node">{{ node.data.label }}</div>
11
+ * </ng-template>
12
+ * </ng-flow>
13
+ * ```
14
+ */
15
+ export class NgFlowNodeTypeDirective {
16
+ constructor() {
17
+ this.template = inject(TemplateRef);
18
+ }
19
+ static { this.ɵfac = function NgFlowNodeTypeDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NgFlowNodeTypeDirective)(); }; }
20
+ static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: NgFlowNodeTypeDirective, selectors: [["", "ngFlowNodeType", ""]], inputs: { type: [0, "ngFlowNodeType", "type"] } }); }
21
+ }
22
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgFlowNodeTypeDirective, [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[ngFlowNodeType]',
26
+ standalone: true,
27
+ }]
28
+ }], null, { type: [{
29
+ type: Input,
30
+ args: [{ required: true, alias: 'ngFlowNodeType' }]
31
+ }] }); })();
32
+ //# sourceMappingURL=node-type.directive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type.directive.js","sourceRoot":"","sources":["../../../../src/lib/directives/node-type.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AAEtE;;;;;;;;;;;GAWG;AAKH,MAAM,OAAO,uBAAuB;IAJpC;QAKW,aAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;KAIzC;wHALY,uBAAuB;oEAAvB,uBAAuB;;iFAAvB,uBAAuB;cAJnC,SAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,UAAU,EAAE,IAAI;aACjB;;kBAIE,KAAK;mBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,gBAAgB,EAAE"}
@@ -0,0 +1,40 @@
1
+ export { NgFlowComponent } from './container/ng-flow/ng-flow.component';
2
+ export { NgFlowProviderComponent } from './components/ng-flow-provider/ng-flow-provider.component';
3
+ export { ViewportComponent } from './container/viewport/viewport.component';
4
+ export { HandleComponent } from './components/handle/handle.component';
5
+ export { DefaultNodeComponent } from './components/nodes/default-node.component';
6
+ export { InputNodeComponent } from './components/nodes/input-node.component';
7
+ export { OutputNodeComponent } from './components/nodes/output-node.component';
8
+ export { GroupNodeComponent } from './components/nodes/group-node.component';
9
+ export { BaseEdgeComponent } from './components/edges/base-edge.component';
10
+ export { BezierEdgeComponent } from './components/edges/bezier-edge.component';
11
+ export { StraightEdgeComponent } from './components/edges/straight-edge.component';
12
+ export { StepEdgeComponent } from './components/edges/step-edge.component';
13
+ export { SmoothStepEdgeComponent } from './components/edges/smooth-step-edge.component';
14
+ export { SimpleBezierEdgeComponent } from './components/edges/simple-bezier-edge.component';
15
+ export { EdgeTextComponent } from './components/edges/edge-text.component';
16
+ export { EdgeLabelRendererComponent } from './components/edge-label-renderer/edge-label-renderer.component';
17
+ export { ConnectionLineComponent } from './components/connection-line/connection-line.component';
18
+ export { PanelComponent } from './components/panel/panel.component';
19
+ export { ViewportPortalComponent } from './components/viewport-portal/viewport-portal.component';
20
+ export { BackgroundComponent, type BackgroundVariant } from './components/background/background.component';
21
+ export { ControlsComponent } from './components/controls/controls.component';
22
+ export { MiniMapComponent, type GetMiniMapNodeAttribute } from './components/minimap/minimap.component';
23
+ export { NodeToolbarComponent } from './components/node-toolbar/node-toolbar.component';
24
+ export { EdgeToolbarComponent } from './components/edge-toolbar/edge-toolbar.component';
25
+ export { NodeResizerComponent } from './components/node-resizer/node-resizer.component';
26
+ export { A11yDescriptionsComponent } from './components/a11y-descriptions/a11y-descriptions.component';
27
+ export { AttributionComponent } from './components/attribution/attribution.component';
28
+ export { DragDirective } from './directives/drag.directive';
29
+ export { KeyHandlerDirective } from './directives/key-handler.directive';
30
+ export { NgFlowNodeTypeDirective } from './directives/node-type.directive';
31
+ export { NgFlowDropZoneDirective } from './directives/drop-zone.directive';
32
+ export { FlowStore } from './services/flow-store.service';
33
+ export { NgFlowService } from './services/ng-flow.service';
34
+ export { NODE_ID, EDGE_ID } from './services/tokens';
35
+ export * from './types';
36
+ export { applyNodeChanges, applyEdgeChanges } from './utils/changes';
37
+ export { isNode, isEdge } from './utils/type-guards';
38
+ export { ConnectionMode, ConnectionLineType, MarkerType, PanOnScrollMode, Position, SelectionMode, getBezierPath, getSmoothStepPath, getStraightPath, getBezierEdgeCenter, getEdgeCenter, getConnectedEdges, getIncomers, getOutgoers, getNodesBounds, getViewportForBounds, addEdge, reconnectEdge, isEdgeBase, isNodeBase, getMarkerId, getEdgeToolbarTransform, getNodeToolbarTransform, infiniteExtent, } from '@angflow/system';
39
+ export type { XYPosition, XYZPosition, Dimensions, Rect, Box, Transform, CoordinateExtent, Viewport, SnapGrid, KeyCode, ColorMode, ColorModeClass, NodeBase, InternalNodeBase, NodeOrigin, NodeHandleBounds, NodeDragItem, EdgeBase, EdgeMarker, EdgeMarkerType, EdgePosition, DefaultEdgeOptionsBase, Handle as SystemHandle, HandleType, HandleConnection, Connection, ConnectionState, ConnectionInProgress, FinalConnectionState, NoConnection, OnConnect, OnConnectStart, OnConnectEnd, OnConnectStartParams, IsValidConnection as SystemIsValidConnection, NodeChange, NodeDimensionChange, NodePositionChange, NodeSelectionChange, NodeRemoveChange, NodeAddChange, NodeReplaceChange, EdgeChange, EdgeSelectionChange, EdgeRemoveChange, EdgeAddChange, EdgeReplaceChange, OnMove, OnMoveStart, OnMoveEnd, OnError, OnViewportChange, OnReconnect, ViewportHelperFunctionOptions, SetCenterOptions, FitBoundsOptions, PanelPosition, SelectionRect, ProOptions, NodeConnection, ShouldResize, OnResizeStart, OnResize, OnResizeEnd, ControlPosition, ControlLinePosition, ResizeControlVariant, ResizeParams, ResizeParamsWithDirection, ResizeDragEvent, ZIndexMode, BezierPathOptions, SmoothStepPathOptions, GetBezierPathParams, GetSmoothStepPathParams, GetStraightPathParams, AriaLabelConfig, } from '@angflow/system';
40
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../src/lib/public-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ // Core components
2
+ export { NgFlowComponent } from './container/ng-flow/ng-flow.component';
3
+ export { NgFlowProviderComponent } from './components/ng-flow-provider/ng-flow-provider.component';
4
+ export { ViewportComponent } from './container/viewport/viewport.component';
5
+ // Node components
6
+ export { HandleComponent } from './components/handle/handle.component';
7
+ export { DefaultNodeComponent } from './components/nodes/default-node.component';
8
+ export { InputNodeComponent } from './components/nodes/input-node.component';
9
+ export { OutputNodeComponent } from './components/nodes/output-node.component';
10
+ export { GroupNodeComponent } from './components/nodes/group-node.component';
11
+ // Edge components
12
+ export { BaseEdgeComponent } from './components/edges/base-edge.component';
13
+ export { BezierEdgeComponent } from './components/edges/bezier-edge.component';
14
+ export { StraightEdgeComponent } from './components/edges/straight-edge.component';
15
+ export { StepEdgeComponent } from './components/edges/step-edge.component';
16
+ export { SmoothStepEdgeComponent } from './components/edges/smooth-step-edge.component';
17
+ export { SimpleBezierEdgeComponent } from './components/edges/simple-bezier-edge.component';
18
+ export { EdgeTextComponent } from './components/edges/edge-text.component';
19
+ export { EdgeLabelRendererComponent } from './components/edge-label-renderer/edge-label-renderer.component';
20
+ // Connection line
21
+ export { ConnectionLineComponent } from './components/connection-line/connection-line.component';
22
+ // Plugin components
23
+ export { PanelComponent } from './components/panel/panel.component';
24
+ export { ViewportPortalComponent } from './components/viewport-portal/viewport-portal.component';
25
+ export { BackgroundComponent } from './components/background/background.component';
26
+ export { ControlsComponent } from './components/controls/controls.component';
27
+ export { MiniMapComponent } from './components/minimap/minimap.component';
28
+ export { NodeToolbarComponent } from './components/node-toolbar/node-toolbar.component';
29
+ export { EdgeToolbarComponent } from './components/edge-toolbar/edge-toolbar.component';
30
+ export { NodeResizerComponent } from './components/node-resizer/node-resizer.component';
31
+ export { A11yDescriptionsComponent } from './components/a11y-descriptions/a11y-descriptions.component';
32
+ export { AttributionComponent } from './components/attribution/attribution.component';
33
+ // Directives
34
+ export { DragDirective } from './directives/drag.directive';
35
+ export { KeyHandlerDirective } from './directives/key-handler.directive';
36
+ export { NgFlowNodeTypeDirective } from './directives/node-type.directive';
37
+ export { NgFlowDropZoneDirective } from './directives/drop-zone.directive';
38
+ // Services
39
+ export { FlowStore } from './services/flow-store.service';
40
+ export { NgFlowService } from './services/ng-flow.service';
41
+ // Tokens
42
+ export { NODE_ID, EDGE_ID } from './services/tokens';
43
+ // Types
44
+ export * from './types';
45
+ // Utilities
46
+ export { applyNodeChanges, applyEdgeChanges } from './utils/changes';
47
+ // Wrapper utility functions for Angular-specific typing
48
+ export { isNode, isEdge } from './utils/type-guards';
49
+ // Re-export everything from @angflow/system
50
+ export {
51
+ // Enums / Constants
52
+ ConnectionMode, ConnectionLineType, MarkerType, PanOnScrollMode, Position, SelectionMode,
53
+ // Path utilities
54
+ getBezierPath, getSmoothStepPath, getStraightPath,
55
+ // Edge center utilities
56
+ getBezierEdgeCenter, getEdgeCenter,
57
+ // Graph utilities
58
+ getConnectedEdges, getIncomers, getOutgoers, getNodesBounds, getViewportForBounds, addEdge, reconnectEdge, isEdgeBase, isNodeBase,
59
+ // Marker utilities
60
+ getMarkerId,
61
+ // Edge toolbar utility
62
+ getEdgeToolbarTransform,
63
+ // Node toolbar utility
64
+ getNodeToolbarTransform,
65
+ // Constants
66
+ infiniteExtent, } from '@angflow/system';
67
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../src/lib/public-api.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAE5E,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E,kBAAkB;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gEAAgE,CAAC;AAE5G,kBAAkB;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEjG,oBAAoB;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAA0B,MAAM,8CAA8C,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAgC,MAAM,wCAAwC,CAAC;AACxG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AAEtF,aAAa;AACb,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,WAAW;AACX,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,SAAS;AACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAErD,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAErE,wDAAwD;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAErD,4CAA4C;AAC5C,OAAO;AACL,oBAAoB;AACpB,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,QAAQ,EACR,aAAa;AAEb,iBAAiB;AACjB,aAAa,EACb,iBAAiB,EACjB,eAAe;AAEf,wBAAwB;AACxB,mBAAmB,EACnB,aAAa;AAEb,kBAAkB;AAClB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,aAAa,EACb,UAAU,EACV,UAAU;AAEV,mBAAmB;AACnB,WAAW;AAEX,uBAAuB;AACvB,uBAAuB;AAEvB,uBAAuB;AACvB,uBAAuB;AAEvB,YAAY;AACZ,cAAc,GACf,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,227 @@
1
+ import { type WritableSignal, type Signal } from '@angular/core';
2
+ import { ConnectionMode, type NodeChange, type EdgeChange, type Transform, type Viewport, type PanZoomInstance, type CoordinateExtent, type NodeOrigin, type SnapGrid, type ConnectionState, type SelectionRect, type InternalNodeBase, type NodeLookup, type ParentLookup, type EdgeLookup, type OnError, type ZIndexMode, type FitViewOptionsBase } from '@angflow/system';
3
+ import type { Node, Edge } from '../types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class FlowStore<NodeType extends Node = Node, EdgeType extends Edge = Edge> {
6
+ readonly rfId: WritableSignal<string>;
7
+ readonly width: WritableSignal<number>;
8
+ readonly height: WritableSignal<number>;
9
+ readonly transform: WritableSignal<Transform>;
10
+ readonly nodes: WritableSignal<NodeType[]>;
11
+ readonly edges: WritableSignal<EdgeType[]>;
12
+ readonly nodesInitialized: WritableSignal<boolean>;
13
+ readonly hasDefaultNodes: WritableSignal<boolean>;
14
+ readonly hasDefaultEdges: WritableSignal<boolean>;
15
+ readonly paneDragging: WritableSignal<boolean>;
16
+ readonly nodesSelectionActive: WritableSignal<boolean>;
17
+ readonly userSelectionActive: WritableSignal<boolean>;
18
+ readonly userSelectionRect: WritableSignal<SelectionRect | null>;
19
+ readonly multiSelectionActive: WritableSignal<boolean>;
20
+ readonly selectionKeyActive: WritableSignal<boolean>;
21
+ readonly panZoom: WritableSignal<PanZoomInstance | null>;
22
+ readonly minZoom: WritableSignal<number>;
23
+ readonly maxZoom: WritableSignal<number>;
24
+ readonly translateExtent: WritableSignal<CoordinateExtent>;
25
+ readonly nodeExtent: WritableSignal<CoordinateExtent>;
26
+ readonly domNode: WritableSignal<HTMLDivElement | null>;
27
+ readonly noDragClassName: WritableSignal<string>;
28
+ readonly noWheelClassName: WritableSignal<string>;
29
+ readonly noPanClassName: WritableSignal<string>;
30
+ readonly nodeOrigin: WritableSignal<NodeOrigin>;
31
+ readonly nodeDragThreshold: WritableSignal<number>;
32
+ readonly connectionDragThreshold: WritableSignal<number>;
33
+ readonly paneClickDistance: WritableSignal<number>;
34
+ readonly nodeClickDistance: WritableSignal<number>;
35
+ readonly snapGrid: WritableSignal<SnapGrid>;
36
+ readonly snapToGrid: WritableSignal<boolean>;
37
+ readonly nodesDraggable: WritableSignal<boolean>;
38
+ readonly nodesConnectable: WritableSignal<boolean>;
39
+ readonly nodesFocusable: WritableSignal<boolean>;
40
+ readonly edgesFocusable: WritableSignal<boolean>;
41
+ readonly edgesReconnectable: WritableSignal<boolean>;
42
+ readonly elementsSelectable: WritableSignal<boolean>;
43
+ readonly elevateNodesOnSelect: WritableSignal<boolean>;
44
+ readonly elevateEdgesOnSelect: WritableSignal<boolean>;
45
+ readonly selectNodesOnDrag: WritableSignal<boolean>;
46
+ readonly connectionMode: WritableSignal<ConnectionMode>;
47
+ readonly connection: WritableSignal<ConnectionState>;
48
+ readonly connectionClickStartHandle: WritableSignal<{
49
+ nodeId: string;
50
+ handleId: string | null;
51
+ type: import("@angflow/system").HandleType;
52
+ } | null>;
53
+ readonly connectOnClick: WritableSignal<boolean>;
54
+ readonly connectionRadius: WritableSignal<number>;
55
+ readonly fitViewQueued: WritableSignal<boolean>;
56
+ readonly fitViewOptions: WritableSignal<FitViewOptionsBase<NodeType> | undefined>;
57
+ readonly autoPanOnConnect: WritableSignal<boolean>;
58
+ readonly autoPanOnNodeDrag: WritableSignal<boolean>;
59
+ readonly autoPanOnNodeFocus: WritableSignal<boolean>;
60
+ readonly autoPanSpeed: WritableSignal<number>;
61
+ readonly isValidConnection: WritableSignal<((connection: EdgeType | import("@angflow/system").Connection) => boolean) | undefined>;
62
+ readonly onError: WritableSignal<OnError>;
63
+ readonly lib: WritableSignal<string>;
64
+ readonly debug: WritableSignal<boolean>;
65
+ readonly zIndexMode: WritableSignal<ZIndexMode>;
66
+ readonly ariaLabelConfig: WritableSignal<{
67
+ 'node.a11yDescription.default': string;
68
+ 'node.a11yDescription.keyboardDisabled': string;
69
+ 'node.a11yDescription.ariaLiveMessage': ({ direction, x, y }: {
70
+ direction: string;
71
+ x: number;
72
+ y: number;
73
+ }) => string;
74
+ 'edge.a11yDescription.default': string;
75
+ 'controls.ariaLabel': string;
76
+ 'controls.zoomIn.ariaLabel': string;
77
+ 'controls.zoomOut.ariaLabel': string;
78
+ 'controls.fitView.ariaLabel': string;
79
+ 'controls.interactive.ariaLabel': string;
80
+ 'minimap.ariaLabel': string;
81
+ 'handle.ariaLabel': string;
82
+ }>;
83
+ readonly onlyRenderVisibleElements: WritableSignal<boolean>;
84
+ readonly ariaLiveMessage: WritableSignal<string>;
85
+ readonly defaultEdgeOptions: WritableSignal<import("../types").DefaultEdgeOptions | undefined>;
86
+ onConnect: ((connection: import('@angflow/system').Connection) => void) | null;
87
+ onConnectStart: ((event: MouseEvent | TouchEvent, params: import('@angflow/system').OnConnectStartParams) => void) | null;
88
+ onConnectEnd: ((event: MouseEvent | TouchEvent) => void) | null;
89
+ onClickConnectStart: ((event: MouseEvent, params: import('@angflow/system').OnConnectStartParams) => void) | null;
90
+ onClickConnectEnd: ((event: MouseEvent) => void) | null;
91
+ onBeforeDelete: ((params: {
92
+ nodes: NodeType[];
93
+ edges: EdgeType[];
94
+ }) => boolean | Promise<boolean>) | null;
95
+ onNodeDragStart: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | null;
96
+ onNodeDrag: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | null;
97
+ onNodeDragStop: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | null;
98
+ onSelectionDragStart: ((event: MouseEvent, nodes: NodeType[]) => void) | null;
99
+ onSelectionDrag: ((event: MouseEvent, nodes: NodeType[]) => void) | null;
100
+ onSelectionDragStop: ((event: MouseEvent, nodes: NodeType[]) => void) | null;
101
+ readonly nodesChangeMiddleware: Map<string, (changes: NodeChange<NodeType>[]) => NodeChange<NodeType>[]>;
102
+ readonly edgesChangeMiddleware: Map<string, (changes: EdgeChange<EdgeType>[]) => EdgeChange<EdgeType>[]>;
103
+ readonly nodeLookup: NodeLookup<InternalNodeBase<NodeType>>;
104
+ readonly parentLookup: ParentLookup<InternalNodeBase<NodeType>>;
105
+ readonly edgeLookup: EdgeLookup<EdgeType>;
106
+ readonly connectionLookup: Map<string, Map<string, import('@angflow/system').HandleConnection>>;
107
+ onNodesChange: ((changes: NodeChange<NodeType>[]) => void) | null;
108
+ onEdgesChange: ((changes: EdgeChange<EdgeType>[]) => void) | null;
109
+ readonly version: WritableSignal<number>;
110
+ bumpVersion(): void;
111
+ readonly viewport: Signal<Viewport>;
112
+ readonly selectedNodes: Signal<NodeType[]>;
113
+ readonly selectedEdges: Signal<EdgeType[]>;
114
+ readonly visibleNodes: Signal<InternalNodeBase<NodeType>[]>;
115
+ readonly visibleEdgeIds: Signal<Set<string>>;
116
+ setNodes(nodes: NodeType[]): void;
117
+ setEdges(edges: EdgeType[]): void;
118
+ setDefaultNodesAndEdges(nodes?: NodeType[], edges?: EdgeType[]): void;
119
+ updateNodeInternals(updates: Map<string, any>): void;
120
+ updateNodePositions(nodeDragItems: Map<string, any>, dragging?: boolean): void;
121
+ triggerNodeChanges(changes: NodeChange<NodeType>[]): void;
122
+ triggerEdgeChanges(changes: EdgeChange<EdgeType>[]): void;
123
+ addSelectedNodes(selectedNodeIds: string[]): void;
124
+ addSelectedEdges(selectedEdgeIds: string[]): void;
125
+ unselectNodesAndEdges(params?: {
126
+ nodes?: NodeType[];
127
+ edges?: EdgeType[];
128
+ }): void;
129
+ panBy(delta: {
130
+ x: number;
131
+ y: number;
132
+ }): Promise<boolean>;
133
+ fitView(options?: FitViewOptionsBase<NodeType>): Promise<boolean>;
134
+ setCenter(x: number, y: number, options?: {
135
+ zoom?: number;
136
+ duration?: number;
137
+ ease?: (t: number) => number;
138
+ interpolate?: string;
139
+ }): Promise<boolean>;
140
+ setViewport(viewport: Viewport, options?: {
141
+ duration?: number;
142
+ }): Promise<void>;
143
+ zoomIn(options?: {
144
+ duration?: number;
145
+ }): Promise<boolean>;
146
+ zoomOut(options?: {
147
+ duration?: number;
148
+ }): Promise<boolean>;
149
+ zoomTo(zoomLevel: number, options?: {
150
+ duration?: number;
151
+ }): Promise<boolean>;
152
+ setMinZoom(minZoom: number): void;
153
+ setMaxZoom(maxZoom: number): void;
154
+ setTranslateExtent(extent: CoordinateExtent): void;
155
+ setNodeExtent(extent: CoordinateExtent): void;
156
+ resetSelectedElements(): void;
157
+ cancelConnection(): void;
158
+ updateConnection(connectionState: ConnectionState): void;
159
+ reset(): void;
160
+ private resolveFitView;
161
+ /**
162
+ * Returns a snapshot of store items needed by @angflow/system subsystems (XYDrag, XYHandle, etc.).
163
+ */
164
+ getStoreItems(): {
165
+ nodes: NodeType[];
166
+ nodeLookup: NodeLookup<InternalNodeBase<NodeType>>;
167
+ edges: EdgeType[];
168
+ edgeLookup: EdgeLookup<EdgeType>;
169
+ connectionLookup: Map<string, Map<string, import("@angflow/system").HandleConnection>>;
170
+ parentLookup: ParentLookup<InternalNodeBase<NodeType>>;
171
+ nodeOrigin: NodeOrigin;
172
+ nodeExtent: CoordinateExtent;
173
+ elevateNodesOnSelect: boolean;
174
+ elevateEdgesOnSelect: boolean;
175
+ connectionMode: ConnectionMode;
176
+ domNode: HTMLDivElement | null;
177
+ transform: Transform;
178
+ panZoom: PanZoomInstance | null;
179
+ snapGrid: SnapGrid;
180
+ snapToGrid: boolean;
181
+ nodesDraggable: boolean;
182
+ selectNodesOnDrag: boolean;
183
+ nodeDragThreshold: number;
184
+ multiSelectionActive: boolean;
185
+ connectionRadius: number;
186
+ connectionDragThreshold: number;
187
+ isValidConnection: ((connection: EdgeType | import("@angflow/system").Connection) => boolean) | undefined;
188
+ autoPanOnConnect: boolean;
189
+ autoPanOnNodeDrag: boolean;
190
+ autoPanOnNodeFocus: boolean;
191
+ autoPanSpeed: number;
192
+ defaultEdgeOptions: import("../types").DefaultEdgeOptions | undefined;
193
+ width: number;
194
+ height: number;
195
+ minZoom: number;
196
+ maxZoom: number;
197
+ translateExtent: CoordinateExtent;
198
+ zIndexMode: ZIndexMode;
199
+ lib: string;
200
+ connection: ConnectionState;
201
+ connectOnClick: boolean;
202
+ noDragClassName: string;
203
+ noPanClassName: string;
204
+ noWheelClassName: string;
205
+ onNodeDragStart: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | undefined;
206
+ onNodeDrag: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | undefined;
207
+ onNodeDragStop: ((event: MouseEvent, node: NodeType, nodes: NodeType[]) => void) | undefined;
208
+ onSelectionDragStart: ((event: MouseEvent, nodes: NodeType[]) => void) | undefined;
209
+ onSelectionDrag: ((event: MouseEvent, nodes: NodeType[]) => void) | undefined;
210
+ onSelectionDragStop: ((event: MouseEvent, nodes: NodeType[]) => void) | undefined;
211
+ panBy: (delta: {
212
+ x: number;
213
+ y: number;
214
+ }) => Promise<boolean>;
215
+ updateNodePositions: (items: Map<string, any>, dragging?: boolean) => void;
216
+ unselectNodesAndEdges: (params?: any) => void;
217
+ addSelectedNodes: (ids: string[]) => void;
218
+ addSelectedEdges: (ids: string[]) => void;
219
+ updateConnection: (conn: ConnectionState) => void;
220
+ cancelConnection: () => void;
221
+ triggerNodeChanges: (changes: NodeChange[]) => void;
222
+ triggerEdgeChanges: (changes: EdgeChange[]) => void;
223
+ };
224
+ static ɵfac: i0.ɵɵFactoryDeclaration<FlowStore<any, any>, never>;
225
+ static ɵprov: i0.ɵɵInjectableDeclaration<FlowStore<any, any>>;
226
+ }
227
+ //# sourceMappingURL=flow-store.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow-store.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/flow-store.service.ts"],"names":[],"mappings":"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"}