# FlexDiagram

## Content

FlexDiagram enables developers to visually represent relationships between data elements through structured diagrams such as flowcharts, organizational charts, decision trees, and custom network diagrams. Diagrams can be created programmatically or generated from application data.
**Key Concepts and Architecture:**

* **Nodes** represent entities or data points and define the visual elements in a diagram.
* **Edges** represent relationships between nodes and define how nodes are connected.
* **Styling System** allows customization using properties such as shape, color, and layout.
* **Legend and Palette** provide categorization and visual grouping of nodes.
* **Diagram Types** determine how diagrams are generated:
    * Programmatic (Unbound)
    * Hierarchical Data Binding
    * Tabular Data Binding
    * Mermaid Text Parsing