@bygga.dev/editor 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,12 @@
1
- import { $ as e, A as t, B as n, C as r, D as i, E as a, F as o, H as s, I as c, J as l, K as u, L as d, M as f, O as p, R as m, S as h, T as ee, X as g, Z as _, _ as v, b as y, c as te, et as b, f as x, g as S, h as C, j as w, l as T, m as ne, p as E, r as D, rt as O, u as k, v as A, w as re, x as ie, z as j } from "./vue.runtime.esm-bundler-C8OyVIE3.js";
2
- import { Ct as ae, D as oe, Et as M, O as N, Q as se, St as ce, T as P, Tt as F, Z as le, _t as I, an as ue, at as de, bt as L, c as fe, ct as pe, dn as me, dt as he, en as ge, f as _e, ft as ve, gt as R, h as ye, ht as z, in as be, it as xe, k as B, l as Se, lt as Ce, mt as V, n as H, nn as we, nt as Te, o as Ee, on as De, ot as Oe, pn as ke, pt as Ae, rn as je, rt as Me, s as Ne, sn as Pe, st as U, t as Fe, tn as Ie, ut as Le, vt as W, wt as Re, xt as G, yt as K } from "./urls-Cw507ilt.js";
1
+ import { A as e, B as t, C as n, D as r, E as i, F as a, G as o, I as s, J as c, K as l, L as u, M as d, N as f, P as p, S as m, T as h, V as g, W as ee, Y as te, Z as _, _ as v, at as y, ct as b, f as x, ft as S, i as ne, j as C, k as w, lt as T, ot as re, q as ie, rt as ae, t as oe, tt as E, v as D, w as O, x as k, y as A, z as j } from "./providerKeys-BrTFiegH.js";
2
+ import { $ as se, $t as ce, K as le, Q as ue, Qt as de, Xt as fe, Yt as pe, Z as me, Zt as he, _ as M, _t as ge, at as N, b as P, bt as F, c as _e, cn as ve, ct as ye, dt as I, en as be, et as xe, ft as L, gt as R, ht as z, it as Se, l as Ce, lt as we, mt as B, n as Te, nn as Ee, nt as V, o as De, on as Oe, ot as H, pt as U, q as ke, rt as Ae, s as je, st as W, t as Me, tn as Ne, tt as Pe, u as Fe, ut as Ie, vt as Le, w as Re, xt as G, y as ze, yt as Be } from "./urls-B4ECLEvt.js";
3
3
  //#region ../../node_modules/.pnpm/prosemirror-dropcursor@1.8.2/node_modules/prosemirror-dropcursor/dist/index.js
4
- function ze(e = {}) {
5
- return new K({ view(t) {
6
- return new Be(t, e);
4
+ function Ve(e = {}) {
5
+ return new B({ view(t) {
6
+ return new He(t, e);
7
7
  } });
8
8
  }
9
- var Be = class {
9
+ var He = class {
10
10
  constructor(e, t) {
11
11
  this.editorView = e, this.cursorPos = null, this.element = null, this.timeout = -1, this.width = t.width ?? 1, this.color = t.color === !1 ? void 0 : t.color || "black", this.class = t.class, this.handlers = [
12
12
  "dragover",
@@ -82,7 +82,7 @@ var Be = class {
82
82
  if (t && !i) {
83
83
  let e = t.pos;
84
84
  if (this.editorView.dragging && this.editorView.dragging.slice) {
85
- let t = Re(this.editorView.state.doc, e, this.editorView.dragging.slice);
85
+ let t = Be(this.editorView.state.doc, e, this.editorView.dragging.slice);
86
86
  t != null && (e = t);
87
87
  }
88
88
  this.setCursor(e), this.scheduleRemoval(5e3);
@@ -97,16 +97,16 @@ var Be = class {
97
97
  dragleave(e) {
98
98
  this.editorView.dom.contains(e.relatedTarget) || this.setCursor(null);
99
99
  }
100
- }, q = class e extends G {
100
+ }, K = class e extends R {
101
101
  constructor(e) {
102
102
  super(e, e);
103
103
  }
104
104
  map(t, n) {
105
105
  let r = t.resolve(n.map(this.head));
106
- return e.valid(r) ? new e(r) : G.near(r);
106
+ return e.valid(r) ? new e(r) : R.near(r);
107
107
  }
108
108
  content() {
109
- return M.empty;
109
+ return G.empty;
110
110
  }
111
111
  eq(t) {
112
112
  return t instanceof e && t.head == this.head;
@@ -122,11 +122,11 @@ var Be = class {
122
122
  return new e(t.resolve(n.pos));
123
123
  }
124
124
  getBookmark() {
125
- return new Ve(this.anchor);
125
+ return new Ue(this.anchor);
126
126
  }
127
127
  static valid(e) {
128
128
  let t = e.parent;
129
- if (t.inlineContent || !Ue(e) || !We(e)) return !1;
129
+ if (t.inlineContent || !Ge(e) || !Ke(e)) return !1;
130
130
  let n = t.type.spec.allowGapCursor;
131
131
  if (n != null) return n;
132
132
  let r = t.contentMatchAt(e.index()).defaultType;
@@ -149,7 +149,7 @@ var Be = class {
149
149
  for (;;) {
150
150
  let o = n > 0 ? a.firstChild : a.lastChild;
151
151
  if (!o) {
152
- if (a.isAtom && !a.isText && !W.isSelectable(a)) {
152
+ if (a.isAtom && !a.isText && !U.isSelectable(a)) {
153
153
  t = t.doc.resolve(i + a.nodeSize * n), r = !1;
154
154
  continue search;
155
155
  }
@@ -163,8 +163,8 @@ var Be = class {
163
163
  }
164
164
  }
165
165
  };
166
- q.prototype.visible = !1, q.findFrom = q.findGapCursorFrom, G.jsonID("gapcursor", q);
167
- var Ve = class e {
166
+ K.prototype.visible = !1, K.findFrom = K.findGapCursorFrom, R.jsonID("gapcursor", K);
167
+ var Ue = class e {
168
168
  constructor(e) {
169
169
  this.pos = e;
170
170
  }
@@ -173,13 +173,13 @@ var Ve = class e {
173
173
  }
174
174
  resolve(e) {
175
175
  let t = e.resolve(this.pos);
176
- return q.valid(t) ? new q(t) : G.near(t);
176
+ return K.valid(t) ? new K(t) : R.near(t);
177
177
  }
178
178
  };
179
- function He(e) {
179
+ function We(e) {
180
180
  return e.isAtom || e.spec.isolating || e.spec.createGapCursor;
181
181
  }
182
- function Ue(e) {
182
+ function Ge(e) {
183
183
  for (let t = e.depth; t >= 0; t--) {
184
184
  let n = e.index(t), r = e.node(t);
185
185
  if (n == 0) {
@@ -187,13 +187,13 @@ function Ue(e) {
187
187
  continue;
188
188
  }
189
189
  for (let e = r.child(n - 1);; e = e.lastChild) {
190
- if (e.childCount == 0 && !e.inlineContent || He(e.type)) return !0;
190
+ if (e.childCount == 0 && !e.inlineContent || We(e.type)) return !0;
191
191
  if (e.inlineContent) return !1;
192
192
  }
193
193
  }
194
194
  return !0;
195
195
  }
196
- function We(e) {
196
+ function Ke(e) {
197
197
  for (let t = e.depth; t >= 0; t--) {
198
198
  let n = e.indexAfter(t), r = e.node(t);
199
199
  if (n == r.childCount) {
@@ -201,74 +201,74 @@ function We(e) {
201
201
  continue;
202
202
  }
203
203
  for (let e = r.child(n);; e = e.firstChild) {
204
- if (e.childCount == 0 && !e.inlineContent || He(e.type)) return !0;
204
+ if (e.childCount == 0 && !e.inlineContent || We(e.type)) return !0;
205
205
  if (e.inlineContent) return !1;
206
206
  }
207
207
  }
208
208
  return !0;
209
209
  }
210
- function Ge() {
211
- return new K({ props: {
212
- decorations: Xe,
210
+ function qe() {
211
+ return new B({ props: {
212
+ decorations: Ze,
213
213
  createSelectionBetween(e, t, n) {
214
- return t.pos == n.pos && q.valid(n) ? new q(n) : null;
214
+ return t.pos == n.pos && K.valid(n) ? new K(n) : null;
215
215
  },
216
- handleClick: Je,
217
- handleKeyDown: Ke,
218
- handleDOMEvents: { beforeinput: Ye }
216
+ handleClick: Ye,
217
+ handleKeyDown: Je,
218
+ handleDOMEvents: { beforeinput: Xe }
219
219
  } });
220
220
  }
221
- var Ke = z({
222
- ArrowLeft: qe("horiz", -1),
223
- ArrowRight: qe("horiz", 1),
224
- ArrowUp: qe("vert", -1),
225
- ArrowDown: qe("vert", 1)
221
+ var Je = Ie({
222
+ ArrowLeft: q("horiz", -1),
223
+ ArrowRight: q("horiz", 1),
224
+ ArrowUp: q("vert", -1),
225
+ ArrowDown: q("vert", 1)
226
226
  });
227
- function qe(e, t) {
227
+ function q(e, t) {
228
228
  let n = e == "vert" ? t > 0 ? "down" : "up" : t > 0 ? "right" : "left";
229
229
  return function(e, r, i) {
230
230
  let a = e.selection, o = t > 0 ? a.$to : a.$from, s = a.empty;
231
- if (a instanceof ce) {
231
+ if (a instanceof ge) {
232
232
  if (!i.endOfTextblock(n) || o.depth == 0) return !1;
233
233
  s = !1, o = e.doc.resolve(t > 0 ? o.after() : o.before());
234
234
  }
235
- let c = q.findGapCursorFrom(o, t, s);
236
- return c ? (r && r(e.tr.setSelection(new q(c))), !0) : !1;
235
+ let c = K.findGapCursorFrom(o, t, s);
236
+ return c ? (r && r(e.tr.setSelection(new K(c))), !0) : !1;
237
237
  };
238
238
  }
239
- function Je(e, t, n) {
239
+ function Ye(e, t, n) {
240
240
  if (!e || !e.editable) return !1;
241
241
  let r = e.state.doc.resolve(t);
242
- if (!q.valid(r)) return !1;
242
+ if (!K.valid(r)) return !1;
243
243
  let i = e.posAtCoords({
244
244
  left: n.clientX,
245
245
  top: n.clientY
246
246
  });
247
- return i && i.inside > -1 && W.isSelectable(e.state.doc.nodeAt(i.inside)) ? !1 : (e.dispatch(e.state.tr.setSelection(new q(r))), !0);
247
+ return i && i.inside > -1 && U.isSelectable(e.state.doc.nodeAt(i.inside)) ? !1 : (e.dispatch(e.state.tr.setSelection(new K(r))), !0);
248
248
  }
249
- function Ye(e, t) {
250
- if (t.inputType != "insertCompositionText" || !(e.state.selection instanceof q)) return !1;
249
+ function Xe(e, t) {
250
+ if (t.inputType != "insertCompositionText" || !(e.state.selection instanceof K)) return !1;
251
251
  let { $from: n } = e.state.selection, r = n.parent.contentMatchAt(n.index()).findWrapping(e.state.schema.nodes.text);
252
252
  if (!r) return !1;
253
253
  let i = F.empty;
254
254
  for (let e = r.length - 1; e >= 0; e--) i = F.from(r[e].createAndFill(null, i));
255
- let a = e.state.tr.replace(n.pos, n.pos, new M(i, 0, 0));
256
- return a.setSelection(ce.near(a.doc.resolve(n.pos + 1))), e.dispatch(a), !1;
255
+ let a = e.state.tr.replace(n.pos, n.pos, new G(i, 0, 0));
256
+ return a.setSelection(ge.near(a.doc.resolve(n.pos + 1))), e.dispatch(a), !1;
257
257
  }
258
- function Xe(e) {
259
- if (!(e.selection instanceof q)) return null;
258
+ function Ze(e) {
259
+ if (!(e.selection instanceof K)) return null;
260
260
  let t = document.createElement("div");
261
- return t.className = "ProseMirror-gapcursor", I.create(e.doc, [R.widget(e.selection.head, t, { key: "gapcursor" })]);
261
+ return t.className = "ProseMirror-gapcursor", L.create(e.doc, [I.widget(e.selection.head, t, { key: "gapcursor" })]);
262
262
  }
263
263
  //#endregion
264
264
  //#region ../../node_modules/.pnpm/rope-sequence@1.3.4/node_modules/rope-sequence/dist/index.js
265
- var Ze = 200, J = function() {};
265
+ var Qe = 200, J = function() {};
266
266
  J.prototype.append = function(e) {
267
- return e.length ? (e = J.from(e), !this.length && e || e.length < Ze && this.leafAppend(e) || this.length < Ze && e.leafPrepend(this) || this.appendInner(e)) : this;
267
+ return e.length ? (e = J.from(e), !this.length && e || e.length < Qe && this.leafAppend(e) || this.length < Qe && e.leafPrepend(this) || this.appendInner(e)) : this;
268
268
  }, J.prototype.prepend = function(e) {
269
269
  return e.length ? J.from(e).append(this) : this;
270
270
  }, J.prototype.appendInner = function(e) {
271
- return new $e(this, e);
271
+ return new et(this, e);
272
272
  }, J.prototype.slice = function(e, t) {
273
273
  return e === void 0 && (e = 0), t === void 0 && (t = this.length), e >= t ? J.empty : this.sliceInner(Math.max(0, e), Math.min(this.length, t));
274
274
  }, J.prototype.get = function(e) {
@@ -282,9 +282,9 @@ J.prototype.append = function(e) {
282
282
  return r.push(e(t, n));
283
283
  }, t, n), r;
284
284
  }, J.from = function(e) {
285
- return e instanceof J ? e : e && e.length ? new Qe(e) : J.empty;
285
+ return e instanceof J ? e : e && e.length ? new $e(e) : J.empty;
286
286
  };
287
- var Qe = /* @__PURE__ */ function(e) {
287
+ var $e = /* @__PURE__ */ function(e) {
288
288
  function t(t) {
289
289
  e.call(this), this.values = t;
290
290
  }
@@ -304,17 +304,17 @@ var Qe = /* @__PURE__ */ function(e) {
304
304
  }, t.prototype.forEachInvertedInner = function(e, t, n, r) {
305
305
  for (var i = t - 1; i >= n; i--) if (e(this.values[i], r + i) === !1) return !1;
306
306
  }, t.prototype.leafAppend = function(e) {
307
- if (this.length + e.length <= Ze) return new t(this.values.concat(e.flatten()));
307
+ if (this.length + e.length <= Qe) return new t(this.values.concat(e.flatten()));
308
308
  }, t.prototype.leafPrepend = function(e) {
309
- if (this.length + e.length <= Ze) return new t(e.flatten().concat(this.values));
309
+ if (this.length + e.length <= Qe) return new t(e.flatten().concat(this.values));
310
310
  }, n.length.get = function() {
311
311
  return this.values.length;
312
312
  }, n.depth.get = function() {
313
313
  return 0;
314
314
  }, Object.defineProperties(t.prototype, n), t;
315
315
  }(J);
316
- J.empty = new Qe([]);
317
- var $e = /* @__PURE__ */ function(e) {
316
+ J.empty = new $e([]);
317
+ var et = /* @__PURE__ */ function(e) {
318
318
  function t(t, n) {
319
319
  e.call(this), this.left = t, this.right = n, this.length = t.length + n.length, this.depth = Math.max(t.depth, n.depth) + 1;
320
320
  }
@@ -341,7 +341,7 @@ var $e = /* @__PURE__ */ function(e) {
341
341
  }, t.prototype.appendInner = function(e) {
342
342
  return this.left.depth >= Math.max(this.right.depth, e.depth) + 1 ? new t(this.left, new t(this.right, e)) : new t(this, e);
343
343
  }, t;
344
- }(J), et = 500, Y = class e {
344
+ }(J), tt = 500, Y = class e {
345
345
  constructor(e, t) {
346
346
  this.items = e, this.eventCount = t;
347
347
  }
@@ -379,10 +379,10 @@ var $e = /* @__PURE__ */ function(e) {
379
379
  (u = c && c.merge(l)) && (l = u, e ? a.pop() : s = s.slice(0, s.length - 1)), a.push(l), n &&= (o++, void 0), i || (c = l);
380
380
  }
381
381
  let l = o - r.depth;
382
- return l > nt && (s = tt(s, l), o -= l), new e(s.append(a), o);
382
+ return l > rt && (s = nt(s, l), o -= l), new e(s.append(a), o);
383
383
  }
384
384
  remapping(e, t) {
385
- let n = new ae();
385
+ let n = new Le();
386
386
  return this.items.forEach((t, r) => {
387
387
  let i = t.mirrorOffset != null && r - t.mirrorOffset >= e ? n.maps.length - t.mirrorOffset : void 0;
388
388
  n.appendMap(t.map, i);
@@ -411,7 +411,7 @@ var $e = /* @__PURE__ */ function(e) {
411
411
  let l = [];
412
412
  for (let e = n; e < o; e++) l.push(new X(a.maps[e]));
413
413
  let u = new e(this.items.slice(0, i).append(l).append(r), s);
414
- return u.emptyItemCount() > et && (u = u.compress(this.items.length - r.length)), u;
414
+ return u.emptyItemCount() > tt && (u = u.compress(this.items.length - r.length)), u;
415
415
  }
416
416
  emptyItemCount() {
417
417
  let e = 0;
@@ -436,7 +436,7 @@ var $e = /* @__PURE__ */ function(e) {
436
436
  }
437
437
  };
438
438
  Y.empty = new Y(J.empty, 0);
439
- function tt(e, t) {
439
+ function nt(e, t) {
440
440
  let n;
441
441
  return e.forEach((e, r) => {
442
442
  if (e.selection && t-- == 0) return n = r, !1;
@@ -456,21 +456,21 @@ var X = class e {
456
456
  constructor(e, t, n, r, i) {
457
457
  this.done = e, this.undone = t, this.prevRanges = n, this.prevTime = r, this.prevComposition = i;
458
458
  }
459
- }, nt = 20;
460
- function rt(e, t, n, r) {
459
+ }, rt = 20;
460
+ function it(e, t, n, r) {
461
461
  let i = n.getMeta(Q), a;
462
462
  if (i) return i.historyState;
463
- n.getMeta(dt) && (e = new Z(e.done, e.undone, null, 0, -1));
463
+ n.getMeta(ft) && (e = new Z(e.done, e.undone, null, 0, -1));
464
464
  let o = n.getMeta("appendedTransaction");
465
465
  if (n.steps.length == 0) return e;
466
- if (o && o.getMeta(Q)) return o.getMeta(Q).redo ? new Z(e.done.addTransform(n, void 0, r, ut(t)), e.undone, at(n.mapping.maps), e.prevTime, e.prevComposition) : new Z(e.done, e.undone.addTransform(n, void 0, r, ut(t)), null, e.prevTime, e.prevComposition);
466
+ if (o && o.getMeta(Q)) return o.getMeta(Q).redo ? new Z(e.done.addTransform(n, void 0, r, dt(t)), e.undone, ot(n.mapping.maps), e.prevTime, e.prevComposition) : new Z(e.done, e.undone.addTransform(n, void 0, r, dt(t)), null, e.prevTime, e.prevComposition);
467
467
  if (n.getMeta("addToHistory") !== !1 && !(o && o.getMeta("addToHistory") === !1)) {
468
- let i = n.getMeta("composition"), a = e.prevTime == 0 || !o && e.prevComposition != i && (e.prevTime < (n.time || 0) - r.newGroupDelay || !it(n, e.prevRanges)), s = o ? ot(e.prevRanges, n.mapping) : at(n.mapping.maps);
469
- return new Z(e.done.addTransform(n, a ? t.selection.getBookmark() : void 0, r, ut(t)), Y.empty, s, n.time, i ?? e.prevComposition);
470
- } else if (a = n.getMeta("rebased")) return new Z(e.done.rebased(n, a), e.undone.rebased(n, a), ot(e.prevRanges, n.mapping), e.prevTime, e.prevComposition);
471
- else return new Z(e.done.addMaps(n.mapping.maps), e.undone.addMaps(n.mapping.maps), ot(e.prevRanges, n.mapping), e.prevTime, e.prevComposition);
468
+ let i = n.getMeta("composition"), a = e.prevTime == 0 || !o && e.prevComposition != i && (e.prevTime < (n.time || 0) - r.newGroupDelay || !at(n, e.prevRanges)), s = o ? st(e.prevRanges, n.mapping) : ot(n.mapping.maps);
469
+ return new Z(e.done.addTransform(n, a ? t.selection.getBookmark() : void 0, r, dt(t)), Y.empty, s, n.time, i ?? e.prevComposition);
470
+ } else if (a = n.getMeta("rebased")) return new Z(e.done.rebased(n, a), e.undone.rebased(n, a), st(e.prevRanges, n.mapping), e.prevTime, e.prevComposition);
471
+ else return new Z(e.done.addMaps(n.mapping.maps), e.undone.addMaps(n.mapping.maps), st(e.prevRanges, n.mapping), e.prevTime, e.prevComposition);
472
472
  }
473
- function it(e, t) {
473
+ function at(e, t) {
474
474
  if (!t) return !1;
475
475
  if (!e.docChanged) return !0;
476
476
  let n = !1;
@@ -478,12 +478,12 @@ function it(e, t) {
478
478
  for (let i = 0; i < t.length; i += 2) e <= t[i + 1] && r >= t[i] && (n = !0);
479
479
  }), n;
480
480
  }
481
- function at(e) {
481
+ function ot(e) {
482
482
  let t = [];
483
483
  for (let n = e.length - 1; n >= 0 && t.length == 0; n--) e[n].forEach((e, n, r, i) => t.push(r, i));
484
484
  return t;
485
485
  }
486
- function ot(e, t) {
486
+ function st(e, t) {
487
487
  if (!e) return null;
488
488
  let n = [];
489
489
  for (let r = 0; r < e.length; r += 2) {
@@ -492,8 +492,8 @@ function ot(e, t) {
492
492
  }
493
493
  return n;
494
494
  }
495
- function st(e, t, n) {
496
- let r = ut(t), i = Q.get(t).spec.config, a = (n ? e.undone : e.done).popEvent(t, r);
495
+ function ct(e, t, n) {
496
+ let r = dt(t), i = Q.get(t).spec.config, a = (n ? e.undone : e.done).popEvent(t, r);
497
497
  if (!a) return null;
498
498
  let o = a.selection.resolve(a.transform.doc), s = (n ? e.done : e.undone).addTransform(a.transform, t.selection.getBookmark(), i, r), c = new Z(n ? s : a.remaining, n ? a.remaining : s, null, 0, -1);
499
499
  return a.transform.setSelection(o).setMeta(Q, {
@@ -501,53 +501,53 @@ function st(e, t, n) {
501
501
  historyState: c
502
502
  });
503
503
  }
504
- var ct = !1, lt = null;
505
- function ut(e) {
504
+ var lt = !1, ut = null;
505
+ function dt(e) {
506
506
  let t = e.plugins;
507
- if (lt != t) {
508
- ct = !1, lt = t;
507
+ if (ut != t) {
508
+ lt = !1, ut = t;
509
509
  for (let e = 0; e < t.length; e++) if (t[e].spec.historyPreserveItems) {
510
- ct = !0;
510
+ lt = !0;
511
511
  break;
512
512
  }
513
513
  }
514
- return ct;
514
+ return lt;
515
515
  }
516
- var Q = new L("history"), dt = new L("closeHistory");
517
- function ft(e = {}) {
516
+ var Q = new z("history"), ft = new z("closeHistory");
517
+ function pt(e = {}) {
518
518
  return e = {
519
519
  depth: e.depth || 100,
520
520
  newGroupDelay: e.newGroupDelay || 500
521
- }, new K({
521
+ }, new B({
522
522
  key: Q,
523
523
  state: {
524
524
  init() {
525
525
  return new Z(Y.empty, Y.empty, null, 0, -1);
526
526
  },
527
527
  apply(t, n, r) {
528
- return rt(n, r, t, e);
528
+ return it(n, r, t, e);
529
529
  }
530
530
  },
531
531
  config: e,
532
532
  props: { handleDOMEvents: { beforeinput(e, t) {
533
- let n = t.inputType, r = n == "historyUndo" ? mt : n == "historyRedo" ? ht : null;
533
+ let n = t.inputType, r = n == "historyUndo" ? ht : n == "historyRedo" ? gt : null;
534
534
  return !r || !e.editable ? !1 : (t.preventDefault(), r(e.state, e.dispatch));
535
535
  } } }
536
536
  });
537
537
  }
538
- function pt(e, t) {
538
+ function mt(e, t) {
539
539
  return (n, r) => {
540
540
  let i = Q.getState(n);
541
541
  if (!i || (e ? i.undone : i.done).eventCount == 0) return !1;
542
542
  if (r) {
543
- let a = st(i, n, e);
543
+ let a = ct(i, n, e);
544
544
  a && r(t ? a.scrollIntoView() : a);
545
545
  }
546
546
  return !0;
547
547
  };
548
548
  }
549
- var mt = pt(!1, !0), ht = pt(!0, !0);
550
- U.create({
549
+ var ht = mt(!1, !0), gt = mt(!0, !0);
550
+ V.create({
551
551
  name: "characterCount",
552
552
  addOptions() {
553
553
  return {
@@ -579,8 +579,8 @@ U.create({
579
579
  },
580
580
  addProseMirrorPlugins() {
581
581
  let e = !1;
582
- return [new K({
583
- key: new L("characterCount"),
582
+ return [new B({
583
+ key: new z("characterCount"),
584
584
  appendTransaction: (t, n, r) => {
585
585
  if (e) return;
586
586
  let i = this.options.limit, a = this.options.autoTrim;
@@ -608,7 +608,7 @@ U.create({
608
608
  }
609
609
  })];
610
610
  }
611
- }), U.create({
611
+ }), V.create({
612
612
  name: "dropCursor",
613
613
  addOptions() {
614
614
  return {
@@ -618,9 +618,9 @@ U.create({
618
618
  };
619
619
  },
620
620
  addProseMirrorPlugins() {
621
- return [ze(this.options)];
621
+ return [Ve(this.options)];
622
622
  }
623
- }), U.create({
623
+ }), V.create({
624
624
  name: "focus",
625
625
  addOptions() {
626
626
  return {
@@ -629,11 +629,11 @@ U.create({
629
629
  };
630
630
  },
631
631
  addProseMirrorPlugins() {
632
- return [new K({
633
- key: new L("focus"),
632
+ return [new B({
633
+ key: new z("focus"),
634
634
  props: { decorations: ({ doc: e, selection: t }) => {
635
635
  let { isEditable: n, isFocused: r } = this.editor, { anchor: i } = t, a = [];
636
- if (!n || !r) return I.create(e, []);
636
+ if (!n || !r) return L.create(e, []);
637
637
  let o = 0;
638
638
  this.options.mode === "deepest" && e.descendants((e, t) => {
639
639
  if (!e.isText) {
@@ -645,28 +645,28 @@ U.create({
645
645
  return e.descendants((e, t) => {
646
646
  if (e.isText || !(i >= t && i <= t + e.nodeSize - 1)) return !1;
647
647
  if (s += 1, this.options.mode === "deepest" && o - s > 0 || this.options.mode === "shallowest" && s > 1) return this.options.mode === "deepest";
648
- a.push(R.node(t, t + e.nodeSize, { class: this.options.className }));
649
- }), I.create(e, a);
648
+ a.push(I.node(t, t + e.nodeSize, { class: this.options.className }));
649
+ }), L.create(e, a);
650
650
  } }
651
651
  })];
652
652
  }
653
- }), U.create({
653
+ }), V.create({
654
654
  name: "gapCursor",
655
655
  addProseMirrorPlugins() {
656
- return [Ge()];
656
+ return [qe()];
657
657
  },
658
658
  extendNodeSchema(e) {
659
- return { allowGapCursor: Ce(he(e, "allowGapCursor", {
659
+ return { allowGapCursor: Se(H(e, "allowGapCursor", {
660
660
  name: e.name,
661
661
  options: e.options,
662
662
  storage: e.storage
663
663
  })) ?? null };
664
664
  }
665
665
  });
666
- var gt = "placeholder", $ = new L("tiptap__placeholder"), _t = 200;
667
- function vt(e) {
666
+ var _t = "placeholder", $ = new z("tiptap__placeholder"), vt = 200;
667
+ function yt(e) {
668
668
  let { editor: t, placeholder: n, dataAttribute: r, pos: i, node: a, isEmptyDoc: o, hasAnchor: s, classes: { emptyNode: c, emptyEditor: l } } = e, u = [c];
669
- return o && u.push(l), R.node(i, i + a.nodeSize, {
669
+ return o && u.push(l), I.node(i, i + a.nodeSize, {
670
670
  class: u.join(" "),
671
671
  [r]: typeof n == "function" ? n({
672
672
  editor: t,
@@ -676,17 +676,17 @@ function vt(e) {
676
676
  }) : n
677
677
  });
678
678
  }
679
- function yt(e, t) {
679
+ function bt(e, t) {
680
680
  return typeof e == "function" ? e(t) : e;
681
681
  }
682
- function bt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
682
+ function xt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
683
683
  if (!(e.isEditable || !t.showOnlyWhenEditable)) return null;
684
684
  let { anchor: a } = i, o = [], s = e.isEmpty;
685
685
  if (t.showOnlyCurrent && !t.includeChildren) {
686
686
  let i = r.resolve(a), c = i.depth > 0 ? i.node(1) : i.nodeAfter, l = i.depth > 0 ? i.before(1) : a;
687
- if (c && c.type.isTextblock && ve(c)) {
687
+ if (c && c.type.isTextblock && W(c)) {
688
688
  let r = a >= l && a <= l + c.nodeSize;
689
- o.push(vt({
689
+ o.push(yt({
690
690
  editor: e,
691
691
  isEmptyDoc: s,
692
692
  dataAttribute: n,
@@ -694,7 +694,7 @@ function bt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
694
694
  placeholder: t.placeholder,
695
695
  classes: {
696
696
  emptyEditor: t.emptyEditorClass,
697
- emptyNode: yt(t.emptyNodeClass, {
697
+ emptyNode: bt(t.emptyNodeClass, {
698
698
  editor: e,
699
699
  node: c,
700
700
  pos: l,
@@ -708,8 +708,8 @@ function bt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
708
708
  } else {
709
709
  let i = $.getState(e.state), c = i?.topPos ?? 0, l = i?.bottomPos ?? r.content.size;
710
710
  r.nodesBetween(c, l, (r, i) => {
711
- let c = a >= i && a <= i + r.nodeSize, l = !r.isLeaf && ve(r);
712
- return r.type.isTextblock && (c || !t.showOnlyCurrent) && l && o.push(vt({
711
+ let c = a >= i && a <= i + r.nodeSize, l = !r.isLeaf && W(r);
712
+ return r.type.isTextblock && (c || !t.showOnlyCurrent) && l && o.push(yt({
713
713
  editor: e,
714
714
  isEmptyDoc: s,
715
715
  dataAttribute: n,
@@ -717,7 +717,7 @@ function bt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
717
717
  placeholder: t.placeholder,
718
718
  classes: {
719
719
  emptyEditor: t.emptyEditorClass,
720
- emptyNode: yt(t.emptyNodeClass, {
720
+ emptyNode: bt(t.emptyNodeClass, {
721
721
  editor: e,
722
722
  node: r,
723
723
  pos: i,
@@ -729,19 +729,19 @@ function bt({ editor: e, options: t, dataAttribute: n, doc: r, selection: i }) {
729
729
  })), t.includeChildren;
730
730
  });
731
731
  }
732
- return I.create(r, o);
732
+ return L.create(r, o);
733
733
  }
734
- function xt(e) {
734
+ function St(e) {
735
735
  return e.replace(/\s+/g, "-").replace(/[^a-zA-Z0-9-]/g, "").replace(/^[0-9-]+/, "").replace(/^-+/, "").toLowerCase();
736
736
  }
737
- function St(e) {
737
+ function Ct(e) {
738
738
  let t = getComputedStyle(e), n = `${t.overflow} ${t.overflowY} ${t.overflowX}`;
739
739
  return /auto|scroll|overlay/.test(n);
740
740
  }
741
- function Ct(e) {
741
+ function wt(e) {
742
742
  let t = e;
743
743
  for (; t;) {
744
- if (St(t)) return t;
744
+ if (Ct(t)) return t;
745
745
  let e = t.parentElement;
746
746
  if (!e) {
747
747
  let e = t.getRootNode();
@@ -755,19 +755,19 @@ function Ct(e) {
755
755
  }
756
756
  return window;
757
757
  }
758
- function wt(e) {
758
+ function Tt(e) {
759
759
  return e === window ? {
760
760
  top: 0,
761
761
  bottom: window.innerHeight
762
762
  } : e.getBoundingClientRect();
763
763
  }
764
- function Tt({ view: e, scrollContainer: t }) {
764
+ function Et({ view: e, scrollContainer: t }) {
765
765
  let n = e.dom.getBoundingClientRect();
766
766
  if (n.width <= 0 || n.height <= 0) return null;
767
- let r = t ? wt(t) : {
767
+ let r = t ? Tt(t) : {
768
768
  top: 0,
769
769
  bottom: window.innerHeight
770
- }, i = Math.max(n.top, r.top) - _t, a = Math.min(n.bottom, r.bottom) + _t;
770
+ }, i = Math.max(n.top, r.top) - vt, a = Math.min(n.bottom, r.bottom) + vt;
771
771
  if (i >= a) return null;
772
772
  let o = n.left + 1, s = n.right - 1;
773
773
  if (o > s) return null;
@@ -785,7 +785,7 @@ function Tt({ view: e, scrollContainer: t }) {
785
785
  bottom: p.pos
786
786
  };
787
787
  }
788
- var Et = {
788
+ var Dt = {
789
789
  init() {
790
790
  return {
791
791
  topPos: null,
@@ -803,9 +803,9 @@ var Et = {
803
803
  } : t;
804
804
  }
805
805
  };
806
- function Dt(e) {
807
- let t = Ct(e.dom), n = () => {
808
- let n = Tt({
806
+ function Ot(e) {
807
+ let t = wt(e.dom), n = () => {
808
+ let n = Et({
809
809
  view: e,
810
810
  scrollContainer: t
811
811
  });
@@ -834,13 +834,13 @@ function Dt(e) {
834
834
  }
835
835
  };
836
836
  }
837
- function Ot({ editor: e, options: t }) {
838
- let n = t.dataAttribute ? `data-${xt(t.dataAttribute)}` : `data-${gt}`;
839
- return new K({
837
+ function kt({ editor: e, options: t }) {
838
+ let n = t.dataAttribute ? `data-${St(t.dataAttribute)}` : `data-${_t}`;
839
+ return new B({
840
840
  key: $,
841
- state: Et,
842
- view: Dt,
843
- props: { decorations: ({ doc: r, selection: i }) => bt({
841
+ state: Dt,
842
+ view: Ot,
843
+ props: { decorations: ({ doc: r, selection: i }) => xt({
844
844
  editor: e,
845
845
  options: t,
846
846
  dataAttribute: n,
@@ -849,13 +849,13 @@ function Ot({ editor: e, options: t }) {
849
849
  }) }
850
850
  });
851
851
  }
852
- var kt = U.create({
852
+ var At = V.create({
853
853
  name: "placeholder",
854
854
  addOptions() {
855
855
  return {
856
856
  emptyEditorClass: "is-editor-empty",
857
857
  emptyNodeClass: "is-empty",
858
- dataAttribute: gt,
858
+ dataAttribute: _t,
859
859
  placeholder: "Write something …",
860
860
  showOnlyWhenEditable: !0,
861
861
  showOnlyCurrent: !0,
@@ -863,31 +863,31 @@ var kt = U.create({
863
863
  };
864
864
  },
865
865
  addProseMirrorPlugins() {
866
- return [Ot({
866
+ return [kt({
867
867
  editor: this.editor,
868
868
  options: this.options
869
869
  })];
870
870
  }
871
- }), At = ".ProseMirror:not(.ProseMirror-focused) *::selection {\n background: transparent;\n}\n\n.ProseMirror:not(.ProseMirror-focused) *::-moz-selection {\n background: transparent;\n}";
872
- U.create({
871
+ }), jt = ".ProseMirror:not(.ProseMirror-focused) *::selection {\n background: transparent;\n}\n\n.ProseMirror:not(.ProseMirror-focused) *::-moz-selection {\n background: transparent;\n}";
872
+ V.create({
873
873
  name: "selection",
874
874
  addOptions() {
875
875
  return { className: "selection" };
876
876
  },
877
877
  addProseMirrorPlugins() {
878
878
  let { editor: e, options: t } = this;
879
- return e.options.injectCSS && typeof document < "u" && Le(At, e.options.injectNonce, "selection"), [new K({
880
- key: new L("selection"),
879
+ return e.options.injectCSS && typeof document < "u" && N(jt, e.options.injectNonce, "selection"), [new B({
880
+ key: new z("selection"),
881
881
  props: { decorations(n) {
882
- return n.selection.empty || e.isFocused || !e.isEditable || Ae(n.selection) || e.view.dragging ? null : I.create(n.doc, [R.inline(n.selection.from, n.selection.to, { class: t.className })]);
882
+ return n.selection.empty || e.isFocused || !e.isEditable || ye(n.selection) || e.view.dragging ? null : L.create(n.doc, [I.inline(n.selection.from, n.selection.to, { class: t.className })]);
883
883
  } }
884
884
  })];
885
885
  }
886
886
  });
887
- function jt({ types: e, node: t }) {
887
+ function Mt({ types: e, node: t }) {
888
888
  return t && Array.isArray(e) && e.includes(t.type) || t?.type === e;
889
889
  }
890
- U.create({
890
+ V.create({
891
891
  name: "trailingNode",
892
892
  addOptions() {
893
893
  return {
@@ -896,8 +896,8 @@ U.create({
896
896
  };
897
897
  },
898
898
  addProseMirrorPlugins() {
899
- let e = new L(this.name), t = this.options.node || this.editor.schema.topNodeType.contentMatch.defaultType?.name || "paragraph", n = Object.entries(this.editor.schema.nodes).map(([, e]) => e).filter((e) => (this.options.notAfter || []).concat(t).includes(e.name));
900
- return [new K({
899
+ let e = new z(this.name), t = this.options.node || this.editor.schema.topNodeType.contentMatch.defaultType?.name || "paragraph", n = Object.entries(this.editor.schema.nodes).map(([, e]) => e).filter((e) => (this.options.notAfter || []).concat(t).includes(e.name));
900
+ return [new B({
901
901
  key: e,
902
902
  appendTransaction: (n, r, i) => {
903
903
  let { doc: a, tr: o, schema: s } = i, c = e.getState(i), l = a.content.size, u = s.nodes[t];
@@ -906,7 +906,7 @@ U.create({
906
906
  state: {
907
907
  init: (e, t) => {
908
908
  let r = t.tr.doc.lastChild;
909
- return !jt({
909
+ return !Mt({
910
910
  node: r,
911
911
  types: n
912
912
  });
@@ -914,7 +914,7 @@ U.create({
914
914
  apply: (e, t) => {
915
915
  if (!e.docChanged || e.getMeta("__uniqueIDTransaction")) return t;
916
916
  let r = e.doc.lastChild;
917
- return !jt({
917
+ return !Mt({
918
918
  node: r,
919
919
  types: n
920
920
  });
@@ -923,7 +923,7 @@ U.create({
923
923
  })];
924
924
  }
925
925
  });
926
- var Mt = U.create({
926
+ var Nt = V.create({
927
927
  name: "undoRedo",
928
928
  addOptions() {
929
929
  return {
@@ -933,12 +933,12 @@ var Mt = U.create({
933
933
  },
934
934
  addCommands() {
935
935
  return {
936
- undo: () => ({ state: e, dispatch: t }) => mt(e, t),
937
- redo: () => ({ state: e, dispatch: t }) => ht(e, t)
936
+ undo: () => ({ state: e, dispatch: t }) => ht(e, t),
937
+ redo: () => ({ state: e, dispatch: t }) => gt(e, t)
938
938
  };
939
939
  },
940
940
  addProseMirrorPlugins() {
941
- return [ft(this.options)];
941
+ return [pt(this.options)];
942
942
  },
943
943
  addKeyboardShortcuts() {
944
944
  return {
@@ -952,8 +952,8 @@ var Mt = U.create({
952
952
  });
953
953
  //#endregion
954
954
  //#region ../../node_modules/.pnpm/@tiptap+vue-3@3.27.1_@floating-ui+dom@1.7.6_@tiptap+core@3.27.1_@tiptap+pm@3.27.1__@tip_533afe27a0e41f53f3674ff5bfd0331c/node_modules/@tiptap/vue-3/dist/index.js
955
- function Nt(e) {
956
- return s((t, n) => ({
955
+ function Pt(e) {
956
+ return _((t, n) => ({
957
957
  get() {
958
958
  return t(), e;
959
959
  },
@@ -966,11 +966,11 @@ function Nt(e) {
966
966
  }
967
967
  }));
968
968
  }
969
- var Pt = class extends Oe {
969
+ var Ft = class extends Pe {
970
970
  constructor(e = {}) {
971
- return super(e), this.contentComponent = null, this.appContext = null, this.reactiveState = Nt(this.view.state), this.reactiveExtensionStorage = Nt(this.extensionStorage), this.on("beforeTransaction", ({ nextState: e }) => {
971
+ return super(e), this.contentComponent = null, this.appContext = null, this.reactiveState = Pt(this.view.state), this.reactiveExtensionStorage = Pt(this.extensionStorage), this.on("beforeTransaction", ({ nextState: e }) => {
972
972
  this.reactiveState.value = e, this.reactiveExtensionStorage.value = this.extensionStorage;
973
- }), u(this);
973
+ }), E(this);
974
974
  }
975
975
  get state() {
976
976
  return this.reactiveState ? this.reactiveState.value : this.view.state;
@@ -986,36 +986,36 @@ var Pt = class extends Oe {
986
986
  let t = super.unregisterPlugin(e);
987
987
  return this.reactiveState && t && (this.reactiveState.value = t), t;
988
988
  }
989
- }, Ft = y({
989
+ }, It = w({
990
990
  name: "EditorContent",
991
991
  props: { editor: {
992
992
  default: null,
993
993
  type: Object
994
994
  } },
995
995
  setup(t) {
996
- let n = g(), r = ie();
997
- return j(() => {
998
- let i = t.editor;
999
- i && i.options.element && n.value && a(() => {
1000
- if (!n.value || !i.view.dom?.parentNode) return;
1001
- let t = e(n.value);
1002
- n.value.append(...i.view.dom.parentNode.childNodes), i.contentComponent = r.ctx._, r && (i.appContext = {
996
+ let n = y(), r = e();
997
+ return c(() => {
998
+ let e = t.editor;
999
+ e && e.options.element && n.value && a(() => {
1000
+ if (!n.value || !e.view.dom?.parentNode) return;
1001
+ let t = b(n.value);
1002
+ n.value.append(...e.view.dom.parentNode.childNodes), e.contentComponent = r.ctx._, r && (e.appContext = {
1003
1003
  ...r.appContext,
1004
1004
  provides: r.provides
1005
- }), i.setOptions({ element: t }), i.createNodeViews();
1005
+ }), e.setOptions({ element: t }), e.createNodeViews();
1006
1006
  });
1007
- }), i(() => {
1007
+ }), s(() => {
1008
1008
  let e = t.editor;
1009
1009
  e && (e.contentComponent = null, e.appContext = null);
1010
1010
  }), { rootEl: n };
1011
1011
  },
1012
1012
  render() {
1013
- return h("div", { ref: (e) => {
1013
+ return C("div", { ref: (e) => {
1014
1014
  this.rootEl = e;
1015
1015
  } });
1016
1016
  }
1017
1017
  });
1018
- y({
1018
+ w({
1019
1019
  name: "NodeViewContent",
1020
1020
  props: { as: {
1021
1021
  type: String,
@@ -1031,13 +1031,13 @@ y({
1031
1031
  e && e(null);
1032
1032
  },
1033
1033
  render() {
1034
- return h(this.as, {
1034
+ return C(this.as, {
1035
1035
  style: { whiteSpace: "pre-wrap" },
1036
1036
  "data-node-view-content": ""
1037
1037
  });
1038
1038
  }
1039
1039
  });
1040
- var It = y({
1040
+ var Lt = w({
1041
1041
  name: "NodeViewWrapper",
1042
1042
  props: { as: {
1043
1043
  type: String,
@@ -1046,24 +1046,24 @@ var It = y({
1046
1046
  inject: ["onDragStart", "decorationClasses"],
1047
1047
  render() {
1048
1048
  var e;
1049
- return h(this.as, {
1049
+ return C(this.as, {
1050
1050
  class: this.decorationClasses,
1051
1051
  style: { whiteSpace: "normal" },
1052
1052
  "data-node-view-wrapper": "",
1053
1053
  onDragstart: this.onDragStart
1054
1054
  }, (e = this.$slots).default?.call(e));
1055
1055
  }
1056
- }), Lt = (e = {}) => {
1057
- let t = _();
1058
- return p(() => {
1059
- t.value = new Pt(e);
1060
- }), i(() => {
1056
+ }), Rt = (e = {}) => {
1057
+ let t = re();
1058
+ return u(() => {
1059
+ t.value = new Ft(e);
1060
+ }), s(() => {
1061
1061
  var e;
1062
1062
  (e = t.value) == null || e.destroy();
1063
1063
  }), t;
1064
- }, Rt = class {
1064
+ }, zt = class {
1065
1065
  constructor(e, { props: t = {}, editor: n }) {
1066
- this.destroyed = !1, this.editor = n, this.component = u(e), this.el = document.createElement("div"), this.props = l(t), this.renderedComponent = this.renderComponent();
1066
+ this.destroyed = !1, this.editor = n, this.component = E(e), this.el = document.createElement("div"), this.props = ae(t), this.renderedComponent = this.renderComponent();
1067
1067
  }
1068
1068
  get element() {
1069
1069
  return this.renderedComponent.el;
@@ -1073,11 +1073,11 @@ var It = y({
1073
1073
  }
1074
1074
  renderComponent() {
1075
1075
  if (this.destroyed) return this.renderedComponent;
1076
- let e = h(this.component, this.props);
1077
- return this.editor.appContext && (e.appContext = this.editor.appContext), typeof document < "u" && this.el && D(e, this.el), {
1076
+ let e = C(this.component, this.props);
1077
+ return this.editor.appContext && (e.appContext = this.editor.appContext), typeof document < "u" && this.el && x(e, this.el), {
1078
1078
  vNode: e,
1079
1079
  destroy: () => {
1080
- this.el && D(null, this.el), this.el = null, e = null;
1080
+ this.el && x(null, this.el), this.el = null, e = null;
1081
1081
  },
1082
1082
  el: this.el ? this.el.firstElementChild : null
1083
1083
  };
@@ -1091,20 +1091,20 @@ var It = y({
1091
1091
  this.destroyed || (this.destroyed = !0, this.renderedComponent.destroy());
1092
1092
  }
1093
1093
  };
1094
- y({
1094
+ w({
1095
1095
  name: "MarkViewContent",
1096
1096
  props: { as: {
1097
1097
  type: String,
1098
1098
  default: "span"
1099
1099
  } },
1100
1100
  render() {
1101
- return h(this.as, {
1101
+ return C(this.as, {
1102
1102
  style: { whiteSpace: "inherit" },
1103
1103
  "data-mark-view-content": ""
1104
1104
  });
1105
1105
  }
1106
1106
  });
1107
- var zt = {
1107
+ var Bt = {
1108
1108
  editor: {
1109
1109
  type: Object,
1110
1110
  required: !0
@@ -1149,7 +1149,7 @@ var zt = {
1149
1149
  type: Object,
1150
1150
  required: !0
1151
1151
  }
1152
- }, Bt = class extends pe {
1152
+ }, Vt = class extends Ae {
1153
1153
  constructor(e, t, n) {
1154
1154
  super(e, t, n), this.cachedExtensionWithSyncedStorage = null, this.handlePositionUpdate = () => {
1155
1155
  let e = this.getPos();
@@ -1178,26 +1178,26 @@ var zt = {
1178
1178
  getPos: () => this.getPos(),
1179
1179
  updateAttributes: (e = {}) => this.updateAttributes(e),
1180
1180
  deleteNode: () => this.deleteNode()
1181
- }, t = e, n = this.onDragStart.bind(this);
1182
- this.decorationClasses = g(this.getDecorationClasses());
1183
- let r = y({
1181
+ }, n = e, r = this.onDragStart.bind(this);
1182
+ this.decorationClasses = y(this.getDecorationClasses());
1183
+ let i = w({
1184
1184
  extends: { ...this.component },
1185
1185
  props: Object.keys(e),
1186
1186
  template: this.component.template,
1187
1187
  setup: (e) => {
1188
- var t;
1189
- return w("onDragStart", n), w("decorationClasses", this.decorationClasses), w("nodeViewContentRef", (e) => {
1188
+ var n;
1189
+ return t("onDragStart", r), t("decorationClasses", this.decorationClasses), t("nodeViewContentRef", (e) => {
1190
1190
  this.contentDOMElement && e && e.firstChild !== this.contentDOMElement && e.appendChild(this.contentDOMElement);
1191
- }), (t = this.component).setup?.call(t, e, { expose: () => void 0 });
1191
+ }), (n = this.component).setup?.call(n, e, { expose: () => void 0 });
1192
1192
  },
1193
1193
  __scopeId: this.component.__scopeId,
1194
1194
  __cssModules: this.component.__cssModules,
1195
1195
  __name: this.component.__name,
1196
1196
  __file: this.component.__file
1197
1197
  });
1198
- this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this), this.editor.on("selectionUpdate", this.handleSelectionUpdate), this.currentPos = this.getPos(), this.node.isLeaf || (this.contentDOMElement = document.createElement(this.node.isInline ? "span" : "div"), this.contentDOMElement.style.whiteSpace = "inherit", this.contentDOMElement.dataset.nodeViewContentVue = ""), this.renderer = new Rt(r, {
1198
+ this.handleSelectionUpdate = this.handleSelectionUpdate.bind(this), this.editor.on("selectionUpdate", this.handleSelectionUpdate), this.currentPos = this.getPos(), this.node.isLeaf || (this.contentDOMElement = document.createElement(this.node.isInline ? "span" : "div"), this.contentDOMElement.style.whiteSpace = "inherit", this.contentDOMElement.dataset.nodeViewContentVue = ""), this.renderer = new zt(i, {
1199
1199
  editor: this.editor,
1200
- props: t
1200
+ props: n
1201
1201
  });
1202
1202
  }
1203
1203
  get dom() {
@@ -1209,7 +1209,7 @@ var zt = {
1209
1209
  }
1210
1210
  handleSelectionUpdate() {
1211
1211
  let e = this.getPos();
1212
- if (typeof e == "number") if (V({
1212
+ if (typeof e == "number") if (we({
1213
1213
  selection: this.editor.state.selection,
1214
1214
  pos: e,
1215
1215
  nodeSize: this.node.nodeSize,
@@ -1267,111 +1267,111 @@ var zt = {
1267
1267
  this.renderer.destroy(), this.editor.off("selectionUpdate", this.handleSelectionUpdate), this.options.trackNodeViewPosition && this.editor.off("update", this.handlePositionUpdate), this.contentDOMElement = null;
1268
1268
  }
1269
1269
  };
1270
- function Vt(e, t) {
1271
- return (n) => n.editor.contentComponent ? new Bt(typeof e == "function" && "__vccOpts" in e ? e.__vccOpts : e, n, t) : {};
1270
+ function Ht(e, t) {
1271
+ return (n) => n.editor.contentComponent ? new Vt(typeof e == "function" && "__vccOpts" in e ? e.__vccOpts : e, n, t) : {};
1272
1272
  }
1273
1273
  //#endregion
1274
1274
  //#region src/components/MergeTagPicker.vue?vue&type=script&setup=true&lang.ts
1275
- var Ht = [
1275
+ var Ut = [
1276
1276
  "title",
1277
1277
  "aria-label",
1278
1278
  "popovertarget",
1279
1279
  "aria-expanded"
1280
- ], Ut = ["id", "aria-label"], Wt = {
1280
+ ], Wt = ["id", "aria-label"], Gt = {
1281
1281
  key: 0,
1282
1282
  class: "merge-tag-list"
1283
- }, Gt = ["onClick"], Kt = { class: "merge-tag-option-label" }, qt = { class: "merge-tag-option-id" }, Jt = {
1283
+ }, Kt = ["onClick"], qt = { class: "merge-tag-option-label" }, Jt = { class: "merge-tag-option-id" }, Yt = {
1284
1284
  key: 1,
1285
1285
  class: "merge-tag-empty"
1286
- }, Yt = /*#__PURE__*/ B(/* @__PURE__ */ y({
1286
+ }, Xt = /*#__PURE__*/ Re(/* @__PURE__ */ w({
1287
1287
  __name: "MergeTagPicker",
1288
1288
  emits: ["select"],
1289
- setup(n, { emit: i }) {
1290
- let s = i, { t: c, locale: l } = oe(), u = r(P, x(() => ({}))), p = x(() => Object.keys(u.value).map((e) => ({
1289
+ setup(e, { emit: t }) {
1290
+ let n = t, { t: i, locale: o } = ze(), s = d(M, k(() => ({}))), c = k(() => Object.keys(s.value).map((e) => ({
1291
1291
  id: e,
1292
- label: H(u.value, e, l.value)
1293
- }))), m = g(""), h = x(() => {
1294
- let e = m.value.trim().toLowerCase();
1295
- return e ? p.value.filter((t) => t.label.toLowerCase().includes(e) || t.id.toLowerCase().includes(e)) : p.value;
1296
- }), ee = o(), _ = x(() => y.value?.matches(":popover-open") ?? !1), v = d("trigger"), y = d("popover"), te = d("filterInput");
1297
- function w(e) {
1292
+ label: Te(s.value, e, o.value)
1293
+ }))), u = y(""), f = k(() => {
1294
+ let e = u.value.trim().toLowerCase();
1295
+ return e ? c.value.filter((t) => t.label.toLowerCase().includes(e) || t.id.toLowerCase().includes(e)) : c.value;
1296
+ }), p = ee(), te = k(() => v.value?.matches(":popover-open") ?? !1), _ = l("trigger"), v = l("popover"), x = l("filterInput");
1297
+ function ne(e) {
1298
1298
  if (e.newState !== "open") return;
1299
- m.value = "";
1300
- let t = y.value, n = v.value?.getBoundingClientRect();
1299
+ u.value = "";
1300
+ let t = v.value, n = _.value?.getBoundingClientRect();
1301
1301
  t && n && (t.style.left = `${n.left}px`, t.style.top = `${n.bottom + 4}px`);
1302
1302
  }
1303
- function ne(e) {
1304
- e.newState === "open" && a(() => te.value?.focus());
1303
+ function C(e) {
1304
+ e.newState === "open" && a(() => x.value?.focus());
1305
1305
  }
1306
- function D(e) {
1307
- let t = e.relatedTarget, n = y.value;
1306
+ function w(e) {
1307
+ let t = e.relatedTarget, n = v.value;
1308
1308
  t instanceof Node && n?.contains(t) || n?.matches(":popover-open") && n.hidePopover();
1309
1309
  }
1310
1310
  function re(e) {
1311
- s("select", e), y.value?.hidePopover();
1311
+ n("select", e), v.value?.hidePopover();
1312
1312
  }
1313
- return (n, r) => (t(), S(k, null, [p.value.length ? (t(), S("button", {
1313
+ return (e, t) => (j(), h(A, null, [c.value.length ? (j(), h("button", {
1314
1314
  key: 0,
1315
1315
  ref_key: "trigger",
1316
- ref: v,
1316
+ ref: _,
1317
1317
  type: "button",
1318
- class: b(["merge-tag-trigger", { active: _.value }]),
1319
- title: e(c)("blocks.text.mergeTag"),
1320
- "aria-label": e(c)("blocks.text.mergeTag"),
1321
- popovertarget: e(ee),
1318
+ class: T(["merge-tag-trigger", { active: te.value }]),
1319
+ title: b(i)("blocks.text.mergeTag"),
1320
+ "aria-label": b(i)("blocks.text.mergeTag"),
1321
+ popovertarget: b(p),
1322
1322
  "aria-haspopup": "dialog",
1323
- "aria-expanded": _.value,
1324
- onMousedown: r[0] ||= T(() => {}, ["prevent"])
1325
- }, [A(N, {
1323
+ "aria-expanded": te.value,
1324
+ onMousedown: t[0] ||= D(() => {}, ["prevent"])
1325
+ }, [r(P, {
1326
1326
  name: "braces",
1327
1327
  size: 16
1328
- })], 42, Ht)) : C("", !0), p.value.length ? (t(), S("div", {
1328
+ })], 42, Ut)) : O("", !0), c.value.length ? (j(), h("div", {
1329
1329
  key: 1,
1330
- id: e(ee),
1330
+ id: b(p),
1331
1331
  ref_key: "popover",
1332
- ref: y,
1332
+ ref: v,
1333
1333
  class: "merge-tag-popover",
1334
1334
  popover: "",
1335
1335
  role: "dialog",
1336
- "aria-label": e(c)("blocks.text.mergeTag"),
1337
- onBeforetoggle: w,
1338
- onToggle: ne,
1339
- onFocusout: D
1340
- }, [A(Se, {
1336
+ "aria-label": b(i)("blocks.text.mergeTag"),
1337
+ onBeforetoggle: ne,
1338
+ onToggle: C,
1339
+ onFocusout: w
1340
+ }, [r(Fe, {
1341
1341
  ref_key: "filterInput",
1342
- ref: te,
1343
- modelValue: m.value,
1344
- "onUpdate:modelValue": r[1] ||= (e) => m.value = e,
1342
+ ref: x,
1343
+ modelValue: u.value,
1344
+ "onUpdate:modelValue": t[1] ||= (e) => u.value = e,
1345
1345
  autocomplete: "off",
1346
- placeholder: e(c)("blocks.text.mergeTagSearch"),
1347
- "aria-label": e(c)("blocks.text.mergeTagSearch"),
1346
+ placeholder: b(i)("blocks.text.mergeTagSearch"),
1347
+ "aria-label": b(i)("blocks.text.mergeTagSearch"),
1348
1348
  spellcheck: "false"
1349
1349
  }, null, 8, [
1350
1350
  "modelValue",
1351
1351
  "placeholder",
1352
1352
  "aria-label"
1353
- ]), h.value.length ? (t(), S("ul", Wt, [(t(!0), S(k, null, f(h.value, (e) => (t(), S("li", { key: e.id }, [E("button", {
1353
+ ]), f.value.length ? (j(), h("ul", Gt, [(j(!0), h(A, null, g(f.value, (e) => (j(), h("li", { key: e.id }, [m("button", {
1354
1354
  type: "button",
1355
1355
  class: "merge-tag-option",
1356
1356
  onClick: (t) => re(e.id),
1357
- onMousedown: r[2] ||= T(() => {}, ["prevent"])
1358
- }, [E("span", Kt, O(e.label), 1), E("span", qt, O(e.id), 1)], 40, Gt)]))), 128))])) : (t(), S("p", Jt, O(e(c)("blocks.text.mergeTagEmpty")), 1))], 40, Ut)) : C("", !0)], 64));
1357
+ onMousedown: t[2] ||= D(() => {}, ["prevent"])
1358
+ }, [m("span", qt, S(e.label), 1), m("span", Jt, S(e.id), 1)], 40, Kt)]))), 128))])) : (j(), h("p", Yt, S(b(i)("blocks.text.mergeTagEmpty")), 1))], 40, Wt)) : O("", !0)], 64));
1359
1359
  }
1360
- }), [["styles", [".merge-tag-trigger[data-v-d5670188]{color:var(--bygga-color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0;display:inline-flex}.merge-tag-trigger[data-v-d5670188]:hover{background:color-mix(in srgb, var(--bygga-color-text) 30%, transparent)}.merge-tag-trigger.active[data-v-d5670188]{background:var(--bygga-color-selected,var(--bygga-color-text));color:var(--bygga-color-selected-text,#fff);forced-color-adjust:none}.merge-tag-popover[data-v-d5670188]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);box-shadow:var(--bygga-shadow-card);box-sizing:border-box;flex-direction:column;gap:.35em;width:15em;margin:0;padding:.4em;position:fixed;inset:auto}.merge-tag-popover[data-v-d5670188]:popover-open{display:flex}.merge-tag-list[data-v-d5670188]{flex-direction:column;gap:.15em;max-height:14em;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.merge-tag-option[data-v-d5670188]{border-radius:var(--bygga-radius-sm);color:var(--bygga-color-text);cursor:pointer;text-align:start;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:.5em;width:100%;padding:.35em .5em;display:flex}.merge-tag-option[data-v-d5670188]:hover,.merge-tag-option[data-v-d5670188]:focus-visible{background:var(--bygga-color-track);color:var(--bygga-color-accent);outline:none}.merge-tag-option-id[data-v-d5670188]{color:var(--bygga-color-text-muted);font-variant-numeric:tabular-nums;font-size:.85em}.merge-tag-empty[data-v-d5670188]{color:var(--bygga-color-text-muted);margin:0;padding:.35em .5em}"]], ["__scopeId", "data-v-d5670188"]]), Xt = /* @__PURE__ */ y({
1360
+ }), [["styles", [".merge-tag-trigger[data-v-d5670188]{color:var(--bygga-color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0;display:inline-flex}.merge-tag-trigger[data-v-d5670188]:hover{background:color-mix(in srgb, var(--bygga-color-text) 30%, transparent)}.merge-tag-trigger.active[data-v-d5670188]{background:var(--bygga-color-selected,var(--bygga-color-text));color:var(--bygga-color-selected-text,#fff);forced-color-adjust:none}.merge-tag-popover[data-v-d5670188]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);box-shadow:var(--bygga-shadow-card);box-sizing:border-box;flex-direction:column;gap:.35em;width:15em;margin:0;padding:.4em;position:fixed;inset:auto}.merge-tag-popover[data-v-d5670188]:popover-open{display:flex}.merge-tag-list[data-v-d5670188]{flex-direction:column;gap:.15em;max-height:14em;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.merge-tag-option[data-v-d5670188]{border-radius:var(--bygga-radius-sm);color:var(--bygga-color-text);cursor:pointer;text-align:start;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:.5em;width:100%;padding:.35em .5em;display:flex}.merge-tag-option[data-v-d5670188]:hover,.merge-tag-option[data-v-d5670188]:focus-visible{background:var(--bygga-color-track);color:var(--bygga-color-accent);outline:none}.merge-tag-option-id[data-v-d5670188]{color:var(--bygga-color-text-muted);font-variant-numeric:tabular-nums;font-size:.85em}.merge-tag-empty[data-v-d5670188]{color:var(--bygga-color-text-muted);margin:0;padding:.35em .5em}"]], ["__scopeId", "data-v-d5670188"]]), Zt = /* @__PURE__ */ w({
1361
1361
  __name: "MergeTagView",
1362
- props: zt,
1363
- setup(i) {
1364
- let a = i, { t: o, locale: s } = oe(), c = r(P, x(() => ({}))), l = x(() => String(a.node.attrs.id ?? "")), u = x(() => c.value[l.value] !== void 0), d = x(() => H(c.value, l.value, s.value)), f = x(() => o("blocks.text.mergeTagChip", { name: d.value }));
1365
- return (r, i) => (t(), ne(e(It), {
1362
+ props: Bt,
1363
+ setup(e) {
1364
+ let t = e, { t: r, locale: a } = ze(), o = d(M, k(() => ({}))), s = k(() => String(t.node.attrs.id ?? "")), c = k(() => o.value[s.value] !== void 0), l = k(() => Te(o.value, s.value, a.value)), u = k(() => r("blocks.text.mergeTagChip", { name: l.value }));
1365
+ return (e, t) => (j(), n(b(Lt), {
1366
1366
  as: "span",
1367
- class: b(["merge-tag", { "is-unknown": !u.value }]),
1368
- "data-merge-tag": l.value,
1367
+ class: T(["merge-tag", { "is-unknown": !c.value }]),
1368
+ "data-merge-tag": s.value,
1369
1369
  contenteditable: "false",
1370
1370
  role: "img",
1371
- "aria-label": f.value,
1372
- title: f.value
1371
+ "aria-label": u.value,
1372
+ title: u.value
1373
1373
  }, {
1374
- default: n(() => [v(O(d.value), 1)]),
1374
+ default: te(() => [i(S(l.value), 1)]),
1375
1375
  _: 1
1376
1376
  }, 8, [
1377
1377
  "class",
@@ -1383,83 +1383,83 @@ var Ht = [
1383
1383
  });
1384
1384
  //#endregion
1385
1385
  //#region src/fontSizes.ts
1386
- function Zt(e) {
1386
+ function Qt(e) {
1387
1387
  return `${e}px`;
1388
1388
  }
1389
- var Qt = new Set(se.map(Zt));
1390
- function $t(e) {
1389
+ var $t = new Set(ke.map(Qt));
1390
+ function en(e) {
1391
1391
  let t = e.trim();
1392
- return Qt.has(t) ? t : null;
1392
+ return $t.has(t) ? t : null;
1393
1393
  }
1394
- function en(e) {
1395
- return Qt.has(e);
1394
+ function tn(e) {
1395
+ return $t.has(e);
1396
1396
  }
1397
1397
  //#endregion
1398
1398
  //#region src/panels/contentPanel/components/blocks/sanitizePastedFonts.ts
1399
- var tn = "textStyle";
1400
- function nn(e) {
1401
- let t = be(e);
1399
+ var nn = "textStyle";
1400
+ function rn(e) {
1401
+ let t = ce(e);
1402
1402
  return !t || t.key === "verdana" ? null : t.stack;
1403
1403
  }
1404
- function rn(e) {
1405
- if (e.type.name !== tn) return e;
1406
- let t = { ...e.attrs };
1407
- return typeof t.fontFamily == "string" && (t.fontFamily = nn(t.fontFamily)), typeof t.fontSize == "string" && (t.fontSize = $t(t.fontSize)), t.fontFamily === e.attrs.fontFamily && t.fontSize === e.attrs.fontSize ? e : Object.values(t).some((e) => e !== null) ? e.type.create(t) : void 0;
1404
+ function an(e, t) {
1405
+ if (e.type.name !== nn) return e;
1406
+ let n = { ...e.attrs };
1407
+ return typeof n.fontFamily == "string" && !t?.has(n.fontFamily) && (n.fontFamily = rn(n.fontFamily)), typeof n.fontSize == "string" && (n.fontSize = en(n.fontSize)), n.fontFamily === e.attrs.fontFamily && n.fontSize === e.attrs.fontSize ? e : Object.values(n).some((e) => e !== null) ? e.type.create(n) : void 0;
1408
1408
  }
1409
- function an(e) {
1409
+ function on(e, t) {
1410
1410
  return e.flatMap((e) => {
1411
- let t = rn(e);
1412
- return t ? [t] : [];
1411
+ let n = an(e, t);
1412
+ return n ? [n] : [];
1413
1413
  });
1414
1414
  }
1415
- function on(e) {
1416
- return e.isText ? e.mark(an(e.marks)) : e.copy(sn(e.content)).mark(an(e.marks));
1415
+ function sn(e, t) {
1416
+ return e.isText ? e.mark(on(e.marks, t)) : e.copy(cn(e.content, t)).mark(on(e.marks, t));
1417
1417
  }
1418
- function sn(e) {
1419
- let t = [];
1420
- for (let n = 0; n < e.childCount; n++) t.push(on(e.child(n)));
1421
- return F.fromArray(t);
1418
+ function cn(e, t) {
1419
+ let n = [];
1420
+ for (let r = 0; r < e.childCount; r++) n.push(sn(e.child(r), t));
1421
+ return F.fromArray(n);
1422
1422
  }
1423
- function cn(e) {
1424
- return new M(sn(e.content), e.openStart, e.openEnd);
1423
+ function ln(e, t) {
1424
+ return new G(cn(e.content, t), e.openStart, e.openEnd);
1425
1425
  }
1426
1426
  //#endregion
1427
1427
  //#region src/panels/contentPanel/components/blocks/TextEditor.vue?vue&type=script&setup=true&lang.ts
1428
- var ln = { class: "picker" }, un = ["aria-label", "value"], dn = { value: "paragraph" }, fn = ["value"], pn = { class: "picker" }, mn = ["aria-label", "value"], hn = {
1428
+ var un = { class: "picker" }, dn = ["aria-label", "value"], fn = { value: "paragraph" }, pn = ["value"], mn = { class: "picker" }, hn = ["aria-label", "value"], gn = {
1429
1429
  value: "mixed",
1430
1430
  disabled: "",
1431
1431
  hidden: ""
1432
- }, gn = ["value"], _n = { class: "picker" }, vn = ["aria-label", "value"], yn = {
1432
+ }, _n = ["value"], vn = ["value"], yn = { class: "picker" }, bn = ["aria-label", "value"], xn = {
1433
1433
  value: "mixed",
1434
1434
  disabled: "",
1435
1435
  hidden: ""
1436
- }, bn = { value: "" }, xn = ["value"], Sn = ["title", "aria-label"], Cn = ["title", "aria-label"], wn = ["title", "aria-label"], Tn = [
1436
+ }, Sn = { value: "" }, Cn = ["value"], wn = ["title", "aria-label"], Tn = ["title", "aria-label"], En = ["title", "aria-label"], Dn = [
1437
1437
  "title",
1438
1438
  "popovertarget",
1439
1439
  "aria-expanded"
1440
- ], En = ["id", "aria-label"], Dn = { class: "link-field" }, On = {
1440
+ ], On = ["id", "aria-label"], kn = { class: "link-field" }, An = {
1441
1441
  key: 0,
1442
1442
  class: "link-anchor"
1443
- }, kn = {
1443
+ }, jn = {
1444
1444
  key: 0,
1445
1445
  value: ""
1446
- }, An = {
1446
+ }, Mn = {
1447
1447
  key: 1,
1448
1448
  value: "",
1449
1449
  disabled: "",
1450
1450
  hidden: ""
1451
- }, jn = ["value"], Mn = ["title", "aria-label"], Nn = ["title", "onClick"], Pn = {
1451
+ }, Nn = ["value"], Pn = ["title", "aria-label"], Fn = ["title", "onClick"], In = {
1452
1452
  "aria-hidden": "true",
1453
1453
  height: "16",
1454
1454
  viewBox: "0 0 16 16",
1455
1455
  width: "16"
1456
- }, Fn = [
1456
+ }, Ln = [
1457
1457
  "width",
1458
1458
  "x",
1459
1459
  "y"
1460
- ], In = 8, Ln = 220, Rn = /*#__PURE__*/ B(/* @__PURE__ */ y({
1460
+ ], Rn = 8, zn = 220, Bn = /*#__PURE__*/ Re(/* @__PURE__ */ w({
1461
1461
  __name: "TextEditor",
1462
- props: /*@__PURE__*/ re({
1462
+ props: /*@__PURE__*/ f({
1463
1463
  editable: {
1464
1464
  type: Boolean,
1465
1465
  default: !1
@@ -1475,139 +1475,150 @@ var ln = { class: "picker" }, un = ["aria-label", "value"], dn = { value: "parag
1475
1475
  textModifiers: {}
1476
1476
  }),
1477
1477
  emits: ["update:text"],
1478
- setup(i) {
1479
- let s = c(i, "text"), l = i, { t: u } = oe(), p = [
1478
+ setup(e) {
1479
+ let t = o(e, "text"), n = e, { t: i } = ze(), s = [
1480
1480
  "left",
1481
1481
  "center",
1482
1482
  "right",
1483
1483
  "justify"
1484
- ], h = x(() => u("blocks.text.label")), _ = Lt({
1485
- ...Me,
1484
+ ], c = k(() => i("blocks.text.label")), u = Rt({
1485
+ ...ue,
1486
1486
  editorProps: {
1487
1487
  attributes: {
1488
- "aria-label": h.value,
1488
+ "aria-label": c.value,
1489
1489
  "aria-multiline": "true",
1490
1490
  role: "textbox"
1491
1491
  },
1492
- transformPasted: (e) => cn(e)
1492
+ transformPasted: (e) => ln(e, ge.value)
1493
1493
  },
1494
- content: we(s.value),
1495
- editable: l.editable,
1494
+ content: he(t.value),
1495
+ editable: n.editable,
1496
1496
  extensions: [
1497
- ...xe.map((e) => e.name === "mergeTag" ? e.extend({ addNodeView: () => Vt(Xt) }) : e),
1498
- Mt,
1499
- kt.configure({ placeholder: () => u("blocks.text.placeholder") })
1497
+ ...se.map((e) => e.name === "mergeTag" ? e.extend({ addNodeView: () => Ht(Zt) }) : e),
1498
+ Nt,
1499
+ At.configure({ placeholder: () => i("blocks.text.placeholder") })
1500
1500
  ],
1501
1501
  onUpdate({ editor: e }) {
1502
- s.value = ge(e.getJSON()), D();
1502
+ t.value = pe(e.getJSON()), w();
1503
1503
  },
1504
1504
  onSelectionUpdate() {
1505
- D();
1505
+ w();
1506
1506
  }
1507
1507
  });
1508
- m(h, (e) => {
1509
- _.value?.setOptions({ editorProps: { attributes: { "aria-label": e } } });
1510
- }), m(s, (e) => {
1511
- let t = _.value;
1512
- !t || Ie(e, ge(t.getJSON())) || t.commands.setContent(we(e), { emitUpdate: !1 });
1513
- }), m(() => l.editable, (e) => _.value?.setEditable(e));
1514
- let v = d("root"), y = d("toolbar");
1515
- function w() {
1516
- let e = y.value;
1517
- !e || e.matches(":popover-open") || (e.showPopover(), D());
1508
+ ie(c, (e) => {
1509
+ u.value?.setOptions({ editorProps: { attributes: { "aria-label": e } } });
1510
+ }), ie(t, (e) => {
1511
+ let t = u.value;
1512
+ !t || fe(e, pe(t.getJSON())) || t.commands.setContent(he(e), { emitUpdate: !1 });
1513
+ }), ie(() => n.editable, (e) => u.value?.setEditable(e));
1514
+ let f = l("root"), _ = l("toolbar");
1515
+ function x() {
1516
+ let e = _.value;
1517
+ !e || e.matches(":popover-open") || (e.showPopover(), w());
1518
1518
  }
1519
- function ne(e) {
1519
+ function C(e) {
1520
1520
  let t = e.relatedTarget;
1521
- t instanceof Node && v.value?.contains(t) || y.value?.matches(":popover-open") && y.value.hidePopover();
1521
+ t instanceof Node && f.value?.contains(t) || _.value?.matches(":popover-open") && _.value.hidePopover();
1522
1522
  }
1523
- function D() {
1524
- let e = _.value?.view, t = y.value, n = v.value;
1523
+ function w() {
1524
+ let e = u.value?.view, t = _.value, n = f.value;
1525
1525
  if (!(e && t && n && t.matches(":popover-open"))) return;
1526
- let r = n.closest(".block-container"), i = (r?.querySelector(":scope > .block-label") ?? r ?? n).getBoundingClientRect(), a = Math.max(In, window.innerWidth - Ln - In), o = Math.min(Math.max(i.left, In), a);
1527
- t.style.left = `${o}px`, t.style.maxWidth = `${window.innerWidth - o - In}px`, t.style.top = `${i.top}px`;
1526
+ let r = n.closest(".block-container"), i = (r?.querySelector(":scope > .block-label") ?? r ?? n).getBoundingClientRect(), a = Math.max(Rn, window.innerWidth - zn - Rn), o = Math.min(Math.max(i.left, Rn), a);
1527
+ t.style.left = `${o}px`, t.style.maxWidth = `${window.innerWidth - o - Rn}px`, t.style.top = `${i.top}px`;
1528
1528
  }
1529
1529
  function re() {
1530
- let e = _.value;
1530
+ let e = u.value;
1531
1531
  if (!e) return "paragraph";
1532
- let t = Te.find((t) => e.isActive("heading", { level: t }));
1532
+ let t = me.find((t) => e.isActive("heading", { level: t }));
1533
1533
  return t ? `h${t}` : "paragraph";
1534
1534
  }
1535
- function ie(e) {
1535
+ function ae(e) {
1536
1536
  let { target: t } = e;
1537
1537
  if (!(t instanceof HTMLSelectElement)) return;
1538
- let n = _.value?.chain().focus();
1538
+ let n = u.value?.chain().focus();
1539
1539
  if (!n) return;
1540
- let r = Te.find((e) => `h${e}` === t.value);
1540
+ let r = me.find((e) => `h${e}` === t.value);
1541
1541
  r ? n.setHeading({ level: r }).run() : n.setParagraph().run();
1542
1542
  }
1543
- let j = r(ye, x(() => je));
1544
- function ae(e) {
1545
- return typeof e == "string" ? be(e)?.key ?? j.value : j.value;
1543
+ let E = d(ne, k(() => de)), M = je(), ge = k(() => new Set(M.value.map((e) => e.stack)));
1544
+ function N(e) {
1545
+ return `custom:${e}`;
1546
1546
  }
1547
- function M() {
1548
- let e = _.value;
1549
- if (!e) return j.value;
1547
+ function F(e) {
1548
+ if (typeof e != "string") return E.value;
1549
+ let t = M.value.find((t) => t.stack === e);
1550
+ return t ? N(t.name) : ce(e)?.key ?? E.value;
1551
+ }
1552
+ function ye() {
1553
+ let e = u.value;
1554
+ if (!e) return E.value;
1550
1555
  let { from: t, to: n, empty: r } = e.state.selection;
1551
- if (r) return ae(e.getAttributes("textStyle").fontFamily);
1556
+ if (r) return F(e.getAttributes("textStyle").fontFamily);
1552
1557
  let i = /* @__PURE__ */ new Set();
1553
1558
  e.state.doc.nodesBetween(t, n, (e) => {
1554
1559
  if (!e.isText) return;
1555
1560
  let t = e.marks.find((e) => e.type.name === "textStyle");
1556
- i.add(ae(t?.attrs.fontFamily));
1561
+ i.add(F(t?.attrs.fontFamily));
1557
1562
  });
1558
1563
  let a = Array.from(i);
1559
- return a.length > 1 ? "mixed" : a[0] ?? j.value;
1564
+ return a.length > 1 ? "mixed" : a[0] ?? E.value;
1560
1565
  }
1561
- function ce(e) {
1566
+ function I(e) {
1562
1567
  let { target: t } = e;
1563
1568
  if (!(t instanceof HTMLSelectElement)) return;
1564
- let n = t.value, r = _.value?.chain().focus();
1565
- r && De(n) && (n === j.value ? r.unsetFontFamily().run() : r.setFontFamily(ue(n)).run());
1569
+ let n = t.value, r = u.value?.chain().focus();
1570
+ if (!r) return;
1571
+ let i = M.value.find((e) => N(e.name) === n);
1572
+ if (i) {
1573
+ r.setFontFamily(i.stack).run();
1574
+ return;
1575
+ }
1576
+ Ne(n) && (n === E.value ? r.unsetFontFamily().run() : r.setFontFamily(be(n)).run());
1566
1577
  }
1567
- function P(e) {
1568
- return typeof e == "string" && en(e) ? e : "";
1578
+ function L(e) {
1579
+ return typeof e == "string" && tn(e) ? e : "";
1569
1580
  }
1570
- function F() {
1571
- let e = _.value;
1581
+ function R() {
1582
+ let e = u.value;
1572
1583
  if (!e) return "";
1573
1584
  let { from: t, to: n, empty: r } = e.state.selection;
1574
- if (r) return P(e.getAttributes("textStyle").fontSize);
1585
+ if (r) return L(e.getAttributes("textStyle").fontSize);
1575
1586
  let i = /* @__PURE__ */ new Set();
1576
1587
  e.state.doc.nodesBetween(t, n, (e) => {
1577
1588
  if (!e.isText) return;
1578
1589
  let t = e.marks.find((e) => e.type.name === "textStyle");
1579
- i.add(P(t?.attrs.fontSize));
1590
+ i.add(L(t?.attrs.fontSize));
1580
1591
  });
1581
1592
  let a = Array.from(i);
1582
1593
  return a.length > 1 ? "mixed" : a[0] ?? "";
1583
1594
  }
1584
- function I(e) {
1595
+ function z(e) {
1585
1596
  let { target: t } = e;
1586
1597
  if (!(t instanceof HTMLSelectElement)) return;
1587
- let n = _.value?.chain().focus();
1588
- n && (t.value === "" ? n.unsetFontSize().run() : en(t.value) && n.setFontSize(t.value).run());
1598
+ let n = u.value?.chain().focus();
1599
+ n && (t.value === "" ? n.unsetFontSize().run() : tn(t.value) && n.setFontSize(t.value).run());
1589
1600
  }
1590
- let L = Ee(() => {
1591
- let e = M();
1592
- return e === "mixed" ? void 0 : e;
1593
- }), pe = x({
1601
+ let Se = De(() => {
1602
+ let e = ye();
1603
+ return Ne(e) ? e : void 0;
1604
+ }), we = k({
1594
1605
  get: () => {
1595
- let e = _.value?.getAttributes("textStyle").color, t = typeof e == "string" ? me(e) : void 0;
1606
+ let e = u.value?.getAttributes("textStyle").color, t = typeof e == "string" ? Oe(e) : void 0;
1596
1607
  return t ? {
1597
1608
  type: "color",
1598
1609
  ...t
1599
- } : Pe;
1610
+ } : Ee;
1600
1611
  },
1601
1612
  set: (e) => {
1602
- e.type !== "transparent" && _.value?.chain().setColor(ke(e)).run();
1613
+ e.type !== "transparent" && u.value?.chain().setColor(ve(e)).run();
1603
1614
  }
1604
- }), he = {
1615
+ }), B = {
1605
1616
  left: "blocks.text.alignLeft",
1606
1617
  center: "blocks.text.alignCenter",
1607
1618
  right: "blocks.text.alignRight",
1608
1619
  justify: "blocks.text.alignJustify"
1609
1620
  };
1610
- function ve(e) {
1621
+ function Te(e) {
1611
1622
  return (e === "justify" ? [
1612
1623
  14,
1613
1624
  14,
@@ -1627,245 +1638,252 @@ var ln = { class: "picker" }, un = ["aria-label", "value"], dn = { value: "parag
1627
1638
  };
1628
1639
  });
1629
1640
  }
1630
- let R = o(), z = d("linkPopover"), B = d("linkInput"), Ce = d("linkTrigger"), V = g(""), H = g(!1), Oe = g(!1);
1631
- function Ae(e) {
1641
+ let V = ee(), H = l("linkPopover"), U = l("linkInput"), Ae = l("linkTrigger"), W = y(""), Pe = y(!1), Ie = y(!1);
1642
+ function Le(e) {
1632
1643
  if (e.newState !== "open") return;
1633
- let t = _.value?.getAttributes("link")?.href;
1634
- V.value = typeof t == "string" ? t : "", Oe.value = V.value !== "";
1635
- let n = z.value, r = Ce.value?.getBoundingClientRect();
1644
+ let t = u.value?.getAttributes("link")?.href;
1645
+ W.value = typeof t == "string" ? t : "", Ie.value = W.value !== "";
1646
+ let n = H.value, r = Ae.value?.getBoundingClientRect();
1636
1647
  n && r && (n.style.left = `${r.left}px`, n.style.top = `${r.bottom + 4}px`);
1637
1648
  }
1638
- function U(e) {
1639
- if (H.value = e.newState === "open", e.newState !== "open") return;
1640
- let t = z.value;
1649
+ function Re(e) {
1650
+ if (Pe.value = e.newState === "open", e.newState !== "open") return;
1651
+ let t = H.value;
1641
1652
  if (t) {
1642
1653
  let e = window.innerWidth - t.offsetWidth - 8;
1643
1654
  Number.parseFloat(t.style.left) > e && (t.style.left = `${Math.max(8, e)}px`);
1644
1655
  }
1645
1656
  a(() => {
1646
- B.value?.focus(), B.value?.select();
1657
+ U.value?.focus(), U.value?.select();
1647
1658
  });
1648
1659
  }
1649
- function Le(e) {
1650
- let t = e.relatedTarget, n = z.value;
1660
+ function G(e) {
1661
+ let t = e.relatedTarget, n = H.value;
1651
1662
  t instanceof Node && n?.contains(t) || n?.hidePopover();
1652
1663
  }
1653
- function W() {
1654
- let e = _.value?.chain().focus();
1664
+ function Be() {
1665
+ let e = u.value?.chain().focus();
1655
1666
  if (!e) return;
1656
- let t = Fe(V.value);
1667
+ let t = Me(W.value);
1657
1668
  t === "" ? e.unsetLink().run() : e.setLink({
1658
1669
  href: t,
1659
1670
  target: t.startsWith("#") ? null : "_blank"
1660
- }).run(), z.value?.hidePopover();
1671
+ }).run(), H.value?.hidePopover();
1661
1672
  }
1662
- let Re = r(_e, x(() => [])), G = x(() => V.value.startsWith("#") && Re.value.includes(V.value.slice(1)) ? V.value.slice(1) : "");
1673
+ let Ve = d(oe, k(() => [])), He = k(() => W.value.startsWith("#") && Ve.value.includes(W.value.slice(1)) ? W.value.slice(1) : "");
1663
1674
  function K(e) {
1664
- e === "" ? V.value.startsWith("#") && (V.value = "") : V.value = `#${e}`;
1675
+ e === "" ? W.value.startsWith("#") && (W.value = "") : W.value = `#${e}`;
1665
1676
  }
1666
- function ze() {
1667
- _.value?.chain().focus().unsetLink().run(), z.value?.hidePopover();
1677
+ function Ue() {
1678
+ u.value?.chain().focus().unsetLink().run(), H.value?.hidePopover();
1668
1679
  }
1669
- function Be(e) {
1670
- _.value?.chain().focus().insertContent({
1671
- type: de,
1680
+ function We(e) {
1681
+ u.value?.chain().focus().insertContent({
1682
+ type: xe,
1672
1683
  attrs: { id: e }
1673
1684
  }).run();
1674
1685
  }
1675
- return (r, i) => (t(), S("div", {
1686
+ return (e, t) => (j(), h("div", {
1676
1687
  ref_key: "root",
1677
- ref: v,
1688
+ ref: f,
1678
1689
  style: {
1679
1690
  position: "relative",
1680
1691
  width: "100%"
1681
1692
  },
1682
- onFocusin: w,
1683
- onFocusout: ne
1684
- }, [A(e(Ft), ee(l.editable ? { class: "text-input" } : {}, {
1685
- editor: e(_),
1686
- style: e(le)(l)
1687
- }), null, 16, ["editor", "style"]), l.editable ? (t(), S("div", {
1693
+ onFocusin: x,
1694
+ onFocusout: C
1695
+ }, [r(b(It), p(n.editable ? { class: "text-input" } : {}, {
1696
+ editor: b(u),
1697
+ style: b(le)(n)
1698
+ }), null, 16, ["editor", "style"]), n.editable ? (j(), h("div", {
1688
1699
  key: 0,
1689
1700
  ref_key: "toolbar",
1690
- ref: y,
1701
+ ref: _,
1691
1702
  popover: "manual",
1692
1703
  class: "toolbar"
1693
1704
  }, [
1694
- E("span", ln, [E("select", {
1695
- "aria-label": e(u)("blocks.text.styleLabel"),
1705
+ m("span", un, [m("select", {
1706
+ "aria-label": b(i)("blocks.text.styleLabel"),
1696
1707
  class: "style",
1697
1708
  value: re(),
1698
- onChange: ie,
1699
- onMousedown: i[0] ||= T(() => {}, ["stop"])
1700
- }, [E("option", dn, O(e(u)("blocks.text.styleNormal")), 1), (t(!0), S(k, null, f(e(Te), (n) => (t(), S("option", {
1701
- key: n,
1702
- value: `h${n}`
1703
- }, O(e(u)("blocks.text.styleHeading", { level: n })), 9, fn))), 128))], 40, un), A(N, {
1709
+ onChange: ae,
1710
+ onMousedown: t[0] ||= D(() => {}, ["stop"])
1711
+ }, [m("option", fn, S(b(i)("blocks.text.styleNormal")), 1), (j(!0), h(A, null, g(b(me), (e) => (j(), h("option", {
1712
+ key: e,
1713
+ value: `h${e}`
1714
+ }, S(b(i)("blocks.text.styleHeading", { level: e })), 9, pn))), 128))], 40, dn), r(P, {
1704
1715
  class: "picker-chevron",
1705
1716
  name: "chevron-down",
1706
1717
  size: 12
1707
1718
  })]),
1708
- i[20] ||= E("span", { class: "divider" }, null, -1),
1709
- E("span", pn, [E("select", {
1710
- "aria-label": e(u)("blocks.text.font"),
1719
+ t[20] ||= m("span", { class: "divider" }, null, -1),
1720
+ m("span", mn, [m("select", {
1721
+ "aria-label": b(i)("blocks.text.font"),
1711
1722
  class: "font",
1712
- value: M(),
1713
- onChange: ce,
1714
- onMousedown: i[1] ||= T(() => {}, ["stop"])
1715
- }, [E("option", hn, O(e(u)("blocks.text.fontMixed")), 1), (t(!0), S(k, null, f(e(L), (e) => (t(), S("option", {
1716
- key: e.key,
1717
- value: e.key
1718
- }, O(e.name), 9, gn))), 128))], 40, mn), A(N, {
1723
+ value: ye(),
1724
+ onChange: I,
1725
+ onMousedown: t[1] ||= D(() => {}, ["stop"])
1726
+ }, [
1727
+ m("option", gn, S(b(i)("blocks.text.fontMixed")), 1),
1728
+ (j(!0), h(A, null, g(b(Se), (e) => (j(), h("option", {
1729
+ key: e.key,
1730
+ value: e.key
1731
+ }, S(e.name), 9, _n))), 128)),
1732
+ (j(!0), h(A, null, g(b(M), (e) => (j(), h("option", {
1733
+ key: N(e.name),
1734
+ value: N(e.name)
1735
+ }, S(e.name), 9, vn))), 128))
1736
+ ], 40, hn), r(P, {
1719
1737
  class: "picker-chevron",
1720
1738
  name: "chevron-down",
1721
1739
  size: 12
1722
1740
  })]),
1723
- E("span", _n, [E("select", {
1724
- "aria-label": e(u)("blocks.text.fontSize"),
1741
+ m("span", yn, [m("select", {
1742
+ "aria-label": b(i)("blocks.text.fontSize"),
1725
1743
  class: "size",
1726
- value: F(),
1727
- onChange: I,
1728
- onMousedown: i[2] ||= T(() => {}, ["stop"])
1744
+ value: R(),
1745
+ onChange: z,
1746
+ onMousedown: t[2] ||= D(() => {}, ["stop"])
1729
1747
  }, [
1730
- E("option", yn, O(e(u)("blocks.text.fontMixed")), 1),
1731
- E("option", bn, O(e(u)("blocks.text.fontSizeDefault")), 1),
1732
- (t(!0), S(k, null, f(e(se), (n) => (t(), S("option", {
1733
- key: n,
1734
- value: e(Zt)(n)
1735
- }, O(n), 9, xn))), 128))
1736
- ], 40, vn), A(N, {
1748
+ m("option", xn, S(b(i)("blocks.text.fontMixed")), 1),
1749
+ m("option", Sn, S(b(i)("blocks.text.fontSizeDefault")), 1),
1750
+ (j(!0), h(A, null, g(b(ke), (e) => (j(), h("option", {
1751
+ key: e,
1752
+ value: b(Qt)(e)
1753
+ }, S(e), 9, Cn))), 128))
1754
+ ], 40, bn), r(P, {
1737
1755
  class: "picker-chevron",
1738
1756
  name: "chevron-down",
1739
1757
  size: 12
1740
1758
  })]),
1741
- A(fe, {
1742
- modelValue: pe.value,
1743
- "onUpdate:modelValue": i[3] ||= (e) => pe.value = e,
1759
+ r(Ce, {
1760
+ modelValue: we.value,
1761
+ "onUpdate:modelValue": t[3] ||= (e) => we.value = e,
1744
1762
  "allow-transparent": !1,
1745
- label: e(u)("blocks.text.textColor"),
1763
+ label: b(i)("blocks.text.textColor"),
1746
1764
  compact: "",
1747
- onMousedown: i[4] ||= T(() => {}, ["stop"])
1765
+ onMousedown: t[4] ||= D(() => {}, ["stop"])
1748
1766
  }, null, 8, ["modelValue", "label"]),
1749
- i[21] ||= E("span", { class: "divider" }, null, -1),
1750
- E("button", {
1751
- class: b({ active: e(_)?.isActive("bold") }),
1767
+ t[21] ||= m("span", { class: "divider" }, null, -1),
1768
+ m("button", {
1769
+ class: T({ active: b(u)?.isActive("bold") }),
1752
1770
  type: "button",
1753
- title: e(u)("blocks.text.bold"),
1754
- "aria-label": e(u)("blocks.text.bold"),
1755
- onClick: i[5] ||= (t) => e(_)?.chain().focus().toggleBold().run(),
1756
- onMousedown: i[6] ||= T(() => {}, ["prevent"])
1757
- }, [...i[17] ||= [E("b", null, "B", -1)]], 42, Sn),
1758
- E("button", {
1759
- class: b({ active: e(_)?.isActive("italic") }),
1771
+ title: b(i)("blocks.text.bold"),
1772
+ "aria-label": b(i)("blocks.text.bold"),
1773
+ onClick: t[5] ||= (e) => b(u)?.chain().focus().toggleBold().run(),
1774
+ onMousedown: t[6] ||= D(() => {}, ["prevent"])
1775
+ }, [...t[17] ||= [m("b", null, "B", -1)]], 42, wn),
1776
+ m("button", {
1777
+ class: T({ active: b(u)?.isActive("italic") }),
1760
1778
  type: "button",
1761
- title: e(u)("blocks.text.italic"),
1762
- "aria-label": e(u)("blocks.text.italic"),
1763
- onClick: i[7] ||= (t) => e(_)?.chain().focus().toggleItalic().run(),
1764
- onMousedown: i[8] ||= T(() => {}, ["prevent"])
1765
- }, [...i[18] ||= [E("i", null, "I", -1)]], 42, Cn),
1766
- E("button", {
1767
- class: b({ active: e(_)?.isActive("underline") }),
1779
+ title: b(i)("blocks.text.italic"),
1780
+ "aria-label": b(i)("blocks.text.italic"),
1781
+ onClick: t[7] ||= (e) => b(u)?.chain().focus().toggleItalic().run(),
1782
+ onMousedown: t[8] ||= D(() => {}, ["prevent"])
1783
+ }, [...t[18] ||= [m("i", null, "I", -1)]], 42, Tn),
1784
+ m("button", {
1785
+ class: T({ active: b(u)?.isActive("underline") }),
1768
1786
  type: "button",
1769
- title: e(u)("blocks.text.underline"),
1770
- "aria-label": e(u)("blocks.text.underline"),
1771
- onClick: i[9] ||= (t) => e(_)?.chain().focus().toggleUnderline().run(),
1772
- onMousedown: i[10] ||= T(() => {}, ["prevent"])
1773
- }, [...i[19] ||= [E("u", null, "U", -1)]], 42, wn),
1774
- E("button", {
1787
+ title: b(i)("blocks.text.underline"),
1788
+ "aria-label": b(i)("blocks.text.underline"),
1789
+ onClick: t[9] ||= (e) => b(u)?.chain().focus().toggleUnderline().run(),
1790
+ onMousedown: t[10] ||= D(() => {}, ["prevent"])
1791
+ }, [...t[19] ||= [m("u", null, "U", -1)]], 42, En),
1792
+ m("button", {
1775
1793
  ref_key: "linkTrigger",
1776
- ref: Ce,
1777
- class: b({ active: e(_)?.isActive("link") }),
1794
+ ref: Ae,
1795
+ class: T({ active: b(u)?.isActive("link") }),
1778
1796
  type: "button",
1779
- title: e(u)("blocks.text.link"),
1780
- popovertarget: e(R),
1797
+ title: b(i)("blocks.text.link"),
1798
+ popovertarget: b(V),
1781
1799
  "aria-haspopup": "dialog",
1782
- "aria-expanded": H.value,
1783
- onMousedown: i[11] ||= T(() => {}, ["prevent"])
1784
- }, [A(N, {
1800
+ "aria-expanded": Pe.value,
1801
+ onMousedown: t[11] ||= D(() => {}, ["prevent"])
1802
+ }, [r(P, {
1785
1803
  name: "link",
1786
1804
  size: 16
1787
- })], 42, Tn),
1788
- l.editable ? (t(), S("div", {
1805
+ })], 42, Dn),
1806
+ n.editable ? (j(), h("div", {
1789
1807
  key: 0,
1790
- id: e(R),
1808
+ id: b(V),
1791
1809
  ref_key: "linkPopover",
1792
- ref: z,
1810
+ ref: H,
1793
1811
  class: "link-popover",
1794
1812
  popover: "",
1795
1813
  role: "dialog",
1796
- "aria-label": e(u)("blocks.text.link"),
1797
- onBeforetoggle: Ae,
1798
- onToggle: U,
1799
- onFocusout: Le
1814
+ "aria-label": b(i)("blocks.text.link"),
1815
+ onBeforetoggle: Le,
1816
+ onToggle: Re,
1817
+ onFocusout: G
1800
1818
  }, [
1801
- E("span", Dn, [A(Se, {
1819
+ m("span", kn, [r(Fe, {
1802
1820
  ref_key: "linkInput",
1803
- ref: B,
1804
- modelValue: V.value,
1805
- "onUpdate:modelValue": i[12] ||= (e) => V.value = e,
1821
+ ref: U,
1822
+ modelValue: W.value,
1823
+ "onUpdate:modelValue": t[12] ||= (e) => W.value = e,
1806
1824
  inputmode: "url",
1807
1825
  spellcheck: "false",
1808
1826
  autocomplete: "off",
1809
- placeholder: e(u)("blocks.text.linkPlaceholder"),
1810
- "aria-label": e(u)("blocks.text.linkPrompt"),
1811
- onKeydown: te(T(W, ["prevent"]), ["enter"])
1827
+ placeholder: b(i)("blocks.text.linkPlaceholder"),
1828
+ "aria-label": b(i)("blocks.text.linkPrompt"),
1829
+ onKeydown: v(D(Be, ["prevent"]), ["enter"])
1812
1830
  }, null, 8, [
1813
1831
  "modelValue",
1814
1832
  "placeholder",
1815
1833
  "aria-label",
1816
1834
  "onKeydown"
1817
1835
  ])]),
1818
- e(Re).length ? (t(), S("span", On, [A(Ne, {
1819
- "aria-label": e(u)("blocks.common.anchorLink.label"),
1820
- "model-value": G.value,
1836
+ b(Ve).length ? (j(), h("span", An, [r(_e, {
1837
+ "aria-label": b(i)("blocks.common.anchorLink.label"),
1838
+ "model-value": He.value,
1821
1839
  "onUpdate:modelValue": K,
1822
- onMousedown: i[13] ||= T(() => {}, ["stop"])
1840
+ onMousedown: t[13] ||= D(() => {}, ["stop"])
1823
1841
  }, {
1824
- default: n(() => [G.value ? (t(), S("option", kn, O(e(u)("blocks.common.anchorLink.none")), 1)) : (t(), S("option", An, O(e(u)("blocks.common.anchorLink.placeholder")), 1)), (t(!0), S(k, null, f(e(Re), (e) => (t(), S("option", {
1842
+ default: te(() => [He.value ? (j(), h("option", jn, S(b(i)("blocks.common.anchorLink.none")), 1)) : (j(), h("option", Mn, S(b(i)("blocks.common.anchorLink.placeholder")), 1)), (j(!0), h(A, null, g(b(Ve), (e) => (j(), h("option", {
1825
1843
  key: e,
1826
1844
  value: e
1827
- }, " #" + O(e), 9, jn))), 128))]),
1845
+ }, " #" + S(e), 9, Nn))), 128))]),
1828
1846
  _: 1
1829
- }, 8, ["aria-label", "model-value"])])) : C("", !0),
1830
- E("button", {
1847
+ }, 8, ["aria-label", "model-value"])])) : O("", !0),
1848
+ m("button", {
1831
1849
  class: "link-apply",
1832
1850
  type: "button",
1833
- onClick: W,
1834
- onMousedown: i[14] ||= T(() => {}, ["prevent"])
1835
- }, O(e(u)("blocks.text.linkApply")), 33),
1836
- Oe.value ? (t(), S("button", {
1851
+ onClick: Be,
1852
+ onMousedown: t[14] ||= D(() => {}, ["prevent"])
1853
+ }, S(b(i)("blocks.text.linkApply")), 33),
1854
+ Ie.value ? (j(), h("button", {
1837
1855
  key: 1,
1838
1856
  class: "link-remove",
1839
1857
  type: "button",
1840
- title: e(u)("blocks.text.linkRemove"),
1841
- "aria-label": e(u)("blocks.text.linkRemove"),
1842
- onClick: ze,
1843
- onMousedown: i[15] ||= T(() => {}, ["prevent"])
1844
- }, [A(N, {
1858
+ title: b(i)("blocks.text.linkRemove"),
1859
+ "aria-label": b(i)("blocks.text.linkRemove"),
1860
+ onClick: Ue,
1861
+ onMousedown: t[15] ||= D(() => {}, ["prevent"])
1862
+ }, [r(P, {
1845
1863
  name: "trash",
1846
1864
  size: 16
1847
- })], 40, Mn)) : C("", !0)
1848
- ], 40, En)) : C("", !0),
1849
- A(Yt, { onSelect: Be }),
1850
- i[22] ||= E("span", { class: "divider" }, null, -1),
1851
- (t(), S(k, null, f(p, (n) => E("button", {
1852
- key: n,
1853
- class: b({ active: e(_)?.isActive({ textAlign: n }) }),
1854
- title: e(u)(he[n]),
1865
+ })], 40, Pn)) : O("", !0)
1866
+ ], 40, On)) : O("", !0),
1867
+ r(Xt, { onSelect: We }),
1868
+ t[22] ||= m("span", { class: "divider" }, null, -1),
1869
+ (j(), h(A, null, g(s, (e) => m("button", {
1870
+ key: e,
1871
+ class: T({ active: b(u)?.isActive({ textAlign: e }) }),
1872
+ title: b(i)(B[e]),
1855
1873
  type: "button",
1856
- onClick: (t) => e(_)?.chain().focus().setTextAlign(n).run(),
1857
- onMousedown: i[16] ||= T(() => {}, ["prevent"])
1858
- }, [(t(), S("svg", Pn, [(t(!0), S(k, null, f(ve(n), (e, n) => (t(), S("rect", {
1859
- key: n,
1874
+ onClick: (t) => b(u)?.chain().focus().setTextAlign(e).run(),
1875
+ onMousedown: t[16] ||= D(() => {}, ["prevent"])
1876
+ }, [(j(), h("svg", In, [(j(!0), h(A, null, g(Te(e), (e, t) => (j(), h("rect", {
1877
+ key: t,
1860
1878
  fill: "currentColor",
1861
1879
  height: "1.5",
1862
1880
  rx: "0.5",
1863
1881
  width: e.w,
1864
1882
  x: e.x,
1865
1883
  y: e.y
1866
- }, null, 8, Fn))), 128))]))], 42, Nn)), 64))
1867
- ], 512)) : C("", !0)], 544));
1884
+ }, null, 8, Ln))), 128))]))], 42, Fn)), 64))
1885
+ ], 512)) : O("", !0)], 544));
1868
1886
  }
1869
- }), [["styles", [".tiptap{font-feature-settings:\"liga\" 0;font-variant-ligatures:none;overflow-wrap:break-word;white-space:pre-wrap;position:relative}.text-input .tiptap:focus,.text-input .tiptap:focus-visible{outline:none}.text-input .tiptap .is-editor-empty:first-child{position:relative}.text-input .tiptap .is-editor-empty:first-child:before{color:var(--bygga-color-text-muted);content:attr(data-placeholder);pointer-events:none;text-overflow:ellipsis;inset-inline:0;white-space:nowrap;position:absolute;top:0;overflow:hidden}.merge-tag{background:var(--bygga-color-track);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);color:var(--bygga-color-accent);cursor:default;white-space:nowrap;-webkit-user-select:all;user-select:all;padding:0 .3em;font-size:.9em}.merge-tag.is-unknown{color:var(--bygga-color-text-muted);border-style:dashed}.merge-tag.ProseMirror-selectednode{outline:2px solid var(--bygga-color-accent);outline-offset:1px}", ".toolbar[data-v-8d26020b]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border-subtle);box-shadow:var(--bygga-shadow-card);white-space:nowrap;font-family:var(--bygga-font-family);direction:ltr;border-radius:0;flex-wrap:wrap;align-items:center;gap:3px;margin:0;padding:6px 4px;font-size:13px;font-weight:400;position:fixed;inset:auto;transform:translateY(-100%)}.toolbar[data-v-8d26020b]:popover-open{display:flex}.toolbar>button[data-v-8d26020b]{color:var(--bygga-color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0;display:inline-flex}.toolbar>button[data-v-8d26020b]:hover{background:color-mix(in srgb, var(--bygga-color-text) 30%, transparent)}.toolbar>button.active[data-v-8d26020b]{background:var(--bygga-color-selected,var(--bygga-color-text));color:var(--bygga-color-selected-text,#fff);forced-color-adjust:none}.toolbar .picker[data-v-8d26020b]{align-items:center;display:inline-flex;position:relative}.toolbar .style[data-v-8d26020b],.toolbar .font[data-v-8d26020b],.toolbar .size[data-v-8d26020b]{appearance:none;color:var(--bygga-color-text);cursor:pointer;font:inherit;text-align-last:right;background:0 0;border:none;border-radius:4px;height:30px;padding:0 21px 0 6px}.toolbar .style[data-v-8d26020b]:hover,.toolbar .font[data-v-8d26020b]:hover,.toolbar .size[data-v-8d26020b]:hover{background:color-mix(in srgb, var(--bygga-color-text) 7%, transparent)}.toolbar .picker-chevron[data-v-8d26020b]{color:var(--bygga-color-text);pointer-events:none;position:absolute;right:5px}.toolbar .divider[data-v-8d26020b]{background:var(--bygga-color-divider);width:1px;height:24px;margin:0 4px}.link-popover[data-v-8d26020b]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);box-shadow:var(--bygga-shadow-card);align-items:center;gap:.25em;margin:0;padding:.25em;position:fixed;inset:auto}.link-popover[data-v-8d26020b]:popover-open{display:flex}.link-field[data-v-8d26020b]{width:18em}.link-anchor[data-v-8d26020b]{width:10em}.link-apply[data-v-8d26020b]{background:var(--bygga-color-accent);border-radius:var(--bygga-radius-sm);color:var(--bygga-color-surface);cursor:pointer;border:none;padding:.4em .8em}.link-remove[data-v-8d26020b]{border-radius:var(--bygga-radius-sm);color:var(--bygga-color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:1.8em;height:1.8em;padding:0;display:inline-flex}.link-remove[data-v-8d26020b]:hover{background:var(--bygga-color-track);color:var(--bygga-color-accent)}"]], ["__scopeId", "data-v-8d26020b"]]);
1887
+ }), [["styles", [".tiptap{font-feature-settings:\"liga\" 0;font-variant-ligatures:none;overflow-wrap:break-word;white-space:pre-wrap;position:relative}.text-input .tiptap:focus,.text-input .tiptap:focus-visible{outline:none}.text-input .tiptap .is-editor-empty:first-child{position:relative}.text-input .tiptap .is-editor-empty:first-child:before{color:var(--bygga-color-text-muted);content:attr(data-placeholder);pointer-events:none;text-overflow:ellipsis;inset-inline:0;white-space:nowrap;position:absolute;top:0;overflow:hidden}.merge-tag{background:var(--bygga-color-track);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);color:var(--bygga-color-accent);cursor:default;white-space:nowrap;-webkit-user-select:all;user-select:all;padding:0 .3em;font-size:.9em}.merge-tag.is-unknown{color:var(--bygga-color-text-muted);border-style:dashed}.merge-tag.ProseMirror-selectednode{outline:2px solid var(--bygga-color-accent);outline-offset:1px}", ".toolbar[data-v-3445ad1e]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border-subtle);box-shadow:var(--bygga-shadow-card);white-space:nowrap;font-family:var(--bygga-font-family);direction:ltr;border-radius:0;flex-wrap:wrap;align-items:center;gap:3px;margin:0;padding:6px 4px;font-size:13px;font-weight:400;position:fixed;inset:auto;transform:translateY(-100%)}.toolbar[data-v-3445ad1e]:popover-open{display:flex}.toolbar>button[data-v-3445ad1e]{color:var(--bygga-color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:30px;height:30px;padding:0;display:inline-flex}.toolbar>button[data-v-3445ad1e]:hover{background:color-mix(in srgb, var(--bygga-color-text) 30%, transparent)}.toolbar>button.active[data-v-3445ad1e]{background:var(--bygga-color-selected,var(--bygga-color-text));color:var(--bygga-color-selected-text,#fff);forced-color-adjust:none}.toolbar .picker[data-v-3445ad1e]{align-items:center;display:inline-flex;position:relative}.toolbar .style[data-v-3445ad1e],.toolbar .font[data-v-3445ad1e],.toolbar .size[data-v-3445ad1e]{appearance:none;color:var(--bygga-color-text);cursor:pointer;font:inherit;text-align-last:right;background:0 0;border:none;border-radius:4px;height:30px;padding:0 21px 0 6px}.toolbar .style[data-v-3445ad1e]:hover,.toolbar .font[data-v-3445ad1e]:hover,.toolbar .size[data-v-3445ad1e]:hover{background:color-mix(in srgb, var(--bygga-color-text) 7%, transparent)}.toolbar .picker-chevron[data-v-3445ad1e]{color:var(--bygga-color-text);pointer-events:none;position:absolute;right:5px}.toolbar .divider[data-v-3445ad1e]{background:var(--bygga-color-divider);width:1px;height:24px;margin:0 4px}.link-popover[data-v-3445ad1e]{background:var(--bygga-color-surface);border:1px solid var(--bygga-color-border);border-radius:var(--bygga-radius-sm);box-shadow:var(--bygga-shadow-card);align-items:center;gap:.25em;margin:0;padding:.25em;position:fixed;inset:auto}.link-popover[data-v-3445ad1e]:popover-open{display:flex}.link-field[data-v-3445ad1e]{width:18em}.link-anchor[data-v-3445ad1e]{width:10em}.link-apply[data-v-3445ad1e]{background:var(--bygga-color-accent);border-radius:var(--bygga-radius-sm);color:var(--bygga-color-surface);cursor:pointer;border:none;padding:.4em .8em}.link-remove[data-v-3445ad1e]{border-radius:var(--bygga-radius-sm);color:var(--bygga-color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:1.8em;height:1.8em;padding:0;display:inline-flex}.link-remove[data-v-3445ad1e]:hover{background:var(--bygga-color-track);color:var(--bygga-color-accent)}"]], ["__scopeId", "data-v-3445ad1e"]]);
1870
1888
  //#endregion
1871
- export { Rn as default };
1889
+ export { Bn as default };