@angflow/angular 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/README.md +14 -4
  2. package/dist/base.css +416 -411
  3. package/dist/esm/lib/agent/agent-bridge.service.d.ts +70 -0
  4. package/dist/esm/lib/agent/agent-bridge.service.d.ts.map +1 -0
  5. package/dist/esm/lib/agent/agent-bridge.service.js +331 -0
  6. package/dist/esm/lib/agent/agent-bridge.service.js.map +1 -0
  7. package/dist/esm/lib/agent/index.d.ts +7 -0
  8. package/dist/esm/lib/agent/index.d.ts.map +1 -0
  9. package/dist/esm/lib/agent/index.js +6 -0
  10. package/dist/esm/lib/agent/index.js.map +1 -0
  11. package/dist/esm/lib/agent/provide-agent-bridge.d.ts +27 -0
  12. package/dist/esm/lib/agent/provide-agent-bridge.d.ts.map +1 -0
  13. package/dist/esm/lib/agent/provide-agent-bridge.js +27 -0
  14. package/dist/esm/lib/agent/provide-agent-bridge.js.map +1 -0
  15. package/dist/esm/lib/agent/tool-schemas.d.ts +10 -0
  16. package/dist/esm/lib/agent/tool-schemas.d.ts.map +1 -0
  17. package/dist/esm/lib/agent/tool-schemas.js +234 -0
  18. package/dist/esm/lib/agent/tool-schemas.js.map +1 -0
  19. package/dist/esm/lib/agent/transports/websocket.d.ts +39 -0
  20. package/dist/esm/lib/agent/transports/websocket.d.ts.map +1 -0
  21. package/dist/esm/lib/agent/transports/websocket.js +95 -0
  22. package/dist/esm/lib/agent/transports/websocket.js.map +1 -0
  23. package/dist/esm/lib/agent/transports/window.d.ts +29 -0
  24. package/dist/esm/lib/agent/transports/window.d.ts.map +1 -0
  25. package/dist/esm/lib/agent/transports/window.js +65 -0
  26. package/dist/esm/lib/agent/transports/window.js.map +1 -0
  27. package/dist/esm/lib/agent/types.d.ts +66 -0
  28. package/dist/esm/lib/agent/types.d.ts.map +1 -0
  29. package/dist/esm/lib/agent/types.js +9 -0
  30. package/dist/esm/lib/agent/types.js.map +1 -0
  31. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +4 -0
  32. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +1 -1
  33. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +24 -20
  34. package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -1
  35. package/dist/esm/lib/components/attribution/attribution.component.d.ts +4 -0
  36. package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +1 -1
  37. package/dist/esm/lib/components/attribution/attribution.component.js +22 -18
  38. package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -1
  39. package/dist/esm/lib/components/background/background.component.d.ts +20 -0
  40. package/dist/esm/lib/components/background/background.component.d.ts.map +1 -1
  41. package/dist/esm/lib/components/background/background.component.js +159 -140
  42. package/dist/esm/lib/components/background/background.component.js.map +1 -1
  43. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +7 -0
  44. package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +1 -1
  45. package/dist/esm/lib/components/connection-line/connection-line.component.js +7 -0
  46. package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -1
  47. package/dist/esm/lib/components/controls/controls.component.d.ts +21 -0
  48. package/dist/esm/lib/components/controls/controls.component.d.ts.map +1 -1
  49. package/dist/esm/lib/components/controls/controls.component.js +21 -1
  50. package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
  51. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +4 -0
  52. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +1 -1
  53. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +4 -0
  54. package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -1
  55. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +14 -2
  56. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +1 -1
  57. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +12 -0
  58. package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
  59. package/dist/esm/lib/components/edges/base-edge.component.d.ts +23 -0
  60. package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +1 -1
  61. package/dist/esm/lib/components/edges/base-edge.component.js +63 -40
  62. package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -1
  63. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +4 -0
  64. package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +1 -1
  65. package/dist/esm/lib/components/edges/bezier-edge.component.js +4 -0
  66. package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
  67. package/dist/esm/lib/components/edges/edge-text.component.d.ts +4 -0
  68. package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +1 -1
  69. package/dist/esm/lib/components/edges/edge-text.component.js +30 -26
  70. package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -1
  71. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +4 -0
  72. package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +1 -1
  73. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +4 -0
  74. package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
  75. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +1 -0
  76. package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +1 -1
  77. package/dist/esm/lib/components/edges/smooth-step-edge.component.js +1 -0
  78. package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
  79. package/dist/esm/lib/components/edges/step-edge.component.d.ts +1 -0
  80. package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +1 -1
  81. package/dist/esm/lib/components/edges/step-edge.component.js +1 -0
  82. package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
  83. package/dist/esm/lib/components/edges/straight-edge.component.d.ts +1 -0
  84. package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +1 -1
  85. package/dist/esm/lib/components/edges/straight-edge.component.js +1 -0
  86. package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
  87. package/dist/esm/lib/components/handle/handle.component.d.ts +20 -1
  88. package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -1
  89. package/dist/esm/lib/components/handle/handle.component.js +25 -2
  90. package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
  91. package/dist/esm/lib/components/minimap/minimap.component.d.ts +34 -0
  92. package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +1 -1
  93. package/dist/esm/lib/components/minimap/minimap.component.js +30 -4
  94. package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
  95. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +14 -0
  96. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +1 -1
  97. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +14 -0
  98. package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
  99. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +29 -0
  100. package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +1 -1
  101. package/dist/esm/lib/components/node-resizer/node-resizer.component.js +153 -124
  102. package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
  103. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +21 -1
  104. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +1 -1
  105. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +21 -1
  106. package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
  107. package/dist/esm/lib/components/nodes/default-node.component.d.ts +4 -0
  108. package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +1 -1
  109. package/dist/esm/lib/components/nodes/default-node.component.js +13 -9
  110. package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
  111. package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -0
  112. package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +1 -1
  113. package/dist/esm/lib/components/nodes/group-node.component.js +5 -0
  114. package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
  115. package/dist/esm/lib/components/nodes/input-node.component.d.ts +4 -0
  116. package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +1 -1
  117. package/dist/esm/lib/components/nodes/input-node.component.js +11 -7
  118. package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
  119. package/dist/esm/lib/components/nodes/output-node.component.d.ts +4 -0
  120. package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +1 -1
  121. package/dist/esm/lib/components/nodes/output-node.component.js +11 -7
  122. package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
  123. package/dist/esm/lib/components/panel/panel.component.d.ts +12 -0
  124. package/dist/esm/lib/components/panel/panel.component.d.ts.map +1 -1
  125. package/dist/esm/lib/components/panel/panel.component.js +12 -0
  126. package/dist/esm/lib/components/panel/panel.component.js.map +1 -1
  127. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +5 -0
  128. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +1 -1
  129. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +5 -0
  130. package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -1
  131. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
  132. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +35 -3
  133. package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
  134. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +158 -5
  135. package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
  136. package/dist/esm/lib/container/ng-flow/ng-flow.component.js +167 -28
  137. package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
  138. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +2 -0
  139. package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
  140. package/dist/esm/lib/container/node-renderer/node-renderer.component.js +40 -2
  141. package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
  142. package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
  143. package/dist/esm/lib/container/pane/pane.component.d.ts.map +1 -1
  144. package/dist/esm/lib/container/pane/pane.component.js +18 -25
  145. package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
  146. package/dist/esm/lib/container/viewport/viewport.component.d.ts +4 -0
  147. package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +1 -1
  148. package/dist/esm/lib/container/viewport/viewport.component.js +4 -0
  149. package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -1
  150. package/dist/esm/lib/directives/drag.directive.d.ts +17 -0
  151. package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -1
  152. package/dist/esm/lib/directives/drag.directive.js +17 -0
  153. package/dist/esm/lib/directives/drag.directive.js.map +1 -1
  154. package/dist/esm/lib/directives/key-handler.directive.d.ts +13 -0
  155. package/dist/esm/lib/directives/key-handler.directive.d.ts.map +1 -1
  156. package/dist/esm/lib/directives/key-handler.directive.js +13 -0
  157. package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
  158. package/dist/esm/lib/public-api.d.ts +2 -0
  159. package/dist/esm/lib/public-api.d.ts.map +1 -1
  160. package/dist/esm/lib/public-api.js +4 -0
  161. package/dist/esm/lib/public-api.js.map +1 -1
  162. package/dist/esm/lib/services/flow-store.service.d.ts +3 -0
  163. package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
  164. package/dist/esm/lib/services/flow-store.service.js +3 -0
  165. package/dist/esm/lib/services/flow-store.service.js.map +1 -1
  166. package/dist/esm/lib/services/ng-flow.service.d.ts +82 -0
  167. package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
  168. package/dist/esm/lib/services/ng-flow.service.js +114 -30
  169. package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
  170. package/dist/esm/lib/services/tokens.d.ts +23 -0
  171. package/dist/esm/lib/services/tokens.d.ts.map +1 -1
  172. package/dist/esm/lib/services/tokens.js +22 -0
  173. package/dist/esm/lib/services/tokens.js.map +1 -1
  174. package/dist/esm/lib/types/edges.d.ts +6 -5
  175. package/dist/esm/lib/types/edges.d.ts.map +1 -1
  176. package/dist/esm/lib/types/nodes.d.ts +46 -3
  177. package/dist/esm/lib/types/nodes.d.ts.map +1 -1
  178. package/dist/esm/lib/utils/changes.d.ts +20 -0
  179. package/dist/esm/lib/utils/changes.d.ts.map +1 -1
  180. package/dist/esm/lib/utils/changes.js +20 -0
  181. package/dist/esm/lib/utils/changes.js.map +1 -1
  182. package/dist/esm/lib/utils/index.d.ts +1 -0
  183. package/dist/esm/lib/utils/index.d.ts.map +1 -1
  184. package/dist/esm/lib/utils/index.js +1 -0
  185. package/dist/esm/lib/utils/index.js.map +1 -1
  186. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +20 -0
  187. package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +1 -0
  188. package/dist/esm/lib/utils/inject-ng-flow-node.js +28 -0
  189. package/dist/esm/lib/utils/inject-ng-flow-node.js.map +1 -0
  190. package/dist/style.css +416 -411
  191. package/package.json +6 -6
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @angflow/angular
2
2
 
3
- An Angular library for building node-based UIs, interactive flow charts, and diagrams. Built on top of `@angflow/system` a republish of `@xyflow/system`, the same framework-agnostic core that powers [React Flow](https://reactflow.dev/) and [Svelte Flow](https://svelteflow.dev/).
3
+ An Angular library for building node-based UIs, interactive flow charts, and diagrams. Angular 17+, signals-based, OnPush everywhere, no RxJS in the store.
4
+
5
+ Angular port of [xyflow](https://github.com/xyflow/xyflow) — the library behind [React Flow](https://reactflow.dev) and [Svelte Flow](https://svelteflow.dev). The framework-agnostic core (`@angflow/system`) is a republish of `@xyflow/system`, so drag, pan/zoom, handle routing, and resize logic are identical to what React Flow ships.
4
6
 
5
7
  ## Features
6
8
 
@@ -182,7 +184,7 @@ flowService.toObject(); // { nodes, edges, viewport }
182
184
 
183
185
  - **Signal-based state** — Angular 17+ signals for fine-grained reactivity (no RxJS in the store)
184
186
  - **OnPush everywhere** — all components use `ChangeDetectionStrategy.OnPush`
185
- - **@angflow/system core** — shares the same drag, pan/zoom, handle, and resize logic as React Flow and Svelte Flow (republished from `@xyflow/system`)
187
+ - **`@angflow/system` core** — framework-agnostic drag, pan/zoom, handle, and resize logic
186
188
  - **Standalone components** — no NgModule, tree-shakeable
187
189
 
188
190
  ## Keyboard Shortcuts
@@ -196,10 +198,18 @@ flowService.toObject(); // { nodes, edges, viewport }
196
198
  | Shift + drag | Box select |
197
199
  | Ctrl/Cmd + click | Multi-select |
198
200
 
201
+ ## Coming from React Flow?
202
+
203
+ The public API is modeled on React Flow deliberately. `<ng-flow>` mirrors `<ReactFlow>`, `<ng-flow-handle>` mirrors `<Handle>`, `inject(NgFlowService)` replaces `useReactFlow()`, and state hooks (`useNodes`, `useEdges`, `useViewport`) become signals on the service (`flowService.nodes`, `.edges`, `.viewport`). Use `applyNodeChanges` / `applyEdgeChanges` with `(nodesChange)` / `(edgesChange)` outputs the same way you'd use `useNodesState` / `useEdgesState`. See the [root README](../../README.md#coming-from-react-flow) for a full mapping table.
204
+
199
205
  ## Credits
200
206
 
201
- Built on top of [xyflow](https://github.com/xyflow/xyflow) by [webkid GmbH](https://webkid.io/). The Angular port uses `@angflow/system` (a republish of `@xyflow/system`) for framework-agnostic core logic.
207
+ Built on top of [xyflow](https://github.com/xyflow/xyflow) by [webkid GmbH](https://webkid.io/). The framework-agnostic core (`@angflow/system`) is a republish of `@xyflow/system`; upstream fixes and features flow through.
208
+
209
+ **Why xyflow as the base?** Pan/zoom, drag, handle routing, and resizer math are hard to get right — xyflow has years of production use shaking those edge cases out, and it deliberately splits that interaction layer from the framework-specific view layer. That split is what makes a faithful Angular port possible. Mirroring the React Flow API on top means the thousands of React Flow examples, Stack Overflow answers, and blog posts also work as documentation for angflow. See the [root README](../../README.md#why-build-on-xyflow) for the full rationale.
210
+
211
+ If you use angflow in production, please consider [sponsoring xyflow](https://github.com/sponsors/xyflow).
202
212
 
203
213
  ## License
204
214
 
205
- MIT
215
+ MIT — inherited from xyflow.