nested-markdown 0.0.12 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Mermaid-N3HH3ZBE.js +64 -0
- package/dist/Mermaid-N3HH3ZBE.js.map +1 -0
- package/dist/chunk-Q4XP6UTR.js +47 -0
- package/dist/chunk-Q4XP6UTR.js.map +1 -0
- package/dist/index.cjs +379 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.js +334 -126
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import "./chunk-Q4XP6UTR.js";
|
|
2
|
+
|
|
3
|
+
// src/Mermaid.tsx
|
|
4
|
+
import { useEffect, useState, useId } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
var MermaidClient = ({ chart, theme }) => {
|
|
7
|
+
const id = useId().replace(/:/g, "");
|
|
8
|
+
const [svg, setSvg] = useState("");
|
|
9
|
+
const [hydrated, setHydrated] = useState(false);
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
let cancelled = false;
|
|
12
|
+
setHydrated(true);
|
|
13
|
+
const renderChart = async () => {
|
|
14
|
+
try {
|
|
15
|
+
const { default: mermaid } = await import("mermaid");
|
|
16
|
+
let mermaidTheme = "default";
|
|
17
|
+
if (theme === "dark") {
|
|
18
|
+
mermaidTheme = "dark";
|
|
19
|
+
} else if (theme === "light") {
|
|
20
|
+
mermaidTheme = "default";
|
|
21
|
+
} else if (typeof window !== "undefined" && typeof document !== "undefined") {
|
|
22
|
+
mermaidTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "default";
|
|
23
|
+
}
|
|
24
|
+
mermaid.initialize({
|
|
25
|
+
startOnLoad: false,
|
|
26
|
+
theme: mermaidTheme,
|
|
27
|
+
securityLevel: "loose",
|
|
28
|
+
suppressErrorRendering: true
|
|
29
|
+
});
|
|
30
|
+
const { svg: svg2 } = await mermaid.render(`mermaid-${id}`, chart);
|
|
31
|
+
if (!cancelled) {
|
|
32
|
+
setSvg(svg2);
|
|
33
|
+
}
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error("Failed to render mermaid chart:", error);
|
|
36
|
+
if (!cancelled) {
|
|
37
|
+
setSvg(
|
|
38
|
+
`<pre class="mermaid-error" style="color: var(--nmd-error, #ef4444); padding: 8px; background: var(--nmd-error-bg, #fee2e2); border-radius: 4px;">Mermaid syntax error</pre>`
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
if (chart) {
|
|
44
|
+
renderChart();
|
|
45
|
+
}
|
|
46
|
+
return () => {
|
|
47
|
+
cancelled = true;
|
|
48
|
+
};
|
|
49
|
+
}, [chart, id, theme]);
|
|
50
|
+
if (!hydrated) {
|
|
51
|
+
return /* @__PURE__ */ jsx("pre", { className: "mermaid", children: chart });
|
|
52
|
+
}
|
|
53
|
+
return /* @__PURE__ */ jsx("div", { className: "mermaid", dangerouslySetInnerHTML: { __html: svg } });
|
|
54
|
+
};
|
|
55
|
+
var Mermaid = ({ chart, theme }) => {
|
|
56
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
57
|
+
return /* @__PURE__ */ jsx("pre", { className: "mermaid", children: chart });
|
|
58
|
+
}
|
|
59
|
+
return /* @__PURE__ */ jsx(MermaidClient, { chart, theme });
|
|
60
|
+
};
|
|
61
|
+
export {
|
|
62
|
+
Mermaid
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=Mermaid-N3HH3ZBE.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Mermaid.tsx"],"sourcesContent":["import { useEffect, useState, useId } from \"react\";\n\nexport interface MermaidProps {\n chart: string;\n theme?: \"light\" | \"dark\";\n}\n\nconst MermaidClient = ({ chart, theme }: MermaidProps) => {\n const id = useId().replace(/:/g, \"\");\n const [svg, setSvg] = useState(\"\");\n const [hydrated, setHydrated] = useState(false);\n\n useEffect(() => {\n let cancelled = false;\n setHydrated(true);\n\n const renderChart = async () => {\n try {\n const { default: mermaid } = await import(\"mermaid\");\n let mermaidTheme: \"default\" | \"dark\" = \"default\";\n if (theme === \"dark\") {\n mermaidTheme = \"dark\";\n } else if (theme === \"light\") {\n mermaidTheme = \"default\";\n } else if (\n typeof window !== \"undefined\" &&\n typeof document !== \"undefined\"\n ) {\n mermaidTheme = window.matchMedia(\"(prefers-color-scheme: dark)\")\n .matches\n ? \"dark\"\n : \"default\";\n }\n\n mermaid.initialize({\n startOnLoad: false,\n theme: mermaidTheme,\n securityLevel: \"loose\",\n suppressErrorRendering: true,\n });\n\n const { svg } = await mermaid.render(`mermaid-${id}`, chart);\n if (!cancelled) {\n setSvg(svg);\n }\n } catch (error) {\n console.error(\"Failed to render mermaid chart:\", error);\n if (!cancelled) {\n setSvg(\n `<pre class=\"mermaid-error\" style=\"color: var(--nmd-error, #ef4444); padding: 8px; background: var(--nmd-error-bg, #fee2e2); border-radius: 4px;\">Mermaid syntax error</pre>`,\n );\n }\n }\n };\n\n if (chart) {\n renderChart();\n }\n return () => {\n cancelled = true;\n };\n }, [chart, id, theme]);\n\n if (!hydrated) {\n return <pre className=\"mermaid\">{chart}</pre>;\n }\n\n return <div className=\"mermaid\" dangerouslySetInnerHTML={{ __html: svg }} />;\n};\n\nexport const Mermaid = ({ chart, theme }: MermaidProps) => {\n if (typeof window === \"undefined\" || typeof document === \"undefined\") {\n return <pre className=\"mermaid\">{chart}</pre>;\n }\n return <MermaidClient chart={chart} theme={theme} />;\n};\n"],"mappings":";;;AAAA,SAAS,WAAW,UAAU,aAAa;AAgEhC;AAzDX,IAAM,gBAAgB,CAAC,EAAE,OAAO,MAAM,MAAoB;AACxD,QAAM,KAAK,MAAM,EAAE,QAAQ,MAAM,EAAE;AACnC,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,EAAE;AACjC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,YAAU,MAAM;AACd,QAAI,YAAY;AAChB,gBAAY,IAAI;AAEhB,UAAM,cAAc,YAAY;AAC9B,UAAI;AACF,cAAM,EAAE,SAAS,QAAQ,IAAI,MAAM,OAAO,SAAS;AACnD,YAAI,eAAmC;AACvC,YAAI,UAAU,QAAQ;AACpB,yBAAe;AAAA,QACjB,WAAW,UAAU,SAAS;AAC5B,yBAAe;AAAA,QACjB,WACE,OAAO,WAAW,eAClB,OAAO,aAAa,aACpB;AACA,yBAAe,OAAO,WAAW,8BAA8B,EAC5D,UACC,SACA;AAAA,QACN;AAEA,gBAAQ,WAAW;AAAA,UACjB,aAAa;AAAA,UACb,OAAO;AAAA,UACP,eAAe;AAAA,UACf,wBAAwB;AAAA,QAC1B,CAAC;AAED,cAAM,EAAE,KAAAA,KAAI,IAAI,MAAM,QAAQ,OAAO,WAAW,EAAE,IAAI,KAAK;AAC3D,YAAI,CAAC,WAAW;AACd,iBAAOA,IAAG;AAAA,QACZ;AAAA,MACF,SAAS,OAAO;AACd,gBAAQ,MAAM,mCAAmC,KAAK;AACtD,YAAI,CAAC,WAAW;AACd;AAAA,YACE;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,QAAI,OAAO;AACT,kBAAY;AAAA,IACd;AACA,WAAO,MAAM;AACX,kBAAY;AAAA,IACd;AAAA,EACF,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC;AAErB,MAAI,CAAC,UAAU;AACb,WAAO,oBAAC,SAAI,WAAU,WAAW,iBAAM;AAAA,EACzC;AAEA,SAAO,oBAAC,SAAI,WAAU,WAAU,yBAAyB,EAAE,QAAQ,IAAI,GAAG;AAC5E;AAEO,IAAM,UAAU,CAAC,EAAE,OAAO,MAAM,MAAoB;AACzD,MAAI,OAAO,WAAW,eAAe,OAAO,aAAa,aAAa;AACpE,WAAO,oBAAC,SAAI,WAAU,WAAW,iBAAM;AAAA,EACzC;AACA,SAAO,oBAAC,iBAAc,OAAc,OAAc;AACpD;","names":["svg"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
10
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
11
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
12
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
13
|
+
};
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
27
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
28
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
29
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
30
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
31
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
32
|
+
mod
|
|
33
|
+
));
|
|
34
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
35
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
36
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
37
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
__commonJS,
|
|
41
|
+
__export,
|
|
42
|
+
__toESM,
|
|
43
|
+
__publicField,
|
|
44
|
+
__privateAdd,
|
|
45
|
+
__privateMethod
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=chunk-Q4XP6UTR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/index.cjs
CHANGED
|
@@ -9,6 +9,9 @@ var __typeError = (msg) => {
|
|
|
9
9
|
throw TypeError(msg);
|
|
10
10
|
};
|
|
11
11
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __esm = (fn, res) => function __init() {
|
|
13
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
14
|
+
};
|
|
12
15
|
var __commonJS = (cb, mod) => function __require() {
|
|
13
16
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
14
17
|
};
|
|
@@ -6678,12 +6681,83 @@ var require_parser = __commonJS({
|
|
|
6678
6681
|
}
|
|
6679
6682
|
});
|
|
6680
6683
|
|
|
6684
|
+
// src/Mermaid.tsx
|
|
6685
|
+
var Mermaid_exports = {};
|
|
6686
|
+
__export(Mermaid_exports, {
|
|
6687
|
+
Mermaid: () => Mermaid
|
|
6688
|
+
});
|
|
6689
|
+
var import_react2, import_jsx_runtime2, MermaidClient, Mermaid;
|
|
6690
|
+
var init_Mermaid = __esm({
|
|
6691
|
+
"src/Mermaid.tsx"() {
|
|
6692
|
+
"use strict";
|
|
6693
|
+
import_react2 = require("react");
|
|
6694
|
+
import_jsx_runtime2 = require("react/jsx-runtime");
|
|
6695
|
+
MermaidClient = ({ chart, theme }) => {
|
|
6696
|
+
const id = (0, import_react2.useId)().replace(/:/g, "");
|
|
6697
|
+
const [svg5, setSvg] = (0, import_react2.useState)("");
|
|
6698
|
+
const [hydrated, setHydrated] = (0, import_react2.useState)(false);
|
|
6699
|
+
(0, import_react2.useEffect)(() => {
|
|
6700
|
+
let cancelled = false;
|
|
6701
|
+
setHydrated(true);
|
|
6702
|
+
const renderChart = async () => {
|
|
6703
|
+
try {
|
|
6704
|
+
const { default: mermaid } = await import("mermaid");
|
|
6705
|
+
let mermaidTheme = "default";
|
|
6706
|
+
if (theme === "dark") {
|
|
6707
|
+
mermaidTheme = "dark";
|
|
6708
|
+
} else if (theme === "light") {
|
|
6709
|
+
mermaidTheme = "default";
|
|
6710
|
+
} else if (typeof window !== "undefined" && typeof document !== "undefined") {
|
|
6711
|
+
mermaidTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "default";
|
|
6712
|
+
}
|
|
6713
|
+
mermaid.initialize({
|
|
6714
|
+
startOnLoad: false,
|
|
6715
|
+
theme: mermaidTheme,
|
|
6716
|
+
securityLevel: "loose",
|
|
6717
|
+
suppressErrorRendering: true
|
|
6718
|
+
});
|
|
6719
|
+
const { svg: svg6 } = await mermaid.render(`mermaid-${id}`, chart);
|
|
6720
|
+
if (!cancelled) {
|
|
6721
|
+
setSvg(svg6);
|
|
6722
|
+
}
|
|
6723
|
+
} catch (error) {
|
|
6724
|
+
console.error("Failed to render mermaid chart:", error);
|
|
6725
|
+
if (!cancelled) {
|
|
6726
|
+
setSvg(
|
|
6727
|
+
`<pre class="mermaid-error" style="color: var(--nmd-error, #ef4444); padding: 8px; background: var(--nmd-error-bg, #fee2e2); border-radius: 4px;">Mermaid syntax error</pre>`
|
|
6728
|
+
);
|
|
6729
|
+
}
|
|
6730
|
+
}
|
|
6731
|
+
};
|
|
6732
|
+
if (chart) {
|
|
6733
|
+
renderChart();
|
|
6734
|
+
}
|
|
6735
|
+
return () => {
|
|
6736
|
+
cancelled = true;
|
|
6737
|
+
};
|
|
6738
|
+
}, [chart, id, theme]);
|
|
6739
|
+
if (!hydrated) {
|
|
6740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("pre", { className: "mermaid", children: chart });
|
|
6741
|
+
}
|
|
6742
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "mermaid", dangerouslySetInnerHTML: { __html: svg5 } });
|
|
6743
|
+
};
|
|
6744
|
+
Mermaid = ({ chart, theme }) => {
|
|
6745
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
6746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("pre", { className: "mermaid", children: chart });
|
|
6747
|
+
}
|
|
6748
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(MermaidClient, { chart, theme });
|
|
6749
|
+
};
|
|
6750
|
+
}
|
|
6751
|
+
});
|
|
6752
|
+
|
|
6681
6753
|
// src/index.ts
|
|
6682
6754
|
var index_exports = {};
|
|
6683
6755
|
__export(index_exports, {
|
|
6684
6756
|
NestedMarkdown: () => NestedMarkdown,
|
|
6685
6757
|
default: () => NestedMarkdown_default,
|
|
6686
|
-
expandNestedMarkdown: () => expandNestedMarkdown
|
|
6758
|
+
expandNestedMarkdown: () => expandNestedMarkdown,
|
|
6759
|
+
expandNestedMarkdownSync: () => expandNestedMarkdownSync,
|
|
6760
|
+
preRenderMermaid: () => preRenderMermaid
|
|
6687
6761
|
});
|
|
6688
6762
|
module.exports = __toCommonJS(index_exports);
|
|
6689
6763
|
|
|
@@ -28244,67 +28318,33 @@ function expandNestedMarkdownSync(markdown, options2) {
|
|
|
28244
28318
|
options2?.defaultShow
|
|
28245
28319
|
);
|
|
28246
28320
|
}
|
|
28247
|
-
|
|
28248
|
-
|
|
28249
|
-
|
|
28250
|
-
|
|
28251
|
-
|
|
28252
|
-
const
|
|
28253
|
-
|
|
28254
|
-
const
|
|
28255
|
-
|
|
28256
|
-
|
|
28257
|
-
|
|
28258
|
-
const
|
|
28259
|
-
|
|
28260
|
-
|
|
28261
|
-
|
|
28262
|
-
|
|
28263
|
-
|
|
28264
|
-
|
|
28265
|
-
|
|
28266
|
-
|
|
28267
|
-
|
|
28268
|
-
mermaidTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "default";
|
|
28269
|
-
}
|
|
28270
|
-
}
|
|
28271
|
-
mermaid.initialize({
|
|
28272
|
-
startOnLoad: false,
|
|
28273
|
-
theme: mermaidTheme,
|
|
28274
|
-
securityLevel: "loose",
|
|
28275
|
-
suppressErrorRendering: true
|
|
28276
|
-
});
|
|
28277
|
-
const { svg: svg6 } = await mermaid.render(`mermaid-${id}`, chart);
|
|
28278
|
-
if (!cancelled) {
|
|
28279
|
-
setSvg(svg6);
|
|
28280
|
-
}
|
|
28281
|
-
} catch (error) {
|
|
28282
|
-
console.error("Failed to render mermaid chart:", error);
|
|
28283
|
-
if (!cancelled) {
|
|
28284
|
-
setSvg(
|
|
28285
|
-
`<pre class="mermaid-error" style="color: var(--nmd-error, #ef4444); padding: 8px; background: var(--nmd-error-bg, #fee2e2); border-radius: 4px;">Mermaid syntax error</pre>`
|
|
28286
|
-
);
|
|
28287
|
-
}
|
|
28288
|
-
}
|
|
28289
|
-
};
|
|
28290
|
-
if (chart) {
|
|
28291
|
-
renderChart();
|
|
28321
|
+
function shouldWrapMermaid(rendered) {
|
|
28322
|
+
const trimmed = rendered.trim();
|
|
28323
|
+
return trimmed.startsWith("<svg");
|
|
28324
|
+
}
|
|
28325
|
+
async function preRenderMermaid(markdown, options2) {
|
|
28326
|
+
const renderMermaid = options2?.renderMermaid;
|
|
28327
|
+
if (!renderMermaid) return markdown;
|
|
28328
|
+
const fenceRegex = /(^|\n)([ \t]*)```mermaid[^\n]*\n([\s\S]*?)\n\2```/g;
|
|
28329
|
+
let result = "";
|
|
28330
|
+
let lastIndex = 0;
|
|
28331
|
+
for (const match of markdown.matchAll(fenceRegex)) {
|
|
28332
|
+
const [fullMatch, leadingNewline, indent2, body] = match;
|
|
28333
|
+
const start2 = match.index ?? 0;
|
|
28334
|
+
result += markdown.slice(lastIndex, start2);
|
|
28335
|
+
const chart = body.replace(/\n$/, "");
|
|
28336
|
+
try {
|
|
28337
|
+
const rendered = await renderMermaid(chart);
|
|
28338
|
+
const wrapped = shouldWrapMermaid(rendered) ? `<div class="mermaid">${rendered}</div>` : rendered;
|
|
28339
|
+
result += `${leadingNewline}${indent2}${wrapped}`;
|
|
28340
|
+
} catch {
|
|
28341
|
+
result += fullMatch;
|
|
28292
28342
|
}
|
|
28293
|
-
|
|
28294
|
-
cancelled = true;
|
|
28295
|
-
};
|
|
28296
|
-
}, [chart, id, theme]);
|
|
28297
|
-
if (!hydrated) {
|
|
28298
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("pre", { className: "mermaid", children: chart });
|
|
28299
|
-
}
|
|
28300
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "mermaid", dangerouslySetInnerHTML: { __html: svg5 } });
|
|
28301
|
-
};
|
|
28302
|
-
var Mermaid = ({ chart, theme }) => {
|
|
28303
|
-
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
28304
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("pre", { className: "mermaid", children: chart });
|
|
28343
|
+
lastIndex = start2 + fullMatch.length;
|
|
28305
28344
|
}
|
|
28306
|
-
|
|
28307
|
-
|
|
28345
|
+
result += markdown.slice(lastIndex);
|
|
28346
|
+
return result;
|
|
28347
|
+
}
|
|
28308
28348
|
|
|
28309
28349
|
// src/NestedMarkdown.tsx
|
|
28310
28350
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
@@ -28370,7 +28410,215 @@ var customSchema = {
|
|
|
28370
28410
|
pre: [...defaultSchema.attributes?.pre || [], ["style"]],
|
|
28371
28411
|
blockquote: [["style"]],
|
|
28372
28412
|
code: [...defaultSchema.attributes?.code || [], ["style"]],
|
|
28373
|
-
hr: [...defaultSchema.attributes?.hr || [], ["style"]]
|
|
28413
|
+
hr: [...defaultSchema.attributes?.hr || [], ["style"]],
|
|
28414
|
+
svg: [
|
|
28415
|
+
...defaultSchema.attributes?.svg || [],
|
|
28416
|
+
["width"],
|
|
28417
|
+
["height"],
|
|
28418
|
+
["viewBox"],
|
|
28419
|
+
["xmlns"],
|
|
28420
|
+
["xmlnsXlink"],
|
|
28421
|
+
["preserveAspectRatio"],
|
|
28422
|
+
["role"],
|
|
28423
|
+
["aria-hidden"],
|
|
28424
|
+
["focusable"],
|
|
28425
|
+
["className"],
|
|
28426
|
+
["style"]
|
|
28427
|
+
],
|
|
28428
|
+
g: [
|
|
28429
|
+
...defaultSchema.attributes?.g || [],
|
|
28430
|
+
["transform"],
|
|
28431
|
+
["fill"],
|
|
28432
|
+
["stroke"],
|
|
28433
|
+
["strokeWidth"],
|
|
28434
|
+
["opacity"],
|
|
28435
|
+
["className"],
|
|
28436
|
+
["style"]
|
|
28437
|
+
],
|
|
28438
|
+
path: [
|
|
28439
|
+
...defaultSchema.attributes?.path || [],
|
|
28440
|
+
["d"],
|
|
28441
|
+
["fill"],
|
|
28442
|
+
["stroke"],
|
|
28443
|
+
["strokeWidth"],
|
|
28444
|
+
["strokeLinecap"],
|
|
28445
|
+
["strokeLinejoin"],
|
|
28446
|
+
["transform"],
|
|
28447
|
+
["opacity"],
|
|
28448
|
+
["className"],
|
|
28449
|
+
["style"]
|
|
28450
|
+
],
|
|
28451
|
+
rect: [
|
|
28452
|
+
...defaultSchema.attributes?.rect || [],
|
|
28453
|
+
["x"],
|
|
28454
|
+
["y"],
|
|
28455
|
+
["width"],
|
|
28456
|
+
["height"],
|
|
28457
|
+
["rx"],
|
|
28458
|
+
["ry"],
|
|
28459
|
+
["fill"],
|
|
28460
|
+
["stroke"],
|
|
28461
|
+
["strokeWidth"],
|
|
28462
|
+
["transform"],
|
|
28463
|
+
["opacity"],
|
|
28464
|
+
["className"],
|
|
28465
|
+
["style"]
|
|
28466
|
+
],
|
|
28467
|
+
circle: [
|
|
28468
|
+
...defaultSchema.attributes?.circle || [],
|
|
28469
|
+
["cx"],
|
|
28470
|
+
["cy"],
|
|
28471
|
+
["r"],
|
|
28472
|
+
["fill"],
|
|
28473
|
+
["stroke"],
|
|
28474
|
+
["strokeWidth"],
|
|
28475
|
+
["transform"],
|
|
28476
|
+
["opacity"],
|
|
28477
|
+
["className"],
|
|
28478
|
+
["style"]
|
|
28479
|
+
],
|
|
28480
|
+
line: [
|
|
28481
|
+
...defaultSchema.attributes?.line || [],
|
|
28482
|
+
["x1"],
|
|
28483
|
+
["y1"],
|
|
28484
|
+
["x2"],
|
|
28485
|
+
["y2"],
|
|
28486
|
+
["stroke"],
|
|
28487
|
+
["strokeWidth"],
|
|
28488
|
+
["strokeLinecap"],
|
|
28489
|
+
["transform"],
|
|
28490
|
+
["opacity"],
|
|
28491
|
+
["className"],
|
|
28492
|
+
["style"]
|
|
28493
|
+
],
|
|
28494
|
+
polyline: [
|
|
28495
|
+
...defaultSchema.attributes?.polyline || [],
|
|
28496
|
+
["points"],
|
|
28497
|
+
["fill"],
|
|
28498
|
+
["stroke"],
|
|
28499
|
+
["strokeWidth"],
|
|
28500
|
+
["transform"],
|
|
28501
|
+
["opacity"],
|
|
28502
|
+
["className"],
|
|
28503
|
+
["style"]
|
|
28504
|
+
],
|
|
28505
|
+
polygon: [
|
|
28506
|
+
...defaultSchema.attributes?.polygon || [],
|
|
28507
|
+
["points"],
|
|
28508
|
+
["fill"],
|
|
28509
|
+
["stroke"],
|
|
28510
|
+
["strokeWidth"],
|
|
28511
|
+
["transform"],
|
|
28512
|
+
["opacity"],
|
|
28513
|
+
["className"],
|
|
28514
|
+
["style"]
|
|
28515
|
+
],
|
|
28516
|
+
text: [
|
|
28517
|
+
...defaultSchema.attributes?.text || [],
|
|
28518
|
+
["x"],
|
|
28519
|
+
["y"],
|
|
28520
|
+
["dx"],
|
|
28521
|
+
["dy"],
|
|
28522
|
+
["textAnchor"],
|
|
28523
|
+
["dominantBaseline"],
|
|
28524
|
+
["fontFamily"],
|
|
28525
|
+
["fontSize"],
|
|
28526
|
+
["fontWeight"],
|
|
28527
|
+
["fill"],
|
|
28528
|
+
["transform"],
|
|
28529
|
+
["className"],
|
|
28530
|
+
["style"]
|
|
28531
|
+
],
|
|
28532
|
+
tspan: [
|
|
28533
|
+
...defaultSchema.attributes?.tspan || [],
|
|
28534
|
+
["x"],
|
|
28535
|
+
["y"],
|
|
28536
|
+
["dx"],
|
|
28537
|
+
["dy"],
|
|
28538
|
+
["textAnchor"],
|
|
28539
|
+
["dominantBaseline"],
|
|
28540
|
+
["fontFamily"],
|
|
28541
|
+
["fontSize"],
|
|
28542
|
+
["fontWeight"],
|
|
28543
|
+
["fill"],
|
|
28544
|
+
["transform"],
|
|
28545
|
+
["className"],
|
|
28546
|
+
["style"]
|
|
28547
|
+
],
|
|
28548
|
+
defs: [...defaultSchema.attributes?.defs || [], ["id"]],
|
|
28549
|
+
marker: [
|
|
28550
|
+
...defaultSchema.attributes?.marker || [],
|
|
28551
|
+
["id"],
|
|
28552
|
+
["markerWidth"],
|
|
28553
|
+
["markerHeight"],
|
|
28554
|
+
["refX"],
|
|
28555
|
+
["refY"],
|
|
28556
|
+
["orient"],
|
|
28557
|
+
["markerUnits"],
|
|
28558
|
+
["viewBox"]
|
|
28559
|
+
],
|
|
28560
|
+
linearGradient: [
|
|
28561
|
+
...defaultSchema.attributes?.linearGradient || [],
|
|
28562
|
+
["id"],
|
|
28563
|
+
["x1"],
|
|
28564
|
+
["y1"],
|
|
28565
|
+
["x2"],
|
|
28566
|
+
["y2"],
|
|
28567
|
+
["gradientUnits"],
|
|
28568
|
+
["gradientTransform"]
|
|
28569
|
+
],
|
|
28570
|
+
radialGradient: [
|
|
28571
|
+
...defaultSchema.attributes?.radialGradient || [],
|
|
28572
|
+
["id"],
|
|
28573
|
+
["cx"],
|
|
28574
|
+
["cy"],
|
|
28575
|
+
["r"],
|
|
28576
|
+
["fx"],
|
|
28577
|
+
["fy"],
|
|
28578
|
+
["gradientUnits"],
|
|
28579
|
+
["gradientTransform"]
|
|
28580
|
+
],
|
|
28581
|
+
stop: [
|
|
28582
|
+
...defaultSchema.attributes?.stop || [],
|
|
28583
|
+
["offset"],
|
|
28584
|
+
["stopColor"],
|
|
28585
|
+
["stopOpacity"]
|
|
28586
|
+
],
|
|
28587
|
+
clipPath: [
|
|
28588
|
+
...defaultSchema.attributes?.clipPath || [],
|
|
28589
|
+
["id"],
|
|
28590
|
+
["clipPathUnits"]
|
|
28591
|
+
],
|
|
28592
|
+
mask: [
|
|
28593
|
+
...defaultSchema.attributes?.mask || [],
|
|
28594
|
+
["id"],
|
|
28595
|
+
["x"],
|
|
28596
|
+
["y"],
|
|
28597
|
+
["width"],
|
|
28598
|
+
["height"],
|
|
28599
|
+
["maskUnits"],
|
|
28600
|
+
["maskContentUnits"]
|
|
28601
|
+
],
|
|
28602
|
+
pattern: [
|
|
28603
|
+
...defaultSchema.attributes?.pattern || [],
|
|
28604
|
+
["id"],
|
|
28605
|
+
["x"],
|
|
28606
|
+
["y"],
|
|
28607
|
+
["width"],
|
|
28608
|
+
["height"],
|
|
28609
|
+
["patternUnits"],
|
|
28610
|
+
["patternContentUnits"],
|
|
28611
|
+
["patternTransform"]
|
|
28612
|
+
],
|
|
28613
|
+
use: [
|
|
28614
|
+
...defaultSchema.attributes?.use || [],
|
|
28615
|
+
["href"],
|
|
28616
|
+
["xlinkHref"],
|
|
28617
|
+
["x"],
|
|
28618
|
+
["y"],
|
|
28619
|
+
["width"],
|
|
28620
|
+
["height"]
|
|
28621
|
+
]
|
|
28374
28622
|
},
|
|
28375
28623
|
tagNames: [
|
|
28376
28624
|
...defaultSchema.tagNames || [],
|
|
@@ -28380,7 +28628,28 @@ var customSchema = {
|
|
|
28380
28628
|
"code",
|
|
28381
28629
|
"hr",
|
|
28382
28630
|
"blockquote",
|
|
28383
|
-
"mark"
|
|
28631
|
+
"mark",
|
|
28632
|
+
"svg",
|
|
28633
|
+
"g",
|
|
28634
|
+
"path",
|
|
28635
|
+
"rect",
|
|
28636
|
+
"circle",
|
|
28637
|
+
"line",
|
|
28638
|
+
"polyline",
|
|
28639
|
+
"polygon",
|
|
28640
|
+
"text",
|
|
28641
|
+
"tspan",
|
|
28642
|
+
"defs",
|
|
28643
|
+
"marker",
|
|
28644
|
+
"linearGradient",
|
|
28645
|
+
"radialGradient",
|
|
28646
|
+
"stop",
|
|
28647
|
+
"clipPath",
|
|
28648
|
+
"mask",
|
|
28649
|
+
"pattern",
|
|
28650
|
+
"use",
|
|
28651
|
+
"title",
|
|
28652
|
+
"desc"
|
|
28384
28653
|
]
|
|
28385
28654
|
};
|
|
28386
28655
|
var remarkForceLooseLists = () => {
|
|
@@ -28399,6 +28668,45 @@ var remarkForceLooseLists = () => {
|
|
|
28399
28668
|
visit3(tree);
|
|
28400
28669
|
};
|
|
28401
28670
|
};
|
|
28671
|
+
var MermaidRenderer = ({
|
|
28672
|
+
chart,
|
|
28673
|
+
theme,
|
|
28674
|
+
className,
|
|
28675
|
+
codeProps
|
|
28676
|
+
}) => {
|
|
28677
|
+
const [MermaidComponent, setMermaidComponent] = (0, import_react3.useState)(null);
|
|
28678
|
+
(0, import_react3.useEffect)(() => {
|
|
28679
|
+
let mounted = true;
|
|
28680
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
28681
|
+
return () => {
|
|
28682
|
+
mounted = false;
|
|
28683
|
+
};
|
|
28684
|
+
}
|
|
28685
|
+
Promise.resolve().then(() => (init_Mermaid(), Mermaid_exports)).then((mod) => {
|
|
28686
|
+
if (mounted) {
|
|
28687
|
+
setMermaidComponent(() => mod.Mermaid);
|
|
28688
|
+
}
|
|
28689
|
+
}).catch(() => {
|
|
28690
|
+
if (mounted) {
|
|
28691
|
+
setMermaidComponent(null);
|
|
28692
|
+
}
|
|
28693
|
+
});
|
|
28694
|
+
return () => {
|
|
28695
|
+
mounted = false;
|
|
28696
|
+
};
|
|
28697
|
+
}, []);
|
|
28698
|
+
if (!MermaidComponent) {
|
|
28699
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("pre", { className: "nmd-pre", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
28700
|
+
"code",
|
|
28701
|
+
{
|
|
28702
|
+
...codeProps,
|
|
28703
|
+
className: [className, "nmd-code"].filter(Boolean).join(" "),
|
|
28704
|
+
children: chart
|
|
28705
|
+
}
|
|
28706
|
+
) });
|
|
28707
|
+
}
|
|
28708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MermaidComponent, { chart, theme });
|
|
28709
|
+
};
|
|
28402
28710
|
var NestedMarkdown = ({
|
|
28403
28711
|
content: content3,
|
|
28404
28712
|
children: children2,
|
|
@@ -28458,17 +28766,15 @@ var NestedMarkdown = ({
|
|
|
28458
28766
|
const isMermaid = match && match[1] === "mermaid";
|
|
28459
28767
|
if (!inline2 && isMermaid) {
|
|
28460
28768
|
const chart = String(children3).replace(/\n$/, "");
|
|
28461
|
-
|
|
28462
|
-
|
|
28463
|
-
|
|
28464
|
-
|
|
28465
|
-
|
|
28466
|
-
|
|
28467
|
-
|
|
28468
|
-
|
|
28469
|
-
|
|
28470
|
-
}
|
|
28471
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Mermaid, { chart, theme: theme === "auto" ? void 0 : theme });
|
|
28769
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
28770
|
+
MermaidRenderer,
|
|
28771
|
+
{
|
|
28772
|
+
chart,
|
|
28773
|
+
theme: theme === "auto" ? void 0 : theme,
|
|
28774
|
+
className: className2,
|
|
28775
|
+
codeProps: props
|
|
28776
|
+
}
|
|
28777
|
+
);
|
|
28472
28778
|
}
|
|
28473
28779
|
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
28474
28780
|
"code",
|