@mx-space/cli 0.2.3 → 0.3.1

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 (210) hide show
  1. package/README.md +14 -0
  2. package/ROADMAP.md +6 -0
  3. package/bin/mxs.cjs +5 -5
  4. package/dist/{Lexical.dev-CMevU1DO.mjs → Lexical.dev-rcxzwpir.mjs} +0 -2
  5. package/dist/{Lexical.node-BR9e7Cyk.mjs → Lexical.node-BUsI9gWr.mjs} +1 -3
  6. package/dist/{Lexical.prod-PUD-z9fY.mjs → Lexical.prod-C8HtkSD6.mjs} +0 -2
  7. package/dist/{LexicalClipboard.dev-DZC2zppG.mjs → LexicalClipboard.dev-BpqRwTLP.mjs} +5 -7
  8. package/dist/{LexicalClipboard.node-e5G1wVGb.mjs → LexicalClipboard.node-CO-MCKx5.mjs} +1 -3
  9. package/dist/{LexicalClipboard.prod-DE2azzIb.mjs → LexicalClipboard.prod-B_xdeiAC.mjs} +5 -7
  10. package/dist/{LexicalCodeCore.dev-gs--x55I.mjs → LexicalCodeCore.dev-7_cexm39.mjs} +2 -4
  11. package/dist/{LexicalCodeCore.prod-DPHOnyEj.mjs → LexicalCodeCore.prod-Bd6WFHcO.mjs} +2 -4
  12. package/dist/{LexicalDragon.dev-CVe8bzVN.mjs → LexicalDragon.dev-gBP8WSRS.mjs} +2 -4
  13. package/dist/{LexicalDragon.node-c7EHvcnK.mjs → LexicalDragon.node-OG6G55nl.mjs} +1 -3
  14. package/dist/{LexicalDragon.prod-D6KvqyLD.mjs → LexicalDragon.prod-DP-_Q8cv.mjs} +2 -4
  15. package/dist/{LexicalExtension.dev-PDo8HyEw.mjs → LexicalExtension.dev-DVbjljrm.mjs} +2 -4
  16. package/dist/{LexicalExtension.node-BKzjRb-0.mjs → LexicalExtension.node-CF3EAPN7.mjs} +1 -3
  17. package/dist/{LexicalExtension.prod-D0x_lX7q.mjs → LexicalExtension.prod-DklHHErZ.mjs} +2 -4
  18. package/dist/{LexicalHeadless.dev-DBKcW82j.mjs → LexicalHeadless.dev-DdWLM7Nl.mjs} +1 -3
  19. package/dist/{LexicalHeadless.prod-D4nEh7cR.mjs → LexicalHeadless.prod-CoiiTDzR.mjs} +1 -3
  20. package/dist/{LexicalHtml.dev-vsWW05es.mjs → LexicalHtml.dev-C3ZSWBFZ.mjs} +3 -5
  21. package/dist/{LexicalHtml.node-CpibAfba.mjs → LexicalHtml.node-D0TD152E.mjs} +1 -3
  22. package/dist/{LexicalHtml.prod-Bqz-3WAp.mjs → LexicalHtml.prod-CX47X0zl.mjs} +3 -5
  23. package/dist/{LexicalLink.dev-BO0J0B1E.mjs → LexicalLink.dev-BS1Bf-yD.mjs} +3 -5
  24. package/dist/{LexicalLink.prod-D66AhUCZ.mjs → LexicalLink.prod-B_crkoHP.mjs} +3 -5
  25. package/dist/{LexicalList.dev-DVGTWRk0.mjs → LexicalList.dev-OMqmcnQ-.mjs} +3 -5
  26. package/dist/{LexicalList.prod-Bao7NGl7.mjs → LexicalList.prod-CpL1s8vS.mjs} +3 -5
  27. package/dist/{LexicalMarkdown.dev-CRWkZwlp.mjs → LexicalMarkdown.dev-BHSdx_Gr.mjs} +3 -5
  28. package/dist/{LexicalMarkdown.prod-tGG6js4r.mjs → LexicalMarkdown.prod-C-S7Ii6-.mjs} +3 -5
  29. package/dist/{LexicalRichText.dev-DPXfQePC.mjs → LexicalRichText.dev-Bz9A_WbM.mjs} +5 -7
  30. package/dist/{LexicalRichText.node-BEkm_YwY.mjs → LexicalRichText.node-DDpwfE-P.mjs} +4 -6
  31. package/dist/{LexicalRichText.prod-DlfudC5w.mjs → LexicalRichText.prod-C8qXACDL.mjs} +5 -7
  32. package/dist/{LexicalSelection.dev-BVTArZ-b.mjs → LexicalSelection.dev-CQ380fnD.mjs} +1 -3
  33. package/dist/{LexicalSelection.node-CQ8iTYsz.mjs → LexicalSelection.node-DesBMjIE.mjs} +1 -3
  34. package/dist/{LexicalSelection.prod-BZKGGs-G.mjs → LexicalSelection.prod-D2jivCDB.mjs} +1 -3
  35. package/dist/{LexicalTable.dev-C-AOEpJn.mjs → LexicalTable.dev-Ca7mQ7Jk.mjs} +4 -6
  36. package/dist/{LexicalTable.prod-Cyn0qWxZ.mjs → LexicalTable.prod-DyPAcC7y.mjs} +4 -6
  37. package/dist/{LexicalUtils.dev-DRRDyAlS.mjs → LexicalUtils.dev-HxM8F0g6.mjs} +2 -4
  38. package/dist/{LexicalUtils.node-Dz-HANi6.mjs → LexicalUtils.node-lCWjRjoG.mjs} +1 -3
  39. package/dist/{LexicalUtils.prod-CmeHwh8W.mjs → LexicalUtils.prod-Bti5w4ki.mjs} +2 -4
  40. package/dist/bin/mxs.d.mts +2 -929
  41. package/dist/bin/mxs.mjs +2 -3596
  42. package/dist/esm-BKxzBG1f.mjs +2 -0
  43. package/dist/esm-DO9hVR8S.mjs +37652 -0
  44. package/dist/index.d.mts +1492 -374
  45. package/dist/index.mjs +2 -11
  46. package/dist/mxs-CM8-6uAr.d.mts +4 -0
  47. package/dist/mxs-D-YXaS2T.mjs +30445 -0
  48. package/package.json +7 -2
  49. package/dist/Lexical.dev-CMevU1DO.mjs.map +0 -1
  50. package/dist/Lexical.node-BR9e7Cyk.mjs.map +0 -1
  51. package/dist/Lexical.prod-PUD-z9fY.mjs.map +0 -1
  52. package/dist/LexicalClipboard.dev-DZC2zppG.mjs.map +0 -1
  53. package/dist/LexicalClipboard.node-e5G1wVGb.mjs.map +0 -1
  54. package/dist/LexicalClipboard.prod-DE2azzIb.mjs.map +0 -1
  55. package/dist/LexicalCodeCore.dev-gs--x55I.mjs.map +0 -1
  56. package/dist/LexicalCodeCore.prod-DPHOnyEj.mjs.map +0 -1
  57. package/dist/LexicalDragon.dev-CVe8bzVN.mjs.map +0 -1
  58. package/dist/LexicalDragon.node-c7EHvcnK.mjs.map +0 -1
  59. package/dist/LexicalDragon.prod-D6KvqyLD.mjs.map +0 -1
  60. package/dist/LexicalExtension.dev-PDo8HyEw.mjs.map +0 -1
  61. package/dist/LexicalExtension.node-BKzjRb-0.mjs.map +0 -1
  62. package/dist/LexicalExtension.prod-D0x_lX7q.mjs.map +0 -1
  63. package/dist/LexicalHeadless.dev-DBKcW82j.mjs.map +0 -1
  64. package/dist/LexicalHeadless.prod-D4nEh7cR.mjs.map +0 -1
  65. package/dist/LexicalHtml.dev-vsWW05es.mjs.map +0 -1
  66. package/dist/LexicalHtml.node-CpibAfba.mjs.map +0 -1
  67. package/dist/LexicalHtml.prod-Bqz-3WAp.mjs.map +0 -1
  68. package/dist/LexicalLink.dev-BO0J0B1E.mjs.map +0 -1
  69. package/dist/LexicalLink.prod-D66AhUCZ.mjs.map +0 -1
  70. package/dist/LexicalList.dev-DVGTWRk0.mjs.map +0 -1
  71. package/dist/LexicalList.prod-Bao7NGl7.mjs.map +0 -1
  72. package/dist/LexicalMarkdown.dev-CRWkZwlp.mjs.map +0 -1
  73. package/dist/LexicalMarkdown.prod-tGG6js4r.mjs.map +0 -1
  74. package/dist/LexicalRichText.dev-DPXfQePC.mjs.map +0 -1
  75. package/dist/LexicalRichText.node-BEkm_YwY.mjs.map +0 -1
  76. package/dist/LexicalRichText.prod-DlfudC5w.mjs.map +0 -1
  77. package/dist/LexicalSelection.dev-BVTArZ-b.mjs.map +0 -1
  78. package/dist/LexicalSelection.node-CQ8iTYsz.mjs.map +0 -1
  79. package/dist/LexicalSelection.prod-BZKGGs-G.mjs.map +0 -1
  80. package/dist/LexicalTable.dev-C-AOEpJn.mjs.map +0 -1
  81. package/dist/LexicalTable.prod-Cyn0qWxZ.mjs.map +0 -1
  82. package/dist/LexicalUtils.dev-DRRDyAlS.mjs.map +0 -1
  83. package/dist/LexicalUtils.node-Dz-HANi6.mjs.map +0 -1
  84. package/dist/LexicalUtils.prod-CmeHwh8W.mjs.map +0 -1
  85. package/dist/auth-CAKmTDpF.mjs +0 -211
  86. package/dist/auth-CAKmTDpF.mjs.map +0 -1
  87. package/dist/bin/mxs.mjs.map +0 -1
  88. package/dist/config-store-B8_9iStL.mjs +0 -166
  89. package/dist/config-store-B8_9iStL.mjs.map +0 -1
  90. package/dist/create-5wbU7IQh.mjs +0 -23
  91. package/dist/create-5wbU7IQh.mjs.map +0 -1
  92. package/dist/create-Bs6K7AyQ.mjs +0 -23
  93. package/dist/create-Bs6K7AyQ.mjs.map +0 -1
  94. package/dist/create-DBReocgJ.mjs +0 -24
  95. package/dist/create-DBReocgJ.mjs.map +0 -1
  96. package/dist/create-DGVaE0_S.mjs +0 -19
  97. package/dist/create-DGVaE0_S.mjs.map +0 -1
  98. package/dist/create-lLFZuMsz.mjs +0 -23
  99. package/dist/create-lLFZuMsz.mjs.map +0 -1
  100. package/dist/delete-6tkhHQDp.mjs +0 -22
  101. package/dist/delete-6tkhHQDp.mjs.map +0 -1
  102. package/dist/delete-CRFxitDN.mjs +0 -31
  103. package/dist/delete-CRFxitDN.mjs.map +0 -1
  104. package/dist/delete-DU2Hvsy8.mjs +0 -22
  105. package/dist/delete-DU2Hvsy8.mjs.map +0 -1
  106. package/dist/delete-nJmHtvfq.mjs +0 -31
  107. package/dist/delete-nJmHtvfq.mjs.map +0 -1
  108. package/dist/delete-tJhXI8s4.mjs +0 -22
  109. package/dist/delete-tJhXI8s4.mjs.map +0 -1
  110. package/dist/dist-DJF1Ntdn.mjs +0 -810
  111. package/dist/dist-DJF1Ntdn.mjs.map +0 -1
  112. package/dist/document-output-BFJdwPV0.mjs +0 -200
  113. package/dist/document-output-BFJdwPV0.mjs.map +0 -1
  114. package/dist/edit-BMjTbPQO.mjs +0 -40
  115. package/dist/edit-BMjTbPQO.mjs.map +0 -1
  116. package/dist/edit-BnEmMmv6.mjs +0 -80
  117. package/dist/edit-BnEmMmv6.mjs.map +0 -1
  118. package/dist/edit-C4vRSmRy.mjs +0 -79
  119. package/dist/edit-C4vRSmRy.mjs.map +0 -1
  120. package/dist/edit-CQsW5gnk.mjs +0 -86
  121. package/dist/edit-CQsW5gnk.mjs.map +0 -1
  122. package/dist/editor-BIw1ALTF.mjs +0 -42
  123. package/dist/editor-BIw1ALTF.mjs.map +0 -1
  124. package/dist/envelope-overlays-DXXygxdF.mjs +0 -26
  125. package/dist/envelope-overlays-DXXygxdF.mjs.map +0 -1
  126. package/dist/get-B3Y5hAAO.mjs +0 -10
  127. package/dist/get-B3Y5hAAO.mjs.map +0 -1
  128. package/dist/get-C5fmd5Vf.mjs +0 -14
  129. package/dist/get-C5fmd5Vf.mjs.map +0 -1
  130. package/dist/get-Cdp2tmwz.mjs +0 -28
  131. package/dist/get-Cdp2tmwz.mjs.map +0 -1
  132. package/dist/get-D18ChSKU.mjs +0 -10
  133. package/dist/get-D18ChSKU.mjs.map +0 -1
  134. package/dist/get-NSHTGu4Y.mjs +0 -13
  135. package/dist/get-NSHTGu4Y.mjs.map +0 -1
  136. package/dist/get-XBPJr95m.mjs +0 -14
  137. package/dist/get-XBPJr95m.mjs.map +0 -1
  138. package/dist/list-B6703n9X.mjs +0 -10
  139. package/dist/list-B6703n9X.mjs.map +0 -1
  140. package/dist/list-BtNocJhc.mjs +0 -14
  141. package/dist/list-BtNocJhc.mjs.map +0 -1
  142. package/dist/list-C9dXrU9H.mjs +0 -10
  143. package/dist/list-C9dXrU9H.mjs.map +0 -1
  144. package/dist/list-CcwcYZgN.mjs +0 -10
  145. package/dist/list-CcwcYZgN.mjs.map +0 -1
  146. package/dist/list-Ctc8b5gT.mjs +0 -10
  147. package/dist/list-Ctc8b5gT.mjs.map +0 -1
  148. package/dist/list-b60JzCTw.mjs +0 -15
  149. package/dist/list-b60JzCTw.mjs.map +0 -1
  150. package/dist/litexml-codec-CfIxcPG0.mjs +0 -13451
  151. package/dist/litexml-codec-CfIxcPG0.mjs.map +0 -1
  152. package/dist/login-bZx4HaVs.mjs +0 -591
  153. package/dist/login-bZx4HaVs.mjs.map +0 -1
  154. package/dist/logout-C0Dzitsu.mjs +0 -18
  155. package/dist/logout-C0Dzitsu.mjs.map +0 -1
  156. package/dist/ls-wMiTXZPQ.mjs +0 -33
  157. package/dist/ls-wMiTXZPQ.mjs.map +0 -1
  158. package/dist/mark-Dh9BErsf.mjs +0 -29
  159. package/dist/mark-Dh9BErsf.mjs.map +0 -1
  160. package/dist/onboarding-Bw_I8qpf.mjs +0 -214
  161. package/dist/onboarding-Bw_I8qpf.mjs.map +0 -1
  162. package/dist/output-D2dDlyV2.d.mts +0 -16
  163. package/dist/output-vzequvhd.mjs +0 -163
  164. package/dist/output-vzequvhd.mjs.map +0 -1
  165. package/dist/payload-CO4zbNr8.mjs +0 -547
  166. package/dist/payload-CO4zbNr8.mjs.map +0 -1
  167. package/dist/profile-CNe2uWJi.mjs +0 -172
  168. package/dist/profile-CNe2uWJi.mjs.map +0 -1
  169. package/dist/publish-CzzucXQq.mjs +0 -23
  170. package/dist/publish-CzzucXQq.mjs.map +0 -1
  171. package/dist/publish-DRQkpxsz.mjs +0 -23
  172. package/dist/publish-DRQkpxsz.mjs.map +0 -1
  173. package/dist/resolve-BYg5Gees.mjs +0 -23
  174. package/dist/resolve-BYg5Gees.mjs.map +0 -1
  175. package/dist/resolve-BlpMdnaM.mjs +0 -16
  176. package/dist/resolve-BlpMdnaM.mjs.map +0 -1
  177. package/dist/resolve-CUsHGcb-.mjs +0 -119
  178. package/dist/resolve-CUsHGcb-.mjs.map +0 -1
  179. package/dist/resolve-helpers-CoHYa2uk.mjs +0 -30
  180. package/dist/resolve-helpers-CoHYa2uk.mjs.map +0 -1
  181. package/dist/resolve-jdb1VqAG.mjs +0 -26
  182. package/dist/resolve-jdb1VqAG.mjs.map +0 -1
  183. package/dist/rm-D-2iW1Cr.mjs +0 -33
  184. package/dist/rm-D-2iW1Cr.mjs.map +0 -1
  185. package/dist/run-Dnax6uhZ.mjs +0 -130
  186. package/dist/run-Dnax6uhZ.mjs.map +0 -1
  187. package/dist/self-update-CZywTwGd.mjs +0 -1610
  188. package/dist/self-update-CZywTwGd.mjs.map +0 -1
  189. package/dist/set-Dk28LAy5.mjs +0 -43
  190. package/dist/set-Dk28LAy5.mjs.map +0 -1
  191. package/dist/shared-d0_6ZPn_.mjs +0 -50
  192. package/dist/shared-d0_6ZPn_.mjs.map +0 -1
  193. package/dist/show-DScu6mXz.mjs +0 -39
  194. package/dist/show-DScu6mXz.mjs.map +0 -1
  195. package/dist/status-8F6tgphP.mjs +0 -23
  196. package/dist/status-8F6tgphP.mjs.map +0 -1
  197. package/dist/update-B1LGxV0n.mjs +0 -30
  198. package/dist/update-B1LGxV0n.mjs.map +0 -1
  199. package/dist/update-CXetpFT3.mjs +0 -28
  200. package/dist/update-CXetpFT3.mjs.map +0 -1
  201. package/dist/update-Dr4BW8U-.mjs +0 -30
  202. package/dist/update-Dr4BW8U-.mjs.map +0 -1
  203. package/dist/update-bqcHRJPC.mjs +0 -36
  204. package/dist/update-bqcHRJPC.mjs.map +0 -1
  205. package/dist/update-dBtzzmkN.mjs +0 -37
  206. package/dist/update-dBtzzmkN.mjs.map +0 -1
  207. package/dist/use-D7eKESSW.mjs +0 -29
  208. package/dist/use-D7eKESSW.mjs.map +0 -1
  209. package/dist/whoami-CKSNd6zL.mjs +0 -22
  210. package/dist/whoami-CKSNd6zL.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalMarkdown.dev-CRWkZwlp.mjs","names":["$findMatchingParent","$findMatchingParent$1"],"sources":["../../../node_modules/.pnpm/@lexical+markdown@0.44.0/node_modules/@lexical/markdown/LexicalMarkdown.dev.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { $isParagraphNode, $isTextNode, $getRoot, $isElementNode, $isDecoratorNode, $isLineBreakNode, $getSelection, $createTextNode, $createParagraphNode, $createLineBreakNode, $createTabNode, createState, $setState, $getState, $findMatchingParent as $findMatchingParent$1, mergeRegister, COLLABORATION_TAG, HISTORIC_TAG, $isRangeSelection, $addUpdateTag, HISTORY_PUSH_TAG, KEY_ENTER_COMMAND, COMMAND_PRIORITY_LOW, $isRootOrShadowRoot, $createRangeSelection, $setSelection } from 'lexical';\nimport { $isListNode, $isListItemNode, ListNode, ListItemNode, $createListItemNode, $createListNode } from '@lexical/list';\nimport { $isQuoteNode, HeadingNode, QuoteNode, $isHeadingNode, $createQuoteNode, $createHeadingNode } from '@lexical/rich-text';\nimport { $findMatchingParent } from '@lexical/utils';\nimport { CodeNode, $createCodeNode, $isCodeNode } from '@lexical/code-core';\nimport { LinkNode, $isLinkNode, $createLinkNode, $isAutoLinkNode } from '@lexical/link';\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction indexBy(list, callback) {\n const index = {};\n for (const item of list) {\n const key = callback(item);\n if (!key) {\n continue;\n }\n if (index[key]) {\n index[key].push(item);\n } else {\n index[key] = [item];\n }\n }\n return index;\n}\nfunction transformersByType(transformers) {\n const byType = indexBy(transformers, t => t.type);\n return {\n element: byType.element || [],\n multilineElement: byType['multiline-element'] || [],\n textFormat: byType['text-format'] || [],\n textMatch: byType['text-match'] || []\n };\n}\nconst PUNCTUATION_OR_SPACE = /[!-/:-@[-`{-~\\s]/;\nconst WHITESPACE = /[ \\t\\n\\r\\f]/;\nconst PUNCTUATION = /[!\"#$%&'()*+,\\-./:;<=>?@[\\]^_`{|}~]/;\nconst MARKDOWN_EMPTY_LINE_REG_EXP = /^\\s{0,3}$/;\nfunction isEmptyParagraph(node) {\n if (!$isParagraphNode(node)) {\n return false;\n }\n const firstChild = node.getFirstChild();\n return firstChild == null || node.getChildrenSize() === 1 && $isTextNode(firstChild) && MARKDOWN_EMPTY_LINE_REG_EXP.test(firstChild.getTextContent());\n}\nfunction unescapeText(value) {\n return value.replace(/\\\\([!-/:-@[-`{-~])/g, '$1').replace(/&#(\\d+);/g, (_, codePoint) => String.fromCodePoint(Number(codePoint)));\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n/**\n * Renders string from markdown. The selection is moved to the start after the operation.\n */\nfunction createMarkdownExport(transformers, shouldPreserveNewLines = false) {\n const byType = transformersByType(transformers);\n const elementTransformers = [...byType.multilineElement, ...byType.element];\n const isNewlineDelimited = !shouldPreserveNewLines;\n\n // Export only uses text formats that are responsible for single format\n // e.g. it will filter out *** (bold, italic) and instead use separate ** and *\n const textFormatTransformers = byType.textFormat.filter(transformer => transformer.format.length === 1)\n // Make sure all text transformers that contain 'code' in their format are at the end of the array. Otherwise, formatted code like\n // <strong><code>code</code></strong> will be exported as `**Bold Code**`, as the code format will be applied first, and the bold format\n // will be applied second and thus skipped entirely, as the code format will prevent any further formatting.\n .sort((a, b) => {\n return Number(a.format.includes('code')) - Number(b.format.includes('code'));\n });\n return node => {\n const output = [];\n const children = (node || $getRoot()).getChildren();\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const result = exportTopLevelElements(child, elementTransformers, textFormatTransformers, byType.textMatch, shouldPreserveNewLines);\n if (result != null) {\n output.push(\n // separate consecutive group of texts with a line break: eg. [\"hello\", \"world\"] -> [\"hello\", \"/nworld\"]\n isNewlineDelimited && i > 0 && !isEmptyParagraph(child) && !isEmptyParagraph(children[i - 1]) ? '\\n'.concat(result) : result);\n }\n }\n // Ensure consecutive groups of texts are at least \\n\\n apart while each empty paragraph render as a newline.\n // Eg. [\"hello\", \"\", \"\", \"hi\", \"\\nworld\"] -> \"hello\\n\\n\\nhi\\n\\nworld\"\n return output.join('\\n');\n };\n}\nfunction exportTopLevelElements(node, elementTransformers, textTransformersIndex, textMatchTransformers, shouldPreserveNewLines) {\n for (const transformer of elementTransformers) {\n if (!transformer.export) {\n continue;\n }\n const result = transformer.export(node, _node => exportChildren(_node, textTransformersIndex, textMatchTransformers, undefined, undefined, shouldPreserveNewLines));\n if (result != null) {\n return result;\n }\n }\n if ($isElementNode(node)) {\n return exportChildren(node, textTransformersIndex, textMatchTransformers, undefined, undefined, shouldPreserveNewLines);\n } else if ($isDecoratorNode(node)) {\n return node.getTextContent();\n } else {\n return null;\n }\n}\nfunction exportChildren(node, textTransformersIndex, textMatchTransformers, unclosedTags, unclosableTags, shouldPreserveNewLines = false) {\n const output = [];\n const children = node.getChildren();\n // keep track of unclosed tags from the very beginning\n if (!unclosedTags) {\n unclosedTags = [];\n }\n if (!unclosableTags) {\n unclosableTags = [];\n }\n mainLoop: for (const child of children) {\n for (const transformer of textMatchTransformers) {\n if (!transformer.export) {\n continue;\n }\n const result = transformer.export(child, parentNode => exportChildren(parentNode, textTransformersIndex, textMatchTransformers, unclosedTags,\n // Add current unclosed tags to the list of unclosable tags - we don't want nested tags from\n // textmatch transformers to close the outer ones, as that may result in invalid markdown.\n // E.g. **text [text**](https://lexical.io)\n // is invalid markdown, as the closing ** is inside the link.\n //\n [...unclosableTags, ...unclosedTags], shouldPreserveNewLines), (textNode, textContent) => exportTextFormat(textNode, textContent, textTransformersIndex, unclosedTags, unclosableTags, shouldPreserveNewLines));\n if (result != null) {\n output.push(result);\n continue mainLoop;\n }\n }\n if ($isLineBreakNode(child)) {\n output.push('\\n');\n } else if ($isTextNode(child)) {\n output.push(exportTextFormat(child, child.getTextContent(), textTransformersIndex, unclosedTags, unclosableTags, shouldPreserveNewLines));\n } else if ($isElementNode(child)) {\n // empty paragraph returns \"\"\n output.push(exportChildren(child, textTransformersIndex, textMatchTransformers, unclosedTags, unclosableTags, shouldPreserveNewLines));\n } else if ($isDecoratorNode(child)) {\n output.push(child.getTextContent());\n }\n }\n return output.join('');\n}\nfunction exportTextFormat(node, textContent, textTransformers,\n// unclosed tags include the markdown tags that haven't been closed yet, and their associated formats\nunclosedTags, unclosableTags, shouldPreserveNewLines = false) {\n // This function handles the case of a string looking like this: \" foo \"\n // Where it would be invalid markdown to generate: \"** foo **\"\n // If the node has no format, we use the original text.\n // Otherwise, we escape leading and trailing whitespaces to their corresponding code points,\n // ensuring the returned string maintains its original formatting, e.g., \"**&#32;&#32;&#32;foo&#32;&#32;&#32;**\".\n\n let output = textContent;\n if (!node.hasFormat('code')) {\n // Preserve literal backslashes when preserving source newlines.\n output = shouldPreserveNewLines ? output.replace(/([*_`~])/g, '\\\\$1') : output.replace(/([*_`~\\\\])/g, '\\\\$1');\n }\n\n // Extract leading and trailing whitespaces.\n // CommonMark flanking rules require formatting tags to be adjacent to non-whitespace characters.\n const match = output.match(/^(\\s*)(.*?)(\\s*)$/s) || ['', '', output, ''];\n const leadingSpace = match[1];\n const trimmedOutput = match[2];\n const trailingSpace = match[3];\n const isWhitespaceOnly = trimmedOutput === '';\n\n // the opening tags to be added to the result\n let openingTags = '';\n // the closing tags to be added to the result\n let closingTagsBefore = '';\n let closingTagsAfter = '';\n const prevNode = getTextSibling(node, true);\n const nextNode = getTextSibling(node, false);\n const applied = new Set();\n for (const transformer of textTransformers) {\n const format = transformer.format[0];\n const tag = transformer.tag;\n\n // dedup applied formats\n if (checkHasFormat(node, format) && !applied.has(format)) {\n applied.add(format);\n\n // append the tag to openingTags, if it's not applied to the previous nodes,\n // or the nodes before that (which would result in an unclosed tag)\n if (!checkHasFormat(prevNode, format) || !unclosedTags.find(element => element.tag === tag)) {\n unclosedTags.push({\n format,\n tag\n });\n openingTags += tag;\n }\n }\n }\n\n // close any tags in the same order they were applied, if necessary\n for (let i = 0; i < unclosedTags.length; i++) {\n const nodeHasFormat = hasFormat(node, unclosedTags[i].format);\n const nextNodeHasFormat = hasFormat(nextNode, unclosedTags[i].format);\n\n // prevent adding closing tag if next sibling will do it\n if (nodeHasFormat && nextNodeHasFormat) {\n continue;\n }\n const unhandledUnclosedTags = [...unclosedTags]; // Shallow copy to avoid modifying the original array\n\n while (unhandledUnclosedTags.length > i) {\n const unclosedTag = unhandledUnclosedTags.pop();\n\n // If tag is unclosable, don't close it and leave it in the original array,\n // So that it can be closed when it's no longer unclosable\n if (unclosableTags && unclosedTag && unclosableTags.find(element => element.tag === unclosedTag.tag)) {\n continue;\n }\n if (unclosedTag && typeof unclosedTag.tag === 'string') {\n if (!nodeHasFormat) {\n // Handles cases where the tag has not been closed before, e.g. if the previous node\n // was a text match transformer that did not account for closing tags of the next node (e.g. a link)\n closingTagsBefore += unclosedTag.tag;\n } else if (!nextNodeHasFormat) {\n closingTagsAfter += unclosedTag.tag;\n }\n }\n // Mutate the original array to remove the closed tag\n unclosedTags.pop();\n }\n break;\n }\n // If the node is entirely whitespace, we don't apply opening/closing tags around it.\n // However, it must still output closing tags from previous nodes.\n if (isWhitespaceOnly && !node.hasFormat('code')) {\n return closingTagsBefore + output;\n }\n\n // Flanking Compliance: Notice how openingTags and closingTagsAfter are placed INSIDE the whitespace boundaries!\n return closingTagsBefore + leadingSpace + openingTags + trimmedOutput + closingTagsAfter + trailingSpace;\n}\nfunction getTextSibling(node, backward) {\n const sibling = backward ? node.getPreviousSibling() : node.getNextSibling();\n if ($isTextNode(sibling)) {\n return sibling;\n }\n return null;\n}\nfunction hasFormat(node, format) {\n return $isTextNode(node) && node.hasFormat(format);\n}\nfunction checkHasFormat(n, f) {\n if (!hasFormat(n, f)) {\n return false;\n }\n if (f === 'code') {\n return true;\n }\n if (n && /^\\s*$/.test(n.getTextContent())) {\n return false;\n }\n return true;\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction findOutermostTextFormatTransformer(textNode, textFormatTransformersIndex) {\n const textContent = textNode.getTextContent();\n\n // Find code span first. Emphasis delimiters inside inline elements (e.g., code spans)\n // should not be processed. Currently only code spans are handled; other inline elements\n // (e.g., links, raw HTML) may need similar treatment in the future.\n const codeRegex = textFormatTransformersIndex.fullMatchRegExpByTag['`'];\n const codeTransformer = textFormatTransformersIndex.transformersByTag['`'];\n const excludeRanges = [];\n let codeMatch = null;\n if (codeRegex && codeTransformer) {\n const globalRegex = new RegExp(codeRegex.source, 'g');\n const matches = Array.from(textContent.matchAll(globalRegex));\n for (const match of matches) {\n // Group 1 captures the character preceding the opening backtick (or an\n // empty string when the span starts at position 0). Offset past it so\n // startIndex points to the backtick itself.\n const startIndex = match.index + match[1].length;\n const endIndex = match.index + match[0].length;\n if (!codeMatch) {\n codeMatch = {\n content: match[3],\n endIndex,\n startIndex,\n tag: '`'\n };\n }\n excludeRanges.push({\n end: endIndex,\n start: startIndex\n });\n }\n }\n const delimiters = scanDelimiters(textContent, textFormatTransformersIndex, excludeRanges);\n const emphasisMatch = delimiters.length > 0 ? processEmphasis(textContent, delimiters, textFormatTransformersIndex) : null;\n let resultMatch = null;\n let resultTransformer = null;\n if (codeMatch && emphasisMatch) {\n if (emphasisMatch.startIndex <= codeMatch.startIndex && emphasisMatch.endIndex >= codeMatch.endIndex) {\n resultMatch = emphasisMatch;\n resultTransformer = textFormatTransformersIndex.transformersByTag[emphasisMatch.tag];\n } else {\n resultMatch = codeMatch;\n resultTransformer = codeTransformer;\n }\n } else if (codeMatch) {\n resultMatch = codeMatch;\n resultTransformer = codeTransformer;\n } else if (emphasisMatch) {\n resultMatch = emphasisMatch;\n resultTransformer = textFormatTransformersIndex.transformersByTag[emphasisMatch.tag];\n }\n if (!resultMatch || !resultTransformer) {\n return null;\n }\n const regexMatch = [textContent.slice(resultMatch.startIndex, resultMatch.endIndex), resultMatch.tag, resultMatch.content];\n regexMatch.index = resultMatch.startIndex;\n regexMatch.input = textContent;\n return {\n endIndex: resultMatch.endIndex,\n match: regexMatch,\n startIndex: resultMatch.startIndex,\n transformer: resultTransformer\n };\n}\nfunction scanDelimiters(text, transformersIndex, excludeRanges = []) {\n const delimiters = [];\n const delimiterChars = new Set(Object.keys(transformersIndex.transformersByTag).filter(tag => tag[0] !== '`').map(tag => tag[0]));\n const isEscaped = index => {\n let count = 0;\n for (let i = index - 1; i >= 0 && text[i] === '\\\\'; i--) {\n count++;\n }\n return count % 2 === 1;\n };\n const isInExcludedRange = index => {\n return excludeRanges.some(range => index >= range.start && index < range.end);\n };\n let i = 0;\n while (i < text.length) {\n const char = text[i];\n if (!delimiterChars.has(char) || isEscaped(i) || isInExcludedRange(i)) {\n i++;\n continue;\n }\n let len = 1;\n while (i + len < text.length && text[i + len] === char) {\n len++;\n }\n const canOpen = canEmphasis(char, text, i, len, true);\n const canClose = canEmphasis(char, text, i, len, false);\n if (canOpen || canClose) {\n delimiters.push({\n active: true,\n canClose,\n canOpen,\n char,\n index: i,\n length: len,\n originalLength: len\n });\n }\n i += len;\n }\n return delimiters;\n}\nfunction processEmphasis(text, delimiters, transformersIndex) {\n const openersBottom = {};\n let currentPos = 0;\n let result = null;\n while (currentPos < delimiters.length) {\n const closer = delimiters[currentPos];\n if (!closer.active || !closer.canClose || closer.length === 0) {\n currentPos++;\n continue;\n }\n const bottomKey = `${closer.char}${closer.canOpen}`;\n const bottom = openersBottom[bottomKey] ?? -1;\n let foundOpener = false;\n for (let openIdx = currentPos - 1; openIdx > bottom; openIdx--) {\n const opener = delimiters[openIdx];\n if (!opener.active || !opener.canOpen || opener.length === 0 || opener.char !== closer.char) {\n continue;\n }\n\n // Rule of 3\n if (opener.canClose || closer.canOpen) {\n const sum = opener.originalLength + closer.originalLength;\n if (sum % 3 === 0 && opener.originalLength % 3 !== 0 && closer.originalLength % 3 !== 0) {\n continue;\n }\n }\n const maxLen = Math.min(opener.length, closer.length);\n const matchedTag = Object.keys(transformersIndex.transformersByTag).filter(t => t[0] === opener.char && t.length <= maxLen).sort((a, b) => b.length - a.length)[0];\n if (!matchedTag) {\n continue;\n }\n foundOpener = true;\n const matchLen = matchedTag.length;\n const match = {\n content: text.slice(opener.index + opener.length, closer.index),\n endIndex: closer.index + matchLen,\n startIndex: opener.index + (opener.length - matchLen),\n tag: matchedTag\n };\n if (!result || match.startIndex < result.startIndex || match.startIndex === result.startIndex && match.endIndex > result.endIndex) {\n result = match;\n }\n for (let j = openIdx + 1; j < currentPos; j++) {\n delimiters[j].active = false;\n }\n opener.length -= matchLen;\n closer.length -= matchLen;\n opener.active = opener.length > 0;\n if (closer.length > 0) {\n closer.index += matchLen;\n } else {\n closer.active = false;\n currentPos++;\n }\n break;\n }\n if (!foundOpener) {\n openersBottom[bottomKey] = currentPos - 1;\n if (!closer.canOpen) {\n closer.active = false;\n }\n currentPos++;\n }\n }\n return result;\n}\nfunction canEmphasis(char, text, index, length, isOpen) {\n if (!isFlanking(text, index, length, isOpen)) {\n return false;\n }\n if (char === '*') {\n return true;\n }\n if (char === '_') {\n if (!isFlanking(text, index, length, !isOpen)) {\n return true;\n }\n const adjacentChar = isOpen ? text[index - 1] : text[index + length];\n return adjacentChar !== undefined && PUNCTUATION.test(adjacentChar);\n }\n return true;\n}\nfunction isFlanking(text, index, length, isLeft) {\n const charBefore = text[index - 1];\n const charAfter = text[index + length];\n const [primary, secondary] = isLeft ? [charAfter, charBefore] : [charBefore, charAfter];\n if (primary === undefined || WHITESPACE.test(primary)) {\n return false;\n }\n if (!PUNCTUATION.test(primary)) {\n return true;\n }\n return secondary === undefined || WHITESPACE.test(secondary) || PUNCTUATION.test(secondary);\n}\nfunction importTextFormatTransformer(textNode, startIndex, endIndex, transformer, match) {\n const textContent = textNode.getTextContent();\n\n // No text matches - we can safely process the text format match\n let transformedNode, nodeAfter, nodeBefore;\n\n // If matching full content there's no need to run splitText and can reuse existing textNode\n // to update its content and apply format. E.g. for **_Hello_** string after applying bold\n // format (**) it will reuse the same text node to apply italic (_)\n if (match[0] === textContent) {\n transformedNode = textNode;\n } else {\n if (startIndex === 0) {\n [transformedNode, nodeAfter] = textNode.splitText(endIndex);\n } else {\n [nodeBefore, transformedNode, nodeAfter] = textNode.splitText(startIndex, endIndex);\n }\n }\n transformedNode.setTextContent(match[2]);\n if (transformer) {\n for (const format of transformer.format) {\n if (!transformedNode.hasFormat(format)) {\n transformedNode.toggleFormat(format);\n }\n }\n }\n return {\n nodeAfter: nodeAfter,\n nodeBefore: nodeBefore,\n transformedNode: transformedNode\n };\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction findOutermostTextMatchTransformer(textNode_, textMatchTransformers) {\n const textNode = textNode_;\n let foundMatchStartIndex = undefined;\n let foundMatchEndIndex = undefined;\n let foundMatchTransformer = undefined;\n let foundMatch = undefined;\n for (const transformer of textMatchTransformers) {\n if (!transformer.replace || !transformer.importRegExp) {\n continue;\n }\n const match = textNode.getTextContent().match(transformer.importRegExp);\n if (!match) {\n continue;\n }\n const startIndex = match.index || 0;\n const endIndex = transformer.getEndIndex ? transformer.getEndIndex(textNode, match) : startIndex + match[0].length;\n if (endIndex === false) {\n continue;\n }\n if (foundMatchStartIndex === undefined || foundMatchEndIndex === undefined ||\n // Wraps previous match or is strictly before it.\n startIndex < foundMatchStartIndex && (endIndex > foundMatchEndIndex || endIndex <= foundMatchStartIndex)) {\n foundMatchStartIndex = startIndex;\n foundMatchEndIndex = endIndex;\n foundMatchTransformer = transformer;\n foundMatch = match;\n }\n }\n if (foundMatchStartIndex === undefined || foundMatchEndIndex === undefined || foundMatchTransformer === undefined || foundMatch === undefined) {\n return null;\n }\n return {\n endIndex: foundMatchEndIndex,\n match: foundMatch,\n startIndex: foundMatchStartIndex,\n transformer: foundMatchTransformer\n };\n}\nfunction importFoundTextMatchTransformer(textNode, startIndex, endIndex, transformer, match) {\n let transformedNode, nodeAfter, nodeBefore;\n if (startIndex === 0) {\n [transformedNode, nodeAfter] = textNode.splitText(endIndex);\n } else {\n [nodeBefore, transformedNode, nodeAfter] = textNode.splitText(startIndex, endIndex);\n }\n if (!transformer.replace) {\n return null;\n }\n const potentialTransformedNode = transformer.replace(transformedNode, match);\n return {\n nodeAfter,\n nodeBefore,\n transformedNode: potentialTransformedNode || undefined\n };\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n/**\n * Returns true if the node can contain transformable markdown.\n * Code nodes cannot contain transformable markdown.\n * For example, `code **bold**` should not be transformed to\n * <code>code <strong>bold</strong></code>.\n */\nfunction canContainTransformableMarkdown(node) {\n return $isTextNode(node) && !node.hasFormat('code');\n}\n\n/**\n * Handles applying both text format and text match transformers.\n * It finds the outermost text format or text match and applies it,\n * then recursively calls itself to apply the next outermost transformer,\n * until there are no more transformers to apply.\n */\nfunction importTextTransformers(textNode, textFormatTransformersIndex, textMatchTransformers) {\n let foundTextFormat = findOutermostTextFormatTransformer(textNode, textFormatTransformersIndex);\n let foundTextMatch = findOutermostTextMatchTransformer(textNode, textMatchTransformers);\n if (foundTextFormat && foundTextMatch) {\n // Find the outermost transformer\n if (foundTextFormat.startIndex <= foundTextMatch.startIndex && foundTextFormat.endIndex >= foundTextMatch.endIndex ||\n // foundTextMatch is not contained within foundTextFormat\n foundTextMatch.startIndex > foundTextFormat.endIndex) {\n // foundTextFormat wraps foundTextMatch - apply foundTextFormat by setting foundTextMatch to null\n foundTextMatch = null;\n } else {\n // foundTextMatch wraps foundTextFormat - apply foundTextMatch by setting foundTextFormat to null\n foundTextFormat = null;\n }\n }\n if (foundTextFormat) {\n const result = importTextFormatTransformer(textNode, foundTextFormat.startIndex, foundTextFormat.endIndex, foundTextFormat.transformer, foundTextFormat.match);\n if (canContainTransformableMarkdown(result.nodeAfter)) {\n importTextTransformers(result.nodeAfter, textFormatTransformersIndex, textMatchTransformers);\n }\n if (canContainTransformableMarkdown(result.nodeBefore)) {\n importTextTransformers(result.nodeBefore, textFormatTransformersIndex, textMatchTransformers);\n }\n if (canContainTransformableMarkdown(result.transformedNode)) {\n importTextTransformers(result.transformedNode, textFormatTransformersIndex, textMatchTransformers);\n }\n } else if (foundTextMatch) {\n const result = importFoundTextMatchTransformer(textNode, foundTextMatch.startIndex, foundTextMatch.endIndex, foundTextMatch.transformer, foundTextMatch.match);\n if (!result) {\n return;\n }\n if (canContainTransformableMarkdown(result.nodeAfter)) {\n importTextTransformers(result.nodeAfter, textFormatTransformersIndex, textMatchTransformers);\n }\n if (canContainTransformableMarkdown(result.nodeBefore)) {\n importTextTransformers(result.nodeBefore, textFormatTransformersIndex, textMatchTransformers);\n }\n if (canContainTransformableMarkdown(result.transformedNode)) {\n importTextTransformers(result.transformedNode, textFormatTransformersIndex, textMatchTransformers);\n }\n }\n\n // Handle escape characters\n const textContent = textNode.getTextContent();\n const unescapedText = unescapeText(textContent);\n textNode.setTextContent(unescapedText);\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/**\n * Renders markdown from a string. The selection is moved to the start after the operation.\n */\nfunction createMarkdownImport(transformers, shouldPreserveNewLines = false) {\n const byType = transformersByType(transformers);\n const textFormatTransformersIndex = createTextFormatTransformersIndex(byType.textFormat);\n return (markdownString, node) => {\n const lines = markdownString.split('\\n');\n const linesLength = lines.length;\n const root = node || $getRoot();\n root.clear();\n for (let i = 0; i < linesLength; i++) {\n const lineText = lines[i];\n const [imported, shiftedIndex] = $importMultiline(lines, i, byType.multilineElement, root);\n if (imported) {\n // If a multiline markdown element was imported, we don't want to process the lines that were part of it anymore.\n // There could be other sub-markdown elements (both multiline and normal ones) matching within this matched multiline element's children.\n // However, it would be the responsibility of the matched multiline transformer to decide how it wants to handle them.\n // We cannot handle those, as there is no way for us to know how to maintain the correct order of generated lexical nodes for possible children.\n i = shiftedIndex; // Next loop will start from the line after the last line of the multiline element\n continue;\n }\n $importBlocks(lineText, root, byType.element, textFormatTransformersIndex, byType.textMatch, shouldPreserveNewLines);\n }\n const children = root.getChildren();\n for (const child of children) {\n // By default, removing empty paragraphs as md does not really\n // allow empty lines and uses them as delimiter.\n // If you need empty lines set shouldPreserveNewLines = true.\n if (!shouldPreserveNewLines && isEmptyParagraph(child) && root.getChildrenSize() > 1) {\n child.remove();\n continue;\n }\n // Convert all '\\t' into TabNode.\n if ($isElementNode(child)) {\n for (const textNode of child.getAllTextNodes()) {\n $normalizeMarkdownTextNode(textNode);\n }\n }\n }\n if ($getSelection() !== null) {\n root.selectStart();\n }\n };\n}\n\n/**\n *\n * @returns first element of the returned tuple is a boolean indicating if a multiline element was imported. The second element is the index of the last line that was processed.\n */\nfunction $importMultiline(lines, startLineIndex, multilineElementTransformers, rootNode) {\n for (const transformer of multilineElementTransformers) {\n const {\n handleImportAfterStartMatch,\n regExpEnd,\n regExpStart,\n replace\n } = transformer;\n const startMatch = lines[startLineIndex].match(regExpStart);\n if (!startMatch) {\n continue; // Try next transformer\n }\n if (handleImportAfterStartMatch) {\n const result = handleImportAfterStartMatch({\n lines,\n rootNode,\n startLineIndex,\n startMatch,\n transformer\n });\n if (result === null) {\n continue;\n } else if (result) {\n return result;\n }\n }\n const regexpEndRegex = typeof regExpEnd === 'object' && 'regExp' in regExpEnd ? regExpEnd.regExp : regExpEnd;\n const isEndOptional = regExpEnd && typeof regExpEnd === 'object' && 'optional' in regExpEnd ? regExpEnd.optional : !regExpEnd;\n let endLineIndex = startLineIndex;\n const linesLength = lines.length;\n\n // check every single line for the closing match. It could also be on the same line as the opening match.\n while (endLineIndex < linesLength) {\n const endMatch = regexpEndRegex ? lines[endLineIndex].match(regexpEndRegex) : null;\n if (!endMatch) {\n if (!isEndOptional || isEndOptional && endLineIndex < linesLength - 1 // Optional end, but didn't reach the end of the document yet => continue searching for potential closing match\n ) {\n endLineIndex++;\n continue; // Search next line for closing match\n }\n }\n\n // Now, check if the closing match matched is the same as the opening match.\n // If it is, we need to continue searching for the actual closing match.\n if (endMatch && startLineIndex === endLineIndex && endMatch.index === startMatch.index) {\n endLineIndex++;\n continue; // Search next line for closing match\n }\n\n // At this point, we have found the closing match. Next: calculate the lines in between open and closing match\n // This should not include the matches themselves, and be split up by lines\n const linesInBetween = [];\n if (endMatch && startLineIndex === endLineIndex) {\n linesInBetween.push(lines[startLineIndex].slice(startMatch[0].length, -endMatch[0].length));\n } else {\n for (let i = startLineIndex; i <= endLineIndex; i++) {\n if (i === startLineIndex) {\n const text = lines[i].slice(startMatch[0].length);\n linesInBetween.push(text); // Also include empty text\n } else if (i === endLineIndex && endMatch) {\n const text = lines[i].slice(0, -endMatch[0].length);\n linesInBetween.push(text); // Also include empty text\n } else {\n linesInBetween.push(lines[i]);\n }\n }\n }\n if (replace(rootNode, null, startMatch, endMatch, linesInBetween, true) !== false) {\n // Return here. This $importMultiline function is run line by line and should only process a single multiline element at a time.\n return [true, endLineIndex];\n }\n\n // The replace function returned false, despite finding the matching open and close tags => this transformer does not want to handle it.\n // Thus, we continue letting the remaining transformers handle the passed lines of text from the beginning\n break;\n }\n }\n\n // No multiline transformer handled this line successfully\n return [false, startLineIndex];\n}\nfunction $importBlocks(lineText, rootNode, elementTransformers, textFormatTransformersIndex, textMatchTransformers, shouldPreserveNewLines) {\n const textNode = $createTextNode(lineText);\n const elementNode = $createParagraphNode();\n elementNode.append(textNode);\n rootNode.append(elementNode);\n for (const {\n regExp,\n replace\n } of elementTransformers) {\n const match = lineText.match(regExp);\n if (match) {\n textNode.setTextContent(lineText.slice(match[0].length));\n if (replace(elementNode, [textNode], match, true) !== false) {\n break;\n }\n }\n }\n importTextTransformers(textNode, textFormatTransformersIndex, textMatchTransformers);\n\n // If no transformer found and we left with original paragraph node\n // can check if its content can be appended to the previous node\n // if it's a paragraph, quote or list\n if (elementNode.isAttached() && lineText.length > 0) {\n const previousNode = elementNode.getPreviousSibling();\n if (!shouldPreserveNewLines && (\n // Only append if we're not preserving newlines\n $isParagraphNode(previousNode) || $isQuoteNode(previousNode) || $isListNode(previousNode))) {\n let targetNode = previousNode;\n if ($isListNode(previousNode)) {\n const lastDescendant = previousNode.getLastDescendant();\n if (lastDescendant == null) {\n targetNode = null;\n } else {\n targetNode = $findMatchingParent(lastDescendant, $isListItemNode);\n }\n }\n if (targetNode != null && targetNode.getTextContentSize() > 0) {\n const lastChild = targetNode.getLastChild();\n if ($isTextNode(lastChild)) {\n const lastText = lastChild.getTextContent();\n if (lastText.endsWith('\\\\')) {\n lastChild.setTextContent(lastText.slice(0, -1));\n } else if (/ {2,}$/.test(lastText)) {\n lastChild.setTextContent(lastText.replace(/ {2,}$/, ''));\n }\n }\n targetNode.splice(targetNode.getChildrenSize(), 0, [$createLineBreakNode(), ...elementNode.getChildren()]);\n elementNode.remove();\n }\n }\n }\n}\n\n// Look in node for '\\t' and create a TabNode for each occurrence.\nfunction $normalizeMarkdownTextNode(textNode) {\n const tabOffsets = new Set();\n const text = textNode.getTextContent();\n let index = text.indexOf('\\t');\n\n // Find all tab occurrences\n while (index !== -1) {\n tabOffsets.add(index);\n tabOffsets.add(index + 1);\n index = text.indexOf('\\t', index + 1);\n }\n\n // Split node to isolate each tab then replace '\\t' into TabNode\n const splitNodes = textNode.splitText(...tabOffsets);\n splitNodes.forEach(node => {\n if (node.getTextContent() === '\\t') {\n node.replace($createTabNode());\n }\n });\n}\nfunction createTextFormatTransformersIndex(textTransformers) {\n const transformersByTag = {};\n const fullMatchRegExpByTag = {};\n const openTagsRegExp = [];\n for (const transformer of textTransformers) {\n const {\n tag\n } = transformer;\n transformersByTag[tag] = transformer;\n const tagRegExp = tag.replace(/(\\*|\\^|\\+)/g, '\\\\$1');\n openTagsRegExp.push(tagRegExp);\n\n // Single-char tag (e.g. \"*\")\n if (tag.length === 1) {\n if (tag === '`') {\n // Capture the preceding character in group 1 (empty string at start-of-string\n // via the ^ branch) rather than using a negative lookbehind, which is not\n // supported in Safari < 16.4. Consumers must add match[1].length to\n // match.index to find the real start of the span (see importTextFormatTransformer.ts).\n fullMatchRegExpByTag[tag] = new RegExp(`(^|[^\\\\\\\\\\`])(\\`)((?:\\\\\\\\\\`|[^\\`])+?)(\\`)(?!\\`)`);\n } else {\n fullMatchRegExpByTag[tag] = new RegExp(`(^|[^\\\\\\\\${tagRegExp}])(${tagRegExp})((\\\\\\\\${tagRegExp})?.*?[^${tagRegExp}\\\\s](\\\\\\\\${tagRegExp})?)(${tagRegExp})(?![\\\\\\\\${tagRegExp}])`);\n }\n } else {\n // Multi-char tags (e.g. \"**\")\n fullMatchRegExpByTag[tag] = new RegExp(`(^|[^\\\\\\\\])(${tagRegExp})((\\\\\\\\${tagRegExp})?.*?[^\\\\s](\\\\\\\\${tagRegExp})?)(${tagRegExp})(?!\\\\\\\\)`);\n }\n }\n return {\n // Reg exp to find open tag + content + close tag\n fullMatchRegExpByTag,\n // Regexp to locate *any* potential opening tag (longest first).\n // The former (?<!\\\\) escape guard has been removed — the delimiter\n // scanner's isEscaped() check handles escape filtering at match time.\n openTagsRegExp: new RegExp(`(${openTagsRegExp.join('|')})`, 'g'),\n transformersByTag\n };\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n// Do not require this module directly! Use normal `invariant` calls.\n\nfunction formatDevErrorMessage(message) {\n throw new Error(message);\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst ORDERED_LIST_REGEX = /^(\\s*)(\\d{1,})\\.\\s/;\nconst UNORDERED_LIST_REGEX = /^(\\s*)[-*+]\\s/;\nconst CHECK_LIST_REGEX = /^(\\s*)(?:[-*+]\\s)?\\s?(\\[(\\s|x)?\\])\\s/i;\nconst HEADING_REGEX = /^(#{1,6})\\s/;\nconst QUOTE_REGEX = /^>\\s/;\nconst CODE_START_REGEX = /^([ \\t]*`{3,})([\\w-]+)?[ \\t]?/;\nconst CODE_END_REGEX = /^[ \\t]*`{3,}$/;\nconst CODE_SINGLE_LINE_REGEX = /^[ \\t]*```[^`]+(?:(?:`{1,2}|`{4,})[^`]+)*```(?:[^`]|$)/;\nconst TABLE_ROW_REG_EXP = /^(?:\\|)(.+)(?:\\|)\\s?$/;\nconst TABLE_ROW_DIVIDER_REG_EXP = /^(\\| ?:?-*:? ?)+\\|\\s?$/;\nconst TAG_START_REGEX = /^<[a-z_][\\w-]*(?:\\s[^<>]*)?\\/?>/i;\nconst TAG_END_REGEX = /^<\\/[a-z_][\\w-]*\\s*>/i;\nconst ENDS_WITH = regex => new RegExp(`(?:${regex.source})$`, regex.flags);\nconst listMarkerState = createState('mdListMarker', {\n parse: v => typeof v === 'string' && /^[-*+]$/.test(v) ? v : '-',\n resetOnCopyNode: true\n});\nconst codeFenceState = createState('mdCodeFence', {\n parse: val => {\n if (typeof val === 'string' && /^`{3,}$/.test(val)) {\n return val;\n }\n return '```';\n },\n resetOnCopyNode: true\n});\nconst createBlockNode = createNode => {\n return (parentNode, children, match, isImport) => {\n const node = createNode(match);\n node.append(...children);\n parentNode.replace(node);\n if (!isImport) {\n node.select(0, 0);\n }\n };\n};\n\n// Amount of spaces that define indentation level\n// TODO: should be an option\nconst LIST_INDENT_SIZE = 4;\nfunction getIndent(whitespaces) {\n const tabs = whitespaces.match(/\\t/g);\n const spaces = whitespaces.match(/ /g);\n let indent = 0;\n if (tabs) {\n indent += tabs.length;\n }\n if (spaces) {\n indent += Math.floor(spaces.length / LIST_INDENT_SIZE);\n }\n return indent;\n}\nconst listReplace = listType => {\n return (parentNode, children, match, isImport) => {\n const previousNode = parentNode.getPreviousSibling();\n const nextNode = parentNode.getNextSibling();\n const listItem = $createListItemNode(listType === 'check' ? match[3] === 'x' : undefined);\n const firstMatchChar = match[0].trim()[0];\n const listMarker = (listType === 'bullet' || listType === 'check') && firstMatchChar === listMarkerState.parse(firstMatchChar) ? firstMatchChar : undefined;\n if ($isListNode(nextNode) && nextNode.getListType() === listType) {\n if (listMarker) {\n $setState(nextNode, listMarkerState, listMarker);\n }\n const firstChild = nextNode.getFirstChild();\n if (firstChild !== null) {\n firstChild.insertBefore(listItem);\n } else {\n // should never happen, but let's handle gracefully, just in case.\n nextNode.append(listItem);\n }\n parentNode.remove();\n } else if ($isListNode(previousNode) && previousNode.getListType() === listType) {\n if (listMarker) {\n $setState(previousNode, listMarkerState, listMarker);\n }\n previousNode.append(listItem);\n parentNode.remove();\n } else {\n const list = $createListNode(listType, listType === 'number' ? Number(match[2]) : undefined);\n if (listMarker) {\n $setState(list, listMarkerState, listMarker);\n }\n list.append(listItem);\n parentNode.replace(list);\n }\n listItem.append(...children);\n if (!isImport) {\n listItem.select(0, 0);\n }\n const indent = getIndent(match[1]);\n if (indent) {\n listItem.setIndent(indent);\n }\n };\n};\nconst $listExport = (listNode, exportChildren, depth) => {\n const output = [];\n const children = listNode.getChildren();\n let index = 0;\n for (const listItemNode of children) {\n if ($isListItemNode(listItemNode)) {\n if (listItemNode.getChildrenSize() === 1) {\n const firstChild = listItemNode.getFirstChild();\n if ($isListNode(firstChild)) {\n output.push($listExport(firstChild, exportChildren, depth + 1));\n continue;\n }\n }\n const indent = ' '.repeat(depth * LIST_INDENT_SIZE);\n const listType = listNode.getListType();\n const listMarker = $getState(listNode, listMarkerState);\n const prefix = listType === 'number' ? `${listNode.getStart() + index}. ` : listType === 'check' ? `${listMarker} [${listItemNode.getChecked() ? 'x' : ' '}] ` : listMarker + ' ';\n let childrenText = exportChildren(listItemNode);\n if (listType !== 'number') {\n childrenText = childrenText.replace(/^(\\s{0,3}\\d+)(\\.\\s)/, '$1\\\\$2');\n }\n output.push(indent + prefix + childrenText);\n index++;\n }\n }\n return output.join('\\n');\n};\nconst HEADING = {\n dependencies: [HeadingNode],\n export: (node, exportChildren) => {\n if (!$isHeadingNode(node)) {\n return null;\n }\n const level = Number(node.getTag().slice(1));\n return '#'.repeat(level) + ' ' + exportChildren(node);\n },\n regExp: HEADING_REGEX,\n replace: createBlockNode(match => {\n const tag = 'h' + match[1].length;\n return $createHeadingNode(tag);\n }),\n type: 'element'\n};\nconst QUOTE = {\n dependencies: [QuoteNode],\n export: (node, exportChildren) => {\n if (!$isQuoteNode(node)) {\n return null;\n }\n const lines = exportChildren(node).split('\\n');\n const output = [];\n for (const line of lines) {\n output.push('> ' + line);\n }\n return output.join('\\n');\n },\n regExp: QUOTE_REGEX,\n replace: (parentNode, children, _match, isImport) => {\n if (isImport) {\n const previousNode = parentNode.getPreviousSibling();\n if ($isQuoteNode(previousNode)) {\n previousNode.splice(previousNode.getChildrenSize(), 0, [$createLineBreakNode(), ...children]);\n parentNode.remove();\n return;\n }\n }\n const node = $createQuoteNode();\n node.append(...children);\n parentNode.replace(node);\n if (!isImport) {\n node.select(0, 0);\n }\n },\n type: 'element'\n};\nconst CODE = {\n dependencies: [CodeNode],\n export: node => {\n if (!$isCodeNode(node)) {\n return null;\n }\n const textContent = node.getTextContent();\n let fence = $getState(node, codeFenceState);\n if (textContent.indexOf(fence) > -1) {\n const backticks = textContent.match(/`{3,}/g);\n if (backticks) {\n const maxLength = Math.max(...backticks.map(b => b.length));\n fence = '`'.repeat(maxLength + 1);\n }\n }\n return fence + (node.getLanguage() || '') + (textContent ? '\\n' + textContent : '') + '\\n' + fence;\n },\n handleImportAfterStartMatch: ({\n lines,\n rootNode,\n startLineIndex,\n startMatch\n }) => {\n const fence = startMatch[1];\n const fenceLength = fence.trim().length;\n const currentLine = lines[startLineIndex];\n const afterFenceIndex = startMatch.index + fence.length;\n const afterFence = currentLine.slice(afterFenceIndex);\n const singleLineEndRegex = new RegExp(`\\`{${fenceLength},}$`);\n if (singleLineEndRegex.test(afterFence)) {\n const endMatch = afterFence.match(singleLineEndRegex);\n const content = afterFence.slice(0, afterFence.lastIndexOf(endMatch[0]));\n const fakeStartMatch = [...startMatch];\n fakeStartMatch[2] = '';\n CODE.replace(rootNode, null, fakeStartMatch, endMatch, [content], true);\n return [true, startLineIndex];\n }\n const multilineEndRegex = new RegExp(`^[ \\\\t]*\\`{${fenceLength},}$`);\n for (let i = startLineIndex + 1; i < lines.length; i++) {\n const line = lines[i];\n if (multilineEndRegex.test(line)) {\n const endMatch = line.match(multilineEndRegex);\n const linesInBetween = lines.slice(startLineIndex + 1, i);\n const afterFullMatch = currentLine.slice(startMatch[0].length);\n if (afterFullMatch.length > 0) {\n linesInBetween.unshift(afterFullMatch);\n }\n CODE.replace(rootNode, null, startMatch, endMatch, linesInBetween, true);\n return [true, i];\n }\n }\n const linesInBetween = lines.slice(startLineIndex + 1);\n const afterFullMatch = currentLine.slice(startMatch[0].length);\n if (afterFullMatch.length > 0) {\n linesInBetween.unshift(afterFullMatch);\n }\n CODE.replace(rootNode, null, startMatch, null, linesInBetween, true);\n return [true, lines.length - 1];\n },\n regExpEnd: {\n optional: true,\n regExp: CODE_END_REGEX\n },\n regExpStart: CODE_START_REGEX,\n replace: (rootNode, children, startMatch, endMatch, linesInBetween, isImport) => {\n let codeBlockNode;\n let code;\n const fence = startMatch[1] ? startMatch[1].trim() : '```';\n const language = startMatch[2] || undefined;\n if (!children && linesInBetween) {\n if (linesInBetween.length === 1) {\n if (endMatch) {\n codeBlockNode = $createCodeNode(language);\n code = linesInBetween[0];\n } else {\n codeBlockNode = $createCodeNode(language);\n code = linesInBetween[0].startsWith(' ') ? linesInBetween[0].slice(1) : linesInBetween[0];\n }\n } else {\n codeBlockNode = $createCodeNode(language);\n if (linesInBetween.length > 0) {\n if (linesInBetween[0].trim().length === 0) {\n linesInBetween.shift();\n } else if (linesInBetween[0].startsWith(' ')) {\n linesInBetween[0] = linesInBetween[0].slice(1);\n }\n }\n while (linesInBetween.length > 0 && !linesInBetween[linesInBetween.length - 1].length) {\n linesInBetween.pop();\n }\n code = linesInBetween.join('\\n');\n }\n $setState(codeBlockNode, codeFenceState, fence);\n const textNode = $createTextNode(code);\n codeBlockNode.append(textNode);\n rootNode.append(codeBlockNode);\n } else if (children) {\n createBlockNode(match => {\n return $createCodeNode(match ? match[2] : undefined);\n })(rootNode, children, startMatch, isImport);\n }\n },\n type: 'multiline-element'\n};\nconst UNORDERED_LIST = {\n dependencies: [ListNode, ListItemNode],\n export: (node, exportChildren) => {\n return $isListNode(node) ? $listExport(node, exportChildren, 0) : null;\n },\n regExp: UNORDERED_LIST_REGEX,\n replace: listReplace('bullet'),\n type: 'element'\n};\nconst CHECK_LIST = {\n dependencies: [ListNode, ListItemNode],\n export: (node, exportChildren) => {\n return $isListNode(node) ? $listExport(node, exportChildren, 0) : null;\n },\n regExp: CHECK_LIST_REGEX,\n replace: listReplace('check'),\n type: 'element'\n};\nconst ORDERED_LIST = {\n dependencies: [ListNode, ListItemNode],\n export: (node, exportChildren) => {\n return $isListNode(node) ? $listExport(node, exportChildren, 0) : null;\n },\n regExp: ORDERED_LIST_REGEX,\n replace: listReplace('number'),\n type: 'element'\n};\nconst INLINE_CODE = {\n format: ['code'],\n tag: '`',\n type: 'text-format'\n};\nconst HIGHLIGHT = {\n format: ['highlight'],\n tag: '==',\n type: 'text-format'\n};\nconst BOLD_ITALIC_STAR = {\n format: ['bold', 'italic'],\n tag: '***',\n type: 'text-format'\n};\nconst BOLD_ITALIC_UNDERSCORE = {\n format: ['bold', 'italic'],\n intraword: false,\n tag: '___',\n type: 'text-format'\n};\nconst BOLD_STAR = {\n format: ['bold'],\n tag: '**',\n type: 'text-format'\n};\nconst BOLD_UNDERSCORE = {\n format: ['bold'],\n intraword: false,\n tag: '__',\n type: 'text-format'\n};\nconst STRIKETHROUGH = {\n format: ['strikethrough'],\n tag: '~~',\n type: 'text-format'\n};\nconst ITALIC_STAR = {\n format: ['italic'],\n tag: '*',\n type: 'text-format'\n};\nconst ITALIC_UNDERSCORE = {\n format: ['italic'],\n intraword: false,\n tag: '_',\n type: 'text-format'\n};\n\n// Order of text transformers matters:\n//\n// - code should go first as it prevents any transformations inside\n// - then longer tags match (e.g. ** or __ should go before * or _)\nconst LINK = {\n dependencies: [LinkNode],\n export: (node, exportChildren, exportFormat) => {\n if (!$isLinkNode(node) || $isAutoLinkNode(node)) {\n return null;\n }\n const textContent = exportChildren(node);\n let title = node.getTitle();\n if (title != null) {\n title = title.replace(/([\\\\\"])/g, '\\\\$1');\n }\n const linkContent = title ? `[${textContent}](${node.getURL()} \"${title}\")` : `[${textContent}](${node.getURL()})`;\n return linkContent;\n },\n importRegExp: /(?:\\[(.+?)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))/,\n regExp: /(?:\\[([^[\\]]*(?:\\[[^[\\]]*\\][^[\\]]*)*)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))$/,\n replace: (textNode, match) => {\n // https://spec.commonmark.org/0.31.2/#inline-link\n if ($findMatchingParent$1(textNode, $isLinkNode)) {\n return;\n }\n const [, linkText, rawLinkUrl, rawLinkTitle] = match;\n const linkUrl = rawLinkUrl != null ? unescapeText(rawLinkUrl) : undefined;\n const linkTitle = rawLinkTitle != null ? unescapeText(rawLinkTitle) : undefined;\n const linkNode = $createLinkNode(linkUrl, {\n title: linkTitle\n });\n const openBracketAmount = linkText.split('[').length - 1;\n const closeBracketAmount = linkText.split(']').length - 1;\n let parsedLinkText = linkText;\n let outsideLinkText = '';\n if (openBracketAmount < closeBracketAmount) {\n return;\n } else if (openBracketAmount > closeBracketAmount) {\n const linkTextParts = linkText.split('[');\n outsideLinkText = '[' + linkTextParts[0];\n parsedLinkText = linkTextParts.slice(1).join('[');\n }\n const linkTextNode = $createTextNode(parsedLinkText);\n linkTextNode.setFormat(textNode.getFormat());\n linkNode.append(linkTextNode);\n textNode.replace(linkNode);\n if (outsideLinkText) {\n linkNode.insertBefore($createTextNode(outsideLinkText));\n }\n return linkTextNode;\n },\n trigger: ')',\n type: 'text-match'\n};\nconst ELEMENT_TRANSFORMERS = [HEADING, QUOTE, UNORDERED_LIST, ORDERED_LIST];\nconst MULTILINE_ELEMENT_TRANSFORMERS = [CODE];\n\n// Order of text format transformers matters:\n//\n// - code should go first as it prevents any transformations inside\n// - then longer tags match (e.g. ** or __ should go before * or _)\nconst TEXT_FORMAT_TRANSFORMERS = [INLINE_CODE, BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE, HIGHLIGHT, ITALIC_STAR, ITALIC_UNDERSCORE, STRIKETHROUGH];\nconst TEXT_MATCH_TRANSFORMERS = [LINK];\nconst TRANSFORMERS = [...ELEMENT_TRANSFORMERS, ...MULTILINE_ELEMENT_TRANSFORMERS, ...TEXT_FORMAT_TRANSFORMERS, ...TEXT_MATCH_TRANSFORMERS];\nfunction normalizeMarkdown(input, shouldMergeAdjacentLines = false) {\n const lines = input.split('\\n');\n let inCodeBlock = false;\n const sanitizedLines = [];\n for (let i = 0; i < lines.length; i++) {\n const rawLine = lines[i];\n const line = rawLine.trimEnd();\n const lastLine = sanitizedLines[sanitizedLines.length - 1];\n\n // Code blocks of ```single line``` don't toggle the inCodeBlock flag\n if (CODE_SINGLE_LINE_REGEX.test(line)) {\n sanitizedLines.push(line);\n continue;\n }\n\n // Detect the start or end of a code block\n if (CODE_START_REGEX.test(line) || CODE_END_REGEX.test(line)) {\n inCodeBlock = !inCodeBlock;\n sanitizedLines.push(line);\n continue;\n }\n\n // If we are inside a code block, keep the line unchanged\n if (inCodeBlock) {\n sanitizedLines.push(rawLine);\n continue;\n }\n\n // In markdown the concept of \"empty paragraphs\" does not exist.\n // Blocks must be separated by an empty line. Non-empty adjacent lines must be merged.\n if (line === '' || lastLine === '' || !lastLine || HEADING_REGEX.test(lastLine) || HEADING_REGEX.test(line) || QUOTE_REGEX.test(line) || ORDERED_LIST_REGEX.test(line) || UNORDERED_LIST_REGEX.test(line) || CHECK_LIST_REGEX.test(line) || TABLE_ROW_REG_EXP.test(line) || TABLE_ROW_DIVIDER_REG_EXP.test(line) || !shouldMergeAdjacentLines || TAG_START_REGEX.test(line) || TAG_END_REGEX.test(line) || ENDS_WITH(TAG_END_REGEX).test(lastLine) || ENDS_WITH(TAG_START_REGEX).test(lastLine) || CODE_END_REGEX.test(lastLine)) {\n // When not merging, preserve trailing whitespace (e.g. hard line-break\n // markers \" \" or non-breaking spaces). Whitespace-only lines still\n // collapse to '' because trimEnd() already reduced them, so they\n // continue to act as paragraph separators.\n sanitizedLines.push(!shouldMergeAdjacentLines && line !== '' ? rawLine : line);\n } else {\n sanitizedLines[sanitizedLines.length - 1] = lastLine + ' ' + line.trimStart();\n }\n }\n return sanitizedLines.join('\\n');\n}\n\nfunction runElementTransformers(parentNode, anchorNode, anchorOffset, elementTransformers) {\n const grandParentNode = parentNode.getParent();\n if (!$isRootOrShadowRoot(grandParentNode) || parentNode.getFirstChild() !== anchorNode) {\n return false;\n }\n const textContent = anchorNode.getTextContent();\n\n // Checking for anchorOffset position to prevent any checks for cases when caret is too far\n // from a line start to be a part of block-level markdown trigger.\n //\n // TODO:\n // Can have a quick check if caret is close enough to the beginning of the string (e.g. offset less than 10-20)\n // since otherwise it won't be a markdown shortcut, but tables are exception\n if (textContent[anchorOffset - 1] !== ' ') {\n return false;\n }\n for (const {\n regExp,\n replace\n } of elementTransformers) {\n const match = textContent.match(regExp);\n if (match && match[0].length === (match[0].endsWith(' ') ? anchorOffset : anchorOffset - 1)) {\n const nextSiblings = anchorNode.getNextSiblings();\n const [leadingNode, remainderNode] = anchorNode.splitText(anchorOffset);\n const siblings = remainderNode ? [remainderNode, ...nextSiblings] : nextSiblings;\n if (replace(parentNode, siblings, match, false) !== false) {\n leadingNode.remove();\n return true;\n }\n }\n }\n return false;\n}\nfunction runMultilineElementTransformers(parentNode, anchorNode, anchorOffset, elementTransformers, triggerOnEnter) {\n const grandParentNode = parentNode.getParent();\n if (!$isRootOrShadowRoot(grandParentNode) || parentNode.getFirstChild() !== anchorNode) {\n return false;\n }\n const textContent = anchorNode.getTextContent();\n if (!triggerOnEnter) {\n // Checking for anchorOffset position to prevent any checks for cases when caret is too far\n // from a line start to be a part of block-level markdown trigger.\n //\n // TODO:\n // Can have a quick check if caret is close enough to the beginning of the string (e.g. offset less than 10-20)\n // since otherwise it won't be a markdown shortcut, but tables are exception\n if (textContent[anchorOffset - 1] !== ' ') {\n return false;\n }\n }\n for (const {\n regExpStart,\n replace,\n regExpEnd\n } of elementTransformers) {\n if (regExpEnd && !('optional' in regExpEnd) || regExpEnd && 'optional' in regExpEnd && !regExpEnd.optional) {\n continue;\n }\n const match = textContent.match(regExpStart);\n if (match) {\n const matchLength = triggerOnEnter || match[0].endsWith(' ') ? anchorOffset : anchorOffset - 1;\n if (match[0].length !== matchLength) {\n continue;\n }\n const nextSiblings = anchorNode.getNextSiblings();\n const [leadingNode, remainderNode] = anchorNode.splitText(anchorOffset);\n const siblings = remainderNode ? [remainderNode, ...nextSiblings] : nextSiblings;\n if (replace(parentNode, siblings, match, null, null, false) !== false) {\n leadingNode.remove();\n return true;\n }\n }\n }\n return false;\n}\nfunction runTextMatchTransformers(anchorNode, anchorOffset, transformersByTrigger) {\n let textContent = anchorNode.getTextContent();\n const lastChar = textContent[anchorOffset - 1];\n const transformers = transformersByTrigger[lastChar];\n if (transformers == null) {\n return false;\n }\n\n // If typing in the middle of content, remove the tail to do\n // reg exp match up to a string end (caret position)\n if (anchorOffset < textContent.length) {\n textContent = textContent.slice(0, anchorOffset);\n }\n for (const transformer of transformers) {\n if (!transformer.replace || !transformer.regExp) {\n continue;\n }\n const match = textContent.match(transformer.regExp);\n if (match === null) {\n continue;\n }\n const startIndex = match.index || 0;\n const endIndex = startIndex + match[0].length;\n let replaceNode;\n if (startIndex === 0) {\n [replaceNode] = anchorNode.splitText(endIndex);\n } else {\n [, replaceNode] = anchorNode.splitText(startIndex, endIndex);\n }\n replaceNode.selectNext(0, 0);\n transformer.replace(replaceNode, match);\n return true;\n }\n return false;\n}\nfunction $runTextFormatTransformers(anchorNode, anchorOffset, textFormatTransformers) {\n const textContent = anchorNode.getTextContent();\n const closeTagEndIndex = anchorOffset - 1;\n const closeChar = textContent[closeTagEndIndex];\n // Quick check if we're possibly at the end of inline markdown style\n const matchers = textFormatTransformers[closeChar];\n if (!matchers) {\n return false;\n }\n for (const matcher of matchers) {\n const {\n tag\n } = matcher;\n const tagLength = tag.length;\n const closeTagStartIndex = closeTagEndIndex - tagLength + 1;\n\n // If tag is not single char check if rest of it matches with text content\n if (tagLength > 1) {\n if (!isEqualSubString(textContent, closeTagStartIndex, tag, 0, tagLength)) {\n continue;\n }\n }\n\n // Space before closing tag cancels inline markdown\n if (textContent[closeTagStartIndex - 1] === ' ') {\n continue;\n }\n\n // Some tags can not be used within words, hence should have newline/space/punctuation after it\n const afterCloseTagChar = textContent[closeTagEndIndex + 1];\n if (matcher.intraword === false && afterCloseTagChar && !PUNCTUATION_OR_SPACE.test(afterCloseTagChar)) {\n continue;\n }\n const closeNode = anchorNode;\n let openNode = closeNode;\n let openTagStartIndex = getOpenTagStartIndex(textContent, closeTagStartIndex, tag);\n\n // Go through text node siblings and search for opening tag\n // if haven't found it within the same text node as closing tag\n let sibling = openNode;\n while (openTagStartIndex < 0 && (sibling = sibling.getPreviousSibling())) {\n if ($isLineBreakNode(sibling)) {\n break;\n }\n if ($isTextNode(sibling)) {\n if (sibling.hasFormat('code')) {\n continue;\n }\n const siblingTextContent = sibling.getTextContent();\n openNode = sibling;\n openTagStartIndex = getOpenTagStartIndex(siblingTextContent, siblingTextContent.length, tag);\n }\n }\n\n // Opening tag is not found\n if (openTagStartIndex < 0) {\n continue;\n }\n\n // No content between opening and closing tag\n if (openNode === closeNode && openTagStartIndex + tagLength === closeTagStartIndex) {\n continue;\n }\n\n // Checking longer tags for repeating chars (e.g. *** vs **)\n const prevOpenNodeText = openNode.getTextContent();\n if (openTagStartIndex > 0 && prevOpenNodeText[openTagStartIndex - 1] === closeChar) {\n continue;\n }\n\n // Some tags can not be used within words, hence should have newline/space/punctuation before it\n const beforeOpenTagChar = prevOpenNodeText[openTagStartIndex - 1];\n if (matcher.intraword === false && beforeOpenTagChar && !PUNCTUATION_OR_SPACE.test(beforeOpenTagChar)) {\n continue;\n }\n\n // Per CommonMark, code spans take precedence over other inline formatting\n if (!matcher.format.includes('code') && $isInsideUnclosedCodeSpan(openNode, openTagStartIndex)) {\n continue;\n }\n\n // Clean text from opening and closing tags (starting from closing tag\n // to prevent any offset shifts if we start from opening one)\n const prevCloseNodeText = closeNode.getTextContent();\n const closeNodeText = prevCloseNodeText.slice(0, closeTagStartIndex) + prevCloseNodeText.slice(closeTagEndIndex + 1);\n closeNode.setTextContent(closeNodeText);\n const openNodeText = openNode === closeNode ? closeNodeText : prevOpenNodeText;\n openNode.setTextContent(openNodeText.slice(0, openTagStartIndex) + openNodeText.slice(openTagStartIndex + tagLength));\n const selection = $getSelection();\n const nextSelection = $createRangeSelection();\n $setSelection(nextSelection);\n // Adjust offset based on deleted chars\n const newOffset = closeTagEndIndex - tagLength * (openNode === closeNode ? 2 : 1) + 1;\n nextSelection.anchor.set(openNode.__key, openTagStartIndex, 'text');\n nextSelection.focus.set(closeNode.__key, newOffset, 'text');\n\n // Apply formatting to selected text\n for (const format of matcher.format) {\n if (!nextSelection.hasFormat(format)) {\n nextSelection.formatText(format);\n }\n }\n\n // Collapse selection up to the focus point\n nextSelection.anchor.set(nextSelection.focus.key, nextSelection.focus.offset, nextSelection.focus.type);\n\n // Remove formatting from collapsed selection\n for (const format of matcher.format) {\n if (nextSelection.hasFormat(format)) {\n nextSelection.toggleFormat(format);\n }\n }\n if ($isRangeSelection(selection)) {\n nextSelection.format = selection.format;\n }\n return true;\n }\n return false;\n}\n\n// Per CommonMark spec, code spans take precedence over other inline\n// formatting. Returns true if there is an unclosed backtick (code span\n// opener) in the text preceding the given offset, which means the offset\n// is inside a code span that hasn't been closed yet.\nfunction $isInsideUnclosedCodeSpan(node, offset) {\n let backtickCount = 0;\n const text = node.getTextContent();\n for (let i = 0; i < offset; i++) {\n if (text[i] === '`') {\n backtickCount++;\n }\n }\n return backtickCount % 2 !== 0;\n}\nfunction getOpenTagStartIndex(string, maxIndex, tag) {\n const tagLength = tag.length;\n for (let i = maxIndex; i >= tagLength; i--) {\n const startIndex = i - tagLength;\n if (isEqualSubString(string, startIndex, tag, 0, tagLength) &&\n // Space after opening tag cancels transformation\n string[startIndex + tagLength] !== ' ') {\n return startIndex;\n }\n }\n return -1;\n}\nfunction isEqualSubString(stringA, aStart, stringB, bStart, length) {\n for (let i = 0; i < length; i++) {\n if (stringA[aStart + i] !== stringB[bStart + i]) {\n return false;\n }\n }\n return true;\n}\nfunction registerMarkdownShortcuts(editor, transformers = TRANSFORMERS) {\n const byType = transformersByType(transformers);\n const textFormatTransformersByTrigger = indexBy(byType.textFormat, ({\n tag\n }) => tag[tag.length - 1]);\n const textMatchTransformersByTrigger = indexBy(byType.textMatch, ({\n trigger\n }) => trigger);\n for (const transformer of transformers) {\n const type = transformer.type;\n if (type === 'element' || type === 'text-match' || type === 'multiline-element') {\n const dependencies = transformer.dependencies;\n for (const node of dependencies) {\n if (!editor.hasNode(node)) {\n {\n formatDevErrorMessage(`MarkdownShortcuts: missing dependency ${node.getType()} for transformer. Ensure node dependency is included in editor initial config.`);\n }\n }\n }\n }\n }\n const $transform = (parentNode, anchorNode, anchorOffset) => {\n if (runElementTransformers(parentNode, anchorNode, anchorOffset, byType.element)) {\n return true;\n }\n if (runMultilineElementTransformers(parentNode, anchorNode, anchorOffset, byType.multilineElement)) {\n return true;\n }\n if (runTextMatchTransformers(anchorNode, anchorOffset, textMatchTransformersByTrigger)) {\n return true;\n }\n if ($runTextFormatTransformers(anchorNode, anchorOffset, textFormatTransformersByTrigger)) {\n return true;\n }\n return false;\n };\n return mergeRegister(editor.registerUpdateListener(({\n tags,\n dirtyLeaves,\n editorState,\n prevEditorState\n }) => {\n // Ignore updates from collaboration and undo/redo (as changes already calculated)\n if (tags.has(COLLABORATION_TAG) || tags.has(HISTORIC_TAG)) {\n return;\n }\n\n // If editor is still composing (i.e. backticks) we must wait before the user confirms the key\n if (editor.isComposing()) {\n return;\n }\n const selection = editorState.read($getSelection);\n const prevSelection = prevEditorState.read($getSelection);\n\n // We expect selection to be a collapsed range and not match previous one (as we want\n // to trigger transforms only as user types)\n if (!$isRangeSelection(prevSelection) || !$isRangeSelection(selection) || !selection.isCollapsed() || selection.is(prevSelection)) {\n return;\n }\n const anchorKey = selection.anchor.key;\n const anchorOffset = selection.anchor.offset;\n const anchorNode = editorState._nodeMap.get(anchorKey);\n if (!$isTextNode(anchorNode) || !dirtyLeaves.has(anchorKey) || anchorOffset !== 1 && anchorOffset > prevSelection.anchor.offset + 1) {\n return;\n }\n editor.update(() => {\n if (!canContainTransformableMarkdown(anchorNode)) {\n return;\n }\n const parentNode = anchorNode.getParent();\n if (parentNode === null || $isCodeNode(parentNode)) {\n return;\n }\n if ($transform(parentNode, anchorNode, selection.anchor.offset)) {\n $addUpdateTag(HISTORY_PUSH_TAG);\n }\n });\n }), editor.registerCommand(KEY_ENTER_COMMAND, event => {\n if (event !== null && event.shiftKey) {\n return false;\n }\n const selection = $getSelection();\n if (!$isRangeSelection(selection) || !selection.isCollapsed()) {\n return false;\n }\n const anchorOffset = selection.anchor.offset;\n const anchorNode = selection.anchor.getNode();\n if (!$isTextNode(anchorNode) || !canContainTransformableMarkdown(anchorNode)) {\n return false;\n }\n const parentNode = anchorNode.getParent();\n if (parentNode === null || $isCodeNode(parentNode)) {\n return false;\n }\n const textContent = anchorNode.getTextContent();\n if (anchorOffset !== textContent.length) {\n return false;\n }\n if (runMultilineElementTransformers(parentNode, anchorNode, anchorOffset, byType.multilineElement, true)) {\n if (event !== null) {\n event.preventDefault();\n }\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_LOW));\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n/**\n * Renders markdown from a string. The selection is moved to the start after the operation.\n *\n * @param {boolean} [shouldPreserveNewLines] By setting this to true, new lines will be preserved between conversions\n * @param {boolean} [shouldMergeAdjacentLines] By setting this to true, adjacent non empty lines will be merged according to commonmark spec: https://spec.commonmark.org/0.24/#example-177. Not applicable if shouldPreserveNewLines = true.\n */\nfunction $convertFromMarkdownString(markdown, transformers = TRANSFORMERS, node, shouldPreserveNewLines = false, shouldMergeAdjacentLines = false) {\n const sanitizedMarkdown = shouldPreserveNewLines ? markdown : normalizeMarkdown(markdown, shouldMergeAdjacentLines);\n const importMarkdown = createMarkdownImport(transformers, shouldPreserveNewLines);\n return importMarkdown(sanitizedMarkdown, node);\n}\n\n/**\n * Renders string from markdown. The selection is moved to the start after the operation.\n */\nfunction $convertToMarkdownString(transformers = TRANSFORMERS, node, shouldPreserveNewLines = false) {\n const exportMarkdown = createMarkdownExport(transformers, shouldPreserveNewLines);\n return exportMarkdown(node);\n}\n\nexport { $convertFromMarkdownString, $convertToMarkdownString, BOLD_ITALIC_STAR, BOLD_ITALIC_UNDERSCORE, BOLD_STAR, BOLD_UNDERSCORE, CHECK_LIST, CODE, ELEMENT_TRANSFORMERS, HEADING, HIGHLIGHT, INLINE_CODE, ITALIC_STAR, ITALIC_UNDERSCORE, LINK, MULTILINE_ELEMENT_TRANSFORMERS, ORDERED_LIST, QUOTE, STRIKETHROUGH, TEXT_FORMAT_TRANSFORMERS, TEXT_MATCH_TRANSFORMERS, TRANSFORMERS, UNORDERED_LIST, registerMarkdownShortcuts };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalMarkdown.prod-tGG6js4r.mjs","names":["t","e","o","r","n","i","l","c","R","S","A","w","a","f","u","L","g","k","d","M","B","j","_","O","P","U","z","N","F","W","D","q","p","K","E","s","I","C","h","x","m","T","$","v","y"],"sources":["../../../node_modules/.pnpm/@lexical+markdown@0.44.0/node_modules/@lexical/markdown/LexicalMarkdown.prod.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$isParagraphNode as t,$isTextNode as e,$getRoot as n,$isElementNode as o,$isDecoratorNode as r,$isLineBreakNode as s,$getSelection as i,$createTextNode as l,$createParagraphNode as c,$createLineBreakNode as a,$createTabNode as f,createState as u,$setState as g,$getState as d,$findMatchingParent as p,mergeRegister as h,COLLABORATION_TAG as x,HISTORIC_TAG as m,$isRangeSelection as C,$addUpdateTag as T,HISTORY_PUSH_TAG as $,KEY_ENTER_COMMAND as v,COMMAND_PRIORITY_LOW as y,$isRootOrShadowRoot as E,$createRangeSelection as I,$setSelection as b}from\"lexical\";import{$isListNode as S,$isListItemNode as w,ListNode as N,ListItemNode as F,$createListItemNode as L,$createListNode as k}from\"@lexical/list\";import{$isQuoteNode as R,HeadingNode as M,QuoteNode as _,$isHeadingNode as B,$createQuoteNode as O,$createHeadingNode as j}from\"@lexical/rich-text\";import{$findMatchingParent as A}from\"@lexical/utils\";import{CodeNode as P,$createCodeNode as z,$isCodeNode as U}from\"@lexical/code-core\";import{LinkNode as W,$isLinkNode as D,$createLinkNode as K,$isAutoLinkNode as q}from\"@lexical/link\";function G(t,e){const n={};for(const o of t){const t=e(o);t&&(n[t]?n[t].push(o):n[t]=[o])}return n}function H(t){const e=G(t,t=>t.type);return{element:e.element||[],multilineElement:e[\"multiline-element\"]||[],textFormat:e[\"text-format\"]||[],textMatch:e[\"text-match\"]||[]}}const J=/[!-/:-@[-`{-~\\s]/,Q=/[ \\t\\n\\r\\f]/,V=/[!\"#$%&'()*+,\\-./:;<=>?@[\\]^_`{|}~]/,X=/^\\s{0,3}$/;function Y(n){if(!t(n))return!1;const o=n.getFirstChild();return null==o||1===n.getChildrenSize()&&e(o)&&X.test(o.getTextContent())}function Z(t){return t.replace(/\\\\([!-/:-@[-`{-~])/g,\"$1\").replace(/&#(\\d+);/g,(t,e)=>String.fromCodePoint(Number(e)))}function tt(t,e,n,s,i){for(const o of e){if(!o.export)continue;const e=o.export(t,t=>et(t,n,s,void 0,void 0,i));if(null!=e)return e}return o(t)?et(t,n,s,void 0,void 0,i):r(t)?t.getTextContent():null}function et(t,n,i,l,c,a=!1){const f=[],u=t.getChildren();l||(l=[]),c||(c=[]);t:for(const t of u){for(const e of i){if(!e.export)continue;const o=e.export(t,t=>et(t,n,i,l,[...c,...l],a),(t,e)=>nt(t,e,n,l,c,a));if(null!=o){f.push(o);continue t}}s(t)?f.push(\"\\n\"):e(t)?f.push(nt(t,t.getTextContent(),n,l,c,a)):o(t)?f.push(et(t,n,i,l,c,a)):r(t)&&f.push(t.getTextContent())}return f.join(\"\")}function nt(t,e,n,o,r,s=!1){let i=e;t.hasFormat(\"code\")||(i=s?i.replace(/([*_`~])/g,\"\\\\$1\"):i.replace(/([*_`~\\\\])/g,\"\\\\$1\"));const l=i.match(/^(\\s*)(.*?)(\\s*)$/s)||[\"\",\"\",i,\"\"],c=l[1],a=l[2],f=l[3],u=\"\"===a;let g=\"\",d=\"\",p=\"\";const h=ot(t,!0),x=ot(t,!1),m=new Set;for(const e of n){const n=e.format[0],r=e.tag;st(t,n)&&!m.has(n)&&(m.add(n),st(h,n)&&o.find(t=>t.tag===r)||(o.push({format:n,tag:r}),g+=r))}for(let e=0;e<o.length;e++){const n=rt(t,o[e].format),s=rt(x,o[e].format);if(n&&s)continue;const i=[...o];for(;i.length>e;){const t=i.pop();r&&t&&r.find(e=>e.tag===t.tag)||(t&&\"string\"==typeof t.tag&&(n?s||(p+=t.tag):d+=t.tag),o.pop())}break}return u&&!t.hasFormat(\"code\")?d+i:d+c+g+a+p+f}function ot(t,n){const o=n?t.getPreviousSibling():t.getNextSibling();return e(o)?o:null}function rt(t,n){return e(t)&&t.hasFormat(n)}function st(t,e){return!!rt(t,e)&&(\"code\"===e||(!t||!/^\\s*$/.test(t.getTextContent())))}function it(t,e){const n=t.getTextContent(),o=e.fullMatchRegExpByTag[\"`\"],r=e.transformersByTag[\"`\"],s=[];let i=null;if(o&&r){const t=new RegExp(o.source,\"g\"),e=Array.from(n.matchAll(t));for(const t of e){const e=t.index+t[1].length,n=t.index+t[0].length;i||(i={content:t[3],endIndex:n,startIndex:e,tag:\"`\"}),s.push({end:n,start:e})}}const l=function(t,e,n=[]){const o=[],r=new Set(Object.keys(e.transformersByTag).filter(t=>\"`\"!==t[0]).map(t=>t[0])),s=e=>{let n=0;for(let o=e-1;o>=0&&\"\\\\\"===t[o];o--)n++;return n%2==1},i=t=>n.some(e=>t>=e.start&&t<e.end);let l=0;for(;l<t.length;){const e=t[l];if(!r.has(e)||s(l)||i(l)){l++;continue}let n=1;for(;l+n<t.length&&t[l+n]===e;)n++;const c=lt(e,t,l,n,!0),a=lt(e,t,l,n,!1);(c||a)&&o.push({active:!0,canClose:a,canOpen:c,char:e,index:l,length:n,originalLength:n}),l+=n}return o}(n,e,s),c=l.length>0?function(t,e,n){const o={};let r=0,s=null;for(;r<e.length;){const i=e[r];if(!i.active||!i.canClose||0===i.length){r++;continue}const l=`${i.char}${i.canOpen}`,c=o[l]??-1;let a=!1;for(let o=r-1;o>c;o--){const l=e[o];if(!l.active||!l.canOpen||0===l.length||l.char!==i.char)continue;if(l.canClose||i.canOpen){if((l.originalLength+i.originalLength)%3==0&&l.originalLength%3!=0&&i.originalLength%3!=0)continue}const c=Math.min(l.length,i.length),f=Object.keys(n.transformersByTag).filter(t=>t[0]===l.char&&t.length<=c).sort((t,e)=>e.length-t.length)[0];if(!f)continue;a=!0;const u=f.length,g={content:t.slice(l.index+l.length,i.index),endIndex:i.index+u,startIndex:l.index+(l.length-u),tag:f};(!s||g.startIndex<s.startIndex||g.startIndex===s.startIndex&&g.endIndex>s.endIndex)&&(s=g);for(let t=o+1;t<r;t++)e[t].active=!1;l.length-=u,i.length-=u,l.active=l.length>0,i.length>0?i.index+=u:(i.active=!1,r++);break}a||(o[l]=r-1,i.canOpen||(i.active=!1),r++)}return s}(n,l,e):null;let a=null,f=null;if(i&&c?c.startIndex<=i.startIndex&&c.endIndex>=i.endIndex?(a=c,f=e.transformersByTag[c.tag]):(a=i,f=r):i?(a=i,f=r):c&&(a=c,f=e.transformersByTag[c.tag]),!a||!f)return null;const u=[n.slice(a.startIndex,a.endIndex),a.tag,a.content];return u.index=a.startIndex,u.input=n,{endIndex:a.endIndex,match:u,startIndex:a.startIndex,transformer:f}}function lt(t,e,n,o,r){if(!ct(e,n,o,r))return!1;if(\"*\"===t)return!0;if(\"_\"===t){if(!ct(e,n,o,!r))return!0;const t=r?e[n-1]:e[n+o];return void 0!==t&&V.test(t)}return!0}function ct(t,e,n,o){const r=t[e-1],s=t[e+n],[i,l]=o?[s,r]:[r,s];return void 0!==i&&!Q.test(i)&&(!V.test(i)||(void 0===l||Q.test(l)||V.test(l)))}function at(t){return e(t)&&!t.hasFormat(\"code\")}function ft(t,e,n){let o=it(t,e),r=function(t,e){const n=t;let o,r,s,i;for(const t of e){if(!t.replace||!t.importRegExp)continue;const e=n.getTextContent().match(t.importRegExp);if(!e)continue;const l=e.index||0,c=t.getEndIndex?t.getEndIndex(n,e):l+e[0].length;!1!==c&&(void 0===o||void 0===r||l<o&&(c>r||c<=o))&&(o=l,r=c,s=t,i=e)}return void 0===o||void 0===r||void 0===s||void 0===i?null:{endIndex:r,match:i,startIndex:o,transformer:s}}(t,n);if(o&&r&&(o.startIndex<=r.startIndex&&o.endIndex>=r.endIndex||r.startIndex>o.endIndex?r=null:o=null),o){const r=function(t,e,n,o,r){const s=t.getTextContent();let i,l,c;if(r[0]===s?i=t:0===e?[i,l]=t.splitText(n):[c,i,l]=t.splitText(e,n),i.setTextContent(r[2]),o)for(const t of o.format)i.hasFormat(t)||i.toggleFormat(t);return{nodeAfter:l,nodeBefore:c,transformedNode:i}}(t,o.startIndex,o.endIndex,o.transformer,o.match);at(r.nodeAfter)&&ft(r.nodeAfter,e,n),at(r.nodeBefore)&&ft(r.nodeBefore,e,n),at(r.transformedNode)&&ft(r.transformedNode,e,n)}else if(r){const o=function(t,e,n,o,r){let s,i,l;return 0===e?[s,i]=t.splitText(n):[l,s,i]=t.splitText(e,n),o.replace?{nodeAfter:i,nodeBefore:l,transformedNode:o.replace(s,r)||void 0}:null}(t,r.startIndex,r.endIndex,r.transformer,r.match);if(!o)return;at(o.nodeAfter)&&ft(o.nodeAfter,e,n),at(o.nodeBefore)&&ft(o.nodeBefore,e,n),at(o.transformedNode)&&ft(o.transformedNode,e,n)}const s=Z(t.getTextContent());t.setTextContent(s)}function ut(t,e=!1){const r=H(t),s=function(t){const e={},n={},o=[];for(const r of t){const{tag:t}=r;e[t]=r;const s=t.replace(/(\\*|\\^|\\+)/g,\"\\\\$1\");o.push(s),1===t.length?n[t]=\"`\"===t?new RegExp(\"(^|[^\\\\\\\\`])(`)((?:\\\\\\\\`|[^`])+?)(`)(?!`)\"):new RegExp(`(^|[^\\\\\\\\${s}])(${s})((\\\\\\\\${s})?.*?[^${s}\\\\s](\\\\\\\\${s})?)(${s})(?![\\\\\\\\${s}])`):n[t]=new RegExp(`(^|[^\\\\\\\\])(${s})((\\\\\\\\${s})?.*?[^\\\\s](\\\\\\\\${s})?)(${s})(?!\\\\\\\\)`)}return{fullMatchRegExpByTag:n,openTagsRegExp:new RegExp(`(${o.join(\"|\")})`,\"g\"),transformersByTag:e}}(r.textFormat);return(t,l)=>{const c=t.split(\"\\n\"),a=c.length,f=l||n();f.clear();for(let t=0;t<a;t++){const n=c[t],[o,i]=gt(c,t,r.multilineElement,f);o?t=i:dt(n,f,r.element,s,r.textMatch,e)}const u=f.getChildren();for(const t of u)if(!e&&Y(t)&&f.getChildrenSize()>1)t.remove();else if(o(t))for(const e of t.getAllTextNodes())pt(e);null!==i()&&f.selectStart()}}function gt(t,e,n,o){for(const r of n){const{handleImportAfterStartMatch:n,regExpEnd:s,regExpStart:i,replace:l}=r,c=t[e].match(i);if(!c)continue;if(n){const s=n({lines:t,rootNode:o,startLineIndex:e,startMatch:c,transformer:r});if(null===s)continue;if(s)return s}const a=\"object\"==typeof s&&\"regExp\"in s?s.regExp:s,f=s&&\"object\"==typeof s&&\"optional\"in s?s.optional:!s;let u=e;const g=t.length;for(;u<g;){const n=a?t[u].match(a):null;if(!n&&(!f||f&&u<g-1)){u++;continue}if(n&&e===u&&n.index===c.index){u++;continue}const r=[];if(n&&e===u)r.push(t[e].slice(c[0].length,-n[0].length));else for(let o=e;o<=u;o++)if(o===e){const e=t[o].slice(c[0].length);r.push(e)}else if(o===u&&n){const e=t[o].slice(0,-n[0].length);r.push(e)}else r.push(t[o]);if(!1!==l(o,null,c,n,r,!0))return[!0,u];break}}return[!1,e]}function dt(n,o,r,s,i,f){const u=l(n),g=c();g.append(u),o.append(g);for(const{regExp:t,replace:e}of r){const o=n.match(t);if(o&&(u.setTextContent(n.slice(o[0].length)),!1!==e(g,[u],o,!0)))break}if(ft(u,s,i),g.isAttached()&&n.length>0){const n=g.getPreviousSibling();if(!f&&(t(n)||R(n)||S(n))){let t=n;if(S(n)){const e=n.getLastDescendant();t=null==e?null:A(e,w)}if(null!=t&&t.getTextContentSize()>0){const n=t.getLastChild();if(e(n)){const t=n.getTextContent();t.endsWith(\"\\\\\")?n.setTextContent(t.slice(0,-1)):/ {2,}$/.test(t)&&n.setTextContent(t.replace(/ {2,}$/,\"\"))}t.splice(t.getChildrenSize(),0,[a(),...g.getChildren()]),g.remove()}}}}function pt(t){const e=new Set,n=t.getTextContent();let o=n.indexOf(\"\\t\");for(;-1!==o;)e.add(o),e.add(o+1),o=n.indexOf(\"\\t\",o+1);t.splitText(...e).forEach(t=>{\"\\t\"===t.getTextContent()&&t.replace(f())})}function ht(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of e)o.append(\"v\",t);throw n.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const xt=/^(\\s*)(\\d{1,})\\.\\s/,mt=/^(\\s*)[-*+]\\s/,Ct=/^(\\s*)(?:[-*+]\\s)?\\s?(\\[(\\s|x)?\\])\\s/i,Tt=/^(#{1,6})\\s/,$t=/^>\\s/,vt=/^([ \\t]*`{3,})([\\w-]+)?[ \\t]?/,yt=/^[ \\t]*`{3,}$/,Et=/^[ \\t]*```[^`]+(?:(?:`{1,2}|`{4,})[^`]+)*```(?:[^`]|$)/,It=/^(?:\\|)(.+)(?:\\|)\\s?$/,bt=/^(\\| ?:?-*:? ?)+\\|\\s?$/,St=/^<[a-z_][\\w-]*(?:\\s[^<>]*)?\\/?>/i,wt=/^<\\/[a-z_][\\w-]*\\s*>/i,Nt=t=>new RegExp(`(?:${t.source})$`,t.flags),Ft=u(\"mdListMarker\",{parse:t=>\"string\"==typeof t&&/^[-*+]$/.test(t)?t:\"-\",resetOnCopyNode:!0}),Lt=u(\"mdCodeFence\",{parse:t=>\"string\"==typeof t&&/^`{3,}$/.test(t)?t:\"```\",resetOnCopyNode:!0}),kt=t=>(e,n,o,r)=>{const s=t(o);s.append(...n),e.replace(s),r||s.select(0,0)};const Rt=t=>(e,n,o,r)=>{const s=e.getPreviousSibling(),i=e.getNextSibling(),l=L(\"check\"===t?\"x\"===o[3]:void 0),c=o[0].trim()[0],a=\"bullet\"!==t&&\"check\"!==t||c!==Ft.parse(c)?void 0:c;if(S(i)&&i.getListType()===t){a&&g(i,Ft,a);const t=i.getFirstChild();null!==t?t.insertBefore(l):i.append(l),e.remove()}else if(S(s)&&s.getListType()===t)a&&g(s,Ft,a),s.append(l),e.remove();else{const n=k(t,\"number\"===t?Number(o[2]):void 0);a&&g(n,Ft,a),n.append(l),e.replace(n)}l.append(...n),r||l.select(0,0);const f=function(t){const e=t.match(/\\t/g),n=t.match(/ /g);let o=0;return e&&(o+=e.length),n&&(o+=Math.floor(n.length/4)),o}(o[1]);f&&l.setIndent(f)},Mt=(t,e,n)=>{const o=[],r=t.getChildren();let s=0;for(const i of r)if(w(i)){if(1===i.getChildrenSize()){const t=i.getFirstChild();if(S(t)){o.push(Mt(t,e,n+1));continue}}const r=\" \".repeat(4*n),l=t.getListType(),c=d(t,Ft),a=\"number\"===l?`${t.getStart()+s}. `:\"check\"===l?`${c} [${i.getChecked()?\"x\":\" \"}] `:c+\" \";let f=e(i);\"number\"!==l&&(f=f.replace(/^(\\s{0,3}\\d+)(\\.\\s)/,\"$1\\\\$2\")),o.push(r+a+f),s++}return o.join(\"\\n\")},_t={dependencies:[M],export:(t,e)=>{if(!B(t))return null;const n=Number(t.getTag().slice(1));return\"#\".repeat(n)+\" \"+e(t)},regExp:Tt,replace:kt(t=>{const e=\"h\"+t[1].length;return j(e)}),type:\"element\"},Bt={dependencies:[_],export:(t,e)=>{if(!R(t))return null;const n=e(t).split(\"\\n\"),o=[];for(const t of n)o.push(\"> \"+t);return o.join(\"\\n\")},regExp:$t,replace:(t,e,n,o)=>{if(o){const n=t.getPreviousSibling();if(R(n))return n.splice(n.getChildrenSize(),0,[a(),...e]),void t.remove()}const r=O();r.append(...e),t.replace(r),o||r.select(0,0)},type:\"element\"},Ot={dependencies:[P],export:t=>{if(!U(t))return null;const e=t.getTextContent();let n=d(t,Lt);if(e.indexOf(n)>-1){const t=e.match(/`{3,}/g);if(t){const e=Math.max(...t.map(t=>t.length));n=\"`\".repeat(e+1)}}return n+(t.getLanguage()||\"\")+(e?\"\\n\"+e:\"\")+\"\\n\"+n},handleImportAfterStartMatch:({lines:t,rootNode:e,startLineIndex:n,startMatch:o})=>{const r=o[1],s=r.trim().length,i=t[n],l=o.index+r.length,c=i.slice(l),a=new RegExp(`\\`{${s},}$`);if(a.test(c)){const t=c.match(a),r=c.slice(0,c.lastIndexOf(t[0])),s=[...o];return s[2]=\"\",Ot.replace(e,null,s,t,[r],!0),[!0,n]}const f=new RegExp(`^[ \\\\t]*\\`{${s},}$`);for(let r=n+1;r<t.length;r++){const s=t[r];if(f.test(s)){const l=s.match(f),c=t.slice(n+1,r),a=i.slice(o[0].length);return a.length>0&&c.unshift(a),Ot.replace(e,null,o,l,c,!0),[!0,r]}}const u=t.slice(n+1),g=i.slice(o[0].length);return g.length>0&&u.unshift(g),Ot.replace(e,null,o,null,u,!0),[!0,t.length-1]},regExpEnd:{optional:!0,regExp:yt},regExpStart:vt,replace:(t,e,n,o,r,s)=>{let i,c;const a=n[1]?n[1].trim():\"```\",f=n[2]||void 0;if(!e&&r){if(1===r.length)o?(i=z(f),c=r[0]):(i=z(f),c=r[0].startsWith(\" \")?r[0].slice(1):r[0]);else{for(i=z(f),r.length>0&&(0===r[0].trim().length?r.shift():r[0].startsWith(\" \")&&(r[0]=r[0].slice(1)));r.length>0&&!r[r.length-1].length;)r.pop();c=r.join(\"\\n\")}g(i,Lt,a);const e=l(c);i.append(e),t.append(i)}else e&&kt(t=>z(t?t[2]:void 0))(t,e,n,s)},type:\"multiline-element\"},jt={dependencies:[N,F],export:(t,e)=>S(t)?Mt(t,e,0):null,regExp:mt,replace:Rt(\"bullet\"),type:\"element\"},At={dependencies:[N,F],export:(t,e)=>S(t)?Mt(t,e,0):null,regExp:Ct,replace:Rt(\"check\"),type:\"element\"},Pt={dependencies:[N,F],export:(t,e)=>S(t)?Mt(t,e,0):null,regExp:xt,replace:Rt(\"number\"),type:\"element\"},zt={format:[\"code\"],tag:\"`\",type:\"text-format\"},Ut={format:[\"highlight\"],tag:\"==\",type:\"text-format\"},Wt={format:[\"bold\",\"italic\"],tag:\"***\",type:\"text-format\"},Dt={format:[\"bold\",\"italic\"],intraword:!1,tag:\"___\",type:\"text-format\"},Kt={format:[\"bold\"],tag:\"**\",type:\"text-format\"},qt={format:[\"bold\"],intraword:!1,tag:\"__\",type:\"text-format\"},Gt={format:[\"strikethrough\"],tag:\"~~\",type:\"text-format\"},Ht={format:[\"italic\"],tag:\"*\",type:\"text-format\"},Jt={format:[\"italic\"],intraword:!1,tag:\"_\",type:\"text-format\"},Qt={dependencies:[W],export:(t,e,n)=>{if(!D(t)||q(t))return null;const o=e(t);let r=t.getTitle();null!=r&&(r=r.replace(/([\\\\\"])/g,\"\\\\$1\"));return r?`[${o}](${t.getURL()} \"${r}\")`:`[${o}](${t.getURL()})`},importRegExp:/(?:\\[(.+?)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))/,regExp:/(?:\\[([^[\\]]*(?:\\[[^[\\]]*\\][^[\\]]*)*)\\])(?:\\((?:([^()\\s]+)(?:\\s\"((?:[^\"]*\\\\\")*[^\"]*)\"\\s*)?)\\))$/,replace:(t,e)=>{if(p(t,D))return;const[,n,o,r]=e,s=null!=o?Z(o):void 0,i=null!=r?Z(r):void 0,c=K(s,{title:i}),a=n.split(\"[\").length-1,f=n.split(\"]\").length-1;let u=n,g=\"\";if(a<f)return;if(a>f){const t=n.split(\"[\");g=\"[\"+t[0],u=t.slice(1).join(\"[\")}const d=l(u);return d.setFormat(t.getFormat()),c.append(d),t.replace(c),g&&c.insertBefore(l(g)),d},trigger:\")\",type:\"text-match\"},Vt=[_t,Bt,jt,Pt],Xt=[Ot],Yt=[zt,Wt,Dt,Kt,qt,Ut,Ht,Jt,Gt],Zt=[Qt],te=[...Vt,...Xt,...Yt,...Zt];function ee(t,e,n,o,r){const s=t.getParent();if(!E(s)||t.getFirstChild()!==e)return!1;const i=e.getTextContent();if(!r&&\" \"!==i[n-1])return!1;for(const{regExpStart:s,replace:l,regExpEnd:c}of o){if(c&&!(\"optional\"in c)||c&&\"optional\"in c&&!c.optional)continue;const o=i.match(s);if(o){const s=r||o[0].endsWith(\" \")?n:n-1;if(o[0].length!==s)continue;const i=e.getNextSiblings(),[c,a]=e.splitText(n);if(!1!==l(t,a?[a,...i]:i,o,null,null,!1))return c.remove(),!0}}return!1}function ne(t,e){let n=0;const o=t.getTextContent();for(let t=0;t<e;t++)\"`\"===o[t]&&n++;return n%2!=0}function oe(t,e,n){const o=n.length;for(let r=e;r>=o;r--){const e=r-o;if(re(t,e,n,0,o)&&\" \"!==t[e+o])return e}return-1}function re(t,e,n,o,r){for(let s=0;s<r;s++)if(t[e+s]!==n[o+s])return!1;return!0}function se(t,n=te){const o=H(n),r=G(o.textFormat,({tag:t})=>t[t.length-1]),l=G(o.textMatch,({trigger:t})=>t);for(const e of n){const n=e.type;if(\"element\"===n||\"text-match\"===n||\"multiline-element\"===n){const n=e.dependencies;for(const e of n)t.hasNode(e)||ht(173,e.getType())}}const c=(t,n,c)=>!!function(t,e,n,o){const r=t.getParent();if(!E(r)||t.getFirstChild()!==e)return!1;const s=e.getTextContent();if(\" \"!==s[n-1])return!1;for(const{regExp:r,replace:i}of o){const o=s.match(r);if(o&&o[0].length===(o[0].endsWith(\" \")?n:n-1)){const r=e.getNextSiblings(),[s,l]=e.splitText(n);if(!1!==i(t,l?[l,...r]:r,o,!1))return s.remove(),!0}}return!1}(t,n,c,o.element)||(!!ee(t,n,c,o.multilineElement)||(!!function(t,e,n){let o=t.getTextContent();const r=n[o[e-1]];if(null==r)return!1;e<o.length&&(o=o.slice(0,e));for(const e of r){if(!e.replace||!e.regExp)continue;const n=o.match(e.regExp);if(null===n)continue;const r=n.index||0,s=r+n[0].length;let i;return 0===r?[i]=t.splitText(s):[,i]=t.splitText(r,s),i.selectNext(0,0),e.replace(i,n),!0}return!1}(n,c,l)||!!function(t,n,o){const r=t.getTextContent(),l=n-1,c=r[l],a=o[c];if(!a)return!1;for(const n of a){const{tag:o}=n,a=o.length,f=l-a+1;if(a>1&&!re(r,f,o,0,a))continue;if(\" \"===r[f-1])continue;const u=r[l+1];if(!1===n.intraword&&u&&!J.test(u))continue;const g=t;let d=g,p=oe(r,f,o),h=d;for(;p<0&&(h=h.getPreviousSibling())&&!s(h);)if(e(h)){if(h.hasFormat(\"code\"))continue;const t=h.getTextContent();d=h,p=oe(t,t.length,o)}if(p<0)continue;if(d===g&&p+a===f)continue;const x=d.getTextContent();if(p>0&&x[p-1]===c)continue;const m=x[p-1];if(!1===n.intraword&&m&&!J.test(m))continue;if(!n.format.includes(\"code\")&&ne(d,p))continue;const T=g.getTextContent(),$=T.slice(0,f)+T.slice(l+1);g.setTextContent($);const v=d===g?$:x;d.setTextContent(v.slice(0,p)+v.slice(p+a));const y=i(),E=I();b(E);const S=l-a*(d===g?2:1)+1;E.anchor.set(d.__key,p,\"text\"),E.focus.set(g.__key,S,\"text\");for(const t of n.format)E.hasFormat(t)||E.formatText(t);E.anchor.set(E.focus.key,E.focus.offset,E.focus.type);for(const t of n.format)E.hasFormat(t)&&E.toggleFormat(t);return C(y)&&(E.format=y.format),!0}return!1}(n,c,r)));return h(t.registerUpdateListener(({tags:n,dirtyLeaves:o,editorState:r,prevEditorState:s})=>{if(n.has(x)||n.has(m))return;if(t.isComposing())return;const l=r.read(i),a=s.read(i);if(!C(a)||!C(l)||!l.isCollapsed()||l.is(a))return;const f=l.anchor.key,u=l.anchor.offset,g=r._nodeMap.get(f);!e(g)||!o.has(f)||1!==u&&u>a.anchor.offset+1||t.update(()=>{if(!at(g))return;const t=g.getParent();null===t||U(t)||c(t,g,l.anchor.offset)&&T($)})}),t.registerCommand(v,t=>{if(null!==t&&t.shiftKey)return!1;const n=i();if(!C(n)||!n.isCollapsed())return!1;const r=n.anchor.offset,s=n.anchor.getNode();if(!e(s)||!at(s))return!1;const l=s.getParent();if(null===l||U(l))return!1;return r===s.getTextContent().length&&(!!ee(l,s,r,o.multilineElement,!0)&&(null!==t&&t.preventDefault(),!0))},y))}function ie(t,e=te,n,o=!1,r=!1){const s=o?t:function(t,e=!1){const n=t.split(\"\\n\");let o=!1;const r=[];for(let t=0;t<n.length;t++){const s=n[t],i=s.trimEnd(),l=r[r.length-1];Et.test(i)?r.push(i):vt.test(i)||yt.test(i)?(o=!o,r.push(i)):o?r.push(s):\"\"===i||\"\"===l||!l||Tt.test(l)||Tt.test(i)||$t.test(i)||xt.test(i)||mt.test(i)||Ct.test(i)||It.test(i)||bt.test(i)||!e||St.test(i)||wt.test(i)||Nt(wt).test(l)||Nt(St).test(l)||yt.test(l)?r.push(e||\"\"===i?i:s):r[r.length-1]=l+\" \"+i.trimStart()}return r.join(\"\\n\")}(t,r);return ut(e,o)(s,n)}function le(t=te,e,o=!1){const r=function(t,e=!1){const o=H(t),r=[...o.multilineElement,...o.element],s=!e,i=o.textFormat.filter(t=>1===t.format.length).sort((t,e)=>Number(t.format.includes(\"code\"))-Number(e.format.includes(\"code\")));return t=>{const l=[],c=(t||n()).getChildren();for(let t=0;t<c.length;t++){const n=c[t],a=tt(n,r,i,o.textMatch,e);null!=a&&l.push(s&&t>0&&!Y(n)&&!Y(c[t-1])?\"\\n\".concat(a):a)}return l.join(\"\\n\")}}(t,o);return r(e)}export{ie as $convertFromMarkdownString,le as $convertToMarkdownString,Wt as BOLD_ITALIC_STAR,Dt as BOLD_ITALIC_UNDERSCORE,Kt as BOLD_STAR,qt as BOLD_UNDERSCORE,At as CHECK_LIST,Ot as CODE,Vt as ELEMENT_TRANSFORMERS,_t as HEADING,Ut as HIGHLIGHT,zt as INLINE_CODE,Ht as ITALIC_STAR,Jt as ITALIC_UNDERSCORE,Qt as LINK,Xt as MULTILINE_ELEMENT_TRANSFORMERS,Pt as ORDERED_LIST,Bt as QUOTE,Gt as STRIKETHROUGH,Yt as TEXT_FORMAT_TRANSFORMERS,Zt as TEXT_MATCH_TRANSFORMERS,te as TRANSFORMERS,jt as UNORDERED_LIST,se as registerMarkdownShortcuts};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalRichText.dev-DPXfQePC.mjs","names":["paragraph"],"sources":["../../../node_modules/.pnpm/@lexical+rich-text@0.44.0/node_modules/@lexical/rich-text/LexicalRichText.dev.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { $insertDataTransferForRichText, $handleRichTextDrop, setLexicalClipboardDataTransfer, $getClipboardDataFromSelection, $writeDragSourceToDataTransfer, copyToClipboard } from '@lexical/clipboard';\nimport { DragonExtension } from '@lexical/dragon';\nimport { $isParentRTL, $shouldOverrideDefaultCharacterSelection, $moveCharacter } from '@lexical/selection';\nimport { mergeRegister, $findMatchingParent, $handleIndentAndOutdent, objectKlassEquals, addClassNamesToElement, isHTMLElement, $getNearestBlockElementAncestorOrThrow } from '@lexical/utils';\nimport { createCommand, defineExtension, CLICK_COMMAND, $getSelection, $isNodeSelection, COMMAND_PRIORITY_EDITOR, DELETE_CHARACTER_COMMAND, $isRangeSelection, DELETE_WORD_COMMAND, DELETE_LINE_COMMAND, CONTROLLED_TEXT_INSERTION_COMMAND, REMOVE_TEXT_COMMAND, FORMAT_TEXT_COMMAND, FORMAT_ELEMENT_COMMAND, $isElementNode, INSERT_LINE_BREAK_COMMAND, INSERT_PARAGRAPH_COMMAND, INSERT_TAB_COMMAND, $createTabNode, $insertNodes, INDENT_CONTENT_COMMAND, OUTDENT_CONTENT_COMMAND, KEY_ARROW_UP_COMMAND, $getAdjacentNode, $isDecoratorNode, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_BACKSPACE_COMMAND, KEY_DELETE_COMMAND, KEY_ENTER_COMMAND, KEY_ESCAPE_COMMAND, DROP_COMMAND, $getNearestNodeFromDOMNode, $createRangeSelection, $isTextNode, $normalizeSelection__EXPERIMENTAL, $setSelection, DRAGSTART_COMMAND, DRAGOVER_COMMAND, SELECT_ALL_COMMAND, $selectAll, COPY_COMMAND, CUT_COMMAND, PASTE_COMMAND, isDOMNode, isSelectionCapturedInDecoratorInput, KEY_SPACE_COMMAND, KEY_TAB_COMMAND, ElementNode, $createParagraphNode, $getRoot, $isRootNode, PASTE_TAG, setNodeIndentFromDOM, $applyNodeReplacement } from 'lexical';\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction caretFromPoint(x, y) {\n if (typeof document.caretRangeFromPoint !== 'undefined') {\n const range = document.caretRangeFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.startContainer,\n offset: range.startOffset\n };\n // @ts-ignore\n } else if (document.caretPositionFromPoint !== 'undefined') {\n // @ts-ignore FF - no types\n const range = document.caretPositionFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.offsetNode,\n offset: range.offset\n };\n } else {\n // Gracefully handle IE\n return null;\n }\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst CAN_USE_DOM = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined';\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst documentMode = CAN_USE_DOM && 'documentMode' in document ? document.documentMode : null;\nconst IS_APPLE = CAN_USE_DOM && /Mac|iPod|iPhone|iPad/.test(navigator.platform);\nconst CAN_USE_BEFORE_INPUT = CAN_USE_DOM && 'InputEvent' in window && !documentMode ? 'getTargetRanges' in new window.InputEvent('input') : false;\nconst IS_IOS = CAN_USE_DOM && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\nconst IS_ANDROID = CAN_USE_DOM && /Android/.test(navigator.userAgent);\n\n// Exclude Android — Android WebView's UA contains \"Version/X.X ... Safari/537.36\"\n// which falsely matches the Safari regex, activating wrong composition code paths.\nconst IS_SAFARI = CAN_USE_DOM && /Version\\/[\\d.]+.*Safari/.test(navigator.userAgent) && !IS_ANDROID;\n\n// Keep these in case we need to use them in the future.\n// export const IS_WINDOWS: boolean = CAN_USE_DOM && /Win/.test(navigator.platform);\nconst IS_CHROME = CAN_USE_DOM && /^(?=.*Chrome).*/i.test(navigator.userAgent);\nconst IS_APPLE_WEBKIT = CAN_USE_DOM && /AppleWebKit\\/[\\d.]+/.test(navigator.userAgent) && IS_APPLE && !IS_CHROME;\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst DRAG_DROP_PASTE = createCommand('DRAG_DROP_PASTE_FILE');\n/** @noInheritDoc */\nclass QuoteNode extends ElementNode {\n static getType() {\n return 'quote';\n }\n static clone(node) {\n return new QuoteNode(node.__key);\n }\n\n // View\n\n createDOM(config) {\n const element = document.createElement('blockquote');\n addClassNamesToElement(element, config.theme.quote);\n return element;\n }\n updateDOM(prevNode, dom) {\n return false;\n }\n static importDOM() {\n return {\n blockquote: node => ({\n conversion: $convertBlockquoteElement,\n priority: 0\n })\n };\n }\n exportDOM(editor) {\n const {\n element\n } = super.exportDOM(editor);\n if (isHTMLElement(element)) {\n if (this.isEmpty()) {\n element.append(document.createElement('br'));\n }\n const formatType = this.getFormatType();\n if (formatType) {\n element.style.textAlign = formatType;\n }\n const direction = this.getDirection();\n if (direction) {\n element.dir = direction;\n }\n }\n return {\n element\n };\n }\n static importJSON(serializedNode) {\n return $createQuoteNode().updateFromJSON(serializedNode);\n }\n\n // Mutation\n\n insertNewAfter(_, restoreSelection) {\n const newBlock = $createParagraphNode();\n const direction = this.getDirection();\n newBlock.setDirection(direction);\n this.insertAfter(newBlock, restoreSelection);\n return newBlock;\n }\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n canMergeWhenEmpty() {\n return true;\n }\n}\nfunction $createQuoteNode() {\n return $applyNodeReplacement(new QuoteNode());\n}\nfunction $isQuoteNode(node) {\n return node instanceof QuoteNode;\n}\n/** @noInheritDoc */\nclass HeadingNode extends ElementNode {\n /** @internal */\n __tag;\n static getType() {\n return 'heading';\n }\n static clone(node) {\n return new HeadingNode(node.__tag, node.__key);\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__tag = prevNode.__tag;\n }\n constructor(tag = 'h1', key) {\n super(key);\n this.__tag = tag;\n }\n getTag() {\n return this.getLatest().__tag;\n }\n setTag(tag) {\n const self = this.getWritable();\n self.__tag = tag;\n return self;\n }\n\n // View\n\n createDOM(config) {\n const tag = this.__tag;\n const element = document.createElement(tag);\n const theme = config.theme;\n const classNames = theme.heading;\n if (classNames !== undefined) {\n const className = classNames[tag];\n addClassNamesToElement(element, className);\n }\n return element;\n }\n updateDOM(prevNode, dom, config) {\n return prevNode.__tag !== this.__tag;\n }\n static importDOM() {\n return {\n h1: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n h2: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n h3: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n h4: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n h5: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n h6: node => ({\n conversion: $convertHeadingElement,\n priority: 0\n }),\n p: node => {\n // domNode is a <p> since we matched it by nodeName\n const paragraph = node;\n const firstChild = paragraph.firstChild;\n if (firstChild !== null && isGoogleDocsTitle(firstChild)) {\n return {\n conversion: () => ({\n node: null\n }),\n priority: 3\n };\n }\n return null;\n },\n span: node => {\n if (isGoogleDocsTitle(node)) {\n return {\n conversion: domNode => {\n return {\n node: $createHeadingNode('h1')\n };\n },\n priority: 3\n };\n }\n return null;\n }\n };\n }\n exportDOM(editor) {\n const {\n element\n } = super.exportDOM(editor);\n if (isHTMLElement(element)) {\n if (this.isEmpty()) {\n element.append(document.createElement('br'));\n }\n const formatType = this.getFormatType();\n if (formatType) {\n element.style.textAlign = formatType;\n }\n const direction = this.getDirection();\n if (direction) {\n element.dir = direction;\n }\n }\n return {\n element\n };\n }\n static importJSON(serializedNode) {\n return $createHeadingNode(serializedNode.tag).updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setTag(serializedNode.tag);\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n tag: this.getTag()\n };\n }\n\n // Mutation\n insertNewAfter(selection, restoreSelection = true) {\n const anchorOffet = selection ? selection.anchor.offset : 0;\n const lastDesc = this.getLastDescendant();\n const isAtEnd = !lastDesc || selection && selection.anchor.key === lastDesc.getKey() && anchorOffet === lastDesc.getTextContentSize();\n const newElement = isAtEnd || !selection ? $createParagraphNode() : $createHeadingNode(this.getTag());\n const direction = this.getDirection();\n newElement.setDirection(direction);\n this.insertAfter(newElement, restoreSelection);\n if (anchorOffet === 0 && !this.isEmpty() && selection) {\n const paragraph = $createParagraphNode();\n paragraph.select();\n this.replace(paragraph, true);\n }\n return newElement;\n }\n collapseAtStart() {\n const newElement = !this.isEmpty() ? $createHeadingNode(this.getTag()) : $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => newElement.append(child));\n this.replace(newElement);\n return true;\n }\n extractWithChild() {\n return true;\n }\n}\nfunction isGoogleDocsTitle(domNode) {\n if (domNode.nodeName.toLowerCase() === 'span') {\n return domNode.style.fontSize === '26pt';\n }\n return false;\n}\nfunction $convertHeadingElement(element) {\n const nodeName = element.nodeName.toLowerCase();\n let node = null;\n if (nodeName === 'h1' || nodeName === 'h2' || nodeName === 'h3' || nodeName === 'h4' || nodeName === 'h5' || nodeName === 'h6') {\n node = $createHeadingNode(nodeName);\n if (element.style !== null) {\n setNodeIndentFromDOM(element, node);\n node.setFormat(element.style.textAlign);\n }\n }\n return {\n node\n };\n}\nfunction $convertBlockquoteElement(element) {\n const node = $createQuoteNode();\n if (element.style !== null) {\n node.setFormat(element.style.textAlign);\n setNodeIndentFromDOM(element, node);\n }\n return {\n node\n };\n}\nfunction $createHeadingNode(headingTag = 'h1') {\n return $applyNodeReplacement(new HeadingNode(headingTag));\n}\nfunction $isHeadingNode(node) {\n return node instanceof HeadingNode;\n}\nfunction onPasteForRichText(event, editor) {\n event.preventDefault();\n editor.update(() => {\n const selection = $getSelection();\n const clipboardData = objectKlassEquals(event, InputEvent) || objectKlassEquals(event, KeyboardEvent) ? null : event.clipboardData;\n if (clipboardData != null && selection !== null) {\n $insertDataTransferForRichText(clipboardData, selection, editor);\n }\n }, {\n tag: PASTE_TAG\n });\n}\nasync function onCutForRichText(event, editor) {\n await copyToClipboard(editor, objectKlassEquals(event, ClipboardEvent) ? event : null);\n editor.update(() => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n selection.removeText();\n } else if ($isNodeSelection(selection)) {\n selection.getNodes().forEach(node => node.remove());\n }\n });\n}\n\n// Clipboard may contain files that we aren't allowed to read. While the event is arguably useless,\n// in certain occasions, we want to know whether it was a file transfer, as opposed to text. We\n// control this with the first boolean flag.\nfunction eventFiles(event) {\n let dataTransfer = null;\n if (objectKlassEquals(event, DragEvent)) {\n dataTransfer = event.dataTransfer;\n } else if (objectKlassEquals(event, ClipboardEvent)) {\n dataTransfer = event.clipboardData;\n }\n if (dataTransfer === null) {\n return [false, [], false];\n }\n const types = dataTransfer.types;\n const hasFiles = types.includes('Files');\n const hasContent = types.includes('text/html') || types.includes('text/plain');\n return [hasFiles, Array.from(dataTransfer.files), hasContent];\n}\nfunction $isTargetWithinDecorator(target) {\n const node = $getNearestNodeFromDOMNode(target);\n return $isDecoratorNode(node);\n}\nfunction $isSelectionAtEndOfRoot(selection) {\n const focus = selection.focus;\n return focus.key === 'root' && focus.offset === $getRoot().getChildrenSize();\n}\nfunction $isSelectionCollapsedAtFrontOfIndentedBlock(selection) {\n if (!selection.isCollapsed()) {\n return false;\n }\n const {\n anchor\n } = selection;\n if (anchor.offset !== 0) {\n return false;\n }\n const anchorNode = anchor.getNode();\n if ($isRootNode(anchorNode)) {\n return false;\n }\n const element = $getNearestBlockElementAncestorOrThrow(anchorNode);\n return element.getIndent() > 0 && (element.is(anchorNode) || anchorNode.is(element.getFirstDescendant()));\n}\n\n/**\n * Resets the capitalization of the selection to default.\n * Called when the user presses space, tab, or enter key.\n * @param selection The selection to reset the capitalization of.\n */\nfunction $resetCapitalization(selection) {\n for (const format of ['lowercase', 'uppercase', 'capitalize']) {\n if (selection.hasFormat(format)) {\n selection.toggleFormat(format);\n }\n }\n}\nfunction registerRichText(editor) {\n const removeListener = mergeRegister(editor.registerCommand(CLICK_COMMAND, payload => {\n const selection = $getSelection();\n if ($isNodeSelection(selection)) {\n selection.clear();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DELETE_CHARACTER_COMMAND, isBackward => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n selection.deleteCharacter(isBackward);\n return true;\n } else if ($isNodeSelection(selection)) {\n selection.deleteNodes();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DELETE_WORD_COMMAND, isBackward => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.deleteWord(isBackward);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DELETE_LINE_COMMAND, isBackward => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.deleteLine(isBackward);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(CONTROLLED_TEXT_INSERTION_COMMAND, eventOrText => {\n const selection = $getSelection();\n if (typeof eventOrText === 'string') {\n if (selection !== null) {\n selection.insertText(eventOrText);\n }\n } else {\n if (selection === null) {\n return false;\n }\n const dataTransfer = eventOrText.dataTransfer;\n if (dataTransfer != null) {\n $insertDataTransferForRichText(dataTransfer, selection, editor);\n } else if ($isRangeSelection(selection)) {\n const data = eventOrText.data;\n if (data) {\n selection.insertText(data);\n }\n return true;\n }\n }\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(REMOVE_TEXT_COMMAND, () => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.removeText();\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(FORMAT_TEXT_COMMAND, format => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.formatText(format);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(FORMAT_ELEMENT_COMMAND, format => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection) && !$isNodeSelection(selection)) {\n return false;\n }\n const nodes = selection.getNodes();\n for (const node of nodes) {\n const element = $findMatchingParent(node, parentNode => $isElementNode(parentNode) && !parentNode.isInline());\n if (element !== null) {\n element.setFormat(format);\n }\n }\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(INSERT_LINE_BREAK_COMMAND, selectStart => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.insertLineBreak(selectStart);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(INSERT_PARAGRAPH_COMMAND, () => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n selection.insertParagraph();\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(INSERT_TAB_COMMAND, () => {\n const tabNode = $createTabNode();\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n tabNode.setFormat(selection.format);\n tabNode.setStyle(selection.style);\n }\n $insertNodes([tabNode]);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(INDENT_CONTENT_COMMAND, () => {\n return $handleIndentAndOutdent(block => {\n const indent = block.getIndent();\n block.setIndent(indent + 1);\n });\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(OUTDENT_CONTENT_COMMAND, () => {\n return $handleIndentAndOutdent(block => {\n const indent = block.getIndent();\n if (indent > 0) {\n block.setIndent(Math.max(0, indent - 1));\n }\n });\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ARROW_UP_COMMAND, event => {\n const selection = $getSelection();\n if ($isNodeSelection(selection)) {\n // If selection is on a node, let's try and move selection\n // back to being a range selection.\n const nodes = selection.getNodes();\n if (nodes.length > 0) {\n event.preventDefault();\n nodes[0].selectPrevious();\n return true;\n }\n } else if ($isRangeSelection(selection)) {\n const possibleNode = $getAdjacentNode(selection.focus, true);\n if (!event.shiftKey && $isDecoratorNode(possibleNode) && !possibleNode.isIsolated() && !possibleNode.isInline()) {\n possibleNode.selectPrevious();\n event.preventDefault();\n return true;\n }\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ARROW_DOWN_COMMAND, event => {\n const selection = $getSelection();\n if ($isNodeSelection(selection)) {\n // If selection is on a node, let's try and move selection\n // back to being a range selection.\n const nodes = selection.getNodes();\n if (nodes.length > 0) {\n event.preventDefault();\n nodes[0].selectNext(0, 0);\n return true;\n }\n } else if ($isRangeSelection(selection)) {\n if ($isSelectionAtEndOfRoot(selection)) {\n event.preventDefault();\n return true;\n }\n const possibleNode = $getAdjacentNode(selection.focus, false);\n if (!event.shiftKey && $isDecoratorNode(possibleNode) && !possibleNode.isIsolated() && !possibleNode.isInline()) {\n possibleNode.selectNext();\n event.preventDefault();\n return true;\n }\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ARROW_LEFT_COMMAND, event => {\n const selection = $getSelection();\n if ($isNodeSelection(selection)) {\n // If selection is on a node, let's try and move selection\n // back to being a range selection.\n const nodes = selection.getNodes();\n if (nodes.length > 0) {\n event.preventDefault();\n if ($isParentRTL(nodes[0])) {\n nodes[0].selectNext(0, 0);\n } else {\n nodes[0].selectPrevious();\n }\n return true;\n }\n }\n if (!$isRangeSelection(selection)) {\n return false;\n }\n if ($shouldOverrideDefaultCharacterSelection(selection, true)) {\n const isHoldingShift = event.shiftKey;\n event.preventDefault();\n $moveCharacter(selection, isHoldingShift, true);\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ARROW_RIGHT_COMMAND, event => {\n const selection = $getSelection();\n if ($isNodeSelection(selection)) {\n // If selection is on a node, let's try and move selection\n // back to being a range selection.\n const nodes = selection.getNodes();\n if (nodes.length > 0) {\n event.preventDefault();\n if ($isParentRTL(nodes[0])) {\n nodes[0].selectPrevious();\n } else {\n nodes[0].selectNext(0, 0);\n }\n return true;\n }\n }\n if (!$isRangeSelection(selection)) {\n return false;\n }\n const isHoldingShift = event.shiftKey;\n if ($shouldOverrideDefaultCharacterSelection(selection, false)) {\n event.preventDefault();\n $moveCharacter(selection, isHoldingShift, false);\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_BACKSPACE_COMMAND, event => {\n if ($isTargetWithinDecorator(event.target)) {\n return false;\n }\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n if ($isSelectionCollapsedAtFrontOfIndentedBlock(selection)) {\n event.preventDefault();\n return editor.dispatchCommand(OUTDENT_CONTENT_COMMAND, undefined);\n }\n // Exception handling for iOS native behavior instead of Lexical's behavior when using Korean on iOS devices.\n // more details - https://github.com/facebook/lexical/issues/5841\n if (IS_IOS && navigator.language === 'ko-KR') {\n return false;\n }\n } else if (!$isNodeSelection(selection)) {\n return false;\n }\n event.preventDefault();\n return editor.dispatchCommand(DELETE_CHARACTER_COMMAND, true);\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_DELETE_COMMAND, event => {\n if ($isTargetWithinDecorator(event.target)) {\n return false;\n }\n const selection = $getSelection();\n if (!($isRangeSelection(selection) || $isNodeSelection(selection))) {\n return false;\n }\n event.preventDefault();\n return editor.dispatchCommand(DELETE_CHARACTER_COMMAND, false);\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ENTER_COMMAND, event => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n $resetCapitalization(selection);\n if (event !== null) {\n // If we have beforeinput, then we can avoid blocking\n // the default behavior. This ensures that the iOS can\n // intercept that we're actually inserting a paragraph,\n // and autocomplete, autocapitalize etc work as intended.\n // This can also cause a strange performance issue in\n // Safari, where there is a noticeable pause due to\n // preventing the key down of enter.\n if ((IS_IOS || IS_SAFARI || IS_APPLE_WEBKIT) && CAN_USE_BEFORE_INPUT) {\n return false;\n }\n event.preventDefault();\n if (event.shiftKey) {\n return editor.dispatchCommand(INSERT_LINE_BREAK_COMMAND, false);\n }\n }\n return editor.dispatchCommand(INSERT_PARAGRAPH_COMMAND, undefined);\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_ESCAPE_COMMAND, () => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection)) {\n return false;\n }\n editor.blur();\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DROP_COMMAND, event => {\n const [, files] = eventFiles(event);\n if (files.length > 0) {\n const x = event.clientX;\n const y = event.clientY;\n const eventRange = caretFromPoint(x, y);\n if (eventRange !== null) {\n const {\n offset: domOffset,\n node: domNode\n } = eventRange;\n const node = $getNearestNodeFromDOMNode(domNode);\n if (node !== null) {\n const selection = $createRangeSelection();\n if ($isTextNode(node)) {\n selection.anchor.set(node.getKey(), domOffset, 'text');\n selection.focus.set(node.getKey(), domOffset, 'text');\n } else {\n const parentKey = node.getParentOrThrow().getKey();\n const offset = node.getIndexWithinParent() + 1;\n selection.anchor.set(parentKey, offset, 'element');\n selection.focus.set(parentKey, offset, 'element');\n }\n const normalizedSelection = $normalizeSelection__EXPERIMENTAL(selection);\n $setSelection(normalizedSelection);\n }\n editor.dispatchCommand(DRAG_DROP_PASTE, files);\n }\n event.preventDefault();\n return true;\n }\n return $handleRichTextDrop(event, editor);\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DRAGSTART_COMMAND, event => {\n const [isFileTransfer] = eventFiles(event);\n const selection = $getSelection();\n if (isFileTransfer && !$isRangeSelection(selection)) {\n return false;\n }\n if ($isRangeSelection(selection) && !selection.isCollapsed() && event.dataTransfer !== null) {\n // Populate Lexical's own serialization so custom nodes (images,\n // decorators) survive a drop back into a Lexical editor rather than\n // being downgraded to text/html.\n setLexicalClipboardDataTransfer(event.dataTransfer, $getClipboardDataFromSelection(selection));\n // Mark the drag source so a drop in a different editor can remove\n // the source range to produce cut-and-paste semantics.\n $writeDragSourceToDataTransfer(event.dataTransfer, editor);\n }\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(DRAGOVER_COMMAND, event => {\n const [isFileTransfer] = eventFiles(event);\n const selection = $getSelection();\n if (isFileTransfer && !$isRangeSelection(selection)) {\n return false;\n }\n const x = event.clientX;\n const y = event.clientY;\n const eventRange = caretFromPoint(x, y);\n if (eventRange !== null) {\n const node = $getNearestNodeFromDOMNode(eventRange.node);\n if ($isDecoratorNode(node)) {\n // Show browser caret as the user is dragging the media across the screen. Won't work\n // for DecoratorNode nor it's relevant.\n event.preventDefault();\n }\n }\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(SELECT_ALL_COMMAND, () => {\n $selectAll();\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(COPY_COMMAND, event => {\n copyToClipboard(editor, objectKlassEquals(event, ClipboardEvent) ? event : null);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(CUT_COMMAND, event => {\n onCutForRichText(event, editor);\n return true;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(PASTE_COMMAND, event => {\n const [, files, hasTextContent] = eventFiles(event);\n if (files.length > 0 && !hasTextContent) {\n editor.dispatchCommand(DRAG_DROP_PASTE, files);\n return true;\n }\n\n // if inputs then paste within the input ignore creating a new node on paste event\n if (isDOMNode(event.target) && isSelectionCapturedInDecoratorInput(event.target)) {\n return false;\n }\n const selection = $getSelection();\n if (selection !== null) {\n onPasteForRichText(event, editor);\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_SPACE_COMMAND, _ => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n $resetCapitalization(selection);\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR), editor.registerCommand(KEY_TAB_COMMAND, _ => {\n const selection = $getSelection();\n if ($isRangeSelection(selection)) {\n $resetCapitalization(selection);\n }\n return false;\n }, COMMAND_PRIORITY_EDITOR));\n return removeListener;\n}\n\n/**\n * An extension to register \\@lexical/rich-text behavior and nodes\n * ({@link HeadingNode}, {@link QuoteNode})\n */\nconst RichTextExtension = defineExtension({\n conflictsWith: ['@lexical/plain-text'],\n dependencies: [DragonExtension],\n name: '@lexical/rich-text',\n nodes: () => [HeadingNode, QuoteNode],\n register: registerRichText\n});\n\nexport { $createHeadingNode, $createQuoteNode, $isHeadingNode, $isQuoteNode, DRAG_DROP_PASTE, HeadingNode, QuoteNode, RichTextExtension, eventFiles, registerRichText };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalRichText.node-BEkm_YwY.mjs","names":["mod","mod","mod"],"sources":["../../../node_modules/.pnpm/@lexical+code-core@0.44.0/node_modules/@lexical/code-core/LexicalCodeCore.node.mjs","../../../node_modules/.pnpm/@lexical+link@0.44.0/node_modules/@lexical/link/LexicalLink.node.mjs","../../../node_modules/.pnpm/@lexical+list@0.44.0/node_modules/@lexical/list/LexicalList.node.mjs","../../../node_modules/.pnpm/@lexical+rich-text@0.44.0/node_modules/@lexical/rich-text/LexicalRichText.node.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalCodeCore.dev.mjs') : import('./LexicalCodeCore.prod.mjs'));\nexport const $createCodeHighlightNode = mod.$createCodeHighlightNode;\nexport const $createCodeNode = mod.$createCodeNode;\nexport const $getCodeLineDirection = mod.$getCodeLineDirection;\nexport const $getEndOfCodeInLine = mod.$getEndOfCodeInLine;\nexport const $getFirstCodeNodeOfLine = mod.$getFirstCodeNodeOfLine;\nexport const $getLastCodeNodeOfLine = mod.$getLastCodeNodeOfLine;\nexport const $getStartOfCodeInLine = mod.$getStartOfCodeInLine;\nexport const $isCodeHighlightNode = mod.$isCodeHighlightNode;\nexport const $isCodeNode = mod.$isCodeNode;\nexport const CodeExtension = mod.CodeExtension;\nexport const CodeHighlightNode = mod.CodeHighlightNode;\nexport const CodeNode = mod.CodeNode;\nexport const DEFAULT_CODE_LANGUAGE = mod.DEFAULT_CODE_LANGUAGE;\nexport const getDefaultCodeLanguage = mod.getDefaultCodeLanguage;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalLink.dev.mjs') : import('./LexicalLink.prod.mjs'));\nexport const $createAutoLinkNode = mod.$createAutoLinkNode;\nexport const $createLinkNode = mod.$createLinkNode;\nexport const $isAutoLinkNode = mod.$isAutoLinkNode;\nexport const $isLinkNode = mod.$isLinkNode;\nexport const $toggleLink = mod.$toggleLink;\nexport const AutoLinkExtension = mod.AutoLinkExtension;\nexport const AutoLinkNode = mod.AutoLinkNode;\nexport const ClickableLinkExtension = mod.ClickableLinkExtension;\nexport const LinkExtension = mod.LinkExtension;\nexport const LinkNode = mod.LinkNode;\nexport const TOGGLE_LINK_COMMAND = mod.TOGGLE_LINK_COMMAND;\nexport const createLinkMatcherWithRegExp = mod.createLinkMatcherWithRegExp;\nexport const formatUrl = mod.formatUrl;\nexport const registerAutoLink = mod.registerAutoLink;\nexport const registerClickableLink = mod.registerClickableLink;\nexport const registerLink = mod.registerLink;\nexport const toggleLink = mod.toggleLink;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalList.dev.mjs') : import('./LexicalList.prod.mjs'));\nexport const $createListItemNode = mod.$createListItemNode;\nexport const $createListNode = mod.$createListNode;\nexport const $getListDepth = mod.$getListDepth;\nexport const $handleListInsertParagraph = mod.$handleListInsertParagraph;\nexport const $insertList = mod.$insertList;\nexport const $isListItemNode = mod.$isListItemNode;\nexport const $isListNode = mod.$isListNode;\nexport const $removeList = mod.$removeList;\nexport const CheckListExtension = mod.CheckListExtension;\nexport const INSERT_CHECK_LIST_COMMAND = mod.INSERT_CHECK_LIST_COMMAND;\nexport const INSERT_ORDERED_LIST_COMMAND = mod.INSERT_ORDERED_LIST_COMMAND;\nexport const INSERT_UNORDERED_LIST_COMMAND = mod.INSERT_UNORDERED_LIST_COMMAND;\nexport const ListExtension = mod.ListExtension;\nexport const ListItemNode = mod.ListItemNode;\nexport const ListNode = mod.ListNode;\nexport const REMOVE_LIST_COMMAND = mod.REMOVE_LIST_COMMAND;\nexport const UPDATE_LIST_START_COMMAND = mod.UPDATE_LIST_START_COMMAND;\nexport const insertList = mod.insertList;\nexport const registerCheckList = mod.registerCheckList;\nexport const registerList = mod.registerList;\nexport const registerListStrictIndentTransform = mod.registerListStrictIndentTransform;\nexport const removeList = mod.removeList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalRichText.dev.mjs') : import('./LexicalRichText.prod.mjs'));\nexport const $createHeadingNode = mod.$createHeadingNode;\nexport const $createQuoteNode = mod.$createQuoteNode;\nexport const $isHeadingNode = mod.$isHeadingNode;\nexport const $isQuoteNode = mod.$isQuoteNode;\nexport const DRAG_DROP_PASTE = mod.DRAG_DROP_PASTE;\nexport const HeadingNode = mod.HeadingNode;\nexport const QuoteNode = mod.QuoteNode;\nexport const RichTextExtension = mod.RichTextExtension;\nexport const eventFiles = mod.eventFiles;\nexport const registerRichText = mod.registerRichText;"],"x_google_ignoreList":[0,1,2,3],"mappings":";;;;;;;;AAQA,MAAMA,QAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,OAAO,wCAA+B,OAAO;AAChEA,MAAI;AAC5C,MAAa,kBAAkBA,MAAI;AACEA,MAAI;AACNA,MAAI;AACAA,MAAI;AACLA,MAAI;AACLA,MAAI;AACLA,MAAI;AACxC,MAAa,cAAcA,MAAI;AACFA,MAAI;AACjC,MAAa,oBAAoBA,MAAI;AACrC,MAAa,WAAWA,MAAI;AACSA,MAAI;AACHA,MAAI;;;;;;;;;;ACd1C,MAAMC,QAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,OAAO,oCAA2B,OAAO;AACjEA,MAAI;AACvC,MAAa,kBAAkBA,MAAI;AACnC,MAAa,kBAAkBA,MAAI;AACnC,MAAa,cAAcA,MAAI;AACJA,MAAI;AACEA,MAAI;AACrC,MAAa,eAAeA,MAAI;AACMA,MAAI;AACbA,MAAI;AACjC,MAAa,WAAWA,MAAI;AACOA,MAAI;AACIA,MAAI;AACtBA,MAAI;AACGA,MAAI;AACCA,MAAI;AACbA,MAAI;AACNA,MAAI;;;;;;;;;;ACjB9B,MAAMC,QAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,OAAO,oCAA2B,OAAO;AACpG,MAAa,sBAAsBA,MAAI;AACvC,MAAa,kBAAkBA,MAAI;AACNA,MAAI;AACSA,MAAI;AACnBA,MAAI;AAC/B,MAAa,kBAAkBA,MAAI;AACnC,MAAa,cAAcA,MAAI;AACJA,MAAI;AACGA,MAAI;AACGA,MAAI;AACFA,MAAI;AACFA,MAAI;AACpBA,MAAI;AACjC,MAAa,eAAeA,MAAI;AAChC,MAAa,WAAWA,MAAI;AACOA,MAAI;AACEA,MAAI;AACnBA,MAAI;AACGA,MAAI;AACTA,MAAI;AACiBA,MAAI;AAC3BA,MAAI;;;;;;;;;;ACtB9B,MAAM,MAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,OAAO,wCAA+B,OAAO;AACxG,MAAa,qBAAqB,IAAI;AACtC,MAAa,mBAAmB,IAAI;AACpC,MAAa,iBAAiB,IAAI;AAClC,MAAa,eAAe,IAAI;AACD,IAAI;AACnC,MAAa,cAAc,IAAI;AAC/B,MAAa,YAAY,IAAI;AACI,IAAI;AACX,IAAI;AACE,IAAI"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LexicalRichText.prod-DlfudC5w.mjs","names":["C","mt","g","p","ft","vt","Ct","f","q","Q","l","y","x","D","_","N","w","T","E","F","O","P","A","d","S","M","I","b","K","k","J","m","L","W","R","z","gt","X","a","c","u","Y","B","pt","h","G","V","j","H","U","Z","$","e","et","n","r","o","nt","rt","ot","it","i","st","at","ct","ut","t","ht","lt","dt","v","s"],"sources":["../../../node_modules/.pnpm/@lexical+rich-text@0.44.0/node_modules/@lexical/rich-text/LexicalRichText.prod.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport{$insertDataTransferForRichText as t,$handleRichTextDrop as e,setLexicalClipboardDataTransfer as n,$getClipboardDataFromSelection as r,$writeDragSourceToDataTransfer as o,copyToClipboard as i}from\"@lexical/clipboard\";import{DragonExtension as s}from\"@lexical/dragon\";import{$isParentRTL as a,$shouldOverrideDefaultCharacterSelection as c,$moveCharacter as u}from\"@lexical/selection\";import{mergeRegister as l,$findMatchingParent as d,$handleIndentAndOutdent as m,objectKlassEquals as f,addClassNamesToElement as g,isHTMLElement as p,$getNearestBlockElementAncestorOrThrow as h}from\"@lexical/utils\";import{createCommand as C,defineExtension as v,CLICK_COMMAND as y,$getSelection as x,$isNodeSelection as D,COMMAND_PRIORITY_EDITOR as _,DELETE_CHARACTER_COMMAND as N,$isRangeSelection as w,DELETE_WORD_COMMAND as T,DELETE_LINE_COMMAND as E,CONTROLLED_TEXT_INSERTION_COMMAND as F,REMOVE_TEXT_COMMAND as O,FORMAT_TEXT_COMMAND as P,FORMAT_ELEMENT_COMMAND as A,$isElementNode as S,INSERT_LINE_BREAK_COMMAND as M,INSERT_PARAGRAPH_COMMAND as I,INSERT_TAB_COMMAND as b,$createTabNode as K,$insertNodes as k,INDENT_CONTENT_COMMAND as J,OUTDENT_CONTENT_COMMAND as L,KEY_ARROW_UP_COMMAND as W,$getAdjacentNode as R,$isDecoratorNode as q,KEY_ARROW_DOWN_COMMAND as z,KEY_ARROW_LEFT_COMMAND as X,KEY_ARROW_RIGHT_COMMAND as Y,KEY_BACKSPACE_COMMAND as B,KEY_DELETE_COMMAND as G,KEY_ENTER_COMMAND as V,KEY_ESCAPE_COMMAND as j,DROP_COMMAND as H,$getNearestNodeFromDOMNode as Q,$createRangeSelection as U,$isTextNode as Z,$normalizeSelection__EXPERIMENTAL as $,$setSelection as tt,DRAGSTART_COMMAND as et,DRAGOVER_COMMAND as nt,SELECT_ALL_COMMAND as rt,$selectAll as ot,COPY_COMMAND as it,CUT_COMMAND as st,PASTE_COMMAND as at,isDOMNode as ct,isSelectionCapturedInDecoratorInput as ut,KEY_SPACE_COMMAND as lt,KEY_TAB_COMMAND as dt,ElementNode as mt,$createParagraphNode as ft,$getRoot as gt,$isRootNode as pt,PASTE_TAG as ht,setNodeIndentFromDOM as Ct,$applyNodeReplacement as vt}from\"lexical\";function yt(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const xt=\"undefined\"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,Dt=xt&&\"documentMode\"in document?document.documentMode:null,_t=xt&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Nt=!(!xt||!(\"InputEvent\"in window)||Dt)&&\"getTargetRanges\"in new window.InputEvent(\"input\"),wt=xt&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,Tt=xt&&/Android/.test(navigator.userAgent),Et=xt&&/Version\\/[\\d.]+.*Safari/.test(navigator.userAgent)&&!Tt,Ft=xt&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Ot=xt&&/AppleWebKit\\/[\\d.]+/.test(navigator.userAgent)&&_t&&!Ft,Pt=C(\"DRAG_DROP_PASTE_FILE\");class At extends mt{static getType(){return\"quote\"}static clone(t){return new At(t.__key)}createDOM(t){const e=document.createElement(\"blockquote\");return g(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:kt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(p(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();t&&(e.style.textAlign=t);const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){return St().updateFromJSON(t)}insertNewAfter(t,e){const n=ft(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=ft();return this.getChildren().forEach(e=>t.append(e)),this.replace(t),!0}canMergeWhenEmpty(){return!0}}function St(){return vt(new At)}function Mt(t){return t instanceof At}class It extends mt{__tag;static getType(){return\"heading\"}static clone(t){return new It(t.__tag,t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__tag=t.__tag}constructor(t=\"h1\",e){super(e),this.__tag=t}getTag(){return this.getLatest().__tag}setTag(t){const e=this.getWritable();return e.__tag=t,e}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];g(n,t)}return n}updateDOM(t,e,n){return t.__tag!==this.__tag}static importDOM(){return{h1:t=>({conversion:Kt,priority:0}),h2:t=>({conversion:Kt,priority:0}),h3:t=>({conversion:Kt,priority:0}),h4:t=>({conversion:Kt,priority:0}),h5:t=>({conversion:Kt,priority:0}),h6:t=>({conversion:Kt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&bt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>bt(t)?{conversion:t=>({node:Jt(\"h1\")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(p(e)){this.isEmpty()&&e.append(document.createElement(\"br\"));const t=this.getFormatType();t&&(e.style.textAlign=t);const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){return Jt(t.tag).updateFromJSON(t)}updateFromJSON(t){return super.updateFromJSON(t).setTag(t.tag)}exportJSON(){return{...super.exportJSON(),tag:this.getTag()}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=this.getLastDescendant(),o=!r||t&&t.anchor.key===r.getKey()&&n===r.getTextContentSize()||!t?ft():Jt(this.getTag()),i=this.getDirection();if(o.setDirection(i),this.insertAfter(o,e),0===n&&!this.isEmpty()&&t){const t=ft();t.select(),this.replace(t,!0)}return o}collapseAtStart(){const t=this.isEmpty()?ft():Jt(this.getTag());return this.getChildren().forEach(e=>t.append(e)),this.replace(t),!0}extractWithChild(){return!0}}function bt(t){return\"span\"===t.nodeName.toLowerCase()&&\"26pt\"===t.style.fontSize}function Kt(t){const e=t.nodeName.toLowerCase();let n=null;return\"h1\"!==e&&\"h2\"!==e&&\"h3\"!==e&&\"h4\"!==e&&\"h5\"!==e&&\"h6\"!==e||(n=Jt(e),null!==t.style&&(Ct(t,n),n.setFormat(t.style.textAlign))),{node:n}}function kt(t){const e=St();return null!==t.style&&(e.setFormat(t.style.textAlign),Ct(t,e)),{node:e}}function Jt(t=\"h1\"){return vt(new It(t))}function Lt(t){return t instanceof It}function Wt(t){let e=null;if(f(t,DragEvent)?e=t.dataTransfer:f(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes(\"Files\"),o=n.includes(\"text/html\")||n.includes(\"text/plain\");return[r,Array.from(e.files),o]}function Rt(t){const e=Q(t);return q(e)}function qt(t){for(const e of[\"lowercase\",\"uppercase\",\"capitalize\"])t.hasFormat(e)&&t.toggleFormat(e)}function zt(s){return l(s.registerCommand(y,t=>{const e=x();return!!D(e)&&(e.clear(),!0)},_),s.registerCommand(N,t=>{const e=x();return w(e)?(e.deleteCharacter(t),!0):!!D(e)&&(e.deleteNodes(),!0)},_),s.registerCommand(T,t=>{const e=x();return!!w(e)&&(e.deleteWord(t),!0)},_),s.registerCommand(E,t=>{const e=x();return!!w(e)&&(e.deleteLine(t),!0)},_),s.registerCommand(F,e=>{const n=x();if(\"string\"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,s);else if(w(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0},_),s.registerCommand(O,()=>{const t=x();return!!w(t)&&(t.removeText(),!0)},_),s.registerCommand(P,t=>{const e=x();return!!w(e)&&(e.formatText(t),!0)},_),s.registerCommand(A,t=>{const e=x();if(!w(e)&&!D(e))return!1;const n=e.getNodes();for(const e of n){const n=d(e,t=>S(t)&&!t.isInline());null!==n&&n.setFormat(t)}return!0},_),s.registerCommand(M,t=>{const e=x();return!!w(e)&&(e.insertLineBreak(t),!0)},_),s.registerCommand(I,()=>{const t=x();return!!w(t)&&(t.insertParagraph(),!0)},_),s.registerCommand(b,()=>{const t=K(),e=x();return w(e)&&(t.setFormat(e.format),t.setStyle(e.style)),k([t]),!0},_),s.registerCommand(J,()=>m(t=>{const e=t.getIndent();t.setIndent(e+1)}),_),s.registerCommand(L,()=>m(t=>{const e=t.getIndent();e>0&&t.setIndent(Math.max(0,e-1))}),_),s.registerCommand(W,t=>{const e=x();if(D(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}else if(w(e)){const n=R(e.focus,!0);if(!t.shiftKey&&q(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1},_),s.registerCommand(z,t=>{const e=x();if(D(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}else if(w(e)){if(function(t){const e=t.focus;return\"root\"===e.key&&e.offset===gt().getChildrenSize()}(e))return t.preventDefault(),!0;const n=R(e.focus,!1);if(!t.shiftKey&&q(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1},_),s.registerCommand(X,t=>{const e=x();if(D(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),a(n[0])?n[0].selectNext(0,0):n[0].selectPrevious(),!0}if(!w(e))return!1;if(c(e,!0)){const n=t.shiftKey;return t.preventDefault(),u(e,n,!0),!0}return!1},_),s.registerCommand(Y,t=>{const e=x();if(D(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),a(n[0])?n[0].selectPrevious():n[0].selectNext(0,0),!0}if(!w(e))return!1;const n=t.shiftKey;return!!c(e,!1)&&(t.preventDefault(),u(e,n,!1),!0)},_),s.registerCommand(B,t=>{if(Rt(t.target))return!1;const e=x();if(w(e)){if(function(t){if(!t.isCollapsed())return!1;const{anchor:e}=t;if(0!==e.offset)return!1;const n=e.getNode();if(pt(n))return!1;const r=h(n);return r.getIndent()>0&&(r.is(n)||n.is(r.getFirstDescendant()))}(e))return t.preventDefault(),s.dispatchCommand(L,void 0);if(wt&&\"ko-KR\"===navigator.language)return!1}else if(!D(e))return!1;return t.preventDefault(),s.dispatchCommand(N,!0)},_),s.registerCommand(G,t=>{if(Rt(t.target))return!1;const e=x();return!(!w(e)&&!D(e))&&(t.preventDefault(),s.dispatchCommand(N,!1))},_),s.registerCommand(V,t=>{const e=x();if(!w(e))return!1;if(qt(e),null!==t){if((wt||Et||Ot)&&Nt)return!1;if(t.preventDefault(),t.shiftKey)return s.dispatchCommand(M,!1)}return s.dispatchCommand(I,void 0)},_),s.registerCommand(j,()=>{const t=x();return!!w(t)&&(s.blur(),!0)},_),s.registerCommand(H,t=>{const[,n]=Wt(t);if(n.length>0){const e=yt(t.clientX,t.clientY);if(null!==e){const{offset:t,node:r}=e,o=Q(r);if(null!==o){const e=U();if(Z(o))e.anchor.set(o.getKey(),t,\"text\"),e.focus.set(o.getKey(),t,\"text\");else{const t=o.getParentOrThrow().getKey(),n=o.getIndexWithinParent()+1;e.anchor.set(t,n,\"element\"),e.focus.set(t,n,\"element\")}const n=$(e);tt(n)}s.dispatchCommand(Pt,n)}return t.preventDefault(),!0}return e(t,s)},_),s.registerCommand(et,t=>{const[e]=Wt(t),i=x();return!(e&&!w(i))&&(w(i)&&!i.isCollapsed()&&null!==t.dataTransfer&&(n(t.dataTransfer,r(i)),o(t.dataTransfer,s)),!0)},_),s.registerCommand(nt,t=>{const[e]=Wt(t),n=x();if(e&&!w(n))return!1;const r=yt(t.clientX,t.clientY);if(null!==r){const e=Q(r.node);q(e)&&t.preventDefault()}return!0},_),s.registerCommand(rt,()=>(ot(),!0),_),s.registerCommand(it,t=>(i(s,f(t,ClipboardEvent)?t:null),!0),_),s.registerCommand(st,t=>(async function(t,e){await i(e,f(t,ClipboardEvent)?t:null),e.update(()=>{const t=x();w(t)?t.removeText():D(t)&&t.getNodes().forEach(t=>t.remove())})}(t,s),!0),_),s.registerCommand(at,e=>{const[,n,r]=Wt(e);if(n.length>0&&!r)return s.dispatchCommand(Pt,n),!0;if(ct(e.target)&&ut(e.target))return!1;return null!==x()&&(function(e,n){e.preventDefault(),n.update(()=>{const r=x(),o=f(e,InputEvent)||f(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)},{tag:ht})}(e,s),!0)},_),s.registerCommand(lt,t=>{const e=x();return w(e)&&qt(e),!1},_),s.registerCommand(dt,t=>{const e=x();return w(e)&&qt(e),!1},_))}const Xt=v({conflictsWith:[\"@lexical/plain-text\"],dependencies:[s],name:\"@lexical/rich-text\",nodes:()=>[It,At],register:zt});export{Jt as $createHeadingNode,St as $createQuoteNode,Lt as $isHeadingNode,Mt as $isQuoteNode,Pt as DRAG_DROP_PASTE,It as HeadingNode,At as QuoteNode,Xt as RichTextExtension,Wt as eventFiles,zt as registerRichText};\n"],"x_google_ignoreList":[0],"mappings":"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"}