@mx-space/cli 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Lexical.dev-DpU35QTu.mjs → Lexical.dev-CMevU1DO.mjs} +1 -1
- package/dist/{Lexical.dev-DpU35QTu.mjs.map → Lexical.dev-CMevU1DO.mjs.map} +1 -1
- package/dist/{Lexical.node-gYNDt_p9.mjs → Lexical.node-BR9e7Cyk.mjs} +2 -2
- package/dist/{Lexical.node-gYNDt_p9.mjs.map → Lexical.node-BR9e7Cyk.mjs.map} +1 -1
- package/dist/{Lexical.prod-t4c3bHV3.mjs → Lexical.prod-PUD-z9fY.mjs} +1 -1
- package/dist/{Lexical.prod-t4c3bHV3.mjs.map → Lexical.prod-PUD-z9fY.mjs.map} +1 -1
- package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs → LexicalClipboard.dev-DZC2zppG.mjs} +6 -6
- package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs.map → LexicalClipboard.dev-DZC2zppG.mjs.map} +1 -1
- package/dist/{LexicalClipboard.node-0e9GBL1g.mjs → LexicalClipboard.node-e5G1wVGb.mjs} +2 -2
- package/dist/{LexicalClipboard.node-0e9GBL1g.mjs.map → LexicalClipboard.node-e5G1wVGb.mjs.map} +1 -1
- package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs → LexicalClipboard.prod-DE2azzIb.mjs} +6 -6
- package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs.map → LexicalClipboard.prod-DE2azzIb.mjs.map} +1 -1
- package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs → LexicalCodeCore.dev-gs--x55I.mjs} +3 -3
- package/dist/{LexicalCodeCore.dev-haI2cqH8.mjs.map → LexicalCodeCore.dev-gs--x55I.mjs.map} +1 -1
- package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs → LexicalCodeCore.prod-DPHOnyEj.mjs} +3 -3
- package/dist/{LexicalCodeCore.prod-D_k7zuE5.mjs.map → LexicalCodeCore.prod-DPHOnyEj.mjs.map} +1 -1
- package/dist/{LexicalDragon.dev-CAggdFh_.mjs → LexicalDragon.dev-CVe8bzVN.mjs} +3 -3
- package/dist/{LexicalDragon.dev-CAggdFh_.mjs.map → LexicalDragon.dev-CVe8bzVN.mjs.map} +1 -1
- package/dist/{LexicalDragon.node-QMR_wqJg.mjs → LexicalDragon.node-c7EHvcnK.mjs} +2 -2
- package/dist/{LexicalDragon.node-QMR_wqJg.mjs.map → LexicalDragon.node-c7EHvcnK.mjs.map} +1 -1
- package/dist/{LexicalDragon.prod-OssQhwS-.mjs → LexicalDragon.prod-D6KvqyLD.mjs} +3 -3
- package/dist/{LexicalDragon.prod-OssQhwS-.mjs.map → LexicalDragon.prod-D6KvqyLD.mjs.map} +1 -1
- package/dist/{LexicalExtension.dev-CtDZiMCU.mjs → LexicalExtension.dev-PDo8HyEw.mjs} +3 -3
- package/dist/{LexicalExtension.dev-CtDZiMCU.mjs.map → LexicalExtension.dev-PDo8HyEw.mjs.map} +1 -1
- package/dist/{LexicalExtension.node-BM0gh8zu.mjs → LexicalExtension.node-BKzjRb-0.mjs} +2 -2
- package/dist/{LexicalExtension.node-BM0gh8zu.mjs.map → LexicalExtension.node-BKzjRb-0.mjs.map} +1 -1
- package/dist/{LexicalExtension.prod-Ug6emhEO.mjs → LexicalExtension.prod-D0x_lX7q.mjs} +3 -3
- package/dist/{LexicalExtension.prod-Ug6emhEO.mjs.map → LexicalExtension.prod-D0x_lX7q.mjs.map} +1 -1
- package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs → LexicalHeadless.dev-DBKcW82j.mjs} +2 -2
- package/dist/{LexicalHeadless.dev-D4yQpl_s.mjs.map → LexicalHeadless.dev-DBKcW82j.mjs.map} +1 -1
- package/dist/{LexicalHeadless.prod-jeN65B3k.mjs → LexicalHeadless.prod-D4nEh7cR.mjs} +2 -2
- package/dist/{LexicalHeadless.prod-jeN65B3k.mjs.map → LexicalHeadless.prod-D4nEh7cR.mjs.map} +1 -1
- package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs → LexicalHtml.dev-vsWW05es.mjs} +4 -4
- package/dist/{LexicalHtml.dev-BdU1_ITQ.mjs.map → LexicalHtml.dev-vsWW05es.mjs.map} +1 -1
- package/dist/{LexicalHtml.node-DLtAh00E.mjs → LexicalHtml.node-CpibAfba.mjs} +2 -2
- package/dist/{LexicalHtml.node-DLtAh00E.mjs.map → LexicalHtml.node-CpibAfba.mjs.map} +1 -1
- package/dist/{LexicalHtml.prod-DdLE1HHT.mjs → LexicalHtml.prod-Bqz-3WAp.mjs} +4 -4
- package/dist/{LexicalHtml.prod-DdLE1HHT.mjs.map → LexicalHtml.prod-Bqz-3WAp.mjs.map} +1 -1
- package/dist/{LexicalLink.dev-DK87Biuy.mjs → LexicalLink.dev-BO0J0B1E.mjs} +4 -4
- package/dist/{LexicalLink.dev-DK87Biuy.mjs.map → LexicalLink.dev-BO0J0B1E.mjs.map} +1 -1
- package/dist/{LexicalLink.prod-fssuv6Sf.mjs → LexicalLink.prod-D66AhUCZ.mjs} +4 -4
- package/dist/{LexicalLink.prod-fssuv6Sf.mjs.map → LexicalLink.prod-D66AhUCZ.mjs.map} +1 -1
- package/dist/{LexicalList.dev-BJ4dr_rk.mjs → LexicalList.dev-DVGTWRk0.mjs} +4 -4
- package/dist/{LexicalList.dev-BJ4dr_rk.mjs.map → LexicalList.dev-DVGTWRk0.mjs.map} +1 -1
- package/dist/{LexicalList.prod-jWBbaWfi.mjs → LexicalList.prod-Bao7NGl7.mjs} +4 -4
- package/dist/{LexicalList.prod-jWBbaWfi.mjs.map → LexicalList.prod-Bao7NGl7.mjs.map} +1 -1
- package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs → LexicalMarkdown.dev-CRWkZwlp.mjs} +4 -4
- package/dist/{LexicalMarkdown.dev-C8e-eh6y.mjs.map → LexicalMarkdown.dev-CRWkZwlp.mjs.map} +1 -1
- package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs → LexicalMarkdown.prod-tGG6js4r.mjs} +4 -4
- package/dist/{LexicalMarkdown.prod-k73tZVb2.mjs.map → LexicalMarkdown.prod-tGG6js4r.mjs.map} +1 -1
- package/dist/{LexicalRichText.dev-CrSqq3K-.mjs → LexicalRichText.dev-DPXfQePC.mjs} +6 -6
- package/dist/{LexicalRichText.dev-CrSqq3K-.mjs.map → LexicalRichText.dev-DPXfQePC.mjs.map} +1 -1
- package/dist/{LexicalRichText.node-B7k7wlQz.mjs → LexicalRichText.node-BEkm_YwY.mjs} +5 -5
- package/dist/{LexicalRichText.node-B7k7wlQz.mjs.map → LexicalRichText.node-BEkm_YwY.mjs.map} +1 -1
- package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs → LexicalRichText.prod-DlfudC5w.mjs} +6 -6
- package/dist/{LexicalRichText.prod-CqvyxQ9m.mjs.map → LexicalRichText.prod-DlfudC5w.mjs.map} +1 -1
- package/dist/{LexicalSelection.dev-sNOHKHe_.mjs → LexicalSelection.dev-BVTArZ-b.mjs} +2 -2
- package/dist/{LexicalSelection.dev-sNOHKHe_.mjs.map → LexicalSelection.dev-BVTArZ-b.mjs.map} +1 -1
- package/dist/{LexicalSelection.node-Di7GwBCZ.mjs → LexicalSelection.node-CQ8iTYsz.mjs} +2 -2
- package/dist/{LexicalSelection.node-Di7GwBCZ.mjs.map → LexicalSelection.node-CQ8iTYsz.mjs.map} +1 -1
- package/dist/{LexicalSelection.prod-SWllPJop.mjs → LexicalSelection.prod-BZKGGs-G.mjs} +2 -2
- package/dist/{LexicalSelection.prod-SWllPJop.mjs.map → LexicalSelection.prod-BZKGGs-G.mjs.map} +1 -1
- package/dist/{LexicalTable.dev-CQkLHXJx.mjs → LexicalTable.dev-C-AOEpJn.mjs} +5 -5
- package/dist/{LexicalTable.dev-CQkLHXJx.mjs.map → LexicalTable.dev-C-AOEpJn.mjs.map} +1 -1
- package/dist/{LexicalTable.prod-BtqCwKSi.mjs → LexicalTable.prod-Cyn0qWxZ.mjs} +5 -5
- package/dist/{LexicalTable.prod-BtqCwKSi.mjs.map → LexicalTable.prod-Cyn0qWxZ.mjs.map} +1 -1
- package/dist/{LexicalUtils.dev-DiUpsXE8.mjs → LexicalUtils.dev-DRRDyAlS.mjs} +3 -3
- package/dist/{LexicalUtils.dev-DiUpsXE8.mjs.map → LexicalUtils.dev-DRRDyAlS.mjs.map} +1 -1
- package/dist/{LexicalUtils.node-CmK462d1.mjs → LexicalUtils.node-Dz-HANi6.mjs} +2 -2
- package/dist/{LexicalUtils.node-CmK462d1.mjs.map → LexicalUtils.node-Dz-HANi6.mjs.map} +1 -1
- package/dist/{LexicalUtils.prod-bWwV4GAF.mjs → LexicalUtils.prod-CmeHwh8W.mjs} +3 -3
- package/dist/{LexicalUtils.prod-bWwV4GAF.mjs.map → LexicalUtils.prod-CmeHwh8W.mjs.map} +1 -1
- package/dist/{auth-Duj8jJn9.mjs → auth-CAKmTDpF.mjs} +11 -11
- package/dist/auth-CAKmTDpF.mjs.map +1 -0
- package/dist/bin/mxs.d.mts +1 -1
- package/dist/bin/mxs.mjs +206 -61
- package/dist/bin/mxs.mjs.map +1 -1
- package/dist/{config-store-DmwX2iZU.mjs → config-store-B8_9iStL.mjs} +8 -7
- package/dist/config-store-B8_9iStL.mjs.map +1 -0
- package/dist/{create-Cqt1rrSZ.mjs → create-5wbU7IQh.mjs} +5 -5
- package/dist/{create-Cqt1rrSZ.mjs.map → create-5wbU7IQh.mjs.map} +1 -1
- package/dist/{create-_H8YO7ze.mjs → create-Bs6K7AyQ.mjs} +3 -3
- package/dist/{create-_H8YO7ze.mjs.map → create-Bs6K7AyQ.mjs.map} +1 -1
- package/dist/{create-DAt3FXLf.mjs → create-DBReocgJ.mjs} +5 -5
- package/dist/{create-DAt3FXLf.mjs.map → create-DBReocgJ.mjs.map} +1 -1
- package/dist/{create-kYlrs4d6.mjs → create-DGVaE0_S.mjs} +4 -4
- package/dist/{create-kYlrs4d6.mjs.map → create-DGVaE0_S.mjs.map} +1 -1
- package/dist/{create-D7cR9xcN.mjs → create-lLFZuMsz.mjs} +3 -3
- package/dist/{create-D7cR9xcN.mjs.map → create-lLFZuMsz.mjs.map} +1 -1
- package/dist/{delete-D_NRteuq.mjs → delete-6tkhHQDp.mjs} +5 -5
- package/dist/delete-6tkhHQDp.mjs.map +1 -0
- package/dist/{delete-ZIjkquZj.mjs → delete-CRFxitDN.mjs} +6 -6
- package/dist/delete-CRFxitDN.mjs.map +1 -0
- package/dist/{delete-DVNebWqO.mjs → delete-DU2Hvsy8.mjs} +5 -5
- package/dist/delete-DU2Hvsy8.mjs.map +1 -0
- package/dist/{delete-aCVSWuKi.mjs → delete-nJmHtvfq.mjs} +6 -6
- package/dist/delete-nJmHtvfq.mjs.map +1 -0
- package/dist/{delete-DmKPzzsQ.mjs → delete-tJhXI8s4.mjs} +5 -5
- package/dist/delete-tJhXI8s4.mjs.map +1 -0
- package/dist/{document-output-BtY8T7eY.mjs → document-output-BFJdwPV0.mjs} +5 -5
- package/dist/document-output-BFJdwPV0.mjs.map +1 -0
- package/dist/{edit-DjRE8Gk-.mjs → edit-BMjTbPQO.mjs} +5 -5
- package/dist/edit-BMjTbPQO.mjs.map +1 -0
- package/dist/{edit-R6H5RtWd.mjs → edit-BnEmMmv6.mjs} +9 -9
- package/dist/edit-BnEmMmv6.mjs.map +1 -0
- package/dist/{edit-CHCuoiWT.mjs → edit-C4vRSmRy.mjs} +9 -9
- package/dist/{edit-CHCuoiWT.mjs.map → edit-C4vRSmRy.mjs.map} +1 -1
- package/dist/{edit-BWX7X4sy.mjs → edit-CQsW5gnk.mjs} +8 -8
- package/dist/{edit-BWX7X4sy.mjs.map → edit-CQsW5gnk.mjs.map} +1 -1
- package/dist/{editor-Dywlo4-8.mjs → editor-BIw1ALTF.mjs} +4 -4
- package/dist/editor-BIw1ALTF.mjs.map +1 -0
- package/dist/{envelope-overlays-D1gmGVe5.mjs → envelope-overlays-DXXygxdF.mjs} +2 -2
- package/dist/{envelope-overlays-D1gmGVe5.mjs.map → envelope-overlays-DXXygxdF.mjs.map} +1 -1
- package/dist/{get-IQQv4_rP.mjs → get-B3Y5hAAO.mjs} +3 -3
- package/dist/{get-IQQv4_rP.mjs.map → get-B3Y5hAAO.mjs.map} +1 -1
- package/dist/{get-DbH58EkF.mjs → get-C5fmd5Vf.mjs} +4 -4
- package/dist/{get-DbH58EkF.mjs.map → get-C5fmd5Vf.mjs.map} +1 -1
- package/dist/{get-CkBqVyGi.mjs → get-Cdp2tmwz.mjs} +6 -6
- package/dist/get-Cdp2tmwz.mjs.map +1 -0
- package/dist/{get-DNdde54z.mjs → get-D18ChSKU.mjs} +3 -3
- package/dist/{get-DNdde54z.mjs.map → get-D18ChSKU.mjs.map} +1 -1
- package/dist/{get-xtByxURm.mjs → get-NSHTGu4Y.mjs} +4 -4
- package/dist/{get-xtByxURm.mjs.map → get-NSHTGu4Y.mjs.map} +1 -1
- package/dist/{get-CiLnUGHw.mjs → get-XBPJr95m.mjs} +4 -4
- package/dist/{get-CiLnUGHw.mjs.map → get-XBPJr95m.mjs.map} +1 -1
- package/dist/index.d.mts +40 -11
- package/dist/index.mjs +11 -10
- package/dist/{list-Bnlg9SfR.mjs → list-B6703n9X.mjs} +3 -3
- package/dist/{list-Bnlg9SfR.mjs.map → list-B6703n9X.mjs.map} +1 -1
- package/dist/{list-lmpHwOQx.mjs → list-BtNocJhc.mjs} +3 -3
- package/dist/{list-lmpHwOQx.mjs.map → list-BtNocJhc.mjs.map} +1 -1
- package/dist/{list-DW5TcGxS.mjs → list-C9dXrU9H.mjs} +3 -3
- package/dist/{list-DW5TcGxS.mjs.map → list-C9dXrU9H.mjs.map} +1 -1
- package/dist/{list-C6z1iw4a.mjs → list-CcwcYZgN.mjs} +3 -3
- package/dist/{list-C6z1iw4a.mjs.map → list-CcwcYZgN.mjs.map} +1 -1
- package/dist/{list-CD9j9did.mjs → list-Ctc8b5gT.mjs} +3 -3
- package/dist/{list-CD9j9did.mjs.map → list-Ctc8b5gT.mjs.map} +1 -1
- package/dist/{list-DVMtBAHG.mjs → list-b60JzCTw.mjs} +3 -3
- package/dist/{list-DVMtBAHG.mjs.map → list-b60JzCTw.mjs.map} +1 -1
- package/dist/{litexml-codec-D-1oggXL.mjs → litexml-codec-CfIxcPG0.mjs} +9 -9
- package/dist/{litexml-codec-D-1oggXL.mjs.map → litexml-codec-CfIxcPG0.mjs.map} +1 -1
- package/dist/{login-D-SoeV01.mjs → login-bZx4HaVs.mjs} +5 -4
- package/dist/{login-D-SoeV01.mjs.map → login-bZx4HaVs.mjs.map} +1 -1
- package/dist/{logout-D63ZU-1Q.mjs → logout-C0Dzitsu.mjs} +4 -3
- package/dist/logout-C0Dzitsu.mjs.map +1 -0
- package/dist/{ls-Bz3BCcwU.mjs → ls-wMiTXZPQ.mjs} +3 -2
- package/dist/{ls-Bz3BCcwU.mjs.map → ls-wMiTXZPQ.mjs.map} +1 -1
- package/dist/{mark-N-IpKK17.mjs → mark-Dh9BErsf.mjs} +5 -4
- package/dist/mark-Dh9BErsf.mjs.map +1 -0
- package/dist/{onboarding-FPMcuqn8.mjs → onboarding-Bw_I8qpf.mjs} +17 -15
- package/dist/onboarding-Bw_I8qpf.mjs.map +1 -0
- package/dist/{output-DQMhacTo.d.mts → output-D2dDlyV2.d.mts} +1 -1
- package/dist/output-vzequvhd.mjs +163 -0
- package/dist/output-vzequvhd.mjs.map +1 -0
- package/dist/{payload-CjlZ9CeZ.mjs → payload-CO4zbNr8.mjs} +17 -17
- package/dist/payload-CO4zbNr8.mjs.map +1 -0
- package/dist/profile-CNe2uWJi.mjs +172 -0
- package/dist/profile-CNe2uWJi.mjs.map +1 -0
- package/dist/{publish-yuM6YGSb.mjs → publish-CzzucXQq.mjs} +4 -4
- package/dist/{publish-yuM6YGSb.mjs.map → publish-CzzucXQq.mjs.map} +1 -1
- package/dist/{publish-C9O5obZ6.mjs → publish-DRQkpxsz.mjs} +4 -4
- package/dist/{publish-C9O5obZ6.mjs.map → publish-DRQkpxsz.mjs.map} +1 -1
- package/dist/{resolve-TBYXBS4i.mjs → resolve-BYg5Gees.mjs} +5 -5
- package/dist/resolve-BYg5Gees.mjs.map +1 -0
- package/dist/{resolve-U6RJ3AnQ.mjs → resolve-BlpMdnaM.mjs} +4 -4
- package/dist/resolve-BlpMdnaM.mjs.map +1 -0
- package/dist/{resolve-DIu9N2sD.mjs → resolve-CUsHGcb-.mjs} +4 -4
- package/dist/resolve-CUsHGcb-.mjs.map +1 -0
- package/dist/{resolve-helpers-C7PIVziv.mjs → resolve-helpers-CoHYa2uk.mjs} +2 -2
- package/dist/{resolve-helpers-C7PIVziv.mjs.map → resolve-helpers-CoHYa2uk.mjs.map} +1 -1
- package/dist/{resolve-B4-fMQ6I.mjs → resolve-jdb1VqAG.mjs} +5 -5
- package/dist/resolve-jdb1VqAG.mjs.map +1 -0
- package/dist/{rm-D9GvLhhF.mjs → rm-D-2iW1Cr.mjs} +5 -4
- package/dist/rm-D-2iW1Cr.mjs.map +1 -0
- package/dist/run-Dnax6uhZ.mjs +130 -0
- package/dist/run-Dnax6uhZ.mjs.map +1 -0
- package/dist/self-update-CZywTwGd.mjs +1610 -0
- package/dist/self-update-CZywTwGd.mjs.map +1 -0
- package/dist/{set-jD79hpuF.mjs → set-Dk28LAy5.mjs} +5 -5
- package/dist/set-Dk28LAy5.mjs.map +1 -0
- package/dist/{shared-SryY2QPY.mjs → shared-d0_6ZPn_.mjs} +5 -5
- package/dist/shared-d0_6ZPn_.mjs.map +1 -0
- package/dist/{show-C5Zk0tcK.mjs → show-DScu6mXz.mjs} +5 -4
- package/dist/show-DScu6mXz.mjs.map +1 -0
- package/dist/{status-evZpPR3N.mjs → status-8F6tgphP.mjs} +4 -3
- package/dist/{status-evZpPR3N.mjs.map → status-8F6tgphP.mjs.map} +1 -1
- package/dist/{update-hhAcAz_M.mjs → update-B1LGxV0n.mjs} +6 -6
- package/dist/{update-hhAcAz_M.mjs.map → update-B1LGxV0n.mjs.map} +1 -1
- package/dist/{update--7NPzL_w.mjs → update-CXetpFT3.mjs} +4 -4
- package/dist/{update--7NPzL_w.mjs.map → update-CXetpFT3.mjs.map} +1 -1
- package/dist/{update-CPJXcOg_.mjs → update-Dr4BW8U-.mjs} +6 -6
- package/dist/{update-CPJXcOg_.mjs.map → update-Dr4BW8U-.mjs.map} +1 -1
- package/dist/{update-0q5hxJFh.mjs → update-bqcHRJPC.mjs} +6 -6
- package/dist/update-bqcHRJPC.mjs.map +1 -0
- package/dist/{update-DN78pXGZ.mjs → update-dBtzzmkN.mjs} +5 -5
- package/dist/update-dBtzzmkN.mjs.map +1 -0
- package/dist/{use-CHDCEe38.mjs → use-D7eKESSW.mjs} +6 -5
- package/dist/use-D7eKESSW.mjs.map +1 -0
- package/dist/{whoami-BHDYyY5D.mjs → whoami-CKSNd6zL.mjs} +5 -4
- package/dist/whoami-CKSNd6zL.mjs.map +1 -0
- package/package.json +3 -1
- package/dist/auth-Duj8jJn9.mjs.map +0 -1
- package/dist/config-store-DmwX2iZU.mjs.map +0 -1
- package/dist/delete-DVNebWqO.mjs.map +0 -1
- package/dist/delete-D_NRteuq.mjs.map +0 -1
- package/dist/delete-DmKPzzsQ.mjs.map +0 -1
- package/dist/delete-ZIjkquZj.mjs.map +0 -1
- package/dist/delete-aCVSWuKi.mjs.map +0 -1
- package/dist/document-output-BtY8T7eY.mjs.map +0 -1
- package/dist/edit-DjRE8Gk-.mjs.map +0 -1
- package/dist/edit-R6H5RtWd.mjs.map +0 -1
- package/dist/editor-Dywlo4-8.mjs.map +0 -1
- package/dist/get-CkBqVyGi.mjs.map +0 -1
- package/dist/logout-D63ZU-1Q.mjs.map +0 -1
- package/dist/mark-N-IpKK17.mjs.map +0 -1
- package/dist/onboarding-FPMcuqn8.mjs.map +0 -1
- package/dist/output-Dg8PISJM.mjs +0 -299
- package/dist/output-Dg8PISJM.mjs.map +0 -1
- package/dist/payload-CjlZ9CeZ.mjs.map +0 -1
- package/dist/resolve-B4-fMQ6I.mjs.map +0 -1
- package/dist/resolve-DIu9N2sD.mjs.map +0 -1
- package/dist/resolve-TBYXBS4i.mjs.map +0 -1
- package/dist/resolve-U6RJ3AnQ.mjs.map +0 -1
- package/dist/rm-D9GvLhhF.mjs.map +0 -1
- package/dist/set-jD79hpuF.mjs.map +0 -1
- package/dist/shared-SryY2QPY.mjs.map +0 -1
- package/dist/show-C5Zk0tcK.mjs.map +0 -1
- package/dist/update-0q5hxJFh.mjs.map +0 -1
- package/dist/update-DN78pXGZ.mjs.map +0 -1
- package/dist/use-CHDCEe38.mjs.map +0 -1
- package/dist/whoami-BHDYyY5D.mjs.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as getExtensionDependencyFromEditor, n as LexicalBuilder } from "./LexicalExtension.node-
|
|
2
|
-
import { $n as safeCast, A as $getCollapsedCaretRange, D as $getChildCaret, Dt as COMMAND_PRIORITY_CRITICAL, H as $getTextPointCaret, Jn as isSelectionWithinEditor, Mn as defineExtension, Mt as COPY_COMMAND, N as $getNearestNodeFromDOMNode, Nn as getDOMSelection, O as $getChildCaretAtIndex, R as $getRoot, T as $getCaretRangeInDirection, Y as $isElementNode, ct as $isTextNode, g as $createTabNode, i as $caretRangeFromSelection, j as $getEditor, lt as $isTextPointCaret, pt as $parseSerializedNode, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, s as $comparePointCaretNext, vn as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, w as $getCaretRange, xt as $splitAtPointCaretNext, yt as $setSelectionFromCaretRange, z as $getSelection } from "./Lexical.node-
|
|
3
|
-
import { n as $generateNodesFromDOM, t as $generateHtmlFromNodes } from "./LexicalHtml.node-
|
|
4
|
-
import { a as $sliceSelectedTextNodeContent, t as $addNodeStyle } from "./LexicalSelection.node-
|
|
5
|
-
import { g as objectKlassEquals } from "./LexicalUtils.node-
|
|
1
|
+
import { i as getExtensionDependencyFromEditor, n as LexicalBuilder } from "./LexicalExtension.node-BKzjRb-0.mjs";
|
|
2
|
+
import { $n as safeCast, A as $getCollapsedCaretRange, D as $getChildCaret, Dt as COMMAND_PRIORITY_CRITICAL, H as $getTextPointCaret, Jn as isSelectionWithinEditor, Mn as defineExtension, Mt as COPY_COMMAND, N as $getNearestNodeFromDOMNode, Nn as getDOMSelection, O as $getChildCaretAtIndex, R as $getRoot, T as $getCaretRangeInDirection, Y as $isElementNode, ct as $isTextNode, g as $createTabNode, i as $caretRangeFromSelection, j as $getEditor, lt as $isTextPointCaret, pt as $parseSerializedNode, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, s as $comparePointCaretNext, vn as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, w as $getCaretRange, xt as $splitAtPointCaretNext, yt as $setSelectionFromCaretRange, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
|
|
3
|
+
import { n as $generateNodesFromDOM, t as $generateHtmlFromNodes } from "./LexicalHtml.node-CpibAfba.mjs";
|
|
4
|
+
import { a as $sliceSelectedTextNodeContent, t as $addNodeStyle } from "./LexicalSelection.node-CQ8iTYsz.mjs";
|
|
5
|
+
import { g as objectKlassEquals } from "./LexicalUtils.node-Dz-HANi6.mjs";
|
|
6
6
|
//#region ../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.dev.mjs
|
|
7
7
|
/**
|
|
8
8
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -493,4 +493,4 @@ const GetClipboardDataExtension = defineExtension({
|
|
|
493
493
|
//#endregion
|
|
494
494
|
export { $generateJSONFromSelectedNodes, $generateNodesFromSerializedNodes, $getClipboardDataFromSelection, $getHtmlContent, $getLexicalContent, $handlePlainTextDrop, $handleRichTextDrop, $insertDataTransferForPlainText, $insertDataTransferForRichText, $insertGeneratedNodes, $writeDragSourceToDataTransfer, copyToClipboard, setLexicalClipboardDataTransfer };
|
|
495
495
|
|
|
496
|
-
//# sourceMappingURL=LexicalClipboard.dev-
|
|
496
|
+
//# sourceMappingURL=LexicalClipboard.dev-DZC2zppG.mjs.map
|
package/dist/{LexicalClipboard.dev-CdeeWCIq.mjs.map → LexicalClipboard.dev-DZC2zppG.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalClipboard.dev-CdeeWCIq.mjs","names":[],"sources":["../../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.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 { LexicalBuilder, getExtensionDependencyFromEditor } from '@lexical/extension';\nimport { $generateHtmlFromNodes, $generateNodesFromDOM } from '@lexical/html';\nimport { $addNodeStyle, $sliceSelectedTextNodeContent } from '@lexical/selection';\nimport { objectKlassEquals } from '@lexical/utils';\nimport { $isRangeSelection, $getSelection, $createTabNode, SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, $caretFromPoint, $isTextPointCaret, $getCaretRange, $getChildCaret, $getRoot, $isTextNode, $isElementNode, $parseSerializedNode, getDOMSelection, COPY_COMMAND, COMMAND_PRIORITY_CRITICAL, isSelectionWithinEditor, $getEditor, defineExtension, shallowMergeConfig, safeCast, $splitAtPointCaretNext, $setSelectionFromCaretRange, $getCollapsedCaretRange, $getNearestNodeFromDOMNode, $getTextPointCaret, $getChildCaretAtIndex, $getCaretRangeInDirection, $caretRangeFromSelection, $comparePointCaretNext } from 'lexical';\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n// Do not require this module directly! Use normal `invariant` calls.\n\nfunction formatDevErrorMessage(message) {\n throw new Error(message);\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction caretFromPoint(x, y) {\n if (typeof document.caretRangeFromPoint !== 'undefined') {\n const range = document.caretRangeFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.startContainer,\n offset: range.startOffset\n };\n // @ts-ignore\n } else if (document.caretPositionFromPoint !== 'undefined') {\n // @ts-ignore FF - no types\n const range = document.caretPositionFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.offsetNode,\n offset: range.offset\n };\n } else {\n // Gracefully handle IE\n return null;\n }\n}\n\n/**\n * Returns the *currently selected* Lexical content as an HTML string, relying on the\n * logic defined in the exportDOM methods on the LexicalNode classes. Note that\n * this will not return the HTML content of the entire editor (unless all the content is included\n * in the current selection).\n *\n * @param editor - LexicalEditor instance to get HTML content from\n * @param selection - The selection to use (default is $getSelection())\n * @returns a string of HTML content\n */\nfunction $getHtmlContent(editor, selection = $getSelection()) {\n if (selection == null) {\n {\n formatDevErrorMessage(`Expected valid LexicalSelection`);\n }\n }\n\n // If we haven't selected anything\n if ($isRangeSelection(selection) && selection.isCollapsed() || selection.getNodes().length === 0) {\n return '';\n }\n return $generateHtmlFromNodes(editor, selection);\n}\n\n/**\n * Returns the *currently selected* Lexical content as a JSON string, relying on the\n * logic defined in the exportJSON methods on the LexicalNode classes. Note that\n * this will not return the JSON content of the entire editor (unless all the content is included\n * in the current selection).\n *\n * @param editor - LexicalEditor instance to get the JSON content from\n * @param selection - The selection to use (default is $getSelection())\n * @returns\n */\nfunction $getLexicalContent(editor, selection = $getSelection()) {\n if (selection == null) {\n {\n formatDevErrorMessage(`Expected valid LexicalSelection`);\n }\n }\n\n // If we haven't selected anything\n if ($isRangeSelection(selection) && selection.isCollapsed() || selection.getNodes().length === 0) {\n return null;\n }\n return JSON.stringify($generateJSONFromSelectedNodes(editor, selection));\n}\n\n/**\n * Attempts to insert content of the mime-types text/plain or text/uri-list from\n * the provided DataTransfer object into the editor at the provided selection.\n * text/uri-list is only used if text/plain is not also provided.\n *\n * @param dataTransfer an object conforming to the [DataTransfer interface] (https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface)\n * @param selection the selection to use as the insertion point for the content in the DataTransfer object\n */\nfunction $insertDataTransferForPlainText(dataTransfer, selection) {\n const text = dataTransfer.getData('text/plain') || dataTransfer.getData('text/uri-list');\n if (text != null) {\n selection.insertRawText(text);\n }\n}\n\n/**\n * Attempts to insert content of the mime-types application/x-lexical-editor, text/html,\n * text/plain, or text/uri-list (in descending order of priority) from the provided DataTransfer\n * object into the editor at the provided selection.\n *\n * @param dataTransfer an object conforming to the [DataTransfer interface] (https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface)\n * @param selection the selection to use as the insertion point for the content in the DataTransfer object\n * @param editor the LexicalEditor the content is being inserted into.\n */\nfunction $insertDataTransferForRichText(dataTransfer, selection, editor) {\n const lexicalString = dataTransfer.getData('application/x-lexical-editor');\n if (lexicalString) {\n try {\n const payload = JSON.parse(lexicalString);\n if (payload.namespace === editor._config.namespace && Array.isArray(payload.nodes)) {\n const nodes = $generateNodesFromSerializedNodes(payload.nodes);\n return $insertGeneratedNodes(editor, nodes, selection);\n }\n } catch (error) {\n console.error(error);\n }\n }\n const htmlString = dataTransfer.getData('text/html');\n const plainString = dataTransfer.getData('text/plain');\n\n // Skip HTML handling if it matches the plain text representation.\n // This avoids unnecessary processing for plain text strings created by\n // iOS Safari autocorrect, which incorrectly includes a `text/html` type.\n if (htmlString && plainString !== htmlString) {\n try {\n const parser = new DOMParser();\n const dom = parser.parseFromString(trustHTML(htmlString), 'text/html');\n const nodes = $generateNodesFromDOM(editor, dom);\n return $insertGeneratedNodes(editor, nodes, selection);\n } catch (error) {\n console.error(error);\n }\n }\n\n // Multi-line plain text in rich text mode pasted as separate paragraphs\n // instead of single paragraph with linebreaks.\n // Webkit-specific: Supports read 'text/uri-list' in clipboard.\n const text = plainString || dataTransfer.getData('text/uri-list');\n if (text != null) {\n if ($isRangeSelection(selection)) {\n const parts = text.split(/(\\r?\\n|\\t)/);\n if (parts[parts.length - 1] === '') {\n parts.pop();\n }\n for (let i = 0; i < parts.length; i++) {\n const currentSelection = $getSelection();\n if ($isRangeSelection(currentSelection)) {\n const part = parts[i];\n if (part === '\\n' || part === '\\r\\n') {\n currentSelection.insertParagraph();\n } else if (part === '\\t') {\n currentSelection.insertNodes([$createTabNode()]);\n } else {\n currentSelection.insertText(part);\n }\n }\n }\n } else {\n selection.insertRawText(text);\n }\n }\n}\nconst LEXICAL_DRAG_MIME_TYPE = 'application/x-lexical-drag';\n/**\n * Populate `dataTransfer` with a marker identifying the current editor as a\n * drag source. Pair this with {@link $handleRichTextDrop} or\n * {@link $handlePlainTextDrop} on the drop side to get cut-and-paste semantics\n * for drags that end in a different editor.\n *\n * Only the source editor's key needs to round-trip — the source's\n * RangeSelection itself is preserved on the source editor between drag start\n * and drop (Lexical suppresses selectionchange during drag), so the drop\n * handler reads it directly via `$getSelection()` on the resolved source\n * editor.\n *\n * Callers typically invoke this from a DRAGSTART_COMMAND handler alongside\n * {@link setLexicalClipboardDataTransfer} (so that the dragged content itself\n * round-trips with full node fidelity).\n */\nfunction $writeDragSourceToDataTransfer(dataTransfer, editor) {\n const marker = {\n editorKey: editor.getKey()\n };\n dataTransfer.setData(LEXICAL_DRAG_MIME_TYPE, JSON.stringify(marker));\n}\nfunction isLexicalDragMarker(value) {\n return value !== null && typeof value === 'object' && 'editorKey' in value && typeof value.editorKey === 'string';\n}\nfunction readDragMarker(dataTransfer) {\n const raw = dataTransfer.getData(LEXICAL_DRAG_MIME_TYPE);\n if (!raw) {\n return null;\n }\n let parsed;\n try {\n parsed = JSON.parse(raw);\n } catch (_unused) {\n return null;\n }\n return isLexicalDragMarker(parsed) ? parsed : null;\n}\nfunction findEditorRootByKey(key, doc) {\n const elements = doc.querySelectorAll('[data-lexical-editor=\"true\"]');\n for (const el of Array.from(elements)) {\n const editor = el.__lexicalEditor;\n if (editor && editor.getKey() === key) {\n return el;\n }\n }\n return null;\n}\nfunction $resolveDropPointCaret(event) {\n const hit = caretFromPoint(event.clientX, event.clientY);\n if (hit === null) {\n return null;\n }\n const node = $getNearestNodeFromDOMNode(hit.node);\n if (node === null) {\n return null;\n }\n if ($isTextNode(node)) {\n return $getTextPointCaret(node, 'next', hit.offset);\n }\n if ($isElementNode(node)) {\n return $getChildCaretAtIndex(node, hit.offset, 'next');\n }\n const parent = node.getParent();\n if (parent === null) {\n return null;\n }\n return $getChildCaretAtIndex(parent, node.getIndexWithinParent() + 1, 'next');\n}\nfunction $isDropCaretInsideSelection(dropCaret, selection) {\n const {\n anchor: start,\n focus: end\n } = $getCaretRangeInDirection($caretRangeFromSelection(selection), 'next');\n return $comparePointCaretNext(start, dropCaret) < 0 && $comparePointCaretNext(dropCaret, end) < 0;\n}\nfunction $doDrop(event, editor, $insertDataTransfer) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer === null) {\n return false;\n }\n\n // Drags that didn't originate in a Lexical editor (no marker) fall through\n // to the browser's native drag-and-drop flow; its beforeinput\n // insertFromDrop is already handled correctly by Lexical's existing\n // beforeinput logic.\n const marker = readDragMarker(dataTransfer);\n if (marker === null) {\n return false;\n }\n const dropCaret = $resolveDropPointCaret(event);\n if (dropCaret === null) {\n return false;\n }\n\n // Split at the drop caret so we have a stable NodeCaret boundary that\n // survives text-content mutations in its siblings.\n const stableDropCaret = $splitAtPointCaretNext(dropCaret);\n if (stableDropCaret === null) {\n return false;\n }\n const isSameEditorDrag = marker.editorKey === editor.getKey();\n const currentSelection = $getSelection();\n if (isSameEditorDrag) {\n // Same-editor drag: the destination's $getSelection() is the still-\n // selected dragged range, so Lexical's beforeinput handler would skip\n // applyDOMRange and route the insert to the source's location instead\n // of the drop point. Remove the dragged range ourselves, then insert\n // at the stable drop caret.\n if (!$isRangeSelection(currentSelection) || currentSelection.isCollapsed()) {\n return false;\n }\n if ($isDropCaretInsideSelection(dropCaret, currentSelection)) {\n event.preventDefault();\n return true;\n }\n currentSelection.removeText();\n }\n\n // If the drop caret's origin was swept away by the source removal, abort —\n // this can happen on a same-editor drag whose range covered the entire\n // text node we tried to split at.\n if (!stableDropCaret.origin.isAttached()) {\n event.preventDefault();\n return true;\n }\n const dropSelection = $setSelectionFromCaretRange($getCollapsedCaretRange(stableDropCaret));\n $insertDataTransfer(dataTransfer, dropSelection, editor);\n if (!isSameEditorDrag) {\n // Cross-editor drag. The native drag-out deletion that the browser\n // would normally fire (beforeinput deleteByDrag on the source) isn't\n // reliable when the source is a nested contenteditable of the\n // destination (e.g. an image caption inside the main editor), so we\n // dispatch it ourselves at the source editor's root. The source\n // editor's own beforeinput handler runs the deletion through its own\n // REMOVE_TEXT_COMMAND and SKIP_SELECTION_FOCUS_TAG path.\n const rootElement = editor.getRootElement();\n const doc = rootElement ? rootElement.ownerDocument : null;\n const sourceRoot = doc ? findEditorRootByKey(marker.editorKey, doc) : null;\n if (sourceRoot !== null) {\n sourceRoot.dispatchEvent(new InputEvent('beforeinput', {\n bubbles: true,\n cancelable: true,\n inputType: 'deleteByDrag'\n }));\n }\n }\n event.preventDefault();\n return true;\n}\n\n/**\n * Drop handler for rich-text editors. Inserts the DataTransfer payload via\n * {@link $insertDataTransferForRichText} at the drop caret and, when the drag\n * originated from a Lexical editor (marked via\n * {@link $writeDragSourceToDataTransfer} on DRAGSTART), removes the source\n * range — producing cut-and-paste semantics whether the drop is in the same\n * editor or a different one on the same page.\n */\nfunction $handleRichTextDrop(event, editor) {\n return $doDrop(event, editor, $insertDataTransferForRichText);\n}\n\n/**\n * Drop handler for plain-text editors. Same semantics as\n * {@link $handleRichTextDrop} but inserts via\n * {@link $insertDataTransferForPlainText}.\n */\nfunction $handlePlainTextDrop(event, editor) {\n return $doDrop(event, editor, (dataTransfer, selection) => $insertDataTransferForPlainText(dataTransfer, selection));\n}\nfunction trustHTML(html) {\n if (window.trustedTypes && window.trustedTypes.createPolicy) {\n const policy = window.trustedTypes.createPolicy('lexical', {\n createHTML: input => input\n });\n return policy.createHTML(html);\n }\n return html;\n}\n\n/**\n * Inserts Lexical nodes into the editor using different strategies depending on\n * some simple selection-based heuristics. If you're looking for a generic way to\n * to insert nodes into the editor at a specific selection point, you probably want\n * {@link lexical.$insertNodes}\n *\n * @param editor LexicalEditor instance to insert the nodes into.\n * @param nodes The nodes to insert.\n * @param selection The selection to insert the nodes into.\n */\nfunction $insertGeneratedNodes(editor, nodes, selection) {\n if (!editor.dispatchCommand(SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, {\n nodes,\n selection\n })) {\n selection.insertNodes(nodes);\n $updateSelectionOnInsert(selection);\n }\n return;\n}\nfunction $updateSelectionOnInsert(selection) {\n if ($isRangeSelection(selection) && selection.isCollapsed()) {\n const anchor = selection.anchor;\n let nodeToInspect = null;\n const anchorCaret = $caretFromPoint(anchor, 'previous');\n if (anchorCaret) {\n if ($isTextPointCaret(anchorCaret)) {\n nodeToInspect = anchorCaret.origin;\n } else {\n const range = $getCaretRange(anchorCaret, $getChildCaret($getRoot(), 'next').getFlipped());\n for (const caret of range) {\n if ($isTextNode(caret.origin)) {\n nodeToInspect = caret.origin;\n break;\n } else if ($isElementNode(caret.origin) && !caret.origin.isInline()) {\n break;\n }\n }\n }\n }\n if (nodeToInspect && $isTextNode(nodeToInspect)) {\n const newFormat = nodeToInspect.getFormat();\n const newStyle = nodeToInspect.getStyle();\n if (selection.format !== newFormat || selection.style !== newStyle) {\n selection.format = newFormat;\n selection.style = newStyle;\n selection.dirty = true;\n }\n }\n }\n}\nfunction exportNodeToJSON(node) {\n const serializedNode = node.exportJSON();\n const nodeClass = node.constructor;\n if (serializedNode.type !== nodeClass.getType()) {\n {\n formatDevErrorMessage(`LexicalNode: Node ${nodeClass.name} does not implement .exportJSON().`);\n }\n }\n if ($isElementNode(node)) {\n const serializedChildren = serializedNode.children;\n if (!Array.isArray(serializedChildren)) {\n {\n formatDevErrorMessage(`LexicalNode: Node ${nodeClass.name} is an element but .exportJSON() does not have a children array.`);\n }\n }\n }\n return serializedNode;\n}\nfunction $appendNodesToJSON(editor, selection, currentNode, targetArray = []) {\n let shouldInclude = selection !== null ? currentNode.isSelected(selection) : true;\n const shouldExclude = $isElementNode(currentNode) && currentNode.excludeFromCopy('html');\n let target = currentNode;\n if (selection !== null && $isTextNode(target)) {\n target = $sliceSelectedTextNodeContent(selection, target, 'clone');\n }\n const children = $isElementNode(target) ? target.getChildren() : [];\n const serializedNode = exportNodeToJSON(target);\n if ($isTextNode(target) && target.getTextContentSize() === 0) {\n // If an uncollapsed selection ends or starts at the end of a line of specialized,\n // TextNodes, such as code tokens, we will get a 'blank' TextNode here, i.e., one\n // with text of length 0. We don't want this, it makes a confusing mess. Reset!\n shouldInclude = false;\n }\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n const shouldIncludeChild = $appendNodesToJSON(editor, selection, childNode, serializedNode.children);\n if (!shouldInclude && $isElementNode(currentNode) && shouldIncludeChild && currentNode.extractWithChild(childNode, selection, 'clone')) {\n shouldInclude = true;\n }\n }\n if (shouldInclude && !shouldExclude) {\n targetArray.push(serializedNode);\n } else if (Array.isArray(serializedNode.children)) {\n for (let i = 0; i < serializedNode.children.length; i++) {\n const serializedChildNode = serializedNode.children[i];\n targetArray.push(serializedChildNode);\n }\n }\n return shouldInclude;\n}\n\n// TODO why $ function with Editor instance?\n/**\n * Gets the Lexical JSON of the nodes inside the provided Selection.\n *\n * @param editor LexicalEditor to get the JSON content from.\n * @param selection Selection to get the JSON content from.\n * @returns an object with the editor namespace and a list of serializable nodes as JavaScript objects.\n */\nfunction $generateJSONFromSelectedNodes(editor, selection) {\n const nodes = [];\n const root = $getRoot();\n const topLevelChildren = root.getChildren();\n for (let i = 0; i < topLevelChildren.length; i++) {\n const topLevelNode = topLevelChildren[i];\n $appendNodesToJSON(editor, selection, topLevelNode, nodes);\n }\n return {\n namespace: editor._config.namespace,\n nodes\n };\n}\n\n/**\n * This method takes an array of objects conforming to the BaseSerializedNode interface and returns\n * an Array containing instances of the corresponding LexicalNode classes registered on the editor.\n * Normally, you'd get an Array of BaseSerialized nodes from {@link $generateJSONFromSelectedNodes}\n *\n * @param serializedNodes an Array of objects conforming to the BaseSerializedNode interface.\n * @returns an Array of Lexical Node objects.\n */\nfunction $generateNodesFromSerializedNodes(serializedNodes) {\n const nodes = [];\n for (let i = 0; i < serializedNodes.length; i++) {\n const serializedNode = serializedNodes[i];\n const node = $parseSerializedNode(serializedNode);\n if ($isTextNode(node)) {\n $addNodeStyle(node);\n }\n nodes.push(node);\n }\n return nodes;\n}\nconst EVENT_LATENCY = 50;\nlet clipboardEventTimeout = null;\n\n// TODO custom selection\n// TODO potentially have a node customizable version for plain text\n/**\n * Copies the content of the current selection to the clipboard in\n * text/plain, text/html, and application/x-lexical-editor (Lexical JSON)\n * formats.\n *\n * @param editor the LexicalEditor instance to copy content from\n * @param event the native browser ClipboardEvent to add the content to.\n * @returns\n */\nasync function copyToClipboard(editor, event, data) {\n if (clipboardEventTimeout !== null) {\n // Prevent weird race conditions that can happen when this function is run multiple times\n // synchronously. In the future, we can do better, we can cancel/override the previously running job.\n return false;\n }\n if (event !== null) {\n return new Promise((resolve, reject) => {\n editor.update(() => {\n resolve($copyToClipboardEvent(editor, event, data));\n });\n });\n }\n const rootElement = editor.getRootElement();\n const editorWindow = editor._window || window;\n const windowDocument = editorWindow.document;\n const domSelection = getDOMSelection(editorWindow);\n if (rootElement === null || domSelection === null) {\n return false;\n }\n const element = windowDocument.createElement('span');\n element.style.position = 'fixed';\n element.style.top = '-1000px';\n element.append(windowDocument.createTextNode('#'));\n rootElement.append(element);\n const range = new Range();\n range.setStart(element, 0);\n range.setEnd(element, 1);\n domSelection.removeAllRanges();\n domSelection.addRange(range);\n return new Promise((resolve, reject) => {\n const removeListener = editor.registerCommand(COPY_COMMAND, secondEvent => {\n if (objectKlassEquals(secondEvent, ClipboardEvent)) {\n removeListener();\n if (clipboardEventTimeout !== null) {\n editorWindow.clearTimeout(clipboardEventTimeout);\n clipboardEventTimeout = null;\n }\n resolve($copyToClipboardEvent(editor, secondEvent, data));\n }\n // Block the entire copy flow while we wait for the next ClipboardEvent\n return true;\n }, COMMAND_PRIORITY_CRITICAL);\n // If the above hack execCommand hack works, this timeout code should never fire. Otherwise,\n // the listener will be quickly freed so that the user can reuse it again\n clipboardEventTimeout = editorWindow.setTimeout(() => {\n removeListener();\n clipboardEventTimeout = null;\n resolve(false);\n }, EVENT_LATENCY);\n windowDocument.execCommand('copy');\n element.remove();\n });\n}\n\n// TODO shouldn't pass editor (pass namespace directly)\nfunction $copyToClipboardEvent(editor, event, data) {\n if (data === undefined) {\n const domSelection = getDOMSelection(editor._window);\n const selection = $getSelection();\n if (!selection || selection.isCollapsed()) {\n return false;\n }\n if (!domSelection) {\n return false;\n }\n const anchorDOM = domSelection.anchorNode;\n const focusDOM = domSelection.focusNode;\n if (anchorDOM !== null && focusDOM !== null && !isSelectionWithinEditor(editor, anchorDOM, focusDOM)) {\n return false;\n }\n data = $getClipboardDataFromSelection(selection);\n }\n event.preventDefault();\n const clipboardData = event.clipboardData;\n if (clipboardData === null) {\n return false;\n }\n setLexicalClipboardDataTransfer(clipboardData, data);\n return true;\n}\nconst clipboardDataFunctions = [['text/html', $getHtmlContent], ['application/x-lexical-editor', $getLexicalContent]];\n\n/**\n * Serialize the content of the current selection to strings in\n * text/plain, text/html, and application/x-lexical-editor (Lexical JSON)\n * formats (as available).\n *\n * @param selection the selection to serialize (defaults to $getSelection())\n * @returns LexicalClipboardData\n */\nfunction $getClipboardDataFromSelection(selection = $getSelection()) {\n return $getClipboardDataWithConfigFromSelection($getExportConfig(), selection);\n}\n\n/**\n * Call setData on the given clipboardData for each MIME type present\n * in the given data (from {@link $getClipboardDataFromSelection})\n *\n * @param clipboardData the event.clipboardData to populate from data\n * @param data The lexical data\n */\nfunction setLexicalClipboardDataTransfer(clipboardData, data) {\n for (const [k] of clipboardDataFunctions) {\n if (data[k] === undefined) {\n clipboardData.setData(k, '');\n }\n }\n for (const k in data) {\n const v = data[k];\n if (v !== undefined) {\n clipboardData.setData(k, v);\n }\n }\n}\nfunction $getExportConfig() {\n const editor = $getEditor();\n const builder = LexicalBuilder.maybeFromEditor(editor);\n if (builder && builder.hasExtensionByName(GetClipboardDataExtension.name)) {\n return getExtensionDependencyFromEditor(editor, GetClipboardDataExtension).output;\n }\n return DEFAULT_EXPORT_MIME_TYPE;\n}\nconst DEFAULT_EXPORT_MIME_TYPE = {\n 'application/x-lexical-editor': [(sel, next) => sel ? $getLexicalContent($getEditor(), sel) : next()],\n 'text/html': [(sel, next) => sel ? $getHtmlContent($getEditor(), sel) : next()],\n 'text/plain': [(sel, next) => sel ? sel.getTextContent() : next()]\n};\nfunction $getClipboardDataWithConfigFromSelection($exportMimeType, selection) {\n const clipboardData = {\n 'text/plain': ''\n };\n for (const [k, fns] of Object.entries($exportMimeType)) {\n const v = callExportMimeTypeFunctionStack(fns, selection);\n if (v !== null) {\n clipboardData[k] = v;\n }\n }\n return clipboardData;\n}\nfunction callExportMimeTypeFunctionStack(fns, selection) {\n const callAt = i => fns[i] ? fns[i](selection, callAt.bind(null, i - 1)) : null;\n return callAt(fns.length - 1);\n}\nconst GetClipboardDataExtension = defineExtension({\n build(editor, config, state) {\n return config.$exportMimeType;\n },\n config: safeCast({\n $exportMimeType: DEFAULT_EXPORT_MIME_TYPE\n }),\n mergeConfig(config, partial) {\n const merged = shallowMergeConfig(config, partial);\n if (partial.$exportMimeType) {\n const $exportMimeType = {\n ...config.$exportMimeType\n };\n for (const [k, v] of Object.entries(partial.$exportMimeType)) {\n $exportMimeType[k] = [...$exportMimeType[k], ...v];\n }\n merged.$exportMimeType = $exportMimeType;\n }\n return merged;\n },\n name: '@lexical/clipboard/GetClipboardData'\n});\n\nexport { $generateJSONFromSelectedNodes, $generateNodesFromSerializedNodes, $getClipboardDataFromSelection, $getHtmlContent, $getLexicalContent, $handlePlainTextDrop, $handleRichTextDrop, $insertDataTransferForPlainText, $insertDataTransferForRichText, $insertGeneratedNodes, $writeDragSourceToDataTransfer, copyToClipboard, setLexicalClipboardDataTransfer };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LexicalClipboard.dev-DZC2zppG.mjs","names":[],"sources":["../../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.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 { LexicalBuilder, getExtensionDependencyFromEditor } from '@lexical/extension';\nimport { $generateHtmlFromNodes, $generateNodesFromDOM } from '@lexical/html';\nimport { $addNodeStyle, $sliceSelectedTextNodeContent } from '@lexical/selection';\nimport { objectKlassEquals } from '@lexical/utils';\nimport { $isRangeSelection, $getSelection, $createTabNode, SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, $caretFromPoint, $isTextPointCaret, $getCaretRange, $getChildCaret, $getRoot, $isTextNode, $isElementNode, $parseSerializedNode, getDOMSelection, COPY_COMMAND, COMMAND_PRIORITY_CRITICAL, isSelectionWithinEditor, $getEditor, defineExtension, shallowMergeConfig, safeCast, $splitAtPointCaretNext, $setSelectionFromCaretRange, $getCollapsedCaretRange, $getNearestNodeFromDOMNode, $getTextPointCaret, $getChildCaretAtIndex, $getCaretRangeInDirection, $caretRangeFromSelection, $comparePointCaretNext } from 'lexical';\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n// Do not require this module directly! Use normal `invariant` calls.\n\nfunction formatDevErrorMessage(message) {\n throw new Error(message);\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nfunction caretFromPoint(x, y) {\n if (typeof document.caretRangeFromPoint !== 'undefined') {\n const range = document.caretRangeFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.startContainer,\n offset: range.startOffset\n };\n // @ts-ignore\n } else if (document.caretPositionFromPoint !== 'undefined') {\n // @ts-ignore FF - no types\n const range = document.caretPositionFromPoint(x, y);\n if (range === null) {\n return null;\n }\n return {\n node: range.offsetNode,\n offset: range.offset\n };\n } else {\n // Gracefully handle IE\n return null;\n }\n}\n\n/**\n * Returns the *currently selected* Lexical content as an HTML string, relying on the\n * logic defined in the exportDOM methods on the LexicalNode classes. Note that\n * this will not return the HTML content of the entire editor (unless all the content is included\n * in the current selection).\n *\n * @param editor - LexicalEditor instance to get HTML content from\n * @param selection - The selection to use (default is $getSelection())\n * @returns a string of HTML content\n */\nfunction $getHtmlContent(editor, selection = $getSelection()) {\n if (selection == null) {\n {\n formatDevErrorMessage(`Expected valid LexicalSelection`);\n }\n }\n\n // If we haven't selected anything\n if ($isRangeSelection(selection) && selection.isCollapsed() || selection.getNodes().length === 0) {\n return '';\n }\n return $generateHtmlFromNodes(editor, selection);\n}\n\n/**\n * Returns the *currently selected* Lexical content as a JSON string, relying on the\n * logic defined in the exportJSON methods on the LexicalNode classes. Note that\n * this will not return the JSON content of the entire editor (unless all the content is included\n * in the current selection).\n *\n * @param editor - LexicalEditor instance to get the JSON content from\n * @param selection - The selection to use (default is $getSelection())\n * @returns\n */\nfunction $getLexicalContent(editor, selection = $getSelection()) {\n if (selection == null) {\n {\n formatDevErrorMessage(`Expected valid LexicalSelection`);\n }\n }\n\n // If we haven't selected anything\n if ($isRangeSelection(selection) && selection.isCollapsed() || selection.getNodes().length === 0) {\n return null;\n }\n return JSON.stringify($generateJSONFromSelectedNodes(editor, selection));\n}\n\n/**\n * Attempts to insert content of the mime-types text/plain or text/uri-list from\n * the provided DataTransfer object into the editor at the provided selection.\n * text/uri-list is only used if text/plain is not also provided.\n *\n * @param dataTransfer an object conforming to the [DataTransfer interface] (https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface)\n * @param selection the selection to use as the insertion point for the content in the DataTransfer object\n */\nfunction $insertDataTransferForPlainText(dataTransfer, selection) {\n const text = dataTransfer.getData('text/plain') || dataTransfer.getData('text/uri-list');\n if (text != null) {\n selection.insertRawText(text);\n }\n}\n\n/**\n * Attempts to insert content of the mime-types application/x-lexical-editor, text/html,\n * text/plain, or text/uri-list (in descending order of priority) from the provided DataTransfer\n * object into the editor at the provided selection.\n *\n * @param dataTransfer an object conforming to the [DataTransfer interface] (https://html.spec.whatwg.org/multipage/dnd.html#the-datatransfer-interface)\n * @param selection the selection to use as the insertion point for the content in the DataTransfer object\n * @param editor the LexicalEditor the content is being inserted into.\n */\nfunction $insertDataTransferForRichText(dataTransfer, selection, editor) {\n const lexicalString = dataTransfer.getData('application/x-lexical-editor');\n if (lexicalString) {\n try {\n const payload = JSON.parse(lexicalString);\n if (payload.namespace === editor._config.namespace && Array.isArray(payload.nodes)) {\n const nodes = $generateNodesFromSerializedNodes(payload.nodes);\n return $insertGeneratedNodes(editor, nodes, selection);\n }\n } catch (error) {\n console.error(error);\n }\n }\n const htmlString = dataTransfer.getData('text/html');\n const plainString = dataTransfer.getData('text/plain');\n\n // Skip HTML handling if it matches the plain text representation.\n // This avoids unnecessary processing for plain text strings created by\n // iOS Safari autocorrect, which incorrectly includes a `text/html` type.\n if (htmlString && plainString !== htmlString) {\n try {\n const parser = new DOMParser();\n const dom = parser.parseFromString(trustHTML(htmlString), 'text/html');\n const nodes = $generateNodesFromDOM(editor, dom);\n return $insertGeneratedNodes(editor, nodes, selection);\n } catch (error) {\n console.error(error);\n }\n }\n\n // Multi-line plain text in rich text mode pasted as separate paragraphs\n // instead of single paragraph with linebreaks.\n // Webkit-specific: Supports read 'text/uri-list' in clipboard.\n const text = plainString || dataTransfer.getData('text/uri-list');\n if (text != null) {\n if ($isRangeSelection(selection)) {\n const parts = text.split(/(\\r?\\n|\\t)/);\n if (parts[parts.length - 1] === '') {\n parts.pop();\n }\n for (let i = 0; i < parts.length; i++) {\n const currentSelection = $getSelection();\n if ($isRangeSelection(currentSelection)) {\n const part = parts[i];\n if (part === '\\n' || part === '\\r\\n') {\n currentSelection.insertParagraph();\n } else if (part === '\\t') {\n currentSelection.insertNodes([$createTabNode()]);\n } else {\n currentSelection.insertText(part);\n }\n }\n }\n } else {\n selection.insertRawText(text);\n }\n }\n}\nconst LEXICAL_DRAG_MIME_TYPE = 'application/x-lexical-drag';\n/**\n * Populate `dataTransfer` with a marker identifying the current editor as a\n * drag source. Pair this with {@link $handleRichTextDrop} or\n * {@link $handlePlainTextDrop} on the drop side to get cut-and-paste semantics\n * for drags that end in a different editor.\n *\n * Only the source editor's key needs to round-trip — the source's\n * RangeSelection itself is preserved on the source editor between drag start\n * and drop (Lexical suppresses selectionchange during drag), so the drop\n * handler reads it directly via `$getSelection()` on the resolved source\n * editor.\n *\n * Callers typically invoke this from a DRAGSTART_COMMAND handler alongside\n * {@link setLexicalClipboardDataTransfer} (so that the dragged content itself\n * round-trips with full node fidelity).\n */\nfunction $writeDragSourceToDataTransfer(dataTransfer, editor) {\n const marker = {\n editorKey: editor.getKey()\n };\n dataTransfer.setData(LEXICAL_DRAG_MIME_TYPE, JSON.stringify(marker));\n}\nfunction isLexicalDragMarker(value) {\n return value !== null && typeof value === 'object' && 'editorKey' in value && typeof value.editorKey === 'string';\n}\nfunction readDragMarker(dataTransfer) {\n const raw = dataTransfer.getData(LEXICAL_DRAG_MIME_TYPE);\n if (!raw) {\n return null;\n }\n let parsed;\n try {\n parsed = JSON.parse(raw);\n } catch (_unused) {\n return null;\n }\n return isLexicalDragMarker(parsed) ? parsed : null;\n}\nfunction findEditorRootByKey(key, doc) {\n const elements = doc.querySelectorAll('[data-lexical-editor=\"true\"]');\n for (const el of Array.from(elements)) {\n const editor = el.__lexicalEditor;\n if (editor && editor.getKey() === key) {\n return el;\n }\n }\n return null;\n}\nfunction $resolveDropPointCaret(event) {\n const hit = caretFromPoint(event.clientX, event.clientY);\n if (hit === null) {\n return null;\n }\n const node = $getNearestNodeFromDOMNode(hit.node);\n if (node === null) {\n return null;\n }\n if ($isTextNode(node)) {\n return $getTextPointCaret(node, 'next', hit.offset);\n }\n if ($isElementNode(node)) {\n return $getChildCaretAtIndex(node, hit.offset, 'next');\n }\n const parent = node.getParent();\n if (parent === null) {\n return null;\n }\n return $getChildCaretAtIndex(parent, node.getIndexWithinParent() + 1, 'next');\n}\nfunction $isDropCaretInsideSelection(dropCaret, selection) {\n const {\n anchor: start,\n focus: end\n } = $getCaretRangeInDirection($caretRangeFromSelection(selection), 'next');\n return $comparePointCaretNext(start, dropCaret) < 0 && $comparePointCaretNext(dropCaret, end) < 0;\n}\nfunction $doDrop(event, editor, $insertDataTransfer) {\n const dataTransfer = event.dataTransfer;\n if (dataTransfer === null) {\n return false;\n }\n\n // Drags that didn't originate in a Lexical editor (no marker) fall through\n // to the browser's native drag-and-drop flow; its beforeinput\n // insertFromDrop is already handled correctly by Lexical's existing\n // beforeinput logic.\n const marker = readDragMarker(dataTransfer);\n if (marker === null) {\n return false;\n }\n const dropCaret = $resolveDropPointCaret(event);\n if (dropCaret === null) {\n return false;\n }\n\n // Split at the drop caret so we have a stable NodeCaret boundary that\n // survives text-content mutations in its siblings.\n const stableDropCaret = $splitAtPointCaretNext(dropCaret);\n if (stableDropCaret === null) {\n return false;\n }\n const isSameEditorDrag = marker.editorKey === editor.getKey();\n const currentSelection = $getSelection();\n if (isSameEditorDrag) {\n // Same-editor drag: the destination's $getSelection() is the still-\n // selected dragged range, so Lexical's beforeinput handler would skip\n // applyDOMRange and route the insert to the source's location instead\n // of the drop point. Remove the dragged range ourselves, then insert\n // at the stable drop caret.\n if (!$isRangeSelection(currentSelection) || currentSelection.isCollapsed()) {\n return false;\n }\n if ($isDropCaretInsideSelection(dropCaret, currentSelection)) {\n event.preventDefault();\n return true;\n }\n currentSelection.removeText();\n }\n\n // If the drop caret's origin was swept away by the source removal, abort —\n // this can happen on a same-editor drag whose range covered the entire\n // text node we tried to split at.\n if (!stableDropCaret.origin.isAttached()) {\n event.preventDefault();\n return true;\n }\n const dropSelection = $setSelectionFromCaretRange($getCollapsedCaretRange(stableDropCaret));\n $insertDataTransfer(dataTransfer, dropSelection, editor);\n if (!isSameEditorDrag) {\n // Cross-editor drag. The native drag-out deletion that the browser\n // would normally fire (beforeinput deleteByDrag on the source) isn't\n // reliable when the source is a nested contenteditable of the\n // destination (e.g. an image caption inside the main editor), so we\n // dispatch it ourselves at the source editor's root. The source\n // editor's own beforeinput handler runs the deletion through its own\n // REMOVE_TEXT_COMMAND and SKIP_SELECTION_FOCUS_TAG path.\n const rootElement = editor.getRootElement();\n const doc = rootElement ? rootElement.ownerDocument : null;\n const sourceRoot = doc ? findEditorRootByKey(marker.editorKey, doc) : null;\n if (sourceRoot !== null) {\n sourceRoot.dispatchEvent(new InputEvent('beforeinput', {\n bubbles: true,\n cancelable: true,\n inputType: 'deleteByDrag'\n }));\n }\n }\n event.preventDefault();\n return true;\n}\n\n/**\n * Drop handler for rich-text editors. Inserts the DataTransfer payload via\n * {@link $insertDataTransferForRichText} at the drop caret and, when the drag\n * originated from a Lexical editor (marked via\n * {@link $writeDragSourceToDataTransfer} on DRAGSTART), removes the source\n * range — producing cut-and-paste semantics whether the drop is in the same\n * editor or a different one on the same page.\n */\nfunction $handleRichTextDrop(event, editor) {\n return $doDrop(event, editor, $insertDataTransferForRichText);\n}\n\n/**\n * Drop handler for plain-text editors. Same semantics as\n * {@link $handleRichTextDrop} but inserts via\n * {@link $insertDataTransferForPlainText}.\n */\nfunction $handlePlainTextDrop(event, editor) {\n return $doDrop(event, editor, (dataTransfer, selection) => $insertDataTransferForPlainText(dataTransfer, selection));\n}\nfunction trustHTML(html) {\n if (window.trustedTypes && window.trustedTypes.createPolicy) {\n const policy = window.trustedTypes.createPolicy('lexical', {\n createHTML: input => input\n });\n return policy.createHTML(html);\n }\n return html;\n}\n\n/**\n * Inserts Lexical nodes into the editor using different strategies depending on\n * some simple selection-based heuristics. If you're looking for a generic way to\n * to insert nodes into the editor at a specific selection point, you probably want\n * {@link lexical.$insertNodes}\n *\n * @param editor LexicalEditor instance to insert the nodes into.\n * @param nodes The nodes to insert.\n * @param selection The selection to insert the nodes into.\n */\nfunction $insertGeneratedNodes(editor, nodes, selection) {\n if (!editor.dispatchCommand(SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, {\n nodes,\n selection\n })) {\n selection.insertNodes(nodes);\n $updateSelectionOnInsert(selection);\n }\n return;\n}\nfunction $updateSelectionOnInsert(selection) {\n if ($isRangeSelection(selection) && selection.isCollapsed()) {\n const anchor = selection.anchor;\n let nodeToInspect = null;\n const anchorCaret = $caretFromPoint(anchor, 'previous');\n if (anchorCaret) {\n if ($isTextPointCaret(anchorCaret)) {\n nodeToInspect = anchorCaret.origin;\n } else {\n const range = $getCaretRange(anchorCaret, $getChildCaret($getRoot(), 'next').getFlipped());\n for (const caret of range) {\n if ($isTextNode(caret.origin)) {\n nodeToInspect = caret.origin;\n break;\n } else if ($isElementNode(caret.origin) && !caret.origin.isInline()) {\n break;\n }\n }\n }\n }\n if (nodeToInspect && $isTextNode(nodeToInspect)) {\n const newFormat = nodeToInspect.getFormat();\n const newStyle = nodeToInspect.getStyle();\n if (selection.format !== newFormat || selection.style !== newStyle) {\n selection.format = newFormat;\n selection.style = newStyle;\n selection.dirty = true;\n }\n }\n }\n}\nfunction exportNodeToJSON(node) {\n const serializedNode = node.exportJSON();\n const nodeClass = node.constructor;\n if (serializedNode.type !== nodeClass.getType()) {\n {\n formatDevErrorMessage(`LexicalNode: Node ${nodeClass.name} does not implement .exportJSON().`);\n }\n }\n if ($isElementNode(node)) {\n const serializedChildren = serializedNode.children;\n if (!Array.isArray(serializedChildren)) {\n {\n formatDevErrorMessage(`LexicalNode: Node ${nodeClass.name} is an element but .exportJSON() does not have a children array.`);\n }\n }\n }\n return serializedNode;\n}\nfunction $appendNodesToJSON(editor, selection, currentNode, targetArray = []) {\n let shouldInclude = selection !== null ? currentNode.isSelected(selection) : true;\n const shouldExclude = $isElementNode(currentNode) && currentNode.excludeFromCopy('html');\n let target = currentNode;\n if (selection !== null && $isTextNode(target)) {\n target = $sliceSelectedTextNodeContent(selection, target, 'clone');\n }\n const children = $isElementNode(target) ? target.getChildren() : [];\n const serializedNode = exportNodeToJSON(target);\n if ($isTextNode(target) && target.getTextContentSize() === 0) {\n // If an uncollapsed selection ends or starts at the end of a line of specialized,\n // TextNodes, such as code tokens, we will get a 'blank' TextNode here, i.e., one\n // with text of length 0. We don't want this, it makes a confusing mess. Reset!\n shouldInclude = false;\n }\n for (let i = 0; i < children.length; i++) {\n const childNode = children[i];\n const shouldIncludeChild = $appendNodesToJSON(editor, selection, childNode, serializedNode.children);\n if (!shouldInclude && $isElementNode(currentNode) && shouldIncludeChild && currentNode.extractWithChild(childNode, selection, 'clone')) {\n shouldInclude = true;\n }\n }\n if (shouldInclude && !shouldExclude) {\n targetArray.push(serializedNode);\n } else if (Array.isArray(serializedNode.children)) {\n for (let i = 0; i < serializedNode.children.length; i++) {\n const serializedChildNode = serializedNode.children[i];\n targetArray.push(serializedChildNode);\n }\n }\n return shouldInclude;\n}\n\n// TODO why $ function with Editor instance?\n/**\n * Gets the Lexical JSON of the nodes inside the provided Selection.\n *\n * @param editor LexicalEditor to get the JSON content from.\n * @param selection Selection to get the JSON content from.\n * @returns an object with the editor namespace and a list of serializable nodes as JavaScript objects.\n */\nfunction $generateJSONFromSelectedNodes(editor, selection) {\n const nodes = [];\n const root = $getRoot();\n const topLevelChildren = root.getChildren();\n for (let i = 0; i < topLevelChildren.length; i++) {\n const topLevelNode = topLevelChildren[i];\n $appendNodesToJSON(editor, selection, topLevelNode, nodes);\n }\n return {\n namespace: editor._config.namespace,\n nodes\n };\n}\n\n/**\n * This method takes an array of objects conforming to the BaseSerializedNode interface and returns\n * an Array containing instances of the corresponding LexicalNode classes registered on the editor.\n * Normally, you'd get an Array of BaseSerialized nodes from {@link $generateJSONFromSelectedNodes}\n *\n * @param serializedNodes an Array of objects conforming to the BaseSerializedNode interface.\n * @returns an Array of Lexical Node objects.\n */\nfunction $generateNodesFromSerializedNodes(serializedNodes) {\n const nodes = [];\n for (let i = 0; i < serializedNodes.length; i++) {\n const serializedNode = serializedNodes[i];\n const node = $parseSerializedNode(serializedNode);\n if ($isTextNode(node)) {\n $addNodeStyle(node);\n }\n nodes.push(node);\n }\n return nodes;\n}\nconst EVENT_LATENCY = 50;\nlet clipboardEventTimeout = null;\n\n// TODO custom selection\n// TODO potentially have a node customizable version for plain text\n/**\n * Copies the content of the current selection to the clipboard in\n * text/plain, text/html, and application/x-lexical-editor (Lexical JSON)\n * formats.\n *\n * @param editor the LexicalEditor instance to copy content from\n * @param event the native browser ClipboardEvent to add the content to.\n * @returns\n */\nasync function copyToClipboard(editor, event, data) {\n if (clipboardEventTimeout !== null) {\n // Prevent weird race conditions that can happen when this function is run multiple times\n // synchronously. In the future, we can do better, we can cancel/override the previously running job.\n return false;\n }\n if (event !== null) {\n return new Promise((resolve, reject) => {\n editor.update(() => {\n resolve($copyToClipboardEvent(editor, event, data));\n });\n });\n }\n const rootElement = editor.getRootElement();\n const editorWindow = editor._window || window;\n const windowDocument = editorWindow.document;\n const domSelection = getDOMSelection(editorWindow);\n if (rootElement === null || domSelection === null) {\n return false;\n }\n const element = windowDocument.createElement('span');\n element.style.position = 'fixed';\n element.style.top = '-1000px';\n element.append(windowDocument.createTextNode('#'));\n rootElement.append(element);\n const range = new Range();\n range.setStart(element, 0);\n range.setEnd(element, 1);\n domSelection.removeAllRanges();\n domSelection.addRange(range);\n return new Promise((resolve, reject) => {\n const removeListener = editor.registerCommand(COPY_COMMAND, secondEvent => {\n if (objectKlassEquals(secondEvent, ClipboardEvent)) {\n removeListener();\n if (clipboardEventTimeout !== null) {\n editorWindow.clearTimeout(clipboardEventTimeout);\n clipboardEventTimeout = null;\n }\n resolve($copyToClipboardEvent(editor, secondEvent, data));\n }\n // Block the entire copy flow while we wait for the next ClipboardEvent\n return true;\n }, COMMAND_PRIORITY_CRITICAL);\n // If the above hack execCommand hack works, this timeout code should never fire. Otherwise,\n // the listener will be quickly freed so that the user can reuse it again\n clipboardEventTimeout = editorWindow.setTimeout(() => {\n removeListener();\n clipboardEventTimeout = null;\n resolve(false);\n }, EVENT_LATENCY);\n windowDocument.execCommand('copy');\n element.remove();\n });\n}\n\n// TODO shouldn't pass editor (pass namespace directly)\nfunction $copyToClipboardEvent(editor, event, data) {\n if (data === undefined) {\n const domSelection = getDOMSelection(editor._window);\n const selection = $getSelection();\n if (!selection || selection.isCollapsed()) {\n return false;\n }\n if (!domSelection) {\n return false;\n }\n const anchorDOM = domSelection.anchorNode;\n const focusDOM = domSelection.focusNode;\n if (anchorDOM !== null && focusDOM !== null && !isSelectionWithinEditor(editor, anchorDOM, focusDOM)) {\n return false;\n }\n data = $getClipboardDataFromSelection(selection);\n }\n event.preventDefault();\n const clipboardData = event.clipboardData;\n if (clipboardData === null) {\n return false;\n }\n setLexicalClipboardDataTransfer(clipboardData, data);\n return true;\n}\nconst clipboardDataFunctions = [['text/html', $getHtmlContent], ['application/x-lexical-editor', $getLexicalContent]];\n\n/**\n * Serialize the content of the current selection to strings in\n * text/plain, text/html, and application/x-lexical-editor (Lexical JSON)\n * formats (as available).\n *\n * @param selection the selection to serialize (defaults to $getSelection())\n * @returns LexicalClipboardData\n */\nfunction $getClipboardDataFromSelection(selection = $getSelection()) {\n return $getClipboardDataWithConfigFromSelection($getExportConfig(), selection);\n}\n\n/**\n * Call setData on the given clipboardData for each MIME type present\n * in the given data (from {@link $getClipboardDataFromSelection})\n *\n * @param clipboardData the event.clipboardData to populate from data\n * @param data The lexical data\n */\nfunction setLexicalClipboardDataTransfer(clipboardData, data) {\n for (const [k] of clipboardDataFunctions) {\n if (data[k] === undefined) {\n clipboardData.setData(k, '');\n }\n }\n for (const k in data) {\n const v = data[k];\n if (v !== undefined) {\n clipboardData.setData(k, v);\n }\n }\n}\nfunction $getExportConfig() {\n const editor = $getEditor();\n const builder = LexicalBuilder.maybeFromEditor(editor);\n if (builder && builder.hasExtensionByName(GetClipboardDataExtension.name)) {\n return getExtensionDependencyFromEditor(editor, GetClipboardDataExtension).output;\n }\n return DEFAULT_EXPORT_MIME_TYPE;\n}\nconst DEFAULT_EXPORT_MIME_TYPE = {\n 'application/x-lexical-editor': [(sel, next) => sel ? $getLexicalContent($getEditor(), sel) : next()],\n 'text/html': [(sel, next) => sel ? $getHtmlContent($getEditor(), sel) : next()],\n 'text/plain': [(sel, next) => sel ? sel.getTextContent() : next()]\n};\nfunction $getClipboardDataWithConfigFromSelection($exportMimeType, selection) {\n const clipboardData = {\n 'text/plain': ''\n };\n for (const [k, fns] of Object.entries($exportMimeType)) {\n const v = callExportMimeTypeFunctionStack(fns, selection);\n if (v !== null) {\n clipboardData[k] = v;\n }\n }\n return clipboardData;\n}\nfunction callExportMimeTypeFunctionStack(fns, selection) {\n const callAt = i => fns[i] ? fns[i](selection, callAt.bind(null, i - 1)) : null;\n return callAt(fns.length - 1);\n}\nconst GetClipboardDataExtension = defineExtension({\n build(editor, config, state) {\n return config.$exportMimeType;\n },\n config: safeCast({\n $exportMimeType: DEFAULT_EXPORT_MIME_TYPE\n }),\n mergeConfig(config, partial) {\n const merged = shallowMergeConfig(config, partial);\n if (partial.$exportMimeType) {\n const $exportMimeType = {\n ...config.$exportMimeType\n };\n for (const [k, v] of Object.entries(partial.$exportMimeType)) {\n $exportMimeType[k] = [...$exportMimeType[k], ...v];\n }\n merged.$exportMimeType = $exportMimeType;\n }\n return merged;\n },\n name: '@lexical/clipboard/GetClipboardData'\n});\n\nexport { $generateJSONFromSelectedNodes, $generateNodesFromSerializedNodes, $getClipboardDataFromSelection, $getHtmlContent, $getLexicalContent, $handlePlainTextDrop, $handleRichTextDrop, $insertDataTransferForPlainText, $insertDataTransferForRichText, $insertGeneratedNodes, $writeDragSourceToDataTransfer, copyToClipboard, setLexicalClipboardDataTransfer };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*
|
|
8
8
|
*/
|
|
9
|
-
const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalClipboard.dev-
|
|
9
|
+
const mod = await (process.env.NODE_ENV !== "production" ? import("./LexicalClipboard.dev-DZC2zppG.mjs") : import("./LexicalClipboard.prod-DE2azzIb.mjs"));
|
|
10
10
|
mod.$generateJSONFromSelectedNodes;
|
|
11
11
|
mod.$generateNodesFromSerializedNodes;
|
|
12
12
|
const $getClipboardDataFromSelection = mod.$getClipboardDataFromSelection;
|
|
@@ -23,4 +23,4 @@ const setLexicalClipboardDataTransfer = mod.setLexicalClipboardDataTransfer;
|
|
|
23
23
|
//#endregion
|
|
24
24
|
export { copyToClipboard as a, $writeDragSourceToDataTransfer as i, $handleRichTextDrop as n, setLexicalClipboardDataTransfer as o, $insertDataTransferForRichText as r, $getClipboardDataFromSelection as t };
|
|
25
25
|
|
|
26
|
-
//# sourceMappingURL=LexicalClipboard.node-
|
|
26
|
+
//# sourceMappingURL=LexicalClipboard.node-e5G1wVGb.mjs.map
|
package/dist/{LexicalClipboard.node-0e9GBL1g.mjs.map → LexicalClipboard.node-e5G1wVGb.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalClipboard.node-
|
|
1
|
+
{"version":3,"file":"LexicalClipboard.node-e5G1wVGb.mjs","names":[],"sources":["../../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.node.mjs"],"sourcesContent":["/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nconst mod = await (process.env.NODE_ENV !== 'production' ? import('./LexicalClipboard.dev.mjs') : import('./LexicalClipboard.prod.mjs'));\nexport const $generateJSONFromSelectedNodes = mod.$generateJSONFromSelectedNodes;\nexport const $generateNodesFromSerializedNodes = mod.$generateNodesFromSerializedNodes;\nexport const $getClipboardDataFromSelection = mod.$getClipboardDataFromSelection;\nexport const $getHtmlContent = mod.$getHtmlContent;\nexport const $getLexicalContent = mod.$getLexicalContent;\nexport const $handlePlainTextDrop = mod.$handlePlainTextDrop;\nexport const $handleRichTextDrop = mod.$handleRichTextDrop;\nexport const $insertDataTransferForPlainText = mod.$insertDataTransferForPlainText;\nexport const $insertDataTransferForRichText = mod.$insertDataTransferForRichText;\nexport const $insertGeneratedNodes = mod.$insertGeneratedNodes;\nexport const $writeDragSourceToDataTransfer = mod.$writeDragSourceToDataTransfer;\nexport const copyToClipboard = mod.copyToClipboard;\nexport const setLexicalClipboardDataTransfer = mod.setLexicalClipboardDataTransfer;"],"x_google_ignoreList":[0],"mappings":";;;;;;;;AAQA,MAAM,MAAM,OAAO,QAAQ,IAAI,aAAa,eAAe,OAAO,yCAAgC,OAAO;AAC3D,IAAI;AACD,IAAI;AACrD,MAAa,iCAAiC,IAAI;AACnB,IAAI;AACD,IAAI;AACF,IAAI;AACxC,MAAa,sBAAsB,IAAI;AACQ,IAAI;AACnD,MAAa,iCAAiC,IAAI;AACb,IAAI;AACzC,MAAa,iCAAiC,IAAI;AAClD,MAAa,kBAAkB,IAAI;AACnC,MAAa,kCAAkC,IAAI"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { i as getExtensionDependencyFromEditor, n as LexicalBuilder } from "./LexicalExtension.node-
|
|
2
|
-
import { $n as safeCast, A as $getCollapsedCaretRange, D as $getChildCaret, Dt as COMMAND_PRIORITY_CRITICAL, H as $getTextPointCaret, Jn as isSelectionWithinEditor, Mn as defineExtension, Mt as COPY_COMMAND, N as $getNearestNodeFromDOMNode, Nn as getDOMSelection, O as $getChildCaretAtIndex, R as $getRoot, T as $getCaretRangeInDirection, Y as $isElementNode, ct as $isTextNode, g as $createTabNode, i as $caretRangeFromSelection, j as $getEditor, lt as $isTextPointCaret, pt as $parseSerializedNode, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, s as $comparePointCaretNext, vn as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, w as $getCaretRange, xt as $splitAtPointCaretNext, yt as $setSelectionFromCaretRange, z as $getSelection } from "./Lexical.node-
|
|
3
|
-
import { n as $generateNodesFromDOM, t as $generateHtmlFromNodes } from "./LexicalHtml.node-
|
|
4
|
-
import { a as $sliceSelectedTextNodeContent, t as $addNodeStyle } from "./LexicalSelection.node-
|
|
5
|
-
import { g as objectKlassEquals } from "./LexicalUtils.node-
|
|
1
|
+
import { i as getExtensionDependencyFromEditor, n as LexicalBuilder } from "./LexicalExtension.node-BKzjRb-0.mjs";
|
|
2
|
+
import { $n as safeCast, A as $getCollapsedCaretRange, D as $getChildCaret, Dt as COMMAND_PRIORITY_CRITICAL, H as $getTextPointCaret, Jn as isSelectionWithinEditor, Mn as defineExtension, Mt as COPY_COMMAND, N as $getNearestNodeFromDOMNode, Nn as getDOMSelection, O as $getChildCaretAtIndex, R as $getRoot, T as $getCaretRangeInDirection, Y as $isElementNode, ct as $isTextNode, g as $createTabNode, i as $caretRangeFromSelection, j as $getEditor, lt as $isTextPointCaret, pt as $parseSerializedNode, r as $caretFromPoint, rr as shallowMergeConfig, rt as $isRangeSelection, s as $comparePointCaretNext, vn as SELECTION_INSERT_CLIPBOARD_NODES_COMMAND, w as $getCaretRange, xt as $splitAtPointCaretNext, yt as $setSelectionFromCaretRange, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
|
|
3
|
+
import { n as $generateNodesFromDOM, t as $generateHtmlFromNodes } from "./LexicalHtml.node-CpibAfba.mjs";
|
|
4
|
+
import { a as $sliceSelectedTextNodeContent, t as $addNodeStyle } from "./LexicalSelection.node-CQ8iTYsz.mjs";
|
|
5
|
+
import { g as objectKlassEquals } from "./LexicalUtils.node-Dz-HANi6.mjs";
|
|
6
6
|
//#region ../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.prod.mjs
|
|
7
7
|
/**
|
|
8
8
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -290,4 +290,4 @@ const it = defineExtension({
|
|
|
290
290
|
//#endregion
|
|
291
291
|
export { X as $generateJSONFromSelectedNodes, Y as $generateNodesFromSerializedNodes, et as $getClipboardDataFromSelection, J as $getHtmlContent, L as $getLexicalContent, q as $handlePlainTextDrop, W as $handleRichTextDrop, j as $insertDataTransferForPlainText, I as $insertDataTransferForRichText, z as $insertGeneratedNodes, B as $writeDragSourceToDataTransfer, V as copyToClipboard, nt as setLexicalClipboardDataTransfer };
|
|
292
292
|
|
|
293
|
-
//# sourceMappingURL=LexicalClipboard.prod-
|
|
293
|
+
//# sourceMappingURL=LexicalClipboard.prod-DE2azzIb.mjs.map
|
package/dist/{LexicalClipboard.prod-CsCWYmV7.mjs.map → LexicalClipboard.prod-DE2azzIb.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalClipboard.prod-CsCWYmV7.mjs","names":["s","c","n","r","a","A","x","M","y","F","S","O","K","$","E","R","u","f","d","p","m","g","i","h","o","w","T","l","v","D","C","t","e","b","N","P"],"sources":["../../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.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{LexicalBuilder as t,getExtensionDependencyFromEditor as e}from\"@lexical/extension\";import{$generateHtmlFromNodes as n,$generateNodesFromDOM as r}from\"@lexical/html\";import{$addNodeStyle as o,$sliceSelectedTextNodeContent as i}from\"@lexical/selection\";import{objectKlassEquals as l}from\"@lexical/utils\";import{$isRangeSelection as c,$getSelection as s,$createTabNode as a,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as u,$caretFromPoint as f,$isTextPointCaret as d,$getCaretRange as p,$getChildCaret as m,$getRoot as g,$isTextNode as x,$isElementNode as y,$parseSerializedNode as h,getDOMSelection as w,COPY_COMMAND as T,COMMAND_PRIORITY_CRITICAL as v,isSelectionWithinEditor as D,$getEditor as C,defineExtension as b,shallowMergeConfig as P,safeCast as N,$splitAtPointCaretNext as S,$setSelectionFromCaretRange as E,$getCollapsedCaretRange as R,$getNearestNodeFromDOMNode as A,$getTextPointCaret as M,$getChildCaretAtIndex as F,$getCaretRangeInDirection as O,$caretRangeFromSelection as K,$comparePointCaretNext as $}from\"lexical\";function _(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function J(t,e=s()){return null==e&&_(166),c(e)&&e.isCollapsed()||0===e.getNodes().length?\"\":n(t,e)}function L(t,e=s()){return null==e&&_(166),c(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(X(t,e))}function j(t,e){const n=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");null!=n&&e.insertRawText(n)}function I(t,e,n){const o=t.getData(\"application/x-lexical-editor\");if(o)try{const t=JSON.parse(o);if(t.namespace===n._config.namespace&&Array.isArray(t.nodes)){return z(n,Y(t.nodes),e)}}catch(t){console.error(t)}const i=t.getData(\"text/html\"),l=t.getData(\"text/plain\");if(i&&l!==i)try{const t=(new DOMParser).parseFromString(function(t){if(window.trustedTypes&&window.trustedTypes.createPolicy){return window.trustedTypes.createPolicy(\"lexical\",{createHTML:t=>t}).createHTML(t)}return t}(i),\"text/html\");return z(n,r(n,t),e)}catch(t){console.error(t)}const u=l||t.getData(\"text/uri-list\");if(null!=u)if(c(e)){const t=u.split(/(\\r?\\n|\\t)/);\"\"===t[t.length-1]&&t.pop();for(let e=0;e<t.length;e++){const n=s();if(c(n)){const r=t[e];\"\\n\"===r||\"\\r\\n\"===r?n.insertParagraph():\"\\t\"===r?n.insertNodes([a()]):n.insertText(r)}}}else e.insertRawText(u)}const k=\"application/x-lexical-drag\";function B(t,e){const n={editorKey:e.getKey()};t.setData(k,JSON.stringify(n))}function H(t){const e=function(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}(t.clientX,t.clientY);if(null===e)return null;const n=A(e.node);if(null===n)return null;if(x(n))return M(n,\"next\",e.offset);if(y(n))return F(n,e.offset,\"next\");const r=n.getParent();return null===r?null:F(r,n.getIndexWithinParent()+1,\"next\")}function U(t,e,n){const r=t.dataTransfer;if(null===r)return!1;const o=function(t){const e=t.getData(k);if(!e)return null;let n;try{n=JSON.parse(e)}catch(t){return null}return null!==(r=n)&&\"object\"==typeof r&&\"editorKey\"in r&&\"string\"==typeof r.editorKey?n:null;var r}(r);if(null===o)return!1;const i=H(t);if(null===i)return!1;const l=S(i);if(null===l)return!1;const a=o.editorKey===e.getKey(),u=s();if(a){if(!c(u)||u.isCollapsed())return!1;if(function(t,e){const{anchor:n,focus:r}=O(K(e),\"next\");return $(n,t)<0&&$(t,r)<0}(i,u))return t.preventDefault(),!0;u.removeText()}if(!l.origin.isAttached())return t.preventDefault(),!0;if(n(r,E(R(l)),e),!a){const t=e.getRootElement(),n=t?t.ownerDocument:null,r=n?function(t,e){const n=e.querySelectorAll('[data-lexical-editor=\"true\"]');for(const e of Array.from(n)){const n=e.__lexicalEditor;if(n&&n.getKey()===t)return e}return null}(o.editorKey,n):null;null!==r&&r.dispatchEvent(new InputEvent(\"beforeinput\",{bubbles:!0,cancelable:!0,inputType:\"deleteByDrag\"}))}return t.preventDefault(),!0}function W(t,e){return U(t,e,I)}function q(t,e){return U(t,e,(t,e)=>j(t,e))}function z(t,e,n){t.dispatchCommand(u,{nodes:e,selection:n})||(n.insertNodes(e),function(t){if(c(t)&&t.isCollapsed()){const e=t.anchor;let n=null;const r=f(e,\"previous\");if(r)if(d(r))n=r.origin;else{const t=p(r,m(g(),\"next\").getFlipped());for(const e of t){if(x(e.origin)){n=e.origin;break}if(y(e.origin)&&!e.origin.isInline())break}}if(n&&x(n)){const e=n.getFormat(),r=n.getStyle();t.format===e&&t.style===r||(t.format=e,t.style=r,t.dirty=!0)}}}(n))}function G(t,e,n,r=[]){let o=null===e||n.isSelected(e);const l=y(n)&&n.excludeFromCopy(\"html\");let c=n;null!==e&&x(c)&&(c=i(e,c,\"clone\"));const s=y(c)?c.getChildren():[],a=function(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&_(58,n.name),y(t)){const t=e.children;Array.isArray(t)||_(59,n.name)}return e}(c);x(c)&&0===c.getTextContentSize()&&(o=!1);for(let r=0;r<s.length;r++){const i=s[r],l=G(t,e,i,a.children);!o&&y(n)&&l&&n.extractWithChild(i,e,\"clone\")&&(o=!0)}if(o&&!l)r.push(a);else if(Array.isArray(a.children))for(let t=0;t<a.children.length;t++){const e=a.children[t];r.push(e)}return o}function X(t,e){const n=[],r=g().getChildren();for(let o=0;o<r.length;o++){G(t,e,r[o],n)}return{namespace:t._config.namespace,nodes:n}}function Y(t){const e=[];for(let n=0;n<t.length;n++){const r=t[n],i=h(r);x(i)&&o(i),e.push(i)}return e}let Q=null;async function V(t,e,n){if(null!==Q)return!1;if(null!==e)return new Promise((r,o)=>{t.update(()=>{r(Z(t,e,n))})});const r=t.getRootElement(),o=t._window||window,i=o.document,c=w(o);if(null===r||null===c)return!1;const s=i.createElement(\"span\");s.style.position=\"fixed\",s.style.top=\"-1000px\",s.append(i.createTextNode(\"#\")),r.append(s);const a=new Range;return a.setStart(s,0),a.setEnd(s,1),c.removeAllRanges(),c.addRange(a),new Promise((e,r)=>{const c=t.registerCommand(T,r=>(l(r,ClipboardEvent)&&(c(),null!==Q&&(o.clearTimeout(Q),Q=null),e(Z(t,r,n))),!0),v);Q=o.setTimeout(()=>{c(),Q=null,e(!1)},50),i.execCommand(\"copy\"),s.remove()})}function Z(t,e,n){if(void 0===n){const e=w(t._window),r=s();if(!r||r.isCollapsed())return!1;if(!e)return!1;const o=e.anchorNode,i=e.focusNode;if(null!==o&&null!==i&&!D(t,o,i))return!1;n=et(r)}e.preventDefault();const r=e.clipboardData;return null!==r&&(nt(r,n),!0)}const tt=[[\"text/html\",J],[\"application/x-lexical-editor\",L]];function et(n=s()){return function(t,e){const n={\"text/plain\":\"\"};for(const[r,o]of Object.entries(t)){const t=ot(o,e);null!==t&&(n[r]=t)}return n}(function(){const n=C(),r=t.maybeFromEditor(n);if(r&&r.hasExtensionByName(it.name))return e(n,it).output;return rt}(),n)}function nt(t,e){for(const[n]of tt)void 0===e[n]&&t.setData(n,\"\");for(const n in e){const r=e[n];void 0!==r&&t.setData(n,r)}}const rt={\"application/x-lexical-editor\":[(t,e)=>t?L(C(),t):e()],\"text/html\":[(t,e)=>t?J(C(),t):e()],\"text/plain\":[(t,e)=>t?t.getTextContent():e()]};function ot(t,e){const n=r=>t[r]?t[r](e,n.bind(null,r-1)):null;return n(t.length-1)}const it=b({build:(t,e,n)=>e.$exportMimeType,config:N({$exportMimeType:rt}),mergeConfig(t,e){const n=P(t,e);if(e.$exportMimeType){const r={...t.$exportMimeType};for(const[t,n]of Object.entries(e.$exportMimeType))r[t]=[...r[t],...n];n.$exportMimeType=r}return n},name:\"@lexical/clipboard/GetClipboardData\"});export{X as $generateJSONFromSelectedNodes,Y as $generateNodesFromSerializedNodes,et as $getClipboardDataFromSelection,J as $getHtmlContent,L as $getLexicalContent,q as $handlePlainTextDrop,W as $handleRichTextDrop,j as $insertDataTransferForPlainText,I as $insertDataTransferForRichText,z as $insertGeneratedNodes,B as $writeDragSourceToDataTransfer,V as copyToClipboard,nt as setLexicalClipboardDataTransfer};\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LexicalClipboard.prod-DE2azzIb.mjs","names":["s","c","n","r","a","A","x","M","y","F","S","O","K","$","E","R","u","f","d","p","m","g","i","h","o","w","T","l","v","D","C","t","e","b","N","P"],"sources":["../../../node_modules/.pnpm/@lexical+clipboard@0.44.0/node_modules/@lexical/clipboard/LexicalClipboard.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{LexicalBuilder as t,getExtensionDependencyFromEditor as e}from\"@lexical/extension\";import{$generateHtmlFromNodes as n,$generateNodesFromDOM as r}from\"@lexical/html\";import{$addNodeStyle as o,$sliceSelectedTextNodeContent as i}from\"@lexical/selection\";import{objectKlassEquals as l}from\"@lexical/utils\";import{$isRangeSelection as c,$getSelection as s,$createTabNode as a,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as u,$caretFromPoint as f,$isTextPointCaret as d,$getCaretRange as p,$getChildCaret as m,$getRoot as g,$isTextNode as x,$isElementNode as y,$parseSerializedNode as h,getDOMSelection as w,COPY_COMMAND as T,COMMAND_PRIORITY_CRITICAL as v,isSelectionWithinEditor as D,$getEditor as C,defineExtension as b,shallowMergeConfig as P,safeCast as N,$splitAtPointCaretNext as S,$setSelectionFromCaretRange as E,$getCollapsedCaretRange as R,$getNearestNodeFromDOMNode as A,$getTextPointCaret as M,$getChildCaretAtIndex as F,$getCaretRangeInDirection as O,$caretRangeFromSelection as K,$comparePointCaretNext as $}from\"lexical\";function _(t,...e){const n=new URL(\"https://lexical.dev/docs/error\"),r=new URLSearchParams;r.append(\"code\",t);for(const t of e)r.append(\"v\",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}function J(t,e=s()){return null==e&&_(166),c(e)&&e.isCollapsed()||0===e.getNodes().length?\"\":n(t,e)}function L(t,e=s()){return null==e&&_(166),c(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(X(t,e))}function j(t,e){const n=t.getData(\"text/plain\")||t.getData(\"text/uri-list\");null!=n&&e.insertRawText(n)}function I(t,e,n){const o=t.getData(\"application/x-lexical-editor\");if(o)try{const t=JSON.parse(o);if(t.namespace===n._config.namespace&&Array.isArray(t.nodes)){return z(n,Y(t.nodes),e)}}catch(t){console.error(t)}const i=t.getData(\"text/html\"),l=t.getData(\"text/plain\");if(i&&l!==i)try{const t=(new DOMParser).parseFromString(function(t){if(window.trustedTypes&&window.trustedTypes.createPolicy){return window.trustedTypes.createPolicy(\"lexical\",{createHTML:t=>t}).createHTML(t)}return t}(i),\"text/html\");return z(n,r(n,t),e)}catch(t){console.error(t)}const u=l||t.getData(\"text/uri-list\");if(null!=u)if(c(e)){const t=u.split(/(\\r?\\n|\\t)/);\"\"===t[t.length-1]&&t.pop();for(let e=0;e<t.length;e++){const n=s();if(c(n)){const r=t[e];\"\\n\"===r||\"\\r\\n\"===r?n.insertParagraph():\"\\t\"===r?n.insertNodes([a()]):n.insertText(r)}}}else e.insertRawText(u)}const k=\"application/x-lexical-drag\";function B(t,e){const n={editorKey:e.getKey()};t.setData(k,JSON.stringify(n))}function H(t){const e=function(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if(\"undefined\"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}(t.clientX,t.clientY);if(null===e)return null;const n=A(e.node);if(null===n)return null;if(x(n))return M(n,\"next\",e.offset);if(y(n))return F(n,e.offset,\"next\");const r=n.getParent();return null===r?null:F(r,n.getIndexWithinParent()+1,\"next\")}function U(t,e,n){const r=t.dataTransfer;if(null===r)return!1;const o=function(t){const e=t.getData(k);if(!e)return null;let n;try{n=JSON.parse(e)}catch(t){return null}return null!==(r=n)&&\"object\"==typeof r&&\"editorKey\"in r&&\"string\"==typeof r.editorKey?n:null;var r}(r);if(null===o)return!1;const i=H(t);if(null===i)return!1;const l=S(i);if(null===l)return!1;const a=o.editorKey===e.getKey(),u=s();if(a){if(!c(u)||u.isCollapsed())return!1;if(function(t,e){const{anchor:n,focus:r}=O(K(e),\"next\");return $(n,t)<0&&$(t,r)<0}(i,u))return t.preventDefault(),!0;u.removeText()}if(!l.origin.isAttached())return t.preventDefault(),!0;if(n(r,E(R(l)),e),!a){const t=e.getRootElement(),n=t?t.ownerDocument:null,r=n?function(t,e){const n=e.querySelectorAll('[data-lexical-editor=\"true\"]');for(const e of Array.from(n)){const n=e.__lexicalEditor;if(n&&n.getKey()===t)return e}return null}(o.editorKey,n):null;null!==r&&r.dispatchEvent(new InputEvent(\"beforeinput\",{bubbles:!0,cancelable:!0,inputType:\"deleteByDrag\"}))}return t.preventDefault(),!0}function W(t,e){return U(t,e,I)}function q(t,e){return U(t,e,(t,e)=>j(t,e))}function z(t,e,n){t.dispatchCommand(u,{nodes:e,selection:n})||(n.insertNodes(e),function(t){if(c(t)&&t.isCollapsed()){const e=t.anchor;let n=null;const r=f(e,\"previous\");if(r)if(d(r))n=r.origin;else{const t=p(r,m(g(),\"next\").getFlipped());for(const e of t){if(x(e.origin)){n=e.origin;break}if(y(e.origin)&&!e.origin.isInline())break}}if(n&&x(n)){const e=n.getFormat(),r=n.getStyle();t.format===e&&t.style===r||(t.format=e,t.style=r,t.dirty=!0)}}}(n))}function G(t,e,n,r=[]){let o=null===e||n.isSelected(e);const l=y(n)&&n.excludeFromCopy(\"html\");let c=n;null!==e&&x(c)&&(c=i(e,c,\"clone\"));const s=y(c)?c.getChildren():[],a=function(t){const e=t.exportJSON(),n=t.constructor;if(e.type!==n.getType()&&_(58,n.name),y(t)){const t=e.children;Array.isArray(t)||_(59,n.name)}return e}(c);x(c)&&0===c.getTextContentSize()&&(o=!1);for(let r=0;r<s.length;r++){const i=s[r],l=G(t,e,i,a.children);!o&&y(n)&&l&&n.extractWithChild(i,e,\"clone\")&&(o=!0)}if(o&&!l)r.push(a);else if(Array.isArray(a.children))for(let t=0;t<a.children.length;t++){const e=a.children[t];r.push(e)}return o}function X(t,e){const n=[],r=g().getChildren();for(let o=0;o<r.length;o++){G(t,e,r[o],n)}return{namespace:t._config.namespace,nodes:n}}function Y(t){const e=[];for(let n=0;n<t.length;n++){const r=t[n],i=h(r);x(i)&&o(i),e.push(i)}return e}let Q=null;async function V(t,e,n){if(null!==Q)return!1;if(null!==e)return new Promise((r,o)=>{t.update(()=>{r(Z(t,e,n))})});const r=t.getRootElement(),o=t._window||window,i=o.document,c=w(o);if(null===r||null===c)return!1;const s=i.createElement(\"span\");s.style.position=\"fixed\",s.style.top=\"-1000px\",s.append(i.createTextNode(\"#\")),r.append(s);const a=new Range;return a.setStart(s,0),a.setEnd(s,1),c.removeAllRanges(),c.addRange(a),new Promise((e,r)=>{const c=t.registerCommand(T,r=>(l(r,ClipboardEvent)&&(c(),null!==Q&&(o.clearTimeout(Q),Q=null),e(Z(t,r,n))),!0),v);Q=o.setTimeout(()=>{c(),Q=null,e(!1)},50),i.execCommand(\"copy\"),s.remove()})}function Z(t,e,n){if(void 0===n){const e=w(t._window),r=s();if(!r||r.isCollapsed())return!1;if(!e)return!1;const o=e.anchorNode,i=e.focusNode;if(null!==o&&null!==i&&!D(t,o,i))return!1;n=et(r)}e.preventDefault();const r=e.clipboardData;return null!==r&&(nt(r,n),!0)}const tt=[[\"text/html\",J],[\"application/x-lexical-editor\",L]];function et(n=s()){return function(t,e){const n={\"text/plain\":\"\"};for(const[r,o]of Object.entries(t)){const t=ot(o,e);null!==t&&(n[r]=t)}return n}(function(){const n=C(),r=t.maybeFromEditor(n);if(r&&r.hasExtensionByName(it.name))return e(n,it).output;return rt}(),n)}function nt(t,e){for(const[n]of tt)void 0===e[n]&&t.setData(n,\"\");for(const n in e){const r=e[n];void 0!==r&&t.setData(n,r)}}const rt={\"application/x-lexical-editor\":[(t,e)=>t?L(C(),t):e()],\"text/html\":[(t,e)=>t?J(C(),t):e()],\"text/plain\":[(t,e)=>t?t.getTextContent():e()]};function ot(t,e){const n=r=>t[r]?t[r](e,n.bind(null,r-1)):null;return n(t.length-1)}const it=b({build:(t,e,n)=>e.$exportMimeType,config:N({$exportMimeType:rt}),mergeConfig(t,e){const n=P(t,e);if(e.$exportMimeType){const r={...t.$exportMimeType};for(const[t,n]of Object.entries(e.$exportMimeType))r[t]=[...r[t],...n];n.$exportMimeType=r}return n},name:\"@lexical/clipboard/GetClipboardData\"});export{X as $generateJSONFromSelectedNodes,Y as $generateNodesFromSerializedNodes,et as $getClipboardDataFromSelection,J as $getHtmlContent,L as $getLexicalContent,q as $handlePlainTextDrop,W as $handleRichTextDrop,j as $insertDataTransferForPlainText,I as $insertDataTransferForRichText,z as $insertGeneratedNodes,B as $writeDragSourceToDataTransfer,V as copyToClipboard,nt as setLexicalClipboardDataTransfer};\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as getPeerDependencyFromEditor } from "./LexicalExtension.node-
|
|
2
|
-
import { At as COMMAND_PRIORITY_LOW, B as $getSiblingCaret, Gn as isHTMLElement, Ht as ElementNode, Mn as defineExtension, Qn as removeClassNamesFromElement, Rn as getTextDirection, Tn as addClassNamesToElement, Y as $isElementNode, ct as $isTextNode, er as setDOMStyleFromCSS, et as $isLineBreakNode, f as $createParagraphNode, g as $createTabNode, j as $getEditor, l as $create, n as $applyNodeReplacement, on as KEY_ENTER_COMMAND, rt as $isRangeSelection, st as $isTabNode, u as $createLineBreakNode, wn as TextNode, z as $getSelection } from "./Lexical.node-
|
|
1
|
+
import { o as getPeerDependencyFromEditor } from "./LexicalExtension.node-BKzjRb-0.mjs";
|
|
2
|
+
import { At as COMMAND_PRIORITY_LOW, B as $getSiblingCaret, Gn as isHTMLElement, Ht as ElementNode, Mn as defineExtension, Qn as removeClassNamesFromElement, Rn as getTextDirection, Tn as addClassNamesToElement, Y as $isElementNode, ct as $isTextNode, er as setDOMStyleFromCSS, et as $isLineBreakNode, f as $createParagraphNode, g as $createTabNode, j as $getEditor, l as $create, n as $applyNodeReplacement, on as KEY_ENTER_COMMAND, rt as $isRangeSelection, st as $isTabNode, u as $createLineBreakNode, wn as TextNode, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@lexical+code-core@0.44.0/node_modules/@lexical/code-core/LexicalCodeCore.dev.mjs
|
|
4
4
|
/**
|
|
5
5
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -536,4 +536,4 @@ const CodeExtension = defineExtension({
|
|
|
536
536
|
//#endregion
|
|
537
537
|
export { $createCodeHighlightNode, $createCodeNode, $getCodeLineDirection, $getEndOfCodeInLine, $getFirstCodeNodeOfLine, $getLastCodeNodeOfLine, $getStartOfCodeInLine, $isCodeHighlightNode, $isCodeNode, CodeExtension, CodeHighlightNode, CodeNode, DEFAULT_CODE_LANGUAGE, getDefaultCodeLanguage };
|
|
538
538
|
|
|
539
|
-
//# sourceMappingURL=LexicalCodeCore.dev-
|
|
539
|
+
//# sourceMappingURL=LexicalCodeCore.dev-gs--x55I.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LexicalCodeCore.dev-haI2cqH8.mjs","names":["table","tr"],"sources":["../../../node_modules/.pnpm/@lexical+code-core@0.44.0/node_modules/@lexical/code-core/LexicalCodeCore.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 { getTextDirection, $isElementNode, $isTabNode, $isLineBreakNode, $getSiblingCaret, $create, ElementNode, addClassNamesToElement, setDOMStyleFromCSS, $getEditor, $isTextNode, $createTabNode, $createLineBreakNode, $createParagraphNode, isHTMLElement, $applyNodeReplacement, TextNode, removeClassNamesFromElement, defineExtension, KEY_ENTER_COMMAND, $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW } from 'lexical';\nimport { getPeerDependencyFromEditor } 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/*@__INLINE__*/\nfunction warnOnlyOnce(message) {\n {\n let run = false;\n return () => {\n if (!run) {\n console.warn(message);\n }\n run = true;\n };\n }\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n// Do not require this module directly! Use normal `invariant` calls.\n\nfunction formatDevErrorMessage(message) {\n throw new Error(message);\n}\n\nfunction $getLastMatchingCodeNode(anchor, direction) {\n let matchingNode = anchor;\n for (let caret = $getSiblingCaret(anchor, direction); caret && ($isCodeHighlightNode(caret.origin) || $isTabNode(caret.origin)); caret = caret.getAdjacentCaret()) {\n matchingNode = caret.origin;\n }\n return matchingNode;\n}\nfunction $getFirstCodeNodeOfLine(anchor) {\n return $getLastMatchingCodeNode(anchor, 'previous');\n}\nfunction $getLastCodeNodeOfLine(anchor) {\n return $getLastMatchingCodeNode(anchor, 'next');\n}\n\n/**\n * Determines the visual writing direction of a code line.\n *\n * Scans the line segments (CodeHighlightNode/TabNode) from start to end\n * and returns the first strong direction found (\"ltr\" or \"rtl\").\n * If no strong character is found, falls back to the parent element's\n * direction. Returns null if indeterminate.\n */\nfunction $getCodeLineDirection(anchor) {\n const start = $getFirstCodeNodeOfLine(anchor);\n const end = $getLastCodeNodeOfLine(anchor);\n let node = start;\n while (node !== null) {\n if ($isCodeHighlightNode(node)) {\n const direction = getTextDirection(node.getTextContent());\n if (direction !== null) {\n return direction;\n }\n }\n if (node === end) {\n break;\n }\n node = node.getNextSibling();\n }\n const parent = start.getParent();\n if ($isElementNode(parent)) {\n const parentDirection = parent.getDirection();\n if (parentDirection === 'ltr' || parentDirection === 'rtl') {\n return parentDirection;\n }\n }\n return null;\n}\nfunction $getStartOfCodeInLine(anchor, offset) {\n let last = null;\n let lastNonBlank = null;\n let node = anchor;\n let nodeOffset = offset;\n let nodeTextContent = anchor.getTextContent();\n while (true) {\n if (nodeOffset === 0) {\n node = node.getPreviousSibling();\n if (node === null) {\n break;\n }\n if (!($isCodeHighlightNode(node) || $isTabNode(node) || $isLineBreakNode(node))) {\n formatDevErrorMessage(`Expected a valid Code Node: CodeHighlightNode, TabNode, LineBreakNode`);\n }\n if ($isLineBreakNode(node)) {\n last = {\n node,\n offset: 1\n };\n break;\n }\n nodeOffset = Math.max(0, node.getTextContentSize() - 1);\n nodeTextContent = node.getTextContent();\n } else {\n nodeOffset--;\n }\n const character = nodeTextContent[nodeOffset];\n if ($isCodeHighlightNode(node) && character !== ' ') {\n lastNonBlank = {\n node,\n offset: nodeOffset\n };\n }\n }\n // lastNonBlank !== null: anchor in the middle of code; move to line beginning\n if (lastNonBlank !== null) {\n return lastNonBlank;\n }\n // Spaces, tabs or nothing ahead of anchor\n let codeCharacterAtAnchorOffset = null;\n if (offset < anchor.getTextContentSize()) {\n if ($isCodeHighlightNode(anchor)) {\n codeCharacterAtAnchorOffset = anchor.getTextContent()[offset];\n }\n } else {\n const nextSibling = anchor.getNextSibling();\n if ($isCodeHighlightNode(nextSibling)) {\n codeCharacterAtAnchorOffset = nextSibling.getTextContent()[0];\n }\n }\n if (codeCharacterAtAnchorOffset !== null && codeCharacterAtAnchorOffset !== ' ') {\n // Borderline whitespace and code, move to line beginning\n return last;\n } else {\n const nextNonBlank = findNextNonBlankInLine(anchor, offset);\n if (nextNonBlank !== null) {\n return nextNonBlank;\n } else {\n return last;\n }\n }\n}\nfunction findNextNonBlankInLine(anchor, offset) {\n let node = anchor;\n let nodeOffset = offset;\n let nodeTextContent = anchor.getTextContent();\n let nodeTextContentSize = anchor.getTextContentSize();\n while (true) {\n if (!$isCodeHighlightNode(node) || nodeOffset === nodeTextContentSize) {\n node = node.getNextSibling();\n if (node === null || $isLineBreakNode(node)) {\n return null;\n }\n if ($isCodeHighlightNode(node)) {\n nodeOffset = 0;\n nodeTextContent = node.getTextContent();\n nodeTextContentSize = node.getTextContentSize();\n }\n }\n if ($isCodeHighlightNode(node)) {\n if (nodeTextContent[nodeOffset] !== ' ') {\n return {\n node,\n offset: nodeOffset\n };\n }\n nodeOffset++;\n }\n }\n}\nfunction $getEndOfCodeInLine(anchor) {\n const lastNode = $getLastCodeNodeOfLine(anchor);\n if (!!$isLineBreakNode(lastNode)) {\n formatDevErrorMessage(`Unexpected lineBreakNode in getEndOfCodeInLine`);\n }\n return lastNode;\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 DEFAULT_CODE_LANGUAGE = 'javascript';\nconst getDefaultCodeLanguage = () => DEFAULT_CODE_LANGUAGE;\nfunction hasChildDOMNodeTag(node, tagName) {\n for (const child of node.childNodes) {\n if (isHTMLElement(child) && child.tagName === tagName) {\n return true;\n }\n hasChildDOMNodeTag(child, tagName);\n }\n return false;\n}\nconst LANGUAGE_DATA_ATTRIBUTE = 'data-language';\nconst HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE = 'data-highlight-language';\nconst THEME_DATA_ATTRIBUTE = 'data-theme';\nconst noExtensionDeprecation = warnOnlyOnce('Using CodeNode without CodeExtension is deprecated');\n\n/** @noInheritDoc */\nclass CodeNode extends ElementNode {\n /** @internal */\n __language;\n /** @internal */\n __theme;\n /** @internal */\n __isSyntaxHighlightSupported;\n static getType() {\n return 'code';\n }\n static clone(node) {\n return new CodeNode(node.__language, node.__key);\n }\n constructor(language, key) {\n super(key);\n this.__language = language || undefined;\n this.__isSyntaxHighlightSupported = false;\n this.__theme = undefined;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__language = prevNode.__language;\n this.__theme = prevNode.__theme;\n this.__isSyntaxHighlightSupported = prevNode.__isSyntaxHighlightSupported;\n }\n\n // View\n createDOM(config) {\n const element = document.createElement('code');\n addClassNamesToElement(element, config.theme.code);\n element.setAttribute('spellcheck', 'false');\n const language = this.getLanguage();\n if (language) {\n element.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n if (this.getIsSyntaxHighlightSupported()) {\n element.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n }\n const theme = this.getTheme();\n if (theme) {\n element.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n const style = this.getStyle();\n if (style) {\n setDOMStyleFromCSS(element.style, style);\n }\n return element;\n }\n updateDOM(prevNode, dom, config) {\n const language = this.__language;\n const prevLanguage = prevNode.__language;\n if (language) {\n if (language !== prevLanguage) {\n dom.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n }\n } else if (prevLanguage) {\n dom.removeAttribute(LANGUAGE_DATA_ATTRIBUTE);\n }\n const isSyntaxHighlightSupported = this.__isSyntaxHighlightSupported;\n const prevIsSyntaxHighlightSupported = prevNode.__isSyntaxHighlightSupported;\n if (prevIsSyntaxHighlightSupported && prevLanguage) {\n if (isSyntaxHighlightSupported && language) {\n if (language !== prevLanguage) {\n dom.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n } else {\n dom.removeAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE);\n }\n } else if (isSyntaxHighlightSupported && language) {\n dom.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n const theme = this.__theme;\n const prevTheme = prevNode.__theme;\n if (theme) {\n if (theme !== prevTheme) {\n dom.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n } else if (prevTheme) {\n dom.removeAttribute(THEME_DATA_ATTRIBUTE);\n }\n const style = this.__style;\n const prevStyle = prevNode.__style;\n if (style !== prevStyle) {\n setDOMStyleFromCSS(dom.style, style, prevStyle);\n }\n return false;\n }\n exportDOM(editor) {\n const element = document.createElement('pre');\n addClassNamesToElement(element, editor._config.theme.code);\n element.setAttribute('spellcheck', 'false');\n const language = this.getLanguage();\n if (language) {\n element.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n if (this.getIsSyntaxHighlightSupported()) {\n element.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n }\n const theme = this.getTheme();\n if (theme) {\n element.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n const style = this.getStyle();\n if (style) {\n setDOMStyleFromCSS(element.style, style);\n }\n return {\n element\n };\n }\n static importDOM() {\n return {\n // Typically <pre> is used for code blocks, and <code> for inline code styles\n // but if it's a multi line <code> we'll create a block. Pass through to\n // inline format handled by TextNode otherwise.\n code: node => {\n const isMultiLine = node.textContent != null && (/\\r?\\n/.test(node.textContent) || hasChildDOMNodeTag(node, 'BR'));\n return isMultiLine ? {\n conversion: $convertPreElement,\n priority: 1\n } : null;\n },\n div: () => ({\n conversion: $convertDivElement,\n priority: 1\n }),\n pre: () => ({\n conversion: $convertPreElement,\n priority: 0\n }),\n table: node => {\n const table = node;\n // domNode is a <table> since we matched it by nodeName\n if (isGitHubCodeTable(table)) {\n return {\n conversion: $convertTableElement,\n priority: 3\n };\n }\n return null;\n },\n td: node => {\n // element is a <td> since we matched it by nodeName\n const td = node;\n const table = td.closest('table');\n if (isGitHubCodeCell(td) || table && isGitHubCodeTable(table)) {\n // Return a no-op if it's a table cell in a code table, but not a code line.\n // Otherwise it'll fall back to the T\n return {\n conversion: convertCodeNoop,\n priority: 3\n };\n }\n return null;\n },\n tr: node => {\n // element is a <tr> since we matched it by nodeName\n const tr = node;\n const table = tr.closest('table');\n if (table && isGitHubCodeTable(table)) {\n return {\n conversion: convertCodeNoop,\n priority: 3\n };\n }\n return null;\n }\n };\n }\n static importJSON(serializedNode) {\n return $createCodeNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setLanguage(serializedNode.language).setTheme(serializedNode.theme);\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n language: this.getLanguage(),\n theme: this.getTheme()\n };\n }\n\n // Mutation\n insertNewAfter(selection, restoreSelection = true) {\n if (!getPeerDependencyFromEditor($getEditor(), '@lexical/code')) {\n noExtensionDeprecation();\n const el = $exitCodeNodeOnEnter(selection);\n if (el) {\n return el;\n }\n }\n // If the selection is within the codeblock, find all leading tabs and\n // spaces of the current line. Create a new line that has all those\n // tabs and spaces, such that leading indentation is preserved.\n const {\n anchor,\n focus\n } = selection;\n const firstPoint = anchor.isBefore(focus) ? anchor : focus;\n const firstSelectionNode = firstPoint.getNode();\n if ($isTextNode(firstSelectionNode)) {\n let node = $getFirstCodeNodeOfLine(firstSelectionNode);\n const insertNodes = [];\n while (true) {\n if ($isTabNode(node)) {\n insertNodes.push($createTabNode());\n node = node.getNextSibling();\n } else if ($isCodeHighlightNode(node)) {\n let spaces = 0;\n const text = node.getTextContent();\n const textSize = node.getTextContentSize();\n while (spaces < textSize && text[spaces] === ' ') {\n spaces++;\n }\n if (spaces !== 0) {\n insertNodes.push($createCodeHighlightNode(' '.repeat(spaces)));\n }\n if (spaces !== textSize) {\n break;\n }\n node = node.getNextSibling();\n } else {\n break;\n }\n }\n const split = firstSelectionNode.splitText(anchor.offset)[0];\n const x = anchor.offset === 0 ? 0 : 1;\n const index = split.getIndexWithinParent() + x;\n const codeNode = firstSelectionNode.getParentOrThrow();\n const nodesToInsert = [$createLineBreakNode(), ...insertNodes];\n codeNode.splice(index, 0, nodesToInsert);\n const last = insertNodes[insertNodes.length - 1];\n if (last) {\n last.select();\n } else if (anchor.offset === 0) {\n split.selectPrevious();\n } else {\n split.getNextSibling().selectNext(0, 0);\n }\n }\n if ($isCodeNode(firstSelectionNode)) {\n const {\n offset\n } = selection.anchor;\n firstSelectionNode.splice(offset, 0, [$createLineBreakNode()]);\n firstSelectionNode.select(offset + 1, offset + 1);\n }\n return null;\n }\n canIndent() {\n return false;\n }\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n setLanguage(language) {\n const writable = this.getWritable();\n writable.__language = language || undefined;\n return writable;\n }\n getLanguage() {\n return this.getLatest().__language;\n }\n setIsSyntaxHighlightSupported(isSupported) {\n const writable = this.getWritable();\n writable.__isSyntaxHighlightSupported = isSupported;\n return writable;\n }\n getIsSyntaxHighlightSupported() {\n return this.getLatest().__isSyntaxHighlightSupported;\n }\n setTheme(theme) {\n const writable = this.getWritable();\n writable.__theme = theme || undefined;\n return writable;\n }\n getTheme() {\n return this.getLatest().__theme;\n }\n}\nfunction $createCodeNode(language, theme) {\n return $create(CodeNode).setLanguage(language).setTheme(theme);\n}\nfunction $isCodeNode(node) {\n return node instanceof CodeNode;\n}\nfunction $convertPreElement(domNode) {\n const language = domNode.getAttribute(LANGUAGE_DATA_ATTRIBUTE);\n return {\n node: $createCodeNode(language)\n };\n}\nfunction $convertDivElement(domNode) {\n // domNode is a <div> since we matched it by nodeName\n const div = domNode;\n const isCode = isCodeElement(div);\n if (!isCode && !isCodeChildElement(div)) {\n return {\n node: null\n };\n }\n return {\n node: isCode ? $createCodeNode() : null\n };\n}\nfunction $convertTableElement() {\n return {\n node: $createCodeNode()\n };\n}\nfunction convertCodeNoop() {\n return {\n node: null\n };\n}\nfunction isCodeElement(div) {\n return div.style.fontFamily.match('monospace') !== null;\n}\nfunction isCodeChildElement(node) {\n let parent = node.parentElement;\n while (parent !== null) {\n if (isCodeElement(parent)) {\n return true;\n }\n parent = parent.parentElement;\n }\n return false;\n}\nfunction isGitHubCodeCell(cell) {\n return cell.classList.contains('js-file-line');\n}\nfunction isGitHubCodeTable(table) {\n return table.classList.contains('js-file-line-container');\n}\nfunction $exitCodeNodeOnEnter(selection) {\n const {\n anchor\n } = selection;\n if (selection.isCollapsed() && anchor.type === 'element') {\n const codeNode = anchor.getNode();\n if ($isCodeNode(codeNode)) {\n const childrenSize = codeNode.getChildrenSize();\n if (childrenSize >= 2 && anchor.offset === childrenSize) {\n const lastChild = codeNode.getLastChild();\n if ($isLineBreakNode(lastChild) && $isLineBreakNode(lastChild.getPreviousSibling())) {\n const newElement = $createParagraphNode();\n codeNode.splice(childrenSize - 2, 2, []).insertAfter(newElement, false);\n newElement.select();\n return newElement;\n }\n }\n }\n }\n return null;\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/** @noInheritDoc */\nclass CodeHighlightNode extends TextNode {\n /** @internal */\n __highlightType;\n constructor(text = '', highlightType, key) {\n super(text, key);\n this.__highlightType = highlightType;\n }\n static getType() {\n return 'code-highlight';\n }\n static clone(node) {\n return new CodeHighlightNode(node.__text, node.__highlightType || undefined, node.__key);\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__highlightType = prevNode.__highlightType;\n }\n getHighlightType() {\n const self = this.getLatest();\n return self.__highlightType;\n }\n setHighlightType(highlightType) {\n const self = this.getWritable();\n self.__highlightType = highlightType || undefined;\n return self;\n }\n canHaveFormat() {\n return false;\n }\n createDOM(config) {\n const element = super.createDOM(config);\n const className = getHighlightThemeClass(config.theme, this.__highlightType);\n addClassNamesToElement(element, className);\n return element;\n }\n updateDOM(prevNode, dom, config) {\n const update = super.updateDOM(prevNode, dom, config);\n const prevClassName = getHighlightThemeClass(config.theme, prevNode.__highlightType);\n const nextClassName = getHighlightThemeClass(config.theme, this.__highlightType);\n if (prevClassName !== nextClassName) {\n if (prevClassName) {\n removeClassNamesFromElement(dom, prevClassName);\n }\n if (nextClassName) {\n addClassNamesToElement(dom, nextClassName);\n }\n }\n return update;\n }\n static importJSON(serializedNode) {\n return $createCodeHighlightNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setHighlightType(serializedNode.highlightType);\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n highlightType: this.getHighlightType()\n };\n }\n\n // Prevent formatting (bold, underline, etc)\n setFormat(format) {\n return this;\n }\n isParentRequired() {\n return true;\n }\n createParentElementNode() {\n return $createCodeNode();\n }\n}\nfunction getHighlightThemeClass(theme, highlightType) {\n return highlightType && theme && theme.codeHighlight && theme.codeHighlight[highlightType];\n}\nfunction $createCodeHighlightNode(text = '', highlightType) {\n return $applyNodeReplacement(new CodeHighlightNode(text, highlightType));\n}\nfunction $isCodeHighlightNode(node) {\n return node instanceof CodeHighlightNode;\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n/**\n * Add code blocks to the editor (syntax highlighting provided separately)\n */\nconst CodeExtension = defineExtension({\n name: '@lexical/code',\n nodes: () => [CodeNode, CodeHighlightNode],\n register(editor) {\n return editor.registerCommand(KEY_ENTER_COMMAND, event => {\n const selection = $getSelection();\n if ($isRangeSelection(selection) && $exitCodeNodeOnEnter(selection)) {\n event.preventDefault();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_LOW);\n }\n});\n\nexport { $createCodeHighlightNode, $createCodeNode, $getCodeLineDirection, $getEndOfCodeInLine, $getFirstCodeNodeOfLine, $getLastCodeNodeOfLine, $getStartOfCodeInLine, $isCodeHighlightNode, $isCodeNode, CodeExtension, CodeHighlightNode, CodeNode, DEFAULT_CODE_LANGUAGE, getDefaultCodeLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LexicalCodeCore.dev-gs--x55I.mjs","names":["table","tr"],"sources":["../../../node_modules/.pnpm/@lexical+code-core@0.44.0/node_modules/@lexical/code-core/LexicalCodeCore.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 { getTextDirection, $isElementNode, $isTabNode, $isLineBreakNode, $getSiblingCaret, $create, ElementNode, addClassNamesToElement, setDOMStyleFromCSS, $getEditor, $isTextNode, $createTabNode, $createLineBreakNode, $createParagraphNode, isHTMLElement, $applyNodeReplacement, TextNode, removeClassNamesFromElement, defineExtension, KEY_ENTER_COMMAND, $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW } from 'lexical';\nimport { getPeerDependencyFromEditor } 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/*@__INLINE__*/\nfunction warnOnlyOnce(message) {\n {\n let run = false;\n return () => {\n if (!run) {\n console.warn(message);\n }\n run = true;\n };\n }\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n// Do not require this module directly! Use normal `invariant` calls.\n\nfunction formatDevErrorMessage(message) {\n throw new Error(message);\n}\n\nfunction $getLastMatchingCodeNode(anchor, direction) {\n let matchingNode = anchor;\n for (let caret = $getSiblingCaret(anchor, direction); caret && ($isCodeHighlightNode(caret.origin) || $isTabNode(caret.origin)); caret = caret.getAdjacentCaret()) {\n matchingNode = caret.origin;\n }\n return matchingNode;\n}\nfunction $getFirstCodeNodeOfLine(anchor) {\n return $getLastMatchingCodeNode(anchor, 'previous');\n}\nfunction $getLastCodeNodeOfLine(anchor) {\n return $getLastMatchingCodeNode(anchor, 'next');\n}\n\n/**\n * Determines the visual writing direction of a code line.\n *\n * Scans the line segments (CodeHighlightNode/TabNode) from start to end\n * and returns the first strong direction found (\"ltr\" or \"rtl\").\n * If no strong character is found, falls back to the parent element's\n * direction. Returns null if indeterminate.\n */\nfunction $getCodeLineDirection(anchor) {\n const start = $getFirstCodeNodeOfLine(anchor);\n const end = $getLastCodeNodeOfLine(anchor);\n let node = start;\n while (node !== null) {\n if ($isCodeHighlightNode(node)) {\n const direction = getTextDirection(node.getTextContent());\n if (direction !== null) {\n return direction;\n }\n }\n if (node === end) {\n break;\n }\n node = node.getNextSibling();\n }\n const parent = start.getParent();\n if ($isElementNode(parent)) {\n const parentDirection = parent.getDirection();\n if (parentDirection === 'ltr' || parentDirection === 'rtl') {\n return parentDirection;\n }\n }\n return null;\n}\nfunction $getStartOfCodeInLine(anchor, offset) {\n let last = null;\n let lastNonBlank = null;\n let node = anchor;\n let nodeOffset = offset;\n let nodeTextContent = anchor.getTextContent();\n while (true) {\n if (nodeOffset === 0) {\n node = node.getPreviousSibling();\n if (node === null) {\n break;\n }\n if (!($isCodeHighlightNode(node) || $isTabNode(node) || $isLineBreakNode(node))) {\n formatDevErrorMessage(`Expected a valid Code Node: CodeHighlightNode, TabNode, LineBreakNode`);\n }\n if ($isLineBreakNode(node)) {\n last = {\n node,\n offset: 1\n };\n break;\n }\n nodeOffset = Math.max(0, node.getTextContentSize() - 1);\n nodeTextContent = node.getTextContent();\n } else {\n nodeOffset--;\n }\n const character = nodeTextContent[nodeOffset];\n if ($isCodeHighlightNode(node) && character !== ' ') {\n lastNonBlank = {\n node,\n offset: nodeOffset\n };\n }\n }\n // lastNonBlank !== null: anchor in the middle of code; move to line beginning\n if (lastNonBlank !== null) {\n return lastNonBlank;\n }\n // Spaces, tabs or nothing ahead of anchor\n let codeCharacterAtAnchorOffset = null;\n if (offset < anchor.getTextContentSize()) {\n if ($isCodeHighlightNode(anchor)) {\n codeCharacterAtAnchorOffset = anchor.getTextContent()[offset];\n }\n } else {\n const nextSibling = anchor.getNextSibling();\n if ($isCodeHighlightNode(nextSibling)) {\n codeCharacterAtAnchorOffset = nextSibling.getTextContent()[0];\n }\n }\n if (codeCharacterAtAnchorOffset !== null && codeCharacterAtAnchorOffset !== ' ') {\n // Borderline whitespace and code, move to line beginning\n return last;\n } else {\n const nextNonBlank = findNextNonBlankInLine(anchor, offset);\n if (nextNonBlank !== null) {\n return nextNonBlank;\n } else {\n return last;\n }\n }\n}\nfunction findNextNonBlankInLine(anchor, offset) {\n let node = anchor;\n let nodeOffset = offset;\n let nodeTextContent = anchor.getTextContent();\n let nodeTextContentSize = anchor.getTextContentSize();\n while (true) {\n if (!$isCodeHighlightNode(node) || nodeOffset === nodeTextContentSize) {\n node = node.getNextSibling();\n if (node === null || $isLineBreakNode(node)) {\n return null;\n }\n if ($isCodeHighlightNode(node)) {\n nodeOffset = 0;\n nodeTextContent = node.getTextContent();\n nodeTextContentSize = node.getTextContentSize();\n }\n }\n if ($isCodeHighlightNode(node)) {\n if (nodeTextContent[nodeOffset] !== ' ') {\n return {\n node,\n offset: nodeOffset\n };\n }\n nodeOffset++;\n }\n }\n}\nfunction $getEndOfCodeInLine(anchor) {\n const lastNode = $getLastCodeNodeOfLine(anchor);\n if (!!$isLineBreakNode(lastNode)) {\n formatDevErrorMessage(`Unexpected lineBreakNode in getEndOfCodeInLine`);\n }\n return lastNode;\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 DEFAULT_CODE_LANGUAGE = 'javascript';\nconst getDefaultCodeLanguage = () => DEFAULT_CODE_LANGUAGE;\nfunction hasChildDOMNodeTag(node, tagName) {\n for (const child of node.childNodes) {\n if (isHTMLElement(child) && child.tagName === tagName) {\n return true;\n }\n hasChildDOMNodeTag(child, tagName);\n }\n return false;\n}\nconst LANGUAGE_DATA_ATTRIBUTE = 'data-language';\nconst HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE = 'data-highlight-language';\nconst THEME_DATA_ATTRIBUTE = 'data-theme';\nconst noExtensionDeprecation = warnOnlyOnce('Using CodeNode without CodeExtension is deprecated');\n\n/** @noInheritDoc */\nclass CodeNode extends ElementNode {\n /** @internal */\n __language;\n /** @internal */\n __theme;\n /** @internal */\n __isSyntaxHighlightSupported;\n static getType() {\n return 'code';\n }\n static clone(node) {\n return new CodeNode(node.__language, node.__key);\n }\n constructor(language, key) {\n super(key);\n this.__language = language || undefined;\n this.__isSyntaxHighlightSupported = false;\n this.__theme = undefined;\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__language = prevNode.__language;\n this.__theme = prevNode.__theme;\n this.__isSyntaxHighlightSupported = prevNode.__isSyntaxHighlightSupported;\n }\n\n // View\n createDOM(config) {\n const element = document.createElement('code');\n addClassNamesToElement(element, config.theme.code);\n element.setAttribute('spellcheck', 'false');\n const language = this.getLanguage();\n if (language) {\n element.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n if (this.getIsSyntaxHighlightSupported()) {\n element.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n }\n const theme = this.getTheme();\n if (theme) {\n element.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n const style = this.getStyle();\n if (style) {\n setDOMStyleFromCSS(element.style, style);\n }\n return element;\n }\n updateDOM(prevNode, dom, config) {\n const language = this.__language;\n const prevLanguage = prevNode.__language;\n if (language) {\n if (language !== prevLanguage) {\n dom.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n }\n } else if (prevLanguage) {\n dom.removeAttribute(LANGUAGE_DATA_ATTRIBUTE);\n }\n const isSyntaxHighlightSupported = this.__isSyntaxHighlightSupported;\n const prevIsSyntaxHighlightSupported = prevNode.__isSyntaxHighlightSupported;\n if (prevIsSyntaxHighlightSupported && prevLanguage) {\n if (isSyntaxHighlightSupported && language) {\n if (language !== prevLanguage) {\n dom.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n } else {\n dom.removeAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE);\n }\n } else if (isSyntaxHighlightSupported && language) {\n dom.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n const theme = this.__theme;\n const prevTheme = prevNode.__theme;\n if (theme) {\n if (theme !== prevTheme) {\n dom.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n } else if (prevTheme) {\n dom.removeAttribute(THEME_DATA_ATTRIBUTE);\n }\n const style = this.__style;\n const prevStyle = prevNode.__style;\n if (style !== prevStyle) {\n setDOMStyleFromCSS(dom.style, style, prevStyle);\n }\n return false;\n }\n exportDOM(editor) {\n const element = document.createElement('pre');\n addClassNamesToElement(element, editor._config.theme.code);\n element.setAttribute('spellcheck', 'false');\n const language = this.getLanguage();\n if (language) {\n element.setAttribute(LANGUAGE_DATA_ATTRIBUTE, language);\n if (this.getIsSyntaxHighlightSupported()) {\n element.setAttribute(HIGHLIGHT_LANGUAGE_DATA_ATTRIBUTE, language);\n }\n }\n const theme = this.getTheme();\n if (theme) {\n element.setAttribute(THEME_DATA_ATTRIBUTE, theme);\n }\n const style = this.getStyle();\n if (style) {\n setDOMStyleFromCSS(element.style, style);\n }\n return {\n element\n };\n }\n static importDOM() {\n return {\n // Typically <pre> is used for code blocks, and <code> for inline code styles\n // but if it's a multi line <code> we'll create a block. Pass through to\n // inline format handled by TextNode otherwise.\n code: node => {\n const isMultiLine = node.textContent != null && (/\\r?\\n/.test(node.textContent) || hasChildDOMNodeTag(node, 'BR'));\n return isMultiLine ? {\n conversion: $convertPreElement,\n priority: 1\n } : null;\n },\n div: () => ({\n conversion: $convertDivElement,\n priority: 1\n }),\n pre: () => ({\n conversion: $convertPreElement,\n priority: 0\n }),\n table: node => {\n const table = node;\n // domNode is a <table> since we matched it by nodeName\n if (isGitHubCodeTable(table)) {\n return {\n conversion: $convertTableElement,\n priority: 3\n };\n }\n return null;\n },\n td: node => {\n // element is a <td> since we matched it by nodeName\n const td = node;\n const table = td.closest('table');\n if (isGitHubCodeCell(td) || table && isGitHubCodeTable(table)) {\n // Return a no-op if it's a table cell in a code table, but not a code line.\n // Otherwise it'll fall back to the T\n return {\n conversion: convertCodeNoop,\n priority: 3\n };\n }\n return null;\n },\n tr: node => {\n // element is a <tr> since we matched it by nodeName\n const tr = node;\n const table = tr.closest('table');\n if (table && isGitHubCodeTable(table)) {\n return {\n conversion: convertCodeNoop,\n priority: 3\n };\n }\n return null;\n }\n };\n }\n static importJSON(serializedNode) {\n return $createCodeNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setLanguage(serializedNode.language).setTheme(serializedNode.theme);\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n language: this.getLanguage(),\n theme: this.getTheme()\n };\n }\n\n // Mutation\n insertNewAfter(selection, restoreSelection = true) {\n if (!getPeerDependencyFromEditor($getEditor(), '@lexical/code')) {\n noExtensionDeprecation();\n const el = $exitCodeNodeOnEnter(selection);\n if (el) {\n return el;\n }\n }\n // If the selection is within the codeblock, find all leading tabs and\n // spaces of the current line. Create a new line that has all those\n // tabs and spaces, such that leading indentation is preserved.\n const {\n anchor,\n focus\n } = selection;\n const firstPoint = anchor.isBefore(focus) ? anchor : focus;\n const firstSelectionNode = firstPoint.getNode();\n if ($isTextNode(firstSelectionNode)) {\n let node = $getFirstCodeNodeOfLine(firstSelectionNode);\n const insertNodes = [];\n while (true) {\n if ($isTabNode(node)) {\n insertNodes.push($createTabNode());\n node = node.getNextSibling();\n } else if ($isCodeHighlightNode(node)) {\n let spaces = 0;\n const text = node.getTextContent();\n const textSize = node.getTextContentSize();\n while (spaces < textSize && text[spaces] === ' ') {\n spaces++;\n }\n if (spaces !== 0) {\n insertNodes.push($createCodeHighlightNode(' '.repeat(spaces)));\n }\n if (spaces !== textSize) {\n break;\n }\n node = node.getNextSibling();\n } else {\n break;\n }\n }\n const split = firstSelectionNode.splitText(anchor.offset)[0];\n const x = anchor.offset === 0 ? 0 : 1;\n const index = split.getIndexWithinParent() + x;\n const codeNode = firstSelectionNode.getParentOrThrow();\n const nodesToInsert = [$createLineBreakNode(), ...insertNodes];\n codeNode.splice(index, 0, nodesToInsert);\n const last = insertNodes[insertNodes.length - 1];\n if (last) {\n last.select();\n } else if (anchor.offset === 0) {\n split.selectPrevious();\n } else {\n split.getNextSibling().selectNext(0, 0);\n }\n }\n if ($isCodeNode(firstSelectionNode)) {\n const {\n offset\n } = selection.anchor;\n firstSelectionNode.splice(offset, 0, [$createLineBreakNode()]);\n firstSelectionNode.select(offset + 1, offset + 1);\n }\n return null;\n }\n canIndent() {\n return false;\n }\n collapseAtStart() {\n const paragraph = $createParagraphNode();\n const children = this.getChildren();\n children.forEach(child => paragraph.append(child));\n this.replace(paragraph);\n return true;\n }\n setLanguage(language) {\n const writable = this.getWritable();\n writable.__language = language || undefined;\n return writable;\n }\n getLanguage() {\n return this.getLatest().__language;\n }\n setIsSyntaxHighlightSupported(isSupported) {\n const writable = this.getWritable();\n writable.__isSyntaxHighlightSupported = isSupported;\n return writable;\n }\n getIsSyntaxHighlightSupported() {\n return this.getLatest().__isSyntaxHighlightSupported;\n }\n setTheme(theme) {\n const writable = this.getWritable();\n writable.__theme = theme || undefined;\n return writable;\n }\n getTheme() {\n return this.getLatest().__theme;\n }\n}\nfunction $createCodeNode(language, theme) {\n return $create(CodeNode).setLanguage(language).setTheme(theme);\n}\nfunction $isCodeNode(node) {\n return node instanceof CodeNode;\n}\nfunction $convertPreElement(domNode) {\n const language = domNode.getAttribute(LANGUAGE_DATA_ATTRIBUTE);\n return {\n node: $createCodeNode(language)\n };\n}\nfunction $convertDivElement(domNode) {\n // domNode is a <div> since we matched it by nodeName\n const div = domNode;\n const isCode = isCodeElement(div);\n if (!isCode && !isCodeChildElement(div)) {\n return {\n node: null\n };\n }\n return {\n node: isCode ? $createCodeNode() : null\n };\n}\nfunction $convertTableElement() {\n return {\n node: $createCodeNode()\n };\n}\nfunction convertCodeNoop() {\n return {\n node: null\n };\n}\nfunction isCodeElement(div) {\n return div.style.fontFamily.match('monospace') !== null;\n}\nfunction isCodeChildElement(node) {\n let parent = node.parentElement;\n while (parent !== null) {\n if (isCodeElement(parent)) {\n return true;\n }\n parent = parent.parentElement;\n }\n return false;\n}\nfunction isGitHubCodeCell(cell) {\n return cell.classList.contains('js-file-line');\n}\nfunction isGitHubCodeTable(table) {\n return table.classList.contains('js-file-line-container');\n}\nfunction $exitCodeNodeOnEnter(selection) {\n const {\n anchor\n } = selection;\n if (selection.isCollapsed() && anchor.type === 'element') {\n const codeNode = anchor.getNode();\n if ($isCodeNode(codeNode)) {\n const childrenSize = codeNode.getChildrenSize();\n if (childrenSize >= 2 && anchor.offset === childrenSize) {\n const lastChild = codeNode.getLastChild();\n if ($isLineBreakNode(lastChild) && $isLineBreakNode(lastChild.getPreviousSibling())) {\n const newElement = $createParagraphNode();\n codeNode.splice(childrenSize - 2, 2, []).insertAfter(newElement, false);\n newElement.select();\n return newElement;\n }\n }\n }\n }\n return null;\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/** @noInheritDoc */\nclass CodeHighlightNode extends TextNode {\n /** @internal */\n __highlightType;\n constructor(text = '', highlightType, key) {\n super(text, key);\n this.__highlightType = highlightType;\n }\n static getType() {\n return 'code-highlight';\n }\n static clone(node) {\n return new CodeHighlightNode(node.__text, node.__highlightType || undefined, node.__key);\n }\n afterCloneFrom(prevNode) {\n super.afterCloneFrom(prevNode);\n this.__highlightType = prevNode.__highlightType;\n }\n getHighlightType() {\n const self = this.getLatest();\n return self.__highlightType;\n }\n setHighlightType(highlightType) {\n const self = this.getWritable();\n self.__highlightType = highlightType || undefined;\n return self;\n }\n canHaveFormat() {\n return false;\n }\n createDOM(config) {\n const element = super.createDOM(config);\n const className = getHighlightThemeClass(config.theme, this.__highlightType);\n addClassNamesToElement(element, className);\n return element;\n }\n updateDOM(prevNode, dom, config) {\n const update = super.updateDOM(prevNode, dom, config);\n const prevClassName = getHighlightThemeClass(config.theme, prevNode.__highlightType);\n const nextClassName = getHighlightThemeClass(config.theme, this.__highlightType);\n if (prevClassName !== nextClassName) {\n if (prevClassName) {\n removeClassNamesFromElement(dom, prevClassName);\n }\n if (nextClassName) {\n addClassNamesToElement(dom, nextClassName);\n }\n }\n return update;\n }\n static importJSON(serializedNode) {\n return $createCodeHighlightNode().updateFromJSON(serializedNode);\n }\n updateFromJSON(serializedNode) {\n return super.updateFromJSON(serializedNode).setHighlightType(serializedNode.highlightType);\n }\n exportJSON() {\n return {\n ...super.exportJSON(),\n highlightType: this.getHighlightType()\n };\n }\n\n // Prevent formatting (bold, underline, etc)\n setFormat(format) {\n return this;\n }\n isParentRequired() {\n return true;\n }\n createParentElementNode() {\n return $createCodeNode();\n }\n}\nfunction getHighlightThemeClass(theme, highlightType) {\n return highlightType && theme && theme.codeHighlight && theme.codeHighlight[highlightType];\n}\nfunction $createCodeHighlightNode(text = '', highlightType) {\n return $applyNodeReplacement(new CodeHighlightNode(text, highlightType));\n}\nfunction $isCodeHighlightNode(node) {\n return node instanceof CodeHighlightNode;\n}\n\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n/**\n * Add code blocks to the editor (syntax highlighting provided separately)\n */\nconst CodeExtension = defineExtension({\n name: '@lexical/code',\n nodes: () => [CodeNode, CodeHighlightNode],\n register(editor) {\n return editor.registerCommand(KEY_ENTER_COMMAND, event => {\n const selection = $getSelection();\n if ($isRangeSelection(selection) && $exitCodeNodeOnEnter(selection)) {\n event.preventDefault();\n return true;\n }\n return false;\n }, COMMAND_PRIORITY_LOW);\n }\n});\n\nexport { $createCodeHighlightNode, $createCodeNode, $getCodeLineDirection, $getEndOfCodeInLine, $getFirstCodeNodeOfLine, $getLastCodeNodeOfLine, $getStartOfCodeInLine, $isCodeHighlightNode, $isCodeNode, CodeExtension, CodeHighlightNode, CodeNode, DEFAULT_CODE_LANGUAGE, getDefaultCodeLanguage };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { o as getPeerDependencyFromEditor } from "./LexicalExtension.node-
|
|
2
|
-
import { At as COMMAND_PRIORITY_LOW, B as $getSiblingCaret, Gn as isHTMLElement, Ht as ElementNode, Mn as defineExtension, Qn as removeClassNamesFromElement, Rn as getTextDirection, Tn as addClassNamesToElement, Y as $isElementNode, ct as $isTextNode, er as setDOMStyleFromCSS, et as $isLineBreakNode, f as $createParagraphNode, g as $createTabNode, j as $getEditor, l as $create, n as $applyNodeReplacement, on as KEY_ENTER_COMMAND, rt as $isRangeSelection, st as $isTabNode, u as $createLineBreakNode, wn as TextNode, z as $getSelection } from "./Lexical.node-
|
|
1
|
+
import { o as getPeerDependencyFromEditor } from "./LexicalExtension.node-BKzjRb-0.mjs";
|
|
2
|
+
import { At as COMMAND_PRIORITY_LOW, B as $getSiblingCaret, Gn as isHTMLElement, Ht as ElementNode, Mn as defineExtension, Qn as removeClassNamesFromElement, Rn as getTextDirection, Tn as addClassNamesToElement, Y as $isElementNode, ct as $isTextNode, er as setDOMStyleFromCSS, et as $isLineBreakNode, f as $createParagraphNode, g as $createTabNode, j as $getEditor, l as $create, n as $applyNodeReplacement, on as KEY_ENTER_COMMAND, rt as $isRangeSelection, st as $isTabNode, u as $createLineBreakNode, wn as TextNode, z as $getSelection } from "./Lexical.node-BR9e7Cyk.mjs";
|
|
3
3
|
//#region ../../node_modules/.pnpm/@lexical+code-core@0.44.0/node_modules/@lexical/code-core/LexicalCodeCore.prod.mjs
|
|
4
4
|
/**
|
|
5
5
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -380,4 +380,4 @@ const Y = defineExtension({
|
|
|
380
380
|
//#endregion
|
|
381
381
|
export { V as $createCodeHighlightNode, I as $createCodeNode, H as $getCodeLineDirection, F as $getEndOfCodeInLine, O as $getFirstCodeNodeOfLine, A as $getLastCodeNodeOfLine, L as $getStartOfCodeInLine, X as $isCodeHighlightNode, W as $isCodeNode, Y as CodeExtension, K as CodeHighlightNode, z as CodeNode, J as DEFAULT_CODE_LANGUAGE, D as getDefaultCodeLanguage };
|
|
382
382
|
|
|
383
|
-
//# sourceMappingURL=LexicalCodeCore.prod-
|
|
383
|
+
//# sourceMappingURL=LexicalCodeCore.prod-DPHOnyEj.mjs.map
|