Powerful open source libraries for building node-based UIs with React or Svelte. Ready out-of-the-box and infinitely customizable. React Flow · Svelte Flow · React Flow Pro · Discord --- The…
!xyflow-header
!xyflow-header-dark
!GitHub License MIT
!npm downloads
!npm downloads
Powerful open source libraries for building node-based UIs with React or Svelte. Ready out-of-the-box and infinitely customizable.
React Flow · Svelte Flow · React Flow Pro · Discord
---
The xyflow mono repo
The xyflow repository is the home of four packages:
- React Flow 12
@xyflow/react[packages/react](./packages/react) - React Flow 11
reactflowv11 branch - Svelte Flow
@xyflow/svelte[packages/svelte](./packages/svelte) - Shared helper library
@xyflow/system[packages/system](./packages/system)
Commercial usage
Are you using React Flow or Svelte Flow for a personal project? Great! No sponsorship needed, you can support us by reporting any bugs you find, sending us screenshots of your projects, and starring us on Github 🌟
Are you using React Flow or Svelte Flow at your organization and making money from it? Awesome! We rely on your support to keep our libraries developed and maintained under an MIT License, just how we like it. For React Flow you can do that on the React Flow Pro website and for both of our libraries you can do it through Github Sponsors.
Getting started
The best way to get started is to check out the React Flow or Svelte Flow learn section. However if you want to get a sneak peek of how to install and use the libraries you can see it here:
React Flow basic usage
### Installationsh
npm install @xyflow/react
### Basic usage
jsx
import { useCallback } from 'react';
import {
ReactFlow,
MiniMap,
Controls,
Background,
useNodesState,
useEdgesState,
addEdge,
} from '@xyflow/react';
import '@xyflow/react/dist/style.css';
const initialNodes = [
{ id: '1', position: { x: 0, y: 0 }, data: { label: '1' } },
{ id: '2', position: { x: 0, y: 100 }, data: { label: '2' } },
];
const initialEdges = [{ id: 'e1-2', source: '1', target: '2' }];
function Flow() {
const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
const onConnect = useCallback((params) => setEdges((eds) => addEdge(params, eds)), [setEdges]);
return (
);
}
export default Flow;
Svelte Flow basic usage
### Installationsh
npm install @xyflow/svelte
### Basic usage
svelte
import { writable } from 'svelte/store';
import {
SvelteFlow,
Controls,
Background,
BackgroundVariant,
MiniMap,
} from '@xyflow/svelte';
import '@xyflow/svelte/dist/style.css'
const nodes = writable([
{
id: '1',
type: 'input',
data: { label: 'Input Node' },
position: { x: 0, y: 0 }
},
{
id: '2',
type: 'custom',
data: { label: 'Node' },
position: { x: 0, y: 150 }
}
]);
const edges = writable([
{
id: '1-2',
type: 'default',
source: '1',
target: '2',
label: 'Edge Text'
}
]);
console.log('on node click', event)}
>
Releases
For releasing packages we are using changesets in combination with the changeset Github action. The rough idea is:
1. create PRs for new features, updates and fixes (with a changeset if relevant for changelog)
2. merge into main
3. changeset creates a PR that bumps all packages based on the changesets
4. merge changeset PR if you want to release to Github and npm
Built by xyflow
React Flow and Svelte Flow are maintained by the xyflow team. If you need help or want to talk to us about a collaboration, reach out through our contact form or by joining our Discord Server.
License
React Flow and Svelte Flow are [MIT licensed](./LICENSE).
Members
-
xyflow ★ PINNED
React Flow | Svelte Flow - Powerful open source libraries for building node-based UIs with React (https://reactflow.dev) or Svelte (https://svelteflow.dev). Ready out-of-the-box and infinitely customizable.
TypeScript ★ 38k 1d agoExplain → -
awesome-node-based-uis
A curated list with resources about node-based UIs
★ 3.6k 1y agoExplain → -
strudel-flow
Experimental node-based UI for Strudel built with React Flow.
TypeScript ★ 221 21d agoExplain → -
react-flow-example-apps
Example React Flow apps for Create React App, Next.js and Remix.
TypeScript ★ 216 1y agoExplain → -
pro-platform ▣
The legacy subscriber platform for React Flow Pro. Not maintained anymore since the platform is now integrated into our websites.
TypeScript ★ 129 6d agoExplain → -
react-flow-mindmap-app
A quick and organized mind map app built with React Flow. Follow the tutorial to learn how to build it yourself.
TypeScript ★ 124 1y agoExplain → -
vite-react-flow-template
A vite template to get started with React Flow
TypeScript ★ 98 22d agoExplain → -
react-flow-docs ▣
⚠️ This repo contains old versions of the React Flow website. The new repo is located at:
JavaScript ★ 51 2y agoExplain → -
vite-svelte-flow-template
A vite template to get started with Svelte Flow
Svelte ★ 33 2mo agoExplain → -
react-flow-docs-v9 ▣
Archived documentation of React Flow version 9. Powered by Gatsby.
JavaScript ★ 32 4y agoExplain → -
react-flow-web-audio
A simple Web Audio playground built with React Flow. Follow the tutorial to learn how to build it yourself.
JavaScript ★ 28 2y agoExplain → -
react-flow-slide-show
No description.
TypeScript ★ 19 2y agoExplain → -
node-collision-algorithms
Testing various algorithms for resolving node overlaps in a flow
TypeScript ★ 15 7mo agoExplain → -
react-flow-hero-exploration
A place to explore different flows to use in the hero of our redesign.
JavaScript ★ 3 3y agoExplain → -
y-webrtc ⑂
WebRTC Connector for Yjs
JavaScript ★ 2 1y agoExplain → -
y-websocket-server ⑂
A basic backend for y-websocket
JavaScript ★ 1 1y agoExplain → -
nextra-docs-template ⑂
Nextra docs template
★ 1 2y agoExplain → -
reactflow-webpack4
Example React Flow + webpack 4.
JavaScript ★ 1 2y agoExplain → -
new.vueflow.dev ⑂
Redirects for sandboxes
★ 0 11mo agoExplain → -
changeset-action ⑂
fork of changeset action to avoid rate limit
TypeScript ★ 0 2mo agoExplain → -
fathom-discord-roundup
Sends weekly Fathom Analytics reports to a Discord channel.
JavaScript ★ 0 2mo agoExplain → -
.github
No description.
★ 0 1y agoExplain → -
whatsnewaction
No description.
TypeScript ★ 0 1y agoExplain → -
rbush ⑂
RBush — a high-performance JavaScript R-tree-based 2D spatial index for points and rectangles
JavaScript ★ 0 2y agoExplain →
No repos match these filters.