Skip to content

Commit ee20b13

Browse files
authored
Merge pull request #13 from interledger/chj/add-mermaid-component
feat: add Mermaid component
2 parents 17f0029 + e9d0793 commit ee20b13

File tree

6 files changed

+155
-8
lines changed

6 files changed

+155
-8
lines changed

.gitignore

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
.pnpm-debug.log*
9+
10+
# Diagnostic reports (https://nodejs.org/api/report.html)
11+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
12+
13+
# Runtime data
14+
pids
15+
*.pid
16+
*.seed
17+
*.pid.lock
18+
19+
# Directory for instrumented libs generated by jscoverage/JSCover
20+
lib-cov
21+
22+
# Coverage directory used by tools like istanbul
23+
coverage
24+
*.lcov
25+
26+
# nyc test coverage
27+
.nyc_output
28+
29+
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
30+
.grunt
31+
32+
# Bower dependency directory (https://bower.io/)
33+
bower_components
34+
35+
# node-waf configuration
36+
.lock-wscript
37+
38+
# Compiled binary addons (https://nodejs.org/api/addons.html)
39+
build/Release
40+
41+
# Dependency directories
42+
node_modules/
43+
jspm_packages/
44+
45+
# Snowpack dependency directory (https://snowpack.dev/)
46+
web_modules/
47+
48+
# TypeScript cache
49+
*.tsbuildinfo
50+
51+
# Optional npm cache directory
52+
.npm
53+
54+
# Optional eslint cache
55+
.eslintcache
56+
57+
# Optional stylelint cache
58+
.stylelintcache
59+
60+
# Microbundle cache
61+
.rpt2_cache/
62+
.rts2_cache_cjs/
63+
.rts2_cache_es/
64+
.rts2_cache_umd/
65+
66+
# Optional REPL history
67+
.node_repl_history
68+
69+
# Output of 'npm pack'
70+
*.tgz
71+
72+
# Yarn Integrity file
73+
.yarn-integrity
74+
75+
# dotenv environment variable files
76+
.env
77+
.env.development.local
78+
.env.test.local
79+
.env.production.local
80+
.env.local
81+
82+
# parcel-bundler cache (https://parceljs.org/)
83+
.cache
84+
.parcel-cache
85+
86+
# Next.js build output
87+
.next
88+
out
89+
90+
# Nuxt.js build / generate output
91+
.nuxt
92+
dist
93+
94+
# Gatsby files
95+
.cache/
96+
# Comment in the public line in if your project uses Gatsby and not Next.js
97+
# https://nextjs.org/blog/next-9-1#public-directory-support
98+
# public
99+
100+
# vuepress build output
101+
.vuepress/dist
102+
103+
# vuepress v2.x temp and cache directory
104+
.temp
105+
.cache
106+
107+
# Docusaurus cache and generated files
108+
.docusaurus
109+
110+
# Serverless directories
111+
.serverless/
112+
113+
# FuseBox cache
114+
.fusebox/
115+
116+
# DynamoDB Local files
117+
.dynamodb/
118+
119+
# TernJS port file
120+
.tern-port
121+
122+
# Stores VSCode versions used for testing VSCode extensions
123+
.vscode-test
124+
125+
# yarn v2
126+
.yarn/cache
127+
.yarn/unplugged
128+
.yarn/build-state.yml
129+
.yarn/install-state.gz
130+
.pnp.*
131+
132+
# bun
133+
bun.lockb

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@interledger/docs-design-system",
3-
"version": "0.1.4",
3+
"version": "0.2.0",
44
"type": "module",
55
"description": "Shared styles and components used across all Interledger Starlight documentation sites",
66
"exports": {
@@ -18,5 +18,8 @@
1818
"repository": {
1919
"type": "git",
2020
"url": "https://github.com/interledger/docs-design-system"
21+
},
22+
"devDependencies": {
23+
"mermaid": "^10.6.1"
2124
}
2225
}

src/components/Mermaid.astro

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
interface Props {
3+
graph: string;
4+
}
5+
6+
const { graph } = Astro.props;
7+
---
8+
9+
<pre class="mermaid" set:html={graph} />
10+
11+
<script>
12+
import mermaid from "../../node_modules/mermaid/dist/mermaid.esm.min.mjs";
13+
mermaid.initialize({ startOnLoad: true });
14+
</script>

src/components/MermaidWrapper.astro

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ const { hasBorder = true } = Astro.props;
33
---
44
<div>
55
{hasBorder ?
6-
<div class="not-content border mermaid"><slot /></div> :
6+
<div class="not-content border mermaid-wrapper"><slot /></div> :
77
<div class="not-content"><slot /></div>
88
}
99
<button data-mermaid-button class="button">
@@ -17,9 +17,6 @@ div {
1717
margin-top: var(--space-m);
1818
}
1919

20-
div :global(svg) {
21-
background-color: white;
22-
}
2320

2421
.border :global(svg) {
2522
border-radius: var(--border-radius);

src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Disclosure from "./components/Disclosure.astro";
44
import Hidden from "./components/Hidden.astro";
55
import LargeImg from "./components/LargeImg.astro";
66
import LinkOut from "./components/LinkOut.astro";
7+
import Mermaid from "./components/Mermaid.astro";
78
import MermaidWrapper from "./components/MermaidWrapper.astro";
89
import StylishHeader from "./components/StylishHeader.astro";
910
import Tooltip from "./components/Tooltip.astro";
@@ -14,6 +15,7 @@ export {
1415
Hidden,
1516
LargeImg,
1617
LinkOut,
18+
Mermaid,
1719
MermaidWrapper,
1820
StylishHeader,
1921
Tooltip,

src/styles/ilf-docs.css

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@
279279

280280
/* Rounded corners and shadow flair */
281281
table,
282-
pre,
282+
pre:not(.mermaid),
283283
.starlight-aside,
284284
.img-outline,
285285
.expressive-code {
@@ -298,8 +298,6 @@ code {
298298
[aria-roledescription="sequence"] {
299299
background-color: white;
300300
border-radius: var(--border-radius);
301-
box-shadow: var(--sl-shadow-sm);
302-
border: 1px solid var(--sl-color-hairline-light);
303301
}
304302

305303
/* Aside style overrides */

0 commit comments

Comments
 (0)