Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/antonioru/beautiful-react-diagrams

💎 A collection of lightweight React components and hooks to build diagrams with ease 💎
https://github.com/antonioru/beautiful-react-diagrams

diagram diagrams flowchart-diagrams flowcharts hooks javascript react

Last synced: 11 days ago
JSON representation

💎 A collection of lightweight React components and hooks to build diagrams with ease 💎

Awesome Lists containing this project

README

        

![CI/CD](https://github.com/beautifulinteractions/beautiful-react-diagrams/workflows/CI/CD/badge.svg)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Coverage Status](https://coveralls.io/repos/github/beautifulinteractions/beautiful-react-diagrams/badge.svg?branch=master)](https://coveralls.io/github/beautifulinteractions/beautiful-react-diagrams?branch=master)
![npm](https://img.shields.io/npm/v/beautiful-react-diagrams)
![GitHub stars](https://img.shields.io/github/stars/beautifulinteractions/beautiful-react-diagrams?style=social)



beautiful-react-diagrams







A tiny collection of lightweight React components for building diagrams with ease





🌟 Live playground here 🌟


![Diagrams banner](./beautiful-react-diagrams.png)

## 💡 Why?

Javascript diagramming libraries are often difficult to integrate in React projects.

Different patterns not always fit the React nature and having a component's state in in sync with an external
diagramming library might be quite difficult especially when the latter had been built in a different paradigm (such as MVC, for example).

For this reason we created `beautiful-react-diagrams` an easy-to-customise functional diagramming library to build
diagrams with ease.

## 🎓 Principles

- **Lightweights**: import nothing but a single lightweight javascript.
- **Controlled components**: exports [controlled](https://reactjs.org/docs/forms.html#controlled-components) components only.
- **Renderers**: the involved components can be easily replaced with your own by using the `renderer` props.
- **Easy to style**: built using CSS vars only.

## ☕️ Features

* Concise API
* Small and lightweight
* Easy to use
* Easy to customise




🌟 Live playground here 🌟


## Contributing

Contributions are very welcome and wanted.

To submit your custom pull request, please make sure your read our [CONTRIBUTING](./CONTRIBUTING.md) guidelines.

**Before submitting** a new pull request, please make sure:

1. You have updated the package.json version and reported your changes into the [CHANGELOG](./CHANGELOG.md) file
3. make sure you run `npm run lint`, `npm build` and then `npm test` before submitting your merge request.
4. make sure you've added the documentation of your changes.
5. if you've changed the signature of a component, please make sure you've updated the `index.d.ts` file.

## Versioning

This library follows the [semver](https://semver.org) versioning standard.
Pre-release commits on the `master` branch, including merge commits, lead
to automated publication to NPM under the `next` tag. Pre-release version
numbers must follow the `..-.`, such as
`5.1.0-rc.0`.

---

This library logo has been created using images published by the user [Freepik](https://www.flaticon.com/authors/freepik) on [www.flaticon.com](https://www.flaticon.com/free-icon/hook_1081812)