@haklex/rich-renderer-katex 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"KaTeXEditDecorator.d.ts","sourceRoot":"","sources":["../src/KaTeXEditDecorator.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C,UAAU,uBAAuB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,uBAAuB,2CA6XzB"}
1
+ {"version":3,"file":"KaTeXEditDecorator.d.ts","sourceRoot":"","sources":["../src/KaTeXEditDecorator.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,UAAU,uBAAuB;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,GACT,EAAE,uBAAuB,2CA4YzB"}
@@ -0,0 +1,13 @@
1
+ export type EditorHistoryShortcut = 'redo' | 'undo';
2
+ export interface EditorHistoryShortcutEvent {
3
+ altKey?: boolean;
4
+ ctrlKey: boolean;
5
+ key: string;
6
+ metaKey: boolean;
7
+ shiftKey: boolean;
8
+ }
9
+ export interface EditorHistoryShortcutOptions {
10
+ isDirty?: boolean;
11
+ }
12
+ export declare function getEditorHistoryShortcut(event: EditorHistoryShortcutEvent, options?: EditorHistoryShortcutOptions): EditorHistoryShortcut | null;
13
+ //# sourceMappingURL=history-shortcuts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-shortcuts.d.ts","sourceRoot":"","sources":["../src/history-shortcuts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,0BAA0B,EACjC,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,GAAG,IAAI,CAgB9B"}
package/dist/index.mjs CHANGED
@@ -3,7 +3,7 @@ import { KaTeXRenderer, createRendererDecoration } from "@haklex/rich-editor/ren
3
3
  import { createElement, useCallback, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { ActionBar, ActionButton, AnimatedTabs, Popover, PopoverPanel, PopoverTrigger } from "@haklex/rich-editor-ui";
5
5
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
6
- import { $getNodeByKey } from "lexical";
6
+ import { $getNodeByKey, REDO_COMMAND, UNDO_COMMAND } from "lexical";
7
7
  import { Check, Copy, RotateCcw, Search, Terminal, Trash2 } from "lucide-react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
9
  //#region src/styles.css.ts
@@ -57,6 +57,17 @@ var bodyScrollArea = "mkenhua";
57
57
  var footer = "mkenhuw";
58
58
  var charCount = "mkenhux";
59
59
  //#endregion
60
+ //#region src/history-shortcuts.ts
61
+ function getEditorHistoryShortcut(event, options = {}) {
62
+ if (options.isDirty) return null;
63
+ if (event.altKey) return null;
64
+ if (!event.metaKey && !event.ctrlKey) return null;
65
+ const key = event.key.toLowerCase();
66
+ if (key === "z") return event.shiftKey ? "redo" : "undo";
67
+ if (key === "y" && event.ctrlKey && !event.metaKey && !event.shiftKey) return "redo";
68
+ return null;
69
+ }
70
+ //#endregion
60
71
  //#region src/snippets.ts
61
72
  var CURSOR_TOKEN = "__cursor__";
62
73
  var katexSnippets = [
@@ -280,6 +291,18 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
280
291
  cancel,
281
292
  displayMode
282
293
  ]);
294
+ const handlePanelKeyDown = useCallback((e) => {
295
+ const shortcut = getEditorHistoryShortcut(e, { isDirty: value !== equation || snippetQuery !== "" });
296
+ if (!shortcut) return;
297
+ e.preventDefault();
298
+ e.stopPropagation();
299
+ editor.dispatchCommand(shortcut === "undo" ? UNDO_COMMAND : REDO_COMMAND, void 0);
300
+ }, [
301
+ editor,
302
+ equation,
303
+ snippetQuery,
304
+ value
305
+ ]);
283
306
  if (!editable) return children;
284
307
  return /* @__PURE__ */ jsxs(Popover, {
285
308
  open,
@@ -299,6 +322,7 @@ function KaTeXEditDecorator({ nodeKey, equation, displayMode, autoOpenOnMount, c
299
322
  initialFocus: inputRef,
300
323
  side: "bottom",
301
324
  sideOffset: 8,
325
+ onKeyDown: handlePanelKeyDown,
302
326
  children: [
303
327
  /* @__PURE__ */ jsxs("div", {
304
328
  className: `${header} ${semanticClassNames.header}`,
@@ -1,2 +1,2 @@
1
- .mkenhu0{cursor:pointer;border-radius:var(--rc-radius-sm);transition:background-color .15s}.mkenhu0:hover{background-color:var(--rc-accent-light)}.mkenhu1{width:min(420px,90vw);box-shadow:var(--rc-shadow-modal);font-family:var(--rc-font-family);padding:0;overflow:hidden}.mkenhu2{border-bottom:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhu3{align-items:center;gap:8px;display:flex}.mkenhu4{border-radius:var(--rc-radius-sm);background-color:var(--rc-accent-light);width:20px;height:20px;color:var(--rc-accent);justify-content:center;align-items:center;display:flex}.mkenhu5{font-weight:600;font-size:var(--rc-font-size-md);color:var(--rc-text)}.mkenhu6{align-items:center;gap:4px;display:flex}.mkenhu7{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--rc-text-secondary);border-radius:var(--rc-radius-sm);background-color:var(--rc-bg-secondary);padding:1px 6px;font-weight:500}.mkenhu8{-webkit-appearance:none;appearance:none;color:var(--rc-text-secondary);cursor:pointer;border-radius:var(--rc-radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .15s,background-color .15s;display:flex}.mkenhu8:hover{color:var(--rc-alert-caution);background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}.mkenhu9{padding:0 16px}.mkenhua{flex-shrink:0;max-height:320px;overflow:hidden auto}.mkenhub{flex-direction:column;gap:12px;padding:12px;display:flex}.mkenhuc{flex-direction:column;display:flex}.mkenhud{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--rc-text-secondary);margin-bottom:6px;padding-left:2px;font-weight:500}.mkenhue{position:relative}.mkenhuf{width:100%;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 30%, transparent);color:var(--rc-text);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);resize:none;box-sizing:border-box;outline:none;padding:10px 56px 10px 12px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.mkenhuf::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent)}.mkenhuf:focus{border-color:color-mix(in srgb, var(--rc-accent) 50%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 25%, transparent)}.mkenhug{gap:2px;display:flex;position:absolute;top:6px;right:6px}.mkenhuh{border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);padding:var(--rc-space-md);background-color:var(--rc-bg);justify-content:center;align-items:center;min-height:60px;display:flex;overflow-x:auto}.mkenhui{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent);font-size:var(--rc-font-size-md)}.mkenhuj{position:relative}.mkenhuk{color:color-mix(in srgb, var(--rc-text-secondary) 70%, transparent);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.mkenhul{border-radius:var(--rc-radius-md);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 24%, transparent);width:100%;height:34px;color:var(--rc-text);box-sizing:border-box;font-size:var(--rc-font-size-sm);outline:none;padding:0 12px 0 32px}.mkenhul::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 55%, transparent)}.mkenhul:focus{border-color:color-mix(in srgb, var(--rc-accent) 45%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 18%, transparent)}.mkenhum{flex-direction:column;gap:12px;display:flex}.mkenhun{flex-direction:column;gap:6px;display:flex}.mkenhuo{font-size:var(--rc-font-size-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--rc-text-secondary);padding-left:2px;font-weight:600}.mkenhup{flex-direction:column;gap:6px;display:flex}.mkenhuq{text-align:left;border:1px solid color-mix(in srgb, var(--rc-border) 55%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 18%, transparent);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.mkenhuq:hover{border-color:color-mix(in srgb, var(--rc-accent) 30%, var(--rc-border));background-color:color-mix(in srgb, var(--rc-accent-light) 30%, var(--rc-bg-secondary));transform:translateY(-1px)}.mkenhur{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mkenhus{font-size:var(--rc-font-size-sm);color:var(--rc-text);font-weight:600}.mkenhut{font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);color:var(--rc-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mkenhuu{border-radius:var(--rc-radius-sm);background-color:var(--rc-bg);min-width:72px;min-height:32px;color:var(--rc-text);flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.mkenhuv{color:var(--rc-text-secondary);font-size:var(--rc-font-size-sm);text-align:center;padding:var(--rc-space-lg) var(--rc-space-md);border:1px dashed color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 16%, transparent)}.mkenhuw{border-top:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 20%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhux{color:var(--rc-text-secondary);font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}
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}.x1ktjw0{--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}.x1ktjw1{--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}.x1ktjw2{--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 .x1ktjw0,[data-theme=dark] .x1ktjw0,.dark.x1ktjw0,[data-theme=dark].x1ktjw0,.dark .x1ktjw1,[data-theme=dark] .x1ktjw1,.dark.x1ktjw1,[data-theme=dark].x1ktjw1,.dark .x1ktjw2,[data-theme=dark] .x1ktjw2,.dark.x1ktjw2,[data-theme=dark].x1ktjw2{--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}.mkenhu0{cursor:pointer;border-radius:var(--rc-radius-sm);transition:background-color .15s}.mkenhu0:hover{background-color:var(--rc-accent-light)}.mkenhu1{width:min(420px,90vw);box-shadow:var(--rc-shadow-modal);font-family:var(--rc-font-family);padding:0;overflow:hidden}.mkenhu2{border-bottom:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhu3{align-items:center;gap:8px;display:flex}.mkenhu4{border-radius:var(--rc-radius-sm);background-color:var(--rc-accent-light);width:20px;height:20px;color:var(--rc-accent);justify-content:center;align-items:center;display:flex}.mkenhu5{font-weight:600;font-size:var(--rc-font-size-md);color:var(--rc-text)}.mkenhu6{align-items:center;gap:4px;display:flex}.mkenhu7{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.04em;color:var(--rc-text-secondary);border-radius:var(--rc-radius-sm);background-color:var(--rc-bg-secondary);padding:1px 6px;font-weight:500}.mkenhu8{-webkit-appearance:none;appearance:none;color:var(--rc-text-secondary);cursor:pointer;border-radius:var(--rc-radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:color .15s,background-color .15s;display:flex}.mkenhu8:hover{color:var(--rc-alert-caution);background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}.mkenhu9{padding:0 16px}.mkenhua{flex-shrink:0;max-height:320px;overflow:hidden auto}.mkenhub{flex-direction:column;gap:12px;padding:12px;display:flex}.mkenhuc{flex-direction:column;display:flex}.mkenhud{font-size:var(--rc-font-size-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--rc-text-secondary);margin-bottom:6px;padding-left:2px;font-weight:500}.mkenhue{position:relative}.mkenhuf{width:100%;font-family:var(--rc-font-mono);font-size:var(--rc-font-size-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 30%, transparent);color:var(--rc-text);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);resize:none;box-sizing:border-box;outline:none;padding:10px 56px 10px 12px;line-height:1.5;transition:border-color .15s,box-shadow .15s;display:block}.mkenhuf::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent)}.mkenhuf:focus{border-color:color-mix(in srgb, var(--rc-accent) 50%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 25%, transparent)}.mkenhug{gap:2px;display:flex;position:absolute;top:6px;right:6px}.mkenhuh{border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);padding:var(--rc-space-md);background-color:var(--rc-bg);justify-content:center;align-items:center;min-height:60px;display:flex;overflow-x:auto}.mkenhui{color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent);font-size:var(--rc-font-size-md)}.mkenhuj{position:relative}.mkenhuk{color:color-mix(in srgb, var(--rc-text-secondary) 70%, transparent);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.mkenhul{border-radius:var(--rc-radius-md);border:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 24%, transparent);width:100%;height:34px;color:var(--rc-text);box-sizing:border-box;font-size:var(--rc-font-size-sm);outline:none;padding:0 12px 0 32px}.mkenhul::placeholder{color:color-mix(in srgb, var(--rc-text-secondary) 55%, transparent)}.mkenhul:focus{border-color:color-mix(in srgb, var(--rc-accent) 45%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--rc-accent) 18%, transparent)}.mkenhum{flex-direction:column;gap:12px;display:flex}.mkenhun{flex-direction:column;gap:6px;display:flex}.mkenhuo{font-size:var(--rc-font-size-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--rc-text-secondary);padding-left:2px;font-weight:600}.mkenhup{flex-direction:column;gap:6px;display:flex}.mkenhuq{text-align:left;border:1px solid color-mix(in srgb, var(--rc-border) 55%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 18%, transparent);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 12px;transition:border-color .15s,background-color .15s,transform .15s;display:flex}.mkenhuq:hover{border-color:color-mix(in srgb, var(--rc-accent) 30%, var(--rc-border));background-color:color-mix(in srgb, var(--rc-accent-light) 30%, var(--rc-bg-secondary));transform:translateY(-1px)}.mkenhur{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.mkenhus{font-size:var(--rc-font-size-sm);color:var(--rc-text);font-weight:600}.mkenhut{font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);color:var(--rc-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mkenhuu{border-radius:var(--rc-radius-sm);background-color:var(--rc-bg);min-width:72px;min-height:32px;color:var(--rc-text);flex-shrink:0;justify-content:center;align-items:center;padding:0 8px;display:inline-flex;overflow:hidden}.mkenhuv{color:var(--rc-text-secondary);font-size:var(--rc-font-size-sm);text-align:center;padding:var(--rc-space-lg) var(--rc-space-md);border:1px dashed color-mix(in srgb, var(--rc-border) 60%, transparent);border-radius:var(--rc-radius-md);background-color:color-mix(in srgb, var(--rc-bg-secondary) 16%, transparent)}.mkenhuw{border-top:1px solid color-mix(in srgb, var(--rc-border) 60%, transparent);background-color:color-mix(in srgb, var(--rc-bg-secondary) 20%, transparent);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.mkenhux{color:var(--rc-text-secondary);font-size:var(--rc-font-size-2xs);font-family:var(--rc-font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-renderer-katex",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "KaTeX math renderer for haklex rich editor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,15 +36,15 @@
36
36
  "vite-plugin-dts": "^4.5.4"
37
37
  },
38
38
  "peerDependencies": {
39
- "@haklex/rich-editor": ">=0.3.0",
40
- "@haklex/rich-editor-ui": ">=0.3.0",
41
- "@haklex/rich-style-token": ">=0.3.0",
42
39
  "@lexical/react": "^0.44.0",
43
40
  "katex": ">=0.16.0",
44
41
  "lexical": "^0.44.0",
45
42
  "lucide-react": "^1.0.0",
46
43
  "react": ">=19",
47
- "react-dom": ">=19"
44
+ "react-dom": ">=19",
45
+ "@haklex/rich-editor": "0.5.0",
46
+ "@haklex/rich-editor-ui": "0.5.0",
47
+ "@haklex/rich-style-token": "0.5.0"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "katex": {