@mx-space/cli 0.14.1 → 0.15.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.
Files changed (56) hide show
  1. package/README.md +35 -11
  2. package/dist/{Lexical.dev-DTxuYHmG.mjs → Lexical.dev-Cck4n26y.mjs} +998 -584
  3. package/dist/{Lexical.node-BlCLnfA6.mjs → Lexical.node-D6wf2D5M.mjs} +15 -5
  4. package/dist/Lexical.prod-DCwS1oTq.mjs +7170 -0
  5. package/dist/{LexicalClipboard.dev-CdFkLR_D.mjs → LexicalClipboard.dev-CMkPHV7O.mjs} +6 -6
  6. package/dist/{LexicalClipboard.node-ktUajxsv.mjs → LexicalClipboard.node-m4nZ7IYw.mjs} +2 -2
  7. package/dist/{LexicalClipboard.prod-DliyLofW.mjs → LexicalClipboard.prod-B_rN1vE1.mjs} +10 -8
  8. package/dist/{LexicalCodeCore.dev-CL9tHWJX.mjs → LexicalCodeCore.dev-DyJw3i8V.mjs} +62 -72
  9. package/dist/{LexicalCodeCore.prod-BoMSJc29.mjs → LexicalCodeCore.prod-DPXLHQLF.mjs} +212 -213
  10. package/dist/{LexicalDragon.dev-CqW7Aq5H.mjs → LexicalDragon.dev-ZkNfMwrE.mjs} +3 -3
  11. package/dist/{LexicalDragon.node-DLXctJyy.mjs → LexicalDragon.node-Ds9oLUFh.mjs} +2 -2
  12. package/dist/{LexicalDragon.prod-DHI3T6n5.mjs → LexicalDragon.prod-B58ic2av.mjs} +5 -4
  13. package/dist/{LexicalExtension.dev-BP-18zns.mjs → LexicalExtension.dev-DvwHs1Xv.mjs} +79 -67
  14. package/dist/{LexicalExtension.node-BWH6xbzG.mjs → LexicalExtension.node-5OymZQfy.mjs} +4 -2
  15. package/dist/{LexicalExtension.prod-Cs6OgrDn.mjs → LexicalExtension.prod-Ce0T5smQ.mjs} +372 -358
  16. package/dist/{LexicalHeadless.dev-DJp__UcP.mjs → LexicalHeadless.dev-DA0WldSR.mjs} +2 -2
  17. package/dist/{LexicalHeadless.prod-o0v9cIu5.mjs → LexicalHeadless.prod-1kQgKB6c.mjs} +2 -2
  18. package/dist/{LexicalHtml.dev-DoymwFpG.mjs → LexicalHtml.dev-BDB7CUrx.mjs} +14 -12
  19. package/dist/{LexicalHtml.node-CVkbWtUA.mjs → LexicalHtml.node-DpVNt7It.mjs} +4 -4
  20. package/dist/{LexicalHtml.prod-C2b3z99k.mjs → LexicalHtml.prod-HkxM5scw.mjs} +331 -300
  21. package/dist/{LexicalLink.dev-7cgLOLIe.mjs → LexicalLink.dev-C5zNJlrm.mjs} +65 -59
  22. package/dist/{LexicalLink.prod-DWFgoXHR.mjs → LexicalLink.prod-Bkt9hQAt.mjs} +196 -201
  23. package/dist/{LexicalList.dev-Ci2iOxFx.mjs → LexicalList.dev-B7VgME-m.mjs} +55 -82
  24. package/dist/LexicalList.prod-B8c7TDjH.mjs +951 -0
  25. package/dist/{LexicalMarkdown.dev-C0ZYCyuR.mjs → LexicalMarkdown.dev-B5z9kLbV.mjs} +62 -42
  26. package/dist/{LexicalMarkdown.prod-0M-Nc-rh.mjs → LexicalMarkdown.prod-wKzw7FFH.mjs} +255 -202
  27. package/dist/{LexicalRichText.dev-Cnr1kDym.mjs → LexicalRichText.dev-CUd6Li5F.mjs} +399 -120
  28. package/dist/{LexicalRichText.node-BUJZAiap.mjs → LexicalRichText.node-BKfaQ-CH.mjs} +12 -8
  29. package/dist/LexicalRichText.prod-SBewjJHx.mjs +708 -0
  30. package/dist/{LexicalSelection.dev-C4L7l8OB.mjs → LexicalSelection.dev-D27JOCqj.mjs} +48 -17
  31. package/dist/{LexicalSelection.node-CLKroUMQ.mjs → LexicalSelection.node-DBEwPjBu.mjs} +5 -4
  32. package/dist/{LexicalSelection.prod-DzFqpTlw.mjs → LexicalSelection.prod-OaYhXHOL.mjs} +101 -92
  33. package/dist/{LexicalTable.dev-Cc9-zqKa.mjs → LexicalTable.dev-6IFFOAE0.mjs} +590 -259
  34. package/dist/LexicalTable.prod-2CaLZ7fH.mjs +2524 -0
  35. package/dist/{LexicalUtils.dev-BRgK0L6G.mjs → LexicalUtils.dev-DJA7J_7v.mjs} +15 -19
  36. package/dist/{LexicalUtils.node-BVAwOkL4.mjs → LexicalUtils.node-Df9oPTlA.mjs} +6 -6
  37. package/dist/{LexicalUtils.prod-C1gtvVDP.mjs → LexicalUtils.prod-Bb7V4Ewg.mjs} +155 -159
  38. package/dist/bin/mxs.mjs +1 -1
  39. package/dist/esm-CDcJmHkG.mjs +2 -0
  40. package/dist/{esm-BNu4sUWV.mjs → esm-DLzrv7gD.mjs} +1837 -6015
  41. package/dist/index.d.mts +57 -62
  42. package/dist/index.mjs +1 -1
  43. package/dist/{mxs-CMX2yklg.mjs → mxs-BIRW5Axj.mjs} +13579 -8682
  44. package/dist/rolldown-runtime-JspESFgx.mjs +35 -0
  45. package/dist/vendor/litexml/cli.mjs +7043 -6207
  46. package/dist/vendor/litexml/litexml-html-preview-client.css +80 -47
  47. package/dist/vendor/litexml/litexml-html-preview-client.js +14422 -10838
  48. package/dist/vendor/litexml/style.css +6 -2
  49. package/package.json +23 -23
  50. package/skills/commands-ai.md +45 -12
  51. package/skills/overview.md +1 -1
  52. package/dist/Lexical.prod-CeB9UQuo.mjs +0 -6816
  53. package/dist/LexicalList.prod-D0xX5d3G.mjs +0 -944
  54. package/dist/LexicalRichText.prod-BfbMQ9uM.mjs +0 -538
  55. package/dist/LexicalTable.prod-BgO4nCxy.mjs +0 -2336
  56. package/dist/esm-jbwcVZth.mjs +0 -2
@@ -1,8 +1,8 @@
1
- import { d as getPeerDependencyFromEditor, f as namedSignals, l as effect } from "./LexicalExtension.node-BWH6xbzG.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-BlCLnfA6.mjs";
3
- import { c as DOMImportExtension, g as defineOverlayRules, h as defineImportRule, l as ImportOverlays, s as CoreImportExtension, v as sel } from "./LexicalHtml.node-CVkbWtUA.mjs";
4
- import { l as $onEscapeDown, u as $onEscapeUp } from "./LexicalUtils.node-BVAwOkL4.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
1
+ import { d as getPeerDependencyFromEditor, f as namedSignals, l as effect } from "./LexicalExtension.node-5OymZQfy.mjs";
2
+ import { $r as isHTMLElement, $t as COMMAND_PRIORITY_LOW, C as $generateNodesFromRawText, D as $getCaretRange, Et as $normalizeCaret, G as $getSelection, Gn as KEY_ARROW_RIGHT_COMMAND, I as $getDocument, It as $setSelectionFromCaretRange, K as $getSiblingCaret, Kn as KEY_ARROW_UP_COMMAND, Kr as isDOMDocumentNode, L as $getEditor, O as $getCaretRangeInDirection, Q as $getTextPointCaret, Qn as KEY_TAB_COMMAND, Sn as INDENT_CONTENT_COMMAND, St as $isTextNode, Tn as INSERT_TAB_COMMAND, Tr as defineExtension, Un as KEY_ARROW_DOWN_COMMAND, Ur as getTextDirection, Wn as KEY_ARROW_LEFT_COMMAND, Yn as KEY_ENTER_COMMAND, Yr as isDOMTextNode, _ as $createTabNode, _r as TextNode, bi as tokenizeRawText, br as configExtension, ci as mergeRegister, d as $createLineBreakNode, dt as $isLineBreakNode, er as MOVE_TO_END, fi as removeClassNamesFromElement, gr as TabNode, hn as ElementNode, m as $createPoint, mi as setDOMStyleFromCSS, mt as $isRangeSelection, n as $applyNodeReplacement, nr as OUTDENT_CONTENT_COMMAND, ot as $isElementNode, p as $createParagraphNode, pi as safeCast, tr as MOVE_TO_START, tt as $insertNodes, u as $create, vr as addClassNamesToElement, xt as $isTabNode } from "./Lexical.node-D6wf2D5M.mjs";
3
+ import { _ as defineOverlayRules, c as CoreImportExtension, g as defineImportRule, l as DOMImportExtension, u as ImportOverlays, y as sel } from "./LexicalHtml.node-DpVNt7It.mjs";
4
+ import { l as $onEscapeDown, u as $onEscapeUp } from "./LexicalUtils.node-Df9oPTlA.mjs";
5
+ //#region ../../node_modules/.pnpm/@lexical+code-core@0.49.0_typescript@6.0.3/node_modules/@lexical/code-core/dist/LexicalCodeCore.prod.mjs
6
6
  /**
7
7
  * Copyright (c) Meta Platforms, Inc. and affiliates.
8
8
  *
@@ -10,28 +10,28 @@ import { l as $onEscapeDown, u as $onEscapeUp } from "./LexicalUtils.node-BVAwOk
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  *
12
12
  */
13
- function ie(e, ...t) {
13
+ function se(e, ...t) {
14
14
  const n = new URL("https://lexical.dev/docs/error"), r = new URLSearchParams();
15
15
  r.append("code", e);
16
16
  for (const e of t) r.append("v", e);
17
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
18
  }
19
- function oe(e, t) {
19
+ function le(e, t) {
20
20
  let n = e;
21
- for (let r = $getSiblingCaret(e, t); r && (Be(r.origin) || $isTabNode(r.origin)); r = r.getAdjacentCaret()) n = r.origin;
21
+ for (let r = $getSiblingCaret(e, t); r && (ke(r.origin) || $isTabNode(r.origin)); r = r.getAdjacentCaret()) n = r.origin;
22
22
  return n;
23
23
  }
24
- function se(e) {
25
- return oe(e, "previous");
24
+ function ue(e) {
25
+ return le(e, "previous");
26
26
  }
27
- function le(e) {
28
- return oe(e, "next");
27
+ function ce(e) {
28
+ return le(e, "next");
29
29
  }
30
- function ue(e) {
31
- const t = se(e), n = le(e);
30
+ function ae(e) {
31
+ const t = ue(e), n = ce(e);
32
32
  let r = t;
33
33
  for (; null !== r;) {
34
- if (Be(r)) {
34
+ if (ke(r)) {
35
35
  const e = getTextDirection(r.getTextContent());
36
36
  if (null !== e) return e;
37
37
  }
@@ -45,7 +45,7 @@ function ue(e) {
45
45
  }
46
46
  return null;
47
47
  }
48
- function ce(e, t) {
48
+ function ge(e, t) {
49
49
  let n = null, r = null, i = e, o = t, s = e.getTextContent();
50
50
  for (;;) {
51
51
  if (0 === o) {
@@ -54,7 +54,7 @@ function ce(e, t) {
54
54
  i = null;
55
55
  break;
56
56
  }
57
- if (Be(e) || $isTabNode(e) || $isLineBreakNode(e) || ie(167), i = e, $isLineBreakNode(i)) {
57
+ if (ke(e) || $isTabNode(e) || $isLineBreakNode(e) || se(167), i = e, $isLineBreakNode(i)) {
58
58
  n = {
59
59
  node: i,
60
60
  offset: 1
@@ -64,28 +64,28 @@ function ce(e, t) {
64
64
  o = Math.max(0, i.getTextContentSize() - 1), s = i.getTextContent();
65
65
  } else o--;
66
66
  const e = s[o];
67
- Be(i) && " " !== e && (r = {
67
+ ke(i) && " " !== e && (r = {
68
68
  node: i,
69
69
  offset: o
70
70
  });
71
71
  }
72
72
  if (null !== r) return r;
73
73
  let l = null;
74
- if (t < e.getTextContentSize()) Be(e) && (l = e.getTextContent()[t]);
74
+ if (t < e.getTextContentSize()) ke(e) && (l = e.getTextContent()[t]);
75
75
  else {
76
76
  const t = e.getNextSibling();
77
- Be(t) && (l = t.getTextContent()[0]);
77
+ ke(t) && (l = t.getTextContent()[0]);
78
78
  }
79
79
  if (null !== l && " " !== l) return n;
80
80
  {
81
81
  const r = function(e, t) {
82
82
  let n = e, r = t, i = e.getTextContent(), o = e.getTextContentSize();
83
83
  for (;;) {
84
- if (!Be(n) || r === o) {
84
+ if (!ke(n) || r === o) {
85
85
  if (n = n.getNextSibling(), null === n || $isLineBreakNode(n)) return null;
86
- Be(n) && (r = 0, i = n.getTextContent(), o = n.getTextContentSize());
86
+ ke(n) && (r = 0, i = n.getTextContent(), o = n.getTextContentSize());
87
87
  }
88
- if (Be(n)) {
88
+ if (ke(n)) {
89
89
  if (" " !== i[r]) return {
90
90
  node: n,
91
91
  offset: r
@@ -97,117 +97,114 @@ function ce(e, t) {
97
97
  return null !== r ? r : n;
98
98
  }
99
99
  }
100
- function ae(e) {
101
- const t = le(e);
102
- return $isLineBreakNode(t) && ie(168), t;
100
+ function fe(e) {
101
+ const t = ce(e);
102
+ return $isLineBreakNode(t) && se(168), t;
103
103
  }
104
- function ge(e) {
104
+ function he(e) {
105
105
  const t = [];
106
106
  return tokenizeRawText(e, {
107
107
  linebreak: () => t.push($createLineBreakNode()),
108
108
  tab: () => t.push($createTabNode()),
109
- text: (e) => t.push(ke(e))
109
+ text: (e) => t.push(Le(e))
110
110
  }), t;
111
111
  }
112
- function he(e, t, n) {
112
+ function pe(e, t, n) {
113
113
  if (!Number.isInteger(t) || t <= 0) return !1;
114
114
  const r = e.getTextContent(), i = /^ +/.exec(r);
115
115
  if (!i) return !1;
116
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
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
118
  }
119
- const fe = "javascript", pe = () => fe;
120
- function de(e, t) {
119
+ const de = "javascript";
120
+ const me = () => de;
121
+ function xe(e, t) {
121
122
  for (const n of e.childNodes) {
122
123
  if (isHTMLElement(n) && n.tagName === t) return !0;
123
- if (de(n, t)) return !0;
124
+ if (xe(n, t)) return !0;
124
125
  }
125
126
  return !1;
126
127
  }
127
- const me = "data-language", xe = "data-highlight-language", _e = "data-theme";
128
- var ye = class ye extends ElementNode {
128
+ const Se = "data-language";
129
+ const ye = "data-highlight-language";
130
+ const be = "data-theme";
131
+ var Ce = class extends ElementNode {
129
132
  __language;
130
133
  __theme;
131
134
  __isSyntaxHighlightSupported;
132
- static getType() {
133
- return "code";
134
- }
135
- static clone(e) {
136
- return new ye(e.__language, e.__key);
135
+ $config() {
136
+ return this.config("code", {
137
+ extends: ElementNode,
138
+ importDOM: {
139
+ code: (e) => null != e.textContent && (/\r?\n/.test(e.textContent) || xe(e, "BR")) ? {
140
+ conversion: Ne,
141
+ priority: 1
142
+ } : null,
143
+ div: () => ({
144
+ conversion: Ae,
145
+ priority: 1
146
+ }),
147
+ pre: () => ({
148
+ conversion: Ne,
149
+ priority: 0
150
+ }),
151
+ table: (e) => He(e) ? {
152
+ conversion: Pe,
153
+ priority: 3
154
+ } : null,
155
+ td: (e) => {
156
+ const t = e, n = t.closest("table");
157
+ return t.classList.contains("js-file-line") || n && He(n) ? {
158
+ conversion: Oe,
159
+ priority: 3
160
+ } : null;
161
+ },
162
+ tr: (e) => {
163
+ const t = e.closest("table");
164
+ return t && He(t) ? {
165
+ conversion: Oe,
166
+ priority: 3
167
+ } : null;
168
+ }
169
+ }
170
+ });
137
171
  }
138
- constructor(e, t) {
172
+ constructor(e = void 0, t) {
139
173
  super(t), this.__language = e || void 0, this.__isSyntaxHighlightSupported = !1, this.__theme = void 0;
140
174
  }
141
175
  afterCloneFrom(e) {
142
176
  super.afterCloneFrom(e), this.__language = e.__language, this.__theme = e.__theme, this.__isSyntaxHighlightSupported = e.__isSyntaxHighlightSupported;
143
177
  }
144
178
  createDOM(e) {
145
- const t = document.createElement("code");
179
+ const t = $getDocument().createElement("code");
146
180
  addClassNamesToElement(t, e.theme.code), t.setAttribute("spellcheck", "false");
147
181
  const n = this.getLanguage();
148
- n && (t.setAttribute(me, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(xe, n));
182
+ n && (t.setAttribute(Se, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(ye, n));
149
183
  const r = this.getTheme();
150
- r && t.setAttribute(_e, r);
184
+ r && t.setAttribute(be, r);
151
185
  const i = this.getStyle();
152
186
  return i && setDOMStyleFromCSS(t.style, i), t;
153
187
  }
154
188
  updateDOM(e, t, n) {
155
189
  const r = this.__language, i = e.__language;
156
- r ? r !== i && t.setAttribute(me, r) : i && t.removeAttribute(me);
190
+ r ? r !== i && t.setAttribute(Se, r) : i && t.removeAttribute(Se);
157
191
  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);
192
+ e.__isSyntaxHighlightSupported && i ? o && r ? r !== i && t.setAttribute(ye, r) : t.removeAttribute(ye) : o && r && t.setAttribute(ye, r);
159
193
  const s = this.__theme, l = e.__theme;
160
- s ? s !== l && t.setAttribute(_e, s) : l && t.removeAttribute(_e);
194
+ s ? s !== l && t.setAttribute(be, s) : l && t.removeAttribute(be);
161
195
  const u = this.__style, c = e.__style;
162
196
  return u !== c && setDOMStyleFromCSS(t.style, u, c), !1;
163
197
  }
164
198
  exportDOM(e) {
165
- const t = document.createElement("pre");
199
+ const t = $getDocument().createElement("pre");
166
200
  addClassNamesToElement(t, e._config.theme.code), t.setAttribute("spellcheck", "false");
167
201
  const n = this.getLanguage();
168
- n && (t.setAttribute(me, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(xe, n));
202
+ n && (t.setAttribute(Se, n), this.getIsSyntaxHighlightSupported() && t.setAttribute(ye, n));
169
203
  const r = this.getTheme();
170
- r && t.setAttribute(_e, r);
204
+ r && t.setAttribute(be, r);
171
205
  const i = this.getStyle();
172
206
  return i && setDOMStyleFromCSS(t.style, i), { element: t };
173
207
  }
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
208
  updateFromJSON(e) {
212
209
  return super.updateFromJSON(e).setLanguage(e.language).setTheme(e.theme);
213
210
  }
@@ -220,21 +217,21 @@ var ye = class ye extends ElementNode {
220
217
  }
221
218
  insertNewAfter(e, t = !0) {
222
219
  if (!getPeerDependencyFromEditor($getEditor(), "@lexical/code")) {
223
- const t = we(e);
220
+ const t = $e(e);
224
221
  if (t) return t;
225
222
  }
226
223
  const { anchor: n, focus: r } = e, i = (n.isBefore(r) ? n : r).getNode();
227
224
  if ($isTextNode(i)) {
228
- let e = se(i);
225
+ let e = ue(i);
229
226
  const t = [];
230
227
  for (;;) if ($isTabNode(e)) t.push($createTabNode()), e = e.getNextSibling();
231
228
  else {
232
- if (!Be(e)) break;
229
+ if (!ke(e)) break;
233
230
  {
234
231
  let n = 0;
235
232
  const r = e.getTextContent(), i = e.getTextContentSize();
236
233
  for (; n < i && " " === r[n];) n++;
237
- if (0 !== n && t.push(ke(" ".repeat(n))), n !== i) break;
234
+ if (0 !== n && t.push(Le(" ".repeat(n))), n !== i) break;
238
235
  e = e.getNextSibling();
239
236
  }
240
237
  }
@@ -243,7 +240,7 @@ var ye = class ye extends ElementNode {
243
240
  const a = t[t.length - 1];
244
241
  a ? a.select() : 0 === n.offset ? r.selectPrevious() : r.getNextSibling().selectNext(0, 0);
245
242
  }
246
- if (ve(i)) {
243
+ if (Te(i)) {
247
244
  const { offset: t } = e.anchor;
248
245
  i.splice(t, 0, [$createLineBreakNode()]), i.select(t + 1, t + 1);
249
246
  }
@@ -278,43 +275,43 @@ var ye = class ye extends ElementNode {
278
275
  return this.getLatest().__theme;
279
276
  }
280
277
  };
281
- function be(e, t) {
282
- return $create(ye).setLanguage(e).setTheme(t);
283
- }
284
- function ve(e) {
285
- return e instanceof ye;
278
+ function ve(e, t) {
279
+ return $create(Ce).setLanguage(e).setTheme(t);
286
280
  }
287
- function Ce(e) {
288
- return { node: be(e.getAttribute(me)) };
281
+ function Te(e) {
282
+ return e instanceof Ce;
289
283
  }
290
284
  function Ne(e) {
291
- const t = e, n = Oe(t);
285
+ return { node: ve(e.getAttribute(Se)) };
286
+ }
287
+ function Ae(e) {
288
+ const t = e, n = we(t);
292
289
  return n || function(e) {
293
290
  let t = e.parentElement;
294
291
  for (; null !== t;) {
295
- if (Oe(t)) return !0;
292
+ if (we(t)) return !0;
296
293
  t = t.parentElement;
297
294
  }
298
295
  return !1;
299
- }(t) ? { node: n ? be() : null } : { node: null };
296
+ }(t) ? { node: n ? ve() : null } : { node: null };
300
297
  }
301
- function Te() {
302
- return { node: be() };
298
+ function Pe() {
299
+ return { node: ve() };
303
300
  }
304
- function Ae() {
301
+ function Oe() {
305
302
  return { node: null };
306
303
  }
307
- function Oe(e) {
304
+ function we(e) {
308
305
  return null !== e.style.fontFamily.match("monospace");
309
306
  }
310
- function Pe(e) {
307
+ function He(e) {
311
308
  return e.classList.contains("js-file-line-container");
312
309
  }
313
- function we(e) {
310
+ function $e(e) {
314
311
  const { anchor: t } = e;
315
312
  if (e.isCollapsed() && "element" === t.type) {
316
313
  const e = t.getNode();
317
- if (ve(e)) {
314
+ if (Te(e)) {
318
315
  const n = e.getChildrenSize();
319
316
  if (n >= 2 && t.offset === n) {
320
317
  const t = e.getLastChild();
@@ -327,16 +324,13 @@ function we(e) {
327
324
  }
328
325
  return null;
329
326
  }
330
- var He = class He extends TextNode {
327
+ var De = class extends TextNode {
331
328
  __highlightType;
332
329
  constructor(e = "", t, n) {
333
330
  super(e, n), this.__highlightType = t;
334
331
  }
335
- static getType() {
336
- return "code-highlight";
337
- }
338
- static clone(e) {
339
- return new He(e.__text, e.__highlightType || void 0, e.__key);
332
+ $config() {
333
+ return this.config("code-highlight", { extends: TextNode });
340
334
  }
341
335
  afterCloneFrom(e) {
342
336
  super.afterCloneFrom(e), this.__highlightType = e.__highlightType;
@@ -353,15 +347,12 @@ var He = class He extends TextNode {
353
347
  }
354
348
  createDOM(e) {
355
349
  const t = super.createDOM(e);
356
- return addClassNamesToElement(t, De(e.theme, this.__highlightType)), t;
350
+ return addClassNamesToElement(t, Be(e.theme, this.__highlightType)), t;
357
351
  }
358
352
  updateDOM(e, t, n) {
359
- const r = super.updateDOM(e, t, n), i = De(n.theme, e.__highlightType), o = De(n.theme, this.__highlightType);
353
+ const r = super.updateDOM(e, t, n), i = Be(n.theme, e.__highlightType), o = Be(n.theme, this.__highlightType);
360
354
  return i !== o && (i && removeClassNamesFromElement(t, i), o && addClassNamesToElement(t, o)), r;
361
355
  }
362
- static importJSON(e) {
363
- return ke().updateFromJSON(e);
364
- }
365
356
  updateFromJSON(e) {
366
357
  return super.updateFromJSON(e).setHighlightType(e.highlightType);
367
358
  }
@@ -378,52 +369,54 @@ var He = class He extends TextNode {
378
369
  return !0;
379
370
  }
380
371
  createParentElementNode() {
381
- return be();
372
+ return ve();
382
373
  }
383
374
  };
384
- function De(e, t) {
375
+ function Be(e, t) {
385
376
  return t && e && e.codeHighlight && e.codeHighlight[t];
386
377
  }
387
- function ke(e = "", t) {
388
- return $applyNodeReplacement(new He(e, t));
378
+ function Le(e = "", t) {
379
+ return $applyNodeReplacement(new De(e, t));
389
380
  }
390
- function Be(e) {
391
- return e instanceof He;
381
+ function ke(e) {
382
+ return e instanceof De;
392
383
  }
393
- const Le = "data-language";
394
- function $e(e) {
384
+ const Ee = "data-language";
385
+ function Fe(e) {
395
386
  return null !== e.style.fontFamily.match("monospace");
396
387
  }
397
- function Ee(e) {
388
+ function Me(e) {
398
389
  let t = e.parentElement;
399
390
  for (; null !== t;) {
400
- if ($e(t)) return !0;
391
+ if (Fe(t)) return !0;
401
392
  t = t.parentElement;
402
393
  }
403
394
  return !1;
404
395
  }
405
- const Fe = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
396
+ const ze = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
406
397
  $import: (e, t) => e.$importChildren(t),
407
398
  match: sel.tag("tr", "td"),
408
399
  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))],
400
+ })]);
401
+ const Ke = /* @__PURE__ */ defineImportRule({
402
+ $import: (e, t) => [ve(t.getAttribute(Ee)).splice(0, 0, e.$importChildren(t))],
411
403
  match: sel.tag("pre"),
412
404
  name: "@lexical/code/pre"
413
- }), Je = /* @__PURE__ */ defineImportRule({
405
+ });
406
+ const Ie = /* @__PURE__ */ defineImportRule({
414
407
  $import: (e, t, n) => {
415
408
  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();
409
+ return /\r?\n/.test(r) || null !== t.querySelector("br") ? [ve(t.getAttribute(Ee)).splice(0, 0, e.$importChildren(t))] : n();
417
410
  },
418
411
  match: sel.tag("code"),
419
412
  name: "@lexical/code/code-multiline"
420
413
  });
421
- function ze(e) {
414
+ function je(e) {
422
415
  if (!isHTMLElement(e)) return !1;
423
416
  const t = e.style.fontFamily, n = e.style.whiteSpace;
424
417
  return "string" == typeof t && /monospace/i.test(t) && "string" == typeof n && n.startsWith("pre");
425
418
  }
426
- function Ke(e) {
419
+ function Je(e) {
427
420
  let t = !1;
428
421
  const n = [];
429
422
  let r = "", i = !1;
@@ -437,45 +430,47 @@ function Ke(e) {
437
430
  }
438
431
  return o(), t ? n : null;
439
432
  }
440
- function Ie(e) {
433
+ function Re(e) {
441
434
  for (const t of Array.from(e.children)) {
442
- if (isHTMLElement(t) && ze(t)) {
443
- if (null !== Ke(t)) return !0;
435
+ if (isHTMLElement(t) && je(t)) {
436
+ if (null !== Je(t)) return !0;
444
437
  const e = t.nextElementSibling;
445
- if (e && ze(e)) return !0;
438
+ if (e && je(e)) return !0;
446
439
  continue;
447
440
  }
448
- if (Ie(t)) return !0;
441
+ if (Re(t)) return !0;
449
442
  }
450
443
  return !1;
451
444
  }
452
- const je = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
445
+ const We = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule({
453
446
  $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")))];
447
+ if (!je(t) || Me(t)) return n();
448
+ const r = Je(t);
449
+ return null === r || 0 === r.length ? n() : [ve().splice(0, 0, $generateNodesFromRawText(r.join("\n")))];
457
450
  },
458
451
  match: sel.tag("div"),
459
452
  name: "@lexical/code/vscode-wrapper"
460
453
  }), /* @__PURE__ */ defineImportRule({
461
454
  $import: (e, t, n) => {
462
- if (!ze(t) || Ee(t)) return n();
455
+ if (!je(t) || Me(t)) return n();
463
456
  const r = t.previousElementSibling;
464
- if (r && ze(r)) return [];
457
+ if (r && je(r)) return [];
465
458
  const i = [];
466
459
  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")))];
460
+ for (; o && je(o);) i.push("BR" === o.tagName ? "" : o.textContent || ""), o = o.nextElementSibling;
461
+ return i.length < 2 ? n() : [ve().splice(0, 0, $generateNodesFromRawText(i.join("\n")))];
469
462
  },
470
463
  match: sel.tag("div", "br"),
471
464
  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(),
465
+ })]);
466
+ const qe = /* @__PURE__ */ defineImportRule({
467
+ $import: (e, t, n) => Fe(t) ? [ve().splice(0, 0, e.$importChildren(t))] : Me(t) ? e.$importChildren(t) : n(),
474
468
  match: sel.tag("div"),
475
469
  name: "@lexical/code/div"
476
- }), We = [
470
+ });
471
+ const Ue = [
477
472
  /* @__PURE__ */ defineImportRule({
478
- $import: (e, t) => [be().splice(0, 0, e.$importChildren(t, { rules: Fe }))],
473
+ $import: (e, t) => [ve().splice(0, 0, e.$importChildren(t, { rules: ze }))],
479
474
  match: sel.tag("table").classAll("js-file-line-container"),
480
475
  name: "@lexical/code/github-code-table"
481
476
  }),
@@ -484,38 +479,42 @@ const je = /* @__PURE__ */ defineOverlayRules([/* @__PURE__ */ defineImportRule(
484
479
  match: sel.tag("td").classAll("js-file-line"),
485
480
  name: "@lexical/code/github-code-cell-by-class"
486
481
  }),
487
- Je,
488
- Me,
489
- Re
490
- ], qe = /* @__PURE__ */ defineExtension({
482
+ Ie,
483
+ Ke,
484
+ qe
485
+ ];
486
+ const Ve = /* @__PURE__ */ defineExtension({
491
487
  dependencies: [CoreImportExtension, /* @__PURE__ */ configExtension(DOMImportExtension, {
492
488
  preprocess: [(e, t, r) => {
493
- Ie(isDOMDocumentNode(e) ? e.body : e) && t.session.update(ImportOverlays, (e) => [...e, je]), r();
489
+ Re(isDOMDocumentNode(e) ? e.body : e) && t.session.update(ImportOverlays, (e) => [...e, We]), r();
494
490
  }],
495
- rules: We
491
+ rules: Ue
496
492
  })],
497
493
  name: "@lexical/code",
498
- nodes: () => [ye, He],
499
- register: (e) => e.registerCommand(KEY_ENTER_COMMAND, (e) => {
494
+ nodes: () => [Ce, De],
495
+ register: (e) => mergeRegister(e.registerCommand(KEY_ENTER_COMMAND, (e) => {
500
496
  const t = $getSelection();
501
- return !(!$isRangeSelection(t) || !we(t)) && (e.preventDefault(), !0);
502
- }, COMMAND_PRIORITY_LOW)
503
- }), Ue = /* @__PURE__ */ defineExtension({
504
- dependencies: [qe],
497
+ return !(!$isRangeSelection(t) || !$e(t)) && (null !== e && e.preventDefault(), !0);
498
+ }, COMMAND_PRIORITY_LOW), e.registerNodeTransform(TabNode, (e) => {
499
+ 0 !== e.getFormat() && Te(e.getParent()) && e.setFormat(0);
500
+ }))
501
+ });
502
+ const Ge = /* @__PURE__ */ defineExtension({
503
+ dependencies: [Ve],
505
504
  name: "@lexical/code/Import"
506
505
  });
507
- function Ve(e) {
506
+ function Qe(e) {
508
507
  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);
508
+ const t = e.anchor.getNode(), n = Te(t) ? t : t.getParent(), r = e.focus.getNode(), i = Te(r) ? r : r.getParent();
509
+ return Te(n) && n.is(i);
511
510
  }
512
- function Ge(e) {
511
+ function Xe(e) {
513
512
  const t = e.getNodes(), n = [];
514
- if (1 === t.length && ve(t[0])) return n;
513
+ if (1 === t.length && Te(t[0])) return n;
515
514
  let r = [];
516
515
  for (let e = 0; e < t.length; e++) {
517
516
  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);
517
+ ke(i) || $isTabNode(i) || $isLineBreakNode(i) || se(169), $isLineBreakNode(i) ? r.length > 0 && (n.push(r), r = []) : r.push(i);
519
518
  }
520
519
  if (r.length > 0) {
521
520
  const t = e.isBackward() ? e.anchor : e.focus, i = $createPoint(r[0].getKey(), 0, "text");
@@ -523,10 +522,10 @@ function Ge(e) {
523
522
  }
524
523
  return n;
525
524
  }
526
- function Qe(e, t) {
525
+ function Ye(e, t) {
527
526
  const n = $getSelection();
528
- if (!$isRangeSelection(n) || !Ve(n)) return !1;
529
- const r = Ge(n), i = r.length;
527
+ if (!$isRangeSelection(n) || !Qe(n)) return !1;
528
+ const r = Xe(n), i = r.length;
530
529
  if (0 === i && n.isCollapsed()) return e === INDENT_CONTENT_COMMAND && n.insertNodes([$createTabNode()]), !0;
531
530
  if (0 === i && e === INDENT_CONTENT_COMMAND && "\n" === n.getTextContent()) {
532
531
  const e = $createTabNode(), t = $createLineBreakNode(), r = n.isBackward() ? "previous" : "next";
@@ -536,22 +535,22 @@ function Qe(e, t) {
536
535
  const i = r[o];
537
536
  if (i.length > 0) {
538
537
  let r = i[0];
539
- if (0 === o && (r = se(r)), e === INDENT_CONTENT_COMMAND) {
538
+ if (0 === o && (r = ue(r)), e === INDENT_CONTENT_COMMAND) {
540
539
  const e = $createTabNode();
541
540
  if (r.insertBefore(e), 0 === o) {
542
541
  const t = n.isBackward() ? "focus" : "anchor", i = $createPoint(r.getKey(), 0, "text");
543
542
  n[t].is(i) && n[t].set(e.getKey(), 0, "text");
544
543
  }
545
- } else $isTabNode(r) ? r.remove() : void 0 !== t && Be(r) && he(r, t, n);
544
+ } else $isTabNode(r) ? r.remove() : void 0 !== t && ke(r) && pe(r, t, n);
546
545
  }
547
546
  }
548
547
  return !0;
549
548
  }
550
- function Xe(e, t) {
549
+ function Ze(e, t) {
551
550
  const n = $getSelection();
552
551
  if (!$isRangeSelection(n)) return !1;
553
552
  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;
553
+ if (!Qe(n) || !ke(l) && !$isTabNode(l) || !ke(a) && !$isTabNode(a)) return !1;
555
554
  if (!t.altKey) {
556
555
  if (n.isCollapsed()) {
557
556
  const e = l.getParentOrThrow();
@@ -563,89 +562,89 @@ function Xe(e, t) {
563
562
  }
564
563
  return !1;
565
564
  }
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);
565
+ let f, h;
566
+ if (l.isBefore(a) ? (f = ue(l), h = ce(a)) : (f = ue(a), h = ce(l)), null == f || null == h) return !1;
567
+ const p = f.getNodesBetween(h);
569
568
  for (let e = 0; e < p.length; e++) {
570
569
  const t = p[e];
571
- if (!Be(t) && !$isTabNode(t) && !$isLineBreakNode(t)) return !1;
570
+ if (!ke(t) && !$isTabNode(t) && !$isLineBreakNode(t)) return !1;
572
571
  }
573
572
  t.preventDefault(), t.stopPropagation();
574
- const d = g ? h.getPreviousSibling() : f.getNextSibling();
573
+ const d = g ? f.getPreviousSibling() : h.getNextSibling();
575
574
  if (!$isLineBreakNode(d)) return !0;
576
575
  const m = g ? d.getPreviousSibling() : d.getNextSibling();
577
576
  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;
577
+ const x = ke(m) || $isTabNode(m) || $isLineBreakNode(m) ? g ? ue(m) : ce(m) : null;
578
+ let S = null != x ? x : m;
579
+ return d.remove(), p.forEach((e) => e.remove()), e === KEY_ARROW_UP_COMMAND ? (p.forEach((e) => S.insertBefore(e)), S.insertBefore(d)) : (S.insertAfter(d), S = d, p.forEach((e) => {
580
+ S.insertAfter(e), S = e;
582
581
  })), n.setTextNodeRange(l, o, a, s), !0;
583
582
  }
584
- function Ye(e, t) {
583
+ function et(e, t) {
585
584
  const n = $getSelection();
586
585
  if (!$isRangeSelection(n)) return !1;
587
586
  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;
587
+ if (!Qe(n) || !ke(o) && !$isTabNode(o) || !ke(s) && !$isTabNode(s)) return !1;
588
+ const a = s, g = "rtl" === ae(a) ? !l : l, f = r.key, h = r.offset, p = r.type;
590
589
  if (g) {
591
- const e = ce(a, i.offset);
590
+ const e = ge(a, i.offset);
592
591
  if (null !== e) {
593
592
  const { node: t, offset: r } = e;
594
593
  $isLineBreakNode(t) ? t.selectNext(0, 0) : n.setTextNodeRange(t, r, t, r);
595
594
  } else a.getParentOrThrow().selectStart();
596
- } else ae(a).select();
597
- return t.shiftKey && n.anchor.set(h, f, p), t.preventDefault(), t.stopPropagation(), !0;
595
+ } else fe(a).select();
596
+ return t.shiftKey && n.anchor.set(f, h, p), t.preventDefault(), t.stopPropagation(), !0;
598
597
  }
599
- function Ze(e, t, n) {
598
+ function tt(e, t, n) {
600
599
  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)
600
+ e.registerCommand(KEY_ARROW_DOWN_COMMAND, (e) => !e.altKey && $onEscapeDown(Te, e), COMMAND_PRIORITY_LOW),
601
+ e.registerCommand(KEY_ARROW_RIGHT_COMMAND, (e) => $onEscapeDown(Te, e), COMMAND_PRIORITY_LOW),
602
+ e.registerCommand(KEY_ARROW_UP_COMMAND, (e) => !e.altKey && $onEscapeUp(Te, e), COMMAND_PRIORITY_LOW),
603
+ e.registerCommand(KEY_ARROW_LEFT_COMMAND, (e) => $onEscapeUp(Te, e), COMMAND_PRIORITY_LOW)
605
604
  ] : [], e.registerCommand(KEY_TAB_COMMAND, (t) => {
606
605
  const n = function(e) {
607
606
  const t = $getSelection();
608
- if (!$isRangeSelection(t) || !Ve(t)) return null;
607
+ if (!$isRangeSelection(t) || !Qe(t)) return null;
609
608
  const n = e ? OUTDENT_CONTENT_COMMAND : INDENT_CONTENT_COMMAND, r = e ? OUTDENT_CONTENT_COMMAND : INSERT_TAB_COMMAND, i = t.anchor, o = t.focus;
610
609
  if (i.is(o)) return r;
611
- const s = Ge(t);
610
+ const s = Xe(t);
612
611
  if (1 !== s.length) return n;
613
612
  const l = s[0];
614
613
  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;
614
+ 0 === l.length && se(285), t.isBackward() ? (u = o, c = i) : (u = i, c = o);
615
+ const a = ue(l[0]), g = ce(l[0]), f = $createPoint(a.getKey(), 0, "text"), h = $createPoint(g.getKey(), g.getTextContentSize(), "text");
616
+ return u.isBefore(f) || h.isBefore(c) ? n : f.isBefore(u) || c.isBefore(h) ? r : n;
618
617
  }(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) => {
618
+ return null !== n && (t.preventDefault(), e.dispatchCommand(n), !0);
619
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(INSERT_TAB_COMMAND, () => !!Qe($getSelection()) && ($insertNodes([$createTabNode()]), !0), COMMAND_PRIORITY_LOW), e.registerCommand(INDENT_CONTENT_COMMAND, () => Ye(INDENT_CONTENT_COMMAND), COMMAND_PRIORITY_LOW), e.registerCommand(OUTDENT_CONTENT_COMMAND, () => Ye(OUTDENT_CONTENT_COMMAND, t), COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_UP_COMMAND, (e) => {
621
620
  const t = $getSelection();
622
621
  if (!$isRangeSelection(t)) return !1;
623
622
  const { anchor: n } = t, r = n.getNode();
624
- if (!Ve(t)) return !1;
623
+ if (!Qe(t)) return !1;
625
624
  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);
625
+ return t.isCollapsed() && 0 === n.offset && null === r.getPreviousSibling() && Te(i) && null === i.getPreviousSibling() ? (e.preventDefault(), !0) : Ze(KEY_ARROW_UP_COMMAND, e);
627
626
  }, COMMAND_PRIORITY_LOW), e.registerCommand(KEY_ARROW_DOWN_COMMAND, (e) => {
628
627
  const t = $getSelection();
629
628
  if (!$isRangeSelection(t)) return !1;
630
629
  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));
630
+ return !!Qe(t) && (t.isCollapsed() && n.offset === r.getTextContentSize() && null === r.getNextSibling() && Te(r.getParentOrThrow()) && null === r.getParentOrThrow().getNextSibling() ? (e.preventDefault(), !0) : Ze(KEY_ARROW_DOWN_COMMAND, e));
631
+ }, COMMAND_PRIORITY_LOW), e.registerCommand(MOVE_TO_START, (e) => et(MOVE_TO_START, e), COMMAND_PRIORITY_LOW), e.registerCommand(MOVE_TO_END, (e) => et(MOVE_TO_END, e), COMMAND_PRIORITY_LOW));
633
632
  }
634
- const et = /* @__PURE__ */ defineExtension({
633
+ const nt = /* @__PURE__ */ defineExtension({
635
634
  build: (e, t) => namedSignals(t),
636
635
  config: /* @__PURE__ */ safeCast({
637
636
  disabled: !1,
638
637
  escapeWithArrows: !1,
639
638
  tabSize: void 0
640
639
  }),
641
- dependencies: [qe],
640
+ dependencies: [Ve],
642
641
  name: "@lexical/code-indent",
643
642
  register: (e, t, n) => {
644
643
  const r = n.getOutput();
645
644
  return effect(() => {
646
- if (!r.disabled.value) return Ze(e, r.tabSize.value, r.escapeWithArrows.value);
645
+ if (!r.disabled.value) return tt(e, r.tabSize.value, r.escapeWithArrows.value);
647
646
  });
648
647
  }
649
648
  });
650
649
  //#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 };
650
+ export { Le as $createCodeHighlightNode, ve as $createCodeNode, ae as $getCodeLineDirection, fe as $getEndOfCodeInLine, ue as $getFirstCodeNodeOfLine, ce as $getLastCodeNodeOfLine, ge as $getStartOfCodeInLine, ke as $isCodeHighlightNode, Te as $isCodeNode, pe as $outdentLeadingSpaces, he as $plainifyCodeContent, Ve as CodeExtension, De as CodeHighlightNode, Ge as CodeImportExtension, Ue as CodeImportRules, nt as CodeIndentExtension, Ce as CodeNode, de as DEFAULT_CODE_LANGUAGE, me as getDefaultCodeLanguage, tt as registerCodeIndentation };