Skip to content
D
Documentation

Introduction

overview
3 min readUpdated

Grafloria is an MIT diagram and dashboard engine for JavaScript. Use it when you build flowcharts, workflow editors, UML or ER diagrams, or boards of draggable, resizable widgets. Its JavaScript surface and native Angular, React, Vue and Qwik bindings share one headless core, one document format and one undo stack.

Choose your packages

Start with the package for your framework, or the element package for framework-free embedding. The engine owns the graph and behavior; the renderer supplies the visual layer.

PackageWhat you use it forInstall in your project
@grafloria/engineHeadless graph models, commands and undo, layout, diagram text and collaboration.npm install @grafloria/engine
@grafloria/rendererSVG rendering, interaction, theming, accessibility and SVG, PNG or vector PDF export.npm install @grafloria/renderer @grafloria/engine
@grafloria/elementThe <grafloria-flow> custom element and dashboard, UML and ER kits, with or without a framework.npm install @grafloria/element @grafloria/engine @grafloria/renderer
@grafloria/dashboardDashboard layouts with grid or splitter arrangements, undo, nesting and persistence.npm install @grafloria/dashboard @grafloria/element@^0.4.9 @grafloria/engine@^0.3.0 @grafloria/renderer@^0.4.0
@grafloria/reactReact components, hooks and component-based custom nodes.npm install @grafloria/react @grafloria/engine @grafloria/renderer @grafloria/element react react-dom
@grafloria/vueVue 3 components, v-model bindings and slot-based custom nodes.npm install @grafloria/vue @grafloria/engine @grafloria/renderer @grafloria/element vue
@grafloria/angularAngular components, directives and services.npm install @grafloria/angular @grafloria/engine @grafloria/renderer @grafloria/element @angular/common @angular/core @angular/forms @angular/platform-browser rxjs
@grafloria/qwikQwik components, QRL callbacks, custom nodes and resumable server rendering.npm install @grafloria/qwik @grafloria/engine @grafloria/renderer @grafloria/element @builder.io/qwik

The standalone dashboard package at version 0.1.0 declares older peer ranges than the current framework packages. Its install line selects those ranges. For dashboards in a current framework project, start with that framework's binding and the dashboard kit in the element package.

Take your quick start

Choose your stack to install the binding and mount a sized canvas with two connected nodes:

  • JavaScript quick start: embed without a framework and keep the live instance for updates and cleanup.
  • React quick start: use controlled node and edge state and an initialization ref.
  • Vue quick start: use typed data, v-model bindings and an initialization callback.
  • Angular quick start: use a standalone canvas, two-way model bindings and view-child access.
  • Qwik quick start: use serializable signals, QRL change callbacks and initialization access.

To explore before installing, open the live demo gallery or the fluid dashboard demo.

Find your task

Concepts

Start with How Grafloria works, then follow specs and live models, instance lifetime, state and event flow, commands and history, and documents and kits to understand how your binding, live graph and saved document fit together.

Guides

The task guides cover shared capabilities; use the framework guides below for binding-specific state and content.

Framework guides

API reference

Use the package reference links in the package table to look up exports and signatures. For the live canvas facade, start with DiagramInstance: it provides rendering and spec updates, getModel() for data queries, and getEngine() for engine access. The Qwik Vite reference covers that package's Vite entry point.

Was this page helpful?