From 810e2f8e073c34838b38ace3a2887d85a530cd87 Mon Sep 17 00:00:00 2001
From: exoego
Date: Thu, 27 Jun 2024 19:09:22 +0900
Subject: [PATCH 01/33] init venn diagram
---
.build/jsonSchema.ts | 3 +-
demos/index.html | 2 +-
demos/venn.html | 65 +
.../setup/interfaces/mermaid.MermaidConfig.md | 541 +
docs/config/setup/modules/defaultConfig.md | 33 +
package.json | 134 +-
packages/mermaid/package.json | 86 +-
packages/mermaid/src/config.type.ts | 116 +-
packages/mermaid/src/defaultConfig.ts | 26 +-
.../src/diagram-api/diagram-orchestration.ts | 17 +-
.../src/diagrams/venn/parser/venn.jison | 72 +
.../src/diagrams/venn/parser/venn.spec.ts | 66 +
packages/mermaid/src/diagrams/venn/styles.ts | 162 +
packages/mermaid/src/diagrams/venn/vennDB.ts | 58 +
.../mermaid/src/diagrams/venn/vennDetector.ts | 24 +
.../mermaid/src/diagrams/venn/vennDiagram.ts | 13 +
.../mermaid/src/diagrams/venn/vennRenderer.ts | 90 +
.../mermaid/src/diagrams/venn/vennTypes.ts | 15 +
.../mermaid/src/docs/.vitepress/config.ts | 36 +-
.../mermaid/src/schemas/config.schema.yaml | 157 +-
packages/mermaid/src/styles.spec.ts | 4 +-
pnpm-lock.yaml | 15536 +++++++---------
22 files changed, 8008 insertions(+), 9248 deletions(-)
create mode 100644 demos/venn.html
create mode 100644 docs/config/setup/interfaces/mermaid.MermaidConfig.md
create mode 100644 docs/config/setup/modules/defaultConfig.md
create mode 100644 packages/mermaid/src/diagrams/venn/parser/venn.jison
create mode 100644 packages/mermaid/src/diagrams/venn/parser/venn.spec.ts
create mode 100644 packages/mermaid/src/diagrams/venn/styles.ts
create mode 100644 packages/mermaid/src/diagrams/venn/vennDB.ts
create mode 100644 packages/mermaid/src/diagrams/venn/vennDetector.ts
create mode 100644 packages/mermaid/src/diagrams/venn/vennDiagram.ts
create mode 100644 packages/mermaid/src/diagrams/venn/vennRenderer.ts
create mode 100644 packages/mermaid/src/diagrams/venn/vennTypes.ts
diff --git a/.build/jsonSchema.ts b/.build/jsonSchema.ts
index 48a9883de8f..832c374571e 100644
--- a/.build/jsonSchema.ts
+++ b/.build/jsonSchema.ts
@@ -19,7 +19,6 @@ const MERMAID_CONFIG_DIAGRAM_KEYS = [
'xyChart',
'requirement',
'mindmap',
- 'kanban',
'timeline',
'gitGraph',
'c4',
@@ -27,7 +26,7 @@ const MERMAID_CONFIG_DIAGRAM_KEYS = [
'block',
'packet',
'architecture',
- 'radar',
+ 'venn',
] as const;
/**
diff --git a/demos/index.html b/demos/index.html
index d615bf34716..ecd44d3df33 100644
--- a/demos/index.html
+++ b/demos/index.html
@@ -92,7 +92,7 @@
-
+
+ Venn diagram demo
+
+
+
+ venn-beta
+ title Very Basic Venn Diagram
+ sets A
+ sets B
+ sets A,B label: AB
+
+
+
+ venn-beta
+ title Three overlapping circles
+ sets A
+ sets B
+ sets C
+ sets A,B label: AB, background: skyblue
+ sets B,C label: BC, background: orange
+ sets A,C label: AC, background: lightgreen
+ sets A,B,C label: ABC, color: red, background: white
+
+
+
+ venn-beta
+ title Three concatenated circles and one isolated circle
+ sets A size: 15, label: ALPHA
+ sets B size: 5, label: BETA
+ sets C size: 10
+ sets D size: 10, label: DELTA
+ sets A,B size: 1, label: AB, background: gold
+ sets B,D size: 1
+
+
+
+
+
+
diff --git a/demos/venn.html b/demos/venn.html
new file mode 100644
index 00000000000..0446cddbb07
--- /dev/null
+++ b/demos/venn.html
@@ -0,0 +1,65 @@
+
+
+