bridgerte 0.9.19 → 0.9.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,44 +1,44 @@
1
- var ar = Object.defineProperty;
2
- var sr = (e, t, n) => t in e ? ar(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var He = (e, t, n) => sr(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS as ir, isBridgeMessage as lr, BRIDGE_HEIGHT_CHANGE_THROTTLE_MS as cr, defaultBridgeEventTiming as dr } from "./bridge.js";
5
- import { B as Re, b as en, a as tn } from "./index-CuNKUHed.js";
6
- import { DecoratorNode as nn, $applyNodeReplacement as nt, $getRoot as F, $isElementNode as ie, $createParagraphNode as z, KEY_BACKSPACE_COMMAND as rn, COMMAND_PRIORITY_HIGH as G, KEY_DELETE_COMMAND as on, DELETE_CHARACTER_COMMAND as an, $getSelection as D, $isNodeSelection as ur, $isRangeSelection as H, TextNode as Y, $isParagraphNode as mr, $insertNodes as V, FORMAT_ELEMENT_COMMAND as gr, $createTextNode as Be, FORMAT_TEXT_COMMAND as hr, REDO_COMMAND as pr, UNDO_COMMAND as fr, OUTDENT_CONTENT_COMMAND as br, INDENT_CONTENT_COMMAND as yr, SKIP_SCROLL_INTO_VIEW_TAG as vr, $getNodeByKey as he, $setSelection as wr, SELECTION_CHANGE_COMMAND as sn, COMMAND_PRIORITY_LOW as j, KEY_ESCAPE_COMMAND as ln, KEY_ARROW_DOWN_COMMAND as Cr, KEY_ARROW_UP_COMMAND as _r, KEY_ENTER_COMMAND as kr, mergeRegister as cn, INSERT_PARAGRAPH_COMMAND as Er, INSERT_LINE_BREAK_COMMAND as xr, $isLineBreakNode as dn, $getNearestNodeFromDOMNode as Mr, CAN_UNDO_COMMAND as Tr, CAN_REDO_COMMAND as Lr, createEditor as Sr, CLEAR_HISTORY_COMMAND as Nr } from "lexical";
7
- import { $isHeadingNode as Pr, $isQuoteNode as un, $createQuoteNode as Ir, $createHeadingNode as Rr, registerRichText as Br, HeadingNode as Ar, QuoteNode as Dr } from "@lexical/rich-text";
8
- import { $isCodeNode as X, $createCodeNode as Or, $isCodeHighlightNode as Hr, $createCodeHighlightNode as $r, CodeNode as mn, CodeHighlightNode as Fr } from "@lexical/code";
9
- import { $isListNode as zr, ListNode as gn, INSERT_CHECK_LIST_COMMAND as Wr, INSERT_UNORDERED_LIST_COMMAND as Vr, INSERT_ORDERED_LIST_COMMAND as Ur, $isListItemNode as jr, registerList as Kr, registerCheckList as qr, ListItemNode as Gr } from "@lexical/list";
10
- import { $isTableSelection as hn, $findTableNode as Xr, $deleteTableColumnAtSelection as Yr, $deleteTableRowAtSelection as Jr, $insertTableColumnAtSelection as Qr, $insertTableRowAtSelection as Zr, INSERT_TABLE_COMMAND as eo, $findCellNode as to, TableNode as qe, $isTableRowNode as no, $isTableCellNode as ro, registerTablePlugin as oo, TableRowNode as ao, TableCellNode as so, setScrollableTablesActive as io } from "@lexical/table";
11
- import { $isLinkNode as Le, $toggleLink as pt, formatUrl as lo, $createLinkNode as co, registerAutoLink as uo, createLinkMatcherWithRegExp as ft, LinkNode as mo, AutoLinkNode as go } from "@lexical/link";
12
- import { registerHistory as ho, createEmptyHistoryState as po } from "@lexical/history";
13
- import { $generateNodesFromDOM as pn, $generateHtmlFromNodes as fo } from "@lexical/html";
14
- import { $getSelectionStyleValueForProperty as bo, $setBlocksType as $e, $patchStyleText as bt, $trimTextContentFromAnchor as yt } from "@lexical/selection";
15
- import { $getNearestNodeOfType as yo, $findMatchingParent as vo, $insertNodeToNearestRoot as fn } from "@lexical/utils";
16
- import { codeBlockLanguagePanel as Ge, isCommandStateForCommand as wo, resolveToolbarMenu as rt, defaultMenuSchema as Ae, tableHeaderMenuItems as Co } from "./native-spec.js";
17
- import { r as bn } from "./index-sbZNOcCB.js";
18
- import { computePosition as yn, platform as vn, offset as wn, flip as Cn, shift as _n, autoUpdate as _o } from "@floating-ui/dom";
19
- import { normalizeCodeLanguage as ko, getCodeLanguageOptions as Eo, ShikiTokenizer as vt, isCodeLanguageLoaded as kn, loadCodeLanguage as xo, loadCodeTheme as Mo, registerCodeHighlighting as To } from "@lexical/code-shiki";
20
- const wt = "bridgerte-media", En = "Loading", Ct = (e, t) => `${e}:${t}`, oe = (e) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : void 0, _t = (e) => typeof e == "number" && Number.isFinite(e) ? Math.min(Math.max(e, 0), 100) : void 0, Lo = (e) => e === 20 || e === 50 || e === 100, kt = (e) => Lo(e) ? e : void 0, Et = (e) => e === "center" || e === "right" ? e : void 0, So = (e) => e.status === "error" ? e.errorMessage ?? "媒体加载失败" : En, No = (e, t) => !t || e.status === void 0 || e.status === "success", Fe = (e, t, n) => {
1
+ var lr = Object.defineProperty;
2
+ var cr = (e, t, n) => t in e ? lr(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var $e = (e, t, n) => cr(e, typeof t != "symbol" ? t + "" : t, n);
4
+ import { BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS as dr, isBridgeMessage as ur, BRIDGE_HEIGHT_CHANGE_THROTTLE_MS as mr, defaultBridgeEventTiming as gr } from "./bridge.js";
5
+ import { B as Ae, b as tn, a as nn } from "./index-CuNKUHed.js";
6
+ import { DecoratorNode as rn, $applyNodeReplacement as rt, $getRoot as F, $isElementNode as ie, $createParagraphNode as z, KEY_BACKSPACE_COMMAND as on, COMMAND_PRIORITY_HIGH as G, KEY_DELETE_COMMAND as an, DELETE_CHARACTER_COMMAND as sn, $getSelection as D, $isNodeSelection as hr, $isRangeSelection as O, TextNode as Y, $isParagraphNode as pr, $insertNodes as W, FORMAT_ELEMENT_COMMAND as fr, $createTextNode as Be, FORMAT_TEXT_COMMAND as br, REDO_COMMAND as yr, UNDO_COMMAND as vr, OUTDENT_CONTENT_COMMAND as wr, INDENT_CONTENT_COMMAND as Cr, SKIP_SCROLL_INTO_VIEW_TAG as _r, $getNodeByKey as he, $setSelection as kr, SELECTION_CHANGE_COMMAND as ln, COMMAND_PRIORITY_LOW as j, KEY_ESCAPE_COMMAND as cn, KEY_ARROW_DOWN_COMMAND as Er, KEY_ARROW_UP_COMMAND as xr, KEY_ENTER_COMMAND as Mr, mergeRegister as dn, INSERT_PARAGRAPH_COMMAND as Tr, INSERT_LINE_BREAK_COMMAND as Lr, $isLineBreakNode as un, $getNearestNodeFromDOMNode as Sr, CAN_UNDO_COMMAND as Nr, CAN_REDO_COMMAND as Pr, createEditor as Ir, CLEAR_HISTORY_COMMAND as Rr } from "lexical";
7
+ import { $isHeadingNode as Ar, $isQuoteNode as mn, $createQuoteNode as Br, $createHeadingNode as Dr, registerRichText as Hr, HeadingNode as Or, QuoteNode as $r } from "@lexical/rich-text";
8
+ import { $isCodeNode as X, $createCodeNode as Fr, $isCodeHighlightNode as zr, $createCodeHighlightNode as Vr, CodeNode as gn, CodeHighlightNode as Wr } from "@lexical/code";
9
+ import { $isListNode as Ur, ListNode as hn, INSERT_CHECK_LIST_COMMAND as jr, INSERT_UNORDERED_LIST_COMMAND as Kr, INSERT_ORDERED_LIST_COMMAND as qr, $isListItemNode as Gr, registerList as Xr, registerCheckList as Yr, ListItemNode as Jr } from "@lexical/list";
10
+ import { $isTableSelection as pn, $findTableNode as Qr, $deleteTableColumnAtSelection as Zr, $deleteTableRowAtSelection as eo, $insertTableColumnAtSelection as to, $insertTableRowAtSelection as no, INSERT_TABLE_COMMAND as ro, $findCellNode as oo, TableNode as Ge, $isTableRowNode as ao, $isTableCellNode as so, registerTablePlugin as io, TableRowNode as lo, TableCellNode as co, setScrollableTablesActive as uo } from "@lexical/table";
11
+ import { $isLinkNode as Se, $toggleLink as ft, formatUrl as mo, $createLinkNode as go, registerAutoLink as ho, createLinkMatcherWithRegExp as bt, LinkNode as po, AutoLinkNode as fo } from "@lexical/link";
12
+ import { registerHistory as bo, createEmptyHistoryState as yo } from "@lexical/history";
13
+ import { $generateNodesFromDOM as fn, $generateHtmlFromNodes as vo } from "@lexical/html";
14
+ import { $getSelectionStyleValueForProperty as wo, $setBlocksType as Fe, $patchStyleText as yt, $trimTextContentFromAnchor as vt } from "@lexical/selection";
15
+ import { $getNearestNodeOfType as Co, $findMatchingParent as _o, $insertNodeToNearestRoot as bn } from "@lexical/utils";
16
+ import { codeBlockLanguagePanel as Xe, isCommandStateForCommand as ko, resolveToolbarMenu as ot, defaultMenuSchema as De, tableHeaderMenuItems as Eo } from "./native-spec.js";
17
+ import { r as yn } from "./index-sbZNOcCB.js";
18
+ import { computePosition as vn, platform as wn, offset as Cn, flip as _n, shift as kn, autoUpdate as xo } from "@floating-ui/dom";
19
+ import { normalizeCodeLanguage as Mo, getCodeLanguageOptions as To, ShikiTokenizer as wt, isCodeLanguageLoaded as En, loadCodeLanguage as Lo, loadCodeTheme as So, registerCodeHighlighting as No } from "@lexical/code-shiki";
20
+ const Ct = "bridgerte-media", xn = "Loading", _t = (e, t) => `${e}:${t}`, oe = (e) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : void 0, kt = (e) => typeof e == "number" && Number.isFinite(e) ? Math.min(Math.max(e, 0), 100) : void 0, Po = (e) => e === 20 || e === 50 || e === 100, Et = (e) => Po(e) ? e : void 0, xt = (e) => e === "center" || e === "right" ? e : void 0, Io = (e) => e.status === "error" ? e.errorMessage ?? "媒体加载失败" : xn, Ro = (e, t) => !t || e.status === void 0 || e.status === "success", ze = (e, t, n) => {
21
21
  n && e.setAttribute(t, n);
22
- }, xt = (e, t, n) => {
22
+ }, Mt = (e, t, n) => {
23
23
  n !== void 0 && e.setAttribute(t, String(n));
24
24
  };
25
- class le extends nn {
25
+ class le extends rn {
26
26
  constructor(n, r) {
27
27
  super(r);
28
- He(this, "__payload");
28
+ $e(this, "__payload");
29
29
  this.__payload = {
30
30
  ...n,
31
- assetId: n.assetId ?? Ct(n.mediaType, n.url),
31
+ assetId: n.assetId ?? _t(n.mediaType, n.url),
32
32
  width: oe(n.width),
33
33
  height: oe(n.height),
34
34
  duration: oe(n.duration),
35
- progress: _t(n.progress),
36
- displayWidthPercent: kt(n.displayWidthPercent),
37
- align: Et(n.align)
35
+ progress: kt(n.progress),
36
+ displayWidthPercent: Et(n.displayWidthPercent),
37
+ align: xt(n.align)
38
38
  }, this.__payload.displayWidthPercent === void 0 && delete this.__payload.displayWidthPercent, this.__payload.align === void 0 && delete this.__payload.align;
39
39
  }
40
40
  static getType() {
41
- return wt;
41
+ return Ct;
42
42
  }
43
43
  static clone(n) {
44
44
  return new le(n.__payload, n.__key);
@@ -57,11 +57,11 @@ class le extends nn {
57
57
  static importDOM() {
58
58
  return {
59
59
  img: () => ({
60
- conversion: Po,
60
+ conversion: Ao,
61
61
  priority: 1
62
62
  }),
63
63
  video: () => ({
64
- conversion: Io,
64
+ conversion: Bo,
65
65
  priority: 1
66
66
  })
67
67
  };
@@ -73,7 +73,7 @@ class le extends nn {
73
73
  return {
74
74
  ...super.exportJSON(),
75
75
  ...this.__payload,
76
- type: wt
76
+ type: Ct
77
77
  };
78
78
  }
79
79
  getTextContent() {
@@ -84,7 +84,7 @@ class le extends nn {
84
84
  }
85
85
  getAsset() {
86
86
  const n = this.__payload, r = {
87
- id: n.assetId ?? Ct(n.mediaType, n.url),
87
+ id: n.assetId ?? _t(n.mediaType, n.url),
88
88
  type: n.mediaType,
89
89
  url: n.url,
90
90
  status: n.status,
@@ -108,12 +108,12 @@ class le extends nn {
108
108
  width: oe(n.width ?? r.__payload.width),
109
109
  height: oe(n.height ?? r.__payload.height),
110
110
  duration: oe(n.duration ?? r.__payload.duration),
111
- progress: _t(n.progress ?? r.__payload.progress),
111
+ progress: kt(n.progress ?? r.__payload.progress),
112
112
  displayWidthPercent: Object.prototype.hasOwnProperty.call(
113
113
  n,
114
114
  "displayWidthPercent"
115
- ) ? kt(n.displayWidthPercent) : r.__payload.displayWidthPercent,
116
- align: Object.prototype.hasOwnProperty.call(n, "align") ? Et(n.align) : r.__payload.align
115
+ ) ? Et(n.displayWidthPercent) : r.__payload.displayWidthPercent,
116
+ align: Object.prototype.hasOwnProperty.call(n, "align") ? xt(n.align) : r.__payload.align
117
117
  }, r.__payload.displayWidthPercent === void 0 && delete r.__payload.displayWidthPercent, r.__payload.align === void 0 && delete r.__payload.align;
118
118
  }
119
119
  createMediaElement(n) {
@@ -133,19 +133,19 @@ class le extends nn {
133
133
  ), a.addEventListener("error", () => {
134
134
  o.dataset.loadState = "error";
135
135
  }, { once: !0 }));
136
- const l = No(r, n);
137
- if (r.mediaType === "image" ? (l && a.setAttribute("src", r.url), a.setAttribute("loading", "lazy"), Fe(a, "alt", r.alt ?? r.title)) : (l && a.setAttribute("src", r.url), a.setAttribute("controls", "true"), a.setAttribute("preload", "metadata"), Fe(a, "poster", r.poster)), Fe(a, "title", r.title), xt(a, "width", r.width), xt(a, "height", r.height), n) {
136
+ const l = Ro(r, n);
137
+ if (r.mediaType === "image" ? (l && a.setAttribute("src", r.url), a.setAttribute("loading", "lazy"), ze(a, "alt", r.alt ?? r.title)) : (l && a.setAttribute("src", r.url), a.setAttribute("controls", "true"), a.setAttribute("preload", "metadata"), ze(a, "poster", r.poster)), ze(a, "title", r.title), Mt(a, "width", r.width), Mt(a, "height", r.height), n) {
138
138
  const d = document.createElement("div"), i = document.createElement("span"), g = document.createElement("span");
139
- d.className = "bridgerte__media-placeholder", d.setAttribute("aria-hidden", "true"), i.className = "bridgerte__media-placeholder-icon", i.textContent = r.mediaType === "image" ? "IMG" : "VIDEO", g.className = "bridgerte__media-placeholder-text", g.textContent = So(r), d.append(i, g), o.append(d);
139
+ d.className = "bridgerte__media-placeholder", d.setAttribute("aria-hidden", "true"), i.className = "bridgerte__media-placeholder-icon", i.textContent = r.mediaType === "image" ? "IMG" : "VIDEO", g.className = "bridgerte__media-placeholder-text", g.textContent = Io(r), d.append(i, g), o.append(d);
140
140
  }
141
141
  if (o.append(a), r.status === "uploading" || r.status === "error") {
142
142
  const d = document.createElement("figcaption");
143
- d.className = "bridgerte__media-status", d.textContent = r.status === "error" ? r.errorMessage ?? "上传失败" : En, o.append(d);
143
+ d.className = "bridgerte__media-status", d.textContent = r.status === "error" ? r.errorMessage ?? "上传失败" : xn, o.append(d);
144
144
  }
145
145
  return o;
146
146
  }
147
147
  }
148
- const Po = (e) => {
148
+ const Ao = (e) => {
149
149
  const t = e instanceof HTMLImageElement ? e : null;
150
150
  return {
151
151
  /*
@@ -162,7 +162,7 @@ const Po = (e) => {
162
162
  status: "success"
163
163
  }) : null
164
164
  };
165
- }, Io = (e) => {
165
+ }, Bo = (e) => {
166
166
  const t = e instanceof HTMLVideoElement ? e : null;
167
167
  return {
168
168
  /*
@@ -178,7 +178,7 @@ const Po = (e) => {
178
178
  status: "success"
179
179
  }) : null
180
180
  };
181
- }, ce = (e) => nt(new le(e)), Ro = (e) => ce({
181
+ }, ce = (e) => rt(new le(e)), Do = (e) => ce({
182
182
  mediaType: "image",
183
183
  url: e.url,
184
184
  alt: e.alt,
@@ -189,7 +189,7 @@ const Po = (e) => {
189
189
  align: e.align,
190
190
  assetId: e.assetId,
191
191
  status: "success"
192
- }), Bo = (e) => ce({
192
+ }), Ho = (e) => ce({
193
193
  mediaType: "video",
194
194
  url: e.url,
195
195
  poster: e.poster,
@@ -200,9 +200,9 @@ const Po = (e) => {
200
200
  align: e.align,
201
201
  assetId: e.assetId,
202
202
  status: "success"
203
- }), xn = (e) => e instanceof le, ge = (e) => {
203
+ }), Mn = (e) => e instanceof le, ge = (e) => {
204
204
  const t = (n) => {
205
- if (xn(n) && n.getAsset().id === e) return n;
205
+ if (Mn(n) && n.getAsset().id === e) return n;
206
206
  if (!ie(n)) return null;
207
207
  for (const r of n.getChildren()) {
208
208
  const o = t(r);
@@ -211,29 +211,47 @@ const Po = (e) => {
211
211
  return null;
212
212
  };
213
213
  return t(F());
214
- }, Mn = {
214
+ }, Oo = ".bridgerte__table-cell", $o = "75px", Fo = "1px solid black", zo = "top", Vo = "start", Wo = /* @__PURE__ */ new Set([
215
+ "#f2f3f5",
216
+ "rgb(242,243,245)"
217
+ ]), Tn = (e) => e.trim().toLowerCase().replace(/\s+/g, " "), Uo = (e) => Tn(e).replace(/\s*,\s*/g, ","), ve = (e, t, n) => {
218
+ Tn(e.getPropertyValue(t)) === n && e.removeProperty(t);
219
+ }, jo = (e, t) => {
220
+ const n = Uo(t.getPropertyValue("background-color"));
221
+ (e.classList.contains("bridgerte__table-cell--header") || e.tagName.toLowerCase() === "th") && Wo.has(n) && t.removeProperty("background-color");
222
+ }, Ko = (e) => {
223
+ var t;
224
+ ((t = e.getAttribute("style")) == null ? void 0 : t.trim()) === "" && e.removeAttribute("style");
225
+ }, Ln = (e) => {
226
+ if (!e || !e.includes("bridgerte__table-cell")) return e;
227
+ const t = document.createElement("template");
228
+ return t.innerHTML = e, t.content.querySelectorAll(Oo).forEach((n) => {
229
+ const { style: r } = n;
230
+ ve(r, "border", Fo), ve(r, "vertical-align", zo), ve(r, "text-align", Vo), ve(r, "width", $o), jo(n, r), Ko(n);
231
+ }), t.innerHTML;
232
+ }, Sn = {
215
233
  root: {
216
234
  type: "root",
217
235
  version: 1,
218
236
  children: []
219
237
  }
220
238
  };
221
- function Xe(e = {}) {
239
+ function Ye(e = {}) {
222
240
  return {
223
241
  html: e.html ?? "",
224
- json: e.json ?? Mn,
242
+ json: e.json ?? Sn,
225
243
  plainText: e.plainText ?? "",
226
244
  assets: e.assets ?? [],
227
- version: e.version ?? Re
245
+ version: e.version ?? Ae
228
246
  };
229
247
  }
230
- const Ao = (e) => e.toJSON(), Do = (e) => {
248
+ const qo = (e) => e.toJSON(), Go = (e) => {
231
249
  var t;
232
250
  return ((t = e.root.children) == null ? void 0 : t.length) === 0;
233
- }, Oo = (e) => e.read(() => {
251
+ }, Xo = (e) => e.read(() => {
234
252
  const t = /* @__PURE__ */ new Map(), n = (r) => {
235
253
  ie(r) && r.getChildren().forEach((o) => {
236
- if (xn(o)) {
254
+ if (Mn(o)) {
237
255
  const a = o.getAsset();
238
256
  t.set(a.id, a);
239
257
  return;
@@ -242,20 +260,20 @@ const Ao = (e) => e.toJSON(), Do = (e) => {
242
260
  });
243
261
  };
244
262
  return n(F()), [...t.values()];
245
- }), Tn = (e, t) => {
246
- const n = t.read(() => fo(t)), r = e.read(() => F().getTextContent()), o = Oo(e);
263
+ }), Nn = (e, t) => {
264
+ const n = Ln(t.read(() => vo(t))), r = e.read(() => F().getTextContent()), o = Xo(e);
247
265
  return {
248
266
  html: n,
249
- json: Ao(e),
267
+ json: qo(e),
250
268
  plainText: r,
251
269
  assets: o,
252
- version: Re
270
+ version: Ae
253
271
  };
254
- }, Ho = (e, t) => {
255
- const n = Xe(t);
256
- return Ln(e, n), Tn(e.getEditorState(), e);
257
- }, Ln = (e, t) => {
258
- if (t.json !== Mn && !Do(t.json)) {
272
+ }, Yo = (e, t) => {
273
+ const n = Ye(t);
274
+ return Pn(e, n), Nn(e.getEditorState(), e);
275
+ }, Pn = (e, t) => {
276
+ if (t.json !== Sn && !Go(t.json)) {
259
277
  const o = t.json;
260
278
  e.setEditorState(e.parseEditorState(o));
261
279
  return;
@@ -270,15 +288,15 @@ const Ao = (e) => e.toJSON(), Do = (e) => {
270
288
  );
271
289
  return;
272
290
  }
273
- const r = new DOMParser().parseFromString(t.html, "text/html");
291
+ const r = new DOMParser().parseFromString(Ln(t.html), "text/html");
274
292
  e.update(
275
293
  () => {
276
- const o = F(), a = pn(e, r);
294
+ const o = F(), a = fn(e, r);
277
295
  o.clear(), o.append(...a);
278
296
  },
279
297
  { discrete: !0 }
280
298
  );
281
- }, $o = "bridgerte-divider", Sn = (e) => (e == null ? void 0 : e.getType()) === $o, Fo = (e, t, n) => {
299
+ }, Jo = "bridgerte-divider", In = (e) => (e == null ? void 0 : e.getType()) === Jo, Qo = (e, t, n) => {
282
300
  const r = F();
283
301
  if (r.getChildrenSize() === 0) {
284
302
  const o = z();
@@ -290,18 +308,18 @@ const Ao = (e) => e.toJSON(), Do = (e) => {
290
308
  return;
291
309
  }
292
310
  t == null || t.selectStart(), t || e == null || e.selectEnd();
293
- }, zo = (e, t) => {
311
+ }, Zo = (e, t) => {
294
312
  const n = e.getPreviousSibling(), r = e.getNextSibling();
295
- e.remove(), Fo(n, r, t);
296
- }, Wo = () => {
313
+ e.remove(), Qo(n, r, t);
314
+ }, ea = () => {
297
315
  const e = D();
298
- if (!ur(e)) return null;
316
+ if (!hr(e)) return null;
299
317
  const t = e.getNodes();
300
- return t.length === 1 && Sn(t[0]) ? t[0] : null;
301
- }, Vo = (e) => e.getKey() === "root" ? null : e.getTopLevelElement(), Uo = (e) => {
318
+ return t.length === 1 && In(t[0]) ? t[0] : null;
319
+ }, ta = (e) => e.getKey() === "root" ? null : e.getTopLevelElement(), na = (e) => {
302
320
  const t = D();
303
- if (!H(t) || !t.isCollapsed()) return null;
304
- const n = t.anchor, r = n.getNode(), o = Vo(r);
321
+ if (!O(t) || !t.isCollapsed()) return null;
322
+ const n = t.anchor, r = n.getNode(), o = ta(r);
305
323
  if (!o || !ie(o)) return null;
306
324
  if (ie(r)) {
307
325
  const l = r.isEmpty() && n.offset === 0, d = r === o && n.offset === 0, i = r === o && n.offset === o.getChildrenSize();
@@ -310,37 +328,37 @@ const Ao = (e) => e.toJSON(), Do = (e) => {
310
328
  if (!(r instanceof Y)) return null;
311
329
  const a = e ? o.getFirstDescendant() : o.getLastDescendant(), s = e ? 0 : r.getTextContentSize();
312
330
  return a === r && n.offset === s ? o : null;
313
- }, jo = (e) => {
314
- const t = Uo(e), n = e ? t == null ? void 0 : t.getPreviousSibling() : t == null ? void 0 : t.getNextSibling();
315
- return Sn(n) ? n : null;
316
- }, Ko = (e, t) => {
331
+ }, ra = (e) => {
332
+ const t = na(e), n = e ? t == null ? void 0 : t.getPreviousSibling() : t == null ? void 0 : t.getNextSibling();
333
+ return In(n) ? n : null;
334
+ }, oa = (e, t) => {
317
335
  const n = (o) => {
318
336
  if (t()) return !1;
319
- const a = Wo() ?? jo(o);
320
- return a ? (zo(a, o), !0) : !1;
337
+ const a = ea() ?? ra(o);
338
+ return a ? (Zo(a, o), !0) : !1;
321
339
  }, r = (o, a) => {
322
340
  const s = n(a);
323
341
  return s && o.preventDefault(), s;
324
342
  };
325
343
  return [
326
344
  e.registerCommand(
327
- rn,
345
+ on,
328
346
  (o) => r(o, !0),
329
347
  G
330
348
  ),
331
349
  e.registerCommand(
332
- on,
350
+ an,
333
351
  (o) => r(o, !1),
334
352
  G
335
353
  ),
336
354
  e.registerCommand(
337
- an,
355
+ sn,
338
356
  (o) => n(o),
339
357
  G
340
358
  )
341
359
  ];
342
360
  };
343
- class pe extends nn {
361
+ class pe extends rn {
344
362
  static getType() {
345
363
  return "bridgerte-divider";
346
364
  }
@@ -364,13 +382,13 @@ class pe extends nn {
364
382
  static importDOM() {
365
383
  return {
366
384
  hr: () => ({
367
- conversion: qo,
385
+ conversion: aa,
368
386
  priority: 0
369
387
  })
370
388
  };
371
389
  }
372
390
  static importJSON(t) {
373
- return ot().updateFromJSON(t);
391
+ return at().updateFromJSON(t);
374
392
  }
375
393
  exportJSON() {
376
394
  return {
@@ -386,50 +404,50 @@ class pe extends nn {
386
404
  return !1;
387
405
  }
388
406
  }
389
- const qo = (e) => ({
390
- node: ot()
391
- }), ot = () => nt(new pe()), Mt = "bridgerte-mention", at = "mention", Nn = (e) => e.label.startsWith("@") ? e.label : `@${e.label}`, Go = (e) => {
407
+ const aa = (e) => ({
408
+ node: at()
409
+ }), at = () => rt(new pe()), Tt = "bridgerte-mention", st = "mention", Rn = (e) => e.label.startsWith("@") ? e.label : `@${e.label}`, sa = (e) => {
392
410
  const t = document.createElement("span");
393
- return t.className = "bridgerte__mention", t.dataset.type = at, t.dataset.id = e.id, t.dataset.value = e.value, t.contentEditable = "false", t.textContent = Nn(e), e.description && (t.dataset.description = e.description), t;
411
+ return t.className = "bridgerte__mention", t.dataset.type = st, t.dataset.id = e.id, t.dataset.value = e.value, t.contentEditable = "false", t.textContent = Rn(e), e.description && (t.dataset.description = e.description), t;
394
412
  };
395
413
  class ye extends Y {
396
- constructor(n, r = Nn(n), o) {
414
+ constructor(n, r = Rn(n), o) {
397
415
  super(r, o);
398
- He(this, "__item");
416
+ $e(this, "__item");
399
417
  this.__item = n;
400
418
  }
401
419
  static getType() {
402
- return Mt;
420
+ return Tt;
403
421
  }
404
422
  static clone(n) {
405
423
  return new ye(n.__item, n.__text, n.__key);
406
424
  }
407
425
  createDOM(n) {
408
426
  const r = super.createDOM(n);
409
- return r.className = "bridgerte__mention", r.dataset.type = at, r.dataset.id = this.__item.id, r.dataset.value = this.__item.value, r.contentEditable = "false", this.__item.description && (r.dataset.description = this.__item.description), r;
427
+ return r.className = "bridgerte__mention", r.dataset.type = st, r.dataset.id = this.__item.id, r.dataset.value = this.__item.value, r.contentEditable = "false", this.__item.description && (r.dataset.description = this.__item.description), r;
410
428
  }
411
429
  updateDOM(n, r, o) {
412
430
  return super.updateDOM(n, r, o) ? !0 : (r.dataset.id = this.__item.id, r.dataset.value = this.__item.value, this.__item.description ? r.dataset.description = this.__item.description : delete r.dataset.description, !1);
413
431
  }
414
432
  exportDOM(n) {
415
- return { element: Go(this.__item) };
433
+ return { element: sa(this.__item) };
416
434
  }
417
435
  static importDOM() {
418
436
  return {
419
437
  span: () => ({
420
- conversion: Xo,
438
+ conversion: ia,
421
439
  priority: 2
422
440
  })
423
441
  };
424
442
  }
425
443
  static importJSON(n) {
426
- return st(n).updateFromJSON(n);
444
+ return it(n).updateFromJSON(n);
427
445
  }
428
446
  exportJSON() {
429
447
  return {
430
448
  ...super.exportJSON(),
431
449
  ...this.__item,
432
- type: Mt
450
+ type: Tt
433
451
  };
434
452
  }
435
453
  isTextEntity() {
@@ -442,33 +460,33 @@ class ye extends Y {
442
460
  return this.__item;
443
461
  }
444
462
  }
445
- const Xo = (e) => {
463
+ const ia = (e) => {
446
464
  var a;
447
465
  const t = e instanceof HTMLElement ? e : null;
448
- if (!t || t.dataset.type !== at)
466
+ if (!t || t.dataset.type !== st)
449
467
  return { node: null };
450
468
  const n = ((a = t.textContent) == null ? void 0 : a.replace(/^@/, "")) || t.dataset.value || "", r = t.dataset.id || t.dataset.value || n, o = t.dataset.value || r;
451
469
  return !n || !r || !o ? { node: null } : {
452
- node: st({
470
+ node: it({
453
471
  id: r,
454
472
  label: n,
455
473
  value: o,
456
474
  description: t.dataset.description
457
475
  })
458
476
  };
459
- }, st = (e) => nt(new ye(e).setMode("token")), Tt = (e) => e instanceof ye, Yo = "请输入内容", Jo = () => {
477
+ }, it = (e) => rt(new ye(e).setMode("token")), Lt = (e) => e instanceof ye, la = "请输入内容", ca = () => {
460
478
  const t = F().getChildren();
461
479
  if (t.length === 0) return !0;
462
480
  if (t.length > 1) return !1;
463
481
  const n = t[0];
464
- return mr(n) && n.getChildrenSize() === 0;
465
- }, Qo = ({
482
+ return pr(n) && n.getChildrenSize() === 0;
483
+ }, da = ({
466
484
  editor: e,
467
485
  contentElement: t
468
486
  }) => {
469
- const n = e.getEditorState().read(Jo);
487
+ const n = e.getEditorState().read(ca);
470
488
  t.dataset.empty = String(n);
471
- }, Zo = ({
489
+ }, ua = ({
472
490
  editor: e,
473
491
  contentElement: t,
474
492
  isReadonly: n
@@ -483,7 +501,7 @@ const Xo = (e) => {
483
501
  return t.addEventListener("pointerdown", r), () => {
484
502
  t.removeEventListener("pointerdown", r);
485
503
  };
486
- }, ea = [
504
+ }, ma = [
487
505
  { command: "format.bold", format: "bold" },
488
506
  { command: "format.italic", format: "italic" },
489
507
  { command: "format.underline", format: "underline" },
@@ -491,35 +509,35 @@ const Xo = (e) => {
491
509
  { command: "format.inlineCode", format: "code" },
492
510
  { command: "format.superscript", format: "superscript" },
493
511
  { command: "format.subscript", format: "subscript" }
494
- ], ta = [
512
+ ], ga = [
495
513
  { command: "format.color", property: "color" },
496
514
  { command: "format.backgroundColor", property: "background-color" },
497
515
  { command: "format.fontSize", property: "font-size" },
498
516
  { command: "format.fontFamily", property: "font-family" },
499
517
  { command: "format.lineHeight", property: "line-height" }
500
- ], na = [
518
+ ], ha = [
501
519
  { command: "list.ordered", listType: "ordered" },
502
520
  { command: "list.unordered", listType: "unordered" },
503
521
  { command: "list.todo", listType: "todo" }
504
- ], ra = [
522
+ ], pa = [
505
523
  "media.pickImage",
506
524
  "media.pickVideo"
507
- ], Pn = () => {
525
+ ], An = () => {
508
526
  const e = D();
509
- if (!H(e)) return null;
527
+ if (!O(e)) return null;
510
528
  const t = e.anchor.getNode();
511
529
  return t.getKey() === "root" ? t : t.getTopLevelElementOrThrow();
512
- }, oa = () => {
513
- const e = Pn();
530
+ }, fa = () => {
531
+ const e = An();
514
532
  if (!e) return null;
515
- if (Pr(e)) {
533
+ if (Ar(e)) {
516
534
  const t = Number(e.getTag().replace("h", ""));
517
535
  return {
518
536
  command: "block.heading",
519
537
  value: Number.isNaN(t) ? void 0 : t
520
538
  };
521
539
  }
522
- if (un(e))
540
+ if (mn(e))
523
541
  return {
524
542
  command: "block.quote"
525
543
  };
@@ -533,44 +551,44 @@ const Xo = (e) => {
533
551
  return {
534
552
  command: "block.paragraph"
535
553
  };
536
- }, aa = () => {
537
- const e = Pn();
554
+ }, ba = () => {
555
+ const e = An();
538
556
  if (!e || !("getFormatType" in e)) return;
539
557
  const t = e.getFormatType();
540
558
  return t === "" ? void 0 : t;
541
- }, sa = () => {
559
+ }, ya = () => {
542
560
  const e = D();
543
- if (!H(e)) return null;
544
- const t = e.anchor.getNode(), n = zr(t) ? t : yo(t, gn);
561
+ if (!O(e)) return null;
562
+ const t = e.anchor.getNode(), n = Ur(t) ? t : Co(t, hn);
545
563
  return n ? n.getListType() === "check" ? "todo" : n.getTag() === "ol" ? "ordered" : "unordered" : null;
546
- }, ia = (e) => {
564
+ }, va = (e) => {
547
565
  const t = D();
548
- if (!H(t)) return;
549
- const n = bo(t, e);
566
+ if (!O(t)) return;
567
+ const n = wo(t, e);
550
568
  return n === "" ? void 0 : n;
551
- }, la = () => {
569
+ }, wa = () => {
552
570
  const e = D();
553
- if (!H(e)) return !1;
571
+ if (!O(e)) return !1;
554
572
  const t = e.anchor.getNode(), n = t.getParent();
555
- return Le(t) || Le(n);
556
- }, ca = (e) => {
557
- const t = D(), n = H(t), r = oa(), o = sa(), a = aa(), s = la(), l = e.readonly || !n, d = ea.map((b) => ({
573
+ return Se(t) || Se(n);
574
+ }, Ca = (e) => {
575
+ const t = D(), n = O(t), r = fa(), o = ya(), a = ba(), s = wa(), l = e.readonly || !n, d = ma.map((b) => ({
558
576
  command: b.command,
559
577
  active: n && t.hasFormat(b.format),
560
578
  disabled: l
561
- })), i = ta.map((b) => {
562
- const T = ia(b.property);
579
+ })), i = ga.map((b) => {
580
+ const T = va(b.property);
563
581
  return {
564
582
  command: b.command,
565
583
  active: T !== void 0,
566
584
  disabled: l,
567
585
  value: T
568
586
  };
569
- }), g = na.map((b) => ({
587
+ }), g = ha.map((b) => ({
570
588
  command: b.command,
571
589
  active: o === b.listType,
572
590
  disabled: l
573
- })), v = ra.map((b) => ({
591
+ })), v = pa.map((b) => ({
574
592
  command: b,
575
593
  active: !1,
576
594
  disabled: e.readonly || !e.canUploadMedia
@@ -669,7 +687,7 @@ const Xo = (e) => {
669
687
  disabled: !1
670
688
  }
671
689
  ];
672
- }, da = (e, t) => e.length === t.length && e.every((n, r) => {
690
+ }, _a = (e, t) => e.length === t.length && e.every((n, r) => {
673
691
  const o = t[r];
674
692
  return o !== void 0 && n.command === o.command && n.active === o.active && n.disabled === o.disabled && n.value === o.value;
675
693
  }), K = (e, t, n, r) => {
@@ -679,14 +697,14 @@ const Xo = (e) => {
679
697
  } catch (a) {
680
698
  console.error("[BridgeRTE] onError callback failed.", a);
681
699
  }
682
- }, ua = (e, t) => {
700
+ }, ka = (e, t) => {
683
701
  var n;
684
702
  try {
685
703
  (n = e.onChange) == null || n.call(e, t);
686
704
  } catch (r) {
687
705
  K(e, "callback.onChange", "onChange callback failed.", r);
688
706
  }
689
- }, ma = (e, t) => {
707
+ }, Ea = (e, t) => {
690
708
  var n;
691
709
  try {
692
710
  (n = e.onContentChange) == null || n.call(e, t);
@@ -698,7 +716,7 @@ const Xo = (e) => {
698
716
  r
699
717
  );
700
718
  }
701
- }, ga = (e, t) => {
719
+ }, xa = (e, t) => {
702
720
  var n;
703
721
  try {
704
722
  (n = e.onCommandStateChange) == null || n.call(e, [...t]);
@@ -710,28 +728,28 @@ const Xo = (e) => {
710
728
  r
711
729
  );
712
730
  }
713
- }, ha = (e) => {
731
+ }, Ma = (e) => {
714
732
  var t;
715
733
  try {
716
734
  (t = e.onFocus) == null || t.call(e);
717
735
  } catch (n) {
718
736
  K(e, "callback.onFocus", "onFocus callback failed.", n);
719
737
  }
720
- }, pa = (e) => {
738
+ }, Ta = (e) => {
721
739
  var t;
722
740
  try {
723
741
  (t = e.onBlur) == null || t.call(e);
724
742
  } catch (n) {
725
743
  K(e, "callback.onBlur", "onBlur callback failed.", n);
726
744
  }
727
- }, fa = (e, t) => {
745
+ }, La = (e, t) => {
728
746
  var n;
729
747
  try {
730
748
  (n = e.onReady) == null || n.call(e, t);
731
749
  } catch (r) {
732
750
  K(e, "callback.onReady", "onReady callback failed.", r);
733
751
  }
734
- }, ba = ({
752
+ }, Sa = ({
735
753
  lexicalEditor: e,
736
754
  options: t,
737
755
  isDestroyed: n,
@@ -757,13 +775,13 @@ const Xo = (e) => {
757
775
  if (n()) return;
758
776
  const b = l;
759
777
  e.getEditorState().read(() => {
760
- l = ca({
778
+ l = Ca({
761
779
  canUndo: a,
762
780
  canRedo: s,
763
781
  readonly: o(),
764
782
  canUploadMedia: r()
765
783
  });
766
- }), v && !da(b, l) && (ga(t, l), i());
784
+ }), v && !_a(b, l) && (xa(t, l), i());
767
785
  };
768
786
  return {
769
787
  refreshCommandStates: g,
@@ -789,14 +807,14 @@ const Xo = (e) => {
789
807
  d.clear();
790
808
  }
791
809
  };
792
- }, ya = (e) => `upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, va = (e) => typeof URL.createObjectURL == "function" ? URL.createObjectURL(e) : e.name, ve = (e) => {
810
+ }, Na = (e) => `upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, Pa = (e) => typeof URL.createObjectURL == "function" ? URL.createObjectURL(e) : e.name, we = (e) => {
793
811
  typeof URL.revokeObjectURL == "function" && e.startsWith("blob:") && URL.revokeObjectURL(e);
794
- }, Lt = (e) => ({
812
+ }, St = (e) => ({
795
813
  name: e.name,
796
814
  mimeType: e.type || void 0,
797
815
  size: e.size,
798
816
  data: e
799
- }), wa = (e) => typeof DOMException < "u" && e instanceof DOMException && e.name === "AbortError", Ca = (e) => new Promise((t) => {
817
+ }), Ia = (e) => typeof DOMException < "u" && e instanceof DOMException && e.name === "AbortError", Ra = (e) => new Promise((t) => {
800
818
  const n = new Image(), r = () => {
801
819
  n.onload = null, n.onerror = null;
802
820
  };
@@ -809,7 +827,7 @@ const Xo = (e) => {
809
827
  }, n.onerror = () => {
810
828
  r(), t({});
811
829
  }, n.src = e;
812
- }), _a = (e) => new Promise((t) => {
830
+ }), Aa = (e) => new Promise((t) => {
813
831
  const n = document.createElement("video"), r = () => {
814
832
  n.removeAttribute("src"), n.load(), n.onloadedmetadata = null, n.onerror = null;
815
833
  };
@@ -823,12 +841,12 @@ const Xo = (e) => {
823
841
  }, n.onerror = () => {
824
842
  r(), t({});
825
843
  }, n.src = e, n.load();
826
- }), ka = (e, t) => t.startsWith("blob:") ? e === "image" ? Ca(t) : _a(t) : Promise.resolve({}), Ea = (e, t) => ({
844
+ }), Ba = (e, t) => t.startsWith("blob:") ? e === "image" ? Ra(t) : Aa(t) : Promise.resolve({}), Da = (e, t) => ({
827
845
  ...e,
828
846
  width: e.width ?? t.width,
829
847
  height: e.height ?? t.height,
830
848
  duration: e.duration ?? t.duration
831
- }), xa = ({
849
+ }), Ha = ({
832
850
  container: e,
833
851
  lexicalEditor: t,
834
852
  options: n,
@@ -872,11 +890,11 @@ const Xo = (e) => {
872
890
  (p = u.abortController) == null || p.abort();
873
891
  }, g = (u, p) => {
874
892
  const E = o.get(u);
875
- return E ? (i(E), ve(E.previewUrl), o.delete(u), !0) : !1;
893
+ return E ? (i(E), we(E.previewUrl), o.delete(u), !0) : !1;
876
894
  }, v = (u, p, E, _) => {
877
895
  t.update(
878
896
  () => {
879
- const A = ce({
897
+ const B = ce({
880
898
  mediaType: u,
881
899
  url: _,
882
900
  assetId: E,
@@ -885,8 +903,8 @@ const Xo = (e) => {
885
903
  title: p.name,
886
904
  mimeType: p.type || void 0,
887
905
  size: p.size
888
- }), O = z();
889
- D() || F().selectEnd(), V([A, O]), O.selectStart();
906
+ }), H = z();
907
+ D() || F().selectEnd(), W([B, H]), H.selectStart();
890
908
  },
891
909
  { discrete: !0 }
892
910
  );
@@ -903,10 +921,10 @@ const Xo = (e) => {
903
921
  status: "success",
904
922
  progress: 100,
905
923
  errorMessage: void 0
906
- }), ve(E);
924
+ }), we(E);
907
925
  }, T = (u, p, E) => {
908
926
  var _;
909
- wa(E) || (s(p, {
927
+ Ia(E) || (s(p, {
910
928
  mediaType: u,
911
929
  status: "error",
912
930
  errorMessage: "上传失败"
@@ -920,7 +938,7 @@ const Xo = (e) => {
920
938
  if (!p) return;
921
939
  const E = typeof AbortController == "function" ? new AbortController() : null, _ = a + 1;
922
940
  a = _, u.runId = _, u.abortController = E, o.set(u.assetId, u);
923
- const A = {
941
+ const B = {
924
942
  assetId: u.assetId,
925
943
  signal: E == null ? void 0 : E.signal,
926
944
  onProgress: (c) => {
@@ -931,17 +949,17 @@ const Xo = (e) => {
931
949
  });
932
950
  }
933
951
  };
934
- let O = {};
935
- const I = ka(u.type, u.previewUrl);
952
+ let H = {};
953
+ const I = Ba(u.type, u.previewUrl);
936
954
  let w;
937
955
  try {
938
- w = u.type === "image" ? p.uploadImage(Lt(u.file), A) : p.uploadVideo(Lt(u.file), A);
956
+ w = u.type === "image" ? p.uploadImage(St(u.file), B) : p.uploadVideo(St(u.file), B);
939
957
  } catch (c) {
940
958
  d(u.assetId, _) && T(u.type, u.assetId, c);
941
959
  return;
942
960
  }
943
961
  I.then((c) => {
944
- O = c, !(r() || !d(u.assetId, _)) && (c.width === void 0 && c.height === void 0 || s(u.assetId, {
962
+ H = c, !(r() || !d(u.assetId, _)) && (c.width === void 0 && c.height === void 0 || s(u.assetId, {
945
963
  mediaType: u.type,
946
964
  width: c.width,
947
965
  height: c.height,
@@ -952,14 +970,14 @@ const Xo = (e) => {
952
970
  u.type,
953
971
  u.assetId,
954
972
  u.previewUrl,
955
- Ea(c, O)
973
+ Da(c, H)
956
974
  ), o.delete(u.assetId));
957
975
  }).catch((c) => {
958
976
  r() || !d(u.assetId, _) || T(u.type, u.assetId, c);
959
977
  });
960
978
  }, y = (u, p) => {
961
979
  if (!n.uploadAdapter) return;
962
- const E = ya(u), _ = va(p), A = {
980
+ const E = Na(u), _ = Pa(p), B = {
963
981
  assetId: E,
964
982
  type: u,
965
983
  file: p,
@@ -967,7 +985,7 @@ const Xo = (e) => {
967
985
  runId: 0,
968
986
  abortController: null
969
987
  };
970
- v(u, p, E, _), f(A);
988
+ v(u, p, E, _), f(B);
971
989
  };
972
990
  return {
973
991
  pickMediaFile: (u) => {
@@ -982,7 +1000,7 @@ const Xo = (e) => {
982
1000
  uploadMediaFile: y,
983
1001
  removeMedia(u) {
984
1002
  const p = l(u);
985
- !g(u) && (p != null && p.url.startsWith("blob:")) && ve(p.url);
1003
+ !g(u) && (p != null && p.url.startsWith("blob:")) && we(p.url);
986
1004
  },
987
1005
  retryMedia(u) {
988
1006
  const p = o.get(u);
@@ -996,18 +1014,18 @@ const Xo = (e) => {
996
1014
  },
997
1015
  destroy() {
998
1016
  o.forEach((u) => {
999
- i(u), ve(u.previewUrl);
1017
+ i(u), we(u.previewUrl);
1000
1018
  }), o.clear();
1001
1019
  }
1002
1020
  };
1003
- }, In = (e) => Or(e), Ma = {
1021
+ }, Bn = (e) => Fr(e), Oa = {
1004
1022
  1: "h1",
1005
1023
  2: "h2",
1006
1024
  3: "h3",
1007
1025
  4: "h4",
1008
1026
  5: "h5",
1009
1027
  6: "h6"
1010
- }, Ta = {
1028
+ }, $a = {
1011
1029
  code: "bridgerte__code-block",
1012
1030
  codeHighlight: {
1013
1031
  attr: "bridgerte__code-token bridgerte__code-token--attr",
@@ -1068,41 +1086,41 @@ const Xo = (e) => {
1068
1086
  tableCellHeader: "bridgerte__table-cell bridgerte__table-cell--header",
1069
1087
  tableRow: "bridgerte__table-row",
1070
1088
  tableScrollableWrapper: "bridgerte__table-wrapper"
1071
- }, La = (e) => ({
1089
+ }, Fa = (e) => ({
1072
1090
  setBlockHeading: (i) => {
1073
1091
  e.update(() => {
1074
1092
  const g = D();
1075
- H(g) && $e(g, () => Rr(Ma[i]));
1093
+ O(g) && Fe(g, () => Dr(Oa[i]));
1076
1094
  });
1077
1095
  },
1078
1096
  setParagraphBlock: () => {
1079
1097
  e.update(() => {
1080
1098
  const i = D();
1081
- H(i) && $e(i, () => z());
1099
+ O(i) && Fe(i, () => z());
1082
1100
  });
1083
1101
  },
1084
1102
  setQuoteBlock: () => {
1085
1103
  e.update(() => {
1086
1104
  const i = D();
1087
- H(i) && $e(i, () => Ir());
1105
+ O(i) && Fe(i, () => Br());
1088
1106
  });
1089
1107
  },
1090
1108
  insertDividerBlock: () => {
1091
1109
  e.update(() => {
1092
1110
  const i = z();
1093
- V([ot(), i]), i.selectStart();
1111
+ W([at(), i]), i.selectStart();
1094
1112
  });
1095
1113
  },
1096
1114
  insertCodeBlock: (i) => {
1097
1115
  e.update(() => {
1098
- const g = In(i), v = z();
1099
- V([g, v]), g.selectEnd();
1116
+ const g = Bn(i), v = z();
1117
+ W([g, v]), g.selectEnd();
1100
1118
  });
1101
1119
  },
1102
1120
  setSelectedCodeBlockLanguage: (i) => {
1103
1121
  e.update(() => {
1104
1122
  const g = D();
1105
- if (!H(g)) return;
1123
+ if (!O(g)) return;
1106
1124
  const v = g.anchor.getNode(), b = v.getKey() === "root" ? v : v.getTopLevelElementOrThrow();
1107
1125
  X(b) && b.setLanguage(i);
1108
1126
  });
@@ -1114,22 +1132,22 @@ const Xo = (e) => {
1114
1132
  });
1115
1133
  },
1116
1134
  formatAlign: (i) => {
1117
- e.dispatchCommand(gr, i);
1135
+ e.dispatchCommand(fr, i);
1118
1136
  }
1119
- }), Sa = (e) => ({
1137
+ }), za = (e) => ({
1120
1138
  setLink: (o, a) => {
1121
1139
  e.update(() => {
1122
- const s = D(), l = lo(o), d = (a == null ? void 0 : a.trim()) || o.trim();
1123
- if (!(!H(s) || !o.trim())) {
1140
+ const s = D(), l = mo(o), d = (a == null ? void 0 : a.trim()) || o.trim();
1141
+ if (!(!O(s) || !o.trim())) {
1124
1142
  if (s.isCollapsed()) {
1125
- const i = co(l, {
1143
+ const i = go(l, {
1126
1144
  rel: "noreferrer noopener",
1127
1145
  target: "_blank"
1128
1146
  });
1129
- i.append(Be(d)), V([i]);
1147
+ i.append(Be(d)), W([i]);
1130
1148
  return;
1131
1149
  }
1132
- pt(l, {
1150
+ ft(l, {
1133
1151
  rel: "noreferrer noopener",
1134
1152
  target: "_blank"
1135
1153
  });
@@ -1138,15 +1156,15 @@ const Xo = (e) => {
1138
1156
  },
1139
1157
  unsetLink: () => {
1140
1158
  e.update(() => {
1141
- pt(null);
1159
+ ft(null);
1142
1160
  });
1143
1161
  },
1144
1162
  openSelectedLink: () => {
1145
1163
  if (typeof window > "u") return;
1146
1164
  const o = e.getEditorState().read(() => {
1147
1165
  const a = D();
1148
- if (!H(a)) return null;
1149
- const s = a.anchor.getNode(), l = Le(s) ? s : vo(s, Le);
1166
+ if (!O(a)) return null;
1167
+ const s = a.anchor.getNode(), l = Se(s) ? s : _o(s, Se);
1150
1168
  return l ? {
1151
1169
  target: l.getTarget() ?? "_blank",
1152
1170
  url: l.sanitizeUrl(l.getURL())
@@ -1154,17 +1172,17 @@ const Xo = (e) => {
1154
1172
  });
1155
1173
  o && window.open(o.url, o.target, "noopener,noreferrer");
1156
1174
  }
1157
- }), Na = (e) => ({
1175
+ }), Va = (e) => ({
1158
1176
  insertImage: (s) => {
1159
1177
  s.url.trim() && e.update(() => {
1160
1178
  const l = z();
1161
- V([Ro(s), l]), l.selectStart();
1179
+ W([Do(s), l]), l.selectStart();
1162
1180
  });
1163
1181
  },
1164
1182
  insertVideo: (s) => {
1165
1183
  s.url.trim() && e.update(() => {
1166
1184
  const l = z();
1167
- V([Bo(s), l]), l.selectStart();
1185
+ W([Ho(s), l]), l.selectStart();
1168
1186
  });
1169
1187
  },
1170
1188
  resizeMedia: (s) => {
@@ -1191,21 +1209,21 @@ const Xo = (e) => {
1191
1209
  });
1192
1210
  });
1193
1211
  }
1194
- }), Pa = (e) => ({
1212
+ }), Wa = (e) => ({
1195
1213
  insertMention: (n) => {
1196
1214
  e.update(() => {
1197
1215
  const r = D();
1198
- H(r) && V([
1199
- st(n),
1216
+ O(r) && W([
1217
+ it(n),
1200
1218
  Be(" ")
1201
1219
  ]);
1202
1220
  });
1203
1221
  }
1204
- }), Ia = (e) => ({
1222
+ }), Ua = (e) => ({
1205
1223
  clearSelectionFormat: () => {
1206
1224
  e.update(() => {
1207
1225
  const r = D();
1208
- H(r) && (r.setFormat(0), bt(r, {
1226
+ O(r) && (r.setFormat(0), yt(r, {
1209
1227
  color: null,
1210
1228
  "background-color": null,
1211
1229
  "font-size": null,
@@ -1217,18 +1235,18 @@ const Xo = (e) => {
1217
1235
  setSelectionStyle: (r, o) => {
1218
1236
  e.update(() => {
1219
1237
  const a = D();
1220
- H(a) && bt(a, {
1238
+ O(a) && yt(a, {
1221
1239
  [r]: o === "" ? null : o
1222
1240
  });
1223
1241
  });
1224
1242
  }
1225
- }), Ra = 20, St = (e, t) => Number.isFinite(e) && e > 0 ? Math.min(Math.floor(e), t) : 1, we = (e) => Number.isFinite(e) && (e ?? 0) > 0 ? Math.min(Math.floor(e ?? 1), Ra) : 1, Ce = () => {
1243
+ }), ja = 20, Nt = (e, t) => Number.isFinite(e) && e > 0 ? Math.min(Math.floor(e), t) : 1, Ce = (e) => Number.isFinite(e) && (e ?? 0) > 0 ? Math.min(Math.floor(e ?? 1), ja) : 1, _e = () => {
1226
1244
  const e = D();
1227
- return !H(e) && !hn(e) ? !1 : to(e.anchor.getNode()) !== null;
1228
- }, Ba = (e) => ({
1245
+ return !O(e) && !pn(e) ? !1 : oo(e.anchor.getNode()) !== null;
1246
+ }, Ka = (e) => ({
1229
1247
  insertTable: (l, d) => {
1230
- const i = St(l, en), g = St(d, tn);
1231
- e.dispatchCommand(eo, {
1248
+ const i = Nt(l, tn), g = Nt(d, nn);
1249
+ e.dispatchCommand(ro, {
1232
1250
  rows: String(i),
1233
1251
  columns: String(g),
1234
1252
  /*
@@ -1243,50 +1261,50 @@ const Xo = (e) => {
1243
1261
  },
1244
1262
  insertTableRow: (l) => {
1245
1263
  e.update(() => {
1246
- if (!Ce()) return;
1247
- const d = we(l.count);
1264
+ if (!_e()) return;
1265
+ const d = Ce(l.count);
1248
1266
  for (let i = 0; i < d; i += 1)
1249
- Zr(l.direction !== "before");
1267
+ no(l.direction !== "before");
1250
1268
  });
1251
1269
  },
1252
1270
  insertTableColumn: (l) => {
1253
1271
  e.update(() => {
1254
- if (!Ce()) return;
1255
- const d = we(l.count);
1272
+ if (!_e()) return;
1273
+ const d = Ce(l.count);
1256
1274
  for (let i = 0; i < d; i += 1)
1257
- Qr(l.direction !== "before");
1275
+ to(l.direction !== "before");
1258
1276
  });
1259
1277
  },
1260
1278
  deleteTableRow: (l) => {
1261
1279
  e.update(() => {
1262
- const d = we(l.count);
1280
+ const d = Ce(l.count);
1263
1281
  for (let i = 0; i < d; i += 1) {
1264
- if (!Ce()) return;
1265
- Jr();
1282
+ if (!_e()) return;
1283
+ eo();
1266
1284
  }
1267
1285
  });
1268
1286
  },
1269
1287
  deleteTableColumn: (l) => {
1270
1288
  e.update(() => {
1271
- const d = we(l.count);
1289
+ const d = Ce(l.count);
1272
1290
  for (let i = 0; i < d; i += 1) {
1273
- if (!Ce()) return;
1274
- Yr();
1291
+ if (!_e()) return;
1292
+ Zr();
1275
1293
  }
1276
1294
  });
1277
1295
  },
1278
1296
  deleteTable: () => {
1279
1297
  e.update(() => {
1280
1298
  const l = D();
1281
- if (!H(l) && !hn(l)) return;
1282
- const d = Xr(l.anchor.getNode());
1299
+ if (!O(l) && !pn(l)) return;
1300
+ const d = Qr(l.anchor.getNode());
1283
1301
  if (!d) return;
1284
1302
  const i = z();
1285
1303
  d.insertAfter(i), d.remove(), i.selectStart();
1286
1304
  });
1287
1305
  }
1288
- }), Aa = (e) => {
1289
- const t = Ba(e);
1306
+ }), qa = (e) => {
1307
+ const t = Ka(e);
1290
1308
  return {
1291
1309
  insertTable: (n) => {
1292
1310
  t.insertTable(n.rows, n.cols);
@@ -1307,7 +1325,7 @@ const Xo = (e) => {
1307
1325
  t.deleteTable();
1308
1326
  }
1309
1327
  };
1310
- }, Da = {
1328
+ }, Ga = {
1311
1329
  "format.bold": "bold",
1312
1330
  "format.italic": "italic",
1313
1331
  "format.underline": "underline",
@@ -1315,22 +1333,22 @@ const Xo = (e) => {
1315
1333
  "format.inlineCode": "code",
1316
1334
  "format.superscript": "superscript",
1317
1335
  "format.subscript": "subscript"
1318
- }, Oa = {
1319
- "list.ordered": Ur,
1320
- "list.unordered": Vr,
1321
- "list.todo": Wr
1322
- }, Ha = {
1323
- "indent.increase": yr,
1324
- "indent.decrease": br,
1325
- "history.undo": fr,
1326
- "history.redo": pr
1327
- }, $a = {
1336
+ }, Xa = {
1337
+ "list.ordered": qr,
1338
+ "list.unordered": Kr,
1339
+ "list.todo": jr
1340
+ }, Ya = {
1341
+ "indent.increase": Cr,
1342
+ "indent.decrease": wr,
1343
+ "history.undo": vr,
1344
+ "history.redo": yr
1345
+ }, Ja = {
1328
1346
  "format.color": "color",
1329
1347
  "format.backgroundColor": "background-color",
1330
1348
  "format.fontSize": "font-size",
1331
1349
  "format.fontFamily": "font-family",
1332
1350
  "format.lineHeight": "line-height"
1333
- }, Fa = ({
1351
+ }, Qa = ({
1334
1352
  container: e,
1335
1353
  lexicalEditor: t,
1336
1354
  options: n,
@@ -1338,12 +1356,12 @@ const Xo = (e) => {
1338
1356
  isReadonly: o,
1339
1357
  reportError: a
1340
1358
  }) => {
1341
- const s = xa({
1359
+ const s = Ha({
1342
1360
  container: e,
1343
1361
  lexicalEditor: t,
1344
1362
  options: n,
1345
1363
  isDestroyed: r
1346
- }), l = La(t), d = Sa(t), i = Na(t), g = Pa(t), v = Ia(t), b = Aa(t), T = () => {
1364
+ }), l = Fa(t), d = za(t), i = Va(t), g = Wa(t), v = Ua(t), b = qa(t), T = () => {
1347
1365
  var x, u;
1348
1366
  if (document.fullscreenElement) {
1349
1367
  (x = document.exitFullscreen) == null || x.call(document).catch((p) => {
@@ -1356,22 +1374,22 @@ const Xo = (e) => {
1356
1374
  });
1357
1375
  }, f = ((y) => {
1358
1376
  if (r() || o()) return;
1359
- const x = Da[y.type];
1377
+ const x = Ga[y.type];
1360
1378
  if (x) {
1361
- t.dispatchCommand(hr, x);
1379
+ t.dispatchCommand(br, x);
1362
1380
  return;
1363
1381
  }
1364
- const u = Oa[y.type];
1382
+ const u = Xa[y.type];
1365
1383
  if (u) {
1366
1384
  t.dispatchCommand(u, void 0);
1367
1385
  return;
1368
1386
  }
1369
- const p = Ha[y.type];
1387
+ const p = Ya[y.type];
1370
1388
  if (p) {
1371
1389
  t.dispatchCommand(p, void 0);
1372
1390
  return;
1373
1391
  }
1374
- const E = $a[y.type];
1392
+ const E = Ja[y.type];
1375
1393
  if (E && "value" in y) {
1376
1394
  v.setSelectionStyle(E, y.value);
1377
1395
  return;
@@ -1469,18 +1487,18 @@ const Xo = (e) => {
1469
1487
  return f.uploadMediaFile = s.uploadMediaFile, f.destroy = () => {
1470
1488
  s.destroy();
1471
1489
  }, f;
1472
- }, za = 300, Wa = "BridgeRTE", Nt = ({
1490
+ }, Za = 300, es = "BridgeRTE", Pt = ({
1473
1491
  editor: e,
1474
1492
  overflowLength: t
1475
1493
  }) => {
1476
1494
  if (t <= 0) return !1;
1477
1495
  const n = D();
1478
- if (H(n))
1479
- return yt(e, n.anchor, t), !0;
1496
+ if (O(n))
1497
+ return vt(e, n.anchor, t), !0;
1480
1498
  F().selectEnd();
1481
1499
  const r = D();
1482
- return H(r) ? (yt(e, r.anchor, t), !0) : !1;
1483
- }, Va = ({
1500
+ return O(r) ? (vt(e, r.anchor, t), !0) : !1;
1501
+ }, ts = ({
1484
1502
  lexicalEditor: e,
1485
1503
  options: t,
1486
1504
  isDestroyed: n,
@@ -1492,23 +1510,23 @@ const Xo = (e) => {
1492
1510
  s && (clearTimeout(s), s = null);
1493
1511
  }, d = (u) => {
1494
1512
  if (n()) return;
1495
- const p = Tn(e.getEditorState(), e);
1496
- r(p), u && ua(t, p);
1513
+ const p = Nn(e.getEditorState(), e);
1514
+ r(p), u && ka(t, p);
1497
1515
  }, i = (u) => {
1498
1516
  const p = t.maxLength !== void 0 && t.maxLength >= 0 ? t.maxLength : void 0;
1499
1517
  return {
1500
1518
  dirty: !0,
1501
1519
  plainTextLength: u,
1502
- version: Re,
1520
+ version: Ae,
1503
1521
  maxLength: p,
1504
1522
  isOverMaxLength: p === void 0 ? !1 : u > p
1505
1523
  };
1506
1524
  }, g = (u) => {
1507
- ma(t, i(u));
1525
+ Ea(t, i(u));
1508
1526
  }, v = () => {
1509
1527
  t.onChange && (l(), s = setTimeout(() => {
1510
1528
  d(!0);
1511
- }, ir));
1529
+ }, dr));
1512
1530
  }, b = (u) => {
1513
1531
  if (a > 0) {
1514
1532
  a -= 1;
@@ -1516,14 +1534,14 @@ const Xo = (e) => {
1516
1534
  }
1517
1535
  g(u), v();
1518
1536
  }, T = () => e.getEditorState().read(() => F().getTextContent().length), f = (u) => t.maxLength === void 0 || t.maxLength < 0 ? 0 : u - t.maxLength, y = (u) => u <= 0 ? !1 : (e.update(() => {
1519
- Nt({ editor: e, overflowLength: u });
1537
+ Pt({ editor: e, overflowLength: u });
1520
1538
  }, { discrete: !0 }), !0);
1521
1539
  return {
1522
1540
  clearContentChangeTimer: l,
1523
1541
  enforceCurrentMaxLength: () => {
1524
1542
  t.maxLength === void 0 || t.maxLength < 0 || e.update(() => {
1525
1543
  const u = F().getTextContent().length - (t.maxLength ?? 0);
1526
- Nt({ editor: e, overflowLength: u });
1544
+ Pt({ editor: e, overflowLength: u });
1527
1545
  }, { discrete: !0 });
1528
1546
  },
1529
1547
  syncContent: d,
@@ -1539,14 +1557,14 @@ const Xo = (e) => {
1539
1557
  o(), b(u);
1540
1558
  }
1541
1559
  };
1542
- }, De = "data-language", Rn = "纯文本", Ua = "language", ja = /* @__PURE__ */ new Set(["plain", "plaintext", "text", "txt"]), Ka = new Set(Eo().map(([e]) => e)), qa = [
1543
- De,
1560
+ }, He = "data-language", Dn = "纯文本", ns = "language", rs = /* @__PURE__ */ new Set(["plain", "plaintext", "text", "txt"]), os = new Set(To().map(([e]) => e)), as = [
1561
+ He,
1544
1562
  "data-lang",
1545
1563
  "data-code-language",
1546
1564
  "data-highlight-language",
1547
1565
  "lang",
1548
1566
  "language"
1549
- ], Ga = /^[a-z][a-z0-9_+#.-]{0,31}$/i, Xa = /^(?:language|lang)-([a-z][a-z0-9_+#.-]{0,31})$/i, Ya = /^brush:\s*([a-z][a-z0-9_+#.-]{0,31})$/i, Ja = /* @__PURE__ */ new Map([
1567
+ ], ss = /^[a-z][a-z0-9_+#.-]{0,31}$/i, is = /^(?:language|lang)-([a-z][a-z0-9_+#.-]{0,31})$/i, ls = /^brush:\s*([a-z][a-z0-9_+#.-]{0,31})$/i, cs = /* @__PURE__ */ new Map([
1550
1568
  ["dockerfile", "docker"],
1551
1569
  ["shell", "shellscript"],
1552
1570
  ["sh", "shellscript"],
@@ -1559,56 +1577,56 @@ const Xo = (e) => {
1559
1577
  ["ts", "typescript"],
1560
1578
  ["tsx", "tsx"],
1561
1579
  ["yml", "yaml"]
1562
- ]), Qa = (e) => e.type === "select", Pt = (e) => e.find((t) => t.name === Ua && Qa(t)), ne = (e) => {
1580
+ ]), ds = (e) => e.type === "select", It = (e) => e.find((t) => t.name === ns && ds(t)), ne = (e) => {
1563
1581
  const t = e == null ? void 0 : e.trim().toLowerCase();
1564
- if (!t || !Ga.test(t)) return null;
1565
- if (ja.has(t)) return "";
1566
- const n = Ja.get(t) ?? ko(t);
1567
- return Ka.has(n) ? n : null;
1568
- }, Za = (e) => {
1569
- for (const t of qa) {
1582
+ if (!t || !ss.test(t)) return null;
1583
+ if (rs.has(t)) return "";
1584
+ const n = cs.get(t) ?? Mo(t);
1585
+ return os.has(n) ? n : null;
1586
+ }, us = (e) => {
1587
+ for (const t of as) {
1570
1588
  const n = ne(e.getAttribute(t));
1571
1589
  if (n) return n;
1572
1590
  }
1573
1591
  return null;
1574
- }, es = (e) => {
1575
- const [, t] = e.match(Ya) ?? [], n = ne(t);
1592
+ }, ms = (e) => {
1593
+ const [, t] = e.match(ls) ?? [], n = ne(t);
1576
1594
  if (n) return n;
1577
1595
  for (const r of e.split(/\s+/)) {
1578
- const [, o] = r.match(Xa) ?? [], a = ne(o);
1596
+ const [, o] = r.match(is) ?? [], a = ne(o);
1579
1597
  if (a) return a;
1580
1598
  }
1581
1599
  return null;
1582
- }, Bn = (e = Ge) => {
1600
+ }, Hn = (e = Xe) => {
1583
1601
  var t, n;
1584
- return ((t = Pt(e.fields)) == null ? void 0 : t.options) ?? ((n = Pt(Ge.fields)) == null ? void 0 : n.options) ?? [{ label: Rn, value: "" }];
1585
- }, An = (e, t) => {
1602
+ return ((t = It(e.fields)) == null ? void 0 : t.options) ?? ((n = It(Xe.fields)) == null ? void 0 : n.options) ?? [{ label: Dn, value: "" }];
1603
+ }, On = (e, t) => {
1586
1604
  var n, r, o;
1587
- return ((n = e.find((a) => a.value === t)) == null ? void 0 : n.label) ?? ((r = e.find((a) => ne(a.value) === ne(t))) == null ? void 0 : r.label) ?? ((o = e[0]) == null ? void 0 : o.label) ?? Rn;
1605
+ return ((n = e.find((a) => a.value === t)) == null ? void 0 : n.label) ?? ((r = e.find((a) => ne(a.value) === ne(t))) == null ? void 0 : r.label) ?? ((o = e[0]) == null ? void 0 : o.label) ?? Dn;
1588
1606
  };
1589
- Bn();
1590
- const ts = (e) => {
1607
+ Hn();
1608
+ const gs = (e) => {
1591
1609
  [...e.querySelectorAll("pre,code")].forEach((t) => {
1592
- const n = Za(t) ?? es(t.className), r = t.tagName === "PRE" ? t : t.closest("pre");
1593
- r && n && r.setAttribute(De, n);
1610
+ const n = us(t) ?? ms(t.className), r = t.tagName === "PRE" ? t : t.closest("pre");
1611
+ r && n && r.setAttribute(He, n);
1594
1612
  });
1595
- }, ns = (e) => {
1613
+ }, hs = (e) => {
1596
1614
  e.querySelectorAll("pre").forEach((t) => {
1597
1615
  [...t.children].forEach((r) => {
1598
1616
  r.tagName === "CODE" && r.replaceWith(...r.childNodes);
1599
1617
  });
1600
1618
  });
1601
- }, rs = (e, t) => {
1619
+ }, ps = (e, t) => {
1602
1620
  const n = [...t.querySelectorAll("pre[data-language]")];
1603
1621
  let r = 0;
1604
1622
  e.forEach((o) => {
1605
1623
  if (!X(o)) return;
1606
1624
  const a = n[r];
1607
1625
  if (r += 1, !a) return;
1608
- const s = a.getAttribute(De);
1626
+ const s = a.getAttribute(He);
1609
1627
  s && !o.getLanguage() && o.setLanguage(s);
1610
1628
  });
1611
- }, Dn = "one-light", Q = {
1629
+ }, $n = "one-light", Q = {
1612
1630
  keyword: "#a626a4",
1613
1631
  function: "#4078f2",
1614
1632
  operator: "#0184bc",
@@ -1616,7 +1634,7 @@ const ts = (e) => {
1616
1634
  property: "#e45649",
1617
1635
  string: "#50a14f",
1618
1636
  attrName: "#986801"
1619
- }, os = {
1637
+ }, fs = {
1620
1638
  [Q.keyword]: "keyword",
1621
1639
  [Q.function]: "function",
1622
1640
  [Q.operator]: "operator",
@@ -1624,25 +1642,25 @@ const ts = (e) => {
1624
1642
  [Q.property]: "property",
1625
1643
  [Q.string]: "string",
1626
1644
  [Q.attrName]: "attr-name"
1627
- }, as = (e) => {
1645
+ }, bs = (e) => {
1628
1646
  const [, t] = e.match(/(?:^|;)color:\s*(#[0-9a-f]{3,8})/i) ?? [];
1629
- return t ? os[t.toLowerCase()] : void 0;
1630
- }, ss = {
1631
- ...vt,
1647
+ return t ? fs[t.toLowerCase()] : void 0;
1648
+ }, ys = {
1649
+ ...wt,
1632
1650
  defaultLanguage: null,
1633
- defaultTheme: Dn,
1651
+ defaultTheme: $n,
1634
1652
  $tokenize(e, t) {
1635
- const n = vt.$tokenize.call(this, e, t);
1636
- return e.getStyle() && e.setStyle(""), n.map((r) => Hr(r) ? $r(
1653
+ const n = wt.$tokenize.call(this, e, t);
1654
+ return e.getStyle() && e.setStyle(""), n.map((r) => zr(r) ? Vr(
1637
1655
  r.getTextContent(),
1638
- as(r.getStyle())
1656
+ bs(r.getStyle())
1639
1657
  ) : r);
1640
1658
  }
1641
- }, is = 1200, fe = /* @__PURE__ */ new Set(), Se = /* @__PURE__ */ new Set(), Ye = /* @__PURE__ */ new Set(), Ne = [];
1642
- let Z = 0, ae = null, _e = !1, ke = null, It = !1;
1643
- const ls = (e) => "requestIdleCallback" in window ? {
1659
+ }, vs = 1200, fe = /* @__PURE__ */ new Set(), Ne = /* @__PURE__ */ new Set(), Je = /* @__PURE__ */ new Set(), Pe = [];
1660
+ let Z = 0, ae = null, ke = !1, Ee = null, Rt = !1;
1661
+ const ws = (e) => "requestIdleCallback" in window ? {
1644
1662
  id: window.requestIdleCallback(e, {
1645
- timeout: is
1663
+ timeout: vs
1646
1664
  }),
1647
1665
  kind: "idle"
1648
1666
  } : {
@@ -1653,72 +1671,72 @@ const ls = (e) => "requestIdleCallback" in window ? {
1653
1671
  });
1654
1672
  }, 0),
1655
1673
  kind: "timeout"
1656
- }, cs = (e) => {
1674
+ }, Cs = (e) => {
1657
1675
  if (e.kind === "idle") {
1658
1676
  window.cancelIdleCallback(e.id);
1659
1677
  return;
1660
1678
  }
1661
1679
  globalThis.clearTimeout(e.id);
1662
- }, ds = (e) => e.map((t) => t.value).filter((t) => t !== ""), us = (e) => {
1663
- ds(e).forEach((t) => {
1664
- if (fe.has(t) || Se.has(t) || Ye.has(t) || kn(t)) {
1680
+ }, _s = (e) => e.map((t) => t.value).filter((t) => t !== ""), ks = (e) => {
1681
+ _s(e).forEach((t) => {
1682
+ if (fe.has(t) || Ne.has(t) || Je.has(t) || En(t)) {
1665
1683
  fe.add(t);
1666
1684
  return;
1667
1685
  }
1668
- Ye.add(t), Ne.push(t);
1686
+ Je.add(t), Pe.push(t);
1669
1687
  });
1670
- }, ms = () => {
1671
- for (; Ne.length > 0; ) {
1672
- const e = Ne.shift();
1673
- if (e && (Ye.delete(e), !(fe.has(e) || Se.has(e)))) {
1674
- if (kn(e)) {
1688
+ }, Es = () => {
1689
+ for (; Pe.length > 0; ) {
1690
+ const e = Pe.shift();
1691
+ if (e && (Je.delete(e), !(fe.has(e) || Ne.has(e)))) {
1692
+ if (En(e)) {
1675
1693
  fe.add(e);
1676
1694
  continue;
1677
1695
  }
1678
1696
  return e;
1679
1697
  }
1680
1698
  }
1681
- }, gs = async () => {
1682
- if (!It) {
1683
- if (!ke) {
1684
- const e = Mo(Dn);
1685
- ke = Promise.resolve(e ?? void 0).then(() => {
1686
- It = !0;
1699
+ }, xs = async () => {
1700
+ if (!Rt) {
1701
+ if (!Ee) {
1702
+ const e = So($n);
1703
+ Ee = Promise.resolve(e ?? void 0).then(() => {
1704
+ Rt = !0;
1687
1705
  }).catch(() => {
1688
1706
  }).finally(() => {
1689
- ke = null;
1707
+ Ee = null;
1690
1708
  });
1691
1709
  }
1692
- await ke;
1710
+ await Ee;
1693
1711
  }
1694
- }, hs = (e) => {
1695
- Z += 1, us(e);
1712
+ }, Ms = (e) => {
1713
+ Z += 1, ks(e);
1696
1714
  const t = async () => {
1697
- if (!(Z <= 0 || _e)) {
1698
- _e = !0;
1715
+ if (!(Z <= 0 || ke)) {
1716
+ ke = !0;
1699
1717
  try {
1700
- if (await gs(), Z <= 0) return;
1701
- const r = ms();
1718
+ if (await xs(), Z <= 0) return;
1719
+ const r = Es();
1702
1720
  if (!r) return;
1703
- Se.add(r), await Promise.resolve(xo(r) ?? void 0).then(() => {
1721
+ Ne.add(r), await Promise.resolve(Lo(r) ?? void 0).then(() => {
1704
1722
  fe.add(r);
1705
1723
  }).catch(() => {
1706
1724
  }).finally(() => {
1707
- Se.delete(r);
1725
+ Ne.delete(r);
1708
1726
  });
1709
1727
  } finally {
1710
- _e = !1, n();
1728
+ ke = !1, n();
1711
1729
  }
1712
1730
  }
1713
1731
  }, n = () => {
1714
- Z <= 0 || ae !== null || _e || Ne.length === 0 || (ae = ls(() => {
1732
+ Z <= 0 || ae !== null || ke || Pe.length === 0 || (ae = ws(() => {
1715
1733
  ae = null, t();
1716
1734
  }));
1717
1735
  };
1718
1736
  return n(), () => {
1719
- Z = Math.max(0, Z - 1), Z === 0 && ae !== null && (cs(ae), ae = null);
1737
+ Z = Math.max(0, Z - 1), Z === 0 && ae !== null && (Cs(ae), ae = null);
1720
1738
  };
1721
- }, W = 12, ps = 6, Pe = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), On = () => {
1739
+ }, V = 12, Ts = 6, Ie = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Fn = () => {
1722
1740
  const e = window.visualViewport;
1723
1741
  return {
1724
1742
  left: (e == null ? void 0 : e.offsetLeft) ?? 0,
@@ -1726,7 +1744,7 @@ const ls = (e) => "requestIdleCallback" in window ? {
1726
1744
  width: (e == null ? void 0 : e.width) ?? window.innerWidth,
1727
1745
  height: (e == null ? void 0 : e.height) ?? window.innerHeight
1728
1746
  };
1729
- }, fs = (e, t) => ({
1747
+ }, Ls = (e, t) => ({
1730
1748
  /*
1731
1749
  * dialog request 里传的是 viewport 坐标。用 virtual reference 交给 floating-ui,
1732
1750
  * 让 dialog 和 toolbar group、hoverbar 等轻浮层复用同一套翻转和边界避让逻辑。
@@ -1742,21 +1760,21 @@ const ls = (e) => "requestIdleCallback" in window ? {
1742
1760
  width: t.width,
1743
1761
  height: t.height
1744
1762
  })
1745
- }), bs = (e, t) => {
1746
- const n = e.getBoundingClientRect(), r = On(), o = t.getBoundingClientRect(), a = o.left + W, s = o.top + W, l = r.left + W, d = r.top + W, i = r.left + r.width - n.width - W, g = r.top + r.height - n.height - W;
1763
+ }), Ss = (e, t) => {
1764
+ const n = e.getBoundingClientRect(), r = Fn(), o = t.getBoundingClientRect(), a = o.left + V, s = o.top + V, l = r.left + V, d = r.top + V, i = r.left + r.width - n.width - V, g = r.top + r.height - n.height - V;
1747
1765
  return {
1748
- left: Pe(a, l, i),
1749
- top: Pe(s, d, g),
1766
+ left: Ie(a, l, i),
1767
+ top: Ie(s, d, g),
1750
1768
  viewportHeight: r.height
1751
1769
  };
1752
- }, ys = (e, t, n) => {
1753
- const r = e.getBoundingClientRect(), o = On(), a = o.left + W, s = o.top + W, l = o.left + o.width - r.width - W, d = o.top + o.height - r.height - W;
1770
+ }, Ns = (e, t, n) => {
1771
+ const r = e.getBoundingClientRect(), o = Fn(), a = o.left + V, s = o.top + V, l = o.left + o.width - r.width - V, d = o.top + o.height - r.height - V;
1754
1772
  return {
1755
- left: Pe(t, a, l),
1756
- top: Pe(n, s, d),
1773
+ left: Ie(t, a, l),
1774
+ top: Ie(n, s, d),
1757
1775
  viewportHeight: o.height
1758
1776
  };
1759
- }, Hn = (e) => {
1777
+ }, zn = (e) => {
1760
1778
  var i, g;
1761
1779
  const t = document.createElement("div"), n = document.createElement("div"), r = document.createElement("div");
1762
1780
  let o;
@@ -1769,24 +1787,24 @@ const ls = (e) => "requestIdleCallback" in window ? {
1769
1787
  );
1770
1788
  }, l = async () => {
1771
1789
  if (!o) {
1772
- const T = bs(n, e.root);
1790
+ const T = Ss(n, e.root);
1773
1791
  s(T.left, T.top, T.viewportHeight);
1774
1792
  return;
1775
1793
  }
1776
- const v = await yn(
1777
- fs(e.root, o),
1794
+ const v = await vn(
1795
+ Ls(e.root, o),
1778
1796
  n,
1779
1797
  {
1780
1798
  placement: "bottom-start",
1781
1799
  strategy: "fixed",
1782
- platform: vn,
1800
+ platform: wn,
1783
1801
  middleware: [
1784
- wn(ps),
1785
- Cn(),
1786
- _n({ padding: W })
1802
+ Cn(Ts),
1803
+ _n(),
1804
+ kn({ padding: V })
1787
1805
  ]
1788
1806
  }
1789
- ), b = ys(n, v.x, v.y);
1807
+ ), b = Ns(n, v.x, v.y);
1790
1808
  s(
1791
1809
  b.left,
1792
1810
  b.top,
@@ -1808,7 +1826,7 @@ const ls = (e) => "requestIdleCallback" in window ? {
1808
1826
  a(), (v = window.visualViewport) == null || v.removeEventListener("resize", l), (b = window.visualViewport) == null || b.removeEventListener("scroll", l), window.removeEventListener("resize", l), t.remove(), n.remove();
1809
1827
  }
1810
1828
  };
1811
- }, Ie = (e) => typeof requestAnimationFrame == "function" ? requestAnimationFrame(e) : window.setTimeout(e, 0), it = (e) => {
1829
+ }, Re = (e) => typeof requestAnimationFrame == "function" ? requestAnimationFrame(e) : window.setTimeout(e, 0), lt = (e) => {
1812
1830
  if (typeof cancelAnimationFrame == "function") {
1813
1831
  cancelAnimationFrame(e);
1814
1832
  return;
@@ -1835,7 +1853,7 @@ const ls = (e) => "requestIdleCallback" in window ? {
1835
1853
  return e.addEventListener("pointerdown", o), e.addEventListener("pointerup", a), e.addEventListener("pointercancel", a), e.addEventListener("lostpointercapture", a), () => {
1836
1854
  a(), e.removeEventListener("pointerdown", o), e.removeEventListener("pointerup", a), e.removeEventListener("pointercancel", a), e.removeEventListener("lostpointercapture", a);
1837
1855
  };
1838
- }, lt = (e) => {
1856
+ }, ct = (e) => {
1839
1857
  const t = (o) => {
1840
1858
  const a = e.getBlockFromTarget(o.target);
1841
1859
  if (a) {
@@ -1855,49 +1873,49 @@ const ls = (e) => "requestIdleCallback" in window ? {
1855
1873
  e.content.removeEventListener("pointerdown", t), e.content.removeEventListener("focusin", n), document.removeEventListener("pointerdown", r);
1856
1874
  }
1857
1875
  };
1858
- }, vs = (e, t, n) => {
1876
+ }, Ps = (e, t, n) => {
1859
1877
  e.update(
1860
1878
  t,
1861
1879
  {
1862
- tag: vr,
1880
+ tag: _r,
1863
1881
  onUpdate: n
1864
1882
  }
1865
1883
  );
1866
- }, Rt = "language", ws = "bridgerte-code-block-language", Bt = 8, Cs = ".bridgerte__code-block-controls", Te = ".bridgerte__code-block-control-button";
1867
- let At = 0;
1868
- const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
1884
+ }, At = "language", Is = "bridgerte-code-block-language", Bt = 8, Rs = ".bridgerte__code-block-controls", Le = ".bridgerte__code-block-control-button";
1885
+ let Dt = 0;
1886
+ const As = () => (Dt += 1, `${Is}-${Dt}`), Bs = (e, t, n) => {
1869
1887
  var o;
1870
1888
  const r = e.querySelector(".bridgerte__code-block-control-label");
1871
- e.dataset.language = n ?? "", (o = e.querySelector(Te)) == null || o.setAttribute(
1889
+ e.dataset.language = n ?? "", (o = e.querySelector(Le)) == null || o.setAttribute(
1872
1890
  "data-language",
1873
1891
  n ?? ""
1874
- ), r && (r.textContent = An(t, n));
1875
- }, Es = (e, t) => {
1892
+ ), r && (r.textContent = On(t, n));
1893
+ }, Ds = (e, t) => {
1876
1894
  const n = document.createElement("div"), r = document.createElement("button"), o = document.createElement("span"), a = document.createElement("span");
1877
- return n.className = "bridgerte__code-block-controls", n.contentEditable = "false", n.dataset.language = t ?? "", n.setAttribute("aria-label", "代码块操作"), r.type = "button", r.className = "bridgerte__code-block-control-button", r.dataset.language = t ?? "", r.setAttribute("aria-label", "选择代码块语言"), o.className = "bridgerte__code-block-control-label", o.textContent = An(e, t), a.className = "bridgerte__code-block-control-arrow", r.append(o, a), n.append(r), n;
1878
- }, xs = (e) => {
1879
- const t = document.createElement("div"), n = e.root.querySelector(".bridgerte__content") ?? e.root, r = bn(
1880
- e.languagePanel ?? Ge,
1895
+ return n.className = "bridgerte__code-block-controls", n.contentEditable = "false", n.dataset.language = t ?? "", n.setAttribute("aria-label", "代码块操作"), r.type = "button", r.className = "bridgerte__code-block-control-button", r.dataset.language = t ?? "", r.setAttribute("aria-label", "选择代码块语言"), o.className = "bridgerte__code-block-control-label", o.textContent = On(e, t), a.className = "bridgerte__code-block-control-arrow", r.append(o, a), n.append(r), n;
1896
+ }, Hs = (e) => {
1897
+ const t = document.createElement("div"), n = e.root.querySelector(".bridgerte__content") ?? e.root, r = yn(
1898
+ e.languagePanel ?? Xe,
1881
1899
  e.payloadPanelConfig
1882
- ), o = Bn(r);
1900
+ ), o = Hn(r);
1883
1901
  let a = null, s = null, l = null, d = null, i = null, g = null;
1884
1902
  const v = () => {
1885
- l ?? (l = hs(o));
1903
+ l ?? (l = Ms(o));
1886
1904
  }, b = () => {
1887
1905
  a == null || a.close();
1888
1906
  }, T = (M, L) => {
1889
- e.isReadonly() || vs(e.editor, () => {
1907
+ e.isReadonly() || Ps(e.editor, () => {
1890
1908
  const N = he(M);
1891
1909
  X(N) && N.setLanguage(L);
1892
1910
  });
1893
1911
  }, f = (M, L) => {
1894
- Ie(() => {
1912
+ Re(() => {
1895
1913
  T(M, L);
1896
1914
  });
1897
1915
  }, y = (M, L, N) => {
1898
1916
  var R;
1899
1917
  return ((R = e.onRequest) == null ? void 0 : R.call(e, {
1900
- id: _s(),
1918
+ id: As(),
1901
1919
  readonly: e.isReadonly(),
1902
1920
  menuId: "code-block-language",
1903
1921
  command: { type: "block.setCodeLanguage", language: N },
@@ -1909,24 +1927,24 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
1909
1927
  height: L.height
1910
1928
  },
1911
1929
  currentValues: {
1912
- [Rt]: N
1930
+ [At]: N
1913
1931
  },
1914
1932
  submit: (S) => {
1915
- b(), f(M, S[Rt] ?? "");
1933
+ b(), f(M, S[At] ?? "");
1916
1934
  },
1917
1935
  cancel: b
1918
1936
  })) === !0;
1919
1937
  }, x = (M, L) => {
1920
1938
  const N = e.root.getBoundingClientRect(), R = L.getBoundingClientRect(), S = R.bottom < N.top || R.top > N.bottom;
1921
1939
  M.hidden = S;
1922
- const k = Math.max(8, N.width - M.offsetWidth - 8), B = Math.min(
1940
+ const k = Math.max(8, N.width - M.offsetWidth - 8), A = Math.min(
1923
1941
  Math.max(R.left - N.left + Bt, 8),
1924
1942
  k
1925
1943
  ), $ = Math.max(
1926
1944
  8,
1927
1945
  R.top - N.top - M.offsetHeight - Bt
1928
1946
  );
1929
- M.style.transform = `translate(${B}px, ${$}px)`;
1947
+ M.style.transform = `translate(${A}px, ${$}px)`;
1930
1948
  }, u = () => {
1931
1949
  i && (g == null || g(), g = null, i.remove(), i = null);
1932
1950
  }, p = (M) => {
@@ -1938,22 +1956,22 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
1938
1956
  v(), L.dataset.lexicalKey = M;
1939
1957
  const N = L.getAttribute("data-language");
1940
1958
  if (i) {
1941
- ks(i, o, N), x(i, L);
1959
+ Bs(i, o, N), x(i, L);
1942
1960
  return;
1943
1961
  }
1944
- const R = Es(o, N);
1962
+ const R = Ds(o, N);
1945
1963
  g = U(R, {
1946
- targetSelector: Te
1964
+ targetSelector: Le
1947
1965
  }), R.dataset.lexicalKey = M, i = R, t.append(R), x(R, L);
1948
1966
  }, E = (M) => {
1949
1967
  const L = M.dataset.lexicalKey;
1950
1968
  !L || d === L || (d !== null && (b(), u()), d = L, p(L));
1951
1969
  }, _ = () => {
1952
1970
  d !== null && (d = null, b(), u());
1953
- }, A = (M) => M instanceof HTMLElement ? M.closest(".bridgerte__code-block") : null, O = lt({
1971
+ }, B = (M) => M instanceof HTMLElement ? M.closest(".bridgerte__code-block") : null, H = ct({
1954
1972
  root: e.root,
1955
1973
  content: n,
1956
- getBlockFromTarget: A,
1974
+ getBlockFromTarget: B,
1957
1975
  activateBlock: E,
1958
1976
  clearBlock: _
1959
1977
  }), I = (M, L) => {
@@ -1963,19 +1981,19 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
1963
1981
  b();
1964
1982
  return;
1965
1983
  }
1966
- a || (a = Hn({
1984
+ a || (a = zn({
1967
1985
  root: e.root,
1968
1986
  className: "bridgerte__code-block-menu",
1969
1987
  onBackdropClick: b
1970
1988
  }));
1971
1989
  const S = document.createElement("div");
1972
1990
  a.content.replaceChildren(), a.element.style.minWidth = "180px", S.className = "bridgerte__code-block-menu-list", o.forEach((k) => {
1973
- const B = document.createElement("button");
1974
- B.type = "button", B.className = "bridgerte__menu-item bridgerte__code-block-menu-item", B.textContent = k.label, U(B), B.addEventListener("pointerdown", ($) => {
1991
+ const A = document.createElement("button");
1992
+ A.type = "button", A.className = "bridgerte__menu-item bridgerte__code-block-menu-item", A.textContent = k.label, U(A), A.addEventListener("pointerdown", ($) => {
1975
1993
  $.preventDefault();
1976
- }), B.addEventListener("click", () => {
1994
+ }), A.addEventListener("click", () => {
1977
1995
  b(), f(L, k.value);
1978
- }), S.append(B);
1996
+ }), S.append(A);
1979
1997
  }), a.content.append(S), a.open({
1980
1998
  x: N.left,
1981
1999
  y: N.top,
@@ -1985,15 +2003,15 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
1985
2003
  }, w = (M) => {
1986
2004
  const L = M.target;
1987
2005
  if (!(L instanceof HTMLElement)) return;
1988
- const N = L.closest(Te);
2006
+ const N = L.closest(Le);
1989
2007
  if (!N) return;
1990
- const R = N.closest(Cs);
2008
+ const R = N.closest(Rs);
1991
2009
  if (!R) return;
1992
2010
  const S = R.dataset.lexicalKey;
1993
2011
  S && (M.preventDefault(), M.stopPropagation(), I(R, S));
1994
2012
  }, c = (M) => {
1995
2013
  const L = M.target;
1996
- L instanceof HTMLElement && L.closest(Te) && M.preventDefault();
2014
+ L instanceof HTMLElement && L.closest(Le) && M.preventDefault();
1997
2015
  }, h = (M) => {
1998
2016
  const L = M.target;
1999
2017
  if (!(L instanceof HTMLElement)) return;
@@ -2009,13 +2027,13 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2009
2027
  X(S) && S.selectEnd();
2010
2028
  }), e.editor.focus());
2011
2029
  }, m = () => {
2012
- s === null && (s = Ie(() => {
2030
+ s === null && (s = Re(() => {
2013
2031
  s = null, d !== null && p(d);
2014
2032
  }));
2015
2033
  };
2016
2034
  t.className = "bridgerte__code-block-controls-layer", e.root.append(t);
2017
2035
  const C = e.editor.registerMutationListener(
2018
- mn,
2036
+ gn,
2019
2037
  (M) => {
2020
2038
  M.forEach((L, N) => {
2021
2039
  if (L === "destroyed") {
@@ -2029,22 +2047,22 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2029
2047
  ), P = e.editor.registerUpdateListener(m);
2030
2048
  return t.addEventListener("pointerdown", c), t.addEventListener("click", w), n.addEventListener("pointerdown", h), n.addEventListener("scroll", m, { passive: !0 }), window.addEventListener("resize", m), {
2031
2049
  destroy() {
2032
- O.destroy(), C(), P(), l == null || l(), l = null, s !== null && (it(s), s = null), t.removeEventListener("pointerdown", c), t.removeEventListener("click", w), n.removeEventListener("pointerdown", h), n.removeEventListener("scroll", m), window.removeEventListener("resize", m), u(), t.remove(), a == null || a.destroy(), a = null;
2050
+ H.destroy(), C(), P(), l == null || l(), l = null, s !== null && (lt(s), s = null), t.removeEventListener("pointerdown", c), t.removeEventListener("click", w), n.removeEventListener("pointerdown", h), n.removeEventListener("scroll", m), window.removeEventListener("resize", m), u(), t.remove(), a == null || a.destroy(), a = null;
2033
2051
  }
2034
2052
  };
2035
- }, ct = (e, t = {}) => e.map((n) => {
2053
+ }, dt = (e, t = {}) => e.map((n) => {
2036
2054
  var a;
2037
- const r = (a = t.menuLabels) == null ? void 0 : a[n.id], o = n.payloadPanel ? bn(n.payloadPanel, t.payloadPanelConfig) : void 0;
2055
+ const r = (a = t.menuLabels) == null ? void 0 : a[n.id], o = n.payloadPanel ? yn(n.payloadPanel, t.payloadPanelConfig) : void 0;
2038
2056
  return {
2039
2057
  ...n,
2040
2058
  ...r === void 0 ? {} : { label: r },
2041
2059
  ...o === void 0 ? {} : { payloadPanel: o }
2042
2060
  };
2043
- }), Ms = (e, t) => {
2061
+ }), Os = (e, t) => {
2044
2062
  const n = t.find((r) => r.command === e.command.type);
2045
2063
  return (n == null ? void 0 : n.value) === void 0 ? void 0 : { value: String(n.value) };
2046
- }, Ts = (e, t) => {
2047
- const n = t.find((o) => wo(e.command, o)), r = t.find((o) => o.command === e.command.type);
2064
+ }, $s = (e, t) => {
2065
+ const n = t.find((o) => ko(e.command, o)), r = t.find((o) => o.command === e.command.type);
2048
2066
  return {
2049
2067
  active: (n == null ? void 0 : n.active) === !0,
2050
2068
  disabled: e.payloadPanel ? (r == null ? void 0 : r.disabled) === !0 : (n == null ? void 0 : n.disabled) === !0 || (r == null ? void 0 : r.disabled) === !0
@@ -2053,7 +2071,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2053
2071
  "media-resize-20",
2054
2072
  "media-resize-50",
2055
2073
  "media-resize-100"
2056
- ], Ls = [
2074
+ ], Fs = [
2057
2075
  "media-align-left",
2058
2076
  "media-align-center",
2059
2077
  "media-align-right",
@@ -2061,11 +2079,11 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2061
2079
  ...be,
2062
2080
  "|",
2063
2081
  "media-remove"
2064
- ], Ss = [
2082
+ ], zs = [
2065
2083
  "media-retry",
2066
2084
  "|",
2067
2085
  "media-remove"
2068
- ], Ns = [
2086
+ ], Vs = [
2069
2087
  {
2070
2088
  id: "media-align-left",
2071
2089
  command: { type: "media.align", assetId: "", value: "left" },
@@ -2114,7 +2132,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2114
2132
  label: "删除",
2115
2133
  icon: "trash-2"
2116
2134
  }
2117
- ], $n = (e) => be.includes(e), Ps = (e) => typeof e == "object" && Array.isArray(e.menuKeys), Is = (e) => new Set(e.flatMap((t) => t === "|" ? [] : typeof t == "string" ? [t] : Ps(t) ? [t.key, ...t.menuKeys] : [])), ze = (e) => typeof e == "string" && $n(e), Rs = (e) => {
2135
+ ], Vn = (e) => be.includes(e), Ws = (e) => typeof e == "object" && Array.isArray(e.menuKeys), Us = (e) => new Set(e.flatMap((t) => t === "|" ? [] : typeof t == "string" ? [t] : Ws(t) ? [t.key, ...t.menuKeys] : [])), Ve = (e) => typeof e == "string" && Vn(e), js = (e) => {
2118
2136
  const t = e.findIndex((r) => r === "media-remove"), n = t === -1 ? e.length : t;
2119
2137
  return [
2120
2138
  ...e.slice(0, n),
@@ -2123,24 +2141,24 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2123
2141
  "|",
2124
2142
  ...e.slice(n)
2125
2143
  ];
2126
- }, Bs = (e) => {
2127
- const t = Is(e);
2144
+ }, Ks = (e) => {
2145
+ const t = Us(e);
2128
2146
  if (be.filter((o) => !t.has(o)).length === 0) return e;
2129
- const r = e.findIndex(ze);
2130
- return r === -1 ? Rs(e) : [
2131
- ...e.slice(0, r).filter((o) => !ze(o)),
2147
+ const r = e.findIndex(Ve);
2148
+ return r === -1 ? js(e) : [
2149
+ ...e.slice(0, r).filter((o) => !Ve(o)),
2132
2150
  ...be,
2133
- ...e.slice(r + 1).filter((o) => !ze(o))
2151
+ ...e.slice(r + 1).filter((o) => !Ve(o))
2134
2152
  ];
2135
- }, As = (e) => {
2153
+ }, qs = (e) => {
2136
2154
  var r;
2137
- const t = (e == null ? void 0 : e.toolbarKeys) ?? Ls;
2155
+ const t = (e == null ? void 0 : e.toolbarKeys) ?? Fs;
2138
2156
  return {
2139
2157
  ...e,
2140
- toolbarKeys: Bs(t),
2141
- excludeKeys: (r = e == null ? void 0 : e.excludeKeys) == null ? void 0 : r.filter((o) => !$n(o))
2158
+ toolbarKeys: Ks(t),
2159
+ excludeKeys: (r = e == null ? void 0 : e.excludeKeys) == null ? void 0 : r.filter((o) => !Vn(o))
2142
2160
  };
2143
- }, Ds = (e, t) => {
2161
+ }, Gs = (e, t) => {
2144
2162
  switch (e.command.type) {
2145
2163
  case "media.retry":
2146
2164
  return { ...e.command, assetId: t };
@@ -2153,38 +2171,38 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2153
2171
  default:
2154
2172
  return null;
2155
2173
  }
2156
- }, Os = (e, t, n) => e.command.type === "media.resize" ? e.command.widthPercent === t : e.command.type === "media.align" && e.command.value === n, Fn = (e, t = {}) => {
2157
- const n = ct(Ns, {
2174
+ }, Xs = (e, t, n) => e.command.type === "media.resize" ? e.command.widthPercent === t : e.command.type === "media.align" && e.command.value === n, Wn = (e, t = {}) => {
2175
+ const n = dt(Vs, {
2158
2176
  menuLabels: t.menuLabels
2159
- }), r = e === "error" ? { toolbarKeys: Ss } : As(t.config);
2160
- return rt(r, n);
2161
- }, se = 8, de = "bridgerte__media-controls-button", Hs = (e) => e.querySelector(".bridgerte__content") ?? e, $s = (e) => e instanceof Element ? e.closest(".bridgerte__media") : null, Fs = (e, t = !1) => {
2177
+ }), r = e === "error" ? { toolbarKeys: zs } : qs(t.config);
2178
+ return ot(r, n);
2179
+ }, se = 8, de = "bridgerte__media-controls-button", Ys = (e) => e.querySelector(".bridgerte__content") ?? e, Js = (e) => e instanceof Element ? e.closest(".bridgerte__media") : null, Qs = (e, t = !1) => {
2162
2180
  const n = document.createElement("button");
2163
2181
  return n.type = "button", n.className = de, n.textContent = e.label, n.dataset.menuItemId = e.id, n.dataset.action = e.id.replace(/^media-/, ""), t && (n.dataset.active = "true"), n.setAttribute("aria-label", e.label), n;
2164
- }, zn = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), zs = (e, t, n, r) => {
2182
+ }, Un = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Zs = (e, t, n, r) => {
2165
2183
  if (t.type === "separator") {
2166
2184
  const a = document.createElement("span");
2167
2185
  a.className = "bridgerte__media-controls-separator", a.dataset.separatorId = t.key, a.setAttribute("aria-hidden", "true"), e.append(a);
2168
2186
  return;
2169
2187
  }
2170
2188
  (t.type === "button" ? [t.item] : t.items).forEach((a) => {
2171
- e.append(Fs(
2189
+ e.append(Qs(
2172
2190
  a,
2173
- Os(a, n, r)
2191
+ Xs(a, n, r)
2174
2192
  ));
2175
2193
  });
2176
- }, Ws = (e, t, n) => {
2194
+ }, ei = (e, t, n) => {
2177
2195
  const r = document.createElement("div"), o = e.dataset.status, a = Number(
2178
2196
  e.dataset.displayWidthPercent ?? t
2179
- ), s = e.dataset.align ?? "left", l = Fn(o, {
2197
+ ), s = e.dataset.align ?? "left", l = Wn(o, {
2180
2198
  config: n.mediaControlsConfig,
2181
2199
  menuLabels: n.menuLabels
2182
2200
  });
2183
- return r.className = "bridgerte__media-controls", r.contentEditable = "false", r.setAttribute("aria-label", "媒体操作"), r.dataset.status = o ?? "success", r.dataset.displayWidthPercent = e.dataset.displayWidthPercent ?? "", r.dataset.align = e.dataset.align ?? "", r.dataset.menuItemIds = zn(l).map((d) => d.id).join("|"), l.forEach((d) => {
2184
- zs(r, d, a, s);
2201
+ return r.className = "bridgerte__media-controls", r.contentEditable = "false", r.setAttribute("aria-label", "媒体操作"), r.dataset.status = o ?? "success", r.dataset.displayWidthPercent = e.dataset.displayWidthPercent ?? "", r.dataset.align = e.dataset.align ?? "", r.dataset.menuItemIds = Un(l).map((d) => d.id).join("|"), l.forEach((d) => {
2202
+ Zs(r, d, a, s);
2185
2203
  }), r;
2186
- }, Vs = (e) => {
2187
- const t = document.createElement("div"), n = Hs(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2204
+ }, ti = (e) => {
2205
+ const t = document.createElement("div"), n = Ys(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2188
2206
  let s = null, l = null, d = !1, i = null;
2189
2207
  const g = (c) => {
2190
2208
  var m;
@@ -2222,7 +2240,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2222
2240
  }
2223
2241
  g(c);
2224
2242
  }
2225
- const C = Ws(h, e.defaultWidthPercent, e), P = U(C, {
2243
+ const C = ei(h, e.defaultWidthPercent, e), P = U(C, {
2226
2244
  targetSelector: `.${de}`
2227
2245
  });
2228
2246
  C.dataset.lexicalKey = c, C.dataset.assetId = h.dataset.assetId, r.set(c, C), o.set(C, P), t.append(C), b(C, h);
@@ -2236,14 +2254,14 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2236
2254
  T(h);
2237
2255
  }), i !== null && T(i);
2238
2256
  }, y = () => {
2239
- s === null && (s = Ie(f));
2257
+ s === null && (s = Re(f));
2240
2258
  }, x = (c, h) => {
2241
- const m = h.dataset.assetId, C = zn(Fn(h.dataset.status, {
2259
+ const m = h.dataset.assetId, C = Un(Wn(h.dataset.status, {
2242
2260
  config: e.mediaControlsConfig,
2243
2261
  menuLabels: e.menuLabels
2244
2262
  })).find((M) => M.id === c.dataset.menuItemId);
2245
2263
  if (!m || !C) return;
2246
- const P = Ds(C, m);
2264
+ const P = Gs(C, m);
2247
2265
  P && e.executeCommand(P);
2248
2266
  }, u = (c) => {
2249
2267
  if (!c) {
@@ -2266,7 +2284,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2266
2284
  C === l && m && (c.preventDefault(), c.stopPropagation(), x(C, m), d = !0), l = null;
2267
2285
  }, _ = () => {
2268
2286
  l = null;
2269
- }, A = (c) => {
2287
+ }, B = (c) => {
2270
2288
  if (d) {
2271
2289
  d = !1, c.preventDefault(), c.stopPropagation();
2272
2290
  return;
@@ -2275,7 +2293,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2275
2293
  if (!(h instanceof HTMLElement)) return;
2276
2294
  const m = h.closest(`.${de}`), C = h.closest(".bridgerte__media-controls");
2277
2295
  !m || !C || (c.preventDefault(), c.stopPropagation(), x(m, C));
2278
- }, O = e.editor.registerMutationListener(
2296
+ }, H = e.editor.registerMutationListener(
2279
2297
  le,
2280
2298
  (c) => {
2281
2299
  c.forEach((h, m) => {
@@ -2286,32 +2304,32 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2286
2304
  T(m);
2287
2305
  });
2288
2306
  }
2289
- ), I = e.editor.registerUpdateListener(y), w = lt({
2307
+ ), I = e.editor.registerUpdateListener(y), w = ct({
2290
2308
  root: e.root,
2291
2309
  content: n,
2292
- getBlockFromTarget: $s,
2310
+ getBlockFromTarget: Js,
2293
2311
  activateBlock: u,
2294
2312
  clearBlock: () => u(null)
2295
2313
  });
2296
- return t.className = "bridgerte__media-controls-layer", e.root.append(t), t.addEventListener("pointerdown", p), t.addEventListener("pointerup", E), t.addEventListener("pointercancel", _), t.addEventListener("click", A), n.addEventListener("scroll", y, { passive: !0 }), window.addEventListener("resize", y), {
2314
+ return t.className = "bridgerte__media-controls-layer", e.root.append(t), t.addEventListener("pointerdown", p), t.addEventListener("pointerup", E), t.addEventListener("pointercancel", _), t.addEventListener("click", B), n.addEventListener("scroll", y, { passive: !0 }), window.addEventListener("resize", y), {
2297
2315
  destroy() {
2298
- O(), I(), s !== null && (it(s), s = null), t.removeEventListener("pointerdown", p), t.removeEventListener("pointerup", E), t.removeEventListener("pointercancel", _), t.removeEventListener("click", A), w.destroy(), n.removeEventListener("scroll", y), window.removeEventListener("resize", y), r.forEach((c) => {
2316
+ H(), I(), s !== null && (lt(s), s = null), t.removeEventListener("pointerdown", p), t.removeEventListener("pointerup", E), t.removeEventListener("pointercancel", _), t.removeEventListener("click", B), w.destroy(), n.removeEventListener("scroll", y), window.removeEventListener("resize", y), r.forEach((c) => {
2299
2317
  var h;
2300
2318
  (h = o.get(c)) == null || h(), c.remove();
2301
2319
  }), r.clear(), o.clear(), a.clear(), t.remove();
2302
2320
  }
2303
2321
  };
2304
- }, Us = ["width", "height"], q = (e, t) => {
2322
+ }, ni = ["width", "height"], q = (e, t) => {
2305
2323
  var r;
2306
2324
  const n = (r = e[t]) == null ? void 0 : r.trim();
2307
2325
  return n || void 0;
2308
- }, Je = (e, t) => {
2326
+ }, Qe = (e, t) => {
2309
2327
  const n = Number.parseInt(e[t] ?? "", 10);
2310
2328
  return Number.isFinite(n) && n > 0 ? n : void 0;
2311
- }, Dt = (e, t) => Us.reduce((n, r) => {
2312
- const o = Je(t, r);
2329
+ }, Ht = (e, t) => ni.reduce((n, r) => {
2330
+ const o = Qe(t, r);
2313
2331
  return o === void 0 ? n : { ...n, [r]: o };
2314
- }, e), js = (e, t) => {
2332
+ }, e), ri = (e, t) => {
2315
2333
  if (e.type === "format.color" || e.type === "format.backgroundColor" || e.type === "format.fontSize" || e.type === "format.fontFamily" || e.type === "format.lineHeight")
2316
2334
  return t.value !== void 0 ? { ...e, value: t.value } : e;
2317
2335
  if (e.type === "link.set") {
@@ -2323,12 +2341,12 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2323
2341
  if (e.type === "block.setCodeLanguage")
2324
2342
  return t.language !== void 0 ? { ...e, language: t.language } : e;
2325
2343
  if (e.type === "table.insert") {
2326
- const n = Je(t, "rows"), r = Je(t, "cols");
2344
+ const n = Qe(t, "rows"), r = Qe(t, "cols");
2327
2345
  return n && r ? { type: "table.insert", rows: n, cols: r } : null;
2328
2346
  }
2329
2347
  if (e.type === "media.insertImage") {
2330
2348
  const n = q(t, "url");
2331
- return n ? Dt({
2349
+ return n ? Ht({
2332
2350
  ...e,
2333
2351
  url: n,
2334
2352
  alt: q(t, "alt"),
@@ -2337,7 +2355,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2337
2355
  }
2338
2356
  if (e.type === "media.insertVideo") {
2339
2357
  const n = q(t, "url");
2340
- return n ? Dt({
2358
+ return n ? Ht({
2341
2359
  ...e,
2342
2360
  url: n,
2343
2361
  poster: q(t, "poster"),
@@ -2345,7 +2363,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2345
2363
  }, t) : null;
2346
2364
  }
2347
2365
  return e;
2348
- }, ee = (e) => Math.min(Math.max(Math.round(e), 0), 255), Qe = ({ r: e, g: t, b: n }) => `#${[e, t, n].map((r) => ee(r).toString(16).padStart(2, "0")).join("")}`, Wn = (e) => {
2366
+ }, ee = (e) => Math.min(Math.max(Math.round(e), 0), 255), Ze = ({ r: e, g: t, b: n }) => `#${[e, t, n].map((r) => ee(r).toString(16).padStart(2, "0")).join("")}`, jn = (e) => {
2349
2367
  const n = e.trim().match(/^#([0-9a-f]{6})$/i);
2350
2368
  if (!n) return null;
2351
2369
  const r = n[1] ?? "";
@@ -2354,7 +2372,7 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2354
2372
  g: Number.parseInt(r.slice(2, 4), 16),
2355
2373
  b: Number.parseInt(r.slice(4, 6), 16)
2356
2374
  };
2357
- }, Ks = (e) => {
2375
+ }, oi = (e) => {
2358
2376
  const t = e.trim().match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i);
2359
2377
  return t ? {
2360
2378
  r: ee(Number(t[1])),
@@ -2362,9 +2380,9 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2362
2380
  b: ee(Number(t[3]))
2363
2381
  } : null;
2364
2382
  }, We = (e) => {
2365
- const t = Wn(e) ?? Ks(e);
2366
- return t ? Qe(t) : null;
2367
- }, Vn = (e) => Math.min(Math.max(e, 0), 1), qs = ({ r: e, g: t, b: n }) => {
2383
+ const t = jn(e) ?? oi(e);
2384
+ return t ? Ze(t) : null;
2385
+ }, Kn = (e) => Math.min(Math.max(e, 0), 1), ai = ({ r: e, g: t, b: n }) => {
2368
2386
  const r = ee(e) / 255, o = ee(t) / 255, a = ee(n) / 255, s = Math.max(r, o, a), l = Math.min(r, o, a), d = s - l;
2369
2387
  let i = 0;
2370
2388
  return d !== 0 && (s === r ? i = 60 * ((o - a) / d % 6) : s === o ? i = 60 * ((a - r) / d + 2) : i = 60 * ((r - o) / d + 4)), {
@@ -2384,30 +2402,30 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2384
2402
  g: (l + a) * 255,
2385
2403
  b: (d + a) * 255
2386
2404
  };
2387
- }, Gs = ({ h: e, s: t }) => {
2388
- const n = e * Math.PI / 180, r = Vn(t) * 50;
2405
+ }, si = ({ h: e, s: t }) => {
2406
+ const n = e * Math.PI / 180, r = Kn(t) * 50;
2389
2407
  return {
2390
2408
  x: 50 + Math.cos(n) * r,
2391
2409
  y: 50 + Math.sin(n) * r
2392
2410
  };
2393
- }, Ht = (e, t) => {
2411
+ }, $t = (e, t) => {
2394
2412
  const n = t.getBoundingClientRect(), r = n.left + n.width / 2, o = n.top + n.height / 2, a = e.clientX - r, s = e.clientY - o, l = Math.min(Math.sqrt(a * a + s * s), n.width / 2), d = Math.atan2(s, a) * 180 / Math.PI;
2395
2413
  return {
2396
2414
  h: d < 0 ? d + 360 : d,
2397
- s: Vn(l / (n.width / 2)),
2415
+ s: Kn(l / (n.width / 2)),
2398
2416
  v: 1
2399
2417
  };
2400
- }, Xs = [
2418
+ }, ii = [
2401
2419
  "#000000",
2402
2420
  "#ffffff"
2403
- ], Ys = (e) => {
2421
+ ], li = (e) => {
2404
2422
  var t;
2405
- return (t = e.options) != null && t.length ? e.options : Xs.map((n) => ({ label: n, value: n }));
2406
- }, Un = () => {
2423
+ return (t = e.options) != null && t.length ? e.options : ii.map((n) => ({ label: n, value: n }));
2424
+ }, qn = () => {
2407
2425
  const e = document.createElement("section");
2408
2426
  return e.className = "bridgerte__payload-panel-field", e;
2409
- }, Js = (e, t, n) => {
2410
- const r = Un(), o = document.createElement("div");
2427
+ }, ci = (e, t, n) => {
2428
+ const r = qn(), o = document.createElement("div");
2411
2429
  return o.className = "bridgerte__payload-panel-option-list", e.options.forEach((a) => {
2412
2430
  const s = document.createElement("button");
2413
2431
  s.type = "button", s.className = "bridgerte__payload-panel-option", s.textContent = a.label, s.dataset.bridgertePayloadOption = a.value, s.dataset.active = t[e.name] === a.value ? "true" : "false", U(s), s.addEventListener("pointerdown", (l) => {
@@ -2419,8 +2437,8 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2419
2437
  });
2420
2438
  }), o.append(s);
2421
2439
  }), r.append(o), r;
2422
- }, Qs = (e, t, n) => {
2423
- const r = Un(), o = document.createElement("div"), a = document.createElement("div"), s = document.createElement("span"), l = document.createElement("div"), d = document.createElement("div"), i = Ys(e), g = i.length === 2;
2440
+ }, di = (e, t, n) => {
2441
+ const r = qn(), o = document.createElement("div"), a = document.createElement("div"), s = document.createElement("span"), l = document.createElement("div"), d = document.createElement("div"), i = li(e), g = i.length === 2;
2424
2442
  let v = { h: 0, s: 0, v: 1 }, b = null;
2425
2443
  const T = (u) => {
2426
2444
  const p = We(u);
@@ -2428,8 +2446,8 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2428
2446
  }, f = (u, p = !0) => {
2429
2447
  const E = We(u);
2430
2448
  if (!E) return;
2431
- t[e.name] = E, d.style.background = E, v = qs(Wn(E) ?? { r: 255, g: 255, b: 255 });
2432
- const _ = Gs(v);
2449
+ t[e.name] = E, d.style.background = E, v = ai(jn(E) ?? { r: 255, g: 255, b: 255 });
2450
+ const _ = si(v);
2433
2451
  a.dataset.active = p ? "true" : "false", d.dataset.empty = "false", p && (s.style.left = `${_.x}%`, s.style.top = `${_.y}%`);
2434
2452
  }, y = () => {
2435
2453
  const u = t[e.name];
@@ -2446,9 +2464,9 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2446
2464
  f(E, !1), y();
2447
2465
  }), l.append(p);
2448
2466
  }), a.addEventListener("pointerdown", (u) => {
2449
- b = u.pointerId, a.setPointerCapture(u.pointerId), v = Ht(u, a), f(Qe(Ot(v))), u.preventDefault();
2467
+ b = u.pointerId, a.setPointerCapture(u.pointerId), v = $t(u, a), f(Ze(Ot(v))), u.preventDefault();
2450
2468
  }), a.addEventListener("pointermove", (u) => {
2451
- b === u.pointerId && (v = Ht(u, a), f(Qe(Ot(v))));
2469
+ b === u.pointerId && (v = $t(u, a), f(Ze(Ot(v))));
2452
2470
  }), a.addEventListener("pointerup", (u) => {
2453
2471
  b === u.pointerId && (b = null, a.releasePointerCapture(u.pointerId), y());
2454
2472
  }), a.addEventListener("pointercancel", (u) => {
@@ -2456,35 +2474,35 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2456
2474
  });
2457
2475
  const x = t[e.name];
2458
2476
  return x && f(x, !(g && T(x))), o.append(a, l), r.append(o, d), r;
2459
- }, Zs = (e, t, n) => {
2477
+ }, ui = (e, t, n) => {
2460
2478
  const r = document.createElement("label"), o = document.createElement("input");
2461
2479
  return r.className = "bridgerte__payload-panel-text-field", r.textContent = e.label, o.type = e.name === "href" || e.name === "url" ? "url" : "text", o.className = "bridgerte__payload-panel-text-input", o.value = t[e.name] ?? "", o.placeholder = e.placeholder ?? "", o.spellcheck = !1, o.addEventListener("input", () => {
2462
2480
  t[e.name] = o.value;
2463
2481
  }), o.addEventListener("keydown", (a) => {
2464
2482
  a.key === "Enter" && (a.preventDefault(), n(t));
2465
2483
  }), r.append(o), r;
2466
- }, ei = (e, t, n) => {
2484
+ }, mi = (e, t, n) => {
2467
2485
  const r = document.createElement("label"), o = document.createElement("input");
2468
2486
  return r.className = "bridgerte__payload-panel-text-field", r.textContent = e.label, o.type = "number", o.className = "bridgerte__payload-panel-text-input", o.value = t[e.name] ?? "", o.placeholder = e.placeholder ?? "", e.min !== void 0 && (o.min = String(e.min)), e.max !== void 0 && (o.max = String(e.max)), e.step !== void 0 && (o.step = String(e.step)), o.addEventListener("input", () => {
2469
2487
  t[e.name] = o.value;
2470
2488
  }), o.addEventListener("keydown", (a) => {
2471
2489
  a.key === "Enter" && (a.preventDefault(), n(t));
2472
2490
  }), r.append(o), r;
2473
- }, ti = ({
2491
+ }, gi = ({
2474
2492
  field: e,
2475
2493
  values: t,
2476
2494
  onSubmit: n
2477
- }) => e.type === "color" ? Qs(e, t, n) : e.type === "text" ? Zs(e, t, n) : e.type === "number" ? ei(e, t, n) : Js(e, t, n), ni = (e) => {
2495
+ }) => e.type === "color" ? di(e, t, n) : e.type === "text" ? ui(e, t, n) : e.type === "number" ? mi(e, t, n) : ci(e, t, n), hi = (e) => {
2478
2496
  var t, n, r;
2479
2497
  return e.defaultValue ?? (e.type === "select" ? (t = e.options[0]) == null ? void 0 : t.value : void 0) ?? (e.type === "color" ? (r = (n = e.options) == null ? void 0 : n[0]) == null ? void 0 : r.value : void 0) ?? "";
2480
- }, ri = (e, t) => (t == null ? void 0 : t[e.name]) ?? (e.type === "color" ? "" : ni(e)), $t = (e) => e.some((t) => t.type === "text" || t.type === "number"), oi = (e) => {
2498
+ }, pi = (e, t) => (t == null ? void 0 : t[e.name]) ?? (e.type === "color" ? "" : hi(e)), Ft = (e) => e.some((t) => t.type === "text" || t.type === "number"), fi = (e) => {
2481
2499
  const t = e.querySelector(
2482
2500
  ".bridgerte__payload-panel-text-input"
2483
2501
  );
2484
2502
  queueMicrotask(() => {
2485
2503
  t == null || t.focus(), t == null || t.select();
2486
2504
  });
2487
- }, ai = (e, t, n) => {
2505
+ }, bi = (e, t, n) => {
2488
2506
  const r = document.createElement("div"), o = document.createElement("span"), a = (n == null ? void 0 : n(e)) ?? null;
2489
2507
  if (r.className = "bridgerte__payload-panel-title", o.textContent = e.panel.title, r.append(o), a) {
2490
2508
  const s = document.createElement("button");
@@ -2495,20 +2513,20 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2495
2513
  }), r.append(s);
2496
2514
  }
2497
2515
  return r;
2498
- }, si = (e) => (
2516
+ }, yi = (e) => (
2499
2517
  /*
2500
2518
  * 字体类面板只需要紧凑候选列表,颜色面板需要保留一点横向空间给圆盘和黑白按钮。
2501
2519
  * 输入型面板保留默认宽度;table-insert 会按 schema 网格列数单独计算。
2502
2520
  */
2503
2521
  e === "font-size" || e === "font-family" || e === "line-height" ? "180px" : "220px"
2504
- ), ii = 3, li = 3, ci = 10, jn = 10, di = 16, ui = 2, mi = 24, gi = () => {
2522
+ ), vi = 3, wi = 3, Ci = 10, Gn = 10, _i = 16, ki = 2, Ei = 24, xi = () => {
2505
2523
  var e;
2506
2524
  return typeof window < "u" && ((e = window.matchMedia) == null ? void 0 : e.call(window, "(hover: hover) and (pointer: fine)").matches) === !0;
2507
2525
  }, ue = (e, t) => {
2508
2526
  const n = Number.parseInt(e ?? "", 10);
2509
2527
  return Number.isFinite(n) ? Math.min(Math.max(n, t.min), t.max) : t.defaultValue;
2510
- }, hi = (e, t) => e.type === "number" && e.name === t, Ft = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : t, zt = (e, t, n, r) => {
2511
- const o = e.find((g) => hi(g, t)), a = Ft(o == null ? void 0 : o.min, 1), s = Ft(o == null ? void 0 : o.max, n), l = Math.max(a, s), d = Math.min(Math.max(r, a), l), i = ue(o == null ? void 0 : o.defaultValue, {
2528
+ }, Mi = (e, t) => e.type === "number" && e.name === t, zt = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : t, Vt = (e, t, n, r) => {
2529
+ const o = e.find((g) => Mi(g, t)), a = zt(o == null ? void 0 : o.min, 1), s = zt(o == null ? void 0 : o.max, n), l = Math.max(a, s), d = Math.min(Math.max(r, a), l), i = ue(o == null ? void 0 : o.defaultValue, {
2512
2530
  min: a,
2513
2531
  max: l,
2514
2532
  defaultValue: d
@@ -2518,28 +2536,28 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2518
2536
  max: l,
2519
2537
  defaultValue: i
2520
2538
  };
2521
- }, Kn = (e) => ({
2522
- rows: zt(
2539
+ }, Xn = (e) => ({
2540
+ rows: Vt(
2523
2541
  e,
2524
2542
  "rows",
2525
- en,
2526
- ii
2543
+ tn,
2544
+ vi
2527
2545
  ),
2528
- cols: zt(
2546
+ cols: Vt(
2529
2547
  e,
2530
2548
  "cols",
2531
- tn,
2532
- li
2549
+ nn,
2550
+ wi
2533
2551
  )
2534
- }), pi = (e) => {
2535
- const t = Math.min(e.cols.max, jn);
2536
- return `${t * di + Math.max(t - 1, 0) * ui + mi}px`;
2537
- }, fi = ({
2552
+ }), Ti = (e) => {
2553
+ const t = Math.min(e.cols.max, Gn);
2554
+ return `${t * _i + Math.max(t - 1, 0) * ki + Ei}px`;
2555
+ }, Li = ({
2538
2556
  fields: e,
2539
2557
  values: t,
2540
2558
  onSubmit: n
2541
2559
  }) => {
2542
- const r = Kn(e), o = document.createElement("section"), a = document.createElement("div"), s = document.createElement("div"), l = [], d = gi(), i = Math.min(r.rows.max, ci), g = Math.min(r.cols.max, jn), v = {
2560
+ const r = Xn(e), o = document.createElement("section"), a = document.createElement("div"), s = document.createElement("div"), l = [], d = xi(), i = Math.min(r.rows.max, Ci), g = Math.min(r.cols.max, Gn), v = {
2543
2561
  ...r.rows,
2544
2562
  max: i,
2545
2563
  defaultValue: Math.min(r.rows.defaultValue, i)
@@ -2581,9 +2599,9 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2581
2599
  });
2582
2600
  }, _ = () => {
2583
2601
  y = null;
2584
- }, A = () => {
2602
+ }, B = () => {
2585
2603
  window.setTimeout(_, 0);
2586
- }, O = (I, w) => {
2604
+ }, H = (I, w) => {
2587
2605
  if (I.detail > 0 && y !== w) {
2588
2606
  I.preventDefault(), I.stopPropagation();
2589
2607
  return;
@@ -2595,8 +2613,8 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2595
2613
  const c = document.createElement("button");
2596
2614
  c.type = "button", c.className = "bridgerte__payload-panel-table-cell", c.dataset.rows = String(I), c.dataset.cols = String(w), c.setAttribute("aria-label", `插入 ${I} 行 ${w} 列表格`), U(c), c.addEventListener("pointerdown", (h) => {
2597
2615
  y = c, p(c), h.preventDefault();
2598
- }), c.addEventListener("pointerup", A), c.addEventListener("pointercancel", _), c.addEventListener("click", (h) => {
2599
- O(h, c);
2616
+ }), c.addEventListener("pointerup", B), c.addEventListener("pointercancel", _), c.addEventListener("click", (h) => {
2617
+ H(h, c);
2600
2618
  }), d && c.addEventListener("pointerenter", () => {
2601
2619
  p(c);
2602
2620
  }), l.push(c), a.append(c);
@@ -2607,18 +2625,18 @@ const _s = () => (At += 1, `${ws}-${At}`), ks = (e, t, n) => {
2607
2625
  ), s.className = "bridgerte__payload-panel-table-status", s.setAttribute("aria-live", "polite"), a.addEventListener("pointermove", (I) => {
2608
2626
  d || p(u(I));
2609
2627
  }), x(T, f), o.append(a, s), o;
2610
- }, bi = "bridgerte-payload-panel";
2628
+ }, Si = "bridgerte-payload-panel";
2611
2629
  let Wt = 0;
2612
- const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-insert", vi = (e, t) => {
2630
+ const Ni = () => (Wt += 1, `${Si}-${Wt}`), xe = (e) => e.panel.id === "table-insert", Pi = (e, t) => {
2613
2631
  const n = document.createElement("button");
2614
2632
  return n.type = "button", n.className = "bridgerte__payload-panel-submit", n.textContent = "应用", U(n), n.addEventListener("pointerdown", (r) => {
2615
2633
  r.preventDefault();
2616
2634
  }), n.addEventListener("click", () => {
2617
2635
  t(e);
2618
2636
  }), n;
2619
- }, wi = (e) => {
2637
+ }, Ii = (e) => {
2620
2638
  let t = null, n = {};
2621
- const r = Hn({
2639
+ const r = zn({
2622
2640
  root: e.editorRoot,
2623
2641
  className: "bridgerte__payload-panel",
2624
2642
  onBackdropClick: () => {
@@ -2631,7 +2649,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2631
2649
  const a = (i) => {
2632
2650
  var v;
2633
2651
  if (!t || t.readonly || e.isReadonly()) return;
2634
- const g = js(t.command, i);
2652
+ const g = ri(t.command, i);
2635
2653
  g && ((v = e.restoreEditorFocus) == null || v.call(e, () => {
2636
2654
  o(), e.isReadonly() || e.executeCommand(g);
2637
2655
  }));
@@ -2641,19 +2659,19 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2641
2659
  o(), e.isReadonly() || e.executeCommand(i);
2642
2660
  });
2643
2661
  }, l = (i) => {
2644
- n = i.panel.fields.reduce((v, b) => (v[b.name] = ri(b, i.currentValues), v), {});
2645
- const g = Ee(i) ? pi(Kn(i.panel.fields)) : si(i.panel.id);
2646
- r.element.style.width = `min(${g}, calc(100vw - 24px))`, r.content.append(ai(i, s, e.getClearCommand)), Ee(i) ? r.content.append(fi({
2662
+ n = i.panel.fields.reduce((v, b) => (v[b.name] = pi(b, i.currentValues), v), {});
2663
+ const g = xe(i) ? Ti(Xn(i.panel.fields)) : yi(i.panel.id);
2664
+ r.element.style.width = `min(${g}, calc(100vw - 24px))`, r.content.append(bi(i, s, e.getClearCommand)), xe(i) ? r.content.append(Li({
2647
2665
  fields: i.panel.fields,
2648
2666
  values: n,
2649
2667
  onSubmit: a
2650
2668
  })) : i.panel.fields.forEach((v) => {
2651
- r.content.append(ti({
2669
+ r.content.append(gi({
2652
2670
  field: v,
2653
2671
  values: n,
2654
2672
  onSubmit: a
2655
2673
  }));
2656
- }), !Ee(i) && $t(i.panel.fields) && r.content.append(vi(n, a)), r.open(i.anchorRect), !Ee(i) && $t(i.panel.fields) && oi(r.content);
2674
+ }), !xe(i) && Ft(i.panel.fields) && r.content.append(Pi(n, a)), r.open(i.anchorRect), !xe(i) && Ft(i.panel.fields) && fi(r.content);
2657
2675
  };
2658
2676
  return {
2659
2677
  open: (i) => {
@@ -2661,7 +2679,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2661
2679
  o();
2662
2680
  const g = {
2663
2681
  ...i,
2664
- id: yi(),
2682
+ id: Ni(),
2665
2683
  readonly: e.isReadonly(),
2666
2684
  submit: a,
2667
2685
  cancel: o
@@ -2679,36 +2697,36 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2679
2697
  o(), r.destroy();
2680
2698
  }
2681
2699
  };
2682
- }, me = "bridgerte__table-controls-button", Ci = [
2700
+ }, me = "bridgerte__table-controls-button", Ri = [
2683
2701
  "table-insert-row-after",
2684
2702
  "table-delete-row",
2685
2703
  "table-insert-column-after",
2686
2704
  "table-delete-column",
2687
2705
  "table-delete"
2688
- ], _i = () => {
2689
- const e = new Map(Ae.map((t) => [t.id, t]));
2690
- return Ci.map((t) => Co.find((n) => n.id === t) ?? e.get(t)).filter((t) => t !== void 0);
2691
- }, qn = _i(), ki = new Map(
2706
+ ], Ai = () => {
2707
+ const e = new Map(De.map((t) => [t.id, t]));
2708
+ return Ri.map((t) => Eo.find((n) => n.id === t) ?? e.get(t)).filter((t) => t !== void 0);
2709
+ }, Yn = Ai(), Bi = new Map(
2692
2710
  /*
2693
2711
  * Controls 按钮用 MenuItem.id 查完整 command,同类命令的不同 payload 不能用 command.type 合并。
2694
2712
  * 后续加入插入前/后、合并/拆分等表格菜单时,只要 id 稳定,就不会互相覆盖。
2695
2713
  */
2696
- qn.map((e) => [e.id, e])
2697
- ), Ei = (e) => e.matches(".bridgerte__table") ? e : e.querySelector(".bridgerte__table") ?? e, xi = (e, t) => e.classList.contains("bridgerte__table-wrapper") ? e : t.parentElement instanceof HTMLElement ? t.parentElement : t, Mi = (e) => e.querySelector(".bridgerte__content") ?? e, Ti = (e) => e instanceof Element ? e.closest(".bridgerte__table-wrapper") : null, Li = (e) => {
2714
+ Yn.map((e) => [e.id, e])
2715
+ ), Di = (e) => e.matches(".bridgerte__table") ? e : e.querySelector(".bridgerte__table") ?? e, Hi = (e, t) => e.classList.contains("bridgerte__table-wrapper") ? e : t.parentElement instanceof HTMLElement ? t.parentElement : t, Oi = (e) => e.querySelector(".bridgerte__content") ?? e, $i = (e) => e instanceof Element ? e.closest(".bridgerte__table-wrapper") : null, Fi = (e) => {
2698
2716
  const t = e.getFirstChild();
2699
- if (!no(t)) return null;
2717
+ if (!ao(t)) return null;
2700
2718
  const n = t.getFirstChild();
2701
- return ro(n) ? n : null;
2702
- }, Si = (e) => {
2719
+ return so(n) ? n : null;
2720
+ }, zi = (e) => {
2703
2721
  const t = document.createElement("button");
2704
2722
  return t.type = "button", t.className = me, t.textContent = e.label, t.dataset.menuItemId = e.id, t.setAttribute("aria-label", e.label), t;
2705
- }, Ni = () => {
2723
+ }, Vi = () => {
2706
2724
  const e = document.createElement("div");
2707
- return e.className = "bridgerte__table-controls", e.contentEditable = "false", e.setAttribute("aria-label", "表格操作"), qn.forEach((t) => {
2708
- e.append(Si(t));
2725
+ return e.className = "bridgerte__table-controls", e.contentEditable = "false", e.setAttribute("aria-label", "表格操作"), Yn.forEach((t) => {
2726
+ e.append(zi(t));
2709
2727
  }), e;
2710
- }, Pi = (e) => {
2711
- const t = document.createElement("div"), n = Mi(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2728
+ }, Wi = (e) => {
2729
+ const t = document.createElement("div"), n = Oi(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2712
2730
  let s = null, l = null, d = !1, i = null;
2713
2731
  const g = (m, C) => {
2714
2732
  const P = e.root.getBoundingClientRect(), M = C.getBoundingClientRect(), L = M.bottom < P.top || M.top > P.bottom, N = Math.max(
@@ -2726,7 +2744,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2726
2744
  return;
2727
2745
  }
2728
2746
  C.dataset.lexicalKey = m;
2729
- const P = Ei(C), M = xi(C, P);
2747
+ const P = Di(C), M = Hi(C, P);
2730
2748
  a.set(M, m);
2731
2749
  const L = r.get(m);
2732
2750
  if (!v(m)) {
@@ -2737,7 +2755,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2737
2755
  g(L, M);
2738
2756
  return;
2739
2757
  }
2740
- const N = Ni(), R = U(N, {
2758
+ const N = Vi(), R = U(N, {
2741
2759
  targetSelector: `.${me}`
2742
2760
  });
2743
2761
  N.dataset.lexicalKey = m, r.set(m, N), o.set(N, R), t.append(N), g(N, M);
@@ -2755,17 +2773,17 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2755
2773
  b(C);
2756
2774
  }), i !== null && b(i);
2757
2775
  }, y = () => {
2758
- s === null && (s = Ie(f));
2776
+ s === null && (s = Re(f));
2759
2777
  }, x = (m) => {
2760
2778
  e.editor.update(() => {
2761
2779
  var P;
2762
2780
  const C = he(m);
2763
- C instanceof qe && ((P = Li(C)) == null || P.selectStart());
2781
+ C instanceof Ge && ((P = Fi(C)) == null || P.selectStart());
2764
2782
  }), e.editor.focus();
2765
2783
  }, u = (m, C) => {
2766
2784
  x(m), e.executeCommand(C);
2767
2785
  }, p = (m, C) => {
2768
- const P = C.dataset.lexicalKey, M = m.dataset.menuItemId, L = M ? ki.get(M) : void 0;
2786
+ const P = C.dataset.lexicalKey, M = m.dataset.menuItemId, L = M ? Bi.get(M) : void 0;
2769
2787
  !P || !L || u(P, L.command);
2770
2788
  }, E = (m) => {
2771
2789
  if (!m) {
@@ -2782,11 +2800,11 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2782
2800
  if (!(C instanceof HTMLElement)) return;
2783
2801
  const P = C.closest(`.${me}`);
2784
2802
  P && (m.preventDefault(), l = m.pointerType === "mouse" ? null : P);
2785
- }, A = (m) => {
2803
+ }, B = (m) => {
2786
2804
  if (m.pointerType === "mouse" || !l) return;
2787
2805
  const C = m.target, P = C instanceof HTMLElement ? C.closest(".bridgerte__table-controls") : null, M = C instanceof HTMLElement ? C.closest(`.${me}`) : null;
2788
2806
  M === l && P && (m.preventDefault(), m.stopPropagation(), p(M, P), d = !0), l = null;
2789
- }, O = () => {
2807
+ }, H = () => {
2790
2808
  l = null;
2791
2809
  }, I = (m) => {
2792
2810
  if (d) {
@@ -2798,7 +2816,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2798
2816
  const P = C.closest(`.${me}`), M = C.closest(".bridgerte__table-controls");
2799
2817
  !P || !M || (m.preventDefault(), m.stopPropagation(), p(P, M));
2800
2818
  }, w = e.editor.registerMutationListener(
2801
- qe,
2819
+ Ge,
2802
2820
  (m) => {
2803
2821
  m.forEach((C, P) => {
2804
2822
  if (C === "destroyed") {
@@ -2808,41 +2826,41 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2808
2826
  b(P);
2809
2827
  });
2810
2828
  }
2811
- ), c = e.editor.registerUpdateListener(y), h = lt({
2829
+ ), c = e.editor.registerUpdateListener(y), h = ct({
2812
2830
  root: e.root,
2813
2831
  content: n,
2814
- getBlockFromTarget: Ti,
2832
+ getBlockFromTarget: $i,
2815
2833
  activateBlock: E,
2816
2834
  clearBlock: () => E(null)
2817
2835
  });
2818
- return t.className = "bridgerte__table-controls-layer", e.root.append(t), t.addEventListener("pointerdown", _), t.addEventListener("pointerup", A), t.addEventListener("pointercancel", O), t.addEventListener("click", I), n.addEventListener("scroll", y, { passive: !0 }), window.addEventListener("resize", y), {
2836
+ return t.className = "bridgerte__table-controls-layer", e.root.append(t), t.addEventListener("pointerdown", _), t.addEventListener("pointerup", B), t.addEventListener("pointercancel", H), t.addEventListener("click", I), n.addEventListener("scroll", y, { passive: !0 }), window.addEventListener("resize", y), {
2819
2837
  destroy() {
2820
- w(), c(), s !== null && (it(s), s = null), t.removeEventListener("pointerdown", _), t.removeEventListener("pointerup", A), t.removeEventListener("pointercancel", O), t.removeEventListener("click", I), h.destroy(), n.removeEventListener("scroll", y), window.removeEventListener("resize", y), r.forEach((m) => {
2838
+ w(), c(), s !== null && (lt(s), s = null), t.removeEventListener("pointerdown", _), t.removeEventListener("pointerup", B), t.removeEventListener("pointercancel", H), t.removeEventListener("click", I), h.destroy(), n.removeEventListener("scroll", y), window.removeEventListener("resize", y), r.forEach((m) => {
2821
2839
  var C;
2822
2840
  (C = o.get(m)) == null || C(), m.remove();
2823
2841
  }), r.clear(), o.clear(), a.clear(), t.remove();
2824
2842
  }
2825
2843
  };
2826
- }, Ii = (e) => {
2827
- const t = wi({
2844
+ }, Ui = (e) => {
2845
+ const t = Ii({
2828
2846
  editorRoot: e.editorRoot,
2829
2847
  isReadonly: e.isReadonly,
2830
2848
  restoreEditorFocus: e.restoreEditorFocus,
2831
2849
  executeCommand: e.executeCommand,
2832
2850
  getClearCommand: e.getClearCommand,
2833
2851
  onRequest: e.onRequest
2834
- }), n = xs({
2852
+ }), n = Hs({
2835
2853
  editor: e.lexicalEditor,
2836
2854
  root: e.editorRoot,
2837
2855
  isReadonly: e.isReadonly,
2838
2856
  languagePanel: e.codeBlockLanguagePanel,
2839
2857
  payloadPanelConfig: e.payloadPanelConfig,
2840
2858
  onRequest: e.onRequest
2841
- }), r = Pi({
2859
+ }), r = Wi({
2842
2860
  editor: e.lexicalEditor,
2843
2861
  root: e.editorRoot,
2844
2862
  executeCommand: e.executeCommand
2845
- }), o = Vs({
2863
+ }), o = ti({
2846
2864
  editor: e.lexicalEditor,
2847
2865
  root: e.editorRoot,
2848
2866
  defaultWidthPercent: e.defaultMediaWidthPercent,
@@ -2859,14 +2877,15 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2859
2877
  t.destroy(), n.destroy(), r.destroy(), o.destroy();
2860
2878
  }
2861
2879
  };
2862
- }, Ri = (e, t) => {
2863
- const n = document.createElement("div"), r = document.createElement("div"), o = document.createElement("div");
2864
- return e.classList.add("bridgerte"), e.textContent = "", n.className = "bridgerte__editor", r.className = "bridgerte__body", o.className = "bridgerte__content", o.dataset.placeholder = t.placeholder, o.setAttribute("role", "textbox"), o.setAttribute("aria-multiline", "true"), r.append(o), n.append(r), e.append(n), {
2880
+ }, ji = (e, t) => {
2881
+ const n = document.createElement("div"), r = document.createElement("div"), o = document.createElement("div"), a = document.createElement("div");
2882
+ return e.classList.add("bridgerte"), e.textContent = "", n.className = "bridgerte__editor", r.className = "bridgerte__body", o.className = "bridgerte__content", a.className = "bridgerte__placeholder", a.textContent = t.placeholder, a.setAttribute("aria-hidden", "true"), o.dataset.placeholder = t.placeholder, o.setAttribute("role", "textbox"), o.setAttribute("aria-multiline", "true"), r.append(o, a), n.append(r), e.append(n), {
2865
2883
  rootElement: n,
2866
2884
  bodyElement: r,
2867
- contentElement: o
2885
+ contentElement: o,
2886
+ placeholderElement: a
2868
2887
  };
2869
- }, Bi = ({
2888
+ }, Ki = ({
2870
2889
  editor: e
2871
2890
  }) => {
2872
2891
  let t = null;
@@ -2879,23 +2898,23 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2879
2898
  },
2880
2899
  restore() {
2881
2900
  t && e.update(() => {
2882
- wr((t == null ? void 0 : t.clone()) ?? null);
2901
+ kr((t == null ? void 0 : t.clone()) ?? null);
2883
2902
  });
2884
2903
  },
2885
2904
  clear() {
2886
2905
  t = null;
2887
2906
  }
2888
2907
  };
2889
- }, Ai = /((https?:\/\/|www\.)[^\s<>()]+[^\s<>().,;:!?])/i, Di = /([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})/i, Oi = {
2908
+ }, qi = /((https?:\/\/|www\.)[^\s<>()]+[^\s<>().,;:!?])/i, Gi = /([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})/i, Xi = {
2890
2909
  changeHandlers: [],
2891
2910
  excludeParents: [],
2892
2911
  matchers: [
2893
- ft(Ai, (e) => e.startsWith("http://") || e.startsWith("https://") ? e : `https://${e}`),
2894
- ft(Di, (e) => `mailto:${e}`)
2912
+ bt(qi, (e) => e.startsWith("http://") || e.startsWith("https://") ? e : `https://${e}`),
2913
+ bt(Gi, (e) => `mailto:${e}`)
2895
2914
  ]
2896
- }, Hi = ({
2915
+ }, Yi = ({
2897
2916
  editor: e
2898
- }) => uo(e, Oi), $i = [
2917
+ }) => ho(e, Xi), Ji = [
2899
2918
  ".bridgerte__code-header",
2900
2919
  ".bridgerte__code-block-controls",
2901
2920
  ".bridgerte__code-block-control-button",
@@ -2909,32 +2928,32 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2909
2928
  ".bridgerte__dialog-backdrop",
2910
2929
  ".bridgerte__dialog",
2911
2930
  ".bridgerte__payload-panel"
2912
- ].join(","), Fi = (e, t) => {
2931
+ ].join(","), Qi = (e, t) => {
2913
2932
  const n = e.anchorNode, r = e.focusNode;
2914
2933
  return n !== null && r !== null && t.contains(n) && t.contains(r);
2915
- }, zi = (e) => {
2916
- e.querySelectorAll($i).forEach((t) => {
2934
+ }, Zi = (e) => {
2935
+ e.querySelectorAll(Ji).forEach((t) => {
2917
2936
  t.remove();
2918
2937
  }), e.querySelectorAll('[contenteditable="false"]').forEach((t) => {
2919
2938
  t.classList.contains("bridgerte__media") || t.remove();
2920
2939
  });
2921
- }, Wi = (e) => {
2940
+ }, el = (e) => {
2922
2941
  const t = e.ownerDocument.getSelection();
2923
- if (!t || t.rangeCount === 0 || !Fi(t, e))
2942
+ if (!t || t.rangeCount === 0 || !Qi(t, e))
2924
2943
  return null;
2925
2944
  const n = t.getRangeAt(0).cloneContents();
2926
- zi(n);
2945
+ Zi(n);
2927
2946
  const r = e.ownerDocument.createElement("div");
2928
2947
  return r.append(n), {
2929
2948
  html: r.innerHTML,
2930
2949
  text: r.textContent ?? ""
2931
2950
  };
2932
- }, Vi = ({
2951
+ }, tl = ({
2933
2952
  target: e,
2934
2953
  isReadonly: t
2935
2954
  }) => {
2936
2955
  const n = (o) => {
2937
- const a = Wi(e);
2956
+ const a = el(e);
2938
2957
  !a || !o.clipboardData || (o.clipboardData.setData("text/html", a.html), o.clipboardData.setData("text/plain", a.text), o.preventDefault(), o.stopImmediatePropagation());
2939
2958
  }, r = (o) => {
2940
2959
  if (t()) {
@@ -2946,7 +2965,7 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2946
2965
  return e.addEventListener("copy", n, { capture: !0 }), e.addEventListener("cut", r, { capture: !0 }), () => {
2947
2966
  e.removeEventListener("copy", n, { capture: !0 }), e.removeEventListener("cut", r, { capture: !0 });
2948
2967
  };
2949
- }, xe = 8, Ui = () => {
2968
+ }, Me = 8, nl = () => {
2950
2969
  const e = window.visualViewport;
2951
2970
  return {
2952
2971
  left: (e == null ? void 0 : e.offsetLeft) ?? 0,
@@ -2954,24 +2973,24 @@ const yi = () => (Wt += 1, `${bi}-${Wt}`), Ee = (e) => e.panel.id === "table-ins
2954
2973
  width: (e == null ? void 0 : e.width) ?? window.innerWidth,
2955
2974
  height: (e == null ? void 0 : e.height) ?? window.innerHeight
2956
2975
  };
2957
- }, Vt = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n));
2958
- function Gn(e, t, n = {}) {
2976
+ }, Ut = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n));
2977
+ function Jn(e, t, n = {}) {
2959
2978
  const r = n.placement ?? "bottom-start", o = n.offset ?? 8, a = n.shiftPadding ?? 8, s = n.strategy ?? "absolute";
2960
2979
  let l = null, d = !1;
2961
2980
  const i = () => {
2962
2981
  t.style.position = s, t.style.left = "0px", t.style.top = "0px", t.style.opacity = "0", t.style.pointerEvents = "none";
2963
2982
  }, g = (f, y) => {
2964
- const x = Ui(), u = t.getBoundingClientRect(), p = x.left + xe, E = x.top + xe, _ = x.left + x.width - u.width - xe, A = x.top + x.height - u.height - xe;
2965
- t.style.left = `${Vt(f, p, _)}px`, t.style.top = `${Vt(y, E, A)}px`, t.style.opacity = "", t.style.pointerEvents = "";
2983
+ const x = nl(), u = t.getBoundingClientRect(), p = x.left + Me, E = x.top + Me, _ = x.left + x.width - u.width - Me, B = x.top + x.height - u.height - Me;
2984
+ t.style.left = `${Ut(f, p, _)}px`, t.style.top = `${Ut(y, E, B)}px`, t.style.opacity = "", t.style.pointerEvents = "";
2966
2985
  }, v = async () => {
2967
- const f = await yn(e, t, {
2986
+ const f = await vn(e, t, {
2968
2987
  placement: r,
2969
2988
  strategy: s,
2970
- platform: vn,
2989
+ platform: wn,
2971
2990
  middleware: [
2972
- wn(o),
2973
- Cn(),
2974
- _n({ padding: a })
2991
+ Cn(o),
2992
+ _n(),
2993
+ kn({ padding: a })
2975
2994
  ]
2976
2995
  });
2977
2996
  g(f.x, f.y);
@@ -2980,7 +2999,7 @@ function Gn(e, t, n = {}) {
2980
2999
  }, T = (f) => {
2981
3000
  if (d !== f) {
2982
3001
  if (d = f, b(), d) {
2983
- i(), t.hidden = !1, l = _o(e, t, v), v();
3002
+ i(), t.hidden = !1, l = xo(e, t, v), v();
2984
3003
  return;
2985
3004
  }
2986
3005
  t.hidden = !0, t.style.opacity = "", t.style.pointerEvents = "";
@@ -2994,7 +3013,7 @@ function Gn(e, t, n = {}) {
2994
3013
  }
2995
3014
  };
2996
3015
  }
2997
- const Xn = {
3016
+ const Qn = {
2998
3017
  // 居中对齐菜单使用,和 align 命令的 center value 对应。
2999
3018
  "align-center": '<svg aria-hidden="true" class="lucide lucide-align-center" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 5H3" /> <path d="M17 12H7" /> <path d="M19 19H5" /> </svg>',
3000
3019
  // 两端对齐菜单使用,保留段落排版语义,不和普通居中/左右对齐混用。
@@ -3087,19 +3106,19 @@ const Xn = {
3087
3106
  "upload-video": '<svg aria-hidden="true" class="lucide lucide-film" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <rect width="18" height="18" x="3" y="3" rx="2" /> <path d="M7 3v18" /> <path d="M3 7.5h4" /> <path d="M3 12h18" /> <path d="M3 16.5h4" /> <path d="M17 3v18" /> <path d="M17 7.5h4" /> <path d="M17 16.5h4" /> </svg>',
3088
3107
  // 行高菜单使用,表示 format.lineHeight。
3089
3108
  "wrap-text": '<svg aria-hidden="true" class="lucide lucide-wrap-text" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="m16 16-3 3 3 3" /> <path d="M3 12h14.5a1 1 0 0 1 0 7H13" /> <path d="M3 19h6" /> <path d="M3 5h18" /> </svg>'
3090
- }, ji = (e) => {
3109
+ }, rl = (e) => {
3091
3110
  const t = document.createElement("span");
3092
3111
  return t.className = "bridgerte__menu-icon-text", t.textContent = e, t;
3093
- }, Yn = (e, t, n) => {
3112
+ }, Zn = (e, t, n) => {
3094
3113
  if (t) {
3095
3114
  e.innerHTML = t;
3096
3115
  return;
3097
3116
  }
3098
- e.append(ji(n));
3099
- }, Ze = () => {
3117
+ e.append(rl(n));
3118
+ }, et = () => {
3100
3119
  const e = window.getSelection(), t = e != null && e.rangeCount ? e.getRangeAt(0) : null, n = t == null ? void 0 : t.getBoundingClientRect();
3101
3120
  return !n || n.width === 0 && n.height === 0 ? null : n;
3102
- }, Ki = 160, qi = {
3121
+ }, ol = 160, al = {
3103
3122
  toolbarKeys: [
3104
3123
  "bold",
3105
3124
  "italic",
@@ -3114,16 +3133,16 @@ const Xn = {
3114
3133
  "font-family",
3115
3134
  "line-height"
3116
3135
  ]
3117
- }, Gi = () => {
3136
+ }, sl = () => {
3118
3137
  const e = D();
3119
- return H(e) && !e.isCollapsed();
3120
- }, Ut = (e, t) => e.target instanceof Node && t.contains(e.target), jt = (e) => e instanceof Element ? e.closest(".bridgerte__hoverbar-button") : null, Xi = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Yi = (e) => {
3138
+ return O(e) && !e.isCollapsed();
3139
+ }, jt = (e, t) => e.target instanceof Node && t.contains(e.target), Kt = (e) => e instanceof Element ? e.closest(".bridgerte__hoverbar-button") : null, il = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), ll = (e) => {
3121
3140
  const t = document.createElement("span");
3122
3141
  return t.className = "bridgerte__hoverbar-separator", t.dataset.separatorId = e.key, t.setAttribute("aria-hidden", "true"), t;
3123
- }, Ji = (e, t, n) => {
3124
- const r = Ts(e, t), o = document.createElement("button");
3125
- return o.type = "button", o.className = "bridgerte__hoverbar-button", o.dataset.hoverbarItemId = e.id, o.dataset.active = String(r.active), o.disabled = r.disabled, o.setAttribute("aria-label", e.label), o.setAttribute("aria-pressed", String(r.active)), Yn(o, n[e.icon] ?? Xn[e.icon], e.label), o;
3126
- }, Qi = ({
3142
+ }, cl = (e, t, n) => {
3143
+ const r = $s(e, t), o = document.createElement("button");
3144
+ return o.type = "button", o.className = "bridgerte__hoverbar-button", o.dataset.hoverbarItemId = e.id, o.dataset.active = String(r.active), o.disabled = r.disabled, o.setAttribute("aria-label", e.label), o.setAttribute("aria-pressed", String(r.active)), Zn(o, n[e.icon] ?? Qn[e.icon], e.label), o;
3145
+ }, dl = ({
3127
3146
  editorRoot: e,
3128
3147
  contentElement: t,
3129
3148
  editor: n,
@@ -3137,56 +3156,56 @@ const Xn = {
3137
3156
  payloadPanelConfig: g,
3138
3157
  icons: v = {}
3139
3158
  }) => {
3140
- const b = ct(l ?? Ae, {
3159
+ const b = dt(l ?? De, {
3141
3160
  menuLabels: i,
3142
3161
  payloadPanelConfig: g
3143
- }), T = rt(d ?? qi, b), f = Xi(T), y = document.createElement("span"), x = document.createElement("div");
3162
+ }), T = ot(d ?? al, b), f = il(T), y = document.createElement("span"), x = document.createElement("div");
3144
3163
  let u = null, p = !1, E = null;
3145
3164
  const _ = U(x, {
3146
3165
  targetSelector: ".bridgerte__hoverbar-button"
3147
3166
  });
3148
- y.className = "bridgerte__hoverbar-anchor", y.setAttribute("aria-hidden", "true"), x.className = "bridgerte__floating-menu bridgerte__hoverbar", x.setAttribute("role", "toolbar"), x.setAttribute("aria-label", "BridgeRTE hoverbar"), e.append(y, x), u = Gn(y, x, {
3167
+ y.className = "bridgerte__hoverbar-anchor", y.setAttribute("aria-hidden", "true"), x.className = "bridgerte__floating-menu bridgerte__hoverbar", x.setAttribute("role", "toolbar"), x.setAttribute("aria-label", "BridgeRTE hoverbar"), e.append(y, x), u = Jn(y, x, {
3149
3168
  placement: "top",
3150
3169
  offset: 8,
3151
3170
  strategy: "fixed"
3152
3171
  });
3153
- const A = () => {
3172
+ const B = () => {
3154
3173
  E && (window.clearTimeout(E), E = null);
3155
- }, O = () => {
3156
- A(), p = !1, x.replaceChildren(), x.dataset.visible = "false", u == null || u.setOpen(!1);
3174
+ }, H = () => {
3175
+ B(), p = !1, x.replaceChildren(), x.dataset.visible = "false", u == null || u.setOpen(!1);
3157
3176
  }, I = () => {
3158
- const S = Ze(), k = t.getBoundingClientRect();
3177
+ const S = et(), k = t.getBoundingClientRect();
3159
3178
  y.style.left = `${(S == null ? void 0 : S.left) ?? k.left}px`, y.style.top = `${(S == null ? void 0 : S.top) ?? k.top}px`, y.style.width = `${(S == null ? void 0 : S.width) || 1}px`, y.style.height = `${(S == null ? void 0 : S.height) || 1}px`;
3160
3179
  }, w = () => {
3161
3180
  const S = s();
3162
- x.replaceChildren(...T.flatMap((k) => k.type === "separator" ? [Yi(k)] : (k.type === "button" ? [k.item] : k.items).map(($) => Ji($, S, v)))), I(), p = !0, x.dataset.visible = "true", u == null || u.setOpen(!0), u == null || u.update();
3163
- }, c = () => r() ? !1 : n.getEditorState().read(Gi), h = (S = !1) => {
3164
- if (A(), !c()) {
3165
- O();
3181
+ x.replaceChildren(...T.flatMap((k) => k.type === "separator" ? [ll(k)] : (k.type === "button" ? [k.item] : k.items).map(($) => cl($, S, v)))), I(), p = !0, x.dataset.visible = "true", u == null || u.setOpen(!0), u == null || u.update();
3182
+ }, c = () => r() ? !1 : n.getEditorState().read(sl), h = (S = !1) => {
3183
+ if (B(), !c()) {
3184
+ H();
3166
3185
  return;
3167
3186
  }
3168
3187
  if (S) {
3169
3188
  w();
3170
3189
  return;
3171
3190
  }
3172
- p && O(), E = window.setTimeout(() => {
3191
+ p && H(), E = window.setTimeout(() => {
3173
3192
  E = null, c() && w();
3174
- }, Ki);
3193
+ }, ol);
3175
3194
  }, m = (S) => {
3176
- const k = f.find((B) => B.id === S.dataset.hoverbarItemId);
3195
+ const k = f.find((A) => A.id === S.dataset.hoverbarItemId);
3177
3196
  if (!(!k || S.disabled)) {
3178
3197
  if (k.payloadPanel) {
3179
- const B = S.getBoundingClientRect();
3198
+ const A = S.getBoundingClientRect();
3180
3199
  a({
3181
3200
  menuId: k.id,
3182
3201
  command: k.command,
3183
3202
  panel: k.payloadPanel,
3184
- currentValues: Ms(k, s()),
3203
+ currentValues: Os(k, s()),
3185
3204
  anchorRect: {
3186
- x: B.left,
3187
- y: B.top,
3188
- width: B.width,
3189
- height: B.height
3205
+ x: A.left,
3206
+ y: A.top,
3207
+ width: A.width,
3208
+ height: A.height
3190
3209
  }
3191
3210
  }), h(!0);
3192
3211
  return;
@@ -3194,38 +3213,38 @@ const Xn = {
3194
3213
  o(k.command), h(!0);
3195
3214
  }
3196
3215
  }, C = (S) => {
3197
- jt(S.target) && S.preventDefault();
3216
+ Kt(S.target) && S.preventDefault();
3198
3217
  }, P = (S) => {
3199
- const k = jt(S.target);
3218
+ const k = Kt(S.target);
3200
3219
  k && (S.preventDefault(), m(k));
3201
3220
  }, M = (S) => {
3202
- !p || Ut(S, x) || Ut(S, t) || O();
3221
+ !p || jt(S, x) || jt(S, t) || H();
3203
3222
  }, L = n.registerCommand(
3204
- sn,
3223
+ ln,
3205
3224
  () => (h(), !1),
3206
3225
  j
3207
3226
  ), N = n.registerUpdateListener(() => {
3208
3227
  h();
3209
3228
  }), R = n.registerCommand(
3210
- ln,
3211
- (S) => p ? (S == null || S.preventDefault(), O(), !0) : !1,
3229
+ cn,
3230
+ (S) => p ? (S == null || S.preventDefault(), H(), !0) : !1,
3212
3231
  j
3213
3232
  );
3214
3233
  return x.addEventListener("pointerdown", C), x.addEventListener("click", P), document.addEventListener("pointerdown", M, !0), () => {
3215
- A(), L(), N(), R(), x.removeEventListener("pointerdown", C), x.removeEventListener("click", P), document.removeEventListener("pointerdown", M, !0), _(), u == null || u.destroy(), y.remove(), x.remove();
3234
+ B(), L(), N(), R(), x.removeEventListener("pointerdown", C), x.removeEventListener("click", P), document.removeEventListener("pointerdown", M, !0), _(), u == null || u.destroy(), y.remove(), x.remove();
3216
3235
  };
3217
- }, Zi = (e) => e.metaKey || e.ctrlKey, el = {
3236
+ }, ul = (e) => e.metaKey || e.ctrlKey, ml = {
3218
3237
  b: { type: "format.bold" },
3219
3238
  i: { type: "format.italic" },
3220
3239
  u: { type: "format.underline" },
3221
3240
  "\\": { type: "format.clear" }
3222
- }, tl = {
3241
+ }, gl = {
3223
3242
  x: { type: "format.strike" },
3224
3243
  l: { type: "align", value: "left" },
3225
3244
  e: { type: "align", value: "center" },
3226
3245
  r: { type: "align", value: "right" },
3227
3246
  j: { type: "align", value: "justify" }
3228
- }, nl = {
3247
+ }, hl = {
3229
3248
  0: { type: "block.paragraph" },
3230
3249
  1: { type: "block.heading", level: 1 },
3231
3250
  2: { type: "block.heading", level: 2 },
@@ -3233,45 +3252,45 @@ const Xn = {
3233
3252
  4: { type: "block.heading", level: 4 },
3234
3253
  5: { type: "block.heading", level: 5 },
3235
3254
  6: { type: "block.heading", level: 6 }
3236
- }, rl = (e) => {
3255
+ }, pl = (e) => {
3237
3256
  const t = e.key.toLowerCase(), n = e.code;
3238
- if (!e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey || !Zi(e)) return null;
3257
+ if (!e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey || !ul(e)) return null;
3239
3258
  if (e.altKey) {
3240
3259
  if (e.shiftKey) return null;
3241
3260
  if (t === "c" || n === "KeyC") return { type: "block.code" };
3242
3261
  const r = n.startsWith("Digit") ? n.slice(5) : t;
3243
- return nl[r] ?? null;
3262
+ return hl[r] ?? null;
3244
3263
  }
3245
- return e.shiftKey ? t === "z" ? { type: "history.redo" } : t === "." || t === ">" || n === "Period" ? { type: "block.quote" } : t === "7" || t === "&" || n === "Digit7" ? { type: "list.ordered" } : t === "8" || t === "*" || n === "Digit8" ? { type: "list.unordered" } : t === "9" || t === "(" || n === "Digit9" ? { type: "list.todo" } : t === "-" || t === "_" || n === "Minus" ? { type: "block.divider" } : tl[t] ?? null : t === "z" ? { type: "history.undo" } : t === "y" && e.ctrlKey && !e.metaKey ? { type: "history.redo" } : t === "`" || t === "~" || n === "Backquote" ? { type: "format.inlineCode" } : el[t] ?? null;
3246
- }, ol = ({
3264
+ return e.shiftKey ? t === "z" ? { type: "history.redo" } : t === "." || t === ">" || n === "Period" ? { type: "block.quote" } : t === "7" || t === "&" || n === "Digit7" ? { type: "list.ordered" } : t === "8" || t === "*" || n === "Digit8" ? { type: "list.unordered" } : t === "9" || t === "(" || n === "Digit9" ? { type: "list.todo" } : t === "-" || t === "_" || n === "Minus" ? { type: "block.divider" } : gl[t] ?? null : t === "z" ? { type: "history.undo" } : t === "y" && e.ctrlKey && !e.metaKey ? { type: "history.redo" } : t === "`" || t === "~" || n === "Backquote" ? { type: "format.inlineCode" } : ml[t] ?? null;
3265
+ }, fl = ({
3247
3266
  target: e,
3248
3267
  isReadonly: t,
3249
3268
  executeCommand: n
3250
3269
  }) => {
3251
3270
  const r = (o) => {
3252
3271
  if (t()) return;
3253
- const a = rl(o);
3272
+ const a = pl(o);
3254
3273
  a && (o.preventDefault(), n(a));
3255
3274
  };
3256
3275
  return e.addEventListener("keydown", r), () => {
3257
3276
  e.removeEventListener("keydown", r);
3258
3277
  };
3259
- }, al = (e, t) => {
3278
+ }, bl = (e, t) => {
3260
3279
  const n = t.offsetTop, r = n + t.offsetHeight, o = e.scrollTop, a = o + e.clientHeight;
3261
3280
  if (n < o) {
3262
3281
  e.scrollTop = n;
3263
3282
  return;
3264
3283
  }
3265
3284
  r > a && (e.scrollTop = r - e.clientHeight);
3266
- }, dt = (e, t) => {
3285
+ }, ut = (e, t) => {
3267
3286
  var n;
3268
3287
  if (e instanceof Text && t <= (((n = e.textContent) == null ? void 0 : n.length) ?? 0)) return e;
3269
3288
  for (const r of Array.from((e == null ? void 0 : e.childNodes) ?? [])) {
3270
- const o = dt(r, t);
3289
+ const o = ut(r, t);
3271
3290
  if (o) return o;
3272
3291
  }
3273
3292
  return null;
3274
- }, Jn = ({
3293
+ }, er = ({
3275
3294
  editorRoot: e,
3276
3295
  contentElement: t,
3277
3296
  editor: n,
@@ -3290,42 +3309,42 @@ const Xn = {
3290
3309
  let f = null, y = 0;
3291
3310
  const x = U(o, {
3292
3311
  targetSelector: s
3293
- }), u = Gn(a, o, {
3312
+ }), u = Jn(a, o, {
3294
3313
  placement: "bottom-start",
3295
3314
  offset: 2,
3296
3315
  strategy: "fixed"
3297
3316
  });
3298
3317
  e.append(a, o);
3299
3318
  const p = () => {
3300
- const k = f ? d(f.trigger) ?? Ze() : Ze(), B = t.getBoundingClientRect();
3301
- return k ?? B;
3319
+ const k = f ? d(f.trigger) ?? et() : et(), A = t.getBoundingClientRect();
3320
+ return k ?? A;
3302
3321
  }, E = () => {
3303
3322
  const k = p();
3304
3323
  a.style.left = `${k.left}px`, a.style.top = `${k.top}px`, a.style.height = `${k.height || 1}px`;
3305
3324
  }, _ = (k = !0) => {
3306
3325
  f = null, o.dataset.visible = "false", k && o.replaceChildren(), u.setOpen(!1);
3307
- }, A = () => {
3326
+ }, B = () => {
3308
3327
  const k = o.querySelector(`${s}[data-active="true"]`);
3309
- k && al(o, k);
3310
- }, O = (k, B) => {
3311
- !f || f.requestId !== B.requestId || (_(), T(k, B.trigger));
3328
+ k && bl(o, k);
3329
+ }, H = (k, A) => {
3330
+ !f || f.requestId !== A.requestId || (_(), T(k, A.trigger));
3312
3331
  }, I = () => {
3313
3332
  if (!f) {
3314
3333
  _();
3315
3334
  return;
3316
3335
  }
3317
- const k = f, B = p();
3336
+ const k = f, A = p();
3318
3337
  if ((b == null ? void 0 : b(k, {
3319
- anchorRect: B,
3338
+ anchorRect: A,
3320
3339
  close: _,
3321
- selectItem: (re) => O(re, k)
3340
+ selectItem: (re) => H(re, k)
3322
3341
  })) === !0) {
3323
3342
  o.replaceChildren(), o.dataset.visible = "false", u.setOpen(!1);
3324
3343
  return;
3325
3344
  }
3326
3345
  if (k.status === "success")
3327
3346
  o.replaceChildren(
3328
- ...k.items.map((re, ht) => g(re, ht, ht === k.activeIndex))
3347
+ ...k.items.map((re, pt) => g(re, pt, pt === k.activeIndex))
3329
3348
  );
3330
3349
  else {
3331
3350
  const re = v == null ? void 0 : v(
@@ -3336,13 +3355,13 @@ const Xn = {
3336
3355
  o.replaceChildren(...re ? [re] : []);
3337
3356
  }
3338
3357
  const J = o.children.length > 0;
3339
- o.dataset.visible = String(J), E(), u.setOpen(J), A(), u.update();
3340
- }, w = async (k, B) => {
3358
+ o.dataset.visible = String(J), E(), u.setOpen(J), B(), u.update();
3359
+ }, w = async (k, A) => {
3341
3360
  let $;
3342
3361
  try {
3343
3362
  $ = await Promise.resolve(i(k));
3344
3363
  } catch (J) {
3345
- (f == null ? void 0 : f.requestId) === B && (f = {
3364
+ (f == null ? void 0 : f.requestId) === A && (f = {
3346
3365
  ...f,
3347
3366
  items: [],
3348
3367
  activeIndex: 0,
@@ -3351,7 +3370,7 @@ const Xn = {
3351
3370
  }, I());
3352
3371
  return;
3353
3372
  }
3354
- !f || B !== f.requestId || (f = {
3373
+ !f || A !== f.requestId || (f = {
3355
3374
  ...f,
3356
3375
  items: $,
3357
3376
  activeIndex: Math.min(f.activeIndex, Math.max($.length - 1, 0)),
@@ -3378,33 +3397,33 @@ const Xn = {
3378
3397
  }, I(), w(k.query, y);
3379
3398
  }, h = () => {
3380
3399
  if (!f || f.status !== "success") return !1;
3381
- const k = f.items[f.activeIndex], B = f.trigger;
3382
- return k ? (_(), T(k, B), !0) : !1;
3400
+ const k = f.items[f.activeIndex], A = f.trigger;
3401
+ return k ? (_(), T(k, A), !0) : !1;
3383
3402
  }, m = (k) => !f || f.status !== "success" || f.items.length === 0 ? !1 : (f = {
3384
3403
  ...f,
3385
3404
  activeIndex: (f.activeIndex + k + f.items.length) % f.items.length
3386
3405
  }, I(), !0), C = (k) => {
3387
- const B = k.target, $ = B instanceof HTMLElement ? B.closest(s) : null, J = $ != null && $.dataset.index ? Number.parseInt($.dataset.index, 10) : Number.NaN;
3406
+ const A = k.target, $ = A instanceof HTMLElement ? A.closest(s) : null, J = $ != null && $.dataset.index ? Number.parseInt($.dataset.index, 10) : Number.NaN;
3388
3407
  !f || f.status !== "success" || Number.isNaN(J) || (f = { ...f, activeIndex: J }, k.preventDefault(), h());
3389
3408
  }, P = (k) => {
3390
- const B = k.target;
3391
- B instanceof HTMLElement && B.closest(s) && k.preventDefault();
3409
+ const A = k.target;
3410
+ A instanceof HTMLElement && A.closest(s) && k.preventDefault();
3392
3411
  }, M = n.registerUpdateListener(() => {
3393
3412
  c();
3394
3413
  }), L = n.registerCommand(
3395
- Cr,
3414
+ Er,
3396
3415
  (k) => m(1) ? (k == null || k.preventDefault(), !0) : !1,
3397
3416
  j
3398
3417
  ), N = n.registerCommand(
3399
- _r,
3418
+ xr,
3400
3419
  (k) => m(-1) ? (k == null || k.preventDefault(), !0) : !1,
3401
3420
  j
3402
3421
  ), R = n.registerCommand(
3403
- kr,
3422
+ Mr,
3404
3423
  (k) => h() ? (k == null || k.preventDefault(), !0) : !1,
3405
3424
  j
3406
3425
  ), S = n.registerCommand(
3407
- ln,
3426
+ cn,
3408
3427
  (k) => f ? (k == null || k.preventDefault(), _(), !0) : !1,
3409
3428
  j
3410
3429
  );
@@ -3414,7 +3433,7 @@ const Xn = {
3414
3433
  M(), L(), N(), R(), S(), o.removeEventListener("click", C), o.removeEventListener("pointerdown", P), x(), u.destroy(), a.remove(), o.remove();
3415
3434
  }
3416
3435
  };
3417
- }, sl = {
3436
+ }, yl = {
3418
3437
  labelField: "label",
3419
3438
  descriptionField: "description",
3420
3439
  avatarField: "avatar",
@@ -3425,87 +3444,87 @@ const Xn = {
3425
3444
  loadingText: "加载中",
3426
3445
  emptyText: "没有匹配的提及",
3427
3446
  errorText: "提及加载失败"
3428
- }, il = (e) => ({
3429
- ...sl,
3447
+ }, vl = (e) => ({
3448
+ ...yl,
3430
3449
  ...e
3431
- }), ll = (e, t) => {
3450
+ }), wl = (e, t) => {
3432
3451
  var o;
3433
3452
  const n = t.slice(5), r = (o = e.data) == null ? void 0 : o[n];
3434
3453
  return typeof r == "string" && r ? r : void 0;
3435
- }, Me = (e, t) => {
3436
- if (t.startsWith("data.")) return ll(e, t);
3454
+ }, Te = (e, t) => {
3455
+ if (t.startsWith("data.")) return wl(e, t);
3437
3456
  const n = t === "id" ? e.id : t === "label" ? e.label : t === "value" ? e.value : t === "avatar" ? e.avatar : e.description;
3438
3457
  return typeof n == "string" && n ? n : void 0;
3439
- }, cl = (e) => e.startsWith("@") ? e : `@${e}`, Qn = (e, t) => {
3440
- const n = Me(e, t.labelField) ?? e.label ?? e.value ?? e.id, r = t.showDescription ? Me(e, t.descriptionField) ?? e.description : void 0, o = t.showAvatar ? Me(e, t.avatarField) ?? e.avatar : void 0, a = t.showIcon && !o ? Me(e, t.iconField) : void 0;
3458
+ }, Cl = (e) => e.startsWith("@") ? e : `@${e}`, tr = (e, t) => {
3459
+ const n = Te(e, t.labelField) ?? e.label ?? e.value ?? e.id, r = t.showDescription ? Te(e, t.descriptionField) ?? e.description : void 0, o = t.showAvatar ? Te(e, t.avatarField) ?? e.avatar : void 0, a = t.showIcon && !o ? Te(e, t.iconField) : void 0;
3441
3460
  return {
3442
3461
  item: e,
3443
- label: cl(n),
3462
+ label: Cl(n),
3444
3463
  ...r ? { description: r } : {},
3445
3464
  ...o ? { avatar: o } : {},
3446
3465
  ...a ? { icon: a } : {}
3447
3466
  };
3448
- }, dl = (e, t) => e.map((n) => Qn(n, t)), et = (e) => e instanceof Y && e.getTextContent().startsWith(" "), ul = (e) => {
3467
+ }, _l = (e, t) => e.map((n) => tr(n, t)), tt = (e) => e instanceof Y && e.getTextContent().startsWith(" "), kl = (e) => {
3449
3468
  const n = e.getTextContent().slice(1);
3450
3469
  if (!n) {
3451
3470
  e.remove();
3452
3471
  return;
3453
3472
  }
3454
3473
  e.setTextContent(n);
3455
- }, ml = (e, t) => {
3456
- const n = e.getPreviousSibling(), r = e.getNextSibling(), o = et(r) ? r.getNextSibling() : r;
3457
- if (et(r) && ul(r), e.remove(), t) {
3474
+ }, El = (e, t) => {
3475
+ const n = e.getPreviousSibling(), r = e.getNextSibling(), o = tt(r) ? r.getNextSibling() : r;
3476
+ if (tt(r) && kl(r), e.remove(), t) {
3458
3477
  n == null || n.selectEnd();
3459
3478
  return;
3460
3479
  }
3461
3480
  o == null || o.selectStart();
3462
- }, gl = (e) => {
3481
+ }, xl = (e) => {
3463
3482
  const t = D();
3464
- if (!H(t) || !t.isCollapsed()) return null;
3483
+ if (!O(t) || !t.isCollapsed()) return null;
3465
3484
  const n = t.anchor, r = n.getNode();
3466
- if (Tt(r)) return r;
3485
+ if (Lt(r)) return r;
3467
3486
  if (!(r instanceof Y)) return null;
3468
- const o = r.getTextContentSize(), a = r.getPreviousSibling(), s = r.getNextSibling(), l = et(r) && n.offset === 1, d = e ? n.offset === 0 || l ? a : null : n.offset === o ? s : null;
3469
- return Tt(d) ? d : null;
3470
- }, hl = (e, t, n) => {
3487
+ const o = r.getTextContentSize(), a = r.getPreviousSibling(), s = r.getNextSibling(), l = tt(r) && n.offset === 1, d = e ? n.offset === 0 || l ? a : null : n.offset === o ? s : null;
3488
+ return Lt(d) ? d : null;
3489
+ }, Ml = (e, t, n) => {
3471
3490
  const r = (a) => {
3472
3491
  if (t()) return !1;
3473
- const s = gl(a);
3474
- return s ? (ml(s, a), n(), !0) : !1;
3492
+ const s = xl(a);
3493
+ return s ? (El(s, a), n(), !0) : !1;
3475
3494
  }, o = (a, s) => {
3476
3495
  const l = r(s);
3477
3496
  return l && a.preventDefault(), l;
3478
3497
  };
3479
3498
  return [
3480
3499
  e.registerCommand(
3481
- rn,
3500
+ on,
3482
3501
  (a) => o(a, !0),
3483
3502
  G
3484
3503
  ),
3485
3504
  e.registerCommand(
3486
- on,
3505
+ an,
3487
3506
  (a) => o(a, !1),
3488
3507
  G
3489
3508
  ),
3490
3509
  e.registerCommand(
3491
- an,
3510
+ sn,
3492
3511
  (a) => r(a),
3493
3512
  G
3494
3513
  )
3495
3514
  ];
3496
- }, pl = /(?:^|\s)@([\p{L}\p{N}_-]*)$/u, Kt = [
3515
+ }, Tl = /(?:^|\s)@([\p{L}\p{N}_-]*)$/u, qt = [
3497
3516
  { id: "bridgerte-team", label: "BridgeRTE Team", value: "bridgerte-team" },
3498
3517
  { id: "frontend", label: "Frontend", value: "frontend" },
3499
3518
  { id: "designer", label: "Designer", value: "designer" }
3500
- ], fl = (e) => e.trim().toLowerCase(), bl = (e) => [e.label, e.value, e.description].filter(Boolean).join(" ").toLowerCase(), yl = (e) => {
3501
- const t = fl(e);
3502
- return t ? Kt.filter((n) => bl(n).includes(t)) : Kt;
3503
- }, vl = () => {
3519
+ ], Ll = (e) => e.trim().toLowerCase(), Sl = (e) => [e.label, e.value, e.description].filter(Boolean).join(" ").toLowerCase(), Nl = (e) => {
3520
+ const t = Ll(e);
3521
+ return t ? qt.filter((n) => Sl(n).includes(t)) : qt;
3522
+ }, Pl = () => {
3504
3523
  const e = D();
3505
- if (!H(e) || !e.isCollapsed()) return null;
3524
+ if (!O(e) || !e.isCollapsed()) return null;
3506
3525
  const t = e.anchor, n = t.getNode();
3507
3526
  if (!(n instanceof Y)) return null;
3508
- const o = n.getTextContent().slice(0, t.offset).match(pl);
3527
+ const o = n.getTextContent().slice(0, t.offset).match(Tl);
3509
3528
  if (!o) return null;
3510
3529
  const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("@") ? 0 : 1, d = t.offset - s.length + l;
3511
3530
  return {
@@ -3514,19 +3533,19 @@ const Xn = {
3514
3533
  startOffset: d,
3515
3534
  endOffset: t.offset
3516
3535
  };
3517
- }, wl = () => {
3536
+ }, Il = () => {
3518
3537
  const e = document.createElement("div");
3519
3538
  return e.className = "bridgerte__floating-menu bridgerte__mention-menu", e.dataset.visible = "false", e;
3520
- }, Cl = () => {
3539
+ }, Rl = () => {
3521
3540
  const e = document.createElement("span");
3522
3541
  return e.className = "bridgerte__mention-anchor", e.setAttribute("aria-hidden", "true"), e;
3523
- }, _l = (e, t) => {
3542
+ }, Al = (e, t) => {
3524
3543
  var s;
3525
- const n = e.getElementByKey(t.nodeKey), r = dt(n, t.startOffset + 1);
3544
+ const n = e.getElementByKey(t.nodeKey), r = ut(n, t.startOffset + 1);
3526
3545
  if (!(r instanceof Text)) return null;
3527
3546
  const o = document.createRange(), a = Math.min(t.startOffset + 1, ((s = r.textContent) == null ? void 0 : s.length) ?? 0);
3528
3547
  return a <= t.startOffset ? null : (o.setStart(r, t.startOffset), o.setEnd(r, a), o.getBoundingClientRect());
3529
- }, kl = (e, t, n) => {
3548
+ }, Bl = (e, t, n) => {
3530
3549
  const r = document.createElement("button"), o = document.createElement("span");
3531
3550
  if (r.type = "button", r.className = "bridgerte__menu-item bridgerte__mention-item", r.dataset.mentionId = e.item.id, r.dataset.index = String(t), r.dataset.active = String(n), e.avatar) {
3532
3551
  const a = document.createElement("img");
@@ -3540,10 +3559,10 @@ const Xn = {
3540
3559
  a.className = "bridgerte__mention-item-description", a.textContent = e.description, r.append(a);
3541
3560
  }
3542
3561
  return r;
3543
- }, El = (e, t) => {
3562
+ }, Dl = (e, t) => {
3544
3563
  const n = document.createElement("div");
3545
3564
  return n.className = "bridgerte__mention-status", n.dataset.status = e, n.textContent = t, n;
3546
- }, xl = (e, t) => {
3565
+ }, Hl = (e, t) => {
3547
3566
  switch (e) {
3548
3567
  case "loading":
3549
3568
  return t.loadingText;
@@ -3552,12 +3571,12 @@ const Xn = {
3552
3571
  case "error":
3553
3572
  return t.errorText;
3554
3573
  }
3555
- }, Ml = (e) => e ? {
3574
+ }, Ol = (e) => e ? {
3556
3575
  x: e.x,
3557
3576
  y: e.y,
3558
3577
  width: e.width,
3559
3578
  height: e.height
3560
- } : void 0, Tl = ({
3579
+ } : void 0, $l = ({
3561
3580
  editorRoot: e,
3562
3581
  contentElement: t,
3563
3582
  editor: n,
@@ -3567,12 +3586,12 @@ const Xn = {
3567
3586
  mentionMenuConfig: s,
3568
3587
  onMentionMenuRequest: l
3569
3588
  }) => {
3570
- const d = wl(), i = Cl(), g = il(s), v = (f, y) => {
3589
+ const d = Il(), i = Rl(), g = vl(s), v = (f, y) => {
3571
3590
  n.update(() => {
3572
3591
  const x = he(y.nodeKey);
3573
3592
  x instanceof Y && (x.spliceText(y.startOffset, y.endOffset - y.startOffset, ""), x.select(y.startOffset, y.startOffset));
3574
3593
  }), o({ type: "mention.insert", item: f });
3575
- }, b = Jn({
3594
+ }, b = er({
3576
3595
  editorRoot: e,
3577
3596
  contentElement: t,
3578
3597
  editor: n,
@@ -3580,18 +3599,18 @@ const Xn = {
3580
3599
  menu: d,
3581
3600
  anchor: i,
3582
3601
  itemSelector: ".bridgerte__mention-item",
3583
- getCurrentTrigger: vl,
3584
- getTriggerRect: (f) => _l(n, f),
3602
+ getCurrentTrigger: Pl,
3603
+ getTriggerRect: (f) => Al(n, f),
3585
3604
  resolveItems: async (f) => {
3586
3605
  const y = await Promise.resolve(
3587
- a ? a(f) : yl(f)
3606
+ a ? a(f) : Nl(f)
3588
3607
  );
3589
- return dl(y, g);
3608
+ return _l(y, g);
3590
3609
  },
3591
- renderItem: kl,
3592
- renderStatus: (f) => El(
3610
+ renderItem: Bl,
3611
+ renderStatus: (f) => Dl(
3593
3612
  f,
3594
- xl(f, g)
3613
+ Hl(f, g)
3595
3614
  ),
3596
3615
  onStateChange: l ? (f, y) => l({
3597
3616
  id: `bridgerte-mention-menu-${f.requestId}`,
@@ -3600,21 +3619,21 @@ const Xn = {
3600
3619
  items: f.items,
3601
3620
  config: g,
3602
3621
  readonly: r(),
3603
- anchorRect: Ml(y.anchorRect),
3622
+ anchorRect: Ol(y.anchorRect),
3604
3623
  ...f.error ? { error: f.error } : {},
3605
3624
  submit: (x) => y.selectItem(
3606
- Qn(x, g)
3625
+ tr(x, g)
3607
3626
  ),
3608
3627
  cancel: y.close
3609
3628
  }) : void 0,
3610
3629
  onSelect: (f, y) => v(f.item, y)
3611
- }), T = cn(
3612
- ...hl(n, r, () => b.close(!1))
3630
+ }), T = dn(
3631
+ ...Ml(n, r, () => b.close(!1))
3613
3632
  );
3614
3633
  return () => {
3615
3634
  T(), b.destroy();
3616
3635
  };
3617
- }, Ll = [
3636
+ }, Fl = [
3618
3637
  "script",
3619
3638
  "style",
3620
3639
  "iframe",
@@ -3631,7 +3650,7 @@ const Xn = {
3631
3650
  "button",
3632
3651
  "select",
3633
3652
  "textarea"
3634
- ].join(","), Sl = [
3653
+ ].join(","), zl = [
3635
3654
  ".bridgerte__code-header",
3636
3655
  ".bridgerte__code-block-controls",
3637
3656
  ".bridgerte__code-block-control-button",
@@ -3646,7 +3665,7 @@ const Xn = {
3646
3665
  ".bridgerte__dialog",
3647
3666
  ".bridgerte__payload-panel",
3648
3667
  '[data-bridgerte-clipboard-ui="true"]'
3649
- ].join(","), Nl = /* @__PURE__ */ new Set([
3668
+ ].join(","), Vl = /* @__PURE__ */ new Set([
3650
3669
  "A",
3651
3670
  "B",
3652
3671
  "BLOCKQUOTE",
@@ -3683,36 +3702,36 @@ const Xn = {
3683
3702
  "TT",
3684
3703
  "U",
3685
3704
  "UL"
3686
- ]), Pl = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]), Il = "p,div,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Rl = "p,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Bl = /* @__PURE__ */ new Set(["colspan", "rowspan"]), Al = /* @__PURE__ */ new Set(["TD", "TH"]), Dl = /* @__PURE__ */ new Set(["M", "O", "V", "W"]), Ol = /* @__PURE__ */ new Set(["SPAN"]), Hl = /* @__PURE__ */ new Set(["color", "background-color"]), $l = /^#([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i, qt = /* @__PURE__ */ new Map([
3705
+ ]), Wl = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]), Ul = "p,div,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", jl = "p,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Kl = /* @__PURE__ */ new Set(["colspan", "rowspan"]), ql = /* @__PURE__ */ new Set(["TD", "TH"]), Gl = /* @__PURE__ */ new Set(["M", "O", "V", "W"]), Xl = /* @__PURE__ */ new Set(["SPAN"]), Yl = /* @__PURE__ */ new Set(["color", "background-color"]), Jl = /^#([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i, Gt = /* @__PURE__ */ new Map([
3687
3706
  ["B", "strong"],
3688
3707
  ["DEL", "s"],
3689
3708
  ["I", "em"],
3690
3709
  ["STRIKE", "s"],
3691
3710
  ["TT", "code"]
3692
- ]), Fl = (e) => {
3711
+ ]), Ql = (e) => {
3693
3712
  try {
3694
3713
  const t = new URL(e, window.location.href);
3695
- return Pl.has(t.protocol);
3714
+ return Wl.has(t.protocol);
3696
3715
  } catch {
3697
3716
  return !1;
3698
3717
  }
3699
- }, ut = (e) => {
3718
+ }, mt = (e) => {
3700
3719
  e.replaceWith(...e.childNodes);
3701
- }, mt = (e, t) => {
3720
+ }, gt = (e, t) => {
3702
3721
  const n = e.ownerDocument.createElement(t);
3703
3722
  return n.append(...e.childNodes), e.replaceWith(n), n;
3704
- }, zl = (e) => {
3723
+ }, Zl = (e) => {
3705
3724
  const t = e.tagName.split(":")[0] ?? "";
3706
- return e.tagName.includes(":") && Dl.has(t);
3707
- }, Zn = (e) => {
3725
+ return e.tagName.includes(":") && Gl.has(t);
3726
+ }, nr = (e) => {
3708
3727
  [...e.childNodes].forEach((t) => {
3709
3728
  if (t.nodeType === Node.COMMENT_NODE) {
3710
3729
  t.remove();
3711
3730
  return;
3712
3731
  }
3713
- Zn(t);
3732
+ nr(t);
3714
3733
  });
3715
- }, er = (e) => {
3734
+ }, rr = (e) => {
3716
3735
  [...e.childNodes].forEach((t) => {
3717
3736
  if (t.nodeType === Node.TEXT_NODE) {
3718
3737
  const n = t.parentElement, r = !!(n != null && n.closest("pre,code,textarea")), o = (t.textContent ?? "").replace(/[\u200B-\u200D\uFEFF]/g, "").replace(/\u00A0/g, r ? " " : " ");
@@ -3724,25 +3743,25 @@ const Xn = {
3724
3743
  t.previousSibling || (a = a.trimStart()), t.nextSibling || (a = a.trimEnd()), t.textContent = a;
3725
3744
  return;
3726
3745
  }
3727
- er(t);
3746
+ rr(t);
3728
3747
  });
3729
- }, Wl = (e) => /^[1-9]\d*$/.test(e.trim()), gt = (e) => {
3730
- const t = e.trim().toLowerCase(), [, n] = t.match($l) ?? [];
3748
+ }, ec = (e) => /^[1-9]\d*$/.test(e.trim()), ht = (e) => {
3749
+ const t = e.trim().toLowerCase(), [, n] = t.match(Jl) ?? [];
3731
3750
  return n ? n.length === 8 ? `#${n.slice(2)}` : t : null;
3732
- }, Vl = (e, t) => {
3733
- if (!Ol.has(e)) return null;
3751
+ }, tc = (e, t) => {
3752
+ if (!Xl.has(e)) return null;
3734
3753
  const n = t.split(";").flatMap((r) => {
3735
- const [o, ...a] = r.split(":"), s = o == null ? void 0 : o.trim().toLowerCase(), l = gt(a.join(":"));
3736
- return !s || !l || !Hl.has(s) ? [] : [`${s}: ${l}`];
3754
+ const [o, ...a] = r.split(":"), s = o == null ? void 0 : o.trim().toLowerCase(), l = ht(a.join(":"));
3755
+ return !s || !l || !Yl.has(s) ? [] : [`${s}: ${l}`];
3737
3756
  });
3738
3757
  return n.length > 0 ? `${n.join("; ")};` : null;
3739
- }, Ul = (e) => {
3740
- if (zl(e)) {
3758
+ }, nc = (e) => {
3759
+ if (Zl(e)) {
3741
3760
  e.remove();
3742
3761
  return;
3743
3762
  }
3744
- if (!Nl.has(e.tagName)) {
3745
- ut(e);
3763
+ if (!Vl.has(e.tagName)) {
3764
+ mt(e);
3746
3765
  return;
3747
3766
  }
3748
3767
  [...e.attributes].forEach((t) => {
@@ -3752,7 +3771,7 @@ const Xn = {
3752
3771
  return;
3753
3772
  }
3754
3773
  if (n === "style") {
3755
- const r = Vl(e.tagName, t.value);
3774
+ const r = tc(e.tagName, t.value);
3756
3775
  if (r) {
3757
3776
  e.setAttribute(t.name, r);
3758
3777
  return;
@@ -3761,12 +3780,12 @@ const Xn = {
3761
3780
  return;
3762
3781
  }
3763
3782
  if (e.tagName === "A" && n === "href") {
3764
- if (Fl(t.value)) return;
3783
+ if (Ql(t.value)) return;
3765
3784
  e.removeAttribute(t.name);
3766
3785
  return;
3767
3786
  }
3768
3787
  if (!(e.tagName === "A" && ["target", "rel", "title"].includes(n))) {
3769
- if (e.tagName === "PRE" && n === De) {
3788
+ if (e.tagName === "PRE" && n === He) {
3770
3789
  const r = ne(t.value);
3771
3790
  if (r) {
3772
3791
  e.setAttribute(t.name, r);
@@ -3776,43 +3795,43 @@ const Xn = {
3776
3795
  return;
3777
3796
  }
3778
3797
  if (e.tagName === "FONT" && n === "color") {
3779
- if (gt(t.value)) return;
3798
+ if (ht(t.value)) return;
3780
3799
  e.removeAttribute(t.name);
3781
3800
  return;
3782
3801
  }
3783
- Al.has(e.tagName) && Bl.has(n) && Wl(t.value) || e.removeAttribute(t.name);
3802
+ ql.has(e.tagName) && Kl.has(n) && ec(t.value) || e.removeAttribute(t.name);
3784
3803
  }
3785
3804
  });
3786
- }, jl = (e) => {
3805
+ }, rc = (e) => {
3787
3806
  [...e.querySelectorAll("font")].forEach((t) => {
3788
- const n = t.getAttribute("color"), r = n ? gt(n) : null, o = mt(t, "span");
3807
+ const n = t.getAttribute("color"), r = n ? ht(n) : null, o = gt(t, "span");
3789
3808
  r && o.setAttribute("style", `color: ${r};`);
3790
3809
  });
3791
- }, Kl = (e) => {
3792
- [...e.querySelectorAll([...qt.keys()].join(","))].forEach((t) => {
3793
- const n = qt.get(t.tagName);
3794
- n && mt(t, n);
3810
+ }, oc = (e) => {
3811
+ [...e.querySelectorAll([...Gt.keys()].join(","))].forEach((t) => {
3812
+ const n = Gt.get(t.tagName);
3813
+ n && gt(t, n);
3795
3814
  });
3796
- }, ql = (e) => {
3815
+ }, ac = (e) => {
3797
3816
  [...e.querySelectorAll("div")].reverse().forEach((t) => {
3798
- if (t.querySelector(Rl)) {
3799
- ut(t);
3817
+ if (t.querySelector(jl)) {
3818
+ mt(t);
3800
3819
  return;
3801
3820
  }
3802
- mt(t, "p");
3821
+ gt(t, "p");
3803
3822
  });
3804
- }, Gl = (e) => {
3823
+ }, sc = (e) => {
3805
3824
  [...e.querySelectorAll("span")].forEach((t) => {
3806
- t.attributes.length === 0 && ut(t);
3825
+ t.attributes.length === 0 && mt(t);
3807
3826
  });
3808
- }, Xl = (e) => !["P", "DIV", "SPAN"].includes(e.tagName) || e.querySelector("br,table,ul,ol") ? !1 : !(e.textContent ?? "").trim(), Gt = (e) => {
3827
+ }, ic = (e) => !["P", "DIV", "SPAN"].includes(e.tagName) || e.querySelector("br,table,ul,ol") ? !1 : !(e.textContent ?? "").trim(), Xt = (e) => {
3809
3828
  [...e.querySelectorAll("p,div,span")].reverse().forEach((t) => {
3810
- Xl(t) && t.remove();
3829
+ ic(t) && t.remove();
3811
3830
  });
3812
- }, Yl = (e) => {
3831
+ }, lc = (e) => {
3813
3832
  var t;
3814
- return e.nodeType === Node.TEXT_NODE ? !!((t = e.textContent) != null && t.trim()) : e.nodeType !== Node.ELEMENT_NODE ? !1 : !e.matches(Il);
3815
- }, Jl = (e) => {
3833
+ return e.nodeType === Node.TEXT_NODE ? !!((t = e.textContent) != null && t.trim()) : e.nodeType !== Node.ELEMENT_NODE ? !1 : !e.matches(Ul);
3834
+ }, cc = (e) => {
3816
3835
  let t = [];
3817
3836
  const n = () => {
3818
3837
  if (t.length === 0) return;
@@ -3827,135 +3846,135 @@ const Xn = {
3827
3846
  r.remove();
3828
3847
  return;
3829
3848
  }
3830
- if (Yl(r)) {
3849
+ if (lc(r)) {
3831
3850
  t.push(r);
3832
3851
  return;
3833
3852
  }
3834
3853
  n();
3835
3854
  }), n();
3836
- }, Ql = (e) => {
3855
+ }, dc = (e) => {
3837
3856
  const t = document.createElement("template");
3838
- t.innerHTML = e, t.content.querySelectorAll(Ll).forEach((r) => {
3857
+ t.innerHTML = e, t.content.querySelectorAll(Fl).forEach((r) => {
3839
3858
  r.remove();
3840
- }), t.content.querySelectorAll(Sl).forEach((r) => {
3859
+ }), t.content.querySelectorAll(zl).forEach((r) => {
3841
3860
  r.remove();
3842
- }), Zn(t.content), ts(t.content), [...t.content.querySelectorAll("*")].forEach(Ul), er(t.content), jl(t.content), Kl(t.content), ql(t.content), Gl(t.content), Gt(t.content);
3861
+ }), nr(t.content), gs(t.content), [...t.content.querySelectorAll("*")].forEach(nc), rr(t.content), rc(t.content), oc(t.content), ac(t.content), sc(t.content), Xt(t.content);
3843
3862
  const n = document.createElement("div");
3844
- return n.append(t.content.cloneNode(!0)), Jl(n), Gt(n), n.innerHTML;
3845
- }, Zl = /^https?:\/\/[^\s<>"']+\.[^\s<>"']+$/i, ec = /^www\.[^\s<>"']+\.[^\s<>"']+$/i, tc = new RegExp(
3863
+ return n.append(t.content.cloneNode(!0)), cc(n), Xt(n), n.innerHTML;
3864
+ }, uc = /^https?:\/\/[^\s<>"']+\.[^\s<>"']+$/i, mc = /^www\.[^\s<>"']+\.[^\s<>"']+$/i, gc = new RegExp(
3846
3865
  `^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+(?:/[^\\s<>"']*)?$`,
3847
3866
  "i"
3848
- ), nc = /^[^\s@]+@[^\s@]+\.[^\s@]+$/i, rc = /^\s*```([a-z0-9_+#.-]+)\s*\n([\s\S]*?)\n?```\s*$/i, oc = (e) => e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : null, tr = (e) => e ? [...e].flatMap((t) => {
3849
- const n = oc(t);
3867
+ ), hc = /^[^\s@]+@[^\s@]+\.[^\s@]+$/i, pc = /^\s*```([a-z0-9_+#.-]+)\s*\n([\s\S]*?)\n?```\s*$/i, fc = (e) => e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : null, or = (e) => e ? [...e].flatMap((t) => {
3868
+ const n = fc(t);
3850
3869
  return n ? [{ type: n, file: t }] : [];
3851
3870
  }) : [], Oe = (e) => ({
3852
3871
  text: (e == null ? void 0 : e.getData("text/plain")) ?? "",
3853
3872
  html: (e == null ? void 0 : e.getData("text/html")) ?? "",
3854
3873
  files: e != null && e.files ? [...e.files] : []
3855
- }), ac = (e) => ({
3874
+ }), bc = (e) => ({
3856
3875
  name: e.name,
3857
3876
  mimeType: e.type || void 0,
3858
3877
  size: e.size,
3859
3878
  data: e
3860
- }), sc = (e) => {
3879
+ }), yc = (e) => {
3861
3880
  const [, t, n] = e.replace(/\r\n/g, `
3862
- `).match(rc) ?? [], r = ne(t);
3881
+ `).match(pc) ?? [], r = ne(t);
3863
3882
  return n !== void 0 && r !== null ? { code: n, language: r } : null;
3864
- }, ic = (e) => {
3883
+ }, vc = (e) => {
3865
3884
  const t = e.trim();
3866
- return !t || /\s/.test(t) || t.includes("<") || t.includes(">") || /^[a-z][a-z0-9+.-]*:/i.test(t) && !/^https?:\/\//i.test(t) || nc.test(t) ? !1 : Zl.test(t) || ec.test(t) || tc.test(t);
3867
- }, nr = (e, {
3885
+ return !t || /\s/.test(t) || t.includes("<") || t.includes(">") || /^[a-z][a-z0-9+.-]*:/i.test(t) && !/^https?:\/\//i.test(t) || hc.test(t) ? !1 : uc.test(t) || mc.test(t) || gc.test(t);
3886
+ }, ar = (e, {
3868
3887
  isReadonly: t,
3869
3888
  executeCommand: n
3870
- }) => t() || !ic(e.text) ? !1 : (n({
3889
+ }) => t() || !vc(e.text) ? !1 : (n({
3871
3890
  type: "link.set",
3872
3891
  href: e.text.trim()
3873
- }), !0), tt = (e, {
3892
+ }), !0), nt = (e, {
3874
3893
  isReadonly: t,
3875
3894
  canUploadMedia: n,
3876
3895
  uploadMediaFile: r
3877
3896
  }) => {
3878
3897
  if (t() || !n()) return !1;
3879
- const o = tr(e.files);
3898
+ const o = or(e.files);
3880
3899
  return o.length === 0 ? !1 : (o.forEach(({ type: a, file: s }) => {
3881
3900
  r(a, s);
3882
3901
  }), !0);
3883
- }, lc = (e, t) => {
3902
+ }, wc = (e, t) => {
3884
3903
  const r = new DOMParser().parseFromString(t, "text/html");
3885
- ns(r.body);
3886
- const o = pn(e, r);
3887
- return rs(o, r.body), o;
3888
- }, cc = (e, t) => {
3889
- const n = lc(e, t);
3904
+ hs(r.body);
3905
+ const o = fn(e, r);
3906
+ return ps(o, r.body), o;
3907
+ }, Cc = (e, t) => {
3908
+ const n = wc(e, t);
3890
3909
  if (n.length === 0) return !1;
3891
3910
  if (D() || F().selectEnd(), n.some(X)) {
3892
3911
  n.forEach((o) => {
3893
- fn(o);
3912
+ bn(o);
3894
3913
  });
3895
3914
  const r = n[n.length - 1];
3896
- return r && X(r) && V([z()]), !0;
3915
+ return r && X(r) && W([z()]), !0;
3897
3916
  }
3898
- return V(n), !0;
3899
- }, dc = (e, {
3917
+ return W(n), !0;
3918
+ }, _c = (e, {
3900
3919
  editor: t,
3901
3920
  isReadonly: n
3902
3921
  }) => {
3903
3922
  if (n()) return !1;
3904
- if (!e.html.trim()) return mc(e, { editor: t, isReadonly: n });
3905
- const r = Ql(e.html);
3923
+ if (!e.html.trim()) return Ec(e, { editor: t, isReadonly: n });
3924
+ const r = dc(e.html);
3906
3925
  return r.trim() ? (t.update(() => {
3907
- cc(t, r);
3926
+ Cc(t, r);
3908
3927
  }), !0) : !1;
3909
- }, uc = (e, {
3928
+ }, kc = (e, {
3910
3929
  editor: t,
3911
3930
  isReadonly: n
3912
3931
  }) => {
3913
3932
  if (n() || e.html.trim() || !e.text.trim()) return !1;
3914
- const r = sc(e.text);
3933
+ const r = yc(e.text);
3915
3934
  return r ? (t.update(() => {
3916
- const o = In(r.language || void 0), a = z();
3917
- D() || F().selectEnd(), o.append(Be(r.code)), fn(o), V([a]), a.selectStart();
3935
+ const o = Bn(r.language || void 0), a = z();
3936
+ D() || F().selectEnd(), o.append(Be(r.code)), bn(o), W([a]), a.selectStart();
3918
3937
  }), !0) : !1;
3919
- }, mc = (e, {
3938
+ }, Ec = (e, {
3920
3939
  editor: t,
3921
3940
  isReadonly: n
3922
3941
  }) => n() || e.html.trim() || !e.text ? !1 : (t.update(() => {
3923
- D() || F().selectEnd(), V([Be(e.text)]);
3924
- }), !0), rr = (e, t) => uc(e, t) || dc(e, t), te = (e) => {
3942
+ D() || F().selectEnd(), W([Be(e.text)]);
3943
+ }), !0), sr = (e, t) => kc(e, t) || _c(e, t), te = (e) => {
3925
3944
  e.preventDefault(), e.stopImmediatePropagation();
3926
- }, gc = (e, t) => tt(e, t) || nr(e, t) || rr(e, t), hc = (e) => {
3945
+ }, xc = (e, t) => nt(e, t) || ar(e, t) || sr(e, t), Mc = (e) => {
3927
3946
  const t = (n) => {
3928
- n.defaultPrevented || nr(Oe(n.clipboardData), e) && te(n);
3947
+ n.defaultPrevented || ar(Oe(n.clipboardData), e) && te(n);
3929
3948
  };
3930
3949
  return e.target.addEventListener("paste", t, { capture: !0 }), () => {
3931
3950
  e.target.removeEventListener("paste", t, { capture: !0 });
3932
3951
  };
3933
- }, pc = (e) => {
3952
+ }, Tc = (e) => {
3934
3953
  const t = (o) => {
3935
- o.defaultPrevented || tt(Oe(o.clipboardData), e) && te(o);
3954
+ o.defaultPrevented || nt(Oe(o.clipboardData), e) && te(o);
3936
3955
  }, n = (o) => {
3937
3956
  var s;
3938
3957
  if (e.isReadonly() || !e.canUploadMedia()) return;
3939
3958
  const a = (s = o.dataTransfer) != null && s.files ? [...o.dataTransfer.files] : [];
3940
- tr(a).length !== 0 && (o.preventDefault(), o.dataTransfer && (o.dataTransfer.dropEffect = "copy"));
3959
+ or(a).length !== 0 && (o.preventDefault(), o.dataTransfer && (o.dataTransfer.dropEffect = "copy"));
3941
3960
  }, r = (o) => {
3942
3961
  var s;
3943
3962
  const a = {
3944
3963
  files: (s = o.dataTransfer) != null && s.files ? [...o.dataTransfer.files] : []
3945
3964
  };
3946
- tt(a, e) && te(o);
3965
+ nt(a, e) && te(o);
3947
3966
  };
3948
3967
  return e.target.addEventListener("paste", t, { capture: !0 }), e.target.addEventListener("dragover", n), e.target.addEventListener("drop", r), () => {
3949
3968
  e.target.removeEventListener("paste", t, { capture: !0 }), e.target.removeEventListener("dragover", n), e.target.removeEventListener("drop", r);
3950
3969
  };
3951
- }, fc = (e) => {
3970
+ }, Lc = (e) => {
3952
3971
  const t = (n) => {
3953
- n.defaultPrevented || !rr(Oe(n.clipboardData), e) || te(n);
3972
+ n.defaultPrevented || !sr(Oe(n.clipboardData), e) || te(n);
3954
3973
  };
3955
3974
  return e.target.addEventListener("paste", t, { capture: !0 }), () => {
3956
3975
  e.target.removeEventListener("paste", t, { capture: !0 });
3957
3976
  };
3958
- }, bc = ({
3977
+ }, Sc = ({
3959
3978
  target: e,
3960
3979
  isReadonly: t,
3961
3980
  onPaste: n,
@@ -3964,7 +3983,7 @@ const Xn = {
3964
3983
  executeCommand: a,
3965
3984
  editor: s
3966
3985
  }) => {
3967
- const l = (i, g) => gc({
3986
+ const l = (i, g) => xc({
3968
3987
  text: g.text ?? i.text,
3969
3988
  html: g.html ?? i.html,
3970
3989
  files: i.files
@@ -3979,7 +3998,7 @@ const Xn = {
3979
3998
  const g = Oe(i.clipboardData), v = n({
3980
3999
  text: g.text,
3981
4000
  html: g.html,
3982
- files: g.files.map(ac)
4001
+ files: g.files.map(bc)
3983
4002
  });
3984
4003
  if (v instanceof Promise) {
3985
4004
  te(i), v.then((b) => {
@@ -3996,36 +4015,36 @@ const Xn = {
3996
4015
  return e.addEventListener("paste", d, { capture: !0 }), () => {
3997
4016
  e.removeEventListener("paste", d, { capture: !0 });
3998
4017
  };
3999
- }, yc = (e) => e.getKey() === "root" ? null : e.getTopLevelElement(), vc = (e, t, n) => {
4018
+ }, Nc = (e) => e.getKey() === "root" ? null : e.getTopLevelElement(), Pc = (e, t, n) => {
4000
4019
  const r = e.getLastDescendant();
4001
4020
  return ie(t) ? t === e && n === e.getChildrenSize() : r ? t === r && n === t.getTextContentSize() : !0;
4002
- }, wc = (e) => {
4021
+ }, Ic = (e) => {
4003
4022
  const t = e.getLastChild();
4004
- return dn(t);
4005
- }, Cc = (e) => {
4023
+ return un(t);
4024
+ }, Rc = (e) => {
4006
4025
  const t = z(), n = e.getLastChild();
4007
- dn(n) && n.remove(), e.insertAfter(t), t.selectStart();
4008
- }, _c = (e, t) => {
4026
+ un(n) && n.remove(), e.insertAfter(t), t.selectStart();
4027
+ }, Ac = (e, t) => {
4009
4028
  const n = () => {
4010
4029
  if (t()) return !1;
4011
4030
  const r = D();
4012
- if (!H(r) || !r.isCollapsed()) return !1;
4013
- const o = r.anchor, a = o.getNode(), s = yc(a);
4014
- return !un(s) || !vc(s, a, o.offset) ? !1 : wc(s) ? (Cc(s), !0) : (r.insertLineBreak(), !0);
4031
+ if (!O(r) || !r.isCollapsed()) return !1;
4032
+ const o = r.anchor, a = o.getNode(), s = Nc(a);
4033
+ return !mn(s) || !Pc(s, a, o.offset) ? !1 : Ic(s) ? (Rc(s), !0) : (r.insertLineBreak(), !0);
4015
4034
  };
4016
4035
  return [
4017
4036
  e.registerCommand(
4018
- Er,
4037
+ Tr,
4019
4038
  n,
4020
4039
  G
4021
4040
  ),
4022
4041
  e.registerCommand(
4023
- xr,
4042
+ Lr,
4024
4043
  (r) => r ? !1 : n(),
4025
4044
  G
4026
4045
  )
4027
4046
  ];
4028
- }, kc = [
4047
+ }, Bc = [
4029
4048
  "paragraph",
4030
4049
  "heading-1",
4031
4050
  "heading-2",
@@ -4039,18 +4058,18 @@ const Xn = {
4039
4058
  "upload-image",
4040
4059
  "upload-video",
4041
4060
  "table"
4042
- ], Ec = {
4061
+ ], Dc = {
4043
4062
  showIcon: !0,
4044
4063
  loadingText: "加载中",
4045
4064
  emptyText: "没有匹配的命令",
4046
4065
  errorText: "命令加载失败"
4047
- }, xc = (e) => ({
4048
- ...Ec,
4066
+ }, Hc = (e) => ({
4067
+ ...Dc,
4049
4068
  ...e
4050
- }), Mc = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Tc = (e) => ({
4069
+ }), Oc = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), $c = (e) => ({
4051
4070
  ...e,
4052
- toolbarKeys: (e == null ? void 0 : e.toolbarKeys) ?? kc
4053
- }), Lc = (e) => ({
4071
+ toolbarKeys: (e == null ? void 0 : e.toolbarKeys) ?? Bc
4072
+ }), Fc = (e) => ({
4054
4073
  id: e.id,
4055
4074
  label: e.label,
4056
4075
  command: e.command,
@@ -4058,24 +4077,24 @@ const Xn = {
4058
4077
  requiresPayload: e.requiresPayload,
4059
4078
  payloadPanel: e.payloadPanel,
4060
4079
  source: "schema"
4061
- }), Sc = (e, t) => Mc(rt(
4062
- Tc(t),
4080
+ }), zc = (e, t) => Oc(ot(
4081
+ $c(t),
4063
4082
  e
4064
- )).map(Lc), or = (e) => ({
4083
+ )).map(Fc), ir = (e) => ({
4065
4084
  ...e,
4066
4085
  source: "provider"
4067
- }), Nc = /(?:^|\s)\/([\p{L}\p{N}_-]*)$/u, Pc = (e) => e.trim().toLowerCase(), Ic = (e) => [e.label, e.id, e.description, ...e.keywords ?? []].filter(Boolean).join(" ").toLowerCase(), Rc = (e, t) => {
4068
- const n = Pc(t);
4069
- return n ? e.filter((r) => Ic(r).includes(n)) : e;
4070
- }, Bc = async (e, t) => (await Promise.resolve((t == null ? void 0 : t(e)) ?? [])).map(or), Ac = (e) => "source" in e ? e : or(e), Dc = ({
4086
+ }), Vc = /(?:^|\s)\/([\p{L}\p{N}_-]*)$/u, Wc = (e) => e.trim().toLowerCase(), Uc = (e) => [e.label, e.id, e.description, ...e.keywords ?? []].filter(Boolean).join(" ").toLowerCase(), jc = (e, t) => {
4087
+ const n = Wc(t);
4088
+ return n ? e.filter((r) => Uc(r).includes(n)) : e;
4089
+ }, Kc = async (e, t) => (await Promise.resolve((t == null ? void 0 : t(e)) ?? [])).map(ir), qc = (e) => "source" in e ? e : ir(e), Gc = ({
4071
4090
  menuSchema: e,
4072
4091
  slashCommandConfig: t
4073
- }) => e !== void 0 || t !== void 0, Oc = () => {
4092
+ }) => e !== void 0 || t !== void 0, Xc = () => {
4074
4093
  const e = D();
4075
- if (!H(e) || !e.isCollapsed()) return null;
4094
+ if (!O(e) || !e.isCollapsed()) return null;
4076
4095
  const t = e.anchor, n = t.getNode();
4077
4096
  if (!(n instanceof Y)) return null;
4078
- const o = n.getTextContent().slice(0, t.offset).match(Nc);
4097
+ const o = n.getTextContent().slice(0, t.offset).match(Vc);
4079
4098
  if (!o) return null;
4080
4099
  const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("/") ? 0 : 1, d = t.offset - s.length + l;
4081
4100
  return {
@@ -4084,33 +4103,33 @@ const Xn = {
4084
4103
  startOffset: d,
4085
4104
  endOffset: t.offset
4086
4105
  };
4087
- }, Hc = () => {
4106
+ }, Yc = () => {
4088
4107
  const e = document.createElement("div");
4089
4108
  return e.className = "bridgerte__floating-menu bridgerte__slash-command-menu", e.dataset.visible = "false", e;
4090
- }, $c = () => {
4109
+ }, Jc = () => {
4091
4110
  const e = document.createElement("span");
4092
4111
  return e.className = "bridgerte__slash-command-anchor", e.setAttribute("aria-hidden", "true"), e;
4093
- }, Xt = (e, t) => {
4112
+ }, Yt = (e, t) => {
4094
4113
  var s;
4095
- const n = e.getElementByKey(t.nodeKey), r = dt(n, t.startOffset + 1);
4114
+ const n = e.getElementByKey(t.nodeKey), r = ut(n, t.startOffset + 1);
4096
4115
  if (!(r instanceof Text)) return null;
4097
4116
  const o = document.createRange(), a = Math.min(t.startOffset + 1, ((s = r.textContent) == null ? void 0 : s.length) ?? 0);
4098
4117
  return a <= t.startOffset ? null : (o.setStart(r, t.startOffset), o.setEnd(r, a), o.getBoundingClientRect());
4099
- }, Fc = (e, t, n, r, o) => {
4118
+ }, Qc = (e, t, n, r, o) => {
4100
4119
  const a = document.createElement("button"), s = document.createElement("span");
4101
4120
  if (a.type = "button", a.className = "bridgerte__menu-item bridgerte__slash-command-item", a.dataset.commandId = e.id, a.dataset.index = String(t), a.dataset.active = String(n), r.showIcon && e.icon) {
4102
4121
  const l = document.createElement("span");
4103
- l.className = "bridgerte__slash-command-item-icon", l.setAttribute("aria-hidden", "true"), Yn(l, o[e.icon] ?? Xn[e.icon], e.label), a.append(l);
4122
+ l.className = "bridgerte__slash-command-item-icon", l.setAttribute("aria-hidden", "true"), Zn(l, o[e.icon] ?? Qn[e.icon], e.label), a.append(l);
4104
4123
  }
4105
4124
  if (s.className = "bridgerte__slash-command-item-title", s.textContent = e.label, a.append(s), e.description) {
4106
4125
  const l = document.createElement("span");
4107
4126
  l.className = "bridgerte__slash-command-item-description", l.textContent = e.description, a.append(l);
4108
4127
  }
4109
4128
  return a;
4110
- }, zc = (e, t) => {
4129
+ }, Zc = (e, t) => {
4111
4130
  const n = document.createElement("div");
4112
4131
  return n.className = "bridgerte__slash-command-status", n.dataset.status = e, n.textContent = t, n;
4113
- }, Wc = (e, t) => {
4132
+ }, ed = (e, t) => {
4114
4133
  switch (e) {
4115
4134
  case "loading":
4116
4135
  return t.loadingText;
@@ -4119,12 +4138,12 @@ const Xn = {
4119
4138
  case "error":
4120
4139
  return t.errorText;
4121
4140
  }
4122
- }, Yt = (e) => e ? {
4141
+ }, Jt = (e) => e ? {
4123
4142
  x: e.x,
4124
4143
  y: e.y,
4125
4144
  width: e.width,
4126
4145
  height: e.height
4127
- } : void 0, Vc = ({
4146
+ } : void 0, td = ({
4128
4147
  editorRoot: e,
4129
4148
  contentElement: t,
4130
4149
  editor: n,
@@ -4140,19 +4159,19 @@ const Xn = {
4140
4159
  onSlashCommandMenuRequest: b,
4141
4160
  slashCommandProvider: T
4142
4161
  }) => {
4143
- const f = Hc(), y = $c(), x = xc(v), u = ct(s ?? Ae, {
4162
+ const f = Yc(), y = Jc(), x = Hc(v), u = dt(s ?? De, {
4144
4163
  menuLabels: i,
4145
4164
  payloadPanelConfig: g
4146
- }), p = Sc(u, l), E = new Map(u.map((c) => [c.id, c])), _ = Dc({
4165
+ }), p = zc(u, l), E = new Map(u.map((c) => [c.id, c])), _ = Gc({
4147
4166
  menuSchema: s,
4148
4167
  slashCommandConfig: l
4149
- }), A = (c) => {
4168
+ }), B = (c) => {
4150
4169
  n.update(() => {
4151
4170
  const h = he(c.nodeKey);
4152
4171
  h instanceof Y && (h.spliceText(c.startOffset, c.endOffset - c.startOffset, ""), h.select(c.startOffset, c.startOffset));
4153
4172
  });
4154
4173
  };
4155
- return Jn({
4174
+ return er({
4156
4175
  editorRoot: e,
4157
4176
  contentElement: t,
4158
4177
  editor: n,
@@ -4160,28 +4179,28 @@ const Xn = {
4160
4179
  menu: f,
4161
4180
  anchor: y,
4162
4181
  itemSelector: ".bridgerte__slash-command-item",
4163
- getCurrentTrigger: Oc,
4164
- getTriggerRect: (c) => Xt(n, c),
4182
+ getCurrentTrigger: Xc,
4183
+ getTriggerRect: (c) => Yt(n, c),
4165
4184
  resolveItems: async (c) => {
4166
- const h = _ || !T ? Rc(p, c) : [];
4185
+ const h = _ || !T ? jc(p, c) : [];
4167
4186
  try {
4168
- const m = await Bc(c, T);
4187
+ const m = await Kc(c, T);
4169
4188
  return [...h, ...m];
4170
4189
  } catch (m) {
4171
4190
  if (h.length > 0) return h;
4172
4191
  throw m;
4173
4192
  }
4174
4193
  },
4175
- renderItem: (c, h, m) => Fc(
4194
+ renderItem: (c, h, m) => Qc(
4176
4195
  c,
4177
4196
  h,
4178
4197
  m,
4179
4198
  x,
4180
4199
  d
4181
4200
  ),
4182
- renderStatus: (c) => zc(
4201
+ renderStatus: (c) => Zc(
4183
4202
  c,
4184
- Wc(c, x)
4203
+ ed(c, x)
4185
4204
  ),
4186
4205
  onStateChange: b ? (c, h) => b({
4187
4206
  id: `bridgerte-slash-command-menu-${c.requestId}`,
@@ -4190,66 +4209,66 @@ const Xn = {
4190
4209
  items: c.items,
4191
4210
  config: x,
4192
4211
  readonly: r(),
4193
- anchorRect: Yt(h.anchorRect),
4212
+ anchorRect: Jt(h.anchorRect),
4194
4213
  ...c.error ? { error: c.error } : {},
4195
- submit: (m) => h.selectItem(Ac(m)),
4214
+ submit: (m) => h.selectItem(qc(m)),
4196
4215
  cancel: h.close
4197
4216
  }) : void 0,
4198
4217
  onSelect: (c, h) => {
4199
- A(h);
4218
+ B(h);
4200
4219
  const m = c.source === "schema" ? E.get(c.id) : void 0;
4201
4220
  if (m != null && m.payloadPanel) {
4202
- const C = Xt(n, h);
4221
+ const C = Yt(n, h);
4203
4222
  a({
4204
4223
  menuId: m.id,
4205
4224
  command: m.command,
4206
4225
  panel: m.payloadPanel,
4207
- anchorRect: Yt(C ?? void 0)
4226
+ anchorRect: Jt(C ?? void 0)
4208
4227
  });
4209
4228
  return;
4210
4229
  }
4211
4230
  o(c.command);
4212
4231
  }
4213
4232
  }).destroy;
4214
- }, Jt = 32, Ve = (e) => {
4233
+ }, Qt = 32, Ue = (e) => {
4215
4234
  var t;
4216
4235
  return e instanceof HTMLElement && e.getAttribute("role") === "checkbox" && ((t = e.parentElement) == null ? void 0 : t.classList.contains("bridgerte__list--todo")) === !0;
4217
- }, Ue = (e) => e instanceof HTMLElement ? e.closest('[role="checkbox"]') : null, Uc = (e) => Mr(e), Qt = (e) => e.button === 0, je = (e, t) => {
4236
+ }, je = (e) => e instanceof HTMLElement ? e.closest('[role="checkbox"]') : null, nd = (e) => Sr(e), Zt = (e) => e.button === 0, Ke = (e, t) => {
4218
4237
  const n = t.getBoundingClientRect();
4219
- return t.dir === "rtl" ? e.clientX >= n.right - Jt && e.clientX <= n.right : e.clientX >= n.left && e.clientX <= n.left + Jt;
4220
- }, Zt = (e) => {
4238
+ return t.dir === "rtl" ? e.clientX >= n.right - Qt && e.clientX <= n.right : e.clientX >= n.left && e.clientX <= n.left + Qt;
4239
+ }, en = (e) => {
4221
4240
  e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();
4222
- }, jc = ({
4241
+ }, rd = ({
4223
4242
  contentElement: e,
4224
4243
  editor: t,
4225
4244
  isReadonly: n
4226
4245
  }) => {
4227
4246
  let r = 0;
4228
4247
  const o = (d) => {
4229
- if (n() || !Qt(d)) return;
4230
- const i = Ue(d.target);
4231
- !i || !Ve(i) || je(d, i) && Zt(d);
4248
+ if (n() || !Zt(d)) return;
4249
+ const i = je(d.target);
4250
+ !i || !Ue(i) || Ke(d, i) && en(d);
4232
4251
  }, a = (d, i) => {
4233
- Zt(d), t.update(() => {
4234
- const g = Uc(i);
4235
- jr(g) && g.toggleChecked();
4252
+ en(d), t.update(() => {
4253
+ const g = nd(i);
4254
+ Gr(g) && g.toggleChecked();
4236
4255
  });
4237
4256
  }, s = (d) => {
4238
- if (n() || !Qt(d) || Date.now() - r < 700) return;
4239
- const i = Ue(d.target);
4240
- !i || !Ve(i) || je(d, i) && a(d, i);
4257
+ if (n() || !Zt(d) || Date.now() - r < 700) return;
4258
+ const i = je(d.target);
4259
+ !i || !Ue(i) || Ke(d, i) && a(d, i);
4241
4260
  }, l = (d) => {
4242
4261
  if (n() || d.pointerType !== "touch") return;
4243
- const i = Ue(d.target);
4244
- !i || !Ve(i) || je(d, i) && (r = Date.now(), a(d, i));
4262
+ const i = je(d.target);
4263
+ !i || !Ue(i) || Ke(d, i) && (r = Date.now(), a(d, i));
4245
4264
  };
4246
4265
  return e.addEventListener("pointerdown", o, !0), e.addEventListener("pointerup", l, !0), e.addEventListener("click", s, !0), () => {
4247
4266
  e.removeEventListener("pointerdown", o, !0), e.removeEventListener("pointerup", l, !0), e.removeEventListener("click", s, !0);
4248
4267
  };
4249
- }, Ke = (e, t) => {
4268
+ }, qe = (e, t) => {
4250
4269
  var n;
4251
4270
  return ((n = e.floatingMenus) == null ? void 0 : n[t]) !== !1;
4252
- }, Kc = ({
4271
+ }, od = ({
4253
4272
  options: e,
4254
4273
  lexicalEditor: t,
4255
4274
  editorRoot: n,
@@ -4267,12 +4286,12 @@ const Xn = {
4267
4286
  setCanRedo: f,
4268
4287
  enableKeyboardShortcuts: y
4269
4288
  }) => {
4270
- const x = Ke(e, "mention"), u = Ke(e, "slash"), p = Ke(e, "hoverbar"), E = cn(
4289
+ const x = qe(e, "mention"), u = qe(e, "slash"), p = qe(e, "hoverbar"), E = dn(
4271
4290
  /*
4272
4291
  * 业务自定义 paste hook 最先看到原始剪贴板摘要;返回 undefined 时完全不拦截,
4273
4292
  * 继续走 BridgeRTE 内置媒体、URL 和 HTML 清洗链路。
4274
4293
  */
4275
- bc({
4294
+ Sc({
4276
4295
  target: r,
4277
4296
  isReadonly: a,
4278
4297
  onPaste: e.onPaste,
@@ -4285,7 +4304,7 @@ const Xn = {
4285
4304
  * 媒体文件粘贴/拖拽优先于 URL 粘贴快速路径;剪贴板里有文件时直接进入上传管线,
4286
4305
  * 没有文件再交给纯文本 URL 链接处理或 Lexical 默认粘贴。
4287
4306
  */
4288
- pc({
4307
+ Tc({
4289
4308
  target: r,
4290
4309
  isReadonly: a,
4291
4310
  canUploadMedia: i,
@@ -4295,7 +4314,7 @@ const Xn = {
4295
4314
  * URL 粘贴是 BridgeRTE 的高意图快捷路径,必须先于 Lexical 默认 paste 监听注册。
4296
4315
  * 否则 Lexical 会先把 URL 当普通文本插入,后续就失去“选区变链接”的语义。
4297
4316
  */
4298
- hc({
4317
+ Mc({
4299
4318
  target: r,
4300
4319
  isReadonly: a,
4301
4320
  executeCommand: s
@@ -4304,32 +4323,32 @@ const Xn = {
4304
4323
  * HTML 清洗放在媒体和纯文本 URL 之后、Lexical 默认 rich text paste 之前。
4305
4324
  * 这样外部网页/办公软件片段会先进入 BridgeRTE 白名单清洗,再转成 Lexical 节点。
4306
4325
  */
4307
- fc({
4326
+ Lc({
4308
4327
  target: r,
4309
4328
  editor: t,
4310
4329
  isReadonly: a
4311
4330
  }),
4312
- Vi({
4331
+ tl({
4313
4332
  target: r,
4314
4333
  isReadonly: a
4315
4334
  }),
4316
- Br(t),
4335
+ Hr(t),
4317
4336
  /*
4318
4337
  * 代码块高亮一刀切使用 Lexical 官方 Shiki 管线。BridgeRTE tokenizer 只保留稳定 class,
4319
4338
  * 不把 Shiki theme 的 inline style 写进内容 HTML。
4320
4339
  */
4321
- To(t, ss),
4322
- ho(t, o, za),
4323
- Kr(t),
4324
- qr(t),
4325
- ..._c(t, a),
4326
- ...Ko(t, a),
4327
- jc({
4340
+ No(t, ys),
4341
+ bo(t, o, Za),
4342
+ Xr(t),
4343
+ Yr(t),
4344
+ ...Ac(t, a),
4345
+ ...oa(t, a),
4346
+ rd({
4328
4347
  contentElement: r,
4329
4348
  editor: t,
4330
4349
  isReadonly: a
4331
4350
  }),
4332
- x ? Tl({
4351
+ x ? $l({
4333
4352
  editorRoot: n,
4334
4353
  contentElement: r,
4335
4354
  editor: t,
@@ -4340,7 +4359,7 @@ const Xn = {
4340
4359
  onMentionMenuRequest: e.onMentionMenuRequest
4341
4360
  }) : () => {
4342
4361
  },
4343
- p ? Qi({
4362
+ p ? dl({
4344
4363
  editorRoot: n,
4345
4364
  contentElement: r,
4346
4365
  editor: t,
@@ -4355,9 +4374,9 @@ const Xn = {
4355
4374
  payloadPanelConfig: e.payloadPanelConfig
4356
4375
  }) : () => {
4357
4376
  },
4358
- oo(t),
4359
- Hi({ editor: t }),
4360
- u ? Vc({
4377
+ io(t),
4378
+ Yi({ editor: t }),
4379
+ u ? td({
4361
4380
  editorRoot: n,
4362
4381
  contentElement: r,
4363
4382
  editor: t,
@@ -4374,12 +4393,12 @@ const Xn = {
4374
4393
  slashCommandProvider: e.slashCommandProvider
4375
4394
  }) : () => {
4376
4395
  },
4377
- Zo({
4396
+ ua({
4378
4397
  editor: t,
4379
4398
  contentElement: r,
4380
4399
  isReadonly: a
4381
4400
  }),
4382
- y ? ol({
4401
+ y ? fl({
4383
4402
  target: r,
4384
4403
  isReadonly: a,
4385
4404
  executeCommand: s
@@ -4389,17 +4408,17 @@ const Xn = {
4389
4408
  g(), v();
4390
4409
  }),
4391
4410
  t.registerCommand(
4392
- sn,
4411
+ ln,
4393
4412
  () => (v(), !1),
4394
4413
  j
4395
4414
  ),
4396
4415
  t.registerCommand(
4397
- Tr,
4416
+ Nr,
4398
4417
  (_) => (T(_), !1),
4399
4418
  j
4400
4419
  ),
4401
4420
  t.registerCommand(
4402
- Lr,
4421
+ Pr,
4403
4422
  (_) => (f(_), !1),
4404
4423
  j
4405
4424
  )
@@ -4410,39 +4429,39 @@ const Xn = {
4410
4429
  }
4411
4430
  };
4412
4431
  };
4413
- function qc(e, t = {}) {
4414
- const n = po(), r = t.mediaDefaultWidthPercent ?? 50, { contentElement: o } = Ri(e, {
4415
- placeholder: t.placeholder ?? Yo
4432
+ function ad(e, t = {}) {
4433
+ const n = yo(), r = t.mediaDefaultWidthPercent ?? 50, { contentElement: o } = ji(e, {
4434
+ placeholder: t.placeholder ?? la
4416
4435
  }), a = t.keyboardShortcuts === !0;
4417
- let s = t.readonly ?? !1, l = !1, d = Xe(t.value);
4418
- const i = Sr({
4419
- namespace: Wa,
4436
+ let s = t.readonly ?? !1, l = !1, d = Ye(t.value);
4437
+ const i = Ir({
4438
+ namespace: es,
4420
4439
  editable: !s,
4421
4440
  nodes: [
4422
- Ar,
4423
- Dr,
4424
- mn,
4425
- Fr,
4441
+ Or,
4442
+ $r,
4426
4443
  gn,
4427
- Gr,
4428
- qe,
4429
- ao,
4430
- so,
4431
- mo,
4432
- go,
4444
+ Wr,
4445
+ hn,
4446
+ Jr,
4447
+ Ge,
4448
+ lo,
4449
+ co,
4450
+ po,
4451
+ fo,
4433
4452
  pe,
4434
4453
  le,
4435
4454
  ye
4436
4455
  ],
4437
- theme: Ta,
4456
+ theme: $a,
4438
4457
  onError: (c) => {
4439
4458
  K(t, "lexical.runtime", "Lexical runtime error.", c);
4440
4459
  }
4441
4460
  });
4442
- io(i, !0);
4461
+ uo(i, !0);
4443
4462
  const g = () => l, v = () => s, b = () => {
4444
- g() || Qo({ editor: i, contentElement: o });
4445
- }, T = Bi({ editor: i }), f = Va({
4463
+ g() || da({ editor: i, contentElement: o });
4464
+ }, T = Ki({ editor: i }), f = ts({
4446
4465
  lexicalEditor: i,
4447
4466
  options: t,
4448
4467
  isDestroyed: g,
@@ -4450,13 +4469,13 @@ function qc(e, t = {}) {
4450
4469
  d = c;
4451
4470
  },
4452
4471
  syncPlaceholder: b
4453
- }), y = ba({
4472
+ }), y = Sa({
4454
4473
  lexicalEditor: i,
4455
4474
  options: t,
4456
4475
  isDestroyed: g,
4457
4476
  canUploadMedia: () => t.uploadAdapter !== void 0,
4458
4477
  isReadonly: v
4459
- }), x = Fa({
4478
+ }), x = Qa({
4460
4479
  container: e,
4461
4480
  lexicalEditor: i,
4462
4481
  options: t,
@@ -4465,7 +4484,7 @@ function qc(e, t = {}) {
4465
4484
  reportError: K
4466
4485
  }), u = () => {
4467
4486
  o.contentEditable = String(!s), i.setEditable(!s);
4468
- }, E = Ii({
4487
+ }, E = Ui({
4469
4488
  editorRoot: e,
4470
4489
  lexicalEditor: i,
4471
4490
  isReadonly: v,
@@ -4491,14 +4510,14 @@ function qc(e, t = {}) {
4491
4510
  menuLabels: t.menuLabels,
4492
4511
  onRequest: t.onPayloadPanelRequest,
4493
4512
  defaultMediaWidthPercent: r
4494
- }), _ = () => ha(t), A = () => pa(t), O = (c) => {
4513
+ }), _ = () => Ma(t), B = () => Ta(t), H = (c) => {
4495
4514
  g() || (T.capture(), E.payloadPanelController.open(c));
4496
4515
  };
4497
- e.dataset.readonly = String(s), e.addEventListener("focusin", _), e.addEventListener("focusout", A), e.style.setProperty(
4516
+ e.dataset.readonly = String(s), e.addEventListener("focusin", _), e.addEventListener("focusout", B), e.style.setProperty(
4498
4517
  "--bridgerte-media-display-width",
4499
4518
  `${r}%`
4500
4519
  );
4501
- const I = Kc({
4520
+ const I = od({
4502
4521
  options: t,
4503
4522
  lexicalEditor: i,
4504
4523
  editorRoot: e,
@@ -4506,7 +4525,7 @@ function qc(e, t = {}) {
4506
4525
  historyState: n,
4507
4526
  isReadonly: v,
4508
4527
  executeCommand: x,
4509
- requestPayloadPanel: O,
4528
+ requestPayloadPanel: H,
4510
4529
  uploadMediaFile: x.uploadMediaFile,
4511
4530
  canUploadMedia: () => t.uploadAdapter !== void 0,
4512
4531
  syncAfterEditorUpdate: f.syncAfterEditorUpdate,
@@ -4516,18 +4535,18 @@ function qc(e, t = {}) {
4516
4535
  setCanRedo: y.setCanRedo,
4517
4536
  enableKeyboardShortcuts: a
4518
4537
  });
4519
- i.setRootElement(o), f.suppressNextChange(), d = Ho(i, t.value), u();
4538
+ i.setRootElement(o), f.suppressNextChange(), d = Yo(i, t.value), u();
4520
4539
  const w = {
4521
4540
  getContent() {
4522
4541
  return g() || (f.clearContentChangeTimer(), f.syncContent(!1)), d;
4523
4542
  },
4524
4543
  setContent(c) {
4525
- g() || (f.clearContentChangeTimer(), d = Xe(c), f.suppressNextChange(), Ln(i, d), f.enforceCurrentMaxLength(), b(), i.dispatchCommand(Nr, void 0), y.setHistoryAvailability(!1, !1), f.syncContent(!0));
4544
+ g() || (f.clearContentChangeTimer(), d = Ye(c), f.suppressNextChange(), Pn(i, d), f.enforceCurrentMaxLength(), b(), i.dispatchCommand(Rr, void 0), y.setHistoryAvailability(!1, !1), f.syncContent(!0));
4526
4545
  },
4527
4546
  executeCommand(c) {
4528
4547
  x(c);
4529
4548
  },
4530
- requestPayloadPanel: O,
4549
+ requestPayloadPanel: H,
4531
4550
  getCommandStates: y.getCommandStates,
4532
4551
  subscribeCommandStateChange: y.subscribeCommandStateChange,
4533
4552
  setReadonly(c) {
@@ -4540,20 +4559,20 @@ function qc(e, t = {}) {
4540
4559
  g() || o.blur();
4541
4560
  },
4542
4561
  destroy() {
4543
- g() || (l = !0, f.clearContentChangeTimer(), E.destroy(), x.destroy(), y.destroy(), T.clear(), I.destroy(), i.setRootElement(null), e.removeEventListener("focusin", _), e.removeEventListener("focusout", A), e.classList.remove("bridgerte"), e.textContent = "", delete e.dataset.readonly);
4562
+ g() || (l = !0, f.clearContentChangeTimer(), E.destroy(), x.destroy(), y.destroy(), T.clear(), I.destroy(), i.setRootElement(null), e.removeEventListener("focusin", _), e.removeEventListener("focusout", B), e.classList.remove("bridgerte"), e.textContent = "", delete e.dataset.readonly);
4544
4563
  }
4545
4564
  };
4546
- return f.syncContent(!1), b(), y.refreshCommandStates(), fa(t, w), w;
4565
+ return f.syncContent(!1), b(), y.refreshCommandStates(), La(t, w), w;
4547
4566
  }
4548
- const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.type === "editor.executeCommand" || e.type === "editor.setContent" || e.type === "editor.setReadonly" || e.type === "editor.requestContent" || e.type === "editor.payloadPanelResolved" || e.type === "editor.payloadPanelCanceled" || e.type === "editor.uploadResolved" || e.type === "editor.uploadRejected", Xc = (e) => ({
4567
+ const sd = (e) => !ur(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.type === "editor.executeCommand" || e.type === "editor.setContent" || e.type === "editor.setReadonly" || e.type === "editor.requestContent" || e.type === "editor.payloadPanelResolved" || e.type === "editor.payloadPanelCanceled" || e.type === "editor.uploadResolved" || e.type === "editor.uploadRejected", id = (e) => ({
4549
4568
  id: e,
4550
4569
  type: "editor.ready",
4551
4570
  payload: {
4552
- menuSchema: Ae,
4553
- eventTiming: dr,
4554
- version: Re
4571
+ menuSchema: De,
4572
+ eventTiming: gr,
4573
+ version: Ae
4555
4574
  }
4556
- }), Yc = (e) => `native-upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, hd = ({
4575
+ }), ld = (e) => `native-upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, Md = ({
4557
4576
  container: e,
4558
4577
  transport: t
4559
4578
  }) => {
@@ -4571,7 +4590,7 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4571
4590
  type: "editor.heightChange",
4572
4591
  payload: { height: w }
4573
4592
  }));
4574
- }, cr);
4593
+ }, mr);
4575
4594
  }, T = (w) => {
4576
4595
  if (!n) return;
4577
4596
  const c = n.getContent();
@@ -4633,7 +4652,7 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4633
4652
  }
4634
4653
  });
4635
4654
  }), u = (w) => {
4636
- const c = Yc(w);
4655
+ const c = ld(w);
4637
4656
  d.set(c, {
4638
4657
  type: w,
4639
4658
  assetId: c,
@@ -4653,7 +4672,7 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4653
4672
  const c = i.get(w.payload.requestId);
4654
4673
  c && (i.delete(w.payload.requestId), c.request.cancel());
4655
4674
  }, _ = (w, c) => {
4656
- n == null || n.destroy(), o == null || o(), d.clear(), i.clear(), n = qc(e, {
4675
+ n == null || n.destroy(), o == null || o(), d.clear(), i.clear(), n = ad(e, {
4657
4676
  ...c,
4658
4677
  uploadAdapter: {
4659
4678
  uploadImage(h, m) {
@@ -4698,8 +4717,8 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4698
4717
  type: "editor.commandStateChange",
4699
4718
  payload: h
4700
4719
  });
4701
- }), g(Xc(w)), b();
4702
- }, A = (w) => {
4720
+ }), g(id(w)), b();
4721
+ }, B = (w) => {
4703
4722
  if (w.type === "media.pickImage") {
4704
4723
  u("image");
4705
4724
  return;
@@ -4709,14 +4728,14 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4709
4728
  return;
4710
4729
  }
4711
4730
  n == null || n.executeCommand(w);
4712
- }, O = (w) => {
4713
- if (!(r || !Gc(w)))
4731
+ }, H = (w) => {
4732
+ if (!(r || !sd(w)))
4714
4733
  switch (w.type) {
4715
4734
  case "editor.init":
4716
4735
  _(w.id, w.payload);
4717
4736
  return;
4718
4737
  case "editor.executeCommand":
4719
- A(w.payload);
4738
+ B(w.payload);
4720
4739
  return;
4721
4740
  case "editor.setContent":
4722
4741
  n == null || n.setContent(w.payload);
@@ -4741,22 +4760,22 @@ const Gc = (e) => !lr(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4741
4760
  return;
4742
4761
  }
4743
4762
  };
4744
- return a = ((I = t.addMessageListener) == null ? void 0 : I.call(t, O)) ?? null, {
4745
- receive: O,
4763
+ return a = ((I = t.addMessageListener) == null ? void 0 : I.call(t, H)) ?? null, {
4764
+ receive: H,
4746
4765
  destroy() {
4747
4766
  r || (r = !0, v(), a == null || a(), o == null || o(), d.clear(), i.clear(), n == null || n.destroy(), n = null);
4748
4767
  }
4749
4768
  };
4750
4769
  };
4751
4770
  export {
4752
- qc as a,
4753
- hd as b,
4754
- Gn as c,
4755
- Xn as d,
4756
- Yn as e,
4771
+ ad as a,
4772
+ Md as b,
4773
+ Jn as c,
4774
+ Qn as d,
4775
+ Zn as e,
4757
4776
  U as f,
4758
- Ts as g,
4759
- Ms as h,
4760
- ct as r
4777
+ $s as g,
4778
+ Os as h,
4779
+ dt as r
4761
4780
  };
4762
- //# sourceMappingURL=index-CXDaDnyQ.js.map
4781
+ //# sourceMappingURL=index-BJMFpGLi.js.map