@angflow/angular 0.0.19 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.md +108 -15
  2. package/dist/base.css +8 -0
  3. package/dist/esm/index.d.ts +0 -1
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts +3 -1
  5. package/dist/esm/lib/agent/agent-bridge.service.js +130 -23
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -1
  7. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts +0 -1
  8. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts +0 -1
  9. package/dist/esm/lib/agent/chat/agent-chat.service.js +11 -2
  10. package/dist/esm/lib/agent/chat/agent-chat.service.js.map +1 -1
  11. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts +1 -2
  12. package/dist/esm/lib/agent/chat/default-system-prompt.js +2 -1
  13. package/dist/esm/lib/agent/chat/default-system-prompt.js.map +1 -1
  14. package/dist/esm/lib/agent/chat/index.d.ts +0 -1
  15. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts +0 -1
  16. package/dist/esm/lib/agent/chat/types.d.ts +0 -1
  17. package/dist/esm/lib/agent/history.d.ts +0 -1
  18. package/dist/esm/lib/agent/index.d.ts +0 -1
  19. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +0 -1
  20. package/dist/esm/lib/agent/tool-schemas.d.ts +0 -1
  21. package/dist/esm/lib/agent/tool-schemas.js +3 -1
  22. package/dist/esm/lib/agent/tool-schemas.js.map +1 -1
  23. package/dist/esm/lib/agent/transports/websocket.d.ts +8 -1
  24. package/dist/esm/lib/agent/transports/websocket.js +14 -2
  25. package/dist/esm/lib/agent/transports/websocket.js.map +1 -1
  26. package/dist/esm/lib/agent/transports/window.d.ts +0 -1
  27. package/dist/esm/lib/agent/transports/window.js +2 -1
  28. package/dist/esm/lib/agent/transports/window.js.map +1 -1
  29. package/dist/esm/lib/agent/types.d.ts +0 -1
  30. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +0 -1
  31. package/dist/esm/lib/components/attribution/attribution.component.d.ts +0 -1
  32. package/dist/esm/lib/components/background/background.component.d.ts +0 -1
  33. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +0 -1
  34. package/dist/esm/lib/components/controls/controls.component.d.ts +0 -1
  35. package/dist/esm/lib/components/controls/controls.component.js +2 -1
  36. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  37. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +0 -1
  38. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +7 -2
  39. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +11 -4
  40. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  41. package/dist/esm/lib/components/edges/base-edge.component.d.ts +0 -1
  42. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +0 -1
  43. package/dist/esm/lib/components/edges/bezier-edge.component.js +2 -1
  44. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  45. package/dist/esm/lib/components/edges/edge-text.component.d.ts +0 -1
  46. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +0 -1
  47. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +2 -1
  48. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  49. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +0 -1
  50. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +2 -1
  51. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  52. package/dist/esm/lib/components/edges/step-edge.component.d.ts +0 -1
  53. package/dist/esm/lib/components/edges/step-edge.component.js +2 -1
  54. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  55. package/dist/esm/lib/components/edges/straight-edge.component.d.ts +0 -1
  56. package/dist/esm/lib/components/edges/straight-edge.component.js +2 -1
  57. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  58. package/dist/esm/lib/components/handle/handle.component.d.ts +1 -1
  59. package/dist/esm/lib/components/handle/handle.component.js +13 -1
  60. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  61. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts +0 -1
  62. package/dist/esm/lib/components/handle-group/handle-row.component.d.ts +0 -1
  63. package/dist/esm/lib/components/minimap/minimap.component.d.ts +19 -17
  64. package/dist/esm/lib/components/minimap/minimap.component.js +143 -183
  65. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  66. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +13 -5
  67. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +13 -4
  68. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  69. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +2 -1
  70. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +43 -26
  71. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  72. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +0 -1
  73. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +1 -1
  74. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  75. package/dist/esm/lib/components/nodes/default-node.component.d.ts +6 -15
  76. package/dist/esm/lib/components/nodes/default-node.component.js +13 -22
  77. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  78. package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -16
  79. package/dist/esm/lib/components/nodes/group-node.component.js +8 -16
  80. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  81. package/dist/esm/lib/components/nodes/input-node.component.d.ts +6 -15
  82. package/dist/esm/lib/components/nodes/input-node.component.js +11 -20
  83. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  84. package/dist/esm/lib/components/nodes/output-node.component.d.ts +6 -15
  85. package/dist/esm/lib/components/nodes/output-node.component.js +11 -20
  86. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  87. package/dist/esm/lib/components/nodes/template-node.component.d.ts +2 -14
  88. package/dist/esm/lib/components/nodes/template-node.component.js +16 -26
  89. package/dist/esm/lib/components/nodes/template-node.component.js.map +1 -1
  90. package/dist/esm/lib/components/panel/panel.component.d.ts +0 -1
  91. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts +11 -1
  92. package/dist/esm/lib/components/selection-box/selection-box.component.js +108 -3
  93. package/dist/esm/lib/components/selection-box/selection-box.component.js.map +1 -1
  94. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +0 -1
  95. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts +27 -3
  96. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +151 -61
  97. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  98. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +4 -8
  99. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +151 -54
  100. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  101. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +7 -1
  102. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +70 -14
  103. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  104. package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
  105. package/dist/esm/lib/container/pane/pane.component.js +23 -3
  106. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  107. package/dist/esm/lib/container/viewport/viewport.component.d.ts +0 -1
  108. package/dist/esm/lib/directives/drag.directive.d.ts +1 -2
  109. package/dist/esm/lib/directives/drag.directive.js +1 -1
  110. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  111. package/dist/esm/lib/directives/drop-zone.directive.d.ts +0 -1
  112. package/dist/esm/lib/directives/key-handler.directive.d.ts +0 -1
  113. package/dist/esm/lib/directives/key-handler.directive.js +6 -2
  114. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  115. package/dist/esm/lib/directives/node-type.directive.d.ts +0 -1
  116. package/dist/esm/lib/graph/collapse.d.ts +35 -0
  117. package/dist/esm/lib/graph/collapse.js +102 -0
  118. package/dist/esm/lib/graph/collapse.js.map +1 -0
  119. package/dist/esm/lib/graph/group-bounds.d.ts +42 -0
  120. package/dist/esm/lib/graph/group-bounds.js +34 -0
  121. package/dist/esm/lib/graph/group-bounds.js.map +1 -0
  122. package/dist/esm/lib/layout/dagre-layout.d.ts +0 -1
  123. package/dist/esm/lib/layout/index.d.ts +1 -2
  124. package/dist/esm/lib/layout/index.js.map +1 -1
  125. package/dist/esm/lib/layout/layout-nodes.d.ts +39 -5
  126. package/dist/esm/lib/layout/layout-nodes.js +94 -7
  127. package/dist/esm/lib/layout/layout-nodes.js.map +1 -1
  128. package/dist/esm/lib/public-api.d.ts +4 -2
  129. package/dist/esm/lib/public-api.js +2 -1
  130. package/dist/esm/lib/public-api.js.map +1 -1
  131. package/dist/esm/lib/services/flow-store.service.d.ts +25 -2
  132. package/dist/esm/lib/services/flow-store.service.js +101 -14
  133. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  134. package/dist/esm/lib/services/ng-flow.service.d.ts +82 -7
  135. package/dist/esm/lib/services/ng-flow.service.js +210 -26
  136. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  137. package/dist/esm/lib/services/tokens.d.ts +0 -1
  138. package/dist/esm/lib/types/edges.d.ts +0 -1
  139. package/dist/esm/lib/types/general.d.ts +0 -1
  140. package/dist/esm/lib/types/index.d.ts +0 -1
  141. package/dist/esm/lib/types/node-template.d.ts +2 -1
  142. package/dist/esm/lib/types/nodes.d.ts +4 -1
  143. package/dist/esm/lib/types/store.d.ts +0 -1
  144. package/dist/esm/lib/utils/changes.d.ts +28 -2
  145. package/dist/esm/lib/utils/changes.js +57 -1
  146. package/dist/esm/lib/utils/changes.js.map +1 -1
  147. package/dist/esm/lib/utils/index.d.ts +2 -2
  148. package/dist/esm/lib/utils/index.js +2 -1
  149. package/dist/esm/lib/utils/index.js.map +1 -1
  150. package/dist/esm/lib/utils/inject-flow-store.d.ts +16 -0
  151. package/dist/esm/lib/utils/inject-flow-store.js +23 -0
  152. package/dist/esm/lib/utils/inject-flow-store.js.map +1 -0
  153. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +0 -1
  154. package/dist/esm/lib/utils/position-tween.d.ts +0 -1
  155. package/dist/esm/lib/utils/template-interpolation.d.ts +0 -1
  156. package/dist/esm/lib/utils/type-guards.d.ts +0 -1
  157. package/dist/esm/lib/utils/type-guards.js +2 -0
  158. package/dist/esm/lib/utils/type-guards.js.map +1 -1
  159. package/dist/esm/test-setup.d.ts +0 -1
  160. package/dist/style.css +8 -0
  161. package/package.json +83 -78
  162. package/dist/esm/index.d.ts.map +0 -1
  163. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +0 -1
  164. package/dist/esm/lib/agent/chat/agent-chat.component.d.ts.map +0 -1
  165. package/dist/esm/lib/agent/chat/agent-chat.service.d.ts.map +0 -1
  166. package/dist/esm/lib/agent/chat/default-system-prompt.d.ts.map +0 -1
  167. package/dist/esm/lib/agent/chat/index.d.ts.map +0 -1
  168. package/dist/esm/lib/agent/chat/provide-agent-chat.d.ts.map +0 -1
  169. package/dist/esm/lib/agent/chat/types.d.ts.map +0 -1
  170. package/dist/esm/lib/agent/history.d.ts.map +0 -1
  171. package/dist/esm/lib/agent/index.d.ts.map +0 -1
  172. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +0 -1
  173. package/dist/esm/lib/agent/tool-schemas.d.ts.map +0 -1
  174. package/dist/esm/lib/agent/transports/websocket.d.ts.map +0 -1
  175. package/dist/esm/lib/agent/transports/window.d.ts.map +0 -1
  176. package/dist/esm/lib/agent/types.d.ts.map +0 -1
  177. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +0 -1
  178. package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +0 -1
  179. package/dist/esm/lib/components/background/background.component.d.ts.map +0 -1
  180. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +0 -1
  181. package/dist/esm/lib/components/controls/controls.component.d.ts.map +0 -1
  182. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +0 -1
  183. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +0 -1
  184. package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +0 -1
  185. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +0 -1
  186. package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +0 -1
  187. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +0 -1
  188. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +0 -1
  189. package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +0 -1
  190. package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +0 -1
  191. package/dist/esm/lib/components/handle/handle.component.d.ts.map +0 -1
  192. package/dist/esm/lib/components/handle-group/handle-group.component.d.ts.map +0 -1
  193. package/dist/esm/lib/components/handle-group/handle-row.component.d.ts.map +0 -1
  194. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +0 -1
  195. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +0 -1
  196. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +0 -1
  197. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +0 -1
  198. package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +0 -1
  199. package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +0 -1
  200. package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +0 -1
  201. package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +0 -1
  202. package/dist/esm/lib/components/nodes/template-node.component.d.ts.map +0 -1
  203. package/dist/esm/lib/components/panel/panel.component.d.ts.map +0 -1
  204. package/dist/esm/lib/components/selection-box/selection-box.component.d.ts.map +0 -1
  205. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +0 -1
  206. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +0 -1
  207. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +0 -1
  208. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +0 -1
  209. package/dist/esm/lib/container/pane/pane.component.d.ts.map +0 -1
  210. package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +0 -1
  211. package/dist/esm/lib/directives/drag.directive.d.ts.map +0 -1
  212. package/dist/esm/lib/directives/drop-zone.directive.d.ts.map +0 -1
  213. package/dist/esm/lib/directives/key-handler.directive.d.ts.map +0 -1
  214. package/dist/esm/lib/directives/node-type.directive.d.ts.map +0 -1
  215. package/dist/esm/lib/layout/dagre-layout.d.ts.map +0 -1
  216. package/dist/esm/lib/layout/index.d.ts.map +0 -1
  217. package/dist/esm/lib/layout/layout-nodes.d.ts.map +0 -1
  218. package/dist/esm/lib/public-api.d.ts.map +0 -1
  219. package/dist/esm/lib/services/flow-store.service.d.ts.map +0 -1
  220. package/dist/esm/lib/services/ng-flow.service.d.ts.map +0 -1
  221. package/dist/esm/lib/services/tokens.d.ts.map +0 -1
  222. package/dist/esm/lib/types/edges.d.ts.map +0 -1
  223. package/dist/esm/lib/types/general.d.ts.map +0 -1
  224. package/dist/esm/lib/types/index.d.ts.map +0 -1
  225. package/dist/esm/lib/types/node-template.d.ts.map +0 -1
  226. package/dist/esm/lib/types/nodes.d.ts.map +0 -1
  227. package/dist/esm/lib/types/store.d.ts.map +0 -1
  228. package/dist/esm/lib/utils/changes.d.ts.map +0 -1
  229. package/dist/esm/lib/utils/index.d.ts.map +0 -1
  230. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +0 -1
  231. package/dist/esm/lib/utils/position-tween.d.ts.map +0 -1
  232. package/dist/esm/lib/utils/template-interpolation.d.ts.map +0 -1
  233. package/dist/esm/lib/utils/type-guards.d.ts.map +0 -1
  234. package/dist/esm/test-setup.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { Component, ChangeDetectionStrategy, inject, computed, output, input, signal, reflectComponentType, NO_ERRORS_SCHEMA, } from '@angular/core';
1
+ import { Component, ChangeDetectionStrategy, inject, computed, effect, output, input, signal, reflectComponentType, NO_ERRORS_SCHEMA, } from '@angular/core';
2
2
  import { CommonModule, NgComponentOutlet } from '@angular/common';
3
3
  import { getMarkerId, Position, XYHandle, getBezierPath, getSmoothStepPath, getStraightPath, getFloatingEndpoint, inferSide, } from '@angflow/system';
4
4
  import { FlowStore } from '../../services/flow-store.service';
@@ -9,8 +9,6 @@ import { SmoothStepEdgeComponent } from '../../components/edges/smooth-step-edge
9
9
  import { SimpleBezierEdgeComponent } from '../../components/edges/simple-bezier-edge.component';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common";
12
- // Keep the key set in sync with BUILT_IN_EDGE_TYPE_NAMES in services/ng-flow.service.ts.
13
- const builtInEdgeTypeNames = new Set(['default', 'bezier', 'straight', 'step', 'smoothstep', 'simplebezier']);
14
12
  const builtInEdgeTypes = {
15
13
  default: BezierEdgeComponent,
16
14
  bezier: BezierEdgeComponent,
@@ -19,39 +17,56 @@ const builtInEdgeTypes = {
19
17
  smoothstep: SmoothStepEdgeComponent,
20
18
  simplebezier: SimpleBezierEdgeComponent,
21
19
  };
22
- export class EdgeRendererComponent {
23
- constructor() {
24
- this.store = inject(FlowStore);
25
- this.reconnectRadius = input(10, ...(ngDevMode ? [{ debugName: "reconnectRadius" }] : /* istanbul ignore next */ []));
26
- /** Edge id whose reconnect anchor is currently hovered. Drives the `updating` style. */
27
- this.hoveredAnchorEdgeId = signal(null, ...(ngDevMode ? [{ debugName: "hoveredAnchorEdgeId" }] : /* istanbul ignore next */ []));
28
- /** Edge id currently being reconnected. The original path is hidden so the in-progress connection line is the only visible cue. */
29
- this.reconnectingEdgeId = signal(null, ...(ngDevMode ? [{ debugName: "reconnectingEdgeId" }] : /* istanbul ignore next */ []));
30
- this.edgeClick = output();
31
- this.edgeDoubleClick = output();
32
- this.edgeContextMenu = output();
33
- this.edgeMouseEnter = output();
34
- this.edgeMouseMove = output();
35
- this.edgeMouseLeave = output();
36
- this.customEdgeTypes = input({}, ...(ngDevMode ? [{ debugName: "customEdgeTypes" }] : /* istanbul ignore next */ []));
37
- this.reconnect = output();
38
- this.reconnectStart = output();
39
- this.reconnectEnd = output();
40
- this.visibleEdges = computed(() => {
41
- const visibleIds = this.store.visibleEdgeIds();
42
- return this.store.edges().filter((e) => visibleIds.has(e.id));
43
- }, ...(ngDevMode ? [{ debugName: "visibleEdges" }] : /* istanbul ignore next */ []));
44
- this.markers = computed(() => {
45
- const edges = this.store.edges();
46
- const markerMap = new Map();
47
- for (const edge of edges) {
48
- this.addMarker(markerMap, edge.markerStart);
49
- this.addMarker(markerMap, edge.markerEnd);
50
- }
51
- return Array.from(markerMap.values());
52
- }, ...(ngDevMode ? [{ debugName: "markers" }] : /* istanbul ignore next */ []));
53
- this.declaredInputsCache = new WeakMap();
20
+ /**
21
+ * Pure, identity-free fingerprint of everything that affects an edge's
22
+ * geometry: endpoint absolute positions, node sizes, and the global edge
23
+ * mode (plus the flow id, which feeds marker URLs). Used as the memo key so
24
+ * a dragged node (position change) or a remeasure (size change) invalidates
25
+ * the cached inputs while an unchanged frame stays a cheap string-equal hit.
26
+ */
27
+ export function computeEdgeGeometryKey(edge, sourceNode, targetNode, edgeMode, rfId = '') {
28
+ const sp = sourceNode?.internals?.positionAbsolute ?? sourceNode?.position;
29
+ const tp = targetNode?.internals?.positionAbsolute ?? targetNode?.position;
30
+ return [
31
+ edgeMode,
32
+ rfId,
33
+ sp?.x ?? 0, sp?.y ?? 0,
34
+ sourceNode?.measured?.width ?? sourceNode?.width ?? 150,
35
+ sourceNode?.measured?.height ?? sourceNode?.height ?? 40,
36
+ tp?.x ?? 0, tp?.y ?? 0,
37
+ targetNode?.measured?.width ?? targetNode?.width ?? 150,
38
+ targetNode?.measured?.height ?? targetNode?.height ?? 40,
39
+ ].join(':');
40
+ }
41
+ /**
42
+ * Computes an edge's SVG path string from a built inputs object. Byte-for-byte
43
+ * equivalent to the inline switch the template used to call per binding —
44
+ * extracted so the memo can compute it exactly once per inputs build.
45
+ */
46
+ export function computeEdgePathFromInputs(ei) {
47
+ const type = ei['type'] || 'default';
48
+ const params = {
49
+ sourceX: ei['sourceX'],
50
+ sourceY: ei['sourceY'],
51
+ targetX: ei['targetX'],
52
+ targetY: ei['targetY'],
53
+ sourcePosition: (ei['sourcePosition'] ?? Position.Bottom),
54
+ targetPosition: (ei['targetPosition'] ?? Position.Top),
55
+ };
56
+ switch (type) {
57
+ case 'straight':
58
+ return getStraightPath(params)[0];
59
+ case 'step':
60
+ return getSmoothStepPath({ ...params, borderRadius: 0 })[0];
61
+ case 'smoothstep':
62
+ return getSmoothStepPath(params)[0];
63
+ case 'default':
64
+ case 'bezier':
65
+ default:
66
+ return getBezierPath(params)[0];
54
67
  }
68
+ }
69
+ export class EdgeRendererComponent {
55
70
  isCustomEdge(type) {
56
71
  const resolvedType = type || 'default';
57
72
  // It's custom if the user registered a type AND it's not a built-in name,
@@ -87,27 +102,12 @@ export class EdgeRendererComponent {
87
102
  return Math.max(sourceZ, targetZ);
88
103
  }
89
104
  getEdgePath(ei) {
90
- const type = ei['type'] || 'default';
91
- const params = {
92
- sourceX: ei['sourceX'],
93
- sourceY: ei['sourceY'],
94
- targetX: ei['targetX'],
95
- targetY: ei['targetY'],
96
- sourcePosition: (ei['sourcePosition'] ?? Position.Bottom),
97
- targetPosition: (ei['targetPosition'] ?? Position.Top),
98
- };
99
- switch (type) {
100
- case 'straight':
101
- return getStraightPath(params)[0];
102
- case 'step':
103
- return getSmoothStepPath({ ...params, borderRadius: 0 })[0];
104
- case 'smoothstep':
105
- return getSmoothStepPath(params)[0];
106
- case 'default':
107
- case 'bezier':
108
- default:
109
- return getBezierPath(params)[0];
110
- }
105
+ // Fast path: the inputs object is the exact one we memoized, so its path
106
+ // was already computed. Identity match guarantees same geometry.
107
+ const entry = this.edgeMemo.get(ei['id']);
108
+ if (entry && entry.inputs === ei)
109
+ return entry.path;
110
+ return computeEdgePathFromInputs(ei);
111
111
  }
112
112
  getEdgeComponent(type) {
113
113
  const resolvedType = type || 'default';
@@ -134,7 +134,8 @@ export class EdgeRendererComponent {
134
134
  this.declaredInputsCache.set(Component, set);
135
135
  return set;
136
136
  }
137
- getEdgeInputs(edge) {
137
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
138
+ buildEdgeInputs(edge) {
138
139
  const sourceNode = this.store.nodeLookup.get(edge.source);
139
140
  const targetNode = this.store.nodeLookup.get(edge.target);
140
141
  const sourceHandle = sourceNode?.internals?.handleBounds?.source?.find((h) => h.id === edge.sourceHandle || (!edge.sourceHandle && h.id === null)) ?? sourceNode?.internals?.handleBounds?.source?.[0];
@@ -229,10 +230,94 @@ export class EdgeRendererComponent {
229
230
  targetHandle: enrichedTargetHandle,
230
231
  };
231
232
  }
233
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
234
+ getEdgeInputs(edge) {
235
+ const sourceNode = this.store.nodeLookup.get(edge.source);
236
+ const targetNode = this.store.nodeLookup.get(edge.target);
237
+ // These signal reads happen on hit AND miss so the template stays
238
+ // subscribed to handle-data / edge-mode / flow-id changes (zoneless
239
+ // reactivity: a hit that skipped a read would drop the subscription).
240
+ const handleData = this.store.handleDataRegistry();
241
+ const key = computeEdgeGeometryKey(edge, sourceNode, targetNode, this.store.edgeMode(), this.store.rfId());
242
+ const cached = this.edgeMemo.get(edge.id);
243
+ if (cached &&
244
+ cached.key === key &&
245
+ cached.edge === edge &&
246
+ cached.handleData === handleData &&
247
+ cached.sourceHandleBounds === sourceNode?.internals?.handleBounds &&
248
+ cached.targetHandleBounds === targetNode?.internals?.handleBounds) {
249
+ return cached.inputs;
250
+ }
251
+ const inputs = this.buildEdgeInputs(edge);
252
+ this.edgeMemo.set(edge.id, {
253
+ key,
254
+ edge,
255
+ handleData,
256
+ sourceHandleBounds: sourceNode?.internals?.handleBounds,
257
+ targetHandleBounds: targetNode?.internals?.handleBounds,
258
+ inputs,
259
+ path: computeEdgePathFromInputs(inputs),
260
+ });
261
+ return inputs;
262
+ }
263
+ constructor() {
264
+ this.store = inject(FlowStore);
265
+ this.reconnectRadius = input(10, ...(ngDevMode ? [{ debugName: "reconnectRadius" }] : /* istanbul ignore next */ []));
266
+ /** Edge id whose reconnect anchor is currently hovered. Drives the `updating` style. */
267
+ this.hoveredAnchorEdgeId = signal(null, ...(ngDevMode ? [{ debugName: "hoveredAnchorEdgeId" }] : /* istanbul ignore next */ []));
268
+ /** Edge id currently being reconnected. The original path is hidden so the in-progress connection line is the only visible cue. */
269
+ this.reconnectingEdgeId = signal(null, ...(ngDevMode ? [{ debugName: "reconnectingEdgeId" }] : /* istanbul ignore next */ []));
270
+ this.edgeClick = output();
271
+ this.edgeDoubleClick = output();
272
+ this.edgeContextMenu = output();
273
+ this.edgeMouseEnter = output();
274
+ this.edgeMouseMove = output();
275
+ this.edgeMouseLeave = output();
276
+ this.customEdgeTypes = input({}, ...(ngDevMode ? [{ debugName: "customEdgeTypes" }] : /* istanbul ignore next */ []));
277
+ this.reconnect = output();
278
+ this.reconnectStart = output();
279
+ this.reconnectEnd = output();
280
+ this.visibleEdges = computed(() => {
281
+ const edges = this.store.displayEdges();
282
+ if (!this.store.onlyRenderVisibleElements())
283
+ return edges;
284
+ const visibleNodeIds = new Set(this.store.visibleNodes().map((n) => n.id));
285
+ return edges.filter((e) => visibleNodeIds.has(e.source) && visibleNodeIds.has(e.target));
286
+ }, ...(ngDevMode ? [{ debugName: "visibleEdges" }] : /* istanbul ignore next */ []));
287
+ this.markers = computed(() => {
288
+ const edges = this.store.edges();
289
+ const markerMap = new Map();
290
+ for (const edge of edges) {
291
+ this.addMarker(markerMap, edge.markerStart);
292
+ this.addMarker(markerMap, edge.markerEnd);
293
+ }
294
+ return Array.from(markerMap.values());
295
+ }, ...(ngDevMode ? [{ debugName: "markers" }] : /* istanbul ignore next */ []));
296
+ this.declaredInputsCache = new WeakMap();
297
+ /**
298
+ * Per-edge memo of the built inputs object and its computed path. The
299
+ * template calls getEdgeInputs(edge) up to 3x per edge (main SVG, custom-edge
300
+ * overlay, label) and getEdgePath() twice; without this each call rebuilt the
301
+ * inputs and recomputed the path. Cached on edge id, validated against a
302
+ * geometry fingerprint plus reference identities for the inputs that don't
303
+ * appear in the key (edge object, handle-data map, handle bounds).
304
+ */
305
+ this.edgeMemo = new Map();
306
+ // Drop memo entries for edges that no longer exist (unbounded-growth
307
+ // guard). Keyed off edges() — the source list — NOT displayEdges(), so it
308
+ // doesn't re-run on every render frame.
309
+ effect(() => {
310
+ const ids = new Set(this.store.edges().map((e) => e.id));
311
+ for (const id of this.edgeMemo.keys()) {
312
+ if (!ids.has(id))
313
+ this.edgeMemo.delete(id);
314
+ }
315
+ });
316
+ }
232
317
  onEdgeEvent(event, edge, eventType) {
233
318
  switch (eventType) {
234
319
  case 'click':
235
- if (this.store.elementsSelectable()) {
320
+ if (this.store.elementsSelectable() && edge.selectable !== false) {
236
321
  this.store.addSelectedEdges([edge.id]);
237
322
  }
238
323
  this.edgeClick.emit({ event, edge });
@@ -259,13 +344,13 @@ export class EdgeRendererComponent {
259
344
  this.store.unselectNodesAndEdges({ edges: [edge] });
260
345
  }
261
346
  else if (event.key === 'Enter') {
262
- if (this.store.elementsSelectable()) {
347
+ if (this.store.elementsSelectable() && edge.selectable !== false) {
263
348
  this.store.addSelectedEdges([edge.id]);
264
349
  }
265
350
  }
266
351
  }
267
352
  onEdgeFocus(edge) {
268
- if (this.store.elementsSelectable() && !edge.selected) {
353
+ if (this.store.elementsSelectable() && edge.selectable !== false && !edge.selected) {
269
354
  this.store.addSelectedEdges([edge.id]);
270
355
  }
271
356
  }
@@ -349,6 +434,8 @@ export class EdgeRendererComponent {
349
434
  autoPanSpeed: store.autoPanSpeed(),
350
435
  dragThreshold: store.connectionDragThreshold(),
351
436
  handleDomNode: event.currentTarget,
437
+ // Variance-forced: validator is declared (EdgeType|Connection)=>boolean but the
438
+ // system only ever calls it with a Connection; contravariance blocks a direct assign.
352
439
  isValidConnection: store.isValidConnection(),
353
440
  onConnect: (connection) => {
354
441
  this.reconnect.emit({ edge, connection });
@@ -361,6 +448,7 @@ export class EdgeRendererComponent {
361
448
  onConnectionTargetChange: (nodeId) => {
362
449
  store.connectionTargetNodeId.set(nodeId);
363
450
  },
451
+ isNodeVisible: (n) => !store.collapsedHiddenIds().has(n.id),
364
452
  });
365
453
  }
366
454
  addMarker(map, marker) {
@@ -535,6 +623,7 @@ export class EdgeRendererComponent {
535
623
  @let ei = getEdgeInputs(edge);
536
624
  <div
537
625
  class="xy-flow__edge-label"
626
+ [attr.data-id]="edge.id"
538
627
  [style.position]="'absolute'"
539
628
  [style.transform]="'translate(-50%, -50%) translate(' + getEdgeCenterX(ei) + 'px, ' + getEdgeCenterY(ei) + 'px)'"
540
629
  [style.pointer-events]="'all'"
@@ -714,6 +803,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
714
803
  @let ei = getEdgeInputs(edge);
715
804
  <div
716
805
  class="xy-flow__edge-label"
806
+ [attr.data-id]="edge.id"
717
807
  [style.position]="'absolute'"
718
808
  [style.transform]="'translate(-50%, -50%) translate(' + getEdgeCenterX(ei) + 'px, ' + getEdgeCenterY(ei) + 'px)'"
719
809
  [style.pointer-events]="'all'"
@@ -725,5 +815,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
725
815
  </div>
726
816
  `,
727
817
  }]
728
- }], propDecorators: { reconnectRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "reconnectRadius", required: false }] }], 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"] }], customEdgeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "customEdgeTypes", required: false }] }], reconnect: [{ type: i0.Output, args: ["reconnect"] }], reconnectStart: [{ type: i0.Output, args: ["reconnectStart"] }], reconnectEnd: [{ type: i0.Output, args: ["reconnectEnd"] }] } });
818
+ }], ctorParameters: () => [], propDecorators: { reconnectRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "reconnectRadius", required: false }] }], 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"] }], customEdgeTypes: [{ type: i0.Input, args: [{ isSignal: true, alias: "customEdgeTypes", required: false }] }], reconnect: [{ type: i0.Output, args: ["reconnect"] }], reconnectStart: [{ type: i0.Output, args: ["reconnectStart"] }], reconnectEnd: [{ type: i0.Output, args: ["reconnectEnd"] }] } });
729
819
  //# sourceMappingURL=edge-renderer.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edge-renderer.component.js","sourceRoot":"","sources":["../../../../../src/lib/container/edge-renderer/edge-renderer.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edge-renderer.component.js","sourceRoot":"","sources":["../../../../../src/lib/container/edge-renderer/edge-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,uBAAuB,EACvB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAK,EACL,MAAM,EACN,oBAAoB,EAEpB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,SAAS,GAOV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;;;AAGhG,MAAM,gBAAgB,GAAc;IAClC,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,iBAAiB;IACvB,UAAU,EAAE,uBAAuB;IACnC,YAAY,EAAE,yBAAyB;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAU,EACV,UAAoC,EACpC,UAAoC,EACpC,QAAgC,EAChC,IAAI,GAAG,EAAE;IAET,MAAM,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,gBAAgB,IAAI,UAAU,EAAE,QAAQ,CAAC;IAC3E,MAAM,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,gBAAgB,IAAI,UAAU,EAAE,QAAQ,CAAC;IAC3E,OAAO;QACL,QAAQ;QACR,IAAI;QACJ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QACtB,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,GAAG;QACvD,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE;QACxD,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;QACtB,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,GAAG;QACvD,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE;KACzD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,EAA2B;IACnE,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;IACrC,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,EAAE,CAAC,SAAS,CAAW;QAChC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAW;QAChC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAW;QAChC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAW;QAChC,cAAc,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAa;QACrE,cAAc,EAAE,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAa;KACnE,CAAC;IAEF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,MAAM;YACT,OAAO,iBAAiB,CAAC,EAAE,GAAG,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,KAAK,YAAY;YACf,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd;YACE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAoLD,MAAM,OAAO,qBAAqB;IAyChC,YAAY,CAAC,IAAa;QACxB,MAAM,YAAY,GAAG,IAAI,IAAI,SAAS,CAAC;QACvC,0EAA0E;QAC1E,2EAA2E;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,OAAO,YAAY,IAAI,WAAW,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,IAAU;QACvB,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAED,eAAe,CAAC,IAAU;QACxB,IAAI,GAAG,GAAG,uBAAuB,CAAC;QAClC,IAAI,IAAI,CAAC,QAAQ;YAAE,GAAG,IAAI,WAAW,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ;YAAE,GAAG,IAAI,WAAW,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS;YAAE,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC;QAChD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,gBAAgB,CAAC,IAAU;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2C,CAAC;QAC/D,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,aAAa,CAAC,IAAU;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,WAAW,CAAC,EAA2B;QACrC,yEAAyE;QACzE,iEAAiE;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAW,CAAC,CAAC;QACpD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC;QACpD,OAAO,yBAAyB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB,CAAC,IAAa;QAC5B,MAAM,YAAY,GAAG,IAAI,IAAI,SAAS,CAAC;QACvC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC;IACvG,CAAC;IAID;;;;;OAKG;IACH,sBAAsB,CAAC,IAAU,EAAE,GAA4B;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ;YAAE,OAAO,GAAG,CAAC;QAC1B,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEO,iBAAiB,CAAC,SAAwB;QAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC;IAED,8DAA8D;IACtD,eAAe,CAAC,IAAU;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,YAAY,GAAG,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAC3E,IAAI,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,YAAY,GAAG,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAC3E,IAAI,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,oBAAoB,GAAG,YAAY;YACvC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,EAAE,QAAQ,CAAC,EAAE;YACrG,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,oBAAoB,GAAG,YAAY;YACvC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,EAAE,QAAQ,CAAC,EAAE;YACrG,CAAC,CAAC,IAAI,CAAC;QAET,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,gBAAgB,IAAI,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,EAAE,gBAAgB,IAAI,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAEpG,MAAM,OAAO,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,GAAG,CAAC;QACxE,MAAM,OAAO,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,UAAU,EAAE,QAAQ,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,IAAI,GAAG,CAAC;QACxE,MAAM,OAAO,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,IAAI,EAAE,CAAC;QAEzE,IAAI,OAAe,EAAE,OAAe,EAAE,OAAe,EAAE,OAAe,CAAC;QACvE,IAAI,MAAM,GAAG,YAAY,EAAE,QAAQ,IAAK,IAAgC,CAAC,cAA0B,IAAI,QAAQ,CAAC,MAAM,CAAC;QACvH,IAAI,MAAM,GAAG,YAAY,EAAE,QAAQ,IAAK,IAAgC,CAAC,cAA0B,IAAI,QAAQ,CAAC,GAAG,CAAC;QAEpH,6FAA6F;QAC7F,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QAC/C,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,UAAU,CAAC;QAC1D,MAAM,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC;QACxF,MAAM,cAAc,GAAG,CAAC,UAAU,IAAI,CAAC,YAAY,IAAI,YAAY,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC;QAExF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACvF,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAEvF,mEAAmE;QACnE,MAAM,SAAS,GAAG,cAAc;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACrF,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvI,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,cAAc;YAC9B,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACrF,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE;gBACvI,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAEtF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC;QAClC,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACrD,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;aAAM,IAAI,YAAY,EAAE,CAAC;YACxB,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YACpC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC;QACxB,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO;YACP,OAAO;YACP,OAAO;YACP,OAAO;YACP,cAAc,EAAE,MAAM;YACtB,cAAc,EAAE,MAAM;YACtB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAqC,CAAC;YAC1E,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAmC,CAAC;YACtE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAG,IAAgC,CAAC,WAAW;YAC1D,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,cAAc,EAAE,IAAI,CAAC,YAAY;YACjC,YAAY,EAAE,oBAAoB;YAClC,YAAY,EAAE,oBAAoB;SACnC,CAAC;IACJ,CAAC;IAqBD,8DAA8D;IAC9D,aAAa,CAAC,IAAU;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,kEAAkE;QAClE,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,sBAAsB,CAChC,IAAI,EACJ,UAAU,EACV,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EACrB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAClB,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1C,IACE,MAAM;YACN,MAAM,CAAC,GAAG,KAAK,GAAG;YAClB,MAAM,CAAC,IAAI,KAAK,IAAI;YACpB,MAAM,CAAC,UAAU,KAAK,UAAU;YAChC,MAAM,CAAC,kBAAkB,KAAK,UAAU,EAAE,SAAS,EAAE,YAAY;YACjE,MAAM,CAAC,kBAAkB,KAAK,UAAU,EAAE,SAAS,EAAE,YAAY,EACjE,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACvB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACzB,GAAG;YACH,IAAI;YACJ,UAAU;YACV,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;YACvD,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;YACvD,MAAM;YACN,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC;SACxC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;QAxRS,UAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAE1B,oBAAe,GAAG,KAAK,CAAC,EAAE,sFAAC,CAAC;QAErC,wFAAwF;QAC/E,wBAAmB,GAAG,MAAM,CAAgB,IAAI,0FAAC,CAAC;QAC3D,mIAAmI;QAC1H,uBAAkB,GAAG,MAAM,CAAgB,IAAI,yFAAC,CAAC;QAEjD,cAAS,GAAG,MAAM,EAAqC,CAAC;QACxD,oBAAe,GAAG,MAAM,EAAqC,CAAC;QAC9D,oBAAe,GAAG,MAAM,EAAqC,CAAC;QAC9D,mBAAc,GAAG,MAAM,EAAqC,CAAC;QAC7D,kBAAa,GAAG,MAAM,EAAqC,CAAC;QAC5D,mBAAc,GAAG,MAAM,EAAqC,CAAC;QAC7D,oBAAe,GAAG,KAAK,CAAY,EAAE,sFAAC,CAAC;QAEvC,cAAS,GAAG,MAAM,EAA0C,CAAC;QAC7D,mBAAc,GAAG,MAAM,EAA6D,CAAC;QACrF,iBAAY,GAAG,MAAM,EAAiH,CAAC;QAEvI,iBAAY,GAAG,QAAQ,CAAC,GAAG,EAAE;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC1D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3F,CAAC,mFAAC,CAAC;QAEM,YAAO,GAAG,QAAQ,CAAC,GAAG,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;YAE7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,WAAqC,CAAC,CAAC;gBACtE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAmC,CAAC,CAAC;YACtE,CAAC;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,CAAC,8EAAC,CAAC;QAiDK,wBAAmB,GAAG,IAAI,OAAO,EAAqC,CAAC;QAqI/E;;;;;;;WAOG;QACc,aAAQ,GAAG,IAAI,GAAG,EAS/B,CAAC;QA4CH,qEAAqE;QACrE,0EAA0E;QAC1E,wCAAwC;QACxC,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjE,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,KAAiB,EAAE,IAAU,EAAE,SAAiB;QAC1D,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,OAAO;gBACV,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;oBACjE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,CAAC;gBACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM;QACV,CAAC;IACH,CAAC;IAED,aAAa,CAAC,KAAoB,EAAE,IAAU;QAC5C,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;gBACjE,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,WAAW,CAAC,IAAU;QACpB,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,cAAc,CAAC,EAA2B;QACxC,OAAO,CAAE,EAAE,CAAC,SAAS,CAAY,GAAI,EAAE,CAAC,SAAS,CAAY,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,EAA2B;QACxC,OAAO,CAAE,EAAE,CAAC,SAAS,CAAY,GAAI,EAAE,CAAC,SAAS,CAAY,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB,CAAC,IAAU;QACzB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,OAAO,aAAa,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC5B,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,KAAa,EAAE,QAAgB;QAC/C,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QACjD,IAAI,QAAQ,KAAK,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAClD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,CAAS,EAAE,KAAa,EAAE,QAAgB;QAC/C,IAAI,QAAQ,KAAK,QAAQ,CAAC,GAAG;YAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QAChD,IAAI,QAAQ,KAAK,QAAQ,CAAC,MAAM;YAAE,OAAO,CAAC,GAAG,KAAK,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,0BAA0B,CAAC,KAAiB,EAAE,IAAU;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YAC7B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,KAAiB,EAAE,IAAU;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,EAAE,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YAC7B,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,IAAI,IAAI,CAAC,mBAAmB,EAAE,KAAK,MAAM;YAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAEO,mBAAmB,CACzB,KAAiB,EACjB,IAAU,EACV,cAAuE;QAEvE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC;QAElD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAErC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE;YAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC1C,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE;YACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EAAE;YAC1C,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YACxB,QAAQ,EAAE,cAAc,CAAC,EAAE;YAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ;YACR,eAAe,EAAE,cAAc,CAAC,IAAI;YACpC,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE;YACpB,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAChD,KAAK,EAAE,CAAC,KAA+B,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9D,gBAAgB,EAAE,CAAC,IAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzE,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE;YACrC,aAAa,EAAE,GAAG,EAAE;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,CAAC;YACD,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;YAClC,aAAa,EAAE,KAAK,CAAC,uBAAuB,EAAE;YAC9C,aAAa,EAAE,KAAK,CAAC,aAAwB;YAC7C,gFAAgF;YAChF,sFAAsF;YACtF,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAkC;YAC5E,SAAS,EAAE,CAAC,UAAsB,EAAE,EAAE;gBACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YAC5C,CAAC;YACD,cAAc,EAAE,CAAC,GAA4B,EAAE,eAAqC,EAAE,EAAE;gBACtF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YACjG,CAAC;YACD,wBAAwB,EAAE,CAAC,MAAqB,EAAE,EAAE;gBAClD,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3C,CAAC;YACD,aAAa,EAAE,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,GAAyC,EAAE,MAA8B;QACzF,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO;QAClD,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,YAAY,CAAC,MAAuC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAC9C,OAAO,SAAS,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC;IAC7D,CAAC;+GAncU,qBAAqB;mGAArB,qBAAqB,s1BAxKtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsKT,2DA7KS,YAAY;;4FA+KX,qBAAqB;kBAlLjC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,CAAC;oBAC1C,OAAO,EAAE,CAAC,gBAAgB,CAAC;oBAC3B,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE;wBACJ,OAAO,EAAE,+BAA+B;wBACxC,OAAO,EAAE,uFAAuF;qBACjG;oBACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsKT;iBACF"}
@@ -52,7 +52,7 @@ export declare class NgFlowComponent<NodeType extends Node = Node, EdgeType exte
52
52
  readonly nodesModel: import("@angular/core").InputSignal<NodeType[]>;
53
53
  /** Edges to render. Re-bind from `(edgesChange)` after running deltas through `applyEdgeChanges` to stay in sync. */
54
54
  readonly edgesModel: import("@angular/core").InputSignal<EdgeType[]>;
55
- /** Current viewport (`{ x, y, zoom }`). Fires `(viewportChange)` on pan/zoom. */
55
+ /** Controlled viewport ({ x, y, zoom }). Re-bind from (viewportChange) to keep it in sync; equal values are not re-applied. */
56
56
  readonly viewportModel: import("@angular/core").InputSignal<Viewport | undefined>;
57
57
  /** Initial nodes for uncontrolled mode. Ignored when `[nodes]` is bound. */
58
58
  readonly defaultNodes: import("@angular/core").InputSignal<NodeType[] | undefined>;
@@ -151,6 +151,8 @@ export declare class NgFlowComponent<NodeType extends Node = Node, EdgeType exte
151
151
  readonly autoPanOnConnect: import("@angular/core").InputSignal<boolean>;
152
152
  /** Pixels-per-frame speed for auto-pan. */
153
153
  readonly autoPanSpeed: import("@angular/core").InputSignal<number>;
154
+ /** Pan the viewport automatically when a node receives keyboard focus. */
155
+ readonly autoPanOnNodeFocus: import("@angular/core").InputSignal<boolean>;
154
156
  /** Radius (in px) within which a handle is considered a valid connection target. */
155
157
  readonly connectionRadius: import("@angular/core").InputSignal<number>;
156
158
  /** Radius (in px) within which an edge endpoint is considered a valid reconnection target. */
@@ -431,17 +433,12 @@ export declare class NgFlowComponent<NodeType extends Node = Node, EdgeType exte
431
433
  id: string;
432
434
  message: string;
433
435
  }>;
434
- /** Reserved — fires when auto-pan begins. Not yet wired. */
435
- readonly autoPanStart: import("@angular/core").OutputEmitterRef<void>;
436
- /** Reserved — fires when auto-pan ends. Not yet wired. */
437
- readonly autoPanEnd: import("@angular/core").OutputEmitterRef<void>;
438
436
  private lastNodesRef;
439
437
  private lastEdgesRef;
440
438
  constructor();
441
439
  ngOnInit(): void;
442
440
  ngAfterViewInit(): void;
443
441
  ngOnDestroy(): void;
444
- private doFitView;
445
442
  private panePointerDownPos;
446
443
  onPanePointerDown(event: PointerEvent): void;
447
444
  onPaneClick(event: MouseEvent): void;
@@ -449,6 +446,5 @@ export declare class NgFlowComponent<NodeType extends Node = Node, EdgeType exte
449
446
  private initPanZoom;
450
447
  private updatePanZoomOptions;
451
448
  static ɵfac: i0.ɵɵFactoryDeclaration<NgFlowComponent<any, any>, never>;
452
- static ɵcmp: i0.ɵɵComponentDeclaration<NgFlowComponent<any, any>, "ng-flow", never, { "nodesModel": { "alias": "nodes"; "required": false; "isSignal": true; }; "edgesModel": { "alias": "edges"; "required": false; "isSignal": true; }; "viewportModel": { "alias": "viewport"; "required": false; "isSignal": true; }; "defaultNodes": { "alias": "defaultNodes"; "required": false; "isSignal": true; }; "defaultEdges": { "alias": "defaultEdges"; "required": false; "isSignal": true; }; "defaultViewport": { "alias": "defaultViewport"; "required": false; "isSignal": true; }; "nodeTypes": { "alias": "nodeTypes"; "required": false; "isSignal": true; }; "edgeTypes": { "alias": "edgeTypes"; "required": false; "isSignal": true; }; "defaultEdgeOptions": { "alias": "defaultEdgeOptions"; "required": false; "isSignal": true; }; "connectionMode": { "alias": "connectionMode"; "required": false; "isSignal": true; }; "connectionLineType": { "alias": "connectionLineType"; "required": false; "isSignal": true; }; "connectionLineComponent": { "alias": "connectionLineComponent"; "required": false; "isSignal": true; }; "connectionLineStyle": { "alias": "connectionLineStyle"; "required": false; "isSignal": true; }; "connectionLineContainerStyle": { "alias": "connectionLineContainerStyle"; "required": false; "isSignal": true; }; "widthInput": { "alias": "width"; "required": false; "isSignal": true; }; "heightInput": { "alias": "height"; "required": false; "isSignal": true; }; "nodesDraggable": { "alias": "nodesDraggable"; "required": false; "isSignal": true; }; "nodesConnectable": { "alias": "nodesConnectable"; "required": false; "isSignal": true; }; "nodesFocusable": { "alias": "nodesFocusable"; "required": false; "isSignal": true; }; "edgesFocusable": { "alias": "edgesFocusable"; "required": false; "isSignal": true; }; "edgesReconnectable": { "alias": "edgesReconnectable"; "required": false; "isSignal": true; }; "elementsSelectable": { "alias": "elementsSelectable"; "required": false; "isSignal": true; }; "selectNodesOnDrag": { "alias": "selectNodesOnDrag"; "required": false; "isSignal": true; }; "connectOnClick": { "alias": "connectOnClick"; "required": false; "isSignal": true; }; "panOnDrag": { "alias": "panOnDrag"; "required": false; "isSignal": true; }; "panOnScroll": { "alias": "panOnScroll"; "required": false; "isSignal": true; }; "panOnScrollMode": { "alias": "panOnScrollMode"; "required": false; "isSignal": true; }; "panOnScrollSpeed": { "alias": "panOnScrollSpeed"; "required": false; "isSignal": true; }; "zoomOnScroll": { "alias": "zoomOnScroll"; "required": false; "isSignal": true; }; "zoomOnPinch": { "alias": "zoomOnPinch"; "required": false; "isSignal": true; }; "zoomOnDoubleClick": { "alias": "zoomOnDoubleClick"; "required": false; "isSignal": true; }; "preventScrolling": { "alias": "preventScrolling"; "required": false; "isSignal": true; }; "selectionOnDrag": { "alias": "selectionOnDrag"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "minZoom": { "alias": "minZoom"; "required": false; "isSignal": true; }; "maxZoom": { "alias": "maxZoom"; "required": false; "isSignal": true; }; "translateExtent": { "alias": "translateExtent"; "required": false; "isSignal": true; }; "nodeExtent": { "alias": "nodeExtent"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapGrid": { "alias": "snapGrid"; "required": false; "isSignal": true; }; "fitView": { "alias": "fitView"; "required": false; "isSignal": true; }; "fitViewOptions": { "alias": "fitViewOptions"; "required": false; "isSignal": true; }; "deleteKeyCode": { "alias": "deleteKeyCode"; "required": false; "isSignal": true; }; "selectionKeyCode": { "alias": "selectionKeyCode"; "required": false; "isSignal": true; }; "panActivationKeyCode": { "alias": "panActivationKeyCode"; "required": false; "isSignal": true; }; "multiSelectionKeyCode": { "alias": "multiSelectionKeyCode"; "required": false; "isSignal": true; }; "zoomActivationKeyCode": { "alias": "zoomActivationKeyCode"; "required": false; "isSignal": true; }; "autoPanOnNodeDrag": { "alias": "autoPanOnNodeDrag"; "required": false; "isSignal": true; }; "autoPanOnConnect": { "alias": "autoPanOnConnect"; "required": false; "isSignal": true; }; "autoPanSpeed": { "alias": "autoPanSpeed"; "required": false; "isSignal": true; }; "connectionRadius": { "alias": "connectionRadius"; "required": false; "isSignal": true; }; "reconnectRadius": { "alias": "reconnectRadius"; "required": false; "isSignal": true; }; "nodeDragThreshold": { "alias": "nodeDragThreshold"; "required": false; "isSignal": true; }; "connectionDragThreshold": { "alias": "connectionDragThreshold"; "required": false; "isSignal": true; }; "paneClickDistance": { "alias": "paneClickDistance"; "required": false; "isSignal": true; }; "nodeClickDistance": { "alias": "nodeClickDistance"; "required": false; "isSignal": true; }; "colorMode": { "alias": "colorMode"; "required": false; "isSignal": true; }; "elevateNodesOnSelect": { "alias": "elevateNodesOnSelect"; "required": false; "isSignal": true; }; "elevateEdgesOnSelect": { "alias": "elevateEdgesOnSelect"; "required": false; "isSignal": true; }; "onlyRenderVisibleElements": { "alias": "onlyRenderVisibleElements"; "required": false; "isSignal": true; }; "zIndexMode": { "alias": "zIndexMode"; "required": false; "isSignal": true; }; "nodeOrigin": { "alias": "nodeOrigin"; "required": false; "isSignal": true; }; "defaultMarkerColor": { "alias": "defaultMarkerColor"; "required": false; "isSignal": true; }; "edgeMode": { "alias": "edgeMode"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "noDragClassName": { "alias": "noDragClassName"; "required": false; "isSignal": true; }; "noWheelClassName": { "alias": "noWheelClassName"; "required": false; "isSignal": true; }; "noPanClassName": { "alias": "noPanClassName"; "required": false; "isSignal": true; }; "disableKeyboardA11y": { "alias": "disableKeyboardA11y"; "required": false; "isSignal": true; }; "ariaLabelConfig": { "alias": "ariaLabelConfig"; "required": false; "isSignal": true; }; "isValidConnection": { "alias": "isValidConnection"; "required": false; "isSignal": true; }; "proOptions": { "alias": "proOptions"; "required": false; "isSignal": true; }; "attributionPosition": { "alias": "attributionPosition"; "required": false; "isSignal": true; }; "hideAttribution": { "alias": "hideAttribution"; "required": false; "isSignal": true; }; "flowId": { "alias": "id"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "onBeforeDelete": { "alias": "onBeforeDelete"; "required": false; "isSignal": true; }; }, { "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"; }, ["nodeTypeDirectives"], ["*"], true, never>;
449
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgFlowComponent<any, any>, "ng-flow", never, { "nodesModel": { "alias": "nodes"; "required": false; "isSignal": true; }; "edgesModel": { "alias": "edges"; "required": false; "isSignal": true; }; "viewportModel": { "alias": "viewport"; "required": false; "isSignal": true; }; "defaultNodes": { "alias": "defaultNodes"; "required": false; "isSignal": true; }; "defaultEdges": { "alias": "defaultEdges"; "required": false; "isSignal": true; }; "defaultViewport": { "alias": "defaultViewport"; "required": false; "isSignal": true; }; "nodeTypes": { "alias": "nodeTypes"; "required": false; "isSignal": true; }; "edgeTypes": { "alias": "edgeTypes"; "required": false; "isSignal": true; }; "defaultEdgeOptions": { "alias": "defaultEdgeOptions"; "required": false; "isSignal": true; }; "connectionMode": { "alias": "connectionMode"; "required": false; "isSignal": true; }; "connectionLineType": { "alias": "connectionLineType"; "required": false; "isSignal": true; }; "connectionLineComponent": { "alias": "connectionLineComponent"; "required": false; "isSignal": true; }; "connectionLineStyle": { "alias": "connectionLineStyle"; "required": false; "isSignal": true; }; "connectionLineContainerStyle": { "alias": "connectionLineContainerStyle"; "required": false; "isSignal": true; }; "widthInput": { "alias": "width"; "required": false; "isSignal": true; }; "heightInput": { "alias": "height"; "required": false; "isSignal": true; }; "nodesDraggable": { "alias": "nodesDraggable"; "required": false; "isSignal": true; }; "nodesConnectable": { "alias": "nodesConnectable"; "required": false; "isSignal": true; }; "nodesFocusable": { "alias": "nodesFocusable"; "required": false; "isSignal": true; }; "edgesFocusable": { "alias": "edgesFocusable"; "required": false; "isSignal": true; }; "edgesReconnectable": { "alias": "edgesReconnectable"; "required": false; "isSignal": true; }; "elementsSelectable": { "alias": "elementsSelectable"; "required": false; "isSignal": true; }; "selectNodesOnDrag": { "alias": "selectNodesOnDrag"; "required": false; "isSignal": true; }; "connectOnClick": { "alias": "connectOnClick"; "required": false; "isSignal": true; }; "panOnDrag": { "alias": "panOnDrag"; "required": false; "isSignal": true; }; "panOnScroll": { "alias": "panOnScroll"; "required": false; "isSignal": true; }; "panOnScrollMode": { "alias": "panOnScrollMode"; "required": false; "isSignal": true; }; "panOnScrollSpeed": { "alias": "panOnScrollSpeed"; "required": false; "isSignal": true; }; "zoomOnScroll": { "alias": "zoomOnScroll"; "required": false; "isSignal": true; }; "zoomOnPinch": { "alias": "zoomOnPinch"; "required": false; "isSignal": true; }; "zoomOnDoubleClick": { "alias": "zoomOnDoubleClick"; "required": false; "isSignal": true; }; "preventScrolling": { "alias": "preventScrolling"; "required": false; "isSignal": true; }; "selectionOnDrag": { "alias": "selectionOnDrag"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "minZoom": { "alias": "minZoom"; "required": false; "isSignal": true; }; "maxZoom": { "alias": "maxZoom"; "required": false; "isSignal": true; }; "translateExtent": { "alias": "translateExtent"; "required": false; "isSignal": true; }; "nodeExtent": { "alias": "nodeExtent"; "required": false; "isSignal": true; }; "snapToGrid": { "alias": "snapToGrid"; "required": false; "isSignal": true; }; "snapGrid": { "alias": "snapGrid"; "required": false; "isSignal": true; }; "fitView": { "alias": "fitView"; "required": false; "isSignal": true; }; "fitViewOptions": { "alias": "fitViewOptions"; "required": false; "isSignal": true; }; "deleteKeyCode": { "alias": "deleteKeyCode"; "required": false; "isSignal": true; }; "selectionKeyCode": { "alias": "selectionKeyCode"; "required": false; "isSignal": true; }; "panActivationKeyCode": { "alias": "panActivationKeyCode"; "required": false; "isSignal": true; }; "multiSelectionKeyCode": { "alias": "multiSelectionKeyCode"; "required": false; "isSignal": true; }; "zoomActivationKeyCode": { "alias": "zoomActivationKeyCode"; "required": false; "isSignal": true; }; "autoPanOnNodeDrag": { "alias": "autoPanOnNodeDrag"; "required": false; "isSignal": true; }; "autoPanOnConnect": { "alias": "autoPanOnConnect"; "required": false; "isSignal": true; }; "autoPanSpeed": { "alias": "autoPanSpeed"; "required": false; "isSignal": true; }; "autoPanOnNodeFocus": { "alias": "autoPanOnNodeFocus"; "required": false; "isSignal": true; }; "connectionRadius": { "alias": "connectionRadius"; "required": false; "isSignal": true; }; "reconnectRadius": { "alias": "reconnectRadius"; "required": false; "isSignal": true; }; "nodeDragThreshold": { "alias": "nodeDragThreshold"; "required": false; "isSignal": true; }; "connectionDragThreshold": { "alias": "connectionDragThreshold"; "required": false; "isSignal": true; }; "paneClickDistance": { "alias": "paneClickDistance"; "required": false; "isSignal": true; }; "nodeClickDistance": { "alias": "nodeClickDistance"; "required": false; "isSignal": true; }; "colorMode": { "alias": "colorMode"; "required": false; "isSignal": true; }; "elevateNodesOnSelect": { "alias": "elevateNodesOnSelect"; "required": false; "isSignal": true; }; "elevateEdgesOnSelect": { "alias": "elevateEdgesOnSelect"; "required": false; "isSignal": true; }; "onlyRenderVisibleElements": { "alias": "onlyRenderVisibleElements"; "required": false; "isSignal": true; }; "zIndexMode": { "alias": "zIndexMode"; "required": false; "isSignal": true; }; "nodeOrigin": { "alias": "nodeOrigin"; "required": false; "isSignal": true; }; "defaultMarkerColor": { "alias": "defaultMarkerColor"; "required": false; "isSignal": true; }; "edgeMode": { "alias": "edgeMode"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "noDragClassName": { "alias": "noDragClassName"; "required": false; "isSignal": true; }; "noWheelClassName": { "alias": "noWheelClassName"; "required": false; "isSignal": true; }; "noPanClassName": { "alias": "noPanClassName"; "required": false; "isSignal": true; }; "disableKeyboardA11y": { "alias": "disableKeyboardA11y"; "required": false; "isSignal": true; }; "ariaLabelConfig": { "alias": "ariaLabelConfig"; "required": false; "isSignal": true; }; "isValidConnection": { "alias": "isValidConnection"; "required": false; "isSignal": true; }; "proOptions": { "alias": "proOptions"; "required": false; "isSignal": true; }; "attributionPosition": { "alias": "attributionPosition"; "required": false; "isSignal": true; }; "hideAttribution": { "alias": "hideAttribution"; "required": false; "isSignal": true; }; "flowId": { "alias": "id"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; "onBeforeDelete": { "alias": "onBeforeDelete"; "required": false; "isSignal": true; }; }, { "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"; }, ["nodeTypeDirectives"], ["*"], true, never>;
453
450
  }
454
- //# sourceMappingURL=ng-flow.component.d.ts.map