@mx-space/cli 0.13.1 → 0.13.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 (58) hide show
  1. package/README.md +59 -0
  2. package/ROADMAP.md +10 -7
  3. package/dist/{Lexical.dev-By5dOKBN.mjs → Lexical.dev-BsbWMhb3.mjs} +2265 -429
  4. package/dist/{Lexical.node-fXM8Jp7p.mjs → Lexical.node-DnR_u_Ke.mjs} +47 -10
  5. package/dist/Lexical.prod-B7L8eVsO.mjs +6816 -0
  6. package/dist/{LexicalClipboard.dev--HxGoSkO.mjs → LexicalClipboard.dev-BGSFbuTA.mjs} +131 -39
  7. package/dist/{LexicalClipboard.node-C3mRbrmW.mjs → LexicalClipboard.node-CUD_tpWb.mjs} +2 -2
  8. package/dist/LexicalClipboard.prod-DQXfRt3h.mjs +429 -0
  9. package/dist/{LexicalCodeCore.dev-DjSrd4A4.mjs → LexicalCodeCore.dev-B9lK_GSN.mjs} +81 -67
  10. package/dist/LexicalCodeCore.prod-CNWMPXhg.mjs +651 -0
  11. package/dist/LexicalDragon.dev-DRm2bGZ1.mjs +186 -0
  12. package/dist/{LexicalDragon.node-BVhw4C7s.mjs → LexicalDragon.node-d8gPruly.mjs} +3 -2
  13. package/dist/LexicalDragon.prod-ey3uKDJF.mjs +121 -0
  14. package/dist/{LexicalExtension.dev-BPNyvGqe.mjs → LexicalExtension.dev-CXtOJb83.mjs} +349 -35
  15. package/dist/{LexicalExtension.node-BVlcrgOx.mjs → LexicalExtension.node-CMsupJZs.mjs} +9 -4
  16. package/dist/{LexicalExtension.prod-DFKbiNt-.mjs → LexicalExtension.prod-BCLGhzcg.mjs} +477 -328
  17. package/dist/{LexicalHeadless.dev-B-cj7Pr5.mjs → LexicalHeadless.dev-yVDOBd64.mjs} +2 -2
  18. package/dist/{LexicalHeadless.prod-Byp1vNzT.mjs → LexicalHeadless.prod-B8qauuEA.mjs} +2 -2
  19. package/dist/{LexicalHtml.dev-prBAwszN.mjs → LexicalHtml.dev-3rdckXIU.mjs} +323 -265
  20. package/dist/{LexicalHtml.node-BvNF96jZ.mjs → LexicalHtml.node-DagZUjQ_.mjs} +6 -4
  21. package/dist/{LexicalHtml.prod-Sz3CW1ht.mjs → LexicalHtml.prod-B5AQaJDb.mjs} +354 -352
  22. package/dist/{LexicalLink.dev-NySTYhVR.mjs → LexicalLink.dev-CspSwLNB.mjs} +69 -58
  23. package/dist/{LexicalLink.prod-BuCM8gts.mjs → LexicalLink.prod-Da-ZW6H5.mjs} +210 -211
  24. package/dist/{LexicalList.dev-DIMOvSFD.mjs → LexicalList.dev-CNXmV6v8.mjs} +246 -198
  25. package/dist/LexicalList.prod-DgQzj4v9.mjs +944 -0
  26. package/dist/{LexicalMarkdown.dev-C7aylvCG.mjs → LexicalMarkdown.dev-0XURdo96.mjs} +129 -37
  27. package/dist/LexicalMarkdown.prod-qUsIQfJx.mjs +932 -0
  28. package/dist/{LexicalRichText.dev-DfICq6lU.mjs → LexicalRichText.dev-BqsEA7I9.mjs} +151 -122
  29. package/dist/{LexicalRichText.node-Bg9jND3Q.mjs → LexicalRichText.node-D73RR0Ck.mjs} +8 -11
  30. package/dist/LexicalRichText.prod-4Atyd7OR.mjs +538 -0
  31. package/dist/{LexicalSelection.dev-DGjj12wW.mjs → LexicalSelection.dev-DK5xfxKP.mjs} +10 -9
  32. package/dist/{LexicalSelection.node-BU5L4193.mjs → LexicalSelection.node-pyZyrANz.mjs} +4 -4
  33. package/dist/{LexicalSelection.prod-D-PwRbyK.mjs → LexicalSelection.prod-C5GrCbDC.mjs} +144 -146
  34. package/dist/{LexicalTable.dev-ChP7cugd.mjs → LexicalTable.dev-DiR_4rdI.mjs} +184 -119
  35. package/dist/LexicalTable.prod-Cbc5EasT.mjs +2336 -0
  36. package/dist/{LexicalUtils.dev-BiFU3789.mjs → LexicalUtils.dev-jhPjn1vQ.mjs} +375 -35
  37. package/dist/{LexicalUtils.node-j3Llm7Y3.mjs → LexicalUtils.node-Ck74ludK.mjs} +24 -12
  38. package/dist/LexicalUtils.prod-nuTBxnk_.mjs +504 -0
  39. package/dist/bin/mxs.mjs +1 -1
  40. package/dist/esm-BumPuCXw.mjs +2 -0
  41. package/dist/{esm-DFrz5rIo.mjs → esm-DupC6TTP.mjs} +214 -179
  42. package/dist/index.d.mts +46 -17
  43. package/dist/index.mjs +1 -1
  44. package/dist/{mxs-DXpzbUf4.mjs → mxs-BgAyMQdq.mjs} +8384 -6209
  45. package/package.json +17 -17
  46. package/skills/commands-ai.md +115 -0
  47. package/skills/overview.md +1 -0
  48. package/dist/Lexical.prod-BlCvXPGa.mjs +0 -6088
  49. package/dist/LexicalClipboard.prod-DNJzFMcT.mjs +0 -371
  50. package/dist/LexicalCodeCore.prod-DTDShkR3.mjs +0 -642
  51. package/dist/LexicalDragon.dev-DwprRH0z.mjs +0 -88
  52. package/dist/LexicalDragon.prod-nh4J-8vn.mjs +0 -59
  53. package/dist/LexicalList.prod-MVqfA6Vo.mjs +0 -925
  54. package/dist/LexicalMarkdown.prod-CfQSM406.mjs +0 -868
  55. package/dist/LexicalRichText.prod-GsFzCK-o.mjs +0 -550
  56. package/dist/LexicalTable.prod-Bpr9YRXp.mjs +0 -2311
  57. package/dist/LexicalUtils.prod-DCvrA78p.mjs +0 -373
  58. package/dist/esm-DXO9Afik.mjs +0 -2
@@ -0,0 +1,651 @@
1
+ import { d as getPeerDependencyFromEditor, f as namedSignals, l as effect } from "./LexicalExtension.node-CMsupJZs.mjs";
2
+ import { Bn as KEY_ARROW_LEFT_COMMAND, Br as isDOMDocumentNode, Ct as $normalizeCaret, D as $getCaretRange, G as $getSiblingCaret, Gn as KEY_ENTER_COMMAND, Hn as KEY_ARROW_UP_COMMAND, I as $getEditor, Jn as KEY_TAB_COMMAND, Lr as getTextDirection, Nt as $setSelectionFromCaretRange, O as $getCaretRangeInDirection, Qn as OUTDENT_CONTENT_COMMAND, S as $generateNodesFromRawText, Ur as isDOMTextNode, Vn as KEY_ARROW_RIGHT_COMMAND, W as $getSelection, Xn as MOVE_TO_END, Yt as COMMAND_PRIORITY_LOW, Z as $getTextPointCaret, Zn as MOVE_TO_START, _ as $createTabNode, ai as safeCast, at as $isElementNode, br as defineExtension, bt as $isTextNode, d as $createLineBreakNode, dn as ElementNode, et as $insertNodes, fi as tokenizeRawText, fr as TextNode, hr as configExtension, ii as removeClassNamesFromElement, m as $createPoint, n as $applyNodeReplacement, ni as mergeRegister, oi as setDOMStyleFromCSS, p as $createParagraphNode, pr as addClassNamesToElement, pt as $isRangeSelection, qr as isHTMLElement, u as $create, ut as $isLineBreakNode, vn as INDENT_CONTENT_COMMAND, xn as INSERT_TAB_COMMAND, yt as $isTabNode, zn as KEY_ARROW_DOWN_COMMAND } from "./Lexical.node-DnR_u_Ke.mjs";
3
+ import { c as DOMImportExtension, g as defineOverlayRules, h as defineImportRule, l as ImportOverlays, s as CoreImportExtension, v as sel } from "./LexicalHtml.node-DagZUjQ_.mjs";
4
+ import { l as $onEscapeDown, u as $onEscapeUp } from "./LexicalUtils.node-Ck74ludK.mjs";
5
+ //#region ../../node_modules/.pnpm/@lexical+code-core@0.46.0_typescript@6.0.3/node_modules/@lexical/code-core/dist/LexicalCodeCore.prod.mjs
6
+ /**
7
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
8
+ *
9
+ * This source code is licensed under the MIT license found in the
10
+ * LICENSE file in the root directory of this source tree.
11
+ *
12
+ */
13
+ function ie(e, ...t) {
14
+ const n = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
15
+ r.append("code", e);
16
+ for (const e of t) r.append("v", e);
17
+ throw n.search = r.toString(), Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);
18
+ }
19
+ function oe(e, t) {
20
+ let n = e;
21
+ for (let r = $getSiblingCaret(e, t); r && (Be(r.origin) || $isTabNode(r.origin)); r = r.getAdjacentCaret()) n = r.origin;
22
+ return n;
23
+ }
24
+ function se(e) {
25
+ return oe(e, "previous");
26
+ }
27
+ function le(e) {
28
+ return oe(e, "next");
29
+ }
30
+ function ue(e) {
31
+ const t = se(e), n = le(e);
32
+ let r = t;
33
+ for (; null !== r;) {
34
+ if (Be(r)) {
35
+ const e = getTextDirection(r.getTextContent());
36
+ if (null !== e) return e;
37
+ }
38
+ if (r === n) break;
39
+ r = r.getNextSibling();
40
+ }
41
+ const i = t.getParent();
42
+ if ($isElementNode(i)) {
43
+ const e = i.getDirection();
44
+ if ("ltr" === e || "rtl" === e) return e;
45
+ }
46
+ return null;
47
+ }
48
+ function ce(e, t) {
49
+ let n = null, r = null, i = e, o = t, s = e.getTextContent();
50
+ for (;;) {
51
+ if (0 === o) {
52
+ const e = i.getPreviousSibling();
53
+ if (null === e) {
54
+ i = null;
55
+ break;
56
+ }
57
+ if (Be(e) || $isTabNode(e) || $isLineBreakNode(e) || ie(167), i = e, $isLineBreakNode(i)) {
58
+ n = {
59
+ node: i,
60
+ offset: 1
61
+ };
62
+ break;
63
+ }
64
+ o = Math.max(0, i.getTextContentSize() - 1), s = i.getTextContent();
65
+ } else o--;
66
+ const e = s[o];
67
+ Be(i) && " " !== e && (r = {
68
+ node: i,
69
+ offset: o
70
+ });
71
+ }
72
+ if (null !== r) return r;
73
+ let l = null;
74
+ if (t < e.getTextContentSize()) Be(e) && (l = e.getTextContent()[t]);
75
+ else {
76
+ const t = e.getNextSibling();
77
+ Be(t) && (l = t.getTextContent()[0]);
78
+ }
79
+ if (null !== l && " " !== l) return n;
80
+ {
81
+ const r = function(e, t) {
82
+ let n = e, r = t, i = e.getTextContent(), o = e.getTextContentSize();
83
+ for (;;) {
84
+ if (!Be(n) || r === o) {
85
+ if (n = n.getNextSibling(), null === n || $isLineBreakNode(n)) return null;
86
+ Be(n) && (r = 0, i = n.getTextContent(), o = n.getTextContentSize());
87
+ }
88
+ if (Be(n)) {
89
+ if (" " !== i[r]) return {
90
+ node: n,
91
+ offset: r
92
+ };
93
+ r++;
94
+ }
95
+ }
96
+ }(e, t);
97
+ return null !== r ? r : n;
98
+ }
99
+ }
100
+ function ae(e) {
101
+ const t = le(e);
102
+ return $isLineBreakNode(t) && ie(168), t;
103
+ }
104
+ function ge(e) {
105
+ const t = [];
106
+ return tokenizeRawText(e, {
107
+ linebreak: () => t.push($createLineBreakNode()),
108
+ tab: () => t.push($createTabNode()),
109
+ text: (e) => t.push(ke(e))
110
+ }), t;
111
+ }
112
+ function he(e, t, n) {
113
+ if (!Number.isInteger(t) || t <= 0) return !1;
114
+ const r = e.getTextContent(), i = /^ +/.exec(r);
115
+ if (!i) return !1;
116
+ const o = Math.min(t, i[0].length), s = e.getKey(), l = n.anchor.key === s && "text" === n.anchor.type ? n.anchor.offset : null, u = n.focus.key === s && "text" === n.focus.type ? n.focus.offset : null;
117
+ return e.spliceText(0, o, ""), null !== l && n.anchor.set(s, Math.max(0, l - o), "text"), null !== u && n.focus.set(s, Math.max(0, u - o), "text"), !0;
118
+ }
119
+ const fe = "javascript", pe = () => fe;
120
+ function de(e, t) {
121
+ for (const n of e.childNodes) {
122
+ if (isHTMLElement(n) && n.tagName === t) return !0;
123
+ if (de(n, t)) return !0;
124
+ }
125
+ return !1;
126
+ }
127
+ const me = "data-language", xe = "data-highlight-language", _e = "data-theme";
128
+ var ye = class ye extends ElementNode {
129
+ __language;
130
+ __theme;
131
+ __isSyntaxHighlightSupported;
132
+ static getType() {
133
+ return "code";
134
+ }
135
+ static clone(e) {
136
+ return new ye(e.__language, e.__key);
137
+ }
138
+ constructor(e, t) {
139
+ super(t), this.__language = e || void 0, this.__isSyntaxHighlightSupported = !1, this.__theme = void 0;
140
+ }
141
+ afterCloneFrom(e) {
142
+ super.afterCloneFrom(e), this.__language = e.__language, this.__theme = e.__theme, this.__isSyntaxHighlightSupported = e.__isSyntaxHighlightSupported;
143
+ }
144
+ createDOM(e) {
145
+ const t = document.createElement("code");
146
+ addClassNamesToElement(t, e.theme.code), t.setAttribute("spellcheck", "false");
147
+ const n = this.getLanguage();
148
+ n && (t.setAttribute(me, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(xe, n));
149
+ const r = this.getTheme();
150
+ r && t.setAttribute(_e, r);
151
+ const i = this.getStyle();
152
+ return i && setDOMStyleFromCSS(t.style, i), t;
153
+ }
154
+ updateDOM(e, t, n) {
155
+ const r = this.__language, i = e.__language;
156
+ r ? r !== i && t.setAttribute(me, r) : i && t.removeAttribute(me);
157
+ const o = this.__isSyntaxHighlightSupported;
158
+ e.__isSyntaxHighlightSupported && i ? o && r ? r !== i && t.setAttribute(xe, r) : t.removeAttribute(xe) : o && r && t.setAttribute(xe, r);
159
+ const s = this.__theme, l = e.__theme;
160
+ s ? s !== l && t.setAttribute(_e, s) : l && t.removeAttribute(_e);
161
+ const u = this.__style, c = e.__style;
162
+ return u !== c && setDOMStyleFromCSS(t.style, u, c), !1;
163
+ }
164
+ exportDOM(e) {
165
+ const t = document.createElement("pre");
166
+ addClassNamesToElement(t, e._config.theme.code), t.setAttribute("spellcheck", "false");
167
+ const n = this.getLanguage();
168
+ n && (t.setAttribute(me, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(xe, n));
169
+ const r = this.getTheme();
170
+ r && t.setAttribute(_e, r);
171
+ const i = this.getStyle();
172
+ return i && setDOMStyleFromCSS(t.style, i), { element: t };
173
+ }
174
+ static importDOM() {
175
+ return {
176
+ code: (e) => null != e.textContent && (/\r?\n/.test(e.textContent) || de(e, "BR")) ? {
177
+ conversion: Ce,
178
+ priority: 1
179
+ } : null,
180
+ div: () => ({
181
+ conversion: Ne,
182
+ priority: 1
183
+ }),
184
+ pre: () => ({
185
+ conversion: Ce,
186
+ priority: 0
187
+ }),
188
+ table: (e) => Pe(e) ? {
189
+ conversion: Te,
190
+ priority: 3
191
+ } : null,
192
+ td: (e) => {
193
+ const t = e, n = t.closest("table");
194
+ return t.classList.contains("js-file-line") || n && Pe(n) ? {
195
+ conversion: Ae,
196
+ priority: 3
197
+ } : null;
198
+ },
199
+ tr: (e) => {
200
+ const t = e.closest("table");
201
+ return t && Pe(t) ? {
202
+ conversion: Ae,
203
+ priority: 3
204
+ } : null;
205
+ }
206
+ };
207
+ }
208
+ static importJSON(e) {
209
+ return be().updateFromJSON(e);
210
+ }
211
+ updateFromJSON(e) {
212
+ return super.updateFromJSON(e).setLanguage(e.language).setTheme(e.theme);
213
+ }
214
+ exportJSON() {
215
+ return {
216
+ ...super.exportJSON(),
217
+ language: this.getLanguage(),
218
+ theme: this.getTheme()
219
+ };
220
+ }
221
+ insertNewAfter(e, t = !0) {
222
+ if (!getPeerDependencyFromEditor($getEditor(), "@lexical/code")) {
223
+ const t = we(e);
224
+ if (t) return t;
225
+ }
226
+ const { anchor: n, focus: r } = e, i = (n.isBefore(r) ? n : r).getNode();
227
+ if ($isTextNode(i)) {
228
+ let e = se(i);
229
+ const t = [];
230
+ for (;;) if ($isTabNode(e)) t.push($createTabNode()), e = e.getNextSibling();
231
+ else {
232
+ if (!Be(e)) break;
233
+ {
234
+ let n = 0;
235
+ const r = e.getTextContent(), i = e.getTextContentSize();
236
+ for (; n < i && " " === r[n];) n++;
237
+ if (0 !== n && t.push(ke(" ".repeat(n))), n !== i) break;
238
+ e = e.getNextSibling();
239
+ }
240
+ }
241
+ const r = i.splitText(n.offset)[0], o = 0 === n.offset ? 0 : 1, s = r.getIndexWithinParent() + o, l = i.getParentOrThrow(), c = [$createLineBreakNode(), ...t];
242
+ l.splice(s, 0, c);
243
+ const a = t[t.length - 1];
244
+ a ? a.select() : 0 === n.offset ? r.selectPrevious() : r.getNextSibling().selectNext(0, 0);
245
+ }
246
+ if (ve(i)) {
247
+ const { offset: t } = e.anchor;
248
+ i.splice(t, 0, [$createLineBreakNode()]), i.select(t + 1, t + 1);
249
+ }
250
+ return null;
251
+ }
252
+ canIndent() {
253
+ return !1;
254
+ }
255
+ collapseAtStart() {
256
+ const e = $createParagraphNode();
257
+ return this.getChildren().forEach((t) => e.append(t)), this.replace(e), !0;
258
+ }
259
+ setLanguage(e) {
260
+ const t = this.getWritable();
261
+ return t.__language = e || void 0, t;
262
+ }
263
+ getLanguage() {
264
+ return this.getLatest().__language;
265
+ }
266
+ setIsSyntaxHighlightSupported(e) {
267
+ const t = this.getWritable();
268
+ return t.__isSyntaxHighlightSupported = e, t;
269
+ }
270
+ getIsSyntaxHighlightSupported() {
271
+ return this.getLatest().__isSyntaxHighlightSupported;
272
+ }
273
+ setTheme(e) {
274
+ const t = this.getWritable();
275
+ return t.__theme = e || void 0, t;
276
+ }
277
+ getTheme() {
278
+ return this.getLatest().__theme;
279
+ }
280
+ };
281
+ function be(e, t) {
282
+ return $create(ye).setLanguage(e).setTheme(t);
283
+ }
284
+ function ve(e) {
285
+ return e instanceof ye;
286
+ }
287
+ function Ce(e) {
288
+ return { node: be(e.getAttribute(me)) };
289
+ }
290
+ function Ne(e) {
291
+ const t = e, n = Oe(t);
292
+ return n || function(e) {
293
+ let t = e.parentElement;
294
+ for (; null !== t;) {
295
+ if (Oe(t)) return !0;
296
+ t = t.parentElement;
297
+ }
298
+ return !1;
299
+ }(t) ? { node: n ? be() : null } : { node: null };
300
+ }
301
+ function Te() {
302
+ return { node: be() };
303
+ }
304
+ function Ae() {
305
+ return { node: null };
306
+ }
307
+ function Oe(e) {
308
+ return null !== e.style.fontFamily.match("monospace");
309
+ }
310
+ function Pe(e) {
311
+ return e.classList.contains("js-file-line-container");
312
+ }
313
+ function we(e) {
314
+ const { anchor: t } = e;
315
+ if (e.isCollapsed() && "element" === t.type) {
316
+ const e = t.getNode();
317
+ if (ve(e)) {
318
+ const n = e.getChildrenSize();
319
+ if (n >= 2 && t.offset === n) {
320
+ const t = e.getLastChild();
321
+ if ($isLineBreakNode(t) && $isLineBreakNode(t.getPreviousSibling())) {
322
+ const t = $createParagraphNode();
323
+ return e.splice(n - 2, 2, []).insertAfter(t, !1), t.select(), t;
324
+ }
325
+ }
326
+ }
327
+ }
328
+ return null;
329
+ }
330
+ var He = class He extends TextNode {
331
+ __highlightType;
332
+ constructor(e = "", t, n) {
333
+ super(e, n), this.__highlightType = t;
334
+ }
335
+ static getType() {
336
+ return "code-highlight";
337
+ }
338
+ static clone(e) {
339
+ return new He(e.__text, e.__highlightType || void 0, e.__key);
340
+ }
341
+ afterCloneFrom(e) {
342
+ super.afterCloneFrom(e), this.__highlightType = e.__highlightType;
343
+ }
344
+ getHighlightType() {
345
+ return this.getLatest().__highlightType;
346
+ }
347
+ setHighlightType(e) {
348
+ const t = this.getWritable();
349
+ return t.__highlightType = e || void 0, t;
350
+ }
351
+ canHaveFormat() {
352
+ return !1;
353
+ }
354
+ createDOM(e) {
355
+ const t = super.createDOM(e);
356
+ return addClassNamesToElement(t, De(e.theme, this.__highlightType)), t;
357
+ }
358
+ updateDOM(e, t, n) {
359
+ const r = super.updateDOM(e, t, n), i = De(n.theme, e.__highlightType), o = De(n.theme, this.__highlightType);
360
+ return i !== o && (i && removeClassNamesFromElement(t, i), o && addClassNamesToElement(t, o)), r;
361
+ }
362
+ static importJSON(e) {
363
+ return ke().updateFromJSON(e);
364
+ }
365
+ updateFromJSON(e) {
366
+ return super.updateFromJSON(e).setHighlightType(e.highlightType);
367
+ }
368
+ exportJSON() {
369
+ return {
370
+ ...super.exportJSON(),
371
+ highlightType: this.getHighlightType()
372
+ };
373
+ }
374
+ setFormat(e) {
375
+ return this;
376
+ }
377
+ isParentRequired() {
378
+ return !0;
379
+ }
380
+ createParentElementNode() {
381
+ return be();
382
+ }
383
+ };
384
+ function De(e, t) {
385
+ return t && e && e.codeHighlight && e.codeHighlight[t];
386
+ }
387
+ function ke(e = "", t) {
388
+ return $applyNodeReplacement(new He(e, t));
389
+ }
390
+ function Be(e) {
391
+ return e instanceof He;
392
+ }
393
+ const Le = "data-language";
394
+ function $e(e) {
395
+ return null !== e.style.fontFamily.match("monospace");
396
+ }
397
+ function Ee(e) {
398
+ let t = e.parentElement;
399
+ for (; null !== t;) {
400
+ if ($e(t)) return !0;
401
+ t = t.parentElement;
402
+ }
403
+ return !1;
404
+ }
405
+ const Fe = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
406
+ $import: (e, t) => e.$importChildren(t),
407
+ match: sel.tag("tr", "td"),
408
+ name: "@lexical/code/github-code-table/unwrap"
409
+ })]), Me = /* @__PURE__ */ defineImportRule({
410
+ $import: (e, t) => [be(t.getAttribute(Le)).splice(0, 0, e.$importChildren(t))],
411
+ match: sel.tag("pre"),
412
+ name: "@lexical/code/pre"
413
+ }), Je = /* @__PURE__ */ defineImportRule({
414
+ $import: (e, t, n) => {
415
+ const r = t.textContent || "";
416
+ return /\r?\n/.test(r) || null !== t.querySelector("br") ? [be(t.getAttribute(Le)).splice(0, 0, e.$importChildren(t))] : n();
417
+ },
418
+ match: sel.tag("code"),
419
+ name: "@lexical/code/code-multiline"
420
+ });
421
+ function ze(e) {
422
+ if (!isHTMLElement(e)) return !1;
423
+ const t = e.style.fontFamily, n = e.style.whiteSpace;
424
+ return "string" == typeof t && /monospace/i.test(t) && "string" == typeof n && n.startsWith("pre");
425
+ }
426
+ function Ke(e) {
427
+ let t = !1;
428
+ const n = [];
429
+ let r = "", i = !1;
430
+ const o = () => {
431
+ i && (n.push(r), r = "", i = !1);
432
+ };
433
+ for (const s of Array.from(e.childNodes)) if (isHTMLElement(s)) "DIV" === s.tagName ? (o(), n.push(s.textContent || ""), t = !0) : "BR" === s.tagName ? (o(), n.push(""), t = !0) : (r += s.textContent || "", i = !0);
434
+ else if (isDOMTextNode(s)) {
435
+ const e = s.textContent || "";
436
+ e.length > 0 && (r += e, i = !0);
437
+ }
438
+ return o(), t ? n : null;
439
+ }
440
+ function Ie(e) {
441
+ for (const t of Array.from(e.children)) {
442
+ if (isHTMLElement(t) && ze(t)) {
443
+ if (null !== Ke(t)) return !0;
444
+ const e = t.nextElementSibling;
445
+ if (e && ze(e)) return !0;
446
+ continue;
447
+ }
448
+ if (Ie(t)) return !0;
449
+ }
450
+ return !1;
451
+ }
452
+ const je = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
453
+ $import: (e, t, n) => {
454
+ if (!ze(t) || Ee(t)) return n();
455
+ const r = Ke(t);
456
+ return null === r || 0 === r.length ? n() : [be().splice(0, 0, $generateNodesFromRawText(r.join("\n")))];
457
+ },
458
+ match: sel.tag("div"),
459
+ name: "@lexical/code/vscode-wrapper"
460
+ }), /* @__PURE__ */ defineImportRule({
461
+ $import: (e, t, n) => {
462
+ if (!ze(t) || Ee(t)) return n();
463
+ const r = t.previousElementSibling;
464
+ if (r && ze(r)) return [];
465
+ const i = [];
466
+ let o = t;
467
+ for (; o && ze(o);) i.push("BR" === o.tagName ? "" : o.textContent || ""), o = o.nextElementSibling;
468
+ return i.length < 2 ? n() : [be().splice(0, 0, $generateNodesFromRawText(i.join("\n")))];
469
+ },
470
+ match: sel.tag("div", "br"),
471
+ name: "@lexical/code/vscode-line-run"
472
+ })]), Re = /* @__PURE__ */ defineImportRule({
473
+ $import: (e, t, n) => $e(t) ? [be().splice(0, 0, e.$importChildren(t))] : Ee(t) ? e.$importChildren(t) : n(),
474
+ match: sel.tag("div"),
475
+ name: "@lexical/code/div"
476
+ }), We = [
477
+ /* @__PURE__ */ defineImportRule({
478
+ $import: (e, t) => [be().splice(0, 0, e.$importChildren(t, { rules: Fe }))],
479
+ match: sel.tag("table").classAll("js-file-line-container"),
480
+ name: "@lexical/code/github-code-table"
481
+ }),
482
+ /* @__PURE__ */ defineImportRule({
483
+ $import: (e, t) => e.$importChildren(t),
484
+ match: sel.tag("td").classAll("js-file-line"),
485
+ name: "@lexical/code/github-code-cell-by-class"
486
+ }),
487
+ Je,
488
+ Me,
489
+ Re
490
+ ], qe = /* @__PURE__ */ defineExtension({
491
+ dependencies: [CoreImportExtension, /* @__PURE__ */ configExtension(DOMImportExtension, {
492
+ preprocess: [(e, t, r) => {
493
+ Ie(isDOMDocumentNode(e) ? e.body : e) && t.session.update(ImportOverlays, (e) => [...e, je]), r();
494
+ }],
495
+ rules: We
496
+ })],
497
+ name: "@lexical/code",
498
+ nodes: () => [ye, He],
499
+ register: (e) => e.registerCommand(KEY_ENTER_COMMAND, (e) => {
500
+ const t = $getSelection();
501
+ return !(!$isRangeSelection(t) || !we(t)) && (e.preventDefault(), !0);
502
+ }, COMMAND_PRIORITY_LOW)
503
+ }), Ue = /* @__PURE__ */ defineExtension({
504
+ dependencies: [qe],
505
+ name: "@lexical/code/Import"
506
+ });
507
+ function Ve(e) {
508
+ if (!$isRangeSelection(e)) return !1;
509
+ const t = e.anchor.getNode(), n = ve(t) ? t : t.getParent(), r = e.focus.getNode(), i = ve(r) ? r : r.getParent();
510
+ return ve(n) && n.is(i);
511
+ }
512
+ function Ge(e) {
513
+ const t = e.getNodes(), n = [];
514
+ if (1 === t.length && ve(t[0])) return n;
515
+ let r = [];
516
+ for (let e = 0; e < t.length; e++) {
517
+ const i = t[e];
518
+ Be(i) || $isTabNode(i) || $isLineBreakNode(i) || ie(169), $isLineBreakNode(i) ? r.length > 0 && (n.push(r), r = []) : r.push(i);
519
+ }
520
+ if (r.length > 0) {
521
+ const t = e.isBackward() ? e.anchor : e.focus, i = $createPoint(r[0].getKey(), 0, "text");
522
+ t.is(i) || n.push(r);
523
+ }
524
+ return n;
525
+ }
526
+ function Qe(e, t) {
527
+ const n = $getSelection();
528
+ if (!$isRangeSelection(n) || !Ve(n)) return !1;
529
+ const r = Ge(n), i = r.length;
530
+ if (0 === i && n.isCollapsed()) return e === INDENT_CONTENT_COMMAND && n.insertNodes([$createTabNode()]), !0;
531
+ if (0 === i && e === INDENT_CONTENT_COMMAND && "\n" === n.getTextContent()) {
532
+ const e = $createTabNode(), t = $createLineBreakNode(), r = n.isBackward() ? "previous" : "next";
533
+ return n.insertNodes([e, t]), $setSelectionFromCaretRange($getCaretRangeInDirection($getCaretRange($getTextPointCaret(e, "next", 0), $normalizeCaret($getSiblingCaret(t, "next"))), r)), !0;
534
+ }
535
+ for (let o = 0; o < i; o++) {
536
+ const i = r[o];
537
+ if (i.length > 0) {
538
+ let r = i[0];
539
+ if (0 === o && (r = se(r)), e === INDENT_CONTENT_COMMAND) {
540
+ const e = $createTabNode();
541
+ if (r.insertBefore(e), 0 === o) {
542
+ const t = n.isBackward() ? "focus" : "anchor", i = $createPoint(r.getKey(), 0, "text");
543
+ n[t].is(i) && n[t].set(e.getKey(), 0, "text");
544
+ }
545
+ } else $isTabNode(r) ? r.remove() : void 0 !== t && Be(r) && he(r, t, n);
546
+ }
547
+ }
548
+ return !0;
549
+ }
550
+ function Xe(e, t) {
551
+ const n = $getSelection();
552
+ if (!$isRangeSelection(n)) return !1;
553
+ const { anchor: r, focus: i } = n, o = r.offset, s = i.offset, l = r.getNode(), a = i.getNode(), g = e === KEY_ARROW_UP_COMMAND;
554
+ if (!Ve(n) || !Be(l) && !$isTabNode(l) || !Be(a) && !$isTabNode(a)) return !1;
555
+ if (!t.altKey) {
556
+ if (n.isCollapsed()) {
557
+ const e = l.getParentOrThrow();
558
+ if (g && 0 === o && null === l.getPreviousSibling()) {
559
+ if (null === e.getPreviousSibling()) return e.selectPrevious(), t.preventDefault(), !1;
560
+ } else if (!g && o === l.getTextContentSize() && null === l.getNextSibling()) {
561
+ if (null === e.getNextSibling()) return e.selectNext(), t.preventDefault(), !1;
562
+ }
563
+ }
564
+ return !1;
565
+ }
566
+ let h, f;
567
+ if (l.isBefore(a) ? (h = se(l), f = le(a)) : (h = se(a), f = le(l)), null == h || null == f) return !1;
568
+ const p = h.getNodesBetween(f);
569
+ for (let e = 0; e < p.length; e++) {
570
+ const t = p[e];
571
+ if (!Be(t) && !$isTabNode(t) && !$isLineBreakNode(t)) return !1;
572
+ }
573
+ t.preventDefault(), t.stopPropagation();
574
+ const d = g ? h.getPreviousSibling() : f.getNextSibling();
575
+ if (!$isLineBreakNode(d)) return !0;
576
+ const m = g ? d.getPreviousSibling() : d.getNextSibling();
577
+ if (null == m) return !0;
578
+ const x = Be(m) || $isTabNode(m) || $isLineBreakNode(m) ? g ? se(m) : le(m) : null;
579
+ let _ = null != x ? x : m;
580
+ return d.remove(), p.forEach((e) => e.remove()), e === KEY_ARROW_UP_COMMAND ? (p.forEach((e) => _.insertBefore(e)), _.insertBefore(d)) : (_.insertAfter(d), _ = d, p.forEach((e) => {
581
+ _.insertAfter(e), _ = e;
582
+ })), n.setTextNodeRange(l, o, a, s), !0;
583
+ }
584
+ function Ye(e, t) {
585
+ const n = $getSelection();
586
+ if (!$isRangeSelection(n)) return !1;
587
+ const { anchor: r, focus: i } = n, o = r.getNode(), s = i.getNode(), l = e === MOVE_TO_START;
588
+ if (!Ve(n) || !Be(o) && !$isTabNode(o) || !Be(s) && !$isTabNode(s)) return !1;
589
+ const a = s, g = "rtl" === ue(a) ? !l : l, h = r.key, f = r.offset, p = r.type;
590
+ if (g) {
591
+ const e = ce(a, i.offset);
592
+ if (null !== e) {
593
+ const { node: t, offset: r } = e;
594
+ $isLineBreakNode(t) ? t.selectNext(0, 0) : n.setTextNodeRange(t, r, t, r);
595
+ } else a.getParentOrThrow().selectStart();
596
+ } else ae(a).select();
597
+ return t.shiftKey && n.anchor.set(h, f, p), t.preventDefault(), t.stopPropagation(), !0;
598
+ }
599
+ function Ze(e, t, n) {
600
+ return mergeRegister(...n ? [
601
+ e.registerCommand(KEY_ARROW_DOWN_COMMAND, (e) => !e.altKey && $onEscapeDown(ve, e), COMMAND_PRIORITY_LOW),
602
+ e.registerCommand(KEY_ARROW_RIGHT_COMMAND, (e) => $onEscapeDown(ve, e), COMMAND_PRIORITY_LOW),
603
+ e.registerCommand(KEY_ARROW_UP_COMMAND, (e) => !e.altKey && $onEscapeUp(ve, e), COMMAND_PRIORITY_LOW),
604
+ e.registerCommand(KEY_ARROW_LEFT_COMMAND, (e) => $onEscapeUp(ve, e), COMMAND_PRIORITY_LOW)
605
+ ] : [], e.registerCommand(KEY_TAB_COMMAND, (t) => {
606
+ const n = function(e) {
607
+ const t = $getSelection();
608
+ if (!$isRangeSelection(t) || !Ve(t)) return null;
609
+ const n = e ? OUTDENT_CONTENT_COMMAND : INDENT_CONTENT_COMMAND, r = e ? OUTDENT_CONTENT_COMMAND : INSERT_TAB_COMMAND, i = t.anchor, o = t.focus;
610
+ if (i.is(o)) return r;
611
+ const s = Ge(t);
612
+ if (1 !== s.length) return n;
613
+ const l = s[0];
614
+ let u, c;
615
+ 0 === l.length && ie(285), t.isBackward() ? (u = o, c = i) : (u = i, c = o);
616
+ const a = se(l[0]), g = le(l[0]), h = $createPoint(a.getKey(), 0, "text"), f = $createPoint(g.getKey(), g.getTextContentSize(), "text");
617
+ return u.isBefore(h) || f.isBefore(c) ? n : h.isBefore(u) || c.isBefore(f) ? r : n;
618
+ }(t.shiftKey);
619
+ return null !== n && (t.preventDefault(), e.dispatchCommand(n, void 0), !0);
620
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(INSERT_TAB_COMMAND, () => !!Ve($getSelection()) && ($insertNodes([$createTabNode()]), !0), COMMAND_PRIORITY_LOW), e.registerCommand(INDENT_CONTENT_COMMAND, () => Qe(INDENT_CONTENT_COMMAND), COMMAND_PRIORITY_LOW), e.registerCommand(OUTDENT_CONTENT_COMMAND, () => Qe(OUTDENT_CONTENT_COMMAND, t), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_UP_COMMAND, (e) => {
621
+ const t = $getSelection();
622
+ if (!$isRangeSelection(t)) return !1;
623
+ const { anchor: n } = t, r = n.getNode();
624
+ if (!Ve(t)) return !1;
625
+ const i = r.getParent();
626
+ return t.isCollapsed() && 0 === n.offset && null === r.getPreviousSibling() && ve(i) && null === i.getPreviousSibling() ? (e.preventDefault(), !0) : Xe(KEY_ARROW_UP_COMMAND, e);
627
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_DOWN_COMMAND, (e) => {
628
+ const t = $getSelection();
629
+ if (!$isRangeSelection(t)) return !1;
630
+ const { anchor: n } = t, r = n.getNode();
631
+ return !!Ve(t) && (t.isCollapsed() && n.offset === r.getTextContentSize() && null === r.getNextSibling() && ve(r.getParentOrThrow()) && null === r.getParentOrThrow().getNextSibling() ? (e.preventDefault(), !0) : Xe(KEY_ARROW_DOWN_COMMAND, e));
632
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(MOVE_TO_START, (e) => Ye(MOVE_TO_START, e), COMMAND_PRIORITY_LOW), e.registerCommand(MOVE_TO_END, (e) => Ye(MOVE_TO_END, e), COMMAND_PRIORITY_LOW));
633
+ }
634
+ const et = /* @__PURE__ */ defineExtension({
635
+ build: (e, t) => namedSignals(t),
636
+ config: /* @__PURE__ */ safeCast({
637
+ disabled: !1,
638
+ escapeWithArrows: !1,
639
+ tabSize: void 0
640
+ }),
641
+ dependencies: [qe],
642
+ name: "@lexical/code-indent",
643
+ register: (e, t, n) => {
644
+ const r = n.getOutput();
645
+ return effect(() => {
646
+ if (!r.disabled.value) return Ze(e, r.tabSize.value, r.escapeWithArrows.value);
647
+ });
648
+ }
649
+ });
650
+ //#endregion
651
+ export { ke as $createCodeHighlightNode, be as $createCodeNode, ue as $getCodeLineDirection, ae as $getEndOfCodeInLine, se as $getFirstCodeNodeOfLine, le as $getLastCodeNodeOfLine, ce as $getStartOfCodeInLine, Be as $isCodeHighlightNode, ve as $isCodeNode, he as $outdentLeadingSpaces, ge as $plainifyCodeContent, qe as CodeExtension, He as CodeHighlightNode, Ue as CodeImportExtension, We as CodeImportRules, et as CodeIndentExtension, ye as CodeNode, fe as DEFAULT_CODE_LANGUAGE, pe as getDefaultCodeLanguage, Ze as registerCodeIndentation };