termdock 1.4.355 → 1.4.357
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/README.md +22 -4
- package/dist/client/assets/AndroidMirrorView-BGagwKtL.js +3 -0
- package/dist/client/assets/AndroidMirrorView-BGagwKtL.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-BGagwKtL.js.gz +0 -0
- package/dist/client/assets/App-DpMhxwYW.js +178 -0
- package/dist/client/assets/App-DpMhxwYW.js.br +0 -0
- package/dist/client/assets/App-DpMhxwYW.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js +9 -0
- package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-Bd_l74EC.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-mAiaX5i8.js → ChangeWalkthroughPanel-6DN-2BdR.js} +2 -2
- package/dist/client/assets/ChangeWalkthroughPanel-6DN-2BdR.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-6DN-2BdR.js.gz +0 -0
- package/dist/client/assets/{ChatRichContent-D2NtgMuL.js → ChatRichContent-DjwpmW7d.js} +55 -55
- package/dist/client/assets/ChatRichContent-DjwpmW7d.js.br +0 -0
- package/dist/client/assets/ChatRichContent-DjwpmW7d.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js +1 -0
- package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-DPTJ9pCt.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-Cbu1Bjl0.js +1 -0
- package/dist/client/assets/ComputerControlView-CwB-wQqB.js +6 -0
- package/dist/client/assets/ComputerControlView-CwB-wQqB.js.br +0 -0
- package/dist/client/assets/ComputerControlView-CwB-wQqB.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-CbEuQA68.js → DagPlayground-DMn9Gyrw.js} +1 -1
- package/dist/client/assets/DagPlayground-DMn9Gyrw.js.br +0 -0
- package/dist/client/assets/DagPlayground-DMn9Gyrw.js.gz +0 -0
- package/dist/client/assets/{DiffLab-PysBkJrJ.js → DiffLab-YBWlCU2T.js} +1 -1
- package/dist/client/assets/DiffLab-YBWlCU2T.js.br +0 -0
- package/dist/client/assets/DiffLab-YBWlCU2T.js.gz +0 -0
- package/dist/client/assets/DiffReview-YOPDWqhv.js +1 -0
- package/dist/client/assets/DiffReview-YOPDWqhv.js.br +0 -0
- package/dist/client/assets/DiffReview-YOPDWqhv.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-D6PxvtBY.js → DiffReviewLab-SYomq14c.js} +1 -1
- package/dist/client/assets/DiffReviewLab-SYomq14c.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-SYomq14c.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-Bp-BLT2f.js → DiffViewer-mh9cBl5v.js} +1 -1
- package/dist/client/assets/DiffViewer-mh9cBl5v.js.br +0 -0
- package/dist/client/assets/DiffViewer-mh9cBl5v.js.gz +0 -0
- package/dist/client/assets/{GitLoadingSkeleton-Fa4AXG-N.js → GitLoadingSkeleton-DKRTc5sz.js} +1 -1
- package/dist/client/assets/GitLoadingSkeleton-DKRTc5sz.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-DKRTc5sz.js.gz +0 -0
- package/dist/client/assets/Markdown-C8OP1j-g.js +23 -0
- package/dist/client/assets/Markdown-C8OP1j-g.js.br +0 -0
- package/dist/client/assets/Markdown-C8OP1j-g.js.gz +0 -0
- package/dist/client/assets/Markdown-DKQhs57e.css +1 -0
- package/dist/client/assets/Markdown-DKQhs57e.css.br +0 -0
- package/dist/client/assets/Markdown-DKQhs57e.css.gz +0 -0
- package/dist/client/assets/{ModelPreview-Cl0X7I-U.js → ModelPreview-CsZry3Wd.js} +3 -3
- package/dist/client/assets/ModelPreview-CsZry3Wd.js.br +0 -0
- package/dist/client/assets/ModelPreview-CsZry3Wd.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js +1 -0
- package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-CoRGi97z.js.gz +0 -0
- package/dist/client/assets/RightSidebar-DNY2kC6B.js +1662 -0
- package/dist/client/assets/RightSidebar-DNY2kC6B.js.br +0 -0
- package/dist/client/assets/RightSidebar-DNY2kC6B.js.gz +0 -0
- package/dist/client/assets/SessionChatView-DXNpYUrk.js +13 -0
- package/dist/client/assets/SessionChatView-DXNpYUrk.js.br +0 -0
- package/dist/client/assets/SessionChatView-DXNpYUrk.js.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js +2 -0
- package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-B_379HBJ.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-DfwGOAHB.js +1 -0
- package/dist/client/assets/TodoWorkspace-DfwGOAHB.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-DfwGOAHB.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-BajyXVpH.js → abnfDiagram-VCTEODGH-C9M0gnl-.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-C9M0gnl-.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-C9M0gnl-.js.gz +0 -0
- package/dist/client/assets/app-CovJYQoW.js +37 -0
- package/dist/client/assets/app-CovJYQoW.js.br +0 -0
- package/dist/client/assets/app-CovJYQoW.js.gz +0 -0
- package/dist/client/assets/{arc-CbhM5I2d.js → arc-q4wfkQcT.js} +1 -1
- package/dist/client/assets/arc-q4wfkQcT.js.br +0 -0
- package/dist/client/assets/arc-q4wfkQcT.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-CDKLcS6D.js → architectureDiagram-5GKGNRK7-CCuna3ab.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CCuna3ab.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CCuna3ab.js.gz +0 -0
- package/dist/client/assets/{arrow-down-Dp27yS0N.js → arrow-down-WyzmLXwQ.js} +1 -1
- package/dist/client/assets/{blockDiagram-I7D4REHJ-CXiIO6_W.js → blockDiagram-I7D4REHJ-BXK68Qyt.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-BXK68Qyt.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-BXK68Qyt.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-uZ-i2eKH.js → c4Diagram-7LVT6UL2-BqwmmVmS.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-uZ-i2eKH.js.br → c4Diagram-7LVT6UL2-BqwmmVmS.js.br} +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BqwmmVmS.js.gz +0 -0
- package/dist/client/assets/channel-Dd6WQGB7.js +1 -0
- package/dist/client/assets/{chevron-left-D8ntyw2S.js → chevron-left-CxeWIsDK.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-DVe3dVJR.js → chunk-2Q5K7J3B-esKGR38U.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-BDBNKGuU.js → chunk-5VM5RSS4-B3InxqDA.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-BP7hTwtm.js → chunk-F27PBJKO-CjUVyF-E.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-CjUVyF-E.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-CjUVyF-E.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-LIGuOtnb.js → chunk-IMKFNOWR-BR8mmBs7.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-BR8mmBs7.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-BR8mmBs7.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-C1_iFEvk.js → chunk-JWPE2WC7-CplXNOA7.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-CYZsO-QL.js → chunk-POPQ4Y6H-D0JWCGnb.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-FnWYLNCS.js → chunk-SVP7TREG-BdJtJSmy.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-BdJtJSmy.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BdJtJSmy.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-dcOCcmQq.js → chunk-TICWLB2K-CoevFj8I.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-CoevFj8I.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-CoevFj8I.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-B2H2Yt9G.js → chunk-XXDRQBXY-D7qYRhMH.js} +1 -1
- package/dist/client/assets/{circle-Pldg1yI9.js → circle-xgKDXpwG.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-BdIUq_D7.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BdIUq_D7.js +1 -0
- package/dist/client/assets/{clipboard-tTkMEO1S.js → clipboard-DeK6pJD3.js} +1 -1
- package/dist/client/assets/clipboardText-BWOwer6N.js +1 -0
- package/dist/client/assets/clipboardText-BWOwer6N.js.br +0 -0
- package/dist/client/assets/clipboardText-BWOwer6N.js.gz +0 -0
- package/dist/client/assets/clipboardText-vX90C7eX.css +1 -0
- package/dist/client/assets/clipboardText-vX90C7eX.css.br +0 -0
- package/dist/client/assets/clipboardText-vX90C7eX.css.gz +0 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-Bz38mqD8.js → cose-bilkent-JH36ORCC-CvnsiaWP.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-CvnsiaWP.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-CvnsiaWP.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-CZAa1A6y.js → cynefin-OW5HDTMX-BSGz8Olu.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-BSGz8Olu.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-BSGz8Olu.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-BaQnW4VG.js → cynefinDiagram-5FMLGOSQ-DYYT0AHs.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DYYT0AHs.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-DYYT0AHs.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-BdnT61bc.js → dagre-GXQ25YYZ-BM883MN7.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-BM883MN7.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BM883MN7.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-BWiF8QNc.js → diagram-S7CK7UJ4-CYnxXy7R.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-CYnxXy7R.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CYnxXy7R.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-DLURjCFp.js → diagram-UQ7AKVKN-UOIBVxRf.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-UOIBVxRf.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-UOIBVxRf.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-DYIcLklz.js → diagram-VSXAHHWV-CqTJzfmm.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-CqTJzfmm.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CqTJzfmm.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-C9vqviXX.js → diagram-VX7I27RA-T9Y88CFB.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-T9Y88CFB.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-T9Y88CFB.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-BJuQxTkw.js → diagram-Z3DM3KII-kIQDy7E0.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-kIQDy7E0.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-kIQDy7E0.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-BcbISm-z.js → ebnfDiagram-PWID7BFC-z_VqR_JE.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-z_VqR_JE.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-z_VqR_JE.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-fhNpRzUG.js → erDiagram-RLTQ6QDP-0q52Z-pm.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-0q52Z-pm.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-0q52Z-pm.js.gz +0 -0
- package/dist/client/assets/{external-link-DE8Gj-da.js → external-link-CsydVmO1.js} +1 -1
- package/dist/client/assets/{flowDiagram-HODETNUW-CVDJ_1Zu.js → flowDiagram-HODETNUW-BrGqcUWn.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-BrGqcUWn.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BrGqcUWn.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-Dzn-mrfe.js → ganttDiagram-EL5Y4UJY-CHAN6vQv.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CHAN6vQv.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CHAN6vQv.js.gz +0 -0
- package/dist/client/assets/{git-compare-Ct2eJNs4.js → git-compare-BmKAtQTt.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js → gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-C0ZV4FeB.js.gz +0 -0
- package/dist/client/assets/index-DEAMSl55.css +1 -0
- package/dist/client/assets/index-DEAMSl55.css.br +0 -0
- package/dist/client/assets/index-DEAMSl55.css.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-npBmeTt7.js → infoDiagram-27XIBGKW-CrLj9y1o.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-CCn5Ha25.js → ishikawaDiagram-5VMMS53U-BxGvUfLX.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-BxGvUfLX.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-BxGvUfLX.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-CPl5oPfe.js → journeyDiagram-3NMN7TZE-rW9xlQ8G.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-rW9xlQ8G.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-rW9xlQ8G.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-Dmia2kLZ.js → kanban-definition-UXKFOSKX-CFI5iv9R.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-CFI5iv9R.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-CFI5iv9R.js.gz +0 -0
- package/dist/client/assets/{layout-B2Kz5M73.js → layout-Ct_an5XT.js} +1 -1
- package/dist/client/assets/layout-Ct_an5XT.js.br +0 -0
- package/dist/client/assets/layout-Ct_an5XT.js.gz +0 -0
- package/dist/client/assets/{linear-D2CT7wE3.js → linear-DpEFOA9l.js} +1 -1
- package/dist/client/assets/linear-DpEFOA9l.js.br +0 -0
- package/dist/client/assets/linear-DpEFOA9l.js.gz +0 -0
- package/dist/client/assets/{link-x33s12VI.js → link-34ChBc4F.js} +3 -3
- package/dist/client/assets/link-34ChBc4F.js.br +0 -0
- package/dist/client/assets/link-34ChBc4F.js.gz +0 -0
- package/dist/client/assets/{list-tree-XBmm9il2.js → list-tree-48dzbuUh.js} +1 -1
- package/dist/client/assets/{maximize-2-t-zzENew.js → maximize-2-CbvSsu7O.js} +1 -1
- package/dist/client/assets/{mermaid.core-G9XIcppl.js → mermaid.core-DnVKnMmy.js} +5 -5
- package/dist/client/assets/mermaid.core-DnVKnMmy.js.br +0 -0
- package/dist/client/assets/mermaid.core-DnVKnMmy.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-D2OX9OkO.js → mindmap-definition-YA3MSWOX-C6shupTY.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-C6shupTY.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-C6shupTY.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-DkTynZfV.js → passwordBootstrap-Doe50DSa.js} +1 -1
- package/dist/client/assets/passwordBootstrap-Doe50DSa.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-Doe50DSa.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-qNjd6dbd.js → pegDiagram-XKGWAZYB-CDcnrvKX.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-CDcnrvKX.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-CDcnrvKX.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-DcCmKDFh.js → pieDiagram-E7YTZNPT-CrGc03Tg.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-CrGc03Tg.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CrGc03Tg.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-BpDzkl9h.js → quadrantDiagram-AXDQQJYC-3-aldwKj.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-3-aldwKj.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-3-aldwKj.js.gz +0 -0
- package/dist/client/assets/{quote-DeByS04O.js → quote-B5GeKEq1.js} +1 -1
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-DkwV8w7x.js → railroadDiagram-O6MQD6OU-51uKwR2_.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-51uKwR2_.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-51uKwR2_.js.gz +0 -0
- package/dist/client/assets/rdpSession-ocpkj4XY.js +1 -0
- package/dist/client/assets/rdpSession-ocpkj4XY.js.br +0 -0
- package/dist/client/assets/rdpSession-ocpkj4XY.js.gz +0 -0
- package/dist/client/assets/referenceSelection-fvfRDbgp.js +4 -0
- package/dist/client/assets/referenceSelection-fvfRDbgp.js.br +0 -0
- package/dist/client/assets/referenceSelection-fvfRDbgp.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-BRwt5MXl.js → requirementDiagram-BXWQKSXE-CY6kp0_Y.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CY6kp0_Y.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CY6kp0_Y.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-DZ8y_gv3.js → sankeyDiagram-P5KCCOFB-BsA0NkHG.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BsA0NkHG.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BsA0NkHG.js.gz +0 -0
- package/dist/client/assets/{search-CDJ4fv-q.js → search-CbpNLSpd.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js → sequenceDiagram-WJ2MYXX4-BDzn7N2D.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BDzn7N2D.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BDzn7N2D.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-Dt9ZzegQ.js → sizeCapture-INFHLROL-gxtam7nc.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-gxtam7nc.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-gxtam7nc.js.gz +0 -0
- package/dist/client/assets/{stateDiagram-D77RDMKH-DgeQtV3s.js → stateDiagram-D77RDMKH-C4XjYLZR.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-C4XjYLZR.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-C4XjYLZR.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-BfHWFf-I.js +1 -0
- package/dist/client/assets/{sun-CvzpsfHU.js → sun-CMXn_ntS.js} +1 -1
- package/dist/client/assets/{swimlanes-42K2YHIH-DHB6MQ8v.js → swimlanes-42K2YHIH--a1wkQO8.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH--a1wkQO8.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH--a1wkQO8.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DsiDF1XD.js +8 -0
- package/dist/client/assets/swiper-CTPycjLq.js +1 -0
- package/dist/client/assets/swiper-CTPycjLq.js.br +0 -0
- package/dist/client/assets/swiper-CTPycjLq.js.gz +0 -0
- package/dist/client/assets/{terminal-Dea8wJF3.js → terminal-DaiFCKy_.js} +7 -7
- package/dist/client/assets/terminal-DaiFCKy_.js.br +0 -0
- package/dist/client/assets/terminal-DaiFCKy_.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-EqVVyv-E.js → timeline-definition-24CTP7MA-DFmXXUuU.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-DFmXXUuU.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-DFmXXUuU.js.gz +0 -0
- package/dist/client/assets/triangle-alert-DgGU_xB4.js +1 -0
- package/dist/client/assets/{unplug-BNUx6Lmk.js → unplug-CnZtWzVW.js} +1 -1
- package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js +1 -0
- package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js.br +0 -0
- package/dist/client/assets/use-gesture-react.esm-DHU0wi7Q.js.gz +0 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-BBE17-sL.js → vennDiagram-4TSXK5OY-DgR4zroQ.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-DgR4zroQ.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DgR4zroQ.js.gz +0 -0
- package/dist/client/assets/{videoCompression-B09OiyP5.js → videoCompression-CcffRZdP.js} +1 -1
- package/dist/client/assets/videoCompression-CcffRZdP.js.br +0 -0
- package/dist/client/assets/videoCompression-CcffRZdP.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-B4gZGXiA.js → wardleyDiagram-VM6X3IG4-CY4SVUkf.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CY4SVUkf.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CY4SVUkf.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-BDO5xF5D.js → xychartDiagram-S5SC5T6Z-PblQhR-b.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-PblQhR-b.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-PblQhR-b.js.gz +0 -0
- package/dist/client/index.html +3 -3
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw-encrypted-background.js +1 -1
- package/dist/client/sw-encrypted-background.js.br +0 -0
- package/dist/client/sw-encrypted-background.js.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/chatUIPrompt.js +1 -0
- package/dist/server/agent/collaborationPeerTransport.js +14 -69
- package/dist/server/agent/collaborationStore.js +5 -0
- package/dist/server/agent/installers.js +89 -33
- package/dist/server/agent/integrationServer.js +31 -2
- package/dist/server/agent/pluginPackages.js +51 -22
- package/dist/server/agent/sessionChatRoutes.js +45 -7
- package/dist/server/agentHook.js +56 -12
- package/dist/server/android/adb.js +24 -31
- package/dist/server/cli.js +52 -110
- package/dist/server/entry.js +17 -23
- package/dist/server/federation/cli.js +13 -47
- package/dist/server/federation/connectionErrors.js +37 -0
- package/dist/server/federation/connectionModel.js +83 -0
- package/dist/server/federation/desktopTargets.js +35 -13
- package/dist/server/federation/directRoutes.js +28 -36
- package/dist/server/federation/directTargetRegistry.js +106 -0
- package/dist/server/federation/httpUploadLimit.js +8 -0
- package/dist/server/federation/invitations.js +5 -1
- package/dist/server/federation/relay.js +13 -6
- package/dist/server/federation/relayTransport.js +147 -0
- package/dist/server/federation/routeAccess.js +5 -3
- package/dist/server/federation/routeInvitations.js +5 -1
- package/dist/server/federation/runtime.js +4 -2
- package/dist/server/federation/selfRelay.js +10 -59
- package/dist/server/federation/serviceTransport.js +123 -0
- package/dist/server/federation/streamLimits.js +3 -0
- package/dist/server/federation/trustedCa.js +61 -0
- package/dist/server/routes/android.js +5 -7
- package/dist/server/routes/terminal.js +149 -111
- package/dist/server/shared/androidDevices.js +64 -0
- package/dist/server/shared/programStatus.js +174 -0
- package/dist/server/shared/shareResources.js +3 -2
- package/dist/server/todos/routes.js +36 -0
- package/dist/server/todos/store.js +31 -1
- package/dist/server/utils/bootCheck.js +41 -271
- package/dist/server/utils/localHttpsSetup.js +257 -0
- package/dist/server/utils/oscBuffer.js +9 -0
- package/dist/server/utils/sessionDisplayName.js +11 -9
- package/dist/server/utils/settings.js +6 -3
- package/dist/server/utils/tmuxDisplayGeometry.js +54 -0
- package/dist/server/utils/tmuxObserverSize.js +26 -0
- package/docs/integrations.md +2 -1
- package/package.json +5 -1
- package/runtime-manifest.json +3 -3
- package/scripts/ensure-node-pty.cjs +22 -7
- package/scripts/install-utils.cjs +81 -0
- package/scripts/postinstall.mjs +24 -110
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js +0 -3
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.gz +0 -0
- package/dist/client/assets/App-BGECv_n_.js +0 -178
- package/dist/client/assets/App-BGECv_n_.js.br +0 -0
- package/dist/client/assets/App-BGECv_n_.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-CYdolNzT.js +0 -9
- package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.gz +0 -0
- package/dist/client/assets/ChatRichContent-D2NtgMuL.js.br +0 -0
- package/dist/client/assets/ChatRichContent-D2NtgMuL.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js +0 -1
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-FcrGGSr_.js +0 -2
- package/dist/client/assets/ComputerControlView-DU9krDsg.js +0 -6
- package/dist/client/assets/ComputerControlView-DU9krDsg.js.br +0 -0
- package/dist/client/assets/ComputerControlView-DU9krDsg.js.gz +0 -0
- package/dist/client/assets/DagPlayground-CbEuQA68.js.br +0 -0
- package/dist/client/assets/DagPlayground-CbEuQA68.js.gz +0 -0
- package/dist/client/assets/DiffLab-PysBkJrJ.js.br +0 -0
- package/dist/client/assets/DiffLab-PysBkJrJ.js.gz +0 -0
- package/dist/client/assets/DiffReview-Ce3wKMBk.js +0 -1
- package/dist/client/assets/DiffReview-Ce3wKMBk.js.br +0 -0
- package/dist/client/assets/DiffReview-Ce3wKMBk.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.gz +0 -0
- package/dist/client/assets/DiffViewer-Bp-BLT2f.js.br +0 -0
- package/dist/client/assets/DiffViewer-Bp-BLT2f.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.gz +0 -0
- package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js +0 -19
- package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.br +0 -0
- package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.gz +0 -0
- package/dist/client/assets/ModelPreview-Cl0X7I-U.js.br +0 -0
- package/dist/client/assets/ModelPreview-Cl0X7I-U.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js +0 -1
- package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.gz +0 -0
- package/dist/client/assets/RightSidebar-CwXIBpEw.js +0 -1662
- package/dist/client/assets/RightSidebar-CwXIBpEw.js.br +0 -0
- package/dist/client/assets/RightSidebar-CwXIBpEw.js.gz +0 -0
- package/dist/client/assets/SessionChatView-D3sLcYAc.js +0 -13
- package/dist/client/assets/SessionChatView-D3sLcYAc.js.br +0 -0
- package/dist/client/assets/SessionChatView-D3sLcYAc.js.gz +0 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css +0 -1
- 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-BObKJeA9.js +0 -2
- package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js +0 -1
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.gz +0 -0
- package/dist/client/assets/app-C3WX_u_Z.js +0 -37
- package/dist/client/assets/app-C3WX_u_Z.js.br +0 -0
- package/dist/client/assets/app-C3WX_u_Z.js.gz +0 -0
- package/dist/client/assets/arc-CbhM5I2d.js.br +0 -0
- package/dist/client/assets/arc-CbhM5I2d.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.gz +0 -0
- package/dist/client/assets/arrow-up-BEUQcf-s.js +0 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-uZ-i2eKH.js.gz +0 -0
- package/dist/client/assets/channel-Dg7JKsqi.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-D6QBd_IP.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-D6QBd_IP.js +0 -1
- package/dist/client/assets/clipboardText-BapOM7QN.js +0 -1
- package/dist/client/assets/clipboardText-BapOM7QN.js.br +0 -0
- package/dist/client/assets/clipboardText-BapOM7QN.js.gz +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.gz +0 -0
- package/dist/client/assets/index-DOq3vkFG.css +0 -1
- package/dist/client/assets/index-DOq3vkFG.css.br +0 -0
- package/dist/client/assets/index-DOq3vkFG.css.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.gz +0 -0
- package/dist/client/assets/layout-B2Kz5M73.js.br +0 -0
- package/dist/client/assets/layout-B2Kz5M73.js.gz +0 -0
- package/dist/client/assets/linear-D2CT7wE3.js.br +0 -0
- package/dist/client/assets/linear-D2CT7wE3.js.gz +0 -0
- package/dist/client/assets/link-x33s12VI.js.br +0 -0
- package/dist/client/assets/link-x33s12VI.js.gz +0 -0
- package/dist/client/assets/loader-circle-D_nJKmMD.js +0 -1
- package/dist/client/assets/mermaid.core-G9XIcppl.js.br +0 -0
- package/dist/client/assets/mermaid.core-G9XIcppl.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-DkTynZfV.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-DkTynZfV.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.gz +0 -0
- package/dist/client/assets/rdpSession-D5NrFTav.js +0 -1
- package/dist/client/assets/rdpSession-D5NrFTav.js.br +0 -0
- package/dist/client/assets/rdpSession-D5NrFTav.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-BRwt5MXl.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-BRwt5MXl.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.gz +0 -0
- package/dist/client/assets/settings-2-DtFz7lgk.js +0 -1
- package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CKS6y2rR.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-DHB6MQ8v.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-DHB6MQ8v.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DvUzDKPI.js +0 -8
- package/dist/client/assets/swiper-DJjq1TYT.js +0 -1
- 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-DF6Q5phI.js +0 -4
- package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.br +0 -0
- package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.gz +0 -0
- package/dist/client/assets/terminal-Dea8wJF3.js.br +0 -0
- package/dist/client/assets/terminal-Dea8wJF3.js.gz +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.gz +0 -0
- package/dist/client/assets/triangle-alert--5QOrsVl.js +0 -1
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js +0 -1
- 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/vennDiagram-4TSXK5OY-BBE17-sL.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-BBE17-sL.js.gz +0 -0
- package/dist/client/assets/videoCompression-B09OiyP5.js.br +0 -0
- package/dist/client/assets/videoCompression-B09OiyP5.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.gz +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/mermaid.core-DnVKnMmy.js","assets/app-CovJYQoW.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-DaiFCKy_.js","assets/index-DEAMSl55.css","assets/purify.es-4eNOHKSq.js","assets/katex-55ZPZeOF.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{dC as Ve,bb as tr,a9 as me,ez as J,ex as rr,cq as o,c as nr,d as sr,x as ar,n as or,a8 as ot,o as ir,bf as it,eK as lr,cl as lt,at as cr,cj as ct}from"./app-CovJYQoW.js";import{S as dr,a as ur,u as dt}from"./swiper-CTPycjLq.js";import{b as h,r as ut}from"./dnd-BCFAPC0L.js";import{a as ft}from"./use-gesture-react.esm-DHU0wi7Q.js";import{s as fr,l as hr,b as mr,h as Ze,r as pr}from"./referenceSelection-fvfRDbgp.js";import{L as gr}from"./list-tree-48dzbuUh.js";const br=100,xr=5e5,wr=1e4,qe=16384,kr=32,vr=1e5;class Q extends Error{constructor(t){super(`Markdown preview parsing stopped: ${t}`),this.reason=t,this.name="MarkdownParseError"}reason}class $r{startedAt=performance.now();operations=0;depth=0;check(){if(++this.operations>vr)throw new Q("complexity");if(performance.now()-this.startedAt>=br)throw new Q("timeout")}validateLines(t){if(t.length>wr)throw new Q("size");let r=0;for(const s of t)if(this.check(),r+=s.length+1,r>xr||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>=kr)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 yr(e,t,r){let s=t;for(;e[s]==="`";)s+=1;const i=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===i)return n}return null}function*Lr(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=yr(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 i=r.exec(e);t.check(),i?(yield{index:s,token:i[0]},s=r.lastIndex):s+=(e.codePointAt(s)??0)>65535?2:1}}async function jr(e,t){if(e.kind==="mermaid")return Ve(new Blob([e.svg],{type:"image/svg+xml"}),"mermaid.svg",t);const r=new URL(e.src,window.location.href);if(r.origin===window.location.origin&&r.pathname==="/api/terminal/fs/blob"){const c=r.searchParams.get("path");if(!c)throw new Error("Missing image path");return tr(c,t)}const s=t?await fetch(e.src,{signal:t}):await fetch(e.src);if(!s.ok)throw new Error(`HTTP ${s.status}`);const i=await s.blob(),n=decodeURIComponent(r.pathname.split("/").pop()||"")||`image.${{"image/svg+xml":"svg","image/jpeg":"jpg","image/webp":"webp","image/gif":"gif"}[i.type]||"png"}`;return Ve(i,n,t)}let ce=null,Je=!1;function Mr(){return ce||(ce=me(()=>import("./mermaid.core-DnVKnMmy.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 Sr(e){Je||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),Je=!0)}function ht(e){try{return new URL(e,location.href).pathname.startsWith("/api/")}catch{return!1}}const Nr=1500,et=256*1024*1024;async function Er(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")??"",i=r.body?.getReader();if(!i){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 i.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 i.cancel().catch(()=>{}),d}return URL.createObjectURL(new Blob(n,{type:s}))}function pe(e,t){const r=ht(e),[s,i]=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=()=>i(!!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(()=>{Er(e,m.signal).then(p=>{if(l){URL.revokeObjectURL(p);return}f=p,c(p)}).catch(()=>{l||m.signal.aborted||d.current?.()})},Nr);return()=>{l=!0,window.clearTimeout(a),m.abort(),f&&URL.revokeObjectURL(f)}},[r,s,e]),!r||s?e:n}const mt="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]",pt=`${mt} border-b border-border/15 font-semibold last:border-r-0`,gt=`${mt} border-border/10 align-top text-muted-foreground last:border-r-0`,bt="termdock-file-preview-horizontal-scroll",xt=`${bt} 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 wt(e){const t=e.trim().replace(/\s+/g,"");return/^-{3,}$/.test(t)||/^\*{3,}$/.test(t)||/^_{3,}$/.test(t)}function Re(e){const t=e.trim();return/^#{1,6}\s+/.test(t)||wt(e)||/^>\s?/.test(t)||/^(```|~~~)/.test(t)||/^<video\b/i.test(t)||/^(?:[-+*]|\d+[.)])\s+/.test(t)}function kt(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const vt=h.createContext(null);function he(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function $t(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function yt(e){return e.replace(/\s+#+\s*$/,"").trim()}function Te(e,t){const s=$t(e).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",i=t.headingSlugCounts.get(s)??0;return t.headingSlugCounts.set(s,i+1),i===0?s:`${s}-${i}`}function tt(e){return $t(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 _r(e){const t=new Map;for(const r of e){const s=be(r);s&&t.set(s.id,s.definition)}return t}function Lt(e){return e.trim().toLowerCase()}function jt(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:Lt(t[1]),text:t[2]}:null}function Ir(e){const t=new Map;let r=null;for(const s of e){const i=jt(s);if(i){r=i.id,t.set(i.id,{id:i.id,text:i.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 Mt(e){const t=new Set;let r=!1;return e.forEach((s,i)=>{if(jt(s)){t.add(i),r=!0;return}if(r&&/^\s{4,}\S/.test(s)){t.add(i);return}s.trim()&&(r=!1)}),t}function Rr(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 i=e[r].trim();if(i.startsWith("<!--")){if(t[r]="",!i.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 St(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 We(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 i=s.indexOf("#"),n=i>=0?s.slice(0,i):s,c=i>=0?s.slice(i+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 p=m&&(l===m||l.startsWith(`${m}/`));a=te(m&&!p?`${m}/${l.slice(1)}`:l)}else{if(!t)return null;a=te(`${St(t)}/${l}`)}return m&&a!==m&&!a.startsWith(`${m}/`)?null:{path:a,fragment:f,directory:/\/$/.test(d)}}function Nt(e,t,r,s,i){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(`${St(t)}/${n}`)}return i(c)}function Et(e,t,r){return Nt(e,t,r,ct,s=>`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`)}function Oe(e,t,r){if(/^https?:\/\//i.test(e.trim()))return e.trim();const s=We(e,t,r);return!s||!lt(s.path)?null:cr(s.path)+(s.fragment?`#${s.fragment}`:"")}function _t(e){try{return lt(decodeURIComponent(new URL(e,"https://markdown.invalid/").pathname))}catch{return!1}}const Ce=128,Tr=360,Se=480;function Le(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function Cr(e,t,r,s,i=0){if(!t||!r)return null;let n,c;return i>0?(n=s>0?Math.min(i,s):i,c=r*n/t):Le(e)?(c=Math.min(Math.max(r,Ce),Tr),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 Ar(e){if(!e.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(e.slice(e.indexOf("?"))).get("path")}catch{return null}}function It(e){const t=Ar(e),r=lr(s=>t?(s.fileChangeVersions.get(t)??0)+s.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function Dr({src:e,alt:t,title:r,requestedWidthPx:s}){const i=Le(e),n=It(e),c=pe(n),d=h.useRef(null),[l,f]=h.useState(!1),[m,a]=h.useState(0),[p,y]=h.useState({status:"loading"}),[$,M]=h.useState(null);h.useLayoutEffect(()=>{const x=d.current;let w=x?.parentElement?.parentElement??x?.parentElement;for(;w;){const g=window.getComputedStyle(w).display;if(g!=="inline"&&g!=="contents")break;w=w.parentElement}if(!w)return;const S=w,L=()=>{const g=window.getComputedStyle(S),k=(parseFloat(g.paddingLeft)||0)+(parseFloat(g.paddingRight)||0);a(Math.max(0,S.clientWidth-k))};if(L(),typeof ResizeObserver>"u")return;const _=new ResizeObserver(L);return _.observe(S),()=>_.disconnect()},[]),h.useEffect(()=>{if(l)return;const x=d.current;if(!x||typeof IntersectionObserver>"u"){f(!0);return}const w=new IntersectionObserver(S=>{S.some(L=>L.isIntersecting)&&(f(!0),w.disconnect())},{rootMargin:"400px"});return w.observe(x),()=>w.disconnect()},[l]),h.useEffect(()=>{if(!l)return;const x=new AbortController;let w=null;y({status:"loading"});const S=window.setTimeout(()=>{x.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return it(n,{signal:x.signal}).then(async L=>{if(!L.ok)throw new Error(`HTTP ${L.status}`);const _=Number(L.headers.get("X-Image-Width"))||0,g=Number(L.headers.get("X-Image-Height"))||0;return{blob:await L.blob(),width:_,height:g}}).then(({blob:L,width:_,height:g})=>{x.signal.aborted||(w=URL.createObjectURL(L),_>0&&g>0&&M({width:_,height:g}),y({status:"ready",objectUrl:w}))}).catch(()=>{const L=x.signal.reason;x.signal.aborted&&!(L instanceof DOMException&&L.name==="TimeoutError")||y({status:"fallback"})}).finally(()=>{window.clearTimeout(S)}),()=>{window.clearTimeout(S),x.abort(),w&&URL.revokeObjectURL(w)}},[l,n]);const E=Cr(e,$?.width??0,$?.height??0,m,s??0),N=E??(s?{width:m>0?Math.min(s,m):s,height:Math.round(s*.75)}:{width:Ce*2,height:Ce});return o.jsx("div",{ref:d,className:"block max-w-full",style:E?{width:E.width,height:E.height}:void 0,children:p.status==="ready"?o.jsx("img",{src:p.objectUrl,alt:t,title:r,decoding:"async",className:`${i?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:E?{width:E.width,height:E.height}:void 0,onLoad:x=>{const w=x.currentTarget;w.naturalWidth>0&&w.naturalHeight>0&&($?.width!==w.naturalWidth||$?.height!==w.naturalHeight)&&M({width:w.naturalWidth,height:w.naturalHeight})}}):p.status==="fallback"?o.jsx("img",{src:c,alt:t,title:r,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:E?{width:E.width,height:E.height}:void 0,onLoad:x=>{const w=x.currentTarget;w.naturalWidth>0&&w.naturalHeight>0&&($?.width!==w.naturalWidth||$?.height!==w.naturalHeight)&&M({width:w.naturalWidth,height:w.naturalHeight})}}):o.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:N.width,height:N.height},children:o.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:t||"…"})})})}function re(e,t,r,s,i,n){if(!n?.fallbackText&&_t(r)){const f=Oe(r,i.markdownFilePath,i.rootPath);if(f)return o.jsx(He,{url:f,label:t,title:s,hasControls:!0},e)}const c=Et(r,i.markdownFilePath,i.rootPath);if(!c)return n?.fallbackText??``;const d=i.images.length;i.images.push({kind:"image",src:c,alt:t,title:s});const l=o.jsx(Dr,{src:c,alt:t,title:s,requestedWidthPx:n?.requestedWidthPx});return i.onImageOpen&&n?.interactive!==!1?o.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(),i.onImageOpen?.(d)},children:l},e):o.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 Rt="",Pr=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function Wr(e){return e.replace(Pr,(t,r)=>`${Rt}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function nt(e){return e.replace(new RegExp(`${Rt}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function Or(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 Ct(){return de||(de=me(()=>import("./purify.es-4eNOHKSq.js"),[]).then(e=>e.default??e).catch(e=>{throw de=null,e})),de}function At({html:e}){const{t}=J(),[r,s]=h.useState(null);return h.useEffect(()=>{let i=!1;return s(null),Ct().then(n=>{i||s(n.sanitize(e,Tt))}).catch(()=>{i||s("")}),()=>{i=!0}},[e]),r===null?o.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:t("rightSidebar.renderingHtml")}):r?o.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:r}}):null}function Hr({html:e}){const[t,r]=h.useState(null);return h.useEffect(()=>{let s=!1;return r(null),Ct().then(i=>{s||r(i.sanitize(e,Tt))}).catch(()=>{s||r("")}),()=>{s=!0}},[e]),t===null?null:t?o.jsx("span",{dangerouslySetInnerHTML:{__html:t}}):e}function Dt(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 zr(){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),[i,n]=h.useState(!1);if(h.useEffect(()=>{let d=!1;return s(null),n(!1),zr().then(l=>{d||s(l.renderToString(e,{displayMode:t,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{d||n(!0)}),()=>{d=!0}},[t,e]),i)return o.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 o.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 o.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 Br(e){const t=e.indexOf(">"),r=t<0?e:e.slice(0,t+1),s=xe(r),i=s.get("src")?.trim()??"",n=i?[i]: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 He({url:e,poster:t,fallbackText:r,widthPx:s,maxWidthPx:i,hasControls:n,label:c,title:d}){const{t:l}=J(),[f,m]=h.useState(!1),a=pe(e,()=>m(!0)),p=pe(t??"");return h.useEffect(()=>m(!1),[e]),!a&&!f?null:o.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:f?o.jsx("span",{className:"block px-3 py-2 text-xs text-muted-foreground",children:r?.trim()||l("rightSidebar.videoUnsupported")}):o.jsx("video",{className:"block max-w-full",src:a,poster:p||void 0,"aria-label":c,title:d,style:{width:s?`${s}px`:"100%",maxWidth:i?`${i}px`:void 0},controls:n,preload:"metadata",playsInline:!0,onError:()=>m(!0)})})}function Fr(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:p}=st(l);if(!f)return null;const y=Nt(f,r.markdownFilePath,r.rootPath,ct,x=>x);if(!y)return null;const $=d?We(d,r.markdownFilePath,r.rootPath):null,E=!!!($&&$.path===y)&&d?kt(d):null,N=re(t,m??"",f,a,r,{requestedWidthPx:p,interactive:E?!1:void 0});return E?o.jsx("a",{href:E,target:"_blank",rel:"noreferrer",children:N},t):N}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}=Br(e),p=c.map($=>Oe($,r.markdownFilePath,r.rootPath)).find(Boolean);if(!p)return null;const y=d?Et(d,r.markdownFilePath,r.rootPath):null;return o.jsx(He,{url:p,poster:y??void 0,fallbackText:l,widthPx:f,maxWidthPx:m,hasControls:a},t)}if(/^<br\s*\/?>$/i.test(e))return o.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)?o.jsx(Hr,{html:e},t):null;const i=s[1].toLowerCase(),n=H(s[2],`${t}-${i}`,!0,r);return i==="kbd"?o.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):i==="mark"?o.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:n},t):i==="sub"?o.jsx("sub",{children:n},t):o.jsx("sup",{children:n},t)}function H(e,t,r=!0,s){return s.budget.nested(()=>Ur(e,t,r,s))}function Ur(e,t,r=!0,s){s.budget.validateInline(e);const i=Wr(e),n=[];let c=0;for(const{index:d,token:l}of Lr(i,s.budget)){d>c&&n.push(nt(i.slice(c,d)));const f=`${t}-${d}`,m=l.startsWith("<")?Fr(l,f,s):null;if(m)n.push(m);else if(l.startsWith("\\(")&&l.endsWith("\\)"))n.push(o.jsx(ne,{tex:l.slice(2,-2)},f));else if(l.startsWith("$")&&l.endsWith("$"))n.push(o.jsx(ne,{tex:l.slice(1,-1)},f));else if(l.startsWith("`")){const a=l.match(/^`+/)?.[0].length??1;n.push(o.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:Or(l.slice(a,-a))},f))}else if(l.startsWith("~~"))n.push(o.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(o.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(o.jsx("em",{className:"italic",children:H(l.slice(1,-1),`${f}-em`,r,s)},f));else if(l.startsWith("![")){const a=l.match(/^!\[([^\]]*)\]\((.*)\)$/),p=l.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^!\[([^\]]+)\]$/);if(a){const $=Ae(a[2]);n.push($?re(f,a[1],$.href,$.title,s):l)}else if(p){const $=p[2]||p[1],M=s.referenceDefinitions.get(he($));n.push(M?re(f,p[1],M.href,M.title,s):l)}else if(y){const $=s.referenceDefinitions.get(he(y[1]));n.push($?re(f,y[1],$.href,$.title,s):l)}else n.push(l)}else if(l.startsWith("[^")){const a=Lt(l.slice(2,-1)),p=s.footnoteDefinitions.get(a);n.push(p?o.jsx("sup",{id:`fnref-${p.id}`,title:p.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:o.jsx("a",{href:`#fn-${p.id}`,className:"text-primary no-underline",children:p.index})},f):l)}else if(l.startsWith("<http")){const a=l.slice(1,-1);n.push(o.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(o.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:p}=Ne(l);n.push(o.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)),p&&n.push(p)}else if(l.startsWith("http")||l.startsWith("www.")){const{linkText:a,suffix:p}=Ne(l),y=a.startsWith("www.")?`https://${a}`:a;n.push(o.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)),p&&n.push(p)}else{const a=l.match(/^\[([^\]]+)\]\((.*)\)$/),p=l.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),y=l.match(/^\[([^\]]+)\]$/),$=p?p[2]||p[1]:y?.[1]??null,M=$?s.referenceDefinitions.get(he($)):null,E=a?Ae(a[2]):null,N=E?.href??M?.href??null,x=N?kt(N):null,w=a?.[1]??p?.[1]??y?.[1]??"",S=x&&_t(x)?Oe(x,s.markdownFilePath,s.rootPath):null,L=x?o.jsx("a",{href:x,title:E?.title??M?.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(w,`${f}-link`,r,s)},f):l;n.push(S?o.jsxs("span",{children:[o.jsx(He,{url:S,label:w,title:E?.title??M?.title,hasControls:!0}),L]},f):L)}c=d+l.length}return c<i.length&&n.push(nt(i.slice(c))),n.length>0?n:[e]}function Pt(e){return/(?: {2,}|\\)$/.test(e)}function Wt(e){return e.replace(/(?: {2,}|\\)$/,"")}function we(e){return/^(?: {4}|\t)/.test(e)}function Ot(e){return e.startsWith(" ")?e.slice(1):e.replace(/^ {4}/,"")}function ke(e,t,r){const s=[];return e.forEach((i,n)=>{const c=Pt(i);s.push(...H(Wt(i),`${t}-${n}`,!0,r)),n<e.length-1&&s.push(c?o.jsx("br",{},`${t}-${n}-br`):" ")}),s}function De(e,t,r){const s=[],i=[];return e.forEach((n,c)=>{i.push(Pt(n)),s.push(H(Wt(n),`${t}-${c}`,!0,r))}),{perLine:s,hardBreaks:i}}function Pe(e,t,r,s,i){const n=[];return e.forEach((c,d)=>{const l=r[d]??0,f=!!(i&&l>=i.start&&l<=i.end);n.push(o.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]?o.jsx("br",{},`${s}-${d}-br`):" ")}),n}function se(e){const t=e.trim().replace(/^\|/,"").replace(/\|$/,""),r=[];let s="",i=!1,n=0,c=0;for(let d=0;d<t.length;d+=1){const l=t[d];if(i){s+=l,i=!1;continue}if(l==="\\"){i=!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 i&&(s+="\\"),r.push(s.trim()),r}function Ht(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 $e(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function Xr(e,t){return e>96||e>44&&t>.35}function ae(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function oe(e){const t=e.replace(/\r$/,"").trimStart().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 ze(e,t,r,s,i,n=new Set){const c=[],d=[];let l=t,f=!1;for(;l<e.length;){const m=e[l];if(i&&(be(m)||n.has(l))){l+=1;continue}const a=oe(m),p=ae(m);if(!a){if(!m.trim()&&d.length>0){let M=l+1;for(;M<e.length&&!e[M].trim();)M+=1;if(M<e.length&&ae(e[M])>r){f=!0,l=M;continue}break}if(p>r&&d.length>0){const M=[...d].reverse().find(N=>N.indent<p)?.item??d[d.length-1].item,E=m.replace(/\r$/,"").trimStart();f?M.paragraphs.push(E):M.paragraphs.length>0?M.paragraphs[M.paragraphs.length-1]+=`
|
|
3
|
+
${E}`:M.content+=`
|
|
4
|
+
${E}`,f=!1;for(const N of d)N.item.lineEnd=l+1;l+=1;continue}break}if(p<r||p===r&&a.ordered!==s)break;const y={content:a.content,ordered:a.ordered,start:a.start,children:[],paragraphs:[],lineStart:l+1,lineEnd:l+1};for(f=!1;d.length>0&&d[d.length-1].indent>=p;)d.pop();const $=d[d.length-1]?.item??null;$?$.children.push(y):c.push(y),d.push({indent:p,item:y});for(const M of d)M.item.lineEnd=l+1;l+=1}return{items:c,nextIndex:l}}function kn(e){const t=e.find(s=>oe(s));if(!t)return[];const r=oe(t);return r?ze(e,0,ae(t),r.ordered,!0,Mt(e)).items:[]}function Be(e,t,r,s=0){return r.budget.nested(()=>Kr(e,t,r,s))}function Kr(e,t,r,s=0){return e.map((i,n)=>{const c=i.content.match(/^\[([ xX])\]\s+([\s\S]+)$/);return{key:`item-${n}`,taskItem:!!c,refStart:i.lineStart+s,refEnd:i.lineEnd+s,content:o.jsxs(o.Fragment,{children:[c?o.jsx("input",{type:"checkbox",checked:c[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,ke((c?.[2]??i.content).split(`
|
|
5
|
+
`),`li-${t}-${n}`,r),i.paragraphs.length>0&&o.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:i.paragraphs.map((d,l)=>o.jsx("p",{children:ke(d.split(`
|
|
6
|
+
`),`li-${t}-${n}-p-${l}`,r)},`paragraph-${l}`))})]}),groups:Yr(i.children,`${t}-${n}`,r,s)}})}function Yr(e,t,r,s=0){const i=[];for(const n of e){const c=i[i.length-1];c&&c.ordered===n.ordered?c.items.push(n):i.push({ordered:n.ordered,items:[n]})}return i.map((n,c)=>({ordered:n.ordered,start:n.ordered?n.items[0]?.start:void 0,items:Be(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 o.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&&Gr(r.groups,t)]},r.key)})}function Gr(e,t){return e.map((r,s)=>{const i=r.ordered?"ol":"ul";return o.jsx(i,{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 Vr(e){const t=Array.from(e.footnoteDefinitions.values()).sort((r,s)=>r.index-s.index);return t.length===0?null:o.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[o.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:e.footnotesLabel}),o.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:t.map(r=>o.jsxs("li",{id:`fn-${r.id}`,children:[H(r.text,`footnote-${r.id}`,!0,e)," ",o.jsx("a",{href:`#fnref-${r.id}`,className:"text-primary no-underline","aria-label":e.backToFootnoteLabel(r.index),children:"↩"})]},r.id))})]})}function Zr(e,t,r,s){const i=[];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 N=n;let x="Details";const w=[];for(n+=1;n<e.length&&!/^<\/details>\s*$/i.test(e[n].trim());){const S=e[n].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);S?x=S[1].trim()||x:w.push(e[n].trimStart()),n+=1}n<e.length&&(n+=1),i.push({kind:"static",node:o.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[o.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(x,`${t}-details-${N}-summary`,!0,r)}),w.length>0&&o.jsx("div",{className:"mt-2 text-sm leading-6",children:ke(w,`${t}-details-${N}`,r)})]},`${t}-details-${N}`)});continue}if(/^<video\b/i.test(l)){const N=n,x=[d];for(n+=1;!x[x.length-1].match(/<\/video\s*>/i)&&n<e.length&&e[n].trim();)r.budget.check(),x.push(e[n++]);const w=x.join(`
|
|
7
|
+
`);i.push({kind:"static",node:o.jsx("div",{children:H(w,`${t}-video-${N}`,!0,r)},`${t}-video-${N}`)});continue}const f=Dt(d);if(f){const N=[d],x=n;for(n+=1;n<e.length&&!f.selfContained&&!new RegExp(`</${f.tag}>`,"i").test(e[n]);)N.push(e[n]),n+=1;n<e.length&&!f.selfContained&&(N.push(e[n]),n+=1),i.push({kind:"static",node:o.jsx(At,{html:N.join(`
|
|
8
|
+
`)},`${t}-html-${x}`)});continue}const m=l.match(/^(```|~~~)\s*(.*)$/);if(m){const N=[],x=m[1],w=m[2]?.trim(),S=n;for(n+=1;n<e.length&&!e[n].trim().startsWith(x);)N.push(e[n]),n+=1;n<e.length&&(n+=1),w.toLowerCase()==="mermaid"?i.push({kind:"static",node:o.jsx(Bt,{code:N.join(`
|
|
9
|
+
`),blockKey:`${t}-code-${S}`},`${t}-code-${S}`)}):["math","latex","tex"].includes(w.toLowerCase())?i.push({kind:"static",node:o.jsx(ne,{tex:N.join(`
|
|
10
|
+
`),display:!0},`${t}-code-${S}`)}):i.push({kind:"code",key:`${t}-code-${S}`,code:N.join(`
|
|
11
|
+
`),lang:w,blockKey:`${t}-code-${S}`,codeStartLine:c(S)+1});continue}if(we(d)){const N=[],x=n;for(;n<e.length&&(we(e[n])||!e[n].trim());)N.push(e[n].trim()?Ot(e[n]):""),n+=1;i.push({kind:"code",key:`${t}-indented-code-${x}`,code:N.join(`
|
|
12
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${x}`,codeStartLine:c(x)});continue}const a=l.match(/^(#{1,6})\s+(.+)$/);if(a){const x=`h${Math.min(6,a[1].length+1)}`,w=yt(a[2]),S=Te(w,r);i.push({kind:"static",node:o.jsx(x,{id:S,className:"scroll-mt-16 font-semibold text-foreground",children:H(w,`${t}-heading-${n}`,!0,r)},`${t}-heading-${n}`)}),n+=1;continue}if(n+1<e.length&&d.includes("|")&&$e(e[n+1])){const N=se(d),x=Ht(e[n+1]),w=[],S=n;for(n+=2;n<e.length&&e[n].includes("|")&&e[n].trim();)w.push(se(e[n])),n+=1;i.push({kind:"static",node:o.jsx("div",{className:xt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:o.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[o.jsx("thead",{className:"bg-surface-2 text-foreground",children:o.jsx("tr",{children:N.map((L,_)=>o.jsx("th",{className:`${pt} ${ve(x[_]??null)}`,children:o.jsx("div",{className:ge,children:H(L,`${t}-th-${S}-${_}`,!0,r)})},`h-${_}`))})}),o.jsx("tbody",{children:w.map((L,_)=>o.jsx("tr",{className:"border-t border-border/10",children:N.map((g,k)=>o.jsx("td",{className:`${gt} ${ve(x[k]??null)}`,children:o.jsx("div",{className:ge,children:H(L[k]??"",`${t}-td-${S}-${_}-${k}`,!0,r)})},`c-${k}`))},`r-${_}`))})]})},`${t}-table-${S}`)});continue}const p=oe(d);if(p){const N=p.ordered,x=ae(d),w=p.start,S=n,L=ze(e,n,x,N,!1);n=L.nextIndex,i.push({kind:"list",keyPrefix:`${t}-list-${S}`,ordered:N,start:N?w:void 0,renders:Be(L.items,`${t}-list-${S}`,r,c(0)-1)});continue}const y=[d.trimStart()],$=[c(n)],M=n;for(n+=1;n<e.length&&e[n].trim()&&!Re(e[n])&&!(n+1<e.length&&e[n].includes("|")&&$e(e[n+1]));)y.push(e[n].trimStart()),$.push(c(n)),n+=1;const E=De(y,`${t}-p-${M}`,r);i.push({kind:"paragraph",keyPrefix:`${t}-p-${M}`,perLine:E.perLine,hardBreaks:E.hardBreaks,lineNums:$})}return i}function qr(e,t){return e.map(r=>{switch(r.kind){case"static":return r.node;case"paragraph":return o.jsx("p",{children:Pe(r.perLine,r.hardBreaks,r.lineNums,r.keyPrefix,t)},r.keyPrefix);case"list":{const s=r.ordered?"ol":"ul";return o.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 o.jsx(ye,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}const fe=16,zt=192;function Qr(e){const t=e.match(/\sviewBox=(["'])([^"']+)\1/i);if(!t)return e;const[,,r]=t,s=r.trim().split(/[\s,]+/).map(Number),[,,i,n]=s;if(!Number.isFinite(i)||!Number.isFinite(n)||i<=0||n<=0)return e;const c=Math.max(zt,Math.ceil(i)),d=Math.ceil(c/i*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 Jr(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,i=r.y-fe,n=r.width+fe*2,c=r.height+fe*2,d=Math.max(zt,Math.ceil(n)),l=Math.ceil(d/n*c);t.setAttribute("viewBox",`${s} ${i} ${n} ${c}`),t.setAttribute("width",String(d)),t.setAttribute("height",String(l)),t.removeAttribute("style")}function en(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return pr(`code.${r}`)??r}function Bt({code:e,blockKey:t}){const{t:r}=J(),[s,i]=h.useState(null),[n,c]=h.useState(!1),d=h.useRef(null),l=h.useContext(vt),f=h.useId();h.useEffect(()=>{let a=!1;return i(null),c(!1),Mr().then(async p=>{Sr(p);const y=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}-${f.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:$}=await p.render(y,e);a||i(Qr($))}).catch(()=>{a||c(!0)}),()=>{a=!0}},[t,e,f]),h.useLayoutEffect(()=>{s&&Jr(d.current)},[s]);const m=h.useCallback(()=>{const a=d.current?.querySelector("svg")?.outerHTML??s;a&&l?.(a)},[l,s]);return n?o.jsx(ye,{code:e,lang:"mermaid",blockKey:`${t}-fallback`}):o.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[o.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"}),o.jsx("div",{className:"bg-surface p-3",children:s?o.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:a=>{a.stopPropagation(),m()},children:o.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}})}):o.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:r("rightSidebar.renderingDiagram")})})]})}function ye({code:e,lang:t,blockKey:r,codeStartLine:s,lineRange:i}){const n=en(t),[c,d]=h.useState(null);h.useEffect(()=>{if(!n||!fr(e)){d(null);return}let f=!1;return hr().then(m=>{if(f||!m.registered(n)){f||d(null);return}try{d(mr(m,e,n))}catch{f||d(null)}}).catch(()=>{f||d(null)}),()=>{f=!0}},[r,e,n]);const l=c??(e||" ").split(`
|
|
13
|
+
`).map(f=>[f||" "]);return o.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[t&&o.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}),o.jsx("pre",{"data-markdown-native-scroll":!0,tabIndex:0,className:`${bt} termdock-code max-w-full overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:o.jsx("code",{children:l.map((f,m)=>{const a=s!=null?s+m:null,p=!!(i&&a!=null&&a>=i.start&&a<=i.end);return o.jsxs("span",{"data-md-ref-start":a??void 0,"data-md-ref-end":a??void 0,"data-selected":p?"true":void 0,children:[f,m<l.length-1?`
|
|
14
|
+
`:null]},`${r}-line-${m}`)})})})]})}function Ft(e,t,r,s,i){const n=new $r;n.validateLines(e),e=Rr(e);const c=_r(e),d=Mt(e),l=[],f={budget:n,markdownFilePath:t,rootPath:r,referenceDefinitions:c,footnoteDefinitions:Ir(e),headingSlugCounts:new Map,images:l,onImageOpen:s,footnotesLabel:i?.footnotes??"Footnotes",backToFootnoteLabel:i?.backToFootnote??(y=>`Back to footnote ${y}`)},m=[];let a=0;for(;a<e.length;){f.budget.check();const y=e[a],$=y.trim();if(be(y)||d.has(a)){a+=1;continue}if(!$){a+=1;continue}if(/^<details>\s*$/i.test($)){const g=a;let k="Details";const b=[];for(a+=1;a<e.length&&!/^<\/details>\s*$/i.test(e[a].trim());){const j=e[a].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);j?k=j[1].trim()||k:b.push(e[a].trimStart()),a+=1}a<e.length&&(a+=1),m.push({key:`details-${g}`,startLine:g+1,endLine:a,content:o.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[o.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:H(k,`details-${g}-summary`,!0,f)}),b.length>0&&o.jsx("div",{className:"mt-2 text-sm leading-6",children:ke(b,`details-${g}`,f)})]})});continue}if(/^<video\b/i.test($)){const g=a,k=[y];for(a+=1;!/<\/video\s*>/i.test(k[k.length-1])&&a<e.length&&e[a].trim();)f.budget.check(),k.push(e[a++]);m.push({key:`video-${g}`,startLine:g+1,endLine:a,content:o.jsx("div",{children:H(k.join(`
|
|
15
|
+
`),`video-${g}`,!0,f)})});continue}const M=Dt(y);if(M){const g=[y],k=a;for(a+=1;a<e.length&&!M.selfContained&&!new RegExp(`</${M.tag}>`,"i").test(e[a]);)g.push(e[a]),a+=1;a<e.length&&!M.selfContained&&(g.push(e[a]),a+=1),m.push({key:`html-${k}`,startLine:k+1,endLine:a,content:o.jsx(At,{html:g.join(`
|
|
16
|
+
`)})});continue}const E=$.match(/^(```|~~~)\s*(.*)$/);if(E){const g=[],k=E[1],b=E[2]?.trim(),j=a;for(a+=1;a<e.length&&!e[a].trim().startsWith(k);)g.push(e[a]),a+=1;a<e.length&&(a+=1),m.push({key:`code-${j}`,startLine:j+1,endLine:a,fineGrained:b.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(b.toLowerCase()),content:b.toLowerCase()==="mermaid"?o.jsx(Bt,{code:g.join(`
|
|
17
|
+
`),blockKey:`code-${j}`}):["math","latex","tex"].includes(b.toLowerCase())?o.jsx(ne,{tex:g.join(`
|
|
18
|
+
`),display:!0}):T=>o.jsx(ye,{code:g.join(`
|
|
19
|
+
`),lang:b,blockKey:`code-${j}`,codeStartLine:j+2,lineRange:T})});continue}if(we(y)){const g=[],k=a;for(a+=0;a<e.length&&(we(e[a])||!e[a].trim());)g.push(e[a].trim()?Ot(e[a]):""),a+=1;m.push({key:`indented-code-${k}`,startLine:k+1,endLine:a,fineGrained:!0,content:b=>o.jsx(ye,{code:g.join(`
|
|
20
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`indented-code-${k}`,codeStartLine:k+1,lineRange:b})});continue}if($.startsWith("$$")){const g=[],k=a,b=$.replace(/^\$\$\s*/,"");if(b.endsWith("$$")&&b.length>2)g.push(b.replace(/\s*\$\$$/,"")),a+=1;else{for(b&&g.push(b),a+=1;a<e.length&&!e[a].trim().endsWith("$$");)g.push(e[a]),a+=1;if(a<e.length){const j=e[a].trim().replace(/\s*\$\$$/,"");j&&g.push(j),a+=1}}m.push({key:`math-${k}`,startLine:k+1,endLine:a,content:o.jsx(ne,{tex:g.join(`
|
|
21
|
+
`),display:!0})});continue}if(a+1<e.length&&$&&!Re(y)&&/^(=+|-+)\s*$/.test(e[a+1].trim())){const g=e[a+1].trim().startsWith("=")?1:2,k=`h${g}`,b=Te($,f),j={level:g,text:tt($),id:b};m.push({key:`setext-heading-${a}`,startLine:a+1,endLine:a+2,heading:j,content:o.jsx(k,{id:b,className:`scroll-mt-16 font-semibold text-foreground ${g===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($,`setext-heading-${a}`,!0,f)})}),a+=2;continue}const N=$.match(/^(#{1,6})\s+(.+)$/);if(N){const g=N[1].length,k=yt(N[2]),b={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${g}`,T=Te(k,f),A={level:g,text:tt(k),id:T};m.push({key:`heading-${a}`,startLine:a+1,endLine:a+1,heading:A,content:o.jsx(j,{id:T,className:`scroll-mt-16 font-semibold text-foreground ${b[g]}`,children:H(k,`heading-${a}`,!0,f)})}),a+=1;continue}if(wt(y)){m.push({key:`hr-${a}`,startLine:a+1,endLine:a+1,content:o.jsx("hr",{className:"border-border/20"})}),a+=1;continue}if($.startsWith(">")){const g=[],k=[],b=a;for(;a<e.length&&/^>\s?/.test(e[a].trim());)g.push(e[a].trim().replace(/^>\s?/,"")),k.push(a+1),a+=1;const j=g[0]?.match(/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*(.*)$/i);if(j){const A=j[1].toUpperCase(),v=j[2]?.trim(),R=[...v?[v]:[],...g.slice(1)],O=[...v?[k[0]]:[],...k.slice(1)],z=De(R,`callout-${b}`,f);m.push({key:`callout-${b}`,startLine:b+1,endLine:a,fineGrained:!0,content:K=>o.jsxs("aside",{className:"rounded-lg border border-primary/20 bg-primary/5 px-3 py-2 text-muted-foreground",children:[o.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-primary",children:A}),R.length>0&&o.jsx("div",{children:Pe(z.perLine,z.hardBreaks,O,`callout-${b}`,K)})]})});continue}const T=Zr(g,`quote-${b}`,f,k);m.push({key:`quote-${b}`,startLine:b+1,endLine:a,fineGrained:!0,content:A=>o.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:qr(T,A)})});continue}if(a+1<e.length&&y.includes("|")&&$e(e[a+1])){const g=se(y),k=Ht(e[a+1]),b=[],j=a;for(a+=2;a<e.length&&e[a].includes("|")&&e[a].trim();)b.push(se(e[a])),a+=1;const T=g.map((v,R)=>H(v,`th-${j}-${R}`,!0,f)),A=b.map((v,R)=>g.map((O,z)=>H(v[z]??"",`td-${j}-${R}-${z}`,!0,f)));m.push({key:`table-${j}`,startLine:j+1,endLine:a,interactive:!1,kind:"table",content:v=>{const R=O=>!!(v&&O>=v.start&&O<=v.end);return o.jsx("div",{className:xt,"data-markdown-table-scroll":!0,"data-markdown-native-scroll":!0,tabIndex:0,role:"region","aria-label":"表格,可横向滚动",children:o.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[o.jsx("thead",{className:"bg-surface-2 text-foreground",children:o.jsx("tr",{"data-markdown-table-row-line":j+1,"data-md-ref-start":j+1,"data-md-ref-end":j+1,"data-selected":R(j+1)?"true":void 0,children:T.map((O,z)=>o.jsx("th",{className:`${pt} ${ve(k[z]??null)}`,children:o.jsx("div",{className:ge,children:O})},`h-${z}`))})}),o.jsx("tbody",{children:A.map((O,z)=>{const K=j+z+3;return o.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":R(K)?"true":void 0,children:g.map((Y,G)=>o.jsx("td",{className:`${gt} ${ve(k[G]??null)}`,children:o.jsx("div",{className:ge,children:O[G]})},`c-${G}`))},`r-${z}`)})})]})})}});continue}const x=oe(y);if(x){const g=x.ordered,k=ae(y),b=x.start,j=a,T=ze(e,a,k,g,!0,d);a=T.nextIndex;const A=g?"ol":"ul",v=Be(T.items,`list-${j}`,f);m.push({key:`list-${j}`,startLine:j+1,endLine:a,fineGrained:!0,content:R=>o.jsx(A,{start:g?b:void 0,className:`${g?"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(v,R)})});continue}const w=[y.trimStart()],S=[a+1],L=a;for(a+=1;a<e.length&&e[a].trim()&&!Re(e[a])&&!(a+1<e.length&&e[a].includes("|")&&$e(e[a+1]));){if(be(e[a])||d.has(a)){a+=1;continue}w.push(e[a].trimStart()),S.push(a+1),a+=1}const _=De(w,`p-${L}`,f);m.push({key:`p-${L}`,startLine:L+1,endLine:a,fineGrained:!0,content:g=>o.jsx("p",{className:"text-muted-foreground",children:Pe(_.perLine,_.hardBreaks,S,`p-${L}`,g)})})}const p=Vr(f);return p&&m.push({key:"footnotes",startLine:e.length,endLine:e.length,content:p}),n.check(),{blocks:m,images:l}}function vn(e,t,r){return Ft(e,t,r).blocks}function tn(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 rn(e){return e.filter(t=>!!t.heading).map(t=>({...t.heading,startLine:t.startLine}))}function nn({src:e,alt:t,onZoomChange:r,onDoubleTap:s}){const{t:i}=J(),n=It(e),c=ht(n),[d,l]=h.useState(null),[f,m]=h.useState(0);h.useEffect(()=>{if(!c)return;const p=new AbortController;let y;return l(null),it(n,{signal:p.signal}).then(async $=>{if(!$.ok)throw new Error(`HTTP ${$.status}`);const M=await $.blob();p.signal.aborted||(y=URL.createObjectURL(M),l({src:n,objectUrl:y}))}).catch(()=>{p.signal.aborted||l({src:n,failed:!0})}),()=>{p.abort(),y&&URL.revokeObjectURL(y)}},[c,n,f]);const a=d?.src===n?d:null;return c&&!a?.objectUrl?o.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",role:a?.failed?"alert":"status",children:a?.failed?o.jsxs("div",{className:"flex flex-col items-center gap-3",onClick:p=>p.stopPropagation(),children:[o.jsx("span",{children:i("rightSidebar.imageLoadFailed")}),o.jsx("button",{type:"button",className:"rounded bg-surface-2 px-3 py-2 hover:bg-surface-elevated",onClick:()=>m(p=>p+1),children:i("common.retry")})]}):i("rightSidebar.loadingImage")}):o.jsx(ln,{src:c?a.objectUrl:n,vector:Le(e),alt:t,onLoad:()=>{},onError:()=>{c&&l({src:n,failed:!0})},onZoomChange:r,onDoubleTap:s})}function sn({images:e,index:t,onChange:r,onClose:s}){const{t:i}=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,p]=h.useState(!1),[y,$]=h.useState(0),[M,E]=h.useState(!1),N=h.useCallback(v=>jr(n,v),[n]),x=n?.kind==="mermaid"?n.svg:n?.src,w=rr(N,x,!!n),S=w.status==="pending",L=w.status==="error"?{image:n,message:w.error}:null,_=()=>(g(),w.start()),g=h.useCallback(()=>{f.current!==null&&(window.clearTimeout(f.current),f.current=null)},[]),k=h.useCallback(()=>{a||Date.now()<m.current||(g(),f.current=window.setTimeout(()=>{f.current=null,s()},450))},[g,a,s]),b=h.useCallback(v=>{if(e.length===0)return;const R=(v+e.length)%e.length;d.current?.slideTo(R),r(R)},[e.length,r]),j=h.useCallback(()=>b(t-1),[b,t]),T=h.useCallback(()=>b(t+1),[b,t]);if(h.useEffect(()=>{g(),$(0),E(!1),p(!1)},[g,t]),h.useEffect(()=>{const v=d.current;v&&(v.allowTouchMove=c&&!a)},[c,a]),h.useEffect(()=>{const v=d.current;!v||v.activeIndex===t||v.slideTo(t,0)},[t]),h.useEffect(()=>g,[g]),h.useEffect(()=>{const v=R=>{if(R.key==="Escape"){R.preventDefault(),s();return}c&&(R.key==="ArrowLeft"?(R.preventDefault(),j()):R.key==="ArrowRight"&&(R.preventDefault(),T()))};return document.addEventListener("keydown",v),()=>document.removeEventListener("keydown",v)},[c,T,j,s]),ft({onDrag:({movement:[v,R],pinching:O})=>{O||a||Math.abs(R)<Math.abs(v)*1.15&&y===0||(E(!0),Math.abs(R)>8&&(m.current=Date.now()+300),$(Math.max(0,R)))},onDragEnd:({movement:[v,R],velocity:[,O],pinching:z,canceled:K})=>{if(E(!1),z||K||a||Math.abs(R)<Math.abs(v)*1.15){$(0);return}if(Math.abs(R)>8&&(m.current=Date.now()+300),Xr(R,O)){s();return}$(0)}},{target:l,drag:{filterTaps:!0,pointer:{touch:!0}}}),!n)return null;const A=n.title||n.alt||(n.kind==="mermaid"?i("rightSidebar.mermaidDiagram"):i("rightSidebar.image"));return typeof document>"u"?null:ut.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:s}),o.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:[o.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:[o.jsxs("div",{className:"min-w-0",children:[o.jsx("div",{className:"truncate text-sm font-medium",children:A}),o.jsxs("div",{className:"text-[10px] text-muted-foreground",children:[t+1," / ",e.length]})]}),o.jsxs("div",{className:"flex shrink-0 items-center gap-1.5",children:[S&&o.jsx("button",{type:"button",onClick:w.cancel,className:"min-h-9 rounded-full bg-surface-2 px-3 text-xs",children:i("common.cancel")}),c&&o.jsxs(o.Fragment,{children:[o.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":i("rightSidebar.previousImage"),title:i("common.previous"),children:o.jsx(nr,{size:17})}),o.jsx("button",{type:"button",onClick:T,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":i("rightSidebar.nextImage"),title:i("common.next"),children:o.jsx(sr,{size:17})})]}),o.jsx("button",{type:"button",onClick:()=>{_()},disabled: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 active:scale-95 disabled:opacity-50 disabled:active:scale-100","aria-label":i("rightSidebar.downloadFile"),title:i("rightSidebar.downloadFile"),"aria-busy":S,children:S?o.jsx(ar,{size:17,className:"animate-spin"}):o.jsx(or,{size:17})}),o.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":i("rightSidebar.closeImagePreview"),title:i("common.close"),children:o.jsx(ot,{size:18})})]})]}),w.status!=="error"&&o.jsx(ir,{status:w.status,error:w.error}),L?.image===n&&o.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:[o.jsxs("span",{className:"min-w-0 break-words",children:[i("rightSidebar.downloadFailed"),": ",L.message]}),o.jsx("button",{type:"button",className:"shrink-0 rounded bg-surface-2 px-3 py-1 text-foreground hover:bg-surface-elevated",onClick:()=>{_()},disabled:S,children:i("common.retry")})]}),o.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:v=>{if(!(Date.now()<m.current)){if(v.target instanceof Element&&v.target.closest('img, [role="img"]')){k();return}g(),s()}},children:o.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:M?"none":"transform 0.2s ease-out, opacity 0.2s ease-out",willChange:"transform, opacity"},children:o.jsx(dr,{onSwiper:v=>{d.current=v,v.allowTouchMove=c&&!a},onSlideChange:v=>{v.activeIndex!==t&&r(v.activeIndex)},onSliderMove:()=>{g(),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((v,R)=>o.jsx(ur,{className:"h-full",children:o.jsx("div",{className:"h-full w-full px-3 py-4 sm:px-6 sm:py-6",children:v.kind==="image"?o.jsx(nn,{src:v.src,alt:v.alt||v.title||i("rightSidebar.markdownImage"),onZoomChange:p,onDoubleTap:g}):o.jsx(dn,{svg:v.svg,title:v.title||v.alt||i("rightSidebar.mermaidDiagram"),onZoomChange:p,onDoubleTap:g})})},`${v.kind}-${R}-${v.alt}`))})})})]})]}),document.body)}function an({variant:e="document",referenceLines:t=!0,content:r,filePath:s,rootPath:i,lineRange:n,onLineRangeClick:c,onLineRangeDrag:d,scrollTop:l,outlineOpen:f,outlineCloseSignal:m,onOutlineOpen:a,onOutlineClose:p,lightboxOpen:y,lightboxCloseSignal:$,onLightboxOpen:M,onLightboxClose:E,onLocalLinkOpen:N}){const{t:x}=J(),[w,S]=h.useState(null),[L,_]=h.useState(null),[g,k]=h.useState(1),[b,j]=h.useState(null),T=h.useRef(null),A=h.useRef(null),{blocks:v,images:R,parseError:O}=h.useMemo(()=>{try{return{...Ft(r.split(`
|
|
22
|
+
`),s,i,u=>{_(null),S(u),M?.()},{footnotes:x("rightSidebar.footnotes"),backToFootnote:u=>x("rightSidebar.backToFootnote",{index:u})}),parseError:null}}catch(u){return{blocks:[],images:[],parseError:u instanceof Error?u.message:String(u)}}},[r,s,i,M,x]);h.useEffect(()=>{O&&un("markdown_error",{filePath:s,rootPath:i,error:O,fallback:"plain_text"})},[O,s,i]);const z=h.useMemo(()=>L?[...R,L]:R,[R,L]),K=h.useCallback(u=>{_({kind:"mermaid",svg:u,alt:"Mermaid diagram",title:"Mermaid diagram"}),S(R.length),M?.()},[R.length,M]);h.useEffect(()=>{S(null),_(null)},[r,s]),h.useEffect(()=>{S(null),_(null)},[$]),h.useEffect(()=>{y===!1&&(S(null),_(null))},[y]),h.useEffect(()=>{k(1)},[r,s]),h.useLayoutEffect(()=>{const u=T.current;if(!u||v.length===0)return;const I=Array.from(u.querySelectorAll("[data-markdown-preview-block-start]"));let C=1;const D=28;for(const B of I)if(B.offsetTop-l<=D)C=Number(B.dataset.markdownPreviewBlockStart)||C;else break;k(B=>B===C?B:C)},[v,l]);const Y=h.useMemo(()=>tn(v,g),[g,v]),G=h.useMemo(()=>rn(v),[v]),ie=`${s??""}
|
|
23
|
+
${r}`,Xe=h.useRef(ie),ee=h.useRef(null),V=h.useRef(null),Ke=dt(()=>{V.current=null}),je=h.useRef(!1);h.useEffect(()=>{Xe.current!==ie&&(Xe.current=ie,p?.())},[p,ie]),h.useEffect(()=>{m!==void 0&&j(null)},[m]),h.useLayoutEffect(()=>{if(!f){j(null);return}const u=()=>{const I=A.current;if(!I)return;const C=I.getBoundingClientRect(),D=window.innerWidth;j({top:C.bottom+6,right:Math.max(8,D-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 I=T.current,C=I?.closest("[data-markdown-preview-scroller]"),D=I?.querySelector(`[data-markdown-preview-block-start="${u.startLine}"]`);if(!C||!D)return;const B=C.getBoundingClientRect(),U=D.getBoundingClientRect(),W=I?.querySelector("[data-markdown-heading-sticky]")?.getBoundingClientRect().height??0,Z=U.top-B.top+C.scrollTop;C.scrollTo({top:Math.max(0,Z-W-8),behavior:"smooth"}),k(u.startLine),p?.()},[p]),Kt=h.useCallback(u=>{u.pointerType==="mouse"&&u.button!==0||Ie(u.target)||(ee.current={pointerId:u.pointerId,startX:u.clientX,startY:u.clientY})},[]),Yt=h.useCallback((u,I,C)=>{const D=ee.current;if(ee.current=null,!D||D.pointerId!==u.pointerId)return;const B=Math.abs(u.clientX-D.startX),U=Math.abs(u.clientY-D.startY);if(B>8||U>8)return;const F=u.target;if(Ie(F)||Ze())return;const W=at(F,I,C);c(u,W.start,W.end)},[c]),Gt=h.useCallback(u=>{ee.current?.pointerId===u.pointerId&&(ee.current=null)},[]),q=h.useCallback((u,I)=>{const C=T.current;if(!C||typeof document.elementFromPoint!="function")return null;const D=document.elementFromPoint(u,I);if(!(D instanceof HTMLElement)||!C.contains(D))return null;const B=D.closest("[data-md-ref-start]");if(B){const X=Number(B.dataset.mdRefStart);if(Number.isFinite(X)&&X>0)return X}const U=D.closest("[data-markdown-preview-block-start]");if(!U)return null;const F=Number(U.dataset.markdownPreviewBlockStart),W=v.find(X=>X.startLine===F);if(!W)return Number.isFinite(F)&&F>0?F:null;if(W.endLine<=W.startLine)return W.startLine;const Z=U.getBoundingClientRect(),P=Z.height>0?Math.min(1,Math.max(0,(I-Z.top)/Z.height)):0;return Math.round(W.startLine+P*(W.endLine-W.startLine))},[v]),Vt=h.useCallback(u=>{if(!d||u.pointerType==="mouse"&&u.button!==0)return;const I=q(u.clientX+24,u.clientY);if(I!=null){Ke(u),V.current={pointerId:u.pointerId,anchorLine:I,moved:!1};try{u.currentTarget.setPointerCapture(u.pointerId)}catch{}}},[d,q,Ke]),Zt=h.useCallback(u=>{const I=V.current;if(!I||I.pointerId!==u.pointerId||!d)return;const C=q(u.clientX+16,u.clientY);C!=null&&(!I.moved&&C===I.anchorLine||(I.moved=!0,je.current=!0,d(u,Math.min(I.anchorLine,C),Math.max(I.anchorLine,C),"move")))},[d,q]),qt=h.useCallback(u=>{const I=V.current;if(V.current=null,!I||I.pointerId!==u.pointerId||!d||!I.moved)return;const C=q(u.clientX+16,u.clientY)??I.anchorLine;d(u,Math.min(I.anchorLine,C),Math.max(I.anchorLine,C),"end")},[d,q]),Qt=h.useCallback(u=>{V.current?.pointerId===u.pointerId&&(V.current=null)},[]),Me={onPointerDown:Vt,onPointerMove:Zt,onPointerUp:qt,onPointerCancel:Qt},Ge=()=>je.current?(je.current=!1,!0):!1;return O?o.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:[o.jsx("p",{role:"alert",className:"mb-3 text-destructive",children:x("rightSidebar.markdownParseFailed")}),o.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs",children:r})]}):v.length===0?o.jsx("div",{className:"min-w-0 max-w-full px-4 py-4 text-sm leading-6 text-foreground",children:o.jsx("p",{className:"text-muted-foreground",children:x("rightSidebar.emptyFile")})}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{ref:T,className:"termdock-markdown relative min-w-0 max-w-full","data-markdown-variant":e,onClickCapture:u=>{const I=u.target instanceof Element?u.target.closest("a[href]"):null;if(!I||!N)return;const C=I.getAttribute("href");if(!C)return;const D=We(C,s,i);D&&(u.preventDefault(),N(D))},children:[t&&Y.length>0&&o.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:o.jsxs("div",{className:"flex min-w-0 items-center gap-2 overflow-hidden",title:Y.map(u=>u.text).join(" / "),children:[o.jsx("span",{className:"h-4 w-0.5 shrink-0 rounded-full bg-primary/70","aria-hidden":"true"}),o.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&&o.jsxs("button",{ref:A,type:"button",onClick:()=>{f?p?.():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":x("rightSidebar.markdownOutline"),title:x("rightSidebar.markdownOutline"),children:[o.jsx(gr,{size:12}),o.jsx("span",{children:x("rightSidebar.markdownOutlineShort")})]})]})}),f&&typeof document<"u"&&ut.createPortal(o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"fixed inset-0 z-menu-backdrop bg-[rgb(var(--background-rgb)_/_0.18)] sm:hidden",onClick:p}),o.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:b?{top:`${b.top}px`,right:`${b.right}px`}:{top:-9999,right:-9999},"data-markdown-heading-outline-desktop":!0,children:o.jsx("div",{className:"max-h-72 overflow-auto pr-1",children:G.map(u=>{const I=Y[Y.length-1]?.startLine===u.startLine;return o.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] ${I?"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:[o.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${I?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),o.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`desktop-${u.id}-${u.startLine}`)})})}),o.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:[o.jsxs("div",{className:"mb-1 flex items-center justify-between gap-2 px-1.5 py-1 sm:hidden",children:[o.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:x("rightSidebar.markdownOutlineShort")}),o.jsx("button",{type:"button",onClick:p,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":x("rightSidebar.closeMarkdownOutline"),title:x("common.close"),children:o.jsx(ot,{size:14})})]}),o.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 I=Y[Y.length-1]?.startLine===u.startLine;return o.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] ${I?"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:[o.jsx("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${I?"bg-primary":"bg-border-strong/70"}`,"aria-hidden":"true"}),o.jsxs("span",{className:"w-5 shrink-0 font-mono text-[9px] text-muted-foreground/70",children:["H",u.level]}),o.jsx("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:u.text})]},`${u.id}-${u.startLine}`)})})]})]}),document.body),o.jsx("div",{className:`min-w-0 max-w-full overflow-x-hidden break-words text-foreground ${e!=="document"?"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:o.jsx(vt.Provider,{value:K,children:v.map(u=>{const I=!!(n&&u.startLine<=n.end&&u.endLine>=n.start),C=!!(n&&n.start<=u.startLine&&n.end>=u.endLine),D=u.kind==="table"?!1:u.fineGrained?C:I,B=u.kind==="table"&&n?.start===u.startLine&&n.end===u.endLine;let U=null;if(u.kind!=="table"&&u.fineGrained&&I&&!C&&n){const P=u.endLine-u.startLine+1,X=Math.max(n.start,u.startLine),le=Math.min(n.end,u.endLine),Jt=(X-u.startLine)/P,er=(le-X+1)/P;U=o.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) * ${Jt})`,height:`calc((100% - 0.5rem) * ${er})`}})}const F=typeof u.content=="function"?u.content(n):u.content;if(!t)return o.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}`,Z=o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:Ee(D),"aria-hidden":"true",...Me,children:[o.jsx("span",{className:_e(D)}),U]}),o.jsx("div",{className:"min-w-0","data-sidebar-selectable":!0,children:F})]});return u.interactive===!1?o.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 ${D?"bg-primary/10":""}`,title:`Line ${W}`,"aria-label":`Line ${W}`,children:[u.kind==="table"?o.jsx("button",{type:"button",className:Ee(B,"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:o.jsx("span",{className:_e(B,"self")})}):o.jsxs("span",{className:Ee(D,"none"),"aria-hidden":"true",...Me,children:[o.jsx("span",{className:_e(D,"none")}),U]}),o.jsx("div",{className:"min-w-0 cursor-text select-text","data-sidebar-selectable":!0,role:"button",tabIndex:0,onPointerDown:Kt,onPointerUp:P=>Yt(P,u.startLine,u.endLine),onPointerCancel:Gt,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):o.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 ${D?"bg-primary/10":"hover:bg-[var(--surface-2)]"}`,title:`Reference line ${W}`,"aria-label":`Reference line ${W}`,children:Z},u.key)})})})]}),y!==!1&&w!==null&&z[w]&&o.jsx(sn,{images:z,index:w,onChange:S,onClose:()=>{S(null),_(null),E?.()}})]})}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,i=Number(s?.dataset.mdRefStart),n=Number(s?.dataset.mdRefEnd??s?.dataset.mdRefStart);return Number.isFinite(i)&&i>0&&Number.isFinite(n)&&n>0?{start:Math.min(i,n),end:Math.max(i,n)}:{start:t,end:r}}const Ut=1,Ue=8;function on(e,t=Ue){return Math.min(t,Math.max(Ut,e))}function Xt({resetKey:e,maxScale:t=Ue,onZoomChange:r,onDoubleTap:s,children:i}){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),p=dt((L,_)=>{a.current.delete(_)&&(m.current=null,$.current=null,y.current=!0)},!0),y=h.useRef(!1),$=h.useRef(null),M=h.useRef(0),E=h.useRef(c);E.current=c,h.useEffect(()=>{d({scale:1,x:0,y:0})},[e]);const N=h.useCallback((L,_,g)=>{const k=n.current;if(!k)return{x:_,y:g};const b=k.firstElementChild instanceof HTMLElement?k.firstElementChild:null,j=b?.clientWidth||k.clientWidth,T=b?.clientHeight||k.clientHeight,A=Math.max(0,(j*L-k.clientWidth)/2),v=Math.max(0,(T*L-k.clientHeight)/2);return{x:Math.min(A,Math.max(-A,_)),y:Math.min(v,Math.max(-v,g))}},[]),x=h.useCallback((L,_,g)=>{d(k=>{const b=on(L,t),j=n.current;if(!j||b===1)return{scale:b,x:0,y:0};const T=j.getBoundingClientRect(),A=(_??T.left+T.width/2)-T.left-T.width/2,v=(g??T.top+T.height/2)-T.top-T.height/2,R=b/k.scale,O=A-(A-k.x)*R,z=v-(v-k.y)*R;return{scale:b,...N(b,O,z)}})},[N,t]),w=h.useCallback((L,_)=>{f(!0),E.current.scale>1?d({scale:1,x:0,y:0}):x(2.5,L,_),window.setTimeout(()=>f(!1),220)},[x]);h.useEffect(()=>{const L=n.current;if(!L)return;const _=b=>{if(b.pointerType==="mouse"&&b.button!==0)return;p(b,L);const j=a.current.size===0;if(a.current.add(b.pointerId),j){const T=Date.now(),A=$.current;if(A&&T-A.time<350&&Math.hypot(b.clientX-A.x,b.clientY-A.y)<24){$.current=null,M.current=T,s?.(),w(b.clientX,b.clientY);return}}if(a.current.size>1){y.current=!0,m.current=null;return}if(!(E.current.scale<=1)){b.preventDefault(),m.current={pointerId:b.pointerId,startX:b.clientX,startY:b.clientY,originX:E.current.x,originY:E.current.y,moved:!1};try{L.setPointerCapture?.(b.pointerId)}catch{}f(!1)}},g=b=>{const j=m.current;if(!j||j.pointerId!==b.pointerId)return;const T=b.clientX-j.startX,A=b.clientY-j.startY;if(!j.moved){if(Math.hypot(T,A)<6)return;j.moved=!0}b.stopPropagation(),b.preventDefault(),d(v=>({...v,...N(v.scale,j.originX+T,j.originY+A)}))},k=b=>{const j=m.current,T=j?.pointerId===b.pointerId&&j.moved;if(j?.pointerId===b.pointerId){j.moved&&b.stopPropagation(),m.current=null;try{L.releasePointerCapture?.(b.pointerId)}catch{}}a.current.delete(b.pointerId)&&a.current.size===0&&(!y.current&&!T&&($.current={time:Date.now(),x:b.clientX,y:b.clientY}),y.current=!1)};return L.addEventListener("pointerdown",_,{capture:!0,passive:!1}),window.addEventListener("pointermove",g,{capture:!0,passive:!1}),window.addEventListener("pointerup",k,{capture:!0}),window.addEventListener("pointercancel",k,{capture:!0}),()=>{L.removeEventListener("pointerdown",_,{capture:!0}),window.removeEventListener("pointermove",g,{capture:!0}),window.removeEventListener("pointerup",k,{capture:!0}),window.removeEventListener("pointercancel",k,{capture:!0})}},[N,s,w,p]),ft({onPinch:({offset:[L],origin:[_,g]})=>{f(!1),x(L,_,g)},onWheel:({event:L,delta:[_,g],ctrlKey:k})=>{if(k){L.preventDefault(),L.stopPropagation(),f(!1),x(E.current.scale*(1-g*.01),L.clientX,L.clientY);return}E.current.scale<=1||(L.preventDefault(),L.stopPropagation(),f(!1),d(b=>({...b,...N(b.scale,b.x-_,b.y-g)})))}},{target:n,eventOptions:{passive:!1},pinch:{scaleBounds:{min:Ut,max:t},from:()=>[E.current.scale,0],rubberband:!0}});const S=c.scale>1;return h.useEffect(()=>{r?.(S)},[r,S]),o.jsx("div",{ref:n,"data-sidebar-gesture-ignore":S?"":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:S?"grab":"zoom-in"},onDoubleClick:L=>{L.stopPropagation(),!(Date.now()-M.current<500)&&(s?.(),w(L.clientX,L.clientY))},children:i({scale:c.scale,zoomed:S,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 ln({src:e,alt:t,vector:r,onLoad:s,onError:i,onZoomChange:n,onDoubleTap:c}){const d=pe(e,i),[l,f]=h.useState(null),m=r??Le(e);return h.useEffect(()=>{f(null)},[e]),o.jsx(Xt,{resetKey:e,maxScale:Math.max(Ue,l?.originalScale??1),onZoomChange:n,onDoubleTap:c,children:({vectorTransformStyle:a,scale:p,animateTransform:y})=>o.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:o.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*p:void 0,height:l?l.height*p: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:$=>{const M=$.currentTarget,E=M.closest("[data-image-zoom-viewport]");if(E&&M.naturalWidth>0&&M.naturalHeight>0){const N=Math.max(1,E.clientWidth-2),x=Math.max(1,E.clientHeight-2),w=Math.min(N/M.naturalWidth,x/M.naturalHeight),S=m?w:Math.min(w,1);f({width:M.naturalWidth*S,height:M.naturalHeight*S,originalScale:1/S})}s($)},onError:i})})})}function cn({svg:e,title:t,scale:r,vectorTransformStyle:s}){const i=h.useRef(null);return h.useLayoutEffect(()=>{const n=i.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],p=m[3];if((!Number.isFinite(a)||!Number.isFinite(p)||a<=0||p<=0)&&(a=Number(c.getAttribute("width")),p=Number(c.getAttribute("height"))),!Number.isFinite(a)||!Number.isFinite(p)||a<=0||p<=0)return;const y=Math.max(1,n.clientWidth-24),$=Math.max(1,n.clientHeight-24),M=Math.min(y/a,$/p,1);c.style.width=`${Math.max(1,Math.floor(a*M*r))}px`,c.style.height=`${Math.max(1,Math.floor(p*M*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]),o.jsx("div",{ref:i,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 dn({svg:e,title:t,onZoomChange:r,onDoubleTap:s}){return o.jsx(Xt,{resetKey:e,onZoomChange:r,onDoubleTap:s,children:({vectorTransformStyle:i,scale:n})=>o.jsx(cn,{svg:e,title:t,scale:n,vectorTransformStyle:i})})}function un(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 fn=()=>{};function hn({content:e,variant:t="prose",filePath:r=null,rootPath:s=null,onLocalLinkOpen:i,fileControls:n,lightbox:c}){return o.jsx(an,{content:e,variant:t,filePath:r,rootPath:s,onLocalLinkOpen:i,referenceLines:!!n,lineRange:n?.lineRange??null,onLineRangeClick:n?.onLineRangeClick??fn,onLineRangeDrag:n?.onLineRangeDrag,scrollTop:n?.scrollTop??0,outlineOpen:n?.outlineOpen??!1,outlineCloseSignal:n?.outlineCloseSignal,onOutlineOpen:n?.onOutlineOpen,onOutlineClose:n?.onOutlineClose,lightboxOpen:c?.open,lightboxCloseSignal:c?.closeSignal,onLightboxOpen:c?.onOpen,onLightboxClose:c?.onClose})}const $n=Object.freeze(Object.defineProperty({__proto__:null,Markdown:hn},Symbol.toStringTag,{value:"Module"}));export{bt as F,hn as M,ln as Z,kn as _,$n as a,sn as b,vn as c,Ft as d,Cr as e,tn as f,rn as g,Le as h,Sr as i,un as j,Mr as l,We as r,Xr as s,pe as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.termdock-markdown[data-markdown-variant=prose]{font-size:15px;line-height:1.85}.termdock-markdown[data-markdown-variant=prose] :is(p,li,blockquote){font-size:15px;line-height:1.85;color:var(--foreground)}.termdock-markdown[data-markdown-variant=prose] [data-markdown-preview-block-start]{padding-block:0}.termdock-markdown[data-markdown-variant=prose] h1{font-size:1.5rem;line-height:1.5}.termdock-markdown[data-markdown-variant=prose] h2{font-size:1.25rem;line-height:1.6}.termdock-markdown[data-markdown-variant=prose] :is(h3,h4){font-size:1.05rem;line-height:1.7}.termdock-markdown[data-markdown-variant=prose] :is(pre,pre code,pre span){font-size:13px;line-height:1.7}.termdock-markdown[data-markdown-variant=prose] table{font-size:14px;line-height:1.7}.termdock-markdown[data-markdown-variant=prose] a{text-underline-offset:3px}.termdock-markdown[data-markdown-variant=compact]{font-size:14px;line-height:24px}.termdock-markdown[data-markdown-variant=compact] h1{font-size:18px}.termdock-markdown[data-markdown-variant=compact] h2{font-size:16px}.termdock-markdown[data-markdown-variant=compact] h3{font-size:14px}.termdock-markdown[data-markdown-variant=compact] table{font-size:12px}
|
|
Binary file
|
|
Binary file
|