@angflow/angular 0.0.12 → 0.0.14
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.
- package/README.md +14 -4
- package/dist/base.css +417 -411
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts +4 -0
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.d.ts.map +1 -1
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js +24 -20
- package/dist/esm/lib/components/a11y-descriptions/a11y-descriptions.component.js.map +1 -1
- package/dist/esm/lib/components/attribution/attribution.component.d.ts +4 -0
- package/dist/esm/lib/components/attribution/attribution.component.d.ts.map +1 -1
- package/dist/esm/lib/components/attribution/attribution.component.js +22 -18
- package/dist/esm/lib/components/attribution/attribution.component.js.map +1 -1
- package/dist/esm/lib/components/background/background.component.d.ts +20 -0
- package/dist/esm/lib/components/background/background.component.d.ts.map +1 -1
- package/dist/esm/lib/components/background/background.component.js +159 -140
- package/dist/esm/lib/components/background/background.component.js.map +1 -1
- package/dist/esm/lib/components/connection-line/connection-line.component.d.ts +7 -0
- package/dist/esm/lib/components/connection-line/connection-line.component.d.ts.map +1 -1
- package/dist/esm/lib/components/connection-line/connection-line.component.js +7 -0
- package/dist/esm/lib/components/connection-line/connection-line.component.js.map +1 -1
- package/dist/esm/lib/components/controls/controls.component.d.ts +21 -0
- package/dist/esm/lib/components/controls/controls.component.d.ts.map +1 -1
- package/dist/esm/lib/components/controls/controls.component.js +21 -1
- package/dist/esm/lib/components/controls/controls.component.js.map +1 -1
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts +4 -0
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js +4 -0
- package/dist/esm/lib/components/edge-label-renderer/edge-label-renderer.component.js.map +1 -1
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts +12 -0
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js +12 -0
- package/dist/esm/lib/components/edge-toolbar/edge-toolbar.component.js.map +1 -1
- package/dist/esm/lib/components/edges/base-edge.component.d.ts +23 -0
- package/dist/esm/lib/components/edges/base-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/base-edge.component.js +63 -40
- package/dist/esm/lib/components/edges/base-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.d.ts +4 -0
- package/dist/esm/lib/components/edges/bezier-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/bezier-edge.component.js +4 -0
- package/dist/esm/lib/components/edges/bezier-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/edge-text.component.d.ts +4 -0
- package/dist/esm/lib/components/edges/edge-text.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/edge-text.component.js +30 -26
- package/dist/esm/lib/components/edges/edge-text.component.js.map +1 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts +4 -0
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.js +4 -0
- package/dist/esm/lib/components/edges/simple-bezier-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts +1 -0
- package/dist/esm/lib/components/edges/smooth-step-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/smooth-step-edge.component.js +1 -0
- package/dist/esm/lib/components/edges/smooth-step-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/step-edge.component.d.ts +1 -0
- package/dist/esm/lib/components/edges/step-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/step-edge.component.js +1 -0
- package/dist/esm/lib/components/edges/step-edge.component.js.map +1 -1
- package/dist/esm/lib/components/edges/straight-edge.component.d.ts +1 -0
- package/dist/esm/lib/components/edges/straight-edge.component.d.ts.map +1 -1
- package/dist/esm/lib/components/edges/straight-edge.component.js +1 -0
- package/dist/esm/lib/components/edges/straight-edge.component.js.map +1 -1
- package/dist/esm/lib/components/handle/handle.component.d.ts +20 -1
- package/dist/esm/lib/components/handle/handle.component.d.ts.map +1 -1
- package/dist/esm/lib/components/handle/handle.component.js +25 -2
- package/dist/esm/lib/components/handle/handle.component.js.map +1 -1
- package/dist/esm/lib/components/minimap/minimap.component.d.ts +34 -0
- package/dist/esm/lib/components/minimap/minimap.component.d.ts.map +1 -1
- package/dist/esm/lib/components/minimap/minimap.component.js +30 -4
- package/dist/esm/lib/components/minimap/minimap.component.js.map +1 -1
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts +14 -0
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.d.ts.map +1 -1
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js +14 -0
- package/dist/esm/lib/components/ng-flow-provider/ng-flow-provider.component.js.map +1 -1
- package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts +29 -0
- package/dist/esm/lib/components/node-resizer/node-resizer.component.d.ts.map +1 -1
- package/dist/esm/lib/components/node-resizer/node-resizer.component.js +153 -124
- package/dist/esm/lib/components/node-resizer/node-resizer.component.js.map +1 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts +21 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.d.ts.map +1 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js +21 -1
- package/dist/esm/lib/components/node-toolbar/node-toolbar.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/default-node.component.d.ts +4 -0
- package/dist/esm/lib/components/nodes/default-node.component.d.ts.map +1 -1
- package/dist/esm/lib/components/nodes/default-node.component.js +13 -9
- package/dist/esm/lib/components/nodes/default-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/group-node.component.d.ts +5 -0
- package/dist/esm/lib/components/nodes/group-node.component.d.ts.map +1 -1
- package/dist/esm/lib/components/nodes/group-node.component.js +5 -0
- package/dist/esm/lib/components/nodes/group-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/input-node.component.d.ts +4 -0
- package/dist/esm/lib/components/nodes/input-node.component.d.ts.map +1 -1
- package/dist/esm/lib/components/nodes/input-node.component.js +11 -7
- package/dist/esm/lib/components/nodes/input-node.component.js.map +1 -1
- package/dist/esm/lib/components/nodes/output-node.component.d.ts +4 -0
- package/dist/esm/lib/components/nodes/output-node.component.d.ts.map +1 -1
- package/dist/esm/lib/components/nodes/output-node.component.js +11 -7
- package/dist/esm/lib/components/nodes/output-node.component.js.map +1 -1
- package/dist/esm/lib/components/panel/panel.component.d.ts +12 -0
- package/dist/esm/lib/components/panel/panel.component.d.ts.map +1 -1
- package/dist/esm/lib/components/panel/panel.component.js +12 -0
- package/dist/esm/lib/components/panel/panel.component.js.map +1 -1
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts +5 -0
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.d.ts.map +1 -1
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js +5 -0
- package/dist/esm/lib/components/viewport-portal/viewport-portal.component.js.map +1 -1
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.d.ts.map +1 -1
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js +35 -3
- package/dist/esm/lib/container/edge-renderer/edge-renderer.component.js.map +1 -1
- package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts +154 -1
- package/dist/esm/lib/container/ng-flow/ng-flow.component.d.ts.map +1 -1
- package/dist/esm/lib/container/ng-flow/ng-flow.component.js +162 -23
- package/dist/esm/lib/container/ng-flow/ng-flow.component.js.map +1 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts +3 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.d.ts.map +1 -1
- package/dist/esm/lib/container/node-renderer/node-renderer.component.js +50 -8
- package/dist/esm/lib/container/node-renderer/node-renderer.component.js.map +1 -1
- package/dist/esm/lib/container/pane/pane.component.d.ts +0 -1
- package/dist/esm/lib/container/pane/pane.component.d.ts.map +1 -1
- package/dist/esm/lib/container/pane/pane.component.js +18 -25
- package/dist/esm/lib/container/pane/pane.component.js.map +1 -1
- package/dist/esm/lib/container/viewport/viewport.component.d.ts +4 -0
- package/dist/esm/lib/container/viewport/viewport.component.d.ts.map +1 -1
- package/dist/esm/lib/container/viewport/viewport.component.js +4 -0
- package/dist/esm/lib/container/viewport/viewport.component.js.map +1 -1
- package/dist/esm/lib/directives/drag.directive.d.ts +17 -0
- package/dist/esm/lib/directives/drag.directive.d.ts.map +1 -1
- package/dist/esm/lib/directives/drag.directive.js +17 -0
- package/dist/esm/lib/directives/drag.directive.js.map +1 -1
- package/dist/esm/lib/directives/key-handler.directive.d.ts +13 -0
- package/dist/esm/lib/directives/key-handler.directive.d.ts.map +1 -1
- package/dist/esm/lib/directives/key-handler.directive.js +13 -0
- package/dist/esm/lib/directives/key-handler.directive.js.map +1 -1
- package/dist/esm/lib/public-api.d.ts +1 -0
- package/dist/esm/lib/public-api.d.ts.map +1 -1
- package/dist/esm/lib/public-api.js +2 -0
- package/dist/esm/lib/public-api.js.map +1 -1
- package/dist/esm/lib/services/flow-store.service.d.ts +3 -0
- package/dist/esm/lib/services/flow-store.service.d.ts.map +1 -1
- package/dist/esm/lib/services/flow-store.service.js +3 -0
- package/dist/esm/lib/services/flow-store.service.js.map +1 -1
- package/dist/esm/lib/services/ng-flow.service.d.ts +82 -0
- package/dist/esm/lib/services/ng-flow.service.d.ts.map +1 -1
- package/dist/esm/lib/services/ng-flow.service.js +82 -0
- package/dist/esm/lib/services/ng-flow.service.js.map +1 -1
- package/dist/esm/lib/services/tokens.d.ts +23 -0
- package/dist/esm/lib/services/tokens.d.ts.map +1 -1
- package/dist/esm/lib/services/tokens.js +22 -0
- package/dist/esm/lib/services/tokens.js.map +1 -1
- package/dist/esm/lib/types/nodes.d.ts +36 -2
- package/dist/esm/lib/types/nodes.d.ts.map +1 -1
- package/dist/esm/lib/utils/changes.d.ts +20 -0
- package/dist/esm/lib/utils/changes.d.ts.map +1 -1
- package/dist/esm/lib/utils/changes.js +20 -0
- package/dist/esm/lib/utils/changes.js.map +1 -1
- package/dist/esm/lib/utils/index.d.ts +1 -0
- package/dist/esm/lib/utils/index.d.ts.map +1 -1
- package/dist/esm/lib/utils/index.js +1 -0
- package/dist/esm/lib/utils/index.js.map +1 -1
- package/dist/esm/lib/utils/inject-ng-flow-node.d.ts +20 -0
- package/dist/esm/lib/utils/inject-ng-flow-node.d.ts.map +1 -0
- package/dist/esm/lib/utils/inject-ng-flow-node.js +28 -0
- package/dist/esm/lib/utils/inject-ng-flow-node.js.map +1 -0
- package/dist/style.css +417 -411
- 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.
|
|
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
|
-
-
|
|
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
|
|
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.
|