@angflow/angular 0.0.19 → 0.3.4

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 -25
  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,5 +1,6 @@
1
- import { Component, ChangeDetectionStrategy, input, output, inject, computed, viewChild, } from '@angular/core';
2
- import { getBoundsOfRects, } from '@angflow/system';
1
+ import { Component, ChangeDetectionStrategy, input, output, inject, computed, effect, viewChild, DestroyRef, } from '@angular/core';
2
+ import { getBoundsOfRects, XYMinimap, } from '@angflow/system';
3
+ import { NgComponentOutlet } from '@angular/common';
3
4
  import { FlowStore } from '../../services/flow-store.service';
4
5
  import { PanelComponent } from '../panel/panel.component';
5
6
  import * as i0 from "@angular/core";
@@ -15,7 +16,7 @@ import * as i0 from "@angular/core";
15
16
  export class MiniMapComponent {
16
17
  constructor() {
17
18
  this.store = inject(FlowStore);
18
- this.minimapContainerRef = viewChild('minimapContainer', ...(ngDevMode ? [{ debugName: "minimapContainerRef" }] : /* istanbul ignore next */ []));
19
+ this.minimapSvgRef = viewChild('minimapSvg', ...(ngDevMode ? [{ debugName: "minimapSvgRef" }] : /* istanbul ignore next */ []));
19
20
  /** Where the minimap panel is anchored. */
20
21
  this.position = input('bottom-right', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
21
22
  /** Minimap width in pixels. Aliased as `width`. */
@@ -27,7 +28,7 @@ export class MiniMapComponent {
27
28
  /** Allow scroll-wheel on the minimap to zoom the main viewport. */
28
29
  this.zoomable = input(false, ...(ngDevMode ? [{ debugName: "zoomable" }] : /* istanbul ignore next */ []));
29
30
  /** Zoom step applied per wheel tick when `zoomable`. */
30
- this.zoomStep = input(10, ...(ngDevMode ? [{ debugName: "zoomStep" }] : /* istanbul ignore next */ []));
31
+ this.zoomStep = input(1, ...(ngDevMode ? [{ debugName: "zoomStep" }] : /* istanbul ignore next */ []));
31
32
  /** Invert the pan direction when dragging on the minimap. */
32
33
  this.inversePan = input(false, ...(ngDevMode ? [{ debugName: "inversePan" }] : /* istanbul ignore next */ []));
33
34
  /**
@@ -46,7 +47,7 @@ export class MiniMapComponent {
46
47
  this.nodeBorderRadius = input(5, ...(ngDevMode ? [{ debugName: "nodeBorderRadius" }] : /* istanbul ignore next */ []));
47
48
  /** Stroke width for node rects. */
48
49
  this.nodeStrokeWidth = input(2, ...(ngDevMode ? [{ debugName: "nodeStrokeWidth" }] : /* istanbul ignore next */ []));
49
- /** Reserved — custom Angular component to render each minimap node. Not yet wired. */
50
+ /** Custom Angular component to render each minimap node (mirrors React's MiniMapNode). When unset, a default <rect> is rendered. */
50
51
  this.nodeComponent = input(null, ...(ngDevMode ? [{ debugName: "nodeComponent" }] : /* istanbul ignore next */ []));
51
52
  /** Background fill behind the nodes. Defaults to `#f0f0f0`. */
52
53
  this.bgColor = input(...(ngDevMode ? [undefined, { debugName: "bgColor" }] : /* istanbul ignore next */ []));
@@ -67,24 +68,18 @@ export class MiniMapComponent {
67
68
  this.minimapClick = output();
68
69
  /** Fires when a node rendered in the minimap is clicked. */
69
70
  this.minimapNodeClick = output();
70
- this.xyMinimap = null;
71
- this.animationFrameId = null;
72
- this.isDragging = false;
73
- // Tracks whether the mouse actually moved between mousedown and mouseup.
74
- // Used to suppress the synthetic click event that fires after a drag, which
75
- // would otherwise trigger a second pan animation on top of the drag.
76
- this.dragMoved = false;
77
- this.boundOnMouseMove = this.onMinimapMouseMove.bind(this);
78
- this.boundOnMouseUp = this.onMinimapMouseUp.bind(this);
71
+ this.minimap = null;
79
72
  this.minimapNodes = computed(() => {
80
73
  this.store.version(); // react to node changes
81
- const nodes = Array.from(this.store.nodeLookup.values());
74
+ const hidden = this.store.collapsedHiddenIds();
75
+ const nodes = Array.from(this.store.nodeLookup.values()).filter((node) => !hidden.has(node.id));
82
76
  return nodes.map((node) => ({
83
77
  id: node.id,
84
78
  x: node.internals?.positionAbsolute?.x ?? 0,
85
79
  y: node.internals?.positionAbsolute?.y ?? 0,
86
80
  width: node.measured?.width ?? node.width ?? 150,
87
81
  height: node.measured?.height ?? node.height ?? 40,
82
+ selected: !!node.selected,
88
83
  _userNode: node.internals?.userNode,
89
84
  }));
90
85
  }, ...(ngDevMode ? [{ debugName: "minimapNodes" }] : /* istanbul ignore next */ []));
@@ -160,6 +155,61 @@ export class MiniMapComponent {
160
155
  return (`M-10000,-10000h20000v20000h-20000z ` +
161
156
  `M${m.x},${m.y}h${m.width}v${m.height}h${-m.width}z`);
162
157
  }, ...(ngDevMode ? [{ debugName: "maskPath" }] : /* istanbul ignore next */ []));
158
+ // React uses 'crispEdges' under Chrome/SSR, 'geometricPrecision' otherwise
159
+ // (MiniMapNodes.tsx:36). Browsers always have window; default to
160
+ // geometricPrecision, matching React's non-Chrome branch.
161
+ this.shapeRendering = typeof window === 'undefined' || !!window.chrome
162
+ ? 'crispEdges'
163
+ : 'geometricPrecision';
164
+ const destroyRef = inject(DestroyRef);
165
+ // Defer creation until the view exists (SVG ref) AND panZoom is ready.
166
+ // A plain constructor effect re-runs when either the `minimapSvg` viewChild
167
+ // signal resolves (undefined → element on first render) or store.panZoom()
168
+ // becomes non-null, mirroring how the main pane defers its own d3-zoom
169
+ // wiring in ng-flow.component.ts. The `!this.minimap` guard makes it
170
+ // idempotent so creation happens exactly once.
171
+ effect(() => {
172
+ const panZoom = this.store.panZoom();
173
+ const svgEl = this.minimapSvgRef()?.nativeElement;
174
+ if (!panZoom || !svgEl || this.minimap)
175
+ return;
176
+ this.minimap = XYMinimap({
177
+ domNode: svgEl,
178
+ panZoom,
179
+ getTransform: () => this.store.transform(),
180
+ getViewScale: () => this.viewBoxData().viewScale,
181
+ });
182
+ // Push the first update immediately so the d3-zoom handlers are bound
183
+ // with the current inputs without waiting for the next change.
184
+ this.pushMinimapUpdate();
185
+ });
186
+ // Keep XYMinimap in sync with the React-parity inputs + the store extent.
187
+ // The d3 callbacks XYMinimap installs write via panZoom → the transform
188
+ // signal the template reads (zoneless rule 2 satisfied), and those writes
189
+ // flow through the same panZoom path as the main pane, so the C1 contract
190
+ // (no bumpVersion on transform writes) holds.
191
+ effect(() => {
192
+ // Read every dependency first (unconditionally) so the effect tracks the
193
+ // inputs + store extent even before the minimap instance is created — an
194
+ // early `if (!this.minimap) return` would track nothing and never re-run.
195
+ this.pushMinimapUpdate();
196
+ });
197
+ destroyRef.onDestroy(() => {
198
+ this.minimap?.destroy();
199
+ this.minimap = null;
200
+ });
201
+ }
202
+ pushMinimapUpdate() {
203
+ const params = {
204
+ translateExtent: this.store.translateExtent(),
205
+ width: this.store.width(),
206
+ height: this.store.height(),
207
+ inversePan: this.inversePan(),
208
+ zoomStep: this.zoomStep(),
209
+ pannable: this.pannable(),
210
+ zoomable: this.zoomable(),
211
+ };
212
+ this.minimap?.update(params);
163
213
  }
164
214
  // Returns the resolved fill for a node, or undefined when the input is unset
165
215
  // so no inline style is emitted and the stylesheet's CSS-variable theming
@@ -185,132 +235,38 @@ export class MiniMapComponent {
185
235
  }
186
236
  return typeof className === 'string' ? className : '';
187
237
  }
188
- ngAfterViewInit() { }
189
- onMinimapClick(event) {
190
- // Browsers fire `click` after `mouseup` when both land on the same element,
191
- // regardless of drag distance. If the user was panning the minimap, swallow
192
- // this trailing click so we don't start a second pan animation on top.
193
- if (this.dragMoved) {
194
- this.dragMoved = false;
195
- return;
196
- }
197
- const container = this.minimapContainerRef()?.nativeElement;
198
- if (!container)
199
- return;
200
- const svgEl = container.querySelector('svg');
201
- if (!svgEl)
202
- return;
203
- // Get click position relative to the minimap SVG
204
- const rect = svgEl.getBoundingClientRect();
205
- const clickX = event.clientX - rect.left;
206
- const clickY = event.clientY - rect.top;
207
- // Convert from SVG pixel coords to flow coords using the current viewBox.
208
- const v = this.viewBoxData();
209
- const flowX = v.x + (clickX / this.mmWidth()) * v.width;
210
- const flowY = v.y + (clickY / this.mmHeight()) * v.height;
211
- // Emit click event
212
- this.minimapClick.emit({ event, position: { x: flowX, y: flowY } });
213
- if (!this.pannable())
214
- return;
215
- // Pan viewport to center on the clicked flow position
216
- const zoom = this.store.transform()[2];
217
- const newX = this.store.width() / 2 - flowX * zoom;
218
- const newY = this.store.height() / 2 - flowY * zoom;
219
- // Cancel any in-flight animation before starting a new one
220
- if (this.animationFrameId !== null) {
221
- cancelAnimationFrame(this.animationFrameId);
222
- this.animationFrameId = null;
223
- }
224
- // Animate the viewport pan over ~300ms using requestAnimationFrame
225
- const startX = this.store.transform()[0];
226
- const startY = this.store.transform()[1];
227
- const startTime = performance.now();
228
- const duration = 300;
229
- const animate = (now) => {
230
- const elapsed = now - startTime;
231
- const t = Math.min(elapsed / duration, 1);
232
- // Ease-out cubic
233
- const ease = 1 - Math.pow(1 - t, 3);
234
- const currentX = startX + (newX - startX) * ease;
235
- const currentY = startY + (newY - startY) * ease;
236
- this.store.transform.set([currentX, currentY, zoom]);
237
- this.store.bumpVersion();
238
- if (t < 1) {
239
- this.animationFrameId = requestAnimationFrame(animate);
240
- }
241
- else {
242
- this.animationFrameId = null;
243
- // Sync d3-zoom internal state without transition
244
- try {
245
- this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom });
246
- }
247
- catch {
248
- // d3-transition may not be available; the transform signal
249
- // is the source of truth and d3 will re-sync on next interaction
250
- }
251
- }
238
+ /** Inputs object passed to a custom nodeComponent via NgComponentOutlet. */
239
+ getNodeComponentInputs(node) {
240
+ return {
241
+ id: node.id,
242
+ x: node.x,
243
+ y: node.y,
244
+ width: node.width,
245
+ height: node.height,
246
+ selected: node.selected,
247
+ color: this.getNodeColor(node),
248
+ strokeColor: this.getNodeStrokeColor(node),
249
+ strokeWidth: this.nodeStrokeWidth(),
250
+ borderRadius: this.nodeBorderRadius(),
251
+ shapeRendering: this.shapeRendering,
252
+ className: this.getNodeClassName(node),
252
253
  };
253
- this.animationFrameId = requestAnimationFrame(animate);
254
254
  }
255
- onMinimapMouseDown(event) {
255
+ onMinimapClick(event) {
256
+ // Pass the SVG node explicitly so d3's pointer() maps through the SVG's
257
+ // CTM/viewBox → flow coordinates. Without the node arg, d3 falls back to
258
+ // event.currentTarget which in some environments doesn't yield the SVG CTM
259
+ // (e.g. when the listener was attached to an ancestor). React parity: React
260
+ // puts onClick on the <svg> and calls pointer(event) with no node; here we
261
+ // keep the binding on the SVG too but pass the node explicitly for safety.
262
+ const svgEl = this.minimapSvgRef()?.nativeElement ?? null;
263
+ const [x, y] = this.minimap && svgEl ? this.minimap.pointer(event, svgEl) : [0, 0];
264
+ this.minimapClick.emit({ event, position: { x, y } });
256
265
  if (!this.pannable())
257
266
  return;
258
- this.isDragging = true;
259
- this.dragMoved = false;
260
- document.addEventListener('mousemove', this.boundOnMouseMove);
261
- document.addEventListener('mouseup', this.boundOnMouseUp);
262
- }
263
- onMinimapMouseMove(event) {
264
- if (!this.isDragging)
265
- return;
266
- this.dragMoved = true;
267
- const container = this.minimapContainerRef()?.nativeElement;
268
- if (!container)
269
- return;
270
- const svgEl = container.querySelector('svg');
271
- if (!svgEl)
272
- return;
273
- const rect = svgEl.getBoundingClientRect();
274
- const clickX = event.clientX - rect.left;
275
- const clickY = event.clientY - rect.top;
276
- const v = this.viewBoxData();
277
- const flowX = v.x + (clickX / this.mmWidth()) * v.width;
278
- const flowY = v.y + (clickY / this.mmHeight()) * v.height;
279
- const zoom = this.store.transform()[2];
280
- const newX = this.store.width() / 2 - flowX * zoom;
281
- const newY = this.store.height() / 2 - flowY * zoom;
282
- this.store.transform.set([newX, newY, zoom]);
283
- this.store.bumpVersion();
284
- try {
285
- this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom });
286
- }
287
- catch { /* noop */ }
288
- }
289
- onMinimapMouseUp() {
290
- this.isDragging = false;
291
- document.removeEventListener('mousemove', this.boundOnMouseMove);
292
- document.removeEventListener('mouseup', this.boundOnMouseUp);
293
- }
294
- onMinimapWheel(event) {
295
- if (!this.zoomable())
296
- return;
297
- event.preventDefault();
298
- const currentZoom = this.store.transform()[2];
299
- const delta = -event.deltaY * (this.zoomStep() / 1000);
300
- const nextZoom = Math.min(this.store.maxZoom(), Math.max(this.store.minZoom(), currentZoom + delta));
301
- const [x, y] = this.store.transform();
302
- // Zoom toward the center of the viewport
303
- const cx = this.store.width() / 2;
304
- const cy = this.store.height() / 2;
305
- const scale = nextZoom / currentZoom;
306
- const newX = cx - (cx - x) * scale;
307
- const newY = cy - (cy - y) * scale;
308
- this.store.transform.set([newX, newY, nextZoom]);
309
- this.store.bumpVersion();
310
- try {
311
- this.store.panZoom()?.syncViewport({ x: newX, y: newY, zoom: nextZoom });
312
- }
313
- catch { /* noop */ }
267
+ // setCenter (flow-store) honors interpolate/duration after Cluster 1; we
268
+ // only depend on passing duration here.
269
+ void this.store.setCenter(x, y, { zoom: this.store.transform()[2], duration: 300 });
314
270
  }
315
271
  onMinimapNodeClick(event, node) {
316
272
  event.stopPropagation();
@@ -318,33 +274,23 @@ export class MiniMapComponent {
318
274
  this.minimapNodeClick.emit({ event, node: node._userNode });
319
275
  }
320
276
  }
321
- ngOnDestroy() {
322
- if (this.animationFrameId !== null) {
323
- cancelAnimationFrame(this.animationFrameId);
324
- }
325
- document.removeEventListener('mousemove', this.boundOnMouseMove);
326
- document.removeEventListener('mouseup', this.boundOnMouseUp);
327
- this.xyMinimap?.destroy();
328
- }
329
277
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MiniMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
330
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: MiniMapComponent, isStandalone: true, selector: "ng-flow-minimap", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, mmWidth: { classPropertyName: "mmWidth", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, mmHeight: { classPropertyName: "mmHeight", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pannable: { classPropertyName: "pannable", publicName: "pannable", isSignal: true, isRequired: false, transformFunction: null }, zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, inversePan: { classPropertyName: "inversePan", publicName: "inversePan", isSignal: true, isRequired: false, transformFunction: null }, nodeColor: { classPropertyName: "nodeColor", publicName: "nodeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeColor: { classPropertyName: "nodeStrokeColor", publicName: "nodeStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeClassName: { classPropertyName: "nodeClassName", publicName: "nodeClassName", isSignal: true, isRequired: false, transformFunction: null }, nodeBorderRadius: { classPropertyName: "nodeBorderRadius", publicName: "nodeBorderRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeWidth: { classPropertyName: "nodeStrokeWidth", publicName: "nodeStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, nodeComponent: { classPropertyName: "nodeComponent", publicName: "nodeComponent", isSignal: true, isRequired: false, transformFunction: null }, bgColor: { classPropertyName: "bgColor", publicName: "bgColor", isSignal: true, isRequired: false, transformFunction: null }, maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeColor: { classPropertyName: "maskStrokeColor", publicName: "maskStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeWidth: { classPropertyName: "maskStrokeWidth", publicName: "maskStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, offsetScale: { classPropertyName: "offsetScale", publicName: "offsetScale", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { minimapClick: "minimapClick", minimapNodeClick: "minimapNodeClick" }, viewQueries: [{ propertyName: "minimapContainerRef", first: true, predicate: ["minimapContainer"], descendants: true, isSignal: true }], ngImport: i0, template: `
278
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.15", type: MiniMapComponent, isStandalone: true, selector: "ng-flow-minimap", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, mmWidth: { classPropertyName: "mmWidth", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, mmHeight: { classPropertyName: "mmHeight", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, pannable: { classPropertyName: "pannable", publicName: "pannable", isSignal: true, isRequired: false, transformFunction: null }, zoomable: { classPropertyName: "zoomable", publicName: "zoomable", isSignal: true, isRequired: false, transformFunction: null }, zoomStep: { classPropertyName: "zoomStep", publicName: "zoomStep", isSignal: true, isRequired: false, transformFunction: null }, inversePan: { classPropertyName: "inversePan", publicName: "inversePan", isSignal: true, isRequired: false, transformFunction: null }, nodeColor: { classPropertyName: "nodeColor", publicName: "nodeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeColor: { classPropertyName: "nodeStrokeColor", publicName: "nodeStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, nodeClassName: { classPropertyName: "nodeClassName", publicName: "nodeClassName", isSignal: true, isRequired: false, transformFunction: null }, nodeBorderRadius: { classPropertyName: "nodeBorderRadius", publicName: "nodeBorderRadius", isSignal: true, isRequired: false, transformFunction: null }, nodeStrokeWidth: { classPropertyName: "nodeStrokeWidth", publicName: "nodeStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, nodeComponent: { classPropertyName: "nodeComponent", publicName: "nodeComponent", isSignal: true, isRequired: false, transformFunction: null }, bgColor: { classPropertyName: "bgColor", publicName: "bgColor", isSignal: true, isRequired: false, transformFunction: null }, maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeColor: { classPropertyName: "maskStrokeColor", publicName: "maskStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, maskStrokeWidth: { classPropertyName: "maskStrokeWidth", publicName: "maskStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, offsetScale: { classPropertyName: "offsetScale", publicName: "offsetScale", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { minimapClick: "minimapClick", minimapNodeClick: "minimapNodeClick" }, viewQueries: [{ propertyName: "minimapSvgRef", first: true, predicate: ["minimapSvg"], descendants: true, isSignal: true }], ngImport: i0, template: `
331
279
  <ng-flow-panel [position]="position()">
332
280
  <div
333
281
  class="ng-flow__minimap xy-flow__minimap"
334
- #minimapContainer
335
282
  [attr.aria-label]="ariaLabel()"
336
283
  [style.width.px]="mmWidth()"
337
284
  [style.height.px]="mmHeight()"
338
285
  style="border-radius: 4px; overflow: hidden; border: 1px solid #ddd; box-shadow: 0 1px 4px rgba(0,0,0,0.1); cursor: pointer;"
339
- (click)="onMinimapClick($event)"
340
- (mousedown)="onMinimapMouseDown($event)"
341
- (wheel)="onMinimapWheel($event)"
342
286
  >
343
287
  <svg
288
+ #minimapSvg
344
289
  class="xy-flow__minimap-svg"
345
290
  [attr.width]="mmWidth()"
346
291
  [attr.height]="mmHeight()"
347
292
  [attr.viewBox]="viewBox()"
293
+ (click)="onMinimapClick($event)"
348
294
  >
349
295
  <!-- Background -->
350
296
  <rect x="-10000" y="-10000" width="20000" height="20000" [attr.fill]="bgColor() ?? '#f0f0f0'" />
@@ -358,19 +304,27 @@ export class MiniMapComponent {
358
304
  deferring to the stylesheet's CSS-variable theming (incl. dark mode).
359
305
  -->
360
306
  @for (node of minimapNodes(); track node.id) {
361
- <rect
362
- class="xy-flow__minimap-node"
363
- [class]="getNodeClassName(node)"
364
- [attr.x]="node.x"
365
- [attr.y]="node.y"
366
- [attr.width]="node.width"
367
- [attr.height]="node.height"
368
- [attr.rx]="nodeBorderRadius()"
369
- [style.fill]="getNodeColor(node)"
370
- [style.stroke]="getNodeStrokeColor(node)"
371
- [style.stroke-width]="nodeStrokeWidth()"
372
- (click)="onMinimapNodeClick($event, node)"
373
- />
307
+ @if (nodeComponent(); as nc) {
308
+ <g (click)="onMinimapNodeClick($event, node)">
309
+ <ng-container
310
+ *ngComponentOutlet="nc; inputs: getNodeComponentInputs(node)"
311
+ />
312
+ </g>
313
+ } @else {
314
+ <rect
315
+ class="xy-flow__minimap-node"
316
+ [class]="getNodeClassName(node)"
317
+ [attr.x]="node.x"
318
+ [attr.y]="node.y"
319
+ [attr.width]="node.width"
320
+ [attr.height]="node.height"
321
+ [attr.rx]="nodeBorderRadius()"
322
+ [style.fill]="getNodeColor(node)"
323
+ [style.stroke]="getNodeStrokeColor(node)"
324
+ [style.stroke-width]="nodeStrokeWidth()"
325
+ (click)="onMinimapNodeClick($event, node)"
326
+ />
327
+ }
374
328
  }
375
329
  <!-- Mask overlay: dim area outside viewport via evenodd path -->
376
330
  <path
@@ -394,33 +348,31 @@ export class MiniMapComponent {
394
348
  </svg>
395
349
  </div>
396
350
  </ng-flow-panel>
397
- `, isInline: true, dependencies: [{ kind: "component", type: PanelComponent, selector: "ng-flow-panel", inputs: ["position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
351
+ `, isInline: true, dependencies: [{ kind: "component", type: PanelComponent, selector: "ng-flow-panel", inputs: ["position"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
398
352
  }
399
353
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImport: i0, type: MiniMapComponent, decorators: [{
400
354
  type: Component,
401
355
  args: [{
402
356
  selector: 'ng-flow-minimap',
403
357
  standalone: true,
404
- imports: [PanelComponent],
358
+ imports: [PanelComponent, NgComponentOutlet],
405
359
  changeDetection: ChangeDetectionStrategy.OnPush,
406
360
  template: `
407
361
  <ng-flow-panel [position]="position()">
408
362
  <div
409
363
  class="ng-flow__minimap xy-flow__minimap"
410
- #minimapContainer
411
364
  [attr.aria-label]="ariaLabel()"
412
365
  [style.width.px]="mmWidth()"
413
366
  [style.height.px]="mmHeight()"
414
367
  style="border-radius: 4px; overflow: hidden; border: 1px solid #ddd; box-shadow: 0 1px 4px rgba(0,0,0,0.1); cursor: pointer;"
415
- (click)="onMinimapClick($event)"
416
- (mousedown)="onMinimapMouseDown($event)"
417
- (wheel)="onMinimapWheel($event)"
418
368
  >
419
369
  <svg
370
+ #minimapSvg
420
371
  class="xy-flow__minimap-svg"
421
372
  [attr.width]="mmWidth()"
422
373
  [attr.height]="mmHeight()"
423
374
  [attr.viewBox]="viewBox()"
375
+ (click)="onMinimapClick($event)"
424
376
  >
425
377
  <!-- Background -->
426
378
  <rect x="-10000" y="-10000" width="20000" height="20000" [attr.fill]="bgColor() ?? '#f0f0f0'" />
@@ -434,19 +386,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
434
386
  deferring to the stylesheet's CSS-variable theming (incl. dark mode).
435
387
  -->
436
388
  @for (node of minimapNodes(); track node.id) {
437
- <rect
438
- class="xy-flow__minimap-node"
439
- [class]="getNodeClassName(node)"
440
- [attr.x]="node.x"
441
- [attr.y]="node.y"
442
- [attr.width]="node.width"
443
- [attr.height]="node.height"
444
- [attr.rx]="nodeBorderRadius()"
445
- [style.fill]="getNodeColor(node)"
446
- [style.stroke]="getNodeStrokeColor(node)"
447
- [style.stroke-width]="nodeStrokeWidth()"
448
- (click)="onMinimapNodeClick($event, node)"
449
- />
389
+ @if (nodeComponent(); as nc) {
390
+ <g (click)="onMinimapNodeClick($event, node)">
391
+ <ng-container
392
+ *ngComponentOutlet="nc; inputs: getNodeComponentInputs(node)"
393
+ />
394
+ </g>
395
+ } @else {
396
+ <rect
397
+ class="xy-flow__minimap-node"
398
+ [class]="getNodeClassName(node)"
399
+ [attr.x]="node.x"
400
+ [attr.y]="node.y"
401
+ [attr.width]="node.width"
402
+ [attr.height]="node.height"
403
+ [attr.rx]="nodeBorderRadius()"
404
+ [style.fill]="getNodeColor(node)"
405
+ [style.stroke]="getNodeStrokeColor(node)"
406
+ [style.stroke-width]="nodeStrokeWidth()"
407
+ (click)="onMinimapNodeClick($event, node)"
408
+ />
409
+ }
450
410
  }
451
411
  <!-- Mask overlay: dim area outside viewport via evenodd path -->
452
412
  <path
@@ -472,5 +432,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.15", ngImpo
472
432
  </ng-flow-panel>
473
433
  `,
474
434
  }]
475
- }], propDecorators: { minimapContainerRef: [{ type: i0.ViewChild, args: ['minimapContainer', { isSignal: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], mmWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], mmHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], pannable: [{ type: i0.Input, args: [{ isSignal: true, alias: "pannable", required: false }] }], zoomable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomable", required: false }] }], zoomStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomStep", required: false }] }], inversePan: [{ type: i0.Input, args: [{ isSignal: true, alias: "inversePan", required: false }] }], nodeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeColor", required: false }] }], nodeStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeColor", required: false }] }], nodeClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeClassName", required: false }] }], nodeBorderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeBorderRadius", required: false }] }], nodeStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeWidth", required: false }] }], nodeComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeComponent", required: false }] }], bgColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "bgColor", required: false }] }], maskColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskColor", required: false }] }], maskStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeColor", required: false }] }], maskStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeWidth", required: false }] }], offsetScale: [{ type: i0.Input, args: [{ isSignal: true, alias: "offsetScale", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], minimapClick: [{ type: i0.Output, args: ["minimapClick"] }], minimapNodeClick: [{ type: i0.Output, args: ["minimapNodeClick"] }] } });
435
+ }], ctorParameters: () => [], propDecorators: { minimapSvgRef: [{ type: i0.ViewChild, args: ['minimapSvg', { isSignal: true }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], mmWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], mmHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], pannable: [{ type: i0.Input, args: [{ isSignal: true, alias: "pannable", required: false }] }], zoomable: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomable", required: false }] }], zoomStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "zoomStep", required: false }] }], inversePan: [{ type: i0.Input, args: [{ isSignal: true, alias: "inversePan", required: false }] }], nodeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeColor", required: false }] }], nodeStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeColor", required: false }] }], nodeClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeClassName", required: false }] }], nodeBorderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeBorderRadius", required: false }] }], nodeStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeStrokeWidth", required: false }] }], nodeComponent: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeComponent", required: false }] }], bgColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "bgColor", required: false }] }], maskColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskColor", required: false }] }], maskStrokeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeColor", required: false }] }], maskStrokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maskStrokeWidth", required: false }] }], offsetScale: [{ type: i0.Input, args: [{ isSignal: true, alias: "offsetScale", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], minimapClick: [{ type: i0.Output, args: ["minimapClick"] }], minimapNodeClick: [{ type: i0.Output, args: ["minimapNodeClick"] }] } });
476
436
  //# sourceMappingURL=minimap.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"minimap.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"minimap.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/minimap/minimap.component.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
1
  import * as i0 from "@angular/core";
2
2
  /**
3
3
  * Provides a `FlowStore` and `NgFlowService` to its descendants without
4
- * rendering a flow. Useful when you need to call `NgFlowService` methods
5
- * (e.g. `fitView`) from a component that sits as a sibling of `<ng-flow>`
6
- * rather than a child.
4
+ * rendering a flow, so flow state can be shared across siblings of a
5
+ * `<ng-flow>` rather than only its children.
6
+ *
7
+ * A descendant `<ng-flow>` reuses this provider's `FlowStore` and
8
+ * `NgFlowService` instead of creating its own (it resolves them with
9
+ * `skipSelf`), so any sibling that injects `NgFlowService` (e.g. a sidebar
10
+ * calling `fitView` or `setNodes`) observes and mutates the same state the
11
+ * flow renders. The provider owns the store's lifetime: unmounting the inner
12
+ * `<ng-flow>` does NOT clear the shared store's graph state (nodes, edges,
13
+ * etc.) — surviving siblings keep observing it, matching ReactFlow's provider
14
+ * semantics. Only the panZoom instance is cleared on inner unmount, because
15
+ * that DOM-bound object is destroyed along with the component.
7
16
  *
8
17
  * @example
9
18
  * ```html
10
19
  * <ng-flow-provider>
11
20
  * <ng-flow [nodes]="nodes" [edges]="edges" />
12
- * <my-sidebar /> <!-- can inject NgFlowService -->
21
+ * <my-sidebar /> <!-- inject NgFlowService; sees the same store -->
13
22
  * </ng-flow-provider>
14
23
  * ```
15
24
  */
@@ -17,4 +26,3 @@ export declare class NgFlowProviderComponent {
17
26
  static ɵfac: i0.ɵɵFactoryDeclaration<NgFlowProviderComponent, never>;
18
27
  static ɵcmp: i0.ɵɵComponentDeclaration<NgFlowProviderComponent, "ng-flow-provider", never, {}, {}, never, ["*"], true, never>;
19
28
  }
20
- //# sourceMappingURL=ng-flow-provider.component.d.ts.map
@@ -4,15 +4,24 @@ import { NgFlowService } from '../../services/ng-flow.service';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
6
  * Provides a `FlowStore` and `NgFlowService` to its descendants without
7
- * rendering a flow. Useful when you need to call `NgFlowService` methods
8
- * (e.g. `fitView`) from a component that sits as a sibling of `<ng-flow>`
9
- * rather than a child.
7
+ * rendering a flow, so flow state can be shared across siblings of a
8
+ * `<ng-flow>` rather than only its children.
9
+ *
10
+ * A descendant `<ng-flow>` reuses this provider's `FlowStore` and
11
+ * `NgFlowService` instead of creating its own (it resolves them with
12
+ * `skipSelf`), so any sibling that injects `NgFlowService` (e.g. a sidebar
13
+ * calling `fitView` or `setNodes`) observes and mutates the same state the
14
+ * flow renders. The provider owns the store's lifetime: unmounting the inner
15
+ * `<ng-flow>` does NOT clear the shared store's graph state (nodes, edges,
16
+ * etc.) — surviving siblings keep observing it, matching ReactFlow's provider
17
+ * semantics. Only the panZoom instance is cleared on inner unmount, because
18
+ * that DOM-bound object is destroyed along with the component.
10
19
  *
11
20
  * @example
12
21
  * ```html
13
22
  * <ng-flow-provider>
14
23
  * <ng-flow [nodes]="nodes" [edges]="edges" />
15
- * <my-sidebar /> <!-- can inject NgFlowService -->
24
+ * <my-sidebar /> <!-- inject NgFlowService; sees the same store -->
16
25
  * </ng-flow-provider>
17
26
  * ```
18
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ng-flow-provider.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/ng-flow-provider/ng-flow-provider.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;;AAE/D;;;;;;;;;;;;;GAaG;AAQH,MAAM,OAAO,uBAAuB;+GAAvB,uBAAuB;mGAAvB,uBAAuB,+DAJvB,CAAC,SAAS,EAAE,aAAa,CAAC,0BAE3B,gBAAgB;;4FAEf,uBAAuB;kBAPnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,gBAAgB;iBAC3B"}
1
+ {"version":3,"file":"ng-flow-provider.component.js","sourceRoot":"","sources":["../../../../../src/lib/components/ng-flow-provider/ng-flow-provider.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;;AAE/D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAQH,MAAM,OAAO,uBAAuB;+GAAvB,uBAAuB;mGAAvB,uBAAuB,+DAJvB,CAAC,SAAS,EAAE,aAAa,CAAC,0BAE3B,gBAAgB;;4FAEf,uBAAuB;kBAPnC,SAAS;mBAAC;oBACT,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,QAAQ,EAAE,gBAAgB;iBAC3B"}
@@ -14,6 +14,7 @@ import * as i0 from "@angular/core";
14
14
  export declare class NodeResizerComponent implements AfterViewInit, OnDestroy {
15
15
  private store;
16
16
  private el;
17
+ private injector;
17
18
  /** Node to resize. Defaults to the host node when placed inside a node template. Aliased as `nodeId`. */
18
19
  readonly nodeIdInput: import("@angular/core").InputSignal<string | undefined>;
19
20
  /** Minimum allowed width in pixels. */
@@ -77,8 +78,8 @@ export declare class NodeResizerComponent implements AfterViewInit, OnDestroy {
77
78
  readonly effectivelyVisible: import("@angular/core").Signal<boolean>;
78
79
  constructor(nodeId: string | null);
79
80
  ngAfterViewInit(): void;
81
+ private applyResizerConfig;
80
82
  ngOnDestroy(): void;
81
83
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeResizerComponent, [{ optional: true; }]>;
82
84
  static ɵcmp: i0.ɵɵComponentDeclaration<NodeResizerComponent, "ng-flow-node-resizer", never, { "nodeIdInput": { "alias": "nodeId"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "keepAspectRatio": { "alias": "keepAspectRatio"; "required": false; "isSignal": true; }; "isVisible": { "alias": "isVisible"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "handleClassName": { "alias": "handleClassName"; "required": false; "isSignal": true; }; "handleStyle": { "alias": "handleStyle"; "required": false; "isSignal": true; }; "lineClassName": { "alias": "lineClassName"; "required": false; "isSignal": true; }; "lineStyle": { "alias": "lineStyle"; "required": false; "isSignal": true; }; "autoScale": { "alias": "autoScale"; "required": false; "isSignal": true; }; "shouldResize": { "alias": "shouldResize"; "required": false; "isSignal": true; }; "onResizeStartCb": { "alias": "onResizeStart"; "required": false; "isSignal": true; }; "onResizeCb": { "alias": "onResize"; "required": false; "isSignal": true; }; "onResizeEndCb": { "alias": "onResizeEnd"; "required": false; "isSignal": true; }; }, { "resizeStart": "resizeStart"; "resize": "resize"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
83
85
  }
84
- //# sourceMappingURL=node-resizer.component.d.ts.map