mermaid workflow coloring

This commit is contained in:
Ian Gulliver
2026-10-16 11:25:53 -07:00
parent 6abd1d8cfa
commit 4dff9b7471
8 changed files with 98 additions and 11 deletions
+19
View File
@@ -57,6 +57,25 @@ export function diagram(src: string): HTMLElement {
return el;
}
const latest = new WeakMap<HTMLElement, number>();
export async function redraw(el: HTMLElement, src: string) {
const id = next++;
latest.set(el, id);
try {
const m = await load();
const { svg } = await m.render(`mermaid-${id}`, src);
if (latest.get(el) === id) {
el.innerHTML = svg;
}
} catch (err) {
if (latest.get(el) !== id) {
return;
}
el.replaceChildren(h("pre", { class: "mermaid-source" }, src), h("div", { class: "mermaid-error" }, `diagram not rendered: ${errorText(err)}`));
}
}
async function render(el: HTMLElement, src: string) {
try {
const m = await load();