@mx-space/cli 0.14.1 → 0.14.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/{Lexical.dev-DTxuYHmG.mjs → Lexical.dev-CtGmYDoh.mjs} +770 -271
  2. package/dist/{Lexical.node-BlCLnfA6.mjs → Lexical.node-8sRFmq2X.mjs} +15 -5
  3. package/dist/Lexical.prod-D-VfeKDz.mjs +7200 -0
  4. package/dist/{LexicalClipboard.dev-CdFkLR_D.mjs → LexicalClipboard.dev-CzQ15z6E.mjs} +6 -6
  5. package/dist/{LexicalClipboard.node-ktUajxsv.mjs → LexicalClipboard.node-D4gMGws6.mjs} +2 -2
  6. package/dist/{LexicalClipboard.prod-DliyLofW.mjs → LexicalClipboard.prod-CltkQpzS.mjs} +10 -8
  7. package/dist/{LexicalCodeCore.dev-CL9tHWJX.mjs → LexicalCodeCore.dev-DkYBZRGB.mjs} +11 -9
  8. package/dist/{LexicalCodeCore.prod-BoMSJc29.mjs → LexicalCodeCore.prod-COc3_QL8.mjs} +178 -167
  9. package/dist/{LexicalDragon.dev-CqW7Aq5H.mjs → LexicalDragon.dev-Dv5_WUae.mjs} +3 -3
  10. package/dist/{LexicalDragon.node-DLXctJyy.mjs → LexicalDragon.node-DgjrmWkd.mjs} +2 -2
  11. package/dist/{LexicalDragon.prod-DHI3T6n5.mjs → LexicalDragon.prod-DnpbDe-_.mjs} +5 -4
  12. package/dist/{LexicalExtension.dev-BP-18zns.mjs → LexicalExtension.dev-JMH_6-OZ.mjs} +73 -52
  13. package/dist/{LexicalExtension.node-BWH6xbzG.mjs → LexicalExtension.node-BUozzx4t.mjs} +4 -2
  14. package/dist/{LexicalExtension.prod-Cs6OgrDn.mjs → LexicalExtension.prod-UiyDgmou.mjs} +370 -347
  15. package/dist/{LexicalHeadless.dev-DJp__UcP.mjs → LexicalHeadless.dev-BfLGciiX.mjs} +2 -2
  16. package/dist/{LexicalHeadless.prod-o0v9cIu5.mjs → LexicalHeadless.prod-CWF7edmQ.mjs} +2 -2
  17. package/dist/{LexicalHtml.dev-DoymwFpG.mjs → LexicalHtml.dev-D5EF5PGW.mjs} +13 -11
  18. package/dist/{LexicalHtml.node-CVkbWtUA.mjs → LexicalHtml.node-BYbzHNVe.mjs} +4 -4
  19. package/dist/{LexicalHtml.prod-C2b3z99k.mjs → LexicalHtml.prod-D_FfkvVD.mjs} +330 -299
  20. package/dist/{LexicalLink.dev-7cgLOLIe.mjs → LexicalLink.dev-D3Pgh6ik.mjs} +53 -23
  21. package/dist/{LexicalLink.prod-DWFgoXHR.mjs → LexicalLink.prod-XZoAYVYD.mjs} +217 -198
  22. package/dist/{LexicalList.dev-Ci2iOxFx.mjs → LexicalList.dev-B5d3ObhB.mjs} +49 -44
  23. package/dist/LexicalList.prod-OQDpVAEb.mjs +967 -0
  24. package/dist/{LexicalMarkdown.dev-C0ZYCyuR.mjs → LexicalMarkdown.dev-BkM8G3DG.mjs} +61 -42
  25. package/dist/{LexicalMarkdown.prod-0M-Nc-rh.mjs → LexicalMarkdown.prod-DcVXCex6.mjs} +254 -202
  26. package/dist/{LexicalRichText.dev-Cnr1kDym.mjs → LexicalRichText.dev-DppD7IrA.mjs} +337 -52
  27. package/dist/{LexicalRichText.node-BUJZAiap.mjs → LexicalRichText.node-CPSn7dkg.mjs} +12 -8
  28. package/dist/LexicalRichText.prod-h7JPxFNp.mjs +718 -0
  29. package/dist/{LexicalSelection.dev-C4L7l8OB.mjs → LexicalSelection.dev-CD0SLbxP.mjs} +48 -17
  30. package/dist/{LexicalSelection.node-CLKroUMQ.mjs → LexicalSelection.node-CGlJgUlZ.mjs} +5 -4
  31. package/dist/{LexicalSelection.prod-DzFqpTlw.mjs → LexicalSelection.prod-DbVZN5AV.mjs} +101 -92
  32. package/dist/{LexicalTable.dev-Cc9-zqKa.mjs → LexicalTable.dev-D0HU14UV.mjs} +340 -138
  33. package/dist/LexicalTable.prod-BcPNSrxP.mjs +2468 -0
  34. package/dist/{LexicalUtils.dev-BRgK0L6G.mjs → LexicalUtils.dev-iKy_TrRT.mjs} +15 -19
  35. package/dist/{LexicalUtils.node-BVAwOkL4.mjs → LexicalUtils.node-CIgMS8cG.mjs} +6 -6
  36. package/dist/{LexicalUtils.prod-C1gtvVDP.mjs → LexicalUtils.prod-DIAsKJzu.mjs} +155 -159
  37. package/dist/bin/mxs.mjs +1 -1
  38. package/dist/esm-CH7CrOvh.mjs +2 -0
  39. package/dist/{esm-BNu4sUWV.mjs → esm-CwXl1N0a.mjs} +1801 -6013
  40. package/dist/index.d.mts +57 -62
  41. package/dist/index.mjs +1 -1
  42. package/dist/{mxs-CMX2yklg.mjs → mxs-iW9DgqSZ.mjs} +14930 -9234
  43. package/dist/rolldown-runtime-JspESFgx.mjs +35 -0
  44. package/dist/vendor/litexml/cli.mjs +6693 -5762
  45. package/dist/vendor/litexml/litexml-html-preview-client.js +11912 -8698
  46. package/package.json +31 -30
  47. package/LICENSE +0 -33
  48. package/dist/Lexical.prod-CeB9UQuo.mjs +0 -6816
  49. package/dist/LexicalList.prod-D0xX5d3G.mjs +0 -944
  50. package/dist/LexicalRichText.prod-BfbMQ9uM.mjs +0 -538
  51. package/dist/LexicalTable.prod-BgO4nCxy.mjs +0 -2336
  52. package/dist/esm-jbwcVZth.mjs +0 -2
@@ -1,11 +1,11 @@
1
- import { f as namedSignals, l as effect, o as NormalizeInlineElementsExtension, p as signal, s as NormalizeTripleClickSelectionExtension } from "./LexicalExtension.node-BWH6xbzG.mjs";
2
- import { $n as PASTE_COMMAND, $t as CONTROLLED_TEXT_INSERTION_COMMAND, At as $setFormatFromDOM, Bn as KEY_ARROW_LEFT_COMMAND, En as IS_APPLE_WEBKIT, G as $getSiblingCaret, Gn as KEY_ENTER_COMMAND, Hn as KEY_ARROW_UP_COMMAND, Ht as CLICK_COMMAND, Jn as KEY_TAB_COMMAND, Kn as KEY_ESCAPE_COMMAND, Mn as IS_IOS, Mt as $setSelection, Ot as $selectAll, Pn as IS_SAFARI, Qn as OUTDENT_CONTENT_COMMAND, R as $getNearestNodeFromDOMNode, U as $getRoot, Un as KEY_BACKSPACE_COMMAND, Vn as KEY_ARROW_RIGHT_COMMAND, Vr as isDOMNode, W as $getSelection, Wn as KEY_DELETE_COMMAND, Xn as MOVE_TO_END, Zn as MOVE_TO_START, _ as $createTabNode, ai as safeCast, an as DELETE_LINE_COMMAND, at as $isElementNode, b as $findMatchingParent, bn as INSERT_PARAGRAPH_COMMAND, br as defineExtension, bt as $isTextNode, c as $comparePointCaretNext, ci as setNodeIndentFromDOM, cn as DRAGSTART_COMMAND, dn as ElementNode, dt as $isNodeSelection, en as COPY_COMMAND, er as PASTE_TAG, et as $insertNodes, gr as createCommand, gt as $isSelectionCapturedInDecoratorInput, h as $createRangeSelection, hr as configExtension, in as DELETE_CHARACTER_COMMAND, kt as $setDirectionFromDOM, li as shallowMergeConfig, ln as DROP_COMMAND, mn as FORMAT_TEXT_COMMAND, mt as $isRootNode, n as $applyNodeReplacement, ni as mergeRegister, nn as CUT_TAG, nr as REMOVE_TEXT_COMMAND, on as DELETE_WORD_COMMAND, or as SELECT_ALL_COMMAND, p as $createParagraphNode, pn as FORMAT_ELEMENT_COMMAND, pr as addClassNamesToElement, pt as $isRangeSelection, q as $getSlotFrame, qn as KEY_SPACE_COMMAND, qr as isHTMLElement, qt as COMMAND_PRIORITY_EDITOR, rt as $isDecoratorNode, sn as DRAGOVER_COMMAND, tn as CUT_COMMAND, vn as INDENT_CONTENT_COMMAND, w as $getAdjacentNode, wt as $normalizeSelection__EXPERIMENTAL, xn as INSERT_TAB_COMMAND, yn as INSERT_LINE_BREAK_COMMAND, zn as KEY_ARROW_DOWN_COMMAND, zt as CAN_USE_BEFORE_INPUT } from "./Lexical.node-BlCLnfA6.mjs";
3
- import { c as DOMImportExtension, h as defineImportRule, s as CoreImportExtension, v as sel } from "./LexicalHtml.node-CVkbWtUA.mjs";
4
- import { i as $shouldOverrideDefaultCharacterSelection, n as $isParentRTL, r as $moveCharacter } from "./LexicalSelection.node-CLKroUMQ.mjs";
5
- import { a as $handleIndentAndOutdent, h as objectKlassEquals, m as eventFiles, r as $getNearestBlockElementAncestorOrThrow } from "./LexicalUtils.node-BVAwOkL4.mjs";
6
- import { a as caretFromPoint, i as $writeDragSourceToDataTransfer, n as $handleRichTextDrop, o as copyToClipboard, r as $insertDataTransferForRichText, s as setLexicalClipboardDataTransfer, t as $getClipboardDataFromSelection } from "./LexicalClipboard.node-ktUajxsv.mjs";
7
- import { t as DragonExtension } from "./LexicalDragon.node-DLXctJyy.mjs";
8
- //#region ../../node_modules/.pnpm/@lexical+rich-text@0.46.0_typescript@6.0.3/node_modules/@lexical/rich-text/dist/LexicalRichText.dev.mjs
1
+ import { f as namedSignals, l as effect, o as NormalizeInlineElementsExtension, p as signal, s as NormalizeTripleClickSelectionExtension } from "./LexicalExtension.node-BUozzx4t.mjs";
2
+ import { $ as $hasAncestor, $r as isHTMLElement, A as $getChildCaret, An as IS_APPLE_WEBKIT, Cn as INSERT_LINE_BREAK_COMMAND, Cr as createState, D as $getCaretRange, Dt as $normalizeSelection__EXPERIMENTAL, Et as $normalizeCaret, Ft as $setSelection, G as $getSelection, Gn as KEY_ARROW_RIGHT_COMMAND, I as $getDocument, In as IS_IOS, It as $setSelectionFromCaretRange, J as $getSlotFrame, Jn as KEY_DELETE_COMMAND, K as $getSiblingCaret, Kn as KEY_ARROW_UP_COMMAND, Kt as CLICK_COMMAND, L as $getEditor, Lt as $setState, Mt as $setDirectionFromDOM, N as $getCollapsedCaretRange, Nt as $setFormatFromDOM, Qn as KEY_TAB_COMMAND, Rn as IS_SAFARI, Rt as $setTextFormat, Sn as INDENT_CONTENT_COMMAND, St as $isTextNode, Tn as INSERT_TAB_COMMAND, Tr as defineExtension, Tt as $needsBlockCursorBeside, Un as KEY_ARROW_DOWN_COMMAND, Ut as CAN_USE_BEFORE_INPUT, W as $getRoot, Wn as KEY_ARROW_LEFT_COMMAND, Xn as KEY_ESCAPE_COMMAND, Yn as KEY_ENTER_COMMAND, Z as $getState, Zn as KEY_SPACE_COMMAND, Zt as COMMAND_PRIORITY_EDITOR, _ as $createTabNode, _i as shallowMergeConfig, _n as FORMAT_ELEMENT_COMMAND, _t as $isSelectionCapturedInDecoratorInput, an as CUT_COMMAND, b as $findMatchingParent, br as configExtension, c as $comparePointCaretNext, ci as mergeRegister, cn as DELETE_CHARACTER_COMMAND, dn as DRAGOVER_COMMAND, dr as SET_TEXT_FORMAT_COMMAND, er as MOVE_TO_END, f as $createNodeSelection, fn as DRAGSTART_COMMAND, ft as $isNodeSelection, gi as setNodeIndentFromDOM, gt as $isRootOrShadowRoot, h as $createRangeSelection, hn as ElementNode, ht as $isRootNode, i as $caretFromPoint, in as COPY_COMMAND, ir as PASTE_TAG, it as $isDecoratorNode, jr as getDOMSelection, jt as $selectAll, ln as DELETE_LINE_COMMAND, mt as $isRangeSelection, n as $applyNodeReplacement, nr as OUTDENT_CONTENT_COMMAND, on as CUT_TAG, or as REMOVE_TEXT_COMMAND, ot as $isElementNode, p as $createParagraphNode, pi as safeCast, pn as DROP_COMMAND, qn as KEY_BACKSPACE_COMMAND, qr as isDOMNode, rn as CONTROLLED_TEXT_INSERTION_COMMAND, rr as PASTE_COMMAND, tr as MOVE_TO_START, tt as $insertNodes, un as DELETE_WORD_COMMAND, ur as SELECT_ALL_COMMAND, vn as FORMAT_TEXT_COMMAND, vr as addClassNamesToElement, vt as $isShadowRootNode, wn as INSERT_PARAGRAPH_COMMAND, x as $formatText, xr as createCommand, y as $extendCaretToRange, yt as $isSiblingCaret, z as $getNearestNodeFromDOMNode } from "./Lexical.node-8sRFmq2X.mjs";
3
+ import { c as CoreImportExtension, g as defineImportRule, l as DOMImportExtension, s as BlockSchema, y as sel } from "./LexicalHtml.node-BYbzHNVe.mjs";
4
+ import { i as $shouldOverrideDefaultCharacterSelection, n as $isParentRTL, r as $moveCharacter } from "./LexicalSelection.node-CGlJgUlZ.mjs";
5
+ import { a as $handleIndentAndOutdent, m as objectKlassEquals, p as eventFiles, r as $getNearestBlockElementAncestorOrThrow } from "./LexicalUtils.node-CIgMS8cG.mjs";
6
+ import { a as caretFromPoint, i as $writeDragSourceToDataTransfer, n as $handleRichTextDrop, o as copyToClipboard, r as $insertDataTransferForRichText, s as setLexicalClipboardDataTransfer, t as $getClipboardDataFromSelection } from "./LexicalClipboard.node-D4gMGws6.mjs";
7
+ import { t as DragonExtension } from "./LexicalDragon.node-DgjrmWkd.mjs";
8
+ //#region ../../node_modules/.pnpm/@lexical+rich-text@0.48.0_typescript@6.0.3/node_modules/@lexical/rich-text/dist/LexicalRichText.dev.mjs
9
9
  /**
10
10
  * Copyright (c) Meta Platforms, Inc. and affiliates.
11
11
  *
@@ -29,6 +29,58 @@ import { t as DragonExtension } from "./LexicalDragon.node-DLXctJyy.mjs";
29
29
  function isGoogleDocsTitleSpan(node) {
30
30
  return isHTMLElement(node) && node.nodeName === "SPAN" && node.style.fontSize === "26pt";
31
31
  }
32
+ const HeadingRule = /* @__PURE__ */ defineImportRule({
33
+ $import: (ctx, el) => {
34
+ const node = $createHeadingNode(el.nodeName.toLowerCase());
35
+ setNodeIndentFromDOM(el, node);
36
+ $setFormatFromDOM(node, el);
37
+ $setDirectionFromDOM(node, el);
38
+ return [node.splice(0, 0, ctx.$importChildren(el))];
39
+ },
40
+ match: sel.tag("h1", "h2", "h3", "h4", "h5", "h6"),
41
+ name: "@lexical/rich-text/heading"
42
+ });
43
+ const QuoteRule = /* @__PURE__ */ defineImportRule({
44
+ $import: (ctx, el) => {
45
+ const node = $createQuoteNode();
46
+ $setFormatFromDOM(node, el);
47
+ setNodeIndentFromDOM(el, node);
48
+ $setDirectionFromDOM(node, el);
49
+ return [node.splice(0, 0, ctx.$importChildren(el))];
50
+ },
51
+ match: sel.tag("blockquote"),
52
+ name: "@lexical/rich-text/blockquote"
53
+ });
54
+ /**
55
+ * Opt-in replacement for the default `<blockquote>` rule that imports the
56
+ * quote as a shadow root {@link QuoteNode} (see `quoteShadowRootState`).
57
+ * Block-level children such as `<p>` are preserved as blocks and runs of
58
+ * inline content are wrapped in paragraphs (`BlockSchema`), so structured
59
+ * blockquote HTML round-trips faithfully instead of being flattened to
60
+ * inline content.
61
+ *
62
+ * Not part of {@link RichTextImportRules}; without it `<blockquote>`
63
+ * import behavior is unchanged. To opt in, register it with a higher
64
+ * priority than the default rules, e.g.:
65
+ * ```ts
66
+ * configExtension(DOMImportExtension, {rules: [ShadowRootQuoteRule]})
67
+ * ```
68
+ * (rules from later configuration take priority, so this shadows the
69
+ * default `@lexical/rich-text/blockquote` rule).
70
+ *
71
+ * @experimental
72
+ */
73
+ const ShadowRootQuoteRule = /* @__PURE__ */ defineImportRule({
74
+ $import: (ctx, el) => {
75
+ const node = $createQuoteNode({ shadowRoot: true });
76
+ $setFormatFromDOM(node, el);
77
+ setNodeIndentFromDOM(el, node);
78
+ $setDirectionFromDOM(node, el);
79
+ return [node.splice(0, 0, ctx.$importChildren(el, { schema: BlockSchema }))];
80
+ },
81
+ match: sel.tag("blockquote"),
82
+ name: "@lexical/rich-text/blockquote-shadow-root"
83
+ });
32
84
  /**
33
85
  * Import rules for {@link HeadingNode} and {@link QuoteNode}, including
34
86
  * the Google Docs title heuristic that the legacy `HeadingNode.importDOM`
@@ -44,28 +96,8 @@ function isGoogleDocsTitleSpan(node) {
44
96
  * @experimental
45
97
  */
46
98
  const RichTextImportRules = [
47
- /* @__PURE__ */ defineImportRule({
48
- $import: (ctx, el) => {
49
- const node = $createHeadingNode(el.nodeName.toLowerCase());
50
- setNodeIndentFromDOM(el, node);
51
- $setFormatFromDOM(node, el);
52
- $setDirectionFromDOM(node, el);
53
- return [node.splice(0, 0, ctx.$importChildren(el))];
54
- },
55
- match: sel.tag("h1", "h2", "h3", "h4", "h5", "h6"),
56
- name: "@lexical/rich-text/heading"
57
- }),
58
- /* @__PURE__ */ defineImportRule({
59
- $import: (ctx, el) => {
60
- const node = $createQuoteNode();
61
- $setFormatFromDOM(node, el);
62
- setNodeIndentFromDOM(el, node);
63
- $setDirectionFromDOM(node, el);
64
- return [node.splice(0, 0, ctx.$importChildren(el))];
65
- },
66
- match: sel.tag("blockquote"),
67
- name: "@lexical/rich-text/blockquote"
68
- }),
99
+ HeadingRule,
100
+ QuoteRule,
69
101
  /* @__PURE__ */ defineImportRule({
70
102
  $import: (ctx, el, $next) => {
71
103
  const first = el.firstChild;
@@ -181,6 +213,15 @@ const RichTextImportExtension = /* @__PURE__ */ defineExtension({
181
213
  *
182
214
  */
183
215
  const DRAG_DROP_PASTE = /* @__PURE__ */ createCommand("DRAG_DROP_PASTE_FILE");
216
+ /**
217
+ * Opt-in state for {@link QuoteNode.isShadowRoot}. When `true`, the quote
218
+ * behaves like a multi-block region (similar to a table cell): it holds
219
+ * block-level children (paragraphs, headings, ...) instead of inline
220
+ * content, which allows more faithful HTML and Markdown import/export of
221
+ * `<blockquote>` content. Defaults to `false`, in which case there is no
222
+ * change to the legacy behavior (and nothing extra is serialized).
223
+ */
224
+ const quoteShadowRootState = /* @__PURE__ */ createState("shadowRoot", { parse: Boolean });
184
225
  /** @noInheritDoc */
185
226
  var QuoteNode = class QuoteNode extends ElementNode {
186
227
  static getType() {
@@ -189,8 +230,36 @@ var QuoteNode = class QuoteNode extends ElementNode {
189
230
  static clone(node) {
190
231
  return new QuoteNode(node.__key);
191
232
  }
233
+ $config() {
234
+ return this.config("quote", {
235
+ extends: ElementNode,
236
+ stateConfigs: [{
237
+ flat: true,
238
+ stateConfig: quoteShadowRootState
239
+ }]
240
+ });
241
+ }
242
+ /**
243
+ * `true` when this quote has opted in to shadow root behavior with
244
+ * {@link setIsShadowRoot} or `$createQuoteNode({shadowRoot: true})`,
245
+ * in which case it contains block-level children rather than inline
246
+ * content. `false` (the legacy inline-content behavior) by default.
247
+ */
248
+ isShadowRoot() {
249
+ return $getState(this, quoteShadowRootState);
250
+ }
251
+ /**
252
+ * Opt this quote in to (or out of) shadow root behavior. See
253
+ * {@link quoteShadowRootState}. Note that this does not restructure any
254
+ * existing children; a shadow root quote is expected to contain
255
+ * block-level children (non-element children will be normalized into
256
+ * paragraphs by the built-in shadow root transform).
257
+ */
258
+ setIsShadowRoot(isShadowRoot) {
259
+ return $setState(this, quoteShadowRootState, isShadowRoot);
260
+ }
192
261
  createDOM(config) {
193
- const element = document.createElement("blockquote");
262
+ const element = $getDocument().createElement("blockquote");
194
263
  addClassNamesToElement(element, config.theme.quote);
195
264
  return element;
196
265
  }
@@ -206,7 +275,7 @@ var QuoteNode = class QuoteNode extends ElementNode {
206
275
  exportDOM(editor) {
207
276
  const { element } = super.exportDOM(editor);
208
277
  if (isHTMLElement(element)) {
209
- if (this.isEmpty()) element.append(document.createElement("br"));
278
+ if (this.isEmpty()) element.append($getDocument().createElement("br"));
210
279
  const formatType = this.getFormatType();
211
280
  if (formatType) element.style.textAlign = formatType;
212
281
  const direction = this.getDirection();
@@ -217,6 +286,9 @@ var QuoteNode = class QuoteNode extends ElementNode {
217
286
  static importJSON(serializedNode) {
218
287
  return $createQuoteNode().updateFromJSON(serializedNode);
219
288
  }
289
+ exportJSON() {
290
+ return super.exportJSON();
291
+ }
220
292
  insertNewAfter(_, restoreSelection) {
221
293
  const newBlock = $createParagraphNode();
222
294
  const direction = this.getDirection();
@@ -225,6 +297,11 @@ var QuoteNode = class QuoteNode extends ElementNode {
225
297
  return newBlock;
226
298
  }
227
299
  collapseAtStart() {
300
+ if (this.isShadowRoot()) {
301
+ for (const child of this.getChildren()) this.insertBefore(child);
302
+ this.remove();
303
+ return true;
304
+ }
228
305
  const paragraph = $createParagraphNode();
229
306
  this.getChildren().forEach((child) => paragraph.append(child));
230
307
  this.replace(paragraph);
@@ -234,8 +311,9 @@ var QuoteNode = class QuoteNode extends ElementNode {
234
311
  return true;
235
312
  }
236
313
  };
237
- function $createQuoteNode() {
238
- return $applyNodeReplacement(new QuoteNode());
314
+ function $createQuoteNode(options) {
315
+ const node = $applyNodeReplacement(new QuoteNode());
316
+ return options && options.shadowRoot ? node.setIsShadowRoot(true) : node;
239
317
  }
240
318
  function $isQuoteNode(node) {
241
319
  return node instanceof QuoteNode;
@@ -268,7 +346,7 @@ var HeadingNode = class HeadingNode extends ElementNode {
268
346
  }
269
347
  createDOM(config) {
270
348
  const tag = this.__tag;
271
- const element = document.createElement(tag);
349
+ const element = $getDocument().createElement(tag);
272
350
  const classNames = config.theme.heading;
273
351
  if (classNames !== void 0) {
274
352
  const className = classNames[tag];
@@ -327,7 +405,7 @@ var HeadingNode = class HeadingNode extends ElementNode {
327
405
  exportDOM(editor) {
328
406
  const { element } = super.exportDOM(editor);
329
407
  if (isHTMLElement(element)) {
330
- if (this.isEmpty()) element.append(document.createElement("br"));
408
+ if (this.isEmpty()) element.append($getDocument().createElement("br"));
331
409
  const formatType = this.getFormatType();
332
410
  if (formatType) element.style.textAlign = formatType;
333
411
  const direction = this.getDirection();
@@ -498,6 +576,185 @@ const DEFAULT_ESCAPE_FORMAT_TRIGGERS = {
498
576
  tab: true
499
577
  }
500
578
  };
579
+ function $tryEnterFromBlockCursor(selection, direction) {
580
+ if (!selection.isCollapsed() || selection.anchor.type !== "element") return false;
581
+ const child = $caretFromPoint(selection.anchor, direction).getNodeAtCaret();
582
+ if ($isShadowRootNode(child) && !child.isInline()) {
583
+ $setSelectionFromCaretRange($getCollapsedCaretRange($normalizeCaret($getChildCaret(child, direction))));
584
+ return true;
585
+ }
586
+ return false;
587
+ }
588
+ function $tryBlockCursorShadowRootNavigation(selection, direction) {
589
+ return $tryExitShadowRootToBlockCursor(selection, direction) || $tryEnterFromBlockCursor(selection, direction);
590
+ }
591
+ function $tryExitShadowRootToBlockCursor(selection, direction) {
592
+ if (!selection.isCollapsed()) return false;
593
+ const focusCaret = $caretFromPoint(selection.focus, direction);
594
+ const shadowRoot = $findMatchingParent(focusCaret.origin, $isShadowRootNode);
595
+ if (!shadowRoot) return false;
596
+ const focusNode = selection.focus.getNode();
597
+ if (!shadowRoot.is(focusNode) && !$hasAncestor(focusNode, shadowRoot)) return false;
598
+ const textRange = $getCaretRange(focusCaret, $getSiblingCaret(shadowRoot, direction));
599
+ if (textRange.getTextSlices().some((slice) => slice && slice.getTextContentSize() > 0)) return false;
600
+ const range = $getCaretRange(textRange.anchor.getSiblingCaret(), textRange.focus);
601
+ let prevOrigin = range.anchor.origin;
602
+ for (const caret of range) {
603
+ if (!($isSiblingCaret(caret) && caret.origin.is(prevOrigin.getParent()))) return false;
604
+ prevOrigin = caret.origin;
605
+ }
606
+ let prevShadow = shadowRoot;
607
+ for (const caret of $extendCaretToRange($getSiblingCaret(shadowRoot, direction))) {
608
+ if (caret.origin.is(prevShadow.getParent())) {
609
+ if (!$isShadowRootNode(caret.origin)) break;
610
+ prevShadow = caret.origin;
611
+ continue;
612
+ }
613
+ if ($needsBlockCursorBeside(caret.origin)) {
614
+ const sr = $getSiblingCaret(prevShadow, direction);
615
+ $setSelectionFromCaretRange($getCaretRange(sr, sr));
616
+ return true;
617
+ }
618
+ break;
619
+ }
620
+ return false;
621
+ }
622
+ function $isSelectableBlockDecorator(node) {
623
+ return $isDecoratorNode(node) && !node.isInline() && !node.isIsolated() && node.isKeyboardSelectable();
624
+ }
625
+ function $selectNode(key) {
626
+ const nodeSelection = $createNodeSelection();
627
+ nodeSelection.add(key);
628
+ $setSelection(nodeSelection);
629
+ }
630
+ function $tryDecoratorLineNavigation(selection, isBackward) {
631
+ if (!selection.isCollapsed()) return false;
632
+ const focus = selection.focus;
633
+ const focusNode = focus.getNode();
634
+ const direction = isBackward ? "previous" : "next";
635
+ const focusCaret = $caretFromPoint(focus, direction);
636
+ if (focus.type === "element" && $isElementNode(focusNode) && ($isRootNode(focusNode) || $isShadowRootNode(focusNode))) {
637
+ const adjacentChild = focusCaret.getNodeAtCaret();
638
+ if (adjacentChild !== null && $isSelectableBlockDecorator(adjacentChild)) {
639
+ $selectNode(adjacentChild.__key);
640
+ return true;
641
+ }
642
+ return false;
643
+ }
644
+ const topBlock = $findMatchingParent($isElementNode(focusNode) ? focusNode : focusNode.getParentOrThrow(), (n) => $isElementNode(n) && !n.isInline() && $isRootOrShadowRoot(n.getParent()));
645
+ if (topBlock === null) return false;
646
+ const adjacentSibling = $getSiblingCaret(topBlock, direction).getNodeAtCaret();
647
+ if (adjacentSibling === null || !$isSelectableBlockDecorator(adjacentSibling)) return false;
648
+ if (topBlock.getTextContentSize() === 0) {
649
+ $selectNode(adjacentSibling.__key);
650
+ return true;
651
+ }
652
+ const rootElement = $getEditor().getRootElement();
653
+ if (rootElement === null) return false;
654
+ const domSelection = getDOMSelection(rootElement.ownerDocument.defaultView);
655
+ if (domSelection === null || domSelection.rangeCount === 0) return false;
656
+ const savedAnchorNode = domSelection.anchorNode;
657
+ const savedAnchorOffset = domSelection.anchorOffset;
658
+ const savedFocusNode = domSelection.focusNode;
659
+ const savedFocusOffset = domSelection.focusOffset;
660
+ domSelection.modify("move", isBackward ? "backward" : "forward", "line");
661
+ const newAnchorNode = domSelection.anchorNode;
662
+ const newAnchorOffset = domSelection.anchorOffset;
663
+ if (newAnchorNode === null) {
664
+ restoreDOMSelection(domSelection, savedAnchorNode, savedAnchorOffset, savedFocusNode, savedFocusOffset);
665
+ return false;
666
+ }
667
+ const movedNode = $getNearestNodeFromDOMNode(newAnchorNode);
668
+ restoreDOMSelection(domSelection, savedAnchorNode, savedAnchorOffset, savedFocusNode, savedFocusOffset);
669
+ if (movedNode === null) return false;
670
+ if (newAnchorNode === savedAnchorNode && newAnchorOffset === savedAnchorOffset) {
671
+ $selectNode(adjacentSibling.__key);
672
+ return true;
673
+ }
674
+ if (movedNode.is(topBlock) || $hasAncestor(movedNode, topBlock)) return false;
675
+ $selectNode(adjacentSibling.__key);
676
+ return true;
677
+ }
678
+ function restoreDOMSelection(domSelection, anchorNode, anchorOffset, focusNode, focusOffset) {
679
+ if (anchorNode !== null && focusNode !== null) domSelection.setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset);
680
+ }
681
+ function $tryInlineGridLineNavigation(selection, isBackward) {
682
+ if (!selection.isCollapsed()) return false;
683
+ const focusNode = selection.focus.getNode();
684
+ const parentBlock = $findMatchingParent($isElementNode(focusNode) ? focusNode : focusNode.getParentOrThrow(), (n) => $isElementNode(n) && !n.isInline());
685
+ if (parentBlock === null) return false;
686
+ const editor = $getEditor();
687
+ const rootElement = editor.getRootElement();
688
+ if (rootElement === null) return false;
689
+ const win = rootElement.ownerDocument.defaultView;
690
+ if (win === null) return false;
691
+ let hasGrid = false;
692
+ for (const child of parentBlock.getChildren()) if ($isElementNode(child) && child.isInline()) {
693
+ const dom = editor.getElementByKey(child.getKey());
694
+ if (dom !== null) {
695
+ const d = win.getComputedStyle(dom).display;
696
+ if (d === "inline-grid" || d === "inline-flex") {
697
+ hasGrid = true;
698
+ break;
699
+ }
700
+ }
701
+ }
702
+ if (!hasGrid) return false;
703
+ const siblingBlock = $getSiblingCaret(parentBlock, isBackward ? "previous" : "next").getNodeAtCaret();
704
+ if (siblingBlock === null || !$isElementNode(siblingBlock)) {
705
+ if (isBackward) {
706
+ const first = parentBlock.getFirstDescendant();
707
+ if ($isTextNode(first)) first.select(0, 0);
708
+ else parentBlock.select(0, 0);
709
+ } else {
710
+ const last = parentBlock.getLastDescendant();
711
+ if ($isTextNode(last)) {
712
+ const len = last.getTextContentSize();
713
+ last.select(len, len);
714
+ } else {
715
+ const count = parentBlock.getChildrenSize();
716
+ parentBlock.select(count, count);
717
+ }
718
+ }
719
+ return true;
720
+ }
721
+ const siblingDOM = editor.getElementByKey(siblingBlock.getKey());
722
+ if (siblingDOM === null) return false;
723
+ const domSelection = getDOMSelection(win);
724
+ if (domSelection === null || domSelection.rangeCount === 0) return false;
725
+ const curRange = domSelection.getRangeAt(0).cloneRange();
726
+ curRange.collapse(true);
727
+ const curRect = curRange.getBoundingClientRect();
728
+ const sibRect = siblingDOM.getBoundingClientRect();
729
+ const targetY = sibRect.top + sibRect.height / 2;
730
+ if (curRect.height > 0) {
731
+ const hit = caretFromPoint(curRect.left, targetY, rootElement);
732
+ if (hit !== null && siblingDOM.contains(hit.node)) {
733
+ const hitRange = rootElement.ownerDocument.createRange();
734
+ hitRange.setStart(hit.node, hit.offset);
735
+ hitRange.collapse(true);
736
+ selection.applyDOMRange(hitRange);
737
+ selection.dirty = true;
738
+ return true;
739
+ }
740
+ }
741
+ const targetDesc = isBackward ? siblingBlock.getLastDescendant() : siblingBlock.getFirstDescendant();
742
+ if ($isTextNode(targetDesc)) {
743
+ const offset = isBackward ? targetDesc.getTextContentSize() : 0;
744
+ targetDesc.select(offset, offset);
745
+ } else {
746
+ const childCount = siblingBlock.getChildrenSize();
747
+ siblingBlock.select(isBackward ? childCount : 0, isBackward ? childCount : 0);
748
+ }
749
+ return true;
750
+ }
751
+ function $exitNodeSelectionToward(node, direction) {
752
+ const caret = $getSiblingCaret(node, direction);
753
+ const sibling = caret.getAdjacentCaret();
754
+ if (sibling !== null && $isElementNode(sibling.origin) && !sibling.origin.isInline() && sibling.origin.isShadowRoot()) $setSelectionFromCaretRange($getCollapsedCaretRange(caret));
755
+ else if (direction === "next") node.selectNext(0, 0);
756
+ else node.selectPrevious();
757
+ }
501
758
  /**
502
759
  * Collapse a NodeSelection to a caret at the surrounding block's edge for
503
760
  * MOVE_TO_START / MOVE_TO_END. Picks the document-order first node for
@@ -594,8 +851,13 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
594
851
  return true;
595
852
  }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(FORMAT_TEXT_COMMAND, (format) => {
596
853
  const selection = $getSelection();
597
- if (!$isRangeSelection(selection)) return false;
598
- selection.formatText(format);
854
+ if (!$isRangeSelection(selection) && !$isNodeSelection(selection)) return false;
855
+ $formatText(selection, format);
856
+ return true;
857
+ }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(SET_TEXT_FORMAT_COMMAND, (formats) => {
858
+ const selection = $getSelection();
859
+ if (!$isRangeSelection(selection) && !$isNodeSelection(selection)) return false;
860
+ $setTextFormat(selection, formats);
599
861
  return true;
600
862
  }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(FORMAT_ELEMENT_COMMAND, (format) => {
601
863
  const selection = $getSelection();
@@ -641,13 +903,19 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
641
903
  const nodes = selection.getNodes();
642
904
  if (nodes.length > 0) {
643
905
  event.preventDefault();
644
- nodes[0].selectPrevious();
906
+ $exitNodeSelectionToward(nodes[0], "previous");
645
907
  return true;
646
908
  }
647
909
  } else if ($isRangeSelection(selection)) {
648
- const possibleNode = $getAdjacentNode(selection.focus, true);
649
- if (!event.shiftKey && $isDecoratorNode(possibleNode) && !possibleNode.isIsolated() && !possibleNode.isInline()) {
650
- possibleNode.selectPrevious();
910
+ if (!event.shiftKey && $tryBlockCursorShadowRootNavigation(selection, "previous")) {
911
+ event.preventDefault();
912
+ return true;
913
+ }
914
+ if (!event.shiftKey && $tryDecoratorLineNavigation(selection, true)) {
915
+ event.preventDefault();
916
+ return true;
917
+ }
918
+ if (!event.shiftKey && $tryInlineGridLineNavigation(selection, true)) {
651
919
  event.preventDefault();
652
920
  return true;
653
921
  }
@@ -659,7 +927,7 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
659
927
  const nodes = selection.getNodes();
660
928
  if (nodes.length > 0) {
661
929
  event.preventDefault();
662
- nodes[0].selectNext(0, 0);
930
+ $exitNodeSelectionToward(nodes[0], "next");
663
931
  return true;
664
932
  }
665
933
  } else if ($isRangeSelection(selection)) {
@@ -667,9 +935,15 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
667
935
  event.preventDefault();
668
936
  return true;
669
937
  }
670
- const possibleNode = $getAdjacentNode(selection.focus, false);
671
- if (!event.shiftKey && $isDecoratorNode(possibleNode) && !possibleNode.isIsolated() && !possibleNode.isInline()) {
672
- possibleNode.selectNext();
938
+ if (!event.shiftKey && $tryBlockCursorShadowRootNavigation(selection, "next")) {
939
+ event.preventDefault();
940
+ return true;
941
+ }
942
+ if (!event.shiftKey && $tryDecoratorLineNavigation(selection, false)) {
943
+ event.preventDefault();
944
+ return true;
945
+ }
946
+ if (!event.shiftKey && $tryInlineGridLineNavigation(selection, false)) {
673
947
  event.preventDefault();
674
948
  return true;
675
949
  }
@@ -681,12 +955,15 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
681
955
  const nodes = selection.getNodes();
682
956
  if (nodes.length > 0) {
683
957
  event.preventDefault();
684
- if ($isParentRTL(nodes[0])) nodes[0].selectNext(0, 0);
685
- else nodes[0].selectPrevious();
958
+ $exitNodeSelectionToward(nodes[0], $isParentRTL(nodes[0]) ? "next" : "previous");
686
959
  return true;
687
960
  }
688
961
  }
689
962
  if (!$isRangeSelection(selection)) return false;
963
+ if (!event.shiftKey && $tryBlockCursorShadowRootNavigation(selection, $isParentRTL(selection.anchor.getNode()) ? "next" : "previous")) {
964
+ event.preventDefault();
965
+ return true;
966
+ }
690
967
  if (!event.shiftKey) $escapeFormatsForTrigger(selection, "arrow", "start", escapeFormatTriggers.peek());
691
968
  if ($shouldOverrideDefaultCharacterSelection(selection, true)) {
692
969
  const isHoldingShift = event.shiftKey;
@@ -701,12 +978,15 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
701
978
  const nodes = selection.getNodes();
702
979
  if (nodes.length > 0) {
703
980
  event.preventDefault();
704
- if ($isParentRTL(nodes[0])) nodes[0].selectPrevious();
705
- else nodes[0].selectNext(0, 0);
981
+ $exitNodeSelectionToward(nodes[0], $isParentRTL(nodes[0]) ? "previous" : "next");
706
982
  return true;
707
983
  }
708
984
  }
709
985
  if (!$isRangeSelection(selection)) return false;
986
+ if (!event.shiftKey && $tryBlockCursorShadowRootNavigation(selection, $isParentRTL(selection.anchor.getNode()) ? "previous" : "next")) {
987
+ event.preventDefault();
988
+ return true;
989
+ }
710
990
  if (!event.shiftKey) $escapeFormatsForTrigger(selection, "arrow", "end", escapeFormatTriggers.peek());
711
991
  if ($shouldOverrideDefaultCharacterSelection(selection, false)) {
712
992
  const isHoldingShift = event.shiftKey;
@@ -796,7 +1076,12 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
796
1076
  const [isFileTransfer] = eventFiles(event);
797
1077
  const selection = $getSelection();
798
1078
  if (isFileTransfer && !$isRangeSelection(selection)) return false;
799
- event.preventDefault();
1079
+ const x = event.clientX;
1080
+ const y = event.clientY;
1081
+ const eventRange = caretFromPoint(x, y, editor.getRootElement());
1082
+ if (eventRange !== null) {
1083
+ if ($isDecoratorNode($getNearestNodeFromDOMNode(eventRange.node))) event.preventDefault();
1084
+ }
800
1085
  return true;
801
1086
  }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(SELECT_ALL_COMMAND, () => {
802
1087
  const selection = $getSelection();
@@ -864,4 +1149,4 @@ function registerRichText(editor, escapeFormatTriggers = signal(DEFAULT_ESCAPE_F
864
1149
  }, COMMAND_PRIORITY_EDITOR));
865
1150
  }
866
1151
  //#endregion
867
- export { $createHeadingNode, $createQuoteNode, $isHeadingNode, $isQuoteNode, DRAG_DROP_PASTE, HeadingNode, QuoteNode, RichTextExtension, RichTextImportExtension, RichTextImportRules, eventFiles, registerRichText };
1152
+ export { $createHeadingNode, $createQuoteNode, $isHeadingNode, $isQuoteNode, DRAG_DROP_PASTE, HeadingNode, QuoteNode, RichTextExtension, RichTextImportExtension, RichTextImportRules, ShadowRootQuoteRule, eventFiles, quoteShadowRootState, registerRichText };
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/@lexical+code-core@0.46.0_typescript@6.0.3/node_modules/@lexical/code-core/dist/LexicalCodeCore.node.mjs
1
+ //#region ../../node_modules/.pnpm/@lexical+code-core@0.48.0_typescript@6.0.3/node_modules/@lexical/code-core/dist/LexicalCodeCore.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$3 = await (process.env.NODE_ENV !== "production" ? import("./LexicalCodeCore.dev-CL9tHWJX.mjs") : import("./LexicalCodeCore.prod-BoMSJc29.mjs"));
9
+ const mod$3 = await (process.env.NODE_ENV !== "production" ? import("./LexicalCodeCore.dev-DkYBZRGB.mjs") : import("./LexicalCodeCore.prod-COc3_QL8.mjs"));
10
10
  mod$3.$createCodeHighlightNode;
11
11
  const $createCodeNode = mod$3.$createCodeNode;
12
12
  mod$3.$getCodeLineDirection;
@@ -28,7 +28,7 @@ mod$3.DEFAULT_CODE_LANGUAGE;
28
28
  mod$3.getDefaultCodeLanguage;
29
29
  mod$3.registerCodeIndentation;
30
30
  //#endregion
31
- //#region ../../node_modules/.pnpm/@lexical+link@0.46.0_typescript@6.0.3/node_modules/@lexical/link/dist/LexicalLink.node.mjs
31
+ //#region ../../node_modules/.pnpm/@lexical+link@0.48.0_typescript@6.0.3/node_modules/@lexical/link/dist/LexicalLink.node.mjs
32
32
  /**
33
33
  * Copyright (c) Meta Platforms, Inc. and affiliates.
34
34
  *
@@ -36,7 +36,7 @@ mod$3.registerCodeIndentation;
36
36
  * LICENSE file in the root directory of this source tree.
37
37
  *
38
38
  */
39
- const mod$2 = await (process.env.NODE_ENV !== "production" ? import("./LexicalLink.dev-7cgLOLIe.mjs") : import("./LexicalLink.prod-DWFgoXHR.mjs"));
39
+ const mod$2 = await (process.env.NODE_ENV !== "production" ? import("./LexicalLink.dev-D3Pgh6ik.mjs") : import("./LexicalLink.prod-XZoAYVYD.mjs"));
40
40
  mod$2.$createAutoLinkNode;
41
41
  const $createLinkNode = mod$2.$createLinkNode;
42
42
  const $isAutoLinkNode = mod$2.$isAutoLinkNode;
@@ -50,13 +50,15 @@ mod$2.LinkImportExtension;
50
50
  mod$2.LinkImportRules;
51
51
  const LinkNode = mod$2.LinkNode;
52
52
  mod$2.TOGGLE_LINK_COMMAND;
53
+ mod$2.autoLinkEmailMatcher;
54
+ mod$2.autoLinkUrlMatcher;
53
55
  mod$2.createLinkMatcherWithRegExp;
54
56
  mod$2.formatUrl;
55
57
  mod$2.registerAutoLink;
56
58
  mod$2.registerClickableLink;
57
59
  mod$2.registerLink;
58
60
  //#endregion
59
- //#region ../../node_modules/.pnpm/@lexical+list@0.46.0_typescript@6.0.3/node_modules/@lexical/list/dist/LexicalList.node.mjs
61
+ //#region ../../node_modules/.pnpm/@lexical+list@0.48.0_typescript@6.0.3/node_modules/@lexical/list/dist/LexicalList.node.mjs
60
62
  /**
61
63
  * Copyright (c) Meta Platforms, Inc. and affiliates.
62
64
  *
@@ -64,7 +66,7 @@ mod$2.registerLink;
64
66
  * LICENSE file in the root directory of this source tree.
65
67
  *
66
68
  */
67
- const mod$1 = await (process.env.NODE_ENV !== "production" ? import("./LexicalList.dev-Ci2iOxFx.mjs") : import("./LexicalList.prod-D0xX5d3G.mjs"));
69
+ const mod$1 = await (process.env.NODE_ENV !== "production" ? import("./LexicalList.dev-B5d3ObhB.mjs") : import("./LexicalList.prod-OQDpVAEb.mjs"));
68
70
  const $createListItemNode = mod$1.$createListItemNode;
69
71
  const $createListNode = mod$1.$createListNode;
70
72
  mod$1.$getListDepth;
@@ -89,7 +91,7 @@ mod$1.registerCheckList;
89
91
  mod$1.registerList;
90
92
  mod$1.registerListStrictIndentTransform;
91
93
  //#endregion
92
- //#region ../../node_modules/.pnpm/@lexical+rich-text@0.46.0_typescript@6.0.3/node_modules/@lexical/rich-text/dist/LexicalRichText.node.mjs
94
+ //#region ../../node_modules/.pnpm/@lexical+rich-text@0.48.0_typescript@6.0.3/node_modules/@lexical/rich-text/dist/LexicalRichText.node.mjs
93
95
  /**
94
96
  * Copyright (c) Meta Platforms, Inc. and affiliates.
95
97
  *
@@ -97,7 +99,7 @@ mod$1.registerListStrictIndentTransform;
97
99
  * LICENSE file in the root directory of this source tree.
98
100
  *
99
101
  */
100
- const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalRichText.dev-Cnr1kDym.mjs") : import("./LexicalRichText.prod-BfbMQ9uM.mjs"));
102
+ const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalRichText.dev-DppD7IrA.mjs") : import("./LexicalRichText.prod-h7JPxFNp.mjs"));
101
103
  const $createHeadingNode = mod.$createHeadingNode;
102
104
  const $createQuoteNode = mod.$createQuoteNode;
103
105
  const $isHeadingNode = mod.$isHeadingNode;
@@ -108,7 +110,9 @@ const QuoteNode = mod.QuoteNode;
108
110
  mod.RichTextExtension;
109
111
  mod.RichTextImportExtension;
110
112
  mod.RichTextImportRules;
113
+ mod.ShadowRootQuoteRule;
111
114
  mod.eventFiles;
115
+ mod.quoteShadowRootState;
112
116
  mod.registerRichText;
113
117
  //#endregion
114
118
  export { LinkNode as _, HeadingNode as a, CodeHighlightNode as b, $createListNode as c, ListItemNode as d, ListNode as f, AutoLinkNode as g, $isLinkNode as h, $isQuoteNode as i, $isListItemNode as l, $isAutoLinkNode as m, $createQuoteNode as n, QuoteNode as o, $createLinkNode as p, $isHeadingNode as r, $createListItemNode as s, $createHeadingNode as t, $isListNode as u, $createCodeNode as v, CodeNode as x, $isCodeNode as y };