@mx-space/cli 0.1.1 → 0.2.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 (235) hide show
  1. package/README.md +101 -28
  2. package/ROADMAP.md +4 -3
  3. package/dist/{Lexical.dev-DpU35QTu.mjs → Lexical.dev-CMevU1DO.mjs} +1 -1
  4. package/dist/{Lexical.dev-DpU35QTu.mjs.map → Lexical.dev-CMevU1DO.mjs.map} +1 -1
  5. package/dist/{Lexical.node-gYNDt_p9.mjs → Lexical.node-BR9e7Cyk.mjs} +2 -2
  6. package/dist/{Lexical.node-gYNDt_p9.mjs.map → Lexical.node-BR9e7Cyk.mjs.map} +1 -1
  7. package/dist/{Lexical.prod-t4c3bHV3.mjs → Lexical.prod-PUD-z9fY.mjs} +1 -1
  8. package/dist/{Lexical.prod-t4c3bHV3.mjs.map → Lexical.prod-PUD-z9fY.mjs.map} +1 -1
  9. package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs → LexicalClipboard.dev-DZC2zppG.mjs} +6 -6
  10. package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs.map → LexicalClipboard.dev-DZC2zppG.mjs.map} +1 -1
  11. package/dist/{LexicalClipboard.node-0e9GBL1g.mjs → LexicalClipboard.node-e5G1wVGb.mjs} +2 -2
  12. package/dist/{LexicalClipboard.node-0e9GBL1g.mjs.map → LexicalClipboard.node-e5G1wVGb.mjs.map} +1 -1
  13. package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs → LexicalClipboard.prod-DE2azzIb.mjs} +6 -6
  14. package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs.map → LexicalClipboard.prod-DE2azzIb.mjs.map} +1 -1
  15. package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs → LexicalCodeCore.dev-gs--x55I.mjs} +3 -3
  16. package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs.map → LexicalCodeCore.dev-gs--x55I.mjs.map} +1 -1
  17. package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs → LexicalCodeCore.prod-DPHOnyEj.mjs} +3 -3
  18. package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs.map → LexicalCodeCore.prod-DPHOnyEj.mjs.map} +1 -1
  19. package/dist/{LexicalDragon.dev-CAggdFh_.mjs → LexicalDragon.dev-CVe8bzVN.mjs} +3 -3
  20. package/dist/{LexicalDragon.dev-CAggdFh_.mjs.map → LexicalDragon.dev-CVe8bzVN.mjs.map} +1 -1
  21. package/dist/{LexicalDragon.node-QMR_wqJg.mjs → LexicalDragon.node-c7EHvcnK.mjs} +2 -2
  22. package/dist/{LexicalDragon.node-QMR_wqJg.mjs.map → LexicalDragon.node-c7EHvcnK.mjs.map} +1 -1
  23. package/dist/{LexicalDragon.prod-OssQhwS-.mjs → LexicalDragon.prod-D6KvqyLD.mjs} +3 -3
  24. package/dist/{LexicalDragon.prod-OssQhwS-.mjs.map → LexicalDragon.prod-D6KvqyLD.mjs.map} +1 -1
  25. package/dist/{LexicalExtension.dev-CtDZiMCU.mjs → LexicalExtension.dev-PDo8HyEw.mjs} +3 -3
  26. package/dist/{LexicalExtension.dev-CtDZiMCU.mjs.map → LexicalExtension.dev-PDo8HyEw.mjs.map} +1 -1
  27. package/dist/{LexicalExtension.node-BM0gh8zu.mjs → LexicalExtension.node-BKzjRb-0.mjs} +2 -2
  28. package/dist/{LexicalExtension.node-BM0gh8zu.mjs.map → LexicalExtension.node-BKzjRb-0.mjs.map} +1 -1
  29. package/dist/{LexicalExtension.prod-Ug6emhEO.mjs → LexicalExtension.prod-D0x_lX7q.mjs} +3 -3
  30. package/dist/{LexicalExtension.prod-Ug6emhEO.mjs.map → LexicalExtension.prod-D0x_lX7q.mjs.map} +1 -1
  31. package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs → LexicalHeadless.dev-DBKcW82j.mjs} +2 -2
  32. package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs.map → LexicalHeadless.dev-DBKcW82j.mjs.map} +1 -1
  33. package/dist/{LexicalHeadless.prod-jeN65B3k.mjs → LexicalHeadless.prod-D4nEh7cR.mjs} +2 -2
  34. package/dist/{LexicalHeadless.prod-jeN65B3k.mjs.map → LexicalHeadless.prod-D4nEh7cR.mjs.map} +1 -1
  35. package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs → LexicalHtml.dev-vsWW05es.mjs} +4 -4
  36. package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs.map → LexicalHtml.dev-vsWW05es.mjs.map} +1 -1
  37. package/dist/{LexicalHtml.node-DLtAh00E.mjs → LexicalHtml.node-CpibAfba.mjs} +2 -2
  38. package/dist/{LexicalHtml.node-DLtAh00E.mjs.map → LexicalHtml.node-CpibAfba.mjs.map} +1 -1
  39. package/dist/{LexicalHtml.prod-DdLE1HHT.mjs → LexicalHtml.prod-Bqz-3WAp.mjs} +4 -4
  40. package/dist/{LexicalHtml.prod-DdLE1HHT.mjs.map → LexicalHtml.prod-Bqz-3WAp.mjs.map} +1 -1
  41. package/dist/{LexicalLink.dev-DK87Biuy.mjs → LexicalLink.dev-BO0J0B1E.mjs} +4 -4
  42. package/dist/{LexicalLink.dev-DK87Biuy.mjs.map → LexicalLink.dev-BO0J0B1E.mjs.map} +1 -1
  43. package/dist/{LexicalLink.prod-fssuv6Sf.mjs → LexicalLink.prod-D66AhUCZ.mjs} +4 -4
  44. package/dist/{LexicalLink.prod-fssuv6Sf.mjs.map → LexicalLink.prod-D66AhUCZ.mjs.map} +1 -1
  45. package/dist/{LexicalList.dev-BJ4dr_rk.mjs → LexicalList.dev-DVGTWRk0.mjs} +4 -4
  46. package/dist/{LexicalList.dev-BJ4dr_rk.mjs.map → LexicalList.dev-DVGTWRk0.mjs.map} +1 -1
  47. package/dist/{LexicalList.prod-jWBbaWfi.mjs → LexicalList.prod-Bao7NGl7.mjs} +4 -4
  48. package/dist/{LexicalList.prod-jWBbaWfi.mjs.map → LexicalList.prod-Bao7NGl7.mjs.map} +1 -1
  49. package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs → LexicalMarkdown.dev-CRWkZwlp.mjs} +4 -4
  50. package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs.map → LexicalMarkdown.dev-CRWkZwlp.mjs.map} +1 -1
  51. package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs → LexicalMarkdown.prod-tGG6js4r.mjs} +4 -4
  52. package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs.map → LexicalMarkdown.prod-tGG6js4r.mjs.map} +1 -1
  53. package/dist/{LexicalRichText.dev-CrSqq3K-.mjs → LexicalRichText.dev-DPXfQePC.mjs} +6 -6
  54. package/dist/{LexicalRichText.dev-CrSqq3K-.mjs.map → LexicalRichText.dev-DPXfQePC.mjs.map} +1 -1
  55. package/dist/{LexicalRichText.node-B7k7wlQz.mjs → LexicalRichText.node-BEkm_YwY.mjs} +5 -5
  56. package/dist/{LexicalRichText.node-B7k7wlQz.mjs.map → LexicalRichText.node-BEkm_YwY.mjs.map} +1 -1
  57. package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs → LexicalRichText.prod-DlfudC5w.mjs} +6 -6
  58. package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs.map → LexicalRichText.prod-DlfudC5w.mjs.map} +1 -1
  59. package/dist/{LexicalSelection.dev-sNOHKHe_.mjs → LexicalSelection.dev-BVTArZ-b.mjs} +2 -2
  60. package/dist/{LexicalSelection.dev-sNOHKHe_.mjs.map → LexicalSelection.dev-BVTArZ-b.mjs.map} +1 -1
  61. package/dist/{LexicalSelection.node-Di7GwBCZ.mjs → LexicalSelection.node-CQ8iTYsz.mjs} +2 -2
  62. package/dist/{LexicalSelection.node-Di7GwBCZ.mjs.map → LexicalSelection.node-CQ8iTYsz.mjs.map} +1 -1
  63. package/dist/{LexicalSelection.prod-SWllPJop.mjs → LexicalSelection.prod-BZKGGs-G.mjs} +2 -2
  64. package/dist/{LexicalSelection.prod-SWllPJop.mjs.map → LexicalSelection.prod-BZKGGs-G.mjs.map} +1 -1
  65. package/dist/{LexicalTable.dev-CQkLHXJx.mjs → LexicalTable.dev-C-AOEpJn.mjs} +5 -5
  66. package/dist/{LexicalTable.dev-CQkLHXJx.mjs.map → LexicalTable.dev-C-AOEpJn.mjs.map} +1 -1
  67. package/dist/{LexicalTable.prod-BtqCwKSi.mjs → LexicalTable.prod-Cyn0qWxZ.mjs} +5 -5
  68. package/dist/{LexicalTable.prod-BtqCwKSi.mjs.map → LexicalTable.prod-Cyn0qWxZ.mjs.map} +1 -1
  69. package/dist/{LexicalUtils.dev-DiUpsXE8.mjs → LexicalUtils.dev-DRRDyAlS.mjs} +3 -3
  70. package/dist/{LexicalUtils.dev-DiUpsXE8.mjs.map → LexicalUtils.dev-DRRDyAlS.mjs.map} +1 -1
  71. package/dist/{LexicalUtils.node-CmK462d1.mjs → LexicalUtils.node-Dz-HANi6.mjs} +2 -2
  72. package/dist/{LexicalUtils.node-CmK462d1.mjs.map → LexicalUtils.node-Dz-HANi6.mjs.map} +1 -1
  73. package/dist/{LexicalUtils.prod-bWwV4GAF.mjs → LexicalUtils.prod-CmeHwh8W.mjs} +3 -3
  74. package/dist/{LexicalUtils.prod-bWwV4GAF.mjs.map → LexicalUtils.prod-CmeHwh8W.mjs.map} +1 -1
  75. package/dist/{auth-OeKZZ_2x.mjs → auth-CAKmTDpF.mjs} +11 -11
  76. package/dist/auth-CAKmTDpF.mjs.map +1 -0
  77. package/dist/bin/mxs.d.mts +2 -1
  78. package/dist/bin/mxs.mjs +402 -55
  79. package/dist/bin/mxs.mjs.map +1 -1
  80. package/dist/{config-store-WL7dNMS6.mjs → config-store-B8_9iStL.mjs} +21 -81
  81. package/dist/config-store-B8_9iStL.mjs.map +1 -0
  82. package/dist/{create-Cxnqt_Wt.mjs → create-5wbU7IQh.mjs} +5 -5
  83. package/dist/{create-Cxnqt_Wt.mjs.map → create-5wbU7IQh.mjs.map} +1 -1
  84. package/dist/{create-DUOSAqBm.mjs → create-Bs6K7AyQ.mjs} +3 -3
  85. package/dist/{create-DUOSAqBm.mjs.map → create-Bs6K7AyQ.mjs.map} +1 -1
  86. package/dist/{create-C85MSrtt.mjs → create-DBReocgJ.mjs} +5 -5
  87. package/dist/{create-C85MSrtt.mjs.map → create-DBReocgJ.mjs.map} +1 -1
  88. package/dist/{create-BVHnXtIH.mjs → create-DGVaE0_S.mjs} +4 -4
  89. package/dist/{create-BVHnXtIH.mjs.map → create-DGVaE0_S.mjs.map} +1 -1
  90. package/dist/{create-BWA2WGrW.mjs → create-lLFZuMsz.mjs} +3 -3
  91. package/dist/{create-BWA2WGrW.mjs.map → create-lLFZuMsz.mjs.map} +1 -1
  92. package/dist/{delete-CGy-cV6k.mjs → delete-6tkhHQDp.mjs} +5 -5
  93. package/dist/delete-6tkhHQDp.mjs.map +1 -0
  94. package/dist/{delete-CcyrLNZv.mjs → delete-CRFxitDN.mjs} +6 -6
  95. package/dist/delete-CRFxitDN.mjs.map +1 -0
  96. package/dist/{delete-Cjxehwj7.mjs → delete-DU2Hvsy8.mjs} +5 -5
  97. package/dist/delete-DU2Hvsy8.mjs.map +1 -0
  98. package/dist/{delete-BEXOOFAJ.mjs → delete-nJmHtvfq.mjs} +6 -6
  99. package/dist/delete-nJmHtvfq.mjs.map +1 -0
  100. package/dist/{delete-CKqlAUT8.mjs → delete-tJhXI8s4.mjs} +5 -5
  101. package/dist/delete-tJhXI8s4.mjs.map +1 -0
  102. package/dist/{onboarding-C1t1yoay.mjs → dist-DJF1Ntdn.mjs} +95 -173
  103. package/dist/dist-DJF1Ntdn.mjs.map +1 -0
  104. package/dist/{document-output-C5PWbz2p.mjs → document-output-BFJdwPV0.mjs} +5 -5
  105. package/dist/document-output-BFJdwPV0.mjs.map +1 -0
  106. package/dist/{edit-BuKMUNVC.mjs → edit-BMjTbPQO.mjs} +5 -5
  107. package/dist/edit-BMjTbPQO.mjs.map +1 -0
  108. package/dist/{edit-DFnOnk4i.mjs → edit-BnEmMmv6.mjs} +9 -9
  109. package/dist/edit-BnEmMmv6.mjs.map +1 -0
  110. package/dist/{edit-BRaZ6GGg.mjs → edit-C4vRSmRy.mjs} +9 -9
  111. package/dist/{edit-BRaZ6GGg.mjs.map → edit-C4vRSmRy.mjs.map} +1 -1
  112. package/dist/{edit-t108N11Q.mjs → edit-CQsW5gnk.mjs} +8 -8
  113. package/dist/{edit-t108N11Q.mjs.map → edit-CQsW5gnk.mjs.map} +1 -1
  114. package/dist/{editor-xrF-j3UE.mjs → editor-BIw1ALTF.mjs} +4 -4
  115. package/dist/editor-BIw1ALTF.mjs.map +1 -0
  116. package/dist/{envelope-overlays-DPAlMNW1.mjs → envelope-overlays-DXXygxdF.mjs} +2 -2
  117. package/dist/{envelope-overlays-DPAlMNW1.mjs.map → envelope-overlays-DXXygxdF.mjs.map} +1 -1
  118. package/dist/{get-CwcNFb39.mjs → get-B3Y5hAAO.mjs} +3 -3
  119. package/dist/{get-CwcNFb39.mjs.map → get-B3Y5hAAO.mjs.map} +1 -1
  120. package/dist/{get-DnDvLa9S.mjs → get-C5fmd5Vf.mjs} +4 -4
  121. package/dist/{get-DnDvLa9S.mjs.map → get-C5fmd5Vf.mjs.map} +1 -1
  122. package/dist/{get-Doi-NKAh.mjs → get-Cdp2tmwz.mjs} +6 -6
  123. package/dist/get-Cdp2tmwz.mjs.map +1 -0
  124. package/dist/{get-DxTU7Nom.mjs → get-D18ChSKU.mjs} +3 -3
  125. package/dist/{get-DxTU7Nom.mjs.map → get-D18ChSKU.mjs.map} +1 -1
  126. package/dist/{get-BYoAlJwB.mjs → get-NSHTGu4Y.mjs} +4 -4
  127. package/dist/{get-BYoAlJwB.mjs.map → get-NSHTGu4Y.mjs.map} +1 -1
  128. package/dist/{get-GdRz82RW.mjs → get-XBPJr95m.mjs} +4 -4
  129. package/dist/{get-GdRz82RW.mjs.map → get-XBPJr95m.mjs.map} +1 -1
  130. package/dist/index.d.mts +57 -11
  131. package/dist/index.mjs +11 -10
  132. package/dist/{list-DVunNsXr.mjs → list-B6703n9X.mjs} +3 -3
  133. package/dist/{list-DVunNsXr.mjs.map → list-B6703n9X.mjs.map} +1 -1
  134. package/dist/{list-DN81zVDA.mjs → list-BtNocJhc.mjs} +3 -3
  135. package/dist/{list-DN81zVDA.mjs.map → list-BtNocJhc.mjs.map} +1 -1
  136. package/dist/{list-DHG-MzOM.mjs → list-C9dXrU9H.mjs} +3 -3
  137. package/dist/{list-DHG-MzOM.mjs.map → list-C9dXrU9H.mjs.map} +1 -1
  138. package/dist/{list-CtME3aDw.mjs → list-CcwcYZgN.mjs} +3 -3
  139. package/dist/{list-CtME3aDw.mjs.map → list-CcwcYZgN.mjs.map} +1 -1
  140. package/dist/{list-CLAcZYZ4.mjs → list-Ctc8b5gT.mjs} +3 -3
  141. package/dist/{list-CLAcZYZ4.mjs.map → list-Ctc8b5gT.mjs.map} +1 -1
  142. package/dist/{list-DbNCVZbz.mjs → list-b60JzCTw.mjs} +3 -3
  143. package/dist/{list-DbNCVZbz.mjs.map → list-b60JzCTw.mjs.map} +1 -1
  144. package/dist/{litexml-codec-CDoRloiR.mjs → litexml-codec-CfIxcPG0.mjs} +10 -10
  145. package/dist/{litexml-codec-CDoRloiR.mjs.map → litexml-codec-CfIxcPG0.mjs.map} +1 -1
  146. package/dist/{login-mjliJn8U.mjs → login-bZx4HaVs.mjs} +21 -9
  147. package/dist/{login-mjliJn8U.mjs.map → login-bZx4HaVs.mjs.map} +1 -1
  148. package/dist/logout-C0Dzitsu.mjs +18 -0
  149. package/dist/logout-C0Dzitsu.mjs.map +1 -0
  150. package/dist/ls-wMiTXZPQ.mjs +33 -0
  151. package/dist/ls-wMiTXZPQ.mjs.map +1 -0
  152. package/dist/mark-Dh9BErsf.mjs +29 -0
  153. package/dist/mark-Dh9BErsf.mjs.map +1 -0
  154. package/dist/onboarding-Bw_I8qpf.mjs +214 -0
  155. package/dist/onboarding-Bw_I8qpf.mjs.map +1 -0
  156. package/dist/{output-CTnO1lYt.d.mts → output-D2dDlyV2.d.mts} +1 -1
  157. package/dist/{output-BM7aBFwt.mjs → output-vzequvhd.mjs} +52 -9
  158. package/dist/output-vzequvhd.mjs.map +1 -0
  159. package/dist/{payload-CN11pUto.mjs → payload-CO4zbNr8.mjs} +17 -17
  160. package/dist/payload-CO4zbNr8.mjs.map +1 -0
  161. package/dist/profile-CNe2uWJi.mjs +172 -0
  162. package/dist/profile-CNe2uWJi.mjs.map +1 -0
  163. package/dist/{publish-akQWYsnL.mjs → publish-CzzucXQq.mjs} +4 -4
  164. package/dist/{publish-akQWYsnL.mjs.map → publish-CzzucXQq.mjs.map} +1 -1
  165. package/dist/{publish-CN3NTJ_r.mjs → publish-DRQkpxsz.mjs} +4 -4
  166. package/dist/{publish-CN3NTJ_r.mjs.map → publish-DRQkpxsz.mjs.map} +1 -1
  167. package/dist/{resolve-CyjMlaoJ.mjs → resolve-BYg5Gees.mjs} +5 -5
  168. package/dist/resolve-BYg5Gees.mjs.map +1 -0
  169. package/dist/{resolve-Bw5Po9yK.mjs → resolve-BlpMdnaM.mjs} +4 -4
  170. package/dist/resolve-BlpMdnaM.mjs.map +1 -0
  171. package/dist/{resolve-BogJOR7R.mjs → resolve-CUsHGcb-.mjs} +4 -4
  172. package/dist/resolve-CUsHGcb-.mjs.map +1 -0
  173. package/dist/{resolve-helpers-CahPoJ0Y.mjs → resolve-helpers-CoHYa2uk.mjs} +2 -2
  174. package/dist/{resolve-helpers-CahPoJ0Y.mjs.map → resolve-helpers-CoHYa2uk.mjs.map} +1 -1
  175. package/dist/{resolve-Bp1AfBmM.mjs → resolve-jdb1VqAG.mjs} +5 -5
  176. package/dist/resolve-jdb1VqAG.mjs.map +1 -0
  177. package/dist/rm-D-2iW1Cr.mjs +33 -0
  178. package/dist/rm-D-2iW1Cr.mjs.map +1 -0
  179. package/dist/run-Dnax6uhZ.mjs +130 -0
  180. package/dist/run-Dnax6uhZ.mjs.map +1 -0
  181. package/dist/self-update-CZywTwGd.mjs +1610 -0
  182. package/dist/self-update-CZywTwGd.mjs.map +1 -0
  183. package/dist/{set-ClbrGFGv.mjs → set-Dk28LAy5.mjs} +5 -5
  184. package/dist/set-Dk28LAy5.mjs.map +1 -0
  185. package/dist/{shared-C2EAn5h_.mjs → shared-d0_6ZPn_.mjs} +13 -9
  186. package/dist/shared-d0_6ZPn_.mjs.map +1 -0
  187. package/dist/show-DScu6mXz.mjs +39 -0
  188. package/dist/show-DScu6mXz.mjs.map +1 -0
  189. package/dist/status-8F6tgphP.mjs +23 -0
  190. package/dist/status-8F6tgphP.mjs.map +1 -0
  191. package/dist/{update-dc-72pUN.mjs → update-B1LGxV0n.mjs} +6 -6
  192. package/dist/{update-dc-72pUN.mjs.map → update-B1LGxV0n.mjs.map} +1 -1
  193. package/dist/{update-CHmckeo8.mjs → update-CXetpFT3.mjs} +4 -4
  194. package/dist/{update-CHmckeo8.mjs.map → update-CXetpFT3.mjs.map} +1 -1
  195. package/dist/{update-Duh-iVOZ.mjs → update-Dr4BW8U-.mjs} +6 -6
  196. package/dist/{update-Duh-iVOZ.mjs.map → update-Dr4BW8U-.mjs.map} +1 -1
  197. package/dist/{update-qfiC-9Og.mjs → update-bqcHRJPC.mjs} +6 -6
  198. package/dist/update-bqcHRJPC.mjs.map +1 -0
  199. package/dist/{update-CJjwg09n.mjs → update-dBtzzmkN.mjs} +5 -5
  200. package/dist/update-dBtzzmkN.mjs.map +1 -0
  201. package/dist/use-D7eKESSW.mjs +29 -0
  202. package/dist/use-D7eKESSW.mjs.map +1 -0
  203. package/dist/{whoami-UwcdRchK.mjs → whoami-CKSNd6zL.mjs} +6 -6
  204. package/dist/whoami-CKSNd6zL.mjs.map +1 -0
  205. package/package.json +15 -13
  206. package/LICENSE +0 -33
  207. package/dist/auth-OeKZZ_2x.mjs.map +0 -1
  208. package/dist/chunk-hT5z_Zn9.mjs +0 -35
  209. package/dist/config-store-WL7dNMS6.mjs.map +0 -1
  210. package/dist/delete-BEXOOFAJ.mjs.map +0 -1
  211. package/dist/delete-CGy-cV6k.mjs.map +0 -1
  212. package/dist/delete-CKqlAUT8.mjs.map +0 -1
  213. package/dist/delete-CcyrLNZv.mjs.map +0 -1
  214. package/dist/delete-Cjxehwj7.mjs.map +0 -1
  215. package/dist/document-output-C5PWbz2p.mjs.map +0 -1
  216. package/dist/edit-BuKMUNVC.mjs.map +0 -1
  217. package/dist/edit-DFnOnk4i.mjs.map +0 -1
  218. package/dist/editor-xrF-j3UE.mjs.map +0 -1
  219. package/dist/get-Doi-NKAh.mjs.map +0 -1
  220. package/dist/logout-Bslt_ZJ4.mjs +0 -11
  221. package/dist/logout-Bslt_ZJ4.mjs.map +0 -1
  222. package/dist/onboarding-C1t1yoay.mjs.map +0 -1
  223. package/dist/output-BM7aBFwt.mjs.map +0 -1
  224. package/dist/payload-CN11pUto.mjs.map +0 -1
  225. package/dist/resolve-BogJOR7R.mjs.map +0 -1
  226. package/dist/resolve-Bp1AfBmM.mjs.map +0 -1
  227. package/dist/resolve-Bw5Po9yK.mjs.map +0 -1
  228. package/dist/resolve-CyjMlaoJ.mjs.map +0 -1
  229. package/dist/set-ClbrGFGv.mjs.map +0 -1
  230. package/dist/shared-C2EAn5h_.mjs.map +0 -1
  231. package/dist/status-Cvyrrx-J.mjs +0 -22
  232. package/dist/status-Cvyrrx-J.mjs.map +0 -1
  233. package/dist/update-CJjwg09n.mjs.map +0 -1
  234. package/dist/update-qfiC-9Og.mjs.map +0 -1
  235. package/dist/whoami-UwcdRchK.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalHtml.prod-DdLE1HHT.mjs","names":["O","r","c","s","i","o","u","e","M","w","n","h","d","$","v","l","f","a","t","p","y","g","m","x","S","b"],"sources":["../../../node_modules/.pnpm/@lexical+html@0.44.0/node_modules/@lexical/html/LexicalHtml.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{$sliceSelectedTextNodeContent as t}from\"@lexical/selection\";import{$getEditor as n,createState as e,DEFAULT_EDITOR_DOM_CONFIG as o,$isLexicalNode as r,getStaticNodeConfig as c,defineExtension as s,shallowMergeConfig as u,RootNode as i,$getRoot as l,$getEditorDOMRenderConfig as f,isDOMDocumentNode as d,$isTextNode as a,$isElementNode as p,isHTMLElement as h,isDocumentFragment as y,$isRootOrShadowRoot as g,$isBlockElementNode as m,isBlockDomNode as x,$createLineBreakNode as v,ArtificialNode__DO_NOT_USE as $,isInlineDomNode as b,$createParagraphNode as S}from\"lexical\";import{getKnownTypesAndNodes as O,LexicalBuilder as M,getExtensionDependencyFromEditor as w}from\"@lexical/extension\";function D(t,...n){const e=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of n)o.append(\"v\",t);throw e.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${e.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}let C;function A(t,n){const{key:e}=n;return t&&e in t?t[e]:n.defaultValue}function E(t){return C&&C.editor===t?C:void 0}function N(t,n){if(\"cfg\"in n){const{cfg:e,updater:o}=n;return[e,o(A(t,e))]}return n}function P(t,n){let e=n;for(const o of t){const[t,r]=N(e,o),c=t.key;if(e===n&&A(e,t)===r)continue;const s=e||T(n);s[c]=r,e=s}return e}function T(t){return Object.create(t||null)}function j(t,n){return[t,n]}function k(t,n){return{cfg:t,updater:n}}const L=\"@lexical/html/DOM\",F=Symbol.for(\"@lexical/html/DOMExportContext\"),I=()=>!0;function R(t){return n=>n instanceof t}function W(t,{nodes:n}){if(\"*\"===n)return I;let e={};const o=[];for(const r of n)if(\"getType\"in r){const n=r.getType();if(e){const o=t[n];void 0===o&&D(339,r.name,n),e=Object.assign(e,o.types)}o.push(R(r))}else e=void 0,o.push(r);return e||(1===o.length?o[0]:t=>{for(const n of o)if(n(t))return!0;return!1})}function q(t){return(n,e,o)=>t(n,o)}function B(t){return(n,e,o,r)=>t(n,e,r)}function U(t){return(n,e,o,r,c)=>t(n,e,o,c)}function V(t){return(n,e,o,r,c,s)=>t(n,e,o,r,s)}function H(t,n){return(e,o)=>{const r=()=>t(e,o),c=n(e);return c?c(e,r,o):r()}}function Y(t,n){return(e,o,r)=>{const c=()=>t(e,o,r),s=n(e);return s?s(e,o,c,r):c()}}function _(t,n){return(e,o,r,c)=>{const s=()=>t(e,o,r,c),u=n(e);return u?u(e,o,r,s,c):s()}}function z(t,n){return(e,o,r,c,s)=>{const u=()=>t(e,o,r,c,s),i=n(e);return i?i(e,o,r,c,u,s):u()}}function G(t,n){return(e,o,r,c)=>{t(e,o,r,c);const s=n(e);s&&s(e,o,r,c)}}function J(t,n,e,o,r){let c=e[n];for(const e of t[n])if(\"function\"==typeof e[0]){const[t,n]=e;c=o(c,e=>t(e)&&n||void 0)}else{const t=e[1],n={};for(const e in t){const r=t[e];r&&(n[e]=r.reduce((t,n)=>o(t,()=>n),c))}c=o(c,t=>{const e=n[t.getType()];return e&&r(e)})}e[n]=c}function K(t,n,e,o){if(!o)return;const r=t[n];if(\"function\"==typeof e)r.push([e,o]);else{const t=r[r.length-1];let n;t&&\"types\"===t[0]?n=t[1]:(n={},r.push([\"types\",n]));for(const t in e){const e=n[t]||[];n[t]=e,e.push(o)}}}function Q(t){return\"*\"===t.nodes}function X(t,n){const e=function(t){const n={},{nodes:e}=O(t);for(const t of e)n[t.getType()]={klass:t,types:{}};for(const t of Object.values(n))if(t){const e=t.klass.getType();for(let{klass:o}=t;r(o.prototype);o=Object.getPrototypeOf(o)){const{ownNodeType:t}=c(o),r=t&&n[t];r&&(r.types[e]=!0)}}return n}(t),o={$createDOM:[],$decorateDOM:[],$exportDOM:[],$extractWithChild:[],$getDOMSlot:[],$shouldExclude:[],$shouldInclude:[],$updateDOM:[]};for(const t of function(t){const n=[],e=[],o=[];for(const c of t)if(Q(c))n.push(c);else if(Array.isArray(c.nodes))for(const t of c.nodes)r(t.prototype)?o.push(1===c.nodes.length?c:{...c,nodes:[t]}):e.push(1===c.nodes.length?c:{...c,nodes:[t]});const c=new Map,s=t=>{let n=c.get(t);if(void 0===n){n=0;for(let e=t;r(e.prototype);e=Object.getPrototypeOf(e))n++;c.set(t,n)}return n};return o.sort((t,n)=>s(t.nodes[0])-s(n.nodes[0])),[...o,...e,...n]}(n)){const n=W(e,t);for(const e in o){K(o,e,n,t[e])}}return o}function Z(t){return t}const tt=s({build:(t,n,e)=>({defaults:P(n.contextDefaults,void 0)}),config:{contextDefaults:[],overrides:[]},html:{export:new Map([[i,()=>{const t=document.createElement(\"div\");return t.role=\"textbox\",{element:t}}]])},init(t,n){t.dom=function(t,{overrides:n}){const e=X(t,n),r={...o,...t.dom};return J(e,\"$createDOM\",r,H,q),J(e,\"$exportDOM\",r,H,q),J(e,\"$extractWithChild\",r,z,V),J(e,\"$getDOMSlot\",r,Y,B),J(e,\"$shouldExclude\",r,Y,B),J(e,\"$shouldInclude\",r,Y,B),J(e,\"$updateDOM\",r,_,U),J(e,\"$decorateDOM\",r,G,Z),r}(t,n)},mergeConfig(t,n){const e=u(t,n);for(const o of[\"overrides\",\"contextDefaults\"])n[o]&&(e[o]=[...t[o],...n[o]]);return e},name:L});function nt(t,n,o){return function(t,n,o,r){return Object.assign(e(Symbol(n),{isEqual:r,parse:o}),{[t]:!0})}(F,t,n,o)}const et=nt(\"root\",Boolean),ot=nt(\"isExport\",Boolean);function rt(t){const n=M.maybeFromEditor(t);return n&&n.hasExtensionByName(L)?w(t,tt).output.defaults:void 0}function ct(t){return function(t,n){const e=E(n);return e&&e[t]}(F,t)||rt(t)}function st(t,e=n()){return A(ct(e),t)}const ut=function(t,e=()=>{}){return(o,r=n())=>c=>{const s=E(r),u=s&&s[t],i=P(o,u||e(r));return i&&i!==u?function(t,e,o,r=n()){const c=C,s=E(r);try{return C={...s,editor:r,[t]:e},o()}finally{C=c}}(t,i,c,r):c()}}(F,rt);function it(t,n){return{...n,nodes:t}}function lt(t){return t.constructor.name===CSSStyleRule.name}const ft=new Set([\"STYLE\",\"SCRIPT\"]);function dt(t,n){d(n)&&function(t){if(null===t.querySelector(\"style\"))return;const n=new Map;function e(t){let e=n.get(t);if(void 0===e){e=new Set;for(let n=0;n<t.style.length;n++)e.add(t.style[n]);n.set(t,e)}return e}try{for(const n of Array.from(t.styleSheets)){let o;try{o=n.cssRules}catch(t){continue}for(const n of Array.from(o)){if(!lt(n))continue;let o;try{o=t.querySelectorAll(n.selectorText)}catch(t){continue}for(const t of Array.from(o)){if(!h(t))continue;const o=e(t);for(let e=0;e<n.style.length;e++){const r=n.style[e];o.has(r)||t.style.setProperty(r,n.style.getPropertyValue(r),n.style.getPropertyPriority(r))}}}}}catch(t){}}(n);const e=d(n)?n.body.childNodes:n.childNodes,o=[],r=[];for(const n of e)if(!ft.has(n.nodeName)){const e=gt(n,t,r,!1);if(null!==e)for(const t of e)o.push(t)}return function(t){for(const n of t)n.getParent()&&n.getNextSibling()instanceof $&&n.insertAfter(v());for(const n of t){const t=n.getParent();t&&t.splice(n.getIndexWithinParent(),1,n.getChildren())}}(r),o}function at(t,e=null,o=n()){return ut([j(ot,!0)],o)(()=>{const n=l(),r=f(o),c=t.append.bind(t);for(const t of n.getChildren())yt(o,t,c,e,r);return t})}function pt(t,e=l()){const o=n();return ut([j(ot,!0),j(et,!0)],o)(()=>{const n=f(o),r=t.append.bind(t);return yt(o,e,r,null,n),t})}function ht(t,n=null){return(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===global.window)&&D(338),at(document.createElement(\"div\"),n,t).innerHTML}function yt(n,e,o,r=null,c=f(n)){let s=c.$shouldInclude(e,r,n);const u=c.$shouldExclude(e,r,n);let i=e;null!==r&&a(e)&&(i=t(r,e,\"clone\"));const l=c.$exportDOM(i,n),{element:d,after:g,append:m,$getChildNodes:x}=l;if(!d)return!1;const v=document.createDocumentFragment(),$=x?x():p(i)?i.getChildren():[],b=v.append.bind(v);for(const t of $){const o=yt(n,t,b,r,c);!s&&o&&c.$extractWithChild(e,t,r,\"html\",n)&&(s=!0)}if(s&&!u){if((h(d)||y(d))&&(m?m(v):d.append(v)),o(d),g){const t=g.call(i,d);t&&(y(d)?d.replaceChildren(t):d.replaceWith(t))}}else o(v);return s}function gt(t,n,e,o,r=new Map,c){const s=[];if(ft.has(t.nodeName))return s;let u=null;const i=function(t,n){const{nodeName:e}=t,o=n._htmlConversions.get(e.toLowerCase());let r=null;if(void 0!==o)for(const n of o){const e=n(t);null!==e&&(null===r||(r.priority||0)<=(e.priority||0))&&(r=e)}return null!==r?r.conversion:null}(t,n),l=i?i(t):null;let f=null;if(null!==l){f=l.after;const n=l.node;if(u=Array.isArray(n)?n[n.length-1]:n,null!==u){for(const[,t]of r)if(u=t(u,c),!u)break;u&&s.push(...Array.isArray(n)?n:[u])}null!=l.forChild&&r.set(t.nodeName,l.forChild)}const d=t.childNodes;let a=[];const h=(null==u||!g(u))&&(null!=u&&m(u)||o);for(let t=0;t<d.length;t++)a.push(...gt(d[t],n,e,h,new Map(r),u));if(null!=f&&(a=f(a)),x(t)&&(a=mt(t,a,h?()=>{const t=new $;return e.push(t),t}:S)),null==u)if(a.length>0)for(const t of a)s.push(t);else x(t)&&function(t){if(null==t.nextSibling||null==t.previousSibling)return!1;return b(t.nextSibling)&&b(t.previousSibling)}(t)&&s.push(v());else p(u)&&u.append(...a);return s}function mt(t,n,e){const o=t.style.textAlign,r=[];let c=[];for(let t=0;t<n.length;t++){const s=n[t];if(m(s))o&&!s.getFormat()&&s.setFormat(o),r.push(s);else if(c.push(s),t===n.length-1||t<n.length-1&&m(n[t+1])){const t=e();t.setFormat(o),t.append(...c),r.push(t),c=[]}}return r}export{at as $generateDOMFromNodes,pt as $generateDOMFromRoot,ht as $generateHtmlFromNodes,dt as $generateNodesFromDOM,st as $getRenderContextValue,ut as $withRenderContext,tt as DOMRenderExtension,ot as RenderContextExport,et as RenderContextRoot,k as contextUpdater,j as contextValue,nt as createRenderState,it as domOverride};\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;AAQwrB,SAAS,EAAE,GAAE,GAAG,GAAE;CAAC,MAAM,IAAE,IAAI,IAAI,gCAAgC,GAAE,IAAE,IAAI,gBAAc;CAAE,EAAE,OAAO,QAAO,CAAC;CAAE,KAAI,MAAM,KAAK,GAAE,EAAE,OAAO,KAAI,CAAC;CAAE,MAAM,EAAE,SAAO,EAAE,SAAS,GAAE,MAAM,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,+GAA+G;AAAC;AAAC,IAAI;AAAE,SAAS,EAAE,GAAE,GAAE;CAAC,MAAK,EAAC,KAAI,MAAG;CAAE,OAAO,KAAG,KAAK,IAAE,EAAE,KAAG,EAAE;AAAY;AAAC,SAAS,EAAE,GAAE;CAAC,OAAO,KAAG,EAAE,WAAS,IAAE,IAAE,KAAK;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,IAAG,SAAQ,GAAE;EAAC,MAAK,EAAC,KAAI,GAAE,SAAQ,MAAG;EAAE,OAAM,CAAC,GAAE,EAAE,EAAE,GAAE,CAAC,CAAC,CAAC;CAAC;CAAC,OAAO;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,IAAI,IAAE;CAAE,KAAI,MAAM,KAAK,GAAE;EAAC,MAAK,CAAC,GAAE,KAAG,EAAE,GAAE,CAAC,GAAE,IAAE,EAAE;EAAI,IAAG,MAAI,KAAG,EAAE,GAAE,CAAC,MAAI,GAAE;EAAS,MAAM,IAAE,KAAG,EAAE,CAAC;EAAE,EAAE,KAAG,GAAE,IAAE;CAAC;CAAC,OAAO;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAO,OAAO,OAAO,KAAG,IAAI;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,OAAM,CAAC,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,OAAM;EAAC,KAAI;EAAE,SAAQ;CAAC;AAAC;AAAC,MAAM,IAAE,qBAAoB,IAAE,OAAO,IAAI,gCAAgC,GAAE,UAAM,CAAC;AAAE,SAAS,EAAE,GAAE;CAAC,QAAO,MAAG,aAAa;AAAC;AAAC,SAAS,EAAE,GAAE,EAAC,OAAM,KAAG;CAAC,IAAG,QAAM,GAAE,OAAO;CAAE,IAAI,IAAE,CAAC;CAAE,MAAM,IAAE,CAAC;CAAE,KAAI,MAAM,KAAK,GAAE,IAAG,aAAY,GAAE;EAAC,MAAM,IAAE,EAAE,QAAQ;EAAE,IAAG,GAAE;GAAC,MAAM,IAAE,EAAE;GAAG,KAAK,MAAI,KAAG,EAAE,KAAI,EAAE,MAAK,CAAC,GAAE,IAAE,OAAO,OAAO,GAAE,EAAE,KAAK;EAAC;EAAC,EAAE,KAAK,EAAE,CAAC,CAAC;CAAC,OAAM,IAAE,KAAK,GAAE,EAAE,KAAK,CAAC;CAAE,OAAO,MAAI,MAAI,EAAE,SAAO,EAAE,MAAG,MAAG;EAAC,KAAI,MAAM,KAAK,GAAE,IAAG,EAAE,CAAC,GAAE,OAAM,CAAC;EAAE,OAAM,CAAC;CAAC;AAAE;AAAC,SAAS,EAAE,GAAE;CAAC,QAAO,GAAE,GAAE,MAAI,EAAE,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,MAAI,EAAE,GAAE,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,GAAE,MAAI,EAAE,GAAE,GAAE,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,GAAE,GAAE,MAAI,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,GAAE,MAAI;EAAC,MAAM,UAAM,EAAE,GAAE,CAAC,GAAE,IAAE,EAAE,CAAC;EAAE,OAAO,IAAE,EAAE,GAAE,GAAE,CAAC,IAAE,EAAE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,GAAE,GAAE,MAAI;EAAC,MAAM,UAAM,EAAE,GAAE,GAAE,CAAC,GAAE,IAAE,EAAE,CAAC;EAAE,OAAO,IAAE,EAAE,GAAE,GAAE,GAAE,CAAC,IAAE,EAAE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,MAAI;EAAC,MAAM,UAAM,EAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAE,EAAE,CAAC;EAAE,OAAO,IAAE,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC,IAAE,EAAE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,GAAE,MAAI;EAAC,MAAM,UAAM,EAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,IAAE,EAAE,CAAC;EAAE,OAAO,IAAE,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,IAAE,EAAE;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,QAAO,GAAE,GAAE,GAAE,MAAI;EAAC,EAAE,GAAE,GAAE,GAAE,CAAC;EAAE,MAAM,IAAE,EAAE,CAAC;EAAE,KAAG,EAAE,GAAE,GAAE,GAAE,CAAC;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE,GAAE;CAAC,IAAI,IAAE,EAAE;CAAG,KAAI,MAAM,KAAK,EAAE,IAAG,IAAG,cAAY,OAAO,EAAE,IAAG;EAAC,MAAK,CAAC,GAAE,KAAG;EAAE,IAAE,EAAE,IAAE,MAAG,EAAE,CAAC,KAAG,KAAG,KAAK,CAAC;CAAC,OAAK;EAAC,MAAM,IAAE,EAAE,IAAG,IAAE,CAAC;EAAE,KAAI,MAAM,KAAK,GAAE;GAAC,MAAM,IAAE,EAAE;GAAG,MAAI,EAAE,KAAG,EAAE,QAAQ,GAAE,MAAI,EAAE,SAAM,CAAC,GAAE,CAAC;EAAE;EAAC,IAAE,EAAE,IAAE,MAAG;GAAC,MAAM,IAAE,EAAE,EAAE,QAAQ;GAAG,OAAO,KAAG,EAAE,CAAC;EAAC,CAAC;CAAC;CAAC,EAAE,KAAG;AAAC;AAAC,SAAS,EAAE,GAAE,GAAE,GAAE,GAAE;CAAC,IAAG,CAAC,GAAE;CAAO,MAAM,IAAE,EAAE;CAAG,IAAG,cAAY,OAAO,GAAE,EAAE,KAAK,CAAC,GAAE,CAAC,CAAC;MAAM;EAAC,MAAM,IAAE,EAAE,EAAE,SAAO;EAAG,IAAI;EAAE,KAAG,YAAU,EAAE,KAAG,IAAE,EAAE,MAAI,IAAE,CAAC,GAAE,EAAE,KAAK,CAAC,SAAQ,CAAC,CAAC;EAAG,KAAI,MAAM,KAAK,GAAE;GAAC,MAAM,IAAE,EAAE,MAAI,CAAC;GAAE,EAAE,KAAG,GAAE,EAAE,KAAK,CAAC;EAAC;CAAC;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAM,QAAM,EAAE;AAAK;AAAC,SAAS,EAAE,GAAE,GAAE;CAAC,MAAM,IAAE,SAAS,GAAE;EAAC,MAAM,IAAE,CAAC,GAAE,EAAC,OAAM,MAAGA,sBAAE,CAAC;EAAE,KAAI,MAAM,KAAK,GAAE,EAAE,EAAE,QAAQ,KAAG;GAAC,OAAM;GAAE,OAAM,CAAC;EAAC;EAAE,KAAI,MAAM,KAAK,OAAO,OAAO,CAAC,GAAE,IAAG,GAAE;GAAC,MAAM,IAAE,EAAE,MAAM,QAAQ;GAAE,KAAI,IAAG,EAAC,OAAM,MAAG,GAAEC,eAAE,EAAE,SAAS,GAAE,IAAE,OAAO,eAAe,CAAC,GAAE;IAAC,MAAK,EAAC,aAAY,MAAGC,oBAAE,CAAC,GAAE,IAAE,KAAG,EAAE;IAAG,MAAI,EAAE,MAAM,KAAG,CAAC;GAAE;EAAC;EAAC,OAAO;CAAC,EAAE,CAAC,GAAE,IAAE;EAAC,YAAW,CAAC;EAAE,cAAa,CAAC;EAAE,YAAW,CAAC;EAAE,mBAAkB,CAAC;EAAE,aAAY,CAAC;EAAE,gBAAe,CAAC;EAAE,gBAAe,CAAC;EAAE,YAAW,CAAC;CAAC;CAAE,KAAI,MAAM,KAAK,SAAS,GAAE;EAAC,MAAM,IAAE,CAAC,GAAE,IAAE,CAAC,GAAE,IAAE,CAAC;EAAE,KAAI,MAAM,KAAK,GAAE,IAAG,EAAE,CAAC,GAAE,EAAE,KAAK,CAAC;OAAO,IAAG,MAAM,QAAQ,EAAE,KAAK,GAAE,KAAI,MAAM,KAAK,EAAE,OAAM,eAAE,EAAE,SAAS,IAAE,EAAE,KAAK,MAAI,EAAE,MAAM,SAAO,IAAE;GAAC,GAAG;GAAE,OAAM,CAAC,CAAC;EAAC,CAAC,IAAE,EAAE,KAAK,MAAI,EAAE,MAAM,SAAO,IAAE;GAAC,GAAG;GAAE,OAAM,CAAC,CAAC;EAAC,CAAC;EAAE,MAAM,oBAAE,IAAI,IAAE,GAAE,KAAE,MAAG;GAAC,IAAI,IAAE,EAAE,IAAI,CAAC;GAAE,IAAG,KAAK,MAAI,GAAE;IAAC,IAAE;IAAE,KAAI,IAAI,IAAE,GAAED,eAAE,EAAE,SAAS,GAAE,IAAE,OAAO,eAAe,CAAC,GAAE;IAAI,EAAE,IAAI,GAAE,CAAC;GAAC;GAAC,OAAO;EAAC;EAAE,OAAO,EAAE,MAAM,GAAE,MAAI,EAAE,EAAE,MAAM,EAAE,IAAE,EAAE,EAAE,MAAM,EAAE,CAAC,GAAE;GAAC,GAAG;GAAE,GAAG;GAAE,GAAG;EAAC;CAAC,EAAE,CAAC,GAAE;EAAC,MAAM,IAAE,EAAE,GAAE,CAAC;EAAE,KAAI,MAAM,KAAK,GAAG,EAAE,GAAE,GAAE,GAAE,EAAE,EAAE;CAAE;CAAC,OAAO;AAAC;AAAC,SAAS,EAAE,GAAE;CAAC,OAAO;AAAC;AAAC,MAAM,KAAGE,gBAAE;CAAC,QAAO,GAAE,GAAE,OAAK,EAAC,UAAS,EAAE,EAAE,iBAAgB,KAAK,CAAC,EAAC;CAAG,QAAO;EAAC,iBAAgB,CAAC;EAAE,WAAU,CAAC;CAAC;CAAE,MAAK,EAAC,QAAO,IAAI,IAAI,CAAC,CAACC,gBAAM;EAAC,MAAM,IAAE,SAAS,cAAc,KAAK;EAAE,OAAO,EAAE,OAAK,WAAU,EAAC,SAAQ,EAAC;CAAC,CAAC,CAAC,CAAC,EAAC;CAAE,KAAK,GAAE,GAAE;EAAC,EAAE,MAAI,SAAS,GAAE,EAAC,WAAU,KAAG;GAAC,MAAM,IAAE,EAAE,GAAE,CAAC,GAAE,IAAE;IAAC,GAAGC;IAAE,GAAG,EAAE;GAAG;GAAE,OAAO,EAAE,GAAE,cAAa,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,cAAa,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,qBAAoB,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,eAAc,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,kBAAiB,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,kBAAiB,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,cAAa,GAAE,GAAE,CAAC,GAAE,EAAE,GAAE,gBAAe,GAAE,GAAE,CAAC,GAAE;EAAC,EAAE,GAAE,CAAC;CAAC;CAAE,YAAY,GAAE,GAAE;EAAC,MAAM,IAAEC,mBAAE,GAAE,CAAC;EAAE,KAAI,MAAM,KAAI,CAAC,aAAY,iBAAiB,GAAE,EAAE,OAAK,EAAE,KAAG,CAAC,GAAG,EAAE,IAAG,GAAG,EAAE,EAAE;EAAG,OAAO;CAAC;CAAE,MAAK;AAAC,CAAC;AAAE,SAAS,GAAG,GAAE,GAAE,GAAE;CAAC,OAAO,SAAS,GAAE,GAAE,GAAE,GAAE;EAAC,OAAO,OAAO,OAAOC,YAAE,OAAO,CAAC,GAAE;GAAC,SAAQ;GAAE,OAAM;EAAC,CAAC,GAAE,GAAE,IAAG,CAAC,EAAC,CAAC;CAAC,EAAE,GAAE,GAAE,GAAE,CAAC;AAAC;AAAC,MAAM,KAAG,GAAG,QAAO,OAAO,GAAE,KAAG,GAAG,YAAW,OAAO;AAAE,SAAS,GAAG,GAAE;CAAC,MAAM,IAAEC,eAAE,gBAAgB,CAAC;CAAE,OAAO,KAAG,EAAE,mBAAmB,CAAC,IAAEC,iCAAE,GAAE,EAAE,EAAE,OAAO,WAAS,KAAK;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,OAAO,SAAS,GAAE,GAAE;EAAC,MAAM,IAAE,EAAE,CAAC;EAAE,OAAO,KAAG,EAAE;CAAE,EAAE,GAAE,CAAC,KAAG,GAAG,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE,IAAEC,WAAE,GAAE;CAAC,OAAO,EAAE,GAAG,CAAC,GAAE,CAAC;AAAC;AAAC,MAAM,KAAG,SAAS,GAAE,UAAM,CAAC,GAAE;CAAC,QAAO,GAAE,IAAEA,WAAE,OAAI,MAAG;EAAC,MAAM,IAAE,EAAE,CAAC,GAAE,IAAE,KAAG,EAAE,IAAG,IAAE,EAAE,GAAE,KAAG,EAAE,CAAC,CAAC;EAAE,OAAO,KAAG,MAAI,IAAE,SAAS,GAAE,GAAE,GAAE,IAAEA,WAAE,GAAE;GAAC,MAAM,IAAE,GAAE,IAAE,EAAE,CAAC;GAAE,IAAG;IAAC,OAAO,IAAE;KAAC,GAAG;KAAE,QAAO;MAAG,IAAG;IAAC,GAAE,EAAE;GAAC,UAAQ;IAAC,IAAE;GAAC;EAAC,EAAE,GAAE,GAAE,GAAE,CAAC,IAAE,EAAE;CAAC;AAAC,EAAE,GAAE,EAAE;AAAE,SAAS,GAAG,GAAE,GAAE;CAAC,OAAM;EAAC,GAAG;EAAE,OAAM;CAAC;AAAC;AAAC,SAAS,GAAG,GAAE;CAAC,OAAO,EAAE,YAAY,SAAO,aAAa;AAAI;AAAC,MAAM,KAAG,IAAI,IAAI,CAAC,SAAQ,QAAQ,CAAC;AAAE,SAAS,GAAG,GAAE,GAAE;CAAC,kBAAE,CAAC,KAAG,SAAS,GAAE;EAAC,IAAG,SAAO,EAAE,cAAc,OAAO,GAAE;EAAO,MAAM,oBAAE,IAAI,IAAE;EAAE,SAAS,EAAE,GAAE;GAAC,IAAI,IAAE,EAAE,IAAI,CAAC;GAAE,IAAG,KAAK,MAAI,GAAE;IAAC,oBAAE,IAAI,IAAE;IAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,MAAM,QAAO,KAAI,EAAE,IAAI,EAAE,MAAM,EAAE;IAAE,EAAE,IAAI,GAAE,CAAC;GAAC;GAAC,OAAO;EAAC;EAAC,IAAG;GAAC,KAAI,MAAM,KAAK,MAAM,KAAK,EAAE,WAAW,GAAE;IAAC,IAAI;IAAE,IAAG;KAAC,IAAE,EAAE;IAAQ,SAAO,GAAE;KAAC;IAAQ;IAAC,KAAI,MAAM,KAAK,MAAM,KAAK,CAAC,GAAE;KAAC,IAAG,CAAC,GAAG,CAAC,GAAE;KAAS,IAAI;KAAE,IAAG;MAAC,IAAE,EAAE,iBAAiB,EAAE,YAAY;KAAC,SAAO,GAAE;MAAC;KAAQ;KAAC,KAAI,MAAM,KAAK,MAAM,KAAK,CAAC,GAAE;MAAC,IAAG,CAACC,cAAE,CAAC,GAAE;MAAS,MAAM,IAAE,EAAE,CAAC;MAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,MAAM,QAAO,KAAI;OAAC,MAAM,IAAE,EAAE,MAAM;OAAG,EAAE,IAAI,CAAC,KAAG,EAAE,MAAM,YAAY,GAAE,EAAE,MAAM,iBAAiB,CAAC,GAAE,EAAE,MAAM,oBAAoB,CAAC,CAAC;MAAC;KAAC;IAAC;GAAC;EAAC,SAAO,GAAE,CAAC;CAAC,EAAE,CAAC;CAAE,MAAM,IAAEC,kBAAE,CAAC,IAAE,EAAE,KAAK,aAAW,EAAE,YAAW,IAAE,CAAC,GAAE,IAAE,CAAC;CAAE,KAAI,MAAM,KAAK,GAAE,IAAG,CAAC,GAAG,IAAI,EAAE,QAAQ,GAAE;EAAC,MAAM,IAAE,GAAG,GAAE,GAAE,GAAE,CAAC,CAAC;EAAE,IAAG,SAAO,GAAE,KAAI,MAAM,KAAK,GAAE,EAAE,KAAK,CAAC;CAAC;CAAC,OAAO,SAAS,GAAE;EAAC,KAAI,MAAM,KAAK,GAAE,EAAE,UAAU,KAAG,EAAE,eAAe,aAAYC,8BAAG,EAAE,YAAYC,qBAAE,CAAC;EAAE,KAAI,MAAM,KAAK,GAAE;GAAC,MAAM,IAAE,EAAE,UAAU;GAAE,KAAG,EAAE,OAAO,EAAE,qBAAqB,GAAE,GAAE,EAAE,YAAY,CAAC;EAAC;CAAC,EAAE,CAAC,GAAE;AAAC;AAAC,SAAS,GAAG,GAAE,IAAE,MAAK,IAAEJ,WAAE,GAAE;CAAC,OAAO,GAAG,CAAC,EAAE,IAAG,CAAC,CAAC,CAAC,GAAE,CAAC,QAAM;EAAC,MAAM,IAAEK,SAAE,GAAE,IAAEC,0BAAE,CAAC,GAAE,IAAE,EAAE,OAAO,KAAK,CAAC;EAAE,KAAI,MAAM,KAAK,EAAE,YAAY,GAAE,GAAG,GAAE,GAAE,GAAE,GAAE,CAAC;EAAE,OAAO;CAAC,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE,IAAED,SAAE,GAAE;CAAC,MAAM,IAAEL,WAAE;CAAE,OAAO,GAAG,CAAC,EAAE,IAAG,CAAC,CAAC,GAAE,EAAE,IAAG,CAAC,CAAC,CAAC,GAAE,CAAC,QAAM;EAAC,MAAM,IAAEM,0BAAE,CAAC;EAAqB,OAAO,GAAG,GAAE,GAA7B,EAAE,OAAO,KAAK,CAAiB,GAAE,MAAK,CAAC,GAAE;CAAC,CAAC;AAAC;AAAC,SAAS,GAAG,GAAE,IAAE,MAAK;CAAC,QAAO,eAAa,OAAO,YAAU,eAAa,OAAO,UAAQ,KAAK,MAAI,OAAO,WAAS,EAAE,GAAG,GAAE,GAAG,SAAS,cAAc,KAAK,GAAE,GAAE,CAAC,EAAE;AAAS;AAAC,SAAS,GAAG,GAAE,GAAE,GAAE,IAAE,MAAK,IAAEA,0BAAE,CAAC,GAAE;CAAC,IAAI,IAAE,EAAE,eAAe,GAAE,GAAE,CAAC;CAAE,MAAM,IAAE,EAAE,eAAe,GAAE,GAAE,CAAC;CAAE,IAAI,IAAE;CAAE,SAAO,KAAGC,YAAE,CAAC,MAAI,IAAEC,8BAAE,GAAE,GAAE,OAAO;CAAG,MAA0B,EAAC,SAAQ,GAAE,OAAM,GAAE,QAAO,GAAE,gBAAe,MAA7D,EAAE,WAAW,GAAE,CAAiD;CAAE,IAAG,CAAC,GAAE,OAAM,CAAC;CAAE,MAAM,IAAE,SAAS,uBAAuB,GAAE,IAAE,IAAE,EAAE,IAAEC,eAAE,CAAC,IAAE,EAAE,YAAY,IAAE,CAAC,GAAE,IAAE,EAAE,OAAO,KAAK,CAAC;CAAE,KAAI,MAAM,KAAK,GAAE;EAAC,MAAM,IAAE,GAAG,GAAE,GAAE,GAAE,GAAE,CAAC;EAAE,CAAC,KAAG,KAAG,EAAE,kBAAkB,GAAE,GAAE,GAAE,QAAO,CAAC,MAAI,IAAE,CAAC;CAAE;CAAC,IAAG,KAAG,CAAC;OAAOR,cAAE,CAAC,KAAGS,mBAAE,CAAC,OAAK,IAAE,EAAE,CAAC,IAAE,EAAE,OAAO,CAAC,IAAG,EAAE,CAAC,GAAE,GAAE;GAAC,MAAM,IAAE,EAAE,KAAK,GAAE,CAAC;GAAE,MAAIA,mBAAE,CAAC,IAAE,EAAE,gBAAgB,CAAC,IAAE,EAAE,YAAY,CAAC;EAAE;QAAO,EAAE,CAAC;CAAE,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE,GAAE,GAAE,oBAAE,IAAI,IAAE,GAAE,GAAE;CAAC,MAAM,IAAE,CAAC;CAAE,IAAG,GAAG,IAAI,EAAE,QAAQ,GAAE,OAAO;CAAE,IAAI,IAAE;CAAK,MAAM,IAAE,SAAS,GAAE,GAAE;EAAC,MAAK,EAAC,UAAS,MAAG,GAAE,IAAE,EAAE,iBAAiB,IAAI,EAAE,YAAY,CAAC;EAAE,IAAI,IAAE;EAAK,IAAG,KAAK,MAAI,GAAE,KAAI,MAAM,KAAK,GAAE;GAAC,MAAM,IAAE,EAAE,CAAC;GAAE,SAAO,MAAI,SAAO,MAAI,EAAE,YAAU,OAAK,EAAE,YAAU,QAAM,IAAE;EAAE;EAAC,OAAO,SAAO,IAAE,EAAE,aAAW;CAAI,EAAE,GAAE,CAAC,GAAE,IAAE,IAAE,EAAE,CAAC,IAAE;CAAK,IAAI,IAAE;CAAK,IAAG,SAAO,GAAE;EAAC,IAAE,EAAE;EAAM,MAAM,IAAE,EAAE;EAAK,IAAG,IAAE,MAAM,QAAQ,CAAC,IAAE,EAAE,EAAE,SAAO,KAAG,GAAE,SAAO,GAAE;GAAC,KAAI,MAAK,GAAE,MAAK,GAAE,IAAG,IAAE,EAAE,GAAE,CAAC,GAAE,CAAC,GAAE;GAAM,KAAG,EAAE,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAE,IAAE,CAAC,CAAC,CAAC;EAAC;EAAC,QAAM,EAAE,YAAU,EAAE,IAAI,EAAE,UAAS,EAAE,QAAQ;CAAC;CAAC,MAAM,IAAE,EAAE;CAAW,IAAI,IAAE,CAAC;CAAE,MAAM,KAAG,QAAM,KAAG,CAACC,oBAAE,CAAC,OAAK,QAAM,KAAGC,oBAAE,CAAC,KAAG;CAAG,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI,EAAE,KAAK,GAAG,GAAG,EAAE,IAAG,GAAE,GAAE,GAAE,IAAI,IAAI,CAAC,GAAE,CAAC,CAAC;CAAE,IAAG,QAAM,MAAI,IAAE,EAAE,CAAC,IAAGC,eAAE,CAAC,MAAI,IAAE,GAAG,GAAE,GAAE,UAAM;EAAC,MAAM,IAAE,IAAIV,2BAAAA;EAAE,OAAO,EAAE,KAAK,CAAC,GAAE;CAAC,IAAEW,oBAAC,IAAG,QAAM,GAAE,IAAG,EAAE,SAAO,GAAE,KAAI,MAAM,KAAK,GAAE,EAAE,KAAK,CAAC;MAAO,eAAE,CAAC,KAAG,SAAS,GAAE;EAAC,IAAG,QAAM,EAAE,eAAa,QAAM,EAAE,iBAAgB,OAAM,CAAC;EAAE,OAAOC,gBAAE,EAAE,WAAW,KAAGA,gBAAE,EAAE,eAAe;CAAC,EAAE,CAAC,KAAG,EAAE,KAAKX,qBAAE,CAAC;MAAO,eAAE,CAAC,KAAG,EAAE,OAAO,GAAG,CAAC;CAAE,OAAO;AAAC;AAAC,SAAS,GAAG,GAAE,GAAE,GAAE;CAAC,MAAM,IAAE,EAAE,MAAM,WAAU,IAAE,CAAC;CAAE,IAAI,IAAE,CAAC;CAAE,KAAI,IAAI,IAAE,GAAE,IAAE,EAAE,QAAO,KAAI;EAAC,MAAM,IAAE,EAAE;EAAG,IAAGQ,oBAAE,CAAC,GAAE,KAAG,CAAC,EAAE,UAAU,KAAG,EAAE,UAAU,CAAC,GAAE,EAAE,KAAK,CAAC;OAAO,IAAG,EAAE,KAAK,CAAC,GAAE,MAAI,EAAE,SAAO,KAAG,IAAE,EAAE,SAAO,KAAGA,oBAAE,EAAE,IAAE,EAAE,GAAE;GAAC,MAAM,IAAE,EAAE;GAAE,EAAE,UAAU,CAAC,GAAE,EAAE,OAAO,GAAG,CAAC,GAAE,EAAE,KAAK,CAAC,GAAE,IAAE,CAAC;EAAC;CAAC;CAAC,OAAO;AAAC"}
1
+ {"version":3,"file":"LexicalHtml.prod-Bqz-3WAp.mjs","names":["O","r","c","s","i","o","u","e","M","w","n","h","d","$","v","l","f","a","t","p","y","g","m","x","S","b"],"sources":["../../../node_modules/.pnpm/@lexical+html@0.44.0/node_modules/@lexical/html/LexicalHtml.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{$sliceSelectedTextNodeContent as t}from\"@lexical/selection\";import{$getEditor as n,createState as e,DEFAULT_EDITOR_DOM_CONFIG as o,$isLexicalNode as r,getStaticNodeConfig as c,defineExtension as s,shallowMergeConfig as u,RootNode as i,$getRoot as l,$getEditorDOMRenderConfig as f,isDOMDocumentNode as d,$isTextNode as a,$isElementNode as p,isHTMLElement as h,isDocumentFragment as y,$isRootOrShadowRoot as g,$isBlockElementNode as m,isBlockDomNode as x,$createLineBreakNode as v,ArtificialNode__DO_NOT_USE as $,isInlineDomNode as b,$createParagraphNode as S}from\"lexical\";import{getKnownTypesAndNodes as O,LexicalBuilder as M,getExtensionDependencyFromEditor as w}from\"@lexical/extension\";function D(t,...n){const e=new URL(\"https://lexical.dev/docs/error\"),o=new URLSearchParams;o.append(\"code\",t);for(const t of n)o.append(\"v\",t);throw e.search=o.toString(),Error(`Minified Lexical error #${t}; visit ${e.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}let C;function A(t,n){const{key:e}=n;return t&&e in t?t[e]:n.defaultValue}function E(t){return C&&C.editor===t?C:void 0}function N(t,n){if(\"cfg\"in n){const{cfg:e,updater:o}=n;return[e,o(A(t,e))]}return n}function P(t,n){let e=n;for(const o of t){const[t,r]=N(e,o),c=t.key;if(e===n&&A(e,t)===r)continue;const s=e||T(n);s[c]=r,e=s}return e}function T(t){return Object.create(t||null)}function j(t,n){return[t,n]}function k(t,n){return{cfg:t,updater:n}}const L=\"@lexical/html/DOM\",F=Symbol.for(\"@lexical/html/DOMExportContext\"),I=()=>!0;function R(t){return n=>n instanceof t}function W(t,{nodes:n}){if(\"*\"===n)return I;let e={};const o=[];for(const r of n)if(\"getType\"in r){const n=r.getType();if(e){const o=t[n];void 0===o&&D(339,r.name,n),e=Object.assign(e,o.types)}o.push(R(r))}else e=void 0,o.push(r);return e||(1===o.length?o[0]:t=>{for(const n of o)if(n(t))return!0;return!1})}function q(t){return(n,e,o)=>t(n,o)}function B(t){return(n,e,o,r)=>t(n,e,r)}function U(t){return(n,e,o,r,c)=>t(n,e,o,c)}function V(t){return(n,e,o,r,c,s)=>t(n,e,o,r,s)}function H(t,n){return(e,o)=>{const r=()=>t(e,o),c=n(e);return c?c(e,r,o):r()}}function Y(t,n){return(e,o,r)=>{const c=()=>t(e,o,r),s=n(e);return s?s(e,o,c,r):c()}}function _(t,n){return(e,o,r,c)=>{const s=()=>t(e,o,r,c),u=n(e);return u?u(e,o,r,s,c):s()}}function z(t,n){return(e,o,r,c,s)=>{const u=()=>t(e,o,r,c,s),i=n(e);return i?i(e,o,r,c,u,s):u()}}function G(t,n){return(e,o,r,c)=>{t(e,o,r,c);const s=n(e);s&&s(e,o,r,c)}}function J(t,n,e,o,r){let c=e[n];for(const e of t[n])if(\"function\"==typeof e[0]){const[t,n]=e;c=o(c,e=>t(e)&&n||void 0)}else{const t=e[1],n={};for(const e in t){const r=t[e];r&&(n[e]=r.reduce((t,n)=>o(t,()=>n),c))}c=o(c,t=>{const e=n[t.getType()];return e&&r(e)})}e[n]=c}function K(t,n,e,o){if(!o)return;const r=t[n];if(\"function\"==typeof e)r.push([e,o]);else{const t=r[r.length-1];let n;t&&\"types\"===t[0]?n=t[1]:(n={},r.push([\"types\",n]));for(const t in e){const e=n[t]||[];n[t]=e,e.push(o)}}}function Q(t){return\"*\"===t.nodes}function X(t,n){const e=function(t){const n={},{nodes:e}=O(t);for(const t of e)n[t.getType()]={klass:t,types:{}};for(const t of Object.values(n))if(t){const e=t.klass.getType();for(let{klass:o}=t;r(o.prototype);o=Object.getPrototypeOf(o)){const{ownNodeType:t}=c(o),r=t&&n[t];r&&(r.types[e]=!0)}}return n}(t),o={$createDOM:[],$decorateDOM:[],$exportDOM:[],$extractWithChild:[],$getDOMSlot:[],$shouldExclude:[],$shouldInclude:[],$updateDOM:[]};for(const t of function(t){const n=[],e=[],o=[];for(const c of t)if(Q(c))n.push(c);else if(Array.isArray(c.nodes))for(const t of c.nodes)r(t.prototype)?o.push(1===c.nodes.length?c:{...c,nodes:[t]}):e.push(1===c.nodes.length?c:{...c,nodes:[t]});const c=new Map,s=t=>{let n=c.get(t);if(void 0===n){n=0;for(let e=t;r(e.prototype);e=Object.getPrototypeOf(e))n++;c.set(t,n)}return n};return o.sort((t,n)=>s(t.nodes[0])-s(n.nodes[0])),[...o,...e,...n]}(n)){const n=W(e,t);for(const e in o){K(o,e,n,t[e])}}return o}function Z(t){return t}const tt=s({build:(t,n,e)=>({defaults:P(n.contextDefaults,void 0)}),config:{contextDefaults:[],overrides:[]},html:{export:new Map([[i,()=>{const t=document.createElement(\"div\");return t.role=\"textbox\",{element:t}}]])},init(t,n){t.dom=function(t,{overrides:n}){const e=X(t,n),r={...o,...t.dom};return J(e,\"$createDOM\",r,H,q),J(e,\"$exportDOM\",r,H,q),J(e,\"$extractWithChild\",r,z,V),J(e,\"$getDOMSlot\",r,Y,B),J(e,\"$shouldExclude\",r,Y,B),J(e,\"$shouldInclude\",r,Y,B),J(e,\"$updateDOM\",r,_,U),J(e,\"$decorateDOM\",r,G,Z),r}(t,n)},mergeConfig(t,n){const e=u(t,n);for(const o of[\"overrides\",\"contextDefaults\"])n[o]&&(e[o]=[...t[o],...n[o]]);return e},name:L});function nt(t,n,o){return function(t,n,o,r){return Object.assign(e(Symbol(n),{isEqual:r,parse:o}),{[t]:!0})}(F,t,n,o)}const et=nt(\"root\",Boolean),ot=nt(\"isExport\",Boolean);function rt(t){const n=M.maybeFromEditor(t);return n&&n.hasExtensionByName(L)?w(t,tt).output.defaults:void 0}function ct(t){return function(t,n){const e=E(n);return e&&e[t]}(F,t)||rt(t)}function st(t,e=n()){return A(ct(e),t)}const ut=function(t,e=()=>{}){return(o,r=n())=>c=>{const s=E(r),u=s&&s[t],i=P(o,u||e(r));return i&&i!==u?function(t,e,o,r=n()){const c=C,s=E(r);try{return C={...s,editor:r,[t]:e},o()}finally{C=c}}(t,i,c,r):c()}}(F,rt);function it(t,n){return{...n,nodes:t}}function lt(t){return t.constructor.name===CSSStyleRule.name}const ft=new Set([\"STYLE\",\"SCRIPT\"]);function dt(t,n){d(n)&&function(t){if(null===t.querySelector(\"style\"))return;const n=new Map;function e(t){let e=n.get(t);if(void 0===e){e=new Set;for(let n=0;n<t.style.length;n++)e.add(t.style[n]);n.set(t,e)}return e}try{for(const n of Array.from(t.styleSheets)){let o;try{o=n.cssRules}catch(t){continue}for(const n of Array.from(o)){if(!lt(n))continue;let o;try{o=t.querySelectorAll(n.selectorText)}catch(t){continue}for(const t of Array.from(o)){if(!h(t))continue;const o=e(t);for(let e=0;e<n.style.length;e++){const r=n.style[e];o.has(r)||t.style.setProperty(r,n.style.getPropertyValue(r),n.style.getPropertyPriority(r))}}}}}catch(t){}}(n);const e=d(n)?n.body.childNodes:n.childNodes,o=[],r=[];for(const n of e)if(!ft.has(n.nodeName)){const e=gt(n,t,r,!1);if(null!==e)for(const t of e)o.push(t)}return function(t){for(const n of t)n.getParent()&&n.getNextSibling()instanceof $&&n.insertAfter(v());for(const n of t){const t=n.getParent();t&&t.splice(n.getIndexWithinParent(),1,n.getChildren())}}(r),o}function at(t,e=null,o=n()){return ut([j(ot,!0)],o)(()=>{const n=l(),r=f(o),c=t.append.bind(t);for(const t of n.getChildren())yt(o,t,c,e,r);return t})}function pt(t,e=l()){const o=n();return ut([j(ot,!0),j(et,!0)],o)(()=>{const n=f(o),r=t.append.bind(t);return yt(o,e,r,null,n),t})}function ht(t,n=null){return(\"undefined\"==typeof document||\"undefined\"==typeof window&&void 0===global.window)&&D(338),at(document.createElement(\"div\"),n,t).innerHTML}function yt(n,e,o,r=null,c=f(n)){let s=c.$shouldInclude(e,r,n);const u=c.$shouldExclude(e,r,n);let i=e;null!==r&&a(e)&&(i=t(r,e,\"clone\"));const l=c.$exportDOM(i,n),{element:d,after:g,append:m,$getChildNodes:x}=l;if(!d)return!1;const v=document.createDocumentFragment(),$=x?x():p(i)?i.getChildren():[],b=v.append.bind(v);for(const t of $){const o=yt(n,t,b,r,c);!s&&o&&c.$extractWithChild(e,t,r,\"html\",n)&&(s=!0)}if(s&&!u){if((h(d)||y(d))&&(m?m(v):d.append(v)),o(d),g){const t=g.call(i,d);t&&(y(d)?d.replaceChildren(t):d.replaceWith(t))}}else o(v);return s}function gt(t,n,e,o,r=new Map,c){const s=[];if(ft.has(t.nodeName))return s;let u=null;const i=function(t,n){const{nodeName:e}=t,o=n._htmlConversions.get(e.toLowerCase());let r=null;if(void 0!==o)for(const n of o){const e=n(t);null!==e&&(null===r||(r.priority||0)<=(e.priority||0))&&(r=e)}return null!==r?r.conversion:null}(t,n),l=i?i(t):null;let f=null;if(null!==l){f=l.after;const n=l.node;if(u=Array.isArray(n)?n[n.length-1]:n,null!==u){for(const[,t]of r)if(u=t(u,c),!u)break;u&&s.push(...Array.isArray(n)?n:[u])}null!=l.forChild&&r.set(t.nodeName,l.forChild)}const d=t.childNodes;let a=[];const h=(null==u||!g(u))&&(null!=u&&m(u)||o);for(let t=0;t<d.length;t++)a.push(...gt(d[t],n,e,h,new Map(r),u));if(null!=f&&(a=f(a)),x(t)&&(a=mt(t,a,h?()=>{const t=new $;return e.push(t),t}:S)),null==u)if(a.length>0)for(const t of a)s.push(t);else x(t)&&function(t){if(null==t.nextSibling||null==t.previousSibling)return!1;return b(t.nextSibling)&&b(t.previousSibling)}(t)&&s.push(v());else p(u)&&u.append(...a);return s}function mt(t,n,e){const o=t.style.textAlign,r=[];let c=[];for(let t=0;t<n.length;t++){const s=n[t];if(m(s))o&&!s.getFormat()&&s.setFormat(o),r.push(s);else if(c.push(s),t===n.length-1||t<n.length-1&&m(n[t+1])){const t=e();t.setFormat(o),t.append(...c),r.push(t),c=[]}}return r}export{at as $generateDOMFromNodes,pt as $generateDOMFromRoot,ht as $generateHtmlFromNodes,dt as $generateNodesFromDOM,st as $getRenderContextValue,ut as $withRenderContext,tt as DOMRenderExtension,ot as RenderContextExport,et as RenderContextRoot,k as contextUpdater,j as contextValue,nt as createRenderState,it as domOverride};\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { r as effect, s as namedSignals } from "./LexicalExtension.node-BM0gh8zu.mjs";
2
- import { $n as safeCast, At as COMMAND_PRIORITY_LOW, D as $getChildCaret, Fn as getNearestEditorFromDOMNode, Hn as isDOMNode, Ht as ElementNode, Mn as defineExtension, N as $getNearestNodeFromDOMNode, On as createCommand, Ot as COMMAND_PRIORITY_EDITOR, Y as $isElementNode, _ as $createTextNode, _t as $setPointFromCaret, c as $copyNode, ct as $isTextNode, dt as $normalizeCaret, et as $isLineBreakNode, fn as PASTE_COMMAND, ft as $normalizeSelection__EXPERIMENTAL, ht as $rewindSiblingCaret, n as $applyNodeReplacement, ot as $isSiblingCaret, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, tt as $isNodeSelection, vt as $setSelection, wn as TextNode, z as $getSelection } from "./Lexical.node-gYNDt_p9.mjs";
3
- import { d as addClassNamesToElement, g as objectKlassEquals, h as mergeRegister, l as $insertNodeToNearestRootAtCaret, p as isHTMLAnchorElement, r as $findMatchingParent } from "./LexicalUtils.node-CmK462d1.mjs";
1
+ import { r as effect, s as namedSignals } from "./LexicalExtension.node-BKzjRb-0.mjs";
2
+ import { $n as safeCast, At as COMMAND_PRIORITY_LOW, D as $getChildCaret, Fn as getNearestEditorFromDOMNode, Hn as isDOMNode, Ht as ElementNode, Mn as defineExtension, N as $getNearestNodeFromDOMNode, On as createCommand, Ot as COMMAND_PRIORITY_EDITOR, Y as $isElementNode, _ as $createTextNode, _t as $setPointFromCaret, c as $copyNode, ct as $isTextNode, dt as $normalizeCaret, et as $isLineBreakNode, fn as PASTE_COMMAND, ft as $normalizeSelection__EXPERIMENTAL, ht as $rewindSiblingCaret, n as $applyNodeReplacement, ot as $isSiblingCaret, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, tt as $isNodeSelection, vt as $setSelection, wn as TextNode, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
3
+ import { d as addClassNamesToElement, g as objectKlassEquals, h as mergeRegister, l as $insertNodeToNearestRootAtCaret, p as isHTMLAnchorElement, r as $findMatchingParent } from "./LexicalUtils.node-Dz-HANi6.mjs";
4
4
  //#region ../../node_modules/.pnpm/@lexical+link@0.44.0/node_modules/@lexical/link/LexicalLink.dev.mjs
5
5
  /**
6
6
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -1081,4 +1081,4 @@ const toggleLink = $toggleLink;
1081
1081
  //#endregion
1082
1082
  export { $createAutoLinkNode, $createLinkNode, $isAutoLinkNode, $isLinkNode, $toggleLink, AutoLinkExtension, AutoLinkNode, ClickableLinkExtension, LinkExtension, LinkNode, TOGGLE_LINK_COMMAND, createLinkMatcherWithRegExp, formatUrl, registerAutoLink, registerClickableLink, registerLink, toggleLink };
1083
1083
 
1084
- //# sourceMappingURL=LexicalLink.dev-DK87Biuy.mjs.map
1084
+ //# sourceMappingURL=LexicalLink.dev-BO0J0B1E.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LexicalLink.dev-DK87Biuy.mjs","names":[],"sources":["../../../node_modules/.pnpm/@lexical+link@0.44.0/node_modules/@lexical/link/LexicalLink.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 { addClassNamesToElement, isHTMLAnchorElement, $findMatchingParent, $insertNodeToNearestRootAtCaret, mergeRegister, objectKlassEquals } from '@lexical/utils';\nimport { ElementNode, $copyNode, $isRangeSelection, $applyNodeReplacement, createCommand, $getSelection, $isNodeSelection, $normalizeSelection__EXPERIMENTAL, $setSelection, $getChildCaret, $isElementNode, $rewindSiblingCaret, $caretFromPoint, $normalizeCaret, $isSiblingCaret, $setPointFromCaret, defineExtension, shallowMergeConfig, COMMAND_PRIORITY_EDITOR, PASTE_COMMAND, COMMAND_PRIORITY_LOW, safeCast, isDOMNode, getNearestEditorFromDOMNode, $getNearestNodeFromDOMNode, TextNode, $isTextNode, $isLineBreakNode, $createTextNode } from 'lexical';\nimport { namedSignals, effect } from '@lexical/extension';\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\nconst SUPPORTED_URL_PROTOCOLS = new Set(['http:', 'https:', 'mailto:', 'sms:', 'tel:']);\n\n/** @noInheritDoc */\nclass LinkNode extends ElementNode {\n /** @internal */\n __url;\n /** @internal */\n __target;\n /** @internal */\n __rel;\n /** @internal */\n __title;\n static getType() {\n return 'link';\n }\n static clone(node) {\n return new LinkNode(node.__url, {\n rel: node.__rel,\n target: node.__target,\n title: node.__title\n }, node.__key);\n }\n constructor(url = '', attributes = {}, key) {\n super(key);\n const {\n target = null,\n rel = null,\n title = null\n } = attributes;\n this.__url = url;\n this.__target = target;\n this.__rel = rel;\n this.__title = title;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__url = prevNode.__url;\n this.__rel = prevNode.__rel;\n this.__target = prevNode.__target;\n this.__title = prevNode.__title;\n }\n createDOM(config) {\n const element = document.createElement('a');\n this.updateLinkDOM(null, element, config);\n addClassNamesToElement(element, config.theme.link);\n return element;\n }\n updateLinkDOM(prevNode, anchor, config) {\n if (isHTMLAnchorElement(anchor)) {\n if (!prevNode || prevNode.__url !== this.__url) {\n anchor.href = this.sanitizeUrl(this.__url);\n }\n for (const attr of ['target', 'rel', 'title']) {\n const key = `__${attr}`;\n const value = this[key];\n if (!prevNode || prevNode[key] !== value) {\n if (value) {\n anchor[attr] = value;\n } else {\n anchor.removeAttribute(attr);\n }\n }\n }\n }\n }\n updateDOM(prevNode, anchor, config) {\n this.updateLinkDOM(prevNode, anchor, config);\n return false;\n }\n static importDOM() {\n return {\n a: node => ({\n conversion: $convertAnchorElement,\n priority: 1\n })\n };\n }\n static importJSON(serializedNode) {\n return $createLinkNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setURL(serializedNode.url).setRel(serializedNode.rel || null).setTarget(serializedNode.target || null).setTitle(serializedNode.title || null);\n }\n sanitizeUrl(url) {\n url = formatUrl(url);\n try {\n const parsedUrl = new URL(formatUrl(url));\n if (!SUPPORTED_URL_PROTOCOLS.has(parsedUrl.protocol)) {\n return 'about:blank';\n }\n } catch (_unused) {\n return url;\n }\n return url;\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n rel: this.getRel(),\n target: this.getTarget(),\n title: this.getTitle(),\n url: this.getURL()\n };\n }\n getURL() {\n return this.getLatest().__url;\n }\n setURL(url) {\n const writable = this.getWritable();\n writable.__url = url;\n return writable;\n }\n getTarget() {\n return this.getLatest().__target;\n }\n setTarget(target) {\n const writable = this.getWritable();\n writable.__target = target;\n return writable;\n }\n getRel() {\n return this.getLatest().__rel;\n }\n setRel(rel) {\n const writable = this.getWritable();\n writable.__rel = rel;\n return writable;\n }\n getTitle() {\n return this.getLatest().__title;\n }\n setTitle(title) {\n const writable = this.getWritable();\n writable.__title = title;\n return writable;\n }\n insertNewAfter(_, restoreSelection = true) {\n const linkNode = $copyNode(this);\n this.insertAfter(linkNode, restoreSelection);\n return linkNode;\n }\n canInsertTextBefore() {\n return false;\n }\n canInsertTextAfter() {\n return false;\n }\n canBeEmpty() {\n return false;\n }\n isInline() {\n return true;\n }\n extractWithChild(child, selection, destination) {\n if (!$isRangeSelection(selection)) {\n return false;\n }\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n return this.isParentOf(anchorNode) && this.isParentOf(focusNode) && selection.getTextContent().length > 0;\n }\n isEmailURI() {\n return this.__url.startsWith('mailto:');\n }\n isWebSiteURI() {\n return this.__url.startsWith('https://') || this.__url.startsWith('http://');\n }\n shouldMergeAdjacentLink(otherLink) {\n return this.getType() === otherLink.getType() && this.__url === otherLink.__url && this.__target === otherLink.__target && this.__rel === otherLink.__rel && this.__title === otherLink.__title;\n }\n}\nfunction $saveCaretPair(point) {\n const next = $caretFromPoint(point, 'next');\n return [next, next.getFlipped()];\n}\nfunction $restoreCaretPair(point, pair) {\n for (const caret of pair) {\n if (caret.origin.isAttached()) {\n const normalized = $normalizeCaret(caret);\n $setPointFromCaret(point, normalized);\n return;\n }\n }\n}\n\n/**\n * Extracts block-level children from a LinkNode, splitting\n * ancestor nodes as needed to maintain a valid document structure.\n * @param link - The LinkNode to normalize\n */\nfunction $linkNodeTransform(link) {\n const selection = $getSelection();\n let anchorPair = null;\n let focusPair = null;\n if ($isRangeSelection(selection)) {\n anchorPair = $saveCaretPair(selection.anchor);\n focusPair = $saveCaretPair(selection.focus);\n }\n function $restoreSelection() {\n if ($isRangeSelection(selection)) {\n $restoreCaretPair(selection.anchor, anchorPair);\n $restoreCaretPair(selection.focus, focusPair);\n $normalizeSelection__EXPERIMENTAL(selection);\n }\n }\n let transformed = false;\n for (const caret of $getChildCaret(link, 'next')) {\n const node = caret.origin;\n if ($isElementNode(node) && !node.isInline()) {\n const blockChildren = node.getChildren();\n if (blockChildren.length > 0) {\n const innerLink = $copyNode(link);\n innerLink.append(...blockChildren);\n node.append(innerLink);\n transformed = true;\n }\n $insertNodeToNearestRootAtCaret(node, $rewindSiblingCaret(caret), {\n $shouldSplit: () => false\n });\n }\n }\n // Fix a caret pair that points to the end of the absorbing link,\n // which would shift when new children are appended during merge.\n function $fixMergeBoundaryCaret(pair, absorbingLink, mergingLink) {\n const [next, prev] = pair;\n const $isAffected = caret => $isSiblingCaret(caret) && caret.origin.is(absorbingLink);\n if (!$isAffected(next) && !$isAffected(prev)) {\n return pair;\n }\n // Resolve the merge boundary from the merging link's start, since\n // those children survive the move and represent the boundary position.\n const fixed = $normalizeCaret($getChildCaret(mergingLink, 'next'));\n return [fixed, fixed.getFlipped()];\n }\n if (link.isAttached()) {\n const prevSibling = link.getPreviousSibling();\n if ($isLinkNode(prevSibling) && prevSibling.shouldMergeAdjacentLink(link)) {\n if (anchorPair) {\n anchorPair = $fixMergeBoundaryCaret(anchorPair, prevSibling, link);\n }\n if (focusPair) {\n focusPair = $fixMergeBoundaryCaret(focusPair, prevSibling, link);\n }\n prevSibling.append(...link.getChildren());\n link.remove();\n $restoreSelection();\n return;\n }\n const nextSibling = link.getNextSibling();\n if ($isLinkNode(nextSibling) && link.shouldMergeAdjacentLink(nextSibling)) {\n if (anchorPair) {\n anchorPair = $fixMergeBoundaryCaret(anchorPair, link, nextSibling);\n }\n if (focusPair) {\n focusPair = $fixMergeBoundaryCaret(focusPair, link, nextSibling);\n }\n link.append(...nextSibling.getChildren());\n nextSibling.remove();\n transformed = true;\n }\n }\n if (!transformed) {\n return;\n }\n if (!link.canBeEmpty() && link.isEmpty()) {\n const parent = link.getParent();\n link.remove();\n if (parent && parent.isEmpty()) {\n parent.remove();\n }\n }\n $restoreSelection();\n}\nfunction $convertAnchorElement(domNode) {\n let node = null;\n if (isHTMLAnchorElement(domNode)) {\n const content = domNode.textContent;\n if (content !== null && content !== '' || domNode.children.length > 0) {\n node = $createLinkNode(domNode.getAttribute('href') || '', {\n rel: domNode.getAttribute('rel'),\n target: domNode.getAttribute('target'),\n title: domNode.getAttribute('title')\n });\n }\n }\n return {\n node\n };\n}\n\n/**\n * Takes a URL and creates a LinkNode.\n * @param url - The URL the LinkNode should direct to.\n * @param attributes - Optional HTML a tag attributes \\\\{ target, rel, title \\\\}\n * @returns The LinkNode.\n */\nfunction $createLinkNode(url = '', attributes) {\n return $applyNodeReplacement(new LinkNode(url, attributes));\n}\n\n/**\n * Determines if node is a LinkNode.\n * @param node - The node to be checked.\n * @returns true if node is a LinkNode, false otherwise.\n */\nfunction $isLinkNode(node) {\n return node instanceof LinkNode;\n}\n// Custom node type to override `canInsertTextAfter` that will\n// allow typing within the link\nclass AutoLinkNode extends LinkNode {\n /** @internal */\n /** Indicates whether the autolink was ever unlinked. **/\n __isUnlinked;\n constructor(url = '', attributes = {}, key) {\n super(url, attributes, key);\n this.__isUnlinked = attributes.isUnlinked !== undefined && attributes.isUnlinked !== null ? attributes.isUnlinked : false;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__isUnlinked = prevNode.__isUnlinked;\n }\n static getType() {\n return 'autolink';\n }\n static clone(node) {\n return new AutoLinkNode(node.__url, {\n isUnlinked: node.__isUnlinked,\n rel: node.__rel,\n target: node.__target,\n title: node.__title\n }, node.__key);\n }\n shouldMergeAdjacentLink(_otherLink) {\n return false;\n }\n getIsUnlinked() {\n return this.__isUnlinked;\n }\n setIsUnlinked(value) {\n const self = this.getWritable();\n self.__isUnlinked = value;\n return self;\n }\n createDOM(config) {\n if (this.__isUnlinked) {\n return document.createElement('span');\n } else {\n return super.createDOM(config);\n }\n }\n updateDOM(prevNode, anchor, config) {\n return super.updateDOM(prevNode, anchor, config) || prevNode.__isUnlinked !== this.__isUnlinked;\n }\n static importJSON(serializedNode) {\n return $createAutoLinkNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setIsUnlinked(serializedNode.isUnlinked || false);\n }\n static importDOM() {\n // TODO: Should link node should handle the import over autolink?\n return null;\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n isUnlinked: this.__isUnlinked\n };\n }\n insertNewAfter(_, restoreSelection = true) {\n const linkNode = $createAutoLinkNode(this.__url, {\n isUnlinked: this.__isUnlinked,\n rel: this.__rel,\n target: this.__target,\n title: this.__title\n });\n this.insertAfter(linkNode, restoreSelection);\n return linkNode;\n }\n}\n\n/**\n * Takes a URL and creates an AutoLinkNode. AutoLinkNodes are generally automatically generated\n * during typing, which is especially useful when a button to generate a LinkNode is not practical.\n * @param url - The URL the LinkNode should direct to.\n * @param attributes - Optional HTML a tag attributes. \\\\{ target, rel, title \\\\}\n * @returns The LinkNode.\n */\nfunction $createAutoLinkNode(url = '', attributes) {\n return $applyNodeReplacement(new AutoLinkNode(url, attributes));\n}\n\n/**\n * Determines if node is an AutoLinkNode.\n * @param node - The node to be checked.\n * @returns true if node is an AutoLinkNode, false otherwise.\n */\nfunction $isAutoLinkNode(node) {\n return node instanceof AutoLinkNode;\n}\nconst TOGGLE_LINK_COMMAND = createCommand('TOGGLE_LINK_COMMAND');\nfunction $getPointNode(point, offset) {\n if (point.type === 'element') {\n const node = point.getNode();\n if (!$isElementNode(node)) {\n formatDevErrorMessage(`$getPointNode: element point is not an ElementNode`);\n }\n const childNode = node.getChildren()[point.offset + offset];\n return childNode || null;\n }\n return null;\n}\n\n/**\n * Preserve the logical start/end of a RangeSelection in situations where\n * the point is an element that may be reparented in the callback.\n *\n * @param $fn The function to run\n * @returns The result of the callback\n */\nfunction $withSelectedNodes($fn) {\n const initialSelection = $getSelection();\n if (!$isRangeSelection(initialSelection)) {\n return $fn();\n }\n const normalized = $normalizeSelection__EXPERIMENTAL(initialSelection);\n const isBackwards = normalized.isBackward();\n const anchorNode = $getPointNode(normalized.anchor, isBackwards ? -1 : 0);\n const focusNode = $getPointNode(normalized.focus, isBackwards ? 0 : -1);\n const rval = $fn();\n if (anchorNode || focusNode) {\n const updatedSelection = $getSelection();\n if ($isRangeSelection(updatedSelection)) {\n const finalSelection = updatedSelection.clone();\n if (anchorNode) {\n const anchorParent = anchorNode.getParent();\n if (anchorParent) {\n finalSelection.anchor.set(anchorParent.getKey(), anchorNode.getIndexWithinParent() + (isBackwards ? 1 : 0), 'element');\n }\n }\n if (focusNode) {\n const focusParent = focusNode.getParent();\n if (focusParent) {\n finalSelection.focus.set(focusParent.getKey(), focusNode.getIndexWithinParent() + (isBackwards ? 0 : 1), 'element');\n }\n }\n $setSelection($normalizeSelection__EXPERIMENTAL(finalSelection));\n }\n }\n return rval;\n}\n\n/**\n * Splits a LinkNode by removing selected children from it.\n * Handles three cases: selection at start, end, or middle of the link.\n * @param parentLink - The LinkNode to split\n * @param extractedNodes - The nodes that were extracted from the selection\n */\nfunction $splitLinkAtSelection(parentLink, extractedNodes) {\n const extractedKeys = new Set(extractedNodes.filter(n => parentLink.isParentOf(n)).map(n => n.getKey()));\n const allChildren = parentLink.getChildren();\n // Check if a child is an extracted node OR contains an extracted node\n // This handles nested structures like LinkNode > HeadingNode > TextNode\n const isExtractedChild = child => extractedKeys.has(child.getKey()) || $isElementNode(child) && extractedNodes.some(n => parentLink.isParentOf(n) && child.isParentOf(n));\n const extractedChildren = allChildren.filter(isExtractedChild);\n if (extractedChildren.length === allChildren.length) {\n allChildren.forEach(child => parentLink.insertBefore(child));\n parentLink.remove();\n return;\n }\n const firstExtractedIndex = allChildren.findIndex(isExtractedChild);\n const lastExtractedIndex = allChildren.findLastIndex(isExtractedChild);\n const isAtStart = firstExtractedIndex === 0;\n const isAtEnd = lastExtractedIndex === allChildren.length - 1;\n if (isAtStart) {\n extractedChildren.forEach(child => parentLink.insertBefore(child));\n } else if (isAtEnd) {\n for (let i = extractedChildren.length - 1; i >= 0; i--) {\n parentLink.insertAfter(extractedChildren[i]);\n }\n } else {\n for (let i = extractedChildren.length - 1; i >= 0; i--) {\n parentLink.insertAfter(extractedChildren[i]);\n }\n const trailingChildren = allChildren.slice(lastExtractedIndex + 1);\n if (trailingChildren.length > 0) {\n const newLink = $copyNode(parentLink);\n extractedChildren[extractedChildren.length - 1].insertAfter(newLink);\n trailingChildren.forEach(child => newLink.append(child));\n }\n }\n}\n\n/**\n * Generates or updates a LinkNode. It can also delete a LinkNode if the URL is null,\n * but saves any children and brings them up to the parent node.\n * @param urlOrAttributes - The URL the link directs to, or an attributes object with an url property\n * @param attributes - Optional HTML a tag attributes. \\\\{ target, rel, title \\\\}\n */\nfunction $toggleLink(urlOrAttributes, attributes = {}) {\n let url;\n if (urlOrAttributes && typeof urlOrAttributes === 'object') {\n const {\n url: urlProp,\n ...rest\n } = urlOrAttributes;\n url = urlProp;\n attributes = {\n ...rest,\n ...attributes\n };\n } else {\n url = urlOrAttributes;\n }\n const {\n target,\n title\n } = attributes;\n const rel = attributes.rel === undefined ? 'noreferrer' : attributes.rel;\n const selection = $getSelection();\n if (selection === null || !$isRangeSelection(selection) && !$isNodeSelection(selection)) {\n return;\n }\n if ($isNodeSelection(selection)) {\n const nodes = selection.getNodes();\n if (nodes.length === 0) {\n return;\n }\n\n // Handle all selected nodes\n nodes.forEach(node => {\n if (url === null) {\n // Remove link\n const linkParent = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (linkParent) {\n linkParent.insertBefore(node);\n if (linkParent.getChildren().length === 0) {\n linkParent.remove();\n }\n }\n } else {\n // Add/Update link\n const existingLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (existingLink) {\n existingLink.setURL(url);\n if (target !== undefined) {\n existingLink.setTarget(target);\n }\n if (rel !== undefined) {\n existingLink.setRel(rel);\n }\n } else {\n const linkNode = $createLinkNode(url, {\n rel,\n target\n });\n node.insertBefore(linkNode);\n linkNode.append(node);\n }\n }\n });\n return;\n }\n if (selection.isCollapsed() && url === null) {\n for (const node of selection.getNodes()) {\n const parentLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (parentLink !== null) {\n parentLink.getChildren().forEach(child => {\n parentLink.insertBefore(child);\n });\n parentLink.remove();\n }\n return;\n }\n }\n\n // Handle RangeSelection\n const nodes = selection.extract();\n if (url === null) {\n const processedLinks = new Set();\n nodes.forEach(node => {\n const parentLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (parentLink !== null) {\n const linkKey = parentLink.getKey();\n if (processedLinks.has(linkKey)) {\n return;\n }\n $splitLinkAtSelection(parentLink, nodes);\n processedLinks.add(linkKey);\n }\n });\n return;\n }\n const updatedNodes = new Set();\n const updateLinkNode = linkNode => {\n if (updatedNodes.has(linkNode.getKey())) {\n return;\n }\n updatedNodes.add(linkNode.getKey());\n linkNode.setURL(url);\n if (target !== undefined) {\n linkNode.setTarget(target);\n }\n if (rel !== undefined) {\n linkNode.setRel(rel);\n }\n if (title !== undefined) {\n linkNode.setTitle(title);\n }\n };\n // Add or merge LinkNodes\n if (nodes.length === 1) {\n const firstNode = nodes[0];\n // if the first node is a LinkNode or if its\n // parent is a LinkNode, we update the URL, target and rel.\n const linkNode = $findMatchingParent(firstNode, $isLinkNode);\n if (linkNode !== null) {\n return updateLinkNode(linkNode);\n }\n }\n $withSelectedNodes(() => {\n let linkNode = null;\n for (const node of nodes) {\n if (!node.isAttached()) {\n continue;\n }\n const parentLinkNode = $findMatchingParent(node, $isLinkNode);\n if (parentLinkNode) {\n updateLinkNode(parentLinkNode);\n continue;\n }\n if ($isElementNode(node)) {\n if (!node.isInline()) {\n // Ignore block nodes, if there are any children we will see them\n // later and wrap in a new LinkNode\n continue;\n }\n if ($isLinkNode(node)) {\n // If it's not an autolink node and we don't already have a LinkNode\n // in this block then we can update it and re-use it\n if (!$isAutoLinkNode(node) && (linkNode === null || !linkNode.getParentOrThrow().isParentOf(node))) {\n updateLinkNode(node);\n linkNode = node;\n continue;\n }\n // Unwrap LinkNode, we already have one or it's an AutoLinkNode\n for (const child of node.getChildren()) {\n node.insertBefore(child);\n }\n node.remove();\n continue;\n }\n }\n const prevLinkNode = node.getPreviousSibling();\n if ($isLinkNode(prevLinkNode) && prevLinkNode.is(linkNode)) {\n prevLinkNode.append(node);\n continue;\n }\n linkNode = $createLinkNode(url, {\n rel,\n target,\n title\n });\n node.insertAfter(linkNode);\n linkNode.append(node);\n }\n });\n}\nconst PHONE_NUMBER_REGEX = /^\\+?[0-9\\s()-]{5,}$/;\n\n/**\n * Formats a URL string by adding appropriate protocol if missing\n *\n * @param url - URL to format\n * @returns Formatted URL with appropriate protocol\n */\nfunction formatUrl(url) {\n // Check if URL already has a protocol\n if (url.match(/^[a-z][a-z0-9+.-]*:/i)) {\n // URL already has a protocol, leave it as is\n return url;\n }\n // Check if it's a relative path (starting with '/', '.', or '#')\n else if (url.match(/^[/#.]/)) {\n // Relative path, leave it as is\n return url;\n }\n\n // Check for email address\n else if (url.includes('@')) {\n return `mailto:${url}`;\n }\n\n // Check for phone number\n else if (PHONE_NUMBER_REGEX.test(url)) {\n return `tel:${url}`;\n }\n\n // For everything else, return with https:// prefix\n return `https://${url}`;\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 defaultProps = {\n attributes: undefined,\n validateUrl: undefined\n};\n\n/** @internal */\nfunction registerLink(editor, stores) {\n return mergeRegister(editor.registerNodeTransform(LinkNode, $linkNodeTransform), editor.registerCommand(TOGGLE_LINK_COMMAND, payload => {\n const validateUrl = stores.validateUrl.peek();\n const attributes = stores.attributes.peek();\n if (payload === null) {\n $toggleLink(null);\n return true;\n } else if (typeof payload === 'string') {\n if (validateUrl === undefined || validateUrl(payload)) {\n $toggleLink(payload, attributes);\n return true;\n }\n return false;\n } else {\n const {\n url,\n target,\n rel,\n title\n } = payload;\n $toggleLink(url, {\n ...attributes,\n rel,\n target,\n title\n });\n return true;\n }\n }, COMMAND_PRIORITY_EDITOR), effect(() => {\n const validateUrl = stores.validateUrl.value;\n if (!validateUrl) {\n return;\n }\n const attributes = stores.attributes.value;\n return editor.registerCommand(PASTE_COMMAND, event => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection) || selection.isCollapsed() || !objectKlassEquals(event, ClipboardEvent)) {\n return false;\n }\n if (event.clipboardData === null) {\n return false;\n }\n const clipboardText = event.clipboardData.getData('text');\n if (!validateUrl(clipboardText)) {\n return false;\n }\n // If we select nodes that are elements then avoid applying the link.\n if (!selection.getNodes().some(node => $isElementNode(node))) {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, {\n ...attributes,\n url: clipboardText\n });\n event.preventDefault();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_LOW);\n }));\n}\n\n/**\n * Provides {@link LinkNode}, an implementation of\n * {@link TOGGLE_LINK_COMMAND}, and a {@link PASTE_COMMAND}\n * listener to wrap selected nodes in a link when a\n * URL is pasted and `validateUrl` is defined.\n */\nconst LinkExtension = defineExtension({\n build(editor, config, state) {\n return namedSignals(config);\n },\n config: defaultProps,\n mergeConfig(config, overrides) {\n const merged = shallowMergeConfig(config, overrides);\n if (config.attributes) {\n merged.attributes = shallowMergeConfig(config.attributes, merged.attributes);\n }\n return merged;\n },\n name: '@lexical/link/Link',\n nodes: () => [LinkNode],\n register(editor, config, state) {\n return registerLink(editor, state.getOutput());\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 findMatchingDOM(startNode, predicate) {\n let node = startNode;\n while (node != null) {\n if (predicate(node)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction registerClickableLink(editor, stores, eventOptions = {}) {\n const onClick = event => {\n const target = event.target;\n if (!isDOMNode(target)) {\n return;\n }\n const nearestEditor = getNearestEditorFromDOMNode(target);\n if (nearestEditor === null) {\n return;\n }\n let url = null;\n let urlTarget = null;\n nearestEditor.update(() => {\n const clickedNode = $getNearestNodeFromDOMNode(target);\n if (clickedNode !== null) {\n const maybeLinkNode = $findMatchingParent(clickedNode, $isElementNode);\n if (!stores.disabled.peek()) {\n if ($isLinkNode(maybeLinkNode)) {\n url = maybeLinkNode.sanitizeUrl(maybeLinkNode.getURL());\n urlTarget = maybeLinkNode.getTarget();\n } else {\n const a = findMatchingDOM(target, isHTMLAnchorElement);\n if (a !== null) {\n url = a.href;\n urlTarget = a.target;\n }\n }\n }\n }\n });\n if (url === null || url === '') {\n return;\n }\n\n // Allow user to select link text without following url\n const selection = editor.getEditorState().read($getSelection, {\n editor\n });\n if ($isRangeSelection(selection) && !selection.isCollapsed()) {\n event.preventDefault();\n return;\n }\n const isMiddle = event.type === 'auxclick' && event.button === 1;\n window.open(url, stores.newTab.peek() || isMiddle || event.metaKey || event.ctrlKey || urlTarget === '_blank' ? '_blank' : '_self');\n event.preventDefault();\n };\n const onMouseUp = event => {\n if (event.button === 1) {\n onClick(event);\n }\n };\n return editor.registerRootListener(rootElement => {\n if (rootElement) {\n rootElement.addEventListener('click', onClick, eventOptions);\n rootElement.addEventListener('mouseup', onMouseUp, eventOptions);\n return () => {\n rootElement.removeEventListener('click', onClick);\n rootElement.removeEventListener('mouseup', onMouseUp);\n };\n }\n });\n}\n\n/**\n * Normally in a Lexical editor the `CLICK_COMMAND` on a LinkNode will cause the\n * selection to change instead of opening a link. This extension can be used to\n * restore the default behavior, e.g. when the editor is not editable.\n */\nconst ClickableLinkExtension = defineExtension({\n build(editor, config, state) {\n return namedSignals(config);\n },\n config: safeCast({\n disabled: false,\n newTab: false\n }),\n dependencies: [LinkExtension],\n name: '@lexical/link/ClickableLink',\n register(editor, config, state) {\n return registerClickableLink(editor, state.getOutput());\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 createLinkMatcherWithRegExp(regExp, urlTransformer = text => text) {\n return text => {\n const match = regExp.exec(text);\n if (match === null) {\n return null;\n }\n return {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: urlTransformer(match[0])\n };\n };\n}\nfunction findFirstMatch(text, matchers) {\n for (let i = 0; i < matchers.length; i++) {\n const match = matchers[i](text);\n if (match) {\n return match;\n }\n }\n return null;\n}\nconst PUNCTUATION_OR_SPACE = /[.,;\\s]/;\nfunction isSeparator(char, separatorRegex) {\n return separatorRegex.test(char);\n}\nfunction endsWithSeparator(textContent, separatorRegex) {\n return isSeparator(textContent[textContent.length - 1], separatorRegex);\n}\nfunction startsWithSeparator(textContent, separatorRegex) {\n return isSeparator(textContent[0], separatorRegex);\n}\n\n/**\n * Check if the text content starts with a fullstop followed by a top-level domain.\n * Meaning if the text content can be a beginning of a top level domain.\n * @param textContent\n * @param isEmail\n * @returns boolean\n */\nfunction startsWithTLD(textContent, isEmail) {\n if (isEmail) {\n return /^\\.[a-zA-Z]{2,}/.test(textContent);\n } else {\n return /^\\.[a-zA-Z0-9]{1,}/.test(textContent);\n }\n}\nfunction isPreviousNodeValid(node, separatorRegex) {\n let previousNode = node.getPreviousSibling();\n if ($isElementNode(previousNode)) {\n previousNode = previousNode.getLastDescendant();\n }\n return previousNode === null || $isLineBreakNode(previousNode) || $isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent(), separatorRegex);\n}\nfunction isNextNodeValid(node, separatorRegex) {\n let nextNode = node.getNextSibling();\n if ($isElementNode(nextNode)) {\n nextNode = nextNode.getFirstDescendant();\n }\n return nextNode === null || $isLineBreakNode(nextNode) || $isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent(), separatorRegex);\n}\nfunction isContentAroundIsValid(matchStart, matchEnd, separatorRegex, text, nodes) {\n const contentBeforeIsValid = matchStart > 0 ? isSeparator(text[matchStart - 1], separatorRegex) : isPreviousNodeValid(nodes[0], separatorRegex);\n if (!contentBeforeIsValid) {\n return false;\n }\n const contentAfterIsValid = matchEnd < text.length ? isSeparator(text[matchEnd], separatorRegex) : isNextNodeValid(nodes[nodes.length - 1], separatorRegex);\n return contentAfterIsValid;\n}\nfunction extractMatchingNodes(nodes, startIndex, endIndex) {\n const unmodifiedBeforeNodes = [];\n const matchingNodes = [];\n const unmodifiedAfterNodes = [];\n let matchingOffset = 0;\n let currentOffset = 0;\n const currentNodes = [...nodes];\n while (currentNodes.length > 0) {\n const currentNode = currentNodes[0];\n const currentNodeText = currentNode.getTextContent();\n const currentNodeLength = currentNodeText.length;\n const currentNodeStart = currentOffset;\n const currentNodeEnd = currentOffset + currentNodeLength;\n if (currentNodeEnd <= startIndex) {\n unmodifiedBeforeNodes.push(currentNode);\n matchingOffset += currentNodeLength;\n } else if (currentNodeStart >= endIndex) {\n unmodifiedAfterNodes.push(currentNode);\n } else {\n matchingNodes.push(currentNode);\n }\n currentOffset += currentNodeLength;\n currentNodes.shift();\n }\n return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes];\n}\nfunction $createAutoLinkNode_(nodes, startIndex, endIndex, match) {\n const linkNode = $createAutoLinkNode(match.url, match.attributes);\n if (nodes.length === 1) {\n let remainingTextNode = nodes[0];\n let linkTextNode;\n if (startIndex === 0) {\n [linkTextNode, remainingTextNode] = remainingTextNode.splitText(endIndex);\n } else {\n [, linkTextNode, remainingTextNode] = remainingTextNode.splitText(startIndex, endIndex);\n }\n const textNode = $createTextNode(match.text);\n textNode.setFormat(linkTextNode.getFormat());\n textNode.setDetail(linkTextNode.getDetail());\n textNode.setStyle(linkTextNode.getStyle());\n linkNode.append(textNode);\n linkTextNode.replace(linkNode);\n return remainingTextNode;\n } else if (nodes.length > 1) {\n const firstTextNode = nodes[0];\n let offset = firstTextNode.getTextContent().length;\n let firstLinkTextNode;\n if (startIndex === 0) {\n firstLinkTextNode = firstTextNode;\n } else {\n [, firstLinkTextNode] = firstTextNode.splitText(startIndex);\n }\n const linkNodes = [];\n let remainingTextNode;\n for (let i = 1; i < nodes.length; i++) {\n const currentNode = nodes[i];\n const currentNodeText = currentNode.getTextContent();\n const currentNodeLength = currentNodeText.length;\n const currentNodeStart = offset;\n const currentNodeEnd = offset + currentNodeLength;\n if (currentNodeStart < endIndex) {\n if (currentNodeEnd <= endIndex) {\n linkNodes.push(currentNode);\n } else {\n const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart);\n linkNodes.push(linkTextNode);\n remainingTextNode = endNode;\n }\n }\n offset += currentNodeLength;\n }\n const selection = $getSelection();\n const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined;\n const textNode = $createTextNode(firstLinkTextNode.getTextContent());\n textNode.setFormat(firstLinkTextNode.getFormat());\n textNode.setDetail(firstLinkTextNode.getDetail());\n textNode.setStyle(firstLinkTextNode.getStyle());\n linkNode.append(textNode, ...linkNodes);\n // it does not preserve caret position if caret was at the first text node\n // so we need to restore caret position\n if (selectedTextNode && selectedTextNode === firstLinkTextNode) {\n if ($isRangeSelection(selection)) {\n textNode.select(selection.anchor.offset, selection.focus.offset);\n } else if ($isNodeSelection(selection)) {\n textNode.select(0, textNode.getTextContent().length);\n }\n }\n firstLinkTextNode.replace(linkNode);\n return remainingTextNode;\n }\n return undefined;\n}\nfunction $handleLinkCreation(nodes, matchers, onChange, separatorRegex) {\n // Early return if any node is already part of an AutoLinkNode (idempotency check)\n for (const node of nodes) {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n return;\n }\n }\n let currentNodes = [...nodes];\n const initialText = currentNodes.map(node => node.getTextContent()).join('');\n let text = initialText;\n let match;\n let invalidMatchEnd = 0;\n while ((match = findFirstMatch(text, matchers)) && match !== null) {\n const matchStart = match.index;\n const matchLength = match.length;\n const matchEnd = matchStart + matchLength;\n const isValid = isContentAroundIsValid(invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd, separatorRegex, initialText, currentNodes);\n if (isValid) {\n const [matchingOffset,, matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(currentNodes, invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd);\n\n // Skip if matching nodes are already part of an AutoLinkNode\n let alreadyLinked = false;\n for (const node of matchingNodes) {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n alreadyLinked = true;\n break;\n }\n }\n if (alreadyLinked) {\n invalidMatchEnd += matchEnd;\n text = text.substring(matchEnd);\n continue;\n }\n const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset;\n const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset;\n const remainingTextNode = $createAutoLinkNode_(matchingNodes, actualMatchStart, actualMatchEnd, match);\n currentNodes = remainingTextNode ? [remainingTextNode, ...unmodifiedAfterNodes] : unmodifiedAfterNodes;\n onChange(match.url, null);\n invalidMatchEnd = 0;\n } else {\n invalidMatchEnd += matchEnd;\n }\n text = text.substring(matchEnd);\n }\n}\nfunction handleLinkEdit(linkNode, matchers, onChange, separatorRegex) {\n // Check children are simple text\n const children = linkNode.getChildren();\n const childrenLength = children.length;\n for (let i = 0; i < childrenLength; i++) {\n const child = children[i];\n if (!$isTextNode(child) || !child.isSimpleText()) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n }\n\n // Check text content fully matches\n const text = linkNode.getTextContent();\n const match = findFirstMatch(text, matchers);\n if (match === null || match.text !== text) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n\n // Check neighbors\n if (!isPreviousNodeValid(linkNode, separatorRegex) || !isNextNodeValid(linkNode, separatorRegex)) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n const url = linkNode.getURL();\n if (url !== match.url) {\n linkNode.setURL(match.url);\n onChange(match.url, url);\n }\n if (match.attributes) {\n const rel = linkNode.getRel();\n if (rel !== match.attributes.rel) {\n linkNode.setRel(match.attributes.rel || null);\n onChange(match.attributes.rel || null, rel);\n }\n const target = linkNode.getTarget();\n if (target !== match.attributes.target) {\n linkNode.setTarget(match.attributes.target || null);\n onChange(match.attributes.target || null, target);\n }\n }\n}\n\n// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.\n// Given the creation preconditions, these can only be simple text nodes.\nfunction handleBadNeighbors(textNode, matchers, onChange, separatorRegex) {\n const parent = textNode.getParent();\n const previousSibling = textNode.getPreviousSibling();\n const nextSibling = textNode.getNextSibling();\n const text = textNode.getTextContent();\n\n // Skip if textNode is already part of an AutoLinkNode (idempotency check)\n // The handleLinkEdit on the parent will handle unwrapping if needed\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n return;\n }\n\n // Handle case: textNode added AFTER a link, making link invalid\n // Check if previousSibling is a link and adding this textNode makes it invalid\n if ($isAutoLinkNode(previousSibling) && !previousSibling.getIsUnlinked()) {\n // Check if the textNode is still a sibling (hasn't been moved) to prevent loops\n if (previousSibling.is(textNode.getPreviousSibling()) && textNode.getParent() === previousSibling.getParent()) {\n // If text doesn't start with separator, link should be unwrapped\n // because non-separator after link makes the boundary invalid\n if (!startsWithSeparator(text, separatorRegex)) {\n // Non-separator after link - unwrap the link\n replaceWithChildren(previousSibling);\n onChange(null, previousSibling.getURL());\n return; // Early return after unwrapping to avoid further processing\n }\n\n // If text starts with separator, check if it's valid TLD continuation\n if (startsWithTLD(text, previousSibling.isEmailURI())) {\n // Valid TLD continuation - try to append\n const combinedText = previousSibling.getTextContent() + text;\n const match = findFirstMatch(combinedText, matchers);\n if (match !== null && match.text === combinedText) {\n previousSibling.append(textNode);\n handleLinkEdit(previousSibling, matchers, onChange, separatorRegex);\n onChange(null, previousSibling.getURL());\n }\n }\n // If starts with separator but not valid TLD, do nothing (link stays valid)\n }\n }\n\n // Handle case: textNode added BEFORE a link, making link invalid\n if ($isAutoLinkNode(nextSibling) && !nextSibling.getIsUnlinked() && !endsWithSeparator(text, separatorRegex)) {\n // Check if the nextSibling is still a sibling (hasn't been moved) to prevent loops\n if (nextSibling.is(textNode.getNextSibling()) && textNode.getParent() === nextSibling.getParent()) {\n replaceWithChildren(nextSibling);\n onChange(null, nextSibling.getURL());\n }\n }\n}\nfunction replaceWithChildren(node) {\n const children = node.getChildren();\n const childrenLength = children.length;\n for (let j = childrenLength - 1; j >= 0; j--) {\n node.insertAfter(children[j]);\n }\n node.remove();\n return children.map(child => child.getLatest());\n}\nfunction getTextNodesToMatch(textNode) {\n // check if next siblings are simple text nodes till a node contains a space separator\n const textNodesToMatch = [textNode];\n let nextSibling = textNode.getNextSibling();\n while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {\n textNodesToMatch.push(nextSibling);\n if (/[\\s]/.test(nextSibling.getTextContent())) {\n break;\n }\n nextSibling = nextSibling.getNextSibling();\n }\n return textNodesToMatch;\n}\nconst defaultConfig = {\n changeHandlers: [],\n excludeParents: [],\n matchers: [],\n separatorRegex: PUNCTUATION_OR_SPACE\n};\nfunction registerAutoLink(editor, config = defaultConfig) {\n const {\n matchers,\n changeHandlers,\n excludeParents,\n separatorRegex = PUNCTUATION_OR_SPACE\n } = config;\n const onChange = (url, prevUrl) => {\n for (const handler of changeHandlers) {\n handler(url, prevUrl);\n }\n };\n return mergeRegister(editor.registerNodeTransform(TextNode, textNode => {\n const parent = textNode.getParentOrThrow();\n const previous = textNode.getPreviousSibling();\n if ($isAutoLinkNode(parent)) {\n handleLinkEdit(parent, matchers, onChange, separatorRegex);\n } else if (!$isLinkNode(parent) && !excludeParents.some(pred => pred(parent))) {\n if (textNode.isSimpleText() && (startsWithSeparator(textNode.getTextContent(), separatorRegex) || !$isAutoLinkNode(previous))) {\n const textNodesToMatch = getTextNodesToMatch(textNode);\n $handleLinkCreation(textNodesToMatch, matchers, onChange, separatorRegex);\n }\n handleBadNeighbors(textNode, matchers, onChange, separatorRegex);\n }\n }), editor.registerCommand(TOGGLE_LINK_COMMAND, payload => {\n const selection = $getSelection();\n if (payload !== null || !$isRangeSelection(selection)) {\n return false;\n }\n const nodes = selection.extract();\n nodes.forEach(node => {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent)) {\n // invert the value\n parent.setIsUnlinked(!parent.getIsUnlinked());\n parent.markDirty();\n }\n });\n return false;\n },\n // Has to be higher than TOGGLE_LINK_COMMAND in LinkExtension\n COMMAND_PRIORITY_LOW));\n}\n\n/**\n * An extension to automatically create AutoLinkNode from text\n * that matches the configured matchers. No default implementation\n * is provided for any matcher, see {@link createLinkMatcherWithRegExp}\n * for a helper function to create a matcher from a RegExp, and the\n * Playground's [AutoLinkPlugin](https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/AutoLinkPlugin/index.tsx)\n * for some example RegExps that could be used.\n *\n * The given `matchers` and `changeHandlers` will be merged by\n * concatenating the configured arrays.\n */\nconst AutoLinkExtension = defineExtension({\n config: defaultConfig,\n dependencies: [LinkExtension],\n mergeConfig(config, overrides) {\n const merged = shallowMergeConfig(config, overrides);\n for (const k of ['matchers', 'changeHandlers', 'excludeParents']) {\n const v = overrides[k];\n if (Array.isArray(v)) {\n merged[k] = [...config[k], ...v];\n }\n }\n return merged;\n },\n name: '@lexical/link/AutoLink',\n nodes: [AutoLinkNode],\n register: registerAutoLink\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/** @deprecated renamed to {@link $toggleLink} by @lexical/eslint-plugin rules-of-lexical */\nconst toggleLink = $toggleLink;\n\nexport { $createAutoLinkNode, $createLinkNode, $isAutoLinkNode, $isLinkNode, $toggleLink, AutoLinkExtension, AutoLinkNode, ClickableLinkExtension, LinkExtension, LinkNode, TOGGLE_LINK_COMMAND, createLinkMatcherWithRegExp, formatUrl, registerAutoLink, registerClickableLink, registerLink, toggleLink };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"LexicalLink.dev-BO0J0B1E.mjs","names":[],"sources":["../../../node_modules/.pnpm/@lexical+link@0.44.0/node_modules/@lexical/link/LexicalLink.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 { addClassNamesToElement, isHTMLAnchorElement, $findMatchingParent, $insertNodeToNearestRootAtCaret, mergeRegister, objectKlassEquals } from '@lexical/utils';\nimport { ElementNode, $copyNode, $isRangeSelection, $applyNodeReplacement, createCommand, $getSelection, $isNodeSelection, $normalizeSelection__EXPERIMENTAL, $setSelection, $getChildCaret, $isElementNode, $rewindSiblingCaret, $caretFromPoint, $normalizeCaret, $isSiblingCaret, $setPointFromCaret, defineExtension, shallowMergeConfig, COMMAND_PRIORITY_EDITOR, PASTE_COMMAND, COMMAND_PRIORITY_LOW, safeCast, isDOMNode, getNearestEditorFromDOMNode, $getNearestNodeFromDOMNode, TextNode, $isTextNode, $isLineBreakNode, $createTextNode } from 'lexical';\nimport { namedSignals, effect } from '@lexical/extension';\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\nconst SUPPORTED_URL_PROTOCOLS = new Set(['http:', 'https:', 'mailto:', 'sms:', 'tel:']);\n\n/** @noInheritDoc */\nclass LinkNode extends ElementNode {\n /** @internal */\n __url;\n /** @internal */\n __target;\n /** @internal */\n __rel;\n /** @internal */\n __title;\n static getType() {\n return 'link';\n }\n static clone(node) {\n return new LinkNode(node.__url, {\n rel: node.__rel,\n target: node.__target,\n title: node.__title\n }, node.__key);\n }\n constructor(url = '', attributes = {}, key) {\n super(key);\n const {\n target = null,\n rel = null,\n title = null\n } = attributes;\n this.__url = url;\n this.__target = target;\n this.__rel = rel;\n this.__title = title;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__url = prevNode.__url;\n this.__rel = prevNode.__rel;\n this.__target = prevNode.__target;\n this.__title = prevNode.__title;\n }\n createDOM(config) {\n const element = document.createElement('a');\n this.updateLinkDOM(null, element, config);\n addClassNamesToElement(element, config.theme.link);\n return element;\n }\n updateLinkDOM(prevNode, anchor, config) {\n if (isHTMLAnchorElement(anchor)) {\n if (!prevNode || prevNode.__url !== this.__url) {\n anchor.href = this.sanitizeUrl(this.__url);\n }\n for (const attr of ['target', 'rel', 'title']) {\n const key = `__${attr}`;\n const value = this[key];\n if (!prevNode || prevNode[key] !== value) {\n if (value) {\n anchor[attr] = value;\n } else {\n anchor.removeAttribute(attr);\n }\n }\n }\n }\n }\n updateDOM(prevNode, anchor, config) {\n this.updateLinkDOM(prevNode, anchor, config);\n return false;\n }\n static importDOM() {\n return {\n a: node => ({\n conversion: $convertAnchorElement,\n priority: 1\n })\n };\n }\n static importJSON(serializedNode) {\n return $createLinkNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setURL(serializedNode.url).setRel(serializedNode.rel || null).setTarget(serializedNode.target || null).setTitle(serializedNode.title || null);\n }\n sanitizeUrl(url) {\n url = formatUrl(url);\n try {\n const parsedUrl = new URL(formatUrl(url));\n if (!SUPPORTED_URL_PROTOCOLS.has(parsedUrl.protocol)) {\n return 'about:blank';\n }\n } catch (_unused) {\n return url;\n }\n return url;\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n rel: this.getRel(),\n target: this.getTarget(),\n title: this.getTitle(),\n url: this.getURL()\n };\n }\n getURL() {\n return this.getLatest().__url;\n }\n setURL(url) {\n const writable = this.getWritable();\n writable.__url = url;\n return writable;\n }\n getTarget() {\n return this.getLatest().__target;\n }\n setTarget(target) {\n const writable = this.getWritable();\n writable.__target = target;\n return writable;\n }\n getRel() {\n return this.getLatest().__rel;\n }\n setRel(rel) {\n const writable = this.getWritable();\n writable.__rel = rel;\n return writable;\n }\n getTitle() {\n return this.getLatest().__title;\n }\n setTitle(title) {\n const writable = this.getWritable();\n writable.__title = title;\n return writable;\n }\n insertNewAfter(_, restoreSelection = true) {\n const linkNode = $copyNode(this);\n this.insertAfter(linkNode, restoreSelection);\n return linkNode;\n }\n canInsertTextBefore() {\n return false;\n }\n canInsertTextAfter() {\n return false;\n }\n canBeEmpty() {\n return false;\n }\n isInline() {\n return true;\n }\n extractWithChild(child, selection, destination) {\n if (!$isRangeSelection(selection)) {\n return false;\n }\n const anchorNode = selection.anchor.getNode();\n const focusNode = selection.focus.getNode();\n return this.isParentOf(anchorNode) && this.isParentOf(focusNode) && selection.getTextContent().length > 0;\n }\n isEmailURI() {\n return this.__url.startsWith('mailto:');\n }\n isWebSiteURI() {\n return this.__url.startsWith('https://') || this.__url.startsWith('http://');\n }\n shouldMergeAdjacentLink(otherLink) {\n return this.getType() === otherLink.getType() && this.__url === otherLink.__url && this.__target === otherLink.__target && this.__rel === otherLink.__rel && this.__title === otherLink.__title;\n }\n}\nfunction $saveCaretPair(point) {\n const next = $caretFromPoint(point, 'next');\n return [next, next.getFlipped()];\n}\nfunction $restoreCaretPair(point, pair) {\n for (const caret of pair) {\n if (caret.origin.isAttached()) {\n const normalized = $normalizeCaret(caret);\n $setPointFromCaret(point, normalized);\n return;\n }\n }\n}\n\n/**\n * Extracts block-level children from a LinkNode, splitting\n * ancestor nodes as needed to maintain a valid document structure.\n * @param link - The LinkNode to normalize\n */\nfunction $linkNodeTransform(link) {\n const selection = $getSelection();\n let anchorPair = null;\n let focusPair = null;\n if ($isRangeSelection(selection)) {\n anchorPair = $saveCaretPair(selection.anchor);\n focusPair = $saveCaretPair(selection.focus);\n }\n function $restoreSelection() {\n if ($isRangeSelection(selection)) {\n $restoreCaretPair(selection.anchor, anchorPair);\n $restoreCaretPair(selection.focus, focusPair);\n $normalizeSelection__EXPERIMENTAL(selection);\n }\n }\n let transformed = false;\n for (const caret of $getChildCaret(link, 'next')) {\n const node = caret.origin;\n if ($isElementNode(node) && !node.isInline()) {\n const blockChildren = node.getChildren();\n if (blockChildren.length > 0) {\n const innerLink = $copyNode(link);\n innerLink.append(...blockChildren);\n node.append(innerLink);\n transformed = true;\n }\n $insertNodeToNearestRootAtCaret(node, $rewindSiblingCaret(caret), {\n $shouldSplit: () => false\n });\n }\n }\n // Fix a caret pair that points to the end of the absorbing link,\n // which would shift when new children are appended during merge.\n function $fixMergeBoundaryCaret(pair, absorbingLink, mergingLink) {\n const [next, prev] = pair;\n const $isAffected = caret => $isSiblingCaret(caret) && caret.origin.is(absorbingLink);\n if (!$isAffected(next) && !$isAffected(prev)) {\n return pair;\n }\n // Resolve the merge boundary from the merging link's start, since\n // those children survive the move and represent the boundary position.\n const fixed = $normalizeCaret($getChildCaret(mergingLink, 'next'));\n return [fixed, fixed.getFlipped()];\n }\n if (link.isAttached()) {\n const prevSibling = link.getPreviousSibling();\n if ($isLinkNode(prevSibling) && prevSibling.shouldMergeAdjacentLink(link)) {\n if (anchorPair) {\n anchorPair = $fixMergeBoundaryCaret(anchorPair, prevSibling, link);\n }\n if (focusPair) {\n focusPair = $fixMergeBoundaryCaret(focusPair, prevSibling, link);\n }\n prevSibling.append(...link.getChildren());\n link.remove();\n $restoreSelection();\n return;\n }\n const nextSibling = link.getNextSibling();\n if ($isLinkNode(nextSibling) && link.shouldMergeAdjacentLink(nextSibling)) {\n if (anchorPair) {\n anchorPair = $fixMergeBoundaryCaret(anchorPair, link, nextSibling);\n }\n if (focusPair) {\n focusPair = $fixMergeBoundaryCaret(focusPair, link, nextSibling);\n }\n link.append(...nextSibling.getChildren());\n nextSibling.remove();\n transformed = true;\n }\n }\n if (!transformed) {\n return;\n }\n if (!link.canBeEmpty() && link.isEmpty()) {\n const parent = link.getParent();\n link.remove();\n if (parent && parent.isEmpty()) {\n parent.remove();\n }\n }\n $restoreSelection();\n}\nfunction $convertAnchorElement(domNode) {\n let node = null;\n if (isHTMLAnchorElement(domNode)) {\n const content = domNode.textContent;\n if (content !== null && content !== '' || domNode.children.length > 0) {\n node = $createLinkNode(domNode.getAttribute('href') || '', {\n rel: domNode.getAttribute('rel'),\n target: domNode.getAttribute('target'),\n title: domNode.getAttribute('title')\n });\n }\n }\n return {\n node\n };\n}\n\n/**\n * Takes a URL and creates a LinkNode.\n * @param url - The URL the LinkNode should direct to.\n * @param attributes - Optional HTML a tag attributes \\\\{ target, rel, title \\\\}\n * @returns The LinkNode.\n */\nfunction $createLinkNode(url = '', attributes) {\n return $applyNodeReplacement(new LinkNode(url, attributes));\n}\n\n/**\n * Determines if node is a LinkNode.\n * @param node - The node to be checked.\n * @returns true if node is a LinkNode, false otherwise.\n */\nfunction $isLinkNode(node) {\n return node instanceof LinkNode;\n}\n// Custom node type to override `canInsertTextAfter` that will\n// allow typing within the link\nclass AutoLinkNode extends LinkNode {\n /** @internal */\n /** Indicates whether the autolink was ever unlinked. **/\n __isUnlinked;\n constructor(url = '', attributes = {}, key) {\n super(url, attributes, key);\n this.__isUnlinked = attributes.isUnlinked !== undefined && attributes.isUnlinked !== null ? attributes.isUnlinked : false;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__isUnlinked = prevNode.__isUnlinked;\n }\n static getType() {\n return 'autolink';\n }\n static clone(node) {\n return new AutoLinkNode(node.__url, {\n isUnlinked: node.__isUnlinked,\n rel: node.__rel,\n target: node.__target,\n title: node.__title\n }, node.__key);\n }\n shouldMergeAdjacentLink(_otherLink) {\n return false;\n }\n getIsUnlinked() {\n return this.__isUnlinked;\n }\n setIsUnlinked(value) {\n const self = this.getWritable();\n self.__isUnlinked = value;\n return self;\n }\n createDOM(config) {\n if (this.__isUnlinked) {\n return document.createElement('span');\n } else {\n return super.createDOM(config);\n }\n }\n updateDOM(prevNode, anchor, config) {\n return super.updateDOM(prevNode, anchor, config) || prevNode.__isUnlinked !== this.__isUnlinked;\n }\n static importJSON(serializedNode) {\n return $createAutoLinkNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setIsUnlinked(serializedNode.isUnlinked || false);\n }\n static importDOM() {\n // TODO: Should link node should handle the import over autolink?\n return null;\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n isUnlinked: this.__isUnlinked\n };\n }\n insertNewAfter(_, restoreSelection = true) {\n const linkNode = $createAutoLinkNode(this.__url, {\n isUnlinked: this.__isUnlinked,\n rel: this.__rel,\n target: this.__target,\n title: this.__title\n });\n this.insertAfter(linkNode, restoreSelection);\n return linkNode;\n }\n}\n\n/**\n * Takes a URL and creates an AutoLinkNode. AutoLinkNodes are generally automatically generated\n * during typing, which is especially useful when a button to generate a LinkNode is not practical.\n * @param url - The URL the LinkNode should direct to.\n * @param attributes - Optional HTML a tag attributes. \\\\{ target, rel, title \\\\}\n * @returns The LinkNode.\n */\nfunction $createAutoLinkNode(url = '', attributes) {\n return $applyNodeReplacement(new AutoLinkNode(url, attributes));\n}\n\n/**\n * Determines if node is an AutoLinkNode.\n * @param node - The node to be checked.\n * @returns true if node is an AutoLinkNode, false otherwise.\n */\nfunction $isAutoLinkNode(node) {\n return node instanceof AutoLinkNode;\n}\nconst TOGGLE_LINK_COMMAND = createCommand('TOGGLE_LINK_COMMAND');\nfunction $getPointNode(point, offset) {\n if (point.type === 'element') {\n const node = point.getNode();\n if (!$isElementNode(node)) {\n formatDevErrorMessage(`$getPointNode: element point is not an ElementNode`);\n }\n const childNode = node.getChildren()[point.offset + offset];\n return childNode || null;\n }\n return null;\n}\n\n/**\n * Preserve the logical start/end of a RangeSelection in situations where\n * the point is an element that may be reparented in the callback.\n *\n * @param $fn The function to run\n * @returns The result of the callback\n */\nfunction $withSelectedNodes($fn) {\n const initialSelection = $getSelection();\n if (!$isRangeSelection(initialSelection)) {\n return $fn();\n }\n const normalized = $normalizeSelection__EXPERIMENTAL(initialSelection);\n const isBackwards = normalized.isBackward();\n const anchorNode = $getPointNode(normalized.anchor, isBackwards ? -1 : 0);\n const focusNode = $getPointNode(normalized.focus, isBackwards ? 0 : -1);\n const rval = $fn();\n if (anchorNode || focusNode) {\n const updatedSelection = $getSelection();\n if ($isRangeSelection(updatedSelection)) {\n const finalSelection = updatedSelection.clone();\n if (anchorNode) {\n const anchorParent = anchorNode.getParent();\n if (anchorParent) {\n finalSelection.anchor.set(anchorParent.getKey(), anchorNode.getIndexWithinParent() + (isBackwards ? 1 : 0), 'element');\n }\n }\n if (focusNode) {\n const focusParent = focusNode.getParent();\n if (focusParent) {\n finalSelection.focus.set(focusParent.getKey(), focusNode.getIndexWithinParent() + (isBackwards ? 0 : 1), 'element');\n }\n }\n $setSelection($normalizeSelection__EXPERIMENTAL(finalSelection));\n }\n }\n return rval;\n}\n\n/**\n * Splits a LinkNode by removing selected children from it.\n * Handles three cases: selection at start, end, or middle of the link.\n * @param parentLink - The LinkNode to split\n * @param extractedNodes - The nodes that were extracted from the selection\n */\nfunction $splitLinkAtSelection(parentLink, extractedNodes) {\n const extractedKeys = new Set(extractedNodes.filter(n => parentLink.isParentOf(n)).map(n => n.getKey()));\n const allChildren = parentLink.getChildren();\n // Check if a child is an extracted node OR contains an extracted node\n // This handles nested structures like LinkNode > HeadingNode > TextNode\n const isExtractedChild = child => extractedKeys.has(child.getKey()) || $isElementNode(child) && extractedNodes.some(n => parentLink.isParentOf(n) && child.isParentOf(n));\n const extractedChildren = allChildren.filter(isExtractedChild);\n if (extractedChildren.length === allChildren.length) {\n allChildren.forEach(child => parentLink.insertBefore(child));\n parentLink.remove();\n return;\n }\n const firstExtractedIndex = allChildren.findIndex(isExtractedChild);\n const lastExtractedIndex = allChildren.findLastIndex(isExtractedChild);\n const isAtStart = firstExtractedIndex === 0;\n const isAtEnd = lastExtractedIndex === allChildren.length - 1;\n if (isAtStart) {\n extractedChildren.forEach(child => parentLink.insertBefore(child));\n } else if (isAtEnd) {\n for (let i = extractedChildren.length - 1; i >= 0; i--) {\n parentLink.insertAfter(extractedChildren[i]);\n }\n } else {\n for (let i = extractedChildren.length - 1; i >= 0; i--) {\n parentLink.insertAfter(extractedChildren[i]);\n }\n const trailingChildren = allChildren.slice(lastExtractedIndex + 1);\n if (trailingChildren.length > 0) {\n const newLink = $copyNode(parentLink);\n extractedChildren[extractedChildren.length - 1].insertAfter(newLink);\n trailingChildren.forEach(child => newLink.append(child));\n }\n }\n}\n\n/**\n * Generates or updates a LinkNode. It can also delete a LinkNode if the URL is null,\n * but saves any children and brings them up to the parent node.\n * @param urlOrAttributes - The URL the link directs to, or an attributes object with an url property\n * @param attributes - Optional HTML a tag attributes. \\\\{ target, rel, title \\\\}\n */\nfunction $toggleLink(urlOrAttributes, attributes = {}) {\n let url;\n if (urlOrAttributes && typeof urlOrAttributes === 'object') {\n const {\n url: urlProp,\n ...rest\n } = urlOrAttributes;\n url = urlProp;\n attributes = {\n ...rest,\n ...attributes\n };\n } else {\n url = urlOrAttributes;\n }\n const {\n target,\n title\n } = attributes;\n const rel = attributes.rel === undefined ? 'noreferrer' : attributes.rel;\n const selection = $getSelection();\n if (selection === null || !$isRangeSelection(selection) && !$isNodeSelection(selection)) {\n return;\n }\n if ($isNodeSelection(selection)) {\n const nodes = selection.getNodes();\n if (nodes.length === 0) {\n return;\n }\n\n // Handle all selected nodes\n nodes.forEach(node => {\n if (url === null) {\n // Remove link\n const linkParent = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (linkParent) {\n linkParent.insertBefore(node);\n if (linkParent.getChildren().length === 0) {\n linkParent.remove();\n }\n }\n } else {\n // Add/Update link\n const existingLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (existingLink) {\n existingLink.setURL(url);\n if (target !== undefined) {\n existingLink.setTarget(target);\n }\n if (rel !== undefined) {\n existingLink.setRel(rel);\n }\n } else {\n const linkNode = $createLinkNode(url, {\n rel,\n target\n });\n node.insertBefore(linkNode);\n linkNode.append(node);\n }\n }\n });\n return;\n }\n if (selection.isCollapsed() && url === null) {\n for (const node of selection.getNodes()) {\n const parentLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (parentLink !== null) {\n parentLink.getChildren().forEach(child => {\n parentLink.insertBefore(child);\n });\n parentLink.remove();\n }\n return;\n }\n }\n\n // Handle RangeSelection\n const nodes = selection.extract();\n if (url === null) {\n const processedLinks = new Set();\n nodes.forEach(node => {\n const parentLink = $findMatchingParent(node, parent => !$isAutoLinkNode(parent) && $isLinkNode(parent));\n if (parentLink !== null) {\n const linkKey = parentLink.getKey();\n if (processedLinks.has(linkKey)) {\n return;\n }\n $splitLinkAtSelection(parentLink, nodes);\n processedLinks.add(linkKey);\n }\n });\n return;\n }\n const updatedNodes = new Set();\n const updateLinkNode = linkNode => {\n if (updatedNodes.has(linkNode.getKey())) {\n return;\n }\n updatedNodes.add(linkNode.getKey());\n linkNode.setURL(url);\n if (target !== undefined) {\n linkNode.setTarget(target);\n }\n if (rel !== undefined) {\n linkNode.setRel(rel);\n }\n if (title !== undefined) {\n linkNode.setTitle(title);\n }\n };\n // Add or merge LinkNodes\n if (nodes.length === 1) {\n const firstNode = nodes[0];\n // if the first node is a LinkNode or if its\n // parent is a LinkNode, we update the URL, target and rel.\n const linkNode = $findMatchingParent(firstNode, $isLinkNode);\n if (linkNode !== null) {\n return updateLinkNode(linkNode);\n }\n }\n $withSelectedNodes(() => {\n let linkNode = null;\n for (const node of nodes) {\n if (!node.isAttached()) {\n continue;\n }\n const parentLinkNode = $findMatchingParent(node, $isLinkNode);\n if (parentLinkNode) {\n updateLinkNode(parentLinkNode);\n continue;\n }\n if ($isElementNode(node)) {\n if (!node.isInline()) {\n // Ignore block nodes, if there are any children we will see them\n // later and wrap in a new LinkNode\n continue;\n }\n if ($isLinkNode(node)) {\n // If it's not an autolink node and we don't already have a LinkNode\n // in this block then we can update it and re-use it\n if (!$isAutoLinkNode(node) && (linkNode === null || !linkNode.getParentOrThrow().isParentOf(node))) {\n updateLinkNode(node);\n linkNode = node;\n continue;\n }\n // Unwrap LinkNode, we already have one or it's an AutoLinkNode\n for (const child of node.getChildren()) {\n node.insertBefore(child);\n }\n node.remove();\n continue;\n }\n }\n const prevLinkNode = node.getPreviousSibling();\n if ($isLinkNode(prevLinkNode) && prevLinkNode.is(linkNode)) {\n prevLinkNode.append(node);\n continue;\n }\n linkNode = $createLinkNode(url, {\n rel,\n target,\n title\n });\n node.insertAfter(linkNode);\n linkNode.append(node);\n }\n });\n}\nconst PHONE_NUMBER_REGEX = /^\\+?[0-9\\s()-]{5,}$/;\n\n/**\n * Formats a URL string by adding appropriate protocol if missing\n *\n * @param url - URL to format\n * @returns Formatted URL with appropriate protocol\n */\nfunction formatUrl(url) {\n // Check if URL already has a protocol\n if (url.match(/^[a-z][a-z0-9+.-]*:/i)) {\n // URL already has a protocol, leave it as is\n return url;\n }\n // Check if it's a relative path (starting with '/', '.', or '#')\n else if (url.match(/^[/#.]/)) {\n // Relative path, leave it as is\n return url;\n }\n\n // Check for email address\n else if (url.includes('@')) {\n return `mailto:${url}`;\n }\n\n // Check for phone number\n else if (PHONE_NUMBER_REGEX.test(url)) {\n return `tel:${url}`;\n }\n\n // For everything else, return with https:// prefix\n return `https://${url}`;\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 defaultProps = {\n attributes: undefined,\n validateUrl: undefined\n};\n\n/** @internal */\nfunction registerLink(editor, stores) {\n return mergeRegister(editor.registerNodeTransform(LinkNode, $linkNodeTransform), editor.registerCommand(TOGGLE_LINK_COMMAND, payload => {\n const validateUrl = stores.validateUrl.peek();\n const attributes = stores.attributes.peek();\n if (payload === null) {\n $toggleLink(null);\n return true;\n } else if (typeof payload === 'string') {\n if (validateUrl === undefined || validateUrl(payload)) {\n $toggleLink(payload, attributes);\n return true;\n }\n return false;\n } else {\n const {\n url,\n target,\n rel,\n title\n } = payload;\n $toggleLink(url, {\n ...attributes,\n rel,\n target,\n title\n });\n return true;\n }\n }, COMMAND_PRIORITY_EDITOR), effect(() => {\n const validateUrl = stores.validateUrl.value;\n if (!validateUrl) {\n return;\n }\n const attributes = stores.attributes.value;\n return editor.registerCommand(PASTE_COMMAND, event => {\n const selection = $getSelection();\n if (!$isRangeSelection(selection) || selection.isCollapsed() || !objectKlassEquals(event, ClipboardEvent)) {\n return false;\n }\n if (event.clipboardData === null) {\n return false;\n }\n const clipboardText = event.clipboardData.getData('text');\n if (!validateUrl(clipboardText)) {\n return false;\n }\n // If we select nodes that are elements then avoid applying the link.\n if (!selection.getNodes().some(node => $isElementNode(node))) {\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, {\n ...attributes,\n url: clipboardText\n });\n event.preventDefault();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_LOW);\n }));\n}\n\n/**\n * Provides {@link LinkNode}, an implementation of\n * {@link TOGGLE_LINK_COMMAND}, and a {@link PASTE_COMMAND}\n * listener to wrap selected nodes in a link when a\n * URL is pasted and `validateUrl` is defined.\n */\nconst LinkExtension = defineExtension({\n build(editor, config, state) {\n return namedSignals(config);\n },\n config: defaultProps,\n mergeConfig(config, overrides) {\n const merged = shallowMergeConfig(config, overrides);\n if (config.attributes) {\n merged.attributes = shallowMergeConfig(config.attributes, merged.attributes);\n }\n return merged;\n },\n name: '@lexical/link/Link',\n nodes: () => [LinkNode],\n register(editor, config, state) {\n return registerLink(editor, state.getOutput());\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 findMatchingDOM(startNode, predicate) {\n let node = startNode;\n while (node != null) {\n if (predicate(node)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction registerClickableLink(editor, stores, eventOptions = {}) {\n const onClick = event => {\n const target = event.target;\n if (!isDOMNode(target)) {\n return;\n }\n const nearestEditor = getNearestEditorFromDOMNode(target);\n if (nearestEditor === null) {\n return;\n }\n let url = null;\n let urlTarget = null;\n nearestEditor.update(() => {\n const clickedNode = $getNearestNodeFromDOMNode(target);\n if (clickedNode !== null) {\n const maybeLinkNode = $findMatchingParent(clickedNode, $isElementNode);\n if (!stores.disabled.peek()) {\n if ($isLinkNode(maybeLinkNode)) {\n url = maybeLinkNode.sanitizeUrl(maybeLinkNode.getURL());\n urlTarget = maybeLinkNode.getTarget();\n } else {\n const a = findMatchingDOM(target, isHTMLAnchorElement);\n if (a !== null) {\n url = a.href;\n urlTarget = a.target;\n }\n }\n }\n }\n });\n if (url === null || url === '') {\n return;\n }\n\n // Allow user to select link text without following url\n const selection = editor.getEditorState().read($getSelection, {\n editor\n });\n if ($isRangeSelection(selection) && !selection.isCollapsed()) {\n event.preventDefault();\n return;\n }\n const isMiddle = event.type === 'auxclick' && event.button === 1;\n window.open(url, stores.newTab.peek() || isMiddle || event.metaKey || event.ctrlKey || urlTarget === '_blank' ? '_blank' : '_self');\n event.preventDefault();\n };\n const onMouseUp = event => {\n if (event.button === 1) {\n onClick(event);\n }\n };\n return editor.registerRootListener(rootElement => {\n if (rootElement) {\n rootElement.addEventListener('click', onClick, eventOptions);\n rootElement.addEventListener('mouseup', onMouseUp, eventOptions);\n return () => {\n rootElement.removeEventListener('click', onClick);\n rootElement.removeEventListener('mouseup', onMouseUp);\n };\n }\n });\n}\n\n/**\n * Normally in a Lexical editor the `CLICK_COMMAND` on a LinkNode will cause the\n * selection to change instead of opening a link. This extension can be used to\n * restore the default behavior, e.g. when the editor is not editable.\n */\nconst ClickableLinkExtension = defineExtension({\n build(editor, config, state) {\n return namedSignals(config);\n },\n config: safeCast({\n disabled: false,\n newTab: false\n }),\n dependencies: [LinkExtension],\n name: '@lexical/link/ClickableLink',\n register(editor, config, state) {\n return registerClickableLink(editor, state.getOutput());\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 createLinkMatcherWithRegExp(regExp, urlTransformer = text => text) {\n return text => {\n const match = regExp.exec(text);\n if (match === null) {\n return null;\n }\n return {\n index: match.index,\n length: match[0].length,\n text: match[0],\n url: urlTransformer(match[0])\n };\n };\n}\nfunction findFirstMatch(text, matchers) {\n for (let i = 0; i < matchers.length; i++) {\n const match = matchers[i](text);\n if (match) {\n return match;\n }\n }\n return null;\n}\nconst PUNCTUATION_OR_SPACE = /[.,;\\s]/;\nfunction isSeparator(char, separatorRegex) {\n return separatorRegex.test(char);\n}\nfunction endsWithSeparator(textContent, separatorRegex) {\n return isSeparator(textContent[textContent.length - 1], separatorRegex);\n}\nfunction startsWithSeparator(textContent, separatorRegex) {\n return isSeparator(textContent[0], separatorRegex);\n}\n\n/**\n * Check if the text content starts with a fullstop followed by a top-level domain.\n * Meaning if the text content can be a beginning of a top level domain.\n * @param textContent\n * @param isEmail\n * @returns boolean\n */\nfunction startsWithTLD(textContent, isEmail) {\n if (isEmail) {\n return /^\\.[a-zA-Z]{2,}/.test(textContent);\n } else {\n return /^\\.[a-zA-Z0-9]{1,}/.test(textContent);\n }\n}\nfunction isPreviousNodeValid(node, separatorRegex) {\n let previousNode = node.getPreviousSibling();\n if ($isElementNode(previousNode)) {\n previousNode = previousNode.getLastDescendant();\n }\n return previousNode === null || $isLineBreakNode(previousNode) || $isTextNode(previousNode) && endsWithSeparator(previousNode.getTextContent(), separatorRegex);\n}\nfunction isNextNodeValid(node, separatorRegex) {\n let nextNode = node.getNextSibling();\n if ($isElementNode(nextNode)) {\n nextNode = nextNode.getFirstDescendant();\n }\n return nextNode === null || $isLineBreakNode(nextNode) || $isTextNode(nextNode) && startsWithSeparator(nextNode.getTextContent(), separatorRegex);\n}\nfunction isContentAroundIsValid(matchStart, matchEnd, separatorRegex, text, nodes) {\n const contentBeforeIsValid = matchStart > 0 ? isSeparator(text[matchStart - 1], separatorRegex) : isPreviousNodeValid(nodes[0], separatorRegex);\n if (!contentBeforeIsValid) {\n return false;\n }\n const contentAfterIsValid = matchEnd < text.length ? isSeparator(text[matchEnd], separatorRegex) : isNextNodeValid(nodes[nodes.length - 1], separatorRegex);\n return contentAfterIsValid;\n}\nfunction extractMatchingNodes(nodes, startIndex, endIndex) {\n const unmodifiedBeforeNodes = [];\n const matchingNodes = [];\n const unmodifiedAfterNodes = [];\n let matchingOffset = 0;\n let currentOffset = 0;\n const currentNodes = [...nodes];\n while (currentNodes.length > 0) {\n const currentNode = currentNodes[0];\n const currentNodeText = currentNode.getTextContent();\n const currentNodeLength = currentNodeText.length;\n const currentNodeStart = currentOffset;\n const currentNodeEnd = currentOffset + currentNodeLength;\n if (currentNodeEnd <= startIndex) {\n unmodifiedBeforeNodes.push(currentNode);\n matchingOffset += currentNodeLength;\n } else if (currentNodeStart >= endIndex) {\n unmodifiedAfterNodes.push(currentNode);\n } else {\n matchingNodes.push(currentNode);\n }\n currentOffset += currentNodeLength;\n currentNodes.shift();\n }\n return [matchingOffset, unmodifiedBeforeNodes, matchingNodes, unmodifiedAfterNodes];\n}\nfunction $createAutoLinkNode_(nodes, startIndex, endIndex, match) {\n const linkNode = $createAutoLinkNode(match.url, match.attributes);\n if (nodes.length === 1) {\n let remainingTextNode = nodes[0];\n let linkTextNode;\n if (startIndex === 0) {\n [linkTextNode, remainingTextNode] = remainingTextNode.splitText(endIndex);\n } else {\n [, linkTextNode, remainingTextNode] = remainingTextNode.splitText(startIndex, endIndex);\n }\n const textNode = $createTextNode(match.text);\n textNode.setFormat(linkTextNode.getFormat());\n textNode.setDetail(linkTextNode.getDetail());\n textNode.setStyle(linkTextNode.getStyle());\n linkNode.append(textNode);\n linkTextNode.replace(linkNode);\n return remainingTextNode;\n } else if (nodes.length > 1) {\n const firstTextNode = nodes[0];\n let offset = firstTextNode.getTextContent().length;\n let firstLinkTextNode;\n if (startIndex === 0) {\n firstLinkTextNode = firstTextNode;\n } else {\n [, firstLinkTextNode] = firstTextNode.splitText(startIndex);\n }\n const linkNodes = [];\n let remainingTextNode;\n for (let i = 1; i < nodes.length; i++) {\n const currentNode = nodes[i];\n const currentNodeText = currentNode.getTextContent();\n const currentNodeLength = currentNodeText.length;\n const currentNodeStart = offset;\n const currentNodeEnd = offset + currentNodeLength;\n if (currentNodeStart < endIndex) {\n if (currentNodeEnd <= endIndex) {\n linkNodes.push(currentNode);\n } else {\n const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart);\n linkNodes.push(linkTextNode);\n remainingTextNode = endNode;\n }\n }\n offset += currentNodeLength;\n }\n const selection = $getSelection();\n const selectedTextNode = selection ? selection.getNodes().find($isTextNode) : undefined;\n const textNode = $createTextNode(firstLinkTextNode.getTextContent());\n textNode.setFormat(firstLinkTextNode.getFormat());\n textNode.setDetail(firstLinkTextNode.getDetail());\n textNode.setStyle(firstLinkTextNode.getStyle());\n linkNode.append(textNode, ...linkNodes);\n // it does not preserve caret position if caret was at the first text node\n // so we need to restore caret position\n if (selectedTextNode && selectedTextNode === firstLinkTextNode) {\n if ($isRangeSelection(selection)) {\n textNode.select(selection.anchor.offset, selection.focus.offset);\n } else if ($isNodeSelection(selection)) {\n textNode.select(0, textNode.getTextContent().length);\n }\n }\n firstLinkTextNode.replace(linkNode);\n return remainingTextNode;\n }\n return undefined;\n}\nfunction $handleLinkCreation(nodes, matchers, onChange, separatorRegex) {\n // Early return if any node is already part of an AutoLinkNode (idempotency check)\n for (const node of nodes) {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n return;\n }\n }\n let currentNodes = [...nodes];\n const initialText = currentNodes.map(node => node.getTextContent()).join('');\n let text = initialText;\n let match;\n let invalidMatchEnd = 0;\n while ((match = findFirstMatch(text, matchers)) && match !== null) {\n const matchStart = match.index;\n const matchLength = match.length;\n const matchEnd = matchStart + matchLength;\n const isValid = isContentAroundIsValid(invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd, separatorRegex, initialText, currentNodes);\n if (isValid) {\n const [matchingOffset,, matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(currentNodes, invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd);\n\n // Skip if matching nodes are already part of an AutoLinkNode\n let alreadyLinked = false;\n for (const node of matchingNodes) {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n alreadyLinked = true;\n break;\n }\n }\n if (alreadyLinked) {\n invalidMatchEnd += matchEnd;\n text = text.substring(matchEnd);\n continue;\n }\n const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset;\n const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset;\n const remainingTextNode = $createAutoLinkNode_(matchingNodes, actualMatchStart, actualMatchEnd, match);\n currentNodes = remainingTextNode ? [remainingTextNode, ...unmodifiedAfterNodes] : unmodifiedAfterNodes;\n onChange(match.url, null);\n invalidMatchEnd = 0;\n } else {\n invalidMatchEnd += matchEnd;\n }\n text = text.substring(matchEnd);\n }\n}\nfunction handleLinkEdit(linkNode, matchers, onChange, separatorRegex) {\n // Check children are simple text\n const children = linkNode.getChildren();\n const childrenLength = children.length;\n for (let i = 0; i < childrenLength; i++) {\n const child = children[i];\n if (!$isTextNode(child) || !child.isSimpleText()) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n }\n\n // Check text content fully matches\n const text = linkNode.getTextContent();\n const match = findFirstMatch(text, matchers);\n if (match === null || match.text !== text) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n\n // Check neighbors\n if (!isPreviousNodeValid(linkNode, separatorRegex) || !isNextNodeValid(linkNode, separatorRegex)) {\n replaceWithChildren(linkNode);\n onChange(null, linkNode.getURL());\n return;\n }\n const url = linkNode.getURL();\n if (url !== match.url) {\n linkNode.setURL(match.url);\n onChange(match.url, url);\n }\n if (match.attributes) {\n const rel = linkNode.getRel();\n if (rel !== match.attributes.rel) {\n linkNode.setRel(match.attributes.rel || null);\n onChange(match.attributes.rel || null, rel);\n }\n const target = linkNode.getTarget();\n if (target !== match.attributes.target) {\n linkNode.setTarget(match.attributes.target || null);\n onChange(match.attributes.target || null, target);\n }\n }\n}\n\n// Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.\n// Given the creation preconditions, these can only be simple text nodes.\nfunction handleBadNeighbors(textNode, matchers, onChange, separatorRegex) {\n const parent = textNode.getParent();\n const previousSibling = textNode.getPreviousSibling();\n const nextSibling = textNode.getNextSibling();\n const text = textNode.getTextContent();\n\n // Skip if textNode is already part of an AutoLinkNode (idempotency check)\n // The handleLinkEdit on the parent will handle unwrapping if needed\n if ($isAutoLinkNode(parent) && !parent.getIsUnlinked()) {\n return;\n }\n\n // Handle case: textNode added AFTER a link, making link invalid\n // Check if previousSibling is a link and adding this textNode makes it invalid\n if ($isAutoLinkNode(previousSibling) && !previousSibling.getIsUnlinked()) {\n // Check if the textNode is still a sibling (hasn't been moved) to prevent loops\n if (previousSibling.is(textNode.getPreviousSibling()) && textNode.getParent() === previousSibling.getParent()) {\n // If text doesn't start with separator, link should be unwrapped\n // because non-separator after link makes the boundary invalid\n if (!startsWithSeparator(text, separatorRegex)) {\n // Non-separator after link - unwrap the link\n replaceWithChildren(previousSibling);\n onChange(null, previousSibling.getURL());\n return; // Early return after unwrapping to avoid further processing\n }\n\n // If text starts with separator, check if it's valid TLD continuation\n if (startsWithTLD(text, previousSibling.isEmailURI())) {\n // Valid TLD continuation - try to append\n const combinedText = previousSibling.getTextContent() + text;\n const match = findFirstMatch(combinedText, matchers);\n if (match !== null && match.text === combinedText) {\n previousSibling.append(textNode);\n handleLinkEdit(previousSibling, matchers, onChange, separatorRegex);\n onChange(null, previousSibling.getURL());\n }\n }\n // If starts with separator but not valid TLD, do nothing (link stays valid)\n }\n }\n\n // Handle case: textNode added BEFORE a link, making link invalid\n if ($isAutoLinkNode(nextSibling) && !nextSibling.getIsUnlinked() && !endsWithSeparator(text, separatorRegex)) {\n // Check if the nextSibling is still a sibling (hasn't been moved) to prevent loops\n if (nextSibling.is(textNode.getNextSibling()) && textNode.getParent() === nextSibling.getParent()) {\n replaceWithChildren(nextSibling);\n onChange(null, nextSibling.getURL());\n }\n }\n}\nfunction replaceWithChildren(node) {\n const children = node.getChildren();\n const childrenLength = children.length;\n for (let j = childrenLength - 1; j >= 0; j--) {\n node.insertAfter(children[j]);\n }\n node.remove();\n return children.map(child => child.getLatest());\n}\nfunction getTextNodesToMatch(textNode) {\n // check if next siblings are simple text nodes till a node contains a space separator\n const textNodesToMatch = [textNode];\n let nextSibling = textNode.getNextSibling();\n while (nextSibling !== null && $isTextNode(nextSibling) && nextSibling.isSimpleText()) {\n textNodesToMatch.push(nextSibling);\n if (/[\\s]/.test(nextSibling.getTextContent())) {\n break;\n }\n nextSibling = nextSibling.getNextSibling();\n }\n return textNodesToMatch;\n}\nconst defaultConfig = {\n changeHandlers: [],\n excludeParents: [],\n matchers: [],\n separatorRegex: PUNCTUATION_OR_SPACE\n};\nfunction registerAutoLink(editor, config = defaultConfig) {\n const {\n matchers,\n changeHandlers,\n excludeParents,\n separatorRegex = PUNCTUATION_OR_SPACE\n } = config;\n const onChange = (url, prevUrl) => {\n for (const handler of changeHandlers) {\n handler(url, prevUrl);\n }\n };\n return mergeRegister(editor.registerNodeTransform(TextNode, textNode => {\n const parent = textNode.getParentOrThrow();\n const previous = textNode.getPreviousSibling();\n if ($isAutoLinkNode(parent)) {\n handleLinkEdit(parent, matchers, onChange, separatorRegex);\n } else if (!$isLinkNode(parent) && !excludeParents.some(pred => pred(parent))) {\n if (textNode.isSimpleText() && (startsWithSeparator(textNode.getTextContent(), separatorRegex) || !$isAutoLinkNode(previous))) {\n const textNodesToMatch = getTextNodesToMatch(textNode);\n $handleLinkCreation(textNodesToMatch, matchers, onChange, separatorRegex);\n }\n handleBadNeighbors(textNode, matchers, onChange, separatorRegex);\n }\n }), editor.registerCommand(TOGGLE_LINK_COMMAND, payload => {\n const selection = $getSelection();\n if (payload !== null || !$isRangeSelection(selection)) {\n return false;\n }\n const nodes = selection.extract();\n nodes.forEach(node => {\n const parent = node.getParent();\n if ($isAutoLinkNode(parent)) {\n // invert the value\n parent.setIsUnlinked(!parent.getIsUnlinked());\n parent.markDirty();\n }\n });\n return false;\n },\n // Has to be higher than TOGGLE_LINK_COMMAND in LinkExtension\n COMMAND_PRIORITY_LOW));\n}\n\n/**\n * An extension to automatically create AutoLinkNode from text\n * that matches the configured matchers. No default implementation\n * is provided for any matcher, see {@link createLinkMatcherWithRegExp}\n * for a helper function to create a matcher from a RegExp, and the\n * Playground's [AutoLinkPlugin](https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/AutoLinkPlugin/index.tsx)\n * for some example RegExps that could be used.\n *\n * The given `matchers` and `changeHandlers` will be merged by\n * concatenating the configured arrays.\n */\nconst AutoLinkExtension = defineExtension({\n config: defaultConfig,\n dependencies: [LinkExtension],\n mergeConfig(config, overrides) {\n const merged = shallowMergeConfig(config, overrides);\n for (const k of ['matchers', 'changeHandlers', 'excludeParents']) {\n const v = overrides[k];\n if (Array.isArray(v)) {\n merged[k] = [...config[k], ...v];\n }\n }\n return merged;\n },\n name: '@lexical/link/AutoLink',\n nodes: [AutoLinkNode],\n register: registerAutoLink\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/** @deprecated renamed to {@link $toggleLink} by @lexical/eslint-plugin rules-of-lexical */\nconst toggleLink = $toggleLink;\n\nexport { $createAutoLinkNode, $createLinkNode, $isAutoLinkNode, $isLinkNode, $toggleLink, AutoLinkExtension, AutoLinkNode, ClickableLinkExtension, LinkExtension, LinkNode, TOGGLE_LINK_COMMAND, createLinkMatcherWithRegExp, formatUrl, registerAutoLink, registerClickableLink, registerLink, toggleLink };\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { r as effect, s as namedSignals } from "./LexicalExtension.node-BM0gh8zu.mjs";
2
- import { $n as safeCast, At as COMMAND_PRIORITY_LOW, D as $getChildCaret, Fn as getNearestEditorFromDOMNode, Hn as isDOMNode, Ht as ElementNode, Mn as defineExtension, N as $getNearestNodeFromDOMNode, On as createCommand, Ot as COMMAND_PRIORITY_EDITOR, Y as $isElementNode, _ as $createTextNode, _t as $setPointFromCaret, c as $copyNode, ct as $isTextNode, dt as $normalizeCaret, et as $isLineBreakNode, fn as PASTE_COMMAND, ft as $normalizeSelection__EXPERIMENTAL, ht as $rewindSiblingCaret, n as $applyNodeReplacement, ot as $isSiblingCaret, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, tt as $isNodeSelection, vt as $setSelection, wn as TextNode, z as $getSelection } from "./Lexical.node-gYNDt_p9.mjs";
3
- import { d as addClassNamesToElement, g as objectKlassEquals, h as mergeRegister, l as $insertNodeToNearestRootAtCaret, p as isHTMLAnchorElement, r as $findMatchingParent } from "./LexicalUtils.node-CmK462d1.mjs";
1
+ import { r as effect, s as namedSignals } from "./LexicalExtension.node-BKzjRb-0.mjs";
2
+ import { $n as safeCast, At as COMMAND_PRIORITY_LOW, D as $getChildCaret, Fn as getNearestEditorFromDOMNode, Hn as isDOMNode, Ht as ElementNode, Mn as defineExtension, N as $getNearestNodeFromDOMNode, On as createCommand, Ot as COMMAND_PRIORITY_EDITOR, Y as $isElementNode, _ as $createTextNode, _t as $setPointFromCaret, c as $copyNode, ct as $isTextNode, dt as $normalizeCaret, et as $isLineBreakNode, fn as PASTE_COMMAND, ft as $normalizeSelection__EXPERIMENTAL, ht as $rewindSiblingCaret, n as $applyNodeReplacement, ot as $isSiblingCaret, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, tt as $isNodeSelection, vt as $setSelection, wn as TextNode, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
3
+ import { d as addClassNamesToElement, g as objectKlassEquals, h as mergeRegister, l as $insertNodeToNearestRootAtCaret, p as isHTMLAnchorElement, r as $findMatchingParent } from "./LexicalUtils.node-Dz-HANi6.mjs";
4
4
  //#region ../../node_modules/.pnpm/@lexical+link@0.44.0/node_modules/@lexical/link/LexicalLink.prod.mjs
5
5
  /**
6
6
  * Copyright (c) Meta Platforms, Inc. and affiliates.
@@ -714,4 +714,4 @@ const xt = defineExtension({
714
714
  //#endregion
715
715
  export { H as $createAutoLinkNode, $ as $createLinkNode, G as $isAutoLinkNode, z as $isLinkNode, Q as $toggleLink, xt as AutoLinkExtension, j as AutoLinkNode, nt as ClickableLinkExtension, tt as LinkExtension, F as LinkNode, Z as TOGGLE_LINK_COMMAND, rt as createLinkMatcherWithRegExp, X as formatUrl, mt as registerAutoLink, et as registerClickableLink, Y as registerLink, kt as toggleLink };
716
716
 
717
- //# sourceMappingURL=LexicalLink.prod-fssuv6Sf.mjs.map
717
+ //# sourceMappingURL=LexicalLink.prod-D66AhUCZ.mjs.map