![readme-header](https://user-images.githubusercontent.com/1769678/223572353-788d5d38-cd28-40fa-96cd-9d29226f7e4b.png)

Isoflow Editor | Github | Discord

An open-source React component for drawing network diagrams.

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ![CircleCI](https://circleci.com/gh/markmanx/isoflow.svg?style=shield)
## Key Features - **Annotation tools:** Annotate your architecture with isometric icons, labels, regions and connectors. - **Customizable:** Use the standard free set of networking icons (also included under the MIT licence), or create your own. - **Export options:** Export diagrams as images, JSON or YAML. ## Roadmap Beta release progress: ████████░ - [x] Basic view controls (pan & zoom) - [x] Create / delete nodes - [x] Create / delete connectors - [x] Create / delete rectangle areas - [x] onSceneUpdate callback - [x] Drag items - [x] Iconpacks - [x] Documentation - [ ] Export options ## Quick start Install the Isoflow [npm package](https://www.npmjs.com/package/isoflow): ```bash npm install isoflow ``` Basic usage is as follows: ```jsx import Isoflow from 'isoflow'; import { networkingIsopack } from 'isoflow/dist/iconpacks'; const initialData = { icons: networkingIsopack, nodes: [ { id: "node1", iconId: "server", position: { x: 0, y: 0, }, }, ], connectors: [], rectangles: [] }; const App = () => ( ); ``` **Note:** Isoflow cannot be server-side rendered. If using Next.js, make sure you only import Isoflow in the browser: ```jsx const Isoflow = dynamic(() => import("isoflow"), { ssr: false, }); ``` ## Developer documentation For more detailed API documentation, examples and more, see the [developer documentation](https://v2.isoflow.io/docs). ## CodeSandbox Demo the latest version of Isoflow on Codesandbox [here](https://codesandbox.io/p/sandbox/github/markmanx/isoflow/tree). The sandbox is always synced with the Github repo. ## Contributing - Isoflow is actively being worked on. Missing something or found a bug? Report it [here](https://github.com/markmanx/isoflow/issues) or join our [Discord server](https://discord.gg/efXxbsha). - Want to contribute? See [good first issues](https://github.com/markmanx/isoflow/contribute).