Z.Blazor.Diagrams 3.0.0-beta.6

This is a prerelease version of Z.Blazor.Diagrams.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Z.Blazor.Diagrams --version 3.0.0-beta.6                
NuGet\Install-Package Z.Blazor.Diagrams -Version 3.0.0-beta.6                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Z.Blazor.Diagrams" Version="3.0.0-beta.6" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Z.Blazor.Diagrams --version 3.0.0-beta.6                
#r "nuget: Z.Blazor.Diagrams, 3.0.0-beta.6"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Z.Blazor.Diagrams as a Cake Addin
#addin nuget:?package=Z.Blazor.Diagrams&version=3.0.0-beta.6&prerelease

// Install Z.Blazor.Diagrams as a Cake Tool
#tool nuget:?package=Z.Blazor.Diagrams&version=3.0.0-beta.6&prerelease                

Blazor.Diagrams

alternate text is missing from this package README image

Z.Blazor.Diagrams is a fully customizable and extensible all-purpose diagrams library for Blazor (both Server Side and WASM). It was first inspired by the popular React library react-diagrams, but then evolved into something much bigger. ZBD can be used to make advanced diagrams with a custom design. Even the behavior of the library is "hackable" and can be changed to suit your needs.

NuGet Package Version Download
Z.Blazor.Diagrams.Core NuGet Nuget
Z.Blazor.Diagrams NuGet Nuget
Z.Blazor.Diagrams.Algorithms NuGet Nuget
Badges
JavaScript GitHub file size in bytes
CSS GitHub file size in bytes
Activity GitHub
License GitHub

Mindset/Goals

  • Be multi purpose and useful for most diagramming use cases. ZBD started as a diagramming library for specific use cases, but it is now expanding to be more generic and more useful.
  • Performance is very important, especially in WebAssembly.
  • Separate the data layer (models) and the UI layer (widgets). Representing diagrams as a model has a lot of benefits, and the separation makes things easier, such as saving snapshots or mutating models, regardless of how/where it's gonna be rendered.
  • Be fully customizable, either in how things look or how things behave. All of the UI can be customized by either providing Blazor components or using CSS. All of the default behaviors are customizable by replacing them with your own custom behaviors.
  • Avoid JavaScript. 95% of ZBD is made using C#/Blazor, JS is only used when absolutely necessary (e.g. bounds and observers). JS interop calls are costly, in the future, we strive to have most of them batched and/or replaced.

Features

  • Multi purpose
  • Touch support
  • SVG layer for links/nodes and HTML layer for nodes for maximum customizability
  • Links between nodes directly or node ports
  • Link routers, path generators, markers and labels
  • Panning, Zooming and Zooming to fit a set of nodes
  • Multi selection, deletion and region selection
  • Groups as first class citizen, with all the features of nodes
  • Custom nodes, links and groups
  • Replaceable ("Hackable") behaviors (e.g. link dragging, model deletion, etc..)
  • Customizable Diagram overview/navigator for large diagrams
  • Snap to Grid
  • Virtualization, only draw nodes that are visible to the users
  • Locking mechanism (read-only)
  • Algorithms

Getting Started

You can get started very easily & quickly using:

Sample project

Repository: https://github.com/Blazor-Diagrams/Blazor.DatabaseDesigner

alternate text is missing from this package README image

Contributing

All kinds of contributions are welcome!
If you're interested in helping, please create an issue or comment on an existing one to explain what you will be doing. This is because multiple people can be working on the same problem.

Feedback

If you find a bug or you want to see a functionality in this library, feel free to open an issue.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Z.Blazor.Diagrams:

Package Downloads
FenixAlliance.ACL.Dependencies

Application Component for the Alliance Business Suite.

ApprenticeFoundryMentorModeler

Package Description

Fun.Blazor.Diagrams

Package Description

GitHub repositories (2)

Showing the top 2 popular GitHub repositories that depend on Z.Blazor.Diagrams:

Repository Stars
DragoQCC/HardHatC2
A C# Command & Control framework
weibaohui/blazork8s
manage k8s using c# blazor enhance by chatgpt ,try something new !使用blazor技术开发的内置OpenAI GPT的k8s 管理界面
Version Downloads Last updated
3.0.2 103,974 2/24/2024
3.0.1 47,368 10/27/2023
3.0.0 65,811 8/14/2023
3.0.0-beta.7 1,617 5/10/2023
3.0.0-beta.6 220 5/10/2023
3.0.0-beta.5 3,254 11/24/2022
3.0.0-beta.4 454 10/16/2022
3.0.0-beta.3 1,793 9/19/2022
3.0.0-beta.2 327 9/11/2022
3.0.0-beta.1 321 9/4/2022
2.1.6 531,180 11/1/2021
2.1.5 5,741 8/30/2021
2.1.4 367 8/29/2021
2.1.3 1,600 7/19/2021
2.1.2 4,412 5/31/2021
2.1.1 440 5/25/2021
2.1.0 1,452 4/30/2021
2.0.0 3,285 3/24/2021
2.0.0-rc 250 3/22/2021
1.5.2 4,518 1/18/2021
1.5.1 468 1/9/2021
1.5.0 635 1/5/2021
1.4.2 502 12/30/2020
1.4.1 544 12/24/2020
1.4.0 498 12/12/2020
1.3.0 660 11/29/2020
1.2.0 524 11/8/2020
1.1.3 498 11/2/2020
1.1.2 432 11/2/2020
1.1.0 538 10/19/2020
1.0.4.1 412 10/11/2020
1.0.4 434 10/2/2020
1.0.3 442 9/25/2020
1.0.2 464 9/25/2020
1.0.1 446 9/24/2020
1.0.0 435 9/24/2020
0.7.0 644 9/13/2020
0.6.0 532 8/14/2020
0.5.0 458 7/29/2020
0.4.0 493 7/15/2020
0.3.1 495 6/25/2020
0.3.0 495 6/25/2020
0.2.0 495 6/19/2020
0.1.1.1 471 6/18/2020
0.1.1 484 6/18/2020
0.1.0 1,452 6/13/2020