@burdenoff/microfe-technospam 2026.1101.5 → 2026.1102.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/generated/wspace-types.d.ts +7468 -141
  2. package/dist/generated/wspace-types.d.ts.map +1 -1
  3. package/dist/index.js +5 -3
  4. package/dist/node_modules/@codemirror/autocomplete/dist/index.js +527 -0
  5. package/dist/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  6. package/dist/node_modules/@codemirror/commands/dist/index.js +1108 -0
  7. package/dist/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  8. package/dist/node_modules/@codemirror/lang-go/dist/index.js +206 -0
  9. package/dist/node_modules/@codemirror/lang-go/dist/index.js.map +1 -0
  10. package/dist/node_modules/@codemirror/lang-javascript/dist/index.js +321 -0
  11. package/dist/node_modules/@codemirror/lang-javascript/dist/index.js.map +1 -0
  12. package/dist/node_modules/@codemirror/lang-python/dist/index.js +265 -0
  13. package/dist/node_modules/@codemirror/lang-python/dist/index.js.map +1 -0
  14. package/dist/node_modules/@codemirror/language/dist/index.js +957 -0
  15. package/dist/node_modules/@codemirror/language/dist/index.js.map +1 -0
  16. package/dist/node_modules/@codemirror/legacy-modes/mode/ruby.js +164 -0
  17. package/dist/node_modules/@codemirror/legacy-modes/mode/ruby.js.map +1 -0
  18. package/dist/node_modules/@codemirror/legacy-modes/mode/shell.js +109 -0
  19. package/dist/node_modules/@codemirror/legacy-modes/mode/shell.js.map +1 -0
  20. package/dist/node_modules/@codemirror/state/dist/index.js +1739 -0
  21. package/dist/node_modules/@codemirror/state/dist/index.js.map +1 -0
  22. package/dist/node_modules/@codemirror/streamparser/dist/index.js +70 -0
  23. package/dist/node_modules/@codemirror/streamparser/dist/index.js.map +1 -0
  24. package/dist/node_modules/@codemirror/view/dist/index.js +5427 -0
  25. package/dist/node_modules/@codemirror/view/dist/index.js.map +1 -0
  26. package/dist/node_modules/@lezer/common/dist/index.js +896 -0
  27. package/dist/node_modules/@lezer/common/dist/index.js.map +1 -0
  28. package/dist/node_modules/@lezer/go/dist/index.js +215 -0
  29. package/dist/node_modules/@lezer/go/dist/index.js.map +1 -0
  30. package/dist/node_modules/@lezer/highlight/dist/index.js +395 -0
  31. package/dist/node_modules/@lezer/highlight/dist/index.js.map +1 -0
  32. package/dist/node_modules/@lezer/javascript/dist/index.js +437 -0
  33. package/dist/node_modules/@lezer/javascript/dist/index.js.map +1 -0
  34. package/dist/node_modules/@lezer/lr/dist/index.js +842 -0
  35. package/dist/node_modules/@lezer/lr/dist/index.js.map +1 -0
  36. package/dist/node_modules/@lezer/python/dist/index.js +352 -0
  37. package/dist/node_modules/@lezer/python/dist/index.js.map +1 -0
  38. package/dist/node_modules/@marijn/find-cluster-break/src/index.js +66 -0
  39. package/dist/node_modules/@marijn/find-cluster-break/src/index.js.map +1 -0
  40. package/dist/node_modules/style-mod/src/style-mod.js +74 -0
  41. package/dist/node_modules/style-mod/src/style-mod.js.map +1 -0
  42. package/dist/node_modules/w3c-keyname/index.js +90 -0
  43. package/dist/node_modules/w3c-keyname/index.js.map +1 -0
  44. package/dist/stories/fixtures/technospamFixtures.d.ts.map +1 -1
  45. package/dist/stories/journeys/Problems.stories.d.ts.map +1 -1
  46. package/dist/technospam/api/technospamApi.d.ts +39 -0
  47. package/dist/technospam/api/technospamApi.d.ts.map +1 -1
  48. package/dist/technospam/api/technospamApi.js +120 -86
  49. package/dist/technospam/api/technospamApi.js.map +1 -1
  50. package/dist/technospam/components/CertificateVerifyLink.d.ts +11 -0
  51. package/dist/technospam/components/CertificateVerifyLink.d.ts.map +1 -0
  52. package/dist/technospam/components/CertificateVerifyLink.js +63 -0
  53. package/dist/technospam/components/CertificateVerifyLink.js.map +1 -0
  54. package/dist/technospam/components/SubmissionViews.d.ts +6 -2
  55. package/dist/technospam/components/SubmissionViews.d.ts.map +1 -1
  56. package/dist/technospam/components/SubmissionViews.js +6 -5
  57. package/dist/technospam/components/SubmissionViews.js.map +1 -1
  58. package/dist/technospam/components/TechnoSpamErrorBoundary.d.ts +6 -0
  59. package/dist/technospam/components/TechnoSpamErrorBoundary.d.ts.map +1 -1
  60. package/dist/technospam/components/TechnoSpamErrorBoundary.js +2 -2
  61. package/dist/technospam/components/TechnoSpamErrorBoundary.js.map +1 -1
  62. package/dist/technospam/components/editor/CodeEditor.d.ts +26 -0
  63. package/dist/technospam/components/editor/CodeEditor.d.ts.map +1 -0
  64. package/dist/technospam/components/editor/CodeEditor.js +102 -0
  65. package/dist/technospam/components/editor/CodeEditor.js.map +1 -0
  66. package/dist/technospam/components/editor/RunOutputPanel.d.ts +14 -0
  67. package/dist/technospam/components/editor/RunOutputPanel.d.ts.map +1 -0
  68. package/dist/technospam/components/editor/RunOutputPanel.js +127 -0
  69. package/dist/technospam/components/editor/RunOutputPanel.js.map +1 -0
  70. package/dist/technospam/components/editor/editorLanguages.d.ts +11 -0
  71. package/dist/technospam/components/editor/editorLanguages.d.ts.map +1 -0
  72. package/dist/technospam/components/editor/editorLanguages.js +30 -0
  73. package/dist/technospam/components/editor/editorLanguages.js.map +1 -0
  74. package/dist/technospam/components/editor/editorTheme.d.ts +11 -0
  75. package/dist/technospam/components/editor/editorTheme.d.ts.map +1 -0
  76. package/dist/technospam/components/editor/editorTheme.js +120 -0
  77. package/dist/technospam/components/editor/editorTheme.js.map +1 -0
  78. package/dist/technospam/components/index.d.ts +1 -0
  79. package/dist/technospam/components/index.d.ts.map +1 -1
  80. package/dist/technospam/components/index.js +1 -0
  81. package/dist/technospam/hooks/useSolutionRunner.d.ts +35 -0
  82. package/dist/technospam/hooks/useSolutionRunner.d.ts.map +1 -0
  83. package/dist/technospam/hooks/useSolutionRunner.js +66 -0
  84. package/dist/technospam/hooks/useSolutionRunner.js.map +1 -0
  85. package/dist/technospam/hooks/useTechnoSpamAnalytics.d.ts +1 -1
  86. package/dist/technospam/hooks/useTechnoSpamAnalytics.d.ts.map +1 -1
  87. package/dist/technospam/hooks/useTechnoSpamAnalytics.js.map +1 -1
  88. package/dist/technospam/index.d.ts +2 -0
  89. package/dist/technospam/index.d.ts.map +1 -1
  90. package/dist/technospam/index.js +2 -0
  91. package/dist/technospam/lib/certificateVerify.d.ts +71 -0
  92. package/dist/technospam/lib/certificateVerify.d.ts.map +1 -0
  93. package/dist/technospam/lib/certificateVerify.js +55 -0
  94. package/dist/technospam/lib/certificateVerify.js.map +1 -0
  95. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.d.ts.map +1 -1
  96. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js +416 -263
  97. package/dist/technospam/pages/ApplicationsProblemDetailsPagePage.js.map +1 -1
  98. package/dist/technospam/pages/CoursesCourseDetailsPagePage.d.ts.map +1 -1
  99. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js +236 -231
  100. package/dist/technospam/pages/CoursesCourseDetailsPagePage.js.map +1 -1
  101. package/dist/technospam/pages/CoursesMyLearningPagePage.d.ts.map +1 -1
  102. package/dist/technospam/pages/CoursesMyLearningPagePage.js +104 -96
  103. package/dist/technospam/pages/CoursesMyLearningPagePage.js.map +1 -1
  104. package/dist/technospam/pages/public/CertificateVerifyPage.d.ts +4 -0
  105. package/dist/technospam/pages/public/CertificateVerifyPage.d.ts.map +1 -0
  106. package/dist/technospam/pages/public/CertificateVerifyPage.js +257 -0
  107. package/dist/technospam/pages/public/CertificateVerifyPage.js.map +1 -0
  108. package/package.json +14 -4
@@ -0,0 +1,1108 @@
1
+ import { Annotation as e, ChangeDesc as t, ChangeSet as n, EditorSelection as r, Facet as i, StateEffect as a, StateField as o, Text as s, Transaction as c, combineConfig as l, countColumn as u, findClusterBreak as d } from "../../state/dist/index.js";
2
+ import { Direction as f, EditorView as p } from "../../view/dist/index.js";
3
+ import { NodeProp as m } from "../../../@lezer/common/dist/index.js";
4
+ import { IndentContext as h, getIndentUnit as g, getIndentation as _, indentString as v, indentUnit as ee, matchBrackets as y, syntaxTree as b } from "../../language/dist/index.js";
5
+ //#region node_modules/@codemirror/commands/dist/index.js
6
+ var te = (e) => {
7
+ let { state: t } = e, n = t.doc.lineAt(t.selection.main.from), r = S(e.state, n.from);
8
+ return r.line ? ne(e) : r.block ? ie(e) : !1;
9
+ };
10
+ function x(e, t) {
11
+ return ({ state: n, dispatch: r }) => {
12
+ if (n.readOnly) return !1;
13
+ let i = e(t, n);
14
+ return i ? (r(n.update(i)), !0) : !1;
15
+ };
16
+ }
17
+ var ne = /* @__PURE__ */ x(se, 0), re = /* @__PURE__ */ x(w, 0), ie = /* @__PURE__ */ x((e, t) => w(e, t, oe(t)), 0);
18
+ function S(e, t) {
19
+ let n = e.languageDataAt("commentTokens", t, 1);
20
+ return n.length ? n[0] : {};
21
+ }
22
+ var C = 50;
23
+ function ae(e, { open: t, close: n }, r, i) {
24
+ let a = e.sliceDoc(r - C, r), o = e.sliceDoc(i, i + C), s = /\s*$/.exec(a)[0].length, c = /^\s*/.exec(o)[0].length, l = a.length - s;
25
+ if (a.slice(l - t.length, l) == t && o.slice(c, c + n.length) == n) return {
26
+ open: {
27
+ pos: r - s,
28
+ margin: s && 1
29
+ },
30
+ close: {
31
+ pos: i + c,
32
+ margin: c && 1
33
+ }
34
+ };
35
+ let u, d;
36
+ i - r <= 2 * C ? u = d = e.sliceDoc(r, i) : (u = e.sliceDoc(r, r + C), d = e.sliceDoc(i - C, i));
37
+ let f = /^\s*/.exec(u)[0].length, p = /\s*$/.exec(d)[0].length, m = d.length - p - n.length;
38
+ return u.slice(f, f + t.length) == t && d.slice(m, m + n.length) == n ? {
39
+ open: {
40
+ pos: r + f + t.length,
41
+ margin: +!!/\s/.test(u.charAt(f + t.length))
42
+ },
43
+ close: {
44
+ pos: i - p - n.length,
45
+ margin: +!!/\s/.test(d.charAt(m - 1))
46
+ }
47
+ } : null;
48
+ }
49
+ function oe(e) {
50
+ let t = [];
51
+ for (let n of e.selection.ranges) {
52
+ let r = e.doc.lineAt(n.from), i = n.to <= r.to ? r : e.doc.lineAt(n.to);
53
+ i.from > r.from && i.from == n.to && (i = n.to == r.to + 1 ? r : e.doc.lineAt(n.to - 1));
54
+ let a = t.length - 1;
55
+ a >= 0 && t[a].to > r.from ? t[a].to = i.to : t.push({
56
+ from: r.from + /^\s*/.exec(r.text)[0].length,
57
+ to: i.to
58
+ });
59
+ }
60
+ return t;
61
+ }
62
+ function w(e, t, n = t.selection.ranges) {
63
+ let r = n.map((e) => S(t, e.from).block);
64
+ if (!r.every((e) => e)) return null;
65
+ let i = n.map((e, n) => ae(t, r[n], e.from, e.to));
66
+ if (e != 2 && !i.every((e) => e)) return { changes: t.changes(n.map((e, t) => i[t] ? [] : [{
67
+ from: e.from,
68
+ insert: r[t].open + " "
69
+ }, {
70
+ from: e.to,
71
+ insert: " " + r[t].close
72
+ }])) };
73
+ if (e != 1 && i.some((e) => e)) {
74
+ let e = [];
75
+ for (let t = 0, n; t < i.length; t++) if (n = i[t]) {
76
+ let i = r[t], { open: a, close: o } = n;
77
+ e.push({
78
+ from: a.pos - i.open.length,
79
+ to: a.pos + a.margin
80
+ }, {
81
+ from: o.pos - o.margin,
82
+ to: o.pos + i.close.length
83
+ });
84
+ }
85
+ return { changes: e };
86
+ }
87
+ return null;
88
+ }
89
+ function se(e, t, n = t.selection.ranges) {
90
+ let r = [], i = -1;
91
+ ranges: for (let { from: e, to: a } of n) {
92
+ let n = r.length, o = 1e9, s;
93
+ for (let n = e; n <= a;) {
94
+ let c = t.doc.lineAt(n);
95
+ if (s == null && (s = S(t, c.from).line, !s)) continue ranges;
96
+ if (c.from > i && (e == a || a > c.from)) {
97
+ i = c.from;
98
+ let e = /^\s*/.exec(c.text)[0].length, t = e == c.length, n = c.text.slice(e, e + s.length) == s ? e : -1;
99
+ e < c.text.length && e < o && (o = e), r.push({
100
+ line: c,
101
+ comment: n,
102
+ token: s,
103
+ indent: e,
104
+ empty: t,
105
+ single: !1
106
+ });
107
+ }
108
+ n = c.to + 1;
109
+ }
110
+ if (o < 1e9) for (let e = n; e < r.length; e++) r[e].indent < r[e].line.text.length && (r[e].indent = o);
111
+ r.length == n + 1 && (r[n].single = !0);
112
+ }
113
+ if (e != 2 && r.some((e) => e.comment < 0 && (!e.empty || e.single))) {
114
+ let e = [];
115
+ for (let { line: t, token: n, indent: i, empty: a, single: o } of r) (o || !a) && e.push({
116
+ from: t.from + i,
117
+ insert: n + " "
118
+ });
119
+ let n = t.changes(e);
120
+ return {
121
+ changes: n,
122
+ selection: t.selection.map(n, 1)
123
+ };
124
+ } else if (e != 1 && r.some((e) => e.comment >= 0)) {
125
+ let e = [];
126
+ for (let { line: t, comment: n, token: i } of r) if (n >= 0) {
127
+ let r = t.from + n, a = r + i.length;
128
+ t.text[a - t.from] == " " && a++, e.push({
129
+ from: r,
130
+ to: a
131
+ });
132
+ }
133
+ return { changes: e };
134
+ }
135
+ return null;
136
+ }
137
+ var T = /* @__PURE__ */ e.define(), ce = /* @__PURE__ */ e.define(), le = /* @__PURE__ */ i.define(), ue = /* @__PURE__ */ i.define({ combine(e) {
138
+ return l(e, {
139
+ minDepth: 100,
140
+ newGroupDelay: 500,
141
+ joinToEvent: (e, t) => t
142
+ }, {
143
+ minDepth: Math.max,
144
+ newGroupDelay: Math.min,
145
+ joinToEvent: (e, t) => (n, r) => e(n, r) || t(n, r)
146
+ });
147
+ } }), de = /* @__PURE__ */ o.define({
148
+ create() {
149
+ return P.empty;
150
+ },
151
+ update(e, t) {
152
+ let n = t.state.facet(ue), r = t.annotation(T);
153
+ if (r) {
154
+ let i = O.fromTransaction(t, r.selection), a = r.side, o = a == 0 ? e.undone : e.done;
155
+ return o = i ? k(o, o.length, n.minDepth, i) : M(o, t.startState.selection), new P(a == 0 ? r.rest : o, a == 0 ? o : r.rest);
156
+ }
157
+ let i = t.annotation(ce);
158
+ if ((i == "full" || i == "before") && (e = e.isolate()), t.annotation(c.addToHistory) === !1) return t.changes.empty ? e : e.addMapping(t.changes.desc);
159
+ let a = O.fromTransaction(t), o = t.annotation(c.time), s = t.annotation(c.userEvent);
160
+ return a ? e = e.addChanges(a, o, s, n, t) : t.selection && (e = e.addSelection(t.startState.selection, o, s, n.newGroupDelay)), (i == "full" || i == "after") && (e = e.isolate()), e;
161
+ },
162
+ toJSON(e) {
163
+ return {
164
+ done: e.done.map((e) => e.toJSON()),
165
+ undone: e.undone.map((e) => e.toJSON())
166
+ };
167
+ },
168
+ fromJSON(e) {
169
+ return new P(e.done.map(O.fromJSON), e.undone.map(O.fromJSON));
170
+ }
171
+ });
172
+ function fe(e = {}) {
173
+ return [
174
+ de,
175
+ ue.of(e),
176
+ p.domEventHandlers({ beforeinput(e, t) {
177
+ let n = e.inputType == "historyUndo" ? pe : e.inputType == "historyRedo" ? D : null;
178
+ return n ? (e.preventDefault(), n(t)) : !1;
179
+ } })
180
+ ];
181
+ }
182
+ function E(e, t) {
183
+ return function({ state: n, dispatch: r }) {
184
+ if (!t && n.readOnly) return !1;
185
+ let i = n.field(de, !1);
186
+ if (!i) return !1;
187
+ let a = i.pop(e, n, t);
188
+ return a ? (r(a), !0) : !1;
189
+ };
190
+ }
191
+ var pe = /* @__PURE__ */ E(0, !1), D = /* @__PURE__ */ E(1, !1), me = /* @__PURE__ */ E(0, !0), he = /* @__PURE__ */ E(1, !0), O = class e {
192
+ constructor(e, t, n, r, i) {
193
+ this.changes = e, this.effects = t, this.mapped = n, this.startSelection = r, this.selectionsAfter = i;
194
+ }
195
+ setSelAfter(t) {
196
+ return new e(this.changes, this.effects, this.mapped, this.startSelection, t);
197
+ }
198
+ toJSON() {
199
+ return {
200
+ changes: this.changes?.toJSON(),
201
+ mapped: this.mapped?.toJSON(),
202
+ startSelection: this.startSelection?.toJSON(),
203
+ selectionsAfter: this.selectionsAfter.map((e) => e.toJSON())
204
+ };
205
+ }
206
+ static fromJSON(i) {
207
+ return new e(i.changes && n.fromJSON(i.changes), [], i.mapped && t.fromJSON(i.mapped), i.startSelection && r.fromJSON(i.startSelection), i.selectionsAfter.map(r.fromJSON));
208
+ }
209
+ static fromTransaction(t, n) {
210
+ let r = j;
211
+ for (let e of t.startState.facet(le)) {
212
+ let n = e(t);
213
+ n.length && (r = r.concat(n));
214
+ }
215
+ return !r.length && t.changes.empty ? null : new e(t.changes.invert(t.startState.doc), r, void 0, n || t.startState.selection, j);
216
+ }
217
+ static selection(t) {
218
+ return new e(void 0, j, void 0, void 0, t);
219
+ }
220
+ };
221
+ function k(e, t, n, r) {
222
+ let i = t + 1 > n + 20 ? t - n - 1 : 0, a = e.slice(i, t);
223
+ return a.push(r), a;
224
+ }
225
+ function ge(e, t) {
226
+ let n = [], r = !1;
227
+ return e.iterChangedRanges((e, t) => n.push(e, t)), t.iterChangedRanges((e, t, i, a) => {
228
+ for (let e = 0; e < n.length;) {
229
+ let t = n[e++], o = n[e++];
230
+ a >= t && i <= o && (r = !0);
231
+ }
232
+ }), r;
233
+ }
234
+ function _e(e, t) {
235
+ return e.ranges.length == t.ranges.length && e.ranges.filter((e, n) => e.empty != t.ranges[n].empty).length === 0;
236
+ }
237
+ function A(e, t) {
238
+ return e.length ? t.length ? e.concat(t) : e : t;
239
+ }
240
+ var j = [], ve = 200;
241
+ function M(e, t) {
242
+ if (e.length) {
243
+ let n = e[e.length - 1], r = n.selectionsAfter.slice(Math.max(0, n.selectionsAfter.length - ve));
244
+ return r.length && r[r.length - 1].eq(t) ? e : (r.push(t), k(e, e.length - 1, 1e9, n.setSelAfter(r)));
245
+ } else return [O.selection([t])];
246
+ }
247
+ function ye(e) {
248
+ let t = e[e.length - 1], n = e.slice();
249
+ return n[e.length - 1] = t.setSelAfter(t.selectionsAfter.slice(0, t.selectionsAfter.length - 1)), n;
250
+ }
251
+ function N(e, t) {
252
+ if (!e.length) return e;
253
+ let n = e.length, r = j;
254
+ for (; n;) {
255
+ let i = be(e[n - 1], t, r);
256
+ if (i.changes && !i.changes.empty || i.effects.length) {
257
+ let t = e.slice(0, n);
258
+ return t[n - 1] = i, t;
259
+ } else t = i.mapped, n--, r = i.selectionsAfter;
260
+ }
261
+ return r.length ? [O.selection(r)] : j;
262
+ }
263
+ function be(e, t, n) {
264
+ let r = A(e.selectionsAfter.length ? e.selectionsAfter.map((e) => e.map(t)) : j, n);
265
+ if (!e.changes) return O.selection(r);
266
+ let i = e.changes.map(t), o = t.mapDesc(e.changes, !0), s = e.mapped ? e.mapped.composeDesc(o) : o;
267
+ return new O(i, a.mapEffects(e.effects, t), s, e.startSelection.map(o), r);
268
+ }
269
+ var xe = /^(input\.type|delete)($|\.)/, P = class e {
270
+ constructor(e, t, n = 0, r = void 0) {
271
+ this.done = e, this.undone = t, this.prevTime = n, this.prevUserEvent = r;
272
+ }
273
+ isolate() {
274
+ return this.prevTime ? new e(this.done, this.undone) : this;
275
+ }
276
+ addChanges(t, n, r, i, o) {
277
+ let s = this.done, c = s[s.length - 1];
278
+ return s = c && c.changes && !c.changes.empty && t.changes && (!r || xe.test(r)) && (!c.selectionsAfter.length && n - this.prevTime < i.newGroupDelay && i.joinToEvent(o, ge(c.changes, t.changes)) || r == "input.type.compose") ? k(s, s.length - 1, i.minDepth, new O(t.changes.compose(c.changes), A(a.mapEffects(t.effects, c.changes), c.effects), c.mapped, c.startSelection, j)) : k(s, s.length, i.minDepth, t), new e(s, j, n, r);
279
+ }
280
+ addSelection(t, n, r, i) {
281
+ let a = this.done.length ? this.done[this.done.length - 1].selectionsAfter : j;
282
+ return a.length > 0 && n - this.prevTime < i && r == this.prevUserEvent && r && /^select($|\.)/.test(r) && _e(a[a.length - 1], t) ? this : new e(M(this.done, t), this.undone, n, r);
283
+ }
284
+ addMapping(t) {
285
+ return new e(N(this.done, t), N(this.undone, t), this.prevTime, this.prevUserEvent);
286
+ }
287
+ pop(e, t, n) {
288
+ let r = e == 0 ? this.done : this.undone;
289
+ if (r.length == 0) return null;
290
+ let i = r[r.length - 1], a = i.selectionsAfter[0] || (i.startSelection ? i.startSelection.map(i.changes.invertedDesc, 1) : t.selection);
291
+ if (n && i.selectionsAfter.length) return t.update({
292
+ selection: i.selectionsAfter[i.selectionsAfter.length - 1],
293
+ annotations: T.of({
294
+ side: e,
295
+ rest: ye(r),
296
+ selection: a
297
+ }),
298
+ userEvent: e == 0 ? "select.undo" : "select.redo",
299
+ scrollIntoView: !0
300
+ });
301
+ if (i.changes) {
302
+ let n = r.length == 1 ? j : r.slice(0, r.length - 1);
303
+ return i.mapped && (n = N(n, i.mapped)), t.update({
304
+ changes: i.changes,
305
+ selection: i.startSelection,
306
+ effects: i.effects,
307
+ annotations: T.of({
308
+ side: e,
309
+ rest: n,
310
+ selection: a
311
+ }),
312
+ filter: !1,
313
+ userEvent: e == 0 ? "undo" : "redo",
314
+ scrollIntoView: !0
315
+ });
316
+ } else return null;
317
+ }
318
+ };
319
+ P.empty = /* @__PURE__ */ new P(j, j);
320
+ var Se = [
321
+ {
322
+ key: "Mod-z",
323
+ run: pe,
324
+ preventDefault: !0
325
+ },
326
+ {
327
+ key: "Mod-y",
328
+ mac: "Mod-Shift-z",
329
+ run: D,
330
+ preventDefault: !0
331
+ },
332
+ {
333
+ linux: "Ctrl-Shift-z",
334
+ run: D,
335
+ preventDefault: !0
336
+ },
337
+ {
338
+ key: "Mod-u",
339
+ run: me,
340
+ preventDefault: !0
341
+ },
342
+ {
343
+ key: "Alt-u",
344
+ mac: "Mod-Shift-u",
345
+ run: he,
346
+ preventDefault: !0
347
+ }
348
+ ];
349
+ function F(e, t) {
350
+ return r.create(e.ranges.map(t), e.mainIndex);
351
+ }
352
+ function I(e, t) {
353
+ return e.update({
354
+ selection: t,
355
+ scrollIntoView: !0,
356
+ userEvent: "select"
357
+ });
358
+ }
359
+ function L({ state: e, dispatch: t }, n) {
360
+ let r = F(e.selection, n);
361
+ return r.eq(e.selection, !0) ? !1 : (t(I(e, r)), !0);
362
+ }
363
+ function R(e, t) {
364
+ return r.cursor(t ? e.to : e.from);
365
+ }
366
+ function z(e, t) {
367
+ return L(e, (n) => n.empty ? e.moveByChar(n, t) : R(n, t));
368
+ }
369
+ function B(e) {
370
+ return e.textDirectionAt(e.state.selection.main.head) == f.LTR;
371
+ }
372
+ var V = (e) => z(e, !B(e)), H = (e) => z(e, B(e));
373
+ function U(e, t) {
374
+ return L(e, (n) => n.empty ? e.moveByGroup(n, t) : R(n, t));
375
+ }
376
+ var Ce = (e) => U(e, !B(e)), we = (e) => U(e, B(e));
377
+ typeof Intl < "u" && Intl.Segmenter;
378
+ function Te(e, t, n) {
379
+ if (t.type.prop(n)) return !0;
380
+ let r = t.to - t.from;
381
+ return r && (r > 2 || /[^\s,.;:]/.test(e.sliceDoc(t.from, t.to))) || t.firstChild;
382
+ }
383
+ function W(e, t, n) {
384
+ let i = b(e).resolveInner(t.head), a = n ? m.closedBy : m.openedBy;
385
+ for (let r = t.head;;) {
386
+ let t = n ? i.childAfter(r) : i.childBefore(r);
387
+ if (!t) break;
388
+ Te(e, t, a) ? i = t : r = n ? t.to : t.from;
389
+ }
390
+ let o = i.type.prop(a), s, c;
391
+ return c = o && (s = n ? y(e, i.from, 1) : y(e, i.to, -1)) && s.matched ? n ? s.end.to : s.end.from : n ? i.to : i.from, r.cursor(c, n ? -1 : 1);
392
+ }
393
+ var Ee = (e) => L(e, (t) => W(e.state, t, !B(e))), De = (e) => L(e, (t) => W(e.state, t, B(e)));
394
+ function Oe(e, t) {
395
+ return L(e, (n) => {
396
+ if (!n.empty) return R(n, t);
397
+ let r = e.moveVertically(n, t);
398
+ return r.head == n.head ? e.moveToLineBoundary(n, t) : r;
399
+ });
400
+ }
401
+ var ke = (e) => Oe(e, !1), Ae = (e) => Oe(e, !0);
402
+ function G(e) {
403
+ let t = e.scrollDOM.clientHeight < e.scrollDOM.scrollHeight - 2, n = 0, r = 0, i;
404
+ if (t) {
405
+ for (let t of e.state.facet(p.scrollMargins)) {
406
+ let i = t(e);
407
+ i?.top && (n = Math.max(i?.top, n)), i?.bottom && (r = Math.max(i?.bottom, r));
408
+ }
409
+ i = e.scrollDOM.clientHeight - n - r;
410
+ } else i = (e.dom.ownerDocument.defaultView || window).innerHeight;
411
+ return {
412
+ marginTop: n,
413
+ marginBottom: r,
414
+ selfScroll: t,
415
+ height: Math.max(e.defaultLineHeight, i - 5)
416
+ };
417
+ }
418
+ function je(e, t) {
419
+ let n = G(e), { state: r } = e, i = F(r.selection, (r) => r.empty ? e.moveVertically(r, t, n.height) : R(r, t));
420
+ if (i.eq(r.selection)) return !1;
421
+ let a;
422
+ if (n.selfScroll) {
423
+ let t = e.coordsAtPos(r.selection.main.head), o = e.scrollDOM.getBoundingClientRect(), s = o.top + n.marginTop, c = o.bottom - n.marginBottom;
424
+ t && t.top > s && t.bottom < c && (a = p.scrollIntoView(i.main.head, {
425
+ y: "start",
426
+ yMargin: t.top - s
427
+ }));
428
+ }
429
+ return e.dispatch(I(r, i), { effects: a }), !0;
430
+ }
431
+ var Me = (e) => je(e, !1), K = (e) => je(e, !0);
432
+ function q(e, t, n) {
433
+ let i = e.lineBlockAt(t.head), a = e.moveToLineBoundary(t, n);
434
+ if (a.head == t.head && a.head != (n ? i.to : i.from) && (a = e.moveToLineBoundary(t, n, !1)), !n && a.head == i.from && i.length) {
435
+ let n = /^\s*/.exec(e.state.sliceDoc(i.from, Math.min(i.from + 100, i.to)))[0].length;
436
+ n && t.head != i.from + n && (a = r.cursor(i.from + n));
437
+ }
438
+ return a;
439
+ }
440
+ var Ne = (e) => L(e, (t) => q(e, t, !0)), Pe = (e) => L(e, (t) => q(e, t, !1)), Fe = (e) => L(e, (t) => q(e, t, !B(e))), Ie = (e) => L(e, (t) => q(e, t, B(e))), Le = (e) => L(e, (t) => e.moveToLineBoundary(t, !1, !1)), Re = (e) => L(e, (t) => e.moveToLineBoundary(t, !0, !1));
441
+ function ze(e, t, n) {
442
+ let i = !1, a = F(e.selection, (t) => {
443
+ let a = y(e, t.head, -1) || y(e, t.head, 1) || t.head > 0 && y(e, t.head - 1, 1) || t.head < e.doc.length && y(e, t.head + 1, -1);
444
+ if (!a || !a.end) return t;
445
+ i = !0;
446
+ let o = a.start.from == t.head ? a.end.to : a.end.from;
447
+ return n ? r.range(t.anchor, o) : r.cursor(o);
448
+ });
449
+ return i ? (t(I(e, a)), !0) : !1;
450
+ }
451
+ var Be = ({ state: e, dispatch: t }) => ze(e, t, !1);
452
+ function J(e, t, n) {
453
+ let i = F(e.state.selection, (e) => {
454
+ e.undirectional && e.head >= e.anchor != t && (e = r.range(e.head, e.anchor));
455
+ let i = n(e);
456
+ return r.range(e.anchor, i.head, i.goalColumn, i.bidiLevel || void 0, i.assoc);
457
+ });
458
+ return i.eq(e.state.selection) ? !1 : (e.dispatch(I(e.state, i)), !0);
459
+ }
460
+ function Ve(e, t) {
461
+ return J(e, t, (n) => e.moveByChar(n, t));
462
+ }
463
+ var He = (e) => Ve(e, !B(e)), Ue = (e) => Ve(e, B(e));
464
+ function We(e, t) {
465
+ return J(e, t, (n) => e.moveByGroup(n, t));
466
+ }
467
+ var Ge = (e) => We(e, !B(e)), Ke = (e) => We(e, B(e)), qe = (e) => {
468
+ let t = !B(e);
469
+ return J(e, t, (n) => W(e.state, n, t));
470
+ }, Je = (e) => {
471
+ let t = B(e);
472
+ return J(e, t, (n) => W(e.state, n, t));
473
+ };
474
+ function Ye(e, t) {
475
+ return J(e, t, (n) => e.moveVertically(n, t));
476
+ }
477
+ var Xe = (e) => Ye(e, !1), Ze = (e) => Ye(e, !0);
478
+ function Qe(e, t) {
479
+ return J(e, t, (n) => e.moveVertically(n, t, G(e).height));
480
+ }
481
+ var $e = (e) => Qe(e, !1), et = (e) => Qe(e, !0), tt = (e) => J(e, !0, (t) => q(e, t, !0)), nt = (e) => J(e, !1, (t) => q(e, t, !1)), rt = (e) => {
482
+ let t = !B(e);
483
+ return J(e, t, (n) => q(e, n, t));
484
+ }, it = (e) => {
485
+ let t = B(e);
486
+ return J(e, t, (n) => q(e, n, t));
487
+ }, at = (e) => J(e, !1, (t) => r.cursor(e.lineBlockAt(t.head).from)), ot = (e) => J(e, !0, (t) => r.cursor(e.lineBlockAt(t.head).to)), st = ({ state: e, dispatch: t }) => (t(I(e, { anchor: 0 })), !0), ct = ({ state: e, dispatch: t }) => (t(I(e, { anchor: e.doc.length })), !0), lt = ({ state: e, dispatch: t }) => (t(I(e, {
488
+ anchor: e.selection.main.anchor,
489
+ head: 0
490
+ })), !0), ut = ({ state: e, dispatch: t }) => (t(I(e, {
491
+ anchor: e.selection.main.anchor,
492
+ head: e.doc.length
493
+ })), !0), dt = ({ state: e, dispatch: t }) => (t(e.update({
494
+ selection: {
495
+ anchor: 0,
496
+ head: e.doc.length
497
+ },
498
+ userEvent: "select"
499
+ })), !0), ft = ({ state: e, dispatch: t }) => {
500
+ let n = Q(e).map(({ from: t, to: n }) => r.undirectionalRange(t, Math.min(n + 1, e.doc.length)));
501
+ return t(e.update({
502
+ selection: r.create(n),
503
+ userEvent: "select"
504
+ })), !0;
505
+ }, pt = ({ state: e, dispatch: t }) => {
506
+ let n = F(e.selection, (t) => {
507
+ let n = b(e), i = n.resolveStack(t.from, 1);
508
+ if (t.empty) {
509
+ let e = n.resolveStack(t.from, -1);
510
+ e.node.from >= i.node.from && e.node.to <= i.node.to && (i = e);
511
+ }
512
+ for (let e = i; e; e = e.next) {
513
+ let { node: n } = e;
514
+ if ((n.from < t.from && n.to >= t.to || n.to > t.to && n.from <= t.from) && e.next) return r.undirectionalRange(n.from, n.to);
515
+ }
516
+ return t;
517
+ });
518
+ return n.eq(e.selection) ? !1 : (t(I(e, n)), !0);
519
+ };
520
+ function mt(e, t) {
521
+ let { state: n } = e, i = n.selection, a = n.selection.ranges.slice();
522
+ for (let r of n.selection.ranges) {
523
+ let i = n.doc.lineAt(r.head);
524
+ if (t ? i.to < e.state.doc.length : i.from > 0) for (let n = r;;) {
525
+ let r = e.moveVertically(n, t);
526
+ if (r.head < i.from || r.head > i.to) {
527
+ a.some((e) => e.head == r.head) || a.push(r);
528
+ break;
529
+ } else if (r.head == n.head) break;
530
+ else n = r;
531
+ }
532
+ }
533
+ return a.length == i.ranges.length ? !1 : (e.dispatch(I(n, r.create(a, a.length - 1))), !0);
534
+ }
535
+ var ht = (e) => mt(e, !1), gt = (e) => mt(e, !0), _t = ({ state: e, dispatch: t }) => {
536
+ let n = e.selection, i = null;
537
+ return n.ranges.length > 1 ? i = r.create([n.main]) : n.main.empty || (i = r.create([r.cursor(n.main.head)])), i ? (t(I(e, i)), !0) : !1;
538
+ };
539
+ function Y(e, t) {
540
+ if (e.state.readOnly) return !1;
541
+ let n = "delete.selection", { state: i } = e, a = i.changeByRange((i) => {
542
+ let { from: a, to: o } = i;
543
+ if (a == o) {
544
+ let r = t(i);
545
+ r < a ? (n = "delete.backward", r = X(e, r, !1)) : r > a && (n = "delete.forward", r = X(e, r, !0)), a = Math.min(a, r), o = Math.max(o, r);
546
+ } else a = X(e, a, !1), o = X(e, o, !0);
547
+ return a == o ? { range: i } : {
548
+ changes: {
549
+ from: a,
550
+ to: o
551
+ },
552
+ range: r.cursor(a, a < i.head ? -1 : 1)
553
+ };
554
+ });
555
+ return a.changes.empty ? !1 : (e.dispatch(i.update(a, {
556
+ scrollIntoView: !0,
557
+ userEvent: n,
558
+ effects: n == "delete.selection" ? p.announce.of(i.phrase("Selection deleted")) : void 0
559
+ })), !0);
560
+ }
561
+ function X(e, t, n) {
562
+ if (e instanceof p) for (let r of e.state.facet(p.atomicRanges).map((t) => t(e))) r.between(t, t, (e, r) => {
563
+ e < t && r > t && (t = n ? r : e);
564
+ });
565
+ return t;
566
+ }
567
+ var vt = (e, t, n) => Y(e, (r) => {
568
+ let i = r.from, { state: a } = e, o = a.doc.lineAt(i), s, c;
569
+ if (n && !t && i > o.from && i < o.from + 200 && !/[^ \t]/.test(s = o.text.slice(0, i - o.from))) {
570
+ if (s[s.length - 1] == " ") return i - 1;
571
+ let e = u(s, a.tabSize) % g(a) || g(a);
572
+ for (let t = 0; t < e && s[s.length - 1 - t] == " "; t++) i--;
573
+ c = i;
574
+ } else c = d(o.text, i - o.from, t, t) + o.from, c == i && o.number != (t ? a.doc.lines : 1) ? c += t ? 1 : -1 : !t && /[\ufe00-\ufe0f]/.test(o.text.slice(c - o.from, i - o.from)) && (c = d(o.text, c - o.from, !1, !1) + o.from);
575
+ return c;
576
+ }), Z = (e) => vt(e, !1, !0), yt = (e) => vt(e, !0, !1), bt = (e, t) => Y(e, (n) => {
577
+ let r = n.head, { state: i } = e, a = i.doc.lineAt(r), o = i.charCategorizer(r);
578
+ for (let e = null;;) {
579
+ if (r == (t ? a.to : a.from)) {
580
+ r == n.head && a.number != (t ? i.doc.lines : 1) && (r += t ? 1 : -1);
581
+ break;
582
+ }
583
+ let s = d(a.text, r - a.from, t) + a.from, c = a.text.slice(Math.min(r, s) - a.from, Math.max(r, s) - a.from), l = o(c);
584
+ if (e != null && l != e) break;
585
+ (c != " " || r != n.head) && (e = l), r = s;
586
+ }
587
+ return r;
588
+ }), xt = (e) => bt(e, !1), St = (e) => bt(e, !0), Ct = (e) => Y(e, (t) => {
589
+ let n = e.lineBlockAt(t.head).to;
590
+ return t.head < n ? n : Math.min(e.state.doc.length, t.head + 1);
591
+ }), wt = (e) => Y(e, (t) => {
592
+ let n = e.moveToLineBoundary(t, !1).head;
593
+ return t.head > n ? n : Math.max(0, t.head - 1);
594
+ }), Tt = (e) => Y(e, (t) => {
595
+ let n = e.moveToLineBoundary(t, !0).head;
596
+ return t.head < n ? n : Math.min(e.state.doc.length, t.head + 1);
597
+ }), Et = ({ state: e, dispatch: t }) => {
598
+ if (e.readOnly) return !1;
599
+ let n = e.changeByRange((e) => ({
600
+ changes: {
601
+ from: e.from,
602
+ to: e.to,
603
+ insert: s.of(["", ""])
604
+ },
605
+ range: r.cursor(e.from)
606
+ }));
607
+ return t(e.update(n, {
608
+ scrollIntoView: !0,
609
+ userEvent: "input"
610
+ })), !0;
611
+ }, Dt = ({ state: e, dispatch: t }) => {
612
+ if (e.readOnly) return !1;
613
+ let n = e.changeByRange((t) => {
614
+ if (!t.empty || t.from == 0 || t.from == e.doc.length) return { range: t };
615
+ let n = t.from, i = e.doc.lineAt(n), a = n == i.from ? n - 1 : d(i.text, n - i.from, !1) + i.from, o = n == i.to ? n + 1 : d(i.text, n - i.from, !0) + i.from;
616
+ return {
617
+ changes: {
618
+ from: a,
619
+ to: o,
620
+ insert: e.doc.slice(n, o).append(e.doc.slice(a, n))
621
+ },
622
+ range: r.cursor(o)
623
+ };
624
+ });
625
+ return n.changes.empty ? !1 : (t(e.update(n, {
626
+ scrollIntoView: !0,
627
+ userEvent: "move.character"
628
+ })), !0);
629
+ };
630
+ function Q(e) {
631
+ let t = [], n = -1;
632
+ for (let r of e.selection.ranges) {
633
+ let i = e.doc.lineAt(r.from), a = e.doc.lineAt(r.to);
634
+ if (!r.empty && r.to == a.from && (a = e.doc.lineAt(r.to - 1)), n >= i.number) {
635
+ let e = t[t.length - 1];
636
+ e.to = a.to, e.ranges.push(r);
637
+ } else t.push({
638
+ from: i.from,
639
+ to: a.to,
640
+ ranges: [r]
641
+ });
642
+ n = a.number + 1;
643
+ }
644
+ return t;
645
+ }
646
+ function Ot(e, t, n) {
647
+ if (e.readOnly) return !1;
648
+ let i = [], a = [];
649
+ for (let t of Q(e)) {
650
+ if (n ? t.to == e.doc.length : t.from == 0) continue;
651
+ let o = e.doc.lineAt(n ? t.to + 1 : t.from - 1), s = o.length + 1;
652
+ if (n) {
653
+ i.push({
654
+ from: t.to,
655
+ to: o.to
656
+ }, {
657
+ from: t.from,
658
+ insert: o.text + e.lineBreak
659
+ });
660
+ for (let n of t.ranges) a.push(r.range(Math.min(e.doc.length, n.anchor + s), Math.min(e.doc.length, n.head + s)));
661
+ } else {
662
+ i.push({
663
+ from: o.from,
664
+ to: t.from
665
+ }, {
666
+ from: t.to,
667
+ insert: e.lineBreak + o.text
668
+ });
669
+ for (let e of t.ranges) a.push(r.range(e.anchor - s, e.head - s));
670
+ }
671
+ }
672
+ return i.length ? (t(e.update({
673
+ changes: i,
674
+ scrollIntoView: !0,
675
+ selection: r.create(a, e.selection.mainIndex),
676
+ userEvent: "move.line"
677
+ })), !0) : !1;
678
+ }
679
+ var kt = ({ state: e, dispatch: t }) => Ot(e, t, !1), At = ({ state: e, dispatch: t }) => Ot(e, t, !0);
680
+ function jt(e, t, n) {
681
+ if (e.readOnly) return !1;
682
+ let r = [];
683
+ for (let t of Q(e)) n ? r.push({
684
+ from: t.from,
685
+ insert: e.doc.slice(t.from, t.to) + e.lineBreak
686
+ }) : r.push({
687
+ from: t.to,
688
+ insert: e.lineBreak + e.doc.slice(t.from, t.to)
689
+ });
690
+ let i = e.changes(r);
691
+ return t(e.update({
692
+ changes: i,
693
+ selection: e.selection.map(i, n ? 1 : -1),
694
+ scrollIntoView: !0,
695
+ userEvent: "input.copyline"
696
+ })), !0;
697
+ }
698
+ var Mt = ({ state: e, dispatch: t }) => jt(e, t, !1), Nt = ({ state: e, dispatch: t }) => jt(e, t, !0), Pt = (e) => {
699
+ if (e.state.readOnly) return !1;
700
+ let { state: t } = e, n = t.changes(Q(t).map(({ from: e, to: n }) => (e > 0 ? e-- : n < t.doc.length && n++, {
701
+ from: e,
702
+ to: n
703
+ }))), r = F(t.selection, (t) => {
704
+ let n;
705
+ if (e.lineWrapping) {
706
+ let r = e.lineBlockAt(t.head), i = e.coordsAtPos(t.head, t.assoc || 1);
707
+ i && (n = r.bottom + e.documentTop - i.bottom + e.defaultLineHeight / 2);
708
+ }
709
+ return e.moveVertically(t, !0, n);
710
+ }).map(n);
711
+ return e.dispatch({
712
+ changes: n,
713
+ selection: r,
714
+ scrollIntoView: !0,
715
+ userEvent: "delete.line"
716
+ }), !0;
717
+ };
718
+ function Ft(e, t) {
719
+ if (/\(\)|\[\]|\{\}/.test(e.sliceDoc(t - 1, t + 1))) return {
720
+ from: t,
721
+ to: t
722
+ };
723
+ let n = b(e).resolveInner(t), r = n.childBefore(t), i = n.childAfter(t), a;
724
+ return r && i && r.to <= t && i.from >= t && (a = r.type.prop(m.closedBy)) && a.indexOf(i.name) > -1 && e.doc.lineAt(r.to).from == e.doc.lineAt(i.from).from && !/\S/.test(e.sliceDoc(r.to, i.from)) ? {
725
+ from: r.to,
726
+ to: i.from
727
+ } : null;
728
+ }
729
+ var It = /* @__PURE__ */ Rt(!1), Lt = /* @__PURE__ */ Rt(!0);
730
+ function Rt(e) {
731
+ return ({ state: t, dispatch: n }) => {
732
+ if (t.readOnly) return !1;
733
+ let i = t.changeByRange((n) => {
734
+ let { from: i, to: a } = n, o = t.doc.lineAt(i), c = !e && i == a && Ft(t, i);
735
+ e && (i = a = (a <= o.to ? o : t.doc.lineAt(a)).to);
736
+ let l = new h(t, {
737
+ simulateBreak: i,
738
+ simulateDoubleBreak: !!c
739
+ }), d = _(l, i);
740
+ for (d ??= u(/^\s*/.exec(t.doc.lineAt(i).text)[0], t.tabSize); a < o.to && /\s/.test(o.text[a - o.from]);) a++;
741
+ c ? {from: i, to: a} = c : i > o.from && i < o.from + 100 && !/\S/.test(o.text.slice(0, i)) && (i = o.from);
742
+ let f = ["", v(t, d)];
743
+ return c && f.push(v(t, l.lineIndent(o.from, -1))), {
744
+ changes: {
745
+ from: i,
746
+ to: a,
747
+ insert: s.of(f)
748
+ },
749
+ range: r.cursor(i + 1 + f[1].length)
750
+ };
751
+ });
752
+ return n(t.update(i, {
753
+ scrollIntoView: !0,
754
+ userEvent: "input"
755
+ })), !0;
756
+ };
757
+ }
758
+ function $(e, t) {
759
+ let n = -1;
760
+ return e.changeByRange((i) => {
761
+ let a = [];
762
+ for (let r = i.from; r <= i.to;) {
763
+ let o = e.doc.lineAt(r);
764
+ o.number > n && (i.empty || i.to > o.from) && (t(o, a, i), n = o.number), r = o.to + 1;
765
+ }
766
+ let o = e.changes(a);
767
+ return {
768
+ changes: a,
769
+ range: r.range(o.mapPos(i.anchor, 1), o.mapPos(i.head, 1))
770
+ };
771
+ });
772
+ }
773
+ var zt = ({ state: e, dispatch: t }) => {
774
+ if (e.readOnly) return !1;
775
+ let n = Object.create(null), r = new h(e, { overrideIndentation: (e) => n[e] ?? -1 }), i = $(e, (t, i, a) => {
776
+ let o = _(r, t.from);
777
+ if (o == null) return;
778
+ /\S/.test(t.text) || (o = 0);
779
+ let s = /^\s*/.exec(t.text)[0], c = v(e, o);
780
+ (s != c || a.from < t.from + s.length) && (n[t.from] = o, i.push({
781
+ from: t.from,
782
+ to: t.from + s.length,
783
+ insert: c
784
+ }));
785
+ });
786
+ return i.changes.empty || t(e.update(i, { userEvent: "indent" })), !0;
787
+ }, Bt = ({ state: e, dispatch: t }) => e.readOnly ? !1 : (t(e.update($(e, (t, n) => {
788
+ n.push({
789
+ from: t.from,
790
+ insert: e.facet(ee)
791
+ });
792
+ }), { userEvent: "input.indent" })), !0), Vt = ({ state: e, dispatch: t }) => e.readOnly ? !1 : (t(e.update($(e, (t, n) => {
793
+ let r = /^\s*/.exec(t.text)[0];
794
+ if (!r) return;
795
+ let i = u(r, e.tabSize), a = 0, o = v(e, Math.max(0, i - g(e)));
796
+ for (; a < r.length && a < o.length && r.charCodeAt(a) == o.charCodeAt(a);) a++;
797
+ n.push({
798
+ from: t.from + a,
799
+ to: t.from + r.length,
800
+ insert: o.slice(a)
801
+ });
802
+ }), { userEvent: "delete.dedent" })), !0), Ht = (e) => (e.setTabFocusMode(), !0), Ut = [
803
+ {
804
+ key: "Ctrl-b",
805
+ run: V,
806
+ shift: He,
807
+ preventDefault: !0
808
+ },
809
+ {
810
+ key: "Ctrl-f",
811
+ run: H,
812
+ shift: Ue
813
+ },
814
+ {
815
+ key: "Ctrl-p",
816
+ run: ke,
817
+ shift: Xe
818
+ },
819
+ {
820
+ key: "Ctrl-n",
821
+ run: Ae,
822
+ shift: Ze
823
+ },
824
+ {
825
+ key: "Ctrl-a",
826
+ run: Le,
827
+ shift: at
828
+ },
829
+ {
830
+ key: "Ctrl-e",
831
+ run: Re,
832
+ shift: ot
833
+ },
834
+ {
835
+ key: "Ctrl-d",
836
+ run: yt
837
+ },
838
+ {
839
+ key: "Ctrl-h",
840
+ run: Z
841
+ },
842
+ {
843
+ key: "Ctrl-k",
844
+ run: Ct
845
+ },
846
+ {
847
+ key: "Ctrl-Alt-h",
848
+ run: xt
849
+ },
850
+ {
851
+ key: "Ctrl-o",
852
+ run: Et
853
+ },
854
+ {
855
+ key: "Ctrl-t",
856
+ run: Dt
857
+ },
858
+ {
859
+ key: "Ctrl-v",
860
+ run: K
861
+ }
862
+ ], Wt = /* @__PURE__ */ [
863
+ {
864
+ key: "ArrowLeft",
865
+ run: V,
866
+ shift: He,
867
+ preventDefault: !0
868
+ },
869
+ {
870
+ key: "Mod-ArrowLeft",
871
+ mac: "Alt-ArrowLeft",
872
+ run: Ce,
873
+ shift: Ge,
874
+ preventDefault: !0
875
+ },
876
+ {
877
+ mac: "Cmd-ArrowLeft",
878
+ run: Fe,
879
+ shift: rt,
880
+ preventDefault: !0
881
+ },
882
+ {
883
+ key: "ArrowRight",
884
+ run: H,
885
+ shift: Ue,
886
+ preventDefault: !0
887
+ },
888
+ {
889
+ key: "Mod-ArrowRight",
890
+ mac: "Alt-ArrowRight",
891
+ run: we,
892
+ shift: Ke,
893
+ preventDefault: !0
894
+ },
895
+ {
896
+ mac: "Cmd-ArrowRight",
897
+ run: Ie,
898
+ shift: it,
899
+ preventDefault: !0
900
+ },
901
+ {
902
+ key: "ArrowUp",
903
+ run: ke,
904
+ shift: Xe,
905
+ preventDefault: !0
906
+ },
907
+ {
908
+ mac: "Cmd-ArrowUp",
909
+ run: st,
910
+ shift: lt
911
+ },
912
+ {
913
+ mac: "Ctrl-ArrowUp",
914
+ run: Me,
915
+ shift: $e
916
+ },
917
+ {
918
+ key: "ArrowDown",
919
+ run: Ae,
920
+ shift: Ze,
921
+ preventDefault: !0
922
+ },
923
+ {
924
+ mac: "Cmd-ArrowDown",
925
+ run: ct,
926
+ shift: ut
927
+ },
928
+ {
929
+ mac: "Ctrl-ArrowDown",
930
+ run: K,
931
+ shift: et
932
+ },
933
+ {
934
+ key: "PageUp",
935
+ run: Me,
936
+ shift: $e
937
+ },
938
+ {
939
+ key: "PageDown",
940
+ run: K,
941
+ shift: et
942
+ },
943
+ {
944
+ key: "Home",
945
+ run: Pe,
946
+ shift: nt,
947
+ preventDefault: !0
948
+ },
949
+ {
950
+ key: "Mod-Home",
951
+ run: st,
952
+ shift: lt
953
+ },
954
+ {
955
+ key: "End",
956
+ run: Ne,
957
+ shift: tt,
958
+ preventDefault: !0
959
+ },
960
+ {
961
+ key: "Mod-End",
962
+ run: ct,
963
+ shift: ut
964
+ },
965
+ {
966
+ key: "Enter",
967
+ run: It,
968
+ shift: It
969
+ },
970
+ {
971
+ key: "Mod-a",
972
+ run: dt
973
+ },
974
+ {
975
+ key: "Backspace",
976
+ run: Z,
977
+ shift: Z,
978
+ preventDefault: !0
979
+ },
980
+ {
981
+ key: "Delete",
982
+ run: yt,
983
+ preventDefault: !0
984
+ },
985
+ {
986
+ key: "Mod-Backspace",
987
+ mac: "Alt-Backspace",
988
+ run: xt,
989
+ preventDefault: !0
990
+ },
991
+ {
992
+ key: "Mod-Delete",
993
+ mac: "Alt-Delete",
994
+ run: St,
995
+ preventDefault: !0
996
+ },
997
+ {
998
+ mac: "Mod-Backspace",
999
+ run: wt,
1000
+ preventDefault: !0
1001
+ },
1002
+ {
1003
+ mac: "Mod-Delete",
1004
+ run: Tt,
1005
+ preventDefault: !0
1006
+ }
1007
+ ].concat(/* @__PURE__ */ Ut.map((e) => ({
1008
+ mac: e.key,
1009
+ run: e.run,
1010
+ shift: e.shift
1011
+ }))), Gt = /* @__PURE__ */ [
1012
+ {
1013
+ key: "Alt-ArrowLeft",
1014
+ mac: "Ctrl-ArrowLeft",
1015
+ run: Ee,
1016
+ shift: qe
1017
+ },
1018
+ {
1019
+ key: "Alt-ArrowRight",
1020
+ mac: "Ctrl-ArrowRight",
1021
+ run: De,
1022
+ shift: Je
1023
+ },
1024
+ {
1025
+ key: "Alt-ArrowUp",
1026
+ run: kt
1027
+ },
1028
+ {
1029
+ key: "Shift-Alt-ArrowUp",
1030
+ run: Mt
1031
+ },
1032
+ {
1033
+ key: "Alt-ArrowDown",
1034
+ run: At
1035
+ },
1036
+ {
1037
+ key: "Shift-Alt-ArrowDown",
1038
+ run: Nt
1039
+ },
1040
+ {
1041
+ key: "Mod-Alt-ArrowUp",
1042
+ run: ht
1043
+ },
1044
+ {
1045
+ key: "Mod-Alt-ArrowDown",
1046
+ run: gt
1047
+ },
1048
+ {
1049
+ key: "Escape",
1050
+ run: _t
1051
+ },
1052
+ {
1053
+ key: "Mod-Enter",
1054
+ run: Lt
1055
+ },
1056
+ {
1057
+ key: "Alt-l",
1058
+ mac: "Ctrl-l",
1059
+ run: ft
1060
+ },
1061
+ {
1062
+ key: "Mod-i",
1063
+ run: pt,
1064
+ preventDefault: !0
1065
+ },
1066
+ {
1067
+ key: "Mod-[",
1068
+ run: Vt
1069
+ },
1070
+ {
1071
+ key: "Mod-]",
1072
+ run: Bt
1073
+ },
1074
+ {
1075
+ key: "Mod-Alt-\\",
1076
+ run: zt
1077
+ },
1078
+ {
1079
+ key: "Shift-Mod-k",
1080
+ run: Pt
1081
+ },
1082
+ {
1083
+ key: "Shift-Mod-\\",
1084
+ run: Be
1085
+ },
1086
+ {
1087
+ key: "Mod-/",
1088
+ run: te
1089
+ },
1090
+ {
1091
+ key: "Alt-A",
1092
+ mac: "Ctrl-A",
1093
+ run: re
1094
+ },
1095
+ {
1096
+ key: "Ctrl-m",
1097
+ mac: "Shift-Alt-m",
1098
+ run: Ht
1099
+ }
1100
+ ].concat(Wt), Kt = {
1101
+ key: "Tab",
1102
+ run: Bt,
1103
+ shift: Vt
1104
+ };
1105
+ //#endregion
1106
+ export { Gt as defaultKeymap, fe as history, Se as historyKeymap, Kt as indentWithTab };
1107
+
1108
+ //# sourceMappingURL=index.js.map