bridgerte 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
1
1
  var Sn = Object.defineProperty;
2
2
  var Nn = (e, t, n) => t in e ? Sn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var xe = (e, t, n) => Nn(e, typeof t != "symbol" ? t + "" : t, n);
3
+ var Ee = (e, t, n) => Nn(e, typeof t != "symbol" ? t + "" : t, n);
4
4
  import { BRIDGE_CONTENT_CHANGE_DEBOUNCE_MS as Pn, isBridgeMessage as In, BRIDGE_HEIGHT_CHANGE_THROTTLE_MS as Rn, defaultBridgeEventTiming as An } from "./bridge.js";
5
5
  import { B as we, b as Wt, a as Vt } from "./index-CuNKUHed.js";
6
- import { DecoratorNode as Ut, $applyNodeReplacement as ze, $getRoot as $, $isElementNode as Ie, $createParagraphNode as W, TextNode as Q, $isParagraphNode as Bn, $getSelection as A, $isRangeSelection as D, $insertNodes as V, FORMAT_ELEMENT_COMMAND as Dn, $createTextNode as We, FORMAT_TEXT_COMMAND as On, REDO_COMMAND as Hn, UNDO_COMMAND as $n, OUTDENT_CONTENT_COMMAND as Fn, INDENT_CONTENT_COMMAND as zn, $getNodeByKey as ce, $setSelection as Wn, SELECTION_CHANGE_COMMAND as jt, COMMAND_PRIORITY_LOW as U, KEY_ESCAPE_COMMAND as qt, KEY_ARROW_DOWN_COMMAND as Vn, KEY_ARROW_UP_COMMAND as Un, KEY_ENTER_COMMAND as jn, KEY_BACKSPACE_COMMAND as qn, COMMAND_PRIORITY_HIGH as Ee, KEY_DELETE_COMMAND as Kn, DELETE_CHARACTER_COMMAND as Gn, mergeRegister as Kt, $getNearestNodeFromDOMNode as Xn, CAN_UNDO_COMMAND as Jn, CAN_REDO_COMMAND as Yn, createEditor as Qn, CLEAR_HISTORY_COMMAND as Zn } from "lexical";
6
+ import { DecoratorNode as Ut, $applyNodeReplacement as ze, $getRoot as $, $isElementNode as Ie, $createParagraphNode as W, TextNode as Q, $isParagraphNode as Bn, $getSelection as A, $isRangeSelection as D, $insertNodes as V, FORMAT_ELEMENT_COMMAND as Dn, $createTextNode as We, FORMAT_TEXT_COMMAND as On, REDO_COMMAND as Hn, UNDO_COMMAND as $n, OUTDENT_CONTENT_COMMAND as Fn, INDENT_CONTENT_COMMAND as zn, $getNodeByKey as ce, $setSelection as Wn, SELECTION_CHANGE_COMMAND as jt, COMMAND_PRIORITY_LOW as U, KEY_ESCAPE_COMMAND as qt, KEY_ARROW_DOWN_COMMAND as Vn, KEY_ARROW_UP_COMMAND as Un, KEY_ENTER_COMMAND as jn, KEY_BACKSPACE_COMMAND as qn, COMMAND_PRIORITY_HIGH as xe, KEY_DELETE_COMMAND as Kn, DELETE_CHARACTER_COMMAND as Gn, mergeRegister as Kt, $getNearestNodeFromDOMNode as Xn, CAN_UNDO_COMMAND as Jn, CAN_REDO_COMMAND as Yn, createEditor as Qn, CLEAR_HISTORY_COMMAND as Zn } from "lexical";
7
7
  import { $isHeadingNode as er, $isQuoteNode as tr, $createQuoteNode as nr, $createHeadingNode as rr, registerRichText as or, HeadingNode as ar, QuoteNode as sr } from "@lexical/rich-text";
8
8
  import { $isCodeNode as K, $createCodeNode as ir, getCodeLanguageOptions as lr, CodeNode as Gt, registerCodeHighlighting as cr, PrismTokenizer as dr, CodeHighlightNode as ur } from "@lexical/code";
9
9
  import { $isListNode as mr, ListNode as Xt, INSERT_CHECK_LIST_COMMAND as gr, INSERT_UNORDERED_LIST_COMMAND as pr, INSERT_ORDERED_LIST_COMMAND as hr, $isListItemNode as fr, registerList as br, registerCheckList as yr, ListItemNode as vr } from "@lexical/list";
10
- import { $isTableSelection as Jt, $findTableNode as wr, $deleteTableColumnAtSelection as Cr, $deleteTableRowAtSelection as _r, $insertTableColumnAtSelection as kr, $insertTableRowAtSelection as xr, INSERT_TABLE_COMMAND as Er, $findCellNode as Mr, TableNode as Re, $isTableRowNode as Tr, $isTableCellNode as Lr, registerTablePlugin as Sr, TableRowNode as Nr, TableCellNode as Pr, setScrollableTablesActive as Ir } from "@lexical/table";
10
+ import { $isTableSelection as Jt, $findTableNode as wr, $deleteTableColumnAtSelection as Cr, $deleteTableRowAtSelection as _r, $insertTableColumnAtSelection as kr, $insertTableRowAtSelection as Er, INSERT_TABLE_COMMAND as xr, $findCellNode as Mr, TableNode as Re, $isTableRowNode as Tr, $isTableCellNode as Lr, registerTablePlugin as Sr, TableRowNode as Nr, TableCellNode as Pr, setScrollableTablesActive as Ir } from "@lexical/table";
11
11
  import { $isLinkNode as ye, $toggleLink as tt, formatUrl as Rr, $createLinkNode as Ar, registerAutoLink as Br, createLinkMatcherWithRegExp as nt, LinkNode as Dr, AutoLinkNode as Or } from "@lexical/link";
12
12
  import { registerHistory as Hr, createEmptyHistoryState as $r } from "@lexical/history";
13
13
  import { $generateNodesFromDOM as Yt, $generateHtmlFromNodes as Fr } from "@lexical/html";
@@ -16,7 +16,7 @@ import { $getNearestNodeOfType as Wr, $findMatchingParent as Vr, $insertNodeToNe
16
16
  import { codeBlockLanguagePanel as Ae, isCommandStateForCommand as jr, resolveToolbarMenu as Ve, defaultMenuSchema as Ce, tableHeaderMenuItems as qr } from "./native-spec.js";
17
17
  import { resolvePayloadPanelSchema as Qt } from "./core.js";
18
18
  import { autoUpdate as Kr, computePosition as Gr, platform as Xr, offset as Jr, flip as Yr, shift as Qr } from "@floating-ui/dom";
19
- const at = "bridgerte-media", st = (e, t) => `${e}:${t}`, ee = (e) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : void 0, it = (e) => typeof e == "number" && Number.isFinite(e) ? Math.min(Math.max(e, 0), 100) : void 0, Zr = (e) => e === 20 || e === 50 || e === 100, lt = (e) => Zr(e) ? e : void 0, ct = (e) => e === "center" || e === "right" ? e : void 0, Te = (e, t, n) => {
19
+ const at = "bridgerte-media", st = (e, t) => `${e}:${t}`, ee = (e) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : void 0, it = (e) => typeof e == "number" && Number.isFinite(e) ? Math.min(Math.max(e, 0), 100) : void 0, Zr = (e) => e === 20 || e === 50 || e === 100, lt = (e) => Zr(e) ? e : void 0, ct = (e) => e === "center" || e === "right" ? e : void 0, eo = (e) => e.status === "error" ? e.errorMessage ?? "媒体加载失败" : e.status === "uploading" ? `上传中 ${e.progress ?? 0}%` : e.mediaType === "image" ? "图片加载中" : "视频加载中", Te = (e, t, n) => {
20
20
  n && e.setAttribute(t, n);
21
21
  }, dt = (e, t, n) => {
22
22
  n !== void 0 && e.setAttribute(t, String(n));
@@ -24,7 +24,7 @@ const at = "bridgerte-media", st = (e, t) => `${e}:${t}`, ee = (e) => typeof e =
24
24
  class re extends Ut {
25
25
  constructor(n, r) {
26
26
  super(r);
27
- xe(this, "__payload");
27
+ Ee(this, "__payload");
28
28
  this.__payload = {
29
29
  ...n,
30
30
  assetId: n.assetId ?? st(n.mediaType, n.url),
@@ -43,24 +43,24 @@ class re extends Ut {
43
43
  return new re(n.__payload, n.__key);
44
44
  }
45
45
  createDOM(n) {
46
- return this.createMediaElement();
46
+ return this.createMediaElement(!0);
47
47
  }
48
48
  updateDOM(n, r) {
49
49
  if (n.__payload === this.__payload) return !1;
50
- const o = this.createMediaElement();
50
+ const o = this.createMediaElement(!0);
51
51
  return r.replaceWith(o), !0;
52
52
  }
53
53
  exportDOM(n) {
54
- return { element: this.createMediaElement() };
54
+ return { element: this.createMediaElement(!1) };
55
55
  }
56
56
  static importDOM() {
57
57
  return {
58
58
  img: () => ({
59
- conversion: eo,
59
+ conversion: to,
60
60
  priority: 1
61
61
  }),
62
62
  video: () => ({
63
- conversion: to,
63
+ conversion: no,
64
64
  priority: 1
65
65
  })
66
66
  };
@@ -115,19 +115,34 @@ class re extends Ut {
115
115
  align: Object.prototype.hasOwnProperty.call(n, "align") ? ct(n.align) : r.__payload.align
116
116
  }, r.__payload.displayWidthPercent === void 0 && delete r.__payload.displayWidthPercent, r.__payload.align === void 0 && delete r.__payload.align;
117
117
  }
118
- createMediaElement() {
119
- const n = this.__payload, r = document.createElement("figure"), o = n.mediaType === "image" ? document.createElement("img") : document.createElement("video");
120
- if (r.className = `bridgerte__media bridgerte__media--${n.mediaType}`, r.contentEditable = "false", r.dataset.assetId = n.assetId, r.dataset.mediaType = n.mediaType, r.dataset.status = n.status ?? "success", n.progress !== void 0 && (r.dataset.progress = String(n.progress)), n.align !== void 0 && (r.dataset.align = n.align), n.displayWidthPercent !== void 0 && (r.dataset.displayWidthPercent = String(n.displayWidthPercent), r.style.setProperty(
118
+ createMediaElement(n) {
119
+ const r = this.__payload, o = document.createElement("figure"), a = r.mediaType === "image" ? document.createElement("img") : document.createElement("video"), s = () => {
120
+ o.dataset.loadState = "loaded";
121
+ };
122
+ if (o.className = `bridgerte__media bridgerte__media--${r.mediaType}`, o.contentEditable = "false", o.dataset.assetId = r.assetId, o.dataset.mediaType = r.mediaType, o.dataset.status = r.status ?? "success", n && (o.dataset.loadState = r.status === "error" ? "error" : "loading"), r.progress !== void 0 && (o.dataset.progress = String(r.progress)), r.align !== void 0 && (o.dataset.align = r.align), r.displayWidthPercent !== void 0 && (o.dataset.displayWidthPercent = String(r.displayWidthPercent), o.style.setProperty(
121
123
  "--bridgerte-media-display-width",
122
- `${n.displayWidthPercent}%`
123
- )), o.className = "bridgerte__media-element", n.mediaType === "image" ? (o.setAttribute("src", n.url), o.setAttribute("loading", "lazy"), Te(o, "alt", n.alt ?? n.title)) : (o.setAttribute("src", n.url), o.setAttribute("controls", "true"), o.setAttribute("preload", "metadata"), Te(o, "poster", n.poster)), Te(o, "title", n.title), dt(o, "width", n.width), dt(o, "height", n.height), r.append(o), n.status === "uploading" || n.status === "error") {
124
- const a = document.createElement("figcaption");
125
- a.className = "bridgerte__media-status", a.textContent = n.status === "error" ? n.errorMessage ?? "上传失败" : `上传中 ${n.progress ?? 0}%`, r.append(a);
124
+ `${r.displayWidthPercent}%`
125
+ )), r.width !== void 0 && r.height !== void 0 && o.style.setProperty(
126
+ "--bridgerte-media-aspect-ratio",
127
+ `${r.width} / ${r.height}`
128
+ ), a.className = "bridgerte__media-element", n && (a.addEventListener(
129
+ r.mediaType === "image" ? "load" : "loadedmetadata",
130
+ s,
131
+ { once: !0 }
132
+ ), a.addEventListener("error", () => {
133
+ o.dataset.loadState = "error";
134
+ }, { once: !0 })), r.mediaType === "image" ? (a.setAttribute("src", r.url), a.setAttribute("loading", "lazy"), Te(a, "alt", r.alt ?? r.title)) : (a.setAttribute("src", r.url), a.setAttribute("controls", "true"), a.setAttribute("preload", "metadata"), Te(a, "poster", r.poster)), Te(a, "title", r.title), dt(a, "width", r.width), dt(a, "height", r.height), n) {
135
+ const l = document.createElement("div"), c = document.createElement("span"), i = document.createElement("span");
136
+ l.className = "bridgerte__media-placeholder", l.setAttribute("aria-hidden", "true"), c.className = "bridgerte__media-placeholder-icon", c.textContent = r.mediaType === "image" ? "IMG" : "VIDEO", i.className = "bridgerte__media-placeholder-text", i.textContent = eo(r), l.append(c, i), o.append(l);
137
+ }
138
+ if (o.append(a), r.status === "uploading" || r.status === "error") {
139
+ const l = document.createElement("figcaption");
140
+ l.className = "bridgerte__media-status", l.textContent = r.status === "error" ? r.errorMessage ?? "上传失败" : `上传中 ${r.progress ?? 0}%`, o.append(l);
126
141
  }
127
- return r;
142
+ return o;
128
143
  }
129
144
  }
130
- const eo = (e) => {
145
+ const to = (e) => {
131
146
  const t = e instanceof HTMLImageElement ? e : null;
132
147
  return {
133
148
  /*
@@ -144,7 +159,7 @@ const eo = (e) => {
144
159
  status: "success"
145
160
  }) : null
146
161
  };
147
- }, to = (e) => {
162
+ }, no = (e) => {
148
163
  const t = e instanceof HTMLVideoElement ? e : null;
149
164
  return {
150
165
  /*
@@ -160,7 +175,7 @@ const eo = (e) => {
160
175
  status: "success"
161
176
  }) : null
162
177
  };
163
- }, oe = (e) => ze(new re(e)), no = (e) => oe({
178
+ }, oe = (e) => ze(new re(e)), ro = (e) => oe({
164
179
  mediaType: "image",
165
180
  url: e.url,
166
181
  alt: e.alt,
@@ -171,7 +186,7 @@ const eo = (e) => {
171
186
  align: e.align,
172
187
  assetId: e.assetId,
173
188
  status: "success"
174
- }), ro = (e) => oe({
189
+ }), oo = (e) => oe({
175
190
  mediaType: "video",
176
191
  url: e.url,
177
192
  poster: e.poster,
@@ -209,10 +224,10 @@ function Be(e = {}) {
209
224
  version: e.version ?? we
210
225
  };
211
226
  }
212
- const oo = (e) => e.toJSON(), ao = (e) => {
227
+ const ao = (e) => e.toJSON(), so = (e) => {
213
228
  var t;
214
229
  return ((t = e.root.children) == null ? void 0 : t.length) === 0;
215
- }, so = (e) => e.read(() => {
230
+ }, io = (e) => e.read(() => {
216
231
  const t = /* @__PURE__ */ new Map(), n = (r) => {
217
232
  Ie(r) && r.getChildren().forEach((o) => {
218
233
  if (Zt(o)) {
@@ -225,19 +240,19 @@ const oo = (e) => e.toJSON(), ao = (e) => {
225
240
  };
226
241
  return n($()), [...t.values()];
227
242
  }), tn = (e, t) => {
228
- const n = t.read(() => Fr(t)), r = e.read(() => $().getTextContent()), o = so(e);
243
+ const n = t.read(() => Fr(t)), r = e.read(() => $().getTextContent()), o = io(e);
229
244
  return {
230
245
  html: n,
231
- json: oo(e),
246
+ json: ao(e),
232
247
  plainText: r,
233
248
  assets: o,
234
249
  version: we
235
250
  };
236
- }, io = (e, t) => {
251
+ }, lo = (e, t) => {
237
252
  const n = Be(t);
238
253
  return nn(e, n), tn(e.getEditorState(), e);
239
254
  }, nn = (e, t) => {
240
- if (t.json !== en && !ao(t.json)) {
255
+ if (t.json !== en && !so(t.json)) {
241
256
  const o = t.json;
242
257
  e.setEditorState(e.parseEditorState(o));
243
258
  return;
@@ -285,7 +300,7 @@ class de extends Ut {
285
300
  static importDOM() {
286
301
  return {
287
302
  hr: () => ({
288
- conversion: lo,
303
+ conversion: co,
289
304
  priority: 0
290
305
  })
291
306
  };
@@ -307,16 +322,16 @@ class de extends Ut {
307
322
  return !1;
308
323
  }
309
324
  }
310
- const lo = (e) => ({
325
+ const co = (e) => ({
311
326
  node: Ue()
312
- }), Ue = () => ze(new de()), ut = "bridgerte-mention", je = "mention", rn = (e) => e.label.startsWith("@") ? e.label : `@${e.label}`, co = (e) => {
327
+ }), Ue = () => ze(new de()), ut = "bridgerte-mention", je = "mention", rn = (e) => e.label.startsWith("@") ? e.label : `@${e.label}`, uo = (e) => {
313
328
  const t = document.createElement("span");
314
329
  return t.className = "bridgerte__mention", t.dataset.type = je, 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;
315
330
  };
316
331
  class ue extends Q {
317
332
  constructor(n, r = rn(n), o) {
318
333
  super(r, o);
319
- xe(this, "__item");
334
+ Ee(this, "__item");
320
335
  this.__item = n;
321
336
  }
322
337
  static getType() {
@@ -333,12 +348,12 @@ class ue extends Q {
333
348
  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);
334
349
  }
335
350
  exportDOM(n) {
336
- return { element: co(this.__item) };
351
+ return { element: uo(this.__item) };
337
352
  }
338
353
  static importDOM() {
339
354
  return {
340
355
  span: () => ({
341
- conversion: uo,
356
+ conversion: mo,
342
357
  priority: 2
343
358
  })
344
359
  };
@@ -363,7 +378,7 @@ class ue extends Q {
363
378
  return this.__item;
364
379
  }
365
380
  }
366
- const uo = (e) => {
381
+ const mo = (e) => {
367
382
  var a;
368
383
  const t = e instanceof HTMLElement ? e : null;
369
384
  if (!t || t.dataset.type !== je)
@@ -377,19 +392,19 @@ const uo = (e) => {
377
392
  description: t.dataset.description
378
393
  })
379
394
  };
380
- }, qe = (e) => ze(new ue(e).setMode("token")), mt = (e) => e instanceof ue, mo = "请输入内容", go = () => {
395
+ }, qe = (e) => ze(new ue(e).setMode("token")), mt = (e) => e instanceof ue, go = "请输入内容", po = () => {
381
396
  const t = $().getChildren();
382
397
  if (t.length === 0) return !0;
383
398
  if (t.length > 1) return !1;
384
399
  const n = t[0];
385
400
  return Bn(n) && n.getChildrenSize() === 0;
386
- }, po = ({
401
+ }, ho = ({
387
402
  editor: e,
388
403
  contentElement: t
389
404
  }) => {
390
- const n = e.getEditorState().read(go);
405
+ const n = e.getEditorState().read(po);
391
406
  t.dataset.empty = String(n);
392
- }, ho = ({
407
+ }, fo = ({
393
408
  editor: e,
394
409
  contentElement: t,
395
410
  isReadonly: n
@@ -404,7 +419,7 @@ const uo = (e) => {
404
419
  return t.addEventListener("pointerdown", r), () => {
405
420
  t.removeEventListener("pointerdown", r);
406
421
  };
407
- }, fo = [
422
+ }, bo = [
408
423
  { command: "format.bold", format: "bold" },
409
424
  { command: "format.italic", format: "italic" },
410
425
  { command: "format.underline", format: "underline" },
@@ -412,17 +427,17 @@ const uo = (e) => {
412
427
  { command: "format.inlineCode", format: "code" },
413
428
  { command: "format.superscript", format: "superscript" },
414
429
  { command: "format.subscript", format: "subscript" }
415
- ], bo = [
430
+ ], yo = [
416
431
  { command: "format.color", property: "color" },
417
432
  { command: "format.backgroundColor", property: "background-color" },
418
433
  { command: "format.fontSize", property: "font-size" },
419
434
  { command: "format.fontFamily", property: "font-family" },
420
435
  { command: "format.lineHeight", property: "line-height" }
421
- ], yo = [
436
+ ], vo = [
422
437
  { command: "list.ordered", listType: "ordered" },
423
438
  { command: "list.unordered", listType: "unordered" },
424
439
  { command: "list.todo", listType: "todo" }
425
- ], vo = [
440
+ ], wo = [
426
441
  "media.pickImage",
427
442
  "media.pickVideo"
428
443
  ], on = () => {
@@ -430,7 +445,7 @@ const uo = (e) => {
430
445
  if (!D(e)) return null;
431
446
  const t = e.anchor.getNode();
432
447
  return t.getKey() === "root" ? t : t.getTopLevelElementOrThrow();
433
- }, wo = () => {
448
+ }, Co = () => {
434
449
  const e = on();
435
450
  if (!e) return null;
436
451
  if (er(e)) {
@@ -454,17 +469,17 @@ const uo = (e) => {
454
469
  return {
455
470
  command: "block.paragraph"
456
471
  };
457
- }, Co = () => {
472
+ }, _o = () => {
458
473
  const e = on();
459
474
  if (!e || !("getFormatType" in e)) return;
460
475
  const t = e.getFormatType();
461
476
  return t === "" ? void 0 : t;
462
- }, _o = () => {
477
+ }, ko = () => {
463
478
  const e = A();
464
479
  if (!D(e)) return null;
465
480
  const t = e.anchor.getNode(), n = mr(t) ? t : Wr(t, Xt);
466
481
  return n ? n.getListType() === "check" ? "todo" : n.getTag() === "ol" ? "ordered" : "unordered" : null;
467
- }, ko = (e) => {
482
+ }, Eo = (e) => {
468
483
  const t = A();
469
484
  if (!D(t)) return;
470
485
  const n = zr(t, e);
@@ -474,30 +489,30 @@ const uo = (e) => {
474
489
  if (!D(e)) return !1;
475
490
  const t = e.anchor.getNode(), n = t.getParent();
476
491
  return ye(t) || ye(n);
477
- }, Eo = (e) => {
478
- const t = A(), n = D(t), r = wo(), o = _o(), a = Co(), s = xo(), l = e.readonly || !n, d = fo.map((_) => ({
492
+ }, Mo = (e) => {
493
+ const t = A(), n = D(t), r = Co(), o = ko(), a = _o(), s = xo(), l = e.readonly || !n, c = bo.map((_) => ({
479
494
  command: _.command,
480
495
  active: n && t.hasFormat(_.format),
481
496
  disabled: l
482
- })), i = bo.map((_) => {
483
- const M = ko(_.property);
497
+ })), i = yo.map((_) => {
498
+ const M = Eo(_.property);
484
499
  return {
485
500
  command: _.command,
486
501
  active: M !== void 0,
487
502
  disabled: l,
488
503
  value: M
489
504
  };
490
- }), m = yo.map((_) => ({
505
+ }), m = vo.map((_) => ({
491
506
  command: _.command,
492
507
  active: o === _.listType,
493
508
  disabled: l
494
- })), C = vo.map((_) => ({
509
+ })), C = wo.map((_) => ({
495
510
  command: _,
496
511
  active: !1,
497
512
  disabled: e.readonly || !e.canUploadMedia
498
513
  }));
499
514
  return [
500
- ...d,
515
+ ...c,
501
516
  {
502
517
  command: "format.clear",
503
518
  active: !1,
@@ -590,7 +605,7 @@ const uo = (e) => {
590
605
  disabled: !1
591
606
  }
592
607
  ];
593
- }, Mo = (e, t) => e.length === t.length && e.every((n, r) => {
608
+ }, To = (e, t) => e.length === t.length && e.every((n, r) => {
594
609
  const o = t[r];
595
610
  return o !== void 0 && n.command === o.command && n.active === o.active && n.disabled === o.disabled && n.value === o.value;
596
611
  }), j = (e, t, n, r) => {
@@ -600,14 +615,14 @@ const uo = (e) => {
600
615
  } catch (a) {
601
616
  console.error("[BridgeRTE] onError callback failed.", a);
602
617
  }
603
- }, To = (e, t) => {
618
+ }, Lo = (e, t) => {
604
619
  var n;
605
620
  try {
606
621
  (n = e.onChange) == null || n.call(e, t);
607
622
  } catch (r) {
608
623
  j(e, "callback.onChange", "onChange callback failed.", r);
609
624
  }
610
- }, Lo = (e, t) => {
625
+ }, So = (e, t) => {
611
626
  var n;
612
627
  try {
613
628
  (n = e.onContentChange) == null || n.call(e, t);
@@ -619,7 +634,7 @@ const uo = (e) => {
619
634
  r
620
635
  );
621
636
  }
622
- }, So = (e, t) => {
637
+ }, No = (e, t) => {
623
638
  var n;
624
639
  try {
625
640
  (n = e.onCommandStateChange) == null || n.call(e, [...t]);
@@ -631,28 +646,28 @@ const uo = (e) => {
631
646
  r
632
647
  );
633
648
  }
634
- }, No = (e) => {
649
+ }, Po = (e) => {
635
650
  var t;
636
651
  try {
637
652
  (t = e.onFocus) == null || t.call(e);
638
653
  } catch (n) {
639
654
  j(e, "callback.onFocus", "onFocus callback failed.", n);
640
655
  }
641
- }, Po = (e) => {
656
+ }, Io = (e) => {
642
657
  var t;
643
658
  try {
644
659
  (t = e.onBlur) == null || t.call(e);
645
660
  } catch (n) {
646
661
  j(e, "callback.onBlur", "onBlur callback failed.", n);
647
662
  }
648
- }, Io = (e, t) => {
663
+ }, Ro = (e, t) => {
649
664
  var n;
650
665
  try {
651
666
  (n = e.onReady) == null || n.call(e, t);
652
667
  } catch (r) {
653
668
  j(e, "callback.onReady", "onReady callback failed.", r);
654
669
  }
655
- }, Ro = ({
670
+ }, Ao = ({
656
671
  lexicalEditor: e,
657
672
  options: t,
658
673
  isDestroyed: n,
@@ -660,9 +675,9 @@ const uo = (e) => {
660
675
  isReadonly: o
661
676
  }) => {
662
677
  let a = !1, s = !1, l = [];
663
- const d = /* @__PURE__ */ new Set(), i = () => {
678
+ const c = /* @__PURE__ */ new Set(), i = () => {
664
679
  const C = [...l];
665
- d.forEach((_) => {
680
+ c.forEach((_) => {
666
681
  try {
667
682
  _(C);
668
683
  } catch (M) {
@@ -678,13 +693,13 @@ const uo = (e) => {
678
693
  if (n()) return;
679
694
  const _ = l;
680
695
  e.getEditorState().read(() => {
681
- l = Eo({
696
+ l = Mo({
682
697
  canUndo: a,
683
698
  canRedo: s,
684
699
  readonly: o(),
685
700
  canUploadMedia: r()
686
701
  });
687
- }), C && !Mo(_, l) && (So(t, l), i());
702
+ }), C && !To(_, l) && (No(t, l), i());
688
703
  };
689
704
  return {
690
705
  refreshCommandStates: m,
@@ -693,8 +708,8 @@ const uo = (e) => {
693
708
  },
694
709
  subscribeCommandStateChange(C) {
695
710
  return n() ? () => {
696
- } : (d.add(C), C([...l]), () => {
697
- d.delete(C);
711
+ } : (c.add(C), C([...l]), () => {
712
+ c.delete(C);
698
713
  });
699
714
  },
700
715
  setCanUndo(C) {
@@ -707,17 +722,17 @@ const uo = (e) => {
707
722
  a = C, s = _, m();
708
723
  },
709
724
  destroy() {
710
- d.clear();
725
+ c.clear();
711
726
  }
712
727
  };
713
- }, Ao = (e) => `upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, Bo = (e) => typeof URL.createObjectURL == "function" ? URL.createObjectURL(e) : e.name, me = (e) => {
728
+ }, Bo = (e) => `upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, Do = (e) => typeof URL.createObjectURL == "function" ? URL.createObjectURL(e) : e.name, me = (e) => {
714
729
  typeof URL.revokeObjectURL == "function" && e.startsWith("blob:") && URL.revokeObjectURL(e);
715
730
  }, gt = (e) => ({
716
731
  name: e.name,
717
732
  mimeType: e.type || void 0,
718
733
  size: e.size,
719
734
  data: e
720
- }), Do = (e) => typeof DOMException < "u" && e instanceof DOMException && e.name === "AbortError", Oo = ({
735
+ }), Oo = (e) => typeof DOMException < "u" && e instanceof DOMException && e.name === "AbortError", Ho = ({
721
736
  container: e,
722
737
  lexicalEditor: t,
723
738
  options: n,
@@ -735,25 +750,25 @@ const uo = (e) => {
735
750
  return t.update(() => {
736
751
  const L = le(g);
737
752
  if (!L) return;
738
- const x = L.getAsset();
753
+ const E = L.getAsset();
739
754
  v = {
740
- mediaType: x.type,
741
- url: x.url,
742
- assetId: x.id,
743
- status: x.status,
744
- progress: x.progress,
745
- poster: x.poster,
746
- width: x.width,
747
- height: x.height,
748
- duration: x.duration,
749
- mimeType: x.mimeType,
750
- size: x.size,
751
- displayWidthPercent: x.displayWidthPercent,
752
- align: x.align,
753
- errorMessage: x.errorMessage
755
+ mediaType: E.type,
756
+ url: E.url,
757
+ assetId: E.id,
758
+ status: E.status,
759
+ progress: E.progress,
760
+ poster: E.poster,
761
+ width: E.width,
762
+ height: E.height,
763
+ duration: E.duration,
764
+ mimeType: E.mimeType,
765
+ size: E.size,
766
+ displayWidthPercent: E.displayWidthPercent,
767
+ align: E.align,
768
+ errorMessage: E.errorMessage
754
769
  }, L.remove();
755
770
  }), v;
756
- }, d = (g, v) => {
771
+ }, c = (g, v) => {
757
772
  const L = o.get(g);
758
773
  return (L == null ? void 0 : L.runId) === v;
759
774
  }, i = (g) => {
@@ -762,12 +777,12 @@ const uo = (e) => {
762
777
  }, m = (g, v) => {
763
778
  const L = o.get(g);
764
779
  return L ? (i(L), me(L.previewUrl), o.delete(g), !0) : !1;
765
- }, C = (g, v, L, x) => {
780
+ }, C = (g, v, L, E) => {
766
781
  t.update(
767
782
  () => {
768
783
  const P = oe({
769
784
  mediaType: g,
770
- url: x,
785
+ url: E,
771
786
  assetId: L,
772
787
  status: "uploading",
773
788
  progress: 0,
@@ -779,27 +794,27 @@ const uo = (e) => {
779
794
  },
780
795
  { discrete: !0 }
781
796
  );
782
- }, _ = (g, v, L, x) => {
797
+ }, _ = (g, v, L, E) => {
783
798
  s(v, {
784
799
  mediaType: g,
785
- url: x.url,
786
- poster: x.poster,
787
- width: x.width,
788
- height: x.height,
789
- duration: x.duration,
790
- mimeType: x.mimeType,
791
- size: x.size,
800
+ url: E.url,
801
+ poster: E.poster,
802
+ width: E.width,
803
+ height: E.height,
804
+ duration: E.duration,
805
+ mimeType: E.mimeType,
806
+ size: E.size,
792
807
  status: "success",
793
808
  progress: 100,
794
809
  errorMessage: void 0
795
810
  }), me(L);
796
811
  }, M = (g, v, L) => {
797
- var x;
798
- Do(L) || (s(v, {
812
+ var E;
813
+ Oo(L) || (s(v, {
799
814
  mediaType: g,
800
815
  status: "error",
801
816
  errorMessage: "上传失败"
802
- }), (x = n.onUploadError) == null || x.call(n, {
817
+ }), (E = n.onUploadError) == null || E.call(n, {
803
818
  assetId: v,
804
819
  type: g,
805
820
  cause: L
@@ -807,13 +822,13 @@ const uo = (e) => {
807
822
  }, p = (g) => {
808
823
  const v = n.uploadAdapter;
809
824
  if (!v) return;
810
- const L = typeof AbortController == "function" ? new AbortController() : null, x = a + 1;
811
- a = x, g.runId = x, g.abortController = L, o.set(g.assetId, g);
825
+ const L = typeof AbortController == "function" ? new AbortController() : null, E = a + 1;
826
+ a = E, g.runId = E, g.abortController = L, o.set(g.assetId, g);
812
827
  const P = {
813
828
  assetId: g.assetId,
814
829
  signal: L == null ? void 0 : L.signal,
815
830
  onProgress: (k) => {
816
- !d(g.assetId, x) || r() || s(g.assetId, {
831
+ !c(g.assetId, E) || r() || s(g.assetId, {
817
832
  mediaType: g.type,
818
833
  status: "uploading",
819
834
  progress: k
@@ -824,33 +839,33 @@ const uo = (e) => {
824
839
  try {
825
840
  I = g.type === "image" ? v.uploadImage(gt(g.file), P) : v.uploadVideo(gt(g.file), P);
826
841
  } catch (k) {
827
- d(g.assetId, x) && M(g.type, g.assetId, k);
842
+ c(g.assetId, E) && M(g.type, g.assetId, k);
828
843
  return;
829
844
  }
830
845
  I.then((k) => {
831
- r() || !d(g.assetId, x) || (_(g.type, g.assetId, g.previewUrl, k), o.delete(g.assetId));
846
+ r() || !c(g.assetId, E) || (_(g.type, g.assetId, g.previewUrl, k), o.delete(g.assetId));
832
847
  }).catch((k) => {
833
- r() || !d(g.assetId, x) || M(g.type, g.assetId, k);
848
+ r() || !c(g.assetId, E) || M(g.type, g.assetId, k);
834
849
  });
835
850
  }, b = (g, v) => {
836
851
  if (!n.uploadAdapter) return;
837
- const L = Ao(g), x = Bo(v), P = {
852
+ const L = Bo(g), E = Do(v), P = {
838
853
  assetId: L,
839
854
  type: g,
840
855
  file: v,
841
- previewUrl: x,
856
+ previewUrl: E,
842
857
  runId: 0,
843
858
  abortController: null
844
859
  };
845
- C(g, v, L, x), p(P);
860
+ C(g, v, L, E), p(P);
846
861
  };
847
862
  return {
848
863
  pickMediaFile: (g) => {
849
864
  if (!n.uploadAdapter) return;
850
865
  const v = e.ownerDocument.createElement("input");
851
866
  v.type = "file", v.accept = g === "image" ? "image/*" : "video/*", v.style.display = "none", v.addEventListener("change", () => {
852
- var x;
853
- const L = (x = v.files) == null ? void 0 : x[0];
867
+ var E;
868
+ const L = (E = v.files) == null ? void 0 : E[0];
854
869
  v.remove(), L && b(g, L);
855
870
  }, { once: !0 }), e.append(v), v.click();
856
871
  },
@@ -875,14 +890,14 @@ const uo = (e) => {
875
890
  }), o.clear();
876
891
  }
877
892
  };
878
- }, Ho = (e) => ir(e), $o = {
893
+ }, $o = (e) => ir(e), Fo = {
879
894
  1: "h1",
880
895
  2: "h2",
881
896
  3: "h3",
882
897
  4: "h4",
883
898
  5: "h5",
884
899
  6: "h6"
885
- }, Fo = {
900
+ }, zo = {
886
901
  code: "bridgerte__code-block",
887
902
  codeHighlight: {
888
903
  attr: "bridgerte__code-token bridgerte__code-token--attr",
@@ -943,11 +958,11 @@ const uo = (e) => {
943
958
  tableCellHeader: "bridgerte__table-cell bridgerte__table-cell--header",
944
959
  tableRow: "bridgerte__table-row",
945
960
  tableScrollableWrapper: "bridgerte__table-wrapper"
946
- }, zo = (e) => ({
961
+ }, Wo = (e) => ({
947
962
  setBlockHeading: (i) => {
948
963
  e.update(() => {
949
964
  const m = A();
950
- D(m) && Me(m, () => rr($o[i]));
965
+ D(m) && Me(m, () => rr(Fo[i]));
951
966
  });
952
967
  },
953
968
  setParagraphBlock: () => {
@@ -970,7 +985,7 @@ const uo = (e) => {
970
985
  },
971
986
  insertCodeBlock: (i) => {
972
987
  e.update(() => {
973
- const m = Ho(i), C = W();
988
+ const m = $o(i), C = W();
974
989
  V([m, C]), m.selectEnd();
975
990
  });
976
991
  },
@@ -991,17 +1006,17 @@ const uo = (e) => {
991
1006
  formatAlign: (i) => {
992
1007
  e.dispatchCommand(Dn, i);
993
1008
  }
994
- }), Wo = (e) => ({
1009
+ }), Vo = (e) => ({
995
1010
  setLink: (o, a) => {
996
1011
  e.update(() => {
997
- const s = A(), l = Rr(o), d = (a == null ? void 0 : a.trim()) || o.trim();
1012
+ const s = A(), l = Rr(o), c = (a == null ? void 0 : a.trim()) || o.trim();
998
1013
  if (!(!D(s) || !o.trim())) {
999
1014
  if (s.isCollapsed()) {
1000
1015
  const i = Ar(l, {
1001
1016
  rel: "noreferrer noopener",
1002
1017
  target: "_blank"
1003
1018
  });
1004
- i.append(We(d)), V([i]);
1019
+ i.append(We(c)), V([i]);
1005
1020
  return;
1006
1021
  }
1007
1022
  tt(l, {
@@ -1029,17 +1044,17 @@ const uo = (e) => {
1029
1044
  });
1030
1045
  o && window.open(o.url, o.target, "noopener,noreferrer");
1031
1046
  }
1032
- }), Vo = (e) => ({
1047
+ }), Uo = (e) => ({
1033
1048
  insertImage: (s) => {
1034
1049
  s.url.trim() && e.update(() => {
1035
1050
  const l = W();
1036
- V([no(s), l]), l.selectStart();
1051
+ V([ro(s), l]), l.selectStart();
1037
1052
  });
1038
1053
  },
1039
1054
  insertVideo: (s) => {
1040
1055
  s.url.trim() && e.update(() => {
1041
1056
  const l = W();
1042
- V([ro(s), l]), l.selectStart();
1057
+ V([oo(s), l]), l.selectStart();
1043
1058
  });
1044
1059
  },
1045
1060
  resizeMedia: (s) => {
@@ -1066,7 +1081,7 @@ const uo = (e) => {
1066
1081
  });
1067
1082
  });
1068
1083
  }
1069
- }), Uo = (e) => ({
1084
+ }), jo = (e) => ({
1070
1085
  insertMention: (n) => {
1071
1086
  e.update(() => {
1072
1087
  const r = A();
@@ -1076,7 +1091,7 @@ const uo = (e) => {
1076
1091
  ]);
1077
1092
  });
1078
1093
  }
1079
- }), jo = (e) => ({
1094
+ }), qo = (e) => ({
1080
1095
  clearSelectionFormat: () => {
1081
1096
  e.update(() => {
1082
1097
  const r = A();
@@ -1097,13 +1112,13 @@ const uo = (e) => {
1097
1112
  });
1098
1113
  });
1099
1114
  }
1100
- }), qo = 20, pt = (e, t) => Number.isFinite(e) && e > 0 ? Math.min(Math.floor(e), t) : 1, ge = (e) => Number.isFinite(e) && (e ?? 0) > 0 ? Math.min(Math.floor(e ?? 1), qo) : 1, pe = () => {
1115
+ }), Ko = 20, pt = (e, t) => Number.isFinite(e) && e > 0 ? Math.min(Math.floor(e), t) : 1, ge = (e) => Number.isFinite(e) && (e ?? 0) > 0 ? Math.min(Math.floor(e ?? 1), Ko) : 1, pe = () => {
1101
1116
  const e = A();
1102
1117
  return !D(e) && !Jt(e) ? !1 : Mr(e.anchor.getNode()) !== null;
1103
- }, Ko = (e) => ({
1104
- insertTable: (l, d) => {
1105
- const i = pt(l, Wt), m = pt(d, Vt);
1106
- e.dispatchCommand(Er, {
1118
+ }, Go = (e) => ({
1119
+ insertTable: (l, c) => {
1120
+ const i = pt(l, Wt), m = pt(c, Vt);
1121
+ e.dispatchCommand(xr, {
1107
1122
  rows: String(i),
1108
1123
  columns: String(m),
1109
1124
  /*
@@ -1119,23 +1134,23 @@ const uo = (e) => {
1119
1134
  insertTableRow: (l) => {
1120
1135
  e.update(() => {
1121
1136
  if (!pe()) return;
1122
- const d = ge(l.count);
1123
- for (let i = 0; i < d; i += 1)
1124
- xr(l.direction !== "before");
1137
+ const c = ge(l.count);
1138
+ for (let i = 0; i < c; i += 1)
1139
+ Er(l.direction !== "before");
1125
1140
  });
1126
1141
  },
1127
1142
  insertTableColumn: (l) => {
1128
1143
  e.update(() => {
1129
1144
  if (!pe()) return;
1130
- const d = ge(l.count);
1131
- for (let i = 0; i < d; i += 1)
1145
+ const c = ge(l.count);
1146
+ for (let i = 0; i < c; i += 1)
1132
1147
  kr(l.direction !== "before");
1133
1148
  });
1134
1149
  },
1135
1150
  deleteTableRow: (l) => {
1136
1151
  e.update(() => {
1137
- const d = ge(l.count);
1138
- for (let i = 0; i < d; i += 1) {
1152
+ const c = ge(l.count);
1153
+ for (let i = 0; i < c; i += 1) {
1139
1154
  if (!pe()) return;
1140
1155
  _r();
1141
1156
  }
@@ -1143,8 +1158,8 @@ const uo = (e) => {
1143
1158
  },
1144
1159
  deleteTableColumn: (l) => {
1145
1160
  e.update(() => {
1146
- const d = ge(l.count);
1147
- for (let i = 0; i < d; i += 1) {
1161
+ const c = ge(l.count);
1162
+ for (let i = 0; i < c; i += 1) {
1148
1163
  if (!pe()) return;
1149
1164
  Cr();
1150
1165
  }
@@ -1154,14 +1169,14 @@ const uo = (e) => {
1154
1169
  e.update(() => {
1155
1170
  const l = A();
1156
1171
  if (!D(l) && !Jt(l)) return;
1157
- const d = wr(l.anchor.getNode());
1158
- if (!d) return;
1172
+ const c = wr(l.anchor.getNode());
1173
+ if (!c) return;
1159
1174
  const i = W();
1160
- d.insertAfter(i), d.remove(), i.selectStart();
1175
+ c.insertAfter(i), c.remove(), i.selectStart();
1161
1176
  });
1162
1177
  }
1163
- }), Go = (e) => {
1164
- const t = Ko(e);
1178
+ }), Xo = (e) => {
1179
+ const t = Go(e);
1165
1180
  return {
1166
1181
  insertTable: (n) => {
1167
1182
  t.insertTable(n.rows, n.cols);
@@ -1182,7 +1197,7 @@ const uo = (e) => {
1182
1197
  t.deleteTable();
1183
1198
  }
1184
1199
  };
1185
- }, Xo = {
1200
+ }, Jo = {
1186
1201
  "format.bold": "bold",
1187
1202
  "format.italic": "italic",
1188
1203
  "format.underline": "underline",
@@ -1190,22 +1205,22 @@ const uo = (e) => {
1190
1205
  "format.inlineCode": "code",
1191
1206
  "format.superscript": "superscript",
1192
1207
  "format.subscript": "subscript"
1193
- }, Jo = {
1208
+ }, Yo = {
1194
1209
  "list.ordered": hr,
1195
1210
  "list.unordered": pr,
1196
1211
  "list.todo": gr
1197
- }, Yo = {
1212
+ }, Qo = {
1198
1213
  "indent.increase": zn,
1199
1214
  "indent.decrease": Fn,
1200
1215
  "history.undo": $n,
1201
1216
  "history.redo": Hn
1202
- }, Qo = {
1217
+ }, Zo = {
1203
1218
  "format.color": "color",
1204
1219
  "format.backgroundColor": "background-color",
1205
1220
  "format.fontSize": "font-size",
1206
1221
  "format.fontFamily": "font-family",
1207
1222
  "format.lineHeight": "line-height"
1208
- }, Zo = ({
1223
+ }, ea = ({
1209
1224
  container: e,
1210
1225
  lexicalEditor: t,
1211
1226
  options: n,
@@ -1213,12 +1228,12 @@ const uo = (e) => {
1213
1228
  isReadonly: o,
1214
1229
  reportError: a
1215
1230
  }) => {
1216
- const s = Oo({
1231
+ const s = Ho({
1217
1232
  container: e,
1218
1233
  lexicalEditor: t,
1219
1234
  options: n,
1220
1235
  isDestroyed: r
1221
- }), l = zo(t), d = Wo(t), i = Vo(t), m = Uo(t), C = jo(t), _ = Go(t), M = () => {
1236
+ }), l = Wo(t), c = Vo(t), i = Uo(t), m = jo(t), C = qo(t), _ = Xo(t), M = () => {
1222
1237
  var T, g;
1223
1238
  if (document.fullscreenElement) {
1224
1239
  (T = document.exitFullscreen) == null || T.call(document).catch((v) => {
@@ -1231,22 +1246,22 @@ const uo = (e) => {
1231
1246
  });
1232
1247
  }, p = ((b) => {
1233
1248
  if (r() || o()) return;
1234
- const T = Xo[b.type];
1249
+ const T = Jo[b.type];
1235
1250
  if (T) {
1236
1251
  t.dispatchCommand(On, T);
1237
1252
  return;
1238
1253
  }
1239
- const g = Jo[b.type];
1254
+ const g = Yo[b.type];
1240
1255
  if (g) {
1241
1256
  t.dispatchCommand(g, void 0);
1242
1257
  return;
1243
1258
  }
1244
- const v = Yo[b.type];
1259
+ const v = Qo[b.type];
1245
1260
  if (v) {
1246
1261
  t.dispatchCommand(v, void 0);
1247
1262
  return;
1248
1263
  }
1249
- const L = Qo[b.type];
1264
+ const L = Zo[b.type];
1250
1265
  if (L && "value" in b) {
1251
1266
  C.setSelectionStyle(L, b.value);
1252
1267
  return;
@@ -1277,13 +1292,13 @@ const uo = (e) => {
1277
1292
  l.formatAlign(b.value);
1278
1293
  return;
1279
1294
  case "link.set":
1280
- d.setLink(b.href, b.text);
1295
+ c.setLink(b.href, b.text);
1281
1296
  return;
1282
1297
  case "link.unset":
1283
- d.unsetLink();
1298
+ c.unsetLink();
1284
1299
  return;
1285
1300
  case "link.open":
1286
- d.openSelectedLink();
1301
+ c.openSelectedLink();
1287
1302
  return;
1288
1303
  case "mention.insert":
1289
1304
  m.insertMention(b.item);
@@ -1344,7 +1359,7 @@ const uo = (e) => {
1344
1359
  return p.uploadMediaFile = s.uploadMediaFile, p.destroy = () => {
1345
1360
  s.destroy();
1346
1361
  }, p;
1347
- }, ea = 300, ta = "BridgeRTE", ht = ({
1362
+ }, ta = 300, na = "BridgeRTE", ht = ({
1348
1363
  editor: e,
1349
1364
  overflowLength: t
1350
1365
  }) => {
@@ -1355,7 +1370,7 @@ const uo = (e) => {
1355
1370
  $().selectEnd();
1356
1371
  const r = A();
1357
1372
  return D(r) ? (ot(e, r.anchor, t), !0) : !1;
1358
- }, na = ({
1373
+ }, ra = ({
1359
1374
  lexicalEditor: e,
1360
1375
  options: t,
1361
1376
  isDestroyed: n,
@@ -1365,10 +1380,10 @@ const uo = (e) => {
1365
1380
  let a = 0, s = null;
1366
1381
  const l = () => {
1367
1382
  s && (clearTimeout(s), s = null);
1368
- }, d = (g) => {
1383
+ }, c = (g) => {
1369
1384
  if (n()) return;
1370
1385
  const v = tn(e.getEditorState(), e);
1371
- r(v), g && To(t, v);
1386
+ r(v), g && Lo(t, v);
1372
1387
  }, i = (g) => {
1373
1388
  const v = t.maxLength !== void 0 && t.maxLength >= 0 ? t.maxLength : void 0;
1374
1389
  return {
@@ -1379,10 +1394,10 @@ const uo = (e) => {
1379
1394
  isOverMaxLength: v === void 0 ? !1 : g > v
1380
1395
  };
1381
1396
  }, m = (g) => {
1382
- Lo(t, i(g));
1397
+ So(t, i(g));
1383
1398
  }, C = () => {
1384
1399
  t.onChange && (l(), s = setTimeout(() => {
1385
- d(!0);
1400
+ c(!0);
1386
1401
  }, Pn));
1387
1402
  }, _ = (g) => {
1388
1403
  if (a > 0) {
@@ -1401,7 +1416,7 @@ const uo = (e) => {
1401
1416
  ht({ editor: e, overflowLength: g });
1402
1417
  }, { discrete: !0 });
1403
1418
  },
1404
- syncContent: d,
1419
+ syncContent: c,
1405
1420
  suppressNextChange() {
1406
1421
  a += 1;
1407
1422
  },
@@ -1414,39 +1429,39 @@ const uo = (e) => {
1414
1429
  o(), _(g);
1415
1430
  }
1416
1431
  };
1417
- }, _e = "data-language", an = "纯文本", ra = "language", oa = /* @__PURE__ */ new Set(["plain", "plaintext", "text", "txt"]), aa = [
1432
+ }, _e = "data-language", an = "纯文本", oa = "language", aa = /* @__PURE__ */ new Set(["plain", "plaintext", "text", "txt"]), sa = [
1418
1433
  _e,
1419
1434
  "data-lang",
1420
1435
  "data-code-language",
1421
1436
  "data-highlight-language",
1422
1437
  "lang",
1423
1438
  "language"
1424
- ], sa = /^[a-z][a-z0-9_+#.-]{0,31}$/i, ia = /^(?:language|lang)-([a-z][a-z0-9_+#.-]{0,31})$/i, la = /^brush:\s*([a-z][a-z0-9_+#.-]{0,31})$/i, ca = /* @__PURE__ */ new Map([
1439
+ ], ia = /^[a-z][a-z0-9_+#.-]{0,31}$/i, la = /^(?:language|lang)-([a-z][a-z0-9_+#.-]{0,31})$/i, ca = /^brush:\s*([a-z][a-z0-9_+#.-]{0,31})$/i, da = /* @__PURE__ */ new Map([
1425
1440
  ["js", "javascript"],
1426
1441
  ["jsx", "javascript"],
1427
1442
  ["py", "python"],
1428
1443
  ["rs", "rust"],
1429
1444
  ["ts", "typescript"],
1430
1445
  ["tsx", "typescript"]
1431
- ]), da = (e) => e.type === "select", ua = (e) => e.find((t) => t.name === ra && da(t)), Y = (e) => {
1446
+ ]), ua = (e) => e.type === "select", ma = (e) => e.find((t) => t.name === oa && ua(t)), Y = (e) => {
1432
1447
  const t = e == null ? void 0 : e.trim().toLowerCase();
1433
- return !t || !sa.test(t) ? null : ca.get(t) ?? t;
1434
- }, ma = (e) => {
1435
- for (const t of aa) {
1448
+ return !t || !ia.test(t) ? null : da.get(t) ?? t;
1449
+ }, ga = (e) => {
1450
+ for (const t of sa) {
1436
1451
  const n = Y(e.getAttribute(t));
1437
1452
  if (n) return n;
1438
1453
  }
1439
1454
  return null;
1440
- }, ga = (e) => {
1441
- const [, t] = e.match(la) ?? [], n = Y(t);
1455
+ }, pa = (e) => {
1456
+ const [, t] = e.match(ca) ?? [], n = Y(t);
1442
1457
  if (n) return n;
1443
1458
  for (const r of e.split(/\s+/)) {
1444
- const [, o] = r.match(ia) ?? [], a = Y(o);
1459
+ const [, o] = r.match(la) ?? [], a = Y(o);
1445
1460
  if (a) return a;
1446
1461
  }
1447
1462
  return null;
1448
- }, pa = () => {
1449
- const e = lr().filter(([t]) => !oa.has(t)).map(([t, n]) => ({
1463
+ }, ha = () => {
1464
+ const e = lr().filter(([t]) => !aa.has(t)).map(([t, n]) => ({
1450
1465
  label: n,
1451
1466
  value: Y(t) ?? t
1452
1467
  }));
@@ -1454,26 +1469,26 @@ const uo = (e) => {
1454
1469
  { label: an, value: "" },
1455
1470
  ...e
1456
1471
  ];
1457
- }, ft = pa(), sn = (e = Ae) => {
1472
+ }, ft = ha(), sn = (e = Ae) => {
1458
1473
  var t;
1459
- return e === Ae ? ft : ((t = ua(e.fields)) == null ? void 0 : t.options) ?? ft;
1474
+ return e === Ae ? ft : ((t = ma(e.fields)) == null ? void 0 : t.options) ?? ft;
1460
1475
  }, ln = (e, t) => {
1461
1476
  var n, r, o;
1462
1477
  return ((n = e.find((a) => a.value === t)) == null ? void 0 : n.label) ?? ((r = e.find((a) => Y(a.value) === Y(t))) == null ? void 0 : r.label) ?? ((o = e[0]) == null ? void 0 : o.label) ?? an;
1463
1478
  };
1464
1479
  sn();
1465
- const ha = (e) => {
1480
+ const fa = (e) => {
1466
1481
  [...e.querySelectorAll("pre,code")].forEach((t) => {
1467
- const n = ma(t) ?? ga(t.className), r = t.tagName === "PRE" ? t : t.closest("pre");
1482
+ const n = ga(t) ?? pa(t.className), r = t.tagName === "PRE" ? t : t.closest("pre");
1468
1483
  r && n && r.setAttribute(_e, n);
1469
1484
  });
1470
- }, fa = (e) => {
1485
+ }, ba = (e) => {
1471
1486
  e.querySelectorAll("pre").forEach((t) => {
1472
1487
  [...t.children].forEach((r) => {
1473
1488
  r.tagName === "CODE" && r.replaceWith(...r.childNodes);
1474
1489
  });
1475
1490
  });
1476
- }, ba = (e, t) => {
1491
+ }, ya = (e, t) => {
1477
1492
  const n = [...t.querySelectorAll("pre[data-language]")];
1478
1493
  let r = 0;
1479
1494
  e.forEach((o) => {
@@ -1483,7 +1498,7 @@ const ha = (e) => {
1483
1498
  const s = a.getAttribute(_e);
1484
1499
  s && !o.getLanguage() && o.setLanguage(s);
1485
1500
  });
1486
- }, te = 12, bt = 6, yt = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), ya = () => {
1501
+ }, te = 12, bt = 6, yt = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), va = () => {
1487
1502
  const e = window.visualViewport;
1488
1503
  return {
1489
1504
  left: (e == null ? void 0 : e.offsetLeft) ?? 0,
@@ -1491,26 +1506,26 @@ const ha = (e) => {
1491
1506
  width: (e == null ? void 0 : e.width) ?? window.innerWidth,
1492
1507
  height: (e == null ? void 0 : e.height) ?? window.innerHeight
1493
1508
  };
1494
- }, va = (e) => {
1509
+ }, wa = (e) => {
1495
1510
  const t = e.style.visibility, n = e.style.pointerEvents, r = e.style.display;
1496
1511
  e.style.visibility = "hidden", e.style.pointerEvents = "none", e.style.display = "grid";
1497
1512
  const o = e.getBoundingClientRect();
1498
1513
  return e.style.visibility = t, e.style.pointerEvents = n, e.style.display = r, o;
1499
- }, wa = (e, t, n) => {
1500
- const r = va(e), o = ya(), a = t.getBoundingClientRect(), s = a.left + te, l = a.top + te, d = n ? n.x : s, i = n ? n.y + n.height + bt : l, m = n ? n.y - r.height - bt : i, C = o.left + te, _ = o.top + te, M = o.left + o.width - r.width - te, p = o.top + o.height - r.height - te, b = i > p ? m : i;
1514
+ }, Ca = (e, t, n) => {
1515
+ const r = wa(e), o = va(), a = t.getBoundingClientRect(), s = a.left + te, l = a.top + te, c = n ? n.x : s, i = n ? n.y + n.height + bt : l, m = n ? n.y - r.height - bt : i, C = o.left + te, _ = o.top + te, M = o.left + o.width - r.width - te, p = o.top + o.height - r.height - te, b = i > p ? m : i;
1501
1516
  return {
1502
- left: yt(d, C, M),
1517
+ left: yt(c, C, M),
1503
1518
  top: yt(b, _, p),
1504
1519
  viewportHeight: o.height
1505
1520
  };
1506
1521
  }, cn = (e) => {
1507
- var d, i;
1522
+ var c, i;
1508
1523
  const t = document.createElement("div"), n = document.createElement("div"), r = document.createElement("div");
1509
1524
  let o;
1510
1525
  const a = () => {
1511
1526
  t.dataset.visible = "false", n.dataset.visible = "false", o = void 0;
1512
1527
  }, s = () => {
1513
- const m = wa(n, e.root, o);
1528
+ const m = Ca(n, e.root, o);
1514
1529
  n.style.left = `${m.left}px`, n.style.top = `${m.top}px`, n.style.setProperty(
1515
1530
  "--bridgerte-dialog-visible-height",
1516
1531
  `${m.viewportHeight}px`
@@ -1521,7 +1536,7 @@ const ha = (e) => {
1521
1536
  return t.className = "bridgerte__dialog-backdrop", t.dataset.visible = "false", n.className = `bridgerte__dialog ${e.className}`, n.dataset.visible = "false", r.className = "bridgerte__dialog-content", n.append(r), e.root.append(t, n), t.addEventListener("click", () => {
1522
1537
  var m;
1523
1538
  (m = e.onBackdropClick) == null || m.call(e), a();
1524
- }), (d = window.visualViewport) == null || d.addEventListener("resize", s), (i = window.visualViewport) == null || i.addEventListener("scroll", s), window.addEventListener("resize", s), {
1539
+ }), (c = window.visualViewport) == null || c.addEventListener("resize", s), (i = window.visualViewport) == null || i.addEventListener("scroll", s), window.addEventListener("resize", s), {
1525
1540
  element: n,
1526
1541
  content: r,
1527
1542
  open: l,
@@ -1558,21 +1573,21 @@ const ha = (e) => {
1558
1573
  return e.addEventListener("pointerdown", o), e.addEventListener("pointerup", a), e.addEventListener("pointercancel", a), e.addEventListener("lostpointercapture", a), () => {
1559
1574
  a(), e.removeEventListener("pointerdown", o), e.removeEventListener("pointerup", a), e.removeEventListener("pointercancel", a), e.removeEventListener("lostpointercapture", a);
1560
1575
  };
1561
- }, vt = "language", Ca = "bridgerte-code-block-language", wt = 8;
1576
+ }, vt = "language", _a = "bridgerte-code-block-language", wt = 8;
1562
1577
  let Ct = 0;
1563
- const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1578
+ const ka = () => (Ct += 1, `${_a}-${Ct}`), Ea = (e, t, n) => {
1564
1579
  const r = e.querySelector(".bridgerte__code-block-control-label");
1565
1580
  e.dataset.language = n ?? "", r && (r.textContent = ln(t, n));
1566
1581
  }, xa = (e, t) => {
1567
1582
  const n = document.createElement("button"), r = document.createElement("span"), o = document.createElement("span");
1568
1583
  return n.type = "button", n.className = "bridgerte__code-block-control", n.contentEditable = "false", n.dataset.language = t ?? "", n.setAttribute("aria-label", "选择代码块语言"), r.className = "bridgerte__code-block-control-label", r.textContent = ln(e, t), o.className = "bridgerte__code-block-control-arrow", n.append(r, o), n;
1569
- }, Ea = (e) => e.querySelector(".bridgerte__content") ?? e, Ma = (e) => {
1570
- const t = document.createElement("div"), n = Ea(e.root), r = Qt(
1584
+ }, Ma = (e) => e.querySelector(".bridgerte__content") ?? e, Ta = (e) => {
1585
+ const t = document.createElement("div"), n = Ma(e.root), r = Qt(
1571
1586
  e.languagePanel ?? Ae,
1572
1587
  e.payloadPanelConfig
1573
1588
  ), o = sn(r);
1574
1589
  let a = null, s = null;
1575
- const l = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), i = () => {
1590
+ const l = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), i = () => {
1576
1591
  a == null || a.close();
1577
1592
  }, m = (k, h) => {
1578
1593
  e.isReadonly() || e.editor.update(() => {
@@ -1584,9 +1599,9 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1584
1599
  m(k, h);
1585
1600
  });
1586
1601
  }, _ = (k, h, u) => {
1587
- var c;
1588
- return ((c = e.onRequest) == null ? void 0 : c.call(e, {
1589
- id: _a(),
1602
+ var d;
1603
+ return ((d = e.onRequest) == null ? void 0 : d.call(e, {
1604
+ id: ka(),
1590
1605
  readonly: e.isReadonly(),
1591
1606
  menuId: "code-block-language",
1592
1607
  command: { type: "block.setCodeLanguage", language: u },
@@ -1606,8 +1621,8 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1606
1621
  cancel: i
1607
1622
  })) === !0;
1608
1623
  }, M = (k, h) => {
1609
- const u = e.root.getBoundingClientRect(), c = h.getBoundingClientRect(), f = c.bottom < u.top || c.top > u.bottom;
1610
- k.hidden = f, k.style.transform = `translate(${c.left - u.left + wt}px, ${c.top - u.top + wt}px)`;
1624
+ const u = e.root.getBoundingClientRect(), d = h.getBoundingClientRect(), f = d.bottom < u.top || d.top > u.bottom;
1625
+ k.hidden = f, k.style.transform = `translate(${d.left - u.left + wt}px, ${d.top - u.top + wt}px)`;
1611
1626
  }, p = (k) => {
1612
1627
  var w;
1613
1628
  const h = e.editor.getElementByKey(k);
@@ -1616,13 +1631,13 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1616
1631
  return;
1617
1632
  }
1618
1633
  h.dataset.lexicalKey = k;
1619
- const u = h.getAttribute("data-language"), c = l.get(k);
1620
- if (c) {
1621
- ka(c, o, u), M(c, h);
1634
+ const u = h.getAttribute("data-language"), d = l.get(k);
1635
+ if (d) {
1636
+ Ea(d, o, u), M(d, h);
1622
1637
  return;
1623
1638
  }
1624
1639
  const f = xa(o, u), y = z(f);
1625
- f.dataset.lexicalKey = k, l.set(k, f), d.set(f, y), t.append(f), M(f, h);
1640
+ f.dataset.lexicalKey = k, l.set(k, f), c.set(f, y), t.append(f), M(f, h);
1626
1641
  }, b = () => {
1627
1642
  s = null, l.forEach((k, h) => {
1628
1643
  p(h);
@@ -1630,8 +1645,8 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1630
1645
  }, T = () => {
1631
1646
  s === null && (s = ve(b));
1632
1647
  }, g = (k, h) => {
1633
- const u = k.getBoundingClientRect(), c = k.dataset.language ?? "";
1634
- if (_(h, u, c)) return;
1648
+ const u = k.getBoundingClientRect(), d = k.dataset.language ?? "";
1649
+ if (_(h, u, d)) return;
1635
1650
  if (e.isReadonly()) {
1636
1651
  i();
1637
1652
  return;
@@ -1660,10 +1675,10 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1660
1675
  (k) => {
1661
1676
  k.forEach((h, u) => {
1662
1677
  if (h === "destroyed") {
1663
- const c = l.get(u);
1664
- if (c) {
1665
- const f = d.get(c);
1666
- f == null || f(), d.delete(c), c.remove();
1678
+ const d = l.get(u);
1679
+ if (d) {
1680
+ const f = c.get(d);
1681
+ f == null || f(), c.delete(d), d.remove();
1667
1682
  }
1668
1683
  l.delete(u);
1669
1684
  return;
@@ -1671,13 +1686,13 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1671
1686
  p(u);
1672
1687
  });
1673
1688
  }
1674
- ), L = e.editor.registerUpdateListener(T), x = (k) => {
1689
+ ), L = e.editor.registerUpdateListener(T), E = (k) => {
1675
1690
  const h = k.target;
1676
1691
  if (!(h instanceof HTMLElement)) return;
1677
1692
  const u = h.closest(".bridgerte__code-block-control");
1678
1693
  if (!(u instanceof HTMLElement)) return;
1679
- const c = u.dataset.lexicalKey;
1680
- c && (k.preventDefault(), k.stopPropagation(), g(u, c));
1694
+ const d = u.dataset.lexicalKey;
1695
+ d && (k.preventDefault(), k.stopPropagation(), g(u, d));
1681
1696
  }, P = (k) => {
1682
1697
  const h = k.target;
1683
1698
  h instanceof HTMLElement && h.closest(".bridgerte__code-block-control") && k.preventDefault();
@@ -1690,18 +1705,18 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1690
1705
  }
1691
1706
  const u = h.closest(".bridgerte__code-block");
1692
1707
  if (!u || u.textContent) return;
1693
- const c = u.dataset.lexicalKey;
1694
- c && (e.editor.update(() => {
1695
- const f = ce(c);
1708
+ const d = u.dataset.lexicalKey;
1709
+ d && (e.editor.update(() => {
1710
+ const f = ce(d);
1696
1711
  K(f) && f.selectEnd();
1697
1712
  }), e.editor.focus());
1698
1713
  };
1699
- return t.addEventListener("pointerdown", P), t.addEventListener("click", x), n.addEventListener("pointerdown", I), n.addEventListener("scroll", T, { passive: !0 }), window.addEventListener("resize", T), {
1714
+ return t.addEventListener("pointerdown", P), t.addEventListener("click", E), n.addEventListener("pointerdown", I), n.addEventListener("scroll", T, { passive: !0 }), window.addEventListener("resize", T), {
1700
1715
  destroy() {
1701
- v(), L(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", P), t.removeEventListener("click", x), n.removeEventListener("pointerdown", I), n.removeEventListener("scroll", T), window.removeEventListener("resize", T), l.forEach((k) => {
1716
+ v(), L(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", P), t.removeEventListener("click", E), n.removeEventListener("pointerdown", I), n.removeEventListener("scroll", T), window.removeEventListener("resize", T), l.forEach((k) => {
1702
1717
  var h;
1703
- (h = d.get(k)) == null || h(), k.remove();
1704
- }), l.clear(), d.clear(), t.remove(), a == null || a.destroy(), a = null;
1718
+ (h = c.get(k)) == null || h(), k.remove();
1719
+ }), l.clear(), c.clear(), t.remove(), a == null || a.destroy(), a = null;
1705
1720
  }
1706
1721
  };
1707
1722
  }, Ge = (e, t = {}) => e.map((n) => {
@@ -1712,10 +1727,10 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1712
1727
  ...r === void 0 ? {} : { label: r },
1713
1728
  ...o === void 0 ? {} : { payloadPanel: o }
1714
1729
  };
1715
- }), Ta = (e, t) => {
1730
+ }), La = (e, t) => {
1716
1731
  const n = t.find((r) => r.command === e.command.type);
1717
1732
  return (n == null ? void 0 : n.value) === void 0 ? void 0 : { value: String(n.value) };
1718
- }, La = (e, t) => {
1733
+ }, Sa = (e, t) => {
1719
1734
  const n = t.find((o) => jr(e.command, o)), r = t.find((o) => o.command === e.command.type);
1720
1735
  return {
1721
1736
  active: (n == null ? void 0 : n.active) === !0,
@@ -1725,7 +1740,7 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1725
1740
  "media-resize-20",
1726
1741
  "media-resize-50",
1727
1742
  "media-resize-100"
1728
- ], Sa = [
1743
+ ], Na = [
1729
1744
  "media-align-left",
1730
1745
  "media-align-center",
1731
1746
  "media-align-right",
@@ -1733,11 +1748,11 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1733
1748
  ...Xe,
1734
1749
  "|",
1735
1750
  "media-remove"
1736
- ], Na = [
1751
+ ], Pa = [
1737
1752
  "media-retry",
1738
1753
  "|",
1739
1754
  "media-remove"
1740
- ], Pa = [
1755
+ ], Ia = [
1741
1756
  {
1742
1757
  id: "media-align-left",
1743
1758
  command: { type: "media.align", assetId: "", value: "left" },
@@ -1794,22 +1809,22 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1794
1809
  icon: "trash-2",
1795
1810
  group: "media"
1796
1811
  }
1797
- ], Ia = (e) => Xe.includes(e), Ra = (e) => typeof e == "object" && Array.isArray(e.menuKeys), Aa = (e) => new Set(e.flatMap((t) => t === "|" ? [] : typeof t == "string" ? [t] : Ra(t) ? [t.key, ...t.menuKeys] : [])), Ba = (e) => {
1798
- const t = Aa(e), n = Xe.filter((r) => !t.has(r));
1812
+ ], Ra = (e) => Xe.includes(e), Aa = (e) => typeof e == "object" && Array.isArray(e.menuKeys), Ba = (e) => new Set(e.flatMap((t) => t === "|" ? [] : typeof t == "string" ? [t] : Aa(t) ? [t.key, ...t.menuKeys] : [])), Da = (e) => {
1813
+ const t = Ba(e), n = Xe.filter((r) => !t.has(r));
1799
1814
  return n.length === 0 ? e : [
1800
1815
  ...e,
1801
1816
  "|",
1802
1817
  ...n
1803
1818
  ];
1804
- }, Da = (e) => {
1819
+ }, Oa = (e) => {
1805
1820
  var r;
1806
- const t = (e == null ? void 0 : e.toolbarKeys) ?? Sa;
1821
+ const t = (e == null ? void 0 : e.toolbarKeys) ?? Na;
1807
1822
  return {
1808
1823
  ...e,
1809
- toolbarKeys: Ba(t),
1810
- excludeKeys: (r = e == null ? void 0 : e.excludeKeys) == null ? void 0 : r.filter((o) => !Ia(o))
1824
+ toolbarKeys: Da(t),
1825
+ excludeKeys: (r = e == null ? void 0 : e.excludeKeys) == null ? void 0 : r.filter((o) => !Ra(o))
1811
1826
  };
1812
- }, Oa = (e, t) => {
1827
+ }, Ha = (e, t) => {
1813
1828
  switch (e.command.type) {
1814
1829
  case "media.retry":
1815
1830
  return { ...e.command, assetId: t };
@@ -1822,65 +1837,65 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1822
1837
  default:
1823
1838
  return null;
1824
1839
  }
1825
- }, Ha = (e, t, n) => e.command.type === "media.resize" ? e.command.widthPercent === t : e.command.type === "media.align" && e.command.value === n, dn = (e, t = {}) => {
1826
- const n = Ge(Pa, {
1840
+ }, $a = (e, t, n) => e.command.type === "media.resize" ? e.command.widthPercent === t : e.command.type === "media.align" && e.command.value === n, dn = (e, t = {}) => {
1841
+ const n = Ge(Ia, {
1827
1842
  menuLabels: t.menuLabels
1828
- }), r = e === "error" ? { toolbarKeys: Na } : Da(t.config);
1843
+ }), r = e === "error" ? { toolbarKeys: Pa } : Oa(t.config);
1829
1844
  return Ve(r, n);
1830
- }, ne = 8, ae = "bridgerte__media-controls-button", $a = (e) => e.querySelector(".bridgerte__content") ?? e, _t = (e) => e instanceof Element ? e.closest(".bridgerte__media") : null, Fa = (e, t = !1) => {
1845
+ }, ne = 8, ae = "bridgerte__media-controls-button", Fa = (e) => e.querySelector(".bridgerte__content") ?? e, _t = (e) => e instanceof Element ? e.closest(".bridgerte__media") : null, za = (e, t = !1) => {
1831
1846
  const n = document.createElement("button");
1832
1847
  return n.type = "button", n.className = ae, 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;
1833
- }, un = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), za = (e, t, n, r) => {
1848
+ }, un = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Wa = (e, t, n, r) => {
1834
1849
  if (t.type === "separator") {
1835
1850
  const a = document.createElement("span");
1836
1851
  a.className = "bridgerte__media-controls-separator", a.dataset.separatorId = t.key, a.setAttribute("aria-hidden", "true"), e.append(a);
1837
1852
  return;
1838
1853
  }
1839
1854
  (t.type === "button" ? [t.item] : t.items).forEach((a) => {
1840
- e.append(Fa(
1855
+ e.append(za(
1841
1856
  a,
1842
- Ha(a, n, r)
1857
+ $a(a, n, r)
1843
1858
  ));
1844
1859
  });
1845
- }, Wa = (e, t, n) => {
1860
+ }, Va = (e, t, n) => {
1846
1861
  const r = document.createElement("div"), o = e.dataset.status, a = Number(
1847
1862
  e.dataset.displayWidthPercent ?? t
1848
1863
  ), s = e.dataset.align ?? "left", l = dn(o, {
1849
1864
  config: n.mediaControlsConfig,
1850
1865
  menuLabels: n.menuLabels
1851
1866
  });
1852
- 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) => {
1853
- za(r, d, a, s);
1867
+ 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((c) => c.id).join("|"), l.forEach((c) => {
1868
+ Wa(r, c, a, s);
1854
1869
  }), r;
1855
- }, Va = (e) => {
1856
- const t = document.createElement("div"), n = $a(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
1857
- let s = null, l = null, d = !1, i = null;
1858
- const m = (c) => {
1870
+ }, Ua = (e) => {
1871
+ const t = document.createElement("div"), n = Fa(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
1872
+ let s = null, l = null, c = !1, i = null;
1873
+ const m = (d) => {
1859
1874
  var y;
1860
- const f = r.get(c);
1861
- f && ((y = o.get(f)) == null || y(), o.delete(f), f.remove(), r.delete(c), i === c && (i = null));
1862
- }, C = (c, f) => f.dataset.status === "error" || i === c, _ = (c, f) => {
1875
+ const f = r.get(d);
1876
+ f && ((y = o.get(f)) == null || y(), o.delete(f), f.remove(), r.delete(d), i === d && (i = null));
1877
+ }, C = (d, f) => f.dataset.status === "error" || i === d, _ = (d, f) => {
1863
1878
  const y = e.root.getBoundingClientRect(), w = f.getBoundingClientRect(), S = w.bottom < y.top || w.top > y.bottom, R = Math.max(
1864
1879
  ne,
1865
- y.width - c.offsetWidth - ne
1880
+ y.width - d.offsetWidth - ne
1866
1881
  ), H = Math.min(
1867
1882
  Math.max(w.left - y.left + ne, ne),
1868
1883
  R
1869
1884
  ), O = Math.max(
1870
1885
  ne,
1871
- w.top - y.top - c.offsetHeight - ne
1886
+ w.top - y.top - d.offsetHeight - ne
1872
1887
  );
1873
- c.hidden = S, c.style.transform = `translate(${H}px, ${O}px)`;
1874
- }, M = (c) => {
1875
- const f = e.editor.getElementByKey(c);
1888
+ d.hidden = S, d.style.transform = `translate(${H}px, ${O}px)`;
1889
+ }, M = (d) => {
1890
+ const f = e.editor.getElementByKey(d);
1876
1891
  if (!f) {
1877
- m(c);
1892
+ m(d);
1878
1893
  return;
1879
1894
  }
1880
- f.dataset.lexicalKey = c, a.set(f, c);
1881
- const y = r.get(c);
1882
- if (!C(c, f)) {
1883
- m(c);
1895
+ f.dataset.lexicalKey = d, a.set(f, d);
1896
+ const y = r.get(d);
1897
+ if (!C(d, f)) {
1898
+ m(d);
1884
1899
  return;
1885
1900
  }
1886
1901
  if (y) {
@@ -1889,70 +1904,70 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1889
1904
  _(y, f);
1890
1905
  return;
1891
1906
  }
1892
- m(c);
1907
+ m(d);
1893
1908
  }
1894
- const w = Wa(f, e.defaultWidthPercent, e), S = z(w, {
1909
+ const w = Va(f, e.defaultWidthPercent, e), S = z(w, {
1895
1910
  targetSelector: `.${ae}`
1896
1911
  });
1897
- w.dataset.lexicalKey = c, w.dataset.assetId = f.dataset.assetId, r.set(c, w), o.set(w, S), t.append(w), _(w, f);
1912
+ w.dataset.lexicalKey = d, w.dataset.assetId = f.dataset.assetId, r.set(d, w), o.set(w, S), t.append(w), _(w, f);
1898
1913
  }, p = () => {
1899
- s = null, a.forEach((c, f) => {
1900
- e.root.contains(f) || (a.delete(f), m(c));
1901
- }), e.root.querySelectorAll(".bridgerte__media").forEach((c) => {
1902
- const f = c.dataset.lexicalKey;
1903
- f && (a.set(c, f), M(f));
1904
- }), r.forEach((c, f) => {
1914
+ s = null, a.forEach((d, f) => {
1915
+ e.root.contains(f) || (a.delete(f), m(d));
1916
+ }), e.root.querySelectorAll(".bridgerte__media").forEach((d) => {
1917
+ const f = d.dataset.lexicalKey;
1918
+ f && (a.set(d, f), M(f));
1919
+ }), r.forEach((d, f) => {
1905
1920
  M(f);
1906
1921
  }), i !== null && M(i);
1907
1922
  }, b = () => {
1908
1923
  s === null && (s = ve(p));
1909
- }, T = (c, f) => {
1924
+ }, T = (d, f) => {
1910
1925
  const y = f.dataset.assetId, w = un(dn(f.dataset.status, {
1911
1926
  config: e.mediaControlsConfig,
1912
1927
  menuLabels: e.menuLabels
1913
- })).find((R) => R.id === c.dataset.menuItemId);
1928
+ })).find((R) => R.id === d.dataset.menuItemId);
1914
1929
  if (!y || !w) return;
1915
- const S = Oa(w, y);
1930
+ const S = Ha(w, y);
1916
1931
  S && e.executeCommand(S);
1917
- }, g = (c) => {
1918
- if (!c) {
1932
+ }, g = (d) => {
1933
+ if (!d) {
1919
1934
  const w = i;
1920
1935
  i = null, w !== null && M(w);
1921
1936
  return;
1922
1937
  }
1923
- const f = c.dataset.lexicalKey ? c.dataset.lexicalKey : a.get(c) ?? null;
1938
+ const f = d.dataset.lexicalKey ? d.dataset.lexicalKey : a.get(d) ?? null;
1924
1939
  if (!f || i === f) return;
1925
1940
  const y = i;
1926
1941
  i = f, y !== null && M(y), M(f);
1927
- }, v = (c) => {
1928
- const f = _t(c.target);
1942
+ }, v = (d) => {
1943
+ const f = _t(d.target);
1929
1944
  g(f);
1930
- }, L = (c) => {
1931
- g(_t(c.target));
1932
- }, x = (c) => {
1933
- const f = c.target;
1945
+ }, L = (d) => {
1946
+ g(_t(d.target));
1947
+ }, E = (d) => {
1948
+ const f = d.target;
1934
1949
  if (!(f instanceof HTMLElement)) return;
1935
1950
  const y = f.closest(`.${ae}`);
1936
- y && (c.preventDefault(), l = c.pointerType === "mouse" ? null : y);
1937
- }, P = (c) => {
1938
- if (c.pointerType === "mouse" || !l) return;
1939
- const f = c.target, y = f instanceof HTMLElement ? f.closest(".bridgerte__media-controls") : null, w = f instanceof HTMLElement ? f.closest(`.${ae}`) : null;
1940
- w === l && y && (c.preventDefault(), c.stopPropagation(), T(w, y), d = !0), l = null;
1951
+ y && (d.preventDefault(), l = d.pointerType === "mouse" ? null : y);
1952
+ }, P = (d) => {
1953
+ if (d.pointerType === "mouse" || !l) return;
1954
+ const f = d.target, y = f instanceof HTMLElement ? f.closest(".bridgerte__media-controls") : null, w = f instanceof HTMLElement ? f.closest(`.${ae}`) : null;
1955
+ w === l && y && (d.preventDefault(), d.stopPropagation(), T(w, y), c = !0), l = null;
1941
1956
  }, I = () => {
1942
1957
  l = null;
1943
- }, k = (c) => {
1944
- if (d) {
1945
- d = !1, c.preventDefault(), c.stopPropagation();
1958
+ }, k = (d) => {
1959
+ if (c) {
1960
+ c = !1, d.preventDefault(), d.stopPropagation();
1946
1961
  return;
1947
1962
  }
1948
- const f = c.target;
1963
+ const f = d.target;
1949
1964
  if (!(f instanceof HTMLElement)) return;
1950
1965
  const y = f.closest(`.${ae}`), w = f.closest(".bridgerte__media-controls");
1951
- !y || !w || (c.preventDefault(), c.stopPropagation(), T(y, w));
1966
+ !y || !w || (d.preventDefault(), d.stopPropagation(), T(y, w));
1952
1967
  }, h = e.editor.registerMutationListener(
1953
1968
  re,
1954
- (c) => {
1955
- c.forEach((f, y) => {
1969
+ (d) => {
1970
+ d.forEach((f, y) => {
1956
1971
  if (f === "destroyed") {
1957
1972
  m(y);
1958
1973
  return;
@@ -1961,25 +1976,25 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
1961
1976
  });
1962
1977
  }
1963
1978
  ), u = e.editor.registerUpdateListener(b);
1964
- return t.className = "bridgerte__media-controls-layer", e.root.append(t), t.addEventListener("pointerdown", x), t.addEventListener("pointerup", P), t.addEventListener("pointercancel", I), t.addEventListener("click", k), n.addEventListener("pointerdown", v), n.addEventListener("focusin", L), n.addEventListener("scroll", b, { passive: !0 }), window.addEventListener("resize", b), {
1979
+ return t.className = "bridgerte__media-controls-layer", e.root.append(t), t.addEventListener("pointerdown", E), t.addEventListener("pointerup", P), t.addEventListener("pointercancel", I), t.addEventListener("click", k), n.addEventListener("pointerdown", v), n.addEventListener("focusin", L), n.addEventListener("scroll", b, { passive: !0 }), window.addEventListener("resize", b), {
1965
1980
  destroy() {
1966
- h(), u(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", x), t.removeEventListener("pointerup", P), t.removeEventListener("pointercancel", I), t.removeEventListener("click", k), n.removeEventListener("pointerdown", v), n.removeEventListener("focusin", L), n.removeEventListener("scroll", b), window.removeEventListener("resize", b), r.forEach((c) => {
1981
+ h(), u(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", E), t.removeEventListener("pointerup", P), t.removeEventListener("pointercancel", I), t.removeEventListener("click", k), n.removeEventListener("pointerdown", v), n.removeEventListener("focusin", L), n.removeEventListener("scroll", b), window.removeEventListener("resize", b), r.forEach((d) => {
1967
1982
  var f;
1968
- (f = o.get(c)) == null || f(), c.remove();
1983
+ (f = o.get(d)) == null || f(), d.remove();
1969
1984
  }), r.clear(), o.clear(), a.clear(), t.remove();
1970
1985
  }
1971
1986
  };
1972
- }, Ua = ["width", "height"], q = (e, t) => {
1987
+ }, ja = ["width", "height"], q = (e, t) => {
1973
1988
  var r;
1974
1989
  const n = (r = e[t]) == null ? void 0 : r.trim();
1975
1990
  return n || void 0;
1976
1991
  }, De = (e, t) => {
1977
1992
  const n = Number.parseInt(e[t] ?? "", 10);
1978
1993
  return Number.isFinite(n) && n > 0 ? n : void 0;
1979
- }, kt = (e, t) => Ua.reduce((n, r) => {
1994
+ }, kt = (e, t) => ja.reduce((n, r) => {
1980
1995
  const o = De(t, r);
1981
1996
  return o === void 0 ? n : { ...n, [r]: o };
1982
- }, e), ja = (e, t) => {
1997
+ }, e), qa = (e, t) => {
1983
1998
  if (e.type === "format.color" || e.type === "format.backgroundColor" || e.type === "format.fontSize" || e.type === "format.fontFamily" || e.type === "format.lineHeight")
1984
1999
  return t.value !== void 0 ? { ...e, value: t.value } : e;
1985
2000
  if (e.type === "link.set") {
@@ -2022,59 +2037,59 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2022
2037
  g: Number.parseInt(r.slice(2, 4), 16),
2023
2038
  b: Number.parseInt(r.slice(4, 6), 16)
2024
2039
  };
2025
- }, qa = (e) => {
2040
+ }, Ka = (e) => {
2026
2041
  const t = e.trim().match(/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/i);
2027
2042
  return t ? {
2028
2043
  r: X(Number(t[1])),
2029
2044
  g: X(Number(t[2])),
2030
2045
  b: X(Number(t[3]))
2031
2046
  } : null;
2032
- }, Ka = (e) => {
2033
- const t = mn(e) ?? qa(e);
2047
+ }, Ga = (e) => {
2048
+ const t = mn(e) ?? Ka(e);
2034
2049
  return t ? Oe(t) : null;
2035
- }, gn = (e) => Math.min(Math.max(e, 0), 1), Ga = ({ r: e, g: t, b: n }) => {
2036
- const r = X(e) / 255, o = X(t) / 255, a = X(n) / 255, s = Math.max(r, o, a), l = Math.min(r, o, a), d = s - l;
2050
+ }, gn = (e) => Math.min(Math.max(e, 0), 1), Xa = ({ r: e, g: t, b: n }) => {
2051
+ const r = X(e) / 255, o = X(t) / 255, a = X(n) / 255, s = Math.max(r, o, a), l = Math.min(r, o, a), c = s - l;
2037
2052
  let i = 0;
2038
- 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)), {
2053
+ return c !== 0 && (s === r ? i = 60 * ((o - a) / c % 6) : s === o ? i = 60 * ((a - r) / c + 2) : i = 60 * ((r - o) / c + 4)), {
2039
2054
  h: i < 0 ? i + 360 : i,
2040
- s: s === 0 ? 0 : d / s,
2055
+ s: s === 0 ? 0 : c / s,
2041
2056
  v: s
2042
2057
  };
2043
- }, xt = ({
2058
+ }, Et = ({
2044
2059
  h: e,
2045
2060
  s: t,
2046
2061
  v: n
2047
2062
  }) => {
2048
2063
  const r = n * t, o = r * (1 - Math.abs(e / 60 % 2 - 1)), a = n - r;
2049
- let s = 0, l = 0, d = 0;
2050
- return e < 60 ? (s = r, l = o) : e < 120 ? (s = o, l = r) : e < 180 ? (l = r, d = o) : e < 240 ? (l = o, d = r) : e < 300 ? (s = o, d = r) : (s = r, d = o), {
2064
+ let s = 0, l = 0, c = 0;
2065
+ return e < 60 ? (s = r, l = o) : e < 120 ? (s = o, l = r) : e < 180 ? (l = r, c = o) : e < 240 ? (l = o, c = r) : e < 300 ? (s = o, c = r) : (s = r, c = o), {
2051
2066
  r: (s + a) * 255,
2052
2067
  g: (l + a) * 255,
2053
- b: (d + a) * 255
2068
+ b: (c + a) * 255
2054
2069
  };
2055
- }, Xa = ({ h: e, s: t }) => {
2070
+ }, Ja = ({ h: e, s: t }) => {
2056
2071
  const n = e * Math.PI / 180, r = gn(t) * 50;
2057
2072
  return {
2058
2073
  x: 50 + Math.cos(n) * r,
2059
2074
  y: 50 + Math.sin(n) * r
2060
2075
  };
2061
- }, Et = (e, t) => {
2062
- 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;
2076
+ }, xt = (e, t) => {
2077
+ 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), c = Math.atan2(s, a) * 180 / Math.PI;
2063
2078
  return {
2064
- h: d < 0 ? d + 360 : d,
2079
+ h: c < 0 ? c + 360 : c,
2065
2080
  s: gn(l / (n.width / 2)),
2066
2081
  v: 1
2067
2082
  };
2068
- }, Ja = [
2083
+ }, Ya = [
2069
2084
  "#000000",
2070
2085
  "#ffffff"
2071
- ], Ya = (e) => {
2086
+ ], Qa = (e) => {
2072
2087
  var t;
2073
- return (t = e.options) != null && t.length ? e.options : Ja.map((n) => ({ label: n, value: n }));
2088
+ return (t = e.options) != null && t.length ? e.options : Ya.map((n) => ({ label: n, value: n }));
2074
2089
  }, pn = () => {
2075
2090
  const e = document.createElement("section");
2076
2091
  return e.className = "bridgerte__payload-panel-field", e;
2077
- }, Qa = (e, t, n) => {
2092
+ }, Za = (e, t, n) => {
2078
2093
  const r = pn(), o = document.createElement("div");
2079
2094
  return o.className = "bridgerte__payload-panel-option-list", e.options.forEach((a) => {
2080
2095
  const s = document.createElement("button");
@@ -2087,14 +2102,14 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2087
2102
  });
2088
2103
  }), o.append(s);
2089
2104
  }), r.append(o), r;
2090
- }, Za = (e, t, n) => {
2105
+ }, es = (e, t, n) => {
2091
2106
  const r = pn(), o = document.createElement("div"), a = document.createElement("span"), s = document.createElement("div"), l = document.createElement("div");
2092
- let d = { h: 0, s: 0, v: 1 }, i = null;
2107
+ let c = { h: 0, s: 0, v: 1 }, i = null;
2093
2108
  const m = (M) => {
2094
- const p = Ka(M);
2109
+ const p = Ga(M);
2095
2110
  if (!p) return;
2096
- t[e.name] = p, l.style.background = p, d = Ga(mn(p) ?? { r: 255, g: 255, b: 255 });
2097
- const b = Xa(d);
2111
+ t[e.name] = p, l.style.background = p, c = Xa(mn(p) ?? { r: 255, g: 255, b: 255 });
2112
+ const b = Ja(c);
2098
2113
  o.dataset.active = "true", l.dataset.empty = "false", a.style.left = `${b.x}%`, a.style.top = `${b.y}%`;
2099
2114
  }, C = () => {
2100
2115
  const M = t[e.name];
@@ -2103,7 +2118,7 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2103
2118
  [e.name]: M
2104
2119
  });
2105
2120
  };
2106
- r.className = "bridgerte__payload-panel-field", o.className = "bridgerte__payload-panel-color-wheel", o.setAttribute("aria-label", `${e.label}选择区域`), a.className = "bridgerte__payload-panel-color-wheel-handle", s.className = "bridgerte__payload-panel-color-actions", l.className = "bridgerte__payload-panel-color-preview", l.dataset.empty = "true", o.append(a), Ya(e).forEach((M) => {
2121
+ r.className = "bridgerte__payload-panel-field", o.className = "bridgerte__payload-panel-color-wheel", o.setAttribute("aria-label", `${e.label}选择区域`), a.className = "bridgerte__payload-panel-color-wheel-handle", s.className = "bridgerte__payload-panel-color-actions", l.className = "bridgerte__payload-panel-color-preview", l.dataset.empty = "true", o.append(a), Qa(e).forEach((M) => {
2107
2122
  const p = document.createElement("button"), b = M.value;
2108
2123
  p.type = "button", p.className = "bridgerte__payload-panel-color-swatch", p.dataset.value = b, p.style.background = b, p.setAttribute("aria-label", `选择颜色 ${M.label}`), z(p), p.addEventListener("pointerdown", (T) => {
2109
2124
  T.preventDefault();
@@ -2111,9 +2126,9 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2111
2126
  m(b), C();
2112
2127
  }), s.append(p);
2113
2128
  }), o.addEventListener("pointerdown", (M) => {
2114
- i = M.pointerId, o.setPointerCapture(M.pointerId), d = Et(M, o), m(Oe(xt(d))), M.preventDefault();
2129
+ i = M.pointerId, o.setPointerCapture(M.pointerId), c = xt(M, o), m(Oe(Et(c))), M.preventDefault();
2115
2130
  }), o.addEventListener("pointermove", (M) => {
2116
- i === M.pointerId && (d = Et(M, o), m(Oe(xt(d))));
2131
+ i === M.pointerId && (c = xt(M, o), m(Oe(Et(c))));
2117
2132
  }), o.addEventListener("pointerup", (M) => {
2118
2133
  i === M.pointerId && (i = null, o.releasePointerCapture(M.pointerId), C());
2119
2134
  }), o.addEventListener("pointercancel", (M) => {
@@ -2121,35 +2136,35 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2121
2136
  });
2122
2137
  const _ = t[e.name];
2123
2138
  return _ && m(_), r.append(o, l, s), r;
2124
- }, es = (e, t, n) => {
2139
+ }, ts = (e, t, n) => {
2125
2140
  const r = document.createElement("label"), o = document.createElement("input");
2126
2141
  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", () => {
2127
2142
  t[e.name] = o.value;
2128
2143
  }), o.addEventListener("keydown", (a) => {
2129
2144
  a.key === "Enter" && (a.preventDefault(), n(t));
2130
2145
  }), r.append(o), r;
2131
- }, ts = (e, t, n) => {
2146
+ }, ns = (e, t, n) => {
2132
2147
  const r = document.createElement("label"), o = document.createElement("input");
2133
2148
  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", () => {
2134
2149
  t[e.name] = o.value;
2135
2150
  }), o.addEventListener("keydown", (a) => {
2136
2151
  a.key === "Enter" && (a.preventDefault(), n(t));
2137
2152
  }), r.append(o), r;
2138
- }, ns = ({
2153
+ }, rs = ({
2139
2154
  field: e,
2140
2155
  values: t,
2141
2156
  onSubmit: n
2142
- }) => e.type === "color" ? Za(e, t, n) : e.type === "text" ? es(e, t, n) : e.type === "number" ? ts(e, t, n) : Qa(e, t, n), rs = (e) => {
2157
+ }) => e.type === "color" ? es(e, t, n) : e.type === "text" ? ts(e, t, n) : e.type === "number" ? ns(e, t, n) : Za(e, t, n), os = (e) => {
2143
2158
  var t, n, r;
2144
2159
  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) ?? "";
2145
- }, os = (e, t) => (t == null ? void 0 : t[e.name]) ?? (e.type === "color" ? "" : rs(e)), Mt = (e) => e.some((t) => t.type === "text" || t.type === "number"), as = (e) => {
2160
+ }, as = (e, t) => (t == null ? void 0 : t[e.name]) ?? (e.type === "color" ? "" : os(e)), Mt = (e) => e.some((t) => t.type === "text" || t.type === "number"), ss = (e) => {
2146
2161
  const t = e.querySelector(
2147
2162
  ".bridgerte__payload-panel-text-input"
2148
2163
  );
2149
2164
  queueMicrotask(() => {
2150
2165
  t == null || t.focus(), t == null || t.select();
2151
2166
  });
2152
- }, ss = (e, t, n) => {
2167
+ }, is = (e, t, n) => {
2153
2168
  const r = document.createElement("div"), o = document.createElement("span"), a = (n == null ? void 0 : n(e)) ?? null;
2154
2169
  if (r.className = "bridgerte__payload-panel-title", o.textContent = e.panel.title, r.append(o), a) {
2155
2170
  const s = document.createElement("button");
@@ -2160,23 +2175,23 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2160
2175
  }), r.append(s);
2161
2176
  }
2162
2177
  return r;
2163
- }, is = (e) => (
2178
+ }, ls = (e) => (
2164
2179
  /*
2165
2180
  * 字体类面板只需要紧凑候选列表,颜色面板需要保留一点横向空间给圆盘和黑白按钮。
2166
2181
  * 输入型面板保留默认宽度;table-insert 会按 schema 网格列数单独计算。
2167
2182
  */
2168
2183
  e === "font-size" || e === "font-family" || e === "line-height" ? "180px" : "220px"
2169
- ), ls = 3, cs = 3, ds = 10, hn = 10, us = 16, ms = 2, gs = 24, ps = () => {
2184
+ ), cs = 3, ds = 3, us = 10, hn = 10, ms = 16, gs = 2, ps = 24, hs = () => {
2170
2185
  var e;
2171
2186
  return typeof window < "u" && ((e = window.matchMedia) == null ? void 0 : e.call(window, "(hover: hover) and (pointer: fine)").matches) === !0;
2172
2187
  }, se = (e, t) => {
2173
2188
  const n = Number.parseInt(e ?? "", 10);
2174
2189
  return Number.isFinite(n) ? Math.min(Math.max(n, t.min), t.max) : t.defaultValue;
2175
- }, hs = (e, t) => e.type === "number" && e.name === t, Tt = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : t, Lt = (e, t, n, r) => {
2176
- const o = e.find((m) => hs(m, t)), a = Tt(o == null ? void 0 : o.min, 1), s = Tt(o == null ? void 0 : o.max, n), l = Math.max(a, s), d = Math.min(Math.max(r, a), l), i = se(o == null ? void 0 : o.defaultValue, {
2190
+ }, fs = (e, t) => e.type === "number" && e.name === t, Tt = (e, t) => typeof e == "number" && Number.isFinite(e) && e > 0 ? Math.floor(e) : t, Lt = (e, t, n, r) => {
2191
+ const o = e.find((m) => fs(m, t)), a = Tt(o == null ? void 0 : o.min, 1), s = Tt(o == null ? void 0 : o.max, n), l = Math.max(a, s), c = Math.min(Math.max(r, a), l), i = se(o == null ? void 0 : o.defaultValue, {
2177
2192
  min: a,
2178
2193
  max: l,
2179
- defaultValue: d
2194
+ defaultValue: c
2180
2195
  });
2181
2196
  return {
2182
2197
  min: a,
@@ -2188,23 +2203,23 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2188
2203
  e,
2189
2204
  "rows",
2190
2205
  Wt,
2191
- ls
2206
+ cs
2192
2207
  ),
2193
2208
  cols: Lt(
2194
2209
  e,
2195
2210
  "cols",
2196
2211
  Vt,
2197
- cs
2212
+ ds
2198
2213
  )
2199
- }), fs = (e) => {
2214
+ }), bs = (e) => {
2200
2215
  const t = Math.min(e.cols.max, hn);
2201
- return `${t * us + Math.max(t - 1, 0) * ms + gs}px`;
2202
- }, bs = ({
2216
+ return `${t * ms + Math.max(t - 1, 0) * gs + ps}px`;
2217
+ }, ys = ({
2203
2218
  fields: e,
2204
2219
  values: t,
2205
2220
  onSubmit: n
2206
2221
  }) => {
2207
- const r = fn(e), o = document.createElement("section"), a = document.createElement("div"), s = document.createElement("div"), l = [], d = ps(), i = Math.min(r.rows.max, ds), m = Math.min(r.cols.max, hn), C = {
2222
+ const r = fn(e), o = document.createElement("section"), a = document.createElement("div"), s = document.createElement("div"), l = [], c = hs(), i = Math.min(r.rows.max, us), m = Math.min(r.cols.max, hn), C = {
2208
2223
  ...r.rows,
2209
2224
  max: i,
2210
2225
  defaultValue: Math.min(r.rows.defaultValue, i)
@@ -2222,8 +2237,8 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2222
2237
  ), b = null;
2223
2238
  const T = (k, h) => {
2224
2239
  M = k, p = h, t.rows = String(k), t.cols = String(h), s.textContent = `${k} x ${h}`, l.forEach((u) => {
2225
- const c = Number.parseInt(u.dataset.rows ?? "0", 10), f = Number.parseInt(u.dataset.cols ?? "0", 10);
2226
- u.dataset.active = String(c <= k && f <= h);
2240
+ const d = Number.parseInt(u.dataset.rows ?? "0", 10), f = Number.parseInt(u.dataset.cols ?? "0", 10);
2241
+ u.dataset.active = String(d <= k && f <= h);
2227
2242
  });
2228
2243
  }, g = (k) => {
2229
2244
  var h;
@@ -2244,25 +2259,25 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2244
2259
  rows: String(M),
2245
2260
  cols: String(p)
2246
2261
  });
2247
- }, x = () => {
2262
+ }, E = () => {
2248
2263
  b = null;
2249
2264
  }, P = () => {
2250
- window.setTimeout(x, 0);
2265
+ window.setTimeout(E, 0);
2251
2266
  }, I = (k, h) => {
2252
2267
  if (k.detail > 0 && b !== h) {
2253
2268
  k.preventDefault(), k.stopPropagation();
2254
2269
  return;
2255
2270
  }
2256
- x(), v(h), L();
2271
+ E(), v(h), L();
2257
2272
  };
2258
2273
  for (let k = 1; k <= i; k += 1)
2259
2274
  for (let h = 1; h <= m; h += 1) {
2260
2275
  const u = document.createElement("button");
2261
- u.type = "button", u.className = "bridgerte__payload-panel-table-cell", u.dataset.rows = String(k), u.dataset.cols = String(h), u.setAttribute("aria-label", `插入 ${k} 行 ${h} 列表格`), z(u), u.addEventListener("pointerdown", (c) => {
2262
- b = u, v(u), c.preventDefault();
2263
- }), u.addEventListener("pointerup", P), u.addEventListener("pointercancel", x), u.addEventListener("click", (c) => {
2264
- I(c, u);
2265
- }), d && u.addEventListener("pointerenter", () => {
2276
+ u.type = "button", u.className = "bridgerte__payload-panel-table-cell", u.dataset.rows = String(k), u.dataset.cols = String(h), u.setAttribute("aria-label", `插入 ${k} 行 ${h} 列表格`), z(u), u.addEventListener("pointerdown", (d) => {
2277
+ b = u, v(u), d.preventDefault();
2278
+ }), u.addEventListener("pointerup", P), u.addEventListener("pointercancel", E), u.addEventListener("click", (d) => {
2279
+ I(d, u);
2280
+ }), c && u.addEventListener("pointerenter", () => {
2266
2281
  v(u);
2267
2282
  }), l.push(u), a.append(u);
2268
2283
  }
@@ -2270,18 +2285,18 @@ const _a = () => (Ct += 1, `${Ca}-${Ct}`), ka = (e, t, n) => {
2270
2285
  "--bridgerte-payload-panel-table-cols",
2271
2286
  String(m)
2272
2287
  ), s.className = "bridgerte__payload-panel-table-status", s.setAttribute("aria-live", "polite"), a.addEventListener("pointermove", (k) => {
2273
- d || v(g(k));
2288
+ c || v(g(k));
2274
2289
  }), T(M, p), o.append(a, s), o;
2275
- }, ys = "bridgerte-payload-panel";
2290
+ }, vs = "bridgerte-payload-panel";
2276
2291
  let St = 0;
2277
- const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-insert", ws = (e, t) => {
2292
+ const ws = () => (St += 1, `${vs}-${St}`), he = (e) => e.panel.id === "table-insert", Cs = (e, t) => {
2278
2293
  const n = document.createElement("button");
2279
2294
  return n.type = "button", n.className = "bridgerte__payload-panel-submit", n.textContent = "应用", z(n), n.addEventListener("pointerdown", (r) => {
2280
2295
  r.preventDefault();
2281
2296
  }), n.addEventListener("click", () => {
2282
2297
  t(e);
2283
2298
  }), n;
2284
- }, Cs = (e) => {
2299
+ }, _s = (e) => {
2285
2300
  let t = null, n = {};
2286
2301
  const r = cn({
2287
2302
  root: e.editorRoot,
@@ -2296,7 +2311,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2296
2311
  const a = (i) => {
2297
2312
  var C;
2298
2313
  if (!t || t.readonly || e.isReadonly()) return;
2299
- const m = ja(t.command, i);
2314
+ const m = qa(t.command, i);
2300
2315
  m && ((C = e.restoreEditorFocus) == null || C.call(e, () => {
2301
2316
  o(), e.isReadonly() || e.executeCommand(m);
2302
2317
  }));
@@ -2306,19 +2321,19 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2306
2321
  o(), e.isReadonly() || e.executeCommand(i);
2307
2322
  });
2308
2323
  }, l = (i) => {
2309
- n = i.panel.fields.reduce((C, _) => (C[_.name] = os(_, i.currentValues), C), {});
2310
- const m = he(i) ? fs(fn(i.panel.fields)) : is(i.panel.id);
2311
- r.element.style.width = `min(${m}, calc(100vw - 24px))`, r.content.append(ss(i, s, e.getClearCommand)), he(i) ? r.content.append(bs({
2324
+ n = i.panel.fields.reduce((C, _) => (C[_.name] = as(_, i.currentValues), C), {});
2325
+ const m = he(i) ? bs(fn(i.panel.fields)) : ls(i.panel.id);
2326
+ r.element.style.width = `min(${m}, calc(100vw - 24px))`, r.content.append(is(i, s, e.getClearCommand)), he(i) ? r.content.append(ys({
2312
2327
  fields: i.panel.fields,
2313
2328
  values: n,
2314
2329
  onSubmit: a
2315
2330
  })) : i.panel.fields.forEach((C) => {
2316
- r.content.append(ns({
2331
+ r.content.append(rs({
2317
2332
  field: C,
2318
2333
  values: n,
2319
2334
  onSubmit: a
2320
2335
  }));
2321
- }), !he(i) && Mt(i.panel.fields) && r.content.append(ws(n, a)), r.open(i.anchorRect), !he(i) && Mt(i.panel.fields) && as(r.content);
2336
+ }), !he(i) && Mt(i.panel.fields) && r.content.append(Cs(n, a)), r.open(i.anchorRect), !he(i) && Mt(i.panel.fields) && ss(r.content);
2322
2337
  };
2323
2338
  return {
2324
2339
  open: (i) => {
@@ -2326,7 +2341,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2326
2341
  o();
2327
2342
  const m = {
2328
2343
  ...i,
2329
- id: vs(),
2344
+ id: ws(),
2330
2345
  readonly: e.isReadonly(),
2331
2346
  submit: a,
2332
2347
  cancel: o
@@ -2344,37 +2359,37 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2344
2359
  o(), r.destroy();
2345
2360
  }
2346
2361
  };
2347
- }, ie = "bridgerte__table-controls-button", _s = [
2362
+ }, ie = "bridgerte__table-controls-button", ks = [
2348
2363
  "table-insert-row-after",
2349
2364
  "table-delete-row",
2350
2365
  "table-insert-column-after",
2351
2366
  "table-delete-column",
2352
2367
  "table-delete"
2353
- ], ks = () => {
2368
+ ], Es = () => {
2354
2369
  const e = new Map(Ce.map((t) => [t.id, t]));
2355
- return _s.map((t) => qr.find((n) => n.id === t) ?? e.get(t)).filter((t) => t !== void 0);
2356
- }, bn = ks(), xs = new Map(
2370
+ return ks.map((t) => qr.find((n) => n.id === t) ?? e.get(t)).filter((t) => t !== void 0);
2371
+ }, bn = Es(), xs = new Map(
2357
2372
  /*
2358
2373
  * Controls 按钮用 MenuItem.id 查完整 command,同类命令的不同 payload 不能用 command.type 合并。
2359
2374
  * 后续加入插入前/后、合并/拆分等表格菜单时,只要 id 稳定,就不会互相覆盖。
2360
2375
  */
2361
2376
  bn.map((e) => [e.id, e])
2362
- ), Es = (e) => e.matches(".bridgerte__table") ? e : e.querySelector(".bridgerte__table") ?? e, Ms = (e, t) => e.classList.contains("bridgerte__table-wrapper") ? e : t.parentElement instanceof HTMLElement ? t.parentElement : t, Ts = (e) => e.querySelector(".bridgerte__content") ?? e, Nt = (e) => e instanceof Element ? e.closest(".bridgerte__table-wrapper") : null, Ls = (e) => {
2377
+ ), Ms = (e) => e.matches(".bridgerte__table") ? e : e.querySelector(".bridgerte__table") ?? e, Ts = (e, t) => e.classList.contains("bridgerte__table-wrapper") ? e : t.parentElement instanceof HTMLElement ? t.parentElement : t, Ls = (e) => e.querySelector(".bridgerte__content") ?? e, Nt = (e) => e instanceof Element ? e.closest(".bridgerte__table-wrapper") : null, Ss = (e) => {
2363
2378
  const t = e.getFirstChild();
2364
2379
  if (!Tr(t)) return null;
2365
2380
  const n = t.getFirstChild();
2366
2381
  return Lr(n) ? n : null;
2367
- }, Ss = (e) => {
2382
+ }, Ns = (e) => {
2368
2383
  const t = document.createElement("button");
2369
2384
  return t.type = "button", t.className = ie, t.textContent = e.label, t.dataset.menuItemId = e.id, t.setAttribute("aria-label", e.label), t;
2370
- }, Ns = () => {
2385
+ }, Ps = () => {
2371
2386
  const e = document.createElement("div");
2372
2387
  return e.className = "bridgerte__table-controls", e.contentEditable = "false", e.setAttribute("aria-label", "表格操作"), bn.forEach((t) => {
2373
- e.append(Ss(t));
2388
+ e.append(Ns(t));
2374
2389
  }), e;
2375
- }, Ps = (e) => {
2376
- const t = document.createElement("div"), n = Ts(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2377
- let s = null, l = null, d = !1, i = null;
2390
+ }, Is = (e) => {
2391
+ const t = document.createElement("div"), n = Ls(e.root), r = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
2392
+ let s = null, l = null, c = !1, i = null;
2378
2393
  const m = (y, w) => {
2379
2394
  const S = e.root.getBoundingClientRect(), R = w.getBoundingClientRect(), H = R.bottom < S.top || R.top > S.bottom, O = Math.max(
2380
2395
  8,
@@ -2382,8 +2397,8 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2382
2397
  ), N = Math.min(
2383
2398
  Math.max(R.left - S.left + 8, 8),
2384
2399
  O
2385
- ), E = Math.max(8, R.top - S.top - y.offsetHeight - 8);
2386
- y.hidden = H, y.style.transform = `translate(${N}px, ${E}px)`;
2400
+ ), x = Math.max(8, R.top - S.top - y.offsetHeight - 8);
2401
+ y.hidden = H, y.style.transform = `translate(${N}px, ${x}px)`;
2387
2402
  }, C = (y) => i === y, _ = (y) => {
2388
2403
  const w = e.editor.getElementByKey(y);
2389
2404
  if (!w) {
@@ -2391,7 +2406,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2391
2406
  return;
2392
2407
  }
2393
2408
  w.dataset.lexicalKey = y;
2394
- const S = Es(w), R = Ms(w, S);
2409
+ const S = Ms(w), R = Ts(w, S);
2395
2410
  a.set(R, y);
2396
2411
  const H = r.get(y);
2397
2412
  if (!C(y)) {
@@ -2402,7 +2417,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2402
2417
  m(H, R);
2403
2418
  return;
2404
2419
  }
2405
- const O = Ns(), N = z(O, {
2420
+ const O = Ps(), N = z(O, {
2406
2421
  targetSelector: `.${ie}`
2407
2422
  });
2408
2423
  O.dataset.lexicalKey = y, r.set(y, O), o.set(O, N), t.append(O), m(O, R);
@@ -2425,7 +2440,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2425
2440
  e.editor.update(() => {
2426
2441
  var S;
2427
2442
  const w = ce(y);
2428
- w instanceof Re && ((S = Ls(w)) == null || S.selectStart());
2443
+ w instanceof Re && ((S = Ss(w)) == null || S.selectStart());
2429
2444
  }), e.editor.focus();
2430
2445
  }, g = (y, w) => {
2431
2446
  T(y), e.executeCommand(w);
@@ -2442,7 +2457,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2442
2457
  if (!w || i === w) return;
2443
2458
  const S = i;
2444
2459
  i = w, S !== null && _(S), _(w);
2445
- }, x = (y) => {
2460
+ }, E = (y) => {
2446
2461
  L(Nt(y.target));
2447
2462
  }, P = (y) => {
2448
2463
  L(Nt(y.target));
@@ -2454,19 +2469,19 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2454
2469
  }, k = (y) => {
2455
2470
  if (y.pointerType === "mouse" || !l) return;
2456
2471
  const w = y.target, S = w instanceof HTMLElement ? w.closest(".bridgerte__table-controls") : null, R = w instanceof HTMLElement ? w.closest(`.${ie}`) : null;
2457
- R === l && S && (y.preventDefault(), y.stopPropagation(), v(R, S), d = !0), l = null;
2472
+ R === l && S && (y.preventDefault(), y.stopPropagation(), v(R, S), c = !0), l = null;
2458
2473
  }, h = () => {
2459
2474
  l = null;
2460
2475
  }, u = (y) => {
2461
- if (d) {
2462
- d = !1, y.preventDefault(), y.stopPropagation();
2476
+ if (c) {
2477
+ c = !1, y.preventDefault(), y.stopPropagation();
2463
2478
  return;
2464
2479
  }
2465
2480
  const w = y.target;
2466
2481
  if (!(w instanceof HTMLElement)) return;
2467
2482
  const S = w.closest(`.${ie}`), R = w.closest(".bridgerte__table-controls");
2468
2483
  !S || !R || (y.preventDefault(), y.stopPropagation(), v(S, R));
2469
- }, c = e.editor.registerMutationListener(
2484
+ }, d = e.editor.registerMutationListener(
2470
2485
  Re,
2471
2486
  (y) => {
2472
2487
  y.forEach((w, S) => {
@@ -2478,34 +2493,34 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2478
2493
  });
2479
2494
  }
2480
2495
  ), f = e.editor.registerUpdateListener(b);
2481
- return t.className = "bridgerte__table-controls-layer", e.root.append(t), t.addEventListener("pointerdown", I), t.addEventListener("pointerup", k), t.addEventListener("pointercancel", h), t.addEventListener("click", u), n.addEventListener("pointerdown", x), n.addEventListener("focusin", P), n.addEventListener("scroll", b, { passive: !0 }), window.addEventListener("resize", b), {
2496
+ return t.className = "bridgerte__table-controls-layer", e.root.append(t), t.addEventListener("pointerdown", I), t.addEventListener("pointerup", k), t.addEventListener("pointercancel", h), t.addEventListener("click", u), n.addEventListener("pointerdown", E), n.addEventListener("focusin", P), n.addEventListener("scroll", b, { passive: !0 }), window.addEventListener("resize", b), {
2482
2497
  destroy() {
2483
- c(), f(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", I), t.removeEventListener("pointerup", k), t.removeEventListener("pointercancel", h), t.removeEventListener("click", u), n.removeEventListener("pointerdown", x), n.removeEventListener("focusin", P), n.removeEventListener("scroll", b), window.removeEventListener("resize", b), r.forEach((y) => {
2498
+ d(), f(), s !== null && (Ke(s), s = null), t.removeEventListener("pointerdown", I), t.removeEventListener("pointerup", k), t.removeEventListener("pointercancel", h), t.removeEventListener("click", u), n.removeEventListener("pointerdown", E), n.removeEventListener("focusin", P), n.removeEventListener("scroll", b), window.removeEventListener("resize", b), r.forEach((y) => {
2484
2499
  var w;
2485
2500
  (w = o.get(y)) == null || w(), y.remove();
2486
2501
  }), r.clear(), o.clear(), a.clear(), t.remove();
2487
2502
  }
2488
2503
  };
2489
- }, Is = (e) => {
2490
- const t = Cs({
2504
+ }, Rs = (e) => {
2505
+ const t = _s({
2491
2506
  editorRoot: e.editorRoot,
2492
2507
  isReadonly: e.isReadonly,
2493
2508
  restoreEditorFocus: e.restoreEditorFocus,
2494
2509
  executeCommand: e.executeCommand,
2495
2510
  getClearCommand: e.getClearCommand,
2496
2511
  onRequest: e.onRequest
2497
- }), n = Ma({
2512
+ }), n = Ta({
2498
2513
  editor: e.lexicalEditor,
2499
2514
  root: e.editorRoot,
2500
2515
  isReadonly: e.isReadonly,
2501
2516
  languagePanel: e.codeBlockLanguagePanel,
2502
2517
  payloadPanelConfig: e.payloadPanelConfig,
2503
2518
  onRequest: e.onRequest
2504
- }), r = Ps({
2519
+ }), r = Is({
2505
2520
  editor: e.lexicalEditor,
2506
2521
  root: e.editorRoot,
2507
2522
  executeCommand: e.executeCommand
2508
- }), o = Va({
2523
+ }), o = Ua({
2509
2524
  editor: e.lexicalEditor,
2510
2525
  root: e.editorRoot,
2511
2526
  defaultWidthPercent: e.defaultMediaWidthPercent,
@@ -2522,14 +2537,14 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2522
2537
  t.destroy(), n.destroy(), r.destroy(), o.destroy();
2523
2538
  }
2524
2539
  };
2525
- }, Rs = (e, t) => {
2540
+ }, As = (e, t) => {
2526
2541
  const n = document.createElement("div"), r = document.createElement("div"), o = document.createElement("div");
2527
- return e.classList.add("bridgerte"), e.textContent = "", n.className = "bridgerte__editor", 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), {
2542
+ 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), {
2528
2543
  rootElement: n,
2529
- editorElement: r,
2544
+ bodyElement: r,
2530
2545
  contentElement: o
2531
2546
  };
2532
- }, As = ({
2547
+ }, Bs = ({
2533
2548
  editor: e
2534
2549
  }) => {
2535
2550
  let t = null;
@@ -2549,16 +2564,16 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2549
2564
  t = null;
2550
2565
  }
2551
2566
  };
2552
- }, Bs = /((https?:\/\/|www\.)[^\s<>()]+[^\s<>().,;:!?])/i, Ds = /([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})/i, Os = {
2567
+ }, Ds = /((https?:\/\/|www\.)[^\s<>()]+[^\s<>().,;:!?])/i, Os = /([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})/i, Hs = {
2553
2568
  changeHandlers: [],
2554
2569
  excludeParents: [],
2555
2570
  matchers: [
2556
- nt(Bs, (e) => e.startsWith("http://") || e.startsWith("https://") ? e : `https://${e}`),
2557
- nt(Ds, (e) => `mailto:${e}`)
2571
+ nt(Ds, (e) => e.startsWith("http://") || e.startsWith("https://") ? e : `https://${e}`),
2572
+ nt(Os, (e) => `mailto:${e}`)
2558
2573
  ]
2559
- }, Hs = ({
2574
+ }, $s = ({
2560
2575
  editor: e
2561
- }) => Br(e, Os), $s = [
2576
+ }) => Br(e, Hs), Fs = [
2562
2577
  ".bridgerte__code-header",
2563
2578
  ".bridgerte__code-block-control",
2564
2579
  ".bridgerte__code-block-controls-layer",
@@ -2570,32 +2585,32 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2570
2585
  ".bridgerte__dialog-backdrop",
2571
2586
  ".bridgerte__dialog",
2572
2587
  ".bridgerte__payload-panel"
2573
- ].join(","), Fs = (e, t) => {
2588
+ ].join(","), zs = (e, t) => {
2574
2589
  const n = e.anchorNode, r = e.focusNode;
2575
2590
  return n !== null && r !== null && t.contains(n) && t.contains(r);
2576
- }, zs = (e) => {
2577
- e.querySelectorAll($s).forEach((t) => {
2591
+ }, Ws = (e) => {
2592
+ e.querySelectorAll(Fs).forEach((t) => {
2578
2593
  t.remove();
2579
2594
  }), e.querySelectorAll('[contenteditable="false"]').forEach((t) => {
2580
2595
  t.classList.contains("bridgerte__media") || t.remove();
2581
2596
  });
2582
- }, Ws = (e) => {
2597
+ }, Vs = (e) => {
2583
2598
  const t = e.ownerDocument.getSelection();
2584
- if (!t || t.rangeCount === 0 || !Fs(t, e))
2599
+ if (!t || t.rangeCount === 0 || !zs(t, e))
2585
2600
  return null;
2586
2601
  const n = t.getRangeAt(0).cloneContents();
2587
- zs(n);
2602
+ Ws(n);
2588
2603
  const r = e.ownerDocument.createElement("div");
2589
2604
  return r.append(n), {
2590
2605
  html: r.innerHTML,
2591
2606
  text: r.textContent ?? ""
2592
2607
  };
2593
- }, Vs = ({
2608
+ }, Us = ({
2594
2609
  target: e,
2595
2610
  isReadonly: t
2596
2611
  }) => {
2597
2612
  const n = (o) => {
2598
- const a = Ws(e);
2613
+ const a = Vs(e);
2599
2614
  !a || !o.clipboardData || (o.clipboardData.setData("text/html", a.html), o.clipboardData.setData("text/plain", a.text), o.preventDefault(), o.stopImmediatePropagation());
2600
2615
  }, r = (o) => {
2601
2616
  if (t()) {
@@ -2607,7 +2622,7 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2607
2622
  return e.addEventListener("copy", n, { capture: !0 }), e.addEventListener("cut", r, { capture: !0 }), () => {
2608
2623
  e.removeEventListener("copy", n, { capture: !0 }), e.removeEventListener("cut", r, { capture: !0 });
2609
2624
  };
2610
- }, fe = 8, Us = () => {
2625
+ }, fe = 8, js = () => {
2611
2626
  const e = window.visualViewport;
2612
2627
  return {
2613
2628
  left: (e == null ? void 0 : e.offsetLeft) ?? 0,
@@ -2618,12 +2633,12 @@ const vs = () => (St += 1, `${ys}-${St}`), he = (e) => e.panel.id === "table-ins
2618
2633
  }, Pt = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n));
2619
2634
  function yn(e, t, n = {}) {
2620
2635
  const r = n.placement ?? "bottom-start", o = n.offset ?? 8, a = n.shiftPadding ?? 8, s = n.strategy ?? "absolute";
2621
- let l = null, d = !1;
2636
+ let l = null, c = !1;
2622
2637
  const i = () => {
2623
2638
  t.style.position = s, t.style.left = "0px", t.style.top = "0px", t.style.opacity = "0", t.style.pointerEvents = "none";
2624
2639
  }, m = (p, b) => {
2625
- const T = Us(), g = t.getBoundingClientRect(), v = T.left + fe, L = T.top + fe, x = T.left + T.width - g.width - fe, P = T.top + T.height - g.height - fe;
2626
- t.style.left = `${Pt(p, v, x)}px`, t.style.top = `${Pt(b, L, P)}px`, t.style.opacity = "", t.style.pointerEvents = "";
2640
+ const T = js(), g = t.getBoundingClientRect(), v = T.left + fe, L = T.top + fe, E = T.left + T.width - g.width - fe, P = T.top + T.height - g.height - fe;
2641
+ t.style.left = `${Pt(p, v, E)}px`, t.style.top = `${Pt(b, L, P)}px`, t.style.opacity = "", t.style.pointerEvents = "";
2627
2642
  }, C = async () => {
2628
2643
  const p = await Gr(e, t, {
2629
2644
  placement: r,
@@ -2639,8 +2654,8 @@ function yn(e, t, n = {}) {
2639
2654
  }, _ = () => {
2640
2655
  l == null || l(), l = null;
2641
2656
  }, M = (p) => {
2642
- if (d !== p) {
2643
- if (d = p, _(), d) {
2657
+ if (c !== p) {
2658
+ if (c = p, _(), c) {
2644
2659
  i(), t.hidden = !1, l = Kr(e, t, C), C();
2645
2660
  return;
2646
2661
  }
@@ -2748,7 +2763,7 @@ const vn = {
2748
2763
  "upload-video": '<svg aria-hidden="true" class="lucide lucide-video" 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 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5" /> <rect x="2" y="6" width="14" height="12" rx="2" /> </svg>',
2749
2764
  // 行高菜单使用,表示 format.lineHeight。
2750
2765
  "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>'
2751
- }, js = (e) => {
2766
+ }, qs = (e) => {
2752
2767
  const t = document.createElement("span");
2753
2768
  return t.className = "bridgerte__menu-icon-text", t.textContent = e, t;
2754
2769
  }, wn = (e, t, n) => {
@@ -2756,11 +2771,11 @@ const vn = {
2756
2771
  e.innerHTML = t;
2757
2772
  return;
2758
2773
  }
2759
- e.append(js(n));
2774
+ e.append(qs(n));
2760
2775
  }, He = () => {
2761
2776
  const e = window.getSelection(), t = e != null && e.rangeCount ? e.getRangeAt(0) : null, n = t == null ? void 0 : t.getBoundingClientRect();
2762
2777
  return !n || n.width === 0 && n.height === 0 ? null : n;
2763
- }, qs = 160, Ks = {
2778
+ }, Ks = 160, Gs = {
2764
2779
  toolbarKeys: [
2765
2780
  "bold",
2766
2781
  "italic",
@@ -2775,16 +2790,16 @@ const vn = {
2775
2790
  "font-family",
2776
2791
  "line-height"
2777
2792
  ]
2778
- }, Gs = () => {
2793
+ }, Xs = () => {
2779
2794
  const e = A();
2780
2795
  return D(e) && !e.isCollapsed();
2781
- }, It = (e, t) => e.target instanceof Node && t.contains(e.target), Rt = (e) => e instanceof Element ? e.closest(".bridgerte__hoverbar-button") : null, Xs = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Js = (e) => {
2796
+ }, It = (e, t) => e.target instanceof Node && t.contains(e.target), Rt = (e) => e instanceof Element ? e.closest(".bridgerte__hoverbar-button") : null, Js = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), Ys = (e) => {
2782
2797
  const t = document.createElement("span");
2783
2798
  return t.className = "bridgerte__hoverbar-separator", t.dataset.separatorId = e.key, t.setAttribute("aria-hidden", "true"), t;
2784
- }, Ys = (e, t, n) => {
2785
- const r = La(e, t), o = document.createElement("button");
2799
+ }, Qs = (e, t, n) => {
2800
+ const r = Sa(e, t), o = document.createElement("button");
2786
2801
  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)), wn(o, n[e.icon] ?? vn[e.icon], e.label), o;
2787
- }, Qs = ({
2802
+ }, Zs = ({
2788
2803
  editorRoot: e,
2789
2804
  contentElement: t,
2790
2805
  editor: n,
@@ -2793,7 +2808,7 @@ const vn = {
2793
2808
  requestPayloadPanel: a,
2794
2809
  getCommandStates: s,
2795
2810
  menuSchema: l,
2796
- hoverbarConfig: d,
2811
+ hoverbarConfig: c,
2797
2812
  menuLabels: i,
2798
2813
  payloadPanelConfig: m,
2799
2814
  icons: C = {}
@@ -2801,9 +2816,9 @@ const vn = {
2801
2816
  const _ = Ge(l ?? Ce, {
2802
2817
  menuLabels: i,
2803
2818
  payloadPanelConfig: m
2804
- }), M = Ve(d ?? Ks, _), p = Xs(M), b = document.createElement("span"), T = document.createElement("div");
2819
+ }), M = Ve(c ?? Gs, _), p = Js(M), b = document.createElement("span"), T = document.createElement("div");
2805
2820
  let g = null, v = !1, L = null;
2806
- const x = z(T, {
2821
+ const E = z(T, {
2807
2822
  targetSelector: ".bridgerte__hoverbar-button"
2808
2823
  });
2809
2824
  b.className = "bridgerte__hoverbar-anchor", b.setAttribute("aria-hidden", "true"), T.className = "bridgerte__floating-menu bridgerte__hoverbar", T.setAttribute("role", "toolbar"), T.setAttribute("aria-label", "BridgeRTE hoverbar"), e.append(b, T), g = yn(b, T, {
@@ -2816,12 +2831,12 @@ const vn = {
2816
2831
  }, I = () => {
2817
2832
  P(), v = !1, T.replaceChildren(), T.dataset.visible = "false", g == null || g.setOpen(!1);
2818
2833
  }, k = () => {
2819
- const N = He(), E = t.getBoundingClientRect();
2820
- b.style.left = `${(N == null ? void 0 : N.left) ?? E.left}px`, b.style.top = `${(N == null ? void 0 : N.top) ?? E.top}px`, b.style.width = `${(N == null ? void 0 : N.width) || 1}px`, b.style.height = `${(N == null ? void 0 : N.height) || 1}px`;
2834
+ const N = He(), x = t.getBoundingClientRect();
2835
+ b.style.left = `${(N == null ? void 0 : N.left) ?? x.left}px`, b.style.top = `${(N == null ? void 0 : N.top) ?? x.top}px`, b.style.width = `${(N == null ? void 0 : N.width) || 1}px`, b.style.height = `${(N == null ? void 0 : N.height) || 1}px`;
2821
2836
  }, h = () => {
2822
2837
  const N = s();
2823
- T.replaceChildren(...M.flatMap((E) => E.type === "separator" ? [Js(E)] : (E.type === "button" ? [E.item] : E.items).map((F) => Ys(F, N, C)))), k(), v = !0, T.dataset.visible = "true", g == null || g.setOpen(!0), g == null || g.update();
2824
- }, u = () => r() ? !1 : n.getEditorState().read(Gs), c = (N = !1) => {
2838
+ T.replaceChildren(...M.flatMap((x) => x.type === "separator" ? [Ys(x)] : (x.type === "button" ? [x.item] : x.items).map((F) => Qs(F, N, C)))), k(), v = !0, T.dataset.visible = "true", g == null || g.setOpen(!0), g == null || g.update();
2839
+ }, u = () => r() ? !1 : n.getEditorState().read(Xs), d = (N = !1) => {
2825
2840
  if (P(), !u()) {
2826
2841
  I();
2827
2842
  return;
@@ -2832,61 +2847,61 @@ const vn = {
2832
2847
  }
2833
2848
  v && I(), L = window.setTimeout(() => {
2834
2849
  L = null, u() && h();
2835
- }, qs);
2850
+ }, Ks);
2836
2851
  }, f = (N) => {
2837
- const E = p.find((B) => B.id === N.dataset.hoverbarItemId);
2838
- if (!(!E || N.disabled)) {
2839
- if (E.payloadPanel) {
2852
+ const x = p.find((B) => B.id === N.dataset.hoverbarItemId);
2853
+ if (!(!x || N.disabled)) {
2854
+ if (x.payloadPanel) {
2840
2855
  const B = N.getBoundingClientRect();
2841
2856
  a({
2842
- menuId: E.id,
2843
- command: E.command,
2844
- panel: E.payloadPanel,
2845
- currentValues: Ta(E, s()),
2857
+ menuId: x.id,
2858
+ command: x.command,
2859
+ panel: x.payloadPanel,
2860
+ currentValues: La(x, s()),
2846
2861
  anchorRect: {
2847
2862
  x: B.left,
2848
2863
  y: B.top,
2849
2864
  width: B.width,
2850
2865
  height: B.height
2851
2866
  }
2852
- }), c(!0);
2867
+ }), d(!0);
2853
2868
  return;
2854
2869
  }
2855
- o(E.command), c(!0);
2870
+ o(x.command), d(!0);
2856
2871
  }
2857
2872
  }, y = (N) => {
2858
2873
  Rt(N.target) && N.preventDefault();
2859
2874
  }, w = (N) => {
2860
- const E = Rt(N.target);
2861
- E && (N.preventDefault(), f(E));
2875
+ const x = Rt(N.target);
2876
+ x && (N.preventDefault(), f(x));
2862
2877
  }, S = (N) => {
2863
2878
  !v || It(N, T) || It(N, t) || I();
2864
2879
  }, R = n.registerCommand(
2865
2880
  jt,
2866
- () => (c(), !1),
2881
+ () => (d(), !1),
2867
2882
  U
2868
2883
  ), H = n.registerUpdateListener(() => {
2869
- c();
2884
+ d();
2870
2885
  }), O = n.registerCommand(
2871
2886
  qt,
2872
2887
  (N) => v ? (N == null || N.preventDefault(), I(), !0) : !1,
2873
2888
  U
2874
2889
  );
2875
2890
  return T.addEventListener("pointerdown", y), T.addEventListener("click", w), document.addEventListener("pointerdown", S, !0), () => {
2876
- P(), R(), H(), O(), T.removeEventListener("pointerdown", y), T.removeEventListener("click", w), document.removeEventListener("pointerdown", S, !0), x(), g == null || g.destroy(), b.remove(), T.remove();
2891
+ P(), R(), H(), O(), T.removeEventListener("pointerdown", y), T.removeEventListener("click", w), document.removeEventListener("pointerdown", S, !0), E(), g == null || g.destroy(), b.remove(), T.remove();
2877
2892
  };
2878
- }, Zs = (e) => e.metaKey || e.ctrlKey, ei = {
2893
+ }, ei = (e) => e.metaKey || e.ctrlKey, ti = {
2879
2894
  b: { type: "format.bold" },
2880
2895
  i: { type: "format.italic" },
2881
2896
  u: { type: "format.underline" },
2882
2897
  "\\": { type: "format.clear" }
2883
- }, ti = {
2898
+ }, ni = {
2884
2899
  x: { type: "format.strike" },
2885
2900
  l: { type: "align", value: "left" },
2886
2901
  e: { type: "align", value: "center" },
2887
2902
  r: { type: "align", value: "right" },
2888
2903
  j: { type: "align", value: "justify" }
2889
- }, ni = {
2904
+ }, ri = {
2890
2905
  0: { type: "block.paragraph" },
2891
2906
  1: { type: "block.heading", level: 1 },
2892
2907
  2: { type: "block.heading", level: 2 },
@@ -2894,30 +2909,30 @@ const vn = {
2894
2909
  4: { type: "block.heading", level: 4 },
2895
2910
  5: { type: "block.heading", level: 5 },
2896
2911
  6: { type: "block.heading", level: 6 }
2897
- }, ri = (e) => {
2912
+ }, oi = (e) => {
2898
2913
  const t = e.key.toLowerCase(), n = e.code;
2899
- if (!e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey || !Zs(e)) return null;
2914
+ if (!e.metaKey && !e.ctrlKey && !e.altKey && !e.shiftKey || !ei(e)) return null;
2900
2915
  if (e.altKey) {
2901
2916
  if (e.shiftKey) return null;
2902
2917
  if (t === "c" || n === "KeyC") return { type: "block.code" };
2903
2918
  const r = n.startsWith("Digit") ? n.slice(5) : t;
2904
- return ni[r] ?? null;
2919
+ return ri[r] ?? null;
2905
2920
  }
2906
- 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" } : ti[t] ?? null : t === "z" ? { type: "history.undo" } : t === "y" && e.ctrlKey && !e.metaKey ? { type: "history.redo" } : t === "`" || t === "~" || n === "Backquote" ? { type: "format.inlineCode" } : ei[t] ?? null;
2907
- }, oi = ({
2921
+ 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" } : ni[t] ?? null : t === "z" ? { type: "history.undo" } : t === "y" && e.ctrlKey && !e.metaKey ? { type: "history.redo" } : t === "`" || t === "~" || n === "Backquote" ? { type: "format.inlineCode" } : ti[t] ?? null;
2922
+ }, ai = ({
2908
2923
  target: e,
2909
2924
  isReadonly: t,
2910
2925
  executeCommand: n
2911
2926
  }) => {
2912
2927
  const r = (o) => {
2913
2928
  if (t()) return;
2914
- const a = ri(o);
2929
+ const a = oi(o);
2915
2930
  a && (o.preventDefault(), n(a));
2916
2931
  };
2917
2932
  return e.addEventListener("keydown", r), () => {
2918
2933
  e.removeEventListener("keydown", r);
2919
2934
  };
2920
- }, ai = (e, t) => {
2935
+ }, si = (e, t) => {
2921
2936
  const n = t.offsetTop, r = n + t.offsetHeight, o = e.scrollTop, a = o + e.clientHeight;
2922
2937
  if (n < o) {
2923
2938
  e.scrollTop = n;
@@ -2941,7 +2956,7 @@ const vn = {
2941
2956
  anchor: a,
2942
2957
  itemSelector: s,
2943
2958
  getCurrentTrigger: l,
2944
- getTriggerRect: d,
2959
+ getTriggerRect: c,
2945
2960
  resolveItems: i,
2946
2961
  renderItem: m,
2947
2962
  renderStatus: C,
@@ -2958,50 +2973,50 @@ const vn = {
2958
2973
  });
2959
2974
  e.append(a, o);
2960
2975
  const v = () => {
2961
- const E = p ? d(p.trigger) ?? He() : He(), B = t.getBoundingClientRect();
2962
- return E ?? B;
2976
+ const x = p ? c(p.trigger) ?? He() : He(), B = t.getBoundingClientRect();
2977
+ return x ?? B;
2963
2978
  }, L = () => {
2964
- const E = v();
2965
- a.style.left = `${E.left}px`, a.style.top = `${E.top}px`, a.style.height = `${E.height || 1}px`;
2966
- }, x = (E = !0) => {
2967
- p = null, o.dataset.visible = "false", E && o.replaceChildren(), g.setOpen(!1);
2979
+ const x = v();
2980
+ a.style.left = `${x.left}px`, a.style.top = `${x.top}px`, a.style.height = `${x.height || 1}px`;
2981
+ }, E = (x = !0) => {
2982
+ p = null, o.dataset.visible = "false", x && o.replaceChildren(), g.setOpen(!1);
2968
2983
  }, P = () => {
2969
- const E = o.querySelector(`${s}[data-active="true"]`);
2970
- E && ai(o, E);
2971
- }, I = (E, B) => {
2972
- !p || p.requestId !== B.requestId || (x(), M(E, B.trigger));
2984
+ const x = o.querySelector(`${s}[data-active="true"]`);
2985
+ x && si(o, x);
2986
+ }, I = (x, B) => {
2987
+ !p || p.requestId !== B.requestId || (E(), M(x, B.trigger));
2973
2988
  }, k = () => {
2974
2989
  if (!p) {
2975
- x();
2990
+ E();
2976
2991
  return;
2977
2992
  }
2978
- const E = p, B = v();
2979
- if ((_ == null ? void 0 : _(E, {
2993
+ const x = p, B = v();
2994
+ if ((_ == null ? void 0 : _(x, {
2980
2995
  anchorRect: B,
2981
- close: x,
2982
- selectItem: (Z) => I(Z, E)
2996
+ close: E,
2997
+ selectItem: (Z) => I(Z, x)
2983
2998
  })) === !0) {
2984
2999
  o.replaceChildren(), o.dataset.visible = "false", g.setOpen(!1);
2985
3000
  return;
2986
3001
  }
2987
- if (E.status === "success")
3002
+ if (x.status === "success")
2988
3003
  o.replaceChildren(
2989
- ...E.items.map((Z, et) => m(Z, et, et === E.activeIndex))
3004
+ ...x.items.map((Z, et) => m(Z, et, et === x.activeIndex))
2990
3005
  );
2991
3006
  else {
2992
3007
  const Z = C == null ? void 0 : C(
2993
- E.status,
2994
- E.trigger.query,
2995
- E.error
3008
+ x.status,
3009
+ x.trigger.query,
3010
+ x.error
2996
3011
  );
2997
3012
  o.replaceChildren(...Z ? [Z] : []);
2998
3013
  }
2999
3014
  const G = o.children.length > 0;
3000
3015
  o.dataset.visible = String(G), L(), g.setOpen(G), P(), g.update();
3001
- }, h = async (E, B) => {
3016
+ }, h = async (x, B) => {
3002
3017
  let F;
3003
3018
  try {
3004
- F = await Promise.resolve(i(E));
3019
+ F = await Promise.resolve(i(x));
3005
3020
  } catch (G) {
3006
3021
  (p == null ? void 0 : p.requestId) === B && (p = {
3007
3022
  ...p,
@@ -3021,61 +3036,61 @@ const vn = {
3021
3036
  }, k());
3022
3037
  }, u = () => {
3023
3038
  if (r()) {
3024
- x();
3039
+ E();
3025
3040
  return;
3026
3041
  }
3027
- const E = n.getEditorState().read(l);
3028
- if (!E) {
3029
- x(!1);
3042
+ const x = n.getEditorState().read(l);
3043
+ if (!x) {
3044
+ E(!1);
3030
3045
  return;
3031
3046
  }
3032
3047
  b += 1, p = {
3033
- trigger: E,
3048
+ trigger: x,
3034
3049
  items: [],
3035
3050
  activeIndex: 0,
3036
3051
  requestId: b,
3037
3052
  status: "loading",
3038
3053
  error: void 0
3039
- }, k(), h(E.query, b);
3040
- }, c = () => {
3054
+ }, k(), h(x.query, b);
3055
+ }, d = () => {
3041
3056
  if (!p || p.status !== "success") return !1;
3042
- const E = p.items[p.activeIndex], B = p.trigger;
3043
- return E ? (x(), M(E, B), !0) : !1;
3044
- }, f = (E) => !p || p.status !== "success" || p.items.length === 0 ? !1 : (p = {
3057
+ const x = p.items[p.activeIndex], B = p.trigger;
3058
+ return x ? (E(), M(x, B), !0) : !1;
3059
+ }, f = (x) => !p || p.status !== "success" || p.items.length === 0 ? !1 : (p = {
3045
3060
  ...p,
3046
- activeIndex: (p.activeIndex + E + p.items.length) % p.items.length
3047
- }, k(), !0), y = (E) => {
3048
- const B = E.target, F = B instanceof HTMLElement ? B.closest(s) : null, G = F != null && F.dataset.index ? Number.parseInt(F.dataset.index, 10) : Number.NaN;
3049
- !p || p.status !== "success" || Number.isNaN(G) || (p = { ...p, activeIndex: G }, E.preventDefault(), c());
3050
- }, w = (E) => {
3051
- const B = E.target;
3052
- B instanceof HTMLElement && B.closest(s) && E.preventDefault();
3061
+ activeIndex: (p.activeIndex + x + p.items.length) % p.items.length
3062
+ }, k(), !0), y = (x) => {
3063
+ const B = x.target, F = B instanceof HTMLElement ? B.closest(s) : null, G = F != null && F.dataset.index ? Number.parseInt(F.dataset.index, 10) : Number.NaN;
3064
+ !p || p.status !== "success" || Number.isNaN(G) || (p = { ...p, activeIndex: G }, x.preventDefault(), d());
3065
+ }, w = (x) => {
3066
+ const B = x.target;
3067
+ B instanceof HTMLElement && B.closest(s) && x.preventDefault();
3053
3068
  }, S = n.registerUpdateListener(() => {
3054
3069
  u();
3055
3070
  }), R = n.registerCommand(
3056
3071
  Vn,
3057
- (E) => f(1) ? (E == null || E.preventDefault(), !0) : !1,
3072
+ (x) => f(1) ? (x == null || x.preventDefault(), !0) : !1,
3058
3073
  U
3059
3074
  ), H = n.registerCommand(
3060
3075
  Un,
3061
- (E) => f(-1) ? (E == null || E.preventDefault(), !0) : !1,
3076
+ (x) => f(-1) ? (x == null || x.preventDefault(), !0) : !1,
3062
3077
  U
3063
3078
  ), O = n.registerCommand(
3064
3079
  jn,
3065
- (E) => c() ? (E == null || E.preventDefault(), !0) : !1,
3080
+ (x) => d() ? (x == null || x.preventDefault(), !0) : !1,
3066
3081
  U
3067
3082
  ), N = n.registerCommand(
3068
3083
  qt,
3069
- (E) => p ? (E == null || E.preventDefault(), x(), !0) : !1,
3084
+ (x) => p ? (x == null || x.preventDefault(), E(), !0) : !1,
3070
3085
  U
3071
3086
  );
3072
3087
  return o.addEventListener("click", y), o.addEventListener("pointerdown", w), {
3073
- close: x,
3088
+ close: E,
3074
3089
  destroy() {
3075
3090
  S(), R(), H(), O(), N(), o.removeEventListener("click", y), o.removeEventListener("pointerdown", w), T(), g.destroy(), a.remove(), o.remove();
3076
3091
  }
3077
3092
  };
3078
- }, si = {
3093
+ }, ii = {
3079
3094
  labelField: "label",
3080
3095
  descriptionField: "description",
3081
3096
  avatarField: "avatar",
@@ -3086,53 +3101,53 @@ const vn = {
3086
3101
  loadingText: "加载中",
3087
3102
  emptyText: "没有匹配的提及",
3088
3103
  errorText: "提及加载失败"
3089
- }, ii = (e) => ({
3090
- ...si,
3104
+ }, li = (e) => ({
3105
+ ...ii,
3091
3106
  ...e
3092
- }), li = (e, t) => {
3107
+ }), ci = (e, t) => {
3093
3108
  var o;
3094
3109
  const n = t.slice(5), r = (o = e.data) == null ? void 0 : o[n];
3095
3110
  return typeof r == "string" && r ? r : void 0;
3096
3111
  }, be = (e, t) => {
3097
- if (t.startsWith("data.")) return li(e, t);
3112
+ if (t.startsWith("data.")) return ci(e, t);
3098
3113
  const n = t === "id" ? e.id : t === "label" ? e.label : t === "value" ? e.value : t === "avatar" ? e.avatar : e.description;
3099
3114
  return typeof n == "string" && n ? n : void 0;
3100
- }, ci = (e) => e.startsWith("@") ? e : `@${e}`, _n = (e, t) => {
3115
+ }, di = (e) => e.startsWith("@") ? e : `@${e}`, _n = (e, t) => {
3101
3116
  const n = be(e, t.labelField) ?? e.label ?? e.value ?? e.id, r = t.showDescription ? be(e, t.descriptionField) ?? e.description : void 0, o = t.showAvatar ? be(e, t.avatarField) ?? e.avatar : void 0, a = t.showIcon && !o ? be(e, t.iconField) : void 0;
3102
3117
  return {
3103
3118
  item: e,
3104
- label: ci(n),
3119
+ label: di(n),
3105
3120
  ...r ? { description: r } : {},
3106
3121
  ...o ? { avatar: o } : {},
3107
3122
  ...a ? { icon: a } : {}
3108
3123
  };
3109
- }, di = (e, t) => e.map((n) => _n(n, t)), $e = (e) => e instanceof Q && e.getTextContent().startsWith(" "), ui = (e) => {
3124
+ }, ui = (e, t) => e.map((n) => _n(n, t)), $e = (e) => e instanceof Q && e.getTextContent().startsWith(" "), mi = (e) => {
3110
3125
  const n = e.getTextContent().slice(1);
3111
3126
  if (!n) {
3112
3127
  e.remove();
3113
3128
  return;
3114
3129
  }
3115
3130
  e.setTextContent(n);
3116
- }, mi = (e, t) => {
3131
+ }, gi = (e, t) => {
3117
3132
  const n = e.getPreviousSibling(), r = e.getNextSibling(), o = $e(r) ? r.getNextSibling() : r;
3118
- if ($e(r) && ui(r), e.remove(), t) {
3133
+ if ($e(r) && mi(r), e.remove(), t) {
3119
3134
  n == null || n.selectEnd();
3120
3135
  return;
3121
3136
  }
3122
3137
  o == null || o.selectStart();
3123
- }, gi = (e) => {
3138
+ }, pi = (e) => {
3124
3139
  const t = A();
3125
3140
  if (!D(t) || !t.isCollapsed()) return null;
3126
3141
  const n = t.anchor, r = n.getNode();
3127
3142
  if (mt(r)) return r;
3128
3143
  if (!(r instanceof Q)) return null;
3129
- const o = r.getTextContentSize(), a = r.getPreviousSibling(), s = r.getNextSibling(), l = $e(r) && n.offset === 1, d = e ? n.offset === 0 || l ? a : null : n.offset === o ? s : null;
3130
- return mt(d) ? d : null;
3131
- }, pi = (e, t, n) => {
3144
+ const o = r.getTextContentSize(), a = r.getPreviousSibling(), s = r.getNextSibling(), l = $e(r) && n.offset === 1, c = e ? n.offset === 0 || l ? a : null : n.offset === o ? s : null;
3145
+ return mt(c) ? c : null;
3146
+ }, hi = (e, t, n) => {
3132
3147
  const r = (a) => {
3133
3148
  if (t()) return !1;
3134
- const s = gi(a);
3135
- return s ? (mi(s, a), n(), !0) : !1;
3149
+ const s = pi(a);
3150
+ return s ? (gi(s, a), n(), !0) : !1;
3136
3151
  }, o = (a, s) => {
3137
3152
  const l = r(s);
3138
3153
  return l && a.preventDefault(), l;
@@ -3141,53 +3156,53 @@ const vn = {
3141
3156
  e.registerCommand(
3142
3157
  qn,
3143
3158
  (a) => o(a, !0),
3144
- Ee
3159
+ xe
3145
3160
  ),
3146
3161
  e.registerCommand(
3147
3162
  Kn,
3148
3163
  (a) => o(a, !1),
3149
- Ee
3164
+ xe
3150
3165
  ),
3151
3166
  e.registerCommand(
3152
3167
  Gn,
3153
3168
  (a) => r(a),
3154
- Ee
3169
+ xe
3155
3170
  )
3156
3171
  ];
3157
- }, hi = /(?:^|\s)@([\p{L}\p{N}_-]*)$/u, At = [
3172
+ }, fi = /(?:^|\s)@([\p{L}\p{N}_-]*)$/u, At = [
3158
3173
  { id: "bridgerte-team", label: "BridgeRTE Team", value: "bridgerte-team" },
3159
3174
  { id: "frontend", label: "Frontend", value: "frontend" },
3160
3175
  { id: "designer", label: "Designer", value: "designer" }
3161
- ], fi = (e) => e.trim().toLowerCase(), bi = (e) => [e.label, e.value, e.description].filter(Boolean).join(" ").toLowerCase(), yi = (e) => {
3162
- const t = fi(e);
3163
- return t ? At.filter((n) => bi(n).includes(t)) : At;
3164
- }, vi = () => {
3176
+ ], bi = (e) => e.trim().toLowerCase(), yi = (e) => [e.label, e.value, e.description].filter(Boolean).join(" ").toLowerCase(), vi = (e) => {
3177
+ const t = bi(e);
3178
+ return t ? At.filter((n) => yi(n).includes(t)) : At;
3179
+ }, wi = () => {
3165
3180
  const e = A();
3166
3181
  if (!D(e) || !e.isCollapsed()) return null;
3167
3182
  const t = e.anchor, n = t.getNode();
3168
3183
  if (!(n instanceof Q)) return null;
3169
- const o = n.getTextContent().slice(0, t.offset).match(hi);
3184
+ const o = n.getTextContent().slice(0, t.offset).match(fi);
3170
3185
  if (!o) return null;
3171
- const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("@") ? 0 : 1, d = t.offset - s.length + l;
3186
+ const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("@") ? 0 : 1, c = t.offset - s.length + l;
3172
3187
  return {
3173
3188
  query: a,
3174
3189
  nodeKey: n.getKey(),
3175
- startOffset: d,
3190
+ startOffset: c,
3176
3191
  endOffset: t.offset
3177
3192
  };
3178
- }, wi = () => {
3193
+ }, Ci = () => {
3179
3194
  const e = document.createElement("div");
3180
3195
  return e.className = "bridgerte__floating-menu bridgerte__mention-menu", e.dataset.visible = "false", e;
3181
- }, Ci = () => {
3196
+ }, _i = () => {
3182
3197
  const e = document.createElement("span");
3183
3198
  return e.className = "bridgerte__mention-anchor", e.setAttribute("aria-hidden", "true"), e;
3184
- }, _i = (e, t) => {
3199
+ }, ki = (e, t) => {
3185
3200
  var s;
3186
3201
  const n = e.getElementByKey(t.nodeKey), r = Je(n, t.startOffset + 1);
3187
3202
  if (!(r instanceof Text)) return null;
3188
3203
  const o = document.createRange(), a = Math.min(t.startOffset + 1, ((s = r.textContent) == null ? void 0 : s.length) ?? 0);
3189
3204
  return a <= t.startOffset ? null : (o.setStart(r, t.startOffset), o.setEnd(r, a), o.getBoundingClientRect());
3190
- }, ki = (e, t, n) => {
3205
+ }, Ei = (e, t, n) => {
3191
3206
  const r = document.createElement("button"), o = document.createElement("span");
3192
3207
  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) {
3193
3208
  const a = document.createElement("img");
@@ -3204,7 +3219,7 @@ const vn = {
3204
3219
  }, xi = (e, t) => {
3205
3220
  const n = document.createElement("div");
3206
3221
  return n.className = "bridgerte__mention-status", n.dataset.status = e, n.textContent = t, n;
3207
- }, Ei = (e, t) => {
3222
+ }, Mi = (e, t) => {
3208
3223
  switch (e) {
3209
3224
  case "loading":
3210
3225
  return t.loadingText;
@@ -3213,12 +3228,12 @@ const vn = {
3213
3228
  case "error":
3214
3229
  return t.errorText;
3215
3230
  }
3216
- }, Mi = (e) => e ? {
3231
+ }, Ti = (e) => e ? {
3217
3232
  x: e.x,
3218
3233
  y: e.y,
3219
3234
  width: e.width,
3220
3235
  height: e.height
3221
- } : void 0, Ti = ({
3236
+ } : void 0, Li = ({
3222
3237
  editorRoot: e,
3223
3238
  contentElement: t,
3224
3239
  editor: n,
@@ -3228,7 +3243,7 @@ const vn = {
3228
3243
  mentionMenuConfig: s,
3229
3244
  onMentionMenuRequest: l
3230
3245
  }) => {
3231
- const d = wi(), i = Ci(), m = ii(s), C = (p, b) => {
3246
+ const c = Ci(), i = _i(), m = li(s), C = (p, b) => {
3232
3247
  n.update(() => {
3233
3248
  const T = ce(b.nodeKey);
3234
3249
  T instanceof Q && (T.spliceText(b.startOffset, b.endOffset - b.startOffset, ""), T.select(b.startOffset, b.startOffset));
@@ -3238,21 +3253,21 @@ const vn = {
3238
3253
  contentElement: t,
3239
3254
  editor: n,
3240
3255
  isReadonly: r,
3241
- menu: d,
3256
+ menu: c,
3242
3257
  anchor: i,
3243
3258
  itemSelector: ".bridgerte__mention-item",
3244
- getCurrentTrigger: vi,
3245
- getTriggerRect: (p) => _i(n, p),
3259
+ getCurrentTrigger: wi,
3260
+ getTriggerRect: (p) => ki(n, p),
3246
3261
  resolveItems: async (p) => {
3247
3262
  const b = await Promise.resolve(
3248
- a ? a(p) : yi(p)
3263
+ a ? a(p) : vi(p)
3249
3264
  );
3250
- return di(b, m);
3265
+ return ui(b, m);
3251
3266
  },
3252
- renderItem: ki,
3267
+ renderItem: Ei,
3253
3268
  renderStatus: (p) => xi(
3254
3269
  p,
3255
- Ei(p, m)
3270
+ Mi(p, m)
3256
3271
  ),
3257
3272
  onStateChange: l ? (p, b) => l({
3258
3273
  id: `bridgerte-mention-menu-${p.requestId}`,
@@ -3261,7 +3276,7 @@ const vn = {
3261
3276
  items: p.items,
3262
3277
  config: m,
3263
3278
  readonly: r(),
3264
- anchorRect: Mi(b.anchorRect),
3279
+ anchorRect: Ti(b.anchorRect),
3265
3280
  ...p.error ? { error: p.error } : {},
3266
3281
  submit: (T) => b.selectItem(
3267
3282
  _n(T, m)
@@ -3270,12 +3285,12 @@ const vn = {
3270
3285
  }) : void 0,
3271
3286
  onSelect: (p, b) => C(p.item, b)
3272
3287
  }), M = Kt(
3273
- ...pi(n, r, () => _.close(!1))
3288
+ ...hi(n, r, () => _.close(!1))
3274
3289
  );
3275
3290
  return () => {
3276
3291
  M(), _.destroy();
3277
3292
  };
3278
- }, Li = [
3293
+ }, Si = [
3279
3294
  "script",
3280
3295
  "style",
3281
3296
  "iframe",
@@ -3292,7 +3307,7 @@ const vn = {
3292
3307
  "button",
3293
3308
  "select",
3294
3309
  "textarea"
3295
- ].join(","), Si = [
3310
+ ].join(","), Ni = [
3296
3311
  ".bridgerte__code-header",
3297
3312
  ".bridgerte__code-block-control",
3298
3313
  ".bridgerte__code-block-controls-layer",
@@ -3305,7 +3320,7 @@ const vn = {
3305
3320
  ".bridgerte__dialog",
3306
3321
  ".bridgerte__payload-panel",
3307
3322
  '[data-bridgerte-clipboard-ui="true"]'
3308
- ].join(","), Ni = /* @__PURE__ */ new Set([
3323
+ ].join(","), Pi = /* @__PURE__ */ new Set([
3309
3324
  "A",
3310
3325
  "B",
3311
3326
  "BLOCKQUOTE",
@@ -3342,16 +3357,16 @@ const vn = {
3342
3357
  "TT",
3343
3358
  "U",
3344
3359
  "UL"
3345
- ]), Pi = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]), Ii = "p,div,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Ri = "p,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Ai = /* @__PURE__ */ new Set(["colspan", "rowspan"]), Bi = /* @__PURE__ */ new Set(["TD", "TH"]), Di = /* @__PURE__ */ new Set(["M", "O", "V", "W"]), Oi = /* @__PURE__ */ new Set(["SPAN"]), Hi = /* @__PURE__ */ new Set(["color", "background-color"]), $i = /^#([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i, Bt = /* @__PURE__ */ new Map([
3360
+ ]), Ii = /* @__PURE__ */ new Set(["http:", "https:", "mailto:"]), Ri = "p,div,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Ai = "p,blockquote,pre,h1,h2,h3,h4,h5,h6,ul,ol,table", Bi = /* @__PURE__ */ new Set(["colspan", "rowspan"]), Di = /* @__PURE__ */ new Set(["TD", "TH"]), Oi = /* @__PURE__ */ new Set(["M", "O", "V", "W"]), Hi = /* @__PURE__ */ new Set(["SPAN"]), $i = /* @__PURE__ */ new Set(["color", "background-color"]), Fi = /^#([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i, Bt = /* @__PURE__ */ new Map([
3346
3361
  ["B", "strong"],
3347
3362
  ["DEL", "s"],
3348
3363
  ["I", "em"],
3349
3364
  ["STRIKE", "s"],
3350
3365
  ["TT", "code"]
3351
- ]), Fi = (e) => {
3366
+ ]), zi = (e) => {
3352
3367
  try {
3353
3368
  const t = new URL(e, window.location.href);
3354
- return Pi.has(t.protocol);
3369
+ return Ii.has(t.protocol);
3355
3370
  } catch {
3356
3371
  return !1;
3357
3372
  }
@@ -3360,9 +3375,9 @@ const vn = {
3360
3375
  }, Qe = (e, t) => {
3361
3376
  const n = e.ownerDocument.createElement(t);
3362
3377
  return n.append(...e.childNodes), e.replaceWith(n), n;
3363
- }, zi = (e) => {
3378
+ }, Wi = (e) => {
3364
3379
  const t = e.tagName.split(":")[0] ?? "";
3365
- return e.tagName.includes(":") && Di.has(t);
3380
+ return e.tagName.includes(":") && Oi.has(t);
3366
3381
  }, kn = (e) => {
3367
3382
  [...e.childNodes].forEach((t) => {
3368
3383
  if (t.nodeType === Node.COMMENT_NODE) {
@@ -3371,7 +3386,7 @@ const vn = {
3371
3386
  }
3372
3387
  kn(t);
3373
3388
  });
3374
- }, xn = (e) => {
3389
+ }, En = (e) => {
3375
3390
  [...e.childNodes].forEach((t) => {
3376
3391
  if (t.nodeType === Node.TEXT_NODE) {
3377
3392
  const n = t.parentElement, r = !!(n != null && n.closest("pre,code,textarea")), o = (t.textContent ?? "").replace(/[\u200B-\u200D\uFEFF]/g, "").replace(/\u00A0/g, r ? " " : " ");
@@ -3383,24 +3398,24 @@ const vn = {
3383
3398
  t.previousSibling || (a = a.trimStart()), t.nextSibling || (a = a.trimEnd()), t.textContent = a;
3384
3399
  return;
3385
3400
  }
3386
- xn(t);
3401
+ En(t);
3387
3402
  });
3388
- }, Wi = (e) => /^[1-9]\d*$/.test(e.trim()), Ze = (e) => {
3389
- const t = e.trim().toLowerCase(), [, n] = t.match($i) ?? [];
3403
+ }, Vi = (e) => /^[1-9]\d*$/.test(e.trim()), Ze = (e) => {
3404
+ const t = e.trim().toLowerCase(), [, n] = t.match(Fi) ?? [];
3390
3405
  return n ? n.length === 8 ? `#${n.slice(2)}` : t : null;
3391
- }, Vi = (e, t) => {
3392
- if (!Oi.has(e)) return null;
3406
+ }, Ui = (e, t) => {
3407
+ if (!Hi.has(e)) return null;
3393
3408
  const n = t.split(";").flatMap((r) => {
3394
3409
  const [o, ...a] = r.split(":"), s = o == null ? void 0 : o.trim().toLowerCase(), l = Ze(a.join(":"));
3395
- return !s || !l || !Hi.has(s) ? [] : [`${s}: ${l}`];
3410
+ return !s || !l || !$i.has(s) ? [] : [`${s}: ${l}`];
3396
3411
  });
3397
3412
  return n.length > 0 ? `${n.join("; ")};` : null;
3398
- }, Ui = (e) => {
3399
- if (zi(e)) {
3413
+ }, ji = (e) => {
3414
+ if (Wi(e)) {
3400
3415
  e.remove();
3401
3416
  return;
3402
3417
  }
3403
- if (!Ni.has(e.tagName)) {
3418
+ if (!Pi.has(e.tagName)) {
3404
3419
  Ye(e);
3405
3420
  return;
3406
3421
  }
@@ -3411,7 +3426,7 @@ const vn = {
3411
3426
  return;
3412
3427
  }
3413
3428
  if (n === "style") {
3414
- const r = Vi(e.tagName, t.value);
3429
+ const r = Ui(e.tagName, t.value);
3415
3430
  if (r) {
3416
3431
  e.setAttribute(t.name, r);
3417
3432
  return;
@@ -3420,7 +3435,7 @@ const vn = {
3420
3435
  return;
3421
3436
  }
3422
3437
  if (e.tagName === "A" && n === "href") {
3423
- if (Fi(t.value)) return;
3438
+ if (zi(t.value)) return;
3424
3439
  e.removeAttribute(t.name);
3425
3440
  return;
3426
3441
  }
@@ -3439,39 +3454,39 @@ const vn = {
3439
3454
  e.removeAttribute(t.name);
3440
3455
  return;
3441
3456
  }
3442
- Bi.has(e.tagName) && Ai.has(n) && Wi(t.value) || e.removeAttribute(t.name);
3457
+ Di.has(e.tagName) && Bi.has(n) && Vi(t.value) || e.removeAttribute(t.name);
3443
3458
  }
3444
3459
  });
3445
- }, ji = (e) => {
3460
+ }, qi = (e) => {
3446
3461
  [...e.querySelectorAll("font")].forEach((t) => {
3447
3462
  const n = t.getAttribute("color"), r = n ? Ze(n) : null, o = Qe(t, "span");
3448
3463
  r && o.setAttribute("style", `color: ${r};`);
3449
3464
  });
3450
- }, qi = (e) => {
3465
+ }, Ki = (e) => {
3451
3466
  [...e.querySelectorAll([...Bt.keys()].join(","))].forEach((t) => {
3452
3467
  const n = Bt.get(t.tagName);
3453
3468
  n && Qe(t, n);
3454
3469
  });
3455
- }, Ki = (e) => {
3470
+ }, Gi = (e) => {
3456
3471
  [...e.querySelectorAll("div")].reverse().forEach((t) => {
3457
- if (t.querySelector(Ri)) {
3472
+ if (t.querySelector(Ai)) {
3458
3473
  Ye(t);
3459
3474
  return;
3460
3475
  }
3461
3476
  Qe(t, "p");
3462
3477
  });
3463
- }, Gi = (e) => {
3478
+ }, Xi = (e) => {
3464
3479
  [...e.querySelectorAll("span")].forEach((t) => {
3465
3480
  t.attributes.length === 0 && Ye(t);
3466
3481
  });
3467
- }, Xi = (e) => !["P", "DIV", "SPAN"].includes(e.tagName) || e.querySelector("br,table,ul,ol") ? !1 : !(e.textContent ?? "").trim(), Dt = (e) => {
3482
+ }, Ji = (e) => !["P", "DIV", "SPAN"].includes(e.tagName) || e.querySelector("br,table,ul,ol") ? !1 : !(e.textContent ?? "").trim(), Dt = (e) => {
3468
3483
  [...e.querySelectorAll("p,div,span")].reverse().forEach((t) => {
3469
- Xi(t) && t.remove();
3484
+ Ji(t) && t.remove();
3470
3485
  });
3471
- }, Ji = (e) => {
3472
- var t;
3473
- return e.nodeType === Node.TEXT_NODE ? !!((t = e.textContent) != null && t.trim()) : e.nodeType !== Node.ELEMENT_NODE ? !1 : !e.matches(Ii);
3474
3486
  }, Yi = (e) => {
3487
+ var t;
3488
+ return e.nodeType === Node.TEXT_NODE ? !!((t = e.textContent) != null && t.trim()) : e.nodeType !== Node.ELEMENT_NODE ? !1 : !e.matches(Ri);
3489
+ }, Qi = (e) => {
3475
3490
  let t = [];
3476
3491
  const n = () => {
3477
3492
  if (t.length === 0) return;
@@ -3486,43 +3501,43 @@ const vn = {
3486
3501
  r.remove();
3487
3502
  return;
3488
3503
  }
3489
- if (Ji(r)) {
3504
+ if (Yi(r)) {
3490
3505
  t.push(r);
3491
3506
  return;
3492
3507
  }
3493
3508
  n();
3494
3509
  }), n();
3495
- }, Qi = (e) => {
3510
+ }, Zi = (e) => {
3496
3511
  const t = document.createElement("template");
3497
- t.innerHTML = e, t.content.querySelectorAll(Li).forEach((r) => {
3512
+ t.innerHTML = e, t.content.querySelectorAll(Si).forEach((r) => {
3498
3513
  r.remove();
3499
- }), t.content.querySelectorAll(Si).forEach((r) => {
3514
+ }), t.content.querySelectorAll(Ni).forEach((r) => {
3500
3515
  r.remove();
3501
- }), kn(t.content), ha(t.content), [...t.content.querySelectorAll("*")].forEach(Ui), xn(t.content), ji(t.content), qi(t.content), Ki(t.content), Gi(t.content), Dt(t.content);
3516
+ }), kn(t.content), fa(t.content), [...t.content.querySelectorAll("*")].forEach(ji), En(t.content), qi(t.content), Ki(t.content), Gi(t.content), Xi(t.content), Dt(t.content);
3502
3517
  const n = document.createElement("div");
3503
- return n.append(t.content.cloneNode(!0)), Yi(n), Dt(n), n.innerHTML;
3504
- }, Zi = /^https?:\/\/[^\s<>"']+\.[^\s<>"']+$/i, el = /^www\.[^\s<>"']+\.[^\s<>"']+$/i, tl = new RegExp(
3518
+ return n.append(t.content.cloneNode(!0)), Qi(n), Dt(n), n.innerHTML;
3519
+ }, el = /^https?:\/\/[^\s<>"']+\.[^\s<>"']+$/i, tl = /^www\.[^\s<>"']+\.[^\s<>"']+$/i, nl = new RegExp(
3505
3520
  `^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+(?:/[^\\s<>"']*)?$`,
3506
3521
  "i"
3507
- ), nl = /^[^\s@]+@[^\s@]+\.[^\s@]+$/i, rl = (e) => e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : null, En = (e) => e ? [...e].flatMap((t) => {
3508
- const n = rl(t);
3522
+ ), rl = /^[^\s@]+@[^\s@]+\.[^\s@]+$/i, ol = (e) => e.type.startsWith("image/") ? "image" : e.type.startsWith("video/") ? "video" : null, xn = (e) => e ? [...e].flatMap((t) => {
3523
+ const n = ol(t);
3509
3524
  return n ? [{ type: n, file: t }] : [];
3510
3525
  }) : [], ke = (e) => ({
3511
3526
  text: (e == null ? void 0 : e.getData("text/plain")) ?? "",
3512
3527
  html: (e == null ? void 0 : e.getData("text/html")) ?? "",
3513
3528
  files: e != null && e.files ? [...e.files] : []
3514
- }), ol = (e) => ({
3529
+ }), al = (e) => ({
3515
3530
  name: e.name,
3516
3531
  mimeType: e.type || void 0,
3517
3532
  size: e.size,
3518
3533
  data: e
3519
- }), al = (e) => {
3534
+ }), sl = (e) => {
3520
3535
  const t = e.trim();
3521
- return !t || /\s/.test(t) || t.includes("<") || t.includes(">") || /^[a-z][a-z0-9+.-]*:/i.test(t) && !/^https?:\/\//i.test(t) || nl.test(t) ? !1 : Zi.test(t) || el.test(t) || tl.test(t);
3536
+ return !t || /\s/.test(t) || t.includes("<") || t.includes(">") || /^[a-z][a-z0-9+.-]*:/i.test(t) && !/^https?:\/\//i.test(t) || rl.test(t) ? !1 : el.test(t) || tl.test(t) || nl.test(t);
3522
3537
  }, Mn = (e, {
3523
3538
  isReadonly: t,
3524
3539
  executeCommand: n
3525
- }) => t() || !al(e.text) ? !1 : (n({
3540
+ }) => t() || !sl(e.text) ? !1 : (n({
3526
3541
  type: "link.set",
3527
3542
  href: e.text.trim()
3528
3543
  }), !0), Fe = (e, {
@@ -3531,17 +3546,17 @@ const vn = {
3531
3546
  uploadMediaFile: r
3532
3547
  }) => {
3533
3548
  if (t() || !n()) return !1;
3534
- const o = En(e.files);
3549
+ const o = xn(e.files);
3535
3550
  return o.length === 0 ? !1 : (o.forEach(({ type: a, file: s }) => {
3536
3551
  r(a, s);
3537
3552
  }), !0);
3538
- }, sl = (e, t) => {
3553
+ }, il = (e, t) => {
3539
3554
  const r = new DOMParser().parseFromString(t, "text/html");
3540
- fa(r.body);
3555
+ ba(r.body);
3541
3556
  const o = Yt(e, r);
3542
- return ba(o, r.body), o;
3543
- }, il = (e, t) => {
3544
- const n = sl(e, t);
3557
+ return ya(o, r.body), o;
3558
+ }, ll = (e, t) => {
3559
+ const n = il(e, t);
3545
3560
  if (n.length === 0) return !1;
3546
3561
  if (A() || $().selectEnd(), n.some(K)) {
3547
3562
  n.forEach((o) => {
@@ -3556,33 +3571,33 @@ const vn = {
3556
3571
  isReadonly: n
3557
3572
  }) => {
3558
3573
  if (n()) return !1;
3559
- if (!e.html.trim()) return ll(e, { editor: t, isReadonly: n });
3560
- const r = Qi(e.html);
3574
+ if (!e.html.trim()) return cl(e, { editor: t, isReadonly: n });
3575
+ const r = Zi(e.html);
3561
3576
  return r.trim() ? (t.update(() => {
3562
- il(t, r);
3577
+ ll(t, r);
3563
3578
  }), !0) : !1;
3564
- }, ll = (e, {
3579
+ }, cl = (e, {
3565
3580
  editor: t,
3566
3581
  isReadonly: n
3567
3582
  }) => n() || e.html.trim() || !e.text ? !1 : (t.update(() => {
3568
3583
  A() || $().selectEnd(), V([We(e.text)]);
3569
3584
  }), !0), J = (e) => {
3570
3585
  e.preventDefault(), e.stopImmediatePropagation();
3571
- }, cl = (e, t) => Fe(e, t) || Mn(e, t) || Tn(e, t), dl = (e) => {
3586
+ }, dl = (e, t) => Fe(e, t) || Mn(e, t) || Tn(e, t), ul = (e) => {
3572
3587
  const t = (n) => {
3573
3588
  n.defaultPrevented || Mn(ke(n.clipboardData), e) && J(n);
3574
3589
  };
3575
3590
  return e.target.addEventListener("paste", t, { capture: !0 }), () => {
3576
3591
  e.target.removeEventListener("paste", t, { capture: !0 });
3577
3592
  };
3578
- }, ul = (e) => {
3593
+ }, ml = (e) => {
3579
3594
  const t = (o) => {
3580
3595
  o.defaultPrevented || Fe(ke(o.clipboardData), e) && J(o);
3581
3596
  }, n = (o) => {
3582
3597
  var s;
3583
3598
  if (e.isReadonly() || !e.canUploadMedia()) return;
3584
3599
  const a = (s = o.dataTransfer) != null && s.files ? [...o.dataTransfer.files] : [];
3585
- En(a).length !== 0 && (o.preventDefault(), o.dataTransfer && (o.dataTransfer.dropEffect = "copy"));
3600
+ xn(a).length !== 0 && (o.preventDefault(), o.dataTransfer && (o.dataTransfer.dropEffect = "copy"));
3586
3601
  }, r = (o) => {
3587
3602
  var s;
3588
3603
  const a = {
@@ -3593,14 +3608,14 @@ const vn = {
3593
3608
  return e.target.addEventListener("paste", t, { capture: !0 }), e.target.addEventListener("dragover", n), e.target.addEventListener("drop", r), () => {
3594
3609
  e.target.removeEventListener("paste", t, { capture: !0 }), e.target.removeEventListener("dragover", n), e.target.removeEventListener("drop", r);
3595
3610
  };
3596
- }, ml = (e) => {
3611
+ }, gl = (e) => {
3597
3612
  const t = (n) => {
3598
3613
  n.defaultPrevented || !Tn(ke(n.clipboardData), e) || J(n);
3599
3614
  };
3600
3615
  return e.target.addEventListener("paste", t, { capture: !0 }), () => {
3601
3616
  e.target.removeEventListener("paste", t, { capture: !0 });
3602
3617
  };
3603
- }, gl = ({
3618
+ }, pl = ({
3604
3619
  target: e,
3605
3620
  isReadonly: t,
3606
3621
  onPaste: n,
@@ -3609,7 +3624,7 @@ const vn = {
3609
3624
  executeCommand: a,
3610
3625
  editor: s
3611
3626
  }) => {
3612
- const l = (i, m) => cl({
3627
+ const l = (i, m) => dl({
3613
3628
  text: m.text ?? i.text,
3614
3629
  html: m.html ?? i.html,
3615
3630
  files: i.files
@@ -3619,12 +3634,12 @@ const vn = {
3619
3634
  uploadMediaFile: o,
3620
3635
  executeCommand: a,
3621
3636
  editor: s
3622
- }), d = (i) => {
3637
+ }), c = (i) => {
3623
3638
  if (t() || !n) return;
3624
3639
  const m = ke(i.clipboardData), C = n({
3625
3640
  text: m.text,
3626
3641
  html: m.html,
3627
- files: m.files.map(ol)
3642
+ files: m.files.map(al)
3628
3643
  });
3629
3644
  if (C instanceof Promise) {
3630
3645
  J(i), C.then((_) => {
@@ -3638,10 +3653,10 @@ const vn = {
3638
3653
  }
3639
3654
  C && (J(i), l(m, C));
3640
3655
  };
3641
- return e.addEventListener("paste", d, { capture: !0 }), () => {
3642
- e.removeEventListener("paste", d, { capture: !0 });
3656
+ return e.addEventListener("paste", c, { capture: !0 }), () => {
3657
+ e.removeEventListener("paste", c, { capture: !0 });
3643
3658
  };
3644
- }, pl = [
3659
+ }, hl = [
3645
3660
  "paragraph",
3646
3661
  "heading-1",
3647
3662
  "heading-2",
@@ -3655,17 +3670,17 @@ const vn = {
3655
3670
  "upload-image",
3656
3671
  "upload-video",
3657
3672
  "table"
3658
- ], hl = {
3673
+ ], fl = {
3659
3674
  loadingText: "加载中",
3660
3675
  emptyText: "没有匹配的命令",
3661
3676
  errorText: "命令加载失败"
3662
- }, fl = (e) => ({
3663
- ...hl,
3677
+ }, bl = (e) => ({
3678
+ ...fl,
3664
3679
  ...e
3665
- }), bl = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), yl = (e) => ({
3680
+ }), yl = (e) => e.flatMap((t) => t.type === "button" ? [t.item] : t.type === "group" ? t.items : []), vl = (e) => ({
3666
3681
  ...e,
3667
- toolbarKeys: (e == null ? void 0 : e.toolbarKeys) ?? pl
3668
- }), vl = (e) => ({
3682
+ toolbarKeys: (e == null ? void 0 : e.toolbarKeys) ?? hl
3683
+ }), wl = (e) => ({
3669
3684
  id: e.id,
3670
3685
  label: e.label,
3671
3686
  command: e.command,
@@ -3674,36 +3689,36 @@ const vn = {
3674
3689
  payloadPanel: e.payloadPanel,
3675
3690
  group: e.group,
3676
3691
  source: "schema"
3677
- }), wl = (e, t) => bl(Ve(
3678
- yl(t),
3692
+ }), Cl = (e, t) => yl(Ve(
3693
+ vl(t),
3679
3694
  e
3680
- )).map(vl), Ln = (e) => ({
3695
+ )).map(wl), Ln = (e) => ({
3681
3696
  ...e,
3682
3697
  source: "provider"
3683
- }), Cl = /(?:^|\s)\/([\p{L}\p{N}_-]*)$/u, _l = (e) => e.trim().toLowerCase(), kl = (e) => [e.label, e.id, e.description, e.group, ...e.keywords ?? []].filter(Boolean).join(" ").toLowerCase(), xl = (e, t) => {
3684
- const n = _l(t);
3685
- return n ? e.filter((r) => kl(r).includes(n)) : e;
3686
- }, El = async (e, t) => (await Promise.resolve((t == null ? void 0 : t(e)) ?? [])).map(Ln), Ml = (e) => "source" in e ? e : Ln(e), Tl = ({
3698
+ }), _l = /(?:^|\s)\/([\p{L}\p{N}_-]*)$/u, kl = (e) => e.trim().toLowerCase(), El = (e) => [e.label, e.id, e.description, e.group, ...e.keywords ?? []].filter(Boolean).join(" ").toLowerCase(), xl = (e, t) => {
3699
+ const n = kl(t);
3700
+ return n ? e.filter((r) => El(r).includes(n)) : e;
3701
+ }, Ml = async (e, t) => (await Promise.resolve((t == null ? void 0 : t(e)) ?? [])).map(Ln), Tl = (e) => "source" in e ? e : Ln(e), Ll = ({
3687
3702
  menuSchema: e,
3688
3703
  slashCommandConfig: t
3689
- }) => e !== void 0 || t !== void 0, Ll = () => {
3704
+ }) => e !== void 0 || t !== void 0, Sl = () => {
3690
3705
  const e = A();
3691
3706
  if (!D(e) || !e.isCollapsed()) return null;
3692
3707
  const t = e.anchor, n = t.getNode();
3693
3708
  if (!(n instanceof Q)) return null;
3694
- const o = n.getTextContent().slice(0, t.offset).match(Cl);
3709
+ const o = n.getTextContent().slice(0, t.offset).match(_l);
3695
3710
  if (!o) return null;
3696
- const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("/") ? 0 : 1, d = t.offset - s.length + l;
3711
+ const a = o[1] ?? "", s = o[0] ?? "", l = s.startsWith("/") ? 0 : 1, c = t.offset - s.length + l;
3697
3712
  return {
3698
3713
  query: a,
3699
3714
  nodeKey: n.getKey(),
3700
- startOffset: d,
3715
+ startOffset: c,
3701
3716
  endOffset: t.offset
3702
3717
  };
3703
- }, Sl = () => {
3718
+ }, Nl = () => {
3704
3719
  const e = document.createElement("div");
3705
3720
  return e.className = "bridgerte__floating-menu bridgerte__slash-command-menu", e.dataset.visible = "false", e;
3706
- }, Nl = () => {
3721
+ }, Pl = () => {
3707
3722
  const e = document.createElement("span");
3708
3723
  return e.className = "bridgerte__slash-command-anchor", e.setAttribute("aria-hidden", "true"), e;
3709
3724
  }, Ot = (e, t) => {
@@ -3712,7 +3727,7 @@ const vn = {
3712
3727
  if (!(r instanceof Text)) return null;
3713
3728
  const o = document.createRange(), a = Math.min(t.startOffset + 1, ((s = r.textContent) == null ? void 0 : s.length) ?? 0);
3714
3729
  return a <= t.startOffset ? null : (o.setStart(r, t.startOffset), o.setEnd(r, a), o.getBoundingClientRect());
3715
- }, Pl = (e, t, n, r) => {
3730
+ }, Il = (e, t, n, r) => {
3716
3731
  const o = document.createElement("button"), a = document.createElement("span");
3717
3732
  if (o.type = "button", o.className = "bridgerte__menu-item bridgerte__slash-command-item", o.dataset.commandId = e.id, o.dataset.index = String(t), o.dataset.active = String(n), e.icon) {
3718
3733
  const s = document.createElement("span");
@@ -3723,10 +3738,10 @@ const vn = {
3723
3738
  s.className = "bridgerte__slash-command-item-description", s.textContent = e.description, o.append(s);
3724
3739
  }
3725
3740
  return o;
3726
- }, Il = (e, t) => {
3741
+ }, Rl = (e, t) => {
3727
3742
  const n = document.createElement("div");
3728
3743
  return n.className = "bridgerte__slash-command-status", n.dataset.status = e, n.textContent = t, n;
3729
- }, Rl = (e, t) => {
3744
+ }, Al = (e, t) => {
3730
3745
  switch (e) {
3731
3746
  case "loading":
3732
3747
  return t.loadingText;
@@ -3740,7 +3755,7 @@ const vn = {
3740
3755
  y: e.y,
3741
3756
  width: e.width,
3742
3757
  height: e.height
3743
- } : void 0, Al = ({
3758
+ } : void 0, Bl = ({
3744
3759
  editorRoot: e,
3745
3760
  contentElement: t,
3746
3761
  editor: n,
@@ -3749,23 +3764,23 @@ const vn = {
3749
3764
  requestPayloadPanel: a,
3750
3765
  menuSchema: s,
3751
3766
  slashCommandConfig: l,
3752
- icons: d = {},
3767
+ icons: c = {},
3753
3768
  menuLabels: i,
3754
3769
  payloadPanelConfig: m,
3755
3770
  slashCommandMenuConfig: C,
3756
3771
  onSlashCommandMenuRequest: _,
3757
3772
  slashCommandProvider: M
3758
3773
  }) => {
3759
- const p = Sl(), b = Nl(), T = fl(C), g = Ge(s ?? Ce, {
3774
+ const p = Nl(), b = Pl(), T = bl(C), g = Ge(s ?? Ce, {
3760
3775
  menuLabels: i,
3761
3776
  payloadPanelConfig: m
3762
- }), v = wl(g, l), L = new Map(g.map((u) => [u.id, u])), x = Tl({
3777
+ }), v = Cl(g, l), L = new Map(g.map((u) => [u.id, u])), E = Ll({
3763
3778
  menuSchema: s,
3764
3779
  slashCommandConfig: l
3765
3780
  }), P = (u) => {
3766
3781
  n.update(() => {
3767
- const c = ce(u.nodeKey);
3768
- c instanceof Q && (c.spliceText(u.startOffset, u.endOffset - u.startOffset, ""), c.select(u.startOffset, u.startOffset));
3782
+ const d = ce(u.nodeKey);
3783
+ d instanceof Q && (d.spliceText(u.startOffset, u.endOffset - u.startOffset, ""), d.select(u.startOffset, u.startOffset));
3769
3784
  });
3770
3785
  };
3771
3786
  return Cn({
@@ -3776,45 +3791,45 @@ const vn = {
3776
3791
  menu: p,
3777
3792
  anchor: b,
3778
3793
  itemSelector: ".bridgerte__slash-command-item",
3779
- getCurrentTrigger: Ll,
3794
+ getCurrentTrigger: Sl,
3780
3795
  getTriggerRect: (u) => Ot(n, u),
3781
3796
  resolveItems: async (u) => {
3782
- const c = x || !M ? xl(v, u) : [];
3797
+ const d = E || !M ? xl(v, u) : [];
3783
3798
  try {
3784
- const f = await El(u, M);
3785
- return [...c, ...f];
3799
+ const f = await Ml(u, M);
3800
+ return [...d, ...f];
3786
3801
  } catch (f) {
3787
- if (c.length > 0) return c;
3802
+ if (d.length > 0) return d;
3788
3803
  throw f;
3789
3804
  }
3790
3805
  },
3791
- renderItem: (u, c, f) => Pl(
3806
+ renderItem: (u, d, f) => Il(
3792
3807
  u,
3793
- c,
3808
+ d,
3794
3809
  f,
3795
- d
3810
+ c
3796
3811
  ),
3797
- renderStatus: (u) => Il(
3812
+ renderStatus: (u) => Rl(
3798
3813
  u,
3799
- Rl(u, T)
3814
+ Al(u, T)
3800
3815
  ),
3801
- onStateChange: _ ? (u, c) => _({
3816
+ onStateChange: _ ? (u, d) => _({
3802
3817
  id: `bridgerte-slash-command-menu-${u.requestId}`,
3803
3818
  query: u.trigger.query,
3804
3819
  status: u.status,
3805
3820
  items: u.items,
3806
3821
  config: T,
3807
3822
  readonly: r(),
3808
- anchorRect: Ht(c.anchorRect),
3823
+ anchorRect: Ht(d.anchorRect),
3809
3824
  ...u.error ? { error: u.error } : {},
3810
- submit: (f) => c.selectItem(Ml(f)),
3811
- cancel: c.close
3825
+ submit: (f) => d.selectItem(Tl(f)),
3826
+ cancel: d.close
3812
3827
  }) : void 0,
3813
- onSelect: (u, c) => {
3814
- P(c);
3828
+ onSelect: (u, d) => {
3829
+ P(d);
3815
3830
  const f = u.source === "schema" ? L.get(u.id) : void 0;
3816
3831
  if (f != null && f.payloadPanel) {
3817
- const y = Ot(n, c);
3832
+ const y = Ot(n, d);
3818
3833
  a({
3819
3834
  menuId: f.id,
3820
3835
  command: f.command,
@@ -3829,45 +3844,45 @@ const vn = {
3829
3844
  }, $t = 32, Le = (e) => {
3830
3845
  var t;
3831
3846
  return e instanceof HTMLElement && e.getAttribute("role") === "checkbox" && ((t = e.parentElement) == null ? void 0 : t.classList.contains("bridgerte__list--todo")) === !0;
3832
- }, Se = (e) => e instanceof HTMLElement ? e.closest('[role="checkbox"]') : null, Bl = (e) => Xn(e), Ft = (e) => e.button === 0, Ne = (e, t) => {
3847
+ }, Se = (e) => e instanceof HTMLElement ? e.closest('[role="checkbox"]') : null, Dl = (e) => Xn(e), Ft = (e) => e.button === 0, Ne = (e, t) => {
3833
3848
  const n = t.getBoundingClientRect();
3834
3849
  return t.dir === "rtl" ? e.clientX >= n.right - $t && e.clientX <= n.right : e.clientX >= n.left && e.clientX <= n.left + $t;
3835
3850
  }, zt = (e) => {
3836
3851
  e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation();
3837
- }, Dl = ({
3852
+ }, Ol = ({
3838
3853
  contentElement: e,
3839
3854
  editor: t,
3840
3855
  isReadonly: n
3841
3856
  }) => {
3842
3857
  let r = 0;
3843
- const o = (d) => {
3844
- if (n() || !Ft(d)) return;
3845
- const i = Se(d.target);
3846
- !i || !Le(i) || Ne(d, i) && zt(d);
3847
- }, a = (d, i) => {
3848
- zt(d), t.update(() => {
3849
- const m = Bl(i);
3858
+ const o = (c) => {
3859
+ if (n() || !Ft(c)) return;
3860
+ const i = Se(c.target);
3861
+ !i || !Le(i) || Ne(c, i) && zt(c);
3862
+ }, a = (c, i) => {
3863
+ zt(c), t.update(() => {
3864
+ const m = Dl(i);
3850
3865
  fr(m) && m.toggleChecked();
3851
3866
  });
3852
- }, s = (d) => {
3853
- if (n() || !Ft(d) || Date.now() - r < 700) return;
3854
- const i = Se(d.target);
3855
- !i || !Le(i) || Ne(d, i) && a(d, i);
3856
- }, l = (d) => {
3857
- if (n() || d.pointerType !== "touch") return;
3858
- const i = Se(d.target);
3859
- !i || !Le(i) || Ne(d, i) && (r = Date.now(), a(d, i));
3867
+ }, s = (c) => {
3868
+ if (n() || !Ft(c) || Date.now() - r < 700) return;
3869
+ const i = Se(c.target);
3870
+ !i || !Le(i) || Ne(c, i) && a(c, i);
3871
+ }, l = (c) => {
3872
+ if (n() || c.pointerType !== "touch") return;
3873
+ const i = Se(c.target);
3874
+ !i || !Le(i) || Ne(c, i) && (r = Date.now(), a(c, i));
3860
3875
  };
3861
3876
  return e.addEventListener("pointerdown", o, !0), e.addEventListener("pointerup", l, !0), e.addEventListener("click", s, !0), () => {
3862
3877
  e.removeEventListener("pointerdown", o, !0), e.removeEventListener("pointerup", l, !0), e.removeEventListener("click", s, !0);
3863
3878
  };
3864
- }, Ol = {
3879
+ }, Hl = {
3865
3880
  ...dr,
3866
3881
  defaultLanguage: null
3867
3882
  }, Pe = (e, t) => {
3868
3883
  var n;
3869
3884
  return ((n = e.floatingMenus) == null ? void 0 : n[t]) !== !1;
3870
- }, Hl = ({
3885
+ }, $l = ({
3871
3886
  options: e,
3872
3887
  lexicalEditor: t,
3873
3888
  editorRoot: n,
@@ -3876,7 +3891,7 @@ const vn = {
3876
3891
  isReadonly: a,
3877
3892
  executeCommand: s,
3878
3893
  requestPayloadPanel: l,
3879
- uploadMediaFile: d,
3894
+ uploadMediaFile: c,
3880
3895
  canUploadMedia: i,
3881
3896
  syncAfterEditorUpdate: m,
3882
3897
  refreshCommandStates: C,
@@ -3890,12 +3905,12 @@ const vn = {
3890
3905
  * 业务自定义 paste hook 最先看到原始剪贴板摘要;返回 undefined 时完全不拦截,
3891
3906
  * 继续走 BridgeRTE 内置媒体、URL 和 HTML 清洗链路。
3892
3907
  */
3893
- gl({
3908
+ pl({
3894
3909
  target: r,
3895
3910
  isReadonly: a,
3896
3911
  onPaste: e.onPaste,
3897
3912
  canUploadMedia: i,
3898
- uploadMediaFile: d,
3913
+ uploadMediaFile: c,
3899
3914
  executeCommand: s,
3900
3915
  editor: t
3901
3916
  }),
@@ -3903,17 +3918,17 @@ const vn = {
3903
3918
  * 媒体文件粘贴/拖拽优先于 URL 粘贴快速路径;剪贴板里有文件时直接进入上传管线,
3904
3919
  * 没有文件再交给纯文本 URL 链接处理或 Lexical 默认粘贴。
3905
3920
  */
3906
- ul({
3921
+ ml({
3907
3922
  target: r,
3908
3923
  isReadonly: a,
3909
3924
  canUploadMedia: i,
3910
- uploadMediaFile: d
3925
+ uploadMediaFile: c
3911
3926
  }),
3912
3927
  /*
3913
3928
  * URL 粘贴是 BridgeRTE 的高意图快捷路径,必须先于 Lexical 默认 paste 监听注册。
3914
3929
  * 否则 Lexical 会先把 URL 当普通文本插入,后续就失去“选区变链接”的语义。
3915
3930
  */
3916
- dl({
3931
+ ul({
3917
3932
  target: r,
3918
3933
  isReadonly: a,
3919
3934
  executeCommand: s
@@ -3922,12 +3937,12 @@ const vn = {
3922
3937
  * HTML 清洗放在媒体和纯文本 URL 之后、Lexical 默认 rich text paste 之前。
3923
3938
  * 这样外部网页/办公软件片段会先进入 BridgeRTE 白名单清洗,再转成 Lexical 节点。
3924
3939
  */
3925
- ml({
3940
+ gl({
3926
3941
  target: r,
3927
3942
  editor: t,
3928
3943
  isReadonly: a
3929
3944
  }),
3930
- Vs({
3945
+ Us({
3931
3946
  target: r,
3932
3947
  isReadonly: a
3933
3948
  }),
@@ -3936,16 +3951,16 @@ const vn = {
3936
3951
  * 代码块高亮使用 Lexical 官方 Prism 管线。CodeNode 只保存语言和文本,真正的 token
3937
3952
  * 拆分、Tab/缩进处理和 data-highlight-language 都由这里注册;无语言时保持纯文本。
3938
3953
  */
3939
- cr(t, Ol),
3940
- Hr(t, o, ea),
3954
+ cr(t, Hl),
3955
+ Hr(t, o, ta),
3941
3956
  br(t),
3942
3957
  yr(t),
3943
- Dl({
3958
+ Ol({
3944
3959
  contentElement: r,
3945
3960
  editor: t,
3946
3961
  isReadonly: a
3947
3962
  }),
3948
- T ? Ti({
3963
+ T ? Li({
3949
3964
  editorRoot: n,
3950
3965
  contentElement: r,
3951
3966
  editor: t,
@@ -3956,7 +3971,7 @@ const vn = {
3956
3971
  onMentionMenuRequest: e.onMentionMenuRequest
3957
3972
  }) : () => {
3958
3973
  },
3959
- v ? Qs({
3974
+ v ? Zs({
3960
3975
  editorRoot: n,
3961
3976
  contentElement: r,
3962
3977
  editor: t,
@@ -3972,8 +3987,8 @@ const vn = {
3972
3987
  }) : () => {
3973
3988
  },
3974
3989
  Sr(t),
3975
- Hs({ editor: t }),
3976
- g ? Al({
3990
+ $s({ editor: t }),
3991
+ g ? Bl({
3977
3992
  editorRoot: n,
3978
3993
  contentElement: r,
3979
3994
  editor: t,
@@ -3990,12 +4005,12 @@ const vn = {
3990
4005
  slashCommandProvider: e.slashCommandProvider
3991
4006
  }) : () => {
3992
4007
  },
3993
- ho({
4008
+ fo({
3994
4009
  editor: t,
3995
4010
  contentElement: r,
3996
4011
  isReadonly: a
3997
4012
  }),
3998
- b ? oi({
4013
+ b ? ai({
3999
4014
  target: r,
4000
4015
  isReadonly: a,
4001
4016
  executeCommand: s
@@ -4011,12 +4026,12 @@ const vn = {
4011
4026
  ),
4012
4027
  t.registerCommand(
4013
4028
  Jn,
4014
- (x) => (M(x), !1),
4029
+ (E) => (M(E), !1),
4015
4030
  U
4016
4031
  ),
4017
4032
  t.registerCommand(
4018
4033
  Yn,
4019
- (x) => (p(x), !1),
4034
+ (E) => (p(E), !1),
4020
4035
  U
4021
4036
  )
4022
4037
  );
@@ -4026,13 +4041,13 @@ const vn = {
4026
4041
  }
4027
4042
  };
4028
4043
  };
4029
- function $l(e, t = {}) {
4030
- const n = $r(), r = t.mediaDefaultWidthPercent ?? 50, { contentElement: o } = Rs(e, {
4031
- placeholder: t.placeholder ?? mo
4044
+ function Fl(e, t = {}) {
4045
+ const n = $r(), r = t.mediaDefaultWidthPercent ?? 50, { contentElement: o } = As(e, {
4046
+ placeholder: t.placeholder ?? go
4032
4047
  }), a = t.keyboardShortcuts === !0;
4033
- let s = t.readonly ?? !1, l = !1, d = Be(t.value);
4048
+ let s = t.readonly ?? !1, l = !1, c = Be(t.value);
4034
4049
  const i = Qn({
4035
- namespace: ta,
4050
+ namespace: na,
4036
4051
  editable: !s,
4037
4052
  nodes: [
4038
4053
  ar,
@@ -4050,29 +4065,29 @@ function $l(e, t = {}) {
4050
4065
  re,
4051
4066
  ue
4052
4067
  ],
4053
- theme: Fo,
4068
+ theme: zo,
4054
4069
  onError: (u) => {
4055
4070
  j(t, "lexical.runtime", "Lexical runtime error.", u);
4056
4071
  }
4057
4072
  });
4058
4073
  Ir(i, !0);
4059
4074
  const m = () => l, C = () => s, _ = () => {
4060
- m() || po({ editor: i, contentElement: o });
4061
- }, M = As({ editor: i }), p = na({
4075
+ m() || ho({ editor: i, contentElement: o });
4076
+ }, M = Bs({ editor: i }), p = ra({
4062
4077
  lexicalEditor: i,
4063
4078
  options: t,
4064
4079
  isDestroyed: m,
4065
4080
  setContent: (u) => {
4066
- d = u;
4081
+ c = u;
4067
4082
  },
4068
4083
  syncPlaceholder: _
4069
- }), b = Ro({
4084
+ }), b = Ao({
4070
4085
  lexicalEditor: i,
4071
4086
  options: t,
4072
4087
  isDestroyed: m,
4073
4088
  canUploadMedia: () => t.uploadAdapter !== void 0,
4074
4089
  isReadonly: C
4075
- }), T = Zo({
4090
+ }), T = ea({
4076
4091
  container: e,
4077
4092
  lexicalEditor: i,
4078
4093
  options: t,
@@ -4081,7 +4096,7 @@ function $l(e, t = {}) {
4081
4096
  reportError: j
4082
4097
  }), g = () => {
4083
4098
  o.contentEditable = String(!s), i.setEditable(!s);
4084
- }, L = Is({
4099
+ }, L = Rs({
4085
4100
  editorRoot: e,
4086
4101
  lexicalEditor: i,
4087
4102
  isReadonly: C,
@@ -4107,14 +4122,14 @@ function $l(e, t = {}) {
4107
4122
  menuLabels: t.menuLabels,
4108
4123
  onRequest: t.onPayloadPanelRequest,
4109
4124
  defaultMediaWidthPercent: r
4110
- }), x = () => No(t), P = () => Po(t), I = (u) => {
4125
+ }), E = () => Po(t), P = () => Io(t), I = (u) => {
4111
4126
  m() || (M.capture(), L.payloadPanelController.open(u));
4112
4127
  };
4113
- e.dataset.readonly = String(s), e.addEventListener("focusin", x), e.addEventListener("focusout", P), e.style.setProperty(
4128
+ e.dataset.readonly = String(s), e.addEventListener("focusin", E), e.addEventListener("focusout", P), e.style.setProperty(
4114
4129
  "--bridgerte-media-display-width",
4115
4130
  `${r}%`
4116
4131
  );
4117
- const k = Hl({
4132
+ const k = $l({
4118
4133
  options: t,
4119
4134
  lexicalEditor: i,
4120
4135
  editorRoot: e,
@@ -4132,13 +4147,13 @@ function $l(e, t = {}) {
4132
4147
  setCanRedo: b.setCanRedo,
4133
4148
  enableKeyboardShortcuts: a
4134
4149
  });
4135
- i.setRootElement(o), p.suppressNextChange(), d = io(i, t.value), g();
4150
+ i.setRootElement(o), p.suppressNextChange(), c = lo(i, t.value), g();
4136
4151
  const h = {
4137
4152
  getContent() {
4138
- return m() || (p.clearContentChangeTimer(), p.syncContent(!1)), d;
4153
+ return m() || (p.clearContentChangeTimer(), p.syncContent(!1)), c;
4139
4154
  },
4140
4155
  setContent(u) {
4141
- m() || (p.clearContentChangeTimer(), d = Be(u), p.suppressNextChange(), nn(i, d), p.enforceCurrentMaxLength(), _(), i.dispatchCommand(Zn, void 0), b.setHistoryAvailability(!1, !1), p.syncContent(!0));
4156
+ m() || (p.clearContentChangeTimer(), c = Be(u), p.suppressNextChange(), nn(i, c), p.enforceCurrentMaxLength(), _(), i.dispatchCommand(Zn, void 0), b.setHistoryAvailability(!1, !1), p.syncContent(!0));
4142
4157
  },
4143
4158
  executeCommand(u) {
4144
4159
  T(u);
@@ -4156,12 +4171,12 @@ function $l(e, t = {}) {
4156
4171
  m() || o.blur();
4157
4172
  },
4158
4173
  destroy() {
4159
- m() || (l = !0, p.clearContentChangeTimer(), L.destroy(), T.destroy(), b.destroy(), M.clear(), k.destroy(), i.setRootElement(null), e.removeEventListener("focusin", x), e.removeEventListener("focusout", P), e.classList.remove("bridgerte"), e.textContent = "", delete e.dataset.readonly);
4174
+ m() || (l = !0, p.clearContentChangeTimer(), L.destroy(), T.destroy(), b.destroy(), M.clear(), k.destroy(), i.setRootElement(null), e.removeEventListener("focusin", E), e.removeEventListener("focusout", P), e.classList.remove("bridgerte"), e.textContent = "", delete e.dataset.readonly);
4160
4175
  }
4161
4176
  };
4162
- return p.syncContent(!1), _(), b.refreshCommandStates(), Io(t, h), h;
4177
+ return p.syncContent(!1), _(), b.refreshCommandStates(), Ro(t, h), h;
4163
4178
  }
4164
- const Fl = (e) => !In(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", zl = (e) => ({
4179
+ const zl = (e) => !In(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", Wl = (e) => ({
4165
4180
  id: e,
4166
4181
  type: "editor.ready",
4167
4182
  payload: {
@@ -4169,13 +4184,13 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4169
4184
  eventTiming: An,
4170
4185
  version: we
4171
4186
  }
4172
- }), Wl = (e) => `native-upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, ac = ({
4187
+ }), Vl = (e) => `native-upload:${e}:${Date.now()}:${Math.random().toString(36).slice(2)}`, sc = ({
4173
4188
  container: e,
4174
4189
  transport: t
4175
4190
  }) => {
4176
4191
  var k;
4177
4192
  let n = null, r = !1, o = null, a = null, s = null, l = 0;
4178
- const d = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), m = (h) => {
4193
+ const c = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), m = (h) => {
4179
4194
  r || t.postMessage(h);
4180
4195
  }, C = () => {
4181
4196
  s && (clearTimeout(s), s = null);
@@ -4201,14 +4216,14 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4201
4216
  payload: u
4202
4217
  });
4203
4218
  }, p = (h) => {
4204
- const u = h.payload, c = d.get(u.assetId);
4205
- if (c) {
4206
- if (d.delete(u.assetId), c.source === "uploadAdapter") {
4207
- c.resolve(u.result);
4219
+ const u = h.payload, d = c.get(u.assetId);
4220
+ if (d) {
4221
+ if (c.delete(u.assetId), d.source === "uploadAdapter") {
4222
+ d.resolve(u.result);
4208
4223
  return;
4209
4224
  }
4210
4225
  n == null || n.executeCommand({
4211
- type: c.type === "image" ? "media.insertImage" : "media.insertVideo",
4226
+ type: d.type === "image" ? "media.insertImage" : "media.insertVideo",
4212
4227
  url: u.result.url,
4213
4228
  poster: u.result.poster,
4214
4229
  width: u.result.width,
@@ -4218,10 +4233,10 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4218
4233
  });
4219
4234
  }
4220
4235
  }, b = (h) => {
4221
- const u = h.payload, c = d.get(u.assetId);
4222
- if (c) {
4223
- if (d.delete(u.assetId), c.source === "uploadAdapter") {
4224
- c.reject(new Error(u.message));
4236
+ const u = h.payload, d = c.get(u.assetId);
4237
+ if (d) {
4238
+ if (c.delete(u.assetId), d.source === "uploadAdapter") {
4239
+ d.reject(new Error(u.message));
4225
4240
  return;
4226
4241
  }
4227
4242
  m({
@@ -4233,12 +4248,12 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4233
4248
  }
4234
4249
  });
4235
4250
  }
4236
- }, T = (h, u) => new Promise((c, f) => {
4237
- d.set(u, {
4251
+ }, T = (h, u) => new Promise((d, f) => {
4252
+ c.set(u, {
4238
4253
  type: h,
4239
4254
  assetId: u,
4240
4255
  source: "uploadAdapter",
4241
- resolve: c,
4256
+ resolve: d,
4242
4257
  reject: f
4243
4258
  }), m({
4244
4259
  type: "editor.uploadRequest",
@@ -4249,8 +4264,8 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4249
4264
  }
4250
4265
  });
4251
4266
  }), g = (h) => {
4252
- const u = Wl(h);
4253
- d.set(u, {
4267
+ const u = Vl(h);
4268
+ c.set(u, {
4254
4269
  type: h,
4255
4270
  assetId: u,
4256
4271
  source: "nativePicker"
@@ -4268,53 +4283,53 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4268
4283
  }, L = (h) => {
4269
4284
  const u = i.get(h.payload.requestId);
4270
4285
  u && (i.delete(h.payload.requestId), u.request.cancel());
4271
- }, x = (h, u) => {
4272
- n == null || n.destroy(), o == null || o(), d.clear(), i.clear(), n = $l(e, {
4286
+ }, E = (h, u) => {
4287
+ n == null || n.destroy(), o == null || o(), c.clear(), i.clear(), n = Fl(e, {
4273
4288
  ...u,
4274
4289
  uploadAdapter: {
4275
- uploadImage(c, f) {
4290
+ uploadImage(d, f) {
4276
4291
  return T("image", f.assetId);
4277
4292
  },
4278
- uploadVideo(c, f) {
4293
+ uploadVideo(d, f) {
4279
4294
  return T("video", f.assetId);
4280
4295
  }
4281
4296
  },
4282
- onContentChange: (c) => {
4297
+ onContentChange: (d) => {
4283
4298
  m({
4284
4299
  type: "editor.contentChange",
4285
- payload: c
4300
+ payload: d
4286
4301
  }), _();
4287
4302
  },
4288
- onCommandStateChange: (c) => {
4303
+ onCommandStateChange: (d) => {
4289
4304
  m({
4290
4305
  type: "editor.commandStateChange",
4291
- payload: c
4306
+ payload: d
4292
4307
  });
4293
4308
  },
4294
- onPayloadPanelRequest: (c) => (i.set(c.id, { request: c }), m({
4309
+ onPayloadPanelRequest: (d) => (i.set(d.id, { request: d }), m({
4295
4310
  type: "editor.payloadPanelRequest",
4296
4311
  payload: {
4297
- menuId: c.menuId,
4298
- command: c.command,
4299
- panel: c.panel,
4300
- anchorRect: c.anchorRect,
4301
- currentValues: c.currentValues,
4302
- id: c.id,
4303
- readonly: c.readonly
4312
+ menuId: d.menuId,
4313
+ command: d.command,
4314
+ panel: d.panel,
4315
+ anchorRect: d.anchorRect,
4316
+ currentValues: d.currentValues,
4317
+ id: d.id,
4318
+ readonly: d.readonly
4304
4319
  }
4305
4320
  }), !0),
4306
- onError: (c) => {
4321
+ onError: (d) => {
4307
4322
  m({
4308
4323
  type: "editor.error",
4309
- payload: c
4324
+ payload: d
4310
4325
  });
4311
4326
  }
4312
- }), o = n.subscribeCommandStateChange((c) => {
4327
+ }), o = n.subscribeCommandStateChange((d) => {
4313
4328
  m({
4314
4329
  type: "editor.commandStateChange",
4315
- payload: c
4330
+ payload: d
4316
4331
  });
4317
- }), m(zl(h)), _();
4332
+ }), m(Wl(h)), _();
4318
4333
  }, P = (h) => {
4319
4334
  if (h.type === "media.pickImage") {
4320
4335
  g("image");
@@ -4326,10 +4341,10 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4326
4341
  }
4327
4342
  n == null || n.executeCommand(h);
4328
4343
  }, I = (h) => {
4329
- if (!(r || !Fl(h)))
4344
+ if (!(r || !zl(h)))
4330
4345
  switch (h.type) {
4331
4346
  case "editor.init":
4332
- x(h.id, h.payload);
4347
+ E(h.id, h.payload);
4333
4348
  return;
4334
4349
  case "editor.executeCommand":
4335
4350
  P(h.payload);
@@ -4360,19 +4375,19 @@ const Fl = (e) => !In(e) || !("id" in e) ? !1 : e.type === "editor.init" || e.ty
4360
4375
  return a = ((k = t.addMessageListener) == null ? void 0 : k.call(t, I)) ?? null, {
4361
4376
  receive: I,
4362
4377
  destroy() {
4363
- r || (r = !0, C(), a == null || a(), o == null || o(), d.clear(), i.clear(), n == null || n.destroy(), n = null);
4378
+ r || (r = !0, C(), a == null || a(), o == null || o(), c.clear(), i.clear(), n == null || n.destroy(), n = null);
4364
4379
  }
4365
4380
  };
4366
4381
  };
4367
4382
  export {
4368
- $l as a,
4369
- ac as b,
4383
+ Fl as a,
4384
+ sc as b,
4370
4385
  yn as c,
4371
- z as d,
4372
- La as e,
4373
- vn as f,
4374
- Ta as g,
4375
- wn as h,
4386
+ vn as d,
4387
+ wn as e,
4388
+ z as f,
4389
+ Sa as g,
4390
+ La as h,
4376
4391
  Ge as r
4377
4392
  };
4378
- //# sourceMappingURL=index-BQAzp56J.js.map
4393
+ //# sourceMappingURL=index-KRuLtGv9.js.map