termdock 1.4.351 → 1.4.353
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/client/assets/AndroidMirrorView-C39BgFa_.js +3 -0
- package/dist/client/assets/AndroidMirrorView-C39BgFa_.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-C39BgFa_.js.gz +0 -0
- package/dist/client/assets/App-AjjtXg93.js +178 -0
- package/dist/client/assets/App-AjjtXg93.js.br +0 -0
- package/dist/client/assets/App-AjjtXg93.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-Xi_R4Tso.js +9 -0
- package/dist/client/assets/ArchitecturePanel-Xi_R4Tso.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-Xi_R4Tso.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js +2 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js +1 -0
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-D_NDzA-t.js +2 -0
- package/dist/client/assets/ComputerControlView-BGvF5NeQ.js +6 -0
- package/dist/client/assets/ComputerControlView-BGvF5NeQ.js.br +0 -0
- package/dist/client/assets/ComputerControlView-BGvF5NeQ.js.gz +0 -0
- package/dist/client/assets/DagPlayground-CKqB6zap.js +1 -0
- package/dist/client/assets/DagPlayground-CKqB6zap.js.br +0 -0
- package/dist/client/assets/DagPlayground-CKqB6zap.js.gz +0 -0
- package/dist/client/assets/{DiffLab-DFut8ZHi.js → DiffLab-CDt8EP6I.js} +2 -2
- package/dist/client/assets/DiffLab-CDt8EP6I.js.br +0 -0
- package/dist/client/assets/DiffLab-CDt8EP6I.js.gz +0 -0
- package/dist/client/assets/DiffReview-YADkwVd6.js +1 -0
- package/dist/client/assets/DiffReview-YADkwVd6.js.br +0 -0
- package/dist/client/assets/DiffReview-YADkwVd6.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-Y9JlI5DQ.js → DiffReviewLab-YqgsRn_K.js} +2 -2
- package/dist/client/assets/DiffReviewLab-YqgsRn_K.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-YqgsRn_K.js.gz +0 -0
- package/dist/client/assets/DiffViewer-CT5_YwM2.js +34 -0
- package/dist/client/assets/DiffViewer-CT5_YwM2.js.br +0 -0
- package/dist/client/assets/DiffViewer-CT5_YwM2.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js +1 -0
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js.gz +0 -0
- package/dist/client/assets/MarkdownPreview-DHLp5cqt.js +19 -0
- package/dist/client/assets/MarkdownPreview-DHLp5cqt.js.br +0 -0
- package/dist/client/assets/MarkdownPreview-DHLp5cqt.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-Cv6JgunE.js → ModelPreview-DymFzc55.js} +166 -166
- package/dist/client/assets/ModelPreview-DymFzc55.js.br +0 -0
- package/dist/client/assets/ModelPreview-DymFzc55.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-CxSN76bp.js +1 -0
- package/dist/client/assets/RecordingSaveDialog-CxSN76bp.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-CxSN76bp.js.gz +0 -0
- package/dist/client/assets/RightSidebar-eIuDnhJn.js +1662 -0
- package/dist/client/assets/RightSidebar-eIuDnhJn.js.br +0 -0
- package/dist/client/assets/RightSidebar-eIuDnhJn.js.gz +0 -0
- package/dist/client/assets/SessionChatView-C5wXAt7h.js +13 -0
- package/dist/client/assets/SessionChatView-C5wXAt7h.js.br +0 -0
- package/dist/client/assets/SessionChatView-C5wXAt7h.js.gz +0 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css +1 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css.br +0 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js +2 -0
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js +1 -0
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-CcCffdpj.js → abnfDiagram-VCTEODGH-DI1Y-QAP.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-DI1Y-QAP.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DI1Y-QAP.js.gz +0 -0
- package/dist/client/assets/app-DvMXSNN7.js +36 -0
- package/dist/client/assets/app-DvMXSNN7.js.br +0 -0
- package/dist/client/assets/app-DvMXSNN7.js.gz +0 -0
- package/dist/client/assets/{arc-CXcCuzb3.js → arc-QdJAJx_D.js} +1 -1
- package/dist/client/assets/arc-QdJAJx_D.js.br +0 -0
- package/dist/client/assets/arc-QdJAJx_D.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-CmR7whZz.js → architectureDiagram-5GKGNRK7-Bw2CvoGg.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-Bw2CvoGg.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-Bw2CvoGg.js.gz +0 -0
- package/dist/client/assets/arrow-down-CZKuaGwN.js +1 -0
- package/dist/client/assets/arrow-up-CYLC6_to.js +1 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-DODhUpHm.js → blockDiagram-I7D4REHJ-CM2GI6sC.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-CM2GI6sC.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CM2GI6sC.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-BF9eEb2Y.js → c4Diagram-7LVT6UL2-BAB2TKr4.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-BAB2TKr4.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BAB2TKr4.js.gz +0 -0
- package/dist/client/assets/channel-CcDRt0AM.js +1 -0
- package/dist/client/assets/chevron-left-BNby2AjR.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-CB7-8Zex.js → chunk-2Q5K7J3B-DI2pKKMQ.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-8Uxe2lki.js → chunk-5VM5RSS4-D5l5zyYl.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-Bv45U-az.js → chunk-F27PBJKO-Japl432v.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-Bv45U-az.js.br → chunk-F27PBJKO-Japl432v.js.br} +0 -0
- package/dist/client/assets/chunk-F27PBJKO-Japl432v.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CfEErbEd.js → chunk-IMKFNOWR-CDJoLgpw.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-CDJoLgpw.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CDJoLgpw.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-CjUqcCSL.js → chunk-JWPE2WC7-BQ2cpPDE.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-BHbP3O75.js → chunk-POPQ4Y6H-CWjI0yRx.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-CbyJW-OT.js → chunk-SVP7TREG-BzEphMpl.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-BzEphMpl.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BzEphMpl.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-t93EivmS.js → chunk-TICWLB2K-B2hsw7jN.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-B2hsw7jN.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-B2hsw7jN.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-C_Pe8Osb.js → chunk-XXDRQBXY-BEWjHo7s.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-Dz0qH9Hg.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Dz0qH9Hg.js +1 -0
- package/dist/client/assets/clipboard-6kE6vzDi.js +1 -0
- package/dist/client/assets/clipboardText-B7202UNa.js +1 -0
- package/dist/client/assets/clipboardText-B7202UNa.js.br +0 -0
- package/dist/client/assets/clipboardText-B7202UNa.js.gz +0 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-CksG0bvP.js → cose-bilkent-JH36ORCC-DpS77pec.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-DpS77pec.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DpS77pec.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-CV3T078G.js → cynefin-OW5HDTMX-D1y5kNwR.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-D1y5kNwR.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-D1y5kNwR.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BQnJabEs.js → cynefinDiagram-5FMLGOSQ-CqTCLyMC.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CqTCLyMC.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CqTCLyMC.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-BeIQp5Pv.js → dagre-GXQ25YYZ-DkJ-kRn6.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-DkJ-kRn6.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DkJ-kRn6.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-D-Mibxiq.js → diagram-S7CK7UJ4-DenrrE_C.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-DenrrE_C.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-DenrrE_C.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-eiIMWp9t.js → diagram-UQ7AKVKN-B2ikSD8K.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-B2ikSD8K.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B2ikSD8K.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-CTVOWtNL.js → diagram-VSXAHHWV-CQcNoZDC.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-CQcNoZDC.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CQcNoZDC.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-NKKk6uh7.js → diagram-VX7I27RA-Cq3FaI-1.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-Cq3FaI-1.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-Cq3FaI-1.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-DKYdBuNs.js → diagram-Z3DM3KII-BcWReLM8.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-BcWReLM8.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BcWReLM8.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-DaM3D5Ed.js → ebnfDiagram-PWID7BFC-DwwFkjaL.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DwwFkjaL.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DwwFkjaL.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-Df9kQwWg.js → erDiagram-RLTQ6QDP-B1MNvouo.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-B1MNvouo.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-B1MNvouo.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-CWjDvpsN.js → flowDiagram-HODETNUW-B_tIl0Vb.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-B_tIl0Vb.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-B_tIl0Vb.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-mKt-CgrH.js → ganttDiagram-EL5Y4UJY-CV0YyZHk.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CV0YyZHk.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CV0YyZHk.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js +1 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js.br +0 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js.gz +0 -0
- package/dist/client/assets/git-compare-CGiJqTYP.js +1 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-BqnaVVZ0.js → gitGraphDiagram-WWUBYQGX-DZvnSoyE.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DZvnSoyE.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DZvnSoyE.js.gz +0 -0
- package/dist/client/assets/index-CA1fR_jI.css +1 -0
- package/dist/client/assets/index-CA1fR_jI.css.br +0 -0
- package/dist/client/assets/index-CA1fR_jI.css.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-CkniyUX9.js → infoDiagram-27XIBGKW-G1OS50nR.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-CKo9urjS.js → ishikawaDiagram-5VMMS53U-C0-s6pfy.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C0-s6pfy.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C0-s6pfy.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-Cd4jK-oI.js → journeyDiagram-3NMN7TZE-B-9Omdit.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9Omdit.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9Omdit.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-BuulZGO-.js → kanban-definition-UXKFOSKX-BS_qXegp.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-BS_qXegp.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BS_qXegp.js.gz +0 -0
- package/dist/client/assets/{layout-BpJ2ofrz.js → layout-0NYin1Qz.js} +1 -1
- package/dist/client/assets/{layout-BpJ2ofrz.js.br → layout-0NYin1Qz.js.br} +0 -0
- package/dist/client/assets/layout-0NYin1Qz.js.gz +0 -0
- package/dist/client/assets/{linear-CaSbGLIA.js → linear-CTVKrsxK.js} +1 -1
- package/dist/client/assets/linear-CTVKrsxK.js.br +0 -0
- package/dist/client/assets/linear-CTVKrsxK.js.gz +0 -0
- package/dist/client/assets/link-C5oPMHMJ.js +8 -0
- package/dist/client/assets/link-C5oPMHMJ.js.br +0 -0
- package/dist/client/assets/link-C5oPMHMJ.js.gz +0 -0
- package/dist/client/assets/list-tree-BPg9QdiM.js +1 -0
- package/dist/client/assets/loader-circle-CTtHKNWd.js +1 -0
- package/dist/client/assets/maximize-2-32OfQ0kG.js +1 -0
- package/dist/client/assets/{mermaid.core-BlkorXd6.js → mermaid.core-BgCZP9ke.js} +5 -5
- package/dist/client/assets/mermaid.core-BgCZP9ke.js.br +0 -0
- package/dist/client/assets/mermaid.core-BgCZP9ke.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-BqKhK1NJ.js → mindmap-definition-YA3MSWOX-BjSZRjkg.js} +2 -2
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BjSZRjkg.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BjSZRjkg.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CXQgj5nw.js +2 -0
- package/dist/client/assets/passwordBootstrap-CXQgj5nw.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CXQgj5nw.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-BlWgUklx.js → pegDiagram-XKGWAZYB-qDU0sU6m.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-qDU0sU6m.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qDU0sU6m.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-Bp32kHHQ.js → pieDiagram-E7YTZNPT-CZF3MEOJ.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-CZF3MEOJ.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CZF3MEOJ.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-0qeSh9-W.js → quadrantDiagram-AXDQQJYC-DcZW4RMG.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DcZW4RMG.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DcZW4RMG.js.gz +0 -0
- package/dist/client/assets/quote-CuTMveNr.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-COmWghVD.js → railroadDiagram-O6MQD6OU-DtQROK31.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DtQROK31.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DtQROK31.js.gz +0 -0
- package/dist/client/assets/rdpSession-a1ZvAyiW.js +1 -0
- package/dist/client/assets/rdpSession-a1ZvAyiW.js.br +0 -0
- package/dist/client/assets/rdpSession-a1ZvAyiW.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-CeohDJAC.js → requirementDiagram-BXWQKSXE-B8yR39lm.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-B8yR39lm.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-B8yR39lm.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-rA5x9iOw.js → sankeyDiagram-P5KCCOFB-D27zuIFg.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-D27zuIFg.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-D27zuIFg.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-Cw2BZ0po.js → sequenceDiagram-WJ2MYXX4-BI3gSsUa.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BI3gSsUa.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BI3gSsUa.js.gz +0 -0
- package/dist/client/assets/settings-2-GFFo5UwO.js +1 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-Dz1ykd8a.js → sizeCapture-INFHLROL-NBzIIRER.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-NBzIIRER.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-NBzIIRER.js.gz +0 -0
- package/dist/client/assets/{sparkles-0HeBLLwx.js → sparkles-ZXBp-KvJ.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-DHfjTfLj.js → stateDiagram-D77RDMKH-D-D0FB4D.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-D-D0FB4D.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-D-D0FB4D.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-Dk-QpCnJ.js +1 -0
- package/dist/client/assets/sun-CO5F9zS4.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-CAJkSUVz.js → swimlanes-42K2YHIH-CH_jxbV3.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CH_jxbV3.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-CH_jxbV3.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-C4E5FOdv.js +8 -0
- package/dist/client/assets/swiper-DJjq1TYT.js +1 -0
- package/dist/client/assets/swiper-DJjq1TYT.js.br +0 -0
- package/dist/client/assets/swiper-DJjq1TYT.js.gz +0 -0
- package/dist/client/assets/syntaxHighlight-C9PKWUqs.js +4 -0
- package/dist/client/assets/syntaxHighlight-C9PKWUqs.js.br +0 -0
- package/dist/client/assets/syntaxHighlight-C9PKWUqs.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-plr9yv12.js → timeline-definition-24CTP7MA-DuiaCBON.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-DuiaCBON.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-DuiaCBON.js.gz +0 -0
- package/dist/client/assets/triangle-alert-CuGUScPU.js +1 -0
- package/dist/client/assets/unplug-C0pb-BKU.js +1 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js +1 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.br +0 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.gz +0 -0
- package/dist/client/assets/v4-EwEgHOG0.js +1 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-Cz04de3S.js → vennDiagram-4TSXK5OY-DUEZFEzo.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-DUEZFEzo.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DUEZFEzo.js.gz +0 -0
- package/dist/client/assets/videoCompression-JAcp0atl.js +3 -0
- package/dist/client/assets/videoCompression-JAcp0atl.js.br +0 -0
- package/dist/client/assets/videoCompression-JAcp0atl.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-DnT-q6At.js → wardleyDiagram-VM6X3IG4-CnHmIbot.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CnHmIbot.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CnHmIbot.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-C0y08MEX.js → xychartDiagram-S5SC5T6Z-CDAoHQTr.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CDAoHQTr.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CDAoHQTr.js.gz +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/dist/server/agent/collaborationDeliveryWorker.js +11 -0
- package/dist/server/agent/collaborationPrompt.js +4 -2
- package/dist/server/agent/collaborationStore.js +7 -1
- package/dist/server/agent/sessionAttachmentRoutes.js +39 -0
- package/dist/server/agent/sessionChatRoutes.js +64 -0
- package/dist/server/agent/sessionViewModeRoutes.js +72 -0
- package/dist/server/android/recording.js +19 -17
- package/dist/server/cli.js +34 -0
- package/dist/server/entry.js +25 -17
- package/dist/server/federation/accessPolicy.js +8 -3
- package/dist/server/federation/authorization.js +26 -3
- package/dist/server/federation/invitations.js +27 -6
- package/dist/server/federation/requestContext.js +5 -1
- package/dist/server/federation/resourceAccess.js +63 -0
- package/dist/server/federation/runtime.js +60 -17
- package/dist/server/federation/sessionSharing.js +39 -0
- package/dist/server/routes/android.js +36 -7
- package/dist/server/routes/computer.js +14 -4
- package/dist/server/routes/filesystem.js +6 -3
- package/dist/server/routes/rdp.js +4 -3
- package/dist/server/routes/sharedFiles.js +51 -0
- package/dist/server/routes/terminal.js +83 -14
- package/dist/server/routes/vncReadOnly.js +134 -0
- package/dist/server/shared/shareResources.js +37 -0
- package/dist/server/todos/cli.js +91 -0
- package/dist/server/todos/routes.js +73 -0
- package/dist/server/todos/store.js +240 -0
- package/dist/server/todos/types.js +1 -0
- package/dist/server/utils/autoUpdate.js +7 -2
- package/dist/server/utils/clientSnapshotMaintenance.js +200 -0
- package/dist/server/utils/runtimeClient.js +79 -0
- package/dist/server/utils/serverCleanup.js +24 -0
- package/dist/server/utils/storageMaintenance.js +60 -0
- package/dist/server/utils/workspaceCacheMaintenance.js +158 -0
- package/package.json +1 -1
- package/runtime-manifest.json +3 -3
- package/dist/client/assets/App-BiDKeTpx.js +0 -187
- package/dist/client/assets/App-BiDKeTpx.js.br +0 -0
- package/dist/client/assets/App-BiDKeTpx.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-DfRsqSBx.js +0 -9
- package/dist/client/assets/ArchitecturePanel-DfRsqSBx.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-DfRsqSBx.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DksecDp5.js +0 -2
- package/dist/client/assets/ChangeWalkthroughPanel-DksecDp5.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DksecDp5.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-D-TgDrxX.js +0 -1
- package/dist/client/assets/CollaborationMainWorkspace-D-TgDrxX.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-D-TgDrxX.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-Ce6gFw26.js +0 -2
- package/dist/client/assets/ComputerControlView-BKwuceeG.js +0 -6
- package/dist/client/assets/ComputerControlView-BKwuceeG.js.br +0 -0
- package/dist/client/assets/ComputerControlView-BKwuceeG.js.gz +0 -0
- package/dist/client/assets/DagPlayground-Cshoqo5l.js +0 -1
- package/dist/client/assets/DagPlayground-Cshoqo5l.js.br +0 -0
- package/dist/client/assets/DagPlayground-Cshoqo5l.js.gz +0 -0
- package/dist/client/assets/DiffLab-DFut8ZHi.js.br +0 -0
- package/dist/client/assets/DiffLab-DFut8ZHi.js.gz +0 -0
- package/dist/client/assets/DiffReview-DkEi5c3c.js +0 -1
- package/dist/client/assets/DiffReview-DkEi5c3c.js.br +0 -0
- package/dist/client/assets/DiffReview-DkEi5c3c.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-Y9JlI5DQ.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-Y9JlI5DQ.js.gz +0 -0
- package/dist/client/assets/DiffViewer-3JGF6U0m.js +0 -37
- package/dist/client/assets/DiffViewer-3JGF6U0m.js.br +0 -0
- package/dist/client/assets/DiffViewer-3JGF6U0m.js.gz +0 -0
- package/dist/client/assets/ModelPreview-Cv6JgunE.js.br +0 -0
- package/dist/client/assets/ModelPreview-Cv6JgunE.js.gz +0 -0
- package/dist/client/assets/RightSidebar-akYx_nRq.js +0 -1679
- package/dist/client/assets/RightSidebar-akYx_nRq.js.br +0 -0
- package/dist/client/assets/RightSidebar-akYx_nRq.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CcCffdpj.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CcCffdpj.js.gz +0 -0
- package/dist/client/assets/app-BB0CAQ8D.js +0 -35
- package/dist/client/assets/app-BB0CAQ8D.js.br +0 -0
- package/dist/client/assets/app-BB0CAQ8D.js.gz +0 -0
- package/dist/client/assets/arc-CXcCuzb3.js.br +0 -0
- package/dist/client/assets/arc-CXcCuzb3.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CmR7whZz.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CmR7whZz.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-DODhUpHm.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-DODhUpHm.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BF9eEb2Y.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BF9eEb2Y.js.gz +0 -0
- package/dist/client/assets/channel-BKkTA-X_.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-Bv45U-az.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CfEErbEd.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CfEErbEd.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-CbyJW-OT.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-CbyJW-OT.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-t93EivmS.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-t93EivmS.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-D9nwA51-.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-D9nwA51-.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-CksG0bvP.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-CksG0bvP.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CV3T078G.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CV3T078G.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BQnJabEs.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BQnJabEs.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BeIQp5Pv.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BeIQp5Pv.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-D-Mibxiq.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-D-Mibxiq.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-eiIMWp9t.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-eiIMWp9t.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CTVOWtNL.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CTVOWtNL.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-NKKk6uh7.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-NKKk6uh7.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DKYdBuNs.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DKYdBuNs.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DaM3D5Ed.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DaM3D5Ed.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-Df9kQwWg.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-Df9kQwWg.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CWjDvpsN.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CWjDvpsN.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-mKt-CgrH.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-mKt-CgrH.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-C8TBuoU3.js +0 -1
- package/dist/client/assets/gestureArbiter-C8TBuoU3.js.br +0 -0
- package/dist/client/assets/gestureArbiter-C8TBuoU3.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BqnaVVZ0.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BqnaVVZ0.js.gz +0 -0
- package/dist/client/assets/index-3lPto_1X.css +0 -1
- package/dist/client/assets/index-3lPto_1X.css.br +0 -0
- package/dist/client/assets/index-3lPto_1X.css.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CKo9urjS.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CKo9urjS.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-Cd4jK-oI.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-Cd4jK-oI.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BuulZGO-.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BuulZGO-.js.gz +0 -0
- package/dist/client/assets/layout-BpJ2ofrz.js.gz +0 -0
- package/dist/client/assets/linear-CaSbGLIA.js.br +0 -0
- package/dist/client/assets/linear-CaSbGLIA.js.gz +0 -0
- package/dist/client/assets/mermaid.core-BlkorXd6.js.br +0 -0
- package/dist/client/assets/mermaid.core-BlkorXd6.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BqKhK1NJ.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BqKhK1NJ.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-DLUamTjd.js +0 -2
- package/dist/client/assets/passwordBootstrap-DLUamTjd.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-DLUamTjd.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-BlWgUklx.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-BlWgUklx.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-Bp32kHHQ.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-Bp32kHHQ.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-0qeSh9-W.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-0qeSh9-W.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-COmWghVD.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-COmWghVD.js.gz +0 -0
- package/dist/client/assets/rdpSession-Bbycnmly.js +0 -1
- package/dist/client/assets/rdpSession-Bbycnmly.js.br +0 -0
- package/dist/client/assets/rdpSession-Bbycnmly.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-CQ9ote5C.js +0 -1
- package/dist/client/assets/referenceLongPress-CQ9ote5C.js.br +0 -0
- package/dist/client/assets/referenceLongPress-CQ9ote5C.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CeohDJAC.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CeohDJAC.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-rA5x9iOw.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-rA5x9iOw.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Cw2BZ0po.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-Cw2BZ0po.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Dz1ykd8a.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Dz1ykd8a.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DHfjTfLj.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DHfjTfLj.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-B9AqPaxQ.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CAJkSUVz.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-CAJkSUVz.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DPbqRuWV.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-plr9yv12.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-plr9yv12.js.gz +0 -0
- package/dist/client/assets/triangle-alert-ibl6FV9I.js +0 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-Cz04de3S.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-Cz04de3S.js.gz +0 -0
- package/dist/client/assets/videoCompression-DCsUD6X6.js +0 -3
- package/dist/client/assets/videoCompression-DCsUD6X6.js.br +0 -0
- package/dist/client/assets/videoCompression-DCsUD6X6.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-DnT-q6At.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-DnT-q6At.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-C0y08MEX.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-C0y08MEX.js.gz +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css → swiper-C2J0D0kV.css} +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css.br → swiper-C2J0D0kV.css.br} +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css.gz → swiper-C2J0D0kV.css.gz} +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-BgCZP9ke.js","assets/app-DvMXSNN7.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-Dea8wJF3.js","assets/index-CA1fR_jI.css","assets/purify.es-4eNOHKSq.js","assets/katex-55ZPZeOF.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{dg as Ve,b0 as ir,a1 as me,e5 as J,cb as i,c as or,d as lr,s as cr,l as dr,a0 as it,b4 as ot,ee as ur,c7 as lt,ak as fr,c5 as ct}from"./app-DvMXSNN7.js";import{b as h,r as dt}from"./dnd-BCFAPC0L.js";import{a as ut}from"./use-gesture-react.esm-DYpdiE_k.js";import{S as hr,a as mr}from"./swiper-DJjq1TYT.js";import{h as Ze,s as pr,l as gr,b as br,r as xr}from"./syntaxHighlight-C9PKWUqs.js";import{L as wr}from"./list-tree-BPg9QdiM.js";const vr=100,kr=5e5,$r=1e4,qe=16384,yr=32,Lr=1e5;class Q extends Error{constructor(t){super(`Markdown preview parsing stopped: ${t}`),this.reason=t,this.name="MarkdownParseError"}reason}class jr{startedAt=performance.now();operations=0;depth=0;check(){if(++this.operations>Lr)throw new Q("complexity");if(performance.now()-this.startedAt>=vr)throw new Q("timeout")}validateLines(t){if(t.length>$r)throw new Q("size");let r=0;for(const s of t)if(this.check(),r+=s.length+1,r>kr||s.length>qe)throw new Q("size")}validateInline(t){if(this.check(),t.length>qe)throw new Q("size")}nested(t){if(this.check(),this.depth>=yr)throw new Q("depth");this.depth+=1;try{return t()}finally{this.depth-=1}}}const Qe=new RegExp(`(\\\\\\([^)]*\\\\\\)|\\$[^$\\n]+\\$|<br\\s*\\/?>|<\\s*img\\b[^>]*>|<\\s*video\\b[^>]*>[\\s\\S]*?<\\/video\\s*>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\\b[\\s\\S]*?<\\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\\[[^\\]]*\\]\\((?:<[^>]+>|(?:[^\\s()]|\\([^()\\s]*\\))+)(?:\\s+(?:"[^"]*"|'[^']*'|\\([^)]*\\)))?\\)|!?\\[[^\\]]+\\]\\[[^\\]]*\\]|!?\\[[^\\]]+\\]|\\[\\^[^\\]]+\\]|~~[^~]+~~|\\*\\*[^*]+\\*\\*|(?<![\\p{L}\\p{N}_])__[^_]+__(?![\\p{L}\\p{N}_])|\\*[^*\\s][^*]*\\*|(?<![\\p{L}\\p{N}_])_[^_\\s][^_]*_(?![\\p{L}\\p{N}_])|<https?:\\/\\/[^>\\s]+>|<[^\\s@<>]+@[^\\s@<>]+\\.[^\\s@<>]+>|https?:\\/\\/[^\\s<]+|www\\.[^\\s<]+|[^\\s@<>]+@[^\\s@<>]+\\.[^\\s@<>]+)`,"iyu");function Mr(e,t,r){let s=t;for(;e[s]==="`";)s+=1;const o=s-t;let n=s;for(;n<e.length;){r.check();const c=e.indexOf("`",n);if(c<0)return null;for(n=c;e[n]==="`";)n+=1;if(n-c===o)return n}return null}function*Sr(e,t){t.validateInline(e);const r=new RegExp(Qe.source,Qe.flags);let s=0;for(;s<e.length;){if(t.check(),e[s]==="`"){const n=Mr(e,s,t);if(n!==null)yield{index:s,token:e.slice(s,n)},s=n;else for(;e[s]==="`";)s+=1;continue}r.lastIndex=s;const o=r.exec(e);t.check(),o?(yield{index:s,token:o[0]},s=r.lastIndex):s+=(e.codePointAt(s)??0)>65535?2:1}}async function Nr(e){if(e.kind==="mermaid"){await Ve(new Blob([e.svg],{type:"image/svg+xml"}),"mermaid.svg");return}const t=new URL(e.src,window.location.href);if(t.origin===window.location.origin&&t.pathname==="/api/terminal/fs/blob"){const n=t.searchParams.get("path");if(!n)throw new Error("Missing image path");await ir(n);return}const r=await fetch(e.src);if(!r.ok)throw new Error(`HTTP ${r.status}`);const s=await r.blob(),o=decodeURIComponent(t.pathname.split("/").pop()||"")||`image.${{"image/svg+xml":"svg","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif"}[s.type]||"png"}`;await Ve(s,o)}let ce=null,Je=!1;function Er(){return ce||(ce=me(()=>import("./mermaid.core-BgCZP9ke.js").then(e=>e.bl),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>e.default??e).catch(e=>{throw ce=null,e})),ce}function _r(e){Je||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),Je=!0)}function ft(e){try{return new URL(e,location.href).pathname.startsWith("/api/")}catch{return!1}}const Ir=1500,et=256*1024*1024;async function Tr(e,t){const r=await fetch(e,{signal:t});if(!r.ok)throw new Error(`Media fallback failed: HTTP ${r.status}`);const s=r.headers.get("content-type")??"",o=r.body?.getReader();if(!o){const d=await r.blob();if(d.size>et)throw new Error("Media too large for encrypted fallback");return URL.createObjectURL(d)}const n=[];let c=0;try{for(;;){const{done:d,value:l}=await o.read();if(d)break;if(c+=l.byteLength,c>et)throw new Error("Media too large for encrypted fallback");n.push(l)}}catch(d){throw await o.cancel().catch(()=>{}),d}return URL.createObjectURL(new Blob(n,{type:s}))}function pe(e,t){const r=ft(e),[s,o]=h.useState(()=>!!navigator.serviceWorker?.controller),[n,c]=h.useState(void 0),d=h.useRef(t);return d.current=t,h.useEffect(()=>{if(!r||s)return;const l=navigator.serviceWorker,f=()=>o(!!l?.controller);return l?.addEventListener("controllerchange",f),f(),()=>l?.removeEventListener("controllerchange",f)},[r,s]),h.useEffect(()=>{if(!r||s){c(void 0);return}let l=!1,f;const m=new AbortController,a=window.setTimeout(()=>{Tr(e,m.signal).then(b=>{if(l){URL.revokeObjectURL(b);return}f=b,c(b)}).catch(()=>{l||m.signal.aborted||d.current?.()})},Ir);return()=>{l=!0,window.clearTimeout(a),m.abort(),f&&URL.revokeObjectURL(f)}},[r,s,e]),!r||s?e:n}const ht="border-r px-2 py-1.5 sm:px-3 sm:py-2",ge="min-w-full max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",mt=`${ht} border-b border-border/15 font-semibold last:border-r-0`,pt=`${ht} border-border/10 align-top text-muted-foreground last:border-r-0`,We="termdock-file-preview-horizontal-scroll",gt=`${We} termdock-md-table-scroll min-w-0 max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`;function bt(e){const t=e.trim().replace(/\s+/g,"");return/^-{3,}$/.test(t)||/^\*{3,}$/.test(t)||/^_{3,}$/.test(t)}function Te(e){const t=e.trim();return/^#{1,6}\s+/.test(t)||bt(e)||/^>\s?/.test(t)||/^(```|~~~)/.test(t)||/^<video\b/i.test(t)||/^(?:[-+*]|\d+[.)])\s+/.test(t)}function xt(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const wt=h.createContext(null);function he(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function vt(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function kt(e){return e.replace(/\s+#+\s*$/,"").trim()}function Re(e,t){const s=vt(e).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",o=t.headingSlugCounts.get(s)??0;return t.headingSlugCounts.set(s,o+1),o===0?s:`${s}-${o}`}function tt(e){return vt(e)||e.trim()}function be(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=Ae(t[2]);return r?{id:he(t[1]),definition:{href:r.href,title:r.title}}:null}function Rr(e){const t=new Map;for(const r of e){const s=be(r);s&&t.set(s.id,s.definition)}return t}function $t(e){return e.trim().toLowerCase()}function yt(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:$t(t[1]),text:t[2]}:null}function Cr(e){const t=new Map;let r=null;for(const s of e){const o=yt(s);if(o){r=o.id,t.set(o.id,{id:o.id,text:o.text,index:t.size+1});continue}if(r&&/^\s{4,}\S/.test(s)){const n=t.get(r);n&&(n.text=`${n.text} ${s.trim()}`);continue}s.trim()&&(r=null)}return t}function Lt(e){const t=new Set;let r=!1;return e.forEach((s,o)=>{if(yt(s)){t.add(o),r=!0;return}if(r&&/^\s{4,}\S/.test(s)){t.add(o);return}s.trim()&&(r=!1)}),t}function Ar(e){const t=[...e];let r=0;const s=e[0]?.trim();if(s==="---"||s==="+++"){for(t[0]="",r=1;r<e.length&&e[r].trim()!==s;)t[r]="",r+=1;r<e.length&&(t[r]="",r+=1)}for(;r<e.length;){const o=e[r].trim();if(o.startsWith("<!--")){if(t[r]="",!o.includes("-->")){for(r+=1;r<e.length&&!e[r].includes("-->");)t[r]="",r+=1;r<e.length&&(t[r]="")}r+=1;continue}r+=1}return t}function jt(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function te(e){const t=e.split(/[?#]/,1)[0],r=t.startsWith("/"),s=[];for(const n of t.split("/"))if(!(!n||n===".")){if(n===".."){s.length>0&&s.pop();continue}s.push(n)}return`${r?"/":""}${s.join("/")}`||(r?"/":".")}function ye(e,t,r){const s=e.trim();if(!s||/^(?:https?:|mailto:|javascript:|data:)/i.test(s)||/^[a-z][a-z0-9+.-]*:/i.test(s))return null;if(s.startsWith("#")){if(!t)return null;try{return{path:t,fragment:decodeURIComponent(s.slice(1))||null,directory:!1}}catch{return null}}const o=s.indexOf("#"),n=o>=0?s.slice(0,o):s,c=o>=0?s.slice(o+1):"",d=n.split("?",1)[0];if(!d)return null;let l,f=null;try{l=decodeURIComponent(d),f=c?decodeURIComponent(c):null}catch{return null}const m=r?te(r):null;let a;if(l.startsWith("/")){const b=m&&(l===m||l.startsWith(`${m}/`));a=te(m&&!b?`${m}/${l.slice(1)}`:l)}else{if(!t)return null;a=te(`${jt(t)}/${l}`)}return m&&a!==m&&!a.startsWith(`${m}/`)?null:{path:a,fragment:f,directory:/\/$/.test(d)}}function Mt(e,t,r,s,o){const n=e.trim();if(!n||/^(?:javascript|data):/i.test(n))return null;if(/^https?:\/\//i.test(n))return n;if(!s(n.split(/[?#]/,1)[0]))return null;let c;if(n.startsWith("/")){const d=r&&(n===r||n.startsWith(`${r}/`));c=te(r&&!d?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;c=te(`${jt(t)}/${n}`)}return o(c)}function St(e,t,r){return Mt(e,t,r,ct,s=>`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`)}function He(e,t,r){if(/^https?:\/\//i.test(e.trim()))return e.trim();const s=ye(e,t,r);return!s||!lt(s.path)?null:fr(s.path)+(s.fragment?`#${s.fragment}`:"")}function Nt(e){try{return lt(decodeURIComponent(new URL(e,"https://markdown.invalid/").pathname))}catch{return!1}}const Ce=128,Dr=360,Se=480;function ie(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function Et(e,t,r,s,o=0){if(!t||!r)return null;let n,c;return o>0?(n=s>0?Math.min(o,s):o,c=r*n/t):ie(e)?(c=Math.min(Math.max(r,Ce),Dr),n=t*c/r):(n=t,c=r),s>0&&n>s&&(c=c*s/n,n=s),c>Se&&(n=n*Se/c,c=Se),{width:Math.max(1,Math.round(n)),height:Math.max(1,Math.round(c))}}function Pr(e){if(!e.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(e.slice(e.indexOf("?"))).get("path")}catch{return null}}function _t(e){const t=Pr(e),r=ur(s=>t?(s.fileChangeVersions.get(t)??0)+s.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function Wr({src:e,alt:t,title:r,requestedWidthPx:s}){const o=ie(e),n=_t(e),c=pe(n),d=h.useRef(null),[l,f]=h.useState(!1),[m,a]=h.useState(0),[b,y]=h.useState({status:"loading"}),[L,S]=h.useState(null);h.useLayoutEffect(()=>{const w=d.current;let v=w?.parentElement?.parentElement??w?.parentElement;for(;v;){const p=window.getComputedStyle(v).display;if(p!=="inline"&&p!=="contents")break;v=v.parentElement}if(!v)return;const x=v,N=()=>{const p=window.getComputedStyle(x),g=(parseFloat(p.paddingLeft)||0)+(parseFloat(p.paddingRight)||0);a(Math.max(0,x.clientWidth-g))};if(N(),typeof ResizeObserver>"u")return;const I=new ResizeObserver(N);return I.observe(x),()=>I.disconnect()},[]),h.useEffect(()=>{if(l)return;const w=d.current;if(!w||typeof IntersectionObserver>"u"){f(!0);return}const v=new IntersectionObserver(x=>{x.some(N=>N.isIntersecting)&&(f(!0),v.disconnect())},{rootMargin:"400px"});return v.observe(w),()=>v.disconnect()},[l]),h.useEffect(()=>{if(!l)return;const w=new AbortController;let v=null;y({status:"loading"});const x=window.setTimeout(()=>{w.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return ot(n,{signal:w.signal}).then(async N=>{if(!N.ok)throw new Error(`HTTP ${N.status}`);const I=Number(N.headers.get("X-Image-Width"))||0,p=Number(N.headers.get("X-Image-Height"))||0;return{blob:await N.blob(),width:I,height:p}}).then(({blob:N,width:I,height:p})=>{w.signal.aborted||(v=URL.createObjectURL(N),I>0&&p>0&&S({width:I,height:p}),y({status:"ready",objectUrl:v}))}).catch(()=>{const N=w.signal.reason;w.signal.aborted&&!(N instanceof DOMException&&N.name==="TimeoutError")||y({status:"fallback"})}).finally(()=>{window.clearTimeout(x)}),()=>{window.clearTimeout(x),w.abort(),v&&URL.revokeObjectURL(v)}},[l,n]);const _=Et(e,L?.width??0,L?.height??0,m,s??0),M=_??(s?{width:m>0?Math.min(s,m):s,height:Math.round(s*.75)}:{width:Ce*2,height:Ce});return i.jsx("div",{ref:d,className:"block max-w-full",style:_?{width:_.width,height:_.height}:void 0,children:b.status==="ready"?i.jsx("img",{src:b.objectUrl,alt:t,title:r,decoding:"async",className:`${o?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:_?{width:_.width,height:_.height}:void 0,onLoad:w=>{const v=w.currentTarget;v.naturalWidth>0&&v.naturalHeight>0&&(L?.width!==v.naturalWidth||L?.height!==v.naturalHeight)&&S({width:v.naturalWidth,height:v.naturalHeight})}}):b.status==="fallback"?i.jsx("img",{src:c,alt:t,title:r,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:_?{width:_.width,height:_.height}:void 0,onLoad:w=>{const v=w.currentTarget;v.naturalWidth>0&&v.naturalHeight>0&&(L?.width!==v.naturalWidth||L?.height!==v.naturalHeight)&&S({width:v.naturalWidth,height:v.naturalHeight})}}):i.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:M.width,height:M.height},children:i.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:t||"…"})})})}function re(e,t,r,s,o,n){if(!n?.fallbackText&&Nt(r)){const f=He(r,o.markdownFilePath,o.rootPath);if(f)return i.jsx(ze,{url:f,label:t,title:s,hasControls:!0},e)}const c=St(r,o.markdownFilePath,o.rootPath);if(!c)return n?.fallbackText??``;const d=o.images.length;o.images.push({kind:"image",src:c,alt:t,title:s});const l=i.jsx(Wr,{src:c,alt:t,title:s,requestedWidthPx:n?.requestedWidthPx});return o.onImageOpen&&n?.interactive!==!1?i.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:s||t||"Open image",onClick:f=>{f.stopPropagation(),o.onImageOpen?.(d)},children:l},e):i.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:l},e)}function Ne(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function rt(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function Ae(e){const t=e.trim(),r=t.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(r)return{href:r[1],title:r[2]??r[3]??r[4]};const s=t.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return s?{href:s[1],title:s[2]??s[3]??s[4]}:null}const It="",Hr=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function zr(e){return e.replace(Hr,(t,r)=>`${It}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function nt(e){return e.replace(new RegExp(`${It}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function Br(e){const t=e.replace(/[\r\n]+/g," ");return/^ .+ $/.test(t)&&/[^ ]/.test(t.slice(1,-1))?t.slice(1,-1):t}const Tt={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let de=null;function Rt(){return de||(de=me(()=>import("./purify.es-4eNOHKSq.js"),[]).then(e=>e.default??e).catch(e=>{throw de=null,e})),de}function Ct({html:e}){const{t}=J(),[r,s]=h.useState(null);return h.useEffect(()=>{let o=!1;return s(null),Rt().then(n=>{o||s(n.sanitize(e,Tt))}).catch(()=>{o||s("")}),()=>{o=!0}},[e]),r===null?i.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:t("rightSidebar.renderingHtml")}):r?i.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:r}}):null}function Or({html:e}){const[t,r]=h.useState(null);return h.useEffect(()=>{let s=!1;return r(null),Rt().then(o=>{s||r(o.sanitize(e,Tt))}).catch(()=>{s||r("")}),()=>{s=!0}},[e]),t===null?null:t?i.jsx("span",{dangerouslySetInnerHTML:{__html:t}}):e}function At(e){const t=e.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!t)return null;const r=t[1].toLowerCase();return{tag:r,selfContained:new RegExp(`</${r}>`,"i").test(e)}}let ue=null;function Fr(){return ue||(ue=Promise.all([me(()=>import("./katex-DnlPpQZa.js"),[]),me(()=>Promise.resolve({}),__vite__mapDeps([7]))]).then(([e])=>e.default??e).catch(e=>{throw ue=null,e})),ue}function ne({tex:e,display:t=!1}){const[r,s]=h.useState(null),[o,n]=h.useState(!1);if(h.useEffect(()=>{let d=!1;return s(null),n(!1),Fr().then(l=>{d||s(l.renderToString(e,{displayMode:t,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{d||n(!0)}),()=>{d=!0}},[t,e]),o)return i.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:t?`$$${e}$$`:`$${e}$`});if(!r)return i.jsx("span",{className:"text-muted-foreground/70",children:t?"Rendering formula...":e});const c=t?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return i.jsx("span",{className:c,dangerouslySetInnerHTML:{__html:r}})}function xe(e){const t=new Map;for(const r of e.matchAll(/([a-zA-Z_:][-a-zA-Z0-9_:.]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+))/gi))t.set(r[1].toLowerCase(),r[2]??r[3]??r[4]);return t}function st(e){const t=xe(e),r=t.get("src")?.trim()??"",s=t.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i);return{src:r,alt:t.get("alt"),title:t.get("title"),widthPx:s?Number(s[1]):void 0}}function Ur(e){const t=e.indexOf(">"),r=t<0?e:e.slice(0,t+1),s=xe(r),o=s.get("src")?.trim()??"",n=o?[o]:Array.from(e.slice(t+1).matchAll(/<source\b[^>]*>/gi),m=>xe(m[0]).get("src")?.trim()??"").filter(Boolean),c=s.get("width")?.trim().match(/^(\d+(?:\.\d+)?)(?:px)?$/i),d=s.get("style")?.match(/(?:^|;)\s*max-width\s*:\s*(\d+(?:\.\d+)?)px\s*(?:;|$)/i),l=r.replace(/=\s*(?:"[^"]*"|'[^']*')/g," "),f=t<0?"":e.slice(t+1).replace(/<\/video\s*>$/i,"").replace(/<[^>]*>/g,"").trim();return{sources:n,poster:s.get("poster"),fallbackText:f,widthPx:c?Number(c[1]):void 0,maxWidthPx:d?Number(d[1]):void 0,controls:/\bcontrols\b/i.test(l)}}function ze({url:e,poster:t,fallbackText:r,widthPx:s,maxWidthPx:o,hasControls:n,label:c,title:d}){const{t:l}=J(),[f,m]=h.useState(!1),a=pe(e,()=>m(!0)),b=pe(t??"");return h.useEffect(()=>m(!1),[e]),!a&&!f?null:i.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:f?i.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:r?.trim()||l("rightSidebar.videoUnsupported")}):i.jsx("video",{className:"block max-w-full",src:a,poster:b||void 0,"aria-label":c,title:d,style:{width:s?`${s}px`:"100%",maxWidth:o?`${o}px`:void 0},controls:n,preload:"metadata",playsInline:!0,onError:()=>m(!0)})})}function Xr(e,t,r){if(/^<a\b[^>]*>\s*<\s*img\b[^>]*>\s*<\/a\s*>$/i.test(e)){const c=e.slice(0,e.indexOf(">")+1),d=xe(c).get("href")?.trim()??"",l=e.match(/<\s*img\b[^>]*>/i)?.[0]??"",{src:f,alt:m,title:a,widthPx:b}=st(l);if(!f)return null;const y=Mt(f,r.markdownFilePath,r.rootPath,ct,w=>w);if(!y)return null;const L=d?ye(d,r.markdownFilePath,r.rootPath):null,_=!!!(L&&L.path===y)&&d?xt(d):null,M=re(t,m??"",f,a,r,{requestedWidthPx:b,interactive:_?!1:void 0});return _?i.jsx("a",{href:_,target:"_blank",rel:"noreferrer",children:M},t):M}if(/^<\s*img\b[^>]*>$/i.test(e)){const{src:c,alt:d,title:l,widthPx:f}=st(e);return c?re(t,d??"",c,l,r,{fallbackText:e,requestedWidthPx:f}):null}if(/^<\s*video\b[^>]*>[\s\S]*?<\/video\s*>$/i.test(e)){const{sources:c,poster:d,fallbackText:l,widthPx:f,maxWidthPx:m,controls:a}=Ur(e),b=c.map(L=>He(L,r.markdownFilePath,r.rootPath)).find(Boolean);if(!b)return null;const y=d?St(d,r.markdownFilePath,r.rootPath):null;return i.jsx(ze,{url:b,poster:y??void 0,fallbackText:l,widthPx:f,maxWidthPx:m,hasControls:a},t)}if(/^<br\s*\/?>$/i.test(e))return i.jsx("br",{},t);const s=e.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!s)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(e)?i.jsx(Or,{html:e},t):null;const o=s[1].toLowerCase(),n=H(s[2],`${t}-${o}`,!0,r);return o==="kbd"?i.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:n},t):o==="mark"?i.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:n},t):o==="sub"?i.jsx("sub",{children:n},t):i.jsx("sup",{children:n},t)}function H(e,t,r=!0,s){return s.budget.nested(()=>Kr(e,t,r,s))}function Kr(e,t,r=!0,s){s.budget.validateInline(e);const o=zr(e),n=[];let c=0;for(const{index:d,token:l}of Sr(o,s.budget)){d>c&&n.push(nt(o.slice(c,d)));const f=`${t}-${d}`,m=l.startsWith("<")?Xr(l,f,s):null;if(m)n.push(m);else if(l.startsWith("\\(")&&l.endsWith("\\)"))n.push(i.jsx(ne,{tex:l.slice(2,-2)},f));else if(l.startsWith("$")&&l.endsWith("$"))n.push(i.jsx(ne,{tex:l.slice(1,-1)},f));else if(l.startsWith("`")){const a=l.match(/^`+/)?.[0].length??1;n.push(i.jsx("code",{className:`${r?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:Br(l.slice(a,-a))},f))}else if(l.startsWith("~~"))n.push(i.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:H(l.slice(2,-2),`${f}-del`,r,s)},f));else if(l.startsWith("**")||l.startsWith("__"))n.push(i.jsx("strong",{className:"font-semibold text-foreground",children:H(l.slice(2,-2),`${f}-strong`,r,s)},f));else if(l.startsWith("*")||l.startsWith("_"))n.push(i.jsx("em",{className:"italic",children:H(l.slice(1,-1),`${f}-em`,r,s)},f));else if(l.startsWith("![")){const a=l.match(/^!\[([^\]]*)\]\((.*)\)$/),b=l.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^!\[([^\]]+)\]$/);if(a){const L=Ae(a[2]);n.push(L?re(f,a[1],L.href,L.title,s):l)}else if(b){const L=b[2]||b[1],S=s.referenceDefinitions.get(he(L));n.push(S?re(f,b[1],S.href,S.title,s):l)}else if(y){const L=s.referenceDefinitions.get(he(y[1]));n.push(L?re(f,y[1],L.href,L.title,s):l)}else n.push(l)}else if(l.startsWith("[^")){const a=$t(l.slice(2,-1)),b=s.footnoteDefinitions.get(a);n.push(b?i.jsx("sup",{id:`fnref-${b.id}`,title:b.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:i.jsx("a",{href:`#fn-${b.id}`,className:"text-primary no-underline",children:b.index})},f):l)}else if(l.startsWith("<http")){const a=l.slice(1,-1);n.push(i.jsx("a",{href:a,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f))}else if(l.startsWith("<")&&l.endsWith(">")&&rt(l.slice(1,-1))){const a=l.slice(1,-1);n.push(i.jsx("a",{href:`mailto:${a}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f))}else if(rt(Ne(l).linkText)){const{linkText:a,suffix:b}=Ne(l);n.push(i.jsx("a",{href:`mailto:${a}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f)),b&&n.push(b)}else if(l.startsWith("http")||l.startsWith("www.")){const{linkText:a,suffix:b}=Ne(l),y=a.startsWith("www.")?`https://${a}`:a;n.push(i.jsx("a",{href:y,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:a},f)),b&&n.push(b)}else{const a=l.match(/^\[([^\]]+)\]\((.*)\)$/),b=l.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^\[([^\]]+)\]$/),L=b?b[2]||b[1]:y?.[1]??null,S=L?s.referenceDefinitions.get(he(L)):null,_=a?Ae(a[2]):null,M=_?.href??S?.href??null,w=M?xt(M):null,v=a?.[1]??b?.[1]??y?.[1]??"",x=w&&Nt(w)?He(w,s.markdownFilePath,s.rootPath):null,N=w?i.jsx("a",{href:w,title:_?.title??S?.title,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:H(v,`${f}-link`,r,s)},f):l;n.push(x?i.jsxs("span",{children:[i.jsx(ze,{url:x,label:v,title:_?.title??S?.title,hasControls:!0}),N]},f):N)}c=d+l.length}return c<o.length&&n.push(nt(o.slice(c))),n.length>0?n:[e]}function Dt(e){return/(?: {2,}|\\)$/.test(e)}function Pt(e){return e.replace(/(?: {2,}|\\)$/,"")}function we(e){return/^(?: {4}|\t)/.test(e)}function Wt(e){return e.startsWith(" ")?e.slice(1):e.replace(/^ {4}/,"")}function Ht(e,t,r){const s=[];return e.forEach((o,n)=>{const c=Dt(o);s.push(...H(Pt(o),`${t}-${n}`,!0,r)),n<e.length-1&&s.push(c?i.jsx("br",{},`${t}-${n}-br`):" ")}),s}function De(e,t,r){const s=[],o=[];return e.forEach((n,c)=>{o.push(Dt(n)),s.push(H(Pt(n),`${t}-${c}`,!0,r))}),{perLine:s,hardBreaks:o}}function Pe(e,t,r,s,o){const n=[];return e.forEach((c,d)=>{const l=r[d]??0,f=!!(o&&l>=o.start&&l<=o.end);n.push(i.jsx("span",{"data-md-ref-start":l,"data-md-ref-end":l,"data-selected":f?"true":void 0,children:c},`${s}-ref-${d}`)),d<e.length-1&&n.push(t[d]?i.jsx("br",{},`${s}-${d}-br`):" ")}),n}function se(e){const t=e.trim().replace(/^\|/,"").replace(/\|$/,""),r=[];let s="",o=!1,n=0,c=0;for(let d=0;d<t.length;d+=1){const l=t[d];if(o){s+=l,o=!1;continue}if(l==="\\"){o=!0;continue}if(l==="`"){const f=d;for(;d+1<t.length&&t[d+1]==="`";)d+=1;const m=d-f+1;s+="`".repeat(m),n===0?n=m:n===m&&(n=0);continue}if(n===0&&l==="["?c+=1:n===0&&l==="]"&&c>0&&(c-=1),l==="|"&&n===0&&c===0){r.push(s.trim()),s="";continue}s+=l}return o&&(s+="\\"),r.push(s.trim()),r}function zt(e){return se(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function ve(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function ke(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function Bt(e,t){return e>96||e>44&&t>.35}function Le(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function ae(e){const t=e.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!t)return null;const r=/^\d+[.)]$/.test(t[1]);return{ordered:r,start:r?Number.parseInt(t[1],10):void 0,content:t[2]}}function Be(e,t,r,s,o,n=new Set){const c=[],d=[];let l=t;for(;l<e.length;){const f=e[l];if(o&&(be(f)||n.has(l))){l+=1;continue}const m=ae(f),a=Le(f);if(!m){if(a>r&&d.length>0){([...d].reverse().find(S=>S.indent<a)?.item??d[d.length-1].item).paragraphs.push(f.trim());for(const S of d)S.item.lineEnd=l+1;l+=1;continue}break}if(a<r||a===r&&m.ordered!==s)break;const b={content:m.content,ordered:m.ordered,start:m.start,children:[],paragraphs:[],lineStart:l+1,lineEnd:l+1};for(;d.length>0&&d[d.length-1].indent>=a;)d.pop();const y=d[d.length-1]?.item??null;y?y.children.push(b):c.push(b),d.push({indent:a,item:b});for(const L of d)L.item.lineEnd=l+1;l+=1}return{items:c,nextIndex:l}}function Yr(e){const t=e.find(s=>ae(s));if(!t)return[];const r=ae(t);return r?Be(e,0,Le(t),r.ordered,!0,Lt(e)).items:[]}function Oe(e,t,r,s=0){return r.budget.nested(()=>Gr(e,t,r,s))}function Gr(e,t,r,s=0){return e.map((o,n)=>{const c=o.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${n}`,taskItem:!!c,refStart:o.lineStart+s,refEnd:o.lineEnd+s,content:i.jsxs(i.Fragment,{children:[c?i.jsx("input",{type:"checkbox",checked:c[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,H(c?.[2]??o.content,`li-${t}-${n}`,!0,r),o.paragraphs.length>0&&i.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:o.paragraphs.map((d,l)=>i.jsx("p",{children:H(d,`li-${t}-${n}-p-${l}`,!0,r)},`paragraph-${l}`))})]}),groups:Vr(o.children,`${t}-${n}`,r,s)}})}function Vr(e,t,r,s=0){const o=[];for(const n of e){const c=o[o.length-1];c&&c.ordered===n.ordered?c.items.push(n):o.push({ordered:n.ordered,items:[n]})}return o.map((n,c)=>({ordered:n.ordered,start:n.ordered?n.items[0]?.start:void 0,items:Oe(n.items,`${t}-g${c}`,r,s)}))}function Fe(e,t){return e.map(r=>{const s=!!(t&&r.refStart<=t.end&&r.refEnd>=t.start);return i.jsxs("li",{className:r.taskItem?"list-none":void 0,"data-md-ref-start":r.refStart,"data-md-ref-end":r.refEnd,"data-selected":s?"true":void 0,children:[r.content,r.groups.length>0&&Zr(r.groups,t)]},r.key)})}function Zr(e,t){return e.map((r,s)=>{const o=r.ordered?"ol":"ul";return i.jsx(o,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:Fe(r.items,t)},`nested-${s}`)})}function qr(e){const t=Array.from(e.footnoteDefinitions.values()).sort((r,s)=>r.index-s.index);return t.length===0?null:i.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[i.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:e.footnotesLabel}),i.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:t.map(r=>i.jsxs("li",{id:`fn-${r.id}`,children:[H(r.text,`footnote-${r.id}`,!0,e)," ",i.jsx("a",{href:`#fnref-${r.id}`,className:"text-primary no-underline","aria-label":e.backToFootnoteLabel(r.index),children:"↩"})]},r.id))})]})}function Qr(e,t,r,s){const o=[];let n=0;const c=d=>s?.[d]??d+1;for(;n<e.length;){r.budget.check();const d=e[n],l=d.trim();if(!l){n+=1;continue}if(/^<details>\s*$/i.test(l)){const M=n;let w="Details";const v=[];for(n+=1;n<e.length&&!/^<\/details>\s*$/i.test(e[n].trim());){const x=e[n].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);x?w=x[1].trim()||w:v.push(e[n].trimStart()),n+=1}n<e.length&&(n+=1),o.push({kind:"static",node:i.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[i.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(w,`${t}-details-${M}-summary`,!0,r)}),v.length>0&&i.jsx("div",{className:"mt-2 text-sm leading-6",children:Ht(v,`${t}-details-${M}`,r)})]},`${t}-details-${M}`)});continue}if(/^<video\b/i.test(l)){const M=n,w=[d];for(n+=1;!w[w.length-1].match(/<\/video\s*>/i)&&n<e.length&&e[n].trim();)r.budget.check(),w.push(e[n++]);const v=w.join(`
|
|
3
|
+
`);o.push({kind:"static",node:i.jsx("div",{children:H(v,`${t}-video-${M}`,!0,r)},`${t}-video-${M}`)});continue}const f=At(d);if(f){const M=[d],w=n;for(n+=1;n<e.length&&!f.selfContained&&!new RegExp(`</${f.tag}>`,"i").test(e[n]);)M.push(e[n]),n+=1;n<e.length&&!f.selfContained&&(M.push(e[n]),n+=1),o.push({kind:"static",node:i.jsx(Ct,{html:M.join(`
|
|
4
|
+
`)},`${t}-html-${w}`)});continue}const m=l.match(/^(```|~~~)\s*(.*)$/);if(m){const M=[],w=m[1],v=m[2]?.trim(),x=n;for(n+=1;n<e.length&&!e[n].trim().startsWith(w);)M.push(e[n]),n+=1;n<e.length&&(n+=1),v.toLowerCase()==="mermaid"?o.push({kind:"static",node:i.jsx(Ft,{code:M.join(`
|
|
5
|
+
`),blockKey:`${t}-code-${x}`},`${t}-code-${x}`)}):["math","latex","tex"].includes(v.toLowerCase())?o.push({kind:"static",node:i.jsx(ne,{tex:M.join(`
|
|
6
|
+
`),display:!0},`${t}-code-${x}`)}):o.push({kind:"code",key:`${t}-code-${x}`,code:M.join(`
|
|
7
|
+
`),lang:v,blockKey:`${t}-code-${x}`,codeStartLine:c(x)+1});continue}if(we(d)){const M=[],w=n;for(;n<e.length&&(we(e[n])||!e[n].trim());)M.push(e[n].trim()?Wt(e[n]):""),n+=1;o.push({kind:"code",key:`${t}-indented-code-${w}`,code:M.join(`
|
|
8
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${w}`,codeStartLine:c(w)});continue}const a=l.match(/^(#{1,6})\s+(.+)$/);if(a){const w=`h${Math.min(6,a[1].length+1)}`,v=kt(a[2]),x=Re(v,r);o.push({kind:"static",node:i.jsx(w,{id:x,className:"scroll-mt-16 font-semibold text-foreground",children:H(v,`${t}-heading-${n}`,!0,r)},`${t}-heading-${n}`)}),n+=1;continue}if(n+1<e.length&&d.includes("|")&&ke(e[n+1])){const M=se(d),w=zt(e[n+1]),v=[],x=n;for(n+=2;n<e.length&&e[n].includes("|")&&e[n].trim();)v.push(se(e[n])),n+=1;o.push({kind:"static",node:i.jsx("div",{className:gt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:i.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[i.jsx("thead",{className:"bg-surface-2 text-foreground",children:i.jsx("tr",{children:M.map((N,I)=>i.jsx("th",{className:`${mt} ${ve(w[I]??null)}`,children:i.jsx("div",{className:ge,children:H(N,`${t}-th-${x}-${I}`,!0,r)})},`h-${I}`))})}),i.jsx("tbody",{children:v.map((N,I)=>i.jsx("tr",{className:"border-t border-border/10",children:M.map((p,g)=>i.jsx("td",{className:`${pt} ${ve(w[g]??null)}`,children:i.jsx("div",{className:ge,children:H(N[g]??"",`${t}-td-${x}-${I}-${g}`,!0,r)})},`c-${g}`))},`r-${I}`))})]})},`${t}-table-${x}`)});continue}const b=ae(d);if(b){const M=b.ordered,w=Le(d),v=b.start,x=n,N=Be(e,n,w,M,!1);n=N.nextIndex,o.push({kind:"list",keyPrefix:`${t}-list-${x}`,ordered:M,start:M?v:void 0,renders:Oe(N.items,`${t}-list-${x}`,r,c(0)-1)});continue}const y=[d.trimStart()],L=[c(n)],S=n;for(n+=1;n<e.length&&e[n].trim()&&!Te(e[n])&&!(n+1<e.length&&e[n].includes("|")&&ke(e[n+1]));)y.push(e[n].trimStart()),L.push(c(n)),n+=1;const _=De(y,`${t}-p-${S}`,r);o.push({kind:"paragraph",keyPrefix:`${t}-p-${S}`,perLine:_.perLine,hardBreaks:_.hardBreaks,lineNums:L})}return o}function Jr(e,t){return e.map(r=>{switch(r.kind){case"static":return r.node;case"paragraph":return i.jsx("p",{children:Pe(r.perLine,r.hardBreaks,r.lineNums,r.keyPrefix,t)},r.keyPrefix);case"list":{const s=r.ordered?"ol":"ul";return i.jsx(s,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:Fe(r.renders,t)},r.keyPrefix)}case"code":return i.jsx($e,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}const fe=16,Ot=192;function en(e){const t=e.match(/\sviewBox=(["'])([^"']+)\1/i);if(!t)return e;const[,,r]=t,s=r.trim().split(/[\s,]+/).map(Number),[,,o,n]=s;if(!Number.isFinite(o)||!Number.isFinite(n)||o<=0||n<=0)return e;const c=Math.max(Ot,Math.ceil(o)),d=Math.ceil(c/o*n);return e.replace(/<svg\b([^>]*)>/i,(l,f)=>`<svg${f.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${c}" height="${d}">`)}function tn(e){const t=e?.querySelector("svg");if(!t)return;let r;try{r=t.getBBox()}catch{return}if(!Number.isFinite(r.width)||!Number.isFinite(r.height)||r.width<=0||r.height<=0)return;const s=r.x-fe,o=r.y-fe,n=r.width+fe*2,c=r.height+fe*2,d=Math.max(Ot,Math.ceil(n)),l=Math.ceil(d/n*c);t.setAttribute("viewBox",`${s} ${o} ${n} ${c}`),t.setAttribute("width",String(d)),t.setAttribute("height",String(l)),t.removeAttribute("style")}function rn(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return xr(`code.${r}`)??r}function Ft({code:e,blockKey:t}){const{t:r}=J(),[s,o]=h.useState(null),[n,c]=h.useState(!1),d=h.useRef(null),l=h.useContext(wt);h.useEffect(()=>{let m=!1;return o(null),c(!1),Er().then(async a=>{_r(a);const b=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:y}=await a.render(b,e);m||o(en(y))}).catch(()=>{m||c(!0)}),()=>{m=!0}},[t,e]),h.useLayoutEffect(()=>{s&&tn(d.current)},[s]);const f=h.useCallback(()=>{const m=d.current?.querySelector("svg")?.outerHTML??s;m&&l?.(m)},[l,s]);return n?i.jsx($e,{code:e,lang:"mermaid",blockKey:`${t}-fallback`}):i.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[i.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:"mermaid"}),i.jsx("div",{className:"bg-surface p-3",children:s?i.jsx("button",{type:"button",className:"block max-w-full rounded text-left focus:outline-none focus:ring-2 focus:ring-ring/45",title:r("rightSidebar.openMermaidDiagram"),onClick:m=>{m.stopPropagation(),f()},children:i.jsx("span",{ref:d,role:"img","aria-label":r("rightSidebar.mermaidDiagram"),className:"block max-h-[70vh] max-w-full overflow-auto rounded bg-white p-2 text-slate-900 [&_svg]:block [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:s}})}):i.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:r("rightSidebar.renderingDiagram")})})]})}function $e({code:e,lang:t,blockKey:r,codeStartLine:s,lineRange:o}){const n=rn(t),[c,d]=h.useState(null);h.useEffect(()=>{if(!n||!pr(e)){d(null);return}let f=!1;return gr().then(m=>{if(f||!m.registered(n)){f||d(null);return}try{d(br(m,e,n))}catch{f||d(null)}}).catch(()=>{f||d(null)}),()=>{f=!0}},[r,e,n]);const l=c??(e||" ").split(`
|
|
9
|
+
`).map(f=>[f||" "]);return i.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[t&&i.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:t}),i.jsx("pre",{"data-markdown-native-scroll":!0,tabIndex:0,className:`${We} termdock-code max-w-full overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:i.jsx("code",{children:l.map((f,m)=>{const a=s!=null?s+m:null,b=!!(o&&a!=null&&a>=o.start&&a<=o.end);return i.jsxs("span",{"data-md-ref-start":a??void 0,"data-md-ref-end":a??void 0,"data-selected":b?"true":void 0,children:[f,m<l.length-1?`
|
|
10
|
+
`:null]},`${r}-line-${m}`)})})})]})}function Ue(e,t,r,s,o){const n=new jr;n.validateLines(e),e=Ar(e);const c=Rr(e),d=Lt(e),l=[],f={budget:n,markdownFilePath:t,rootPath:r,referenceDefinitions:c,footnoteDefinitions:Cr(e),headingSlugCounts:new Map,images:l,onImageOpen:s,footnotesLabel:o?.footnotes??"Footnotes",backToFootnoteLabel:o?.backToFootnote??(y=>`Back to footnote ${y}`)},m=[];let a=0;for(;a<e.length;){f.budget.check();const y=e[a],L=y.trim();if(be(y)||d.has(a)){a+=1;continue}if(!L){a+=1;continue}if(/^<details>\s*$/i.test(L)){const p=a;let g="Details";const k=[];for(a+=1;a<e.length&&!/^<\/details>\s*$/i.test(e[a].trim());){const j=e[a].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);j?g=j[1].trim()||g:k.push(e[a].trimStart()),a+=1}a<e.length&&(a+=1),m.push({key:`details-${p}`,startLine:p+1,endLine:a,content:i.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[i.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(g,`details-${p}-summary`,!0,f)}),k.length>0&&i.jsx("div",{className:"mt-2 text-sm leading-6",children:Ht(k,`details-${p}`,f)})]})});continue}if(/^<video\b/i.test(L)){const p=a,g=[y];for(a+=1;!/<\/video\s*>/i.test(g[g.length-1])&&a<e.length&&e[a].trim();)f.budget.check(),g.push(e[a++]);m.push({key:`video-${p}`,startLine:p+1,endLine:a,content:i.jsx("div",{children:H(g.join(`
|
|
11
|
+
`),`video-${p}`,!0,f)})});continue}const S=At(y);if(S){const p=[y],g=a;for(a+=1;a<e.length&&!S.selfContained&&!new RegExp(`</${S.tag}>`,"i").test(e[a]);)p.push(e[a]),a+=1;a<e.length&&!S.selfContained&&(p.push(e[a]),a+=1),m.push({key:`html-${g}`,startLine:g+1,endLine:a,content:i.jsx(Ct,{html:p.join(`
|
|
12
|
+
`)})});continue}const _=L.match(/^(```|~~~)\s*(.*)$/);if(_){const p=[],g=_[1],k=_[2]?.trim(),j=a;for(a+=1;a<e.length&&!e[a].trim().startsWith(g);)p.push(e[a]),a+=1;a<e.length&&(a+=1),m.push({key:`code-${j}`,startLine:j+1,endLine:a,fineGrained:k.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(k.toLowerCase()),content:k.toLowerCase()==="mermaid"?i.jsx(Ft,{code:p.join(`
|
|
13
|
+
`),blockKey:`code-${j}`}):["math","latex","tex"].includes(k.toLowerCase())?i.jsx(ne,{tex:p.join(`
|
|
14
|
+
`),display:!0}):R=>i.jsx($e,{code:p.join(`
|
|
15
|
+
`),lang:k,blockKey:`code-${j}`,codeStartLine:j+2,lineRange:R})});continue}if(we(y)){const p=[],g=a;for(a+=0;a<e.length&&(we(e[a])||!e[a].trim());)p.push(e[a].trim()?Wt(e[a]):""),a+=1;m.push({key:`indented-code-${g}`,startLine:g+1,endLine:a,fineGrained:!0,content:k=>i.jsx($e,{code:p.join(`
|
|
16
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`indented-code-${g}`,codeStartLine:g+1,lineRange:k})});continue}if(L.startsWith("$$")){const p=[],g=a,k=L.replace(/^\$\$\s*/,"");if(k.endsWith("$$")&&k.length>2)p.push(k.replace(/\s*\$\$$/,"")),a+=1;else{for(k&&p.push(k),a+=1;a<e.length&&!e[a].trim().endsWith("$$");)p.push(e[a]),a+=1;if(a<e.length){const j=e[a].trim().replace(/\s*\$\$$/,"");j&&p.push(j),a+=1}}m.push({key:`math-${g}`,startLine:g+1,endLine:a,content:i.jsx(ne,{tex:p.join(`
|
|
17
|
+
`),display:!0})});continue}if(a+1<e.length&&L&&!Te(y)&&/^(=+|-+)\s*$/.test(e[a+1].trim())){const p=e[a+1].trim().startsWith("=")?1:2,g=`h${p}`,k=Re(L,f),j={level:p,text:tt(L),id:k};m.push({key:`setext-heading-${a}`,startLine:a+1,endLine:a+2,heading:j,content:i.jsx(g,{id:k,className:`scroll-mt-16 font-semibold text-foreground ${p===1?"mt-1 border-b border-border/20 pb-1.5 text-lg sm:pb-2 sm:text-xl":"mt-1 border-b border-border/15 pb-1 text-base sm:pb-1.5 sm:text-lg"}`,children:H(L,`setext-heading-${a}`,!0,f)})}),a+=2;continue}const M=L.match(/^(#{1,6})\s+(.+)$/);if(M){const p=M[1].length,g=kt(M[2]),k={1:"mt-1 border-b border-border/20 pb-1.5 text-lg sm:pb-2 sm:text-xl",2:"mt-1 border-b border-border/15 pb-1 text-base sm:pb-1.5 sm:text-lg",3:"text-sm sm:text-base",4:"text-[13px] sm:text-sm",5:"text-[11px] uppercase tracking-wide sm:text-xs",6:"text-[11px] uppercase tracking-wide text-muted-foreground"},j=`h${p}`,R=Re(g,f),D={level:p,text:tt(g),id:R};m.push({key:`heading-${a}`,startLine:a+1,endLine:a+1,heading:D,content:i.jsx(j,{id:R,className:`scroll-mt-16 font-semibold text-foreground ${k[p]}`,children:H(g,`heading-${a}`,!0,f)})}),a+=1;continue}if(bt(y)){m.push({key:`hr-${a}`,startLine:a+1,endLine:a+1,content:i.jsx("hr",{className:"border-border/20"})}),a+=1;continue}if(L.startsWith(">")){const p=[],g=[],k=a;for(;a<e.length&&/^>\s?/.test(e[a].trim());)p.push(e[a].trim().replace(/^>\s?/,"")),g.push(a+1),a+=1;const j=p[0]?.match(/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*(.*)$/i);if(j){const D=j[1].toUpperCase(),$=j[2]?.trim(),T=[...$?[$]:[],...p.slice(1)],z=[...$?[g[0]]:[],...g.slice(1)],B=De(T,`callout-${k}`,f);m.push({key:`callout-${k}`,startLine:k+1,endLine:a,fineGrained:!0,content:K=>i.jsxs("aside",{className:"rounded-lg border border-primary/20 bg-primary/5 px-3 py-2 text-muted-foreground",children:[i.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-primary",children:D}),T.length>0&&i.jsx("div",{children:Pe(B.perLine,B.hardBreaks,z,`callout-${k}`,K)})]})});continue}const R=Qr(p,`quote-${k}`,f,g);m.push({key:`quote-${k}`,startLine:k+1,endLine:a,fineGrained:!0,content:D=>i.jsx("blockquote",{className:"space-y-2 border-l-2 border-border-strong bg-surface-2/70 py-1.5 pl-2.5 pr-2 text-muted-foreground sm:py-2 sm:pl-3",children:Jr(R,D)})});continue}if(a+1<e.length&&y.includes("|")&&ke(e[a+1])){const p=se(y),g=zt(e[a+1]),k=[],j=a;for(a+=2;a<e.length&&e[a].includes("|")&&e[a].trim();)k.push(se(e[a])),a+=1;const R=p.map(($,T)=>H($,`th-${j}-${T}`,!0,f)),D=k.map(($,T)=>p.map((z,B)=>H($[B]??"",`td-${j}-${T}-${B}`,!0,f)));m.push({key:`table-${j}`,startLine:j+1,endLine:a,interactive:!1,kind:"table",content:$=>{const T=z=>!!($&&z>=$.start&&z<=$.end);return i.jsx("div",{className:gt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:i.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[i.jsx("thead",{className:"bg-surface-2 text-foreground",children:i.jsx("tr",{"data-markdown-table-row-line":j+1,"data-md-ref-start":j+1,"data-md-ref-end":j+1,"data-selected":T(j+1)?"true":void 0,children:R.map((z,B)=>i.jsx("th",{className:`${mt} ${ve(g[B]??null)}`,children:i.jsx("div",{className:ge,children:z})},`h-${B}`))})}),i.jsx("tbody",{children:D.map((z,B)=>{const K=j+B+3;return i.jsx("tr",{className:"border-t border-border/10","data-markdown-table-row-line":K,"data-md-ref-start":K,"data-md-ref-end":K,"data-selected":T(K)?"true":void 0,children:p.map((Y,G)=>i.jsx("td",{className:`${pt} ${ve(g[G]??null)}`,children:i.jsx("div",{className:ge,children:z[G]})},`c-${G}`))},`r-${B}`)})})]})})}});continue}const w=ae(y);if(w){const p=w.ordered,g=Le(y),k=w.start,j=a,R=Be(e,a,g,p,!0,d);a=R.nextIndex;const D=p?"ol":"ul",$=Oe(R.items,`list-${j}`,f);m.push({key:`list-${j}`,startLine:j+1,endLine:a,fineGrained:!0,content:T=>i.jsx(D,{start:p?k:void 0,className:`${p?"list-decimal":"list-disc"} space-y-0.5 pl-4 text-muted-foreground marker:text-muted-foreground/70 sm:space-y-1 sm:pl-5`,children:Fe($,T)})});continue}const v=[y.trimStart()],x=[a+1],N=a;for(a+=1;a<e.length&&e[a].trim()&&!Te(e[a])&&!(a+1<e.length&&e[a].includes("|")&&ke(e[a+1]));){if(be(e[a])||d.has(a)){a+=1;continue}v.push(e[a].trimStart()),x.push(a+1),a+=1}const I=De(v,`p-${N}`,f);m.push({key:`p-${N}`,startLine:N+1,endLine:a,fineGrained:!0,content:p=>i.jsx("p",{className:"text-muted-foreground",children:Pe(I.perLine,I.hardBreaks,x,`p-${N}`,p)})})}const b=qr(f);return b&&m.push({key:"footnotes",startLine:e.length,endLine:e.length,content:b}),n.check(),{blocks:m,images:l}}function nn(e,t,r){return Ue(e,t,r).blocks}function Ut(e,t){const r=[];for(const s of e){if(s.startLine>t)break;if(s.heading){for(;r.length>0&&r[r.length-1].level>=s.heading.level;)r.pop();r.push({...s.heading,startLine:s.startLine})}}return r}function Xt(e){return e.filter(t=>!!t.heading).map(t=>({...t.heading,startLine:t.startLine}))}function sn({src:e,alt:t,onZoomChange:r,onDoubleTap:s}){const{t:o}=J(),n=_t(e),c=ft(n),[d,l]=h.useState(null),[f,m]=h.useState(0);h.useEffect(()=>{if(!c)return;const b=new AbortController;let y;return l(null),ot(n,{signal:b.signal}).then(async L=>{if(!L.ok)throw new Error(`HTTP ${L.status}`);const S=await L.blob();b.signal.aborted||(y=URL.createObjectURL(S),l({src:n,objectUrl:y}))}).catch(()=>{b.signal.aborted||l({src:n,failed:!0})}),()=>{b.abort(),y&&URL.revokeObjectURL(y)}},[c,n,f]);const a=d?.src===n?d:null;return c&&!a?.objectUrl?i.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",role:a?.failed?"alert":"status",children:a?.failed?i.jsxs("div",{className:"flex flex-col items-center gap-3",onClick:b=>b.stopPropagation(),children:[i.jsx("span",{children:o("rightSidebar.imageLoadFailed")}),i.jsx("button",{type:"button",className:"rounded bg-surface-2 px-3 py-2 hover:bg-surface-elevated",onClick:()=>m(b=>b+1),children:o("common.retry")})]}):o("rightSidebar.loadingImage")}):i.jsx(Vt,{src:c?a.objectUrl:n,vector:ie(e),alt:t,onLoad:()=>{},onError:()=>{c&&l({src:n,failed:!0})},onZoomChange:r,onDoubleTap:s})}function Kt({images:e,index:t,onChange:r,onClose:s}){const{t:o}=J(),n=e[t],c=e.length>1,d=h.useRef(null),l=h.useRef(null),f=h.useRef(null),m=h.useRef(0),[a,b]=h.useState(!1),[y,L]=h.useState(0),[S,_]=h.useState(!1),[M,w]=h.useState(!1),[v,x]=h.useState(null),N=h.useRef(!1),I=async()=>{if(!(!n||N.current)){p(),N.current=!0,w(!0),x(null);try{await Nr(n)}catch($){x({image:n,message:$ instanceof Error?$.message:o("rightSidebar.downloadFailed")})}finally{N.current=!1,w(!1)}}},p=h.useCallback(()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)},[]),g=h.useCallback(()=>{a||Date.now()<m.current||(p(),f.current=window.setTimeout(()=>{f.current=null,s()},450))},[p,a,s]),k=h.useCallback($=>{if(e.length===0)return;const T=($+e.length)%e.length;d.current?.slideTo(T),r(T)},[e.length,r]),j=h.useCallback(()=>k(t-1),[k,t]),R=h.useCallback(()=>k(t+1),[k,t]);if(h.useEffect(()=>{p(),L(0),_(!1),b(!1)},[p,t]),h.useEffect(()=>{const $=d.current;$&&($.allowTouchMove=c&&!a)},[c,a]),h.useEffect(()=>{const $=d.current;!$||$.activeIndex===t||$.slideTo(t,0)},[t]),h.useEffect(()=>p,[p]),h.useEffect(()=>{const $=T=>{if(T.key==="Escape"){T.preventDefault(),s();return}c&&(T.key==="ArrowLeft"?(T.preventDefault(),j()):T.key==="ArrowRight"&&(T.preventDefault(),R()))};return document.addEventListener("keydown",$),()=>document.removeEventListener("keydown",$)},[c,R,j,s]),ut({onDrag:({movement:[$,T],pinching:z})=>{z||a||Math.abs(T)<Math.abs($)*1.15&&y===0||(_(!0),Math.abs(T)>8&&(m.current=Date.now()+300),L(Math.max(0,T)))},onDragEnd:({movement:[$,T],velocity:[,z],pinching:B,canceled:K})=>{if(_(!1),B||K||a||Math.abs(T)<Math.abs($)*1.15){L(0);return}if(Math.abs(T)>8&&(m.current=Date.now()+300),Bt(T,z)){s();return}L(0)}},{target:l,drag:{filterTaps:!0,pointer:{touch:!0}}}),!n)return null;const D=n.title||n.alt||(n.kind==="mermaid"?o("rightSidebar.mermaidDiagram"):o("rightSidebar.image"));return typeof document>"u"?null:dt.createPortal(i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:s}),i.jsxs("div",{className:"fixed inset-0 z-modal-panel flex flex-col bg-background-subtle/95 pt-[var(--safe-top-inset,env(safe-area-inset-top,0px))] text-foreground","data-markdown-image-lightbox":!0,"data-sidebar-gesture-ignore":!0,children:[i.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border/20 bg-surface/80 px-3",children:[i.jsxs("div",{className:"min-w-0",children:[i.jsx("div",{className:"truncate text-sm font-medium",children:D}),i.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[t+1," / ",e.length]})]}),i.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[c&&i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onClick:j,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95","aria-label":o("rightSidebar.previousImage"),title:o("common.previous"),children:i.jsx(or,{size:17})}),i.jsx("button",{type:"button",onClick:R,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95","aria-label":o("rightSidebar.nextImage"),title:o("common.next"),children:i.jsx(lr,{size:17})})]}),i.jsx("button",{type:"button",onClick:()=>{I()},disabled:M,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95 disabled:opacity-50 disabled:active:scale-100","aria-label":o("rightSidebar.downloadFile"),title:o("rightSidebar.downloadFile"),"aria-busy":M,children:M?i.jsx(cr,{size:17,className:"animate-spin"}):i.jsx(dr,{size:17})}),i.jsx("button",{type:"button",onClick:s,className:"inline-flex h-9 w-9 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":o("rightSidebar.closeImagePreview"),title:o("common.close"),children:i.jsx(it,{size:18})})]})]}),v?.image===n&&i.jsxs("div",{role:"alert",className:"flex shrink-0 items-center justify-between gap-3 bg-surface px-3 py-2 text-xs text-destructive",children:[i.jsxs("span",{className:"min-w-0 break-words",children:[o("rightSidebar.downloadFailed"),": ",v.message]}),i.jsx("button",{type:"button",className:"shrink-0 rounded bg-surface-2 px-3 py-1 text-foreground hover:bg-surface-elevated",onClick:()=>{I()},disabled:M,children:o("common.retry")})]}),i.jsx("div",{ref:l,className:"relative min-h-0 flex-1 overflow-hidden","data-markdown-image-lightbox-stage":!0,"data-sidebar-gesture-ignore":!0,onClick:$=>{if(!(Date.now()<m.current)){if($.target instanceof Element&&$.target.closest('img, [role="img"]')){g();return}p(),s()}},children:i.jsx("div",{className:"h-full w-full",style:{transform:`translate3d(0, ${y}px, 0) scale(${Math.max(.86,1-y/900)})`,opacity:Math.max(.35,1-y/360),transition:S?"none":"transform 0.2s ease-out, opacity 0.2s ease-out",willChange:"transform, opacity"},children:i.jsx(hr,{onSwiper:$=>{d.current=$,$.allowTouchMove=c&&!a},onSlideChange:$=>{$.activeIndex!==t&&r($.activeIndex)},onSliderMove:()=>{p(),m.current=Date.now()+450},initialSlide:t,speed:260,slidesPerView:1,resistanceRatio:.82,threshold:6,longSwipesRatio:.2,touchAngle:45,touchStartPreventDefault:!1,simulateTouch:!1,className:"h-full",children:e.map(($,T)=>i.jsx(mr,{className:"h-full",children:i.jsx("div",{className:"h-full w-full px-3 py-4 sm:px-6 sm:py-6",children:$.kind==="image"?i.jsx(sn,{src:$.src,alt:$.alt||$.title||o("rightSidebar.markdownImage"),onZoomChange:b,onDoubleTap:p}):i.jsx(cn,{svg:$.svg,title:$.title||$.alt||o("rightSidebar.mermaidDiagram"),onZoomChange:b,onDoubleTap:p})})},`${$.kind}-${T}-${$.alt}`))})})})]})]}),document.body)}function an({embedded:e=!1,referenceLines:t=!0,content:r,filePath:s,rootPath:o,lineRange:n,onLineRangeClick:c,onLineRangeDrag:d,scrollTop:l,outlineOpen:f,outlineCloseSignal:m,onOutlineOpen:a,onOutlineClose:b,lightboxOpen:y,lightboxCloseSignal:L,onLightboxOpen:S,onLightboxClose:_,onLocalLinkOpen:M}){const{t:w}=J(),[v,x]=h.useState(null),[N,I]=h.useState(null),[p,g]=h.useState(1),[k,j]=h.useState(null),R=h.useRef(null),D=h.useRef(null),{blocks:$,images:T,parseError:z}=h.useMemo(()=>{try{return{...Ue(r.split(`
|
|
18
|
+
`),s,o,u=>{I(null),x(u),S?.()},{footnotes:w("rightSidebar.footnotes"),backToFootnote:u=>w("rightSidebar.backToFootnote",{index:u})}),parseError:null}}catch(u){return{blocks:[],images:[],parseError:u instanceof Error?u.message:String(u)}}},[r,s,o,S,w]);h.useEffect(()=>{z&&Zt("markdown_error",{filePath:s,rootPath:o,error:z,fallback:"plain_text"})},[z,s,o]);const B=h.useMemo(()=>N?[...T,N]:T,[T,N]),K=h.useCallback(u=>{I({kind:"mermaid",svg:u,alt:"Mermaid diagram",title:"Mermaid diagram"}),x(T.length),S?.()},[T.length,S]);h.useEffect(()=>{x(null),I(null)},[r,s]),h.useEffect(()=>{x(null),I(null)},[L]),h.useEffect(()=>{y||(x(null),I(null))},[y]),h.useEffect(()=>{g(1)},[r,s]),h.useLayoutEffect(()=>{const u=R.current;if(!u||$.length===0)return;const E=Array.from(u.querySelectorAll("[data-markdown-preview-block-start]"));let C=1;const A=28;for(const O of E)if(O.offsetTop-l<=A)C=Number(O.dataset.markdownPreviewBlockStart)||C;else break;g(O=>O===C?O:C)},[$,l]);const Y=h.useMemo(()=>Ut($,p),[p,$]),G=h.useMemo(()=>Xt($),[$]),oe=`${s??""}
|
|
19
|
+
${r}`,Ke=h.useRef(oe),ee=h.useRef(null),Z=h.useRef(null),je=h.useRef(!1);h.useEffect(()=>{Ke.current!==oe&&(Ke.current=oe,b?.())},[b,oe]),h.useEffect(()=>{m!==void 0&&j(null)},[m]),h.useLayoutEffect(()=>{if(!f){j(null);return}const u=()=>{const E=D.current;if(!E)return;const C=E.getBoundingClientRect(),A=window.innerWidth;j({top:C.bottom+6,right:Math.max(8,A-C.right)})};return u(),window.addEventListener("resize",u),window.addEventListener("scroll",u,!0),()=>{window.removeEventListener("resize",u),window.removeEventListener("scroll",u,!0)}},[f,l,Y]);const Ye=h.useCallback(u=>{const E=R.current,C=E?.closest("[data-markdown-preview-scroller]"),A=E?.querySelector(`[data-markdown-preview-block-start="${u.startLine}"]`);if(!C||!A)return;const O=C.getBoundingClientRect(),U=A.getBoundingClientRect(),W=E?.querySelector("[data-markdown-heading-sticky]")?.getBoundingClientRect().height??0,V=U.top-O.top+C.scrollTop;C.scrollTo({top:Math.max(0,V-W-8),behavior:"smooth"}),g(u.startLine),b?.()},[b]),qt=h.useCallback(u=>{u.pointerType==="mouse"&&u.button!==0||Ie(u.target)||(ee.current={pointerId:u.pointerId,startX:u.clientX,startY:u.clientY})},[]),Qt=h.useCallback((u,E,C)=>{const A=ee.current;if(ee.current=null,!A||A.pointerId!==u.pointerId)return;const O=Math.abs(u.clientX-A.startX),U=Math.abs(u.clientY-A.startY);if(O>8||U>8)return;const F=u.target;if(Ie(F)||Ze())return;const W=at(F,E,C);c(u,W.start,W.end)},[c]),Jt=h.useCallback(u=>{ee.current?.pointerId===u.pointerId&&(ee.current=null)},[]),q=h.useCallback((u,E)=>{const C=R.current;if(!C||typeof document.elementFromPoint!="function")return null;const A=document.elementFromPoint(u,E);if(!(A instanceof HTMLElement)||!C.contains(A))return null;const O=A.closest("[data-md-ref-start]");if(O){const X=Number(O.dataset.mdRefStart);if(Number.isFinite(X)&&X>0)return X}const U=A.closest("[data-markdown-preview-block-start]");if(!U)return null;const F=Number(U.dataset.markdownPreviewBlockStart),W=$.find(X=>X.startLine===F);if(!W)return Number.isFinite(F)&&F>0?F:null;if(W.endLine<=W.startLine)return W.startLine;const V=U.getBoundingClientRect(),P=V.height>0?Math.min(1,Math.max(0,(E-V.top)/V.height)):0;return Math.round(W.startLine+P*(W.endLine-W.startLine))},[$]),er=h.useCallback(u=>{if(!d||u.pointerType==="mouse"&&u.button!==0)return;const E=q(u.clientX+24,u.clientY);if(E!=null){Z.current={pointerId:u.pointerId,anchorLine:E,moved:!1};try{u.currentTarget.setPointerCapture(u.pointerId)}catch{}}},[d,q]),tr=h.useCallback(u=>{const E=Z.current;if(!E||E.pointerId!==u.pointerId||!d)return;const C=q(u.clientX+16,u.clientY);C!=null&&(!E.moved&&C===E.anchorLine||(E.moved=!0,je.current=!0,d(u,Math.min(E.anchorLine,C),Math.max(E.anchorLine,C),"move")))},[d,q]),rr=h.useCallback(u=>{const E=Z.current;if(Z.current=null,!E||E.pointerId!==u.pointerId||!d||!E.moved)return;const C=q(u.clientX+16,u.clientY)??E.anchorLine;d(u,Math.min(E.anchorLine,C),Math.max(E.anchorLine,C),"end")},[d,q]),nr=h.useCallback(u=>{Z.current?.pointerId===u.pointerId&&(Z.current=null)},[]),Me={onPointerDown:er,onPointerMove:tr,onPointerUp:rr,onPointerCancel:nr},Ge=()=>je.current?(je.current=!1,!0):!1;return z?i.jsxs("div",{className:"min-w-0 max-w-full px-4 py-4 text-sm leading-6 text-foreground","data-markdown-preview-fallback":!0,children:[i.jsx("p",{role:"alert",className:"mb-3 text-destructive",children:w("rightSidebar.markdownParseFailed")}),i.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs",children:r})]}):$.length===0?i.jsx("div",{className:"min-w-0 max-w-full px-4 py-4 text-sm leading-6 text-foreground",children:i.jsx("p",{className:"text-muted-foreground",children:w("rightSidebar.emptyFile")})}):i.jsxs(i.Fragment,{children:[i.jsxs("div",{ref:R,className:"relative min-w-0 max-w-full",onClickCapture:u=>{const E=u.target instanceof Element?u.target.closest("a[href]"):null;if(!E||!M)return;const C=E.getAttribute("href");if(!C)return;const A=ye(C,s,o);A&&(u.preventDefault(),M(A))},children:[t&&Y.length>0&&i.jsx("div",{className:"sticky top-0 z-10 border-b border-border/15 bg-surface px-2 py-1 shadow-sm sm:px-3","data-markdown-heading-sticky":!0,children:i.jsxs("div",{className:"flex min-w-0 items-center gap-2 overflow-hidden",title:Y.map(u=>u.text).join(" / "),children:[i.jsx("span",{className:"h-4 w-0.5 shrink-0 rounded-full bg-primary/70","aria-hidden":"true"}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px] font-semibold leading-5 text-foreground sm:text-[13px]","data-markdown-heading-current":!0,children:Y[Y.length-1].text}),G.length>1&&i.jsxs("button",{ref:D,type:"button",onClick:()=>{f?b?.():a?.()},className:`inline-flex h-7 shrink-0 items-center gap-1 rounded-md px-2 text-[11px] font-medium transition active:scale-95 ${f?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,"aria-expanded":f,"aria-label":w("rightSidebar.markdownOutline"),title:w("rightSidebar.markdownOutline"),children:[i.jsx(wr,{size:12}),i.jsx("span",{children:w("rightSidebar.markdownOutlineShort")})]})]})}),f&&typeof document<"u"&&dt.createPortal(i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-menu-backdrop bg-[rgb(var(--background-rgb)_/_0.18)] sm:hidden",onClick:b}),i.jsx("div",{className:"hidden fixed z-menu-panel w-80 max-w-[min(20rem,calc(100vw-2rem))] rounded-lg border border-border/20 bg-surface p-2 shadow-xl sm:block",style:k?{top:`${k.top}px`,right:`${k.right}px`}:{top:-9999,right:-9999},"data-markdown-heading-outline-desktop":!0,children:i.jsx("div",{className:"max-h-72 overflow-auto pr-1",children:G.map(u=>{const E=Y[Y.length-1]?.startLine===u.startLine;return i.jsxs("button",{type:"button",onClick:()=>Ye(u),className:`flex w-full min-w-0 items-center gap-2 rounded-md px-2 py-1.5 text-left transition active:scale-[0.995] ${E?"bg-primary/10 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${Math.min(u.level-1,4)*12+8}px`},title:u.text,children:[i.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${E?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),i.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`desktop-${u.id}-${u.startLine}`)})})}),i.jsxs("div",{className:"fixed inset-x-0 bottom-0 z-drawer-panel max-h-[min(74vh,34rem)] rounded-t-xl border border-border/20 bg-surface p-2 pb-[calc(0.5rem+env(safe-area-inset-bottom,0px))] shadow-[0_-18px_48px_var(--app-shadow-strong)] sm:hidden","data-markdown-heading-outline-mobile":!0,children:[i.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-1.5 py-1 sm:hidden",children:[i.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:w("rightSidebar.markdownOutlineShort")}),i.jsx("button",{type:"button",onClick:b,className:"inline-flex h-7 w-7 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground","aria-label":w("rightSidebar.closeMarkdownOutline"),title:w("common.close"),children:i.jsx(it,{size:14})})]}),i.jsx("div",{className:"max-h-[calc(min(74vh,34rem)-3.25rem-env(safe-area-inset-bottom,0px))] overflow-auto overscroll-contain pr-1 sm:max-h-72",children:G.map(u=>{const E=Y[Y.length-1]?.startLine===u.startLine;return i.jsxs("button",{type:"button",onClick:()=>Ye(u),className:`flex min-h-10 w-full min-w-0 items-center gap-2 rounded-md px-2 py-2 text-left transition active:scale-[0.995] ${E?"bg-primary/10 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,style:{paddingLeft:`${Math.min(u.level-1,4)*12+8}px`},title:u.text,children:[i.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${E?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),i.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),i.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`${u.id}-${u.startLine}`)})})]})]}),document.body),i.jsx("div",{className:`min-w-0 max-w-full overflow-x-hidden break-words text-foreground ${e?"space-y-3":"space-y-1.5 px-1.5 py-3 text-[13px] leading-5 sm:space-y-2 sm:px-2 sm:py-4 sm:text-sm sm:leading-6"}`,children:i.jsx(wt.Provider,{value:K,children:$.map(u=>{const E=!!(n&&u.startLine<=n.end&&u.endLine>=n.start),C=!!(n&&n.start<=u.startLine&&n.end>=u.endLine),A=u.kind==="table"?!1:u.fineGrained?C:E,O=u.kind==="table"&&n?.start===u.startLine&&n.end===u.endLine;let U=null;if(u.kind!=="table"&&u.fineGrained&&E&&!C&&n){const P=u.endLine-u.startLine+1,X=Math.max(n.start,u.startLine),le=Math.min(n.end,u.endLine),sr=(X-u.startLine)/P,ar=(le-X+1)/P;U=i.jsx("span",{"aria-hidden":"true","data-md-rail-segment":!0,className:"absolute left-1/2 w-0.5 -translate-x-1/2 rounded-full bg-primary transition sm:w-1",style:{top:`calc(0.25rem + (100% - 0.5rem) * ${sr})`,height:`calc((100% - 0.5rem) * ${ar})`}})}const F=typeof u.content=="function"?u.content(n):u.content;if(!t)return i.jsx("div",{"data-markdown-preview-block-start":u.startLine,className:"min-w-0 cursor-text select-text py-0.5",children:F},u.key);const W=u.startLine===u.endLine?String(u.startLine):`${u.startLine}-${u.endLine}`,V=i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:Ee(A),"aria-hidden":"true",...Me,children:[i.jsx("span",{className:_e(A)}),U]}),i.jsx("div",{className:"min-w-0","data-sidebar-selectable":!0,children:F})]});return u.interactive===!1?i.jsxs("div",{"data-markdown-preview-block-start":u.startLine,className:`group grid w-full grid-cols-[0.625rem_minmax(0,1fr)] gap-1.5 rounded-md py-0.5 pr-1.5 text-left outline-none transition sm:grid-cols-[0.875rem_minmax(0,1fr)] sm:gap-2 sm:pr-2 ${A?"bg-primary/10":""}`,title:`Line ${W}`,"aria-label":`Line ${W}`,children:[u.kind==="table"?i.jsx("button",{type:"button",className:Ee(O,"self"),onClick:P=>{P.preventDefault(),!Ge()&&c(P,u.startLine,u.endLine)},title:`Reference table lines ${W}`,"aria-label":`Reference table lines ${W}`,...Me,children:i.jsx("span",{className:_e(O,"self")})}):i.jsxs("span",{className:Ee(A,"none"),"aria-hidden":"true",...Me,children:[i.jsx("span",{className:_e(A,"none")}),U]}),i.jsx("div",{className:"min-w-0 cursor-text select-text","data-sidebar-selectable":!0,role:"button",tabIndex:0,onPointerDown:qt,onPointerUp:P=>Qt(P,u.startLine,u.endLine),onPointerCancel:Jt,onKeyDown:P=>{P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),c(P,u.startLine,u.endLine))},title:`Reference line ${W}`,"aria-label":`Reference line ${W}`,children:F})]},u.key):i.jsx("div",{role:"button",tabIndex:0,"data-markdown-preview-block-start":u.startLine,onClick:P=>{const X=P.target;if(Ie(X)||Ze()||Ge())return;const le=at(X,u.startLine,u.endLine);c(P,le.start,le.end)},onKeyDown:P=>{P.key!=="Enter"&&P.key!==" "||(P.preventDefault(),c(P,u.startLine,u.endLine))},className:`group grid w-full cursor-pointer grid-cols-[0.625rem_minmax(0,1fr)] gap-1.5 rounded-md py-0.5 pr-1.5 text-left outline-none transition active:scale-[0.998] sm:grid-cols-[0.875rem_minmax(0,1fr)] sm:gap-2 sm:pr-2 ${A?"bg-primary/10":"hover:bg-[var(--surface-2)]"}`,title:`Reference line ${W}`,"aria-label":`Reference line ${W}`,children:V},u.key)})})})]}),y&&v!==null&&B[v]&&i.jsx(Kt,{images:B,index:v,onChange:x,onClose:()=>{x(null),I(null),_?.()}})]})}function Ee(e,t="group"){return`relative flex min-h-5 w-full touch-none select-none items-stretch justify-center rounded transition sm:min-h-6 ${e?"bg-primary/20":`bg-[var(--surface-2)] ${t==="group"?"group-hover:bg-[var(--surface-elevated)]":t==="self"?"hover:bg-[var(--surface-elevated)]":""}`}`}function _e(e,t="group"){return`my-1 w-0.5 rounded-full transition sm:w-1 ${e?"bg-primary":`bg-[var(--border-strong)] ${t==="group"?"group-hover:bg-[var(--muted-foreground)]":t==="self"?"hover:bg-[var(--muted-foreground)]":""}`}`}function Ie(e){return e instanceof HTMLElement&&!!e.closest('a, button, input, textarea, select, label, [contenteditable="true"]')}function at(e,t,r){const s=e instanceof HTMLElement?e.closest("[data-md-ref-start]"):null,o=Number(s?.dataset.mdRefStart),n=Number(s?.dataset.mdRefEnd??s?.dataset.mdRefStart);return Number.isFinite(o)&&o>0&&Number.isFinite(n)&&n>0?{start:Math.min(o,n),end:Math.max(o,n)}:{start:t,end:r}}const Yt=1,Xe=8;function on(e,t=Xe){return Math.min(t,Math.max(Yt,e))}function Gt({resetKey:e,maxScale:t=Xe,onZoomChange:r,onDoubleTap:s,children:o}){const n=h.useRef(null),[c,d]=h.useState({scale:1,x:0,y:0}),[l,f]=h.useState(!1),m=h.useRef(null),a=h.useRef(new Set),b=h.useRef(!1),y=h.useRef(null),L=h.useRef(0),S=h.useRef(c);S.current=c,h.useEffect(()=>{d({scale:1,x:0,y:0})},[e]);const _=h.useCallback((x,N,I)=>{const p=n.current;if(!p)return{x:N,y:I};const g=p.firstElementChild instanceof HTMLElement?p.firstElementChild:null,k=g?.clientWidth||p.clientWidth,j=g?.clientHeight||p.clientHeight,R=Math.max(0,(k*x-p.clientWidth)/2),D=Math.max(0,(j*x-p.clientHeight)/2);return{x:Math.min(R,Math.max(-R,N)),y:Math.min(D,Math.max(-D,I))}},[]),M=h.useCallback((x,N,I)=>{d(p=>{const g=on(x,t),k=n.current;if(!k||g===1)return{scale:g,x:0,y:0};const j=k.getBoundingClientRect(),R=(N??j.left+j.width/2)-j.left-j.width/2,D=(I??j.top+j.height/2)-j.top-j.height/2,$=g/p.scale,T=R-(R-p.x)*$,z=D-(D-p.y)*$;return{scale:g,..._(g,T,z)}})},[_,t]),w=h.useCallback((x,N)=>{f(!0),S.current.scale>1?d({scale:1,x:0,y:0}):M(2.5,x,N),window.setTimeout(()=>f(!1),220)},[M]);h.useEffect(()=>{const x=n.current;if(!x)return;const N=g=>{if(g.pointerType==="mouse"&&g.button!==0)return;const k=a.current.size===0;if(a.current.add(g.pointerId),k){const j=Date.now(),R=y.current;if(R&&j-R.time<350&&Math.hypot(g.clientX-R.x,g.clientY-R.y)<24){y.current=null,L.current=j,s?.(),w(g.clientX,g.clientY);return}}if(a.current.size>1){b.current=!0,m.current=null;return}if(!(S.current.scale<=1)){g.preventDefault(),m.current={pointerId:g.pointerId,startX:g.clientX,startY:g.clientY,originX:S.current.x,originY:S.current.y,moved:!1};try{x.setPointerCapture?.(g.pointerId)}catch{}f(!1)}},I=g=>{const k=m.current;if(!k||k.pointerId!==g.pointerId)return;const j=g.clientX-k.startX,R=g.clientY-k.startY;if(!k.moved){if(Math.hypot(j,R)<6)return;k.moved=!0}g.stopPropagation(),g.preventDefault(),d(D=>({...D,..._(D.scale,k.originX+j,k.originY+R)}))},p=g=>{const k=m.current,j=k?.pointerId===g.pointerId&&k.moved;if(k?.pointerId===g.pointerId){k.moved&&g.stopPropagation(),m.current=null;try{x.releasePointerCapture?.(g.pointerId)}catch{}}a.current.delete(g.pointerId)&&a.current.size===0&&(!b.current&&!j&&(y.current={time:Date.now(),x:g.clientX,y:g.clientY}),b.current=!1)};return x.addEventListener("pointerdown",N,{capture:!0,passive:!1}),window.addEventListener("pointermove",I,{capture:!0,passive:!1}),window.addEventListener("pointerup",p,{capture:!0}),window.addEventListener("pointercancel",p,{capture:!0}),()=>{x.removeEventListener("pointerdown",N,{capture:!0}),window.removeEventListener("pointermove",I,{capture:!0}),window.removeEventListener("pointerup",p,{capture:!0}),window.removeEventListener("pointercancel",p,{capture:!0})}},[_,s,w]),ut({onPinch:({offset:[x],origin:[N,I]})=>{f(!1),M(x,N,I)},onWheel:({event:x,delta:[N,I],ctrlKey:p})=>{if(p){x.preventDefault(),x.stopPropagation(),f(!1),M(S.current.scale*(1-I*.01),x.clientX,x.clientY);return}S.current.scale<=1||(x.preventDefault(),x.stopPropagation(),f(!1),d(g=>({...g,..._(g.scale,g.x-N,g.y-I)})))}},{target:n,eventOptions:{passive:!1},pinch:{scaleBounds:{min:Yt,max:t},from:()=>[S.current.scale,0],rubberband:!0}});const v=c.scale>1;return h.useEffect(()=>{r?.(v)},[r,v]),i.jsx("div",{ref:n,"data-sidebar-gesture-ignore":v?"":void 0,className:"flex h-full w-full touch-none select-none items-center justify-center overflow-hidden","data-image-zoom-viewport":!0,style:{cursor:v?"grab":"zoom-in"},onDoubleClick:x=>{x.stopPropagation(),!(Date.now()-L.current<500)&&(s?.(),w(x.clientX,x.clientY))},children:o({scale:c.scale,zoomed:v,animateTransform:l,transformStyle:{transform:`translate3d(${c.x}px, ${c.y}px, 0) scale(${c.scale})`,transformOrigin:"center center",transition:l?"transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none",willChange:"transform"},vectorTransformStyle:{transform:`translate3d(${c.x}px, ${c.y}px, 0)`,transformOrigin:"center center",transition:l?"transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none"}})})}function Vt({src:e,alt:t,vector:r,onLoad:s,onError:o,onZoomChange:n,onDoubleTap:c}){const d=pe(e,o),[l,f]=h.useState(null),m=r??ie(e);return h.useEffect(()=>{f(null)},[e]),i.jsx(Gt,{resetKey:e,maxScale:Math.max(Xe,l?.originalScale??1),onZoomChange:n,onDoubleTap:c,children:({vectorTransformStyle:a,scale:b,animateTransform:y})=>i.jsx("div",{"data-image-zoom-surface":!0,"data-vector-zoom-surface":m?"":void 0,className:"relative shrink-0 touch-none select-none",style:l?{...a,width:l.width,height:l.height}:{width:"100%",height:"100%"},children:i.jsx("img",{src:d,alt:t,draggable:!1,className:"touch-none select-none rounded border border-border/15 bg-surface object-contain shadow-sm",style:{position:"absolute",left:"50%",top:"50%",width:l?l.width*b:void 0,height:l?l.height*b:void 0,maxWidth:l?"none":"100%",maxHeight:l?"none":"100%",transform:"translate(-50%, -50%)",transition:y?"width 0.22s cubic-bezier(0.2, 0.8, 0.2, 1), height 0.22s cubic-bezier(0.2, 0.8, 0.2, 1)":"none"},onLoad:L=>{const S=L.currentTarget,_=S.closest("[data-image-zoom-viewport]");if(_&&S.naturalWidth>0&&S.naturalHeight>0){const M=Math.max(1,_.clientWidth-2),w=Math.max(1,_.clientHeight-2),v=Math.min(M/S.naturalWidth,w/S.naturalHeight),x=m?v:Math.min(v,1);f({width:S.naturalWidth*x,height:S.naturalHeight*x,originalScale:1/x})}s(L)},onError:o})})})}function ln({svg:e,title:t,scale:r,vectorTransformStyle:s}){const o=h.useRef(null);return h.useLayoutEffect(()=>{const n=o.current,c=n?.querySelector("svg");if(!n||!c)return;const d=()=>{const m=c.getAttribute("viewBox")?.trim().split(/[\s,]+/).map(Number)??[];let a=m[2],b=m[3];if((!Number.isFinite(a)||!Number.isFinite(b)||a<=0||b<=0)&&(a=Number(c.getAttribute("width")),b=Number(c.getAttribute("height"))),!Number.isFinite(a)||!Number.isFinite(b)||a<=0||b<=0)return;const y=Math.max(1,n.clientWidth-24),L=Math.max(1,n.clientHeight-24),S=Math.min(y/a,L/b,1);c.style.width=`${Math.max(1,Math.floor(a*S*r))}px`,c.style.height=`${Math.max(1,Math.floor(b*S*r))}px`,c.style.maxWidth="none",c.style.maxHeight="none",c.style.transform=String(s.transform??""),c.style.transformOrigin="center center",c.style.transition=String(s.transition??"none")};d();const l=typeof ResizeObserver>"u"?null:new ResizeObserver(d);return l?.observe(n),()=>l?.disconnect()},[r,e,s]),i.jsx("div",{ref:o,role:"img","aria-label":t,className:"flex h-full w-full touch-none select-none items-center justify-center overflow-hidden rounded border border-border/15 bg-white p-3 text-slate-900 shadow-sm [&_svg]:block",dangerouslySetInnerHTML:{__html:e}})}function cn({svg:e,title:t,onZoomChange:r,onDoubleTap:s}){return i.jsx(Gt,{resetKey:e,onZoomChange:r,onDoubleTap:s,children:({vectorTransformStyle:o,scale:n})=>i.jsx(ln,{svg:e,title:t,scale:n,vectorTransformStyle:o})})}function Zt(e,t={}){if(typeof window>"u")return;const r=JSON.stringify({level:e==="still_active"?"warn":"info",message:`FILE_PREVIEW_LOADING ${e}`,data:{ts:Date.now(),...t}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:r,keepalive:!0}).catch(()=>{})}const gn=Object.freeze(Object.defineProperty({__proto__:null,FILE_PREVIEW_HORIZONTAL_SCROLL_CLASS:We,MarkdownImageLightbox:Kt,MarkdownPreview:an,ZoomableImage:Vt,__testParseMarkdownListBlock:Yr,buildMarkdownPreviewBlocks:nn,buildMarkdownPreviewRenderResult:Ue,computeMarkdownImageDisplayBox:Et,getMarkdownHeadingOutline:Xt,getMarkdownHeadingPathAtLine:Ut,isSvgImageSrc:ie,logFilePreviewLoadingEvent:Zt,resolveMarkdownLocalLinkTarget:ye,shouldCloseMarkdownImageLightboxDrag:Bt},Symbol.toStringTag,{value:"Module"}));export{We as F,Kt as M,Vt as Z,Yr as _,an as a,gn as b,nn as c,Ue as d,Et as e,Ut as f,Xt as g,ie as h,_r as i,Zt as j,Er as l,ye as r,Bt as s,pe as u};
|
|
Binary file
|
|
Binary file
|