@damiro/stylo 0.20.1 → 0.21.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,17 +1,17 @@
1
1
  import { l as e, s as t, u as n } from "./embed-cache-BU9Smn-h.js";
2
- import { C as r, D as i, E as a, O as o, S as s, T as c, _ as l, a as u, b as d, c as f, d as p, f as m, g as h, h as ee, i as te, k as ne, l as re, m as ie, n as g, o as _, p as ae, r as oe, s as se, t as ce, u as v, v as le, w as y, x as b, y as x } from "./useCodeMirror-DbhMZGZ7.js";
3
- import { a as ue, i as S } from "./config-DTBxVhtH.js";
2
+ import { C as r, D as i, E as a, O as o, S as s, T as c, _ as l, a as u, b as d, c as f, d as p, f as m, g as h, h as ee, i as te, k as ne, l as re, m as ie, n as g, o as ae, p as _, r as oe, s as se, t as ce, u as v, v as le, w as ue, x as y, y as b } from "./useCodeMirror-O1ProA2R.js";
3
+ import { a as x, i as S } from "./config-DTBxVhtH.js";
4
4
  import { a as de, n as fe, o as pe, r as me, t as C } from "./embed-DJAydn-v.js";
5
5
  import { t as he } from "./katex-BfiLlqfN.js";
6
6
  import { useRef as w, useState as T, useSyncExternalStore as ge } from "react";
7
- import { Decoration as E, EditorView as D, ViewPlugin as O, WidgetType as k, hoverTooltip as _e, keymap as ve, showPanel as ye } from "@codemirror/view";
8
- import { createPortal as be, flushSync as xe } from "react-dom";
9
- import { Annotation as Se, EditorSelection as Ce, EditorState as we, Facet as A, Prec as j, StateEffect as Te, StateField as M } from "@codemirror/state";
10
- import { syntaxTree as N } from "@codemirror/language";
11
- import { jsx as Ee, jsxs as De } from "react/jsx-runtime";
12
- import { createRoot as Oe } from "react-dom/client";
7
+ import { Decoration as E, EditorView as D, ViewPlugin as O, WidgetType as k, hoverTooltip as _e, keymap as A, showPanel as ve } from "@codemirror/view";
8
+ import { createPortal as ye, flushSync as be } from "react-dom";
9
+ import { Annotation as xe, EditorSelection as Se, EditorState as Ce, Facet as j, Prec as M, StateEffect as we, StateField as N } from "@codemirror/state";
10
+ import { syntaxTree as P } from "@codemirror/language";
11
+ import { jsx as Te, jsxs as Ee } from "react/jsx-runtime";
12
+ import { createRoot as De } from "react-dom/client";
13
13
  //#region src/inplace/embed-registry.ts
14
- var ke = class {
14
+ var Oe = class {
15
15
  slots = /* @__PURE__ */ new Map();
16
16
  listeners = /* @__PURE__ */ new Set();
17
17
  snapshot = [];
@@ -34,7 +34,7 @@ var ke = class {
34
34
  for (let e of this.listeners) e();
35
35
  }));
36
36
  }
37
- }, Ae = {
37
+ }, ke = {
38
38
  headings: !0,
39
39
  emphasis: !0,
40
40
  links: !0,
@@ -49,20 +49,20 @@ var ke = class {
49
49
  tables: !0,
50
50
  embeds: !0
51
51
  };
52
- function je(e) {
52
+ function Ae(e) {
53
53
  return {
54
- ...Ae,
54
+ ...ke,
55
55
  ...e?.decorations
56
56
  };
57
57
  }
58
- var P = A.define({ combine: (e) => e[0] ?? Ae }), F = A.define({ combine: (e) => e[0] ?? null }), I = A.define({ combine: (e) => e[0] ?? "source" }), L = A.define({ combine: (e) => e[0] ?? "caret" }), Me = A.define({ combine: (e) => e[0] ?? null }), Ne = A.define({ combine: (e) => e[0] ?? !0 }), Pe = [
58
+ var F = j.define({ combine: (e) => e[0] ?? ke }), I = j.define({ combine: (e) => e[0] ?? null }), L = j.define({ combine: (e) => e[0] ?? "source" }), R = j.define({ combine: (e) => e[0] ?? "caret" }), je = j.define({ combine: (e) => e[0] ?? null }), Me = j.define({ combine: (e) => e[0] ?? !0 }), Ne = [
59
59
  "host",
60
60
  "link",
61
61
  "format",
62
62
  "paragraph",
63
63
  "insert",
64
64
  "clipboard"
65
- ], R = [
65
+ ], z = [
66
66
  "bold",
67
67
  "italic",
68
68
  "strike",
@@ -71,32 +71,32 @@ var P = A.define({ combine: (e) => e[0] ?? Ae }), F = A.define({ combine: (e) =>
71
71
  "wikilink",
72
72
  "math"
73
73
  ];
74
- function Fe(e) {
74
+ function Pe(e) {
75
75
  return e === !1 ? {
76
76
  enabled: !1,
77
77
  groups: [],
78
78
  items: []
79
79
  } : e == null || e === !0 ? {
80
80
  enabled: !0,
81
- groups: Pe,
81
+ groups: Ne,
82
82
  items: []
83
83
  } : {
84
84
  enabled: !0,
85
- groups: e.groups?.length ? e.groups : Pe,
85
+ groups: e.groups?.length ? e.groups : Ne,
86
86
  items: e.items ?? []
87
87
  };
88
88
  }
89
- var Ie = A.define({ combine: (e) => e[0] ?? (() => []) }), Le = A.define({ combine: (e) => e[0] ?? (() => []) }), Re = A.define({ combine: (e) => e[0] ?? Pe });
90
- function ze(e) {
91
- if (!e?.length) return R;
92
- let t = e.filter((e) => R.includes(e));
93
- return t.length ? t : R;
89
+ var Fe = j.define({ combine: (e) => e[0] ?? (() => []) }), Ie = j.define({ combine: (e) => e[0] ?? (() => []) }), Le = j.define({ combine: (e) => e[0] ?? (() => []) }), B = j.define({ combine: (e) => e[0] ?? Ne });
90
+ function Re(e) {
91
+ if (!e?.length) return z;
92
+ let t = e.filter((e) => z.includes(e));
93
+ return t.length ? t : z;
94
94
  }
95
- var Be = A.define({ combine: (e) => e[0] ?? R }), Ve = A.define({ combine: (e) => e[0] ?? "menu" });
95
+ var ze = j.define({ combine: (e) => e[0] ?? z }), Be = j.define({ combine: (e) => e[0] ?? "menu" });
96
96
  //#endregion
97
97
  //#region src/inplace/frontmatter.ts
98
- function He(e) {
99
- if (!e.facet(P).frontmatter) return E.none;
98
+ function Ve(e) {
99
+ if (!e.facet(F).frontmatter) return E.none;
100
100
  let n = t(e.doc);
101
101
  if (!n) return E.none;
102
102
  let r = e.doc.lineAt(n.from).number, i = e.doc.lineAt(n.to).number, a = e.selection.ranges.some((t) => {
@@ -109,19 +109,19 @@ function He(e) {
109
109
  }
110
110
  return E.set(o, !0);
111
111
  }
112
- var Ue = M.define({
113
- create: He,
114
- update: (e, t) => t.docChanged || t.selection ? He(t.state) : e,
112
+ var He = N.define({
113
+ create: Ve,
114
+ update: (e, t) => t.docChanged || t.selection ? Ve(t.state) : e,
115
115
  provide: (e) => D.decorations.from(e)
116
116
  });
117
117
  //#endregion
118
118
  //#region src/inplace/list-guides.ts
119
- function We(e) {
119
+ function Ue(e) {
120
120
  let t = 1;
121
121
  for (let n = e.node.parent; n; n = n.parent) n.name === "ListItem" && t++;
122
122
  return t;
123
123
  }
124
- function Ge(e, t, n, r, i, a) {
124
+ function We(e, t, n, r, i, a) {
125
125
  if (!i.lists) return;
126
126
  let o = /* @__PURE__ */ new Set();
127
127
  n.iterate({
@@ -129,7 +129,7 @@ function Ge(e, t, n, r, i, a) {
129
129
  to: t,
130
130
  enter: (e) => {
131
131
  if (e.name !== "ListItem") return;
132
- let t = We(e), n = t - 1, i = r.lineAt(e.from).number, s = r.lineAt(Math.min(e.to, r.length)).number, c = e.node.getChild("BulletList") ?? e.node.getChild("OrderedList"), l = c ? r.lineAt(c.from).number : -1, u = c ? r.lineAt(Math.max(c.from, c.to - 1)).number : -1, d = e.node.prevSibling ? "cm-inplace-item-gap" : t > 1 ? "cm-inplace-item-gap-nested" : null;
132
+ let t = Ue(e), n = t - 1, i = r.lineAt(e.from).number, s = r.lineAt(Math.min(e.to, r.length)).number, c = e.node.getChild("BulletList") ?? e.node.getChild("OrderedList"), l = c ? r.lineAt(c.from).number : -1, u = c ? r.lineAt(Math.max(c.from, c.to - 1)).number : -1, d = e.node.prevSibling ? "cm-inplace-item-gap" : t > 1 ? "cm-inplace-item-gap-nested" : null;
133
133
  for (let e = i; e <= s; e++) c && e >= l && e <= u || (n >= 1 && !o.has(e) && (o.add(e), a.push(E.line({
134
134
  class: "cm-inplace-li",
135
135
  attributes: { style: `--sl-li-depth:${n}` }
@@ -139,7 +139,7 @@ function Ge(e, t, n, r, i, a) {
139
139
  }
140
140
  //#endregion
141
141
  //#region src/inplace/reveal.ts
142
- function z(e) {
142
+ function V(e) {
143
143
  let t = /* @__PURE__ */ new Set();
144
144
  for (let n of e.selection.ranges) {
145
145
  let r = e.doc.lineAt(n.from).number, i = e.doc.lineAt(n.to).number;
@@ -149,22 +149,22 @@ function z(e) {
149
149
  }
150
150
  //#endregion
151
151
  //#region src/inplace/scan.ts
152
- var Ke = /* @__PURE__ */ new Set([
152
+ var Ge = /* @__PURE__ */ new Set([
153
153
  "InlineCode",
154
154
  "FencedCode",
155
155
  "CodeBlock",
156
156
  "CodeText"
157
157
  ]);
158
- function B(e, t) {
158
+ function H(e, t) {
159
159
  let n = e.resolveInner(t, 1);
160
160
  for (;;) {
161
- if (Ke.has(n.name)) return !0;
161
+ if (Ge.has(n.name)) return !0;
162
162
  let e = n.parent;
163
163
  if (!e) return !1;
164
164
  n = e;
165
165
  }
166
166
  }
167
- function qe(e, t) {
167
+ function Ke(e, t) {
168
168
  let n = e.resolveInner(t, 1);
169
169
  for (;;) {
170
170
  if (n.name === "Table") return !0;
@@ -173,16 +173,16 @@ function qe(e, t) {
173
173
  n = e;
174
174
  }
175
175
  }
176
- function Je(e, t, n, r) {
176
+ function qe(e, t, n, r) {
177
177
  let i = t.lineAt(n).number, a = t.lineAt(r).number;
178
178
  for (let t = i; t <= a; t++) if (e.has(t)) return !0;
179
179
  return !1;
180
180
  }
181
181
  //#endregion
182
182
  //#region src/inplace/math.ts
183
- var Ye = /(?<![\w$])\$(?!\s)([^\n$]+?)(?<!\s)\$(?![\w$])/g, Xe = /(?<![\w$])\$\$([^\n$]+?)\$\$(?![\w$])/g, Ze = /(?<![\w$])\$\$([^]+?)\$\$/g;
184
- function Qe(e, t) {
185
- for (let n of e.matchAll(Xe)) {
183
+ var Je = /(?<![\w$])\$(?!\s)([^\n$]+?)(?<!\s)\$(?![\w$])/g, Ye = /(?<![\w$])\$\$([^\n$]+?)\$\$(?![\w$])/g, Xe = /(?<![\w$])\$\$([^]+?)\$\$/g;
184
+ function Ze(e, t) {
185
+ for (let n of e.matchAll(Ye)) {
186
186
  let e = n.index ?? 0, r = e + (n[0] ?? "").length;
187
187
  if (t >= e && t <= r) return {
188
188
  from: e,
@@ -191,7 +191,7 @@ function Qe(e, t) {
191
191
  block: !0
192
192
  };
193
193
  }
194
- for (let n of e.matchAll(Ye)) {
194
+ for (let n of e.matchAll(Je)) {
195
195
  let e = n.index ?? 0, r = e + (n[0] ?? "").length;
196
196
  if (t >= e && t <= r) return {
197
197
  from: e,
@@ -202,7 +202,7 @@ function Qe(e, t) {
202
202
  }
203
203
  return null;
204
204
  }
205
- var $e = class extends k {
205
+ var Qe = class extends k {
206
206
  src;
207
207
  block;
208
208
  constructor(e, t) {
@@ -228,19 +228,19 @@ var $e = class extends k {
228
228
  return !1;
229
229
  }
230
230
  };
231
- function et(e, t, n, r, i, a, o) {
231
+ function $e(e, t, n, r, i, a, o) {
232
232
  if (!r.includes("$")) return;
233
233
  let { doc: s } = e.state, c = [];
234
- for (let e of r.matchAll(Xe)) {
234
+ for (let e of r.matchAll(Ye)) {
235
235
  let n = (e[1] ?? "").trim(), r = t + (e.index ?? 0), l = r + (e[0] ?? "").length;
236
- !n || B(a, r + 2) || (c.push([r, l]), !Je(i, s, r, l) && o.push(E.replace({ widget: new $e(n, !0) }).range(r, l)));
236
+ !n || H(a, r + 2) || (c.push([r, l]), !qe(i, s, r, l) && o.push(E.replace({ widget: new Qe(n, !0) }).range(r, l)));
237
237
  }
238
- for (let e of r.matchAll(Ye)) {
238
+ for (let e of r.matchAll(Je)) {
239
239
  let n = (e[1] ?? "").trim(), r = t + (e.index ?? 0), l = r + (e[0] ?? "").length;
240
- !n || B(a, r + 1) || c.some(([e, t]) => r >= e && l <= t) || Je(i, s, r, l) || o.push(E.replace({ widget: new $e(n, !1) }).range(r, l));
240
+ !n || H(a, r + 1) || c.some(([e, t]) => r >= e && l <= t) || qe(i, s, r, l) || o.push(E.replace({ widget: new Qe(n, !1) }).range(r, l));
241
241
  }
242
242
  }
243
- function tt(e, t, n) {
243
+ function et(e, t, n) {
244
244
  let r = n.map((t) => ({
245
245
  first: e.doc.lineAt(t.from).number,
246
246
  last: e.doc.lineAt(t.to).number
@@ -251,15 +251,15 @@ function tt(e, t, n) {
251
251
  }
252
252
  return !1;
253
253
  }
254
- var nt = M.define({
255
- create: rt,
254
+ var tt = N.define({
255
+ create: nt,
256
256
  update(e, t) {
257
- return t.docChanged || t.selection && (tt(t.state, t.startState.selection, e.ranges) || tt(t.state, t.state.selection, e.ranges)) ? rt(t.state) : e;
257
+ return t.docChanged || t.selection && (et(t.state, t.startState.selection, e.ranges) || et(t.state, t.state.selection, e.ranges)) ? nt(t.state) : e;
258
258
  },
259
259
  provide: (e) => [D.decorations.from(e, (e) => e.decorations), D.atomicRanges.of((t) => t.state.field(e).decorations)]
260
260
  });
261
- function rt(e) {
262
- if (!e.facet(P).math) return {
261
+ function nt(e) {
262
+ if (!e.facet(F).math) return {
263
263
  decorations: E.none,
264
264
  ranges: []
265
265
  };
@@ -268,16 +268,16 @@ function rt(e) {
268
268
  decorations: E.none,
269
269
  ranges: []
270
270
  };
271
- let n = [], r = [], i = z(e), a = N(e);
272
- for (let o of t.matchAll(Ze)) {
271
+ let n = [], r = [], i = V(e), a = P(e);
272
+ for (let o of t.matchAll(Xe)) {
273
273
  let t = o[0] ?? "", s = (o[1] ?? "").trim();
274
274
  if (!s || !t.includes("\n")) continue;
275
275
  let c = o.index ?? 0, l = c + t.length, u = e.doc.lineAt(c), d = e.doc.lineAt(l), f = e.doc.sliceString(u.from, c).trim(), p = e.doc.sliceString(l, d.to).trim();
276
- f === "" && p === "" && (B(a, c + 2) || (r.push({
276
+ f === "" && p === "" && (H(a, c + 2) || (r.push({
277
277
  from: c,
278
278
  to: l
279
- }), !Je(i, e.doc, c, l) && n.push(E.replace({
280
- widget: new $e(s, !0),
279
+ }), !qe(i, e.doc, c, l) && n.push(E.replace({
280
+ widget: new Qe(s, !0),
281
281
  block: !0
282
282
  }).range(c, l))));
283
283
  }
@@ -288,7 +288,7 @@ function rt(e) {
288
288
  }
289
289
  //#endregion
290
290
  //#region src/inplace/nodes-inline.ts
291
- var it = {
291
+ var rt = {
292
292
  StrongEmphasis: {
293
293
  mark: "EmphasisMark",
294
294
  className: "cm-inplace-strong",
@@ -310,13 +310,13 @@ var it = {
310
310
  toggle: "code"
311
311
  }
312
312
  };
313
- function at(e, t, n) {
313
+ function it(e, t, n) {
314
314
  let { doc: r, revealed: i, out: a, toggles: o } = t;
315
315
  if (!o[n.toggle]) return;
316
316
  let s = e.node.getChildren(n.mark), c = s[0], l = s[s.length - 1], u = c && l && c !== l, d = u ? c.to : e.from, f = u ? l.from : e.to;
317
317
  f > d && a.push(E.mark({ class: n.className }).range(d, f)), u && !i.has(r.lineAt(e.from).number) && (a.push(E.replace({}).range(c.from, c.to)), a.push(E.replace({}).range(l.from, l.to)));
318
318
  }
319
- function ot(e, t) {
319
+ function at(e, t) {
320
320
  let { doc: n, revealed: r, out: i, toggles: a } = t, o = n.sliceString(Math.max(0, e.from - 1), e.from), s = n.sliceString(e.to, e.to + 1);
321
321
  if (o === "[" && s === "]" || !a.links) return !1;
322
322
  let c = n.lineAt(e.from), l = me.exec(c.text);
@@ -329,7 +329,7 @@ function ot(e, t) {
329
329
  }
330
330
  //#endregion
331
331
  //#region src/inplace/widgets.ts
332
- var st = class extends k {
332
+ var ot = class extends k {
333
333
  eq() {
334
334
  return !0;
335
335
  }
@@ -340,7 +340,7 @@ var st = class extends k {
340
340
  ignoreEvent() {
341
341
  return !1;
342
342
  }
343
- }, ct = class extends k {
343
+ }, st = class extends k {
344
344
  eq() {
345
345
  return !0;
346
346
  }
@@ -351,7 +351,7 @@ var st = class extends k {
351
351
  ignoreEvent() {
352
352
  return !1;
353
353
  }
354
- }, lt = class extends k {
354
+ }, ct = class extends k {
355
355
  checked;
356
356
  constructor(e) {
357
357
  super(), this.checked = e;
@@ -373,14 +373,14 @@ var st = class extends k {
373
373
  ignoreEvent() {
374
374
  return !0;
375
375
  }
376
- }, ut = /^[-*+]$/;
377
- function dt(e, t) {
376
+ }, lt = /^[-*+]$/;
377
+ function ut(e, t) {
378
378
  let { doc: n, revealed: r, out: i, toggles: a } = t;
379
379
  if (!a.horizontalRule) return !1;
380
380
  let o = n.lineAt(e.from);
381
- return r.has(o.number) || (i.push(E.line({ class: "cm-inplace-hr-line" }).range(o.from)), i.push(E.replace({ widget: new st() }).range(o.from, o.to))), !1;
381
+ return r.has(o.number) || (i.push(E.line({ class: "cm-inplace-hr-line" }).range(o.from)), i.push(E.replace({ widget: new ot() }).range(o.from, o.to))), !1;
382
382
  }
383
- function ft(e, t) {
383
+ function dt(e, t) {
384
384
  let { doc: n, revealed: r, caretRevealed: i, out: a, toggles: o, quoteRevealed: s } = t;
385
385
  if (o.blockquote) {
386
386
  let t = n.lineAt(e.from).number, o = n.lineAt(Math.min(e.to, n.length)).number, c = n.line(t), l = me.exec(c.text), u = l ? de(l[3]) : null, d = !1;
@@ -401,7 +401,7 @@ function ft(e, t) {
401
401
  }
402
402
  }
403
403
  }
404
- function pt(e, t) {
404
+ function ft(e, t) {
405
405
  let { doc: n, revealed: r, out: i, toggles: a, quoteRevealed: o } = t;
406
406
  if (!a.blockquote) return !1;
407
407
  let s = n.lineAt(e.from);
@@ -411,20 +411,20 @@ function pt(e, t) {
411
411
  }
412
412
  return !1;
413
413
  }
414
- function mt(e, t) {
414
+ function pt(e, t) {
415
415
  let { doc: n, revealed: r, out: i, toggles: a } = t, o = n.sliceString(e.from, e.to), s = n.lineAt(e.from), c = e.node.parent, l = !!(c?.getChild("Task") ?? c?.getChild("TaskMarker"));
416
- return r.has(s.number) || (l ? a.tasks && i.push(E.replace({}).range(e.from, Math.min(e.to + 1, s.to))) : a.lists && ut.test(o) && i.push(E.replace({ widget: new ct() }).range(e.from, e.to))), !1;
416
+ return r.has(s.number) || (l ? a.tasks && i.push(E.replace({}).range(e.from, Math.min(e.to + 1, s.to))) : a.lists && lt.test(o) && i.push(E.replace({ widget: new st() }).range(e.from, e.to))), !1;
417
417
  }
418
- function ht(e, t) {
418
+ function mt(e, t) {
419
419
  let { doc: n, revealed: r, out: i, toggles: a } = t;
420
420
  if (!a.tasks) return !1;
421
421
  if (!r.has(n.lineAt(e.from).number)) {
422
422
  let t = n.sliceString(e.from + 1, e.to - 1).toLowerCase() === "x";
423
- i.push(E.replace({ widget: new lt(t) }).range(e.from, e.to));
423
+ i.push(E.replace({ widget: new ct(t) }).range(e.from, e.to));
424
424
  }
425
425
  return !1;
426
426
  }
427
- function gt(e, t) {
427
+ function ht(e, t) {
428
428
  let { doc: n, revealed: r, caretRevealed: i, out: a, toggles: o } = t;
429
429
  if (!o.code) return !1;
430
430
  let s = e.name === "FencedCode", c = n.lineAt(e.from).number, l = n.lineAt(e.to > e.from ? e.to - 1 : e.to).number, u = l > c + 1, d = !1;
@@ -440,8 +440,8 @@ function gt(e, t) {
440
440
  }
441
441
  //#endregion
442
442
  //#region src/inplace/nodes.ts
443
- var _t = /^ATXHeading([1-6])$/, vt = /^SetextHeading([12])$/;
444
- function yt(e, t, n) {
443
+ var gt = /^ATXHeading([1-6])$/, _t = /^SetextHeading([12])$/;
444
+ function vt(e, t, n) {
445
445
  let { doc: r, revealed: i, out: a, toggles: o } = t;
446
446
  if (o.headings) {
447
447
  let t = r.lineAt(e.from);
@@ -457,7 +457,7 @@ function yt(e, t, n) {
457
457
  }
458
458
  }
459
459
  }
460
- function bt(e, t, n) {
460
+ function yt(e, t, n) {
461
461
  let { doc: r, caretRevealed: i, out: a, toggles: o } = t;
462
462
  if (o.headings) {
463
463
  let t = r.lineAt(e.from);
@@ -475,30 +475,30 @@ function bt(e, t, n) {
475
475
  }
476
476
  }
477
477
  }
478
- function xt(e, t) {
478
+ function bt(e, t) {
479
479
  if (e.to <= t.fmEnd) return !1;
480
- let n = _t.exec(e.name);
481
- if (n) return yt(e, t, n[1]);
482
- let r = vt.exec(e.name);
483
- if (r) return bt(e, t, r[1]);
484
- let i = it[e.name];
485
- if (i) return at(e, t, i);
486
- if (e.name === "Link") return ot(e, t);
487
- if (e.name === "HorizontalRule") return dt(e, t);
488
- if (e.name === "Blockquote") return ft(e, t);
489
- if (e.name === "QuoteMark") return pt(e, t);
490
- if (e.name === "ListMark") return mt(e, t);
491
- if (e.name === "TaskMarker") return ht(e, t);
492
- if (e.name === "FencedCode" || e.name === "CodeBlock") return gt(e, t);
480
+ let n = gt.exec(e.name);
481
+ if (n) return vt(e, t, n[1]);
482
+ let r = _t.exec(e.name);
483
+ if (r) return yt(e, t, r[1]);
484
+ let i = rt[e.name];
485
+ if (i) return it(e, t, i);
486
+ if (e.name === "Link") return at(e, t);
487
+ if (e.name === "HorizontalRule") return ut(e, t);
488
+ if (e.name === "Blockquote") return dt(e, t);
489
+ if (e.name === "QuoteMark") return ft(e, t);
490
+ if (e.name === "ListMark") return pt(e, t);
491
+ if (e.name === "TaskMarker") return mt(e, t);
492
+ if (e.name === "FencedCode" || e.name === "CodeBlock") return ht(e, t);
493
493
  }
494
494
  //#endregion
495
495
  //#region src/inplace/wikilinks.ts
496
- function St(t, n, r, i, a, o, s) {
496
+ function xt(t, n, r, i, a, o, s) {
497
497
  if (!i.includes("[[")) return;
498
- let c = t.state.facet(F) != null;
498
+ let c = t.state.facet(I) != null;
499
499
  for (let r of i.matchAll(e)) {
500
500
  let [e = "", i = "", l] = r, u = i.trim(), d = n + (r.index ?? 0);
501
- if (!u || B(o, d + 1) || c && d > 0 && t.state.doc.sliceString(d - 1, d) === "!") continue;
501
+ if (!u || H(o, d + 1) || c && d > 0 && t.state.doc.sliceString(d - 1, d) === "!") continue;
502
502
  let f = d + e.length, p = l == null ? d + 2 : d + 2 + i.length + 1, m = f - 2;
503
503
  s.push(E.mark({
504
504
  class: "cm-inplace-link cm-inplace-wikilink",
@@ -508,9 +508,9 @@ function St(t, n, r, i, a, o, s) {
508
508
  }
509
509
  //#endregion
510
510
  //#region src/inplace/decorate.ts
511
- var Ct = /* @__PURE__ */ new Set(), wt = E.replace({});
512
- function Tt(e) {
513
- let n = [], r = z(e.state), i = e.state.facet(L) === "never" ? Ct : r, a = N(e.state), { doc: o } = e.state, s = e.state.facet(P), c = {
511
+ var St = /* @__PURE__ */ new Set(), Ct = E.replace({});
512
+ function wt(e) {
513
+ let n = [], r = V(e.state), i = e.state.facet(R) === "never" ? St : r, a = P(e.state), { doc: o } = e.state, s = e.state.facet(F), c = {
514
514
  doc: o,
515
515
  revealed: i,
516
516
  caretRevealed: r,
@@ -523,10 +523,10 @@ function Tt(e) {
523
523
  a.iterate({
524
524
  from: t.from,
525
525
  to: t.to,
526
- enter: (e) => xt(e, c)
526
+ enter: (e) => bt(e, c)
527
527
  });
528
528
  let r = e.state.doc.sliceString(t.from, t.to);
529
- s.wikilinks && St(e, t.from, t.to, r, i, a, n), s.math && et(e, t.from, t.to, r, i, a, n), Ge(t.from, t.to, a, o, s, n);
529
+ s.wikilinks && xt(e, t.from, t.to, r, i, a, n), s.math && $e(e, t.from, t.to, r, i, a, n), We(t.from, t.to, a, o, s, n);
530
530
  }
531
531
  let l = n.filter((e) => e.from < e.to && !e.value.spec.class).sort((e, t) => e.from - t.from || e.to - t.to), u = [];
532
532
  for (let e of l) {
@@ -535,7 +535,7 @@ function Tt(e) {
535
535
  if (e.from === t.from && e.to === t.to) continue;
536
536
  }
537
537
  let t = u[u.length - 1];
538
- t && e.from <= t.to ? e.to > t.to && (u[u.length - 1] = wt.range(t.from, e.to)) : u.push(wt.range(e.from, e.to));
538
+ t && e.from <= t.to ? e.to > t.to && (u[u.length - 1] = Ct.range(t.from, e.to)) : u.push(Ct.range(e.from, e.to));
539
539
  }
540
540
  return {
541
541
  decorations: E.set(n, !0),
@@ -544,16 +544,16 @@ function Tt(e) {
544
544
  }
545
545
  //#endregion
546
546
  //#region src/inplace/plugin.ts
547
- var Et = O.fromClass(class {
547
+ var Tt = O.fromClass(class {
548
548
  decorations;
549
549
  atomic;
550
550
  constructor(e) {
551
- let t = Tt(e);
551
+ let t = wt(e);
552
552
  this.decorations = t.decorations, this.atomic = t.atomic;
553
553
  }
554
554
  update(e) {
555
555
  if (e.docChanged || e.viewportChanged || e.selectionSet) {
556
- let t = Tt(e.view);
556
+ let t = wt(e.view);
557
557
  this.decorations = t.decorations, this.atomic = t.atomic;
558
558
  }
559
559
  }
@@ -561,12 +561,12 @@ var Et = O.fromClass(class {
561
561
  decorations: (e) => e.decorations,
562
562
  provide: (e) => D.atomicRanges.of((t) => t.plugin(e)?.atomic ?? E.none)
563
563
  });
564
- function Dt() {
565
- return Et;
564
+ function Et() {
565
+ return Tt;
566
566
  }
567
567
  //#endregion
568
568
  //#region src/inplace/wrap-at.ts
569
- var Ot = {
569
+ var Dt = {
570
570
  StrongEmphasis: {
571
571
  markType: "EmphasisMark",
572
572
  toggle: "emphasis"
@@ -584,15 +584,15 @@ var Ot = {
584
584
  toggle: "code"
585
585
  }
586
586
  };
587
- function V(e, t) {
588
- return e.facet(L) === "never" || !z(e).has(t);
587
+ function U(e, t) {
588
+ return e.facet(R) === "never" || !V(e).has(t);
589
589
  }
590
- function H(t, n, r = !1, i = !1) {
590
+ function W(t, n, r = !1, i = !1) {
591
591
  let a = t.doc.lineAt(n);
592
- if (!i && !V(t, a.number)) return null;
593
- let o = t.facet(P), s = N(t);
592
+ if (!i && !U(t, a.number)) return null;
593
+ let o = t.facet(F), s = P(t);
594
594
  for (let e of [-1, 1]) for (let i = s.resolveInner(n, e); i; i = i.parent) {
595
- let e = Ot[i.name];
595
+ let e = Dt[i.name];
596
596
  if (e) {
597
597
  if (!o[e.toggle]) break;
598
598
  let t = i.getChildren(e.markType), n = t[0], r = t[t.length - 1];
@@ -634,8 +634,8 @@ function H(t, n, r = !1, i = !1) {
634
634
  }
635
635
  //#endregion
636
636
  //#region src/inplace/edit-boundaries.ts
637
- function kt(e, t, n) {
638
- let r = e.plugin(Et)?.decorations;
637
+ function Ot(e, t, n) {
638
+ let r = e.plugin(Tt)?.decorations;
639
639
  if (!r) return t;
640
640
  let i = n < 0 ? 0 : e.state.doc.length, a = t;
641
641
  for (let e = !0; e;) e = !1, r.between(Math.min(a, i), Math.max(a, i), (t, r, i) => {
@@ -643,18 +643,18 @@ function kt(e, t, n) {
643
643
  });
644
644
  return a;
645
645
  }
646
- var At = (e) => (t) => {
646
+ var kt = (e) => (t) => {
647
647
  if (h(t)) return !1;
648
648
  let n = t.state.selection.main;
649
649
  if (!n.empty) return !1;
650
650
  let { state: r } = t;
651
- if (!V(r, r.doc.lineAt(n.head).number)) return !1;
652
- let i = kt(t, n.head, e);
651
+ if (!U(r, r.doc.lineAt(n.head).number)) return !1;
652
+ let i = Ot(t, n.head, e);
653
653
  if (i === n.head) return !1;
654
654
  let a = r.doc;
655
655
  if (e < 0 ? i <= 0 : i >= a.length) return !0;
656
656
  let o = e < 0 ? i - 1 : i, s = e < 0 ? i : i + 1;
657
- for (let e = H(r, o); e && o <= e.contentFrom && s >= e.contentTo && e.contentTo > e.contentFrom && !(e.from >= o && e.to <= s); e = H(r, o)) o = Math.min(o, e.from), s = Math.max(s, e.to);
657
+ for (let e = W(r, o); e && o <= e.contentFrom && s >= e.contentTo && e.contentTo > e.contentFrom && !(e.from >= o && e.to <= s); e = W(r, o)) o = Math.min(o, e.from), s = Math.max(s, e.to);
658
658
  return t.dispatch({
659
659
  changes: {
660
660
  from: o,
@@ -665,93 +665,56 @@ var At = (e) => (t) => {
665
665
  userEvent: e < 0 ? "delete.backward" : "delete.forward",
666
666
  scrollIntoView: !0
667
667
  }), !0;
668
- }, jt = At(-1), Mt = At(1);
669
- function Nt(e, t, n) {
668
+ }, At = kt(-1), jt = kt(1);
669
+ function Mt(e, t, n) {
670
670
  if (n <= t) return !1;
671
- let r = e.plugin(Et)?.decorations;
671
+ let r = e.plugin(Tt)?.decorations;
672
672
  if (!r) return !1;
673
673
  let i = t;
674
674
  return r.between(t, n, (e, t, n) => {
675
675
  n.spec.widget || n.spec.class || t <= e || e <= i && (i = Math.max(i, t));
676
676
  }), i >= n;
677
677
  }
678
- var U = (e, t) => (n) => {
678
+ var G = (e, t) => (n) => {
679
679
  if (h(n)) return !1;
680
680
  let r = n.state.selection.main;
681
- if (!t && !r.empty || !V(n.state, n.state.doc.lineAt(r.head).number)) return !1;
681
+ if (!t && !r.empty || !U(n.state, n.state.doc.lineAt(r.head).number)) return !1;
682
682
  let i = n.moveByChar(r, e);
683
- if (Nt(n, Math.min(r.head, i.head), Math.max(r.head, i.head)) && (i = n.moveByChar(i, e)), i.head === r.head) return !1;
684
- let a = t ? Ce.range(r.anchor, i.head) : Ce.cursor(i.head);
683
+ if (Mt(n, Math.min(r.head, i.head), Math.max(r.head, i.head)) && (i = n.moveByChar(i, e)), i.head === r.head) return !1;
684
+ let a = t ? Se.range(r.anchor, i.head) : Se.cursor(i.head);
685
685
  return n.dispatch({
686
686
  selection: a,
687
687
  userEvent: "select"
688
688
  }), !0;
689
- }, Pt = U(!1, !1), Ft = U(!0, !1), It = U(!1, !0), Lt = U(!0, !0), Rt = j.high(ve.of([
689
+ }, Nt = G(!1, !1), Pt = G(!0, !1), Ft = G(!1, !0), It = G(!0, !0), Lt = M.high(A.of([
690
690
  {
691
691
  key: "Backspace",
692
- run: jt
692
+ run: At
693
693
  },
694
694
  {
695
695
  key: "Delete",
696
- run: Mt
696
+ run: jt
697
697
  },
698
698
  {
699
699
  key: "ArrowLeft",
700
- run: Pt
700
+ run: Nt
701
701
  },
702
702
  {
703
703
  key: "ArrowRight",
704
- run: Ft
704
+ run: Pt
705
705
  },
706
706
  {
707
707
  key: "Shift-ArrowLeft",
708
- run: It
708
+ run: Ft
709
709
  },
710
710
  {
711
711
  key: "Shift-ArrowRight",
712
- run: Lt
712
+ run: It
713
713
  }
714
714
  ]));
715
715
  //#endregion
716
- //#region src/inplace/table-cell-marks.ts
717
- function zt(e, t, n, r) {
718
- let i = {
719
- marks: [],
720
- cellClass: []
721
- };
722
- for (let a of e) if (!(a.to <= t || a.from >= t + r || a.to <= a.from)) {
723
- i.marks.push({
724
- from: Math.max(a.from - t, 0) + n,
725
- to: Math.min(a.to - t, r) + n,
726
- class: a.class,
727
- attributes: a.attributes
728
- });
729
- for (let e of a.cellClass?.split(/\s+/) ?? []) e && !i.cellClass.includes(e) && i.cellClass.push(e);
730
- }
731
- return i.marks.length || i.cellClass.length ? i : null;
732
- }
733
- function Bt(e, t) {
734
- let n = document.createElement("span");
735
- n.className = e.class, n.dataset.styloCellMark = "";
736
- for (let [t, r] of Object.entries(e.attributes ?? {})) try {
737
- n.setAttribute(t, r);
738
- } catch {}
739
- return n.append(t), n;
740
- }
741
- function Vt(e, t) {
742
- let n = e.node.data, r = e.start + n.length, i = t.filter((t) => t.from < r && t.to > e.start);
743
- if (!i.length) return !1;
744
- let a = /* @__PURE__ */ new Set([e.start, r]);
745
- for (let t of i) a.add(Math.max(t.from, e.start)), a.add(Math.min(t.to, r));
746
- let o = [...a].sort((e, t) => e - t), s = document.createDocumentFragment();
747
- for (let t = 0; t < o.length - 1; t++) {
748
- let [r, a] = [o[t], o[t + 1]], c = document.createTextNode(n.slice(r - e.start, a - e.start));
749
- for (let e of i) e.from <= r && e.to >= a && (c = Bt(e, c));
750
- s.append(c);
751
- }
752
- return e.node.replaceWith(s), !0;
753
- }
754
- function Ht(e, t) {
716
+ //#region src/inplace/table-cell-align.ts
717
+ function Rt(e, t) {
755
718
  let n = [], r = 0, i = (e) => {
756
719
  for (let a of e.childNodes) if (a instanceof Text) {
757
720
  let e = t.indexOf(a.data, r);
@@ -776,90 +739,192 @@ function Ht(e, t) {
776
739
  };
777
740
  return i(e) ? n : null;
778
741
  }
779
- function Ut(e, t) {
742
+ //#endregion
743
+ //#region src/inplace/table-cell-widgets.ts
744
+ function zt(e, t, n, r, i) {
745
+ return e.filter((e) => e.pos >= n && e.pos <= n + i).map((e) => ({
746
+ at: e.pos - n + r,
747
+ key: e.key,
748
+ cellClass: e.cellClass,
749
+ build: () => e.toDOM(t)
750
+ }));
751
+ }
752
+ function Bt(e) {
753
+ let t = e.build();
754
+ return t.setAttribute("contenteditable", "false"), t.dataset.styloCellWidget = "", t;
755
+ }
756
+ function Vt(e, t) {
757
+ let n = null, r = Infinity;
758
+ for (let i of e) {
759
+ let e = i.start + i.node.data.length;
760
+ if (t > i.start && t <= e) return {
761
+ piece: i,
762
+ at: t
763
+ };
764
+ for (let a of [i.start, e]) Math.abs(t - a) < r && ([n, r] = [{
765
+ piece: i,
766
+ at: a
767
+ }, Math.abs(t - a)]);
768
+ }
769
+ return n;
770
+ }
771
+ function Ht(e, t) {
772
+ let n = /* @__PURE__ */ new Map(), r = [];
773
+ for (let i of t) {
774
+ let t = e && Vt(e, i.at);
775
+ t ? n.set(t.piece, [...n.get(t.piece) ?? [], {
776
+ ...i,
777
+ at: t.at
778
+ }]) : r.push(i);
779
+ }
780
+ return {
781
+ placed: n,
782
+ loose: r
783
+ };
784
+ }
785
+ //#endregion
786
+ //#region src/inplace/table-cell-marks.ts
787
+ function Ut(e, t, n, r) {
788
+ let i = {
789
+ marks: [],
790
+ widgets: [],
791
+ cellClass: []
792
+ };
793
+ for (let a of e) a.to <= t || a.from >= t + r || a.to <= a.from || (i.marks.push({
794
+ from: Math.max(a.from - t, 0) + n,
795
+ to: Math.min(a.to - t, r) + n,
796
+ class: a.class,
797
+ attributes: a.attributes
798
+ }), Wt(i, a.cellClass));
799
+ return i.marks.length || i.cellClass.length ? i : null;
800
+ }
801
+ var Wt = (e, t) => {
802
+ for (let n of t?.split(/\s+/) ?? []) n && !e.cellClass.includes(n) && e.cellClass.push(n);
803
+ };
804
+ function Gt(e, t) {
805
+ let n = document.createElement("span");
806
+ n.className = e.class, n.dataset.styloCellMark = "";
807
+ for (let [t, r] of Object.entries(e.attributes ?? {})) try {
808
+ n.setAttribute(t, r);
809
+ } catch {}
810
+ return n.append(t), n;
811
+ }
812
+ function Kt(e, t, n) {
813
+ let r = e.node.data, i = e.start + r.length, a = t.filter((t) => t.from < i && t.to > e.start);
814
+ if (!a.length && !n.length) return !1;
815
+ let o = /* @__PURE__ */ new Set([e.start, i]);
816
+ for (let e of n) o.add(e.at);
817
+ for (let t of a) o.add(Math.max(t.from, e.start)), o.add(Math.min(t.to, i));
818
+ let s = [...o].sort((e, t) => e - t), c = document.createDocumentFragment(), l = (e) => {
819
+ for (let t of n) t.at === e && c.append(Bt(t));
820
+ };
821
+ l(e.start);
822
+ for (let t = 0; t < s.length - 1; t++) {
823
+ let [n, i] = [s[t], s[t + 1]], o = document.createTextNode(r.slice(n - e.start, i - e.start));
824
+ for (let e of a) e.from <= n && e.to >= i && (o = Gt(e, o));
825
+ c.append(o), l(i);
826
+ }
827
+ return e.node.replaceWith(c), !0;
828
+ }
829
+ function qt(e, t) {
780
830
  for (let n of t) {
781
- let t = Bt(n, e.ownerDocument.createDocumentFragment());
831
+ let t = Gt(n, e.ownerDocument.createDocumentFragment());
782
832
  t.append(...e.childNodes), e.append(t);
783
833
  }
784
834
  }
785
- function Wt(e, t, n, r) {
786
- let i = n.marks, a = [], o;
787
- if (r) o = e.firstChild instanceof Text ? [{
835
+ function Jt(e, t, n, r) {
836
+ let i = n.marks, a = [], o = [], s;
837
+ if (r) s = e.firstChild instanceof Text ? [{
788
838
  node: e.firstChild,
789
839
  start: 0
790
840
  }] : null;
791
841
  else {
792
- let n = [...t.matchAll(/\\\|/g)].map((e) => e.index), r = (e) => e - n.filter((t) => t < e).length;
793
- o = Ht(e, t.replace(/\\\|/g, "|")), i = i.map((e) => ({
842
+ let r = [...t.matchAll(/\\\|/g)].map((e) => e.index), o = (e) => e - r.filter((t) => t < e).length;
843
+ s = Rt(e, t.replace(/\\\|/g, "|")), i = i.map((e) => ({
844
+ ...e,
845
+ from: o(e.from),
846
+ to: o(e.to)
847
+ })), a = n.widgets.map((e) => ({
794
848
  ...e,
795
- from: r(e.from),
796
- to: r(e.to)
849
+ at: o(e.at)
797
850
  }));
798
851
  }
799
- if (!o) return Ut(e, i);
800
- let s = /* @__PURE__ */ new Set();
801
- for (let e of o) for (let t of i) t.from < e.start + e.node.data.length && t.to > e.start && s.add(t);
802
- for (let e of i) s.has(e) || a.push(e);
803
- for (let e of o) Vt(e, i);
804
- Ut(e, a);
852
+ let { placed: c, loose: l } = Ht(s, a), u = () => e.append(...l.map(Bt));
853
+ if (!s) return qt(e, i), u();
854
+ let d = /* @__PURE__ */ new Set();
855
+ for (let e of s) for (let t of i) t.from < e.start + e.node.data.length && t.to > e.start && d.add(t);
856
+ for (let e of i) d.has(e) || o.push(e);
857
+ for (let e of s) Kt(e, i, c.get(e) ?? []);
858
+ qt(e, o), u();
805
859
  }
806
- function Gt(e) {
860
+ function Yt(e) {
807
861
  let t = null;
808
862
  return (n, r) => {
809
863
  let i = e.view();
810
864
  if (!i || !e.mounted()) return null;
811
865
  if (t?.state !== i.state) {
812
- let n = i.state.facet(Le)(i.state);
866
+ let n = i.state.facet(Ie)(i.state), r = i.state.facet(Le)(i.state);
813
867
  t = {
814
868
  state: i.state,
815
869
  marks: n,
816
- from: n.length ? e.from(i) : 0
870
+ widgets: r,
871
+ from: n.length || r.length ? e.from(i) : 0
817
872
  };
818
873
  }
819
- if (!t.marks.length) return null;
874
+ if (!t.marks.length && !t.widgets.length) return null;
820
875
  let a = v(i.state.doc, t.from, n, r), o = e.raw(n, r);
821
- return a == null ? null : zt(t.marks, a, o.length - o.trimStart().length, o.trim().length);
876
+ if (a == null) return null;
877
+ let s = o.length - o.trimStart().length, c = o.trim().length, l = Ut(t.marks, a, s, c), u = zt(t.widgets, i, a, s, c);
878
+ if (!u.length) return l;
879
+ let d = l ?? {
880
+ marks: [],
881
+ widgets: [],
882
+ cellClass: []
883
+ };
884
+ d.widgets = u;
885
+ for (let e of u) Wt(d, e.cellClass);
886
+ return d;
822
887
  };
823
888
  }
824
889
  //#endregion
825
890
  //#region src/inplace/context-menu-helpers.ts
826
- var Kt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], qt = [
891
+ var Xt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], Zt = [
827
892
  "bold",
828
893
  "italic",
829
894
  "strike"
830
- ], Jt = ["code", "math"], Yt = [
895
+ ], Qt = ["code", "math"], $t = [
831
896
  "bulletList",
832
897
  "orderedList",
833
898
  "task"
834
- ], Xt = [
899
+ ], en = [
835
900
  "h1",
836
901
  "h2",
837
902
  "h3"
838
- ], Zt = ["table", "hr"], Qt = [
903
+ ], tn = ["table", "hr"], nn = [
839
904
  "codeBlock",
840
905
  "mathBlock",
841
906
  "frontmatter"
842
- ], $t = (e, t, n = !1) => {
907
+ ], rn = (e, t, n = !1) => {
843
908
  let r = g[t];
844
909
  if (!r) return null;
845
910
  let { disabled: i, active: a } = re(e.state, r, n);
846
911
  return {
847
912
  label: r.title,
848
- icon: Kt(t),
913
+ icon: Xt(t),
849
914
  active: a,
850
915
  disabled: i,
851
916
  onSelect: () => {
852
917
  r.run(e), e.focus();
853
918
  }
854
919
  };
855
- }, W = (e, t, n = !1, r = !1) => {
920
+ }, K = (e, t, n = !1, r = !1) => {
856
921
  let i = [];
857
922
  for (let a of t) {
858
- let t = $t(e, a, r);
923
+ let t = rn(e, a, r);
859
924
  t && !(n && t.disabled) && i.push(t);
860
925
  }
861
926
  return i;
862
- }, G = (e) => {
927
+ }, q = (e) => {
863
928
  let t = e.contentDOM.ownerDocument, n = (n) => () => {
864
929
  e.focus();
865
930
  try {
@@ -894,36 +959,36 @@ var Kt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], qt =
894
959
  onSelect: () => {}
895
960
  }
896
961
  ];
897
- }, K = (e, t, n, r = !1) => ({
962
+ }, J = (e, t, n, r = !1) => ({
898
963
  label: e,
899
964
  icon: t,
900
965
  rows: n,
901
966
  disabled: r
902
967
  });
903
- function q(e, t) {
968
+ function Y(e, t) {
904
969
  t.length && (e.length && e.push("separator"), e.push(...t));
905
970
  }
906
971
  //#endregion
907
972
  //#region src/inplace/edit-divider.ts
908
- function en(e) {
973
+ function an(e) {
909
974
  let t = e.selection.main;
910
975
  if (!t.empty) return !1;
911
976
  let n = e.doc.lineAt(t.head);
912
- if (!V(e, n.number)) return !1;
913
- for (let t = N(e).resolveInner(n.from, 1); t; t = t.parent) {
977
+ if (!U(e, n.number)) return !1;
978
+ for (let t = P(e).resolveInner(n.from, 1); t; t = t.parent) {
914
979
  if (t.name === "HorizontalRule") return !0;
915
980
  if (!t.parent) break;
916
981
  }
917
982
  return !1;
918
983
  }
919
- var tn = (e) => h(e) || !en(e.state) ? !1 : oe(e), nn = j.high(ve.of([{
984
+ var on = (e) => h(e) || !an(e.state) ? !1 : oe(e), sn = M.high(A.of([{
920
985
  key: "Backspace",
921
- run: tn
986
+ run: on
922
987
  }, {
923
988
  key: "Delete",
924
- run: tn
989
+ run: on
925
990
  }]));
926
- function rn(e) {
991
+ function cn(e) {
927
992
  return {
928
993
  label: "Remove divider",
929
994
  icon: S.hr,
@@ -934,66 +999,66 @@ function rn(e) {
934
999
  }
935
1000
  //#endregion
936
1001
  //#region src/inplace/inline-md.ts
937
- function an(e, t = !1) {
1002
+ function ln(e, t = !1) {
938
1003
  let n = document.createDocumentFragment();
939
- return cn(n, e, t), n;
1004
+ return fn(n, e, t), n;
940
1005
  }
941
- var on = /!\[\[[^\]\n]+?\]\]/, sn = [
1006
+ var un = /!\[\[[^\]\n]+?\]\]/, dn = [
942
1007
  {
943
1008
  re: /`([^`\n]+)`/,
944
- build: (e) => J("code", "cm-inplace-code", document.createTextNode(e[1]))
1009
+ build: (e) => X("code", "cm-inplace-code", document.createTextNode(e[1]))
945
1010
  },
946
1011
  {
947
- re: new RegExp(Ye.source),
1012
+ re: new RegExp(Je.source),
948
1013
  build: (e) => {
949
- let t = J("span", "cm-inplace-math");
1014
+ let t = X("span", "cm-inplace-math");
950
1015
  return he.render(e[1], t, { throwOnError: !1 }), t;
951
1016
  }
952
1017
  },
953
1018
  {
954
1019
  re: new RegExp(e.source),
955
1020
  build: (e) => {
956
- let t = J("span", "cm-inplace-wikilink", document.createTextNode(e[2] || e[1] || ""));
1021
+ let t = X("span", "cm-inplace-wikilink", document.createTextNode(e[2] || e[1] || ""));
957
1022
  return t.dataset.styloWikilink = e[1] ?? "", t;
958
1023
  }
959
1024
  },
960
1025
  {
961
1026
  re: /\[([^\]\n]*)\]\(([^)\n]*)\)/,
962
1027
  build: (e, t) => {
963
- let n = J("a", "cm-inplace-link");
964
- return n.href = e[2] ?? "", n.append(Y(e[1] ?? "", t)), n;
1028
+ let n = X("a", "cm-inplace-link");
1029
+ return n.href = e[2] ?? "", n.append(Z(e[1] ?? "", t)), n;
965
1030
  }
966
1031
  },
967
1032
  {
968
1033
  re: /\*\*\*([^*\n]+?)\*\*\*/,
969
- build: (e, t) => J("strong", "cm-inplace-strong", J("em", "cm-inplace-em", Y(e[1], t)))
1034
+ build: (e, t) => X("strong", "cm-inplace-strong", X("em", "cm-inplace-em", Z(e[1], t)))
970
1035
  },
971
1036
  {
972
1037
  re: /\*\*([^\n]+?)\*\*/,
973
- build: (e, t) => J("strong", "cm-inplace-strong", Y(e[1], t))
1038
+ build: (e, t) => X("strong", "cm-inplace-strong", Z(e[1], t))
974
1039
  },
975
1040
  {
976
1041
  re: /~~([^\n]+?)~~/,
977
- build: (e, t) => J("span", "cm-inplace-strike", Y(e[1], t))
1042
+ build: (e, t) => X("span", "cm-inplace-strike", Z(e[1], t))
978
1043
  },
979
1044
  {
980
1045
  re: /(?<!\*)\*(?!\*|\s)([^\n]+?)(?<!\s)\*(?!\*)/,
981
- build: (e, t) => J("em", "cm-inplace-em", Y(e[1], t))
1046
+ build: (e, t) => X("em", "cm-inplace-em", Z(e[1], t))
982
1047
  }
983
1048
  ];
984
- function J(e, t, ...n) {
1049
+ function X(e, t, ...n) {
985
1050
  let r = document.createElement(e);
986
1051
  return r.className = t, r.append(...n), r;
987
1052
  }
988
- function Y(e, t) {
1053
+ function Z(e, t) {
989
1054
  let n = document.createDocumentFragment();
990
- return cn(n, e, t), n;
1055
+ return fn(n, e, t), n;
991
1056
  }
992
- function cn(e, t, n) {
1057
+ function fn(e, t, n) {
993
1058
  for (; t;) {
994
- let r = -1, i = null, a = n ? on.exec(t) : null;
1059
+ let r = -1, i = null, a = n ? un.exec(t) : null;
995
1060
  a && (r = a.index, i = { literal: a[0] });
996
- for (let e of sn) {
1061
+ for (let e of dn) {
997
1062
  let n = e.re.exec(t);
998
1063
  n && (r < 0 || n.index < r) && (r = n.index, i = {
999
1064
  rule: e,
@@ -1009,7 +1074,7 @@ function cn(e, t, n) {
1009
1074
  }
1010
1075
  //#endregion
1011
1076
  //#region src/inplace/tables.ts
1012
- var ln = class extends k {
1077
+ var pn = class extends k {
1013
1078
  table;
1014
1079
  embeds;
1015
1080
  constructor(e, t) {
@@ -1021,17 +1086,17 @@ var ln = class extends k {
1021
1086
  toDOM() {
1022
1087
  let { head: e, body: t, aligns: n } = this.table, r = document.createElement("table");
1023
1088
  r.className = "cm-inplace-table";
1024
- let i = (e) => an(e.replace(/\\\|/g, "|"), this.embeds), a = r.createTHead().insertRow();
1089
+ let i = (e) => ln(e.replace(/\\\|/g, "|"), this.embeds), a = r.createTHead().insertRow();
1025
1090
  e.forEach((e, t) => {
1026
1091
  let r = document.createElement("th");
1027
- r.appendChild(i(e)), r.dataset.styloRow = "0", r.dataset.styloCol = String(t), un(r, n[t]), a.appendChild(r);
1092
+ r.appendChild(i(e)), r.dataset.styloRow = "0", r.dataset.styloCol = String(t), mn(r, n[t]), a.appendChild(r);
1028
1093
  });
1029
1094
  let o = r.createTBody();
1030
1095
  return t.forEach((t, r) => {
1031
1096
  let a = o.insertRow();
1032
1097
  for (let o = 0; o < e.length; o++) {
1033
1098
  let e = a.insertCell();
1034
- e.appendChild(i(t[o] ?? "")), e.dataset.styloRow = String(r + 1), e.dataset.styloCol = String(o), un(e, n[o]);
1099
+ e.appendChild(i(t[o] ?? "")), e.dataset.styloRow = String(r + 1), e.dataset.styloCol = String(o), mn(e, n[o]);
1035
1100
  }
1036
1101
  }), r;
1037
1102
  }
@@ -1039,10 +1104,10 @@ var ln = class extends k {
1039
1104
  return !1;
1040
1105
  }
1041
1106
  };
1042
- function un(e, t) {
1107
+ function mn(e, t) {
1043
1108
  t && (e.style.textAlign = t);
1044
1109
  }
1045
- function dn(e, t) {
1110
+ function hn(e, t) {
1046
1111
  let n = t.lineAt(e.from).number, r = t.lineAt(e.to).number, i = [];
1047
1112
  for (let e = n; e <= r; e++) i.push(t.line(e).text);
1048
1113
  let a = p(i);
@@ -1052,17 +1117,17 @@ function dn(e, t) {
1052
1117
  aligns: a.aligns
1053
1118
  };
1054
1119
  }
1055
- function fn(e, t) {
1056
- let n = N(e);
1120
+ function gn(e, t) {
1121
+ let n = P(e);
1057
1122
  for (let e of [-1, 1]) for (let r = n.resolveInner(t, e); r; r = r.parent) if (r.name === "Table") return !0;
1058
1123
  return !1;
1059
1124
  }
1060
- function pn(e, t) {
1061
- return t.ranges.some((t) => fn(e, t.from) || fn(e, t.to));
1125
+ function _n(e, t) {
1126
+ return t.ranges.some((t) => gn(e, t.from) || gn(e, t.to));
1062
1127
  }
1063
- function mn(e) {
1064
- if (!e.facet(P).tables) return E.none;
1065
- let n = e.facet(I) === "cells" && !e.readOnly, r = e.facet(F) != null && e.facet(P).embeds, i = N(e), a = t(e.doc), o = n ? null : z(e), s = [];
1128
+ function vn(e) {
1129
+ if (!e.facet(F).tables) return E.none;
1130
+ let n = e.facet(L) === "cells" && !e.readOnly, r = e.facet(I) != null && e.facet(F).embeds, i = P(e), a = t(e.doc), o = n ? null : V(e), s = [];
1066
1131
  return i.iterate({ enter: (t) => {
1067
1132
  if (t.name !== "Table") return;
1068
1133
  if (a && t.from < a.to) return !1;
@@ -1070,9 +1135,9 @@ function mn(e) {
1070
1135
  let n = e.doc.lineAt(t.from).number, r = e.doc.lineAt(t.to).number;
1071
1136
  for (let e = n; e <= r; e++) if (o.has(e)) return !1;
1072
1137
  }
1073
- let i = dn(t.node, e.doc);
1138
+ let i = hn(t.node, e.doc);
1074
1139
  if (i) {
1075
- let e = n ? new ur(i, r) : new ln(i, r);
1140
+ let e = n ? new hr(i, r) : new pn(i, r);
1076
1141
  s.push(E.replace({
1077
1142
  widget: e,
1078
1143
  block: !0
@@ -1081,22 +1146,22 @@ function mn(e) {
1081
1146
  return !1;
1082
1147
  } }), E.set(s, !0);
1083
1148
  }
1084
- var X = M.define({
1085
- create: mn,
1149
+ var yn = N.define({
1150
+ create: vn,
1086
1151
  update: (e, t) => {
1087
- if (t.annotation(cr)) return e.map(t.changes);
1152
+ if (t.annotation(pr)) return e.map(t.changes);
1088
1153
  let n = t.startState.readOnly !== t.state.readOnly;
1089
- return t.state.facet(I) === "cells" ? t.docChanged || n ? mn(t.state) : e.map(t.changes) : t.docChanged || n || t.selection && (pn(t.state, t.startState.selection) || pn(t.state, t.state.selection)) ? mn(t.state) : e;
1154
+ return t.state.facet(L) === "cells" ? t.docChanged || n ? vn(t.state) : e.map(t.changes) : t.docChanged || n || t.selection && (_n(t.state, t.startState.selection) || _n(t.state, t.state.selection)) ? vn(t.state) : e;
1090
1155
  },
1091
1156
  provide: (e) => [D.decorations.from(e), D.atomicRanges.of((t) => t.state.field(e))]
1092
1157
  });
1093
1158
  //#endregion
1094
1159
  //#region src/inplace/host-cell.ts
1095
- function hn(e, t, n) {
1160
+ function bn(e, t, n) {
1096
1161
  let i = t.closest("table");
1097
1162
  if (!i) return;
1098
1163
  let a = e.posAtDOM(i), o = a;
1099
- e.state.field(X).between(a, a, (e) => (o = e, !1));
1164
+ e.state.field(yn).between(a, a, (e) => (o = e, !1));
1100
1165
  let s = v(e.state.doc, o, Number(t.dataset.r), Number(t.dataset.c));
1101
1166
  if (s == null) return;
1102
1167
  let { from: c, to: l } = n ? r(t) : {
@@ -1110,7 +1175,7 @@ function hn(e, t, n) {
1110
1175
  }
1111
1176
  //#endregion
1112
1177
  //#region src/inplace/selection-rect.ts
1113
- var gn = (e, t, n, r) => {
1178
+ var xn = (e, t, n, r) => {
1114
1179
  let i = {
1115
1180
  x: e,
1116
1181
  y: t,
@@ -1126,39 +1191,39 @@ var gn = (e, t, n, r) => {
1126
1191
  toJSON: () => i
1127
1192
  };
1128
1193
  };
1129
- function _n(e) {
1194
+ function Sn(e) {
1130
1195
  let { from: t, to: n } = e.state.selection.main, r = e.coordsAtPos(t), i = t === n ? r : e.coordsAtPos(n, -1);
1131
- return !r || !i ? e.dom.getBoundingClientRect() : gn(Math.min(r.left, i.left), Math.min(r.top, i.top), Math.max(r.right, i.right), Math.max(r.bottom, i.bottom));
1196
+ return !r || !i ? e.dom.getBoundingClientRect() : xn(Math.min(r.left, i.left), Math.min(r.top, i.top), Math.max(r.right, i.right), Math.max(r.bottom, i.bottom));
1132
1197
  }
1133
- function vn(e, t) {
1198
+ function Cn(e, t) {
1134
1199
  let n = e?.ownerDocument.getSelection();
1135
1200
  if (e && t && n && n.rangeCount > 0) {
1136
1201
  let e = n.getRangeAt(0).getBoundingClientRect?.();
1137
1202
  if (e && (e.width > 0 || e.height > 0)) return e;
1138
1203
  }
1139
- return e?.getBoundingClientRect() ?? gn(0, 0, 0, 0);
1204
+ return e?.getBoundingClientRect() ?? xn(0, 0, 0, 0);
1140
1205
  }
1141
1206
  //#endregion
1142
1207
  //#region src/inplace/host-items.ts
1143
- var yn = /* @__PURE__ */ new WeakMap();
1144
- function bn(e, t) {
1208
+ var wn = /* @__PURE__ */ new WeakMap();
1209
+ function Tn(e, t) {
1145
1210
  if (e == null || typeof e == "string") return null;
1146
- if (yn.has(t)) return yn.get(t) ?? null;
1147
- let n = document.createElement("span"), r = Oe(n), i = null;
1211
+ if (wn.has(t)) return wn.get(t) ?? null;
1212
+ let n = document.createElement("span"), r = De(n), i = null;
1148
1213
  try {
1149
- xe(() => r.render(e)), i = n.firstElementChild;
1214
+ be(() => r.render(e)), i = n.firstElementChild;
1150
1215
  } catch {}
1151
- return r.unmount(), yn.set(t, i), i;
1216
+ return r.unmount(), wn.set(t, i), i;
1152
1217
  }
1153
- var xn = (e) => e.state.facet(Re).includes("host"), Sn = (e) => xn(e) && e.state.facet(Ie)().some((e) => e.readOnlySafe);
1154
- function Cn(e, t) {
1155
- if (!xn(e)) return [];
1218
+ var En = (e) => e.state.facet(B).includes("host"), Dn = (e) => En(e) && e.state.facet(Fe)().some((e) => e.readOnlySafe);
1219
+ function On(e, t) {
1220
+ if (!En(e)) return [];
1156
1221
  let n = e.state.readOnly, r = [], i;
1157
- for (let a of e.state.facet(Ie)()) {
1222
+ for (let a of e.state.facet(Fe)()) {
1158
1223
  if (n && !a.readOnlySafe) continue;
1159
1224
  let o = a.when ?? "always";
1160
1225
  if (o === "selection" && !t.selected || o === "no-selection" && t.selected) continue;
1161
- let s = bn(a.icon, a);
1226
+ let s = Tn(a.icon, a);
1162
1227
  r.push({
1163
1228
  id: a.id,
1164
1229
  label: a.title,
@@ -1170,15 +1235,15 @@ function Cn(e, t) {
1170
1235
  }
1171
1236
  });
1172
1237
  }
1173
- return r.length && (i = t.rect?.() ?? _n(e)), r;
1238
+ return r.length && (i = t.rect?.() ?? Sn(e)), r;
1174
1239
  }
1175
1240
  //#endregion
1176
1241
  //#region src/inplace/link-row.ts
1177
- var wn = (e) => {
1242
+ var kn = (e) => {
1178
1243
  let t = e.trim().replace(/^<([^]*)>$/, "$1");
1179
1244
  return /[\s()]/.test(t) ? `<${t.replace(/[<>]/g, "")}>` : t;
1180
- }, Tn = (e) => e.replace(/^<([^]*)>$/, "$1");
1181
- function En(e, t) {
1245
+ }, An = (e) => e.replace(/^<([^]*)>$/, "$1");
1246
+ function jn(e, t) {
1182
1247
  let n = e.doc.lineAt(t.from);
1183
1248
  if (e.doc.lineAt(t.to).number !== n.number) return null;
1184
1249
  let r = t.from - n.from, i = t.to - n.from, s = o(n.text, r) ?? o(n.text, i);
@@ -1194,7 +1259,7 @@ function En(e, t) {
1194
1259
  text: c.label
1195
1260
  } : null;
1196
1261
  }
1197
- function Dn(e, t) {
1262
+ function Mn(e, t) {
1198
1263
  let { state: n } = e, r = n.selection.main, i = n.doc.lineAt(r.head), a = t.partsIn(i.text, r.head - i.from);
1199
1264
  if (a) {
1200
1265
  let n = i.from + a.from, r = i.from + a.to, o = t.editActions?.(e, a) ?? [];
@@ -1223,7 +1288,7 @@ function Dn(e, t) {
1223
1288
  actions: o
1224
1289
  };
1225
1290
  }
1226
- let o = En(n, r), s = o ? o.from : r.from, c = o ? o.to : r.to, l = o ? o.text : n.sliceDoc(r.from, r.to);
1291
+ let o = jn(n, r), s = o ? o.from : r.from, c = o ? o.to : r.to, l = o ? o.text : n.sliceDoc(r.from, r.to);
1227
1292
  return {
1228
1293
  field: !0,
1229
1294
  label: t.addLabel,
@@ -1233,15 +1298,15 @@ function Dn(e, t) {
1233
1298
  onSubmit: (n) => t.onAdd(e, s, c, l, n)
1234
1299
  };
1235
1300
  }
1236
- var On = {
1301
+ var Nn = {
1237
1302
  icon: S.link,
1238
1303
  placeholder: "https://…",
1239
1304
  editLabel: "Edit external link",
1240
1305
  addLabel: "Add external link",
1241
1306
  partsIn: o,
1242
- editValue: (e) => Tn(e.url),
1307
+ editValue: (e) => An(e.url),
1243
1308
  editActions: (e, t) => {
1244
- let n = e.state.facet(Me);
1309
+ let n = e.state.facet(je);
1245
1310
  return !n || !t.url ? [] : [{
1246
1311
  label: "Open link",
1247
1312
  icon: S.link,
@@ -1252,7 +1317,7 @@ var On = {
1252
1317
  e.dispatch({ changes: {
1253
1318
  from: t.urlFrom,
1254
1319
  to: t.urlTo,
1255
- insert: wn(n)
1320
+ insert: kn(n)
1256
1321
  } }), e.focus();
1257
1322
  },
1258
1323
  onAdd: (e, t, n, r, i) => {
@@ -1261,7 +1326,7 @@ var On = {
1261
1326
  changes: {
1262
1327
  from: t,
1263
1328
  to: n,
1264
- insert: `[${a}](${wn(i)})`
1329
+ insert: `[${a}](${kn(i)})`
1265
1330
  },
1266
1331
  selection: {
1267
1332
  anchor: t + 1,
@@ -1269,7 +1334,7 @@ var On = {
1269
1334
  }
1270
1335
  }), e.focus();
1271
1336
  }
1272
- }, kn = {
1337
+ }, Pn = {
1273
1338
  icon: S.wikilink,
1274
1339
  placeholder: "note or path",
1275
1340
  editLabel: "Edit link",
@@ -1298,27 +1363,27 @@ var On = {
1298
1363
  }), e.focus();
1299
1364
  }
1300
1365
  };
1301
- function An(e) {
1302
- return Dn(e, On);
1366
+ function Fn(e) {
1367
+ return Mn(e, Nn);
1303
1368
  }
1304
- function jn(e) {
1305
- return Dn(e, kn);
1369
+ function In(e) {
1370
+ return Mn(e, Pn);
1306
1371
  }
1307
1372
  //#endregion
1308
1373
  //#region src/inplace/context-menu-shell.ts
1309
- function Mn(e, t, n, r) {
1374
+ function Ln(e, t, n, r) {
1310
1375
  let i = r?.innerWidth ?? 0, a = r?.innerHeight ?? 0;
1311
1376
  e.style.left = "0", e.style.top = "0";
1312
1377
  let { width: o, height: s } = e.getBoundingClientRect();
1313
1378
  e.style.left = `${Math.max(4, Math.min(t, i - o - 4))}px`, e.style.top = `${Math.max(4, Math.min(n, a - s - 4))}px`;
1314
1379
  }
1315
- function Nn(e, t, n) {
1380
+ function Rn(e, t, n) {
1316
1381
  let r = n?.innerWidth ?? 0, i = n?.innerHeight ?? 0;
1317
1382
  e.style.left = "0", e.style.top = "0";
1318
1383
  let { width: a, height: o } = e.getBoundingClientRect(), s = t.right - 4, c = s + a > r - 4 ? t.left - a + 4 : s;
1319
1384
  e.style.left = `${Math.max(4, c)}px`, e.style.top = `${Math.max(4, Math.min(t.top - 4, i - o - 4))}px`;
1320
1385
  }
1321
- function Pn(e, t, n, r = 350) {
1386
+ function zn(e, t, n, r = 350) {
1322
1387
  let i = Date.now(), a = (e) => !t.contains(e.target), o = (e) => {
1323
1388
  a(e) && n();
1324
1389
  }, s = (e) => {
@@ -1332,10 +1397,10 @@ function Pn(e, t, n, r = 350) {
1332
1397
  }
1333
1398
  //#endregion
1334
1399
  //#region src/inplace/context-menu-types.ts
1335
- var Fn = (e) => typeof e != "string" && "rows" in e, In = (e) => typeof e != "string" && "field" in e;
1400
+ var Bn = (e) => typeof e != "string" && "rows" in e, Vn = (e) => typeof e != "string" && "field" in e;
1336
1401
  //#endregion
1337
1402
  //#region src/inplace/context-menu.ts
1338
- function Z(e, t = "cm-inplace-menu", n) {
1403
+ function Q(e, t = "cm-inplace-menu", n) {
1339
1404
  let r = e.defaultView, i = e.createElement("div");
1340
1405
  i.className = t, i.setAttribute("contenteditable", "false"), i.hidden = !0;
1341
1406
  let a = null, o = null, s = () => {
@@ -1345,7 +1410,7 @@ function Z(e, t = "cm-inplace-menu", n) {
1345
1410
  }, l = (e) => e.addEventListener("mousedown", (e) => {
1346
1411
  e.preventDefault(), e.stopPropagation();
1347
1412
  }), u = (t, n, r, i) => {
1348
- i ? t.appendChild(i.cloneNode(!0)) : r && t.appendChild(ue(e, r));
1413
+ i ? t.appendChild(i.cloneNode(!0)) : r && t.appendChild(x(e, r));
1349
1414
  let a = e.createElement("span");
1350
1415
  a.textContent = n, t.appendChild(a);
1351
1416
  }, d = (n) => {
@@ -1363,7 +1428,7 @@ function Z(e, t = "cm-inplace-menu", n) {
1363
1428
  if (a?.dataset.for === n) return;
1364
1429
  s();
1365
1430
  let e = c();
1366
- e.dataset.for = n, i.appendChild(e), Nn(e, f.getBoundingClientRect(), r), a = e, e.querySelector("input")?.focus({ preventScroll: !0 });
1431
+ e.dataset.for = n, i.appendChild(e), Rn(e, f.getBoundingClientRect(), r), a = e, e.querySelector("input")?.focus({ preventScroll: !0 });
1367
1432
  };
1368
1433
  return f.addEventListener("pointerenter", p), f.addEventListener("click", (e) => {
1369
1434
  e.stopPropagation(), p();
@@ -1386,7 +1451,7 @@ function Z(e, t = "cm-inplace-menu", n) {
1386
1451
  for (let i of n) if (i === "separator") {
1387
1452
  let n = e.createElement("div");
1388
1453
  n.className = `${t}-sep`, r.appendChild(n);
1389
- } else Fn(i) ? r.appendChild(f(i.label, i.icon, () => m(i.rows), i.disabled)) : In(i) ? r.appendChild(f(i.label, i.icon, () => p(i))) : r.appendChild(d(i));
1454
+ } else Bn(i) ? r.appendChild(f(i.label, i.icon, () => m(i.rows), i.disabled)) : Vn(i) ? r.appendChild(f(i.label, i.icon, () => p(i))) : r.appendChild(d(i));
1390
1455
  return r;
1391
1456
  };
1392
1457
  return {
@@ -1397,12 +1462,12 @@ function Z(e, t = "cm-inplace-menu", n) {
1397
1462
  show: (t, a, s) => {
1398
1463
  c();
1399
1464
  let l = m(t);
1400
- i.appendChild(l), i.hidden = !1, Mn(l, a, s, r), o = Pn(e, i, c), n?.(!0);
1465
+ i.appendChild(l), i.hidden = !1, Ln(l, a, s, r), o = zn(e, i, c), n?.(!0);
1401
1466
  },
1402
1467
  showField: (t, a, s) => {
1403
1468
  c();
1404
1469
  let l = p(t);
1405
- i.appendChild(l), i.hidden = !1, Mn(l, a, s, r), l.querySelector("input")?.focus({ preventScroll: !0 }), o = Pn(e, i, c), n?.(!0);
1470
+ i.appendChild(l), i.hidden = !1, Ln(l, a, s, r), l.querySelector("input")?.focus({ preventScroll: !0 }), o = zn(e, i, c), n?.(!0);
1406
1471
  },
1407
1472
  hide: c,
1408
1473
  destroy: () => {
@@ -1412,8 +1477,8 @@ function Z(e, t = "cm-inplace-menu", n) {
1412
1477
  }
1413
1478
  //#endregion
1414
1479
  //#region src/inplace/math-edit.ts
1415
- function Ln(e) {
1416
- let { state: t } = e, n = t.selection.main, r = t.doc.lineAt(n.head), i = Qe(r.text, n.head - r.from);
1480
+ function Hn(e) {
1481
+ let { state: t } = e, n = t.selection.main, r = t.doc.lineAt(n.head), i = Ze(r.text, n.head - r.from);
1417
1482
  if (i) {
1418
1483
  let t = r.from + i.from, n = r.from + i.to, a = i.block ? "$$" : "$";
1419
1484
  return {
@@ -1471,27 +1536,27 @@ function Ln(e) {
1471
1536
  }
1472
1537
  };
1473
1538
  }
1474
- var Rn = class {
1539
+ var Un = class {
1475
1540
  menu;
1476
1541
  contentDOM;
1477
1542
  onClick;
1478
1543
  constructor(e) {
1479
- this.menu = Z(e.dom.ownerDocument), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onClick = (t) => {
1480
- if (!e.state.facet(P).math) return;
1544
+ this.menu = Q(e.dom.ownerDocument), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onClick = (t) => {
1545
+ if (!e.state.facet(F).math) return;
1481
1546
  let n = t.target?.closest(".cm-inplace-math");
1482
1547
  if (!n) return;
1483
1548
  let r = e.posAtDOM(n);
1484
1549
  if (r < 0) return;
1485
1550
  let i = e.state.doc.lineAt(r);
1486
- Qe(i.text, r - i.from) && (e.dispatch({ selection: { anchor: r } }), this.menu.showField(Ln(e), t.clientX, t.clientY));
1551
+ Ze(i.text, r - i.from) && (e.dispatch({ selection: { anchor: r } }), this.menu.showField(Hn(e), t.clientX, t.clientY));
1487
1552
  }, this.contentDOM.addEventListener("click", this.onClick);
1488
1553
  }
1489
1554
  destroy() {
1490
1555
  this.contentDOM.removeEventListener("click", this.onClick), this.menu.destroy();
1491
1556
  }
1492
- }, zn = O.fromClass(Rn), Bn = _e((e, t) => {
1493
- if (!e.state.facet(P).math) return null;
1494
- let n = e.state.doc.lineAt(t), r = Qe(n.text, t - n.from);
1557
+ }, Wn = O.fromClass(Un), Gn = _e((e, t) => {
1558
+ if (!e.state.facet(F).math) return null;
1559
+ let n = e.state.doc.lineAt(t), r = Ze(n.text, t - n.from);
1495
1560
  return r ? {
1496
1561
  pos: n.from + r.from,
1497
1562
  end: n.from + r.to,
@@ -1504,13 +1569,13 @@ var Rn = class {
1504
1569
  });
1505
1570
  //#endregion
1506
1571
  //#region src/inplace/context-menu-actions.ts
1507
- function Vn(e) {
1572
+ function Kn(e) {
1508
1573
  let t = h(e);
1509
1574
  if (!t) return !1;
1510
1575
  let { from: n, to: i } = r(t);
1511
1576
  return i > n;
1512
1577
  }
1513
- function Hn(e) {
1578
+ function qn(e) {
1514
1579
  let t = ie(e.state);
1515
1580
  return {
1516
1581
  field: !0,
@@ -1533,49 +1598,49 @@ function Hn(e) {
1533
1598
  }]
1534
1599
  };
1535
1600
  }
1536
- var Un = (e, t = !1) => [
1537
- ...W(e, qt, !1, t),
1601
+ var Jn = (e, t = !1) => [
1602
+ ...K(e, Zt, !1, t),
1538
1603
  "separator",
1539
- ...t ? W(e, Jt, !1, !0) : [$t(e, "code", !1), Ln(e)]
1604
+ ...t ? K(e, Qt, !1, !0) : [rn(e, "code", !1), Hn(e)]
1540
1605
  ];
1541
- function Wn(e, t) {
1542
- let n = e.state.facet(Re), r = t ?? h(e), i = Vn(e) && r === h(e), a = [];
1543
- return q(a, Cn(e, {
1606
+ function Yn(e, t) {
1607
+ let n = e.state.facet(B), r = t ?? h(e), i = Kn(e) && r === h(e), a = [];
1608
+ return Y(a, On(e, {
1544
1609
  selected: i,
1545
- prepare: () => r && hn(e, r, i),
1546
- rect: () => vn(r, i)
1547
- })), i ? (n.includes("format") && q(a, [K("Format", S.format, Un(e, !0))]), n.includes("clipboard") && q(a, G(e)), a) : a;
1610
+ prepare: () => r && bn(e, r, i),
1611
+ rect: () => Cn(r, i)
1612
+ })), i ? (n.includes("format") && Y(a, [J("Format", S.format, Jn(e, !0))]), n.includes("clipboard") && Y(a, q(e)), a) : a;
1548
1613
  }
1549
- var Gn = (e) => [
1550
- ...W(e, Yt),
1614
+ var Xn = (e) => [
1615
+ ...K(e, $t),
1551
1616
  "separator",
1552
- ...W(e, [...Xt, "body"]),
1617
+ ...K(e, [...en, "body"]),
1553
1618
  "separator",
1554
- ...W(e, ["quote"])
1555
- ], Kn = (e) => [
1556
- ...W(e, Zt),
1619
+ ...K(e, ["quote"])
1620
+ ], Zn = (e) => [
1621
+ ...K(e, tn),
1557
1622
  "separator",
1558
- ...W(e, Qt)
1623
+ ...K(e, nn)
1559
1624
  ];
1560
- function qn(e) {
1561
- let { state: t } = e, n = t.facet(Re), r = (e) => n.includes(e);
1562
- if (Vn(e)) return Wn(e);
1563
- let i = Cn(e, { selected: !t.selection.main.empty });
1625
+ function Qn(e) {
1626
+ let { state: t } = e, n = t.facet(B), r = (e) => n.includes(e);
1627
+ if (Kn(e)) return Yn(e);
1628
+ let i = On(e, { selected: !t.selection.main.empty });
1564
1629
  if (ee(t)) {
1565
1630
  let t = [];
1566
- return q(t, i), q(t, [Hn(e)]), r("clipboard") && q(t, G(e)), t;
1631
+ return Y(t, i), Y(t, [qn(e)]), r("clipboard") && Y(t, q(e)), t;
1567
1632
  }
1568
- if (en(t)) {
1633
+ if (an(t)) {
1569
1634
  let t = [];
1570
- return q(t, i), q(t, [rn(e)]), r("clipboard") && q(t, G(e)), t;
1635
+ return Y(t, i), Y(t, [cn(e)]), r("clipboard") && Y(t, q(e)), t;
1571
1636
  }
1572
- let a = t.selection.main, o = t.doc.lineAt(a.head).text.trim() === "", s = !a.empty || !!t.wordAt(a.head), c = t.facet(Ve) === "menu", l = [];
1573
- for (let t of n) t === "host" ? q(l, i) : t === "link" && c ? q(l, [jn(e), An(e)]) : t === "format" && c ? q(l, [K("Format", S.format, Un(e), !s)]) : t === "paragraph" ? q(l, [K("Paragraph", S.paragraph, Gn(e))]) : t === "insert" ? q(l, [K("Insert", S.insert, Kn(e), !o)]) : t === "clipboard" && q(l, G(e));
1637
+ let a = t.selection.main, o = t.doc.lineAt(a.head).text.trim() === "", s = !a.empty || !!t.wordAt(a.head), c = t.facet(Be) === "menu", l = [];
1638
+ for (let t of n) t === "host" ? Y(l, i) : t === "link" && c ? Y(l, [In(e), Fn(e)]) : t === "format" && c ? Y(l, [J("Format", S.format, Jn(e), !s)]) : t === "paragraph" ? Y(l, [J("Paragraph", S.paragraph, Xn(e))]) : t === "insert" ? Y(l, [J("Insert", S.insert, Zn(e), !o)]) : t === "clipboard" && Y(l, q(e));
1574
1639
  return l;
1575
1640
  }
1576
1641
  //#endregion
1577
1642
  //#region src/inplace/long-press.ts
1578
- function Jn(e, t) {
1643
+ function $n(e, t) {
1579
1644
  let n = t.delay ?? 450, r = t.slop ?? 20, i = null, a = 0, o = 0, s = () => {
1580
1645
  i != null && (clearTimeout(i), i = null);
1581
1646
  }, c = (e) => {
@@ -1597,10 +1662,10 @@ function Jn(e, t) {
1597
1662
  }
1598
1663
  //#endregion
1599
1664
  //#region src/inplace/table-gizmos.ts
1600
- function Yn(e, t) {
1665
+ function er(e, t) {
1601
1666
  let n = e.createElement("div");
1602
1667
  n.className = "cm-inplace-table-gizmos", n.setAttribute("contenteditable", "false");
1603
- let r = Z(e), i = (t, n, r) => {
1668
+ let r = Q(e), i = (t, n, r) => {
1604
1669
  let i = e.createElement("button");
1605
1670
  return i.type = "button", i.className = t, i.setAttribute("aria-label", n), i.addEventListener("mousedown", (e) => {
1606
1671
  e.preventDefault(), e.stopPropagation();
@@ -1683,7 +1748,7 @@ function Yn(e, t) {
1683
1748
  }
1684
1749
  //#endregion
1685
1750
  //#region src/inplace/table-widget-keys.ts
1686
- function Xn(e, t, n) {
1751
+ function tr(e, t, n) {
1687
1752
  let r = e.target.closest("td, th");
1688
1753
  if (!r) return;
1689
1754
  if (l(e, r)) {
@@ -1752,61 +1817,61 @@ function Xn(e, t, n) {
1752
1817
  }
1753
1818
  //#endregion
1754
1819
  //#region src/inplace/table-widget-render.ts
1755
- var Zn = /* @__PURE__ */ new WeakMap(), Qn = (e) => JSON.stringify(e), $n = (e, t) => (Zn.get(e)?.sig ?? "null") === Qn(t);
1756
- function er(e, t, n) {
1820
+ var nr = /* @__PURE__ */ new WeakMap(), rr = (e) => JSON.stringify(e), ir = (e, t) => (nr.get(e)?.sig ?? "null") === rr(t);
1821
+ function ar(e, t, n) {
1757
1822
  let r = Number(e.dataset.r), i = Number(e.dataset.c), a = t.rows[r]?.[i] ?? "";
1758
- e.replaceChildren(n ? e.ownerDocument.createTextNode(a) : an(c(a), t.embeds));
1759
- let o = Zn.get(e);
1823
+ e.replaceChildren(n ? e.ownerDocument.createTextNode(a) : ln(c(a), t.embeds));
1824
+ let o = nr.get(e);
1760
1825
  o && e.classList.remove(...o.cellClass);
1761
1826
  let s = t.paintOf?.(r, i) ?? null;
1762
- s && (Wt(e, a, s, n), e.classList.add(...s.cellClass)), Zn.set(e, {
1763
- sig: Qn(s),
1827
+ s && (Jt(e, a, s, n), e.classList.add(...s.cellClass)), nr.set(e, {
1828
+ sig: rr(s),
1764
1829
  cellClass: s?.cellClass ?? []
1765
1830
  });
1766
1831
  }
1767
- function tr(e, t, n, r) {
1832
+ function or(e, t, n, r) {
1768
1833
  let i = document.createElement(r ? "th" : "td");
1769
1834
  i.className = "cm-inplace-tcell", i.setAttribute("contenteditable", "true"), i.dataset.r = String(t), i.dataset.c = String(n);
1770
1835
  let a = e.aligns[n];
1771
- return a && (i.style.textAlign = a), er(i, e, !1), i;
1836
+ return a && (i.style.textAlign = a), ar(i, e, !1), i;
1772
1837
  }
1773
- function nr(e, t) {
1838
+ function sr(e, t) {
1774
1839
  e.replaceChildren();
1775
1840
  let n = t.aligns.length, r = e.createTHead().insertRow();
1776
- for (let e = 0; e < n; e++) r.appendChild(tr(t, 0, e, !0));
1841
+ for (let e = 0; e < n; e++) r.appendChild(or(t, 0, e, !0));
1777
1842
  let i = e.createTBody();
1778
1843
  for (let e = 1; e < t.rows.length; e++) {
1779
1844
  let r = i.insertRow();
1780
- for (let i = 0; i < n; i++) r.appendChild(tr(t, e, i, !1));
1845
+ for (let i = 0; i < n; i++) r.appendChild(or(t, e, i, !1));
1781
1846
  }
1782
1847
  }
1783
1848
  //#endregion
1784
1849
  //#region src/inplace/table-structure.ts
1785
- var Q = (e) => e.aligns.length;
1786
- function rr(e, t) {
1787
- let n = Math.max(0, Math.min(t, Q(e)));
1850
+ var $ = (e) => e.aligns.length;
1851
+ function cr(e, t) {
1852
+ let n = Math.max(0, Math.min(t, $(e)));
1788
1853
  for (let t of e.rows) t.splice(n, 0, "");
1789
1854
  e.aligns.splice(n, 0, "");
1790
1855
  }
1791
- function ir(e, t) {
1792
- if (!(Q(e) <= 1 || t < 0 || t >= Q(e))) {
1856
+ function lr(e, t) {
1857
+ if (!($(e) <= 1 || t < 0 || t >= $(e))) {
1793
1858
  for (let n of e.rows) n.splice(t, 1);
1794
1859
  e.aligns.splice(t, 1);
1795
1860
  }
1796
1861
  }
1797
- function ar(e, t) {
1862
+ function ur(e, t) {
1798
1863
  let n = Math.max(1, Math.min(t, e.rows.length));
1799
- e.rows.splice(n, 0, Array(Q(e)).fill(""));
1864
+ e.rows.splice(n, 0, Array($(e)).fill(""));
1800
1865
  }
1801
- function or(e, t) {
1866
+ function dr(e, t) {
1802
1867
  t <= 0 || t >= e.rows.length || e.rows.length <= 2 || e.rows.splice(t, 1);
1803
1868
  }
1804
- function sr(e, t, n) {
1805
- t >= 0 && t < Q(e) && (e.aligns[t] = n);
1869
+ function fr(e, t, n) {
1870
+ t >= 0 && t < $(e) && (e.aligns[t] = n);
1806
1871
  }
1807
1872
  //#endregion
1808
1873
  //#region src/inplace/table-widget.ts
1809
- var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1874
+ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1810
1875
  data;
1811
1876
  embeds;
1812
1877
  table = null;
@@ -1823,7 +1888,7 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1823
1888
  super(), this.data = e, this.embeds = t, this.rows = le(e);
1824
1889
  }
1825
1890
  eq(e) {
1826
- return !this.table && JSON.stringify(y(this.rows)) === JSON.stringify(y(e.rows));
1891
+ return !this.table && JSON.stringify(ue(this.rows)) === JSON.stringify(ue(e.rows));
1827
1892
  }
1828
1893
  ignoreEvent() {
1829
1894
  return !0;
@@ -1833,7 +1898,7 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1833
1898
  }
1834
1899
  bounds(e) {
1835
1900
  let t = e.posAtDOM(this.table), n = null;
1836
- return e.state.field(X).between(t, t, (e, t) => (n = {
1901
+ return e.state.field(yn).between(t, t, (e, t) => (n = {
1837
1902
  from: e,
1838
1903
  to: t
1839
1904
  }, !1)), n ?? e.state.doc.lineAt(t);
@@ -1847,7 +1912,7 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1847
1912
  c: Number(e.dataset.c)
1848
1913
  };
1849
1914
  }
1850
- paintOf = Gt({
1915
+ paintOf = Yt({
1851
1916
  view: () => this.view,
1852
1917
  mounted: () => !!this.table?.isConnected,
1853
1918
  from: (e) => this.bounds(e).from,
@@ -1862,19 +1927,19 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1862
1927
  };
1863
1928
  }
1864
1929
  paint(e, t) {
1865
- er(e, this.grid(), t);
1930
+ ar(e, this.grid(), t);
1866
1931
  }
1867
1932
  repaintMarks() {
1868
1933
  for (let e of this.table?.querySelectorAll("td, th") ?? []) {
1869
1934
  let { r: t, c: n } = this.coords(e);
1870
- e !== this.editing && !$n(e, this.paintOf(t, n)) && this.paint(e, !1);
1935
+ e !== this.editing && !ir(e, this.paintOf(t, n)) && this.paint(e, !1);
1871
1936
  }
1872
1937
  }
1873
1938
  renderCells() {
1874
- nr(this.table, this.grid());
1939
+ sr(this.table, this.grid());
1875
1940
  }
1876
1941
  appendRow() {
1877
- ar(this.model(), this.rows.length), this.renderCells(), this.gizmos?.layout(this.table);
1942
+ ur(this.model(), this.rows.length), this.renderCells(), this.gizmos?.layout(this.table);
1878
1943
  }
1879
1944
  model() {
1880
1945
  return {
@@ -1885,7 +1950,7 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1885
1950
  runOp(e, t) {
1886
1951
  if (!this.table) return;
1887
1952
  let n = this.model();
1888
- if (t.kind === "insertColumn" ? rr(n, t.at) : t.kind === "deleteColumn" ? ir(n, t.at) : t.kind === "insertRow" ? ar(n, t.at) : t.kind === "deleteRow" ? or(n, t.at) : sr(n, t.at, n.aligns[t.at] === t.value ? "" : t.value), this.editing = null, this.sync(e), this.renderCells(), this.gizmos?.layout(this.table), t.kind !== "align") {
1953
+ if (t.kind === "insertColumn" ? cr(n, t.at) : t.kind === "deleteColumn" ? lr(n, t.at) : t.kind === "insertRow" ? ur(n, t.at) : t.kind === "deleteRow" ? dr(n, t.at) : fr(n, t.at, n.aligns[t.at] === t.value ? "" : t.value), this.editing = null, this.sync(e), this.renderCells(), this.gizmos?.layout(this.table), t.kind !== "align") {
1889
1954
  let e = Math.max(0, Math.min(t.focus[0], this.rows.length - 1)), n = Math.max(0, Math.min(t.focus[1], this.cols() - 1));
1890
1955
  this.cellAt(e, n)?.focus();
1891
1956
  }
@@ -1895,18 +1960,20 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1895
1960
  this.rows[n] && (this.rows[n][r] = (e.textContent ?? "").replace(/\r?\n/g, " ")), t || this.paint(e, !1);
1896
1961
  }
1897
1962
  onFocusIn(e) {
1898
- let t = e.target.closest("td, th");
1899
- if (!(!t || t === this.editing)) {
1963
+ let t = e.target;
1964
+ if (t.closest("[data-stylo-cell-widget]")) return;
1965
+ let n = t.closest("td, th");
1966
+ if (!(!n || n === this.editing)) {
1900
1967
  if (this.pressOnMark) {
1901
- this.pressOnMark = !1, document.addEventListener("mouseup", () => setTimeout(() => this.enterCell(t)), { once: !0 });
1968
+ this.pressOnMark = !1, document.addEventListener("mouseup", () => setTimeout(() => this.enterCell(n)), { once: !0 });
1902
1969
  return;
1903
1970
  }
1904
- this.enterCell(t);
1971
+ this.enterCell(n);
1905
1972
  }
1906
1973
  }
1907
1974
  enterCell(e) {
1908
1975
  if (!this.table?.contains(e) || e === this.editing) return;
1909
- let t = this.pendingOffset ?? b(e);
1976
+ let t = this.pendingOffset ?? y(e);
1910
1977
  this.pendingOffset = null, this.editing && this.finish(this.editing, !1), this.editing = e, this.paint(e, !0), d(e, t);
1911
1978
  }
1912
1979
  onFocusOut(e) {
@@ -1940,14 +2007,14 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1940
2007
  to: i,
1941
2008
  insert: n
1942
2009
  },
1943
- annotations: cr.of(!0),
2010
+ annotations: pr.of(!0),
1944
2011
  userEvent: "input"
1945
2012
  }), this.syncing = !1, t && (this.writeCaret(t), requestAnimationFrame(() => {
1946
2013
  this.table && t && this.writeCaret(t);
1947
2014
  })));
1948
2015
  }
1949
2016
  onKey(e, t) {
1950
- this.table && Xn(e, t, {
2017
+ this.table && tr(e, t, {
1951
2018
  coords: (e) => this.coords(e),
1952
2019
  rows: () => this.rows.length,
1953
2020
  cols: () => this.cols(),
@@ -1970,22 +2037,25 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1970
2037
  openCellMenuAt(e, t, n, r) {
1971
2038
  let i = r?.closest("td, th");
1972
2039
  if (!i) return;
1973
- this.editing === i && !Vn(e) && s(i, t, n);
1974
- let a = Wn(e, i);
2040
+ this.editing === i && !Kn(e) && s(i, t, n);
2041
+ let a = Yn(e, i);
1975
2042
  this.gizmos?.openFor(i, t, n, a);
1976
2043
  }
1977
2044
  toDOM(e) {
1978
2045
  let t = document.createElement("div");
1979
2046
  t.className = "cm-inplace-table-wrap";
1980
2047
  let n = document.createElement("table");
1981
- this.table = n, this.view = e, this.editing = null, lr.set(n, this), n.className = "cm-inplace-table cm-inplace-table-edit", this.renderCells(), e.requestMeasure({
2048
+ this.table = n, this.view = e, this.editing = null, mr.set(n, this), n.className = "cm-inplace-table cm-inplace-table-edit", this.renderCells(), e.requestMeasure({
1982
2049
  read: () => null,
1983
2050
  write: () => this.repaintMarks(),
1984
2051
  key: this
1985
2052
  }), n.addEventListener("mousedown", (e) => {
1986
- e.stopPropagation();
2053
+ if (e.stopPropagation(), e.target.closest("[data-stylo-cell-widget]")) {
2054
+ e.preventDefault();
2055
+ return;
2056
+ }
1987
2057
  let t = e.target.closest("td, th");
1988
- this.pendingOffset = t && t !== this.editing ? x(t, e.clientX, e.clientY) : null, this.pressOnMark = !!e.target.closest("[data-stylo-cell-mark]");
2058
+ this.pendingOffset = t && t !== this.editing ? b(t, e.clientX, e.clientY) : null, this.pressOnMark = !!e.target.closest("[data-stylo-cell-mark]");
1989
2059
  }), n.addEventListener("focusin", (e) => this.onFocusIn(e)), n.addEventListener("focusout", (e) => this.onFocusOut(e));
1990
2060
  let r = (t) => {
1991
2061
  t && (this.editing = t, this.finish(t, !0), this.sync(e));
@@ -1998,9 +2068,9 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
1998
2068
  document.execCommand("insertText", !1, t);
1999
2069
  }), n.addEventListener("contextmenu", (t) => {
2000
2070
  t.target.closest("td, th") && (t.preventDefault(), t.stopPropagation(), this.longPress?.cancel(), !(Date.now() - this.longPressAt < 700) && this.openCellMenuAt(e, t.clientX, t.clientY, t.target));
2001
- }), this.longPress = Jn(n, { onLongPress: (t, n, r) => {
2071
+ }), this.longPress = $n(n, { onLongPress: (t, n, r) => {
2002
2072
  this.longPressAt = Date.now(), this.openCellMenuAt(e, t, n, r);
2003
- } }), this.gizmos = Yn(document, {
2073
+ } }), this.gizmos = er(document, {
2004
2074
  dims: () => ({
2005
2075
  cols: this.cols(),
2006
2076
  rows: this.rows.length,
@@ -2012,12 +2082,12 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
2012
2082
  destroy() {
2013
2083
  this.longPress?.dispose(), this.longPress = null, this.gizmos?.destroy(), this.gizmos = null, this.table = null, this.view = null, this.editing = null;
2014
2084
  }
2015
- }, dr = /* @__PURE__ */ new Set([
2085
+ }, gr = /* @__PURE__ */ new Set([
2016
2086
  "-",
2017
2087
  "*",
2018
2088
  "_"
2019
- ]), fr = we.transactionFilter.of((e) => {
2020
- if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(cr) || !e.startState.selection.main.empty) return e;
2089
+ ]), _r = Ce.transactionFilter.of((e) => {
2090
+ if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(pr) || !e.startState.selection.main.empty) return e;
2021
2091
  let t = e.startState.selection.main.head, n = "", r = 0;
2022
2092
  if (e.changes.iterChanges((e, i, a, o, s) => {
2023
2093
  r += 1, e === i && e === t && (n = s.toString());
@@ -2047,7 +2117,7 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
2047
2117
  },
2048
2118
  anchor: a + 1
2049
2119
  };
2050
- else if (dr.has(n) && RegExp(`^\\${n}{3,}$`).test(s)) {
2120
+ else if (gr.has(n) && RegExp(`^\\${n}{3,}$`).test(s)) {
2051
2121
  let e = o.number === 1 || i.line(o.number - 1).text.trim() === "", t = n === "-" && !e, r = o.number === i.lines;
2052
2122
  if (t || r) {
2053
2123
  let e = [];
@@ -2070,38 +2140,38 @@ var cr = Se.define(), lr = /* @__PURE__ */ new WeakMap(), ur = class extends k {
2070
2140
  scrollIntoView: !0,
2071
2141
  userEvent: "input.autoformat"
2072
2142
  }] : e;
2073
- }), pr = /* @__PURE__ */ new Set([
2143
+ }), vr = /* @__PURE__ */ new Set([
2074
2144
  "EmphasisMark",
2075
2145
  "CodeMark",
2076
2146
  "StrikethroughMark"
2077
2147
  ]);
2078
- function mr(e, t, n) {
2148
+ function yr(e, t, n) {
2079
2149
  let r = t;
2080
2150
  for (;;) {
2081
2151
  let t = e.resolveInner(r, n);
2082
- if (!pr.has(t.name) || t.from >= t.to) return r;
2152
+ if (!vr.has(t.name) || t.from >= t.to) return r;
2083
2153
  let i = n < 0 ? t.from : t.to;
2084
2154
  if (i === r) return r;
2085
2155
  r = i;
2086
2156
  }
2087
2157
  }
2088
- function hr(e, t) {
2089
- let n = H(e, t, !0);
2158
+ function br(e, t) {
2159
+ let n = W(e, t, !0);
2090
2160
  if (!n) return t;
2091
- let r = N(e);
2092
- return t === n.contentTo ? mr(r, t, 1) : t === n.contentFrom ? mr(r, t, -1) : t;
2161
+ let r = P(e);
2162
+ return t === n.contentTo ? yr(r, t, 1) : t === n.contentFrom ? yr(r, t, -1) : t;
2093
2163
  }
2094
- var gr = we.transactionFilter.of((e) => {
2095
- if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(cr)) return e;
2164
+ var xr = Ce.transactionFilter.of((e) => {
2165
+ if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(pr)) return e;
2096
2166
  let t = e.startState, n = t.selection.main;
2097
- if (!n.empty || !V(t, t.doc.lineAt(n.head).number)) return e;
2167
+ if (!n.empty || !U(t, t.doc.lineAt(n.head).number)) return e;
2098
2168
  let r = [], i = 0;
2099
2169
  e.changes.iterChanges((e, t, a, o, s) => {
2100
2170
  i++, e === t && e === n.head && s.length > 0 && r.push(s.toString());
2101
2171
  });
2102
2172
  let a = r[0];
2103
2173
  if (i !== 1 || a === void 0) return e;
2104
- let o = hr(t, n.head);
2174
+ let o = br(t, n.head);
2105
2175
  return o === n.head ? e : {
2106
2176
  changes: {
2107
2177
  from: o,
@@ -2111,23 +2181,23 @@ var gr = we.transactionFilter.of((e) => {
2111
2181
  scrollIntoView: !0,
2112
2182
  userEvent: "input.type"
2113
2183
  };
2114
- }), _r = RegExp(`^(?:${se.match.source.replace(/^\^/, "")})+`);
2115
- function vr(e, t) {
2184
+ }), Sr = RegExp(`^(?:${se.match.source.replace(/^\^/, "")})+`);
2185
+ function Cr(e, t) {
2116
2186
  let n = e.doc.lineAt(t).number;
2117
- for (let r = N(e).resolveInner(t, 1); r; r = r.parent) {
2187
+ for (let r = P(e).resolveInner(t, 1); r; r = r.parent) {
2118
2188
  if (r.name !== "ListItem" || e.doc.lineAt(r.from).number === n) continue;
2119
2189
  let t = u.exec(e.doc.lineAt(r.from).text);
2120
2190
  if (t) return t[0].length;
2121
2191
  }
2122
2192
  return null;
2123
2193
  }
2124
- function yr(e, t) {
2125
- let n = t.text, r = ae.exec(n);
2194
+ function wr(e, t) {
2195
+ let n = t.text, r = _.exec(n);
2126
2196
  if (r) return {
2127
2197
  prefixLen: r[0].length,
2128
2198
  drop: [0, r[0].length]
2129
2199
  };
2130
- let i = _r.exec(n);
2200
+ let i = Sr.exec(n);
2131
2201
  if (i) {
2132
2202
  let e = se.match.exec(n)[0].length;
2133
2203
  return {
@@ -2140,11 +2210,11 @@ function yr(e, t) {
2140
2210
  prefixLen: a[0].length,
2141
2211
  drop: [0, a[0].length]
2142
2212
  };
2143
- let o = te.match.exec(n) ?? _.match.exec(n);
2213
+ let o = te.match.exec(n) ?? ae.match.exec(n);
2144
2214
  if (o) {
2145
2215
  let n = o[1] ?? "", r = o[0].length - n.length;
2146
2216
  if (n) {
2147
- let r = vr(e, t.from) ?? 2, i = n.startsWith(" ") ? 1 : Math.min(r, n.length);
2217
+ let r = Cr(e, t.from) ?? 2, i = n.startsWith(" ") ? 1 : Math.min(r, n.length);
2148
2218
  return {
2149
2219
  prefixLen: o[0].length,
2150
2220
  drop: [0, i]
@@ -2157,15 +2227,15 @@ function yr(e, t) {
2157
2227
  }
2158
2228
  return null;
2159
2229
  }
2160
- var br = j.high(ve.of([{
2230
+ var Tr = M.high(A.of([{
2161
2231
  key: "Backspace",
2162
2232
  run: (e) => {
2163
2233
  if (h(e)) return !1;
2164
2234
  let { state: t } = e, n = t.selection.main;
2165
2235
  if (!n.empty) return !1;
2166
2236
  let r = t.doc.lineAt(n.head);
2167
- if (!V(t, r.number)) return !1;
2168
- let i = yr(t, r);
2237
+ if (!U(t, r.number)) return !1;
2238
+ let i = wr(t, r);
2169
2239
  if (!i || n.head < r.from || n.head > r.from + i.prefixLen) return !1;
2170
2240
  let [a, o] = i.drop;
2171
2241
  return e.dispatch({
@@ -2179,13 +2249,13 @@ var br = j.high(ve.of([{
2179
2249
  scrollIntoView: !0
2180
2250
  }), !0;
2181
2251
  }
2182
- }])), xr = class {
2252
+ }])), Er = class {
2183
2253
  menu;
2184
2254
  contentDOM;
2185
2255
  onClick;
2186
2256
  constructor(e) {
2187
- this.menu = Z(e.dom.ownerDocument), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onClick = (t) => {
2188
- if (e.state.facet(L) !== "never" || !e.state.facet(P).links) return;
2257
+ this.menu = Q(e.dom.ownerDocument), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onClick = (t) => {
2258
+ if (e.state.facet(R) !== "never" || !e.state.facet(F).links) return;
2189
2259
  let n = t.target?.closest(".cm-inplace-link");
2190
2260
  if (!n || n.classList.contains("cm-inplace-wikilink")) return;
2191
2261
  let r = e.posAtDOM(n);
@@ -2197,13 +2267,13 @@ var br = j.high(ve.of([{
2197
2267
  if (n == null) return;
2198
2268
  r = n;
2199
2269
  }
2200
- e.dispatch({ selection: { anchor: r } }), this.menu.showField(An(e), t.clientX, t.clientY);
2270
+ e.dispatch({ selection: { anchor: r } }), this.menu.showField(Fn(e), t.clientX, t.clientY);
2201
2271
  }, this.contentDOM.addEventListener("click", this.onClick);
2202
2272
  }
2203
2273
  destroy() {
2204
2274
  this.contentDOM.removeEventListener("click", this.onClick), this.menu.destroy();
2205
2275
  }
2206
- }, Sr = O.fromClass(xr), Cr = (e) => e.replace(/^<([^]*)>$/, "$1").trim(), wr = (e, t, n) => n ? {
2276
+ }, Dr = O.fromClass(Er), Or = (e) => e.replace(/^<([^]*)>$/, "$1").trim(), kr = (e, t, n) => n ? {
2207
2277
  pos: e,
2208
2278
  end: t,
2209
2279
  above: !0,
@@ -2212,27 +2282,27 @@ var br = j.high(ve.of([{
2212
2282
  return e.className = "cm-inplace-href-tip", e.textContent = n, { dom: e };
2213
2283
  }
2214
2284
  } : null;
2215
- function Tr(e, t) {
2216
- for (let n = N(e.state).resolveInner(t, -1); n; n = n.parent) {
2285
+ function Ar(e, t) {
2286
+ for (let n = P(e.state).resolveInner(t, -1); n; n = n.parent) {
2217
2287
  if (n.name !== "Link") continue;
2218
2288
  if (e.state.doc.sliceString(Math.max(0, n.from - 1), n.from) === "[") break;
2219
2289
  let t = n.getChild("URL"), r = t ? e.state.sliceDoc(t.from, t.to) : e.state.sliceDoc(n.from, n.to);
2220
- return wr(n.from, n.to, Cr(r));
2290
+ return kr(n.from, n.to, Or(r));
2221
2291
  }
2222
2292
  return null;
2223
2293
  }
2224
- function Er(t, n) {
2294
+ function jr(t, n) {
2225
2295
  let r = t.state.doc.lineAt(n);
2226
2296
  for (let t of r.text.matchAll(e)) {
2227
2297
  let e = r.from + (t.index ?? 0), i = e + t[0].length;
2228
- if (!(n < e || n > i)) return wr(e, i, (t[1] ?? "").trim());
2298
+ if (!(n < e || n > i)) return kr(e, i, (t[1] ?? "").trim());
2229
2299
  }
2230
2300
  return null;
2231
2301
  }
2232
- var Dr = _e((e, t) => {
2233
- let n = e.state.facet(P);
2234
- return (n.links ? Tr(e, t) : null) ?? (n.wikilinks ? Er(e, t) : null);
2235
- }), Or = class extends k {
2302
+ var Mr = _e((e, t) => {
2303
+ let n = e.state.facet(F);
2304
+ return (n.links ? Ar(e, t) : null) ?? (n.wikilinks ? jr(e, t) : null);
2305
+ }), Nr = class extends k {
2236
2306
  ref;
2237
2307
  inline;
2238
2308
  registry;
@@ -2259,19 +2329,19 @@ var Dr = _e((e, t) => {
2259
2329
  return !1;
2260
2330
  }
2261
2331
  };
2262
- function kr(e) {
2263
- let t = e.facet(F);
2264
- if (!t || !e.facet(P).embeds || !e.doc.toString().includes("![[")) return E.none;
2265
- let n = z(e), r = N(e), i = [];
2332
+ function Pr(e) {
2333
+ let t = e.facet(I);
2334
+ if (!t || !e.facet(F).embeds || !e.doc.toString().includes("![[")) return E.none;
2335
+ let n = V(e), r = P(e), i = [];
2266
2336
  for (let a = 1; a <= e.doc.lines; a++) {
2267
2337
  let o = e.doc.line(a);
2268
2338
  if (!(!o.text.includes("![[") || n.has(a))) {
2269
2339
  if (fe(o.text)) {
2270
2340
  C.lastIndex = 0;
2271
2341
  let e = (C.exec(o.text.trim())?.[1] ?? "").trim();
2272
- if (!e || B(r, o.from + o.text.indexOf("!["))) continue;
2342
+ if (!e || H(r, o.from + o.text.indexOf("!["))) continue;
2273
2343
  i.push(E.replace({
2274
- widget: new Or(e, !1, t),
2344
+ widget: new Nr(e, !1, t),
2275
2345
  block: !0
2276
2346
  }).range(o.from, o.to));
2277
2347
  continue;
@@ -2281,30 +2351,30 @@ function kr(e) {
2281
2351
  let n = (e[1] ?? "").trim();
2282
2352
  if (!n) continue;
2283
2353
  let a = o.from + (e.index ?? 0);
2284
- B(r, a + 2) || qe(r, a + 2) || i.push(E.replace({ widget: new Or(n, !0, t) }).range(a, a + e[0].length));
2354
+ H(r, a + 2) || Ke(r, a + 2) || i.push(E.replace({ widget: new Nr(n, !0, t) }).range(a, a + e[0].length));
2285
2355
  }
2286
2356
  }
2287
2357
  }
2288
2358
  return E.set(i, !0);
2289
2359
  }
2290
- function Ar(e, t) {
2360
+ function Fr(e, t) {
2291
2361
  for (let n of t.ranges) {
2292
2362
  let t = e.doc.lineAt(n.from).number, r = e.doc.lineAt(n.to).number;
2293
2363
  for (let n = t; n <= r; n++) if (e.doc.line(n).text.includes("![[")) return !0;
2294
2364
  }
2295
2365
  return !1;
2296
2366
  }
2297
- var jr = M.define({
2298
- create: kr,
2299
- update: (e, t) => t.docChanged || t.selection && (Ar(t.state, t.startState.selection) || Ar(t.state, t.state.selection)) ? kr(t.state) : e,
2367
+ var Ir = N.define({
2368
+ create: Pr,
2369
+ update: (e, t) => t.docChanged || t.selection && (Fr(t.state, t.startState.selection) || Fr(t.state, t.state.selection)) ? Pr(t.state) : e,
2300
2370
  provide: (e) => [D.decorations.from(e), D.atomicRanges.of((t) => t.state.field(e))]
2301
- }), Mr = Te.define(), $ = M.define({
2371
+ }), Lr = we.define(), Rr = N.define({
2302
2372
  create: () => !1,
2303
2373
  update(e, t) {
2304
- for (let n of t.effects) n.is(Mr) && (e = n.value);
2374
+ for (let n of t.effects) n.is(Lr) && (e = n.value);
2305
2375
  return e;
2306
2376
  }
2307
- }), Nr = class {
2377
+ }), zr = class {
2308
2378
  view;
2309
2379
  menu;
2310
2380
  onContextMenu;
@@ -2315,8 +2385,8 @@ var jr = M.define({
2315
2385
  longPressAt = 0;
2316
2386
  destroyed = !1;
2317
2387
  constructor(e) {
2318
- this.view = e, this.menu = Z(e.dom.ownerDocument, "cm-inplace-menu", (t) => {
2319
- this.destroyed || e.dispatch({ effects: Mr.of(t) });
2388
+ this.view = e, this.menu = Q(e.dom.ownerDocument, "cm-inplace-menu", (t) => {
2389
+ this.destroyed || e.dispatch({ effects: Lr.of(t) });
2320
2390
  }), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onPointerDown = () => {
2321
2391
  let t = e.state.selection.main;
2322
2392
  this.stashed = t.empty ? null : {
@@ -2326,17 +2396,17 @@ var jr = M.define({
2326
2396
  }, this.contentDOM.addEventListener("pointerdown", this.onPointerDown, !0), this.onContextMenu = (e) => {
2327
2397
  let t = e.target;
2328
2398
  this.canOpen() && (t?.closest(".cm-inplace-table-edit") || (this.longPress.cancel(), (Date.now() - this.longPressAt < 700 || this.openMenuAt(e.clientX, e.clientY, t)) && e.preventDefault()));
2329
- }, this.contentDOM.addEventListener("contextmenu", this.onContextMenu), this.longPress = Jn(this.contentDOM, { onLongPress: (e, t, n) => {
2399
+ }, this.contentDOM.addEventListener("contextmenu", this.onContextMenu), this.longPress = $n(this.contentDOM, { onLongPress: (e, t, n) => {
2330
2400
  this.longPressAt = Date.now(), this.openMenuAt(e, t, n);
2331
2401
  } });
2332
2402
  }
2333
2403
  canOpen() {
2334
2404
  let { state: e } = this.view;
2335
- return e.facet(Ne) && (!e.readOnly || Sn(this.view));
2405
+ return e.facet(Me) && (!e.readOnly || Dn(this.view));
2336
2406
  }
2337
2407
  rows() {
2338
2408
  let e = this.view;
2339
- return e.state.readOnly ? Cn(e, { selected: !e.state.selection.main.empty }) : qn(e);
2409
+ return e.state.readOnly ? On(e, { selected: !e.state.selection.main.empty }) : Qn(e);
2340
2410
  }
2341
2411
  openMenuAt(e, t, n) {
2342
2412
  let r = this.view;
@@ -2353,7 +2423,7 @@ var jr = M.define({
2353
2423
  y: t
2354
2424
  });
2355
2425
  if (n != null) {
2356
- let e = H(r.state, n, !1, !0), t = r.state.wordAt(n) ?? { anchor: n };
2426
+ let e = W(r.state, n, !1, !0), t = r.state.wordAt(n) ?? { anchor: n };
2357
2427
  e?.kind === "link" ? t = {
2358
2428
  anchor: e.from,
2359
2429
  head: e.to
@@ -2372,10 +2442,10 @@ var jr = M.define({
2372
2442
  destroy() {
2373
2443
  this.destroyed = !0, this.contentDOM.removeEventListener("pointerdown", this.onPointerDown, !0), this.contentDOM.removeEventListener("contextmenu", this.onContextMenu), this.longPress.dispose(), this.menu.destroy();
2374
2444
  }
2375
- }, Pr = O.fromClass(Nr);
2445
+ }, Br = O.fromClass(zr);
2376
2446
  //#endregion
2377
2447
  //#region src/inplace/selection-bar-position.ts
2378
- function Fr(e) {
2448
+ function Vr(e) {
2379
2449
  let t = e.state.selection.main;
2380
2450
  if (!t.empty) {
2381
2451
  let n = e.coordsAtPos(t.from), r = e.coordsAtPos(t.to);
@@ -2389,7 +2459,7 @@ function Fr(e) {
2389
2459
  }
2390
2460
  };
2391
2461
  }
2392
- if (!Vn(e)) return null;
2462
+ if (!Kn(e)) return null;
2393
2463
  let n = e.dom.ownerDocument.getSelection();
2394
2464
  if (!n || n.rangeCount === 0) return null;
2395
2465
  let r = n.getRangeAt(0).getBoundingClientRect();
@@ -2403,9 +2473,9 @@ function Fr(e) {
2403
2473
  }
2404
2474
  };
2405
2475
  }
2406
- function Ir(e, t, n) {
2407
- if (e.state.facet(Ve) !== "bar" || e.state.readOnly || e.state.field($, !1)) return null;
2408
- let r = Fr(e);
2476
+ function Hr(e, t, n) {
2477
+ if (e.state.facet(Be) !== "bar" || e.state.readOnly || e.state.field(Rr, !1)) return null;
2478
+ let r = Vr(e);
2409
2479
  if (!r) return null;
2410
2480
  let { box: i, inCell: a } = r;
2411
2481
  if (!a && !e.hasFocus) return null;
@@ -2423,7 +2493,7 @@ function Ir(e, t, n) {
2423
2493
  }
2424
2494
  //#endregion
2425
2495
  //#region src/inplace/selection-bar.ts
2426
- var Lr = class {
2496
+ var Ur = class {
2427
2497
  view;
2428
2498
  bar;
2429
2499
  ids;
@@ -2438,12 +2508,12 @@ var Lr = class {
2438
2508
  constructor(e) {
2439
2509
  this.view = e;
2440
2510
  let t = e.dom.ownerDocument;
2441
- this.ids = e.state.facet(Be), this.linkMenu = Z(t), e.dom.appendChild(this.linkMenu.el), this.bar = t.createElement("div"), this.bar.className = "cm-inplace-selbar", this.bar.setAttribute("contenteditable", "false"), this.bar.hidden = !0;
2511
+ this.ids = e.state.facet(ze), this.linkMenu = Q(t), e.dom.appendChild(this.linkMenu.el), this.bar = t.createElement("div"), this.bar.className = "cm-inplace-selbar", this.bar.setAttribute("contenteditable", "false"), this.bar.hidden = !0;
2442
2512
  for (let n of this.ids) {
2443
2513
  let r = g[n], i = t.createElement("button");
2444
- i.type = "button", i.className = "cm-inplace-selbar-btn", i.title = r.title, i.setAttribute("aria-label", r.title), i.appendChild(ue(t, S[n] ?? "")), i.addEventListener("mousedown", (e) => e.preventDefault()), i.addEventListener("click", (t) => {
2514
+ i.type = "button", i.className = "cm-inplace-selbar-btn", i.title = r.title, i.setAttribute("aria-label", r.title), i.appendChild(x(t, S[n] ?? "")), i.addEventListener("mousedown", (e) => e.preventDefault()), i.addEventListener("click", (t) => {
2445
2515
  t.preventDefault();
2446
- let a = !!h(e), o = !a && n === "link" ? An(e) : !a && n === "wikilink" ? jn(e) : null;
2516
+ let a = !!h(e), o = !a && n === "link" ? Fn(e) : !a && n === "wikilink" ? In(e) : null;
2447
2517
  if (o) {
2448
2518
  let e = i.getBoundingClientRect();
2449
2519
  this.linkMenu.showField(o, e.left, e.bottom + 6);
@@ -2455,7 +2525,7 @@ var Lr = class {
2455
2525
  e.dom.appendChild(this.bar), t.addEventListener("scroll", this.onScroll, !0), t.addEventListener("selectionchange", this.onSelectionChange);
2456
2526
  }
2457
2527
  update(e) {
2458
- let t = e.startState.field($, !1) !== e.state.field($, !1), n = e.startState.readOnly !== e.state.readOnly;
2528
+ let t = e.startState.field(Rr, !1) !== e.state.field(Rr, !1), n = e.startState.readOnly !== e.state.readOnly;
2459
2529
  (e.selectionSet || e.docChanged || e.focusChanged || t || n) && this.schedule();
2460
2530
  }
2461
2531
  schedule() {
@@ -2466,7 +2536,7 @@ var Lr = class {
2466
2536
  });
2467
2537
  }
2468
2538
  measure() {
2469
- return Ir(this.view, this.bar, this.ids);
2539
+ return Hr(this.view, this.bar, this.ids);
2470
2540
  }
2471
2541
  apply(e) {
2472
2542
  if (!e) {
@@ -2480,42 +2550,46 @@ var Lr = class {
2480
2550
  let e = this.view.dom.ownerDocument;
2481
2551
  e.removeEventListener("scroll", this.onScroll, !0), e.removeEventListener("selectionchange", this.onSelectionChange), this.linkMenu.destroy(), this.bar.remove();
2482
2552
  }
2483
- }, Rr = O.fromClass(Lr), zr = (e) => (t) => {
2553
+ }, Wr = O.fromClass(Ur), Gr = (e) => (t) => {
2484
2554
  if (h(t)) return !1;
2485
2555
  let n = t.state.selection.main;
2486
2556
  if (!n.empty) return !1;
2487
2557
  let { doc: r } = t.state, i = r.lineAt(n.head), a = e ? i.number + 1 : i.number - 1;
2488
2558
  if (a < 1 || a > r.lines) return !1;
2489
2559
  let o = r.line(a), s = -1, c = -1, l;
2490
- if (t.state.field(X).between(o.from, o.to, (t, n, r) => {
2560
+ if (t.state.field(yn).between(o.from, o.to, (t, n, r) => {
2491
2561
  if (e ? t === o.from : n === o.to) return s = t, c = n, l = r.spec.widget, !1;
2492
2562
  }), s < 0) return !1;
2493
- if (t.state.facet(I) === "cells") return l instanceof ur && l.focusEdge(e ? "first" : "last");
2563
+ if (t.state.facet(L) === "cells") return l instanceof hr && l.focusEdge(e ? "first" : "last");
2494
2564
  let u = e ? r.lineAt(s).from : r.lineAt(c).to;
2495
2565
  return t.dispatch({
2496
2566
  selection: { anchor: u },
2497
2567
  userEvent: "select",
2498
2568
  scrollIntoView: !0
2499
2569
  }), !0;
2500
- }, Br = zr(!0), Vr = zr(!1), Hr = j.high(ve.of([{
2570
+ }, Kr = Gr(!0), qr = Gr(!1), Jr = M.high(A.of([{
2501
2571
  key: "ArrowDown",
2502
- run: Br
2572
+ run: Kr
2503
2573
  }, {
2504
2574
  key: "ArrowUp",
2505
- run: Vr
2506
- }])), Ur = O.fromClass(class {
2507
- last = "[]";
2575
+ run: qr
2576
+ }])), Yr = "[[],[]]", Xr = O.fromClass(class {
2577
+ last = Yr;
2508
2578
  update(e) {
2509
- let t = JSON.stringify(e.state.facet(Le)(e.state));
2510
- t === this.last && !e.docChanged || (t !== "[]" || this.last !== "[]") && (this.last = t, e.view.requestMeasure({
2579
+ let { state: t } = e, n = JSON.stringify([t.facet(Ie)(t), t.facet(Le)(t).map((e) => [
2580
+ e.pos,
2581
+ e.key,
2582
+ e.cellClass
2583
+ ])]);
2584
+ n === this.last && !e.docChanged || (n !== Yr || this.last !== Yr) && (this.last = n, e.view.requestMeasure({
2511
2585
  read: () => null,
2512
2586
  write: (e, t) => {
2513
- for (let e of t.dom.querySelectorAll(".cm-inplace-table-edit")) lr.get(e)?.repaintMarks();
2587
+ for (let e of t.dom.querySelectorAll(".cm-inplace-table-edit")) mr.get(e)?.repaintMarks();
2514
2588
  },
2515
2589
  key: this
2516
2590
  }));
2517
2591
  }
2518
- }), Wr = {
2592
+ }), Zr = {
2519
2593
  ".cm-inplace-callout": {
2520
2594
  borderLeft: "0.25rem solid var(--stylo-callout-accent, var(--stylo-border))",
2521
2595
  padding: "0 var(--stylo-rhythm-callout-padding-x, 1rem)",
@@ -2549,9 +2623,9 @@ var Lr = class {
2549
2623
  content: "\"\"",
2550
2624
  display: "none"
2551
2625
  }
2552
- }, Gr = "var(--stylo-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)", Kr = "var(--stylo-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif)", qr = {
2626
+ }, Qr = "var(--stylo-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)", $r = "var(--stylo-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif)", ei = {
2553
2627
  "& .cm-content": {
2554
- fontFamily: Kr,
2628
+ fontFamily: $r,
2555
2629
  lineHeight: "1.75",
2556
2630
  padding: "0.75rem",
2557
2631
  WebkitTouchCallout: "none"
@@ -2594,14 +2668,14 @@ var Lr = class {
2594
2668
  ".cm-inplace-em": { fontStyle: "italic" },
2595
2669
  ".cm-inplace-strike": { textDecoration: "line-through" },
2596
2670
  ".cm-inplace-code": {
2597
- fontFamily: Gr,
2671
+ fontFamily: Qr,
2598
2672
  fontSize: "0.9em",
2599
2673
  padding: "0.1em 0.35em",
2600
2674
  borderRadius: "3px",
2601
2675
  background: "color-mix(in srgb, var(--stylo-border) 45%, transparent)"
2602
2676
  },
2603
2677
  ".cm-inplace-mono": {
2604
- fontFamily: Gr,
2678
+ fontFamily: Qr,
2605
2679
  fontSize: "0.9em",
2606
2680
  background: "color-mix(in srgb, var(--stylo-border) 35%, transparent)",
2607
2681
  padding: "0 0.9rem"
@@ -2679,21 +2753,21 @@ var Lr = class {
2679
2753
  cursor: "pointer"
2680
2754
  },
2681
2755
  ".cm-inplace-fm": {
2682
- fontFamily: Gr,
2756
+ fontFamily: Qr,
2683
2757
  fontSize: "0.85em",
2684
2758
  color: "var(--stylo-text-muted)"
2685
2759
  },
2686
2760
  ".cm-inplace-fm-first::before": {
2687
2761
  content: "\"Frontmatter\"",
2688
2762
  marginRight: "0.6em",
2689
- fontFamily: Kr,
2763
+ fontFamily: $r,
2690
2764
  fontSize: "0.8rem",
2691
2765
  fontWeight: "600",
2692
2766
  textTransform: "uppercase",
2693
2767
  letterSpacing: "0.04em",
2694
2768
  color: "var(--stylo-text-muted)"
2695
2769
  }
2696
- }, Jr = {
2770
+ }, ti = {
2697
2771
  ".cm-inplace-menu": {
2698
2772
  position: "fixed",
2699
2773
  inset: "0",
@@ -2767,7 +2841,7 @@ var Lr = class {
2767
2841
  outline: "none"
2768
2842
  },
2769
2843
  ".cm-inplace-menu-input:focus": { borderColor: "var(--stylo-ring)" }
2770
- }, Yr = {
2844
+ }, ni = {
2771
2845
  ".cm-inplace-selbar": {
2772
2846
  position: "fixed",
2773
2847
  zIndex: "20",
@@ -2852,7 +2926,7 @@ var Lr = class {
2852
2926
  lineHeight: "1.4",
2853
2927
  wordBreak: "break-all"
2854
2928
  }
2855
- }, Xr = {
2929
+ }, ri = {
2856
2930
  ".cm-inplace-table": {
2857
2931
  borderCollapse: "collapse",
2858
2932
  padding: "1em 0 1.4em",
@@ -2875,7 +2949,7 @@ var Lr = class {
2875
2949
  outline: "none"
2876
2950
  },
2877
2951
  ".cm-inplace-table-edit .cm-inplace-tcell:focus": { boxShadow: "inset 0 0 0 2px var(--stylo-ring)" }
2878
- }, Zr = {
2952
+ }, ii = {
2879
2953
  ".cm-inplace-table-wrap": {
2880
2954
  position: "relative",
2881
2955
  display: "inline-block",
@@ -2917,60 +2991,61 @@ var Lr = class {
2917
2991
  },
2918
2992
  ".cm-inplace-tg-edge:hover .cm-inplace-tg-plus": { color: "var(--stylo-text)" },
2919
2993
  "@media (hover: none)": { ".cm-inplace-tg-edge": { opacity: "0.5" } }
2920
- }, Qr = D.theme({
2921
- ...qr,
2922
- ...Wr,
2923
- ...Xr,
2994
+ }, ai = D.theme({
2995
+ ...ei,
2924
2996
  ...Zr,
2925
- ...Jr,
2926
- ...Yr
2927
- }), $r = ".cm-inplace-math, .cm-inplace-hr, .cm-inplace-table, .cm-inplace-embed, .cm-inplace-embed-inline";
2928
- function ei(e = {}) {
2929
- let t = Fe(e.inPlace?.contextMenu);
2997
+ ...ri,
2998
+ ...ii,
2999
+ ...ti,
3000
+ ...ni
3001
+ }), oi = ".cm-inplace-math, .cm-inplace-hr, .cm-inplace-table, .cm-inplace-embed, .cm-inplace-embed-inline";
3002
+ function si(e = {}) {
3003
+ let t = Pe(e.inPlace?.contextMenu);
2930
3004
  return [
2931
- P.of(je(e.inPlace)),
2932
- F.of(e.embedRegistry ?? null),
2933
- I.of(e.inPlace?.table ?? "source"),
2934
- L.of(e.inPlace?.reveal ?? "caret"),
2935
- Me.of(e.onLinkClick ?? null),
2936
- Ne.of(t.enabled),
2937
- Re.of(t.groups),
2938
- Ie.of(e.hostItems ?? (() => t.items)),
2939
- Le.of(e.cellMarks ?? e.inPlace?.cellMarks ?? (() => [])),
2940
- Ve.of(e.inPlace?.selectionUI ?? "menu"),
2941
- Be.of(ze(e.inPlace?.selectionBarItems)),
2942
- Dt(),
2943
- br,
2944
- nn,
2945
- Rt,
2946
- Hr,
2947
- gr,
2948
- fr,
2949
- nt,
2950
- jr,
2951
- Ue,
2952
- X,
2953
- Ur,
2954
- $,
2955
- Pr,
3005
+ F.of(Ae(e.inPlace)),
3006
+ I.of(e.embedRegistry ?? null),
3007
+ L.of(e.inPlace?.table ?? "source"),
3008
+ R.of(e.inPlace?.reveal ?? "caret"),
3009
+ je.of(e.onLinkClick ?? null),
3010
+ Me.of(t.enabled),
3011
+ B.of(t.groups),
3012
+ Fe.of(e.hostItems ?? (() => t.items)),
3013
+ Ie.of(e.cellMarks ?? e.inPlace?.cellMarks ?? (() => [])),
3014
+ Le.of(e.cellWidgets ?? e.inPlace?.cellWidgets ?? (() => [])),
3015
+ Be.of(e.inPlace?.selectionUI ?? "menu"),
3016
+ ze.of(Re(e.inPlace?.selectionBarItems)),
3017
+ Et(),
3018
+ Tr,
3019
+ sn,
3020
+ Lt,
3021
+ Jr,
3022
+ xr,
3023
+ _r,
3024
+ tt,
3025
+ Ir,
3026
+ He,
3027
+ yn,
3028
+ Xr,
2956
3029
  Rr,
2957
- Sr,
3030
+ Br,
3031
+ Wr,
2958
3032
  Dr,
2959
- zn,
2960
- Bn,
2961
- j.high(Qr),
3033
+ Mr,
3034
+ Wn,
3035
+ Gn,
3036
+ M.high(ai),
2962
3037
  D.domEventHandlers({
2963
3038
  mousedown(e, t) {
2964
3039
  let n = e.target;
2965
3040
  if (n?.closest(".cm-inplace-table-edit") || n?.closest(".stylo-embed-content")) return !1;
2966
- let r = n?.closest($r);
3041
+ let r = n?.closest(oi);
2967
3042
  if (!r) return !1;
2968
3043
  let i = t.posAtDOM(r);
2969
3044
  if (i < 0) return !1;
2970
3045
  let a = n?.closest("[data-stylo-row]");
2971
3046
  if (a && r.contains(a)) {
2972
3047
  let n = v(t.state.doc, i, Number(a.dataset.styloRow), Number(a.dataset.styloCol));
2973
- n != null && (i = n + x(a, e.clientX, e.clientY));
3048
+ n != null && (i = n + b(a, e.clientX, e.clientY));
2974
3049
  }
2975
3050
  return t.focus(), t.dispatch({ selection: { anchor: i } }), !0;
2976
3051
  },
@@ -2984,8 +3059,8 @@ function ei(e = {}) {
2984
3059
  }
2985
3060
  //#endregion
2986
3061
  //#region src/inplace/InPlaceView.tsx
2987
- var ti = () => () => {}, ni = () => null;
2988
- function ri({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClick: a, onLinkClick: o, inPlace: s, codeLanguages: c, wikiLinkSource: l, tagSource: u, embedSource: d, onResolveError: f, onSave: p, onViewChange: m, canvasHeader: h, hostExtensions: ee }) {
3062
+ var ci = () => () => {}, li = () => null;
3063
+ function ui({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClick: a, onLinkClick: o, inPlace: s, codeLanguages: c, wikiLinkSource: l, tagSource: u, embedSource: d, onResolveError: f, onSave: p, onViewChange: m, canvasHeader: h, hostExtensions: ee }) {
2989
3064
  let te = w(a);
2990
3065
  te.current = a;
2991
3066
  let re = w(o);
@@ -2994,13 +3069,15 @@ function ri({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClic
2994
3069
  ie.current = s?.contextMenu;
2995
3070
  let g = w(s?.cellMarks);
2996
3071
  g.current = s?.cellMarks;
2997
- let [_] = T(() => new ke()), ae = ge(_.subscribe, _.getSnapshot, _.getSnapshot), [oe, se] = T(null), v = w(m);
2998
- v.current = m;
2999
- let le = w((e) => {
3000
- se(e), v.current?.(e);
3072
+ let ae = w(s?.cellWidgets);
3073
+ ae.current = s?.cellWidgets;
3074
+ let [_] = T(() => new Oe()), oe = ge(_.subscribe, _.getSnapshot, _.getSnapshot), [se, v] = T(null), le = w(m);
3075
+ le.current = m;
3076
+ let ue = w((e) => {
3077
+ v(e), le.current?.(e);
3001
3078
  }).current, y = w(h);
3002
3079
  y.current = h;
3003
- let [b] = T(() => h ? new ne() : null), x = ge(b?.subscribe ?? ti, b?.getSnapshot ?? ni), [ue] = T(() => [ei({
3080
+ let [b] = T(() => h ? new ne() : null), x = ge(b?.subscribe ?? ci, b?.getSnapshot ?? li), [S] = T(() => [si({
3004
3081
  onWikiLinkClick: (e) => te.current?.(e),
3005
3082
  onLinkClick: (e) => re.current?.(e),
3006
3083
  inPlace: s,
@@ -3009,33 +3086,34 @@ function ri({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClic
3009
3086
  return typeof e == "object" ? e.items ?? [] : [];
3010
3087
  },
3011
3088
  cellMarks: (e) => g.current?.(e) ?? [],
3089
+ cellWidgets: (e) => ae.current?.(e) ?? [],
3012
3090
  embedRegistry: d ? _ : void 0
3013
- }), ...b ? [ye.of(b.panel)] : []]), S = ce({
3091
+ }), ...b ? [ve.of(b.panel)] : []]), de = ce({
3014
3092
  value: e,
3015
3093
  onChange: t,
3016
3094
  readOnly: r,
3017
3095
  placeholder: i,
3018
- extensions: ue,
3096
+ extensions: S,
3019
3097
  codeLanguages: c,
3020
3098
  wikiLinkSource: l,
3021
3099
  tagSource: u,
3022
3100
  onResolveError: f,
3023
3101
  onSave: p,
3024
- onViewChange: le,
3102
+ onViewChange: ue,
3025
3103
  hostExtensions: ee
3026
3104
  });
3027
- return /* @__PURE__ */ De("div", {
3105
+ return /* @__PURE__ */ Ee("div", {
3028
3106
  className: n.inplace,
3029
- ref: S,
3030
- children: [d && ae.map((e) => be(/* @__PURE__ */ Ee(pe, {
3107
+ ref: de,
3108
+ children: [d && oe.map((e) => ye(/* @__PURE__ */ Te(pe, {
3031
3109
  reference: e.ref,
3032
3110
  source: d,
3033
3111
  onError: f,
3034
3112
  inline: e.inline
3035
- }), e.el, String(e.id))), x && y.current && be(y.current({ view: oe }), x)]
3113
+ }), e.el, String(e.id))), x && y.current && ye(y.current({ view: se }), x)]
3036
3114
  });
3037
3115
  }
3038
3116
  //#endregion
3039
- export { ri as InPlaceView };
3117
+ export { ui as InPlaceView };
3040
3118
 
3041
- //# sourceMappingURL=InPlaceView-gei6uiAm.js.map
3119
+ //# sourceMappingURL=InPlaceView-BIdyqlek.js.map