@haklex/rich-renderer-mermaid 0.15.0 → 0.15.1

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.
@@ -1,44 +1,45 @@
1
1
  import { useColorScheme } from "@haklex/rich-editor/static";
2
2
  import { useEffect, useId, useState } from "react";
3
- import { jsx } from "react/jsx-runtime";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/styles.css.ts
5
5
  var mermaidContainer = "_36yqie0";
6
6
  var mermaidEditHint = "_36yqie1";
7
7
  var zoomControls = "_36yqie2";
8
8
  var zoomBtn = "_36yqie3";
9
9
  var mermaidLoading = "_36yqie4";
10
- var mermaidError = "_36yqie6";
11
- var editorPopup = "_36yqie7";
12
- var editorHeader = "_36yqie8";
13
- var editorHeaderLeft = "_36yqie9";
14
- var editorHeaderRight = "_36yqiea";
15
- var editorSep = "_36yqieb";
16
- var editorTitle = "_36yqiec";
17
- var editorTplBtn = "_36yqied";
18
- var editorViewToggle = "_36yqiee";
19
- var editorViewItem = "_36yqief";
20
- var editorViewItemActive = "_36yqieg";
21
- var editorIconBtn = "_36yqieh";
22
- var editorBody = "_36yqiei";
23
- var editorPane = "_36yqiej";
24
- var editorPaneHalf = "_36yqiek";
25
- var editorPaneFull = "_36yqiel";
26
- var editorPaneLabel = "_36yqiem";
27
- var editorPreviewPane = "_36yqien";
28
- var editorPreviewWrap = "_36yqieo";
29
- var editorPreviewEmpty = "_36yqiep";
30
- var editorPreviewErrorWrap = "_36yqieq";
31
- var editorPreviewErrorIcon = "_36yqier";
32
- var editorPreviewErrorTitle = "_36yqies";
33
- var editorPreviewErrorMsg = "_36yqiet";
34
- var codeEditor = "_36yqieu";
35
- var codeGutter = "_36yqiev";
36
- var codeGutterLine = "_36yqiew";
37
- var codeArea = "_36yqiex";
38
- var editorFooter = "_36yqiey";
39
- var footerActions = "_36yqie12";
40
- var footerBtnCancel = "_36yqie14 _36yqie13";
41
- var footerBtnSave = "_36yqie15 _36yqie13";
10
+ var mermaidSpinner = "_36yqie6";
11
+ var mermaidError = "_36yqie7";
12
+ var editorPopup = "_36yqie8";
13
+ var editorHeader = "_36yqie9";
14
+ var editorHeaderLeft = "_36yqiea";
15
+ var editorHeaderRight = "_36yqieb";
16
+ var editorSep = "_36yqiec";
17
+ var editorTitle = "_36yqied";
18
+ var editorTplBtn = "_36yqiee";
19
+ var editorViewToggle = "_36yqief";
20
+ var editorViewItem = "_36yqieg";
21
+ var editorViewItemActive = "_36yqieh";
22
+ var editorIconBtn = "_36yqiei";
23
+ var editorBody = "_36yqiej";
24
+ var editorPane = "_36yqiek";
25
+ var editorPaneHalf = "_36yqiel";
26
+ var editorPaneFull = "_36yqiem";
27
+ var editorPaneLabel = "_36yqien";
28
+ var editorPreviewPane = "_36yqieo";
29
+ var editorPreviewWrap = "_36yqiep";
30
+ var editorPreviewEmpty = "_36yqieq";
31
+ var editorPreviewErrorWrap = "_36yqier";
32
+ var editorPreviewErrorIcon = "_36yqies";
33
+ var editorPreviewErrorTitle = "_36yqiet";
34
+ var editorPreviewErrorMsg = "_36yqieu";
35
+ var codeEditor = "_36yqiev";
36
+ var codeGutter = "_36yqiew";
37
+ var codeGutterLine = "_36yqiex";
38
+ var codeArea = "_36yqiey";
39
+ var editorFooter = "_36yqiez";
40
+ var footerActions = "_36yqie13";
41
+ var footerBtnCancel = "_36yqie15 _36yqie14";
42
+ var footerBtnSave = "_36yqie16 _36yqie14";
42
43
  //#endregion
43
44
  //#region src/mermaid-theme.ts
44
45
  var MIX = {
@@ -560,20 +561,47 @@ function useMermaidRender(content, preferredColorScheme) {
560
561
  };
561
562
  }
562
563
  //#endregion
564
+ //#region src/estimate-height.ts
565
+ function estimateMermaidHeight(content) {
566
+ const lines = content.split("\n").map((l) => l.trim()).filter((l) => l && !l.startsWith("%%"));
567
+ const first = (lines[0] ?? "").toLowerCase();
568
+ let h;
569
+ if (first.startsWith("sequencediagram")) h = lines.length * 50 + 60;
570
+ else if (first.startsWith("gantt")) h = lines.length * 36 + 80;
571
+ else if (first.startsWith("pie")) h = 320;
572
+ else if (first.startsWith("flowchart lr") || first.startsWith("graph lr") || first.startsWith("flowchart rl") || first.startsWith("graph rl")) h = lines.length * 30 + 100;
573
+ else if (first.startsWith("classdiagram")) h = lines.length * 40 + 100;
574
+ else if (first.startsWith("statediagram")) h = lines.length * 50 + 80;
575
+ else if (first.startsWith("erdiagram")) h = lines.length * 60 + 80;
576
+ else if (first.startsWith("journey")) h = lines.length * 40 + 80;
577
+ else if (first.startsWith("mindmap")) h = lines.length * 50 + 100;
578
+ else h = lines.length * 60 + 80;
579
+ return Math.min(Math.max(Math.round(h), 200), 800);
580
+ }
581
+ //#endregion
563
582
  //#region src/MermaidRenderer.tsx
564
583
  var MermaidRenderer = ({ content, colorScheme }) => {
565
584
  const { loading, error, imgSrc, width, height } = useMermaidRender(content, colorScheme);
566
- if (loading) return /* @__PURE__ */ jsx("pre", {
585
+ const wrapperStyle = { minHeight: estimateMermaidHeight(content) };
586
+ if (loading) return /* @__PURE__ */ jsxs("div", {
567
587
  className: mermaidLoading,
568
- children: /* @__PURE__ */ jsx("code", { children: content })
588
+ style: wrapperStyle,
589
+ children: [/* @__PURE__ */ jsx("span", {
590
+ "aria-hidden": "true",
591
+ className: mermaidSpinner
592
+ }), /* @__PURE__ */ jsx("span", { children: "Rendering diagram…" })]
569
593
  });
570
594
  if (!imgSrc) return /* @__PURE__ */ jsx("div", {
571
595
  className: mermaidError,
596
+ style: wrapperStyle,
572
597
  children: error || "Render failed"
573
598
  });
574
599
  return /* @__PURE__ */ jsx("div", {
575
600
  className: mermaidContainer,
576
- style: { cursor: "default" },
601
+ style: {
602
+ ...wrapperStyle,
603
+ cursor: "default"
604
+ },
577
605
  children: /* @__PURE__ */ jsx("img", {
578
606
  alt: "Mermaid diagram",
579
607
  height,
@@ -1 +1 @@
1
- {"version":3,"file":"MermaidRenderer.d.ts","sourceRoot":"","sources":["../src/MermaidRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,GAAG;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,CAuBpF,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"MermaidRenderer.d.ts","sourceRoot":"","sources":["../src/MermaidRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,GAAG;IAAE,WAAW,CAAC,EAAE,WAAW,CAAA;CAAE,CA8BpF,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function estimateMermaidHeight(content: string): number;
2
+ //# sourceMappingURL=estimate-height.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimate-height.d.ts","sourceRoot":"","sources":["../src/estimate-height.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAqC7D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=estimate-height.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimate-height.test.d.ts","sourceRoot":"","sources":["../src/estimate-height.test.ts"],"names":[],"mappings":""}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as editorViewToggle, D as editorTplBtn, E as editorTitle, I as mermaidError, L as mermaidLoading, M as footerBtnCancel, N as footerBtnSave, O as editorViewItem, P as mermaidContainer, R as zoomBtn, S as editorPreviewErrorWrap, T as editorSep, _ as editorPopup, a as codeGutter, b as editorPreviewErrorMsg, c as editorFooter, d as editorHeaderRight, f as editorIconBtn, i as codeEditor, j as footerActions, k as editorViewItemActive, l as editorHeader, n as useMermaidRender, o as codeGutterLine, r as codeArea, s as editorBody, t as MermaidRenderer, u as editorHeaderLeft, v as editorPreviewEmpty, w as editorPreviewWrap, x as editorPreviewErrorTitle, y as editorPreviewErrorIcon, z as zoomControls } from "./MermaidRenderer-Dik89l6Z.js";
1
+ import { A as editorViewToggle, D as editorTplBtn, E as editorTitle, I as mermaidError, L as mermaidLoading, M as footerBtnCancel, N as footerBtnSave, O as editorViewItem, P as mermaidContainer, R as zoomBtn, S as editorPreviewErrorWrap, T as editorSep, _ as editorPopup, a as codeGutter, b as editorPreviewErrorMsg, c as editorFooter, d as editorHeaderRight, f as editorIconBtn, i as codeEditor, j as footerActions, k as editorViewItemActive, l as editorHeader, n as useMermaidRender, o as codeGutterLine, r as codeArea, s as editorBody, t as MermaidRenderer, u as editorHeaderLeft, v as editorPreviewEmpty, w as editorPreviewWrap, x as editorPreviewErrorTitle, y as editorPreviewErrorIcon, z as zoomControls } from "./MermaidRenderer-DnxSrFxY.js";
2
2
  import { useColorScheme } from "@haklex/rich-editor/static";
3
3
  import { presentDialog, usePortalTheme } from "@haklex/rich-editor-ui";
4
4
  import { CircleAlert, Code2, Columns2, Copy, Download, Eye, FishSymbol, Maximize2, RotateCcw, X, ZoomIn, ZoomOut } from "lucide-react";
@@ -245,18 +245,18 @@ var MermaidEditorContent = ({ initialContent, onSave, dismiss, colorScheme }) =>
245
245
  /* @__PURE__ */ jsxs("div", {
246
246
  className: editorBody,
247
247
  children: [activeView !== "preview" && /* @__PURE__ */ jsxs("div", {
248
- className: `_36yqiej ${activeView === "code" ? "_36yqiel" : "_36yqiek"}`,
248
+ className: `_36yqiek ${activeView === "code" ? "_36yqiem" : "_36yqiel"}`,
249
249
  children: [/* @__PURE__ */ jsx("div", {
250
- className: "_36yqiem",
250
+ className: "_36yqien",
251
251
  children: "Editor"
252
252
  }), /* @__PURE__ */ jsx(CodeEditor, {
253
253
  value: code,
254
254
  onChange: setCode
255
255
  })]
256
256
  }), activeView !== "code" && /* @__PURE__ */ jsxs("div", {
257
- className: "_36yqien",
257
+ className: "_36yqieo",
258
258
  children: [/* @__PURE__ */ jsx("div", {
259
- className: "_36yqiem",
259
+ className: "_36yqien",
260
260
  children: "Preview"
261
261
  }), /* @__PURE__ */ jsx(MermaidLivePreview, {
262
262
  code,
@@ -1,2 +1,2 @@
1
- :root{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a0{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a1{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.8;--rc-line-height-tight:1.4;--rc-font-family:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a2{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#a3a3a3;--rc-quote-bg:#fafafa;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-line-height:1.5;--rc-line-height-tight:1.3;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}.dark ._165ss5a0,[data-theme=dark] ._165ss5a0,.dark._165ss5a0,[data-theme=dark]._165ss5a0,.dark ._165ss5a1,[data-theme=dark] ._165ss5a1,.dark._165ss5a1,[data-theme=dark]._165ss5a1,.dark ._165ss5a2,[data-theme=dark] ._165ss5a2,.dark._165ss5a2,[data-theme=dark]._165ss5a2{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}@keyframes _36yqie5{to{transform:rotate(360deg)}}._36yqie0{cursor:grab;flex-direction:column;align-items:center;margin:1rem 0;display:flex;position:relative;overflow:hidden}._36yqie0:active{cursor:grabbing}._36yqie0 img{max-width:100%;height:auto}._36yqie1{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);background-color:color-mix(in srgb, var(--rc-bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;cursor:pointer;z-index:2;border-radius:4px;padding:2px 8px;transition:opacity .2s;position:absolute;top:8px;right:8px}._36yqie1:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-bg) 95%, transparent)}._36yqie0:hover ._36yqie1{opacity:1}._36yqie2{opacity:0;z-index:2;gap:2px;transition:opacity .2s;display:flex;position:absolute;bottom:8px;right:8px}._36yqie0:hover ._36yqie2{opacity:1}._36yqie3{cursor:pointer;width:28px;height:28px;color:var(--rc-text-secondary);background-color:color-mix(in srgb, var(--rc-bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}._36yqie3:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-bg) 95%, transparent)}._36yqie4{min-height:80px;color:var(--rc-text-secondary);font-size:var(--rc-font-size-md);justify-content:center;align-items:center;display:flex}._36yqie4:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;margin-left:8px;animation:.6s linear infinite _36yqie5;display:inline-block}._36yqie6{background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent);min-height:50px;color:var(--rc-alert-caution);font-size:var(--rc-font-size-md);border-radius:.5rem;justify-content:center;align-items:center;padding:.75rem 1rem;display:flex}._36yqie7._36yqie7{border-radius:.5rem;flex-direction:column;gap:0;width:calc(100vw - 2rem);height:min(680px,85vh);padding:0;display:flex;overflow:hidden}._36yqie8{border-bottom:1px solid var(--rc-border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 .5rem 0 1rem;display:flex}._36yqie9{align-items:center;gap:.75rem;display:flex}._36yqiea{align-items:center;gap:4px;display:flex}._36yqieb{background-color:var(--rc-border);flex-shrink:0;width:1px;height:16px}._36yqiec{font-size:var(--rc-font-size-md);color:var(--rc-text);align-items:center;gap:.5rem;font-weight:500;display:flex}._36yqied{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem .5rem;transition:color .15s,background-color .15s}._36yqied:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 5%, transparent)}._36yqiee{background-color:color-mix(in srgb, var(--rc-text) 5%, transparent);border-radius:.375rem;align-items:center;margin-right:4px;padding:2px;display:flex}._36yqief{cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s,box-shadow .15s;display:inline-flex}._36yqief:hover{color:var(--rc-text)}._36yqieg{background-color:var(--rc-bg);color:var(--rc-text);box-shadow:var(--rc-shadow-menu)}._36yqieh{cursor:pointer;width:28px;height:28px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}._36yqieh:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 5%, transparent)}._36yqiei{flex:1;min-height:0;display:flex}._36yqiej{border-right:1px solid var(--rc-border);flex-direction:column;display:flex}._36yqiek{width:50%}._36yqiel{flex:1}._36yqiem{border-bottom:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);height:32px;font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;padding:0 .75rem;font-weight:500;display:flex}._36yqien{flex-direction:column;flex:1;display:flex}._36yqieo{cursor:grab;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}._36yqieo:active{cursor:grabbing}._36yqieo:hover ._36yqie2{opacity:1}._36yqieo img{max-width:100%;height:auto}._36yqiep{font-size:var(--rc-font-size-md);color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent)}._36yqieq{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:320px;display:flex}._36yqier{background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent);width:32px;height:32px;color:var(--rc-alert-caution);border-radius:.375rem;justify-content:center;align-items:center;display:inline-flex}._36yqies{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:500}._36yqiet{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}._36yqieu{min-height:0;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-sm);flex:1;line-height:1.25rem;display:flex;position:relative;overflow:hidden}._36yqiev{-webkit-user-select:none;user-select:none;border-right:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);flex-shrink:0;width:40px;padding:.75rem 0;overflow:hidden}._36yqiew{text-align:right;color:color-mix(in srgb, var(--rc-text-secondary) 40%, transparent);padding:0 .5rem;line-height:1.25rem}._36yqiex{resize:none;color:var(--rc-text);line-height:1.25rem;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-md);-moz-tab-size:2;tab-size:2;background-color:#0000;border:none;outline:none;flex:1;padding:.75rem}._36yqiex::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 40%, transparent)}._36yqiey{border-top:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 1.5%, transparent);flex-shrink:0;justify-content:flex-end;align-items:center;height:44px;padding:0 1rem;display:flex}._36yqiez{align-items:center;gap:.5rem;display:flex}._36yqie10{background-color:var(--rc-alert-tip);border-radius:50%;width:6px;height:6px}._36yqie11{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary)}._36yqie12{align-items:center;gap:.5rem;display:flex}._36yqie13{font-size:var(--rc-font-size-xs);cursor:pointer;border-radius:.375rem;height:28px;padding:.25rem .75rem;font-weight:500;transition:background-color .15s,border-color .15s}._36yqie14{color:var(--rc-text-secondary);border:1px solid var(--rc-border);background-color:#0000}._36yqie14:hover{background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._36yqie15{background-color:var(--rc-text);color:var(--rc-bg);border:1px solid #0000}._36yqie15:hover{background-color:color-mix(in srgb, var(--rc-text) 85%, transparent)}@media (min-width:640px){._36yqie7._36yqie7{max-width:64rem}}
1
+ :root{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a0{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a1{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-line-height:1.8;--rc-line-height-tight:1.4;--rc-font-family:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._165ss5a2{--rc-text:#000;--rc-text-secondary:#262626;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#a3a3a3;--rc-quote-bg:#fafafa;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-line-height:1.5;--rc-line-height-tight:1.3;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}.dark ._165ss5a0,[data-theme=dark] ._165ss5a0,.dark._165ss5a0,[data-theme=dark]._165ss5a0,.dark ._165ss5a1,[data-theme=dark] ._165ss5a1,.dark._165ss5a1,[data-theme=dark]._165ss5a1,.dark ._165ss5a2,[data-theme=dark] ._165ss5a2,.dark._165ss5a2,[data-theme=dark]._165ss5a2{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}@keyframes _36yqie5{to{transform:rotate(360deg)}}._36yqie0{cursor:grab;flex-direction:column;align-items:center;margin:1rem 0;display:flex;position:relative;overflow:hidden}._36yqie0:active{cursor:grabbing}._36yqie0 img{max-width:100%;height:auto}._36yqie1{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);background-color:color-mix(in srgb, var(--rc-bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;cursor:pointer;z-index:2;border-radius:4px;padding:2px 8px;transition:opacity .2s;position:absolute;top:8px;right:8px}._36yqie1:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-bg) 95%, transparent)}._36yqie0:hover ._36yqie1{opacity:1}._36yqie2{opacity:0;z-index:2;gap:2px;transition:opacity .2s;display:flex;position:absolute;bottom:8px;right:8px}._36yqie0:hover ._36yqie2{opacity:1}._36yqie3{cursor:pointer;width:28px;height:28px;color:var(--rc-text-secondary);background-color:color-mix(in srgb, var(--rc-bg) 80%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}._36yqie3:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-bg) 95%, transparent)}._36yqie4{color:var(--rc-text-secondary);font-size:var(--rc-font-size-md);flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:1rem 0;display:flex}._36yqie6{border:2.5px solid;border-right-color:#0000;border-radius:50%;width:24px;height:24px;animation:.6s linear infinite _36yqie5;display:inline-block}._36yqie7{background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent);color:var(--rc-alert-caution);font-size:var(--rc-font-size-md);border-radius:.5rem;justify-content:center;align-items:center;margin:1rem 0;padding:.75rem 1rem;display:flex}._36yqie8._36yqie8{border-radius:.5rem;flex-direction:column;gap:0;width:calc(100vw - 2rem);height:min(680px,85vh);padding:0;display:flex;overflow:hidden}._36yqie9{border-bottom:1px solid var(--rc-border);flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 .5rem 0 1rem;display:flex}._36yqiea{align-items:center;gap:.75rem;display:flex}._36yqieb{align-items:center;gap:4px;display:flex}._36yqiec{background-color:var(--rc-border);flex-shrink:0;width:1px;height:16px}._36yqied{font-size:var(--rc-font-size-md);color:var(--rc-text);align-items:center;gap:.5rem;font-weight:500;display:flex}._36yqiee{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.25rem .5rem;transition:color .15s,background-color .15s}._36yqiee:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 5%, transparent)}._36yqief{background-color:color-mix(in srgb, var(--rc-text) 5%, transparent);border-radius:.375rem;align-items:center;margin-right:4px;padding:2px;display:flex}._36yqieg{cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:4px;transition:color .15s,background-color .15s,box-shadow .15s;display:inline-flex}._36yqieg:hover{color:var(--rc-text)}._36yqieh{background-color:var(--rc-bg);color:var(--rc-text);box-shadow:var(--rc-shadow-menu)}._36yqiei{cursor:pointer;width:28px;height:28px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:color .15s,background-color .15s;display:inline-flex}._36yqiei:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 5%, transparent)}._36yqiej{flex:1;min-height:0;display:flex}._36yqiek{border-right:1px solid var(--rc-border);flex-direction:column;display:flex}._36yqiel{width:50%}._36yqiem{flex:1}._36yqien{border-bottom:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);height:32px;font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;align-items:center;padding:0 .75rem;font-weight:500;display:flex}._36yqieo{flex-direction:column;flex:1;display:flex}._36yqiep{cursor:grab;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}._36yqiep:active{cursor:grabbing}._36yqiep:hover ._36yqie2{opacity:1}._36yqiep img{max-width:100%;height:auto}._36yqieq{font-size:var(--rc-font-size-md);color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent)}._36yqier{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:320px;display:flex}._36yqies{background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent);width:32px;height:32px;color:var(--rc-alert-caution);border-radius:.375rem;justify-content:center;align-items:center;display:inline-flex}._36yqiet{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:500}._36yqieu{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}._36yqiev{min-height:0;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-sm);flex:1;line-height:1.25rem;display:flex;position:relative;overflow:hidden}._36yqiew{-webkit-user-select:none;user-select:none;border-right:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 2%, transparent);flex-shrink:0;width:40px;padding:.75rem 0;overflow:hidden}._36yqiex{text-align:right;color:color-mix(in srgb, var(--rc-text-secondary) 40%, transparent);padding:0 .5rem;line-height:1.25rem}._36yqiey{resize:none;color:var(--rc-text);line-height:1.25rem;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-md);-moz-tab-size:2;tab-size:2;background-color:#0000;border:none;outline:none;flex:1;padding:.75rem}._36yqiey::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 40%, transparent)}._36yqiez{border-top:1px solid var(--rc-border);background-color:color-mix(in srgb, var(--rc-text) 1.5%, transparent);flex-shrink:0;justify-content:flex-end;align-items:center;height:44px;padding:0 1rem;display:flex}._36yqie10{align-items:center;gap:.5rem;display:flex}._36yqie11{background-color:var(--rc-alert-tip);border-radius:50%;width:6px;height:6px}._36yqie12{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary)}._36yqie13{align-items:center;gap:.5rem;display:flex}._36yqie14{font-size:var(--rc-font-size-xs);cursor:pointer;border-radius:.375rem;height:28px;padding:.25rem .75rem;font-weight:500;transition:background-color .15s,border-color .15s}._36yqie15{color:var(--rc-text-secondary);border:1px solid var(--rc-border);background-color:#0000}._36yqie15:hover{background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._36yqie16{background-color:var(--rc-text);color:var(--rc-bg);border:1px solid #0000}._36yqie16:hover{background-color:color-mix(in srgb, var(--rc-text) 85%, transparent)}@media (min-width:640px){._36yqie8._36yqie8{max-width:64rem}}
2
2
  /*$vite$:1*/
package/dist/static.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { t as MermaidRenderer } from "./MermaidRenderer-Dik89l6Z.js";
1
+ import { t as MermaidRenderer } from "./MermaidRenderer-DnxSrFxY.js";
2
2
  export { MermaidRenderer };
@@ -3,6 +3,7 @@ export declare const mermaidEditHint: string;
3
3
  export declare const zoomControls: string;
4
4
  export declare const zoomBtn: string;
5
5
  export declare const mermaidLoading: string;
6
+ export declare const mermaidSpinner: string;
6
7
  export declare const mermaidError: string;
7
8
  declare const _editorPopup: string;
8
9
  export { _editorPopup as editorPopup };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,QAW3B,CAAC;AAOH,eAAO,MAAM,eAAe,QAuB1B,CAAC;AAEH,eAAO,MAAM,YAAY,QAcvB,CAAC;AAEH,eAAO,MAAM,OAAO,QAiBlB,CAAC;AAEH,eAAO,MAAM,cAAc,QAOzB,CAAC;AAkBH,eAAO,MAAM,YAAY,QAUvB,CAAC;AAIH,QAAA,MAAM,YAAY,QAAY,CAAC;AAgB/B,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC,eAAO,MAAM,YAAY,QAQvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAI3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAI5B,CAAC;AAEH,eAAO,MAAM,SAAS,QAKpB,CAAC;AAEH,eAAO,MAAM,WAAW,QAOtB,CAAC;AAEH,eAAO,MAAM,YAAY,QAavB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAO3B,CAAC;AAEH,eAAO,MAAM,cAAc,QAczB,CAAC;AAEH,eAAO,MAAM,oBAAoB,QAI/B,CAAC;AAEH,eAAO,MAAM,aAAa,QAgBxB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,cAAc,QAA0B,CAAC;AACtD,eAAO,MAAM,cAAc,QAAqB,CAAC;AAEjD,eAAO,MAAM,eAAe,QAa1B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAY5B,CAAC;AAWH,eAAO,MAAM,kBAAkB,QAG7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAOjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,QASjC,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAIlC,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAQhC,CAAC;AAIH,eAAO,MAAM,UAAU,QASrB,CAAC;AAEH,eAAO,MAAM,UAAU,QAQrB,CAAC;AAEH,eAAO,MAAM,cAAc,QAKzB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAenB,CAAC;AAIH,eAAO,MAAM,YAAY,QASvB,CAAC;AAEH,eAAO,MAAM,YAAY,QAIvB,CAAC;AAEH,eAAO,MAAM,eAAe,QAK1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAG3B,CAAC;AAEH,eAAO,MAAM,aAAa,QAIxB,CAAC;AAYH,eAAO,MAAM,eAAe,QAU1B,CAAC;AAEH,eAAO,MAAM,aAAa,QAUxB,CAAC"}
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,QAW3B,CAAC;AAOH,eAAO,MAAM,eAAe,QAuB1B,CAAC;AAEH,eAAO,MAAM,YAAY,QAcvB,CAAC;AAEH,eAAO,MAAM,OAAO,QAiBlB,CAAC;AAEH,eAAO,MAAM,cAAc,QASzB,CAAC;AAMH,eAAO,MAAM,cAAc,QAQzB,CAAC;AAEH,eAAO,MAAM,YAAY,QAUvB,CAAC;AAIH,QAAA,MAAM,YAAY,QAAY,CAAC;AAgB/B,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC,eAAO,MAAM,YAAY,QAQvB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAI3B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAI5B,CAAC;AAEH,eAAO,MAAM,SAAS,QAKpB,CAAC;AAEH,eAAO,MAAM,WAAW,QAOtB,CAAC;AAEH,eAAO,MAAM,YAAY,QAavB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAO3B,CAAC;AAEH,eAAO,MAAM,cAAc,QAczB,CAAC;AAEH,eAAO,MAAM,oBAAoB,QAI/B,CAAC;AAEH,eAAO,MAAM,aAAa,QAgBxB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,UAAU,QAIrB,CAAC;AAEH,eAAO,MAAM,cAAc,QAA0B,CAAC;AACtD,eAAO,MAAM,cAAc,QAAqB,CAAC;AAEjD,eAAO,MAAM,eAAe,QAa1B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAY5B,CAAC;AAWH,eAAO,MAAM,kBAAkB,QAG7B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAOjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,QASjC,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAIlC,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAQhC,CAAC;AAIH,eAAO,MAAM,UAAU,QASrB,CAAC;AAEH,eAAO,MAAM,UAAU,QAQrB,CAAC;AAEH,eAAO,MAAM,cAAc,QAKzB,CAAC;AAEH,eAAO,MAAM,QAAQ,QAenB,CAAC;AAIH,eAAO,MAAM,YAAY,QASvB,CAAC;AAEH,eAAO,MAAM,YAAY,QAIvB,CAAC;AAEH,eAAO,MAAM,eAAe,QAK1B,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAG3B,CAAC;AAEH,eAAO,MAAM,aAAa,QAIxB,CAAC;AAYH,eAAO,MAAM,eAAe,QAU1B,CAAC;AAEH,eAAO,MAAM,aAAa,QAUxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-renderer-mermaid",
3
- "version": "0.15.0",
3
+ "version": "0.15.1",
4
4
  "description": "Mermaid diagram renderer",
5
5
  "repository": {
6
6
  "type": "git",
@@ -47,9 +47,9 @@
47
47
  "lucide-react": "^1.0.0",
48
48
  "react": ">=19",
49
49
  "react-dom": ">=19",
50
- "@haklex/rich-editor": "0.15.0",
51
- "@haklex/rich-style-token": "0.15.0",
52
- "@haklex/rich-editor-ui": "0.15.0"
50
+ "@haklex/rich-editor": "0.15.1",
51
+ "@haklex/rich-style-token": "0.15.1",
52
+ "@haklex/rich-editor-ui": "0.15.1"
53
53
  },
54
54
  "publishConfig": {
55
55
  "access": "public"