@haklex/rich-ext-excalidraw 0.50.0 → 0.50.2
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/ExcalidrawDisplayRenderer.d.ts.map +1 -1
- package/dist/ExcalidrawEditRenderer.d.ts.map +1 -1
- package/dist/display.test.d.ts +2 -0
- package/dist/display.test.d.ts.map +1 -0
- package/dist/index.mjs +4 -4
- package/dist/rich-ext-excalidraw.css +1 -1
- package/dist/scene/Scene.d.ts.map +1 -1
- package/dist/static.mjs +2 -2
- package/dist/styles.css.d.ts.map +1 -1
- package/dist/{transformer-C2e_qiIg.js → transformer-CbJAOPsv.js} +3 -3
- package/dist/useExcalidrawData.d.ts +2 -0
- package/dist/useExcalidrawData.d.ts.map +1 -1
- package/dist/{useExcalidrawFont-DAmoYxvU.js → useExcalidrawFont-D_lnfKV8.js} +21 -13
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcalidrawDisplayRenderer.d.ts","sourceRoot":"","sources":["../src/ExcalidrawDisplayRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,EAAE,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAajF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,6BAA6B,
|
|
1
|
+
{"version":3,"file":"ExcalidrawDisplayRenderer.d.ts","sourceRoot":"","sources":["../src/ExcalidrawDisplayRenderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,EAAE,EAAE,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAajF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAE5E,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,6BAA6B,CAgDvE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExcalidrawEditRenderer.d.ts","sourceRoot":"","sources":["../src/ExcalidrawEditRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiB,EAAE,EAAE,MAAM,OAAO,CAAC;AAY/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC;AAyZD,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,
|
|
1
|
+
{"version":3,"file":"ExcalidrawEditRenderer.d.ts","sourceRoot":"","sources":["../src/ExcalidrawEditRenderer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAiB,EAAE,EAAE,MAAM,OAAO,CAAC;AAY/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIlD,MAAM,WAAW,2BAA2B;IAC1C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC;AAyZD,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CA8HlE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.test.d.ts","sourceRoot":"","sources":["../src/display.test.tsx"],"names":[],"mappings":""}
|
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, l as _defineProperty, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER, u as __exportAll } from "./transformer-
|
|
2
|
-
import { A as excalidrawEditorContainer, C as excalidrawDialogCanvas, D as excalidrawDialogTitle, E as excalidrawDialogMeta, I as excalidrawStatusDot, L as ExcalidrawConfigProvider, M as excalidrawHeaderActions, N as excalidrawHeaderClose, O as excalidrawEditLabel, R as useExcalidrawConfig, S as excalidrawConfirmBtnPrimary, a as serializeSnapshot, b as excalidrawConfirmBtn, f as ExcalidrawEmptyState, g as excalidrawActionBarBtn, i as parseSnapshot, j as excalidrawFullscreenPopup, k as excalidrawEditOverlay, l as Scene, m as ExcalidrawLoadingState, n as useExcalidrawData, o as countElements, p as ExcalidrawErrorState, r as isLocalScenePath, s as toScene, t as useExcalidrawFont, w as excalidrawDialogHeader, x as excalidrawConfirmBtnDanger, y as excalidrawConfirmActions } from "./useExcalidrawFont-
|
|
1
|
+
import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, l as _defineProperty, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER, u as __exportAll } from "./transformer-CbJAOPsv.js";
|
|
2
|
+
import { A as excalidrawEditorContainer, C as excalidrawDialogCanvas, D as excalidrawDialogTitle, E as excalidrawDialogMeta, I as excalidrawStatusDot, L as ExcalidrawConfigProvider, M as excalidrawHeaderActions, N as excalidrawHeaderClose, O as excalidrawEditLabel, R as useExcalidrawConfig, S as excalidrawConfirmBtnPrimary, a as serializeSnapshot, b as excalidrawConfirmBtn, f as ExcalidrawEmptyState, g as excalidrawActionBarBtn, i as parseSnapshot, j as excalidrawFullscreenPopup, k as excalidrawEditOverlay, l as Scene, m as ExcalidrawLoadingState, n as useExcalidrawData, o as countElements, p as ExcalidrawErrorState, r as isLocalScenePath, s as toScene, t as useExcalidrawFont, w as excalidrawDialogHeader, x as excalidrawConfirmBtnDanger, y as excalidrawConfirmActions } from "./useExcalidrawFont-D_lnfKV8.js";
|
|
3
3
|
import { Suspense, createElement, lazy, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
5
|
import { useColorScheme } from "@haklex/rich-editor/static";
|
|
@@ -444,7 +444,7 @@ var ExcalidrawEditorDialogContent = ({ dismiss, ExcalidrawComponent, initialData
|
|
|
444
444
|
var ExcalidrawEditRenderer = ({ snapshot, onSnapshotChange }) => {
|
|
445
445
|
const theme = useColorScheme();
|
|
446
446
|
const { saveSnapshot } = useExcalidrawConfig();
|
|
447
|
-
const { snapshot: initialData, loading: dataLoading, error: dataError, retry, baseRef, baseData } = useExcalidrawData(snapshot);
|
|
447
|
+
const { snapshot: initialData, loading: dataLoading, error: dataError, retry, retryable, baseRef, baseData } = useExcalidrawData(snapshot);
|
|
448
448
|
const [editedData, setEditedData] = useState();
|
|
449
449
|
const [editorLoading, setEditorLoading] = useState(false);
|
|
450
450
|
const excalidrawRef = useRef(null);
|
|
@@ -523,7 +523,7 @@ var ExcalidrawEditRenderer = ({ snapshot, onSnapshotChange }) => {
|
|
|
523
523
|
className: excalidrawEditorContainer,
|
|
524
524
|
children: /* @__PURE__ */ jsx(ExcalidrawErrorState, {
|
|
525
525
|
message: dataError,
|
|
526
|
-
onRetry: retry
|
|
526
|
+
onRetry: retryable ? retry : void 0
|
|
527
527
|
})
|
|
528
528
|
});
|
|
529
529
|
return /* @__PURE__ */ jsxs("div", {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:root{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--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:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--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}._6anxnj0{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._6anxnj1{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--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}._6anxnj2{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._6anxnj3{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._6anxnj0,[data-theme=dark] ._6anxnj0,.dark._6anxnj0,[data-theme=dark]._6anxnj0,.dark ._6anxnj1,[data-theme=dark] ._6anxnj1,.dark._6anxnj1,[data-theme=dark]._6anxnj1,.dark ._6anxnj2,[data-theme=dark] ._6anxnj2,.dark._6anxnj2,[data-theme=dark]._6anxnj2,.dark ._6anxnj3,[data-theme=dark] ._6anxnj3,.dark._6anxnj3,[data-theme=dark]._6anxnj3{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--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:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--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 _1c3wdzl5{0%{background-position:200% 0,0 0}to{background-position:-200% 0,0 0}}._1c3wdzl0,._1c3wdzl1{aspect-ratio:16/9;width:100%;margin:var(--rc-flow-block) 0;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background-color:var(--rc-bg);position:relative;overflow:hidden}._1c3wdzl1:focus-within{border-color:var(--rc-accent)}._1c3wdzl2{aspect-ratio:16/9;width:100%;margin:var(--rc-flow-block) 0;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background-color:var(--rc-bg);background-image:radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:16px 16px;position:relative;overflow:hidden}._1c3wdzl3{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl4{width:20px;height:20px;color:var(--rc-text-quaternary)}._1c3wdzl6{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);background-image:linear-gradient(90deg, transparent, color-mix(in oklab, var(--rc-text) 4%, transparent), transparent), radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:200% 100%,16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;animation:1.6s linear infinite _1c3wdzl5;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl7{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);background-image:radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl8{font-family:var(--rc-font-family-sans);color:var(--rc-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl9{width:20px;height:20px;color:var(--rc-alert-caution)}._1c3wdzla{-webkit-appearance:none;appearance:none;border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text-secondary);font:inherit;cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12px}._1c3wdzla:hover{color:var(--rc-text);background-color:var(--rc-fill-tertiary)}._1c3wdzl1 .Island,.excalidraw--view-mode .dropdown-menu-button{display:none!important}._1c3wdzlb._1c3wdzlb{background:var(--rc-bg);border:none;border-radius:0;flex-direction:column;gap:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden;transform:none}._1c3wdzlb._1c3wdzlb[data-open],._1c3wdzlb._1c3wdzlb[data-closed]{animation:none}._1c3wdzlc{border-bottom:1px solid var(--rc-border);flex-shrink:0;align-items:center;gap:10px;height:48px;padding:0 12px 0 16px;display:flex}._1c3wdzld{flex:1;align-items:center;gap:4px;display:flex}._1c3wdzle{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background-color .3s}._1c3wdzlf{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:600;line-height:1}._1c3wdzlg{font-size:var(--rc-font-size-sm);color:var(--rc-text-secondary);border-left:1px solid var(--rc-border);padding-left:10px;line-height:1}._1c3wdzlh{align-items:center;gap:2px;margin-left:auto;display:flex}._1c3wdzli{width:32px;height:32px;color:var(--rc-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;transition:background .15s,color .15s;display:flex}._1c3wdzli:hover{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--rc-text)}._1c3wdzlj{color:var(--rc-text-secondary);cursor:pointer;font-size:var(--rc-font-size-sm);white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;transition:background .15s,color .15s;display:inline-flex}._1c3wdzlj:hover{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--rc-text)}._1c3wdzlj:disabled{opacity:.4;pointer-events:none}._1c3wdzlj svg{flex-shrink:0;width:14px;height:14px}._1c3wdzlk{background:var(--rc-border);flex-shrink:0;width:1px;height:16px;margin:0 4px}._1c3wdzll{background:color-mix(in srgb, currentColor 4%, transparent);color:var(--rc-text-secondary);font-size:var(--rc-font-size-xs);font-family:var(--rc-font-mono);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:4px;outline:none;align-items:center;width:200px;max-width:50%;padding:3px 10px;transition:background .15s,border-color .15s;display:inline-flex;overflow:hidden}._1c3wdzll:hover{background:color-mix(in srgb, currentColor 8%, transparent)}._1c3wdzll:focus{border-color:var(--rc-accent);background:color-mix(in srgb, currentColor 6%, transparent)}._1c3wdzlm{flex:1;min-height:0;position:relative}._1c3wdzln{justify-content:flex-end;gap:8px;padding:0 1.5rem 1.25rem;display:flex}._1c3wdzlo{border:1px solid var(--rc-border);font-size:var(--rc-font-size-sm);cursor:pointer;color:var(--rc-text);background:0 0;border-radius:6px;padding:6px 14px;font-weight:500;transition:background .15s}._1c3wdzlo:hover{background:color-mix(in srgb, currentColor 6%, transparent)}._1c3wdzlp{border:1px solid var(--rc-accent);background:var(--rc-accent);font-size:var(--rc-font-size-sm);cursor:pointer;color:#fff;border-radius:6px;padding:6px 14px;font-weight:500;transition:opacity .15s}._1c3wdzlp:hover{opacity:.9}._1c3wdzlq{border:1px solid var(--rc-alert-caution);font-size:var(--rc-font-size-sm);cursor:pointer;color:var(--rc-alert-caution);background:0 0;border-radius:6px;padding:6px 14px;font-weight:500;transition:background .15s}._1c3wdzlq:hover{background:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}._1c3wdzlr{z-index:1;cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzlr:focus-visible{box-shadow:inset 0 0 0 2px var(--rc-accent)}._1c3wdzls{background:color-mix(in oklab, var(--rc-bg) 92%, transparent);border:1px solid var(--rc-border);color:var(--rc-text-secondary);font-family:var(--rc-font-family-sans);opacity:0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s;display:inline-flex;position:absolute;top:8px;right:8px}._1c3wdzlr:hover ._1c3wdzls{opacity:1}._1c3wdzlr:focus-visible ._1c3wdzls{opacity:1}@media (prefers-reduced-motion:reduce){._1c3wdzl6{animation:none}}@media (pointer:coarse){._1c3wdzls{opacity:1}}._1capwnq0{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}._1capwnq0[data-mode=inline]{touch-action:pan-x pan-y}._1capwnq0[data-panning=true]{cursor:grabbing}._1capwnq1{width:100%;height:100%;display:block}._1capwnq2{z-index:1;border:1px solid var(--rc-border);background-color:color-mix(in oklab, var(--rc-bg) 92%, transparent);color:var(--rc-text-tertiary);font-family:var(--rc-font-family-sans);opacity:0;border-radius:8px;align-items:center;gap:2px;padding:3px;font-size:12px;transition:opacity .15s;display:flex;position:absolute;bottom:8px;right:8px}._1capwnq0:hover ._1capwnq2,._1capwnq0:focus-within ._1capwnq2{opacity:1}._1capwnq3{-webkit-appearance:none;appearance:none;width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}._1capwnq3:hover{background-color:var(--rc-fill);color:var(--rc-text)}._1capwnq4{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}._1capwnq5{background-color:var(--rc-border);width:1px;height:16px;margin:0 2px}._1capwnq3 svg{width:16px;height:16px}@media (pointer:coarse){._1capwnq0[data-mode=inline]{cursor:default}._1capwnq2{opacity:1}._1capwnq3{width:36px;height:36px}}
|
|
1
|
+
:root{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--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:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--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}._6anxnj0{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._6anxnj1{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--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}._6anxnj2{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._6anxnj3{--rc-text:#171717;--rc-text-secondary:#404040;--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:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--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:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto 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, "PingFang SC", "Noto Sans SC", 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:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._6anxnj0,[data-theme=dark] ._6anxnj0,.dark._6anxnj0,[data-theme=dark]._6anxnj0,.dark ._6anxnj1,[data-theme=dark] ._6anxnj1,.dark._6anxnj1,[data-theme=dark]._6anxnj1,.dark ._6anxnj2,[data-theme=dark] ._6anxnj2,.dark._6anxnj2,[data-theme=dark]._6anxnj2,.dark ._6anxnj3,[data-theme=dark] ._6anxnj3,.dark._6anxnj3,[data-theme=dark]._6anxnj3{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--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:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--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 _1c3wdzl5{0%{background-position:200% 0,0 0}to{background-position:-200% 0,0 0}}._1c3wdzl0,._1c3wdzl1{aspect-ratio:16/9;width:100%;margin:var(--rc-flow-block) 0;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background-color:var(--rc-bg);position:relative;overflow:hidden}._1c3wdzl1:focus-within{border-color:var(--rc-accent)}._1c3wdzl2{aspect-ratio:16/9;width:100%;margin:var(--rc-flow-block) 0;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background-color:var(--rc-bg);background-image:radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:16px 16px;position:relative;overflow:hidden}._1c3wdzl3{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl4{width:20px;height:20px;color:var(--rc-text-quaternary)}._1c3wdzl6{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);background-image:linear-gradient(90deg, transparent, color-mix(in oklab, var(--rc-text) 4%, transparent), transparent), radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:200% 100%,16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;animation:1.6s linear infinite _1c3wdzl5;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl7{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);background-image:radial-gradient(var(--rc-border) 1px, transparent 1px);background-size:16px 16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl8{font-family:var(--rc-font-family-sans);color:var(--rc-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzl9{width:20px;height:20px;color:var(--rc-alert-caution)}._1c3wdzla{-webkit-appearance:none;appearance:none;border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text-secondary);font:inherit;cursor:pointer;border-radius:6px;padding:4px 12px;font-size:12px}._1c3wdzla:hover{color:var(--rc-text);background-color:var(--rc-fill-tertiary)}._1c3wdzlb._1c3wdzlb{background:var(--rc-bg);border:none;border-radius:0;flex-direction:column;gap:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden;transform:none}._1c3wdzlb._1c3wdzlb[data-open],._1c3wdzlb._1c3wdzlb[data-closed]{animation:none}._1c3wdzlc{border-bottom:1px solid var(--rc-border);flex-shrink:0;align-items:center;gap:10px;height:48px;padding:0 12px 0 16px;display:flex}._1c3wdzld{flex:1;align-items:center;gap:4px;display:flex}._1c3wdzle{border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:background-color .3s}._1c3wdzlf{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:600;line-height:1}._1c3wdzlg{font-size:var(--rc-font-size-sm);color:var(--rc-text-secondary);border-left:1px solid var(--rc-border);padding-left:10px;line-height:1}._1c3wdzlh{align-items:center;gap:2px;margin-left:auto;display:flex}._1c3wdzli{width:32px;height:32px;color:var(--rc-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-left:8px;transition:background .15s,color .15s;display:flex}._1c3wdzli:hover{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--rc-text)}._1c3wdzlj{color:var(--rc-text-secondary);cursor:pointer;font-size:var(--rc-font-size-sm);white-space:nowrap;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 10px;transition:background .15s,color .15s;display:inline-flex}._1c3wdzlj:hover{background:color-mix(in srgb, currentColor 8%, transparent);color:var(--rc-text)}._1c3wdzlj:disabled{opacity:.4;pointer-events:none}._1c3wdzlj svg{flex-shrink:0;width:14px;height:14px}._1c3wdzlk{background:var(--rc-border);flex-shrink:0;width:1px;height:16px;margin:0 4px}._1c3wdzll{background:color-mix(in srgb, currentColor 4%, transparent);color:var(--rc-text-secondary);font-size:var(--rc-font-size-xs);font-family:var(--rc-font-mono);text-overflow:ellipsis;white-space:nowrap;border:1px solid #0000;border-radius:4px;outline:none;align-items:center;width:200px;max-width:50%;padding:3px 10px;transition:background .15s,border-color .15s;display:inline-flex;overflow:hidden}._1c3wdzll:hover{background:color-mix(in srgb, currentColor 8%, transparent)}._1c3wdzll:focus{border-color:var(--rc-accent);background:color-mix(in srgb, currentColor 6%, transparent)}._1c3wdzlm{flex:1;min-height:0;position:relative}._1c3wdzln{justify-content:flex-end;gap:8px;padding:0 1.5rem 1.25rem;display:flex}._1c3wdzlo{border:1px solid var(--rc-border);font-size:var(--rc-font-size-sm);cursor:pointer;color:var(--rc-text);background:0 0;border-radius:6px;padding:6px 14px;font-weight:500;transition:background .15s}._1c3wdzlo:hover{background:color-mix(in srgb, currentColor 6%, transparent)}._1c3wdzlp{border:1px solid var(--rc-accent);background:var(--rc-accent);font-size:var(--rc-font-size-sm);cursor:pointer;color:#fff;border-radius:6px;padding:6px 14px;font-weight:500;transition:opacity .15s}._1c3wdzlp:hover{opacity:.9}._1c3wdzlq{border:1px solid var(--rc-alert-caution);font-size:var(--rc-font-size-sm);cursor:pointer;color:var(--rc-alert-caution);background:0 0;border-radius:6px;padding:6px 14px;font-weight:500;transition:background .15s}._1c3wdzlq:hover{background:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}._1c3wdzlr{z-index:1;cursor:pointer;background:0 0;border:none;outline:none;padding:0;position:absolute;top:0;bottom:0;left:0;right:0}._1c3wdzlr:focus-visible{box-shadow:inset 0 0 0 2px var(--rc-accent)}._1c3wdzls{background:color-mix(in oklab, var(--rc-bg) 92%, transparent);border:1px solid var(--rc-border);color:var(--rc-text-secondary);font-family:var(--rc-font-family-sans);opacity:0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:opacity .15s;display:inline-flex;position:absolute;top:8px;right:8px}._1c3wdzlr:hover ._1c3wdzls{opacity:1}._1c3wdzlr:focus-visible ._1c3wdzls{opacity:1}@media (prefers-reduced-motion:reduce){._1c3wdzl6{animation:none}}@media (pointer:coarse){._1c3wdzls{opacity:1}}._1capwnq0{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;width:100%;height:100%;position:relative;overflow:hidden}._1capwnq0[data-mode=inline]{touch-action:pan-x pan-y}._1capwnq0[data-panning=true]{cursor:grabbing}._1capwnq1{width:100%;height:100%;display:block}._1capwnq2{z-index:1;border:1px solid var(--rc-border);background-color:color-mix(in oklab, var(--rc-bg) 92%, transparent);color:var(--rc-text-tertiary);font-family:var(--rc-font-family-sans);opacity:0;border-radius:8px;align-items:center;gap:2px;padding:3px;font-size:12px;transition:opacity .15s;display:flex;position:absolute;bottom:8px;right:8px}._1capwnq0:hover ._1capwnq2,._1capwnq0:focus-within ._1capwnq2{opacity:1}._1capwnq3{-webkit-appearance:none;appearance:none;width:28px;height:28px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s;display:inline-flex}._1capwnq3:hover{background-color:var(--rc-fill);color:var(--rc-text)}._1capwnq4{text-align:center;font-variant-numeric:tabular-nums;min-width:44px}._1capwnq5{background-color:var(--rc-border);width:1px;height:16px;margin:0 2px}._1capwnq3 svg{width:16px;height:16px}@media (pointer:coarse){._1capwnq0[data-mode=inline]{cursor:default}._1capwnq2{opacity:1}._1capwnq3{width:36px;height:36px}}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/scene/Scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgB/C,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,eAAe,EAMhB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,WAAW,CA0B7E;AAED,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/scene/Scene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAgB/C,OAAO,KAAK,EACV,WAAW,EAEX,iBAAiB,EACjB,eAAe,EAMhB,MAAM,SAAS,CAAC;AAIjB,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,WAAW,CA0B7E;AAED,eAAO,MAAM,iBAAiB,mCAAmC,CAAC;AAmBlE,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAa7C,CAAC;AAGH,UAAU,UAAW,SAAQ,iBAAiB;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAuBhC,CAAC"}
|
package/dist/static.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER } from "./transformer-
|
|
2
|
-
import { L as ExcalidrawConfigProvider, R as useExcalidrawConfig, j as excalidrawFullscreenPopup } from "./useExcalidrawFont-
|
|
1
|
+
import { a as ExcalidrawNode, c as ExcalidrawDisplayRenderer, i as $isExcalidrawNode, n as ExcalidrawExpandShell, o as EXCALIDRAW_NODE_KEY, r as $createExcalidrawNode, s as ExcalidrawSSRRenderer, t as EXCALIDRAW_BLOCK_TRANSFORMER } from "./transformer-CbJAOPsv.js";
|
|
2
|
+
import { L as ExcalidrawConfigProvider, R as useExcalidrawConfig, j as excalidrawFullscreenPopup } from "./useExcalidrawFont-D_lnfKV8.js";
|
|
3
3
|
export { $createExcalidrawNode, $isExcalidrawNode, EXCALIDRAW_BLOCK_TRANSFORMER, EXCALIDRAW_NODE_KEY, ExcalidrawConfigProvider, ExcalidrawDisplayRenderer, ExcalidrawDisplayRenderer as ExcalidrawRenderer, ExcalidrawDisplayRenderer as ExcalidrawStaticRenderer, ExcalidrawExpandShell, ExcalidrawNode, ExcalidrawSSRRenderer, excalidrawFullscreenPopup, useExcalidrawConfig };
|
package/dist/styles.css.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAE1D,eAAO,MAAM,yBAAyB,QAOpC,CAAC;AAOH,eAAO,MAAM,qBAAqB,QAGhC,CAAC;AAeH,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,QAI9B,CAAC;AAOH,eAAO,MAAM,iBAAiB,QAW5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAI9B,CAAC;AAEH,eAAO,MAAM,eAAe,QAc1B,CAAC;
|
|
1
|
+
{"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../src/styles.css.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAE1D,eAAO,MAAM,yBAAyB,QAOpC,CAAC;AAOH,eAAO,MAAM,qBAAqB,QAGhC,CAAC;AAeH,eAAO,MAAM,oBAAoB,QAAoB,CAAC;AAEtD,eAAO,MAAM,mBAAmB,QAI9B,CAAC;AAOH,eAAO,MAAM,iBAAiB,QAW5B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,eAAe,QAG1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAI9B,CAAC;AAEH,eAAO,MAAM,eAAe,QAc1B,CAAC;AAEH,QAAA,MAAM,0BAA0B,QAAY,CAAC;AA2B7C,OAAO,EAAE,0BAA0B,IAAI,yBAAyB,EAAE,CAAC;AAInE,eAAO,MAAM,sBAAsB,QAQjC,CAAC;AAEH,eAAO,MAAM,2BAA2B,QAKtC,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAM9B,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAKhC,CAAC;AAEH,eAAO,MAAM,oBAAoB,QAM/B,CAAC;AAEH,eAAO,MAAM,uBAAuB,QAKlC,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAkBhC,CAAC;AAIH,eAAO,MAAM,sBAAsB,QAuBjC,CAAC;AAQH,eAAO,MAAM,sBAAsB,QAMjC,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAwBjC,CAAC;AAIH,eAAO,MAAM,sBAAsB,QAIjC,CAAC;AAIH,eAAO,MAAM,wBAAwB,QAKnC,CAAC;AAEH,eAAO,MAAM,oBAAoB,QAa/B,CAAC;AAEH,eAAO,MAAM,2BAA2B,QAatC,CAAC;AAEH,eAAO,MAAM,0BAA0B,QAarC,CAAC;AAIH,eAAO,MAAM,qBAAqB,QAYhC,CAAC;AAEH,eAAO,MAAM,mBAAmB,QA2B9B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as excalidrawDialogCanvas, D as excalidrawDialogTitle, F as excalidrawStaticContainer, N as excalidrawHeaderClose, P as excalidrawPlaceholder, T as excalidrawDialogHeaderTitle, c as DARK_SCENE_FILTER, d as computeSceneBounds, f as ExcalidrawEmptyState, h as ExcalidrawPlaceholderState, m as ExcalidrawLoadingState, n as useExcalidrawData, o as countElements, p as ExcalidrawErrorState, s as toScene, t as useExcalidrawFont, u as SceneContent, w as excalidrawDialogHeader } from "./useExcalidrawFont-
|
|
1
|
+
import { C as excalidrawDialogCanvas, D as excalidrawDialogTitle, F as excalidrawStaticContainer, N as excalidrawHeaderClose, P as excalidrawPlaceholder, T as excalidrawDialogHeaderTitle, c as DARK_SCENE_FILTER, d as computeSceneBounds, f as ExcalidrawEmptyState, h as ExcalidrawPlaceholderState, m as ExcalidrawLoadingState, n as useExcalidrawData, o as countElements, p as ExcalidrawErrorState, s as toScene, t as useExcalidrawFont, u as SceneContent, w as excalidrawDialogHeader } from "./useExcalidrawFont-D_lnfKV8.js";
|
|
2
2
|
import { Component, Suspense, lazy, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { createRendererDecoration, useColorScheme } from "@haklex/rich-editor/static";
|
|
@@ -324,7 +324,7 @@ function _defineProperty(e, r, t) {
|
|
|
324
324
|
var ExcalidrawDisplayRenderer_exports = /* @__PURE__ */ __exportAll({ ExcalidrawDisplayRenderer: () => ExcalidrawDisplayRenderer });
|
|
325
325
|
var ExcalidrawDisplayRenderer = ({ onExpand, snapshot }) => {
|
|
326
326
|
const theme = useColorScheme();
|
|
327
|
-
const { snapshot: data, loading, error, retry } = useExcalidrawData(snapshot);
|
|
327
|
+
const { snapshot: data, loading, error, retry, retryable } = useExcalidrawData(snapshot);
|
|
328
328
|
const scene = useMemo(() => toScene(data), [data]);
|
|
329
329
|
useExcalidrawFont();
|
|
330
330
|
const handleExpand = useCallback((target) => {
|
|
@@ -348,7 +348,7 @@ var ExcalidrawDisplayRenderer = ({ onExpand, snapshot }) => {
|
|
|
348
348
|
if (loading) body = /* @__PURE__ */ jsx(ExcalidrawLoadingState, {});
|
|
349
349
|
else if (error) body = /* @__PURE__ */ jsx(ExcalidrawErrorState, {
|
|
350
350
|
message: error,
|
|
351
|
-
onRetry: retry
|
|
351
|
+
onRetry: retryable ? retry : void 0
|
|
352
352
|
});
|
|
353
353
|
else if (!data) body = /* @__PURE__ */ jsx(ExcalidrawEmptyState, {});
|
|
354
354
|
else if (!scene) body = /* @__PURE__ */ jsx(ExcalidrawErrorState, { message: "Invalid whiteboard data" });
|
|
@@ -8,6 +8,8 @@ export interface ExcalidrawDataState {
|
|
|
8
8
|
loading: boolean;
|
|
9
9
|
/** Re-fetches a remote or incremental snapshot; a no-op for inline data. */
|
|
10
10
|
retry: () => void;
|
|
11
|
+
/** True only when `error` came from a fetch, so `retry` can change the outcome. */
|
|
12
|
+
retryable: boolean;
|
|
11
13
|
snapshot: Record<string, any> | undefined;
|
|
12
14
|
}
|
|
13
15
|
export declare function useExcalidrawData(data: string | ExcalidrawSnapshot | null): ExcalidrawDataState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExcalidrawData.d.ts","sourceRoot":"","sources":["../src/useExcalidrawData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3C;
|
|
1
|
+
{"version":3,"file":"useExcalidrawData.d.ts","sourceRoot":"","sources":["../src/useExcalidrawData.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,mFAAmF;IACnF,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;CAC3C;AA6DD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,IAAI,GAAG,mBAAmB,CA+E/F"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createContext, memo, use, useCallback, useEffect, useMemo, useState } from "react";
|
|
1
|
+
import { createContext, memo, use, useCallback, useEffect, useId, useMemo, useState } from "react";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { PenLine, TriangleAlert } from "lucide-react";
|
|
4
4
|
import { RoughGenerator } from "roughjs/bin/generator";
|
|
@@ -243,11 +243,10 @@ function computeSceneBounds(elements) {
|
|
|
243
243
|
};
|
|
244
244
|
}
|
|
245
245
|
var DARK_SCENE_FILTER = "invert(93%) hue-rotate(180deg)";
|
|
246
|
-
var
|
|
247
|
-
var
|
|
248
|
-
var CounterInvertFilter = () => /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("filter", {
|
|
246
|
+
var SceneDarkContext = createContext(null);
|
|
247
|
+
var CounterInvertFilter = ({ id }) => /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("filter", {
|
|
249
248
|
colorInterpolationFilters: "sRGB",
|
|
250
|
-
id
|
|
249
|
+
id,
|
|
251
250
|
children: [/* @__PURE__ */ jsx("feColorMatrix", {
|
|
252
251
|
type: "hueRotate",
|
|
253
252
|
values: "180"
|
|
@@ -258,9 +257,10 @@ var CounterInvertFilter = () => /* @__PURE__ */ jsx("defs", { children: /* @__PU
|
|
|
258
257
|
}) });
|
|
259
258
|
var SceneContent = memo(({ dark = false, files, scene }) => {
|
|
260
259
|
const elements = scene.elements.filter((el) => !el.isDeleted);
|
|
260
|
+
const filterId = `rich-excalidraw-counter-invert-${useId().replaceAll(/[^\w-]/g, "")}`;
|
|
261
261
|
return /* @__PURE__ */ jsxs(SceneDarkContext, {
|
|
262
|
-
value: dark,
|
|
263
|
-
children: [dark && /* @__PURE__ */ jsx(CounterInvertFilter, {}), elements.map((el) => /* @__PURE__ */ jsx(ElementGroup, {
|
|
262
|
+
value: dark ? { filterId } : null,
|
|
263
|
+
children: [dark && /* @__PURE__ */ jsx(CounterInvertFilter, { id: filterId }), elements.map((el) => /* @__PURE__ */ jsx(ElementGroup, {
|
|
264
264
|
el,
|
|
265
265
|
files
|
|
266
266
|
}, el.id))]
|
|
@@ -543,7 +543,7 @@ var TextRender = ({ el }) => {
|
|
|
543
543
|
});
|
|
544
544
|
};
|
|
545
545
|
var ImageRender = ({ el, files }) => {
|
|
546
|
-
const
|
|
546
|
+
const darkFilter = use(SceneDarkContext);
|
|
547
547
|
const file = el.fileId && files ? files[el.fileId] : void 0;
|
|
548
548
|
if (!file?.dataURL) return /* @__PURE__ */ jsx(ImagePlaceholder, {
|
|
549
549
|
el,
|
|
@@ -552,7 +552,7 @@ var ImageRender = ({ el, files }) => {
|
|
|
552
552
|
const scaleX = el.scale?.[0] ?? 1;
|
|
553
553
|
const scaleY = el.scale?.[1] ?? 1;
|
|
554
554
|
return /* @__PURE__ */ jsx("image", {
|
|
555
|
-
filter:
|
|
555
|
+
filter: darkFilter ? `url(#${darkFilter.filterId})` : void 0,
|
|
556
556
|
height: el.height,
|
|
557
557
|
href: file.dataURL,
|
|
558
558
|
preserveAspectRatio: "none",
|
|
@@ -704,8 +704,12 @@ function typedToParsed(typed, apiUrl) {
|
|
|
704
704
|
}
|
|
705
705
|
}
|
|
706
706
|
function stringToParsed(data, apiUrl) {
|
|
707
|
+
if (!data.trim()) return { type: "empty" };
|
|
707
708
|
const typed = parseSnapshot(data);
|
|
708
|
-
if (!typed) return {
|
|
709
|
+
if (!typed) return {
|
|
710
|
+
type: "error",
|
|
711
|
+
error: "Unrecognized snapshot format"
|
|
712
|
+
};
|
|
709
713
|
return typedToParsed(typed, apiUrl);
|
|
710
714
|
}
|
|
711
715
|
function useExcalidrawData(data) {
|
|
@@ -755,13 +759,15 @@ function useExcalidrawData(data) {
|
|
|
755
759
|
snapshot: parsed.snapshot,
|
|
756
760
|
loading: false,
|
|
757
761
|
error: "",
|
|
758
|
-
retry
|
|
762
|
+
retry,
|
|
763
|
+
retryable: false
|
|
759
764
|
};
|
|
760
765
|
if (parsed.type === "remote" || parsed.type === "incremental") return {
|
|
761
766
|
snapshot: remoteSnapshot,
|
|
762
767
|
loading,
|
|
763
768
|
error,
|
|
764
769
|
retry,
|
|
770
|
+
retryable: Boolean(error),
|
|
765
771
|
baseRef: parsed.refLine,
|
|
766
772
|
baseData
|
|
767
773
|
};
|
|
@@ -769,13 +775,15 @@ function useExcalidrawData(data) {
|
|
|
769
775
|
snapshot: void 0,
|
|
770
776
|
loading: false,
|
|
771
777
|
error: parsed.error,
|
|
772
|
-
retry
|
|
778
|
+
retry,
|
|
779
|
+
retryable: false
|
|
773
780
|
};
|
|
774
781
|
return {
|
|
775
782
|
snapshot: void 0,
|
|
776
783
|
loading: false,
|
|
777
784
|
error: "",
|
|
778
|
-
retry
|
|
785
|
+
retry,
|
|
786
|
+
retryable: false
|
|
779
787
|
};
|
|
780
788
|
}
|
|
781
789
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haklex/rich-ext-excalidraw",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.2",
|
|
4
4
|
"description": "Excalidraw whiteboard extension",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"dist"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@haklex/rich-headless": "0.50.
|
|
28
|
+
"@haklex/rich-headless": "0.50.2",
|
|
29
29
|
"jsondiffpatch": "^0.7.6",
|
|
30
30
|
"roughjs": "^4.6.6"
|
|
31
31
|
},
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@vanilla-extract/css": "^1.21.3",
|
|
38
38
|
"@vanilla-extract/vite-plugin": "^5.2.6",
|
|
39
39
|
"lexical": "^0.52.0",
|
|
40
|
-
"lucide-react": "^1.
|
|
40
|
+
"lucide-react": "^1.59.0",
|
|
41
41
|
"react": "^19.3.1",
|
|
42
42
|
"react-dom": "^19.3.1",
|
|
43
43
|
"typescript": "^7.0.2",
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@excalidraw/excalidraw": ">=0.18.0",
|
|
49
|
-
"@haklex/rich-editor": "^0.50.
|
|
50
|
-
"@haklex/rich-editor-ui": "^0.50.
|
|
51
|
-
"@haklex/rich-style-token": "^0.50.
|
|
49
|
+
"@haklex/rich-editor": "^0.50.2",
|
|
50
|
+
"@haklex/rich-editor-ui": "^0.50.2",
|
|
51
|
+
"@haklex/rich-style-token": "^0.50.2",
|
|
52
52
|
"@lexical/react": "^0.52.0",
|
|
53
53
|
"lexical": "^0.52.0",
|
|
54
54
|
"lucide-react": "^1.0.0",
|