@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,9 +1,9 @@
1
- import { c as configExtension, d as getPeerDependencyFromEditor, r as $getPeerDependency } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
- import { $r as isSelectionWithinEditor, A as $getChildCaret, Ar as getEditorPropertyFromDOMNode, D as $getCaretRange, Er as getDOMSelectionPoints, Ft as $splitAtPointCaretNext, Hr as isDOMShadowRoot, I as $getEditor, K as $getSlot, Kt as COMMAND_PRIORITY_CRITICAL, Mr as getParentElement, N as $getCollapsedCaretRange, Nt as $setSelectionFromCaretRange, O as $getCaretRangeInDirection, Or as getDOMShadowRoots, Pr as getRootOwnerDocument, R as $getNearestNodeFromDOMNode, Tr as getDOMSelection, Tt as $parseSerializedNode, U as $getRoot, W as $getSelection, Y as $getSlotNames, Z as $getTextPointCaret, Zr as isLexicalEditor, _ as $createTabNode, a as $caretRangeFromSelection, ai as safeCast, ar as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, at as $isElementNode, br as defineExtension, bt as $isTextNode, c as $comparePointCaretNext, dt as $isNodeSelection, en as COPY_COMMAND, fi as tokenizeRawText, i as $caretFromPoint, j as $getChildCaretAtIndex, li as shallowMergeConfig, pt as $isRangeSelection, q as $getSlotFrame, qr as isHTMLElement, xr as findAllLexicalElementsDeep, xt as $isTextPointCaret } from "./Lexical.node-BlCLnfA6.mjs";
3
- import { d as ImportSourceDataTransfer, i as $generateNodesFromDOMViaExtension, m as contextValue, n as $generateHtmlFromNodes, r as $generateNodesFromDOM, s as CoreImportExtension, u as ImportSource } from "./LexicalHtml.node-CVkbWtUA.mjs";
4
- import { a as $sliceSelectedTextNodeContent } from "./LexicalSelection.node-CLKroUMQ.mjs";
5
- import { h as objectKlassEquals } from "./LexicalUtils.node-BVAwOkL4.mjs";
6
- //#region ../../node_modules/.pnpm/@lexical+clipboard@0.46.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.dev.mjs
1
+ import { c as configExtension, d as getPeerDependencyFromEditor, r as $getPeerDependency } from "./LexicalExtension.node-5OymZQfy.mjs";
2
+ import { $r as isHTMLElement, A as $getChildCaret, Br as getRootOwnerDocument, Ct as $isTextPointCaret, D as $getCaretRange, Er as findAllLexicalElementsDeep, G as $getSelection, Ir as getEditorPropertyFromDOMNode, It as $setSelectionFromCaretRange, J as $getSlotFrame, Jr as isDOMShadowRoot, L as $getEditor, Mr as getDOMSelectionPoints, N as $getCollapsedCaretRange, O as $getCaretRangeInDirection, Ot as $parseSerializedNode, Pr as getDOMShadowRoots, Q as $getTextPointCaret, Rr as getParentElement, St as $isTextNode, Tr as defineExtension, W as $getRoot, X as $getSlotNames, Xt as COMMAND_PRIORITY_CRITICAL, _ as $createTabNode, _i as shallowMergeConfig, a as $caretRangeFromSelection, ai as isSelectionWithinEditor, bi as tokenizeRawText, c as $comparePointCaretNext, ft as $isNodeSelection, i as $caretFromPoint, in as COPY_COMMAND, j as $getChildCaretAtIndex, jr as getDOMSelection, lr as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, mt as $isRangeSelection, ot as $isElementNode, pi as safeCast, q as $getSlot, ri as isLexicalEditor, z as $getNearestNodeFromDOMNode, zt as $splitAtPointCaretNext } from "./Lexical.node-D6wf2D5M.mjs";
3
+ import { c as CoreImportExtension, d as ImportSource, f as ImportSourceDataTransfer, h as contextValue, i as $generateNodesFromDOMViaExtension, n as $generateHtmlFromNodes, r as $generateNodesFromDOM } from "./LexicalHtml.node-DpVNt7It.mjs";
4
+ import { a as $sliceSelectedTextNodeContent } from "./LexicalSelection.node-DBEwPjBu.mjs";
5
+ import { m as objectKlassEquals } from "./LexicalUtils.node-Df9oPTlA.mjs";
6
+ //#region ../../node_modules/.pnpm/@lexical+clipboard@0.49.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.dev.mjs
7
7
  /**
8
8
  * Copyright (c) Meta Platforms, Inc. and affiliates.
9
9
  *
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@lexical+clipboard@0.46.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.node.mjs
1
+ //#region ../../node_modules/.pnpm/@lexical+clipboard@0.49.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.node.mjs
2
2
  /**
3
3
  * Copyright (c) Meta Platforms, Inc. and affiliates.
4
4
  *
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  *
8
8
  */
9
- const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalClipboard.dev-CdFkLR_D.mjs") : import("./LexicalClipboard.prod-DliyLofW.mjs"));
9
+ const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalClipboard.dev-CMkPHV7O.mjs") : import("./LexicalClipboard.prod-B_rN1vE1.mjs"));
10
10
  mod.$exportMimeTypeFromSelection;
11
11
  mod.$generateJSONFromSelectedNodes;
12
12
  mod.$generateNodesFromSerializedNodes;
@@ -1,9 +1,9 @@
1
- import { c as configExtension, d as getPeerDependencyFromEditor, r as $getPeerDependency } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
- import { $r as isSelectionWithinEditor, A as $getChildCaret, Ar as getEditorPropertyFromDOMNode, D as $getCaretRange, Er as getDOMSelectionPoints, Ft as $splitAtPointCaretNext, Hr as isDOMShadowRoot, I as $getEditor, K as $getSlot, Kt as COMMAND_PRIORITY_CRITICAL, Mr as getParentElement, N as $getCollapsedCaretRange, Nt as $setSelectionFromCaretRange, O as $getCaretRangeInDirection, Or as getDOMShadowRoots, Pr as getRootOwnerDocument, R as $getNearestNodeFromDOMNode, Tr as getDOMSelection, Tt as $parseSerializedNode, U as $getRoot, W as $getSelection, Y as $getSlotNames, Z as $getTextPointCaret, Zr as isLexicalEditor, _ as $createTabNode, a as $caretRangeFromSelection, ai as safeCast, ar as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, at as $isElementNode, br as defineExtension, bt as $isTextNode, c as $comparePointCaretNext, dt as $isNodeSelection, en as COPY_COMMAND, fi as tokenizeRawText, i as $caretFromPoint, j as $getChildCaretAtIndex, li as shallowMergeConfig, pt as $isRangeSelection, q as $getSlotFrame, qr as isHTMLElement, xr as findAllLexicalElementsDeep, xt as $isTextPointCaret } from "./Lexical.node-BlCLnfA6.mjs";
3
- import { d as ImportSourceDataTransfer, i as $generateNodesFromDOMViaExtension, m as contextValue, n as $generateHtmlFromNodes, r as $generateNodesFromDOM, s as CoreImportExtension, u as ImportSource } from "./LexicalHtml.node-CVkbWtUA.mjs";
4
- import { a as $sliceSelectedTextNodeContent } from "./LexicalSelection.node-CLKroUMQ.mjs";
5
- import { h as objectKlassEquals } from "./LexicalUtils.node-BVAwOkL4.mjs";
6
- //#region ../../node_modules/.pnpm/@lexical+clipboard@0.46.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.prod.mjs
1
+ import { c as configExtension, d as getPeerDependencyFromEditor, r as $getPeerDependency } from "./LexicalExtension.node-5OymZQfy.mjs";
2
+ import { $r as isHTMLElement, A as $getChildCaret, Br as getRootOwnerDocument, Ct as $isTextPointCaret, D as $getCaretRange, Er as findAllLexicalElementsDeep, G as $getSelection, Ir as getEditorPropertyFromDOMNode, It as $setSelectionFromCaretRange, J as $getSlotFrame, Jr as isDOMShadowRoot, L as $getEditor, Mr as getDOMSelectionPoints, N as $getCollapsedCaretRange, O as $getCaretRangeInDirection, Ot as $parseSerializedNode, Pr as getDOMShadowRoots, Q as $getTextPointCaret, Rr as getParentElement, St as $isTextNode, Tr as defineExtension, W as $getRoot, X as $getSlotNames, Xt as COMMAND_PRIORITY_CRITICAL, _ as $createTabNode, _i as shallowMergeConfig, a as $caretRangeFromSelection, ai as isSelectionWithinEditor, bi as tokenizeRawText, c as $comparePointCaretNext, ft as $isNodeSelection, i as $caretFromPoint, in as COPY_COMMAND, j as $getChildCaretAtIndex, jr as getDOMSelection, lr as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, mt as $isRangeSelection, ot as $isElementNode, pi as safeCast, q as $getSlot, ri as isLexicalEditor, z as $getNearestNodeFromDOMNode, zt as $splitAtPointCaretNext } from "./Lexical.node-D6wf2D5M.mjs";
3
+ import { c as CoreImportExtension, d as ImportSource, f as ImportSourceDataTransfer, h as contextValue, i as $generateNodesFromDOMViaExtension, n as $generateHtmlFromNodes, r as $generateNodesFromDOM } from "./LexicalHtml.node-DpVNt7It.mjs";
4
+ import { a as $sliceSelectedTextNodeContent } from "./LexicalSelection.node-DBEwPjBu.mjs";
5
+ import { m as objectKlassEquals } from "./LexicalUtils.node-Df9oPTlA.mjs";
6
+ //#region ../../node_modules/.pnpm/@lexical+clipboard@0.49.0_typescript@6.0.3/node_modules/@lexical/clipboard/dist/LexicalClipboard.prod.mjs
7
7
  /**
8
8
  * Copyright (c) Meta Platforms, Inc. and affiliates.
9
9
  *
@@ -100,7 +100,8 @@ const it = (t, e) => {
100
100
  tab: () => n((t) => t.insertNodes([$createTabNode()])),
101
101
  text: (t) => n((e) => e.insertText(t))
102
102
  }), !0;
103
- }, lt = {
103
+ };
104
+ const lt = {
104
105
  "application/x-lexical-editor": [(t, e, n) => {
105
106
  try {
106
107
  const n = $getEditor(), o = JSON.parse(t);
@@ -173,7 +174,8 @@ const at = /* @__PURE__ */ defineExtension({
173
174
  }), n;
174
175
  },
175
176
  name: "@lexical/clipboard/Import"
176
- }), ft = /* @__PURE__ */ defineExtension({
177
+ });
178
+ const ft = /* @__PURE__ */ defineExtension({
177
179
  dependencies: [CoreImportExtension, /* @__PURE__ */ configExtension(at, { $importMimeType: { "text/html": [(t, e, n, o) => {
178
180
  const l = $generateNodesFromDOMViaExtension(new DOMParser().parseFromString(rt(t), "text/html"), { context: [contextValue(ImportSource, "paste"), contextValue(ImportSourceDataTransfer, o)] });
179
181
  return Mt($getEditor(), l, e), !0;
@@ -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.dev.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.dev.mjs
6
6
  /**
7
7
  * Copyright (c) Meta Platforms, Inc. and affiliates.
8
8
  *
@@ -216,20 +216,59 @@ const HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE = "data-highlight-language";
216
216
  const THEME_DATA_ATTRIBUTE = "data-theme";
217
217
  const noExtensionDeprecation = warnOnlyOnce("Using CodeNode without CodeExtension is deprecated");
218
218
  /** @noInheritDoc */
219
- var CodeNode = class CodeNode extends ElementNode {
219
+ var CodeNode = class extends ElementNode {
220
220
  /** @internal */
221
221
  __language;
222
222
  /** @internal */
223
223
  __theme;
224
224
  /** @internal */
225
225
  __isSyntaxHighlightSupported;
226
- static getType() {
227
- return "code";
228
- }
229
- static clone(node) {
230
- return new CodeNode(node.__language, node.__key);
226
+ $config() {
227
+ return this.config("code", {
228
+ extends: ElementNode,
229
+ importDOM: {
230
+ code: (node) => {
231
+ return node.textContent != null && (/\r?\n/.test(node.textContent) || hasChildDOMNodeTag(node, "BR")) ? {
232
+ conversion: $convertPreElement,
233
+ priority: 1
234
+ } : null;
235
+ },
236
+ div: () => ({
237
+ conversion: $convertDivElement,
238
+ priority: 1
239
+ }),
240
+ pre: () => ({
241
+ conversion: $convertPreElement,
242
+ priority: 0
243
+ }),
244
+ table: (node) => {
245
+ if (isGitHubCodeTable(node)) return {
246
+ conversion: $convertTableElement,
247
+ priority: 3
248
+ };
249
+ return null;
250
+ },
251
+ td: (node) => {
252
+ const td = node;
253
+ const table = td.closest("table");
254
+ if (isGitHubCodeCell(td) || table && isGitHubCodeTable(table)) return {
255
+ conversion: convertCodeNoop,
256
+ priority: 3
257
+ };
258
+ return null;
259
+ },
260
+ tr: (node) => {
261
+ const table = node.closest("table");
262
+ if (table && isGitHubCodeTable(table)) return {
263
+ conversion: convertCodeNoop,
264
+ priority: 3
265
+ };
266
+ return null;
267
+ }
268
+ }
269
+ });
231
270
  }
232
- constructor(language, key) {
271
+ constructor(language = void 0, key) {
233
272
  super(key);
234
273
  this.__language = language || void 0;
235
274
  this.__isSyntaxHighlightSupported = false;
@@ -242,7 +281,7 @@ var CodeNode = class CodeNode extends ElementNode {
242
281
  this.__isSyntaxHighlightSupported = prevNode.__isSyntaxHighlightSupported;
243
282
  }
244
283
  createDOM(config) {
245
- const element = document.createElement("code");
284
+ const element = $getDocument().createElement("code");
246
285
  addClassNamesToElement(element, config.theme.code);
247
286
  element.setAttribute("spellcheck", "false");
248
287
  const language = this.getLanguage();
@@ -278,7 +317,7 @@ var CodeNode = class CodeNode extends ElementNode {
278
317
  return false;
279
318
  }
280
319
  exportDOM(editor) {
281
- const element = document.createElement("pre");
320
+ const element = $getDocument().createElement("pre");
282
321
  addClassNamesToElement(element, editor._config.theme.code);
283
322
  element.setAttribute("spellcheck", "false");
284
323
  const language = this.getLanguage();
@@ -292,51 +331,6 @@ var CodeNode = class CodeNode extends ElementNode {
292
331
  if (style) setDOMStyleFromCSS(element.style, style);
293
332
  return { element };
294
333
  }
295
- static importDOM() {
296
- return {
297
- code: (node) => {
298
- return node.textContent != null && (/\r?\n/.test(node.textContent) || hasChildDOMNodeTag(node, "BR")) ? {
299
- conversion: $convertPreElement,
300
- priority: 1
301
- } : null;
302
- },
303
- div: () => ({
304
- conversion: $convertDivElement,
305
- priority: 1
306
- }),
307
- pre: () => ({
308
- conversion: $convertPreElement,
309
- priority: 0
310
- }),
311
- table: (node) => {
312
- if (isGitHubCodeTable(node)) return {
313
- conversion: $convertTableElement,
314
- priority: 3
315
- };
316
- return null;
317
- },
318
- td: (node) => {
319
- const td = node;
320
- const table = td.closest("table");
321
- if (isGitHubCodeCell(td) || table && isGitHubCodeTable(table)) return {
322
- conversion: convertCodeNoop,
323
- priority: 3
324
- };
325
- return null;
326
- },
327
- tr: (node) => {
328
- const table = node.closest("table");
329
- if (table && isGitHubCodeTable(table)) return {
330
- conversion: convertCodeNoop,
331
- priority: 3
332
- };
333
- return null;
334
- }
335
- };
336
- }
337
- static importJSON(serializedNode) {
338
- return $createCodeNode().updateFromJSON(serializedNode);
339
- }
340
334
  updateFromJSON(serializedNode) {
341
335
  return super.updateFromJSON(serializedNode).setLanguage(serializedNode.language).setTheme(serializedNode.theme);
342
336
  }
@@ -487,18 +481,15 @@ function $exitCodeNodeOnEnter(selection) {
487
481
  *
488
482
  */
489
483
  /** @noInheritDoc */
490
- var CodeHighlightNode = class CodeHighlightNode extends TextNode {
484
+ var CodeHighlightNode = class extends TextNode {
491
485
  /** @internal */
492
486
  __highlightType;
493
487
  constructor(text = "", highlightType, key) {
494
488
  super(text, key);
495
489
  this.__highlightType = highlightType;
496
490
  }
497
- static getType() {
498
- return "code-highlight";
499
- }
500
- static clone(node) {
501
- return new CodeHighlightNode(node.__text, node.__highlightType || void 0, node.__key);
491
+ $config() {
492
+ return this.config("code-highlight", { extends: TextNode });
502
493
  }
503
494
  afterCloneFrom(prevNode) {
504
495
  super.afterCloneFrom(prevNode);
@@ -530,9 +521,6 @@ var CodeHighlightNode = class CodeHighlightNode extends TextNode {
530
521
  }
531
522
  return update;
532
523
  }
533
- static importJSON(serializedNode) {
534
- return $createCodeHighlightNode().updateFromJSON(serializedNode);
535
- }
536
524
  updateFromJSON(serializedNode) {
537
525
  return super.updateFromJSON(serializedNode).setHighlightType(serializedNode.highlightType);
538
526
  }
@@ -815,14 +803,16 @@ const CodeExtension = /* @__PURE__ */ defineExtension({
815
803
  name: "@lexical/code",
816
804
  nodes: () => [CodeNode, CodeHighlightNode],
817
805
  register(editor) {
818
- return editor.registerCommand(KEY_ENTER_COMMAND, (event) => {
806
+ return mergeRegister(editor.registerCommand(KEY_ENTER_COMMAND, (event) => {
819
807
  const selection = $getSelection();
820
808
  if ($isRangeSelection(selection) && $exitCodeNodeOnEnter(selection)) {
821
- event.preventDefault();
809
+ if (event !== null) event.preventDefault();
822
810
  return true;
823
811
  }
824
812
  return false;
825
- }, COMMAND_PRIORITY_LOW);
813
+ }, COMMAND_PRIORITY_LOW), editor.registerNodeTransform(TabNode, (node) => {
814
+ if (node.getFormat() !== 0 && $isCodeNode(node.getParent())) node.setFormat(0);
815
+ }));
826
816
  }
827
817
  });
828
818
  /**
@@ -1060,7 +1050,7 @@ function registerCodeIndentation(editor, tabSize, escapeWithArrows) {
1060
1050
  const command = $handleTab(event.shiftKey);
1061
1051
  if (command === null) return false;
1062
1052
  event.preventDefault();
1063
- editor.dispatchCommand(command, void 0);
1053
+ editor.dispatchCommand(command);
1064
1054
  return true;
1065
1055
  }, COMMAND_PRIORITY_LOW), editor.registerCommand(INSERT_TAB_COMMAND, () => {
1066
1056
  if (!$isSelectionInCode($getSelection())) return false;