@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,6 +1,6 @@
1
- import { f as namedSignals, l as effect, m as watchedSignal } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
- import { Ar as getEditorPropertyFromDOMNode, Cr as getActiveElementDeep, W as $getSelection, Zr as isLexicalEditor, ai as safeCast, br as defineExtension, bt as $isTextNode, pt as $isRangeSelection } from "./Lexical.node-BlCLnfA6.mjs";
3
- //#region ../../node_modules/.pnpm/@lexical+dragon@0.46.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.dev.mjs
1
+ import { f as namedSignals, l as effect, m as watchedSignal } from "./LexicalExtension.node-5OymZQfy.mjs";
2
+ import { G as $getSelection, Ir as getEditorPropertyFromDOMNode, St as $isTextNode, Tr as defineExtension, kr as getActiveElementDeep, mt as $isRangeSelection, pi as safeCast, ri as isLexicalEditor } from "./Lexical.node-D6wf2D5M.mjs";
3
+ //#region ../../node_modules/.pnpm/@lexical+dragon@0.49.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.dev.mjs
4
4
  /**
5
5
  * Copyright (c) Meta Platforms, Inc. and affiliates.
6
6
  *
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@lexical+dragon@0.46.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.node.mjs
1
+ //#region ../../node_modules/.pnpm/@lexical+dragon@0.49.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.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("./LexicalDragon.dev-CqW7Aq5H.mjs") : import("./LexicalDragon.prod-DHI3T6n5.mjs"));
9
+ const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalDragon.dev-ZkNfMwrE.mjs") : import("./LexicalDragon.prod-B58ic2av.mjs"));
10
10
  const DragonExtension = mod.DragonExtension;
11
11
  mod.installDragonSupport;
12
12
  mod.registerDragonSupport;
@@ -1,6 +1,6 @@
1
- import { f as namedSignals, l as effect, m as watchedSignal } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
- import { Ar as getEditorPropertyFromDOMNode, Cr as getActiveElementDeep, W as $getSelection, Zr as isLexicalEditor, ai as safeCast, br as defineExtension, bt as $isTextNode, pt as $isRangeSelection } from "./Lexical.node-BlCLnfA6.mjs";
3
- //#region ../../node_modules/.pnpm/@lexical+dragon@0.46.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.prod.mjs
1
+ import { f as namedSignals, l as effect, m as watchedSignal } from "./LexicalExtension.node-5OymZQfy.mjs";
2
+ import { G as $getSelection, Ir as getEditorPropertyFromDOMNode, St as $isTextNode, Tr as defineExtension, kr as getActiveElementDeep, mt as $isRangeSelection, pi as safeCast, ri as isLexicalEditor } from "./Lexical.node-D6wf2D5M.mjs";
3
+ //#region ../../node_modules/.pnpm/@lexical+dragon@0.49.0_typescript@6.0.3/node_modules/@lexical/dragon/dist/LexicalDragon.prod.mjs
4
4
  /**
5
5
  * Copyright (c) Meta Platforms, Inc. and affiliates.
6
6
  *
@@ -15,7 +15,8 @@ const c = {
15
15
  subscript: "subscript",
16
16
  superscript: "superscript",
17
17
  underline: "underline"
18
- }, f = Symbol.for("@lexical/dragon/WindowState");
18
+ };
19
+ const f = Symbol.for("@lexical/dragon/WindowState");
19
20
  function g(e = function() {
20
21
  return "undefined" != typeof window ? window : void 0;
21
22
  }()) {
@@ -1,6 +1,6 @@
1
- import { A as $getChildCaret, Ct as $normalizeCaret, D as $getCaretRange, Dt as $rewindSiblingCaret, Fr as getStaticNodeConfig, G as $getSiblingCaret, Gr as isExactShortcutMatch, Gt as COMMAND_PRIORITY_BEFORE_EDITOR, H as $getPreviousSelection, Ht as CLICK_COMMAND, I as $getEditor, J as $getSlotHost, Jn as KEY_TAB_COMMAND, Kt as COMMAND_PRIORITY_CRITICAL, Lt as $updateDOMSelection, Mt as $setSelection, Nr as getRegisteredSubtypeMap, Nt as $setSelectionFromCaretRange, O as $getCaretRangeInDirection, Ot as $selectAll, Pt as $setState, Qn as OUTDENT_CONTENT_COMMAND, Qt as COMPOSITION_START_TAG, Sr as getActiveElement, Tr as getDOMSelection, U as $getRoot, V as $getNodeFromDOMNode, Vr as isDOMNode, Vt as CLEAR_EDITOR_COMMAND, W as $getSelection, Wt as COMMAND_PRIORITY_BEFORE_CRITICAL, X as $getState, Yn as LineBreakNode, Yt as COMMAND_PRIORITY_LOW, Zt as COMPOSITION_START_COMMAND, _r as createEditor, _t as $isSiblingCaret, a as $caretRangeFromSelection, ai as safeCast, at as $isElementNode, br as defineExtension, bt as $isTextNode, cr as SKIP_SCROLL_INTO_VIEW_TAG, di as toggleTextFormatType, dn as ElementNode, dr as TabNode, dt as $isNodeSelection, f as $createNodeSelection, fr as TextNode, gn as HISTORY_MERGE_TAG, gr as createCommand, h as $createRangeSelection, hr as configExtension, ii as removeClassNamesFromElement, ir as SELECTION_CHANGE_COMMAND, it as $isEditorState, li as shallowMergeConfig, lr as SKIP_SELECTION_FOCUS_TAG, mn as FORMAT_TEXT_COMMAND, mt as $isRootNode, ni as mergeRegister, nt as $isChildCaret, or as SELECT_ALL_COMMAND, p as $createParagraphNode, pr as addClassNamesToElement, pt as $isRangeSelection, q as $getSlotFrame, qr as isHTMLElement, qt as COMMAND_PRIORITY_EDITOR, rr as RootNode, rt as $isDecoratorNode, tr as ParagraphNode, tt as $isBlockElementNode, u as $create, ui as stopLexicalPropagation, un as DecoratorNode, ur as TEXT_TYPE_TO_FORMAT, ut as $isLineBreakNode, vn as INDENT_CONTENT_COMMAND, vr as createState, wt as $normalizeSelection__EXPERIMENTAL, xn as INSERT_TAB_COMMAND, xt as $isTextPointCaret, yr as declarePeerDependency, z as $getNodeByKey } from "./Lexical.node-BlCLnfA6.mjs";
2
- import { a as $handleIndentAndOutdent, c as $isBlockFullySelected, f as IS_APPLE, g as selectionAlwaysOnDisplay, r as $getNearestBlockElementAncestorOrThrow, s as $insertNodeToNearestRoot } from "./LexicalUtils.node-BVAwOkL4.mjs";
3
- //#region ../../node_modules/.pnpm/@lexical+extension@0.46.0_typescript@6.0.3/node_modules/@lexical/extension/dist/LexicalExtension.dev.mjs
1
+ import { $n as LineBreakNode, $r as isHTMLElement, $t as COMMAND_PRIORITY_LOW, A as $getChildCaret, At as $rewindSiblingCaret, B as $getNodeByKey, Cr as createState, Ct as $isTextPointCaret, D as $getCaretRange, Dt as $normalizeSelection__EXPERIMENTAL, Et as $normalizeCaret, Ft as $setSelection, G as $getSelection, Gt as CLEAR_EDITOR_COMMAND, H as $getNodeFromDOMNode, I as $getDocument, It as $setSelectionFromCaretRange, J as $getSlotFrame, Jt as COMMAND_PRIORITY_BEFORE_CRITICAL, K as $getSiblingCaret, Kt as CLICK_COMMAND, L as $getEditor, Lt as $setState, O as $getCaretRangeInDirection, Or as getActiveElement, Qn as KEY_TAB_COMMAND, Sn as INDENT_CONTENT_COMMAND, Sr as createEditor, St as $isTextNode, Tn as INSERT_TAB_COMMAND, Tr as defineExtension, U as $getPreviousSelection, Vr as getStaticNodeConfig, Vt as $updateDOMSelection, W as $getRoot, Xt as COMMAND_PRIORITY_CRITICAL, Y as $getSlotHost, Yt as COMMAND_PRIORITY_BEFORE_EDITOR, Z as $getState, Zr as isExactShortcutMatch, Zt as COMMAND_PRIORITY_EDITOR, _i as shallowMergeConfig, _r as TextNode, a as $caretRangeFromSelection, ar as ParagraphNode, at as $isEditorState, bn as HISTORY_MERGE_TAG, br as configExtension, ci as mergeRegister, cr as SELECTION_CHANGE_COMMAND, di as registerEventListeners, dt as $isLineBreakNode, f as $createNodeSelection, fi as removeClassNamesFromElement, ft as $isNodeSelection, gr as TabNode, h as $createRangeSelection, hn as ElementNode, hr as TEXT_TYPE_TO_FORMAT, ht as $isRootNode, it as $isDecoratorNode, jr as getDOMSelection, jt as $selectAll, kn as IS_APPLE, mn as DecoratorNode, mr as SKIP_SELECTION_FOCUS_TAG, mt as $isRangeSelection, nn as COMPOSITION_START_TAG, nr as OUTDENT_CONTENT_COMMAND, nt as $isBlockElementNode, ot as $isElementNode, p as $createParagraphNode, pi as safeCast, pr as SKIP_SCROLL_INTO_VIEW_TAG, qr as isDOMNode, rt as $isChildCaret, sr as RootNode, tn as COMPOSITION_START_COMMAND, u as $create, ui as registerEventListener, ur as SELECT_ALL_COMMAND, vi as stopLexicalPropagation, vr as addClassNamesToElement, wr as declarePeerDependency, xr as createCommand, yi as toggleTextFormatType, yt as $isSiblingCaret, zr as getRegisteredSubtypeMap } from "./Lexical.node-D6wf2D5M.mjs";
2
+ import { a as $handleIndentAndOutdent, c as $isBlockFullySelected, h as selectionAlwaysOnDisplay, r as $getNearestBlockElementAncestorOrThrow, s as $insertNodeToNearestRoot } from "./LexicalUtils.node-Df9oPTlA.mjs";
3
+ //#region ../../node_modules/.pnpm/@lexical+extension@0.49.0_typescript@6.0.3/node_modules/@lexical/extension/dist/LexicalExtension.dev.mjs
4
4
  /**
5
5
  * Copyright (c) Meta Platforms, Inc. and affiliates.
6
6
  *
@@ -56,7 +56,8 @@ function n(i) {
56
56
  t();
57
57
  }
58
58
  }
59
- let o, s;
59
+ let o;
60
+ let s;
60
61
  function h(i) {
61
62
  const t = o;
62
63
  o = void 0;
@@ -66,7 +67,12 @@ function h(i) {
66
67
  o = t;
67
68
  }
68
69
  }
69
- let r, e = 0, u = 0, c = 0, d = 0, v = 0;
70
+ let r;
71
+ let e = 0;
72
+ let u = 0;
73
+ let c = 0;
74
+ let d = 0;
75
+ let v = 0;
70
76
  function l(i) {
71
77
  if (void 0 === o) return;
72
78
  let t = i.n;
@@ -482,8 +488,8 @@ function $defaultOnClear() {
482
488
  if ($isRangeSelection(selection)) selection.format = 0;
483
489
  }
484
490
  function registerClearEditor(editor, $onClear = $defaultOnClear) {
485
- return editor.registerCommand(CLEAR_EDITOR_COMMAND, (payload) => {
486
- editor.update($onClear);
491
+ return editor.registerCommand(CLEAR_EDITOR_COMMAND, () => {
492
+ $onClear();
487
493
  return true;
488
494
  }, COMMAND_PRIORITY_EDITOR);
489
495
  }
@@ -596,12 +602,10 @@ const ClickAfterLastBlockExtension = /* @__PURE__ */ defineExtension({
596
602
  paragraph.select();
597
603
  });
598
604
  };
599
- rootElement.addEventListener("mousedown", onMouseDown, true);
600
- rootElement.addEventListener("click", onClick, true);
601
- return () => {
602
- rootElement.removeEventListener("mousedown", onMouseDown, true);
603
- rootElement.removeEventListener("click", onClick, true);
604
- };
605
+ return registerEventListeners(rootElement, {
606
+ click: onClick,
607
+ mousedown: onMouseDown
608
+ }, true);
605
609
  });
606
610
  })
607
611
  });
@@ -646,6 +650,10 @@ function getNodeConfig(config) {
646
650
  */
647
651
  const formatState = /* @__PURE__ */ createState("format", { parse: (value) => typeof value === "number" ? value : 0 });
648
652
  var DecoratorTextNode = class extends DecoratorNode {
653
+ /** @internal */
654
+ get __isInlineFormattable() {
655
+ return true;
656
+ }
649
657
  $config() {
650
658
  return this.config("decorator-text", {
651
659
  extends: DecoratorNode,
@@ -655,8 +663,8 @@ var DecoratorTextNode = class extends DecoratorNode {
655
663
  }]
656
664
  });
657
665
  }
658
- getFormat() {
659
- return $getState(this, formatState);
666
+ getFormat(version) {
667
+ return $getState(this, formatState, version);
660
668
  }
661
669
  getFormatFlags(type, alignWithFormat) {
662
670
  return toggleTextFormatType(this.getFormat(), type, alignWithFormat);
@@ -675,11 +683,8 @@ var DecoratorTextNode = class extends DecoratorNode {
675
683
  isInline() {
676
684
  return true;
677
685
  }
678
- createDOM() {
679
- return document.createElement("span");
680
- }
681
- updateDOM() {
682
- return false;
686
+ createDOM(config, editor) {
687
+ return $getDocument().createElement("span");
683
688
  }
684
689
  };
685
690
  function $isDecoratorTextNode(node) {
@@ -722,11 +727,19 @@ function applyFormatFromStyle(lexicalNode, style, shouldApply) {
722
727
  * @returns domNode
723
728
  */
724
729
  function applyFormatToDom(lexicalNode, domNode, tagNameToFormat = DEFAULT_TAG_NAME_TO_FORMAT) {
725
- for (const [tag, format] of Object.entries(tagNameToFormat)) if (lexicalNode.hasFormat(format)) domNode = wrapElementWith(domNode, tag);
726
- return domNode;
730
+ let rval = domNode;
731
+ for (const [tag, format] of Object.entries(tagNameToFormat)) if (lexicalNode.hasFormat(format)) rval = wrapElementWith(rval, tag);
732
+ return rval;
727
733
  }
734
+ /**
735
+ * @deprecated Use {@link applyFormatToDom} instead. The `$` prefix was a
736
+ * mistake in the 0.47 release: the implementation does not read any editor
737
+ * state, so the dollar convention does not apply. This alias is kept for
738
+ * compatibility with 0.47.
739
+ */
740
+ const $applyFormatToDom = applyFormatToDom;
728
741
  function wrapElementWith(element, tag) {
729
- const el = document.createElement(tag);
742
+ const el = element.ownerDocument.createElement(tag);
730
743
  el.appendChild(element);
731
744
  return el;
732
745
  }
@@ -743,21 +756,11 @@ const DEFAULT_TAG_NAME_TO_FORMAT = {
743
756
  u: "underline"
744
757
  };
745
758
  /**
746
- * An extension for DecoratorTextNode that sets the format for the node and CSS classes for the DOM container.
747
- * The base class is always set, and the focus class is set when the node is selected.
759
+ * An extension that registers DecoratorTextNode with the editor.
748
760
  */
749
761
  const DecoratorTextExtension = /* @__PURE__ */ defineExtension({
750
762
  name: "@lexical/extension/DecoratorText",
751
- nodes: () => [DecoratorTextNode],
752
- register(editor, config, state) {
753
- return editor.registerCommand(FORMAT_TEXT_COMMAND, (formatType) => {
754
- const selection = $getSelection();
755
- if ($isNodeSelection(selection) || $isRangeSelection(selection)) {
756
- for (const node of selection.getNodes()) if ($isDecoratorTextNode(node)) node.toggleFormat(formatType);
757
- }
758
- return false;
759
- }, COMMAND_PRIORITY_LOW);
760
- }
763
+ nodes: () => [DecoratorTextNode]
761
764
  });
762
765
  /**
763
766
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -826,7 +829,7 @@ function formatDevErrorMessage(message) {
826
829
  */
827
830
  let envLexicalVersion;
828
831
  try {
829
- envLexicalVersion = "0.46.0+dev.esm";
832
+ envLexicalVersion = "0.49.0+dev.esm";
830
833
  } catch (_unused) {}
831
834
  const LEXICAL_VERSION = envLexicalVersion ?? "\"<unknown>+source\"";
832
835
  /**
@@ -1650,30 +1653,21 @@ const NodeSelectionExtension = /* @__PURE__ */ defineExtension({
1650
1653
  /**
1651
1654
  * Command that inserts a {@link HorizontalRuleNode} at the current selection.
1652
1655
  * Dispatch it with
1653
- * `editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND, undefined)`.
1656
+ * `editor.dispatchCommand(INSERT_HORIZONTAL_RULE_COMMAND)`.
1654
1657
  */
1655
1658
  const INSERT_HORIZONTAL_RULE_COMMAND = /* @__PURE__ */ createCommand("INSERT_HORIZONTAL_RULE_COMMAND");
1656
- var HorizontalRuleNode = class HorizontalRuleNode extends DecoratorNode {
1657
- static getType() {
1658
- return "horizontalrule";
1659
- }
1660
- static clone(node) {
1661
- return new HorizontalRuleNode(node.__key);
1662
- }
1663
- static importJSON(serializedNode) {
1664
- return $createHorizontalRuleNode().updateFromJSON(serializedNode);
1665
- }
1666
- static importDOM() {
1667
- return { hr: () => ({
1659
+ var HorizontalRuleNode = class extends DecoratorNode {
1660
+ $config() {
1661
+ return this.config("horizontalrule", { importDOM: { hr: () => ({
1668
1662
  conversion: $convertHorizontalRuleElement,
1669
1663
  priority: 0
1670
- }) };
1664
+ }) } });
1671
1665
  }
1672
1666
  exportDOM() {
1673
- return { element: document.createElement("hr") };
1667
+ return { element: $getDocument().createElement("hr") };
1674
1668
  }
1675
1669
  createDOM(config) {
1676
- const element = document.createElement("hr");
1670
+ const element = $getDocument().createElement("hr");
1677
1671
  addClassNamesToElement(element, config.theme.hr);
1678
1672
  return element;
1679
1673
  }
@@ -1842,10 +1836,7 @@ const IMEExtension = /* @__PURE__ */ defineExtension({
1842
1836
  const onCompositionEnd = () => {
1843
1837
  compositionKey.value = null;
1844
1838
  };
1845
- rootElem.addEventListener("compositionend", onCompositionEnd);
1846
- return () => {
1847
- rootElem.removeEventListener("compositionend", onCompositionEnd);
1848
- };
1839
+ return registerEventListener(rootElem, "compositionend", onCompositionEnd);
1849
1840
  }));
1850
1841
  }
1851
1842
  });
@@ -2062,11 +2053,10 @@ const NormalizeTripleClickSelectionExtension = /* @__PURE__ */ defineExtension({
2062
2053
  stores.$fixFocusOverselection.peek()();
2063
2054
  }
2064
2055
  return false;
2065
- }, COMMAND_PRIORITY_BEFORE_CRITICAL), (() => {
2066
- const events = ["mouseup", "mousedown"];
2067
- events.forEach((v) => rootElement.addEventListener(v, refreshTripleClick, true));
2068
- return () => events.forEach((v) => rootElement.removeEventListener(v, refreshTripleClick, true));
2069
- })());
2056
+ }, COMMAND_PRIORITY_BEFORE_CRITICAL), registerEventListeners(rootElement, {
2057
+ mousedown: refreshTripleClick,
2058
+ mouseup: refreshTripleClick
2059
+ }, true));
2070
2060
  });
2071
2061
  })
2072
2062
  });
@@ -2100,10 +2090,7 @@ const PreventSelectAllExtension = /* @__PURE__ */ defineExtension({
2100
2090
  const stores = state.getOutput();
2101
2091
  return j(() => {
2102
2092
  if (!stores.disabled.value) return editor.registerRootListener((rootElement) => {
2103
- if (rootElement) {
2104
- rootElement.addEventListener("keydown", captureKeydown, true);
2105
- return () => rootElement.removeEventListener("keydown", captureKeydown, true);
2106
- }
2093
+ if (rootElement) return registerEventListener(rootElement, "keydown", captureKeydown, true);
2107
2094
  });
2108
2095
  });
2109
2096
  }
@@ -2115,6 +2102,31 @@ const PreventSelectAllExtension = /* @__PURE__ */ defineExtension({
2115
2102
  * LICENSE file in the root directory of this source tree.
2116
2103
  *
2117
2104
  */
2105
+ /**
2106
+ * Exposes the editor's current root element as a reactive
2107
+ * `Signal<HTMLElement | null>` that mirrors `editor.getRootElement()` via a
2108
+ * root listener.
2109
+ *
2110
+ * Depend on this extension and read its output `Signal` from a signals
2111
+ * `effect`/`computed` to react to the root mounting, unmounting, or remounting
2112
+ * (e.g. into a different document such as an iframe) without subscribing
2113
+ * through React (or any other framework).
2114
+ */
2115
+ const RootElementExtension = /* @__PURE__ */ defineExtension({
2116
+ build(editor) {
2117
+ return watchedSignal(() => editor.getRootElement(), (rootElementSignal) => editor.registerRootListener((rootElement) => {
2118
+ rootElementSignal.value = rootElement;
2119
+ }));
2120
+ },
2121
+ name: "@lexical/extension/RootElement"
2122
+ });
2123
+ /**
2124
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
2125
+ *
2126
+ * This source code is licensed under the MIT license found in the
2127
+ * LICENSE file in the root directory of this source tree.
2128
+ *
2129
+ */
2118
2130
  function $hasCommonTopParent(nodes, commonTopParent) {
2119
2131
  return nodes.every((node) => commonTopParent.is(node.getTopLevelElement()));
2120
2132
  }
@@ -2244,7 +2256,7 @@ function registerTabIndentation(editor, maxIndent, $canIndent = $defaultCanInden
2244
2256
  if (!$isRangeSelection(selection)) return false;
2245
2257
  event.preventDefault();
2246
2258
  const command = $indentOverTab(selection) ? event.shiftKey ? OUTDENT_CONTENT_COMMAND : INDENT_CONTENT_COMMAND : INSERT_TAB_COMMAND;
2247
- return editor.dispatchCommand(command, void 0);
2259
+ return editor.dispatchCommand(command);
2248
2260
  }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(INDENT_CONTENT_COMMAND, () => {
2249
2261
  const currentMaxIndent = typeof maxIndent === "number" ? maxIndent : maxIndent ? maxIndent.peek() : null;
2250
2262
  if (!$isRangeSelection($getSelection())) return false;
@@ -2303,4 +2315,4 @@ const WatchEditableExtension = /* @__PURE__ */ defineExtension({
2303
2315
  name: "@lexical/extension/WatchEditable"
2304
2316
  });
2305
2317
  //#endregion
2306
- export { $createHorizontalRuleNode, $defaultShouldInsertAfter, $getExtensionDependency, $getExtensionOutput, $getPeerDependency, $isDecoratorTextNode, $isHorizontalRuleNode, AutoFocusExtension, ClearEditorExtension, ClickAfterLastBlockExtension, DecoratorTextExtension, DecoratorTextNode, EditorStateExtension, HorizontalRuleExtension, HorizontalRuleNode, IMEExtension, INSERT_HORIZONTAL_RULE_COMMAND, InitialStateExtension, LexicalBuilder, NestedEditorExtension, NodeSelectionDataSelectedExtension, NodeSelectionExtension, NormalizeInlineElementsExtension, NormalizeTripleClickSelectionExtension, PreventSelectAllExtension, SelectBlockExtension, SelectionAlwaysOnDisplayExtension, TabIndentationExtension, WatchEditableExtension, applyFormatFromStyle, applyFormatToDom, n as batch, buildEditorFromExtensions, g as computed, configExtension, declarePeerDependency, defineExtension, j as effect, getExtensionDependencyFromEditor, getKnownTypesAndNodes, getPeerDependencyFromEditor, getPeerDependencyFromEditorOrThrow, namedSignals, registerClearEditor, registerTabIndentation, safeCast, shallowMergeConfig, a as signal, h as untracked, watchedSignal };
2318
+ export { $applyFormatToDom, $createHorizontalRuleNode, $defaultShouldInsertAfter, $getExtensionDependency, $getExtensionOutput, $getPeerDependency, $isDecoratorTextNode, $isHorizontalRuleNode, AutoFocusExtension, ClearEditorExtension, ClickAfterLastBlockExtension, DecoratorTextExtension, DecoratorTextNode, EditorStateExtension, HorizontalRuleExtension, HorizontalRuleNode, IMEExtension, INSERT_HORIZONTAL_RULE_COMMAND, InitialStateExtension, LexicalBuilder, NestedEditorExtension, NodeSelectionDataSelectedExtension, NodeSelectionExtension, NormalizeInlineElementsExtension, NormalizeTripleClickSelectionExtension, PreventSelectAllExtension, RootElementExtension, SelectBlockExtension, SelectionAlwaysOnDisplayExtension, TabIndentationExtension, WatchEditableExtension, applyFormatFromStyle, applyFormatToDom, n as batch, buildEditorFromExtensions, g as computed, configExtension, declarePeerDependency, defineExtension, j as effect, getExtensionDependencyFromEditor, getKnownTypesAndNodes, getPeerDependencyFromEditor, getPeerDependencyFromEditorOrThrow, namedSignals, registerClearEditor, registerTabIndentation, safeCast, shallowMergeConfig, a as signal, h as untracked, watchedSignal };
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@lexical+extension@0.46.0_typescript@6.0.3/node_modules/@lexical/extension/dist/LexicalExtension.node.mjs
1
+ //#region ../../node_modules/.pnpm/@lexical+extension@0.49.0_typescript@6.0.3/node_modules/@lexical/extension/dist/LexicalExtension.node.mjs
2
2
  /**
3
3
  * Copyright (c) Meta Platforms, Inc. and affiliates.
4
4
  *
@@ -6,7 +6,8 @@
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("./LexicalExtension.dev-BP-18zns.mjs") : import("./LexicalExtension.prod-Cs6OgrDn.mjs"));
9
+ const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalExtension.dev-DvwHs1Xv.mjs") : import("./LexicalExtension.prod-Ce0T5smQ.mjs"));
10
+ mod.$applyFormatToDom;
10
11
  const $createHorizontalRuleNode = mod.$createHorizontalRuleNode;
11
12
  mod.$defaultShouldInsertAfter;
12
13
  mod.$getExtensionDependency;
@@ -32,6 +33,7 @@ mod.NodeSelectionExtension;
32
33
  const NormalizeInlineElementsExtension = mod.NormalizeInlineElementsExtension;
33
34
  const NormalizeTripleClickSelectionExtension = mod.NormalizeTripleClickSelectionExtension;
34
35
  mod.PreventSelectAllExtension;
36
+ mod.RootElementExtension;
35
37
  mod.SelectBlockExtension;
36
38
  mod.SelectionAlwaysOnDisplayExtension;
37
39
  mod.TabIndentationExtension;