@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
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, input, output, model, effect, viewChild, contentChildren, inject, NgZone, signal, computed, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, input, output, effect, viewChild, contentChildren, inject, signal, computed, } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { ConnectionMode, ConnectionLineType, PanOnScrollMode, SelectionMode, infiniteExtent, XYPanZoom, getViewportForBounds, } from '@angflow/system';
4
4
  import { FlowStore } from '../../services/flow-store.service';
@@ -14,11 +14,38 @@ import { AttributionComponent } from '../../components/attribution/attribution.c
14
14
  import { KeyHandlerDirective } from '../../directives/key-handler.directive';
15
15
  import { NgFlowNodeTypeDirective } from '../../directives/node-type.directive';
16
16
  import * as i0 from "@angular/core";
17
+ /**
18
+ * Root component for an Angular Flow canvas. Renders nodes, edges, handles,
19
+ * and the pan/zoom viewport; dispatches pointer, keyboard, and drag events;
20
+ * and provides {@link FlowStore} and {@link NgFlowService} to descendant
21
+ * plugin components like `<ng-flow-background>`, `<ng-flow-controls>`, and
22
+ * `<ng-flow-minimap>`.
23
+ *
24
+ * `nodes`, `edges`, and `viewport` are input-bound — for controlled mode, bind
25
+ * `[nodes]` / `[edges]` and re-assign them from `(nodesChange)` / `(edgesChange)`
26
+ * after running the deltas through `applyNodeChanges` / `applyEdgeChanges`. For
27
+ * uncontrolled mode hand off initial state via `defaultNodes` / `defaultEdges`.
28
+ *
29
+ * @example
30
+ * ```html
31
+ * <ng-flow
32
+ * [nodes]="nodes"
33
+ * [edges]="edges"
34
+ * [fitView]="true"
35
+ * (nodesChange)="onNodesChange($event)"
36
+ * (edgesChange)="onEdgesChange($event)"
37
+ * (connect)="onConnect($event)"
38
+ * >
39
+ * <ng-flow-background variant="dots" />
40
+ * <ng-flow-controls />
41
+ * <ng-flow-minimap />
42
+ * </ng-flow>
43
+ * ```
44
+ */
17
45
  export class NgFlowComponent {
18
46
  constructor() {
19
47
  this.store = inject(FlowStore);
20
48
  this.ngFlowService = inject(NgFlowService);
21
- this.zone = inject(NgZone);
22
49
  this.containerRef = viewChild('container', ...(ngDevMode ? [{ debugName: "containerRef" }] : /* istanbul ignore next */ []));
23
50
  this.paneRef = viewChild(PaneComponent, ...(ngDevMode ? [{ debugName: "paneRef" }] : /* istanbul ignore next */ []));
24
51
  /** Content-projected node type templates */
@@ -44,168 +71,282 @@ export class NgFlowComponent {
44
71
  }
45
72
  return mode;
46
73
  }, ...(ngDevMode ? [{ debugName: "resolvedColorMode" }] : /* istanbul ignore next */ []));
47
- // ── Data (model = two-way binding) ────────────────────────────────────
48
- this.nodesModel = model([], { ...(ngDevMode ? { debugName: "nodesModel" } : /* istanbul ignore next */ {}), alias: 'nodes' });
49
- this.edgesModel = model([], { ...(ngDevMode ? { debugName: "edgesModel" } : /* istanbul ignore next */ {}), alias: 'edges' });
50
- this.viewportModel = model(undefined, { ...(ngDevMode ? { debugName: "viewportModel" } : /* istanbul ignore next */ {}), alias: 'viewport' });
74
+ // ── Data (controlled-mode inputs; pair with the *Change outputs) ──────
75
+ /** Nodes to render. Re-bind from `(nodesChange)` after running deltas through `applyNodeChanges` to stay in sync. */
76
+ this.nodesModel = input([], { ...(ngDevMode ? { debugName: "nodesModel" } : /* istanbul ignore next */ {}), alias: 'nodes' });
77
+ /** Edges to render. Re-bind from `(edgesChange)` after running deltas through `applyEdgeChanges` to stay in sync. */
78
+ this.edgesModel = input([], { ...(ngDevMode ? { debugName: "edgesModel" } : /* istanbul ignore next */ {}), alias: 'edges' });
79
+ /** Current viewport (`{ x, y, zoom }`). Fires `(viewportChange)` on pan/zoom. */
80
+ this.viewportModel = input(undefined, { ...(ngDevMode ? { debugName: "viewportModel" } : /* istanbul ignore next */ {}), alias: 'viewport' });
51
81
  // ── Data (input-only for uncontrolled mode) ───────────────────────────
82
+ /** Initial nodes for uncontrolled mode. Ignored when `[nodes]` is bound. */
52
83
  this.defaultNodes = input(...(ngDevMode ? [undefined, { debugName: "defaultNodes" }] : /* istanbul ignore next */ []));
84
+ /** Initial edges for uncontrolled mode. Ignored when `[edges]` is bound. */
53
85
  this.defaultEdges = input(...(ngDevMode ? [undefined, { debugName: "defaultEdges" }] : /* istanbul ignore next */ []));
86
+ /** Initial viewport for uncontrolled mode. Defaults to `{ x: 0, y: 0, zoom: 1 }`. */
54
87
  this.defaultViewport = input({ x: 0, y: 0, zoom: 1 }, ...(ngDevMode ? [{ debugName: "defaultViewport" }] : /* istanbul ignore next */ []));
55
88
  // ── Configuration inputs ──────────────────────────────────────────────
89
+ /** Map of node `type` → Angular component (or `<ng-template ngFlowNodeType>`) used to render custom nodes. */
56
90
  this.nodeTypes = input({}, ...(ngDevMode ? [{ debugName: "nodeTypes" }] : /* istanbul ignore next */ []));
91
+ /** Map of edge `type` → Angular component used to render custom edges. */
57
92
  this.edgeTypes = input({}, ...(ngDevMode ? [{ debugName: "edgeTypes" }] : /* istanbul ignore next */ []));
93
+ /** Shared defaults merged into every edge (e.g. `type`, `animated`, `markerEnd`). */
58
94
  this.defaultEdgeOptions = input(...(ngDevMode ? [undefined, { debugName: "defaultEdgeOptions" }] : /* istanbul ignore next */ []));
95
+ /**
96
+ * Whether connections require a matching source/target pair.
97
+ * `Strict` (default) enforces source→target; `Loose` allows any direction.
98
+ */
59
99
  this.connectionMode = input(ConnectionMode.Strict, ...(ngDevMode ? [{ debugName: "connectionMode" }] : /* istanbul ignore next */ []));
100
+ /** Path shape drawn while the user is dragging a connection. */
60
101
  this.connectionLineType = input(ConnectionLineType.Bezier, ...(ngDevMode ? [{ debugName: "connectionLineType" }] : /* istanbul ignore next */ []));
102
+ /** Custom Angular component to render the in-progress connection line. */
61
103
  this.connectionLineComponent = input(null, ...(ngDevMode ? [{ debugName: "connectionLineComponent" }] : /* istanbul ignore next */ []));
104
+ /** Inline styles applied to the default connection-line SVG path. */
62
105
  this.connectionLineStyle = input(...(ngDevMode ? [undefined, { debugName: "connectionLineStyle" }] : /* istanbul ignore next */ []));
106
+ /** Inline styles applied to the wrapper element around the connection line. */
63
107
  this.connectionLineContainerStyle = input(...(ngDevMode ? [undefined, { debugName: "connectionLineContainerStyle" }] : /* istanbul ignore next */ []));
108
+ /** Fixed pixel width for the canvas. If omitted, host stretches to its parent. */
64
109
  this.widthInput = input(undefined, { ...(ngDevMode ? { debugName: "widthInput" } : /* istanbul ignore next */ {}), alias: 'width' });
110
+ /** Fixed pixel height for the canvas. If omitted, host stretches to its parent. */
65
111
  this.heightInput = input(undefined, { ...(ngDevMode ? { debugName: "heightInput" } : /* istanbul ignore next */ {}), alias: 'height' });
66
112
  // ── Interaction flags ─────────────────────────────────────────────────
113
+ /** Whether nodes can be dragged. */
67
114
  this.nodesDraggable = input(true, ...(ngDevMode ? [{ debugName: "nodesDraggable" }] : /* istanbul ignore next */ []));
115
+ /** Whether handles accept new connections. */
68
116
  this.nodesConnectable = input(true, ...(ngDevMode ? [{ debugName: "nodesConnectable" }] : /* istanbul ignore next */ []));
117
+ /** Whether nodes are focusable via keyboard. */
69
118
  this.nodesFocusable = input(true, ...(ngDevMode ? [{ debugName: "nodesFocusable" }] : /* istanbul ignore next */ []));
119
+ /** Whether edges are focusable via keyboard. */
70
120
  this.edgesFocusable = input(true, ...(ngDevMode ? [{ debugName: "edgesFocusable" }] : /* istanbul ignore next */ []));
121
+ /** Whether an existing edge's endpoint can be dragged to a different handle. */
71
122
  this.edgesReconnectable = input(true, ...(ngDevMode ? [{ debugName: "edgesReconnectable" }] : /* istanbul ignore next */ []));
123
+ /** Whether nodes and edges can be selected (clicked / box-selected). */
72
124
  this.elementsSelectable = input(true, ...(ngDevMode ? [{ debugName: "elementsSelectable" }] : /* istanbul ignore next */ []));
125
+ /** Whether clicking a node during drag selects it. */
73
126
  this.selectNodesOnDrag = input(true, ...(ngDevMode ? [{ debugName: "selectNodesOnDrag" }] : /* istanbul ignore next */ []));
127
+ /** Whether click-to-connect is enabled as an alternative to drag-to-connect. */
74
128
  this.connectOnClick = input(true, ...(ngDevMode ? [{ debugName: "connectOnClick" }] : /* istanbul ignore next */ []));
75
129
  // ── Pan/Zoom flags ────────────────────────────────────────────────────
130
+ /** Enable panning by dragging the pane. Pass `number[]` to restrict to specific mouse buttons. */
76
131
  this.panOnDrag = input(true, ...(ngDevMode ? [{ debugName: "panOnDrag" }] : /* istanbul ignore next */ []));
132
+ /** Pan the viewport with the scroll wheel instead of zooming. */
77
133
  this.panOnScroll = input(false, ...(ngDevMode ? [{ debugName: "panOnScroll" }] : /* istanbul ignore next */ []));
134
+ /** Axis constraints for `panOnScroll` (`Free`, `Horizontal`, `Vertical`). */
78
135
  this.panOnScrollMode = input(PanOnScrollMode.Free, ...(ngDevMode ? [{ debugName: "panOnScrollMode" }] : /* istanbul ignore next */ []));
136
+ /** Multiplier for scroll-pan speed. */
79
137
  this.panOnScrollSpeed = input(0.5, ...(ngDevMode ? [{ debugName: "panOnScrollSpeed" }] : /* istanbul ignore next */ []));
138
+ /** Enable zooming with the scroll wheel. */
80
139
  this.zoomOnScroll = input(true, ...(ngDevMode ? [{ debugName: "zoomOnScroll" }] : /* istanbul ignore next */ []));
140
+ /** Enable pinch-to-zoom on touch devices. */
81
141
  this.zoomOnPinch = input(true, ...(ngDevMode ? [{ debugName: "zoomOnPinch" }] : /* istanbul ignore next */ []));
142
+ /** Enable double-click to zoom in. */
82
143
  this.zoomOnDoubleClick = input(true, ...(ngDevMode ? [{ debugName: "zoomOnDoubleClick" }] : /* istanbul ignore next */ []));
144
+ /** Prevent the page from scrolling while the pointer is over the canvas. */
83
145
  this.preventScrolling = input(true, ...(ngDevMode ? [{ debugName: "preventScrolling" }] : /* istanbul ignore next */ []));
84
146
  // ── Selection ─────────────────────────────────────────────────────────
147
+ /** Start a box-selection on plain drag (without holding the selection key). */
85
148
  this.selectionOnDrag = input(false, ...(ngDevMode ? [{ debugName: "selectionOnDrag" }] : /* istanbul ignore next */ []));
149
+ /** Selection geometry: `Full` only selects fully contained nodes; `Partial` also selects those that overlap. */
86
150
  this.selectionMode = input(SelectionMode.Full, ...(ngDevMode ? [{ debugName: "selectionMode" }] : /* istanbul ignore next */ []));
87
151
  // ── Viewport constraints ──────────────────────────────────────────────
152
+ /** Minimum allowed zoom level. */
88
153
  this.minZoom = input(0.5, ...(ngDevMode ? [{ debugName: "minZoom" }] : /* istanbul ignore next */ []));
154
+ /** Maximum allowed zoom level. */
89
155
  this.maxZoom = input(2, ...(ngDevMode ? [{ debugName: "maxZoom" }] : /* istanbul ignore next */ []));
156
+ /** `[[x1, y1], [x2, y2]]` extent the viewport can be panned within. */
90
157
  this.translateExtent = input(infiniteExtent, ...(ngDevMode ? [{ debugName: "translateExtent" }] : /* istanbul ignore next */ []));
158
+ /** `[[x1, y1], [x2, y2]]` extent node positions are clamped to. */
91
159
  this.nodeExtent = input(infiniteExtent, ...(ngDevMode ? [{ debugName: "nodeExtent" }] : /* istanbul ignore next */ []));
92
160
  // ── Grid/Snap ─────────────────────────────────────────────────────────
161
+ /** Snap dragged nodes to `snapGrid`. */
93
162
  this.snapToGrid = input(false, ...(ngDevMode ? [{ debugName: "snapToGrid" }] : /* istanbul ignore next */ []));
163
+ /** `[x, y]` grid size used when `snapToGrid` is `true`. */
94
164
  this.snapGrid = input([15, 15], ...(ngDevMode ? [{ debugName: "snapGrid" }] : /* istanbul ignore next */ []));
95
165
  // ── Fit view ──────────────────────────────────────────────────────────
166
+ /** Fit all nodes into view on initial render. */
96
167
  this.fitView = input(false, ...(ngDevMode ? [{ debugName: "fitView" }] : /* istanbul ignore next */ []));
168
+ /** Options for the initial `fitView` call (padding, specific nodes, min/max zoom). */
97
169
  this.fitViewOptions = input(...(ngDevMode ? [undefined, { debugName: "fitViewOptions" }] : /* istanbul ignore next */ []));
98
170
  // ── Keyboard keys ─────────────────────────────────────────────────────
171
+ /** Key(s) that delete selected elements. `null` disables the shortcut. */
99
172
  this.deleteKeyCode = input(['Backspace', 'Delete'], ...(ngDevMode ? [{ debugName: "deleteKeyCode" }] : /* istanbul ignore next */ []));
173
+ /** Key held to start a box-selection. `null` disables. */
100
174
  this.selectionKeyCode = input('Shift', ...(ngDevMode ? [{ debugName: "selectionKeyCode" }] : /* istanbul ignore next */ []));
175
+ /** Key held to temporarily enable panning. `null` disables. */
101
176
  this.panActivationKeyCode = input(' ', ...(ngDevMode ? [{ debugName: "panActivationKeyCode" }] : /* istanbul ignore next */ []));
177
+ /** Key held to add to an existing selection instead of replacing it. `null` disables. */
102
178
  this.multiSelectionKeyCode = input(['Meta', 'Control'], ...(ngDevMode ? [{ debugName: "multiSelectionKeyCode" }] : /* istanbul ignore next */ []));
179
+ /** Key held to enable zooming when it's otherwise disabled. `null` disables. */
103
180
  this.zoomActivationKeyCode = input('Meta', ...(ngDevMode ? [{ debugName: "zoomActivationKeyCode" }] : /* istanbul ignore next */ []));
104
181
  // ── Auto-pan ──────────────────────────────────────────────────────────
182
+ /** Pan the viewport automatically when dragging a node near the edge. */
105
183
  this.autoPanOnNodeDrag = input(true, ...(ngDevMode ? [{ debugName: "autoPanOnNodeDrag" }] : /* istanbul ignore next */ []));
184
+ /** Pan the viewport automatically when dragging a connection near the edge. */
106
185
  this.autoPanOnConnect = input(true, ...(ngDevMode ? [{ debugName: "autoPanOnConnect" }] : /* istanbul ignore next */ []));
186
+ /** Pixels-per-frame speed for auto-pan. */
107
187
  this.autoPanSpeed = input(15, ...(ngDevMode ? [{ debugName: "autoPanSpeed" }] : /* istanbul ignore next */ []));
108
188
  // ── Distances ─────────────────────────────────────────────────────────
189
+ /** Radius (in px) within which a handle is considered a valid connection target. */
109
190
  this.connectionRadius = input(20, ...(ngDevMode ? [{ debugName: "connectionRadius" }] : /* istanbul ignore next */ []));
191
+ /** Radius (in px) within which an edge endpoint is considered a valid reconnection target. */
110
192
  this.reconnectRadius = input(10, ...(ngDevMode ? [{ debugName: "reconnectRadius" }] : /* istanbul ignore next */ []));
193
+ /** Minimum pixels the pointer must travel before a node drag begins. */
111
194
  this.nodeDragThreshold = input(1, ...(ngDevMode ? [{ debugName: "nodeDragThreshold" }] : /* istanbul ignore next */ []));
195
+ /** Minimum pixels the pointer must travel before a connection drag begins. */
112
196
  this.connectionDragThreshold = input(1, ...(ngDevMode ? [{ debugName: "connectionDragThreshold" }] : /* istanbul ignore next */ []));
197
+ /** Maximum pixels between mousedown and mouseup that still count as a pane click. */
113
198
  this.paneClickDistance = input(0, ...(ngDevMode ? [{ debugName: "paneClickDistance" }] : /* istanbul ignore next */ []));
199
+ /** Maximum pixels between mousedown and mouseup that still count as a node click. */
114
200
  this.nodeClickDistance = input(0, ...(ngDevMode ? [{ debugName: "nodeClickDistance" }] : /* istanbul ignore next */ []));
115
201
  // ── Appearance ────────────────────────────────────────────────────────
202
+ /** `'light'` | `'dark'` | `'system'`. When `'system'`, resolves via `prefers-color-scheme`. */
116
203
  this.colorMode = input('light', ...(ngDevMode ? [{ debugName: "colorMode" }] : /* istanbul ignore next */ []));
204
+ /** Raise a node's `z-index` when selected. */
117
205
  this.elevateNodesOnSelect = input(true, ...(ngDevMode ? [{ debugName: "elevateNodesOnSelect" }] : /* istanbul ignore next */ []));
206
+ /** Raise an edge's `z-index` when selected. */
118
207
  this.elevateEdgesOnSelect = input(false, ...(ngDevMode ? [{ debugName: "elevateEdgesOnSelect" }] : /* istanbul ignore next */ []));
208
+ /** Skip rendering nodes/edges outside the viewport (expensive graphs benefit). */
119
209
  this.onlyRenderVisibleElements = input(false, ...(ngDevMode ? [{ debugName: "onlyRenderVisibleElements" }] : /* istanbul ignore next */ []));
210
+ /** `'basic'` flat layering or `'auto'` based on selection and connection state. */
120
211
  this.zIndexMode = input('basic', ...(ngDevMode ? [{ debugName: "zIndexMode" }] : /* istanbul ignore next */ []));
212
+ /** `[x, y]` origin within a node that its `position` refers to (0 = top-left, 0.5 = center). */
121
213
  this.nodeOrigin = input([0, 0], ...(ngDevMode ? [{ debugName: "nodeOrigin" }] : /* istanbul ignore next */ []));
214
+ /** Default fill color for SVG edge markers. */
122
215
  this.defaultMarkerColor = input('#b1b1b7', ...(ngDevMode ? [{ debugName: "defaultMarkerColor" }] : /* istanbul ignore next */ []));
123
216
  // ── CSS class names ───────────────────────────────────────────────────
217
+ /** Elements with this class prevent node dragging when interacted with. */
124
218
  this.noDragClassName = input('nodrag', ...(ngDevMode ? [{ debugName: "noDragClassName" }] : /* istanbul ignore next */ []));
219
+ /** Elements with this class prevent wheel/pinch zooming when scrolled. */
125
220
  this.noWheelClassName = input('nowheel', ...(ngDevMode ? [{ debugName: "noWheelClassName" }] : /* istanbul ignore next */ []));
221
+ /** Elements with this class prevent pane panning when dragged. */
126
222
  this.noPanClassName = input('nopan', ...(ngDevMode ? [{ debugName: "noPanClassName" }] : /* istanbul ignore next */ []));
127
223
  // ── Accessibility ─────────────────────────────────────────────────────
224
+ /** Disable all keyboard interaction (arrow-key move, delete, select-all). */
128
225
  this.disableKeyboardA11y = input(false, ...(ngDevMode ? [{ debugName: "disableKeyboardA11y" }] : /* istanbul ignore next */ []));
226
+ /** Overrides for ARIA labels and live-region announcements. */
129
227
  this.ariaLabelConfig = input(...(ngDevMode ? [undefined, { debugName: "ariaLabelConfig" }] : /* istanbul ignore next */ []));
130
228
  // ── Validation ────────────────────────────────────────────────────────
229
+ /** Callback that decides whether a proposed `Connection` is allowed. */
131
230
  this.isValidConnection = input(...(ngDevMode ? [undefined, { debugName: "isValidConnection" }] : /* istanbul ignore next */ []));
132
231
  // ── Pro ────────────────────────────────────────────────────────────────
232
+ /** Reserved options object (no-op in the open-source build). */
133
233
  this.proOptions = input(...(ngDevMode ? [undefined, { debugName: "proOptions" }] : /* istanbul ignore next */ []));
234
+ /** Where the library attribution badge is placed. */
134
235
  this.attributionPosition = input('bottom-right', ...(ngDevMode ? [{ debugName: "attributionPosition" }] : /* istanbul ignore next */ []));
236
+ /** Hide the library attribution badge entirely. */
135
237
  this.hideAttribution = input(false, ...(ngDevMode ? [{ debugName: "hideAttribution" }] : /* istanbul ignore next */ []));
136
238
  // ── ID ────────────────────────────────────────────────────────────────
239
+ /** Unique id for this flow instance; used to namespace DOM ids when mounting multiple flows. */
137
240
  this.flowId = input(undefined, { ...(ngDevMode ? { debugName: "flowId" } : /* istanbul ignore next */ {}), alias: 'id' });
138
241
  // ── Debug ─────────────────────────────────────────────────────────────
242
+ /** Log internal state transitions to the console. */
139
243
  this.debug = input(false, ...(ngDevMode ? [{ debugName: "debug" }] : /* istanbul ignore next */ []));
140
244
  // ── Event outputs ─────────────────────────────────────────────────────
141
- // State change events
245
+ /** Fires with an array of `NodeChange` whenever the internal node state is about to change. Apply with `applyNodeChanges`. */
142
246
  this.nodesChange = output({ alias: 'nodesChange' });
247
+ /** Fires with an array of `EdgeChange` whenever the internal edge state is about to change. Apply with `applyEdgeChanges`. */
143
248
  this.edgesChange = output({ alias: 'edgesChange' });
144
- // Init
249
+ /** Fires once after the pan/zoom viewport is initialized. Payload is the `NgFlowService` for imperative calls. */
145
250
  this.init = output({ alias: 'init' });
146
- // Node events
251
+ /** Single-click on a node. */
147
252
  this.nodeClick = output({ alias: 'nodeClick' });
253
+ /** Double-click on a node. */
148
254
  this.nodeDoubleClick = output({ alias: 'nodeDoubleClick' });
255
+ /** Pointer entered a node. */
149
256
  this.nodeMouseEnter = output({ alias: 'nodeMouseEnter' });
257
+ /** Pointer moved over a node. */
150
258
  this.nodeMouseMove = output({ alias: 'nodeMouseMove' });
259
+ /** Pointer left a node. */
151
260
  this.nodeMouseLeave = output({ alias: 'nodeMouseLeave' });
261
+ /** Right-click on a node. */
152
262
  this.nodeContextMenu = output({ alias: 'nodeContextMenu' });
263
+ /** A node drag started. `nodes` contains all nodes being dragged (for multi-select). */
153
264
  this.nodeDragStart = output({ alias: 'nodeDragStart' });
265
+ /** A node drag is in progress (fires per pointer move). */
154
266
  this.nodeDrag = output({ alias: 'nodeDrag' });
267
+ /** A node drag ended. */
155
268
  this.nodeDragStop = output({ alias: 'nodeDragStop' });
156
- // Edge events
269
+ /** Single-click on an edge. */
157
270
  this.edgeClick = output({ alias: 'edgeClick' });
271
+ /** Double-click on an edge. */
158
272
  this.edgeDoubleClick = output({ alias: 'edgeDoubleClick' });
273
+ /** Right-click on an edge. */
159
274
  this.edgeContextMenu = output({ alias: 'edgeContextMenu' });
275
+ /** Pointer entered an edge. */
160
276
  this.edgeMouseEnter = output({ alias: 'edgeMouseEnter' });
277
+ /** Pointer moved over an edge. */
161
278
  this.edgeMouseMove = output({ alias: 'edgeMouseMove' });
279
+ /** Pointer left an edge. */
162
280
  this.edgeMouseLeave = output({ alias: 'edgeMouseLeave' });
163
- // Connection events
281
+ /** A new connection was completed. Pair with `addEdge` to append it to `edges`. */
164
282
  this.connect = output({ alias: 'connect' });
283
+ /** A drag-to-connect started on a handle. */
165
284
  this.connectStart = output({ alias: 'connectStart' });
285
+ /** A drag-to-connect ended (regardless of whether it produced a valid connection). */
166
286
  this.connectEnd = output({ alias: 'connectEnd' });
167
- // Click-connect events
287
+ /** The first click of a click-to-connect interaction landed on a handle. */
168
288
  this.clickConnectStart = output({ alias: 'clickConnectStart' });
289
+ /** The second click of a click-to-connect interaction landed (on any handle or elsewhere). */
169
290
  this.clickConnectEnd = output({ alias: 'clickConnectEnd' });
170
- // Reconnection events
291
+ /** An existing edge was dragged to a new endpoint. Pair with `reconnectEdge` to update `edges`. */
171
292
  this.reconnect = output({ alias: 'reconnect' });
293
+ /** A reconnection drag on an edge endpoint started. */
172
294
  this.reconnectStart = output({ alias: 'reconnectStart' });
295
+ /** A reconnection drag ended; includes the final `connectionState`. */
173
296
  this.reconnectEnd = output({ alias: 'reconnectEnd' });
174
- // Pane events
297
+ /** Click on the empty pane (not on a node, edge, or handle). */
175
298
  this.paneClick = output({ alias: 'paneClick' });
299
+ /** Right-click on the empty pane. */
176
300
  this.paneContextMenu = output({ alias: 'paneContextMenu' });
301
+ /** Pointer entered the pane. */
177
302
  this.paneMouseEnter = output({ alias: 'paneMouseEnter' });
303
+ /** Pointer moved over the pane. */
178
304
  this.paneMouseMove = output({ alias: 'paneMouseMove' });
305
+ /** Pointer left the pane. */
179
306
  this.paneMouseLeave = output({ alias: 'paneMouseLeave' });
307
+ /** Scroll wheel on the pane (only fires when `panOnScroll` is enabled). */
180
308
  this.paneScroll = output({ alias: 'paneScroll' });
181
- // Viewport events
309
+ /** A pan/zoom interaction started. */
182
310
  this.moveStart = output({ alias: 'moveStart' });
311
+ /** A pan/zoom interaction is in progress (fires per frame). */
183
312
  this.move = output({ alias: 'move' });
313
+ /** A pan/zoom interaction ended. */
184
314
  this.moveEnd = output({ alias: 'moveEnd' });
315
+ /** Fires with the new `Viewport` after any pan/zoom change. */
185
316
  this.viewportChange = output({ alias: 'viewportChange' });
186
- // Selection events
317
+ /** Fires whenever the set of selected nodes/edges changes. */
187
318
  this.selectionChange = output({ alias: 'selectionChange' });
319
+ /** A drag of the current multi-selection started. */
188
320
  this.selectionDragStart = output({ alias: 'selectionDragStart' });
321
+ /** A drag of the current multi-selection is in progress. */
189
322
  this.selectionDrag = output({ alias: 'selectionDrag' });
323
+ /** A drag of the current multi-selection ended. */
190
324
  this.selectionDragStop = output({ alias: 'selectionDragStop' });
325
+ /** A box-selection gesture started. */
191
326
  this.selectionStart = output({ alias: 'selectionStart' });
327
+ /** A box-selection gesture ended. */
192
328
  this.selectionEnd = output({ alias: 'selectionEnd' });
329
+ /** Right-click on the current multi-selection. */
193
330
  this.selectionContextMenu = output({ alias: 'selectionContextMenu' });
194
- // Delete events
331
+ /** Fires with the set of nodes about to be deleted (after `onBeforeDelete` approved). */
195
332
  this.nodesDelete = output({ alias: 'nodesDelete' });
333
+ /** Fires with the set of edges about to be deleted. */
196
334
  this.edgesDelete = output({ alias: 'edgesDelete' });
335
+ /** Combined `(delete)` output firing once with both deleted `nodes` and `edges`. */
197
336
  this.deleteEvent = output({ alias: 'delete' });
198
337
  /**
199
338
  * Callback invoked before elements are deleted.
200
339
  * Return `false` (or a Promise resolving to `false`) to cancel the deletion.
201
340
  */
202
341
  this.onBeforeDelete = input(undefined, ...(ngDevMode ? [{ debugName: "onBeforeDelete" }] : /* istanbul ignore next */ []));
203
- // Error
342
+ /** Fires when the store reports an internal validation or consistency error. */
204
343
  this.error = output({ alias: 'error' });
205
344
  // Auto-pan events (declared for API completeness; not yet wired because
206
345
  // auto-pan detection happens inside XYDrag's internal requestAnimationFrame
207
346
  // loop, which does not currently expose start/end callbacks)
347
+ /** Reserved — fires when auto-pan begins. Not yet wired. */
208
348
  this.autoPanStart = output({ alias: 'autoPanStart' });
349
+ /** Reserved — fires when auto-pan ends. Not yet wired. */
209
350
  this.autoPanEnd = output({ alias: 'autoPanEnd' });
210
351
  this.lastNodesRef = null;
211
352
  this.lastEdgesRef = null;
@@ -481,13 +622,11 @@ export class NgFlowComponent {
481
622
  this.moveStart.emit({ event, viewport });
482
623
  },
483
624
  onPanZoom: (event, viewport) => {
484
- this.zone.run(() => {
485
- const transform = [viewport.x, viewport.y, viewport.zoom];
486
- this.store.transform.set(transform);
487
- this.store.bumpVersion();
488
- this.move.emit({ event, viewport });
489
- this.viewportChange.emit(viewport);
490
- });
625
+ const transform = [viewport.x, viewport.y, viewport.zoom];
626
+ this.store.transform.set(transform);
627
+ this.store.bumpVersion();
628
+ this.move.emit({ event, viewport });
629
+ this.viewportChange.emit(viewport);
491
630
  },
492
631
  onPanZoomEnd: (event, viewport) => {
493
632
  this.moveEnd.emit({ event, viewport });
@@ -522,7 +661,7 @@ export class NgFlowComponent {
522
661
  });
523
662
  }
524
663
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: NgFlowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: NgFlowComponent, isStandalone: true, selector: "ng-flow", inputs: { nodesModel: { classPropertyName: "nodesModel", publicName: "nodes", isSignal: true, isRequired: false, transformFunction: null }, edgesModel: { classPropertyName: "edgesModel", publicName: "edges", isSignal: true, isRequired: false, transformFunction: null }, viewportModel: { classPropertyName: "viewportModel", publicName: "viewport", isSignal: true, isRequired: false, transformFunction: null }, defaultNodes: { classPropertyName: "defaultNodes", publicName: "defaultNodes", isSignal: true, isRequired: false, transformFunction: null }, defaultEdges: { classPropertyName: "defaultEdges", publicName: "defaultEdges", isSignal: true, isRequired: false, transformFunction: null }, defaultViewport: { classPropertyName: "defaultViewport", publicName: "defaultViewport", isSignal: true, isRequired: false, transformFunction: null }, nodeTypes: { classPropertyName: "nodeTypes", publicName: "nodeTypes", isSignal: true, isRequired: false, transformFunction: null }, edgeTypes: { classPropertyName: "edgeTypes", publicName: "edgeTypes", isSignal: true, isRequired: false, transformFunction: null }, defaultEdgeOptions: { classPropertyName: "defaultEdgeOptions", publicName: "defaultEdgeOptions", isSignal: true, isRequired: false, transformFunction: null }, connectionMode: { classPropertyName: "connectionMode", publicName: "connectionMode", isSignal: true, isRequired: false, transformFunction: null }, connectionLineType: { classPropertyName: "connectionLineType", publicName: "connectionLineType", isSignal: true, isRequired: false, transformFunction: null }, connectionLineComponent: { classPropertyName: "connectionLineComponent", publicName: "connectionLineComponent", isSignal: true, isRequired: false, transformFunction: null }, connectionLineStyle: { classPropertyName: "connectionLineStyle", publicName: "connectionLineStyle", isSignal: true, isRequired: false, transformFunction: null }, connectionLineContainerStyle: { classPropertyName: "connectionLineContainerStyle", publicName: "connectionLineContainerStyle", isSignal: true, isRequired: false, transformFunction: null }, widthInput: { classPropertyName: "widthInput", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, heightInput: { classPropertyName: "heightInput", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, nodesDraggable: { classPropertyName: "nodesDraggable", publicName: "nodesDraggable", isSignal: true, isRequired: false, transformFunction: null }, nodesConnectable: { classPropertyName: "nodesConnectable", publicName: "nodesConnectable", isSignal: true, isRequired: false, transformFunction: null }, nodesFocusable: { classPropertyName: "nodesFocusable", publicName: "nodesFocusable", isSignal: true, isRequired: false, transformFunction: null }, edgesFocusable: { classPropertyName: "edgesFocusable", publicName: "edgesFocusable", isSignal: true, isRequired: false, transformFunction: null }, edgesReconnectable: { classPropertyName: "edgesReconnectable", publicName: "edgesReconnectable", isSignal: true, isRequired: false, transformFunction: null }, elementsSelectable: { classPropertyName: "elementsSelectable", publicName: "elementsSelectable", isSignal: true, isRequired: false, transformFunction: null }, selectNodesOnDrag: { classPropertyName: "selectNodesOnDrag", publicName: "selectNodesOnDrag", isSignal: true, isRequired: false, transformFunction: null }, connectOnClick: { classPropertyName: "connectOnClick", publicName: "connectOnClick", isSignal: true, isRequired: false, transformFunction: null }, panOnDrag: { classPropertyName: "panOnDrag", publicName: "panOnDrag", isSignal: true, isRequired: false, transformFunction: null }, panOnScroll: { classPropertyName: "panOnScroll", publicName: "panOnScroll", isSignal: true, isRequired: false, transformFunction: null }, panOnScrollMode: { classPropertyName: "panOnScrollMode", publicName: "panOnScrollMode", isSignal: true, isRequired: false, transformFunction: null }, panOnScrollSpeed: { classPropertyName: "panOnScrollSpeed", publicName: "panOnScrollSpeed", isSignal: true, isRequired: false, transformFunction: null }, zoomOnScroll: { classPropertyName: "zoomOnScroll", publicName: "zoomOnScroll", isSignal: true, isRequired: false, transformFunction: null }, zoomOnPinch: { classPropertyName: "zoomOnPinch", publicName: "zoomOnPinch", isSignal: true, isRequired: false, transformFunction: null }, zoomOnDoubleClick: { classPropertyName: "zoomOnDoubleClick", publicName: "zoomOnDoubleClick", isSignal: true, isRequired: false, transformFunction: null }, preventScrolling: { classPropertyName: "preventScrolling", publicName: "preventScrolling", isSignal: true, isRequired: false, transformFunction: null }, selectionOnDrag: { classPropertyName: "selectionOnDrag", publicName: "selectionOnDrag", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, translateExtent: { classPropertyName: "translateExtent", publicName: "translateExtent", isSignal: true, isRequired: false, transformFunction: null }, nodeExtent: { classPropertyName: "nodeExtent", publicName: "nodeExtent", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, snapGrid: { classPropertyName: "snapGrid", publicName: "snapGrid", isSignal: true, isRequired: false, transformFunction: null }, fitView: { classPropertyName: "fitView", publicName: "fitView", isSignal: true, isRequired: false, transformFunction: null }, fitViewOptions: { classPropertyName: "fitViewOptions", publicName: "fitViewOptions", isSignal: true, isRequired: false, transformFunction: null }, deleteKeyCode: { classPropertyName: "deleteKeyCode", publicName: "deleteKeyCode", isSignal: true, isRequired: false, transformFunction: null }, selectionKeyCode: { classPropertyName: "selectionKeyCode", publicName: "selectionKeyCode", isSignal: true, isRequired: false, transformFunction: null }, panActivationKeyCode: { classPropertyName: "panActivationKeyCode", publicName: "panActivationKeyCode", isSignal: true, isRequired: false, transformFunction: null }, multiSelectionKeyCode: { classPropertyName: "multiSelectionKeyCode", publicName: "multiSelectionKeyCode", isSignal: true, isRequired: false, transformFunction: null }, zoomActivationKeyCode: { classPropertyName: "zoomActivationKeyCode", publicName: "zoomActivationKeyCode", isSignal: true, isRequired: false, transformFunction: null }, autoPanOnNodeDrag: { classPropertyName: "autoPanOnNodeDrag", publicName: "autoPanOnNodeDrag", isSignal: true, isRequired: false, transformFunction: null }, autoPanOnConnect: { classPropertyName: "autoPanOnConnect", publicName: "autoPanOnConnect", isSignal: true, isRequired: false, transformFunction: null }, autoPanSpeed: { classPropertyName: "autoPanSpeed", publicName: "autoPanSpeed", isSignal: true, isRequired: false, transformFunction: null }, connectionRadius: { classPropertyName: "connectionRadius", publicName: "connectionRadius", isSignal: true, isRequired: false, transformFunction: null }, reconnectRadius: { classPropertyName: "reconnectRadius", publicName: "reconnectRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeDragThreshold: { classPropertyName: "nodeDragThreshold", publicName: "nodeDragThreshold", isSignal: true, isRequired: false, transformFunction: null }, connectionDragThreshold: { classPropertyName: "connectionDragThreshold", publicName: "connectionDragThreshold", isSignal: true, isRequired: false, transformFunction: null }, paneClickDistance: { classPropertyName: "paneClickDistance", publicName: "paneClickDistance", isSignal: true, isRequired: false, transformFunction: null }, nodeClickDistance: { classPropertyName: "nodeClickDistance", publicName: "nodeClickDistance", isSignal: true, isRequired: false, transformFunction: null }, colorMode: { classPropertyName: "colorMode", publicName: "colorMode", isSignal: true, isRequired: false, transformFunction: null }, elevateNodesOnSelect: { classPropertyName: "elevateNodesOnSelect", publicName: "elevateNodesOnSelect", isSignal: true, isRequired: false, transformFunction: null }, elevateEdgesOnSelect: { classPropertyName: "elevateEdgesOnSelect", publicName: "elevateEdgesOnSelect", isSignal: true, isRequired: false, transformFunction: null }, onlyRenderVisibleElements: { classPropertyName: "onlyRenderVisibleElements", publicName: "onlyRenderVisibleElements", isSignal: true, isRequired: false, transformFunction: null }, zIndexMode: { classPropertyName: "zIndexMode", publicName: "zIndexMode", isSignal: true, isRequired: false, transformFunction: null }, nodeOrigin: { classPropertyName: "nodeOrigin", publicName: "nodeOrigin", isSignal: true, isRequired: false, transformFunction: null }, defaultMarkerColor: { classPropertyName: "defaultMarkerColor", publicName: "defaultMarkerColor", isSignal: true, isRequired: false, transformFunction: null }, noDragClassName: { classPropertyName: "noDragClassName", publicName: "noDragClassName", isSignal: true, isRequired: false, transformFunction: null }, noWheelClassName: { classPropertyName: "noWheelClassName", publicName: "noWheelClassName", isSignal: true, isRequired: false, transformFunction: null }, noPanClassName: { classPropertyName: "noPanClassName", publicName: "noPanClassName", isSignal: true, isRequired: false, transformFunction: null }, disableKeyboardA11y: { classPropertyName: "disableKeyboardA11y", publicName: "disableKeyboardA11y", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelConfig: { classPropertyName: "ariaLabelConfig", publicName: "ariaLabelConfig", isSignal: true, isRequired: false, transformFunction: null }, isValidConnection: { classPropertyName: "isValidConnection", publicName: "isValidConnection", isSignal: true, isRequired: false, transformFunction: null }, proOptions: { classPropertyName: "proOptions", publicName: "proOptions", isSignal: true, isRequired: false, transformFunction: null }, attributionPosition: { classPropertyName: "attributionPosition", publicName: "attributionPosition", isSignal: true, isRequired: false, transformFunction: null }, hideAttribution: { classPropertyName: "hideAttribution", publicName: "hideAttribution", isSignal: true, isRequired: false, transformFunction: null }, flowId: { classPropertyName: "flowId", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null }, onBeforeDelete: { classPropertyName: "onBeforeDelete", publicName: "onBeforeDelete", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodesModel: "nodesChange", edgesModel: "edgesChange", viewportModel: "viewportChange", nodesChange: "nodesChange", edgesChange: "edgesChange", init: "init", nodeClick: "nodeClick", nodeDoubleClick: "nodeDoubleClick", nodeMouseEnter: "nodeMouseEnter", nodeMouseMove: "nodeMouseMove", nodeMouseLeave: "nodeMouseLeave", nodeContextMenu: "nodeContextMenu", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", nodeDragStop: "nodeDragStop", edgeClick: "edgeClick", edgeDoubleClick: "edgeDoubleClick", edgeContextMenu: "edgeContextMenu", edgeMouseEnter: "edgeMouseEnter", edgeMouseMove: "edgeMouseMove", edgeMouseLeave: "edgeMouseLeave", connect: "connect", connectStart: "connectStart", connectEnd: "connectEnd", clickConnectStart: "clickConnectStart", clickConnectEnd: "clickConnectEnd", reconnect: "reconnect", reconnectStart: "reconnectStart", reconnectEnd: "reconnectEnd", paneClick: "paneClick", paneContextMenu: "paneContextMenu", paneMouseEnter: "paneMouseEnter", paneMouseMove: "paneMouseMove", paneMouseLeave: "paneMouseLeave", paneScroll: "paneScroll", moveStart: "moveStart", move: "move", moveEnd: "moveEnd", viewportChange: "viewportChange", selectionChange: "selectionChange", selectionDragStart: "selectionDragStart", selectionDrag: "selectionDrag", selectionDragStop: "selectionDragStop", selectionStart: "selectionStart", selectionEnd: "selectionEnd", selectionContextMenu: "selectionContextMenu", nodesDelete: "nodesDelete", edgesDelete: "edgesDelete", deleteEvent: "delete", error: "error", autoPanStart: "autoPanStart", autoPanEnd: "autoPanEnd" }, host: { attributes: { "role": "application" }, properties: { "class.dark": "resolvedColorMode() === \"dark\"", "class.light": "resolvedColorMode() === \"light\"", "style.width.px": "widthInput()", "style.height.px": "heightInput()" }, styleAttribute: "display: block; position: relative; overflow: hidden; width: 100%; height: 100%;", classAttribute: "ng-flow xy-flow" }, providers: [FlowStore, NgFlowService], queries: [{ propertyName: "nodeTypeDirectives", predicate: NgFlowNodeTypeDirective, isSignal: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "paneRef", first: true, predicate: PaneComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: NgFlowComponent, isStandalone: true, selector: "ng-flow", inputs: { nodesModel: { classPropertyName: "nodesModel", publicName: "nodes", isSignal: true, isRequired: false, transformFunction: null }, edgesModel: { classPropertyName: "edgesModel", publicName: "edges", isSignal: true, isRequired: false, transformFunction: null }, viewportModel: { classPropertyName: "viewportModel", publicName: "viewport", isSignal: true, isRequired: false, transformFunction: null }, defaultNodes: { classPropertyName: "defaultNodes", publicName: "defaultNodes", isSignal: true, isRequired: false, transformFunction: null }, defaultEdges: { classPropertyName: "defaultEdges", publicName: "defaultEdges", isSignal: true, isRequired: false, transformFunction: null }, defaultViewport: { classPropertyName: "defaultViewport", publicName: "defaultViewport", isSignal: true, isRequired: false, transformFunction: null }, nodeTypes: { classPropertyName: "nodeTypes", publicName: "nodeTypes", isSignal: true, isRequired: false, transformFunction: null }, edgeTypes: { classPropertyName: "edgeTypes", publicName: "edgeTypes", isSignal: true, isRequired: false, transformFunction: null }, defaultEdgeOptions: { classPropertyName: "defaultEdgeOptions", publicName: "defaultEdgeOptions", isSignal: true, isRequired: false, transformFunction: null }, connectionMode: { classPropertyName: "connectionMode", publicName: "connectionMode", isSignal: true, isRequired: false, transformFunction: null }, connectionLineType: { classPropertyName: "connectionLineType", publicName: "connectionLineType", isSignal: true, isRequired: false, transformFunction: null }, connectionLineComponent: { classPropertyName: "connectionLineComponent", publicName: "connectionLineComponent", isSignal: true, isRequired: false, transformFunction: null }, connectionLineStyle: { classPropertyName: "connectionLineStyle", publicName: "connectionLineStyle", isSignal: true, isRequired: false, transformFunction: null }, connectionLineContainerStyle: { classPropertyName: "connectionLineContainerStyle", publicName: "connectionLineContainerStyle", isSignal: true, isRequired: false, transformFunction: null }, widthInput: { classPropertyName: "widthInput", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, heightInput: { classPropertyName: "heightInput", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, nodesDraggable: { classPropertyName: "nodesDraggable", publicName: "nodesDraggable", isSignal: true, isRequired: false, transformFunction: null }, nodesConnectable: { classPropertyName: "nodesConnectable", publicName: "nodesConnectable", isSignal: true, isRequired: false, transformFunction: null }, nodesFocusable: { classPropertyName: "nodesFocusable", publicName: "nodesFocusable", isSignal: true, isRequired: false, transformFunction: null }, edgesFocusable: { classPropertyName: "edgesFocusable", publicName: "edgesFocusable", isSignal: true, isRequired: false, transformFunction: null }, edgesReconnectable: { classPropertyName: "edgesReconnectable", publicName: "edgesReconnectable", isSignal: true, isRequired: false, transformFunction: null }, elementsSelectable: { classPropertyName: "elementsSelectable", publicName: "elementsSelectable", isSignal: true, isRequired: false, transformFunction: null }, selectNodesOnDrag: { classPropertyName: "selectNodesOnDrag", publicName: "selectNodesOnDrag", isSignal: true, isRequired: false, transformFunction: null }, connectOnClick: { classPropertyName: "connectOnClick", publicName: "connectOnClick", isSignal: true, isRequired: false, transformFunction: null }, panOnDrag: { classPropertyName: "panOnDrag", publicName: "panOnDrag", isSignal: true, isRequired: false, transformFunction: null }, panOnScroll: { classPropertyName: "panOnScroll", publicName: "panOnScroll", isSignal: true, isRequired: false, transformFunction: null }, panOnScrollMode: { classPropertyName: "panOnScrollMode", publicName: "panOnScrollMode", isSignal: true, isRequired: false, transformFunction: null }, panOnScrollSpeed: { classPropertyName: "panOnScrollSpeed", publicName: "panOnScrollSpeed", isSignal: true, isRequired: false, transformFunction: null }, zoomOnScroll: { classPropertyName: "zoomOnScroll", publicName: "zoomOnScroll", isSignal: true, isRequired: false, transformFunction: null }, zoomOnPinch: { classPropertyName: "zoomOnPinch", publicName: "zoomOnPinch", isSignal: true, isRequired: false, transformFunction: null }, zoomOnDoubleClick: { classPropertyName: "zoomOnDoubleClick", publicName: "zoomOnDoubleClick", isSignal: true, isRequired: false, transformFunction: null }, preventScrolling: { classPropertyName: "preventScrolling", publicName: "preventScrolling", isSignal: true, isRequired: false, transformFunction: null }, selectionOnDrag: { classPropertyName: "selectionOnDrag", publicName: "selectionOnDrag", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, translateExtent: { classPropertyName: "translateExtent", publicName: "translateExtent", isSignal: true, isRequired: false, transformFunction: null }, nodeExtent: { classPropertyName: "nodeExtent", publicName: "nodeExtent", isSignal: true, isRequired: false, transformFunction: null }, snapToGrid: { classPropertyName: "snapToGrid", publicName: "snapToGrid", isSignal: true, isRequired: false, transformFunction: null }, snapGrid: { classPropertyName: "snapGrid", publicName: "snapGrid", isSignal: true, isRequired: false, transformFunction: null }, fitView: { classPropertyName: "fitView", publicName: "fitView", isSignal: true, isRequired: false, transformFunction: null }, fitViewOptions: { classPropertyName: "fitViewOptions", publicName: "fitViewOptions", isSignal: true, isRequired: false, transformFunction: null }, deleteKeyCode: { classPropertyName: "deleteKeyCode", publicName: "deleteKeyCode", isSignal: true, isRequired: false, transformFunction: null }, selectionKeyCode: { classPropertyName: "selectionKeyCode", publicName: "selectionKeyCode", isSignal: true, isRequired: false, transformFunction: null }, panActivationKeyCode: { classPropertyName: "panActivationKeyCode", publicName: "panActivationKeyCode", isSignal: true, isRequired: false, transformFunction: null }, multiSelectionKeyCode: { classPropertyName: "multiSelectionKeyCode", publicName: "multiSelectionKeyCode", isSignal: true, isRequired: false, transformFunction: null }, zoomActivationKeyCode: { classPropertyName: "zoomActivationKeyCode", publicName: "zoomActivationKeyCode", isSignal: true, isRequired: false, transformFunction: null }, autoPanOnNodeDrag: { classPropertyName: "autoPanOnNodeDrag", publicName: "autoPanOnNodeDrag", isSignal: true, isRequired: false, transformFunction: null }, autoPanOnConnect: { classPropertyName: "autoPanOnConnect", publicName: "autoPanOnConnect", isSignal: true, isRequired: false, transformFunction: null }, autoPanSpeed: { classPropertyName: "autoPanSpeed", publicName: "autoPanSpeed", isSignal: true, isRequired: false, transformFunction: null }, connectionRadius: { classPropertyName: "connectionRadius", publicName: "connectionRadius", isSignal: true, isRequired: false, transformFunction: null }, reconnectRadius: { classPropertyName: "reconnectRadius", publicName: "reconnectRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeDragThreshold: { classPropertyName: "nodeDragThreshold", publicName: "nodeDragThreshold", isSignal: true, isRequired: false, transformFunction: null }, connectionDragThreshold: { classPropertyName: "connectionDragThreshold", publicName: "connectionDragThreshold", isSignal: true, isRequired: false, transformFunction: null }, paneClickDistance: { classPropertyName: "paneClickDistance", publicName: "paneClickDistance", isSignal: true, isRequired: false, transformFunction: null }, nodeClickDistance: { classPropertyName: "nodeClickDistance", publicName: "nodeClickDistance", isSignal: true, isRequired: false, transformFunction: null }, colorMode: { classPropertyName: "colorMode", publicName: "colorMode", isSignal: true, isRequired: false, transformFunction: null }, elevateNodesOnSelect: { classPropertyName: "elevateNodesOnSelect", publicName: "elevateNodesOnSelect", isSignal: true, isRequired: false, transformFunction: null }, elevateEdgesOnSelect: { classPropertyName: "elevateEdgesOnSelect", publicName: "elevateEdgesOnSelect", isSignal: true, isRequired: false, transformFunction: null }, onlyRenderVisibleElements: { classPropertyName: "onlyRenderVisibleElements", publicName: "onlyRenderVisibleElements", isSignal: true, isRequired: false, transformFunction: null }, zIndexMode: { classPropertyName: "zIndexMode", publicName: "zIndexMode", isSignal: true, isRequired: false, transformFunction: null }, nodeOrigin: { classPropertyName: "nodeOrigin", publicName: "nodeOrigin", isSignal: true, isRequired: false, transformFunction: null }, defaultMarkerColor: { classPropertyName: "defaultMarkerColor", publicName: "defaultMarkerColor", isSignal: true, isRequired: false, transformFunction: null }, noDragClassName: { classPropertyName: "noDragClassName", publicName: "noDragClassName", isSignal: true, isRequired: false, transformFunction: null }, noWheelClassName: { classPropertyName: "noWheelClassName", publicName: "noWheelClassName", isSignal: true, isRequired: false, transformFunction: null }, noPanClassName: { classPropertyName: "noPanClassName", publicName: "noPanClassName", isSignal: true, isRequired: false, transformFunction: null }, disableKeyboardA11y: { classPropertyName: "disableKeyboardA11y", publicName: "disableKeyboardA11y", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelConfig: { classPropertyName: "ariaLabelConfig", publicName: "ariaLabelConfig", isSignal: true, isRequired: false, transformFunction: null }, isValidConnection: { classPropertyName: "isValidConnection", publicName: "isValidConnection", isSignal: true, isRequired: false, transformFunction: null }, proOptions: { classPropertyName: "proOptions", publicName: "proOptions", isSignal: true, isRequired: false, transformFunction: null }, attributionPosition: { classPropertyName: "attributionPosition", publicName: "attributionPosition", isSignal: true, isRequired: false, transformFunction: null }, hideAttribution: { classPropertyName: "hideAttribution", publicName: "hideAttribution", isSignal: true, isRequired: false, transformFunction: null }, flowId: { classPropertyName: "flowId", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, debug: { classPropertyName: "debug", publicName: "debug", isSignal: true, isRequired: false, transformFunction: null }, onBeforeDelete: { classPropertyName: "onBeforeDelete", publicName: "onBeforeDelete", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { nodesChange: "nodesChange", edgesChange: "edgesChange", init: "init", nodeClick: "nodeClick", nodeDoubleClick: "nodeDoubleClick", nodeMouseEnter: "nodeMouseEnter", nodeMouseMove: "nodeMouseMove", nodeMouseLeave: "nodeMouseLeave", nodeContextMenu: "nodeContextMenu", nodeDragStart: "nodeDragStart", nodeDrag: "nodeDrag", nodeDragStop: "nodeDragStop", edgeClick: "edgeClick", edgeDoubleClick: "edgeDoubleClick", edgeContextMenu: "edgeContextMenu", edgeMouseEnter: "edgeMouseEnter", edgeMouseMove: "edgeMouseMove", edgeMouseLeave: "edgeMouseLeave", connect: "connect", connectStart: "connectStart", connectEnd: "connectEnd", clickConnectStart: "clickConnectStart", clickConnectEnd: "clickConnectEnd", reconnect: "reconnect", reconnectStart: "reconnectStart", reconnectEnd: "reconnectEnd", paneClick: "paneClick", paneContextMenu: "paneContextMenu", paneMouseEnter: "paneMouseEnter", paneMouseMove: "paneMouseMove", paneMouseLeave: "paneMouseLeave", paneScroll: "paneScroll", moveStart: "moveStart", move: "move", moveEnd: "moveEnd", viewportChange: "viewportChange", selectionChange: "selectionChange", selectionDragStart: "selectionDragStart", selectionDrag: "selectionDrag", selectionDragStop: "selectionDragStop", selectionStart: "selectionStart", selectionEnd: "selectionEnd", selectionContextMenu: "selectionContextMenu", nodesDelete: "nodesDelete", edgesDelete: "edgesDelete", deleteEvent: "delete", error: "error", autoPanStart: "autoPanStart", autoPanEnd: "autoPanEnd" }, host: { attributes: { "role": "application" }, properties: { "class.dark": "resolvedColorMode() === \"dark\"", "class.light": "resolvedColorMode() === \"light\"", "style.width.px": "widthInput()", "style.height.px": "heightInput()" }, styleAttribute: "display: block; position: relative; overflow: hidden; width: 100%; height: 100%; isolation: isolate;", classAttribute: "ng-flow xy-flow" }, providers: [FlowStore, NgFlowService], queries: [{ propertyName: "nodeTypeDirectives", predicate: NgFlowNodeTypeDirective, isSignal: true }], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "paneRef", first: true, predicate: PaneComponent, descendants: true, isSignal: true }], ngImport: i0, template: `
526
665
  <div
527
666
  class="ng-flow__container xy-flow__container"
528
667
  #container
@@ -615,7 +754,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
615
754
  '[class.light]': 'resolvedColorMode() === "light"',
616
755
  '[style.width.px]': 'widthInput()',
617
756
  '[style.height.px]': 'heightInput()',
618
- 'style': 'display: block; position: relative; overflow: hidden; width: 100%; height: 100%;',
757
+ 'style': 'display: block; position: relative; overflow: hidden; width: 100%; height: 100%; isolation: isolate;',
619
758
  },
620
759
  template: `
621
760
  <div
@@ -684,5 +823,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
684
823
  </div>
685
824
  `,
686
825
  }]
687
- }], ctorParameters: () => [], propDecorators: { containerRef: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], paneRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PaneComponent), { isSignal: true }] }], nodeTypeDirectives: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NgFlowNodeTypeDirective), { isSignal: true }] }], nodesModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodes", required: false }] }, { type: i0.Output, args: ["nodesChange"] }], edgesModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "edges", required: false }] }, { type: i0.Output, args: ["edgesChange"] }], viewportModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewport", required: false }] }, { type: i0.Output, args: ["viewportChange"] }], defaultNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultNodes", required: false }] }], defaultEdges: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultEdges", required: false }] }], defaultViewport: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultViewport", required: false }] }], nodeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTypes", required: false }] }], edgeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgeTypes", required: false }] }], defaultEdgeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultEdgeOptions", required: false }] }], connectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionMode", required: false }] }], connectionLineType: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineType", required: false }] }], connectionLineComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineComponent", required: false }] }], connectionLineStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineStyle", required: false }] }], connectionLineContainerStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineContainerStyle", required: false }] }], widthInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], heightInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], nodesDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesDraggable", required: false }] }], nodesConnectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesConnectable", required: false }] }], nodesFocusable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesFocusable", required: false }] }], edgesFocusable: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgesFocusable", required: false }] }], edgesReconnectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgesReconnectable", required: false }] }], elementsSelectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "elementsSelectable", required: false }] }], selectNodesOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectNodesOnDrag", required: false }] }], connectOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectOnClick", required: false }] }], panOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnDrag", required: false }] }], panOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScroll", required: false }] }], panOnScrollMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScrollMode", required: false }] }], panOnScrollSpeed: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScrollSpeed", required: false }] }], zoomOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnScroll", required: false }] }], zoomOnPinch: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnPinch", required: false }] }], zoomOnDoubleClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnDoubleClick", required: false }] }], preventScrolling: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventScrolling", required: false }] }], selectionOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionOnDrag", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], minZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "minZoom", required: false }] }], maxZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxZoom", required: false }] }], translateExtent: [{ type: i0.Input, args: [{ isSignal: true, alias: "translateExtent", required: false }] }], nodeExtent: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeExtent", required: false }] }], snapToGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToGrid", required: false }] }], snapGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapGrid", required: false }] }], fitView: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitView", required: false }] }], fitViewOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitViewOptions", required: false }] }], deleteKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteKeyCode", required: false }] }], selectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionKeyCode", required: false }] }], panActivationKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "panActivationKeyCode", required: false }] }], multiSelectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionKeyCode", required: false }] }], zoomActivationKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomActivationKeyCode", required: false }] }], autoPanOnNodeDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanOnNodeDrag", required: false }] }], autoPanOnConnect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanOnConnect", required: false }] }], autoPanSpeed: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanSpeed", required: false }] }], connectionRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionRadius", required: false }] }], reconnectRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "reconnectRadius", required: false }] }], nodeDragThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeDragThreshold", required: false }] }], connectionDragThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionDragThreshold", required: false }] }], paneClickDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "paneClickDistance", required: false }] }], nodeClickDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeClickDistance", required: false }] }], colorMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorMode", required: false }] }], elevateNodesOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevateNodesOnSelect", required: false }] }], elevateEdgesOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevateEdgesOnSelect", required: false }] }], onlyRenderVisibleElements: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlyRenderVisibleElements", required: false }] }], zIndexMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndexMode", required: false }] }], nodeOrigin: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeOrigin", required: false }] }], defaultMarkerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultMarkerColor", required: false }] }], noDragClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDragClassName", required: false }] }], noWheelClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noWheelClassName", required: false }] }], noPanClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noPanClassName", required: false }] }], disableKeyboardA11y: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableKeyboardA11y", required: false }] }], ariaLabelConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelConfig", required: false }] }], isValidConnection: [{ type: i0.Input, args: [{ isSignal: true, alias: "isValidConnection", required: false }] }], proOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "proOptions", required: false }] }], attributionPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "attributionPosition", required: false }] }], hideAttribution: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideAttribution", required: false }] }], flowId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], debug: [{ type: i0.Input, args: [{ isSignal: true, alias: "debug", required: false }] }], nodesChange: [{ type: i0.Output, args: ["nodesChange"] }], edgesChange: [{ type: i0.Output, args: ["edgesChange"] }], init: [{ type: i0.Output, args: ["init"] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }], nodeDoubleClick: [{ type: i0.Output, args: ["nodeDoubleClick"] }], nodeMouseEnter: [{ type: i0.Output, args: ["nodeMouseEnter"] }], nodeMouseMove: [{ type: i0.Output, args: ["nodeMouseMove"] }], nodeMouseLeave: [{ type: i0.Output, args: ["nodeMouseLeave"] }], nodeContextMenu: [{ type: i0.Output, args: ["nodeContextMenu"] }], nodeDragStart: [{ type: i0.Output, args: ["nodeDragStart"] }], nodeDrag: [{ type: i0.Output, args: ["nodeDrag"] }], nodeDragStop: [{ type: i0.Output, args: ["nodeDragStop"] }], edgeClick: [{ type: i0.Output, args: ["edgeClick"] }], edgeDoubleClick: [{ type: i0.Output, args: ["edgeDoubleClick"] }], edgeContextMenu: [{ type: i0.Output, args: ["edgeContextMenu"] }], edgeMouseEnter: [{ type: i0.Output, args: ["edgeMouseEnter"] }], edgeMouseMove: [{ type: i0.Output, args: ["edgeMouseMove"] }], edgeMouseLeave: [{ type: i0.Output, args: ["edgeMouseLeave"] }], connect: [{ type: i0.Output, args: ["connect"] }], connectStart: [{ type: i0.Output, args: ["connectStart"] }], connectEnd: [{ type: i0.Output, args: ["connectEnd"] }], clickConnectStart: [{ type: i0.Output, args: ["clickConnectStart"] }], clickConnectEnd: [{ type: i0.Output, args: ["clickConnectEnd"] }], reconnect: [{ type: i0.Output, args: ["reconnect"] }], reconnectStart: [{ type: i0.Output, args: ["reconnectStart"] }], reconnectEnd: [{ type: i0.Output, args: ["reconnectEnd"] }], paneClick: [{ type: i0.Output, args: ["paneClick"] }], paneContextMenu: [{ type: i0.Output, args: ["paneContextMenu"] }], paneMouseEnter: [{ type: i0.Output, args: ["paneMouseEnter"] }], paneMouseMove: [{ type: i0.Output, args: ["paneMouseMove"] }], paneMouseLeave: [{ type: i0.Output, args: ["paneMouseLeave"] }], paneScroll: [{ type: i0.Output, args: ["paneScroll"] }], moveStart: [{ type: i0.Output, args: ["moveStart"] }], move: [{ type: i0.Output, args: ["move"] }], moveEnd: [{ type: i0.Output, args: ["moveEnd"] }], viewportChange: [{ type: i0.Output, args: ["viewportChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], selectionDragStart: [{ type: i0.Output, args: ["selectionDragStart"] }], selectionDrag: [{ type: i0.Output, args: ["selectionDrag"] }], selectionDragStop: [{ type: i0.Output, args: ["selectionDragStop"] }], selectionStart: [{ type: i0.Output, args: ["selectionStart"] }], selectionEnd: [{ type: i0.Output, args: ["selectionEnd"] }], selectionContextMenu: [{ type: i0.Output, args: ["selectionContextMenu"] }], nodesDelete: [{ type: i0.Output, args: ["nodesDelete"] }], edgesDelete: [{ type: i0.Output, args: ["edgesDelete"] }], deleteEvent: [{ type: i0.Output, args: ["delete"] }], onBeforeDelete: [{ type: i0.Input, args: [{ isSignal: true, alias: "onBeforeDelete", required: false }] }], error: [{ type: i0.Output, args: ["error"] }], autoPanStart: [{ type: i0.Output, args: ["autoPanStart"] }], autoPanEnd: [{ type: i0.Output, args: ["autoPanEnd"] }] } });
826
+ }], ctorParameters: () => [], propDecorators: { containerRef: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], paneRef: [{ type: i0.ViewChild, args: [i0.forwardRef(() => PaneComponent), { isSignal: true }] }], nodeTypeDirectives: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NgFlowNodeTypeDirective), { isSignal: true }] }], nodesModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodes", required: false }] }], edgesModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "edges", required: false }] }], viewportModel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewport", required: false }] }], defaultNodes: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultNodes", required: false }] }], defaultEdges: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultEdges", required: false }] }], defaultViewport: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultViewport", required: false }] }], nodeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTypes", required: false }] }], edgeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgeTypes", required: false }] }], defaultEdgeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultEdgeOptions", required: false }] }], connectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionMode", required: false }] }], connectionLineType: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineType", required: false }] }], connectionLineComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineComponent", required: false }] }], connectionLineStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineStyle", required: false }] }], connectionLineContainerStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionLineContainerStyle", required: false }] }], widthInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], heightInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], nodesDraggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesDraggable", required: false }] }], nodesConnectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesConnectable", required: false }] }], nodesFocusable: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodesFocusable", required: false }] }], edgesFocusable: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgesFocusable", required: false }] }], edgesReconnectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "edgesReconnectable", required: false }] }], elementsSelectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "elementsSelectable", required: false }] }], selectNodesOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectNodesOnDrag", required: false }] }], connectOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectOnClick", required: false }] }], panOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnDrag", required: false }] }], panOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScroll", required: false }] }], panOnScrollMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScrollMode", required: false }] }], panOnScrollSpeed: [{ type: i0.Input, args: [{ isSignal: true, alias: "panOnScrollSpeed", required: false }] }], zoomOnScroll: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnScroll", required: false }] }], zoomOnPinch: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnPinch", required: false }] }], zoomOnDoubleClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomOnDoubleClick", required: false }] }], preventScrolling: [{ type: i0.Input, args: [{ isSignal: true, alias: "preventScrolling", required: false }] }], selectionOnDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionOnDrag", required: false }] }], selectionMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionMode", required: false }] }], minZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "minZoom", required: false }] }], maxZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxZoom", required: false }] }], translateExtent: [{ type: i0.Input, args: [{ isSignal: true, alias: "translateExtent", required: false }] }], nodeExtent: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeExtent", required: false }] }], snapToGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapToGrid", required: false }] }], snapGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "snapGrid", required: false }] }], fitView: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitView", required: false }] }], fitViewOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitViewOptions", required: false }] }], deleteKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteKeyCode", required: false }] }], selectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectionKeyCode", required: false }] }], panActivationKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "panActivationKeyCode", required: false }] }], multiSelectionKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSelectionKeyCode", required: false }] }], zoomActivationKeyCode: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomActivationKeyCode", required: false }] }], autoPanOnNodeDrag: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanOnNodeDrag", required: false }] }], autoPanOnConnect: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanOnConnect", required: false }] }], autoPanSpeed: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoPanSpeed", required: false }] }], connectionRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionRadius", required: false }] }], reconnectRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "reconnectRadius", required: false }] }], nodeDragThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeDragThreshold", required: false }] }], connectionDragThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "connectionDragThreshold", required: false }] }], paneClickDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "paneClickDistance", required: false }] }], nodeClickDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeClickDistance", required: false }] }], colorMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorMode", required: false }] }], elevateNodesOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevateNodesOnSelect", required: false }] }], elevateEdgesOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "elevateEdgesOnSelect", required: false }] }], onlyRenderVisibleElements: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlyRenderVisibleElements", required: false }] }], zIndexMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "zIndexMode", required: false }] }], nodeOrigin: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeOrigin", required: false }] }], defaultMarkerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultMarkerColor", required: false }] }], noDragClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noDragClassName", required: false }] }], noWheelClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noWheelClassName", required: false }] }], noPanClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "noPanClassName", required: false }] }], disableKeyboardA11y: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableKeyboardA11y", required: false }] }], ariaLabelConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelConfig", required: false }] }], isValidConnection: [{ type: i0.Input, args: [{ isSignal: true, alias: "isValidConnection", required: false }] }], proOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "proOptions", required: false }] }], attributionPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "attributionPosition", required: false }] }], hideAttribution: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideAttribution", required: false }] }], flowId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], debug: [{ type: i0.Input, args: [{ isSignal: true, alias: "debug", required: false }] }], nodesChange: [{ type: i0.Output, args: ["nodesChange"] }], edgesChange: [{ type: i0.Output, args: ["edgesChange"] }], init: [{ type: i0.Output, args: ["init"] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }], nodeDoubleClick: [{ type: i0.Output, args: ["nodeDoubleClick"] }], nodeMouseEnter: [{ type: i0.Output, args: ["nodeMouseEnter"] }], nodeMouseMove: [{ type: i0.Output, args: ["nodeMouseMove"] }], nodeMouseLeave: [{ type: i0.Output, args: ["nodeMouseLeave"] }], nodeContextMenu: [{ type: i0.Output, args: ["nodeContextMenu"] }], nodeDragStart: [{ type: i0.Output, args: ["nodeDragStart"] }], nodeDrag: [{ type: i0.Output, args: ["nodeDrag"] }], nodeDragStop: [{ type: i0.Output, args: ["nodeDragStop"] }], edgeClick: [{ type: i0.Output, args: ["edgeClick"] }], edgeDoubleClick: [{ type: i0.Output, args: ["edgeDoubleClick"] }], edgeContextMenu: [{ type: i0.Output, args: ["edgeContextMenu"] }], edgeMouseEnter: [{ type: i0.Output, args: ["edgeMouseEnter"] }], edgeMouseMove: [{ type: i0.Output, args: ["edgeMouseMove"] }], edgeMouseLeave: [{ type: i0.Output, args: ["edgeMouseLeave"] }], connect: [{ type: i0.Output, args: ["connect"] }], connectStart: [{ type: i0.Output, args: ["connectStart"] }], connectEnd: [{ type: i0.Output, args: ["connectEnd"] }], clickConnectStart: [{ type: i0.Output, args: ["clickConnectStart"] }], clickConnectEnd: [{ type: i0.Output, args: ["clickConnectEnd"] }], reconnect: [{ type: i0.Output, args: ["reconnect"] }], reconnectStart: [{ type: i0.Output, args: ["reconnectStart"] }], reconnectEnd: [{ type: i0.Output, args: ["reconnectEnd"] }], paneClick: [{ type: i0.Output, args: ["paneClick"] }], paneContextMenu: [{ type: i0.Output, args: ["paneContextMenu"] }], paneMouseEnter: [{ type: i0.Output, args: ["paneMouseEnter"] }], paneMouseMove: [{ type: i0.Output, args: ["paneMouseMove"] }], paneMouseLeave: [{ type: i0.Output, args: ["paneMouseLeave"] }], paneScroll: [{ type: i0.Output, args: ["paneScroll"] }], moveStart: [{ type: i0.Output, args: ["moveStart"] }], move: [{ type: i0.Output, args: ["move"] }], moveEnd: [{ type: i0.Output, args: ["moveEnd"] }], viewportChange: [{ type: i0.Output, args: ["viewportChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], selectionDragStart: [{ type: i0.Output, args: ["selectionDragStart"] }], selectionDrag: [{ type: i0.Output, args: ["selectionDrag"] }], selectionDragStop: [{ type: i0.Output, args: ["selectionDragStop"] }], selectionStart: [{ type: i0.Output, args: ["selectionStart"] }], selectionEnd: [{ type: i0.Output, args: ["selectionEnd"] }], selectionContextMenu: [{ type: i0.Output, args: ["selectionContextMenu"] }], nodesDelete: [{ type: i0.Output, args: ["nodesDelete"] }], edgesDelete: [{ type: i0.Output, args: ["edgesDelete"] }], deleteEvent: [{ type: i0.Output, args: ["delete"] }], onBeforeDelete: [{ type: i0.Input, args: [{ isSignal: true, alias: "onBeforeDelete", required: false }] }], error: [{ type: i0.Output, args: ["error"] }], autoPanStart: [{ type: i0.Output, args: ["autoPanStart"] }], autoPanEnd: [{ type: i0.Output, args: ["autoPanEnd"] }] } });
688
827
  //# sourceMappingURL=ng-flow.component.js.map