@damiro/stylo 0.21.0 → 0.22.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.
@@ -3,15 +3,15 @@ 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,
3
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
- 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 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";
6
+ import { useRef as w, useState as ge, useSyncExternalStore as _e } from "react";
7
+ import { Decoration as T, EditorView as E, ViewPlugin as D, WidgetType as O, hoverTooltip as ve, keymap as k, 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";
13
13
  //#region src/inplace/embed-registry.ts
14
- var Oe = class {
14
+ var ke = class {
15
15
  slots = /* @__PURE__ */ new Map();
16
16
  listeners = /* @__PURE__ */ new Set();
17
17
  snapshot = [];
@@ -34,7 +34,7 @@ var Oe = class {
34
34
  for (let e of this.listeners) e();
35
35
  }));
36
36
  }
37
- }, ke = {
37
+ }, Ae = {
38
38
  headings: !0,
39
39
  emphasis: !0,
40
40
  links: !0,
@@ -49,20 +49,20 @@ var Oe = class {
49
49
  tables: !0,
50
50
  embeds: !0
51
51
  };
52
- function Ae(e) {
52
+ function je(e) {
53
53
  return {
54
- ...ke,
54
+ ...Ae,
55
55
  ...e?.decorations
56
56
  };
57
57
  }
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 = [
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 = [
59
59
  "host",
60
60
  "link",
61
61
  "format",
62
62
  "paragraph",
63
63
  "insert",
64
64
  "clipboard"
65
- ], z = [
65
+ ], R = [
66
66
  "bold",
67
67
  "italic",
68
68
  "strike",
@@ -71,57 +71,57 @@ var F = j.define({ combine: (e) => e[0] ?? ke }), I = j.define({ combine: (e) =>
71
71
  "wikilink",
72
72
  "math"
73
73
  ];
74
- function Pe(e) {
74
+ function Fe(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: Ne,
81
+ groups: Pe,
82
82
  items: []
83
83
  } : {
84
84
  enabled: !0,
85
- groups: e.groups?.length ? e.groups : Ne,
85
+ groups: e.groups?.length ? e.groups : Pe,
86
86
  items: e.items ?? []
87
87
  };
88
88
  }
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;
89
+ var Ie = A.define({ combine: (e) => e[0] ?? (() => []) }), Le = A.define({ combine: (e) => e[0] ?? (() => []) }), Re = A.define({ combine: (e) => e[0] ?? (() => []) }), z = 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;
94
94
  }
95
- var ze = j.define({ combine: (e) => e[0] ?? z }), Be = j.define({ combine: (e) => e[0] ?? "menu" });
95
+ var Be = A.define({ combine: (e) => e[0] ?? R }), Ve = A.define({ combine: (e) => e[0] ?? "menu" });
96
96
  //#endregion
97
97
  //#region src/inplace/frontmatter.ts
98
- function Ve(e) {
99
- if (!e.facet(F).frontmatter) return E.none;
98
+ function He(e) {
99
+ if (!e.facet(P).frontmatter) return T.none;
100
100
  let n = t(e.doc);
101
- if (!n) return E.none;
101
+ if (!n) return T.none;
102
102
  let r = e.doc.lineAt(n.from).number, i = e.doc.lineAt(n.to).number, a = e.selection.ranges.some((t) => {
103
103
  let n = e.doc.lineAt(t.from).number;
104
104
  return n >= r && n <= i;
105
105
  }), o = [];
106
106
  for (let t = r; t <= i; t++) {
107
107
  let n = e.doc.line(t), s = t === r ? "cm-inplace-fm cm-inplace-fm-first" : "cm-inplace-fm";
108
- o.push(E.line({ class: s }).range(n.from)), (t === r || t === i) && !a && n.to > n.from && o.push(E.replace({}).range(n.from, n.to));
108
+ o.push(T.line({ class: s }).range(n.from)), (t === r || t === i) && !a && n.to > n.from && o.push(T.replace({}).range(n.from, n.to));
109
109
  }
110
- return E.set(o, !0);
110
+ return T.set(o, !0);
111
111
  }
112
- var He = N.define({
113
- create: Ve,
114
- update: (e, t) => t.docChanged || t.selection ? Ve(t.state) : e,
115
- provide: (e) => D.decorations.from(e)
112
+ var Ue = M.define({
113
+ create: He,
114
+ update: (e, t) => t.docChanged || t.selection ? He(t.state) : e,
115
+ provide: (e) => E.decorations.from(e)
116
116
  });
117
117
  //#endregion
118
118
  //#region src/inplace/list-guides.ts
119
- function Ue(e) {
119
+ function We(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 We(e, t, n, r, i, a) {
124
+ function Ge(e, t, n, r, i, a) {
125
125
  if (!i.lists) return;
126
126
  let o = /* @__PURE__ */ new Set();
127
127
  n.iterate({
@@ -129,17 +129,17 @@ function We(e, t, n, r, i, a) {
129
129
  to: t,
130
130
  enter: (e) => {
131
131
  if (e.name !== "ListItem") return;
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
- for (let e = i; e <= s; e++) c && e >= l && e <= u || (n >= 1 && !o.has(e) && (o.add(e), a.push(E.line({
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;
133
+ for (let e = i; e <= s; e++) c && e >= l && e <= u || (n >= 1 && !o.has(e) && (o.add(e), a.push(T.line({
134
134
  class: "cm-inplace-li",
135
135
  attributes: { style: `--sl-li-depth:${n}` }
136
- }).range(r.line(e).from))), e === i && d && a.push(E.line({ class: d }).range(r.line(e).from)));
136
+ }).range(r.line(e).from))), e === i && d && a.push(T.line({ class: d }).range(r.line(e).from)));
137
137
  }
138
138
  });
139
139
  }
140
140
  //#endregion
141
141
  //#region src/inplace/reveal.ts
142
- function V(e) {
142
+ function B(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 V(e) {
149
149
  }
150
150
  //#endregion
151
151
  //#region src/inplace/scan.ts
152
- var Ge = /* @__PURE__ */ new Set([
152
+ var Ke = /* @__PURE__ */ new Set([
153
153
  "InlineCode",
154
154
  "FencedCode",
155
155
  "CodeBlock",
156
156
  "CodeText"
157
157
  ]);
158
- function H(e, t) {
158
+ function V(e, t) {
159
159
  let n = e.resolveInner(t, 1);
160
160
  for (;;) {
161
- if (Ge.has(n.name)) return !0;
161
+ if (Ke.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 Ke(e, t) {
167
+ function qe(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 Ke(e, t) {
173
173
  n = e;
174
174
  }
175
175
  }
176
- function qe(e, t, n, r) {
176
+ function Je(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 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)) {
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)) {
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 Ze(e, t) {
191
191
  block: !0
192
192
  };
193
193
  }
194
- for (let n of e.matchAll(Je)) {
194
+ for (let n of e.matchAll(Ye)) {
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 Ze(e, t) {
202
202
  }
203
203
  return null;
204
204
  }
205
- var Qe = class extends k {
205
+ var $e = class extends O {
206
206
  src;
207
207
  block;
208
208
  constructor(e, t) {
@@ -228,19 +228,19 @@ var Qe = class extends k {
228
228
  return !1;
229
229
  }
230
230
  };
231
- function $e(e, t, n, r, i, a, o) {
231
+ function et(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(Ye)) {
234
+ for (let e of r.matchAll(Xe)) {
235
235
  let n = (e[1] ?? "").trim(), r = t + (e.index ?? 0), l = r + (e[0] ?? "").length;
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)));
236
+ !n || V(a, r + 2) || (c.push([r, l]), !Je(i, s, r, l) && o.push(T.replace({ widget: new $e(n, !0) }).range(r, l)));
237
237
  }
238
- for (let e of r.matchAll(Je)) {
238
+ for (let e of r.matchAll(Ye)) {
239
239
  let n = (e[1] ?? "").trim(), r = t + (e.index ?? 0), l = r + (e[0] ?? "").length;
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));
240
+ !n || V(a, r + 1) || c.some(([e, t]) => r >= e && l <= t) || Je(i, s, r, l) || o.push(T.replace({ widget: new $e(n, !1) }).range(r, l));
241
241
  }
242
242
  }
243
- function et(e, t, n) {
243
+ function tt(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,44 +251,44 @@ function et(e, t, n) {
251
251
  }
252
252
  return !1;
253
253
  }
254
- var tt = N.define({
255
- create: nt,
254
+ var nt = M.define({
255
+ create: rt,
256
256
  update(e, t) {
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;
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;
258
258
  },
259
- provide: (e) => [D.decorations.from(e, (e) => e.decorations), D.atomicRanges.of((t) => t.state.field(e).decorations)]
259
+ provide: (e) => [E.decorations.from(e, (e) => e.decorations), E.atomicRanges.of((t) => t.state.field(e).decorations)]
260
260
  });
261
- function nt(e) {
262
- if (!e.facet(F).math) return {
263
- decorations: E.none,
261
+ function rt(e) {
262
+ if (!e.facet(P).math) return {
263
+ decorations: T.none,
264
264
  ranges: []
265
265
  };
266
266
  let t = e.doc.toString();
267
267
  if (!t.includes("$$")) return {
268
- decorations: E.none,
268
+ decorations: T.none,
269
269
  ranges: []
270
270
  };
271
- let n = [], r = [], i = V(e), a = P(e);
272
- for (let o of t.matchAll(Xe)) {
271
+ let n = [], r = [], i = B(e), a = N(e);
272
+ for (let o of t.matchAll(Ze)) {
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 === "" && (H(a, c + 2) || (r.push({
276
+ f === "" && p === "" && (V(a, c + 2) || (r.push({
277
277
  from: c,
278
278
  to: l
279
- }), !qe(i, e.doc, c, l) && n.push(E.replace({
280
- widget: new Qe(s, !0),
279
+ }), !Je(i, e.doc, c, l) && n.push(T.replace({
280
+ widget: new $e(s, !0),
281
281
  block: !0
282
282
  }).range(c, l))));
283
283
  }
284
284
  return {
285
- decorations: E.set(n, !0),
285
+ decorations: T.set(n, !0),
286
286
  ranges: r
287
287
  };
288
288
  }
289
289
  //#endregion
290
290
  //#region src/inplace/nodes-inline.ts
291
- var rt = {
291
+ var it = {
292
292
  StrongEmphasis: {
293
293
  mark: "EmphasisMark",
294
294
  className: "cm-inplace-strong",
@@ -310,13 +310,13 @@ var rt = {
310
310
  toggle: "code"
311
311
  }
312
312
  };
313
- function it(e, t, n) {
313
+ function at(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
- 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)));
317
+ f > d && a.push(T.mark({ class: n.className }).range(d, f)), u && !i.has(r.lineAt(e.from).number) && (a.push(T.replace({}).range(c.from, c.to)), a.push(T.replace({}).range(l.from, l.to)));
318
318
  }
319
- function at(e, t) {
319
+ function ot(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);
@@ -324,12 +324,12 @@ function at(e, t) {
324
324
  let u = e.node.getChildren("LinkMark");
325
325
  if (u.length >= 2) {
326
326
  let t = u[0], a = u[1];
327
- a.from > t.to && i.push(E.mark({ class: "cm-inplace-link" }).range(t.to, a.from)), r.has(n.lineAt(e.from).number) || (i.push(E.replace({}).range(e.from, t.to)), i.push(E.replace({}).range(a.from, e.to)));
327
+ a.from > t.to && i.push(T.mark({ class: "cm-inplace-link" }).range(t.to, a.from)), r.has(n.lineAt(e.from).number) || (i.push(T.replace({}).range(e.from, t.to)), i.push(T.replace({}).range(a.from, e.to)));
328
328
  }
329
329
  }
330
330
  //#endregion
331
331
  //#region src/inplace/widgets.ts
332
- var ot = class extends k {
332
+ var st = class extends O {
333
333
  eq() {
334
334
  return !0;
335
335
  }
@@ -340,7 +340,7 @@ var ot = class extends k {
340
340
  ignoreEvent() {
341
341
  return !1;
342
342
  }
343
- }, st = class extends k {
343
+ }, ct = class extends O {
344
344
  eq() {
345
345
  return !0;
346
346
  }
@@ -351,7 +351,7 @@ var ot = class extends k {
351
351
  ignoreEvent() {
352
352
  return !1;
353
353
  }
354
- }, ct = class extends k {
354
+ }, lt = class extends O {
355
355
  checked;
356
356
  constructor(e) {
357
357
  super(), this.checked = e;
@@ -373,14 +373,14 @@ var ot = class extends k {
373
373
  ignoreEvent() {
374
374
  return !0;
375
375
  }
376
- }, lt = /^[-*+]$/;
377
- function ut(e, t) {
376
+ }, ut = /^[-*+]$/;
377
+ function dt(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 ot() }).range(o.from, o.to))), !1;
381
+ return r.has(o.number) || (i.push(T.line({ class: "cm-inplace-hr-line" }).range(o.from)), i.push(T.replace({ widget: new st() }).range(o.from, o.to))), !1;
382
382
  }
383
- function dt(e, t) {
383
+ function ft(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;
@@ -390,41 +390,41 @@ function dt(e, t) {
390
390
  let r = u ? `cm-inplace-callout cm-inplace-callout-${u}` : "cm-inplace-quote";
391
391
  u && e === t && (r += " cm-inplace-callout-head"), u && e === o && (r += " cm-inplace-callout-foot");
392
392
  let i = {};
393
- u && (i["data-callout"] = l[3].toLowerCase()), u && d && (i["data-revealed"] = ""), a.push(E.line({
393
+ u && (i["data-callout"] = l[3].toLowerCase()), u && d && (i["data-revealed"] = ""), a.push(T.line({
394
394
  class: r,
395
395
  attributes: i
396
396
  }).range(n.line(e).from));
397
397
  }
398
398
  if (u && !d && !r.has(t)) {
399
399
  let e = c.from + l[1].length;
400
- a.push(E.replace({}).range(e, e + l[2].length));
400
+ a.push(T.replace({}).range(e, e + l[2].length));
401
401
  }
402
402
  }
403
403
  }
404
- function ft(e, t) {
404
+ function pt(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);
408
408
  if (!r.has(s.number) && !o.has(s.number)) {
409
409
  let t = Math.min(e.to + 1, s.to), n = me.exec(s.text), r = n ? s.text.slice(n[1].length + n[2].length) : s.text.slice(t - s.from);
410
- i.push(E.replace({}).range(e.from, r.trim() === "" ? e.to : t));
410
+ i.push(T.replace({}).range(e.from, r.trim() === "" ? e.to : t));
411
411
  }
412
412
  return !1;
413
413
  }
414
- function pt(e, t) {
414
+ function mt(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 && lt.test(o) && i.push(E.replace({ widget: new st() }).range(e.from, e.to))), !1;
416
+ return r.has(s.number) || (l ? a.tasks && i.push(T.replace({}).range(e.from, Math.min(e.to + 1, s.to))) : a.lists && ut.test(o) && i.push(T.replace({ widget: new ct() }).range(e.from, e.to))), !1;
417
417
  }
418
- function mt(e, t) {
418
+ function ht(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 ct(t) }).range(e.from, e.to));
423
+ i.push(T.replace({ widget: new lt(t) }).range(e.from, e.to));
424
424
  }
425
425
  return !1;
426
426
  }
427
- function ht(e, t) {
427
+ function gt(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;
@@ -434,18 +434,18 @@ function ht(e, t) {
434
434
  let t = s && (e === c || e === l), r = "cm-inplace-mono";
435
435
  e === c && (r += " cm-inplace-code-top"), e === l && (r += " cm-inplace-code-bottom"), t && (r += f ? " cm-inplace-code-pad" : " cm-inplace-fence");
436
436
  let i = n.line(e);
437
- a.push(E.line({ class: r }).range(i.from)), t && f && i.to > i.from && a.push(E.replace({}).range(i.from, i.to));
437
+ a.push(T.line({ class: r }).range(i.from)), t && f && i.to > i.from && a.push(T.replace({}).range(i.from, i.to));
438
438
  }
439
439
  return !1;
440
440
  }
441
441
  //#endregion
442
442
  //#region src/inplace/nodes.ts
443
- var gt = /^ATXHeading([1-6])$/, _t = /^SetextHeading([12])$/;
444
- function vt(e, t, n) {
443
+ var _t = /^ATXHeading([1-6])$/, vt = /^SetextHeading([12])$/;
444
+ function yt(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);
448
- if (a.push(E.line({
448
+ if (a.push(T.line({
449
449
  class: `cm-inplace-heading cm-inplace-h${n}`,
450
450
  attributes: {
451
451
  role: "heading",
@@ -453,15 +453,15 @@ function vt(e, t, n) {
453
453
  }
454
454
  }).range(t.from)), !i.has(t.number)) {
455
455
  let n = e.node.firstChild;
456
- n?.name === "HeaderMark" && a.push(E.replace({}).range(n.from, Math.min(n.to + 1, t.to)));
456
+ n?.name === "HeaderMark" && a.push(T.replace({}).range(n.from, Math.min(n.to + 1, t.to)));
457
457
  }
458
458
  }
459
459
  }
460
- function yt(e, t, n) {
460
+ function bt(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);
464
- a.push(E.line({
464
+ a.push(T.line({
465
465
  class: `cm-inplace-heading cm-inplace-h${n}`,
466
466
  attributes: {
467
467
  role: "heading",
@@ -471,46 +471,46 @@ function yt(e, t, n) {
471
471
  let o = e.node.getChild("HeaderMark");
472
472
  if (o) {
473
473
  let e = r.lineAt(o.from);
474
- !i.has(t.number) && !i.has(e.number) && (a.push(E.line({ class: "cm-inplace-setext-rule" }).range(e.from)), a.push(E.replace({}).range(o.from, o.to)));
474
+ !i.has(t.number) && !i.has(e.number) && (a.push(T.line({ class: "cm-inplace-setext-rule" }).range(e.from)), a.push(T.replace({}).range(o.from, o.to)));
475
475
  }
476
476
  }
477
477
  }
478
- function bt(e, t) {
478
+ function xt(e, t) {
479
479
  if (e.to <= t.fmEnd) return !1;
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);
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);
493
493
  }
494
494
  //#endregion
495
495
  //#region src/inplace/wikilinks.ts
496
- function xt(t, n, r, i, a, o, s) {
496
+ function St(t, n, r, i, a, o, s) {
497
497
  if (!i.includes("[[")) return;
498
- let c = t.state.facet(I) != null;
498
+ let c = t.state.facet(F) != 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 || H(o, d + 1) || c && d > 0 && t.state.doc.sliceString(d - 1, d) === "!") continue;
501
+ if (!u || V(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
- s.push(E.mark({
503
+ s.push(T.mark({
504
504
  class: "cm-inplace-link cm-inplace-wikilink",
505
505
  attributes: { "data-stylo-wikilink": u }
506
- }).range(p, m)), a.has(t.state.doc.lineAt(d).number) || (s.push(E.replace({}).range(d, p)), s.push(E.replace({}).range(m, f)));
506
+ }).range(p, m)), a.has(t.state.doc.lineAt(d).number) || (s.push(T.replace({}).range(d, p)), s.push(T.replace({}).range(m, f)));
507
507
  }
508
508
  }
509
509
  //#endregion
510
510
  //#region src/inplace/decorate.ts
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 = {
511
+ var Ct = /* @__PURE__ */ new Set(), wt = T.replace({});
512
+ function Tt(e) {
513
+ let n = [], r = B(e.state), i = e.state.facet(L) === "never" ? Ct : r, a = N(e.state), { doc: o } = e.state, s = e.state.facet(P), c = {
514
514
  doc: o,
515
515
  revealed: i,
516
516
  caretRevealed: r,
@@ -523,10 +523,10 @@ function wt(e) {
523
523
  a.iterate({
524
524
  from: t.from,
525
525
  to: t.to,
526
- enter: (e) => bt(e, c)
526
+ enter: (e) => xt(e, c)
527
527
  });
528
528
  let r = e.state.doc.sliceString(t.from, t.to);
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);
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);
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,38 +535,38 @@ function wt(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] = Ct.range(t.from, e.to)) : u.push(Ct.range(e.from, e.to));
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));
539
539
  }
540
540
  return {
541
- decorations: E.set(n, !0),
542
- atomic: E.set(u, !0)
541
+ decorations: T.set(n, !0),
542
+ atomic: T.set(u, !0)
543
543
  };
544
544
  }
545
545
  //#endregion
546
546
  //#region src/inplace/plugin.ts
547
- var Tt = O.fromClass(class {
547
+ var Et = D.fromClass(class {
548
548
  decorations;
549
549
  atomic;
550
550
  constructor(e) {
551
- let t = wt(e);
551
+ let t = Tt(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 = wt(e.view);
556
+ let t = Tt(e.view);
557
557
  this.decorations = t.decorations, this.atomic = t.atomic;
558
558
  }
559
559
  }
560
560
  }, {
561
561
  decorations: (e) => e.decorations,
562
- provide: (e) => D.atomicRanges.of((t) => t.plugin(e)?.atomic ?? E.none)
562
+ provide: (e) => E.atomicRanges.of((t) => t.plugin(e)?.atomic ?? T.none)
563
563
  });
564
- function Et() {
565
- return Tt;
564
+ function Dt() {
565
+ return Et;
566
566
  }
567
567
  //#endregion
568
568
  //#region src/inplace/wrap-at.ts
569
- var Dt = {
569
+ var Ot = {
570
570
  StrongEmphasis: {
571
571
  markType: "EmphasisMark",
572
572
  toggle: "emphasis"
@@ -584,15 +584,15 @@ var Dt = {
584
584
  toggle: "code"
585
585
  }
586
586
  };
587
- function U(e, t) {
588
- return e.facet(R) === "never" || !V(e).has(t);
587
+ function H(e, t) {
588
+ return e.facet(L) === "never" || !B(e).has(t);
589
589
  }
590
- function W(t, n, r = !1, i = !1) {
590
+ function U(t, n, r = !1, i = !1) {
591
591
  let a = t.doc.lineAt(n);
592
- if (!i && !U(t, a.number)) return null;
593
- let o = t.facet(F), s = P(t);
592
+ if (!i && !H(t, a.number)) return null;
593
+ let o = t.facet(P), s = N(t);
594
594
  for (let e of [-1, 1]) for (let i = s.resolveInner(n, e); i; i = i.parent) {
595
- let e = Dt[i.name];
595
+ let e = Ot[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 W(t, n, r = !1, i = !1) {
634
634
  }
635
635
  //#endregion
636
636
  //#region src/inplace/edit-boundaries.ts
637
- function Ot(e, t, n) {
638
- let r = e.plugin(Tt)?.decorations;
637
+ function kt(e, t, n) {
638
+ let r = e.plugin(Et)?.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 Ot(e, t, n) {
643
643
  });
644
644
  return a;
645
645
  }
646
- var kt = (e) => (t) => {
646
+ var At = (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 (!U(r, r.doc.lineAt(n.head).number)) return !1;
652
- let i = Ot(t, n.head, e);
651
+ if (!H(r, r.doc.lineAt(n.head).number)) return !1;
652
+ let i = kt(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 = 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);
657
+ for (let e = U(r, o); e && o <= e.contentFrom && s >= e.contentTo && e.contentTo > e.contentFrom && !(e.from >= o && e.to <= s); e = U(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,56 +665,56 @@ var kt = (e) => (t) => {
665
665
  userEvent: e < 0 ? "delete.backward" : "delete.forward",
666
666
  scrollIntoView: !0
667
667
  }), !0;
668
- }, At = kt(-1), jt = kt(1);
669
- function Mt(e, t, n) {
668
+ }, jt = At(-1), Mt = At(1);
669
+ function Nt(e, t, n) {
670
670
  if (n <= t) return !1;
671
- let r = e.plugin(Tt)?.decorations;
671
+ let r = e.plugin(Et)?.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 G = (e, t) => (n) => {
678
+ var W = (e, t) => (n) => {
679
679
  if (h(n)) return !1;
680
680
  let r = n.state.selection.main;
681
- if (!t && !r.empty || !U(n.state, n.state.doc.lineAt(r.head).number)) return !1;
681
+ if (!t && !r.empty || !H(n.state, n.state.doc.lineAt(r.head).number)) return !1;
682
682
  let i = n.moveByChar(r, e);
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);
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);
685
685
  return n.dispatch({
686
686
  selection: a,
687
687
  userEvent: "select"
688
688
  }), !0;
689
- }, Nt = G(!1, !1), Pt = G(!0, !1), Ft = G(!1, !0), It = G(!0, !0), Lt = M.high(A.of([
689
+ }, Pt = W(!1, !1), Ft = W(!0, !1), It = W(!1, !0), Lt = W(!0, !0), Rt = j.high(k.of([
690
690
  {
691
691
  key: "Backspace",
692
- run: At
692
+ run: jt
693
693
  },
694
694
  {
695
695
  key: "Delete",
696
- run: jt
696
+ run: Mt
697
697
  },
698
698
  {
699
699
  key: "ArrowLeft",
700
- run: Nt
700
+ run: Pt
701
701
  },
702
702
  {
703
703
  key: "ArrowRight",
704
- run: Pt
704
+ run: Ft
705
705
  },
706
706
  {
707
707
  key: "Shift-ArrowLeft",
708
- run: Ft
708
+ run: It
709
709
  },
710
710
  {
711
711
  key: "Shift-ArrowRight",
712
- run: It
712
+ run: Lt
713
713
  }
714
714
  ]));
715
715
  //#endregion
716
716
  //#region src/inplace/table-cell-align.ts
717
- function Rt(e, t) {
717
+ function zt(e, t) {
718
718
  let n = [], r = 0, i = (e) => {
719
719
  for (let a of e.childNodes) if (a instanceof Text) {
720
720
  let e = t.indexOf(a.data, r);
@@ -741,7 +741,7 @@ function Rt(e, t) {
741
741
  }
742
742
  //#endregion
743
743
  //#region src/inplace/table-cell-widgets.ts
744
- function zt(e, t, n, r, i) {
744
+ function Bt(e, t, n, r, i) {
745
745
  return e.filter((e) => e.pos >= n && e.pos <= n + i).map((e) => ({
746
746
  at: e.pos - n + r,
747
747
  key: e.key,
@@ -749,11 +749,11 @@ function zt(e, t, n, r, i) {
749
749
  build: () => e.toDOM(t)
750
750
  }));
751
751
  }
752
- function Bt(e) {
752
+ function Vt(e) {
753
753
  let t = e.build();
754
754
  return t.setAttribute("contenteditable", "false"), t.dataset.styloCellWidget = "", t;
755
755
  }
756
- function Vt(e, t) {
756
+ function Ht(e, t) {
757
757
  let n = null, r = Infinity;
758
758
  for (let i of e) {
759
759
  let e = i.start + i.node.data.length;
@@ -768,10 +768,10 @@ function Vt(e, t) {
768
768
  }
769
769
  return n;
770
770
  }
771
- function Ht(e, t) {
771
+ function Ut(e, t) {
772
772
  let n = /* @__PURE__ */ new Map(), r = [];
773
773
  for (let i of t) {
774
- let t = e && Vt(e, i.at);
774
+ let t = e && Ht(e, i.at);
775
775
  t ? n.set(t.piece, [...n.get(t.piece) ?? [], {
776
776
  ...i,
777
777
  at: t.at
@@ -784,7 +784,7 @@ function Ht(e, t) {
784
784
  }
785
785
  //#endregion
786
786
  //#region src/inplace/table-cell-marks.ts
787
- function Ut(e, t, n, r) {
787
+ function Wt(e, t, n, r) {
788
788
  let i = {
789
789
  marks: [],
790
790
  widgets: [],
@@ -795,13 +795,13 @@ function Ut(e, t, n, r) {
795
795
  to: Math.min(a.to - t, r) + n,
796
796
  class: a.class,
797
797
  attributes: a.attributes
798
- }), Wt(i, a.cellClass));
798
+ }), Gt(i, a.cellClass));
799
799
  return i.marks.length || i.cellClass.length ? i : null;
800
800
  }
801
- var Wt = (e, t) => {
801
+ var Gt = (e, t) => {
802
802
  for (let n of t?.split(/\s+/) ?? []) n && !e.cellClass.includes(n) && e.cellClass.push(n);
803
803
  };
804
- function Gt(e, t) {
804
+ function Kt(e, t) {
805
805
  let n = document.createElement("span");
806
806
  n.className = e.class, n.dataset.styloCellMark = "";
807
807
  for (let [t, r] of Object.entries(e.attributes ?? {})) try {
@@ -809,30 +809,30 @@ function Gt(e, t) {
809
809
  } catch {}
810
810
  return n.append(t), n;
811
811
  }
812
- function Kt(e, t, n) {
812
+ function qt(e, t, n) {
813
813
  let r = e.node.data, i = e.start + r.length, a = t.filter((t) => t.from < i && t.to > e.start);
814
814
  if (!a.length && !n.length) return !1;
815
815
  let o = /* @__PURE__ */ new Set([e.start, i]);
816
816
  for (let e of n) o.add(e.at);
817
817
  for (let t of a) o.add(Math.max(t.from, e.start)), o.add(Math.min(t.to, i));
818
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));
819
+ for (let t of n) t.at === e && c.append(Vt(t));
820
820
  };
821
821
  l(e.start);
822
822
  for (let t = 0; t < s.length - 1; t++) {
823
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));
824
+ for (let e of a) e.from <= n && e.to >= i && (o = Kt(e, o));
825
825
  c.append(o), l(i);
826
826
  }
827
827
  return e.node.replaceWith(c), !0;
828
828
  }
829
- function qt(e, t) {
829
+ function Jt(e, t) {
830
830
  for (let n of t) {
831
- let t = Gt(n, e.ownerDocument.createDocumentFragment());
831
+ let t = Kt(n, e.ownerDocument.createDocumentFragment());
832
832
  t.append(...e.childNodes), e.append(t);
833
833
  }
834
834
  }
835
- function Jt(e, t, n, r) {
835
+ function Yt(e, t, n, r) {
836
836
  let i = n.marks, a = [], o = [], s;
837
837
  if (r) s = e.firstChild instanceof Text ? [{
838
838
  node: e.firstChild,
@@ -840,7 +840,7 @@ function Jt(e, t, n, r) {
840
840
  }] : null;
841
841
  else {
842
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) => ({
843
+ s = zt(e, t.replace(/\\\|/g, "|")), i = i.map((e) => ({
844
844
  ...e,
845
845
  from: o(e.from),
846
846
  to: o(e.to)
@@ -849,21 +849,21 @@ function Jt(e, t, n, r) {
849
849
  at: o(e.at)
850
850
  }));
851
851
  }
852
- let { placed: c, loose: l } = Ht(s, a), u = () => e.append(...l.map(Bt));
853
- if (!s) return qt(e, i), u();
852
+ let { placed: c, loose: l } = Ut(s, a), u = () => e.append(...l.map(Vt));
853
+ if (!s) return Jt(e, i), u();
854
854
  let d = /* @__PURE__ */ new Set();
855
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
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();
857
+ for (let e of s) qt(e, i, c.get(e) ?? []);
858
+ Jt(e, o), u();
859
859
  }
860
- function Yt(e) {
860
+ function Xt(e) {
861
861
  let t = null;
862
862
  return (n, r) => {
863
863
  let i = e.view();
864
864
  if (!i || !e.mounted()) return null;
865
865
  if (t?.state !== i.state) {
866
- let n = i.state.facet(Ie)(i.state), r = i.state.facet(Le)(i.state);
866
+ let n = i.state.facet(Le)(i.state), r = i.state.facet(Re)(i.state);
867
867
  t = {
868
868
  state: i.state,
869
869
  marks: n,
@@ -874,7 +874,7 @@ function Yt(e) {
874
874
  if (!t.marks.length && !t.widgets.length) return null;
875
875
  let a = v(i.state.doc, t.from, n, r), o = e.raw(n, r);
876
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);
877
+ let s = o.length - o.trimStart().length, c = o.trim().length, l = Wt(t.marks, a, s, c), u = Bt(t.widgets, i, a, s, c);
878
878
  if (!u.length) return l;
879
879
  let d = l ?? {
880
880
  marks: [],
@@ -882,49 +882,49 @@ function Yt(e) {
882
882
  cellClass: []
883
883
  };
884
884
  d.widgets = u;
885
- for (let e of u) Wt(d, e.cellClass);
885
+ for (let e of u) Gt(d, e.cellClass);
886
886
  return d;
887
887
  };
888
888
  }
889
889
  //#endregion
890
890
  //#region src/inplace/context-menu-helpers.ts
891
- var Xt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], Zt = [
891
+ var Zt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], Qt = [
892
892
  "bold",
893
893
  "italic",
894
894
  "strike"
895
- ], Qt = ["code", "math"], $t = [
895
+ ], $t = ["code", "math"], en = [
896
896
  "bulletList",
897
897
  "orderedList",
898
898
  "task"
899
- ], en = [
899
+ ], tn = [
900
900
  "h1",
901
901
  "h2",
902
902
  "h3"
903
- ], tn = ["table", "hr"], nn = [
903
+ ], nn = ["table", "hr"], rn = [
904
904
  "codeBlock",
905
905
  "mathBlock",
906
906
  "frontmatter"
907
- ], rn = (e, t, n = !1) => {
907
+ ], an = (e, t, n = !1) => {
908
908
  let r = g[t];
909
909
  if (!r) return null;
910
910
  let { disabled: i, active: a } = re(e.state, r, n);
911
911
  return {
912
912
  label: r.title,
913
- icon: Xt(t),
913
+ icon: Zt(t),
914
914
  active: a,
915
915
  disabled: i,
916
916
  onSelect: () => {
917
917
  r.run(e), e.focus();
918
918
  }
919
919
  };
920
- }, K = (e, t, n = !1, r = !1) => {
920
+ }, G = (e, t, n = !1, r = !1) => {
921
921
  let i = [];
922
922
  for (let a of t) {
923
- let t = rn(e, a, r);
923
+ let t = an(e, a, r);
924
924
  t && !(n && t.disabled) && i.push(t);
925
925
  }
926
926
  return i;
927
- }, q = (e) => {
927
+ }, K = (e) => {
928
928
  let t = e.contentDOM.ownerDocument, n = (n) => () => {
929
929
  e.focus();
930
930
  try {
@@ -959,36 +959,36 @@ var Xt = (e) => e === "h1" || e === "h2" || e === "h3" ? S.heading : S[e], Zt =
959
959
  onSelect: () => {}
960
960
  }
961
961
  ];
962
- }, J = (e, t, n, r = !1) => ({
962
+ }, q = (e, t, n, r = !1) => ({
963
963
  label: e,
964
964
  icon: t,
965
965
  rows: n,
966
966
  disabled: r
967
967
  });
968
- function Y(e, t) {
968
+ function J(e, t) {
969
969
  t.length && (e.length && e.push("separator"), e.push(...t));
970
970
  }
971
971
  //#endregion
972
972
  //#region src/inplace/edit-divider.ts
973
- function an(e) {
973
+ function on(e) {
974
974
  let t = e.selection.main;
975
975
  if (!t.empty) return !1;
976
976
  let n = e.doc.lineAt(t.head);
977
- if (!U(e, n.number)) return !1;
978
- for (let t = P(e).resolveInner(n.from, 1); t; t = t.parent) {
977
+ if (!H(e, n.number)) return !1;
978
+ for (let t = N(e).resolveInner(n.from, 1); t; t = t.parent) {
979
979
  if (t.name === "HorizontalRule") return !0;
980
980
  if (!t.parent) break;
981
981
  }
982
982
  return !1;
983
983
  }
984
- var on = (e) => h(e) || !an(e.state) ? !1 : oe(e), sn = M.high(A.of([{
984
+ var sn = (e) => h(e) || !on(e.state) ? !1 : oe(e), cn = j.high(k.of([{
985
985
  key: "Backspace",
986
- run: on
986
+ run: sn
987
987
  }, {
988
988
  key: "Delete",
989
- run: on
989
+ run: sn
990
990
  }]));
991
- function cn(e) {
991
+ function ln(e) {
992
992
  return {
993
993
  label: "Remove divider",
994
994
  icon: S.hr,
@@ -999,66 +999,66 @@ function cn(e) {
999
999
  }
1000
1000
  //#endregion
1001
1001
  //#region src/inplace/inline-md.ts
1002
- function ln(e, t = !1) {
1002
+ function un(e, t = !1) {
1003
1003
  let n = document.createDocumentFragment();
1004
- return fn(n, e, t), n;
1004
+ return pn(n, e, t), n;
1005
1005
  }
1006
- var un = /!\[\[[^\]\n]+?\]\]/, dn = [
1006
+ var dn = /!\[\[[^\]\n]+?\]\]/, fn = [
1007
1007
  {
1008
1008
  re: /`([^`\n]+)`/,
1009
- build: (e) => X("code", "cm-inplace-code", document.createTextNode(e[1]))
1009
+ build: (e) => Y("code", "cm-inplace-code", document.createTextNode(e[1]))
1010
1010
  },
1011
1011
  {
1012
- re: new RegExp(Je.source),
1012
+ re: new RegExp(Ye.source),
1013
1013
  build: (e) => {
1014
- let t = X("span", "cm-inplace-math");
1014
+ let t = Y("span", "cm-inplace-math");
1015
1015
  return he.render(e[1], t, { throwOnError: !1 }), t;
1016
1016
  }
1017
1017
  },
1018
1018
  {
1019
1019
  re: new RegExp(e.source),
1020
1020
  build: (e) => {
1021
- let t = X("span", "cm-inplace-wikilink", document.createTextNode(e[2] || e[1] || ""));
1021
+ let t = Y("span", "cm-inplace-wikilink", document.createTextNode(e[2] || e[1] || ""));
1022
1022
  return t.dataset.styloWikilink = e[1] ?? "", t;
1023
1023
  }
1024
1024
  },
1025
1025
  {
1026
1026
  re: /\[([^\]\n]*)\]\(([^)\n]*)\)/,
1027
1027
  build: (e, t) => {
1028
- let n = X("a", "cm-inplace-link");
1029
- return n.href = e[2] ?? "", n.append(Z(e[1] ?? "", t)), n;
1028
+ let n = Y("a", "cm-inplace-link");
1029
+ return n.href = e[2] ?? "", n.append(X(e[1] ?? "", t)), n;
1030
1030
  }
1031
1031
  },
1032
1032
  {
1033
1033
  re: /\*\*\*([^*\n]+?)\*\*\*/,
1034
- build: (e, t) => X("strong", "cm-inplace-strong", X("em", "cm-inplace-em", Z(e[1], t)))
1034
+ build: (e, t) => Y("strong", "cm-inplace-strong", Y("em", "cm-inplace-em", X(e[1], t)))
1035
1035
  },
1036
1036
  {
1037
1037
  re: /\*\*([^\n]+?)\*\*/,
1038
- build: (e, t) => X("strong", "cm-inplace-strong", Z(e[1], t))
1038
+ build: (e, t) => Y("strong", "cm-inplace-strong", X(e[1], t))
1039
1039
  },
1040
1040
  {
1041
1041
  re: /~~([^\n]+?)~~/,
1042
- build: (e, t) => X("span", "cm-inplace-strike", Z(e[1], t))
1042
+ build: (e, t) => Y("span", "cm-inplace-strike", X(e[1], t))
1043
1043
  },
1044
1044
  {
1045
1045
  re: /(?<!\*)\*(?!\*|\s)([^\n]+?)(?<!\s)\*(?!\*)/,
1046
- build: (e, t) => X("em", "cm-inplace-em", Z(e[1], t))
1046
+ build: (e, t) => Y("em", "cm-inplace-em", X(e[1], t))
1047
1047
  }
1048
1048
  ];
1049
- function X(e, t, ...n) {
1049
+ function Y(e, t, ...n) {
1050
1050
  let r = document.createElement(e);
1051
1051
  return r.className = t, r.append(...n), r;
1052
1052
  }
1053
- function Z(e, t) {
1053
+ function X(e, t) {
1054
1054
  let n = document.createDocumentFragment();
1055
- return fn(n, e, t), n;
1055
+ return pn(n, e, t), n;
1056
1056
  }
1057
- function fn(e, t, n) {
1057
+ function pn(e, t, n) {
1058
1058
  for (; t;) {
1059
- let r = -1, i = null, a = n ? un.exec(t) : null;
1059
+ let r = -1, i = null, a = n ? dn.exec(t) : null;
1060
1060
  a && (r = a.index, i = { literal: a[0] });
1061
- for (let e of dn) {
1061
+ for (let e of fn) {
1062
1062
  let n = e.re.exec(t);
1063
1063
  n && (r < 0 || n.index < r) && (r = n.index, i = {
1064
1064
  rule: e,
@@ -1073,8 +1073,69 @@ function fn(e, t, n) {
1073
1073
  }
1074
1074
  }
1075
1075
  //#endregion
1076
+ //#region src/inplace/table-widget-render.ts
1077
+ var mn = /* @__PURE__ */ new WeakMap(), hn = (e) => JSON.stringify(e), gn = (e, t) => (mn.get(e)?.sig ?? "null") === hn(t);
1078
+ function _n(e, t, n) {
1079
+ let r = Number(e.dataset.r ?? e.dataset.styloRow), i = Number(e.dataset.c ?? e.dataset.styloCol), a = t.rows[r]?.[i] ?? "";
1080
+ e.replaceChildren(n ? e.ownerDocument.createTextNode(a) : un(c(a), t.embeds));
1081
+ let o = mn.get(e);
1082
+ o && e.classList.remove(...o.cellClass);
1083
+ let s = t.paintOf?.(r, i) ?? null;
1084
+ s && (Yt(e, a, s, n), e.classList.add(...s.cellClass)), mn.set(e, {
1085
+ sig: hn(s),
1086
+ cellClass: s?.cellClass ?? []
1087
+ });
1088
+ }
1089
+ function vn(e, t, n, r) {
1090
+ let i = document.createElement(r ? "th" : "td");
1091
+ i.className = "cm-inplace-tcell", i.setAttribute("contenteditable", "true"), i.dataset.r = String(t), i.dataset.c = String(n);
1092
+ let a = e.aligns[n];
1093
+ return a && (i.style.textAlign = a), _n(i, e, !1), i;
1094
+ }
1095
+ function yn(e, t) {
1096
+ e.replaceChildren();
1097
+ let n = t.aligns.length, r = e.createTHead().insertRow();
1098
+ for (let e = 0; e < n; e++) r.appendChild(vn(t, 0, e, !0));
1099
+ let i = e.createTBody();
1100
+ for (let e = 1; e < t.rows.length; e++) {
1101
+ let r = i.insertRow();
1102
+ for (let i = 0; i < n; i++) r.appendChild(vn(t, e, i, !1));
1103
+ }
1104
+ }
1105
+ //#endregion
1106
+ //#region src/inplace/table-static-paint.ts
1107
+ var bn = /* @__PURE__ */ new WeakMap(), xn = "[data-stylo-cell-widget], [data-stylo-cell-mark]";
1108
+ function Sn(e, t, n, r, i) {
1109
+ let a = Xt({
1110
+ view: () => t,
1111
+ mounted: () => e.isConnected,
1112
+ from: (t) => {
1113
+ let n = t.posAtDOM(e), r = n;
1114
+ return t.state.field(i).between(n, n, (e) => (r = e, !1)), r;
1115
+ },
1116
+ raw: (e, t) => n[e]?.[t] ?? ""
1117
+ }), o = {
1118
+ rows: n,
1119
+ aligns: [],
1120
+ embeds: r,
1121
+ paintOf: a
1122
+ }, s = () => {
1123
+ for (let t of e.querySelectorAll("td, th")) {
1124
+ let [e, n] = [Number(t.dataset.styloRow), Number(t.dataset.styloCol)];
1125
+ gn(t, a(e, n)) || _n(t, o, !1);
1126
+ }
1127
+ };
1128
+ bn.set(e, s), t.requestMeasure({
1129
+ read: () => null,
1130
+ write: s,
1131
+ key: e
1132
+ }), e.addEventListener("mousedown", (e) => {
1133
+ e.target.closest(xn) && (e.preventDefault(), e.stopPropagation());
1134
+ });
1135
+ }
1136
+ //#endregion
1076
1137
  //#region src/inplace/tables.ts
1077
- var pn = class extends k {
1138
+ var Cn = class extends O {
1078
1139
  table;
1079
1140
  embeds;
1080
1141
  constructor(e, t) {
@@ -1083,31 +1144,31 @@ var pn = class extends k {
1083
1144
  eq(e) {
1084
1145
  return JSON.stringify(this.table) === JSON.stringify(e.table);
1085
1146
  }
1086
- toDOM() {
1087
- let { head: e, body: t, aligns: n } = this.table, r = document.createElement("table");
1088
- r.className = "cm-inplace-table";
1089
- let i = (e) => ln(e.replace(/\\\|/g, "|"), this.embeds), a = r.createTHead().insertRow();
1090
- e.forEach((e, t) => {
1091
- let r = document.createElement("th");
1092
- r.appendChild(i(e)), r.dataset.styloRow = "0", r.dataset.styloCol = String(t), mn(r, n[t]), a.appendChild(r);
1147
+ toDOM(e) {
1148
+ let { head: t, body: n, aligns: r } = this.table, i = document.createElement("table");
1149
+ i.className = "cm-inplace-table";
1150
+ let a = (e) => un(e.replace(/\\\|/g, "|"), this.embeds), o = i.createTHead().insertRow();
1151
+ t.forEach((e, t) => {
1152
+ let n = document.createElement("th");
1153
+ n.appendChild(a(e)), n.dataset.styloRow = "0", n.dataset.styloCol = String(t), wn(n, r[t]), o.appendChild(n);
1093
1154
  });
1094
- let o = r.createTBody();
1095
- return t.forEach((t, r) => {
1096
- let a = o.insertRow();
1097
- for (let o = 0; o < e.length; o++) {
1098
- let e = a.insertCell();
1099
- e.appendChild(i(t[o] ?? "")), e.dataset.styloRow = String(r + 1), e.dataset.styloCol = String(o), mn(e, n[o]);
1155
+ let s = i.createTBody();
1156
+ return n.forEach((e, n) => {
1157
+ let i = s.insertRow();
1158
+ for (let o = 0; o < t.length; o++) {
1159
+ let t = i.insertCell();
1160
+ t.appendChild(a(e[o] ?? "")), t.dataset.styloRow = String(n + 1), t.dataset.styloCol = String(o), wn(t, r[o]);
1100
1161
  }
1101
- }), r;
1162
+ }), Sn(i, e, [t, ...n], this.embeds, Z), i;
1102
1163
  }
1103
1164
  ignoreEvent() {
1104
1165
  return !1;
1105
1166
  }
1106
1167
  };
1107
- function mn(e, t) {
1168
+ function wn(e, t) {
1108
1169
  t && (e.style.textAlign = t);
1109
1170
  }
1110
- function hn(e, t) {
1171
+ function Tn(e, t) {
1111
1172
  let n = t.lineAt(e.from).number, r = t.lineAt(e.to).number, i = [];
1112
1173
  for (let e = n; e <= r; e++) i.push(t.line(e).text);
1113
1174
  let a = p(i);
@@ -1117,17 +1178,17 @@ function hn(e, t) {
1117
1178
  aligns: a.aligns
1118
1179
  };
1119
1180
  }
1120
- function gn(e, t) {
1121
- let n = P(e);
1181
+ function En(e, t) {
1182
+ let n = N(e);
1122
1183
  for (let e of [-1, 1]) for (let r = n.resolveInner(t, e); r; r = r.parent) if (r.name === "Table") return !0;
1123
1184
  return !1;
1124
1185
  }
1125
- function _n(e, t) {
1126
- return t.ranges.some((t) => gn(e, t.from) || gn(e, t.to));
1186
+ function Dn(e, t) {
1187
+ return t.ranges.some((t) => En(e, t.from) || En(e, t.to));
1127
1188
  }
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 = [];
1189
+ function On(e) {
1190
+ if (!e.facet(P).tables) return T.none;
1191
+ 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 : B(e), s = [];
1131
1192
  return i.iterate({ enter: (t) => {
1132
1193
  if (t.name !== "Table") return;
1133
1194
  if (a && t.from < a.to) return !1;
@@ -1135,33 +1196,33 @@ function vn(e) {
1135
1196
  let n = e.doc.lineAt(t.from).number, r = e.doc.lineAt(t.to).number;
1136
1197
  for (let e = n; e <= r; e++) if (o.has(e)) return !1;
1137
1198
  }
1138
- let i = hn(t.node, e.doc);
1199
+ let i = Tn(t.node, e.doc);
1139
1200
  if (i) {
1140
- let e = n ? new hr(i, r) : new pn(i, r);
1141
- s.push(E.replace({
1201
+ let e = n ? new vr(i, r) : new Cn(i, r);
1202
+ s.push(T.replace({
1142
1203
  widget: e,
1143
1204
  block: !0
1144
1205
  }).range(t.from, t.to));
1145
1206
  }
1146
1207
  return !1;
1147
- } }), E.set(s, !0);
1208
+ } }), T.set(s, !0);
1148
1209
  }
1149
- var yn = N.define({
1150
- create: vn,
1210
+ var Z = M.define({
1211
+ create: On,
1151
1212
  update: (e, t) => {
1152
- if (t.annotation(pr)) return e.map(t.changes);
1213
+ if (t.annotation(gr)) return e.map(t.changes);
1153
1214
  let n = t.startState.readOnly !== t.state.readOnly;
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;
1215
+ return t.state.facet(I) === "cells" ? t.docChanged || n ? On(t.state) : e.map(t.changes) : t.docChanged || n || t.selection && (Dn(t.state, t.startState.selection) || Dn(t.state, t.state.selection)) ? On(t.state) : e;
1155
1216
  },
1156
- provide: (e) => [D.decorations.from(e), D.atomicRanges.of((t) => t.state.field(e))]
1217
+ provide: (e) => [E.decorations.from(e), E.atomicRanges.of((t) => t.state.field(e))]
1157
1218
  });
1158
1219
  //#endregion
1159
1220
  //#region src/inplace/host-cell.ts
1160
- function bn(e, t, n) {
1221
+ function kn(e, t, n) {
1161
1222
  let i = t.closest("table");
1162
1223
  if (!i) return;
1163
1224
  let a = e.posAtDOM(i), o = a;
1164
- e.state.field(yn).between(a, a, (e) => (o = e, !1));
1225
+ e.state.field(Z).between(a, a, (e) => (o = e, !1));
1165
1226
  let s = v(e.state.doc, o, Number(t.dataset.r), Number(t.dataset.c));
1166
1227
  if (s == null) return;
1167
1228
  let { from: c, to: l } = n ? r(t) : {
@@ -1175,7 +1236,7 @@ function bn(e, t, n) {
1175
1236
  }
1176
1237
  //#endregion
1177
1238
  //#region src/inplace/selection-rect.ts
1178
- var xn = (e, t, n, r) => {
1239
+ var An = (e, t, n, r) => {
1179
1240
  let i = {
1180
1241
  x: e,
1181
1242
  y: t,
@@ -1191,39 +1252,39 @@ var xn = (e, t, n, r) => {
1191
1252
  toJSON: () => i
1192
1253
  };
1193
1254
  };
1194
- function Sn(e) {
1255
+ function jn(e) {
1195
1256
  let { from: t, to: n } = e.state.selection.main, r = e.coordsAtPos(t), i = t === n ? r : e.coordsAtPos(n, -1);
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));
1257
+ return !r || !i ? e.dom.getBoundingClientRect() : An(Math.min(r.left, i.left), Math.min(r.top, i.top), Math.max(r.right, i.right), Math.max(r.bottom, i.bottom));
1197
1258
  }
1198
- function Cn(e, t) {
1259
+ function Mn(e, t) {
1199
1260
  let n = e?.ownerDocument.getSelection();
1200
1261
  if (e && t && n && n.rangeCount > 0) {
1201
1262
  let e = n.getRangeAt(0).getBoundingClientRect?.();
1202
1263
  if (e && (e.width > 0 || e.height > 0)) return e;
1203
1264
  }
1204
- return e?.getBoundingClientRect() ?? xn(0, 0, 0, 0);
1265
+ return e?.getBoundingClientRect() ?? An(0, 0, 0, 0);
1205
1266
  }
1206
1267
  //#endregion
1207
1268
  //#region src/inplace/host-items.ts
1208
- var wn = /* @__PURE__ */ new WeakMap();
1209
- function Tn(e, t) {
1269
+ var Nn = /* @__PURE__ */ new WeakMap();
1270
+ function Pn(e, t) {
1210
1271
  if (e == null || typeof e == "string") return null;
1211
- if (wn.has(t)) return wn.get(t) ?? null;
1212
- let n = document.createElement("span"), r = De(n), i = null;
1272
+ if (Nn.has(t)) return Nn.get(t) ?? null;
1273
+ let n = document.createElement("span"), r = Oe(n), i = null;
1213
1274
  try {
1214
- be(() => r.render(e)), i = n.firstElementChild;
1275
+ xe(() => r.render(e)), i = n.firstElementChild;
1215
1276
  } catch {}
1216
- return r.unmount(), wn.set(t, i), i;
1277
+ return r.unmount(), Nn.set(t, i), i;
1217
1278
  }
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 [];
1279
+ var Fn = (e) => e.state.facet(z).includes("host"), In = (e) => Fn(e) && e.state.facet(Ie)().some((e) => e.readOnlySafe);
1280
+ function Ln(e, t) {
1281
+ if (!Fn(e)) return [];
1221
1282
  let n = e.state.readOnly, r = [], i;
1222
- for (let a of e.state.facet(Fe)()) {
1283
+ for (let a of e.state.facet(Ie)()) {
1223
1284
  if (n && !a.readOnlySafe) continue;
1224
1285
  let o = a.when ?? "always";
1225
1286
  if (o === "selection" && !t.selected || o === "no-selection" && t.selected) continue;
1226
- let s = Tn(a.icon, a);
1287
+ let s = Pn(a.icon, a);
1227
1288
  r.push({
1228
1289
  id: a.id,
1229
1290
  label: a.title,
@@ -1235,15 +1296,15 @@ function On(e, t) {
1235
1296
  }
1236
1297
  });
1237
1298
  }
1238
- return r.length && (i = t.rect?.() ?? Sn(e)), r;
1299
+ return r.length && (i = t.rect?.() ?? jn(e)), r;
1239
1300
  }
1240
1301
  //#endregion
1241
1302
  //#region src/inplace/link-row.ts
1242
- var kn = (e) => {
1303
+ var Rn = (e) => {
1243
1304
  let t = e.trim().replace(/^<([^]*)>$/, "$1");
1244
1305
  return /[\s()]/.test(t) ? `<${t.replace(/[<>]/g, "")}>` : t;
1245
- }, An = (e) => e.replace(/^<([^]*)>$/, "$1");
1246
- function jn(e, t) {
1306
+ }, zn = (e) => e.replace(/^<([^]*)>$/, "$1");
1307
+ function Bn(e, t) {
1247
1308
  let n = e.doc.lineAt(t.from);
1248
1309
  if (e.doc.lineAt(t.to).number !== n.number) return null;
1249
1310
  let r = t.from - n.from, i = t.to - n.from, s = o(n.text, r) ?? o(n.text, i);
@@ -1259,7 +1320,7 @@ function jn(e, t) {
1259
1320
  text: c.label
1260
1321
  } : null;
1261
1322
  }
1262
- function Mn(e, t) {
1323
+ function Vn(e, t) {
1263
1324
  let { state: n } = e, r = n.selection.main, i = n.doc.lineAt(r.head), a = t.partsIn(i.text, r.head - i.from);
1264
1325
  if (a) {
1265
1326
  let n = i.from + a.from, r = i.from + a.to, o = t.editActions?.(e, a) ?? [];
@@ -1288,7 +1349,7 @@ function Mn(e, t) {
1288
1349
  actions: o
1289
1350
  };
1290
1351
  }
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);
1352
+ let o = Bn(n, r), s = o ? o.from : r.from, c = o ? o.to : r.to, l = o ? o.text : n.sliceDoc(r.from, r.to);
1292
1353
  return {
1293
1354
  field: !0,
1294
1355
  label: t.addLabel,
@@ -1298,15 +1359,15 @@ function Mn(e, t) {
1298
1359
  onSubmit: (n) => t.onAdd(e, s, c, l, n)
1299
1360
  };
1300
1361
  }
1301
- var Nn = {
1362
+ var Hn = {
1302
1363
  icon: S.link,
1303
1364
  placeholder: "https://…",
1304
1365
  editLabel: "Edit external link",
1305
1366
  addLabel: "Add external link",
1306
1367
  partsIn: o,
1307
- editValue: (e) => An(e.url),
1368
+ editValue: (e) => zn(e.url),
1308
1369
  editActions: (e, t) => {
1309
- let n = e.state.facet(je);
1370
+ let n = e.state.facet(Me);
1310
1371
  return !n || !t.url ? [] : [{
1311
1372
  label: "Open link",
1312
1373
  icon: S.link,
@@ -1317,7 +1378,7 @@ var Nn = {
1317
1378
  e.dispatch({ changes: {
1318
1379
  from: t.urlFrom,
1319
1380
  to: t.urlTo,
1320
- insert: kn(n)
1381
+ insert: Rn(n)
1321
1382
  } }), e.focus();
1322
1383
  },
1323
1384
  onAdd: (e, t, n, r, i) => {
@@ -1326,7 +1387,7 @@ var Nn = {
1326
1387
  changes: {
1327
1388
  from: t,
1328
1389
  to: n,
1329
- insert: `[${a}](${kn(i)})`
1390
+ insert: `[${a}](${Rn(i)})`
1330
1391
  },
1331
1392
  selection: {
1332
1393
  anchor: t + 1,
@@ -1334,7 +1395,7 @@ var Nn = {
1334
1395
  }
1335
1396
  }), e.focus();
1336
1397
  }
1337
- }, Pn = {
1398
+ }, Un = {
1338
1399
  icon: S.wikilink,
1339
1400
  placeholder: "note or path",
1340
1401
  editLabel: "Edit link",
@@ -1363,27 +1424,27 @@ var Nn = {
1363
1424
  }), e.focus();
1364
1425
  }
1365
1426
  };
1366
- function Fn(e) {
1367
- return Mn(e, Nn);
1427
+ function Wn(e) {
1428
+ return Vn(e, Hn);
1368
1429
  }
1369
- function In(e) {
1370
- return Mn(e, Pn);
1430
+ function Gn(e) {
1431
+ return Vn(e, Un);
1371
1432
  }
1372
1433
  //#endregion
1373
1434
  //#region src/inplace/context-menu-shell.ts
1374
- function Ln(e, t, n, r) {
1435
+ function Kn(e, t, n, r) {
1375
1436
  let i = r?.innerWidth ?? 0, a = r?.innerHeight ?? 0;
1376
1437
  e.style.left = "0", e.style.top = "0";
1377
1438
  let { width: o, height: s } = e.getBoundingClientRect();
1378
1439
  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`;
1379
1440
  }
1380
- function Rn(e, t, n) {
1441
+ function qn(e, t, n) {
1381
1442
  let r = n?.innerWidth ?? 0, i = n?.innerHeight ?? 0;
1382
1443
  e.style.left = "0", e.style.top = "0";
1383
1444
  let { width: a, height: o } = e.getBoundingClientRect(), s = t.right - 4, c = s + a > r - 4 ? t.left - a + 4 : s;
1384
1445
  e.style.left = `${Math.max(4, c)}px`, e.style.top = `${Math.max(4, Math.min(t.top - 4, i - o - 4))}px`;
1385
1446
  }
1386
- function zn(e, t, n, r = 350) {
1447
+ function Jn(e, t, n, r = 350) {
1387
1448
  let i = Date.now(), a = (e) => !t.contains(e.target), o = (e) => {
1388
1449
  a(e) && n();
1389
1450
  }, s = (e) => {
@@ -1397,7 +1458,7 @@ function zn(e, t, n, r = 350) {
1397
1458
  }
1398
1459
  //#endregion
1399
1460
  //#region src/inplace/context-menu-types.ts
1400
- var Bn = (e) => typeof e != "string" && "rows" in e, Vn = (e) => typeof e != "string" && "field" in e;
1461
+ var Yn = (e) => typeof e != "string" && "rows" in e, Xn = (e) => typeof e != "string" && "field" in e;
1401
1462
  //#endregion
1402
1463
  //#region src/inplace/context-menu.ts
1403
1464
  function Q(e, t = "cm-inplace-menu", n) {
@@ -1428,7 +1489,7 @@ function Q(e, t = "cm-inplace-menu", n) {
1428
1489
  if (a?.dataset.for === n) return;
1429
1490
  s();
1430
1491
  let e = c();
1431
- e.dataset.for = n, i.appendChild(e), Rn(e, f.getBoundingClientRect(), r), a = e, e.querySelector("input")?.focus({ preventScroll: !0 });
1492
+ e.dataset.for = n, i.appendChild(e), qn(e, f.getBoundingClientRect(), r), a = e, e.querySelector("input")?.focus({ preventScroll: !0 });
1432
1493
  };
1433
1494
  return f.addEventListener("pointerenter", p), f.addEventListener("click", (e) => {
1434
1495
  e.stopPropagation(), p();
@@ -1451,7 +1512,7 @@ function Q(e, t = "cm-inplace-menu", n) {
1451
1512
  for (let i of n) if (i === "separator") {
1452
1513
  let n = e.createElement("div");
1453
1514
  n.className = `${t}-sep`, r.appendChild(n);
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));
1515
+ } else Yn(i) ? r.appendChild(f(i.label, i.icon, () => m(i.rows), i.disabled)) : Xn(i) ? r.appendChild(f(i.label, i.icon, () => p(i))) : r.appendChild(d(i));
1455
1516
  return r;
1456
1517
  };
1457
1518
  return {
@@ -1462,12 +1523,12 @@ function Q(e, t = "cm-inplace-menu", n) {
1462
1523
  show: (t, a, s) => {
1463
1524
  c();
1464
1525
  let l = m(t);
1465
- i.appendChild(l), i.hidden = !1, Ln(l, a, s, r), o = zn(e, i, c), n?.(!0);
1526
+ i.appendChild(l), i.hidden = !1, Kn(l, a, s, r), o = Jn(e, i, c), n?.(!0);
1466
1527
  },
1467
1528
  showField: (t, a, s) => {
1468
1529
  c();
1469
1530
  let l = p(t);
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);
1531
+ i.appendChild(l), i.hidden = !1, Kn(l, a, s, r), l.querySelector("input")?.focus({ preventScroll: !0 }), o = Jn(e, i, c), n?.(!0);
1471
1532
  },
1472
1533
  hide: c,
1473
1534
  destroy: () => {
@@ -1477,8 +1538,8 @@ function Q(e, t = "cm-inplace-menu", n) {
1477
1538
  }
1478
1539
  //#endregion
1479
1540
  //#region src/inplace/math-edit.ts
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);
1541
+ function Zn(e) {
1542
+ let { state: t } = e, n = t.selection.main, r = t.doc.lineAt(n.head), i = Qe(r.text, n.head - r.from);
1482
1543
  if (i) {
1483
1544
  let t = r.from + i.from, n = r.from + i.to, a = i.block ? "$$" : "$";
1484
1545
  return {
@@ -1536,27 +1597,27 @@ function Hn(e) {
1536
1597
  }
1537
1598
  };
1538
1599
  }
1539
- var Un = class {
1600
+ var Qn = class {
1540
1601
  menu;
1541
1602
  contentDOM;
1542
1603
  onClick;
1543
1604
  constructor(e) {
1544
1605
  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;
1606
+ if (!e.state.facet(P).math) return;
1546
1607
  let n = t.target?.closest(".cm-inplace-math");
1547
1608
  if (!n) return;
1548
1609
  let r = e.posAtDOM(n);
1549
1610
  if (r < 0) return;
1550
1611
  let i = e.state.doc.lineAt(r);
1551
- Ze(i.text, r - i.from) && (e.dispatch({ selection: { anchor: r } }), this.menu.showField(Hn(e), t.clientX, t.clientY));
1612
+ Qe(i.text, r - i.from) && (e.dispatch({ selection: { anchor: r } }), this.menu.showField(Zn(e), t.clientX, t.clientY));
1552
1613
  }, this.contentDOM.addEventListener("click", this.onClick);
1553
1614
  }
1554
1615
  destroy() {
1555
1616
  this.contentDOM.removeEventListener("click", this.onClick), this.menu.destroy();
1556
1617
  }
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);
1618
+ }, $n = D.fromClass(Qn), er = ve((e, t) => {
1619
+ if (!e.state.facet(P).math) return null;
1620
+ let n = e.state.doc.lineAt(t), r = Qe(n.text, t - n.from);
1560
1621
  return r ? {
1561
1622
  pos: n.from + r.from,
1562
1623
  end: n.from + r.to,
@@ -1569,13 +1630,13 @@ var Un = class {
1569
1630
  });
1570
1631
  //#endregion
1571
1632
  //#region src/inplace/context-menu-actions.ts
1572
- function Kn(e) {
1633
+ function tr(e) {
1573
1634
  let t = h(e);
1574
1635
  if (!t) return !1;
1575
1636
  let { from: n, to: i } = r(t);
1576
1637
  return i > n;
1577
1638
  }
1578
- function qn(e) {
1639
+ function nr(e) {
1579
1640
  let t = ie(e.state);
1580
1641
  return {
1581
1642
  field: !0,
@@ -1598,49 +1659,49 @@ function qn(e) {
1598
1659
  }]
1599
1660
  };
1600
1661
  }
1601
- var Jn = (e, t = !1) => [
1602
- ...K(e, Zt, !1, t),
1662
+ var rr = (e, t = !1) => [
1663
+ ...G(e, Qt, !1, t),
1603
1664
  "separator",
1604
- ...t ? K(e, Qt, !1, !0) : [rn(e, "code", !1), Hn(e)]
1665
+ ...t ? G(e, $t, !1, !0) : [an(e, "code", !1), Zn(e)]
1605
1666
  ];
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, {
1667
+ function ir(e, t) {
1668
+ let n = e.state.facet(z), r = t ?? h(e), i = tr(e) && r === h(e), a = [];
1669
+ return J(a, Ln(e, {
1609
1670
  selected: i,
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;
1671
+ prepare: () => r && kn(e, r, i),
1672
+ rect: () => Mn(r, i)
1673
+ })), i ? (n.includes("format") && J(a, [q("Format", S.format, rr(e, !0))]), n.includes("clipboard") && J(a, K(e)), a) : a;
1613
1674
  }
1614
- var Xn = (e) => [
1615
- ...K(e, $t),
1675
+ var ar = (e) => [
1676
+ ...G(e, en),
1616
1677
  "separator",
1617
- ...K(e, [...en, "body"]),
1678
+ ...G(e, [...tn, "body"]),
1618
1679
  "separator",
1619
- ...K(e, ["quote"])
1620
- ], Zn = (e) => [
1621
- ...K(e, tn),
1680
+ ...G(e, ["quote"])
1681
+ ], or = (e) => [
1682
+ ...G(e, nn),
1622
1683
  "separator",
1623
- ...K(e, nn)
1684
+ ...G(e, rn)
1624
1685
  ];
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 });
1686
+ function sr(e) {
1687
+ let { state: t } = e, n = t.facet(z), r = (e) => n.includes(e);
1688
+ if (tr(e)) return ir(e);
1689
+ let i = Ln(e, { selected: !t.selection.main.empty });
1629
1690
  if (ee(t)) {
1630
1691
  let t = [];
1631
- return Y(t, i), Y(t, [qn(e)]), r("clipboard") && Y(t, q(e)), t;
1692
+ return J(t, i), J(t, [nr(e)]), r("clipboard") && J(t, K(e)), t;
1632
1693
  }
1633
- if (an(t)) {
1694
+ if (on(t)) {
1634
1695
  let t = [];
1635
- return Y(t, i), Y(t, [cn(e)]), r("clipboard") && Y(t, q(e)), t;
1696
+ return J(t, i), J(t, [ln(e)]), r("clipboard") && J(t, K(e)), t;
1636
1697
  }
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));
1698
+ 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 = [];
1699
+ for (let t of n) t === "host" ? J(l, i) : t === "link" && c ? J(l, [Gn(e), Wn(e)]) : t === "format" && c ? J(l, [q("Format", S.format, rr(e), !s)]) : t === "paragraph" ? J(l, [q("Paragraph", S.paragraph, ar(e))]) : t === "insert" ? J(l, [q("Insert", S.insert, or(e), !o)]) : t === "clipboard" && J(l, K(e));
1639
1700
  return l;
1640
1701
  }
1641
1702
  //#endregion
1642
1703
  //#region src/inplace/long-press.ts
1643
- function $n(e, t) {
1704
+ function cr(e, t) {
1644
1705
  let n = t.delay ?? 450, r = t.slop ?? 20, i = null, a = 0, o = 0, s = () => {
1645
1706
  i != null && (clearTimeout(i), i = null);
1646
1707
  }, c = (e) => {
@@ -1662,7 +1723,7 @@ function $n(e, t) {
1662
1723
  }
1663
1724
  //#endregion
1664
1725
  //#region src/inplace/table-gizmos.ts
1665
- function er(e, t) {
1726
+ function lr(e, t) {
1666
1727
  let n = e.createElement("div");
1667
1728
  n.className = "cm-inplace-table-gizmos", n.setAttribute("contenteditable", "false");
1668
1729
  let r = Q(e), i = (t, n, r) => {
@@ -1748,7 +1809,7 @@ function er(e, t) {
1748
1809
  }
1749
1810
  //#endregion
1750
1811
  //#region src/inplace/table-widget-keys.ts
1751
- function tr(e, t, n) {
1812
+ function ur(e, t, n) {
1752
1813
  let r = e.target.closest("td, th");
1753
1814
  if (!r) return;
1754
1815
  if (l(e, r)) {
@@ -1816,62 +1877,32 @@ function tr(e, t, n) {
1816
1877
  }
1817
1878
  }
1818
1879
  //#endregion
1819
- //#region src/inplace/table-widget-render.ts
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) {
1822
- let r = Number(e.dataset.r), i = Number(e.dataset.c), a = t.rows[r]?.[i] ?? "";
1823
- e.replaceChildren(n ? e.ownerDocument.createTextNode(a) : ln(c(a), t.embeds));
1824
- let o = nr.get(e);
1825
- o && e.classList.remove(...o.cellClass);
1826
- let s = t.paintOf?.(r, i) ?? null;
1827
- s && (Jt(e, a, s, n), e.classList.add(...s.cellClass)), nr.set(e, {
1828
- sig: rr(s),
1829
- cellClass: s?.cellClass ?? []
1830
- });
1831
- }
1832
- function or(e, t, n, r) {
1833
- let i = document.createElement(r ? "th" : "td");
1834
- i.className = "cm-inplace-tcell", i.setAttribute("contenteditable", "true"), i.dataset.r = String(t), i.dataset.c = String(n);
1835
- let a = e.aligns[n];
1836
- return a && (i.style.textAlign = a), ar(i, e, !1), i;
1837
- }
1838
- function sr(e, t) {
1839
- e.replaceChildren();
1840
- let n = t.aligns.length, r = e.createTHead().insertRow();
1841
- for (let e = 0; e < n; e++) r.appendChild(or(t, 0, e, !0));
1842
- let i = e.createTBody();
1843
- for (let e = 1; e < t.rows.length; e++) {
1844
- let r = i.insertRow();
1845
- for (let i = 0; i < n; i++) r.appendChild(or(t, e, i, !1));
1846
- }
1847
- }
1848
- //#endregion
1849
1880
  //#region src/inplace/table-structure.ts
1850
1881
  var $ = (e) => e.aligns.length;
1851
- function cr(e, t) {
1882
+ function dr(e, t) {
1852
1883
  let n = Math.max(0, Math.min(t, $(e)));
1853
1884
  for (let t of e.rows) t.splice(n, 0, "");
1854
1885
  e.aligns.splice(n, 0, "");
1855
1886
  }
1856
- function lr(e, t) {
1887
+ function fr(e, t) {
1857
1888
  if (!($(e) <= 1 || t < 0 || t >= $(e))) {
1858
1889
  for (let n of e.rows) n.splice(t, 1);
1859
1890
  e.aligns.splice(t, 1);
1860
1891
  }
1861
1892
  }
1862
- function ur(e, t) {
1893
+ function pr(e, t) {
1863
1894
  let n = Math.max(1, Math.min(t, e.rows.length));
1864
1895
  e.rows.splice(n, 0, Array($(e)).fill(""));
1865
1896
  }
1866
- function dr(e, t) {
1897
+ function mr(e, t) {
1867
1898
  t <= 0 || t >= e.rows.length || e.rows.length <= 2 || e.rows.splice(t, 1);
1868
1899
  }
1869
- function fr(e, t, n) {
1900
+ function hr(e, t, n) {
1870
1901
  t >= 0 && t < $(e) && (e.aligns[t] = n);
1871
1902
  }
1872
1903
  //#endregion
1873
1904
  //#region src/inplace/table-widget.ts
1874
- var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1905
+ var gr = Se.define(), _r = /* @__PURE__ */ new WeakMap(), vr = class extends O {
1875
1906
  data;
1876
1907
  embeds;
1877
1908
  table = null;
@@ -1898,7 +1929,7 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1898
1929
  }
1899
1930
  bounds(e) {
1900
1931
  let t = e.posAtDOM(this.table), n = null;
1901
- return e.state.field(yn).between(t, t, (e, t) => (n = {
1932
+ return e.state.field(Z).between(t, t, (e, t) => (n = {
1902
1933
  from: e,
1903
1934
  to: t
1904
1935
  }, !1)), n ?? e.state.doc.lineAt(t);
@@ -1912,7 +1943,7 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1912
1943
  c: Number(e.dataset.c)
1913
1944
  };
1914
1945
  }
1915
- paintOf = Yt({
1946
+ paintOf = Xt({
1916
1947
  view: () => this.view,
1917
1948
  mounted: () => !!this.table?.isConnected,
1918
1949
  from: (e) => this.bounds(e).from,
@@ -1927,19 +1958,19 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1927
1958
  };
1928
1959
  }
1929
1960
  paint(e, t) {
1930
- ar(e, this.grid(), t);
1961
+ _n(e, this.grid(), t);
1931
1962
  }
1932
1963
  repaintMarks() {
1933
1964
  for (let e of this.table?.querySelectorAll("td, th") ?? []) {
1934
1965
  let { r: t, c: n } = this.coords(e);
1935
- e !== this.editing && !ir(e, this.paintOf(t, n)) && this.paint(e, !1);
1966
+ e !== this.editing && !gn(e, this.paintOf(t, n)) && this.paint(e, !1);
1936
1967
  }
1937
1968
  }
1938
1969
  renderCells() {
1939
- sr(this.table, this.grid());
1970
+ yn(this.table, this.grid());
1940
1971
  }
1941
1972
  appendRow() {
1942
- ur(this.model(), this.rows.length), this.renderCells(), this.gizmos?.layout(this.table);
1973
+ pr(this.model(), this.rows.length), this.renderCells(), this.gizmos?.layout(this.table);
1943
1974
  }
1944
1975
  model() {
1945
1976
  return {
@@ -1950,7 +1981,7 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
1950
1981
  runOp(e, t) {
1951
1982
  if (!this.table) return;
1952
1983
  let n = this.model();
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") {
1984
+ if (t.kind === "insertColumn" ? dr(n, t.at) : t.kind === "deleteColumn" ? fr(n, t.at) : t.kind === "insertRow" ? pr(n, t.at) : t.kind === "deleteRow" ? mr(n, t.at) : hr(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") {
1954
1985
  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));
1955
1986
  this.cellAt(e, n)?.focus();
1956
1987
  }
@@ -2007,14 +2038,14 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2007
2038
  to: i,
2008
2039
  insert: n
2009
2040
  },
2010
- annotations: pr.of(!0),
2041
+ annotations: gr.of(!0),
2011
2042
  userEvent: "input"
2012
2043
  }), this.syncing = !1, t && (this.writeCaret(t), requestAnimationFrame(() => {
2013
2044
  this.table && t && this.writeCaret(t);
2014
2045
  })));
2015
2046
  }
2016
2047
  onKey(e, t) {
2017
- this.table && tr(e, t, {
2048
+ this.table && ur(e, t, {
2018
2049
  coords: (e) => this.coords(e),
2019
2050
  rows: () => this.rows.length,
2020
2051
  cols: () => this.cols(),
@@ -2037,15 +2068,15 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2037
2068
  openCellMenuAt(e, t, n, r) {
2038
2069
  let i = r?.closest("td, th");
2039
2070
  if (!i) return;
2040
- this.editing === i && !Kn(e) && s(i, t, n);
2041
- let a = Yn(e, i);
2071
+ this.editing === i && !tr(e) && s(i, t, n);
2072
+ let a = ir(e, i);
2042
2073
  this.gizmos?.openFor(i, t, n, a);
2043
2074
  }
2044
2075
  toDOM(e) {
2045
2076
  let t = document.createElement("div");
2046
2077
  t.className = "cm-inplace-table-wrap";
2047
2078
  let n = document.createElement("table");
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({
2079
+ this.table = n, this.view = e, this.editing = null, _r.set(n, this), n.className = "cm-inplace-table cm-inplace-table-edit", this.renderCells(), e.requestMeasure({
2049
2080
  read: () => null,
2050
2081
  write: () => this.repaintMarks(),
2051
2082
  key: this
@@ -2068,9 +2099,9 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2068
2099
  document.execCommand("insertText", !1, t);
2069
2100
  }), n.addEventListener("contextmenu", (t) => {
2070
2101
  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));
2071
- }), this.longPress = $n(n, { onLongPress: (t, n, r) => {
2102
+ }), this.longPress = cr(n, { onLongPress: (t, n, r) => {
2072
2103
  this.longPressAt = Date.now(), this.openCellMenuAt(e, t, n, r);
2073
- } }), this.gizmos = er(document, {
2104
+ } }), this.gizmos = lr(document, {
2074
2105
  dims: () => ({
2075
2106
  cols: this.cols(),
2076
2107
  rows: this.rows.length,
@@ -2082,12 +2113,12 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2082
2113
  destroy() {
2083
2114
  this.longPress?.dispose(), this.longPress = null, this.gizmos?.destroy(), this.gizmos = null, this.table = null, this.view = null, this.editing = null;
2084
2115
  }
2085
- }, gr = /* @__PURE__ */ new Set([
2116
+ }, yr = /* @__PURE__ */ new Set([
2086
2117
  "-",
2087
2118
  "*",
2088
2119
  "_"
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;
2120
+ ]), br = we.transactionFilter.of((e) => {
2121
+ if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(gr) || !e.startState.selection.main.empty) return e;
2091
2122
  let t = e.startState.selection.main.head, n = "", r = 0;
2092
2123
  if (e.changes.iterChanges((e, i, a, o, s) => {
2093
2124
  r += 1, e === i && e === t && (n = s.toString());
@@ -2117,7 +2148,7 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2117
2148
  },
2118
2149
  anchor: a + 1
2119
2150
  };
2120
- else if (gr.has(n) && RegExp(`^\\${n}{3,}$`).test(s)) {
2151
+ else if (yr.has(n) && RegExp(`^\\${n}{3,}$`).test(s)) {
2121
2152
  let e = o.number === 1 || i.line(o.number - 1).text.trim() === "", t = n === "-" && !e, r = o.number === i.lines;
2122
2153
  if (t || r) {
2123
2154
  let e = [];
@@ -2140,38 +2171,38 @@ var pr = xe.define(), mr = /* @__PURE__ */ new WeakMap(), hr = class extends k {
2140
2171
  scrollIntoView: !0,
2141
2172
  userEvent: "input.autoformat"
2142
2173
  }] : e;
2143
- }), vr = /* @__PURE__ */ new Set([
2174
+ }), xr = /* @__PURE__ */ new Set([
2144
2175
  "EmphasisMark",
2145
2176
  "CodeMark",
2146
2177
  "StrikethroughMark"
2147
2178
  ]);
2148
- function yr(e, t, n) {
2179
+ function Sr(e, t, n) {
2149
2180
  let r = t;
2150
2181
  for (;;) {
2151
2182
  let t = e.resolveInner(r, n);
2152
- if (!vr.has(t.name) || t.from >= t.to) return r;
2183
+ if (!xr.has(t.name) || t.from >= t.to) return r;
2153
2184
  let i = n < 0 ? t.from : t.to;
2154
2185
  if (i === r) return r;
2155
2186
  r = i;
2156
2187
  }
2157
2188
  }
2158
- function br(e, t) {
2159
- let n = W(e, t, !0);
2189
+ function Cr(e, t) {
2190
+ let n = U(e, t, !0);
2160
2191
  if (!n) return t;
2161
- let r = P(e);
2162
- return t === n.contentTo ? yr(r, t, 1) : t === n.contentFrom ? yr(r, t, -1) : t;
2192
+ let r = N(e);
2193
+ return t === n.contentTo ? Sr(r, t, 1) : t === n.contentFrom ? Sr(r, t, -1) : t;
2163
2194
  }
2164
- var xr = Ce.transactionFilter.of((e) => {
2165
- if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(pr)) return e;
2195
+ var wr = we.transactionFilter.of((e) => {
2196
+ if (!e.docChanged || e.isUserEvent("undo") || e.isUserEvent("redo") || e.annotation(gr)) return e;
2166
2197
  let t = e.startState, n = t.selection.main;
2167
- if (!n.empty || !U(t, t.doc.lineAt(n.head).number)) return e;
2198
+ if (!n.empty || !H(t, t.doc.lineAt(n.head).number)) return e;
2168
2199
  let r = [], i = 0;
2169
2200
  e.changes.iterChanges((e, t, a, o, s) => {
2170
2201
  i++, e === t && e === n.head && s.length > 0 && r.push(s.toString());
2171
2202
  });
2172
2203
  let a = r[0];
2173
2204
  if (i !== 1 || a === void 0) return e;
2174
- let o = br(t, n.head);
2205
+ let o = Cr(t, n.head);
2175
2206
  return o === n.head ? e : {
2176
2207
  changes: {
2177
2208
  from: o,
@@ -2181,23 +2212,23 @@ var xr = Ce.transactionFilter.of((e) => {
2181
2212
  scrollIntoView: !0,
2182
2213
  userEvent: "input.type"
2183
2214
  };
2184
- }), Sr = RegExp(`^(?:${se.match.source.replace(/^\^/, "")})+`);
2185
- function Cr(e, t) {
2215
+ }), Tr = RegExp(`^(?:${se.match.source.replace(/^\^/, "")})+`);
2216
+ function Er(e, t) {
2186
2217
  let n = e.doc.lineAt(t).number;
2187
- for (let r = P(e).resolveInner(t, 1); r; r = r.parent) {
2218
+ for (let r = N(e).resolveInner(t, 1); r; r = r.parent) {
2188
2219
  if (r.name !== "ListItem" || e.doc.lineAt(r.from).number === n) continue;
2189
2220
  let t = u.exec(e.doc.lineAt(r.from).text);
2190
2221
  if (t) return t[0].length;
2191
2222
  }
2192
2223
  return null;
2193
2224
  }
2194
- function wr(e, t) {
2225
+ function Dr(e, t) {
2195
2226
  let n = t.text, r = _.exec(n);
2196
2227
  if (r) return {
2197
2228
  prefixLen: r[0].length,
2198
2229
  drop: [0, r[0].length]
2199
2230
  };
2200
- let i = Sr.exec(n);
2231
+ let i = Tr.exec(n);
2201
2232
  if (i) {
2202
2233
  let e = se.match.exec(n)[0].length;
2203
2234
  return {
@@ -2214,7 +2245,7 @@ function wr(e, t) {
2214
2245
  if (o) {
2215
2246
  let n = o[1] ?? "", r = o[0].length - n.length;
2216
2247
  if (n) {
2217
- let r = Cr(e, t.from) ?? 2, i = n.startsWith(" ") ? 1 : Math.min(r, n.length);
2248
+ let r = Er(e, t.from) ?? 2, i = n.startsWith(" ") ? 1 : Math.min(r, n.length);
2218
2249
  return {
2219
2250
  prefixLen: o[0].length,
2220
2251
  drop: [0, i]
@@ -2227,15 +2258,15 @@ function wr(e, t) {
2227
2258
  }
2228
2259
  return null;
2229
2260
  }
2230
- var Tr = M.high(A.of([{
2261
+ var Or = j.high(k.of([{
2231
2262
  key: "Backspace",
2232
2263
  run: (e) => {
2233
2264
  if (h(e)) return !1;
2234
2265
  let { state: t } = e, n = t.selection.main;
2235
2266
  if (!n.empty) return !1;
2236
2267
  let r = t.doc.lineAt(n.head);
2237
- if (!U(t, r.number)) return !1;
2238
- let i = wr(t, r);
2268
+ if (!H(t, r.number)) return !1;
2269
+ let i = Dr(t, r);
2239
2270
  if (!i || n.head < r.from || n.head > r.from + i.prefixLen) return !1;
2240
2271
  let [a, o] = i.drop;
2241
2272
  return e.dispatch({
@@ -2249,13 +2280,13 @@ var Tr = M.high(A.of([{
2249
2280
  scrollIntoView: !0
2250
2281
  }), !0;
2251
2282
  }
2252
- }])), Er = class {
2283
+ }])), kr = class {
2253
2284
  menu;
2254
2285
  contentDOM;
2255
2286
  onClick;
2256
2287
  constructor(e) {
2257
2288
  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;
2289
+ if (e.state.facet(L) !== "never" || !e.state.facet(P).links) return;
2259
2290
  let n = t.target?.closest(".cm-inplace-link");
2260
2291
  if (!n || n.classList.contains("cm-inplace-wikilink")) return;
2261
2292
  let r = e.posAtDOM(n);
@@ -2267,13 +2298,13 @@ var Tr = M.high(A.of([{
2267
2298
  if (n == null) return;
2268
2299
  r = n;
2269
2300
  }
2270
- e.dispatch({ selection: { anchor: r } }), this.menu.showField(Fn(e), t.clientX, t.clientY);
2301
+ e.dispatch({ selection: { anchor: r } }), this.menu.showField(Wn(e), t.clientX, t.clientY);
2271
2302
  }, this.contentDOM.addEventListener("click", this.onClick);
2272
2303
  }
2273
2304
  destroy() {
2274
2305
  this.contentDOM.removeEventListener("click", this.onClick), this.menu.destroy();
2275
2306
  }
2276
- }, Dr = O.fromClass(Er), Or = (e) => e.replace(/^<([^]*)>$/, "$1").trim(), kr = (e, t, n) => n ? {
2307
+ }, Ar = D.fromClass(kr), jr = (e) => e.replace(/^<([^]*)>$/, "$1").trim(), Mr = (e, t, n) => n ? {
2277
2308
  pos: e,
2278
2309
  end: t,
2279
2310
  above: !0,
@@ -2282,27 +2313,27 @@ var Tr = M.high(A.of([{
2282
2313
  return e.className = "cm-inplace-href-tip", e.textContent = n, { dom: e };
2283
2314
  }
2284
2315
  } : null;
2285
- function Ar(e, t) {
2286
- for (let n = P(e.state).resolveInner(t, -1); n; n = n.parent) {
2316
+ function Nr(e, t) {
2317
+ for (let n = N(e.state).resolveInner(t, -1); n; n = n.parent) {
2287
2318
  if (n.name !== "Link") continue;
2288
2319
  if (e.state.doc.sliceString(Math.max(0, n.from - 1), n.from) === "[") break;
2289
2320
  let t = n.getChild("URL"), r = t ? e.state.sliceDoc(t.from, t.to) : e.state.sliceDoc(n.from, n.to);
2290
- return kr(n.from, n.to, Or(r));
2321
+ return Mr(n.from, n.to, jr(r));
2291
2322
  }
2292
2323
  return null;
2293
2324
  }
2294
- function jr(t, n) {
2325
+ function Pr(t, n) {
2295
2326
  let r = t.state.doc.lineAt(n);
2296
2327
  for (let t of r.text.matchAll(e)) {
2297
2328
  let e = r.from + (t.index ?? 0), i = e + t[0].length;
2298
- if (!(n < e || n > i)) return kr(e, i, (t[1] ?? "").trim());
2329
+ if (!(n < e || n > i)) return Mr(e, i, (t[1] ?? "").trim());
2299
2330
  }
2300
2331
  return null;
2301
2332
  }
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 {
2333
+ var Fr = ve((e, t) => {
2334
+ let n = e.state.facet(P);
2335
+ return (n.links ? Nr(e, t) : null) ?? (n.wikilinks ? Pr(e, t) : null);
2336
+ }), Ir = class extends O {
2306
2337
  ref;
2307
2338
  inline;
2308
2339
  registry;
@@ -2329,19 +2360,19 @@ var Mr = _e((e, t) => {
2329
2360
  return !1;
2330
2361
  }
2331
2362
  };
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 = [];
2363
+ function Lr(e) {
2364
+ let t = e.facet(F);
2365
+ if (!t || !e.facet(P).embeds || !e.doc.toString().includes("![[")) return T.none;
2366
+ let n = B(e), r = N(e), i = [];
2336
2367
  for (let a = 1; a <= e.doc.lines; a++) {
2337
2368
  let o = e.doc.line(a);
2338
2369
  if (!(!o.text.includes("![[") || n.has(a))) {
2339
2370
  if (fe(o.text)) {
2340
2371
  C.lastIndex = 0;
2341
2372
  let e = (C.exec(o.text.trim())?.[1] ?? "").trim();
2342
- if (!e || H(r, o.from + o.text.indexOf("!["))) continue;
2343
- i.push(E.replace({
2344
- widget: new Nr(e, !1, t),
2373
+ if (!e || V(r, o.from + o.text.indexOf("!["))) continue;
2374
+ i.push(T.replace({
2375
+ widget: new Ir(e, !1, t),
2345
2376
  block: !0
2346
2377
  }).range(o.from, o.to));
2347
2378
  continue;
@@ -2351,30 +2382,30 @@ function Pr(e) {
2351
2382
  let n = (e[1] ?? "").trim();
2352
2383
  if (!n) continue;
2353
2384
  let a = o.from + (e.index ?? 0);
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));
2385
+ V(r, a + 2) || qe(r, a + 2) || i.push(T.replace({ widget: new Ir(n, !0, t) }).range(a, a + e[0].length));
2355
2386
  }
2356
2387
  }
2357
2388
  }
2358
- return E.set(i, !0);
2389
+ return T.set(i, !0);
2359
2390
  }
2360
- function Fr(e, t) {
2391
+ function Rr(e, t) {
2361
2392
  for (let n of t.ranges) {
2362
2393
  let t = e.doc.lineAt(n.from).number, r = e.doc.lineAt(n.to).number;
2363
2394
  for (let n = t; n <= r; n++) if (e.doc.line(n).text.includes("![[")) return !0;
2364
2395
  }
2365
2396
  return !1;
2366
2397
  }
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,
2370
- provide: (e) => [D.decorations.from(e), D.atomicRanges.of((t) => t.state.field(e))]
2371
- }), Lr = we.define(), Rr = N.define({
2398
+ var zr = M.define({
2399
+ create: Lr,
2400
+ update: (e, t) => t.docChanged || t.selection && (Rr(t.state, t.startState.selection) || Rr(t.state, t.state.selection)) ? Lr(t.state) : e,
2401
+ provide: (e) => [E.decorations.from(e), E.atomicRanges.of((t) => t.state.field(e))]
2402
+ }), Br = Te.define(), Vr = M.define({
2372
2403
  create: () => !1,
2373
2404
  update(e, t) {
2374
- for (let n of t.effects) n.is(Lr) && (e = n.value);
2405
+ for (let n of t.effects) n.is(Br) && (e = n.value);
2375
2406
  return e;
2376
2407
  }
2377
- }), zr = class {
2408
+ }), Hr = class {
2378
2409
  view;
2379
2410
  menu;
2380
2411
  onContextMenu;
@@ -2386,7 +2417,7 @@ var Ir = N.define({
2386
2417
  destroyed = !1;
2387
2418
  constructor(e) {
2388
2419
  this.view = e, this.menu = Q(e.dom.ownerDocument, "cm-inplace-menu", (t) => {
2389
- this.destroyed || e.dispatch({ effects: Lr.of(t) });
2420
+ this.destroyed || e.dispatch({ effects: Br.of(t) });
2390
2421
  }), e.dom.appendChild(this.menu.el), this.contentDOM = e.contentDOM, this.onPointerDown = () => {
2391
2422
  let t = e.state.selection.main;
2392
2423
  this.stashed = t.empty ? null : {
@@ -2396,17 +2427,17 @@ var Ir = N.define({
2396
2427
  }, this.contentDOM.addEventListener("pointerdown", this.onPointerDown, !0), this.onContextMenu = (e) => {
2397
2428
  let t = e.target;
2398
2429
  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()));
2399
- }, this.contentDOM.addEventListener("contextmenu", this.onContextMenu), this.longPress = $n(this.contentDOM, { onLongPress: (e, t, n) => {
2430
+ }, this.contentDOM.addEventListener("contextmenu", this.onContextMenu), this.longPress = cr(this.contentDOM, { onLongPress: (e, t, n) => {
2400
2431
  this.longPressAt = Date.now(), this.openMenuAt(e, t, n);
2401
2432
  } });
2402
2433
  }
2403
2434
  canOpen() {
2404
2435
  let { state: e } = this.view;
2405
- return e.facet(Me) && (!e.readOnly || Dn(this.view));
2436
+ return e.facet(Ne) && (!e.readOnly || In(this.view));
2406
2437
  }
2407
2438
  rows() {
2408
2439
  let e = this.view;
2409
- return e.state.readOnly ? On(e, { selected: !e.state.selection.main.empty }) : Qn(e);
2440
+ return e.state.readOnly ? Ln(e, { selected: !e.state.selection.main.empty }) : sr(e);
2410
2441
  }
2411
2442
  openMenuAt(e, t, n) {
2412
2443
  let r = this.view;
@@ -2423,7 +2454,7 @@ var Ir = N.define({
2423
2454
  y: t
2424
2455
  });
2425
2456
  if (n != null) {
2426
- let e = W(r.state, n, !1, !0), t = r.state.wordAt(n) ?? { anchor: n };
2457
+ let e = U(r.state, n, !1, !0), t = r.state.wordAt(n) ?? { anchor: n };
2427
2458
  e?.kind === "link" ? t = {
2428
2459
  anchor: e.from,
2429
2460
  head: e.to
@@ -2442,10 +2473,10 @@ var Ir = N.define({
2442
2473
  destroy() {
2443
2474
  this.destroyed = !0, this.contentDOM.removeEventListener("pointerdown", this.onPointerDown, !0), this.contentDOM.removeEventListener("contextmenu", this.onContextMenu), this.longPress.dispose(), this.menu.destroy();
2444
2475
  }
2445
- }, Br = O.fromClass(zr);
2476
+ }, Ur = D.fromClass(Hr);
2446
2477
  //#endregion
2447
2478
  //#region src/inplace/selection-bar-position.ts
2448
- function Vr(e) {
2479
+ function Wr(e) {
2449
2480
  let t = e.state.selection.main;
2450
2481
  if (!t.empty) {
2451
2482
  let n = e.coordsAtPos(t.from), r = e.coordsAtPos(t.to);
@@ -2459,7 +2490,7 @@ function Vr(e) {
2459
2490
  }
2460
2491
  };
2461
2492
  }
2462
- if (!Kn(e)) return null;
2493
+ if (!tr(e)) return null;
2463
2494
  let n = e.dom.ownerDocument.getSelection();
2464
2495
  if (!n || n.rangeCount === 0) return null;
2465
2496
  let r = n.getRangeAt(0).getBoundingClientRect();
@@ -2473,9 +2504,9 @@ function Vr(e) {
2473
2504
  }
2474
2505
  };
2475
2506
  }
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);
2507
+ function Gr(e, t, n) {
2508
+ if (e.state.facet(Ve) !== "bar" || e.state.readOnly || e.state.field(Vr, !1)) return null;
2509
+ let r = Wr(e);
2479
2510
  if (!r) return null;
2480
2511
  let { box: i, inCell: a } = r;
2481
2512
  if (!a && !e.hasFocus) return null;
@@ -2493,7 +2524,7 @@ function Hr(e, t, n) {
2493
2524
  }
2494
2525
  //#endregion
2495
2526
  //#region src/inplace/selection-bar.ts
2496
- var Ur = class {
2527
+ var Kr = class {
2497
2528
  view;
2498
2529
  bar;
2499
2530
  ids;
@@ -2508,12 +2539,12 @@ var Ur = class {
2508
2539
  constructor(e) {
2509
2540
  this.view = e;
2510
2541
  let t = e.dom.ownerDocument;
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;
2542
+ this.ids = e.state.facet(Be), 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;
2512
2543
  for (let n of this.ids) {
2513
2544
  let r = g[n], i = t.createElement("button");
2514
2545
  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) => {
2515
2546
  t.preventDefault();
2516
- let a = !!h(e), o = !a && n === "link" ? Fn(e) : !a && n === "wikilink" ? In(e) : null;
2547
+ let a = !!h(e), o = !a && n === "link" ? Wn(e) : !a && n === "wikilink" ? Gn(e) : null;
2517
2548
  if (o) {
2518
2549
  let e = i.getBoundingClientRect();
2519
2550
  this.linkMenu.showField(o, e.left, e.bottom + 6);
@@ -2525,7 +2556,7 @@ var Ur = class {
2525
2556
  e.dom.appendChild(this.bar), t.addEventListener("scroll", this.onScroll, !0), t.addEventListener("selectionchange", this.onSelectionChange);
2526
2557
  }
2527
2558
  update(e) {
2528
- let t = e.startState.field(Rr, !1) !== e.state.field(Rr, !1), n = e.startState.readOnly !== e.state.readOnly;
2559
+ let t = e.startState.field(Vr, !1) !== e.state.field(Vr, !1), n = e.startState.readOnly !== e.state.readOnly;
2529
2560
  (e.selectionSet || e.docChanged || e.focusChanged || t || n) && this.schedule();
2530
2561
  }
2531
2562
  schedule() {
@@ -2536,7 +2567,7 @@ var Ur = class {
2536
2567
  });
2537
2568
  }
2538
2569
  measure() {
2539
- return Hr(this.view, this.bar, this.ids);
2570
+ return Gr(this.view, this.bar, this.ids);
2540
2571
  }
2541
2572
  apply(e) {
2542
2573
  if (!e) {
@@ -2550,46 +2581,46 @@ var Ur = class {
2550
2581
  let e = this.view.dom.ownerDocument;
2551
2582
  e.removeEventListener("scroll", this.onScroll, !0), e.removeEventListener("selectionchange", this.onSelectionChange), this.linkMenu.destroy(), this.bar.remove();
2552
2583
  }
2553
- }, Wr = O.fromClass(Ur), Gr = (e) => (t) => {
2584
+ }, qr = D.fromClass(Kr), Jr = (e) => (t) => {
2554
2585
  if (h(t)) return !1;
2555
2586
  let n = t.state.selection.main;
2556
2587
  if (!n.empty) return !1;
2557
2588
  let { doc: r } = t.state, i = r.lineAt(n.head), a = e ? i.number + 1 : i.number - 1;
2558
2589
  if (a < 1 || a > r.lines) return !1;
2559
2590
  let o = r.line(a), s = -1, c = -1, l;
2560
- if (t.state.field(yn).between(o.from, o.to, (t, n, r) => {
2591
+ if (t.state.field(Z).between(o.from, o.to, (t, n, r) => {
2561
2592
  if (e ? t === o.from : n === o.to) return s = t, c = n, l = r.spec.widget, !1;
2562
2593
  }), s < 0) return !1;
2563
- if (t.state.facet(L) === "cells") return l instanceof hr && l.focusEdge(e ? "first" : "last");
2594
+ if (t.state.facet(I) === "cells") return l instanceof vr && l.focusEdge(e ? "first" : "last");
2564
2595
  let u = e ? r.lineAt(s).from : r.lineAt(c).to;
2565
2596
  return t.dispatch({
2566
2597
  selection: { anchor: u },
2567
2598
  userEvent: "select",
2568
2599
  scrollIntoView: !0
2569
2600
  }), !0;
2570
- }, Kr = Gr(!0), qr = Gr(!1), Jr = M.high(A.of([{
2601
+ }, Yr = Jr(!0), Xr = Jr(!1), Zr = j.high(k.of([{
2571
2602
  key: "ArrowDown",
2572
- run: Kr
2603
+ run: Yr
2573
2604
  }, {
2574
2605
  key: "ArrowUp",
2575
- run: qr
2576
- }])), Yr = "[[],[]]", Xr = O.fromClass(class {
2577
- last = Yr;
2606
+ run: Xr
2607
+ }])), Qr = "[[],[]]", $r = D.fromClass(class {
2608
+ last = Qr;
2578
2609
  update(e) {
2579
- let { state: t } = e, n = JSON.stringify([t.facet(Ie)(t), t.facet(Le)(t).map((e) => [
2610
+ let { state: t } = e, n = JSON.stringify([t.facet(Le)(t), t.facet(Re)(t).map((e) => [
2580
2611
  e.pos,
2581
2612
  e.key,
2582
2613
  e.cellClass
2583
2614
  ])]);
2584
- n === this.last && !e.docChanged || (n !== Yr || this.last !== Yr) && (this.last = n, e.view.requestMeasure({
2615
+ n === this.last && !e.docChanged || (n !== Qr || this.last !== Qr) && (this.last = n, e.view.requestMeasure({
2585
2616
  read: () => null,
2586
2617
  write: (e, t) => {
2587
- for (let e of t.dom.querySelectorAll(".cm-inplace-table-edit")) mr.get(e)?.repaintMarks();
2618
+ for (let e of t.dom.querySelectorAll(".cm-inplace-table")) _r.get(e)?.repaintMarks(), bn.get(e)?.();
2588
2619
  },
2589
2620
  key: this
2590
2621
  }));
2591
2622
  }
2592
- }), Zr = {
2623
+ }), ei = {
2593
2624
  ".cm-inplace-callout": {
2594
2625
  borderLeft: "0.25rem solid var(--stylo-callout-accent, var(--stylo-border))",
2595
2626
  padding: "0 var(--stylo-rhythm-callout-padding-x, 1rem)",
@@ -2623,9 +2654,9 @@ var Ur = class {
2623
2654
  content: "\"\"",
2624
2655
  display: "none"
2625
2656
  }
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 = {
2657
+ }, ti = "var(--stylo-font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)", ni = "var(--stylo-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif)", ri = {
2627
2658
  "& .cm-content": {
2628
- fontFamily: $r,
2659
+ fontFamily: ni,
2629
2660
  lineHeight: "1.75",
2630
2661
  padding: "0.75rem",
2631
2662
  WebkitTouchCallout: "none"
@@ -2668,14 +2699,14 @@ var Ur = class {
2668
2699
  ".cm-inplace-em": { fontStyle: "italic" },
2669
2700
  ".cm-inplace-strike": { textDecoration: "line-through" },
2670
2701
  ".cm-inplace-code": {
2671
- fontFamily: Qr,
2702
+ fontFamily: ti,
2672
2703
  fontSize: "0.9em",
2673
2704
  padding: "0.1em 0.35em",
2674
2705
  borderRadius: "3px",
2675
2706
  background: "color-mix(in srgb, var(--stylo-border) 45%, transparent)"
2676
2707
  },
2677
2708
  ".cm-inplace-mono": {
2678
- fontFamily: Qr,
2709
+ fontFamily: ti,
2679
2710
  fontSize: "0.9em",
2680
2711
  background: "color-mix(in srgb, var(--stylo-border) 35%, transparent)",
2681
2712
  padding: "0 0.9rem"
@@ -2753,21 +2784,21 @@ var Ur = class {
2753
2784
  cursor: "pointer"
2754
2785
  },
2755
2786
  ".cm-inplace-fm": {
2756
- fontFamily: Qr,
2787
+ fontFamily: ti,
2757
2788
  fontSize: "0.85em",
2758
2789
  color: "var(--stylo-text-muted)"
2759
2790
  },
2760
2791
  ".cm-inplace-fm-first::before": {
2761
2792
  content: "\"Frontmatter\"",
2762
2793
  marginRight: "0.6em",
2763
- fontFamily: $r,
2794
+ fontFamily: ni,
2764
2795
  fontSize: "0.8rem",
2765
2796
  fontWeight: "600",
2766
2797
  textTransform: "uppercase",
2767
2798
  letterSpacing: "0.04em",
2768
2799
  color: "var(--stylo-text-muted)"
2769
2800
  }
2770
- }, ti = {
2801
+ }, ii = {
2771
2802
  ".cm-inplace-menu": {
2772
2803
  position: "fixed",
2773
2804
  inset: "0",
@@ -2841,7 +2872,7 @@ var Ur = class {
2841
2872
  outline: "none"
2842
2873
  },
2843
2874
  ".cm-inplace-menu-input:focus": { borderColor: "var(--stylo-ring)" }
2844
- }, ni = {
2875
+ }, ai = {
2845
2876
  ".cm-inplace-selbar": {
2846
2877
  position: "fixed",
2847
2878
  zIndex: "20",
@@ -2926,7 +2957,7 @@ var Ur = class {
2926
2957
  lineHeight: "1.4",
2927
2958
  wordBreak: "break-all"
2928
2959
  }
2929
- }, ri = {
2960
+ }, oi = {
2930
2961
  ".cm-inplace-table": {
2931
2962
  borderCollapse: "collapse",
2932
2963
  padding: "1em 0 1.4em",
@@ -2949,7 +2980,7 @@ var Ur = class {
2949
2980
  outline: "none"
2950
2981
  },
2951
2982
  ".cm-inplace-table-edit .cm-inplace-tcell:focus": { boxShadow: "inset 0 0 0 2px var(--stylo-ring)" }
2952
- }, ii = {
2983
+ }, si = {
2953
2984
  ".cm-inplace-table-wrap": {
2954
2985
  position: "relative",
2955
2986
  display: "inline-block",
@@ -2991,54 +3022,54 @@ var Ur = class {
2991
3022
  },
2992
3023
  ".cm-inplace-tg-edge:hover .cm-inplace-tg-plus": { color: "var(--stylo-text)" },
2993
3024
  "@media (hover: none)": { ".cm-inplace-tg-edge": { opacity: "0.5" } }
2994
- }, ai = D.theme({
2995
- ...ei,
2996
- ...Zr,
3025
+ }, ci = E.theme({
2997
3026
  ...ri,
3027
+ ...ei,
3028
+ ...oi,
3029
+ ...si,
2998
3030
  ...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);
3031
+ ...ai
3032
+ }), li = ".cm-inplace-math, .cm-inplace-hr, .cm-inplace-table, .cm-inplace-embed, .cm-inplace-embed-inline";
3033
+ function ui(e = {}) {
3034
+ let t = Fe(e.inPlace?.contextMenu);
3004
3035
  return [
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,
3029
- Rr,
3030
- Br,
3031
- Wr,
3032
- Dr,
3033
- Mr,
3034
- Wn,
3035
- Gn,
3036
- M.high(ai),
3037
- D.domEventHandlers({
3036
+ P.of(je(e.inPlace)),
3037
+ F.of(e.embedRegistry ?? null),
3038
+ I.of(e.inPlace?.table ?? "source"),
3039
+ L.of(e.inPlace?.reveal ?? "caret"),
3040
+ Me.of(e.onLinkClick ?? null),
3041
+ Ne.of(t.enabled),
3042
+ z.of(t.groups),
3043
+ Ie.of(e.hostItems ?? (() => t.items)),
3044
+ Le.of(e.cellMarks ?? e.inPlace?.cellMarks ?? (() => [])),
3045
+ Re.of(e.cellWidgets ?? e.inPlace?.cellWidgets ?? (() => [])),
3046
+ Ve.of(e.inPlace?.selectionUI ?? "menu"),
3047
+ Be.of(ze(e.inPlace?.selectionBarItems)),
3048
+ Dt(),
3049
+ Or,
3050
+ cn,
3051
+ Rt,
3052
+ Zr,
3053
+ wr,
3054
+ br,
3055
+ nt,
3056
+ zr,
3057
+ Ue,
3058
+ Z,
3059
+ $r,
3060
+ Vr,
3061
+ Ur,
3062
+ qr,
3063
+ Ar,
3064
+ Fr,
3065
+ $n,
3066
+ er,
3067
+ j.high(ci),
3068
+ E.domEventHandlers({
3038
3069
  mousedown(e, t) {
3039
3070
  let n = e.target;
3040
3071
  if (n?.closest(".cm-inplace-table-edit") || n?.closest(".stylo-embed-content")) return !1;
3041
- let r = n?.closest(oi);
3072
+ let r = n?.closest(li);
3042
3073
  if (!r) return !1;
3043
3074
  let i = t.posAtDOM(r);
3044
3075
  if (i < 0) return !1;
@@ -3059,8 +3090,8 @@ function si(e = {}) {
3059
3090
  }
3060
3091
  //#endregion
3061
3092
  //#region src/inplace/InPlaceView.tsx
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 }) {
3093
+ var di = () => () => {}, fi = () => null;
3094
+ function pi({ 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 }) {
3064
3095
  let te = w(a);
3065
3096
  te.current = a;
3066
3097
  let re = w(o);
@@ -3071,13 +3102,13 @@ function ui({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClic
3071
3102
  g.current = s?.cellMarks;
3072
3103
  let ae = w(s?.cellWidgets);
3073
3104
  ae.current = s?.cellWidgets;
3074
- let [_] = T(() => new Oe()), oe = ge(_.subscribe, _.getSnapshot, _.getSnapshot), [se, v] = T(null), le = w(m);
3105
+ let [_] = ge(() => new ke()), oe = _e(_.subscribe, _.getSnapshot, _.getSnapshot), [se, v] = ge(null), le = w(m);
3075
3106
  le.current = m;
3076
3107
  let ue = w((e) => {
3077
3108
  v(e), le.current?.(e);
3078
3109
  }).current, y = w(h);
3079
3110
  y.current = h;
3080
- let [b] = T(() => h ? new ne() : null), x = ge(b?.subscribe ?? ci, b?.getSnapshot ?? li), [S] = T(() => [si({
3111
+ let [b] = ge(() => h ? new ne() : null), x = _e(b?.subscribe ?? di, b?.getSnapshot ?? fi), [S] = ge(() => [ui({
3081
3112
  onWikiLinkClick: (e) => te.current?.(e),
3082
3113
  onLinkClick: (e) => re.current?.(e),
3083
3114
  inPlace: s,
@@ -3088,7 +3119,7 @@ function ui({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClic
3088
3119
  cellMarks: (e) => g.current?.(e) ?? [],
3089
3120
  cellWidgets: (e) => ae.current?.(e) ?? [],
3090
3121
  embedRegistry: d ? _ : void 0
3091
- }), ...b ? [ve.of(b.panel)] : []]), de = ce({
3122
+ }), ...b ? [ye.of(b.panel)] : []]), de = ce({
3092
3123
  value: e,
3093
3124
  onChange: t,
3094
3125
  readOnly: r,
@@ -3102,18 +3133,18 @@ function ui({ value: e, onChange: t, readOnly: r, placeholder: i, onWikiLinkClic
3102
3133
  onViewChange: ue,
3103
3134
  hostExtensions: ee
3104
3135
  });
3105
- return /* @__PURE__ */ Ee("div", {
3136
+ return /* @__PURE__ */ De("div", {
3106
3137
  className: n.inplace,
3107
3138
  ref: de,
3108
- children: [d && oe.map((e) => ye(/* @__PURE__ */ Te(pe, {
3139
+ children: [d && oe.map((e) => be(/* @__PURE__ */ Ee(pe, {
3109
3140
  reference: e.ref,
3110
3141
  source: d,
3111
3142
  onError: f,
3112
3143
  inline: e.inline
3113
- }), e.el, String(e.id))), x && y.current && ye(y.current({ view: se }), x)]
3144
+ }), e.el, String(e.id))), x && y.current && be(y.current({ view: se }), x)]
3114
3145
  });
3115
3146
  }
3116
3147
  //#endregion
3117
- export { ui as InPlaceView };
3148
+ export { pi as InPlaceView };
3118
3149
 
3119
- //# sourceMappingURL=InPlaceView-BIdyqlek.js.map
3150
+ //# sourceMappingURL=InPlaceView-CKPumo8B.js.map