@haklex/rich-plugin-mention 0.0.81 → 0.0.83

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/index.mjs CHANGED
@@ -1,70 +1,32 @@
1
- import { LexicalTypeaheadMenuPlugin, MenuOption, useBasicTypeaheadTriggerMatch } from "@lexical/react/LexicalTypeaheadMenuPlugin";
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import { MenuOption, useBasicTypeaheadTriggerMatch, LexicalTypeaheadMenuPlugin } from "@lexical/react/LexicalTypeaheadMenuPlugin";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
2
6
  import { $createMentionNode } from "@haklex/rich-editor/nodes";
3
7
  import { PortalThemeWrapper } from "@haklex/rich-style-token";
4
8
  import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
5
9
  import { $createTextNode } from "lexical";
6
- import { useCallback, useMemo, useState } from "react";
10
+ import { useState, useMemo, useCallback } from "react";
7
11
  import { createPortal } from "react-dom";
8
- import { jsx, jsxs } from "react/jsx-runtime";
9
12
  import { platformMetaMap } from "@haklex/rich-renderer-mention";
10
- //#region \0@oxc-project+runtime@0.115.0/helpers/typeof.js
11
- function _typeof(o) {
12
- "@babel/helpers - typeof";
13
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
14
- return typeof o;
15
- } : function(o) {
16
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
17
- }, _typeof(o);
18
- }
19
- //#endregion
20
- //#region \0@oxc-project+runtime@0.115.0/helpers/toPrimitive.js
21
- function toPrimitive(t, r) {
22
- if ("object" != _typeof(t) || !t) return t;
23
- var e = t[Symbol.toPrimitive];
24
- if (void 0 !== e) {
25
- var i = e.call(t, r || "default");
26
- if ("object" != _typeof(i)) return i;
27
- throw new TypeError("@@toPrimitive must return a primitive value.");
28
- }
29
- return ("string" === r ? String : Number)(t);
30
- }
31
- //#endregion
32
- //#region \0@oxc-project+runtime@0.115.0/helpers/toPropertyKey.js
33
- function toPropertyKey(t) {
34
- var i = toPrimitive(t, "string");
35
- return "symbol" == _typeof(i) ? i : i + "";
13
+ class MentionMenuItem extends MenuOption {
14
+ constructor(options) {
15
+ super(options.platformKey + (options.handleText ?? ""));
16
+ __publicField(this, "type");
17
+ __publicField(this, "platformKey");
18
+ __publicField(this, "icon");
19
+ __publicField(this, "label");
20
+ __publicField(this, "description");
21
+ __publicField(this, "handleText");
22
+ this.type = options.type;
23
+ this.platformKey = options.platformKey;
24
+ this.icon = options.icon ?? "";
25
+ this.label = options.label;
26
+ this.description = options.description ?? "";
27
+ this.handleText = options.handleText ?? "";
28
+ }
36
29
  }
37
- //#endregion
38
- //#region \0@oxc-project+runtime@0.115.0/helpers/defineProperty.js
39
- function _defineProperty(e, r, t) {
40
- return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
41
- value: t,
42
- enumerable: !0,
43
- configurable: !0,
44
- writable: !0
45
- }) : e[r] = t, e;
46
- }
47
- //#endregion
48
- //#region src/MentionMenuItem.ts
49
- var MentionMenuItem = class extends MenuOption {
50
- constructor(options) {
51
- super(options.platformKey + (options.handleText ?? ""));
52
- _defineProperty(this, "type", void 0);
53
- _defineProperty(this, "platformKey", void 0);
54
- _defineProperty(this, "icon", void 0);
55
- _defineProperty(this, "label", void 0);
56
- _defineProperty(this, "description", void 0);
57
- _defineProperty(this, "handleText", void 0);
58
- this.type = options.type;
59
- this.platformKey = options.platformKey;
60
- this.icon = options.icon ?? "";
61
- this.label = options.label;
62
- this.description = options.description ?? "";
63
- this.handleText = options.handleText ?? "";
64
- }
65
- };
66
- //#endregion
67
- //#region src/styles.css.ts
68
30
  var mentionMenu = "_1t6e5is0";
69
31
  var mentionMenuItem = "_1t6e5is1";
70
32
  var mentionMenuItemIcon = "_1t6e5is2";
@@ -76,184 +38,181 @@ var phase2Container = "_1t6e5is7";
76
38
  var platformTag = "_1t6e5is8";
77
39
  var platformTagIcon = "_1t6e5is9";
78
40
  var phase2Hint = "_1t6e5isa";
79
- //#endregion
80
- //#region src/MentionMenuList.tsx
81
- function MentionMenuList({ options, selectedIndex, selectOptionAndCleanUp, setHighlightedIndex, phase }) {
82
- if (phase === 2) {
83
- const item = options[0];
84
- if (!item) return null;
85
- return /* @__PURE__ */ jsx("div", {
86
- className: mentionMenu,
87
- children: /* @__PURE__ */ jsxs("div", {
88
- className: phase2Container,
89
- children: [/* @__PURE__ */ jsxs("div", {
90
- className: platformTag,
91
- children: [/* @__PURE__ */ jsx("span", {
92
- className: platformTagIcon,
93
- children: item.icon
94
- }), item.description.split(" ")[0]]
95
- }), item.handleText ? /* @__PURE__ */ jsx("ul", {
96
- role: "listbox",
97
- style: {
98
- listStyle: "none",
99
- margin: 0,
100
- padding: 0
101
- },
102
- children: /* @__PURE__ */ jsx("li", {
103
- "aria-selected": selectedIndex === 0,
104
- className: mentionMenuItem,
105
- ref: item.setRefElement,
106
- role: "option",
107
- style: { margin: 0 },
108
- tabIndex: -1,
109
- onClick: () => selectOptionAndCleanUp(item),
110
- onMouseEnter: () => setHighlightedIndex(0),
111
- children: /* @__PURE__ */ jsxs("span", {
112
- className: mentionMenuItemText,
113
- children: [/* @__PURE__ */ jsxs("span", {
114
- className: mentionMenuItemTitle,
115
- children: ["@", item.handleText]
116
- }), /* @__PURE__ */ jsx("span", {
117
- className: mentionMenuItemDescription,
118
- children: "Enter to confirm"
119
- })]
120
- })
121
- })
122
- }) : /* @__PURE__ */ jsx("div", {
123
- className: phase2Hint,
124
- children: "Type username, Enter to confirm"
125
- })]
126
- })
127
- });
128
- }
129
- if (options.length === 0) return /* @__PURE__ */ jsx("div", {
130
- className: mentionMenu,
131
- children: /* @__PURE__ */ jsx("div", {
132
- className: mentionMenuHint,
133
- children: "No matching platforms"
134
- })
135
- });
136
- return /* @__PURE__ */ jsx("ul", {
137
- className: mentionMenu,
138
- role: "listbox",
139
- children: options.map((item, index) => /* @__PURE__ */ jsxs("li", {
140
- "aria-selected": index === selectedIndex,
141
- className: mentionMenuItem,
142
- ref: item.setRefElement,
143
- role: "option",
144
- tabIndex: -1,
145
- onClick: () => selectOptionAndCleanUp(item),
146
- onMouseEnter: () => setHighlightedIndex(index),
147
- children: [/* @__PURE__ */ jsx("span", {
148
- className: mentionMenuItemIcon,
149
- children: item.icon
150
- }), /* @__PURE__ */ jsxs("span", {
151
- className: mentionMenuItemText,
152
- children: [/* @__PURE__ */ jsx("span", {
153
- className: mentionMenuItemTitle,
154
- children: item.label
155
- }), /* @__PURE__ */ jsx("span", {
156
- className: mentionMenuItemDescription,
157
- children: item.description
158
- })]
159
- })]
160
- }, item.key))
161
- });
41
+ function MentionMenuList({
42
+ options,
43
+ selectedIndex,
44
+ selectOptionAndCleanUp,
45
+ setHighlightedIndex,
46
+ phase
47
+ }) {
48
+ if (phase === 2) {
49
+ const item = options[0];
50
+ if (!item) return null;
51
+ return /* @__PURE__ */ jsx("div", { className: mentionMenu, children: /* @__PURE__ */ jsxs("div", { className: phase2Container, children: [
52
+ /* @__PURE__ */ jsxs("div", { className: platformTag, children: [
53
+ /* @__PURE__ */ jsx("span", { className: platformTagIcon, children: item.icon }),
54
+ item.description.split(" — ")[0]
55
+ ] }),
56
+ item.handleText ? /* @__PURE__ */ jsx("ul", { role: "listbox", style: { listStyle: "none", margin: 0, padding: 0 }, children: /* @__PURE__ */ jsx(
57
+ "li",
58
+ {
59
+ "aria-selected": selectedIndex === 0,
60
+ className: mentionMenuItem,
61
+ ref: item.setRefElement,
62
+ role: "option",
63
+ style: { margin: 0 },
64
+ tabIndex: -1,
65
+ onClick: () => selectOptionAndCleanUp(item),
66
+ onMouseEnter: () => setHighlightedIndex(0),
67
+ children: /* @__PURE__ */ jsxs("span", { className: mentionMenuItemText, children: [
68
+ /* @__PURE__ */ jsxs("span", { className: mentionMenuItemTitle, children: [
69
+ "@",
70
+ item.handleText
71
+ ] }),
72
+ /* @__PURE__ */ jsx("span", { className: mentionMenuItemDescription, children: "Enter to confirm" })
73
+ ] })
74
+ }
75
+ ) }) : /* @__PURE__ */ jsx("div", { className: phase2Hint, children: "Type username, Enter to confirm" })
76
+ ] }) });
77
+ }
78
+ if (options.length === 0) {
79
+ return /* @__PURE__ */ jsx("div", { className: mentionMenu, children: /* @__PURE__ */ jsx("div", { className: mentionMenuHint, children: "No matching platforms" }) });
80
+ }
81
+ return /* @__PURE__ */ jsx("ul", { className: mentionMenu, role: "listbox", children: options.map((item, index) => /* @__PURE__ */ jsxs(
82
+ "li",
83
+ {
84
+ "aria-selected": index === selectedIndex,
85
+ className: mentionMenuItem,
86
+ ref: item.setRefElement,
87
+ role: "option",
88
+ tabIndex: -1,
89
+ onClick: () => selectOptionAndCleanUp(item),
90
+ onMouseEnter: () => setHighlightedIndex(index),
91
+ children: [
92
+ /* @__PURE__ */ jsx("span", { className: mentionMenuItemIcon, children: item.icon }),
93
+ /* @__PURE__ */ jsxs("span", { className: mentionMenuItemText, children: [
94
+ /* @__PURE__ */ jsx("span", { className: mentionMenuItemTitle, children: item.label }),
95
+ /* @__PURE__ */ jsx("span", { className: mentionMenuItemDescription, children: item.description })
96
+ ] })
97
+ ]
98
+ },
99
+ item.key
100
+ )) });
162
101
  }
163
- //#endregion
164
- //#region src/MentionPlatformRegistry.ts
165
- var builtinPlatforms = Object.entries(platformMetaMap).map(([key, meta]) => ({
166
- key,
167
- label: meta.label,
168
- icon: meta.icon,
169
- getUrl: meta.getUrl
170
- }));
102
+ const builtinPlatforms = Object.entries(platformMetaMap).map(
103
+ ([key, meta]) => ({
104
+ key,
105
+ label: meta.label,
106
+ icon: meta.icon,
107
+ getUrl: meta.getUrl
108
+ })
109
+ );
171
110
  function getAllPlatforms(extra) {
172
- if (!extra) return builtinPlatforms;
173
- const map = /* @__PURE__ */ new Map();
174
- for (const p of builtinPlatforms) map.set(p.key.toUpperCase(), p);
175
- for (const p of extra) map.set(p.key.toUpperCase(), {
176
- ...p,
177
- key: p.key.toUpperCase()
178
- });
179
- return [...map.values()];
111
+ if (!extra) return builtinPlatforms;
112
+ const map = /* @__PURE__ */ new Map();
113
+ for (const p of builtinPlatforms) map.set(p.key.toUpperCase(), p);
114
+ for (const p of extra) map.set(p.key.toUpperCase(), { ...p, key: p.key.toUpperCase() });
115
+ return [...map.values()];
180
116
  }
181
- //#endregion
182
- //#region src/MentionMenuPlugin.tsx
183
- var MENTION_PUNCTUATION = "\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'\"~=<>_;";
117
+ const MENTION_PUNCTUATION = `\\.,\\+\\*\\?\\$\\@\\|#{}\\(\\)\\^\\-\\[\\]\\\\/!%'"~=<>_;`;
184
118
  function parseQueryPhase(query, platforms) {
185
- const colonIdx = query.indexOf(":");
186
- if (colonIdx !== -1) {
187
- const platformKey = query.slice(0, colonIdx).toUpperCase();
188
- const handle = query.slice(colonIdx + 1);
189
- const platform = platforms.find((p) => p.key === platformKey);
190
- if (platform) return {
191
- phase: 2,
192
- options: [new MentionMenuItem({
193
- type: "confirm",
194
- platformKey,
195
- icon: platform.icon,
196
- label: handle ? `@${handle}` : "Type username...",
197
- description: `${platform.label} — Enter to confirm`,
198
- handleText: handle
199
- })]
200
- };
201
- }
202
- const lower = query.toLowerCase();
203
- return {
204
- phase: 1,
205
- options: platforms.filter((p) => !query || p.key.toLowerCase().includes(lower) || p.label.toLowerCase().includes(lower)).map((p) => new MentionMenuItem({
206
- type: "platform",
207
- platformKey: p.key,
208
- icon: p.icon,
209
- label: p.label,
210
- description: `@${p.key}:username`
211
- }))
212
- };
119
+ const colonIdx = query.indexOf(":");
120
+ if (colonIdx !== -1) {
121
+ const platformKey = query.slice(0, colonIdx).toUpperCase();
122
+ const handle = query.slice(colonIdx + 1);
123
+ const platform = platforms.find((p) => p.key === platformKey);
124
+ if (platform) {
125
+ const confirmItem = new MentionMenuItem({
126
+ type: "confirm",
127
+ platformKey,
128
+ icon: platform.icon,
129
+ label: handle ? `@${handle}` : "Type username...",
130
+ description: `${platform.label} Enter to confirm`,
131
+ handleText: handle
132
+ });
133
+ return { phase: 2, options: [confirmItem] };
134
+ }
135
+ }
136
+ const lower = query.toLowerCase();
137
+ const filtered = platforms.filter(
138
+ (p) => !query || p.key.toLowerCase().includes(lower) || p.label.toLowerCase().includes(lower)
139
+ ).map(
140
+ (p) => new MentionMenuItem({
141
+ type: "platform",
142
+ platformKey: p.key,
143
+ icon: p.icon,
144
+ label: p.label,
145
+ description: `@${p.key}:username`
146
+ })
147
+ );
148
+ return { phase: 1, options: filtered };
213
149
  }
214
150
  function MentionMenuPlugin({ extraPlatforms } = {}) {
215
- const [editor] = useLexicalComposerContext();
216
- const [queryString, setQueryString] = useState(null);
217
- const platforms = useMemo(() => getAllPlatforms(extraPlatforms), [extraPlatforms]);
218
- const { phase, options } = useMemo(() => parseQueryPhase(queryString ?? "", platforms), [queryString, platforms]);
219
- return /* @__PURE__ */ jsx(LexicalTypeaheadMenuPlugin, {
220
- options,
221
- triggerFn: useBasicTypeaheadTriggerMatch("@", {
222
- minLength: 0,
223
- punctuation: MENTION_PUNCTUATION
224
- }),
225
- menuRenderFn: (anchorElementRef, { selectedIndex, selectOptionAndCleanUp, setHighlightedIndex }) => {
226
- if (!anchorElementRef.current) return null;
227
- if (phase === 1 && options.length === 0) return null;
228
- return createPortal(/* @__PURE__ */ jsx(PortalThemeWrapper, { children: /* @__PURE__ */ jsx(MentionMenuList, {
229
- options,
230
- phase,
231
- selectOptionAndCleanUp,
232
- selectedIndex,
233
- setHighlightedIndex
234
- }) }), anchorElementRef.current);
235
- },
236
- onQueryChange: setQueryString,
237
- onSelectOption: useCallback((option, textNodeContainingQuery, closeMenu) => {
238
- if (option.type === "platform") {
239
- if (textNodeContainingQuery) {
240
- const text = `@${option.platformKey}:`;
241
- const newTextNode = $createTextNode(text);
242
- textNodeContainingQuery.replace(newTextNode);
243
- newTextNode.select(text.length, text.length);
244
- }
245
- } else {
246
- const handle = option.handleText.trim();
247
- if (!handle) return;
248
- const mentionNode = $createMentionNode(option.platformKey, handle);
249
- if (textNodeContainingQuery) textNodeContainingQuery.replace(mentionNode);
250
- const spaceNode = $createTextNode(" ");
251
- mentionNode.insertAfter(spaceNode);
252
- spaceNode.select(0, 0);
253
- closeMenu();
254
- }
255
- }, [editor])
256
- });
151
+ const [editor] = useLexicalComposerContext();
152
+ const [queryString, setQueryString] = useState(null);
153
+ const platforms = useMemo(() => getAllPlatforms(extraPlatforms), [extraPlatforms]);
154
+ const { phase, options } = useMemo(
155
+ () => parseQueryPhase(queryString ?? "", platforms),
156
+ [queryString, platforms]
157
+ );
158
+ const checkForTriggerMatch = useBasicTypeaheadTriggerMatch("@", {
159
+ minLength: 0,
160
+ punctuation: MENTION_PUNCTUATION
161
+ });
162
+ const onSelectOption = useCallback(
163
+ (option, textNodeContainingQuery, closeMenu) => {
164
+ if (option.type === "platform") {
165
+ if (textNodeContainingQuery) {
166
+ const text = `@${option.platformKey}:`;
167
+ const newTextNode = $createTextNode(text);
168
+ textNodeContainingQuery.replace(newTextNode);
169
+ newTextNode.select(text.length, text.length);
170
+ }
171
+ } else {
172
+ const handle = option.handleText.trim();
173
+ if (!handle) return;
174
+ const mentionNode = $createMentionNode(option.platformKey, handle);
175
+ if (textNodeContainingQuery) {
176
+ textNodeContainingQuery.replace(mentionNode);
177
+ }
178
+ const spaceNode = $createTextNode(" ");
179
+ mentionNode.insertAfter(spaceNode);
180
+ spaceNode.select(0, 0);
181
+ closeMenu();
182
+ }
183
+ },
184
+ [editor]
185
+ );
186
+ return /* @__PURE__ */ jsx(
187
+ LexicalTypeaheadMenuPlugin,
188
+ {
189
+ options,
190
+ triggerFn: checkForTriggerMatch,
191
+ menuRenderFn: (anchorElementRef, { selectedIndex, selectOptionAndCleanUp, setHighlightedIndex }) => {
192
+ if (!anchorElementRef.current) return null;
193
+ if (phase === 1 && options.length === 0) return null;
194
+ return createPortal(
195
+ /* @__PURE__ */ jsx(PortalThemeWrapper, { children: /* @__PURE__ */ jsx(
196
+ MentionMenuList,
197
+ {
198
+ options,
199
+ phase,
200
+ selectOptionAndCleanUp,
201
+ selectedIndex,
202
+ setHighlightedIndex
203
+ }
204
+ ) }),
205
+ anchorElementRef.current
206
+ );
207
+ },
208
+ onQueryChange: setQueryString,
209
+ onSelectOption
210
+ }
211
+ );
257
212
  }
258
- //#endregion
259
- export { MentionMenuItem, MentionMenuPlugin, builtinPlatforms, getAllPlatforms };
213
+ export {
214
+ MentionMenuItem,
215
+ MentionMenuPlugin,
216
+ builtinPlatforms,
217
+ getAllPlatforms
218
+ };
@@ -1,2 +1 @@
1
- :root{--rc-text:#000;--rc-text-secondary:#27272a;--rc-text-tertiary:#71717a;--rc-text-quaternary:#a1a1aa;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f4f4f5;--rc-fill:#e8e8ec;--rc-fill-secondary:#eeeeef;--rc-fill-tertiary:#f4f4f6;--rc-fill-quaternary:#f9f9fa;--rc-border:#f4f4f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#3f3f46;--rc-code-bg:#f4f4f5;--rc-hr-border:#e4e4e7;--rc-quote-border:#2563eb;--rc-quote-bg:#eff6ff;--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-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{--rc-text:#fafafa;--rc-text-secondary:#a1a1aa;--rc-text-tertiary:#71717a;--rc-text-quaternary:#52525b;--rc-bg:#09090b;--rc-bg-secondary:#18181b;--rc-bg-tertiary:#27272a;--rc-fill:#2a2a2f;--rc-fill-secondary:#222226;--rc-fill-tertiary:#1b1b1f;--rc-fill-quaternary:#131316;--rc-border:#27272a;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#e4e4e7;--rc-code-bg:#27272a;--rc-hr-border:#27272a;--rc-quote-border:#60a5fa;--rc-quote-bg:#1e3a5f;--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-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}._16vg1w00{--rc-text:#000;--rc-text-secondary:#27272a;--rc-text-tertiary:#71717a;--rc-text-quaternary:#a1a1aa;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f4f4f5;--rc-fill:#e8e8ec;--rc-fill-secondary:#eeeeef;--rc-fill-tertiary:#f4f4f6;--rc-fill-quaternary:#f9f9fa;--rc-border:#f4f4f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#3f3f46;--rc-code-bg:#f4f4f5;--rc-hr-border:#e4e4e7;--rc-quote-border:#2563eb;--rc-quote-bg:#eff6ff;--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-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}._16vg1w01{--rc-text:#000;--rc-text-secondary:#27272a;--rc-text-tertiary:#71717a;--rc-text-quaternary:#a1a1aa;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f4f4f5;--rc-fill:#e8e8ec;--rc-fill-secondary:#eeeeef;--rc-fill-tertiary:#f4f4f6;--rc-fill-quaternary:#f9f9fa;--rc-border:#f4f4f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#3f3f46;--rc-code-bg:#f4f4f5;--rc-hr-border:#e4e4e7;--rc-quote-border:#2563eb;--rc-quote-bg:#eff6ff;--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-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}._16vg1w02{--rc-text:#000;--rc-text-secondary:#27272a;--rc-text-tertiary:#71717a;--rc-text-quaternary:#a1a1aa;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f4f4f5;--rc-fill:#e8e8ec;--rc-fill-secondary:#eeeeef;--rc-fill-tertiary:#f4f4f6;--rc-fill-quaternary:#f9f9fa;--rc-border:#f4f4f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#3f3f46;--rc-code-bg:#f4f4f5;--rc-hr-border:#e4e4e7;--rc-quote-border:#a1a1aa;--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-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 ._16vg1w00,[data-theme=dark] ._16vg1w00,.dark._16vg1w00,[data-theme=dark]._16vg1w00,.dark ._16vg1w01,[data-theme=dark] ._16vg1w01,.dark._16vg1w01,[data-theme=dark]._16vg1w01,.dark ._16vg1w02,[data-theme=dark] ._16vg1w02,.dark._16vg1w02,[data-theme=dark]._16vg1w02{--rc-text:#fafafa;--rc-text-secondary:#a1a1aa;--rc-text-tertiary:#71717a;--rc-text-quaternary:#52525b;--rc-bg:#09090b;--rc-bg-secondary:#18181b;--rc-bg-tertiary:#27272a;--rc-fill:#2a2a2f;--rc-fill-secondary:#222226;--rc-fill-tertiary:#1b1b1f;--rc-fill-quaternary:#131316;--rc-border:#27272a;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#e4e4e7;--rc-code-bg:#27272a;--rc-hr-border:#27272a;--rc-quote-border:#60a5fa;--rc-quote-bg:#1e3a5f;--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}._1t6e5is0{width:280px;max-height:300px;font-family:var(--rc-font-family);background:var(--rc-bg);border:1px solid var(--rc-border);box-shadow:var(--rc-shadow-menu);border-radius:10px;margin:0;padding:6px 0;list-style:none;position:absolute;top:0;left:0;overflow:hidden auto}._1t6e5is0::-webkit-scrollbar{width:6px}._1t6e5is0::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}._1t6e5is1{cursor:pointer;border-radius:8px;align-items:center;gap:10px;margin:0 6px;padding:6px 10px;transition:background .1s;display:flex}._1t6e5is1:hover,._1t6e5is1[aria-selected=true]{background:var(--rc-fill)}._1t6e5is2{background:var(--rc-bg-secondary);border:1px solid var(--rc-border);width:32px;height:32px;color:var(--rc-text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:flex}._1t6e5is3{flex-direction:column;gap:1px;min-width:0;display:flex}._1t6e5is4{color:var(--rc-text);font-size:14px;font-weight:500;line-height:1.3}._1t6e5is5{color:var(--rc-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}._1t6e5is6{color:var(--rc-text-secondary);-webkit-user-select:none;user-select:none;padding:8px 14px;font-size:12px}._1t6e5is7{margin:0 6px;padding:8px 10px}._1t6e5is8{background:var(--rc-bg-secondary);border:1px solid var(--rc-border);color:var(--rc-text);border-radius:6px;align-items:center;gap:5px;margin-bottom:6px;padding:3px 8px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}._1t6e5is9{align-items:center;font-size:14px;display:flex}._1t6e5isa{color:var(--rc-text-secondary);margin-top:2px;font-size:12px}._1t6e5isb{color:var(--rc-text);margin-top:4px;font-size:14px;font-weight:500}
2
- /*$vite$:1*/
1
+ :root{--rc-text: #000;--rc-text-secondary: #27272a;--rc-text-tertiary: #71717a;--rc-text-quaternary: #a1a1aa;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f4f4f5;--rc-fill: #e8e8ec;--rc-fill-secondary: #eeeeef;--rc-fill-tertiary: #f4f4f6;--rc-fill-quaternary: #f9f9fa;--rc-border: #f4f4f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #3f3f46;--rc-code-bg: #f4f4f5;--rc-hr-border: #e4e4e7;--rc-quote-border: #2563eb;--rc-quote-bg: #eff6ff;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--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-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{--rc-text: #fafafa;--rc-text-secondary: #a1a1aa;--rc-text-tertiary: #71717a;--rc-text-quaternary: #52525b;--rc-bg: #09090b;--rc-bg-secondary: #18181b;--rc-bg-tertiary: #27272a;--rc-fill: #2a2a2f;--rc-fill-secondary: #222226;--rc-fill-tertiary: #1b1b1f;--rc-fill-quaternary: #131316;--rc-border: #27272a;--rc-accent: #60a5fa;--rc-accent-light: #60a5fa20;--rc-link: #60a5fa;--rc-code-text: #e4e4e7;--rc-code-bg: #27272a;--rc-hr-border: #27272a;--rc-quote-border: #60a5fa;--rc-quote-bg: #1e3a5f;--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 rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.35);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.4);--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-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}._16vg1w00{--rc-text: #000;--rc-text-secondary: #27272a;--rc-text-tertiary: #71717a;--rc-text-quaternary: #a1a1aa;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f4f4f5;--rc-fill: #e8e8ec;--rc-fill-secondary: #eeeeef;--rc-fill-tertiary: #f4f4f6;--rc-fill-quaternary: #f9f9fa;--rc-border: #f4f4f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #3f3f46;--rc-code-bg: #f4f4f5;--rc-hr-border: #e4e4e7;--rc-quote-border: #2563eb;--rc-quote-bg: #eff6ff;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--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-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}._16vg1w01{--rc-text: #000;--rc-text-secondary: #27272a;--rc-text-tertiary: #71717a;--rc-text-quaternary: #a1a1aa;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f4f4f5;--rc-fill: #e8e8ec;--rc-fill-secondary: #eeeeef;--rc-fill-tertiary: #f4f4f6;--rc-fill-quaternary: #f9f9fa;--rc-border: #f4f4f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #3f3f46;--rc-code-bg: #f4f4f5;--rc-hr-border: #e4e4e7;--rc-quote-border: #2563eb;--rc-quote-bg: #eff6ff;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: 700px;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--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-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}._16vg1w02{--rc-text: #000;--rc-text-secondary: #27272a;--rc-text-tertiary: #71717a;--rc-text-quaternary: #a1a1aa;--rc-bg: #ffffff;--rc-bg-secondary: #fafafa;--rc-bg-tertiary: #f4f4f5;--rc-fill: #e8e8ec;--rc-fill-secondary: #eeeeef;--rc-fill-tertiary: #f4f4f6;--rc-fill-quaternary: #f9f9fa;--rc-border: #f4f4f5;--rc-accent: #2563eb;--rc-accent-light: #2563eb20;--rc-link: #2563eb;--rc-code-text: #3f3f46;--rc-code-bg: #f4f4f5;--rc-hr-border: #e4e4e7;--rc-quote-border: #a1a1aa;--rc-quote-bg: #fafafa;--rc-alert-info: #006bb7;--rc-alert-warning: #cc5500;--rc-alert-tip: #11cc00;--rc-alert-caution: #cc0011;--rc-alert-important: #5500cc;--rc-max-width: none;--rc-shadow-top-bar: 0 8px 30px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .06);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.08);--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-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 ._16vg1w00,[data-theme=dark] ._16vg1w00,.dark._16vg1w00,[data-theme=dark]._16vg1w00,.dark ._16vg1w01,[data-theme=dark] ._16vg1w01,.dark._16vg1w01,[data-theme=dark]._16vg1w01,.dark ._16vg1w02,[data-theme=dark] ._16vg1w02,.dark._16vg1w02,[data-theme=dark]._16vg1w02{--rc-text: #fafafa;--rc-text-secondary: #a1a1aa;--rc-text-tertiary: #71717a;--rc-text-quaternary: #52525b;--rc-bg: #09090b;--rc-bg-secondary: #18181b;--rc-bg-tertiary: #27272a;--rc-fill: #2a2a2f;--rc-fill-secondary: #222226;--rc-fill-tertiary: #1b1b1f;--rc-fill-quaternary: #131316;--rc-border: #27272a;--rc-accent: #60a5fa;--rc-accent-light: #60a5fa20;--rc-link: #60a5fa;--rc-code-text: #e4e4e7;--rc-code-bg: #27272a;--rc-hr-border: #27272a;--rc-quote-border: #60a5fa;--rc-quote-bg: #1e3a5f;--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 rgba(0, 0, 0, .45), 0 2px 8px rgba(0, 0, 0, .3);--rc-shadow-modal: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.35);--rc-shadow-menu: 0 1px 4px rgba(0,0,0,.25), 0 4px 16px rgba(0,0,0,.4)}._1t6e5is0{position:absolute;top:0;left:0;width:280px;max-height:300px;overflow-y:auto;overflow-x:hidden;font-family:var(--rc-font-family);background:var(--rc-bg);border:1px solid var(--rc-border);border-radius:10px;box-shadow:var(--rc-shadow-menu);padding:6px 0;list-style:none;margin:0}._1t6e5is0::-webkit-scrollbar{width:6px}._1t6e5is0::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}._1t6e5is1{display:flex;align-items:center;gap:10px;padding:6px 10px;margin:0 6px;border-radius:8px;cursor:pointer;transition:background .1s ease}._1t6e5is1:hover,._1t6e5is1[aria-selected=true]{background:var(--rc-fill)}._1t6e5is2{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;border-radius:6px;background:var(--rc-bg-secondary);border:1px solid var(--rc-border);color:var(--rc-text-secondary);line-height:1}._1t6e5is3{display:flex;flex-direction:column;min-width:0;gap:1px}._1t6e5is4{font-size:14px;font-weight:500;line-height:1.3;color:var(--rc-text)}._1t6e5is5{font-size:12px;line-height:1.3;color:var(--rc-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._1t6e5is6{padding:8px 14px;font-size:12px;color:var(--rc-text-secondary);user-select:none}._1t6e5is7{padding:8px 10px;margin:0 6px}._1t6e5is8{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.3;background:var(--rc-bg-secondary);border:1px solid var(--rc-border);color:var(--rc-text);margin-bottom:6px}._1t6e5is9{display:flex;align-items:center;font-size:14px}._1t6e5isa{font-size:12px;color:var(--rc-text-secondary);margin-top:2px}._1t6e5isb{font-size:14px;font-weight:500;color:var(--rc-text);margin-top:4px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haklex/rich-plugin-mention",
3
- "version": "0.0.81",
3
+ "version": "0.0.83",
4
4
  "description": "Mention typeahead plugin with platform selection",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,9 +21,9 @@
21
21
  "dist"
22
22
  ],
23
23
  "dependencies": {
24
- "@haklex/rich-editor": "0.0.81",
25
- "@haklex/rich-renderer-mention": "0.0.81",
26
- "@haklex/rich-style-token": "0.0.81"
24
+ "@haklex/rich-editor": "0.0.83",
25
+ "@haklex/rich-renderer-mention": "0.0.83",
26
+ "@haklex/rich-style-token": "0.0.83"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@lexical/react": "^0.41.0",