First public release of @gea-flow/core — a React Flow-style node editor library for the Gea framework.
Compiled-first reactivity, no virtual DOM, multi-instance native.
Install
npm install @gea-flow/coreimport { GeaFlow, Background, Controls } from '@gea-flow/core'
import '@gea-flow/core/styles.css'
<GeaFlow nodes={nodes} edges={edges}>
<Background variant="dots" />
<Controls />
</GeaFlow>What's in the box
- Multi-instance native — drop multiple
<GeaFlow />on a page; each owns its own store, viewport, selection — fully isolated. - Custom nodes & edges — bring your own components (class or function); gea-flow mounts them imperatively, reactivity stays intact.
- XYDrag + auto-pan — multi-select drag, snap-to-grid, threshold, auto-pan when near edges. Powered by
@xyflow/system. - Selection box — Shift+drag a lasso to multi-select.
Deletecascades through connected edges. - Background, Controls, MiniMap — drop-in utilities. Variants for dots / cross / lines, fit-view, zoom, overview.
- Connect via handles — drag from a source handle to a target handle.
onConnectfires for your callback. - Type validation — invalid
nodeTypes/edgeTypesregistries throw with clear messages; unknown types fall back to defaults with a single warning.
Built-in edge & node types
| Type | Description |
|---|---|
bezier (default) |
Curved Bezier path |
smoothstep |
Right-angle path with rounded corners |
step |
Right-angle path, sharp corners |
straight |
Direct line |
Links
- Docs & live examples: gea-flow website
- npm: https://www.npmjs.com/package/@gea-flow/core
- Issues: https://github.com/tutkuofnight/gea-flow/issues
Peer dependencies
@geajs/core ^1.3.0@xyflow/system ^0.0.76(bundled as direct dependency)
If you find a bug or have a feature idea, open an issue. Star the repo if this is useful to you.
`