@docubook/mdx-content 3.2.2 → 3.4.0

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/README.md CHANGED
@@ -64,6 +64,7 @@ import {
64
64
  TableHeaderMdx,
65
65
  TableMdx,
66
66
  TableRowMdx,
67
+ MermaidMdx,
67
68
  TooltipMdx,
68
69
  YoutubeMdx,
69
70
  } from "@docubook/mdx-content";
@@ -97,6 +98,7 @@ const builtInOverrides: MdxComponentMap = {
97
98
  Folder: FolderMdx,
98
99
  Youtube: YoutubeMdx,
99
100
  Tooltip: TooltipMdx,
101
+ Mermaid: MermaidMdx,
100
102
  img: ImageMdx,
101
103
  a: LinkMdx,
102
104
  Link: LinkMdx,
@@ -131,7 +133,7 @@ const docsService = createMdxContentService({
131
133
  | Path | Description |
132
134
  | ------------------------------ | -------------------------------------------------------------- |
133
135
  | `@docubook/mdx-content` | All server-safe components + `createMdxComponents` registry |
134
- | `@docubook/mdx-content/client` | Client-only components (accordion, tabs, tooltip, etc.) |
136
+ | `@docubook/mdx-content/client` | Client-only components (accordion, tabs, tooltip, mermaid, etc.) |
135
137
  | `@docubook/mdx-content/server` | Server-side components |
136
138
  | `@docubook/mdx-content/next` | Next.js-optimized adapters (`Link`, `Button`, `Card`, `Image`) |
137
139
  | `@docubook/mdx-content/styles.css` | Stylesheet for MDX components (required) |
@@ -246,6 +248,7 @@ Components included out of the box:
246
248
  - `Steps` / `Step`
247
249
  - `Tabs` / `Tab`
248
250
  - `Tooltip`
251
+ - `Mermaid` — renders Mermaid.js diagrams (flowchart, sequence, class, state, gantt, pie, ER) from ` ```mermaid ` fenced code blocks, with GFM-style pan/zoom/fullscreen controls (button and keyboard driven)
249
252
  - `Youtube`
250
253
  - Table (`table`, `thead`, `tbody`, `tfoot`, `tr`, `th`, `td`)
251
254
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MermaidMdx.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidMdx.test.d.ts","sourceRoot":"","sources":["../../src/__test__/MermaidMdx.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,207 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { describe, it, expect, vi, beforeEach } from "vitest";
3
+ import { render, fireEvent } from "@testing-library/react";
4
+ import { MermaidMdx } from "../components/MermaidMdx";
5
+ // Mock mermaid module for client-side hydration tests
6
+ const mockInitialize = vi.fn();
7
+ const mockParse = vi.fn();
8
+ const mockRun = vi.fn();
9
+ vi.mock("mermaid", () => ({
10
+ default: {
11
+ initialize: (...args) => mockInitialize(...args),
12
+ parse: (...args) => mockParse(...args),
13
+ run: (...args) => mockRun(...args),
14
+ },
15
+ }));
16
+ // jsdom does not provide IntersectionObserver. Stub it so that the lazy-render
17
+ // callback fires immediately with isIntersecting=true, allowing mockRun to be
18
+ // asserted in tests that reach the render path.
19
+ class FakeIntersectionObserver {
20
+ constructor(cb) {
21
+ this.callback = cb;
22
+ }
23
+ observe(target) {
24
+ // Immediately invoke as if the element is visible
25
+ this.callback([{ isIntersecting: true, target }], this);
26
+ }
27
+ disconnect() { }
28
+ unobserve() { }
29
+ }
30
+ vi.stubGlobal("IntersectionObserver", FakeIntersectionObserver);
31
+ beforeEach(() => {
32
+ vi.clearAllMocks();
33
+ });
34
+ describe("MermaidMdx", () => {
35
+ it("renders pre.mermaid placeholder with chart text (SSR)", () => {
36
+ const { container } = render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;" }));
37
+ const pre = container.querySelector("pre.mermaid");
38
+ expect(pre).not.toBeNull();
39
+ expect(pre?.textContent).toBe("graph TD; A-->B;");
40
+ expect(pre?.getAttribute("id")).toMatch(/^mermaid-/);
41
+ });
42
+ it("renders nothing for empty chart", () => {
43
+ const { container } = render(_jsx(MermaidMdx, { chart: "" }));
44
+ // Should render null — container should be empty
45
+ expect(container.querySelector("pre")).toBeNull();
46
+ expect(container.querySelector("div")).toBeNull();
47
+ });
48
+ it("accepts optional id prop", () => {
49
+ const { container } = render(_jsx(MermaidMdx, { chart: "graph TD", id: "my-diagram" }));
50
+ const pre = container.querySelector("pre.mermaid");
51
+ expect(pre?.getAttribute("id")).toBe("my-diagram");
52
+ });
53
+ it("accepts optional className prop", () => {
54
+ const { container } = render(_jsx(MermaidMdx, { chart: "graph TD", className: "extra-class" }));
55
+ const pre = container.querySelector("pre.mermaid");
56
+ expect(pre?.classList.contains("extra-class")).toBe(true);
57
+ expect(pre?.classList.contains("not-prose")).toBe(true);
58
+ });
59
+ it("generates unique id per instance", () => {
60
+ const { container } = render(_jsxs("div", { children: [_jsx(MermaidMdx, { chart: "graph TD" }), _jsx(MermaidMdx, { chart: "graph LR" })] }));
61
+ const pres = container.querySelectorAll("pre.mermaid");
62
+ expect(pres.length).toBe(2);
63
+ expect(pres[0]?.getAttribute("id")).not.toBe(pres[1]?.getAttribute("id"));
64
+ });
65
+ it("renders error fallback when mermaid.parse throws", async () => {
66
+ mockParse.mockRejectedValueOnce(new Error("syntax error"));
67
+ const { container } = render(_jsx(MermaidMdx, { chart: "invalid syntax" }));
68
+ // Wait for async useEffect to settle
69
+ await vi.waitFor(() => {
70
+ expect(container.textContent).toContain("Diagram rendering error");
71
+ });
72
+ expect(container.textContent).toContain("invalid syntax");
73
+ });
74
+ it("calls mermaid.initialize and parse on mount", async () => {
75
+ mockParse.mockResolvedValueOnce(undefined);
76
+ render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;" }));
77
+ await vi.waitFor(() => {
78
+ expect(mockInitialize).toHaveBeenCalledWith(expect.objectContaining({ startOnLoad: false }));
79
+ });
80
+ expect(mockParse).toHaveBeenCalledWith("graph TD; A-->B;");
81
+ });
82
+ it("renders not-prose class by default", () => {
83
+ const { container } = render(_jsx(MermaidMdx, { chart: "graph TD" }));
84
+ expect(container.querySelector("pre.mermaid.not-prose")).not.toBeNull();
85
+ });
86
+ it("calls mermaid.run when element becomes visible (IntersectionObserver)", async () => {
87
+ mockParse.mockResolvedValueOnce(undefined);
88
+ render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;" }));
89
+ await vi.waitFor(() => {
90
+ expect(mockRun).toHaveBeenCalledWith(expect.objectContaining({ nodes: expect.any(Array) }));
91
+ });
92
+ });
93
+ it("removes data-processed attribute before re-render on theme change", async () => {
94
+ mockParse.mockResolvedValue(undefined);
95
+ vi.useFakeTimers({ shouldAdvanceTime: true });
96
+ const { container, unmount } = render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;" }));
97
+ // Let the async init run so the component's MutationObserver is attached
98
+ await vi.waitFor(() => {
99
+ expect(mockRun).toHaveBeenCalled();
100
+ });
101
+ const pre = container.querySelector("pre.mermaid");
102
+ expect(pre).not.toBeNull();
103
+ // Simulate mermaid setting data-processed after initial render
104
+ pre.setAttribute("data-processed", "true");
105
+ mockRun.mockClear();
106
+ // Capture whether data-processed was absent when run() fires
107
+ let dataProcessedAtCallTime = "not-called";
108
+ mockRun.mockImplementation(() => {
109
+ dataProcessedAtCallTime = pre.getAttribute("data-processed");
110
+ });
111
+ // Simulate a theme change on <html class>
112
+ document.documentElement.classList.add("dark");
113
+ // Advance past the 200ms debounce
114
+ await vi.advanceTimersByTimeAsync(250);
115
+ // data-processed must have been absent when run() was called (the fix being tested)
116
+ expect(dataProcessedAtCallTime).toBeNull();
117
+ // Cleanup
118
+ document.documentElement.classList.remove("dark");
119
+ unmount();
120
+ vi.useRealTimers();
121
+ });
122
+ describe("pan/zoom controls", () => {
123
+ async function renderWithControls() {
124
+ mockParse.mockResolvedValueOnce(undefined);
125
+ const result = render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;" }));
126
+ await vi.waitFor(() => {
127
+ expect(result.container.querySelector('[aria-label="Pan and zoom controls"]')).not.toBeNull();
128
+ });
129
+ return result;
130
+ }
131
+ it("shows all controls after the diagram renders", async () => {
132
+ const { container } = await renderWithControls();
133
+ const labels = [
134
+ "Pan up",
135
+ "Pan down",
136
+ "Pan left",
137
+ "Pan right",
138
+ "Zoom in",
139
+ "Zoom out",
140
+ "Reset view",
141
+ "Enter full screen",
142
+ ];
143
+ for (const label of labels) {
144
+ expect(container.querySelector(`button[aria-label="${label}"]`)).not.toBeNull();
145
+ }
146
+ });
147
+ it("does not show controls when panZoom is false", async () => {
148
+ mockParse.mockResolvedValueOnce(undefined);
149
+ const { container } = render(_jsx(MermaidMdx, { chart: "graph TD; A-->B;", panZoom: false }));
150
+ await vi.waitFor(() => {
151
+ expect(mockRun).toHaveBeenCalled();
152
+ });
153
+ expect(container.querySelector('[aria-label="Pan and zoom controls"]')).toBeNull();
154
+ });
155
+ it("zoom, pan, and reset buttons update the transform", async () => {
156
+ const { container } = await renderWithControls();
157
+ const layer = container.querySelector("pre.mermaid")?.parentElement;
158
+ fireEvent.click(container.querySelector('button[aria-label="Zoom in"]'));
159
+ expect(layer.style.transform).toBe("translate(0px, 0px) scale(1.2)");
160
+ fireEvent.click(container.querySelector('button[aria-label="Pan right"]'));
161
+ expect(layer.style.transform).toBe("translate(50px, 0px) scale(1.2)");
162
+ fireEvent.click(container.querySelector('button[aria-label="Reset view"]'));
163
+ expect(layer.style.transform).toBe("translate(0px, 0px) scale(1)");
164
+ });
165
+ it("clamps zoom at the maximum scale", async () => {
166
+ const { container } = await renderWithControls();
167
+ const layer = container.querySelector("pre.mermaid")?.parentElement;
168
+ const zoomIn = container.querySelector('button[aria-label="Zoom in"]');
169
+ for (let i = 0; i < 20; i++)
170
+ fireEvent.click(zoomIn);
171
+ expect(layer.style.transform).toBe("translate(0px, 0px) scale(4)");
172
+ });
173
+ it("pans with arrow keys on the focused container", async () => {
174
+ const { container } = await renderWithControls();
175
+ const viewport = container.querySelector('[tabindex="0"]');
176
+ const layer = container.querySelector("pre.mermaid")?.parentElement;
177
+ fireEvent.keyDown(viewport, { key: "ArrowRight" });
178
+ expect(layer.style.transform).toBe("translate(50px, 0px) scale(1)");
179
+ fireEvent.keyDown(viewport, { key: "ArrowUp" });
180
+ expect(layer.style.transform).toBe("translate(50px, -50px) scale(1)");
181
+ fireEvent.keyDown(viewport, { key: "0" });
182
+ expect(layer.style.transform).toBe("translate(0px, 0px) scale(1)");
183
+ });
184
+ it("ignores key presses with modifier keys (browser shortcuts)", async () => {
185
+ const { container } = await renderWithControls();
186
+ const viewport = container.querySelector('[tabindex="0"]');
187
+ const layer = container.querySelector("pre.mermaid")?.parentElement;
188
+ fireEvent.keyDown(viewport, { key: "-", ctrlKey: true });
189
+ fireEvent.keyDown(viewport, { key: "=", metaKey: true });
190
+ fireEvent.keyDown(viewport, { key: "ArrowLeft", altKey: true });
191
+ expect(layer.style.transform).toBe("translate(0px, 0px) scale(1)");
192
+ });
193
+ it("toggles the fullscreen lightbox via button and Escape", async () => {
194
+ const { container } = await renderWithControls();
195
+ const viewport = container.querySelector('[tabindex="0"]');
196
+ fireEvent.click(container.querySelector('button[aria-label="Enter full screen"]'));
197
+ expect(viewport.style.position).toBe("fixed");
198
+ expect(document.body.style.overflow).toBe("hidden");
199
+ expect(container.querySelector('button[aria-label="Exit full screen"]')).not.toBeNull();
200
+ fireEvent.keyDown(viewport, { key: "Escape" });
201
+ expect(viewport.style.position).toBe("relative");
202
+ expect(document.body.style.overflow).toBe("");
203
+ expect(container.querySelector('button[aria-label="Enter full screen"]')).not.toBeNull();
204
+ });
205
+ });
206
+ });
207
+ //# sourceMappingURL=MermaidMdx.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidMdx.test.js","sourceRoot":"","sources":["../../src/__test__/MermaidMdx.test.tsx"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -5,4 +5,5 @@ export { TooltipMdx } from "./components/TooltipMdx";
5
5
  export { ImageMdx } from "./components/ImageMdx";
6
6
  export { CardMdx } from "./components/CardMdx";
7
7
  export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
8
+ export { MermaidMdx } from "./components/MermaidMdx";
8
9
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/client.js CHANGED
@@ -5,4 +5,5 @@ export { TooltipMdx } from "./components/TooltipMdx";
5
5
  export { ImageMdx } from "./components/ImageMdx";
6
6
  export { CardMdx } from "./components/CardMdx";
7
7
  export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
8
+ export { MermaidMdx } from "./components/MermaidMdx";
8
9
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ interface MermaidMdxProps {
2
+ /** Mermaid diagram definition (from rehype plugin or programmatic) */
3
+ chart: string;
4
+ /** Custom DOM id (auto-generated if omitted) */
5
+ id?: string;
6
+ /** Additional CSS class on container */
7
+ className?: string;
8
+ /** Show GFM-style pan/zoom controls once the diagram renders (default true) */
9
+ panZoom?: boolean;
10
+ }
11
+ export declare function MermaidMdx({ chart, id, className, panZoom }: MermaidMdxProps): import("react").JSX.Element | null;
12
+ export {};
13
+ //# sourceMappingURL=MermaidMdx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidMdx.d.ts","sourceRoot":"","sources":["../../src/components/MermaidMdx.tsx"],"names":[],"mappings":"AAgBA,UAAU,eAAe;IACvB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,OAAc,EAAE,EAAE,eAAe,sCA6RnF"}
@@ -0,0 +1,211 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useId, useRef, useEffect, useState, } from "react";
4
+ // Module-level singleton — one dynamic import regardless of diagram count
5
+ let mermaidPromise = null;
6
+ function getTheme() {
7
+ return document.documentElement.classList.contains("dark") ? "dark" : "default";
8
+ }
9
+ // Pan/zoom tuning — button-driven like GFM's mermaid viewer (no drag/wheel)
10
+ const PAN_STEP = 50;
11
+ const ZOOM_STEP = 1.2;
12
+ const MIN_SCALE = 0.4;
13
+ const MAX_SCALE = 4;
14
+ const clampScale = (scale) => Math.min(MAX_SCALE, Math.max(MIN_SCALE, scale));
15
+ const controlButtonStyle = {
16
+ display: "flex",
17
+ alignItems: "center",
18
+ justifyContent: "center",
19
+ width: 28,
20
+ height: 28,
21
+ padding: 0,
22
+ border: "1px solid rgba(127,127,127,0.35)",
23
+ borderRadius: 6,
24
+ background: "rgba(127,127,127,0.12)",
25
+ color: "currentcolor",
26
+ cursor: "pointer",
27
+ };
28
+ function ControlButton({ label, onClick, cell, children, }) {
29
+ return (_jsx("button", { type: "button", "aria-label": label, title: label, onClick: onClick, style: { ...controlButtonStyle, gridColumn: cell.col, gridRow: cell.row }, children: _jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: children }) }));
30
+ }
31
+ export function MermaidMdx({ chart, id, className, panZoom = true }) {
32
+ const generatedId = useId();
33
+ const domId = id ?? `mermaid-${generatedId.replace(/[:.]/g, "-")}`;
34
+ const ref = useRef(null);
35
+ const chartRef = useRef(chart);
36
+ const mermaidRef = useRef(null);
37
+ const [error, setError] = useState(null);
38
+ const [rendered, setRendered] = useState(false);
39
+ const [view, setView] = useState({ x: 0, y: 0, scale: 1 });
40
+ const [fullscreen, setFullscreen] = useState(false);
41
+ // Keep chartRef in sync so theme-change re-render (T-005) can restore text
42
+ chartRef.current = chart;
43
+ useEffect(() => {
44
+ if (typeof window === "undefined")
45
+ return;
46
+ if (!chart)
47
+ return;
48
+ let cancelled = false;
49
+ let lazyObserver = null;
50
+ let syncObserver = null;
51
+ let themeTimer = null;
52
+ async function init() {
53
+ try {
54
+ // Invariant 6: singleton dynamic import
55
+ if (!mermaidPromise) {
56
+ mermaidPromise = import("mermaid");
57
+ }
58
+ const mod = await mermaidPromise;
59
+ const mermaid = (mermaidRef.current = mod.default);
60
+ mermaid.initialize({ startOnLoad: false, theme: getTheme() });
61
+ // Validate syntax early — show error before attempting render
62
+ try {
63
+ await mermaid.parse(chart);
64
+ }
65
+ catch {
66
+ if (!cancelled)
67
+ setError("Invalid Mermaid syntax");
68
+ return;
69
+ }
70
+ if (cancelled || !ref.current)
71
+ return;
72
+ // T-009: lazy rendering via IntersectionObserver
73
+ lazyObserver = new IntersectionObserver(([entry]) => {
74
+ if (!entry.isIntersecting || cancelled || !ref.current)
75
+ return;
76
+ Promise.resolve(mermaid.run({ nodes: [ref.current] }))
77
+ .then(() => {
78
+ if (!cancelled)
79
+ setRendered(true);
80
+ })
81
+ .catch(() => {
82
+ if (!cancelled)
83
+ setError("Failed to render diagram");
84
+ });
85
+ lazyObserver?.disconnect();
86
+ }, { rootMargin: "200px" });
87
+ lazyObserver.observe(ref.current);
88
+ }
89
+ catch {
90
+ if (!cancelled)
91
+ setError("Failed to load Mermaid renderer");
92
+ }
93
+ }
94
+ init();
95
+ // T-005: theme sync via MutationObserver on <html class>
96
+ syncObserver = new MutationObserver(() => {
97
+ if (themeTimer)
98
+ clearTimeout(themeTimer);
99
+ themeTimer = setTimeout(() => {
100
+ if (cancelled || !mermaidRef.current || !ref.current)
101
+ return;
102
+ // Mermaid replaces innerHTML — restore original chart text before re-render
103
+ ref.current.textContent = chartRef.current;
104
+ // Remove data-processed so mermaid v11 does not skip this node
105
+ ref.current.removeAttribute("data-processed");
106
+ mermaidRef.current.initialize({
107
+ startOnLoad: false,
108
+ theme: getTheme(),
109
+ });
110
+ mermaidRef.current.run({ nodes: [ref.current] });
111
+ }, 200);
112
+ });
113
+ syncObserver.observe(document.documentElement, {
114
+ attributes: true,
115
+ attributeFilter: ["class"],
116
+ });
117
+ return () => {
118
+ cancelled = true;
119
+ if (themeTimer)
120
+ clearTimeout(themeTimer);
121
+ lazyObserver?.disconnect();
122
+ syncObserver?.disconnect();
123
+ };
124
+ // chart string is static from MDX — this only fires on mount
125
+ }, []);
126
+ // Lock page scroll while the fullscreen lightbox is open
127
+ useEffect(() => {
128
+ if (!fullscreen)
129
+ return;
130
+ const previous = document.body.style.overflow;
131
+ document.body.style.overflow = "hidden";
132
+ return () => {
133
+ document.body.style.overflow = previous;
134
+ };
135
+ }, [fullscreen]);
136
+ // Guard: empty chart
137
+ if (!chart)
138
+ return null;
139
+ const pan = (dx, dy) => setView((v) => ({ ...v, x: v.x + dx, y: v.y + dy }));
140
+ const zoom = (factor) => setView((v) => ({ ...v, scale: clampScale(v.scale * factor) }));
141
+ const resetView = () => setView({ x: 0, y: 0, scale: 1 });
142
+ const controlsActive = panZoom && rendered;
143
+ const handleKeyDown = (e) => {
144
+ // Leave browser shortcuts (Ctrl/Cmd+0, Ctrl/Cmd+-, Alt+arrows, ...) alone
145
+ if (!controlsActive || e.ctrlKey || e.metaKey || e.altKey)
146
+ return;
147
+ const actions = {
148
+ ArrowUp: () => pan(0, -PAN_STEP),
149
+ ArrowDown: () => pan(0, PAN_STEP),
150
+ ArrowLeft: () => pan(-PAN_STEP, 0),
151
+ ArrowRight: () => pan(PAN_STEP, 0),
152
+ "+": () => zoom(ZOOM_STEP),
153
+ "=": () => zoom(ZOOM_STEP),
154
+ "-": () => zoom(1 / ZOOM_STEP),
155
+ "0": resetView,
156
+ ...(fullscreen ? { Escape: () => setFullscreen(false) } : {}),
157
+ };
158
+ const action = actions[e.key];
159
+ if (!action)
160
+ return;
161
+ e.preventDefault();
162
+ action();
163
+ };
164
+ if (error) {
165
+ return (_jsxs("div", { className: className, style: {
166
+ border: "1px solid hsl(var(--destructive, 0 85% 60%))",
167
+ borderRadius: 8,
168
+ padding: "0.75rem 1rem",
169
+ margin: "1em 0",
170
+ }, children: [_jsx("p", { style: {
171
+ color: "hsl(var(--destructive, 0 85% 60%))",
172
+ fontWeight: 600,
173
+ marginBottom: 8,
174
+ fontSize: "0.875rem",
175
+ }, children: "\u26A0\uFE0F Diagram rendering error" }), _jsx("pre", { style: {
176
+ fontSize: "0.875rem",
177
+ whiteSpace: "pre-wrap",
178
+ margin: 0,
179
+ }, children: chart })] }));
180
+ }
181
+ return (_jsxs("div", { className: "max-w-full", tabIndex: controlsActive ? 0 : undefined, role: controlsActive ? "group" : undefined, "aria-label": controlsActive
182
+ ? "Mermaid diagram. Use arrow keys to pan, + and - to zoom, 0 to reset."
183
+ : undefined, onKeyDown: handleKeyDown, style: {
184
+ ...(fullscreen
185
+ ? {
186
+ position: "fixed",
187
+ inset: 0,
188
+ zIndex: 50,
189
+ background: "hsl(var(--background, 0 0% 100%))",
190
+ display: "flex",
191
+ alignItems: "center",
192
+ justifyContent: "center",
193
+ }
194
+ : { position: "relative" }),
195
+ ...(controlsActive ? { overflow: "hidden" } : { overflowX: "auto" }),
196
+ }, children: [_jsx("div", { style: controlsActive
197
+ ? {
198
+ transform: `translate(${view.x}px, ${view.y}px) scale(${view.scale})`,
199
+ transformOrigin: "center center",
200
+ transition: "transform 150ms ease",
201
+ }
202
+ : undefined, children: _jsx("pre", { ref: ref, id: domId, className: `mermaid not-prose${className ? ` ${className}` : ""}`, style: { margin: "1em auto", width: "fit-content", maxWidth: "100%" }, children: chart }) }), controlsActive ? (_jsxs("div", { role: "group", "aria-label": "Pan and zoom controls", style: {
203
+ position: "absolute",
204
+ bottom: 8,
205
+ right: 8,
206
+ display: "grid",
207
+ gridTemplateColumns: "repeat(3, 28px)",
208
+ gap: 4,
209
+ }, children: [_jsx(ControlButton, { label: fullscreen ? "Exit full screen" : "Enter full screen", onClick: () => setFullscreen((f) => !f), cell: { col: 1, row: 1 }, children: fullscreen ? (_jsx("path", { d: "M8 3v3a2 2 0 0 1-2 2H3M21 8h-3a2 2 0 0 1-2-2V3M3 16h3a2 2 0 0 1 2 2v3M16 21v-3a2 2 0 0 1 2-2h3" })) : (_jsx("path", { d: "M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3" })) }), _jsx(ControlButton, { label: "Pan up", onClick: () => pan(0, -PAN_STEP), cell: { col: 2, row: 1 }, children: _jsx("path", { d: "m18 15-6-6-6 6" }) }), _jsxs(ControlButton, { label: "Zoom in", onClick: () => zoom(ZOOM_STEP), cell: { col: 3, row: 1 }, children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("path", { d: "m21 21-4-4M8 11h6M11 8v6" })] }), _jsx(ControlButton, { label: "Pan left", onClick: () => pan(-PAN_STEP, 0), cell: { col: 1, row: 2 }, children: _jsx("path", { d: "m15 18-6-6 6-6" }) }), _jsxs(ControlButton, { label: "Reset view", onClick: resetView, cell: { col: 2, row: 2 }, children: [_jsx("path", { d: "M3 12a9 9 0 1 0 2.6-6.3L3 8" }), _jsx("path", { d: "M3 3v5h5" })] }), _jsx(ControlButton, { label: "Pan right", onClick: () => pan(PAN_STEP, 0), cell: { col: 3, row: 2 }, children: _jsx("path", { d: "m9 18 6-6-6-6" }) }), _jsx(ControlButton, { label: "Pan down", onClick: () => pan(0, PAN_STEP), cell: { col: 2, row: 3 }, children: _jsx("path", { d: "m6 9 6 6 6-6" }) }), _jsxs(ControlButton, { label: "Zoom out", onClick: () => zoom(1 / ZOOM_STEP), cell: { col: 3, row: 3 }, children: [_jsx("circle", { cx: "11", cy: "11", r: "7" }), _jsx("path", { d: "m21 21-4-4M8 11h6" })] })] })) : null] }));
210
+ }
211
+ //# sourceMappingURL=MermaidMdx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MermaidMdx.js","sourceRoot":"","sources":["../../src/components/MermaidMdx.tsx"],"names":[],"mappings":"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"}
@@ -15,4 +15,5 @@ export { TabMdx, TabsMdx } from "./TabsMdx";
15
15
  export { TableMdx, TableHeaderMdx, TableBodyMdx, TableFooterMdx, TableRowMdx, TableHeadMdx, TableCellMdx, } from "./TableMdx";
16
16
  export { TooltipMdx } from "./TooltipMdx";
17
17
  export { YoutubeMdx } from "./YoutubeMdx";
18
+ export { MermaidMdx } from "./MermaidMdx";
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -15,4 +15,5 @@ export { TabMdx, TabsMdx } from "./TabsMdx";
15
15
  export { TableMdx, TableHeaderMdx, TableBodyMdx, TableFooterMdx, TableRowMdx, TableHeadMdx, TableCellMdx, } from "./TableMdx";
16
16
  export { TooltipMdx } from "./TooltipMdx";
17
17
  export { YoutubeMdx } from "./YoutubeMdx";
18
+ export { MermaidMdx } from "./MermaidMdx";
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
8
8
  export { ImageMdx, type ImageMdxProps } from "./components/ImageMdx";
9
9
  export { KbdMdx } from "./components/KbdMdx";
10
10
  export { LinkMdx, type LinkMdxProps } from "./components/LinkMdx";
11
+ export { MermaidMdx } from "./components/MermaidMdx";
11
12
  export { NoteMdx } from "./components/NoteMdx";
12
13
  export { ChangesMdx, ReleaseMdx } from "./components/ReleaseMdx";
13
14
  export { StepMdx, StepsMdx } from "./components/StepperMdx";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@ export { FileMdx, FilesMdx, FolderMdx } from "./components/FileTreeMdx";
8
8
  export { ImageMdx } from "./components/ImageMdx";
9
9
  export { KbdMdx } from "./components/KbdMdx";
10
10
  export { LinkMdx } from "./components/LinkMdx";
11
+ export { MermaidMdx } from "./components/MermaidMdx";
11
12
  export { NoteMdx } from "./components/NoteMdx";
12
13
  export { ChangesMdx, ReleaseMdx } from "./components/ReleaseMdx";
13
14
  export { StepMdx, StepsMdx } from "./components/StepperMdx";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAsB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,YAAY,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAiC3C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,gBAAgB,GAAE,eAAoB,GAAG,eAAe,CAkC3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkC3C,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjE,wBAAgB,mBAAmB,CAAC,gBAAgB,GAAE,eAAoB,GAAG,eAAe,CAmC3F"}
@@ -1,4 +1,4 @@
1
- import { AccordionMdx, AccordionsMdx, ButtonMdx, CardsMdx, CardMdx, CodeBlock, FileMdx, FilesMdx, FolderMdx, ImageMdx, KbdMdx, LinkMdx, NoteMdx, ReleaseMdx, ChangesMdx, StepMdx, StepsMdx, TableMdx, TableHeaderMdx, TableBodyMdx, TableFooterMdx, TableRowMdx, TableHeadMdx, TableCellMdx, TabMdx, TabsMdx, TooltipMdx, YoutubeMdx, } from "../components";
1
+ import { AccordionMdx, AccordionsMdx, ButtonMdx, CardsMdx, CardMdx, CodeBlock, FileMdx, FilesMdx, FolderMdx, ImageMdx, KbdMdx, LinkMdx, MermaidMdx, NoteMdx, ReleaseMdx, ChangesMdx, StepMdx, StepsMdx, TableMdx, TableHeaderMdx, TableBodyMdx, TableFooterMdx, TableRowMdx, TableHeadMdx, TableCellMdx, TabMdx, TabsMdx, TooltipMdx, YoutubeMdx, } from "../components";
2
2
  export function createMdxComponents(customComponents = {}) {
3
3
  return {
4
4
  Tabs: TabsMdx,
@@ -31,6 +31,7 @@ export function createMdxComponents(customComponents = {}) {
31
31
  img: ImageMdx,
32
32
  Youtube: YoutubeMdx,
33
33
  Tooltip: TooltipMdx,
34
+ Mermaid: MermaidMdx,
34
35
  ...customComponents,
35
36
  };
36
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAKvB,MAAM,UAAU,mBAAmB,CAAC,mBAAoC,EAAE;IACxE,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,cAAc;QACrB,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,YAAY;QAChB,GAAG,EAAE,SAAS;QACd,CAAC,EAAE,OAAO;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,GAAG,gBAAgB;KACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/registry/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,QAAQ,EACR,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,UAAU,EACV,OAAO,EACP,UAAU,EACV,UAAU,EACV,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,GACX,MAAM,eAAe,CAAC;AAKvB,MAAM,UAAU,mBAAmB,CAAC,mBAAoC,EAAE;IACxE,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,MAAM;QACX,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,cAAc;QACrB,EAAE,EAAE,WAAW;QACf,EAAE,EAAE,YAAY;QAChB,EAAE,EAAE,YAAY;QAChB,GAAG,EAAE,SAAS;QACd,CAAC,EAAE,OAAO;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,YAAY;QACvB,UAAU,EAAE,aAAa;QACzB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,MAAM;QACX,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,UAAU;QACnB,GAAG,gBAAgB;KACpB,CAAC;AACJ,CAAC"}
@@ -43,7 +43,7 @@ export function ExpandableCode({ isExpandable, totalLines, preContent, preProps,
43
43
  return (_jsxs(_Fragment, { children: [_jsx("div", { className: "mdx-expandable-code-container", children: _jsx("pre", { ref: preRef, ...preProps, className: `${className || ""} mdx-expandable-code`, style: {
44
44
  margin: 0,
45
45
  padding: "0.9rem",
46
- overflowX: "visible",
46
+ overflowX: "auto",
47
47
  minWidth: "100%",
48
48
  maxHeight: isCollapsed ? collapsedMaxHeight : "none",
49
49
  overflowY: isCollapsed ? "hidden" : "visible",
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandableCode.js","sourceRoot":"","sources":["../../src/utils/ExpandableCode.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpandableCode.js","sourceRoot":"","sources":["../../src/utils/ExpandableCode.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docubook/mdx-content",
3
- "version": "3.2.2",
3
+ "version": "3.4.0",
4
4
  "description": "Portable MDX components and framework adapters for DocuBook",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -50,12 +50,15 @@
50
50
  "author": "wildan.nrs",
51
51
  "author-url": "https://wildan.dev",
52
52
  "license": "MIT",
53
+ "dependencies": {
54
+ "mermaid": "^11.16.0"
55
+ },
53
56
  "peerDependencies": {
54
57
  "lucide-react": "^1.7.0",
55
58
  "react": ">=18",
56
59
  "react-dom": ">=18",
57
60
  "react-icons": "^5.0.0",
58
- "@docubook/core": "^1.7.2"
61
+ "@docubook/core": "^1.8.0"
59
62
  },
60
63
  "peerDependenciesMeta": {
61
64
  "next": {