termdock 1.4.359 → 1.4.360
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{AndroidMirrorView-SpjoKKYZ.js → AndroidMirrorView-DvaQ4bWE.js} +1 -1
- package/dist/client/assets/AndroidMirrorView-DvaQ4bWE.js.br +0 -0
- package/dist/client/assets/{AndroidMirrorView-SpjoKKYZ.js.gz → AndroidMirrorView-DvaQ4bWE.js.gz} +0 -0
- package/dist/client/assets/{App-BXyQinZW.js → App-Bb2gVHKa.js} +7 -7
- package/dist/client/assets/App-Bb2gVHKa.js.br +0 -0
- package/dist/client/assets/App-Bb2gVHKa.js.gz +0 -0
- package/dist/client/assets/{ArchitecturePanel-DUwBHRpo.js → ArchitecturePanel-DFFG7FcG.js} +2 -2
- package/dist/client/assets/ArchitecturePanel-DFFG7FcG.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-DFFG7FcG.js.gz +0 -0
- package/dist/client/assets/{ChangeWalkthroughPanel-CVBQbHpG.js → ChangeWalkthroughPanel-BC7zpkq3.js} +1 -1
- package/dist/client/assets/ChangeWalkthroughPanel-BC7zpkq3.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BC7zpkq3.js.gz +0 -0
- package/dist/client/assets/{ChatRichContent-BI5iYvRf.js → ChatRichContent-C9mQPbwk.js} +3 -3
- package/dist/client/assets/ChatRichContent-C9mQPbwk.js.br +0 -0
- package/dist/client/assets/ChatRichContent-C9mQPbwk.js.gz +0 -0
- package/dist/client/assets/{CollaborationMainWorkspace-qYw6Sv3a.js → CollaborationMainWorkspace-v_Kf8bk2.js} +1 -1
- package/dist/client/assets/CollaborationMainWorkspace-v_Kf8bk2.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-v_Kf8bk2.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-Cm0uanGi.js +1 -0
- package/dist/client/assets/{ComputerControlView-Dmmuxujg.js → ComputerControlView-BQnieqiC.js} +3 -3
- package/dist/client/assets/ComputerControlView-BQnieqiC.js.br +0 -0
- package/dist/client/assets/ComputerControlView-BQnieqiC.js.gz +0 -0
- package/dist/client/assets/{DagPlayground-D1FkpA0b.js → DagPlayground-DditHOVX.js} +1 -1
- package/dist/client/assets/DagPlayground-DditHOVX.js.br +0 -0
- package/dist/client/assets/DagPlayground-DditHOVX.js.gz +0 -0
- package/dist/client/assets/{DiffLab-C4y3Mu1m.js → DiffLab-p4rsngvx.js} +1 -1
- package/dist/client/assets/DiffLab-p4rsngvx.js.br +0 -0
- package/dist/client/assets/DiffLab-p4rsngvx.js.gz +0 -0
- package/dist/client/assets/{DiffReview-DVaOXs0z.js → DiffReview-9a_DXlXn.js} +1 -1
- package/dist/client/assets/DiffReview-9a_DXlXn.js.br +0 -0
- package/dist/client/assets/DiffReview-9a_DXlXn.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-C49n0eG5.js → DiffReviewLab-BpI3iTts.js} +1 -1
- package/dist/client/assets/DiffReviewLab-BpI3iTts.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-BpI3iTts.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-C_YHDsAf.js → DiffViewer-25DyaFuh.js} +1 -1
- package/dist/client/assets/DiffViewer-25DyaFuh.js.br +0 -0
- package/dist/client/assets/DiffViewer-25DyaFuh.js.gz +0 -0
- package/dist/client/assets/{GitLoadingSkeleton-Bm1UqrDS.js → GitLoadingSkeleton-D5nkNhPE.js} +1 -1
- package/dist/client/assets/GitLoadingSkeleton-D5nkNhPE.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-D5nkNhPE.js.gz +0 -0
- package/dist/client/assets/{Markdown-CohgsLqO.js → Markdown-BQK61rwW.js} +2 -2
- package/dist/client/assets/Markdown-BQK61rwW.js.br +0 -0
- package/dist/client/assets/Markdown-BQK61rwW.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-a0HGTXuA.js → ModelPreview-DSMm4U4j.js} +1 -1
- package/dist/client/assets/ModelPreview-DSMm4U4j.js.br +0 -0
- package/dist/client/assets/ModelPreview-DSMm4U4j.js.gz +0 -0
- package/dist/client/assets/{RecordingSaveDialog-BKec4LtD.js → RecordingSaveDialog-SqE6T39W.js} +1 -1
- package/dist/client/assets/RecordingSaveDialog-SqE6T39W.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-SqE6T39W.js.gz +0 -0
- package/dist/client/assets/{RightSidebar-CxeEK1fi.js → RightSidebar-Cyd0Hm6s.js} +3 -3
- package/dist/client/assets/RightSidebar-Cyd0Hm6s.js.br +0 -0
- package/dist/client/assets/RightSidebar-Cyd0Hm6s.js.gz +0 -0
- package/dist/client/assets/SessionChatView-BNFqLvSD.js +25 -0
- package/dist/client/assets/SessionChatView-BNFqLvSD.js.br +0 -0
- package/dist/client/assets/SessionChatView-BNFqLvSD.js.gz +0 -0
- package/dist/client/assets/{SessionResourceSidebar-D8kJh4k1.js → SessionResourceSidebar-yPQNWbtX.js} +2 -2
- package/dist/client/assets/SessionResourceSidebar-yPQNWbtX.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-yPQNWbtX.js.gz +0 -0
- package/dist/client/assets/{TodoWorkspace-ByyjDuIT.js → TodoWorkspace-B_GBeg3U.js} +1 -1
- package/dist/client/assets/TodoWorkspace-B_GBeg3U.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-B_GBeg3U.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-9jetKIey.js → abnfDiagram-VCTEODGH-CPmxTXWR.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-CPmxTXWR.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-CPmxTXWR.js.gz +0 -0
- package/dist/client/assets/{app-CjIJnhRC.js → app-CG7UnlvD.js} +4 -4
- package/dist/client/assets/app-CG7UnlvD.js.br +0 -0
- package/dist/client/assets/app-CG7UnlvD.js.gz +0 -0
- package/dist/client/assets/{arc-D_lxie76.js → arc-B4o5ErLe.js} +1 -1
- package/dist/client/assets/arc-B4o5ErLe.js.br +0 -0
- package/dist/client/assets/arc-B4o5ErLe.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-IgNQYras.js → architectureDiagram-5GKGNRK7-CxB-DJ3M.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CxB-DJ3M.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CxB-DJ3M.js.gz +0 -0
- package/dist/client/assets/{arrow-down-Dd0wVXN3.js → arrow-down-C3OQpvij.js} +1 -1
- package/dist/client/assets/{blockDiagram-I7D4REHJ-Rzz3EdOw.js → blockDiagram-I7D4REHJ-DMH3Ew64.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-DMH3Ew64.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-DMH3Ew64.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-BDooBgn9.js → c4Diagram-7LVT6UL2-BeAPmp6T.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-BeAPmp6T.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BeAPmp6T.js.gz +0 -0
- package/dist/client/assets/channel-D0j6Em2u.js +1 -0
- package/dist/client/assets/{chevron-left-gddD8oDV.js → chevron-left-BS8PE--U.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-CaRGzemz.js → chunk-2Q5K7J3B-N1tJpI75.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-DwFHSPNj.js → chunk-5VM5RSS4-Bk2ct6QD.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-DURRKDWg.js → chunk-F27PBJKO-CxZzshwv.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-CxZzshwv.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-CxZzshwv.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-DiI7TuKc.js → chunk-IMKFNOWR-B1kZ4qQ8.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-B1kZ4qQ8.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-B1kZ4qQ8.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-Cg9jVt2w.js → chunk-JWPE2WC7-BrLueD3X.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-BnV4j8Y0.js → chunk-POPQ4Y6H-CLdvlIcP.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-DO0KH1lL.js → chunk-SVP7TREG-DnY33T6h.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-DnY33T6h.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-DnY33T6h.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-DOcrTdPc.js → chunk-TICWLB2K-CF5UiDQa.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-CF5UiDQa.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-CF5UiDQa.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-DR-p5Zy1.js → chunk-XXDRQBXY-IxRQZCF6.js} +1 -1
- package/dist/client/assets/{circle-DhTLygNL.js → circle-BbMJmnZN.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-DqwCeJFc.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-DqwCeJFc.js +1 -0
- package/dist/client/assets/{clipboard-HGyJkE2L.js → clipboard-Bc3Y4SV-.js} +1 -1
- package/dist/client/assets/{clipboardText-DN1ZamHf.js → clipboardText-CQBpBKPz.js} +1 -1
- package/dist/client/assets/clipboardText-CQBpBKPz.js.br +0 -0
- package/dist/client/assets/clipboardText-CQBpBKPz.js.gz +0 -0
- package/dist/client/assets/{clipboardText-DfV7Sfy1.css → clipboardText-CvzDT_9N.css} +1 -1
- package/dist/client/assets/clipboardText-CvzDT_9N.css.br +0 -0
- package/dist/client/assets/clipboardText-CvzDT_9N.css.gz +0 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-DAd_FgYn.js → cose-bilkent-JH36ORCC-BzcBs1L3.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-BzcBs1L3.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-BzcBs1L3.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-gLgHGAg1.js → cynefin-OW5HDTMX-B28ddXz6.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-B28ddXz6.js.br +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-gLgHGAg1.js.gz → cynefin-OW5HDTMX-B28ddXz6.js.gz} +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-CfZcuwNN.js → cynefinDiagram-5FMLGOSQ-CvnkcRMN.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CvnkcRMN.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CvnkcRMN.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-D4hv95zo.js → dagre-GXQ25YYZ-CbpdGfwk.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-CbpdGfwk.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-CbpdGfwk.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-C6QPCa-U.js → diagram-S7CK7UJ4-CkzVORHp.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-CkzVORHp.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CkzVORHp.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-BGJFrMY0.js → diagram-UQ7AKVKN-CVYt9t-d.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-CVYt9t-d.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CVYt9t-d.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-N_wUYR-P.js → diagram-VSXAHHWV-CGajU0EV.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-CGajU0EV.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CGajU0EV.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-TTIdEQxJ.js → diagram-VX7I27RA-vYtp1P52.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-vYtp1P52.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-vYtp1P52.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-B5T47CF8.js → diagram-Z3DM3KII-DrlbY-rQ.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-DrlbY-rQ.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-DrlbY-rQ.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-BCVWN-6S.js → ebnfDiagram-PWID7BFC-Li843jVA.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Li843jVA.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-Li843jVA.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-carErB-Q.js → erDiagram-RLTQ6QDP-Bk6D65-Y.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-Bk6D65-Y.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-Bk6D65-Y.js.gz +0 -0
- package/dist/client/assets/{external-link-BB8IuvZq.js → external-link-CUbXNBYc.js} +1 -1
- package/dist/client/assets/{flowDiagram-HODETNUW-Cntq-S4F.js → flowDiagram-HODETNUW-BBEGJbRE.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-BBEGJbRE.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-BBEGJbRE.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-CDSctkKx.js → ganttDiagram-EL5Y4UJY-DcqIS8PT.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-DcqIS8PT.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-DcqIS8PT.js.gz +0 -0
- package/dist/client/assets/{git-compare-9RABXSu5.js → git-compare-TvhljhDy.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-bQpGwghF.js → gitGraphDiagram-WWUBYQGX-BO_waWtj.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BO_waWtj.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-BO_waWtj.js.gz +0 -0
- package/dist/client/assets/{index-VX_KQ4Kx.css → index-Db6cTvcd.css} +1 -1
- package/dist/client/assets/index-Db6cTvcd.css.br +0 -0
- package/dist/client/assets/{index-VX_KQ4Kx.css.gz → index-Db6cTvcd.css.gz} +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-RiSy10Xu.js → infoDiagram-27XIBGKW-eURiwH5i.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-aIPkdxQG.js → ishikawaDiagram-5VMMS53U-jYYxASiy.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-jYYxASiy.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-jYYxASiy.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-B_qkh4CF.js → journeyDiagram-3NMN7TZE-DnW1TBIv.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DnW1TBIv.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DnW1TBIv.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-Cqg9G98I.js → kanban-definition-UXKFOSKX-CcPfae--.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-CcPfae--.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-CcPfae--.js.gz +0 -0
- package/dist/client/assets/{layout-DsxXkS4m.js → layout-HBanbinE.js} +1 -1
- package/dist/client/assets/layout-HBanbinE.js.br +0 -0
- package/dist/client/assets/layout-HBanbinE.js.gz +0 -0
- package/dist/client/assets/{linear-YxCELrSW.js → linear-OVIirOu4.js} +1 -1
- package/dist/client/assets/{linear-YxCELrSW.js.br → linear-OVIirOu4.js.br} +0 -0
- package/dist/client/assets/linear-OVIirOu4.js.gz +0 -0
- package/dist/client/assets/{link-C7B3CQkJ.js → link-DP9WqPQf.js} +1 -1
- package/dist/client/assets/link-DP9WqPQf.js.br +0 -0
- package/dist/client/assets/link-DP9WqPQf.js.gz +0 -0
- package/dist/client/assets/{list-tree-CA4WMncL.js → list-tree-TZoK4D1s.js} +1 -1
- package/dist/client/assets/{maximize-2-C2r-kY_c.js → maximize-2-Duk9ucVy.js} +1 -1
- package/dist/client/assets/{mermaid.core-BX4Yidib.js → mermaid.core-Dkp6JxgQ.js} +5 -5
- package/dist/client/assets/mermaid.core-Dkp6JxgQ.js.br +0 -0
- package/dist/client/assets/mermaid.core-Dkp6JxgQ.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-Bj2fCwN5.js → mindmap-definition-YA3MSWOX-LqBs5pfH.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-LqBs5pfH.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-LqBs5pfH.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-CPlia7G3.js → passwordBootstrap-D8EJVph5.js} +1 -1
- package/dist/client/assets/passwordBootstrap-D8EJVph5.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-D8EJVph5.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-DCJ-5qA2.js → pegDiagram-XKGWAZYB-BZWd3pI7.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-BZWd3pI7.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-BZWd3pI7.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-DFxDtRlY.js → pieDiagram-E7YTZNPT-DmhK_nc-.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-DmhK_nc-.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DmhK_nc-.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-BlwkSa_A.js → quadrantDiagram-AXDQQJYC-Dt5EPEjj.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Dt5EPEjj.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-Dt5EPEjj.js.gz +0 -0
- package/dist/client/assets/{quote-DYO_qxPl.js → quote-BWHaYR1j.js} +1 -1
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-DjtRafKE.js → railroadDiagram-O6MQD6OU-RSvmvEvu.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-RSvmvEvu.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-RSvmvEvu.js.gz +0 -0
- package/dist/client/assets/{rdpSession-De-iS1CL.js → rdpSession-lNNwVCpP.js} +1 -1
- package/dist/client/assets/rdpSession-lNNwVCpP.js.br +0 -0
- package/dist/client/assets/rdpSession-lNNwVCpP.js.gz +0 -0
- package/dist/client/assets/{referenceSelection-Cb24Tb01.js → referenceSelection-CYduiLc1.js} +1 -1
- package/dist/client/assets/referenceSelection-CYduiLc1.js.br +0 -0
- package/dist/client/assets/referenceSelection-CYduiLc1.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-B1skd4Aj.js → requirementDiagram-BXWQKSXE-CXFONPV2.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CXFONPV2.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-CXFONPV2.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-2hK1yoP1.js → sankeyDiagram-P5KCCOFB-Dl-Bi6cO.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-Dl-Bi6cO.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-Dl-Bi6cO.js.gz +0 -0
- package/dist/client/assets/{search-DwVySubQ.js → search-g7nZaX-p.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-DIqwThjL.js → sequenceDiagram-WJ2MYXX4-ri1bCZN1.js} +1 -1
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-ri1bCZN1.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-ri1bCZN1.js.gz +0 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-CwYlm-u0.js → sizeCapture-INFHLROL-BgXXpEV-.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-BgXXpEV-.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BgXXpEV-.js.gz +0 -0
- package/dist/client/assets/{stateDiagram-D77RDMKH-D8Zz2h7U.js → stateDiagram-D77RDMKH-MOS7hXrp.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-MOS7hXrp.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-MOS7hXrp.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-qosY6j11.js +1 -0
- package/dist/client/assets/{sun-E4HSsh7y.js → sun-Docz24Gq.js} +1 -1
- package/dist/client/assets/{swimlanes-42K2YHIH-ChciX-e9.js → swimlanes-42K2YHIH-_nzqhPpE.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-_nzqhPpE.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-_nzqhPpE.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-L8D1VDHW.js +8 -0
- package/dist/client/assets/{swiper-CDQegRag.js → swiper-Bge5b7oc.js} +1 -1
- package/dist/client/assets/swiper-Bge5b7oc.js.br +0 -0
- package/dist/client/assets/swiper-Bge5b7oc.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-Dm-MR8Y4.js → timeline-definition-24CTP7MA-EoOfhpT4.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-EoOfhpT4.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-EoOfhpT4.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-BM5V0mRC.js → triangle-alert-DUjdvUeM.js} +1 -1
- package/dist/client/assets/{unplug-Dp1XvCMt.js → unplug-wUkIQYu0.js} +1 -1
- package/dist/client/assets/{use-gesture-react.esm-BHdJ-ZCI.js → use-gesture-react.esm-uKjWuDRY.js} +1 -1
- package/dist/client/assets/use-gesture-react.esm-uKjWuDRY.js.br +0 -0
- package/dist/client/assets/use-gesture-react.esm-uKjWuDRY.js.gz +0 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-DIjmm5vd.js → vennDiagram-4TSXK5OY-Ch6yr7S0.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-Ch6yr7S0.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-Ch6yr7S0.js.gz +0 -0
- package/dist/client/assets/{videoCompression-DPpn-S8r.js → videoCompression-cikNovzj.js} +1 -1
- package/dist/client/assets/videoCompression-cikNovzj.js.br +0 -0
- package/dist/client/assets/videoCompression-cikNovzj.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-Dxxn-JlX.js → wardleyDiagram-VM6X3IG4-D2PomnGY.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D2PomnGY.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-D2PomnGY.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-B7fqiF5T.js → xychartDiagram-S5SC5T6Z-Wj3WqOzn.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-Wj3WqOzn.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-Wj3WqOzn.js.gz +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/package.json +1 -1
- package/runtime-manifest.json +2 -2
- package/dist/client/assets/AndroidMirrorView-SpjoKKYZ.js.br +0 -0
- package/dist/client/assets/App-BXyQinZW.js.br +0 -0
- package/dist/client/assets/App-BXyQinZW.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-DUwBHRpo.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-DUwBHRpo.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-CVBQbHpG.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-CVBQbHpG.js.gz +0 -0
- package/dist/client/assets/ChatRichContent-BI5iYvRf.js.br +0 -0
- package/dist/client/assets/ChatRichContent-BI5iYvRf.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-qYw6Sv3a.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-qYw6Sv3a.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-DLxe6Zyf.js +0 -1
- package/dist/client/assets/ComputerControlView-Dmmuxujg.js.br +0 -0
- package/dist/client/assets/ComputerControlView-Dmmuxujg.js.gz +0 -0
- package/dist/client/assets/DagPlayground-D1FkpA0b.js.br +0 -0
- package/dist/client/assets/DagPlayground-D1FkpA0b.js.gz +0 -0
- package/dist/client/assets/DiffLab-C4y3Mu1m.js.br +0 -0
- package/dist/client/assets/DiffLab-C4y3Mu1m.js.gz +0 -0
- package/dist/client/assets/DiffReview-DVaOXs0z.js.br +0 -0
- package/dist/client/assets/DiffReview-DVaOXs0z.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-C49n0eG5.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-C49n0eG5.js.gz +0 -0
- package/dist/client/assets/DiffViewer-C_YHDsAf.js.br +0 -0
- package/dist/client/assets/DiffViewer-C_YHDsAf.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Bm1UqrDS.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Bm1UqrDS.js.gz +0 -0
- package/dist/client/assets/Markdown-CohgsLqO.js.br +0 -0
- package/dist/client/assets/Markdown-CohgsLqO.js.gz +0 -0
- package/dist/client/assets/ModelPreview-a0HGTXuA.js.br +0 -0
- package/dist/client/assets/ModelPreview-a0HGTXuA.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-BKec4LtD.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-BKec4LtD.js.gz +0 -0
- package/dist/client/assets/RightSidebar-CxeEK1fi.js.br +0 -0
- package/dist/client/assets/RightSidebar-CxeEK1fi.js.gz +0 -0
- package/dist/client/assets/SessionChatView-Bk5DIrLU.js +0 -20
- package/dist/client/assets/SessionChatView-Bk5DIrLU.js.br +0 -0
- package/dist/client/assets/SessionChatView-Bk5DIrLU.js.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-D8kJh4k1.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-D8kJh4k1.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-ByyjDuIT.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-ByyjDuIT.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-9jetKIey.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-9jetKIey.js.gz +0 -0
- package/dist/client/assets/app-CjIJnhRC.js.br +0 -0
- package/dist/client/assets/app-CjIJnhRC.js.gz +0 -0
- package/dist/client/assets/arc-D_lxie76.js.br +0 -0
- package/dist/client/assets/arc-D_lxie76.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-IgNQYras.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-IgNQYras.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-Rzz3EdOw.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-Rzz3EdOw.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BDooBgn9.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BDooBgn9.js.gz +0 -0
- package/dist/client/assets/channel-DCcxp7JL.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-DURRKDWg.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-DURRKDWg.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-DiI7TuKc.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-DiI7TuKc.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-DO0KH1lL.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-DO0KH1lL.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DOcrTdPc.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DOcrTdPc.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-B34NqDOF.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-B34NqDOF.js +0 -1
- package/dist/client/assets/clipboardText-DN1ZamHf.js.br +0 -0
- package/dist/client/assets/clipboardText-DN1ZamHf.js.gz +0 -0
- package/dist/client/assets/clipboardText-DfV7Sfy1.css.br +0 -0
- package/dist/client/assets/clipboardText-DfV7Sfy1.css.gz +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DAd_FgYn.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DAd_FgYn.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-gLgHGAg1.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CfZcuwNN.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CfZcuwNN.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-D4hv95zo.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-D4hv95zo.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-C6QPCa-U.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-C6QPCa-U.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-BGJFrMY0.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-BGJFrMY0.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-N_wUYR-P.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-N_wUYR-P.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-TTIdEQxJ.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-TTIdEQxJ.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-B5T47CF8.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-B5T47CF8.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BCVWN-6S.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BCVWN-6S.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-carErB-Q.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-carErB-Q.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Cntq-S4F.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Cntq-S4F.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CDSctkKx.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CDSctkKx.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-bQpGwghF.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-bQpGwghF.js.gz +0 -0
- package/dist/client/assets/index-VX_KQ4Kx.css.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-aIPkdxQG.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-aIPkdxQG.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B_qkh4CF.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B_qkh4CF.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-Cqg9G98I.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-Cqg9G98I.js.gz +0 -0
- package/dist/client/assets/layout-DsxXkS4m.js.br +0 -0
- package/dist/client/assets/layout-DsxXkS4m.js.gz +0 -0
- package/dist/client/assets/linear-YxCELrSW.js.gz +0 -0
- package/dist/client/assets/link-C7B3CQkJ.js.br +0 -0
- package/dist/client/assets/link-C7B3CQkJ.js.gz +0 -0
- package/dist/client/assets/mermaid.core-BX4Yidib.js.br +0 -0
- package/dist/client/assets/mermaid.core-BX4Yidib.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-Bj2fCwN5.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-Bj2fCwN5.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CPlia7G3.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CPlia7G3.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-DCJ-5qA2.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-DCJ-5qA2.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DFxDtRlY.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DFxDtRlY.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BlwkSa_A.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BlwkSa_A.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DjtRafKE.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DjtRafKE.js.gz +0 -0
- package/dist/client/assets/rdpSession-De-iS1CL.js.br +0 -0
- package/dist/client/assets/rdpSession-De-iS1CL.js.gz +0 -0
- package/dist/client/assets/referenceSelection-Cb24Tb01.js.br +0 -0
- package/dist/client/assets/referenceSelection-Cb24Tb01.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-B1skd4Aj.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-B1skd4Aj.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-2hK1yoP1.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-2hK1yoP1.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DIqwThjL.js.br +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-DIqwThjL.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-CwYlm-u0.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-CwYlm-u0.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-D8Zz2h7U.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-D8Zz2h7U.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-e3_uvNTv.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-ChciX-e9.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-ChciX-e9.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CnK3uMUF.js +0 -8
- package/dist/client/assets/swiper-CDQegRag.js.br +0 -0
- package/dist/client/assets/swiper-CDQegRag.js.gz +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-Dm-MR8Y4.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-Dm-MR8Y4.js.gz +0 -0
- package/dist/client/assets/use-gesture-react.esm-BHdJ-ZCI.js.br +0 -0
- package/dist/client/assets/use-gesture-react.esm-BHdJ-ZCI.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DIjmm5vd.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DIjmm5vd.js.gz +0 -0
- package/dist/client/assets/videoCompression-DPpn-S8r.js.br +0 -0
- package/dist/client/assets/videoCompression-DPpn-S8r.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-Dxxn-JlX.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-Dxxn-JlX.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-B7fqiF5T.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-B7fqiF5T.js.gz +0 -0
|
Binary file
|
|
Binary file
|
package/dist/client/assets/{RecordingSaveDialog-BKec4LtD.js → RecordingSaveDialog-SqE6T39W.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a$ as oe,eA as W,cr as s,cH as ne,cp as ge,cO as Fe,R as Ie,eB as Me,a8 as Oe,s as Xe,C as Be,eL as He,x as ze,dB as Ge,b6 as $e,ax as Ke}from"./app-CjIJnhRC.js";import{R as Ue,b as t,r as je}from"./dnd-BCFAPC0L.js";import{u as xe,A as qe}from"./use-gesture-react.esm-BHdJ-ZCI.js";import{S as Ve,c as Ye,h as Ze,r as We,y as Je,b as Qe,u as et}from"./gestureArbiter-DszagC-d.js";const tt=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],rt=oe("folder-tree",tt);const nt=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],st=oe("house",nt);const at=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],wt=oe("upload",at),ye={dampingRatio:.8,response:.3},ot=.998;function it(n,i,c,l){const a=2*Math.PI/Math.max(n.response,.001),b=i-l,h=c,o=n.dampingRatio;if(Math.abs(o-1)<1e-4){const g=b,R=h+a*b;return{value:v=>l+(g+R*v)*Math.exp(-a*v),velocity:v=>(R-a*(g+R*v))*Math.exp(-a*v)}}if(o<1){const g=a*Math.sqrt(1-o*o),R=b,v=(h+o*a*b)/g;return{value:x=>l+Math.exp(-o*a*x)*(R*Math.cos(g*x)+v*Math.sin(g*x)),velocity:x=>Math.exp(-o*a*x)*((v*g-o*a*R)*Math.cos(g*x)-(R*g+o*a*v)*Math.sin(g*x))}}const f=a*Math.sqrt(o*o-1),p=-o*a+f,m=-o*a-f,w=(h-m*b)/(p-m),j=b-w;return{value:g=>l+w*Math.exp(p*g)+j*Math.exp(m*g),velocity:g=>w*p*Math.exp(p*g)+j*m*Math.exp(m*g)}}function ct(n,i=ot){return n/1e3*(i/(1-i))}function ve(n,i,c=.55){return n*i*c/(i+c*Math.abs(n))}function lt(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}const ut=.1,dt=5;function ft(n,i,c,l,a){const b=it(n,i,c,l),h=1e3/60,o=240,f=[];for(let p=0;p<o;p++){const m=p*h/1e3,w=b.value(m),j=b.velocity(m);if(f.push(a?a(w):w),p>0&&Math.abs(w-l)<ut&&Math.abs(j)<dt)break}return f.push(a?a(l):l),{frames:f,durationMs:(f.length-1)*h,solver:b}}const pt='input:not([type="hidden"]), textarea, select, [contenteditable]:not([contenteditable="false"])';function mt(){if(typeof document>"u")return;const n=document.activeElement;n instanceof HTMLElement&&n.matches(pt)&&n.blur()}const ht=18,ke=8,Re={touch:ke,pen:ke},bt=500,se=200,Ee=50,gt=`[${Ve}]`;function ae(n,i,c){return Math.min(c,Math.max(i,n))}function we(n){if(!n||typeof n!="object")return!1;const i=n;return typeof i.pointerType=="string"?i.pointerType==="touch"||i.pointerType==="pen":typeof i.type=="string"&&i.type.startsWith("touch")}function Se(n){if(!n||typeof n!="object")return!1;const i=n.target;return i instanceof Element&&!!i.closest(gt)}function K(...n){typeof window<"u"&&window.__SIDEBAR_DEBUG__&&console.log("[Sidebar]",...n)}const St=Ue.forwardRef(function({side:i,isOpen:c,drawerWidthPx:l,onClose:a,onOpen:b,children:h,pinned:o=!1},f){const{t:p}=W(),m=i==="left",w=m?-l:l,j=t.useRef(null),g=t.useRef(null),R=t.useRef(c?0:w),v=t.useRef(null),x=t.useRef(null),T=t.useRef(0),D=t.useRef(null),_=t.useRef(null),k=t.useRef(!1),E=t.useRef(null),N=t.useRef(!1),M=t.useRef([]),I=t.useRef(null),Te=t.useRef(R.current),_e=t.useRef(c?1:0),O=t.useRef(c);O.current=c;const X=t.useRef(w);X.current=w;const J=t.useRef(l);J.current=l;const Q=t.useRef(m);Q.current=m;const ie=t.useRef(a);ie.current=a;const ee=t.useRef(b);ee.current=b;const ce=t.useCallback(e=>{j.current=e,typeof f=="function"?f(e):f&&(f.current=e)},[f]),le=t.useCallback(()=>{x.current!==null&&(window.cancelAnimationFrame(x.current),x.current=null),v.current=null},[]),U=t.useCallback(e=>{const r=J.current;return Q.current?(e+r)/r:(r-e)/r},[]),ue=t.useCallback(e=>{const r=g.current;r&&(r.style.opacity=String(ae(U(e),0,1)))},[U]),A=t.useCallback(e=>{R.current=e;const r=j.current;r&&(r.style.transform=`translateX(${e}px)`,ue(e))},[ue]),q=t.useCallback(e=>{v.current=e,x.current===null&&(x.current=window.requestAnimationFrame(()=>{x.current=null;const r=v.current;v.current=null,r!==null&&A(r)}))},[A]),B=t.useCallback(()=>{x.current!==null&&(window.cancelAnimationFrame(x.current),x.current=null);const e=v.current;v.current=null,e!==null&&A(e)},[A]),$=t.useCallback(e=>{const r=X.current;return ae(e,Math.min(0,r),Math.max(0,r))},[]),H=t.useCallback(()=>{const e=D.current;if(!e)return null;D.current=null;const r=(performance.now()-e.startTime)/1e3,u={value:e.solver.value(r),velocity:e.solver.velocity(r)};return e.animations.forEach(d=>d.cancel()),u},[]),L=t.useCallback(()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},[]),te=t.useCallback(()=>{I.current?.(),I.current=null},[]),V=t.useCallback(()=>{B(),L();const e=H();e&&A($(e.value));const r=j.current,u=g.current;r?.getAnimations().forEach(d=>d.cancel()),r&&(r.style.transition="none",r.style.opacity="1"),u?.getAnimations().forEach(d=>d.cancel()),u&&(u.style.transition="none")},[A,L,$,B,H]),Y=t.useCallback((e,r)=>{B(),L();const u=j.current,d=g.current,y=e?0:X.current;d&&(d.style.pointerEvents=e?"auto":"none");const S=H(),C=S?$(S.value):R.current,z=r?.velocity??S?.velocity??0;if(lt())return R.current=y,u&&(u.style.transition=`opacity ${se}ms ease`,u.style.opacity=e?"1":"0",u.style.transform=`translateX(${y}px)`),d&&(d.style.transition=`opacity ${se}ms ease`,d.style.opacity=e?"1":"0"),se;u&&(u.style.transition="none",u.style.opacity="1"),d&&(d.style.transition="none");const P=Math.abs(r?.velocity??0)>bt,{frames:G,durationMs:Z,solver:Le}=ft({dampingRatio:P?ye.dampingRatio:1,response:ye.response},C,z,y,$);if(!u||Math.abs(C-y)<.5&&Math.abs(z)<5)return A(y),0;const re=u.animate(G.map(F=>({transform:`translateX(${F}px)`})),{duration:Z,easing:"linear",fill:"forwards"}),be=[re];return d&&be.push(d.animate(G.map(F=>({opacity:String(ae(U(F),0,1))})),{duration:Z,easing:"linear",fill:"forwards"})),D.current={solver:Le,startTime:performance.now(),target:y,animations:be},K("spring start",{startX:C,startVelocity:z,targetX:y,frames:G.length,durationMs:Z}),re.onfinish=()=>{const F=D.current;!F||!F.animations.includes(re)||(D.current=null,A(y),F.animations.forEach(Pe=>Pe.cancel()),K("spring finish",{targetX:y}))},Z},[A,L,$,B,U,H]),de=t.useCallback(e=>{B();const r=e,u=0,d=X.current,y=R.current+ct(r),S=Math.abs(y-u)<=Math.abs(y-d);K("decideSnap",{velocity:r,currentX:R.current,projected:y,shouldOpen:S});const C=Y(S,{velocity:r});return S&&!O.current?_.current=window.setTimeout(()=>{_.current=null,ee.current?.()},C+Ee):!S&&O.current&&(_.current=window.setTimeout(()=>{_.current=null,ie.current()},C+Ee)),S},[Y,B]),fe=t.useCallback(e=>{const r=X.current,u=Math.min(0,r),d=Math.max(0,r),y=J.current;return e<u?u-ve(u-e,y):e>d?d+ve(e-d,y):e},[]),pe=t.useCallback(e=>{const r=M.current,u=performance.now();r.push({t:u,x:e});const d=u-120;for(;r.length>0&&r[0].t<d;)r.shift()},[]),me=t.useCallback(()=>{const e=M.current;if(e.length<2)return 0;const r=e[e.length-1];if(performance.now()-r.t>60)return 0;const u=e[0],d=(r.t-u.t)/1e3;return d<.016?0:(r.x-u.x)/d},[]);t.useEffect(()=>{L();const e=D.current,r=c?0:X.current;e&&e.target===r||Y(c)},[c,Y,L]),t.useEffect(()=>{V(),q(O.current?0:w)},[w,V,q]),t.useEffect(()=>()=>{le(),L(),H(),te()},[L,le,te,H]);const Ne=xe(({active:e,cancel:r,first:u,last:d,movement:[y],event:S})=>{if(K("bindPanel",{active:e,first:u,last:d,mx:y}),!we(S)){r();return}if(u){if(te(),k.current=!1,E.current=null,M.current=[],Se(S)){r();return}const C=j.current,z=C?Ye(S.target,C):null;if(!z||Ze()){r();return}const P=We(z,y,Q.current?-1:1);if(K("arbitrate",{owner:P.kind,mx:y}),P.kind==="swiper"){I.current=Je(P.instance),r();return}if(P.kind==="scroller"){const G=Qe(P.element);if(G)E.current=G;else{r();return}}E.current||(k.current=!0,V(),T.current=R.current)}if(!e){E.current=null,k.current&&(k.current=!1,de(me()));return}if(E.current){et(E.current,y);return}if(k.current){const C=fe(T.current+y);pe(C),q(C)}},{axis:"x",axisThreshold:Re,filterTaps:!0,pointer:{touch:!0}}),Ae=xe(({active:e,cancel:r,first:u,movement:[d],event:y})=>{if(!we(y)){r();return}if(O.current){r();return}if(u&&(N.current=!0,M.current=[],V(),T.current=R.current),!e){N.current&&(N.current=!1,de(me())&&mt());return}if(N.current){const S=fe(T.current+d);pe(S),q(S)}},{axis:"x",axisThreshold:Re,filterTaps:!0,pointer:{touch:!0}}),De=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),O.current||ee.current?.()},[]);if(o)return s.jsx("aside",{ref:ce,"data-sidebar":i,"data-sidebar-pinned":"true",className:"relative flex h-full min-h-0 w-full flex-col app-chrome-bg",children:h});const he=Ne();return s.jsxs(s.Fragment,{children:[s.jsx("div",{...Ae(),style:{position:"fixed",top:"1.5rem",bottom:"10rem",...m?{left:0}:{right:0},width:ht,zIndex:"var(--z-chrome-hint)",touchAction:"none",pointerEvents:c?"none":"auto"},onClick:De,"aria-label":p(m?"sidebar.openLeftSidebar":"sidebar.openRightSidebar")}),s.jsx("div",{ref:g,"data-sidebar-backdrop":i,className:"fixed inset-0 z-sidebar-backdrop bg-[var(--app-backdrop)] cursor-default",style:{opacity:_e.current,pointerEvents:c?"auto":"none",transition:"none",willChange:"opacity"},onClick:a,"aria-label":p("sidebar.closeSidebar")}),s.jsx("aside",{...he,onClickCapture:e=>{Se(e)||he.onClickCapture?.(e)},ref:ce,"data-sidebar":i,className:`fixed inset-y-0 z-sidebar-panel flex flex-col chrome-glow-panel will-change-transform ${m?"border-r border-border":"border-l border-border/15"}`,style:{...m?{left:0}:{right:0},width:l,maxWidth:m?"94vw":"95vw",transform:`translateX(${Te.current}px)`,transition:"none",touchAction:"pan-y",pointerEvents:c?"auto":"none",paddingTop:"var(--safe-top-inset, env(safe-area-inset-top, 0px))",paddingBottom:"var(--safe-bottom-inset, env(safe-area-inset-bottom, 0px))",...m?{paddingLeft:"var(--safe-left-inset, env(safe-area-inset-left, 0px))"}:{paddingRight:"var(--safe-right-inset, env(safe-area-inset-right, 0px))"}},children:h})]})});function xt(n,i="/"){const c=ne(i),l=ge(n,c)?ne(n):c,[a,b]=t.useState({root:c,initial:l,path:l}),h=a.root===c&&a.initial===l?a.path:l;t.useEffect(()=>{b({root:c,initial:l,path:l})},[c,l]);const o=f=>{ge(f,c)&&b({root:c,initial:l,path:ne(f)})};return{path:h,navigate:o,canGoParent:h!==c,goParent:()=>o(Fe(h)),goRoot:()=>o(c)}}function yt({parent:n,root:i,refresh:c,buttonClassName:l,iconSize:a=14}){const{t:b}=W(),h=l??"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground disabled:opacity-30";return s.jsx(s.Fragment,{children:[{action:n,Icon:qe,label:b("rightSidebar.parentFolder")},{action:i,Icon:st,label:b("rightSidebar.backToProjectRoot")},{action:c,Icon:Ie,label:b("rightSidebar.refreshFiles")}].map(({action:o,Icon:f,label:p},m)=>o&&s.jsx("button",{type:"button",onClick:o.onClick,disabled:o.disabled,className:h,"aria-label":o.label??p,title:o.title??o.label??p,children:s.jsx(f,{size:a})},m))})}function Ce({open:n,initialPath:i,title:c,labels:l,onCancel:a,onConfirm:b}){const{t:h}=W(),o={hint:l?.hint??h("sidebar.directoryPickerHint"),cancel:l?.cancel??h("common.cancel"),confirm:l?.confirm??h("sidebar.useThisFolder"),close:l?.close??h("common.close"),parent:l?.parent??h("rightSidebar.parentFolder")},f=t.useRef(null);Me(f,n,a);const p=xt(i.trim()),m=p.path;return t.useEffect(()=>{n||p.navigate(i.trim())},[n,i]),t.useEffect(()=>{if(!n)return;const w=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=w}},[n]),n?je.createPortal(s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop cursor-default bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:a,"aria-label":o.cancel}),s.jsxs("section",{ref:f,tabIndex:-1,role:"dialog","aria-modal":"true","aria-labelledby":"directory-picker-title",className:"fixed bottom-[max(0.75rem,env(safe-area-inset-bottom,0px))] left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(0.75rem,env(safe-area-inset-top,0px))] z-modal-panel flex flex-col overflow-hidden rounded-2xl border border-border/15 bg-surface shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:h-[min(72svh,36rem)] sm:w-[min(36rem,calc(100vw-2rem))] sm:-translate-x-1/2 sm:-translate-y-1/2",children:[s.jsxs("header",{className:"flex shrink-0 items-center gap-3 border-b border-border/15 px-4 py-3",children:[s.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:s.jsx(rt,{size:15})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("h2",{id:"directory-picker-title",className:"text-[13px] font-semibold text-foreground",children:c}),s.jsx("p",{className:"mt-0.5 text-[10px] text-muted-foreground",children:o.hint})]}),s.jsx("button",{type:"button",onClick:a,className:"inline-flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":o.close,children:s.jsx(Oe,{size:15})})]}),s.jsxs("div",{className:"flex min-h-11 shrink-0 items-center gap-2 border-b border-border/15 px-3 py-1.5",children:[s.jsx(yt,{parent:{onClick:p.goParent,disabled:!p.canGoParent,label:o.parent}}),s.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[10.5px] text-foreground",title:m,children:m})]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1",children:s.jsx(Xe,{rootPath:m,directoriesOnly:!0,onFileSelect:()=>{},onDirectoryRoot:p.navigate,selectedFilePath:i||null})}),s.jsxs("footer",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border/15 bg-surface-elevated px-3 py-3",children:[s.jsx("button",{type:"button",onClick:a,className:"min-h-10 rounded-lg bg-surface-2 px-4 text-[11px] font-medium text-foreground transition hover:bg-surface",children:o.cancel}),s.jsxs("button",{type:"button",onClick:()=>b(m),className:"inline-flex min-h-10 items-center gap-1.5 rounded-lg bg-primary px-4 text-[11px] font-semibold text-primary-foreground transition hover:bg-primary/90",children:[s.jsx(Be,{size:13}),o.confirm]})]})]})]}),document.body):null}const Mt=Object.freeze(Object.defineProperty({__proto__:null,DirectoryPickerDialog:Ce},Symbol.toStringTag,{value:"Module"}));function jt({file:n,initialPath:i,onInsert:c,onDone:l}){const{t:a}=W(),b=He(),[h,o]=t.useState(!1),[f,p]=t.useState(!1),[m,w]=t.useState(!1),[j,g]=t.useState(!1),[R,v]=t.useState(null),x=t.useRef(!1),T=t.useRef(null);Me(T,!h,()=>{});const D=async()=>{if(!x.current){x.current=!0,p(!0),g(!0);try{await $e(n.id),l()}catch(k){v(k instanceof Error?k.message:String(k))}finally{x.current=!1,p(!1),g(!1)}}};t.useEffect(()=>{if(h)return;T.current?.focus();const k=E=>{if(E.stopPropagation(),E.key==="Escape"&&E.preventDefault(),E.key!=="Tab")return;const N=Array.from(T.current?.querySelectorAll("button:not(:disabled)")??[]),M=N[0],I=N.at(-1);E.shiftKey&&(document.activeElement===M||document.activeElement===T.current)?(E.preventDefault(),I?.focus()):!E.shiftKey&&document.activeElement===I&&(E.preventDefault(),M?.focus())};return document.addEventListener("keydown",k,!0),()=>document.removeEventListener("keydown",k,!0)},[h]);const _=async(k,E)=>{if(x.current)return;const N=Ke(E);x.current=!0,p(!0),w(k!==void 0),o(!1),v(null);try{const M=await Ge(n.id,k);if(k===void 0&&(!N()||await c(M.path,E)===!1))throw new Error(a("android.captureUnavailable"));l()}catch(M){v(M instanceof Error?M.message:String(M))}finally{x.current=!1,p(!1)}};return h?s.jsx(Ce,{open:!0,initialPath:i||"/",title:a("android.recordingSave"),onCancel:()=>o(!1),onConfirm:k=>{_(k)}}):je.createPortal(s.jsx("div",{className:"fixed inset-0 z-modal-panel flex items-center justify-center bg-[var(--app-backdrop)] p-4",children:s.jsxs("div",{ref:T,role:"dialog","aria-modal":"true","aria-labelledby":"recording-save-title",tabIndex:-1,"aria-busy":f,className:"w-full max-w-sm rounded-xl border border-border bg-surface p-4 text-foreground shadow-xl outline-none",children:[s.jsx("h2",{id:"recording-save-title",className:"text-sm font-semibold",children:a("android.recordingConfirm")}),s.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:a("android.recordingSaveHint")}),s.jsxs("p",{className:"mt-2 break-all text-xs text-muted-foreground",children:[n.name," · ",(n.size/1024/1024).toFixed(1)," MB"]}),(R||n.error)&&s.jsx("p",{role:"alert",className:"mt-3 break-words text-xs text-destructive",children:R||n.error}),f&&s.jsxs("p",{role:"status",className:"mt-3 flex items-center gap-2 text-sm text-primary",children:[s.jsx(ze,{size:16,className:"animate-spin"}),j?`${a("android.recordingDiscard")}…`:a(m?"android.recordingSaving":"android.captureInserting")]}),s.jsxs("div",{className:"mt-4 flex flex-col gap-2",children:[s.jsx("button",{type:"button",disabled:f||n.status!=="ready",onClick:k=>{_(void 0,k.currentTarget)},className:"min-h-10 rounded-lg bg-primary px-3 text-sm text-primary-foreground disabled:opacity-40",children:a("android.recordingInsert")}),!b&&s.jsx("button",{type:"button",disabled:f||n.status!=="ready",onClick:()=>o(!0),className:"min-h-10 rounded-lg bg-surface-2 px-3 text-sm disabled:opacity-40",children:a("android.recordingSave")}),s.jsx("button",{type:"button",disabled:f,onClick:()=>{D()},className:"min-h-10 rounded-lg px-3 text-sm text-muted-foreground disabled:opacity-40",children:a("android.recordingDiscard")})]})]})}),document.body)}export{Ce as D,yt as F,st as H,jt as R,St as S,wt as U,Mt as a,xt as u};
|
|
1
|
+
import{a$ as oe,eA as W,cr as s,cH as ne,cp as ge,cO as Fe,R as Ie,eB as Me,a8 as Oe,s as Xe,C as Be,eL as He,x as ze,dB as Ge,b6 as $e,ax as Ke}from"./app-CG7UnlvD.js";import{R as Ue,b as t,r as je}from"./dnd-BCFAPC0L.js";import{u as xe,A as qe}from"./use-gesture-react.esm-uKjWuDRY.js";import{S as Ve,c as Ye,h as Ze,r as We,y as Je,b as Qe,u as et}from"./gestureArbiter-DszagC-d.js";const tt=[["path",{d:"M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"hod4my"}],["path",{d:"M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z",key:"w4yl2u"}],["path",{d:"M3 5a2 2 0 0 0 2 2h3",key:"f2jnh7"}],["path",{d:"M3 3v13a2 2 0 0 0 2 2h3",key:"k8epm1"}]],rt=oe("folder-tree",tt);const nt=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],st=oe("house",nt);const at=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],wt=oe("upload",at),ye={dampingRatio:.8,response:.3},ot=.998;function it(n,i,c,l){const a=2*Math.PI/Math.max(n.response,.001),b=i-l,h=c,o=n.dampingRatio;if(Math.abs(o-1)<1e-4){const g=b,R=h+a*b;return{value:v=>l+(g+R*v)*Math.exp(-a*v),velocity:v=>(R-a*(g+R*v))*Math.exp(-a*v)}}if(o<1){const g=a*Math.sqrt(1-o*o),R=b,v=(h+o*a*b)/g;return{value:x=>l+Math.exp(-o*a*x)*(R*Math.cos(g*x)+v*Math.sin(g*x)),velocity:x=>Math.exp(-o*a*x)*((v*g-o*a*R)*Math.cos(g*x)-(R*g+o*a*v)*Math.sin(g*x))}}const f=a*Math.sqrt(o*o-1),p=-o*a+f,m=-o*a-f,w=(h-m*b)/(p-m),j=b-w;return{value:g=>l+w*Math.exp(p*g)+j*Math.exp(m*g),velocity:g=>w*p*Math.exp(p*g)+j*m*Math.exp(m*g)}}function ct(n,i=ot){return n/1e3*(i/(1-i))}function ve(n,i,c=.55){return n*i*c/(i+c*Math.abs(n))}function lt(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}const ut=.1,dt=5;function ft(n,i,c,l,a){const b=it(n,i,c,l),h=1e3/60,o=240,f=[];for(let p=0;p<o;p++){const m=p*h/1e3,w=b.value(m),j=b.velocity(m);if(f.push(a?a(w):w),p>0&&Math.abs(w-l)<ut&&Math.abs(j)<dt)break}return f.push(a?a(l):l),{frames:f,durationMs:(f.length-1)*h,solver:b}}const pt='input:not([type="hidden"]), textarea, select, [contenteditable]:not([contenteditable="false"])';function mt(){if(typeof document>"u")return;const n=document.activeElement;n instanceof HTMLElement&&n.matches(pt)&&n.blur()}const ht=18,ke=8,Re={touch:ke,pen:ke},bt=500,se=200,Ee=50,gt=`[${Ve}]`;function ae(n,i,c){return Math.min(c,Math.max(i,n))}function we(n){if(!n||typeof n!="object")return!1;const i=n;return typeof i.pointerType=="string"?i.pointerType==="touch"||i.pointerType==="pen":typeof i.type=="string"&&i.type.startsWith("touch")}function Se(n){if(!n||typeof n!="object")return!1;const i=n.target;return i instanceof Element&&!!i.closest(gt)}function K(...n){typeof window<"u"&&window.__SIDEBAR_DEBUG__&&console.log("[Sidebar]",...n)}const St=Ue.forwardRef(function({side:i,isOpen:c,drawerWidthPx:l,onClose:a,onOpen:b,children:h,pinned:o=!1},f){const{t:p}=W(),m=i==="left",w=m?-l:l,j=t.useRef(null),g=t.useRef(null),R=t.useRef(c?0:w),v=t.useRef(null),x=t.useRef(null),T=t.useRef(0),D=t.useRef(null),_=t.useRef(null),k=t.useRef(!1),E=t.useRef(null),N=t.useRef(!1),M=t.useRef([]),I=t.useRef(null),Te=t.useRef(R.current),_e=t.useRef(c?1:0),O=t.useRef(c);O.current=c;const X=t.useRef(w);X.current=w;const J=t.useRef(l);J.current=l;const Q=t.useRef(m);Q.current=m;const ie=t.useRef(a);ie.current=a;const ee=t.useRef(b);ee.current=b;const ce=t.useCallback(e=>{j.current=e,typeof f=="function"?f(e):f&&(f.current=e)},[f]),le=t.useCallback(()=>{x.current!==null&&(window.cancelAnimationFrame(x.current),x.current=null),v.current=null},[]),U=t.useCallback(e=>{const r=J.current;return Q.current?(e+r)/r:(r-e)/r},[]),ue=t.useCallback(e=>{const r=g.current;r&&(r.style.opacity=String(ae(U(e),0,1)))},[U]),A=t.useCallback(e=>{R.current=e;const r=j.current;r&&(r.style.transform=`translateX(${e}px)`,ue(e))},[ue]),q=t.useCallback(e=>{v.current=e,x.current===null&&(x.current=window.requestAnimationFrame(()=>{x.current=null;const r=v.current;v.current=null,r!==null&&A(r)}))},[A]),B=t.useCallback(()=>{x.current!==null&&(window.cancelAnimationFrame(x.current),x.current=null);const e=v.current;v.current=null,e!==null&&A(e)},[A]),$=t.useCallback(e=>{const r=X.current;return ae(e,Math.min(0,r),Math.max(0,r))},[]),H=t.useCallback(()=>{const e=D.current;if(!e)return null;D.current=null;const r=(performance.now()-e.startTime)/1e3,u={value:e.solver.value(r),velocity:e.solver.velocity(r)};return e.animations.forEach(d=>d.cancel()),u},[]),L=t.useCallback(()=>{_.current!==null&&(window.clearTimeout(_.current),_.current=null)},[]),te=t.useCallback(()=>{I.current?.(),I.current=null},[]),V=t.useCallback(()=>{B(),L();const e=H();e&&A($(e.value));const r=j.current,u=g.current;r?.getAnimations().forEach(d=>d.cancel()),r&&(r.style.transition="none",r.style.opacity="1"),u?.getAnimations().forEach(d=>d.cancel()),u&&(u.style.transition="none")},[A,L,$,B,H]),Y=t.useCallback((e,r)=>{B(),L();const u=j.current,d=g.current,y=e?0:X.current;d&&(d.style.pointerEvents=e?"auto":"none");const S=H(),C=S?$(S.value):R.current,z=r?.velocity??S?.velocity??0;if(lt())return R.current=y,u&&(u.style.transition=`opacity ${se}ms ease`,u.style.opacity=e?"1":"0",u.style.transform=`translateX(${y}px)`),d&&(d.style.transition=`opacity ${se}ms ease`,d.style.opacity=e?"1":"0"),se;u&&(u.style.transition="none",u.style.opacity="1"),d&&(d.style.transition="none");const P=Math.abs(r?.velocity??0)>bt,{frames:G,durationMs:Z,solver:Le}=ft({dampingRatio:P?ye.dampingRatio:1,response:ye.response},C,z,y,$);if(!u||Math.abs(C-y)<.5&&Math.abs(z)<5)return A(y),0;const re=u.animate(G.map(F=>({transform:`translateX(${F}px)`})),{duration:Z,easing:"linear",fill:"forwards"}),be=[re];return d&&be.push(d.animate(G.map(F=>({opacity:String(ae(U(F),0,1))})),{duration:Z,easing:"linear",fill:"forwards"})),D.current={solver:Le,startTime:performance.now(),target:y,animations:be},K("spring start",{startX:C,startVelocity:z,targetX:y,frames:G.length,durationMs:Z}),re.onfinish=()=>{const F=D.current;!F||!F.animations.includes(re)||(D.current=null,A(y),F.animations.forEach(Pe=>Pe.cancel()),K("spring finish",{targetX:y}))},Z},[A,L,$,B,U,H]),de=t.useCallback(e=>{B();const r=e,u=0,d=X.current,y=R.current+ct(r),S=Math.abs(y-u)<=Math.abs(y-d);K("decideSnap",{velocity:r,currentX:R.current,projected:y,shouldOpen:S});const C=Y(S,{velocity:r});return S&&!O.current?_.current=window.setTimeout(()=>{_.current=null,ee.current?.()},C+Ee):!S&&O.current&&(_.current=window.setTimeout(()=>{_.current=null,ie.current()},C+Ee)),S},[Y,B]),fe=t.useCallback(e=>{const r=X.current,u=Math.min(0,r),d=Math.max(0,r),y=J.current;return e<u?u-ve(u-e,y):e>d?d+ve(e-d,y):e},[]),pe=t.useCallback(e=>{const r=M.current,u=performance.now();r.push({t:u,x:e});const d=u-120;for(;r.length>0&&r[0].t<d;)r.shift()},[]),me=t.useCallback(()=>{const e=M.current;if(e.length<2)return 0;const r=e[e.length-1];if(performance.now()-r.t>60)return 0;const u=e[0],d=(r.t-u.t)/1e3;return d<.016?0:(r.x-u.x)/d},[]);t.useEffect(()=>{L();const e=D.current,r=c?0:X.current;e&&e.target===r||Y(c)},[c,Y,L]),t.useEffect(()=>{V(),q(O.current?0:w)},[w,V,q]),t.useEffect(()=>()=>{le(),L(),H(),te()},[L,le,te,H]);const Ne=xe(({active:e,cancel:r,first:u,last:d,movement:[y],event:S})=>{if(K("bindPanel",{active:e,first:u,last:d,mx:y}),!we(S)){r();return}if(u){if(te(),k.current=!1,E.current=null,M.current=[],Se(S)){r();return}const C=j.current,z=C?Ye(S.target,C):null;if(!z||Ze()){r();return}const P=We(z,y,Q.current?-1:1);if(K("arbitrate",{owner:P.kind,mx:y}),P.kind==="swiper"){I.current=Je(P.instance),r();return}if(P.kind==="scroller"){const G=Qe(P.element);if(G)E.current=G;else{r();return}}E.current||(k.current=!0,V(),T.current=R.current)}if(!e){E.current=null,k.current&&(k.current=!1,de(me()));return}if(E.current){et(E.current,y);return}if(k.current){const C=fe(T.current+y);pe(C),q(C)}},{axis:"x",axisThreshold:Re,filterTaps:!0,pointer:{touch:!0}}),Ae=xe(({active:e,cancel:r,first:u,movement:[d],event:y})=>{if(!we(y)){r();return}if(O.current){r();return}if(u&&(N.current=!0,M.current=[],V(),T.current=R.current),!e){N.current&&(N.current=!1,de(me())&&mt());return}if(N.current){const S=fe(T.current+d);pe(S),q(S)}},{axis:"x",axisThreshold:Re,filterTaps:!0,pointer:{touch:!0}}),De=t.useCallback(e=>{e.preventDefault(),e.stopPropagation(),O.current||ee.current?.()},[]);if(o)return s.jsx("aside",{ref:ce,"data-sidebar":i,"data-sidebar-pinned":"true",className:"relative flex h-full min-h-0 w-full flex-col app-chrome-bg",children:h});const he=Ne();return s.jsxs(s.Fragment,{children:[s.jsx("div",{...Ae(),style:{position:"fixed",top:"1.5rem",bottom:"10rem",...m?{left:0}:{right:0},width:ht,zIndex:"var(--z-chrome-hint)",touchAction:"none",pointerEvents:c?"none":"auto"},onClick:De,"aria-label":p(m?"sidebar.openLeftSidebar":"sidebar.openRightSidebar")}),s.jsx("div",{ref:g,"data-sidebar-backdrop":i,className:"fixed inset-0 z-sidebar-backdrop bg-[var(--app-backdrop)] cursor-default",style:{opacity:_e.current,pointerEvents:c?"auto":"none",transition:"none",willChange:"opacity"},onClick:a,"aria-label":p("sidebar.closeSidebar")}),s.jsx("aside",{...he,onClickCapture:e=>{Se(e)||he.onClickCapture?.(e)},ref:ce,"data-sidebar":i,className:`fixed inset-y-0 z-sidebar-panel flex flex-col chrome-glow-panel will-change-transform ${m?"border-r border-border":"border-l border-border/15"}`,style:{...m?{left:0}:{right:0},width:l,maxWidth:m?"94vw":"95vw",transform:`translateX(${Te.current}px)`,transition:"none",touchAction:"pan-y",pointerEvents:c?"auto":"none",paddingTop:"var(--safe-top-inset, env(safe-area-inset-top, 0px))",paddingBottom:"var(--safe-bottom-inset, env(safe-area-inset-bottom, 0px))",...m?{paddingLeft:"var(--safe-left-inset, env(safe-area-inset-left, 0px))"}:{paddingRight:"var(--safe-right-inset, env(safe-area-inset-right, 0px))"}},children:h})]})});function xt(n,i="/"){const c=ne(i),l=ge(n,c)?ne(n):c,[a,b]=t.useState({root:c,initial:l,path:l}),h=a.root===c&&a.initial===l?a.path:l;t.useEffect(()=>{b({root:c,initial:l,path:l})},[c,l]);const o=f=>{ge(f,c)&&b({root:c,initial:l,path:ne(f)})};return{path:h,navigate:o,canGoParent:h!==c,goParent:()=>o(Fe(h)),goRoot:()=>o(c)}}function yt({parent:n,root:i,refresh:c,buttonClassName:l,iconSize:a=14}){const{t:b}=W(),h=l??"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground disabled:opacity-30";return s.jsx(s.Fragment,{children:[{action:n,Icon:qe,label:b("rightSidebar.parentFolder")},{action:i,Icon:st,label:b("rightSidebar.backToProjectRoot")},{action:c,Icon:Ie,label:b("rightSidebar.refreshFiles")}].map(({action:o,Icon:f,label:p},m)=>o&&s.jsx("button",{type:"button",onClick:o.onClick,disabled:o.disabled,className:h,"aria-label":o.label??p,title:o.title??o.label??p,children:s.jsx(f,{size:a})},m))})}function Ce({open:n,initialPath:i,title:c,labels:l,onCancel:a,onConfirm:b}){const{t:h}=W(),o={hint:l?.hint??h("sidebar.directoryPickerHint"),cancel:l?.cancel??h("common.cancel"),confirm:l?.confirm??h("sidebar.useThisFolder"),close:l?.close??h("common.close"),parent:l?.parent??h("rightSidebar.parentFolder")},f=t.useRef(null);Me(f,n,a);const p=xt(i.trim()),m=p.path;return t.useEffect(()=>{n||p.navigate(i.trim())},[n,i]),t.useEffect(()=>{if(!n)return;const w=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=w}},[n]),n?je.createPortal(s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button",className:"fixed inset-0 z-modal-backdrop cursor-default bg-[var(--app-backdrop)] backdrop-blur-sm",onClick:a,"aria-label":o.cancel}),s.jsxs("section",{ref:f,tabIndex:-1,role:"dialog","aria-modal":"true","aria-labelledby":"directory-picker-title",className:"fixed bottom-[max(0.75rem,env(safe-area-inset-bottom,0px))] left-[max(0.75rem,env(safe-area-inset-left,0px))] right-[max(0.75rem,env(safe-area-inset-right,0px))] top-[max(0.75rem,env(safe-area-inset-top,0px))] z-modal-panel flex flex-col overflow-hidden rounded-2xl border border-border/15 bg-surface shadow-[0_28px_70px_var(--app-shadow-strong),0_14px_32px_var(--app-shadow-soft)] sm:bottom-auto sm:left-1/2 sm:right-auto sm:top-1/2 sm:h-[min(72svh,36rem)] sm:w-[min(36rem,calc(100vw-2rem))] sm:-translate-x-1/2 sm:-translate-y-1/2",children:[s.jsxs("header",{className:"flex shrink-0 items-center gap-3 border-b border-border/15 px-4 py-3",children:[s.jsx("span",{className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/15 text-primary",children:s.jsx(rt,{size:15})}),s.jsxs("div",{className:"min-w-0 flex-1",children:[s.jsx("h2",{id:"directory-picker-title",className:"text-[13px] font-semibold text-foreground",children:c}),s.jsx("p",{className:"mt-0.5 text-[10px] text-muted-foreground",children:o.hint})]}),s.jsx("button",{type:"button",onClick:a,className:"inline-flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground transition hover:bg-surface-2 hover:text-foreground","aria-label":o.close,children:s.jsx(Oe,{size:15})})]}),s.jsxs("div",{className:"flex min-h-11 shrink-0 items-center gap-2 border-b border-border/15 px-3 py-1.5",children:[s.jsx(yt,{parent:{onClick:p.goParent,disabled:!p.canGoParent,label:o.parent}}),s.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-[10.5px] text-foreground",title:m,children:m})]}),s.jsx("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain py-1",children:s.jsx(Xe,{rootPath:m,directoriesOnly:!0,onFileSelect:()=>{},onDirectoryRoot:p.navigate,selectedFilePath:i||null})}),s.jsxs("footer",{className:"flex shrink-0 items-center justify-end gap-2 border-t border-border/15 bg-surface-elevated px-3 py-3",children:[s.jsx("button",{type:"button",onClick:a,className:"min-h-10 rounded-lg bg-surface-2 px-4 text-[11px] font-medium text-foreground transition hover:bg-surface",children:o.cancel}),s.jsxs("button",{type:"button",onClick:()=>b(m),className:"inline-flex min-h-10 items-center gap-1.5 rounded-lg bg-primary px-4 text-[11px] font-semibold text-primary-foreground transition hover:bg-primary/90",children:[s.jsx(Be,{size:13}),o.confirm]})]})]})]}),document.body):null}const Mt=Object.freeze(Object.defineProperty({__proto__:null,DirectoryPickerDialog:Ce},Symbol.toStringTag,{value:"Module"}));function jt({file:n,initialPath:i,onInsert:c,onDone:l}){const{t:a}=W(),b=He(),[h,o]=t.useState(!1),[f,p]=t.useState(!1),[m,w]=t.useState(!1),[j,g]=t.useState(!1),[R,v]=t.useState(null),x=t.useRef(!1),T=t.useRef(null);Me(T,!h,()=>{});const D=async()=>{if(!x.current){x.current=!0,p(!0),g(!0);try{await $e(n.id),l()}catch(k){v(k instanceof Error?k.message:String(k))}finally{x.current=!1,p(!1),g(!1)}}};t.useEffect(()=>{if(h)return;T.current?.focus();const k=E=>{if(E.stopPropagation(),E.key==="Escape"&&E.preventDefault(),E.key!=="Tab")return;const N=Array.from(T.current?.querySelectorAll("button:not(:disabled)")??[]),M=N[0],I=N.at(-1);E.shiftKey&&(document.activeElement===M||document.activeElement===T.current)?(E.preventDefault(),I?.focus()):!E.shiftKey&&document.activeElement===I&&(E.preventDefault(),M?.focus())};return document.addEventListener("keydown",k,!0),()=>document.removeEventListener("keydown",k,!0)},[h]);const _=async(k,E)=>{if(x.current)return;const N=Ke(E);x.current=!0,p(!0),w(k!==void 0),o(!1),v(null);try{const M=await Ge(n.id,k);if(k===void 0&&(!N()||await c(M.path,E)===!1))throw new Error(a("android.captureUnavailable"));l()}catch(M){v(M instanceof Error?M.message:String(M))}finally{x.current=!1,p(!1)}};return h?s.jsx(Ce,{open:!0,initialPath:i||"/",title:a("android.recordingSave"),onCancel:()=>o(!1),onConfirm:k=>{_(k)}}):je.createPortal(s.jsx("div",{className:"fixed inset-0 z-modal-panel flex items-center justify-center bg-[var(--app-backdrop)] p-4",children:s.jsxs("div",{ref:T,role:"dialog","aria-modal":"true","aria-labelledby":"recording-save-title",tabIndex:-1,"aria-busy":f,className:"w-full max-w-sm rounded-xl border border-border bg-surface p-4 text-foreground shadow-xl outline-none",children:[s.jsx("h2",{id:"recording-save-title",className:"text-sm font-semibold",children:a("android.recordingConfirm")}),s.jsx("p",{className:"mt-2 text-xs text-muted-foreground",children:a("android.recordingSaveHint")}),s.jsxs("p",{className:"mt-2 break-all text-xs text-muted-foreground",children:[n.name," · ",(n.size/1024/1024).toFixed(1)," MB"]}),(R||n.error)&&s.jsx("p",{role:"alert",className:"mt-3 break-words text-xs text-destructive",children:R||n.error}),f&&s.jsxs("p",{role:"status",className:"mt-3 flex items-center gap-2 text-sm text-primary",children:[s.jsx(ze,{size:16,className:"animate-spin"}),j?`${a("android.recordingDiscard")}…`:a(m?"android.recordingSaving":"android.captureInserting")]}),s.jsxs("div",{className:"mt-4 flex flex-col gap-2",children:[s.jsx("button",{type:"button",disabled:f||n.status!=="ready",onClick:k=>{_(void 0,k.currentTarget)},className:"min-h-10 rounded-lg bg-primary px-3 text-sm text-primary-foreground disabled:opacity-40",children:a("android.recordingInsert")}),!b&&s.jsx("button",{type:"button",disabled:f||n.status!=="ready",onClick:()=>o(!0),className:"min-h-10 rounded-lg bg-surface-2 px-3 text-sm disabled:opacity-40",children:a("android.recordingSave")}),s.jsx("button",{type:"button",disabled:f,onClick:()=>{D()},className:"min-h-10 rounded-lg px-3 text-sm text-muted-foreground disabled:opacity-40",children:a("android.recordingDiscard")})]})]})}),document.body)}export{Ce as D,yt as F,st as H,jt as R,St as S,wt as U,Mt as a,xt as u};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelPreview-
|
|
2
|
-
import{a$ as Jr,cr as t,eA as Bt,p as ho,cg as th,cH as Jd,d4 as rh,ex as nh,x as ct,t as Qd,F as sh,h as ps,a8 as Qt,eM as B,Y as aa,eU as Et,cU as dt,c as po,bS as Zd,w as ed,C as mo,g as oa,a2 as co,er as ta,es as Gi,a3 as td,dh as eu,L as go,R as Wi,c9 as ah,aw as Vs,bm as oh,ez as ih,eD as tu,ci as lh,ck as ch,cl as dh,cm as uh,cj as Ys,bB as fh,E as hh,z as ph,cd as mh,cV as gh,cY as bh,cZ as xh,c3 as yh,cW as rd,av as wt,ao as ru,aq as vh,r as Ki,m as wh,n as kh,o as Sh,y as Ri,ap as Rh,ev as ji,c2 as nd,bv as sd,bs as jh,bF as Ci,bG as ad,eV as na,bh as cs,bH as Ch,cJ as Nh,eb as od,by as Ph,ep as Eh,ax as Ni,dw as Ah,eN as Yr,dl as Mn,ar as Th,as as id,bK as Mh,aF as ld,aE as Lh,bt as cd,bx as Ih,bD as dd,dz as $h,ah as ud,l as fd,N as Pi,K as ro,b as Fh,H as hd,X as pd,v as Dh,s as md,at as _h,a9 as sl,dn as Bh,cO as Uh,eS as Oh,cB as Hh,O as zh}from"./app-CjIJnhRC.js";import{u as vo,S as Gh,a as gd}from"./swiper-CDQegRag.js";import{M as Wh,u as Kh,j as Ei,Z as qh,F as Vh,b as Yh,_ as Xh,c as Jh,d as Qh,e as Zh,g as ep,f as tp,h as rp,r as np,s as sp}from"./Markdown-CohgsLqO.js";import{b as n,r as Qr}from"./dnd-BCFAPC0L.js";import{b as ap,a as op,P as ip,d as lp,c as cp,N as bd,S as dp,C as up,G as fp,A as hp}from"./GitLoadingSkeleton-Bm1UqrDS.js";import{u as pp,F as nu,H as mp,S as gp,U as bp}from"./RecordingSaveDialog-BKec4LtD.js";import{D as qi,C as sa,f as xp,n as yp}from"./DiffReview-DVaOXs0z.js";import{T as vp,G as xr}from"./triangle-alert-BM5V0mRC.js";import{C as su,M as au}from"./ChangeWalkthroughPanel-CVBQbHpG.js";import{R as ou,S as xd,V as wp,d as kp,M as Sp,A as Ai,u as Rp,f as jp,i as yd,b as Cp}from"./AndroidMirrorView-SpjoKKYZ.js";import{u as Np}from"./DiffViewer-C_YHDsAf.js";import{r as Pp,s as Ep,l as Ap,a as vd,g as Vi,b as Tp,h as Mp}from"./referenceSelection-Cb24Tb01.js";import{a as wd,S as kd}from"./gestureArbiter-DszagC-d.js";import{M as iu}from"./maximize-2-C2r-kY_c.js";import{L as Lp}from"./list-tree-CA4WMncL.js";import{S as ms}from"./search-DwVySubQ.js";import{A as Ip}from"./use-gesture-react.esm-BHdJ-ZCI.js";import{A as $p}from"./arrow-down-Dd0wVXN3.js";import{G as lu}from"./git-compare-9RABXSu5.js";const Fp=[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]],Dp=Jr("case-sensitive",Fp);const _p=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Bp=Jr("eye-off",_p);const Up=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Yi=Jr("eye",Up);const Op=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Hp=Jr("funnel",Op);const zp=[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]],Gp=Jr("image-plus",zp);const Wp=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],Kp=Jr("regex",Wp);const qp=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Vp=Jr("scan",qp);const Yp=[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]],Xp=Jr("whole-word",Yp);function cu({embedded:r=!1,referenceLines:a=!0,content:i,filePath:c,rootPath:f,onLocalLinkOpen:m,lineRange:p,onLineRangeClick:S,onLineRangeDrag:g,scrollTop:x,outlineOpen:w,outlineCloseSignal:k,onOutlineOpen:b,onOutlineClose:E,lightboxOpen:P,lightboxCloseSignal:M,onLightboxOpen:$,onLightboxClose:J}){return t.jsx(Wh,{content:i,variant:r?"prose":"document",filePath:c,rootPath:f,onLocalLinkOpen:m,fileControls:a?{lineRange:p,onLineRangeClick:S,onLineRangeDrag:g,scrollTop:x,outlineOpen:w,outlineCloseSignal:k,onOutlineOpen:b,onOutlineClose:E}:void 0,lightbox:P===void 0?void 0:{open:P,closeSignal:M,onOpen:$,onClose:J}})}function Sd({children:r,actions:a}){const{t:i}=Bt(),[c,f]=n.useState(!1),m=n.useId(),p=n.useRef(null),S=n.useRef(null),g=()=>{f(!1),p.current?.focus({preventScroll:!0})};return n.useLayoutEffect(()=>{if(!c)return;const x=p.current,w=S.current;if(!x||!w)return;const k=window.visualViewport,b=()=>{const P=x.getBoundingClientRect(),M=(k?.offsetLeft??0)+8,$=(k?.offsetTop??0)+8,J=Math.max(0,(k?.width??window.innerWidth)-16),N=$+(k?.height??window.innerHeight)-16,O=Math.min(240,J),K=Math.max(0,P.top-$-6),X=Math.max(0,N-P.bottom-6),xe=w.scrollHeight>X&&K>X;Object.assign(w.style,{width:`${O}px`,left:`${Math.max(M,Math.min(P.right-O,M+J-O))}px`,top:`${xe?P.top-6:P.bottom+6}px`,maxHeight:`${xe?K:X}px`,transform:xe?"translateY(-100%)":"none"})};b();const E=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return E?.observe(x),E?.observe(w),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),k?.addEventListener("resize",b),k?.addEventListener("scroll",b),()=>{E?.disconnect(),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),k?.removeEventListener("resize",b),k?.removeEventListener("scroll",b)}},[c]),n.useEffect(()=>{if(!c)return;S.current?.querySelector("button:not(:disabled)")?.focus({preventScroll:!0});const x=w=>{w.target instanceof Node&&!p.current?.contains(w.target)&&!S.current?.contains(w.target)&&f(!1)};return document.addEventListener("pointerdown",x),()=>document.removeEventListener("pointerdown",x)},[c]),t.jsxs("div",{className:"mt-2",children:[t.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r,t.jsxs("button",{ref:p,type:"button","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?m:void 0,onClick:()=>f(x=>!x),onKeyDown:x=>{(x.key==="ArrowDown"||x.key==="ArrowUp")&&(x.preventDefault(),f(!0))},className:`ml-auto inline-flex h-8 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2 text-[11px] font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-primary ${c?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx(ho,{size:14}),i("sidebar.moreActions")]})]}),typeof document<"u"&&Qr.createPortal(t.jsx("div",{ref:S,id:m,hidden:!c,role:"menu","data-sidebar-gesture-ignore":!0,"aria-label":i("sidebar.moreActions"),className:"fixed z-menu-panel overflow-y-auto overscroll-contain rounded-lg border border-border/30 bg-surface p-1 shadow-[0_8px_24px_var(--app-shadow-soft)]",onKeyDown:x=>{if(!x.currentTarget.contains(x.target))return;const w=[...x.currentTarget.querySelectorAll("button:not(:disabled)")],k=w.indexOf(document.activeElement);let b;if(x.key==="Escape"){x.preventDefault(),x.stopPropagation(),g();return}if(x.key==="Tab"){g();return}if(x.key==="ArrowDown")b=(k+1)%w.length;else if(x.key==="ArrowUp")b=(k-1+w.length)%w.length;else if(x.key==="Home")b=0;else if(x.key==="End")b=w.length-1;else return;x.preventDefault(),w[b]?.focus({preventScroll:!0})},children:a(g)}),document.body)]})}const Ti="a[href],button,input,select,textarea,[tabindex],[contenteditable],iframe,summary,audio[controls],video[controls]",ds=n.memo(function({active:a,mounted:i=!0,fallback:c=null,children:f}){const m=n.useRef(null);return n.useLayoutEffect(()=>{const p=m.current;if(!p||a)return;const S=new Map,g=k=>{S.has(k)||(S.set(k,k.inert),k.inert=!0)},x=k=>{k instanceof HTMLElement&&k.matches(Ti)&&g(k),k.querySelectorAll(Ti).forEach(g)};x(p);const w=new MutationObserver(k=>{for(const b of k)b.type==="attributes"?b.target instanceof HTMLElement&&b.target.matches(Ti)&&g(b.target):b.addedNodes.forEach(E=>{E instanceof Element&&x(E)})});return w.observe(p,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabindex","href","contenteditable","controls"]}),()=>{w.disconnect();for(const[k,b]of S)k.inert=b}},[a,i]),t.jsx("div",{ref:m,className:"absolute inset-0 min-h-0 overflow-hidden bg-surface text-foreground",style:a?void 0:{clipPath:"inset(100%)"},"aria-hidden":!a,children:i?typeof f=="function"?f():f:c})},(r,a)=>!r.active&&!a.active&&r.mounted===a.mounted);async function Jp(r){let a;try{await Promise.race([r(),new Promise(i=>{a=setTimeout(i,3e3)})])}catch{}finally{clearTimeout(a)}}function Qp({active:r,rootPath:a,loading:i,delay:c,lastStartedRoot:f,load:m}){n.useEffect(()=>{if(!r||!a||i||f.current===a)return;const p=window.setTimeout(()=>{f.current=a,m(a)},c);return()=>window.clearTimeout(p)},[r,a,i,c,f,m])}function Zp(r,a,i,c){if(!a||r.defaultPrevented||r.nativeEvent.isComposing||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.key!=="ArrowUp"&&r.key!=="ArrowDown")return;const f=r.target;if(!(f instanceof HTMLElement)||!r.currentTarget.contains(f)||!th(f))return;const m=f.closest('button, a, input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="textbox"], [role="menu"], [role="listbox"], [role="slider"], [role="dialog"]');if(m&&!m.matches("[data-file-tree-path]")||window.getSelection()?.isCollapsed===!1)return;const p=Array.from(a.querySelectorAll("[data-file-tree-path]")).filter(k=>!k.closest('[hidden], [inert], [aria-hidden="true"]'));if(!p.some(k=>k.dataset.fileTreeType==="file"))return;const S=f.closest("[data-file-tree-path]"),g=p.findIndex(k=>S?k===S:k.dataset.fileTreePath===i),x=r.key==="ArrowDown"?1:-1;let w=g<0?x===1?0:p.length-1:g+x;for(r.preventDefault(),r.stopPropagation();w>=0&&w<p.length;w+=x){const k=p[w];if(k.dataset.fileTreeType==="file"){c(k.dataset.fileTreePath),a.contains(f)&&k.focus({preventScroll:!0}),k.scrollIntoView({block:"nearest",inline:"nearest"});return}}}function em({rootPath:r,paths:a,disabled:i,onChange:c}){const{t:f}=Bt(),m=Jd(r),p=pp(m,m),S=p.path,g=rh(S,m)??"",{result:x,error:w,reload:k}=nh({path:S,showHidden:!0,action:"pick_git_ignore_exception"}),b=!!w,E=!!x,[P,M]=n.useState(!1),$=N=>p.navigate(N?`${m==="/"?"":m}/${N}`:m),J=N=>{if(N.length>200){M(!0);return}M(!1),c(N)};return t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/30 bg-surface-2",children:[t.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 p-2",children:[t.jsx(nu,{buttonClassName:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-elevated hover:text-foreground disabled:opacity-30",parent:{disabled:i||!p.canGoParent,onClick:p.goParent},root:{disabled:i||!g,onClick:p.goRoot}}),t.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:S,children:g||"./"})]}),t.jsxs("div",{className:"h-56 overflow-y-auto overscroll-contain p-1",role:"group","aria-label":f("rightSidebar.gitIgnoreExceptionsPaths"),"aria-busy":!E&&!b,children:[b?t.jsxs("div",{className:"flex flex-col items-center gap-2 p-4 text-center text-xs",children:[t.jsx("p",{role:"alert",className:"text-destructive",children:f("rightSidebar.gitIgnoreExceptionsLoadFailed")}),t.jsx("button",{type:"button",disabled:i,onClick:k,className:"rounded-md px-3 py-2 text-primary hover:bg-surface-elevated disabled:opacity-40",children:f("common.retry")})]}):x?x.entries.length===0?t.jsx("p",{className:"p-4 text-center text-xs text-muted-foreground",children:f("rightSidebar.gitIgnoreExceptionsEmptyDirectory")}):x.entries.map(N=>{const O=g?`${g}/${N.name}`:N.name,K=O+(N.type==="directory"?"/":""),X=a.includes(K)||a.includes(O),xe=a.some(o=>o.endsWith("/")&&O.startsWith(o)),F=N.type==="directory"?Qd:sh;return t.jsxs("div",{className:"flex items-center gap-1 rounded-md hover:bg-surface-elevated",children:[t.jsxs("label",{className:"flex min-h-10 min-w-0 flex-1 cursor-pointer items-center gap-2 px-2 text-xs",children:[t.jsx("input",{type:"checkbox",checked:X||xe,disabled:i||xe,onChange:()=>J(X?a.filter(o=>o!==K&&o!==O):[...a,K]),className:"h-4 w-4 shrink-0 accent-[var(--primary)] disabled:opacity-40"}),t.jsx(F,{size:14,className:"shrink-0 text-muted-foreground"}),t.jsx("span",{className:"truncate",title:N.name,children:N.name})]}),N.type==="directory"&&t.jsx("button",{type:"button",disabled:i,onClick:()=>$(O),"aria-label":f("rightSidebar.gitIgnoreExceptionsOpenDirectory",{name:N.name}),className:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface hover:text-foreground disabled:opacity-40",children:t.jsx(ps,{size:15})})]},N.name)}):t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(ct,{size:18})}),x?.truncated&&t.jsx("p",{className:"px-2 py-3 text-xs text-muted-foreground",children:f("rightSidebar.gitIgnoreExceptionsTruncated")})]})]}),t.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs",children:[t.jsx("span",{className:"font-medium",children:f("rightSidebar.gitIgnoreExceptionsSelected",{count:a.length})}),t.jsx("button",{type:"button",disabled:i||a.length===0,onClick:()=>J([]),className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-surface-2 hover:text-foreground disabled:opacity-40",children:f("rightSidebar.gitIgnoreExceptionsClear")})]}),a.length>0&&t.jsx("ul",{className:"max-h-24 overflow-y-auto overscroll-contain",children:a.map(N=>t.jsxs("li",{className:"flex items-center gap-2 rounded-md pl-2 text-xs hover:bg-surface-2",children:[t.jsx("span",{className:"min-w-0 flex-1 truncate font-mono",title:N,children:N}),t.jsx("button",{type:"button",disabled:i,onClick:()=>J(a.filter(O=>O!==N)),"aria-label":f("rightSidebar.gitIgnoreExceptionsRemove",{path:N}),className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-elevated hover:text-foreground disabled:opacity-40",children:t.jsx(Qt,{size:13})})]},N))}),P&&t.jsx("p",{role:"alert",className:"text-xs text-destructive",children:f("rightSidebar.gitIgnoreExceptionsInvalid")})]})}function tm({rootPath:r,disabled:a,pressed:i,saving:c,onToggle:f}){const{t:m}=Bt(),p=n.useId(),S=n.useRef(null),g=n.useRef(null),x=n.useRef(null),w=n.useRef(null),k=n.useRef(!1),[b,E]=n.useState(!1),[P,M]=n.useState([]),[$,J]=n.useState(!1),[N,O]=n.useState(null),K=B(W=>W.setGitIgnoreExceptions),X=()=>{x.current!==null&&clearTimeout(x.current),x.current=null,w.current=null},xe=()=>{X(),!(a||$||!r)&&(M([...B.getState().gitIgnoreExceptions[r]??[]]),O(null),E(!0))},F=()=>{$||E(!1)},o=W=>{X(),k.current=!1,!(W.button!==0||!W.isPrimary||a)&&(W.currentTarget.setPointerCapture(W.pointerId),w.current={x:W.clientX,y:W.clientY},x.current=setTimeout(()=>{k.current=!0,xe()},450))};n.useEffect(()=>(E(!1),X(),X),[r]),n.useEffect(()=>{if(b)return g.current?.focus(),()=>S.current?.focus()},[b]);const fe=m(i?"rightSidebar.showGitIgnoredFiles":"rightSidebar.hideGitIgnoredFiles");return t.jsxs(t.Fragment,{children:[t.jsx("button",{ref:S,type:"button",disabled:a||$,"aria-pressed":i,"aria-label":fe,"aria-description":m("rightSidebar.gitIgnoreConfigureHint"),title:`${fe} · ${m("rightSidebar.gitIgnoreConfigureHint")}`,onClick:W=>{if(k.current&&W.detail!==0){k.current=!1,W.preventDefault();return}f()},onContextMenu:W=>{W.preventDefault(),k.current=!0,b||xe()},onPointerDown:o,onPointerMove:W=>{const ge=w.current;ge&&Math.hypot(W.clientX-ge.x,W.clientY-ge.y)>10&&X()},onPointerUp:X,onPointerCancel:X,onLostPointerCapture:X,className:`inline-flex h-7 w-7 shrink-0 select-none items-center justify-center rounded-md transition active:scale-95 disabled:cursor-not-allowed disabled:opacity-35 [-webkit-touch-callout:none] ${i?"bg-surface-2 text-primary hover:bg-surface-elevated":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:c?t.jsx(ct,{size:14}):t.jsx(Hp,{size:14})}),b&&Qr.createPortal(t.jsx("div",{className:"fixed inset-0 z-modal-backdrop flex items-center justify-center bg-[var(--app-backdrop)] p-3 backdrop-blur-sm",onClick:F,children:t.jsxs("form",{ref:g,role:"dialog",tabIndex:-1,"aria-modal":"true","aria-labelledby":`${p}-title`,"aria-describedby":`${p}-hint`,className:"relative z-modal-panel flex max-h-[80dvh] w-full max-w-lg flex-col gap-3 overflow-y-auto rounded-xl border border-border/20 bg-surface p-4 text-foreground shadow-2xl",onClick:W=>W.stopPropagation(),onKeyDown:W=>{if(W.key==="Escape"&&(W.preventDefault(),W.stopPropagation(),F()),W.key==="Tab"){const ge=Array.from(g.current?.querySelectorAll("button:not(:disabled), input:not(:disabled)")??[]);if(!ge.length){W.preventDefault(),g.current?.focus();return}const H=ge[0],ce=ge[ge.length-1];W.shiftKey&&document.activeElement===H&&(W.preventDefault(),ce?.focus()),document.activeElement===g.current?(W.preventDefault(),(W.shiftKey?ce:H)?.focus()):!W.shiftKey&&document.activeElement===ce&&(W.preventDefault(),H?.focus())}},onSubmit:W=>{if(W.preventDefault(),!(!r||$)){if(P.length>200){O(m("rightSidebar.gitIgnoreExceptionsInvalid"));return}J(!0),O(null),K(r,P).then(()=>E(!1)).catch(()=>O(m("rightSidebar.gitIgnoreExceptionsSaveFailed"))).finally(()=>J(!1))}},children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("h2",{id:`${p}-title`,className:"text-sm font-medium",children:m("rightSidebar.gitIgnoreExceptionsTitle")}),t.jsx("button",{type:"button",disabled:$,onClick:F,"aria-label":m("common.close"),className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-2 hover:text-foreground disabled:opacity-40",children:t.jsx(Qt,{size:16})})]}),t.jsx("p",{className:"truncate text-xs text-muted-foreground",title:r??void 0,children:r}),t.jsx("p",{id:`${p}-hint`,className:"text-xs leading-relaxed text-muted-foreground",children:m("rightSidebar.gitIgnoreExceptionsHint")}),t.jsx("p",{className:"text-xs font-medium",children:m("rightSidebar.gitIgnoreExceptionsPaths")}),r&&t.jsx(em,{rootPath:r,paths:P,onChange:M,disabled:$}),N&&t.jsx("p",{role:"alert",className:"text-xs text-destructive",children:N}),t.jsxs("div",{className:"flex justify-end gap-2",children:[t.jsx("button",{type:"button",disabled:$,onClick:F,className:"rounded-lg px-3 py-2 text-xs text-muted-foreground hover:bg-surface-2 disabled:opacity-40",children:m("common.cancel")}),t.jsxs("button",{type:"submit",disabled:$,className:"inline-flex items-center gap-2 rounded-lg bg-primary px-3 py-2 text-xs font-medium text-primary-foreground disabled:opacity-50",children:[$&&t.jsx(ct,{size:13}),m("common.save")]})]})]})}),document.body)]})}function rm(r,a,i){try{const c=r instanceof HTMLImageElement?r.naturalWidth:r.width,f=r instanceof HTMLImageElement?r.naturalHeight:r.height;if(!c||!f)return Promise.resolve(null);const m=r instanceof HTMLImageElement?1400/Math.max(c,f):Math.min(1,1400/Math.max(c,f)),p=document.createElement("canvas");p.width=Math.max(1,Math.round(c*m)),p.height=Math.max(1,Math.round(f*m));const S=p.getContext("2d");if(!S)return Promise.resolve(null);const g=getComputedStyle(document.documentElement);if(S.fillStyle=g.getPropertyValue("--surface").trim()||"white",S.fillRect(0,0,p.width,p.height),S.drawImage(r,0,0,p.width,p.height),i){const x=Math.max(10,Math.min(16,p.width/35));S.font=`${x}px sans-serif`;const w=[];let k="";for(const b of i.split(" "))k&&S.measureText(`${k} ${b}`).width>p.width-20?(w.push(k),k=b):k=k?`${k} ${b}`:b;k&&w.push(k),S.fillStyle=g.getPropertyValue("--surface").trim()||"white",S.fillRect(0,0,p.width,w.length*(x+4)+12),S.fillStyle=g.getPropertyValue("--foreground").trim()||"black",w.forEach((b,E)=>S.fillText(b,10,8+x+E*(x+4)))}if(a){const x=a.xPercent*p.width/100,w=a.yPercent*p.height/100,k=Math.max(4,Math.min(12,Math.min(p.width,p.height)*.015)),b=k*1.6;S.strokeStyle=g.getPropertyValue("--primary").trim()||"black",S.lineWidth=Math.max(1,k/3),S.beginPath(),S.arc(x,w,k,0,Math.PI*2),S.stroke(),S.beginPath(),S.moveTo(x-b,w),S.lineTo(x+b,w),S.moveTo(x,w-b),S.lineTo(x,w+b),S.stroke()}return new Promise(x=>p.toBlob(x,"image/png"))}catch{return Promise.resolve(null)}}function nm(r,a,i,c){return[r.trim(),a.trim(),c?`截图:${c}`:""].filter(Boolean).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ModelPreview-DSMm4U4j.js","assets/app-CG7UnlvD.js","assets/react-XDCjal2T.js","assets/dnd-BCFAPC0L.js","assets/terminal-DaiFCKy_.js","assets/index-Db6cTvcd.css","assets/search-g7nZaX-p.js","assets/sun-Docz24Gq.js","assets/list-tree-TZoK4D1s.js","assets/AndroidMirrorView-DvaQ4bWE.js","assets/v4-EwEgHOG0.js","assets/RecordingSaveDialog-SqE6T39W.js","assets/use-gesture-react.esm-uKjWuDRY.js","assets/gestureArbiter-DszagC-d.js","assets/unplug-wUkIQYu0.js","assets/circle-BbMJmnZN.js","assets/quote-BWHaYR1j.js","assets/swiper-Bge5b7oc.js","assets/swiper-C2J0D0kV.css","assets/Markdown-BQK61rwW.js","assets/referenceSelection-CYduiLc1.js","assets/Markdown-DKQhs57e.css","assets/GitLoadingSkeleton-D5nkNhPE.js","assets/DiffReview-9a_DXlXn.js","assets/DiffViewer-25DyaFuh.js","assets/git-compare-TvhljhDy.js","assets/DiffViewer-T3uj2-aP.css","assets/triangle-alert-DUjdvUeM.js","assets/ChangeWalkthroughPanel-BC7zpkq3.js","assets/chevron-left-BS8PE--U.js","assets/maximize-2-Duk9ucVy.js","assets/arrow-down-C3OQpvij.js","assets/ArchitecturePanel-DFFG7FcG.js","assets/link-DP9WqPQf.js","assets/purify.es-4eNOHKSq.js","assets/ArchitecturePanel-B_BDrrfR.css","assets/ComputerControlView-BQnieqiC.js","assets/clipboard-Bc3Y4SV-.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a$ as Jr,cr as t,eA as Bt,p as ho,cg as th,cH as Jd,d4 as rh,ex as nh,x as ct,t as Qd,F as sh,h as ps,a8 as Qt,eM as B,Y as aa,eU as Et,cU as dt,c as po,bS as Zd,w as ed,C as mo,g as oa,a2 as co,er as ta,es as Gi,a3 as td,dh as eu,L as go,R as Wi,c9 as ah,aw as Vs,bm as oh,ez as ih,eD as tu,ci as lh,ck as ch,cl as dh,cm as uh,cj as Ys,bB as fh,E as hh,z as ph,cd as mh,cV as gh,cY as bh,cZ as xh,c3 as yh,cW as rd,av as wt,ao as ru,aq as vh,r as Ki,m as wh,n as kh,o as Sh,y as Ri,ap as Rh,ev as ji,c2 as nd,bv as sd,bs as jh,bF as Ci,bG as ad,eV as na,bh as cs,bH as Ch,cJ as Nh,eb as od,by as Ph,ep as Eh,ax as Ni,dw as Ah,eN as Yr,dl as Mn,ar as Th,as as id,bK as Mh,aF as ld,aE as Lh,bt as cd,bx as Ih,bD as dd,dz as $h,ah as ud,l as fd,N as Pi,K as ro,b as Fh,H as hd,X as pd,v as Dh,s as md,at as _h,a9 as sl,dn as Bh,cO as Uh,eS as Oh,cB as Hh,O as zh}from"./app-CG7UnlvD.js";import{u as vo,S as Gh,a as gd}from"./swiper-Bge5b7oc.js";import{M as Wh,u as Kh,j as Ei,Z as qh,F as Vh,b as Yh,_ as Xh,c as Jh,d as Qh,e as Zh,g as ep,f as tp,h as rp,r as np,s as sp}from"./Markdown-BQK61rwW.js";import{b as n,r as Qr}from"./dnd-BCFAPC0L.js";import{b as ap,a as op,P as ip,d as lp,c as cp,N as bd,S as dp,C as up,G as fp,A as hp}from"./GitLoadingSkeleton-D5nkNhPE.js";import{u as pp,F as nu,H as mp,S as gp,U as bp}from"./RecordingSaveDialog-SqE6T39W.js";import{D as qi,C as sa,f as xp,n as yp}from"./DiffReview-9a_DXlXn.js";import{T as vp,G as xr}from"./triangle-alert-DUjdvUeM.js";import{C as su,M as au}from"./ChangeWalkthroughPanel-BC7zpkq3.js";import{R as ou,S as xd,V as wp,d as kp,M as Sp,A as Ai,u as Rp,f as jp,i as yd,b as Cp}from"./AndroidMirrorView-DvaQ4bWE.js";import{u as Np}from"./DiffViewer-25DyaFuh.js";import{r as Pp,s as Ep,l as Ap,a as vd,g as Vi,b as Tp,h as Mp}from"./referenceSelection-CYduiLc1.js";import{a as wd,S as kd}from"./gestureArbiter-DszagC-d.js";import{M as iu}from"./maximize-2-Duk9ucVy.js";import{L as Lp}from"./list-tree-TZoK4D1s.js";import{S as ms}from"./search-g7nZaX-p.js";import{A as Ip}from"./use-gesture-react.esm-uKjWuDRY.js";import{A as $p}from"./arrow-down-C3OQpvij.js";import{G as lu}from"./git-compare-TvhljhDy.js";const Fp=[["path",{d:"m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16",key:"d5nyq2"}],["path",{d:"M22 9v7",key:"pvm9v3"}],["path",{d:"M3.304 13h6.392",key:"1q3zxz"}],["circle",{cx:"18.5",cy:"12.5",r:"3.5",key:"z97x68"}]],Dp=Jr("case-sensitive",Fp);const _p=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],Bp=Jr("eye-off",_p);const Up=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Yi=Jr("eye",Up);const Op=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Hp=Jr("funnel",Op);const zp=[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]],Gp=Jr("image-plus",zp);const Wp=[["path",{d:"M17 3v10",key:"15fgeh"}],["path",{d:"m12.67 5.5 8.66 5",key:"1gpheq"}],["path",{d:"m12.67 10.5 8.66-5",key:"1dkfa6"}],["path",{d:"M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z",key:"swwfx4"}]],Kp=Jr("regex",Wp);const qp=[["path",{d:"M3 7V5a2 2 0 0 1 2-2h2",key:"aa7l1z"}],["path",{d:"M17 3h2a2 2 0 0 1 2 2v2",key:"4qcy5o"}],["path",{d:"M21 17v2a2 2 0 0 1-2 2h-2",key:"6vwrx8"}],["path",{d:"M7 21H5a2 2 0 0 1-2-2v-2",key:"ioqczr"}]],Vp=Jr("scan",qp);const Yp=[["circle",{cx:"7",cy:"12",r:"3",key:"12clwm"}],["path",{d:"M10 9v6",key:"17i7lo"}],["circle",{cx:"17",cy:"12",r:"3",key:"gl7c2s"}],["path",{d:"M14 7v8",key:"dl84cr"}],["path",{d:"M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1",key:"lt2kga"}]],Xp=Jr("whole-word",Yp);function cu({embedded:r=!1,referenceLines:a=!0,content:i,filePath:c,rootPath:f,onLocalLinkOpen:m,lineRange:p,onLineRangeClick:S,onLineRangeDrag:g,scrollTop:x,outlineOpen:w,outlineCloseSignal:k,onOutlineOpen:b,onOutlineClose:E,lightboxOpen:P,lightboxCloseSignal:M,onLightboxOpen:$,onLightboxClose:J}){return t.jsx(Wh,{content:i,variant:r?"prose":"document",filePath:c,rootPath:f,onLocalLinkOpen:m,fileControls:a?{lineRange:p,onLineRangeClick:S,onLineRangeDrag:g,scrollTop:x,outlineOpen:w,outlineCloseSignal:k,onOutlineOpen:b,onOutlineClose:E}:void 0,lightbox:P===void 0?void 0:{open:P,closeSignal:M,onOpen:$,onClose:J}})}function Sd({children:r,actions:a}){const{t:i}=Bt(),[c,f]=n.useState(!1),m=n.useId(),p=n.useRef(null),S=n.useRef(null),g=()=>{f(!1),p.current?.focus({preventScroll:!0})};return n.useLayoutEffect(()=>{if(!c)return;const x=p.current,w=S.current;if(!x||!w)return;const k=window.visualViewport,b=()=>{const P=x.getBoundingClientRect(),M=(k?.offsetLeft??0)+8,$=(k?.offsetTop??0)+8,J=Math.max(0,(k?.width??window.innerWidth)-16),N=$+(k?.height??window.innerHeight)-16,O=Math.min(240,J),K=Math.max(0,P.top-$-6),X=Math.max(0,N-P.bottom-6),xe=w.scrollHeight>X&&K>X;Object.assign(w.style,{width:`${O}px`,left:`${Math.max(M,Math.min(P.right-O,M+J-O))}px`,top:`${xe?P.top-6:P.bottom+6}px`,maxHeight:`${xe?K:X}px`,transform:xe?"translateY(-100%)":"none"})};b();const E=typeof ResizeObserver>"u"?null:new ResizeObserver(b);return E?.observe(x),E?.observe(w),window.addEventListener("resize",b),window.addEventListener("scroll",b,!0),k?.addEventListener("resize",b),k?.addEventListener("scroll",b),()=>{E?.disconnect(),window.removeEventListener("resize",b),window.removeEventListener("scroll",b,!0),k?.removeEventListener("resize",b),k?.removeEventListener("scroll",b)}},[c]),n.useEffect(()=>{if(!c)return;S.current?.querySelector("button:not(:disabled)")?.focus({preventScroll:!0});const x=w=>{w.target instanceof Node&&!p.current?.contains(w.target)&&!S.current?.contains(w.target)&&f(!1)};return document.addEventListener("pointerdown",x),()=>document.removeEventListener("pointerdown",x)},[c]),t.jsxs("div",{className:"mt-2",children:[t.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5",children:[r,t.jsxs("button",{ref:p,type:"button","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?m:void 0,onClick:()=>f(x=>!x),onKeyDown:x=>{(x.key==="ArrowDown"||x.key==="ArrowUp")&&(x.preventDefault(),f(!0))},className:`ml-auto inline-flex h-8 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2 text-[11px] font-medium transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-primary ${c?"bg-surface-2 text-foreground":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx(ho,{size:14}),i("sidebar.moreActions")]})]}),typeof document<"u"&&Qr.createPortal(t.jsx("div",{ref:S,id:m,hidden:!c,role:"menu","data-sidebar-gesture-ignore":!0,"aria-label":i("sidebar.moreActions"),className:"fixed z-menu-panel overflow-y-auto overscroll-contain rounded-lg border border-border/30 bg-surface p-1 shadow-[0_8px_24px_var(--app-shadow-soft)]",onKeyDown:x=>{if(!x.currentTarget.contains(x.target))return;const w=[...x.currentTarget.querySelectorAll("button:not(:disabled)")],k=w.indexOf(document.activeElement);let b;if(x.key==="Escape"){x.preventDefault(),x.stopPropagation(),g();return}if(x.key==="Tab"){g();return}if(x.key==="ArrowDown")b=(k+1)%w.length;else if(x.key==="ArrowUp")b=(k-1+w.length)%w.length;else if(x.key==="Home")b=0;else if(x.key==="End")b=w.length-1;else return;x.preventDefault(),w[b]?.focus({preventScroll:!0})},children:a(g)}),document.body)]})}const Ti="a[href],button,input,select,textarea,[tabindex],[contenteditable],iframe,summary,audio[controls],video[controls]",ds=n.memo(function({active:a,mounted:i=!0,fallback:c=null,children:f}){const m=n.useRef(null);return n.useLayoutEffect(()=>{const p=m.current;if(!p||a)return;const S=new Map,g=k=>{S.has(k)||(S.set(k,k.inert),k.inert=!0)},x=k=>{k instanceof HTMLElement&&k.matches(Ti)&&g(k),k.querySelectorAll(Ti).forEach(g)};x(p);const w=new MutationObserver(k=>{for(const b of k)b.type==="attributes"?b.target instanceof HTMLElement&&b.target.matches(Ti)&&g(b.target):b.addedNodes.forEach(E=>{E instanceof Element&&x(E)})});return w.observe(p,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["tabindex","href","contenteditable","controls"]}),()=>{w.disconnect();for(const[k,b]of S)k.inert=b}},[a,i]),t.jsx("div",{ref:m,className:"absolute inset-0 min-h-0 overflow-hidden bg-surface text-foreground",style:a?void 0:{clipPath:"inset(100%)"},"aria-hidden":!a,children:i?typeof f=="function"?f():f:c})},(r,a)=>!r.active&&!a.active&&r.mounted===a.mounted);async function Jp(r){let a;try{await Promise.race([r(),new Promise(i=>{a=setTimeout(i,3e3)})])}catch{}finally{clearTimeout(a)}}function Qp({active:r,rootPath:a,loading:i,delay:c,lastStartedRoot:f,load:m}){n.useEffect(()=>{if(!r||!a||i||f.current===a)return;const p=window.setTimeout(()=>{f.current=a,m(a)},c);return()=>window.clearTimeout(p)},[r,a,i,c,f,m])}function Zp(r,a,i,c){if(!a||r.defaultPrevented||r.nativeEvent.isComposing||r.altKey||r.ctrlKey||r.metaKey||r.shiftKey||r.key!=="ArrowUp"&&r.key!=="ArrowDown")return;const f=r.target;if(!(f instanceof HTMLElement)||!r.currentTarget.contains(f)||!th(f))return;const m=f.closest('button, a, input, textarea, select, [contenteditable]:not([contenteditable="false"]), [role="button"], [role="textbox"], [role="menu"], [role="listbox"], [role="slider"], [role="dialog"]');if(m&&!m.matches("[data-file-tree-path]")||window.getSelection()?.isCollapsed===!1)return;const p=Array.from(a.querySelectorAll("[data-file-tree-path]")).filter(k=>!k.closest('[hidden], [inert], [aria-hidden="true"]'));if(!p.some(k=>k.dataset.fileTreeType==="file"))return;const S=f.closest("[data-file-tree-path]"),g=p.findIndex(k=>S?k===S:k.dataset.fileTreePath===i),x=r.key==="ArrowDown"?1:-1;let w=g<0?x===1?0:p.length-1:g+x;for(r.preventDefault(),r.stopPropagation();w>=0&&w<p.length;w+=x){const k=p[w];if(k.dataset.fileTreeType==="file"){c(k.dataset.fileTreePath),a.contains(f)&&k.focus({preventScroll:!0}),k.scrollIntoView({block:"nearest",inline:"nearest"});return}}}function em({rootPath:r,paths:a,disabled:i,onChange:c}){const{t:f}=Bt(),m=Jd(r),p=pp(m,m),S=p.path,g=rh(S,m)??"",{result:x,error:w,reload:k}=nh({path:S,showHidden:!0,action:"pick_git_ignore_exception"}),b=!!w,E=!!x,[P,M]=n.useState(!1),$=N=>p.navigate(N?`${m==="/"?"":m}/${N}`:m),J=N=>{if(N.length>200){M(!0);return}M(!1),c(N)};return t.jsxs("div",{className:"flex flex-col gap-3",children:[t.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/30 bg-surface-2",children:[t.jsxs("div",{className:"flex items-center gap-2 border-b border-border/20 p-2",children:[t.jsx(nu,{buttonClassName:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-elevated hover:text-foreground disabled:opacity-30",parent:{disabled:i||!p.canGoParent,onClick:p.goParent},root:{disabled:i||!g,onClick:p.goRoot}}),t.jsx("span",{className:"min-w-0 flex-1 truncate font-mono text-xs",title:S,children:g||"./"})]}),t.jsxs("div",{className:"h-56 overflow-y-auto overscroll-contain p-1",role:"group","aria-label":f("rightSidebar.gitIgnoreExceptionsPaths"),"aria-busy":!E&&!b,children:[b?t.jsxs("div",{className:"flex flex-col items-center gap-2 p-4 text-center text-xs",children:[t.jsx("p",{role:"alert",className:"text-destructive",children:f("rightSidebar.gitIgnoreExceptionsLoadFailed")}),t.jsx("button",{type:"button",disabled:i,onClick:k,className:"rounded-md px-3 py-2 text-primary hover:bg-surface-elevated disabled:opacity-40",children:f("common.retry")})]}):x?x.entries.length===0?t.jsx("p",{className:"p-4 text-center text-xs text-muted-foreground",children:f("rightSidebar.gitIgnoreExceptionsEmptyDirectory")}):x.entries.map(N=>{const O=g?`${g}/${N.name}`:N.name,K=O+(N.type==="directory"?"/":""),X=a.includes(K)||a.includes(O),xe=a.some(o=>o.endsWith("/")&&O.startsWith(o)),F=N.type==="directory"?Qd:sh;return t.jsxs("div",{className:"flex items-center gap-1 rounded-md hover:bg-surface-elevated",children:[t.jsxs("label",{className:"flex min-h-10 min-w-0 flex-1 cursor-pointer items-center gap-2 px-2 text-xs",children:[t.jsx("input",{type:"checkbox",checked:X||xe,disabled:i||xe,onChange:()=>J(X?a.filter(o=>o!==K&&o!==O):[...a,K]),className:"h-4 w-4 shrink-0 accent-[var(--primary)] disabled:opacity-40"}),t.jsx(F,{size:14,className:"shrink-0 text-muted-foreground"}),t.jsx("span",{className:"truncate",title:N.name,children:N.name})]}),N.type==="directory"&&t.jsx("button",{type:"button",disabled:i,onClick:()=>$(O),"aria-label":f("rightSidebar.gitIgnoreExceptionsOpenDirectory",{name:N.name}),className:"inline-flex h-10 w-10 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface hover:text-foreground disabled:opacity-40",children:t.jsx(ps,{size:15})})]},N.name)}):t.jsx("div",{className:"flex h-full items-center justify-center",children:t.jsx(ct,{size:18})}),x?.truncated&&t.jsx("p",{className:"px-2 py-3 text-xs text-muted-foreground",children:f("rightSidebar.gitIgnoreExceptionsTruncated")})]})]}),t.jsxs("div",{className:"flex items-center justify-between gap-2 text-xs",children:[t.jsx("span",{className:"font-medium",children:f("rightSidebar.gitIgnoreExceptionsSelected",{count:a.length})}),t.jsx("button",{type:"button",disabled:i||a.length===0,onClick:()=>J([]),className:"rounded-md px-2 py-1 text-muted-foreground hover:bg-surface-2 hover:text-foreground disabled:opacity-40",children:f("rightSidebar.gitIgnoreExceptionsClear")})]}),a.length>0&&t.jsx("ul",{className:"max-h-24 overflow-y-auto overscroll-contain",children:a.map(N=>t.jsxs("li",{className:"flex items-center gap-2 rounded-md pl-2 text-xs hover:bg-surface-2",children:[t.jsx("span",{className:"min-w-0 flex-1 truncate font-mono",title:N,children:N}),t.jsx("button",{type:"button",disabled:i,onClick:()=>J(a.filter(O=>O!==N)),"aria-label":f("rightSidebar.gitIgnoreExceptionsRemove",{path:N}),className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-elevated hover:text-foreground disabled:opacity-40",children:t.jsx(Qt,{size:13})})]},N))}),P&&t.jsx("p",{role:"alert",className:"text-xs text-destructive",children:f("rightSidebar.gitIgnoreExceptionsInvalid")})]})}function tm({rootPath:r,disabled:a,pressed:i,saving:c,onToggle:f}){const{t:m}=Bt(),p=n.useId(),S=n.useRef(null),g=n.useRef(null),x=n.useRef(null),w=n.useRef(null),k=n.useRef(!1),[b,E]=n.useState(!1),[P,M]=n.useState([]),[$,J]=n.useState(!1),[N,O]=n.useState(null),K=B(W=>W.setGitIgnoreExceptions),X=()=>{x.current!==null&&clearTimeout(x.current),x.current=null,w.current=null},xe=()=>{X(),!(a||$||!r)&&(M([...B.getState().gitIgnoreExceptions[r]??[]]),O(null),E(!0))},F=()=>{$||E(!1)},o=W=>{X(),k.current=!1,!(W.button!==0||!W.isPrimary||a)&&(W.currentTarget.setPointerCapture(W.pointerId),w.current={x:W.clientX,y:W.clientY},x.current=setTimeout(()=>{k.current=!0,xe()},450))};n.useEffect(()=>(E(!1),X(),X),[r]),n.useEffect(()=>{if(b)return g.current?.focus(),()=>S.current?.focus()},[b]);const fe=m(i?"rightSidebar.showGitIgnoredFiles":"rightSidebar.hideGitIgnoredFiles");return t.jsxs(t.Fragment,{children:[t.jsx("button",{ref:S,type:"button",disabled:a||$,"aria-pressed":i,"aria-label":fe,"aria-description":m("rightSidebar.gitIgnoreConfigureHint"),title:`${fe} · ${m("rightSidebar.gitIgnoreConfigureHint")}`,onClick:W=>{if(k.current&&W.detail!==0){k.current=!1,W.preventDefault();return}f()},onContextMenu:W=>{W.preventDefault(),k.current=!0,b||xe()},onPointerDown:o,onPointerMove:W=>{const ge=w.current;ge&&Math.hypot(W.clientX-ge.x,W.clientY-ge.y)>10&&X()},onPointerUp:X,onPointerCancel:X,onLostPointerCapture:X,className:`inline-flex h-7 w-7 shrink-0 select-none items-center justify-center rounded-md transition active:scale-95 disabled:cursor-not-allowed disabled:opacity-35 [-webkit-touch-callout:none] ${i?"bg-surface-2 text-primary hover:bg-surface-elevated":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:c?t.jsx(ct,{size:14}):t.jsx(Hp,{size:14})}),b&&Qr.createPortal(t.jsx("div",{className:"fixed inset-0 z-modal-backdrop flex items-center justify-center bg-[var(--app-backdrop)] p-3 backdrop-blur-sm",onClick:F,children:t.jsxs("form",{ref:g,role:"dialog",tabIndex:-1,"aria-modal":"true","aria-labelledby":`${p}-title`,"aria-describedby":`${p}-hint`,className:"relative z-modal-panel flex max-h-[80dvh] w-full max-w-lg flex-col gap-3 overflow-y-auto rounded-xl border border-border/20 bg-surface p-4 text-foreground shadow-2xl",onClick:W=>W.stopPropagation(),onKeyDown:W=>{if(W.key==="Escape"&&(W.preventDefault(),W.stopPropagation(),F()),W.key==="Tab"){const ge=Array.from(g.current?.querySelectorAll("button:not(:disabled), input:not(:disabled)")??[]);if(!ge.length){W.preventDefault(),g.current?.focus();return}const H=ge[0],ce=ge[ge.length-1];W.shiftKey&&document.activeElement===H&&(W.preventDefault(),ce?.focus()),document.activeElement===g.current?(W.preventDefault(),(W.shiftKey?ce:H)?.focus()):!W.shiftKey&&document.activeElement===ce&&(W.preventDefault(),H?.focus())}},onSubmit:W=>{if(W.preventDefault(),!(!r||$)){if(P.length>200){O(m("rightSidebar.gitIgnoreExceptionsInvalid"));return}J(!0),O(null),K(r,P).then(()=>E(!1)).catch(()=>O(m("rightSidebar.gitIgnoreExceptionsSaveFailed"))).finally(()=>J(!1))}},children:[t.jsxs("div",{className:"flex items-center justify-between gap-3",children:[t.jsx("h2",{id:`${p}-title`,className:"text-sm font-medium",children:m("rightSidebar.gitIgnoreExceptionsTitle")}),t.jsx("button",{type:"button",disabled:$,onClick:F,"aria-label":m("common.close"),className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-surface-2 hover:text-foreground disabled:opacity-40",children:t.jsx(Qt,{size:16})})]}),t.jsx("p",{className:"truncate text-xs text-muted-foreground",title:r??void 0,children:r}),t.jsx("p",{id:`${p}-hint`,className:"text-xs leading-relaxed text-muted-foreground",children:m("rightSidebar.gitIgnoreExceptionsHint")}),t.jsx("p",{className:"text-xs font-medium",children:m("rightSidebar.gitIgnoreExceptionsPaths")}),r&&t.jsx(em,{rootPath:r,paths:P,onChange:M,disabled:$}),N&&t.jsx("p",{role:"alert",className:"text-xs text-destructive",children:N}),t.jsxs("div",{className:"flex justify-end gap-2",children:[t.jsx("button",{type:"button",disabled:$,onClick:F,className:"rounded-lg px-3 py-2 text-xs text-muted-foreground hover:bg-surface-2 disabled:opacity-40",children:m("common.cancel")}),t.jsxs("button",{type:"submit",disabled:$,className:"inline-flex items-center gap-2 rounded-lg bg-primary px-3 py-2 text-xs font-medium text-primary-foreground disabled:opacity-50",children:[$&&t.jsx(ct,{size:13}),m("common.save")]})]})]})}),document.body)]})}function rm(r,a,i){try{const c=r instanceof HTMLImageElement?r.naturalWidth:r.width,f=r instanceof HTMLImageElement?r.naturalHeight:r.height;if(!c||!f)return Promise.resolve(null);const m=r instanceof HTMLImageElement?1400/Math.max(c,f):Math.min(1,1400/Math.max(c,f)),p=document.createElement("canvas");p.width=Math.max(1,Math.round(c*m)),p.height=Math.max(1,Math.round(f*m));const S=p.getContext("2d");if(!S)return Promise.resolve(null);const g=getComputedStyle(document.documentElement);if(S.fillStyle=g.getPropertyValue("--surface").trim()||"white",S.fillRect(0,0,p.width,p.height),S.drawImage(r,0,0,p.width,p.height),i){const x=Math.max(10,Math.min(16,p.width/35));S.font=`${x}px sans-serif`;const w=[];let k="";for(const b of i.split(" "))k&&S.measureText(`${k} ${b}`).width>p.width-20?(w.push(k),k=b):k=k?`${k} ${b}`:b;k&&w.push(k),S.fillStyle=g.getPropertyValue("--surface").trim()||"white",S.fillRect(0,0,p.width,w.length*(x+4)+12),S.fillStyle=g.getPropertyValue("--foreground").trim()||"black",w.forEach((b,E)=>S.fillText(b,10,8+x+E*(x+4)))}if(a){const x=a.xPercent*p.width/100,w=a.yPercent*p.height/100,k=Math.max(4,Math.min(12,Math.min(p.width,p.height)*.015)),b=k*1.6;S.strokeStyle=g.getPropertyValue("--primary").trim()||"black",S.lineWidth=Math.max(1,k/3),S.beginPath(),S.arc(x,w,k,0,Math.PI*2),S.stroke(),S.beginPath(),S.moveTo(x-b,w),S.lineTo(x+b,w),S.moveTo(x,w-b),S.lineTo(x,w+b),S.stroke()}return new Promise(x=>p.toBlob(x,"image/png"))}catch{return Promise.resolve(null)}}function nm(r,a,i,c){return[r.trim(),a.trim(),c?`截图:${c}`:""].filter(Boolean).join(`
|
|
3
3
|
`)}function Db(r,a,i){const c=a*Math.PI/360,f=Math.min(c,Math.atan(Math.tan(c)*Math.max(i,.05)));return Math.max(r,1e-6)/Math.sin(f)*1.15}async function sm(r,a,i,c){if(!i?.snapshot)return c.isCurrent()?await c.insert(r,a):!1;const f=new Date().toISOString(),m=new AbortController;let p,S;try{S=await Promise.race([(async()=>{const g=await i.snapshot;if(!(!g||m.signal.aborted||!c.isCurrent()))return c.upload(new File([g],`termdock-review-${crypto.randomUUID()}.png`,{type:"image/png"}),m.signal)})(),new Promise(g=>{p=setTimeout(()=>{m.abort(),g(void 0)},3e3)})])}catch{}finally{clearTimeout(p),m.abort()}return c.isCurrent()?await c.insert(S?nm(r,"",f,S):r,a):!1}function am(r,a){return r===a||a.endsWith(`/${r}`)||r.endsWith(`/${a}`)}function Rd(r,a){return`${r??""}\0${a}`}function om(r,a,i){if(!r||r.length===0||!i)return{explained:0,stale:0};const c=Rd(a,i);let f=0,m=0;for(const p of r){const S=[p.filePath,p.newPath,p.oldPath].filter(x=>typeof x=="string"&&x.length>0);(S.some(x=>Rd(p.repoRoot,x)===c)||S.some(x=>am(x,i)))&&(f+=1)}return{explained:f,stale:m}}function im({status:r}){if(!r)return null;const a=r.stale>0&&r.explained===0;if(!(r.explained>0||r.stale>0))return null;const c=a?"AI audit explanation is stale":"AI audit explanation available";return t.jsx("span",{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full ${a?"bg-[color:var(--warning)]/15 text-[color:var(--warning)]":"bg-accent/10 text-accent"}`,title:c,"aria-label":c,children:a?t.jsx(vp,{size:10}):t.jsx(aa,{size:10})})}function Xi({changeStatus:r,auditStatus:a,renderChangeBadge:i}){return t.jsxs("span",{className:"inline-flex items-center gap-1",children:[i(r),t.jsx(im,{status:a})]})}const du="termdock:right-sidebar:diff-change-list-mode:v1";function lm(r){return r==="list"||r==="tree"}function cm(){return dt(du,lm)??"tree"}function dm(r){for(const a of r){const i=a.hunk;if(i.oldPath&&i.newPath&&i.oldPath!==i.newPath)return"renamed";if(i.oldPath===null&&i.newPath)return"added";if(i.oldPath&&i.newPath===null)return"deleted"}return"modified"}function um(r){const a=new Map;for(const c of r){const f=a.get(c.hunk.filePath)??{key:c.hunk.filePath,filePath:c.hunk.filePath,items:[],additions:0,deletions:0,explained:0,stale:0,changeType:"modified"};f.items.push(c),f.additions+=c.hunk.additions,f.deletions+=c.hunk.deletions,c.current&&(f.explained+=1),c.stale&&(f.stale+=1),a.set(c.hunk.filePath,f)}const i=Array.from(a.values()).sort((c,f)=>c.filePath.localeCompare(f.filePath));for(const c of i)c.changeType=dm(c.items);return i}function fm(r){const a=r.filePath.split("/").pop()??r.filePath;return{key:r.key,path:r.filePath,displayName:a,displayDir:r.filePath.includes("/")?r.filePath.slice(0,-a.length-1):"",status:r.changeType,title:r.filePath}}function hm(r,a){const i=r.filter(m=>m.trim().length>0);if(i.length<=1)return i[0]??"";const c=[],f=new Set;for(const[m,p]of i.entries()){const S=p.split(`
|
|
4
4
|
`),g=S.findIndex(k=>k.startsWith("@@ "));if(g<0){c.push(...S);continue}m===0&&c.push(...S.slice(0,g));const x=a[m];let w=g;for(;w>=0&&w<S.length;){const k=S.findIndex((J,N)=>N>w&&J.startsWith("@@ ")),b=k>=0?k:S.length,E=S.slice(w,b),P=E[0]??"",M=x?P===x:!0,$=P||x||E.join(`
|
|
5
5
|
`);M&&!f.has($)&&(c.push(...E),f.add($)),w=k}}return c.join(`
|
|
@@ -1635,7 +1635,7 @@ function installPreviewRuntime(capability, base, externalOrigins, shimUrl) {
|
|
|
1635
1635
|
`,ao="/api/terminal/fs/preview/",ng=8*1024*1024,sg=32*1024*1024,ag=128,og="data:,";function Pt(r){throw new Error(r)}function ig(r){return JSON.stringify(r).replace(/</g,"\\u003c")}async function Ed(r,a,i){let c="",f=0;for(const m of r.matchAll(a))c+=r.slice(f,m.index)+await i(m),f=m.index+m[0].length;return c+r.slice(f)}async function mu(r,a){const i=a.origin??location.origin,c=new URL(r,i);(c.origin!==i||!Vs(c.pathname)?.startsWith(ao))&&Pt("预览地址不是有效的本地文件入口");const f=crypto.randomUUID(),m=`https://termdock-preview.invalid/${f}/`,p=[],S=I=>{!p.includes(I)&&p.length<20&&p.push(I)},g=new Set,x=[],w=new Set,k=new Map,b=new Map;let E=0,P=!1;const M=new Set,$=()=>{P=!0;for(const I of[...M])I();g.clear(),x.length=0};async function J(I){I.ok||Pt(`预览资源读取失败(${I.status})`);const te=I.body?.getReader(),re=[];let C=0;try{if(te)for(;;){const ie=await te.read();if(ie.done)break;C+=ie.value.byteLength,E+=ie.value.byteLength,(C>ng||E>sg)&&Pt("预览资源超出大小限制"),re.push(ie.value)}}catch(ie){throw await te?.cancel().catch(()=>{}),ie}finally{te?.releaseLock()}const D=new Uint8Array(C);let z=0;for(const ie of re)D.set(ie,z),z+=ie.length;return{bytes:D,type:I.headers.get("content-type")??"application/octet-stream",status:I.status}}let N=c,O;for(let I=0;I<4;I++){const te=await a.fetch(N.pathname+N.search,{signal:a.signal,redirect:"manual"});if(![301,302,303,307,308].includes(te.status)){O=te;break}const re=te.headers.get("location");await te.body?.cancel(),re||Pt("预览重定向缺少目标");const C=new URL(re,N);(C.origin!==i||!Vs(C.pathname)?.startsWith(ao))&&Pt("预览重定向越出文件范围"),N=C}O||Pt("预览重定向次数过多");const K=Vs(N.pathname),X=K.slice(ao.length).split("/");/^[a-f0-9]{32}$/.test(X[0])||Pt("服务未提供有效的预览资源授权");const xe=Vs(c.pathname).slice(ao.length).split("/");/^[a-f0-9]{32}$/.test(xe[0])&&xe.shift(),xe.join("/").replace(/\/$/,"")!==X.slice(1).join("/").replace(/\/$/,"")&&Pt("预览重定向改变了文件范围");const F=K.endsWith("/")?K:K.slice(0,K.lastIndexOf("/")+1),o=new URL(N.pathname.endsWith("/")?N.pathname:N.pathname.slice(0,N.pathname.lastIndexOf("/")+1),i);function fe(I,te){const re=new URL(I,te);return re.origin!==i?null:(Vs(re.pathname)?.startsWith(F)||Pt("已阻止预览访问目录之外的资源"),re)}function W(I){const te=new URL(I,m);(te.origin!==new URL(m).origin||!te.pathname.startsWith(new URL(m).pathname))&&Pt("已阻止预览访问服务接口或目录之外的资源");const re=te.pathname.slice(new URL(m).pathname.length)+te.search;return fe(re,o)??Pt("预览资源无效")}function ge(I){const te=I.pathname+I.search,re=k.get(te);if(re)return re;if(P||a.signal?.aborted)return Promise.reject(new Error("预览已关闭"));if(k.size>=ag)return Promise.reject(new Error("预览资源数量超出限制"));const C=a.fetch(te,{signal:a.signal,redirect:"manual"}).then(J);return k.set(te,C),C}function H(I,te){P&&Pt("预览已关闭");const re=`termdock-resource-${f}-${x.length}`;return x.push({token:re,data:I,type:te}),g.add(re),re}async function ce(I,te,re,C=new Set){if(!I||I.startsWith("#")||/^data:(?:image|font)\//i.test(I)&&re==="resource")return I;try{const D=fe(I,te);if(!D){const he=new URL(I,te);return(he.protocol!=="https:"||he.username||he.password||he.origin===new URL(m).origin)&&Pt("已阻止不安全的外部资源"),w.add(he.origin),he.href}const z=`${re}:${D.href}`;(C.has(z)||C.size>=8)&&Pt("预览资源存在循环或过深引用");const ie=b.get(z);if(ie)return ie;const Ce=new Set(C);Ce.add(z);const ve=(async()=>{const he=await ge(D);return re==="css"?H(await j(new TextDecoder().decode(he.bytes),D,Ce),"text/css"):re==="script"?H(he.bytes,"text/javascript"):H(he.bytes,he.type)})();return b.set(z,ve),await ve}catch(D){return S(D instanceof Error?D.message:"部分预览资源未能加载"),og}}async function j(I,te,re){return I=await Ed(I,/@import\s+(?:url\(\s*)?["']([^"']+)["']\s*\)?([^;]*);/gi,async C=>`@import url("${await ce(C[1],te,"css",re)}")${C[2]};`),Ed(I,/url\(\s*(?:"([^"]*)"|'([^']*)'|([^)]*))\s*\)/gi,async C=>{const D=(C[1]??C[2]??C[3]).trim();return g.has(D)?C[0]:`url("${await ce(D,te,"resource",re)}")`})}try{const I=await J(O),te=H(tg,"text/javascript"),re=new DOMParser().parseFromString(new TextDecoder().decode(I.bytes),"text/html");re.querySelectorAll("base,meta[http-equiv],iframe,frame,object,embed").forEach(U=>U.remove());for(const U of re.querySelectorAll("*")){if(U.removeAttribute("ping"),U.removeAttribute("srcdoc"),U.hasAttribute("style")&&U.setAttribute("style",await j(U.getAttribute("style"),N,new Set)),U.tagName==="STYLE"&&(U.textContent=await j(U.textContent??"",N,new Set)),U.tagName==="A"||U.tagName==="AREA"){const pe=U.getAttribute("href");try{if(pe&&!pe.startsWith("#")){const le=fe(pe,N);if(le)U.setAttribute("href",new URL(le.pathname.slice(o.pathname.length)+le.search+le.hash,m).href);else{const Ie=new URL(pe,N);if(Ie.protocol!=="https:"){U.removeAttribute("href");continue}w.add(Ie.origin),U.setAttribute("href",Ie.href)}}}catch(le){U.removeAttribute("href"),S(le instanceof Error?le.message:"预览链接无法加载")}}for(const pe of["data","manifest"])U.removeAttribute(pe);if(U.tagName==="SCRIPT"&&U.getAttribute("type")==="module"){U.setAttribute("type","module-shim");const pe=U.getAttribute("src");if(pe){const le=fe(pe,N);if(le)U.setAttribute("src",new URL(le.pathname.slice(o.pathname.length)+le.search,m).href);else{const Ie=new URL(pe,N);if(Ie.protocol!=="https:"){U.remove();continue}w.add(Ie.origin),U.setAttribute("src",Ie.href)}}continue}if(U.tagName==="SCRIPT"&&U.getAttribute("type")==="importmap"){U.setAttribute("type","importmap-shim");continue}if(U.tagName==="LINK"){const pe=(U.getAttribute("rel")??"").toLowerCase();if(!["stylesheet","icon"].includes(pe)){U.remove();continue}const le=U.getAttribute("href");le&&U.setAttribute("href",await ce(le,N,pe==="stylesheet"?"css":"resource"))}if(U.hasAttribute("src")&&U.setAttribute("src",await ce(U.getAttribute("src"),N,U.tagName==="SCRIPT"?"script":"resource")),U.hasAttribute("poster")&&U.setAttribute("poster",await ce(U.getAttribute("poster"),N,"resource")),U.hasAttribute("srcset")){const pe=U.getAttribute("srcset");/data:/i.test(pe)?(U.removeAttribute("srcset"),S("混合内嵌图片候选暂不支持安全预览")):U.setAttribute("srcset",(await Promise.all(pe.split(",").map(async le=>{const[Ie,...De]=le.trim().split(/\s+/);return`${await ce(Ie,N,"resource")} ${De.join(" ")}`}))).join(", "))}U.setAttribute("referrerpolicy","no-referrer"),U.removeAttribute("integrity"),U.removeAttribute("crossorigin")}const C=[...w].join(" "),D=re.createElement("meta");D.httpEquiv="Content-Security-Policy",D.content=`default-src 'none'; script-src 'unsafe-inline' 'wasm-unsafe-eval' blob: ${C}; style-src 'unsafe-inline' blob: ${C}; img-src blob: data: ${C}; font-src blob: data: ${C}; media-src blob: data: ${C}; connect-src blob: ${C} ${[...w].map(U=>U.replace(/^https:/,"wss:")).join(" ")}; worker-src blob:; frame-src 'none'; object-src 'none'; base-uri https://termdock-preview.invalid; form-action 'none'`;const z=re.createElement("base");z.href=m;const ie=re.createElement("meta");ie.name="referrer",ie.content="no-referrer";const Ce=re.createElement("script");Ce.textContent=rg+`
|
|
1636
1636
|
installPreviewRuntime(`+[f,m,[...w],te].map(ig).join(",")+");";const ve=re.createElement("script");ve.src=te,re.head.prepend(D,ie,z,Ce,ve);const he=`<!doctype html>
|
|
1637
1637
|
`+re.documentElement.outerHTML;return{html:he,shellUrl:`/preview-shell.html#${f}`,errors:p,attach(U,pe){const le=new Set,Ie=Pe=>{if(Pe.source!==U.contentWindow||Pe.data?.capability!==f)return;if(Pe.data.type==="preview-ready"){U.contentWindow?.postMessage({type:"preview-init",capability:f,html:he,resources:x},"*");return}if(Pe.data.type==="preview-error"){pe("部分动态内容被安全预览限制");return}if(Pe.data.type==="preview-navigate"){(async()=>{const se=W(String(Pe.data.url)),Te=await mu(se.pathname+se.search,a);if(P){Te.dispose();return}const _e=Te.attach(U,pe);M.add(()=>{_e(),Te.dispose()}),U.src=Te.shellUrl.replace("#","?navigation="+crypto.randomUUID()+"#")})().catch(se=>pe(se instanceof Error?se.message:"无法打开预览页面"));return}if(Pe.data.type==="preview-external"){try{const se=new URL(String(Pe.data.url));se.protocol==="https:"&&w.has(se.origin)&&window.open(se.href,"_blank","noopener,noreferrer")}catch{}return}if(Pe.data.type!=="preview-fetch"||Pe.ports.length!==1)return;const L=Pe.ports[0];if(le.size>=8||!["GET","HEAD"].includes(Pe.data.method)){L.postMessage({error:"预览仅允许读取已授权目录资源"}),L.close();return}le.add(L),(async()=>{const se=W(String(Pe.data.url)),Te=await ge(se);if(!le.has(L)||P)return;const _e=Pe.data.method==="HEAD"?new Uint8Array:Te.bytes.slice();L.postMessage({status:Te.status,headers:{"content-type":Te.type},data:_e.buffer},[_e.buffer])})().catch(()=>{L.postMessage({error:"预览资源不在授权范围或无法加载"}),pe("部分动态资源不可用或超出预览目录")}).finally(()=>{le.delete(L),L.close()})};window.addEventListener("message",Ie);const De=()=>{window.removeEventListener("message",Ie);for(const Pe of le)Pe.close();le.clear(),M.delete(De)};return M.add(De),De},dispose:$}}catch(I){throw $(),I}}const lg=n.forwardRef(function({src:a,title:i,exitFullscreenLabel:c,onFullscreenChange:f},m){const p=n.useRef(null),[S,g]=n.useState(null),[x,w]=n.useState(),[k,b]=n.useState("");n.useEffect(()=>{const K=new AbortController;let X;return w(void 0),b(""),(async()=>{const xe=await oh();if(X=await mu(a,{fetch:(F,o)=>xe.fetch(F,o),signal:K.signal}),K.signal.aborted){X.dispose();return}w(X),X.errors.length&&b(X.errors.join(";"))})().catch(xe=>{K.signal.aborted||b(xe instanceof Error?xe.message:"安全预览加载失败")}),()=>{K.abort(),X?.dispose()}},[a]),n.useEffect(()=>{if(!(!x||!S))return x.attach(S,b)},[x,S]);const[E,P]=n.useState(!1),[M,$]=n.useState(!1),J=E||M;n.useEffect(()=>{f?.(J)},[J,f]),n.useEffect(()=>{const K=()=>{P(document.fullscreenElement===p.current)};return document.addEventListener("fullscreenchange",K),()=>document.removeEventListener("fullscreenchange",K)},[]),n.useEffect(()=>{if(!M)return;const K=X=>{X.key==="Escape"&&$(!1)};return document.addEventListener("keydown",K),()=>document.removeEventListener("keydown",K)},[M]);const N=n.useCallback(async()=>{const K=p.current;if(K){if(M){$(!1);return}if(document.fullscreenElement===K){await document.exitFullscreen();return}if(K.requestFullscreen&&document.fullscreenEnabled!==!1)try{await K.requestFullscreen();return}catch{}$(!0)}},[M]);n.useImperativeHandle(m,()=>({toggleFullscreen:N}),[N]);const O=t.jsxs("div",{ref:p,"data-html-preview-frame":!0,className:J?"fixed inset-0 z-modal-panel flex min-h-0 flex-col overflow-hidden bg-surface pt-[env(safe-area-inset-top,0px)] text-foreground":"flex h-full min-h-0 flex-col overflow-hidden bg-surface",children:[J&&t.jsxs("div",{className:"flex h-12 shrink-0 items-center justify-between gap-3 border-b border-border/15 bg-[var(--chrome-bg)] px-3",children:[t.jsx("span",{className:"min-w-0 truncate text-[12px] font-semibold",children:i}),t.jsx("button",{type:"button",onClick:()=>{N()},"aria-label":c,title:`${c} (Esc)`,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-surface-2 text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground active:scale-95",children:t.jsx(au,{size:15})})]}),k&&t.jsx("div",{role:"status",className:"shrink-0 border-b border-border px-3 py-2 text-xs text-muted-foreground",children:k}),!x&&!k&&t.jsx("div",{role:"status",className:"p-3 text-xs text-muted-foreground",children:"正在安全加载预览资源…"}),t.jsx("iframe",{ref:g,src:x?.shellUrl,referrerPolicy:"no-referrer",title:i,sandbox:"allow-scripts",className:"block min-h-0 w-full flex-1 border-0 bg-white"})]});return M?Qr.createPortal(O,document.body):O}),gu="termdock-file-search-match",Zi="termdock-file-search-current";function cg(r,a,i){return!!(a&&r?.isConnected&&!i.defaultPrevented&&!r.closest('[inert], [aria-hidden="true"], [hidden]')&&i.target instanceof Node&&r.contains(i.target))}function dg(r){const a=r.metaKey||r.ctrlKey,i=r.key.toLocaleLowerCase();return a&&i==="f"?"open":a&&i==="g"||r.key==="F3"?r.shiftKey?"previous":"next":r.key==="Escape"?"close":null}function ug(r){return r.parentElement?.closest("[data-markdown-preview-block-start], [data-file-preview-line]")??null}function fg(r,a){const i=a.trim().toLocaleLowerCase();if(!i)return[];const c=[];let f="",m=null;const p=document.createTreeWalker(r,NodeFilter.SHOW_TEXT);for(let w=p.nextNode();w;w=p.nextNode()){if(!(w instanceof Text)||!w.data)continue;const k=ug(w);if(!k)continue;m&&m!==k&&(f+=`
|
|
1638
|
-
`);const b=f.length;f+=w.data,c.push({node:w,start:b,end:f.length,group:k}),m=k}const S=f.toLocaleLowerCase(),g=[];let x=0;for(;x<=S.length-i.length;){const w=S.indexOf(i,x);if(w<0)break;const k=w+i.length,b=c.find(P=>P.start<=w&&P.end>w),E=c.find(P=>P.start<k&&P.end>=k);if(b&&E&&b.group===E.group){const P=document.createRange();P.setStart(b.node,w-b.start),P.setEnd(E.node,k-E.start),g.push(P)}x=w+Math.max(i.length,1)}return g}function bu(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}let bo;function Ad(r){return bo===r}function oo(r){if(r&&bo!==r)return;const a=bu();a?.delete(gu),a?.delete(Zi),bo=void 0}function Ii(r,a,i){const c=bu();if(!c||typeof Highlight>"u")return;bo=i,c.set(gu,new Highlight(...r));const f=r[a];f?c.set(Zi,new Highlight(f)):c.delete(Zi)}function Td(r){r?.startContainer.parentElement?.scrollIntoView({block:"center",inline:"nearest",behavior:"smooth"})}function hg(r){return Array.from(new Set(r.split(/[\n,]/).map(a=>a.trim().replace(/^!+/,"")).filter(Boolean))).slice(0,24)}function pg(r,a){const i=a.trim();return!i||i==="."?r:/^(?:[/\\]|[A-Za-z]:[/\\])/.test(i)?i.replace(/[\\/]+$/,""):`${r.replace(/[\\/]+$/,"")}/${i.replace(/^\.?[\\/]+/,"").replace(/[\\/]+$/,"")}`}function mg(r,a){if(a===r)return".";const i=`${r.replace(/[\\/]+$/,"")}/`;return a.startsWith(i)?a.slice(i.length):a}function xu(r,a,i){return a?r:Qr.createPortal(r,i)}const al="termdock:right-sidebar:file-tree-scroll:v1",ol="termdock:right-sidebar:file-preview-reading-state:v1",hs="termdock:right-sidebar:file-tree-width:v1",yu="termdock:right-sidebar:markdown-view-mode:v1",vu="termdock:right-sidebar:diff-change-list-mode:v1",wu="termdock:right-sidebar:diff-wrap:v1",ku="termdock:diff-viewer:view-type:v1",Su="termdock:right-sidebar:file-search-mode:v1",$i="termdock:right-sidebar:collapsed-git-repo-groups:v1",Md="termdock:right-sidebar:collapsed-diff-directories:v1",Fi="termdock:right-sidebar:branch-audit-module-open:v1",Ru="termdock:right-sidebar:branch-audit-module:v1",gg=150,Ld="termdock:right-sidebar:context-draft-enabled:v1",Id="termdock:right-sidebar:context-draft-collapsed:v1",$d="termdock:right-sidebar:context-draft-auto-collapse:v1",Di="termdock:right-sidebar:context-draft-text:v1",bg=300,xg=20,yg=120,vg=250,wg=250,kg=120,Sg=700,_i=600,Rg=6e4;function Xs(r){return!!(r&&B.getState().nestedGitScanRoots[r])}const Fd=[2e3,5e3,15e3,3e4],jg=320,Cg=500,Ng=20,Pg=12e3,el=300,Dd=240,Eg=560,_d=n.lazy(()=>sl(()=>import("./ModelPreview-a0HGTXuA.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))),Ag=n.lazy(()=>sl(()=>import("./ArchitecturePanel-DUwBHRpo.js"),__vite__mapDeps([32,1,2,3,4,5,33,11,12,13,24,20,25,26,17,18,34,19,8,21,9,10,14,15,22,23,27,28,29,30,6,31,35])).then(r=>({default:r.ArchitecturePanel}))),Tg=n.lazy(()=>sl(()=>import("./ComputerControlView-Dmmuxujg.js").then(r=>r.a),__vite__mapDeps([36,1,2,3,4,5,29,14,37,30])));function ju(r,a,i){return r&&!a?"unified":i}const Mg=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function Lg(r){return r==="preview"||r==="source"}function Ig(r){return r==="list"||r==="tree"||r==="ai"}function Bd(){return dt(yu,Lg)??"preview"}function $g(){return dt(vu,Ig)??"tree"}function ra(r){return typeof r=="boolean"}function Fg(r){return typeof r=="string"}function Dg(){return dt(wu,ra)??!0}function _g(r){return r==="unified"||r==="split"}function Bg(){return dt(ku,_g)??"unified"}function Ug(r){return r==="name"||r==="content"||r==="regex"}function Og(){return dt(Su,Ug)??"name"}function Cu(r){return r.repositories??(r.context?.root?[{id:r.context.root,root:r.context.root,relativeRoot:".",name:xt(r.context.root)||r.context.root,depth:0,nested:!1,available:r.available,files:r.files,context:r.context,error:r.error}]:[])}function Hg(r,a){if(!a)return null;const i=new Set((r.repoFilters??[]).map(c=>c.root));return i.has(a)?a:i.size>0?null:(r.repositories??[]).some(c=>c.root===a)?a:null}function tl(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function Nu(...r){const a=new Set;for(const i of r)for(const c of i)a.add(c.root);return a}function rl(r){return Array.isArray(r)&&r.every(a=>typeof a=="string")}function Ud(r){const a=dt(r,rl);return a?new Set(a):new Set}function Bi(r,a){Et(r,[...a])}function zg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.filePath=="string"&&typeof a.hunkHeader=="string"&&typeof a.hunkIndex=="number"&&typeof a.fingerprint=="string"&&typeof a.additions=="number"&&typeof a.deletions=="number"&&typeof a.diff=="string"&&(a.oldPath===void 0||a.oldPath===null||typeof a.oldPath=="string")&&(a.newPath===void 0||a.newPath===null||typeof a.newPath=="string")&&(a.source===void 0||a.source==="committed"||a.source==="uncommitted"||a.source==="unknown")&&(a.commit===void 0||a.commit===null||typeof a.commit=="string")}function Gg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.available=="boolean"&&(a.repoRoot===void 0||typeof a.repoRoot=="string")&&(a.workspaceRoot===void 0||typeof a.workspaceRoot=="string")&&(a.baseRef===void 0||typeof a.baseRef=="string")&&(a.baseBranch===void 0||typeof a.baseBranch=="string")&&(a.currentBranch===void 0||a.currentBranch===null||typeof a.currentBranch=="string")&&(a.headRef===void 0||a.headRef===null||typeof a.headRef=="string")&&(a.diffFingerprint===void 0||typeof a.diffFingerprint=="string")&&(a.stat===void 0||typeof a.stat=="string")&&(a.files===void 0||rl(a.files))&&(a.hunks===void 0||Array.isArray(a.hunks)&&a.hunks.every(zg))&&(a.commits===void 0||rl(a.commits))&&(a.commitCount===void 0||typeof a.commitCount=="number")&&(a.diff===void 0||typeof a.diff=="string")&&(a.truncated===void 0||typeof a.truncated=="boolean")&&(a.error===void 0||typeof a.error=="string")}function Wg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.key=="string"&&Gg(a.diff)&&typeof a.repoLabel=="string"&&typeof a.createdAt=="number"}function Kg(r){return!r||typeof r!="object"||Array.isArray(r)?!1:Object.values(r).every(a=>{if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;return Array.isArray(i.selectedRepoRoots)&&i.selectedRepoRoots.every(c=>typeof c=="string")&&!!i.repoTargetBranches&&typeof i.repoTargetBranches=="object"&&!Array.isArray(i.repoTargetBranches)&&Object.values(i.repoTargetBranches).every(c=>typeof c=="string")&&(i.repoBaseBranches===void 0||!!i.repoBaseBranches&&typeof i.repoBaseBranches=="object"&&!Array.isArray(i.repoBaseBranches)&&Object.values(i.repoBaseBranches).every(c=>typeof c=="string"))&&(i.previewEntries===void 0||Array.isArray(i.previewEntries)&&i.previewEntries.every(Wg))&&(i.selectedPreviewKey===void 0||i.selectedPreviewKey===null||typeof i.selectedPreviewKey=="string")&&(i.selectedPreviewFileKey===void 0||i.selectedPreviewFileKey===null||typeof i.selectedPreviewFileKey=="string")&&(i.previewDetailOpen===void 0||typeof i.previewDetailOpen=="boolean")&&(i.previewScrollTops===void 0||!!i.previewScrollTops&&typeof i.previewScrollTops=="object"&&!Array.isArray(i.previewScrollTops)&&Object.values(i.previewScrollTops).every(c=>typeof c=="number"))&&(i.previewMobileSlideIndex===void 0||typeof i.previewMobileSlideIndex=="number")&&(i.repoIncludeUncommitted===void 0||!!i.repoIncludeUncommitted&&typeof i.repoIncludeUncommitted=="object"&&!Array.isArray(i.repoIncludeUncommitted)&&Object.values(i.repoIncludeUncommitted).every(c=>typeof c=="boolean"))&&(i.includeUncommitted===void 0||typeof i.includeUncommitted=="boolean")&&typeof i.updatedAt=="number"})}function Od(){return dt(Ru,Kg)??{}}function Hd(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function zd(r){const a=r?.trim()??"",i=a.indexOf("/");return i>=0?a.slice(i+1):a}function Pu(r,a){const i=r?.trim(),c=a?.trim();return!i||!c?!1:i===c||zd(i)===zd(c)}function Gd(r){const a=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(c=>c&&!Pu(c,a))??""}function nl(r,a){const i=Math.max(Dd,a-320),c=Math.min(Eg,i);return Math.min(c,Math.max(Dd,r))}function qg(r){return typeof r=="number"&&Number.isFinite(r)}function Vg(r){return nl(dt(hs,qg)??el,r)}function Eu(r){const a=r.split(/[\\/]/).pop()??r,i=a.lastIndexOf(".");return i>=0?a.slice(i).toLowerCase():""}function Js(r){return Mg.has(Eu(r))}function fs({label:r,value:a,options:i,placeholder:c,searchPlaceholder:f,emptyText:m,disabled:p,onChange:S}){const{t:g}=Bt(),[x,w]=n.useState(!1),[k,b]=n.useState(""),[E,P]=n.useState(null),M=n.useRef(null),$=n.useRef(null),J=k.trim().toLowerCase(),N=n.useMemo(()=>J?i.filter(F=>`${F.label} ${F.meta??""}`.toLowerCase().includes(J)):i,[J,i]),O=i.find(F=>F.value===a),K=()=>{const F=k.trim();F&&(S(F),w(!1),b(""))},X=n.useCallback(()=>{const F=M.current?.getBoundingClientRect();if(!F)return!1;const o=12,fe=Math.max(220,Math.min(F.width,window.innerWidth-o*2)),W=Math.min(Math.max(o,F.left),window.innerWidth-fe-o),ge=window.innerHeight-F.bottom-o,H=F.top-o,ce=ge>=180||ge>=H,j=Math.max(96,(ce?ge:H)-4),I=Math.min(320,j);return P({left:W,top:ce?F.bottom+4:Math.max(o,F.top-I-4),width:fe,maxHeight:I}),!0},[]),xe=()=>{X(),w(!0)};return n.useEffect(()=>{if(!x)return;let F=0;const o=()=>{F||(F=window.requestAnimationFrame(()=>{F=0,X()}))},fe=W=>{const ge=W.target;ge instanceof Node&&(M.current?.contains(ge)||$.current?.contains(ge)||(w(!1),b("")))};return window.addEventListener("resize",o),window.addEventListener("scroll",o,!0),document.addEventListener("pointerdown",fe,!0),()=>{F&&window.cancelAnimationFrame(F),window.removeEventListener("resize",o),window.removeEventListener("scroll",o,!0),document.removeEventListener("pointerdown",fe,!0)}},[x,X]),t.jsxs("div",{className:"relative min-w-0",children:[t.jsxs("button",{ref:M,type:"button",disabled:p,onClick:()=>{if(!p){if(b(""),x){w(!1);return}xe()}},className:"group flex w-full items-center justify-between gap-2 min-h-10 rounded-md border border-transparent bg-surface-2 px-3 py-2 text-left transition hover:bg-surface-elevated focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",children:[t.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[t.jsx("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:r}),t.jsx("span",{className:`min-w-0 flex-1 truncate text-[13px] ${a?"text-foreground":"text-muted-foreground/70"}`,children:O?.label??(a||c)})]}),t.jsx(oa,{size:13,className:`shrink-0 text-muted-foreground transition group-hover:text-foreground ${x?"rotate-180":""}`})]}),x&&!p&&typeof document<"u"&&Qr.createPortal(t.jsxs("div",{ref:$,className:"fixed z-popover overflow-hidden rounded-lg border border-border/15 bg-surface shadow-lg",onClick:F=>F.stopPropagation(),style:{left:E?.left??12,top:E?.top??12,width:E?.width??260,maxHeight:E?.maxHeight??320},children:[t.jsx("div",{className:"border-b border-border/10 p-1.5",children:t.jsxs("div",{className:"flex items-center gap-1.5 rounded-md bg-surface-2 px-2 py-1.5",children:[t.jsx(ms,{size:12,className:"shrink-0 text-muted-foreground"}),t.jsx("input",{autoFocus:!0,value:k,onChange:F=>b(F.target.value),onKeyDown:F=>{if(F.key==="Escape"){F.preventDefault(),w(!1),b("");return}F.key==="Enter"&&(F.preventDefault(),K())},onBlur:()=>{k.trim()&&N.length===0&&K()},placeholder:f,className:"min-w-0 flex-1 bg-transparent text-[12px] text-foreground outline-none placeholder:text-muted-foreground/70"})]})}),t.jsxs("div",{className:"overflow-y-auto p-1",style:{maxHeight:Math.max(96,(E?.maxHeight??320)-46)},children:[k.trim()&&!i.some(F=>F.value===k.trim())&&t.jsxs("button",{type:"button",onMouseDown:F=>F.preventDefault(),onClick:K,className:"mb-1 flex w-full items-center justify-between gap-2 rounded-md bg-primary/10 px-2 py-1.5 text-left text-[12px] font-medium text-primary transition hover:bg-primary/15",children:[t.jsx("span",{className:"min-w-0 truncate",children:k.trim()}),t.jsx("span",{className:"shrink-0 text-[10px] text-primary/75",children:g("common.use")})]}),N.length>0?N.map(F=>t.jsxs("button",{type:"button",onClick:()=>{S(F.value),w(!1),b("")},className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left text-[12px] transition hover:bg-surface-2 ${F.value===a?"bg-accent/10 text-accent":"text-foreground"}`,children:[t.jsx("span",{className:"min-w-0 truncate font-medium",children:F.label}),F.meta&&t.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:F.meta})]},F.value)):t.jsx("div",{className:"px-2 py-2 text-[11px] text-muted-foreground",children:m})]})]}),document.body)]})}function Wd({open:r,onOpenChange:a,showScopePicker:i,selectedAll:c,repos:f,selectedRoots:m,onToggleRepo:p,onGenerate:S,onSecondaryAction:g,disabled:x,generateDisabled:w,secondaryDisabled:k,inserted:b,buttonLabel:E,insertedLabel:P,title:M,ariaLabel:$,scopeTitle:J,scopeLabel:N,allLabel:O,generateLabel:K,secondaryLabel:X,secondaryTitle:xe,secondaryLoading:F,loading:o,error:fe,statusTitle:W,extraContent:ge,renderRepoExtra:H,menuItem:ce=!1}){return t.jsxs("div",{className:ce?"relative w-full":"relative inline-flex shrink-0",children:[t.jsxs("button",{type:"button",role:ce?"menuitem":void 0,tabIndex:ce?-1:void 0,onClick:j=>{i?a(!r):w||S(j.currentTarget)},disabled:x,className:`relative flex items-center rounded-md transition disabled:cursor-not-allowed disabled:opacity-50 ${ce?"min-h-10 w-full gap-2.5 px-2.5 text-left text-[12px] focus:bg-surface-2 focus:outline-none [@media(pointer:coarse)]:min-h-11":"h-7 shrink-0 justify-center gap-1 px-2 text-[11px] font-medium active:scale-95"} ${fe?"text-destructive hover:bg-destructive/5":b?"bg-surface-elevated text-foreground":ce?"text-foreground hover:bg-surface-2":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,"aria-label":$,title:W??(i?`${J}: ${N}`:M),children:[o?t.jsx(ct,{size:ce?15:13,className:"shrink-0 animate-spin"}):t.jsx(aa,{size:ce?15:13,className:ce?"shrink-0 text-muted-foreground":void 0}),t.jsx("span",{className:ce?"min-w-0 flex-1":void 0,children:b?P:E}),i&&(ce?t.jsx(ps,{size:13,className:"shrink-0 text-muted-foreground"}):t.jsx(oa,{size:11,className:`shrink-0 transition ${r?"rotate-180":""}`})),fe&&t.jsx("span",{className:"absolute right-0.5 top-0.5 size-1.5 rounded-full bg-destructive"})]}),i&&r&&typeof document<"u"&&Qr.createPortal(t.jsx("div",{className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] px-3 py-6 backdrop-blur-sm animate-fade-in",onClick:()=>a(!1),children:t.jsxs("div",{className:"fixed left-1/2 top-1/2 z-modal-panel flex max-h-[min(82vh,36rem)] w-[calc(100vw-1.5rem)] max-w-[42rem] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-border/20 bg-surface text-[11px] shadow-2xl",onClick:j=>j.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/15 px-3 py-2",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:J}),t.jsx("div",{className:"mt-0.5 truncate text-[10px] text-muted-foreground",children:N})]}),t.jsx("button",{type:"button",onClick:()=>a(!1),className:"inline-flex h-7 w-7 shrink-0 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":"Close",children:t.jsx(Qt,{size:14})})]}),t.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-2",children:[ge,t.jsxs("button",{type:"button",onClick:()=>p(null),className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left font-medium transition ${c?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx("span",{className:"truncate",children:O}),c&&t.jsx("span",{className:"text-[10px]",children:"✓"})]}),f.map(j=>{const I=m.includes(j.root);return t.jsxs("div",{className:`mt-1 rounded-md transition ${I?"bg-primary/15 text-primary":""}`,children:[t.jsxs("button",{type:"button",onClick:()=>p(j.root),className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left font-medium transition ${I?"text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,title:j.root,children:[t.jsxs("span",{className:"min-w-0",children:[t.jsx("span",{className:"block truncate",children:j.label}),j.branch&&t.jsx("span",{className:"block truncate text-[9px] opacity-70",children:j.branch})]}),I&&t.jsx("span",{className:"text-[10px]",children:"✓"})]}),H&&(c||I)&&t.jsx("div",{className:"px-2 pb-2",children:H(j)})]},j.root)})]}),t.jsxs("div",{className:`grid grid-cols-1 gap-1.5 border-t border-border/15 p-2 ${g&&X?"sm:grid-cols-2":""}`,children:[g&&X&&t.jsxs("button",{type:"button",onClick:()=>{k||(a(!1),g())},disabled:k,className:"flex h-7 w-full items-center justify-center gap-1 rounded-md bg-surface-2 px-2 text-[11px] font-semibold text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50 active:scale-95",title:xe,children:[F?t.jsx(ct,{size:12,className:"animate-spin"}):t.jsx(lu,{size:12}),X]}),t.jsxs("button",{type:"button",onClick:async j=>{if(w)return;await S(j.currentTarget)!==!1&&a(!1)},disabled:w,className:"flex h-7 w-full items-center justify-center gap-1 rounded-md bg-primary/15 px-2 text-[11px] font-semibold text-primary transition hover:bg-primary/25 disabled:cursor-not-allowed disabled:opacity-50 active:scale-95",title:M,children:[t.jsx(aa,{size:12}),K]})]})]})}),document.body)]})}function Yg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;for(const a of Object.values(r)){if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;if(typeof i.top!="number"||!Number.isFinite(i.top)||typeof i.updatedAt!="number"||!Number.isFinite(i.updatedAt))return!1}return!0}function Au(){return dt(al,Yg)??{}}function Xg(r,a){const i=Au(),c=Object.entries({...i,[r]:{top:a,updatedAt:Date.now()}}).sort(([,f],[,m])=>m.updatedAt-f.updatedAt).slice(0,xg);na(al,Object.fromEntries(c),vg)}function Jg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.start=="number"&&Number.isFinite(a.start)&&typeof a.end=="number"&&Number.isFinite(a.end)&&a.start>=1&&a.end>=a.start}function Qg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;for(const a of Object.values(r)){if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;if(typeof i.top!="number"||!Number.isFinite(i.top)||i.left!==void 0&&(typeof i.left!="number"||!Number.isFinite(i.left))||i.markdownTop!==void 0&&(typeof i.markdownTop!="number"||!Number.isFinite(i.markdownTop))||i.lineRange!==void 0&&i.lineRange!==null&&!Jg(i.lineRange)||typeof i.updatedAt!="number"||!Number.isFinite(i.updatedAt))return!1}return!0}function il(r,a){if(!a)return null;const i=r&&!a.startsWith("/")?`${r}/${a}`:a;return r?`${r}::${i}`:i}function Tu(){return dt(ol,Qg)??{}}function Kd(r,a){const i=il(r,a);return i?Tu()[i]??null:null}function Ui(r,a,i){const c=il(r,a);if(!c)return;const f=Tu(),m=f[c]??{top:0,left:0,markdownTop:0,lineRange:null,updatedAt:Date.now()},p=Object.entries({...f,[c]:{...m,...i,updatedAt:Date.now()}}).sort(([,S],[,g])=>g.updatedAt-S.updatedAt).slice(0,yg);na(ol,Object.fromEntries(p),wg)}function Oi({slow:r}){return t.jsx(fp,{slow:r})}function io({message:r,onRetry:a}){const{t:i}=Bt();return t.jsxs("div",{className:"mx-3 mt-3 overflow-hidden rounded-xl border border-destructive/20 bg-destructive/5 px-4 py-5 text-center text-sm text-destructive",children:[t.jsx("div",{className:"font-medium",children:i("rightSidebar.gitChangesLoadFailed")}),t.jsx("div",{className:"mt-1 break-words text-xs opacity-85",children:r}),t.jsx("button",{type:"button",onClick:a,className:"mt-3 rounded-full bg-destructive/10 px-3 py-1.5 text-xs font-semibold text-destructive transition hover:bg-destructive/15 active:scale-95",children:i("rightSidebar.retryGitChanges")})]})}function fo(r,a){const i=a&&r.startsWith(`${a}/`)?r.slice(a.length+1):r,c=i.split("/").filter(Boolean);return{name:c.pop()||i,dir:c.join("/")}}function xt(r){if(!r)return"";const a=r.replace(/\/+$/,"");return a.split("/").pop()||a||"/"}function lo(r){if(!r)return null;const a=Jd(r);return a==="/"?null:Uh(a)}function Zg(r,a,i){return Vi(r,a,i)}function Mu(r){const a=new Map;for(const i of r)a.set(ll(i),i);return a}function Lu(r,a){const i=new Map(r);for(const c of a)i.set(ll(c),c);return i}function qd(r,a){let i=0;for(const c of r){const f=mt(c,a);f&&a&&f!==a&&(i+=1)}return i}function eb(r){return r.reduce((a,i)=>a+(i.staged?1:0),0)}function tb(r,a){return Array.from(Lu(Mu(r),a).values()).sort((i,c)=>i.path.localeCompare(c.path))}function rb(r,a){const i=r.relativeRoot==="."?xt(a??r.root)||r.name||r.root:r.relativeRoot||r.name||xt(r.root)||r.root;return{root:r.root,label:i,branch:r.context?.branch??null,count:r.files.length,staged:eb(r.files)}}function Iu(r,a){const i=xt(a??"")||a||"";return r.map(c=>rb(c,a)).sort((c,f)=>i&&c.label===i?-1:i&&f.label===i?1:c.label.localeCompare(f.label))}function $u(r,a,i,c,f){const m=Cu(i),p=m.find(M=>M.root===c)??m[0]??null,S=a.find(M=>M.root===c)??null,g=S?.relativeRoot??p?.relativeRoot??".",x=S?.name??p?.name??(xt(c)||c),w=(p?.files??i.files).map(M=>({...M,repoRoot:c,repoRelativeRoot:g,repoName:x})),k=p?.context??i.context,b={...S??p??{id:c,root:c,relativeRoot:g,name:x,depth:0,nested:!!(f&&c!==f),available:i.available,files:[],context:null},...p??{},id:S?.id??p?.id??c,root:c,displayRoot:S?.displayRoot??p?.displayRoot,relativeRoot:g,name:x,depth:S?.depth??p?.depth??0,nested:S?.nested??p?.nested??!!(f&&c!==f),available:p?.available??i.available,deferred:p?.deferred??!1,files:w,context:k?{...k,root:c,changedFiles:w.map(M=>({path:M.path,absolutePath:M.absolutePath,status:M.status}))}:null,untrackedDeferred:p?.untrackedDeferred??i.untrackedDeferred,error:p?.error??i.error},E=S?a.map(M=>M.root===c?b:M):[...a,b];return{files:Array.from(r).filter(M=>mt(M,f)!==c).concat(w),repositories:E,repoFilters:Iu(E,f)}}function mt(r,a){return r.repoRoot??a}function ll(r){return`${r.repoRoot??""}\0${r.path}`}function yr(r){return r.absolutePath||r.path}function Hi(r){return ll(r)}function nb(r){return r.repoRelativeRoot&&r.repoRelativeRoot!=="."?r.repoRelativeRoot:r.repoName??""}function Vd(r){return r.reduce((a,i)=>a+(i.staged?1:0),0)}function Yd(r){const a={added:0,modified:0,deleted:0,renamed:0,copied:0,untracked:0,conflicted:0,staged:0,other:0};for(const i of r)i.status==="added"?a.added+=1:i.status==="modified"?a.modified+=1:i.status==="deleted"?a.deleted+=1:i.status==="renamed"?a.renamed+=1:i.status==="copied"?a.copied+=1:i.status==="untracked"?a.untracked+=1:i.status==="conflicted"?a.conflicted+=1:a.other+=1,i.staged&&(a.staged+=1);return a}function Qs(r){let a=0;const i=r??"root";for(let c=0;c<i.length;c+=1)a=Math.imul(a^i.charCodeAt(c),16777619);return`right-sidebar-git-bundle:${(a>>>0).toString(36)}`}function Zs(r,a){return typeof r!="number"||!Number.isFinite(r)||r<=0?null:new Intl.DateTimeFormat(a==="zh"?"zh-CN":"en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(r))}function vr(r){return r instanceof DOMException&&r.name==="AbortError"}function sb(r){const a=r.error??r.context?.error??"";return a.includes("request was cancelled")||a.includes("IO_REQUEST_CANCELLED")}function Xd(r){return r?.available===!1&&r.code==="NOT_GIT_REPOSITORY"}function ab({actions:r,running:a,completed:i}){const{t:c}=Bt(),[f,m]=n.useState(!1),p=n.useRef(null),S=r.find(x=>a?.action===x.key),g=r.find(x=>i?.action===x.key);return r.length===0?null:(n.useEffect(()=>{if(!f)return;const x=k=>{const b=k.target;b instanceof Node&&p.current?.contains(b)||m(!1)},w=k=>{k.key==="Escape"&&m(!1)};return document.addEventListener("pointerdown",x),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",x),document.removeEventListener("keydown",w)}},[f]),t.jsxs("div",{ref:p,className:"relative shrink-0",children:[t.jsx("button",{type:"button",onClick:x=>{x.stopPropagation(),m(w=>!w)},disabled:r.every(x=>x.disabled)&&!a&&!i,className:`inline-flex h-6 min-w-6 shrink-0 items-center justify-center rounded-md transition active:scale-95 disabled:opacity-50 ${f?"bg-surface-elevated text-foreground":g?"bg-accent/10 text-accent":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,title:S?.label??g?.label??c("rightSidebar.gitQuickActions"),children:S?t.jsx(ct,{size:13,className:"animate-spin"}):g?t.jsx("span",{className:"text-[12px] font-semibold",children:"✓"}):t.jsx(ho,{size:14})}),f&&t.jsx("div",{className:"absolute right-0 top-[calc(100%+2px)] z-30 w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in",children:r.map(x=>{const w=a?.action===x.key,k=i?.action===x.key;return t.jsxs("button",{type:"button",onClick:b=>{b.stopPropagation(),x.onClick(),m(!1)},disabled:x.disabled||!!a,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] disabled:opacity-50 ${k?"bg-accent/10 text-accent":x.destructive?"text-destructive hover:bg-destructive/10":"text-foreground hover:bg-surface-2"}`,children:[t.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:w?t.jsx(ct,{size:13,className:"animate-spin"}):k?"✓":null}),t.jsx("span",{className:"min-w-0 flex-1 truncate",children:x.label})]},x.key)})})]}))}function ob(r){const a=window.getComputedStyle(r).overflowY;return(a==="auto"||a==="scroll")&&r.scrollHeight>r.clientHeight+1}function Fu(r){let a=r;for(;a;){if(a.classList.contains("termdock-diff-stream-scroller")&&ob(a))return a;a=a.parentElement}return r.closest(".termdock-diff-stream-scroller")}function gs(r){return r.getClientRects().length>0&&window.getComputedStyle(r).visibility!=="hidden"}const zi=new WeakMap;function xo(r){const a=zi.get(r);a!==void 0&&window.clearTimeout(a),r.classList.remove("diff-walkthrough-target"),r.offsetWidth,r.classList.add("diff-walkthrough-target");const i=window.setTimeout(()=>{r.classList.remove("diff-walkthrough-target"),zi.delete(r)},1700);zi.set(r,i)}function ib(r){const a=CSS.escape(r),i=[`[data-diff-stream-item="${a}"]`,`[data-diff-selection-path="${a}"]`,`[data-diff-absolute-path="${a}"]`].join(","),c=Array.from(document.querySelectorAll(".termdock-diff-stream-scroller"));let f=null;for(const S of c){if(!gs(S))continue;const g=S.querySelector(i);if(g&&gs(g)){f=g;break}}if(f??=Array.from(document.querySelectorAll(i)).find(gs)??null,!f)return;const m=Fu(f);if(!m){f.scrollIntoView({block:"start",behavior:"smooth"}),xo(f);return}const p=f.getBoundingClientRect().top-m.getBoundingClientRect().top+m.scrollTop;m.scrollTo({top:Math.max(0,p),behavior:"instant"}),xo(f)}function Ln(r){const a=CSS.escape(r.filePath),i=typeof r.sectionIndex=="number"?String(r.sectionIndex):null,c=typeof r.hunkIndex=="number"?String(r.hunkIndex):null,f=r.sectionFingerprint?CSS.escape(r.sectionFingerprint):null,m=r.hunkFingerprint?CSS.escape(r.hunkFingerprint):null,p=[i!==null&&f?`[data-diff-section-audit="${a}"][data-diff-section-index="${i}"][data-diff-section-fingerprint="${f}"]`:null,i!==null&&f?`[data-diff-section-anchor="${a}"][data-diff-section-index="${i}"][data-diff-section-fingerprint="${f}"]`:null,i!==null?`[data-diff-section-audit="${a}"][data-diff-section-index="${i}"]`:null,i!==null?`[data-diff-section-anchor="${a}"][data-diff-section-index="${i}"]`:null,c!==null&&m?`[data-diff-hunk-anchor="${a}"][data-diff-hunk-index="${c}"][data-diff-hunk-fingerprint="${m}"]`:null,c!==null?`[data-diff-hunk-anchor="${a}"][data-diff-hunk-index="${c}"]`:null,`[data-diff-file-path="${a}"]`].filter(P=>!!P),S=Array.from(document.querySelectorAll(".termdock-diff-stream-scroller"));let g=null;for(const P of S)if(gs(P)){for(const M of p){const $=P.querySelector(M);if($&&gs($)){g=$;break}}if(g)break}if(g??=p.flatMap(P=>Array.from(document.querySelectorAll(P))).find(gs)??null,!g){ib(r.filePath);return}const x=Fu(g);if(!x){g.scrollIntoView({block:"center",behavior:"smooth"}),xo(g);return}const w=g.getBoundingClientRect(),k=x.getBoundingClientRect(),E=w.top-k.top+x.scrollTop-Math.max(24,(x.clientHeight-w.height)/2);x.scrollTo({top:Math.max(0,E),behavior:"instant"}),xo(g)}let lb=0,cb=0,db=0,ub=0,fb=0;function ot(r,a={}){if(typeof window>"u")return;const i=JSON.stringify({level:r==="error"||r==="empty_bundle"?"warn":"info",message:`GIT_BUNDLE ${r}`,data:{seq:++cb,ts:Date.now(),...a}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{})}function ea(r,a={}){if(typeof window>"u")return;const i=JSON.stringify({level:"info",message:`DIFF_INTERACTION ${r}`,data:{seq:++ub,ts:Date.now(),...a}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{})}function hb(){return`diff-ui-${Date.now().toString(36)}-${(++fb).toString(36)}`}function pb(r){return r instanceof Element?r.closest("[data-diff-selection-path]"):null}function mb(r){const a=r.target instanceof HTMLElement?r.target:null;return{eventType:r.type,button:r.button,pointerType:r instanceof globalThis.PointerEvent?r.pointerType:void 0,targetTag:a?.tagName,targetClass:a?.className,targetText:a?.textContent?.slice(0,80)}}function yo({onReviewReference:r,filePath:a,active:i=!0,onInsertReference:c,onInsertText:f,onInsertFeature:m,onReferenceCopied:p,onClose:S,onDirectoryLinkOpen:g,isMobile:x,markdownOutlineOpen:w,markdownOutlineCloseSignal:k,onOpenMarkdownOutline:b,onCloseMarkdownOutline:E,markdownImageLightboxOpen:P,markdownImageLightboxCloseSignal:M,onOpenMarkdownImageLightbox:$,onCloseMarkdownImageLightbox:J,lineRange:N,onLineRangeChange:O,insertedReferenceKey:K,copiedReferenceKey:X,scrollToLine:xe,onScrollToLineHandled:F}){const{t:o}=Bt(),fe=n.useRef(null),W=n.useRef({}),ge=n.useRef(i);ge.current=i,n.useEffect(()=>{i||fe.current?.querySelectorAll("video").forEach(R=>R.pause())},[i]);const H=B(R=>R.rootPath),ce=B(R=>R.selectFile),[j,I]=n.useState({kind:"idle"}),[te,re]=n.useState("schematic"),[C,D]=n.useState(null),z=n.useRef(null),[ie,Ce]=n.useState(null),ve=n.useRef(new Map),he=n.useRef(null),[U,pe]=n.useState(null),[le,Ie]=n.useState(()=>Bd()),[De,Pe]=n.useState(()=>Nd(H,a)),L=n.useRef(null),[se,Te]=n.useState(!1),[_e,Ee]=n.useState(null),[Ut,Ge]=n.useState(0),[ut,We]=n.useState([]),[At,be]=n.useState(null),ft=n.useRef(null),lr=n.useRef(a),[Je,Oe]=n.useState(null),Q=ih(H&&a&&!a.startsWith("/")?`${H}/${a}`:a,i),[Se,rt]=n.useState(!1),[ht,wr]=n.useState(""),[$e,T]=n.useState([]),[V,we]=n.useState(0),et=n.useRef(null),kt=tu(p),pt=il(H,a);n.useEffect(()=>{if(lr.current===a)return;lr.current=a;const R=a&&H&&!a.startsWith("/")?`${H}/${a}`:a;if(ft.current===R){ft.current=null;return}ft.current=null,We([]),be(null),rt(!1),wr("")},[a,H]);const St=a?H&&!a.startsWith("/")?`${H}/${a}`:a:null,In=B(R=>St?(R.fileChangeVersions.get(St)??0)+R.fileWatchEpoch:R.fileWatchEpoch),bs=n.useRef(null),kr=n.useRef(null),[Ot,Zr]=n.useState(0),Zt=n.useCallback(()=>Zr(R=>R+1),[]);n.useEffect(()=>{const R=z.current;return z.current=null,D(null),R&&URL.revokeObjectURL(R.objectUrl),()=>{const A=z.current;z.current=null,A&&URL.revokeObjectURL(A.objectUrl)}},[St,In,Ot]),n.useEffect(()=>{if(!a){bs.current=null,I({kind:"idle"});return}const R=H&&!a.startsWith("/")?`${H}/${a}`:a,A=new AbortController,de=++lb,ke=`right-sidebar-file-preview:${de}`,Qe=performance.now();let Me=!1;const ze=(q,qe={})=>{Me||(Me=!0,Ei("end",{loadingId:de,reason:q,durationMs:Math.round(performance.now()-Qe),filePath:a,fullPath:R,rootPath:H,...qe}))};let Le=null;const Ke=lh(R),it=Ke?R.toLowerCase().endsWith(".kicad_pcb")?te==="schematic"?"pcb-front":te:"schematic":te,_n=!Ke&&ch(R),dr=!Ke&&!_n&&dh(R),Rs=!Ke&&!_n&&!dr&&uh(R),an=Js(R),on=Ys(R),zr=Ke?"eda":_n?"image":dr?"model3d":Rs?"video":"text",ln=bs.current!==R;if(bs.current=R,ln){Ei("start",{loadingId:de,filePath:a,fullPath:R,rootPath:H,mode:zr,externalVersion:In}),I({kind:"loading",mode:zr}),kr.current=null;const q=Kd(H,a);O(q?.lineRange??null),Ie(an?Bd():"source"),Pe(on?Nd(H,a):"source"),Ke&&re(fh(R))}ln||I(q=>q.kind==="error"?{kind:"loading",mode:zr}:q);const cn=window.setTimeout(()=>{Me||A.signal.aborted||Ei("still_active",{loadingId:de,filePath:a,fullPath:R,rootPath:H,mode:zr,durationMs:Math.round(performance.now()-Qe),isPathChange:ln})},3e3),js=window.setTimeout(()=>{if(Me||A.signal.aborted)return;const q=Ke?o("rightSidebar.edaTimeout"):dr?o("rightSidebar.model3dTimeout"):"File preview timed out. Try the file again or refresh the directory.";A.abort(new DOMException(q,"TimeoutError")),I({kind:"error",message:q}),ze("stuck_timeout",{error:q})},Ke?hh+5e3:dr?ph+5e3:mh(R)?35e3:Pg);if(Ke){const q=it==="pcb-3d"?z.current:null;q?(I(q),ze("eda_3d_client_cache_hit",{bytes:q.meta.size,view:q.view,mimeType:q.meta.mimeType})):gh(R,it,A.signal,"view_file",ke).then(qe=>{if(A.signal.aborted)return;Le=URL.createObjectURL(qe.blob);const Mt={kind:"eda",sourcePath:qe.path||R,objectUrl:Le,view:qe.view,meta:{size:qe.size,mimeType:qe.mimeType,modified:qe.modified}};if(qe.view==="pcb-3d"){const ur=z.current;ur&&ur.objectUrl!==Le&&URL.revokeObjectURL(ur.objectUrl),z.current=Mt,D(Mt),Le=null}I(Mt),ze("eda_loaded",{bytes:qe.size,view:qe.view,mimeType:qe.mimeType})}).catch(qe=>{A.signal.aborted||(I({kind:"error",message:qe instanceof Error&&/timed out/i.test(qe.message)?o("rightSidebar.edaTimeout"):qe instanceof Error?qe.message:o("rightSidebar.edaLoadFailed")}),ze("error",{error:qe instanceof Error?qe.message:String(qe)}))})}else if(_n)bh(R,A.signal,"view_file",ke).then(q=>{Le=URL.createObjectURL(q.blob),I({kind:"image",objectUrl:Le,meta:{size:q.size,mimeType:q.mimeType,modified:q.modified}}),ze("image_loaded",{bytes:q.size,mimeType:q.mimeType})}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error?q.message:o("rightSidebar.imageLoadFailed")}),ze("error",{error:q instanceof Error?q.message:String(q)}))});else if(dr)xh(R,A.signal,"view_file",ke).then(q=>{A.signal.aborted||(Le=URL.createObjectURL(q.blob),I({kind:"model3d",sourcePath:q.path||R,objectUrl:Le,ext:q.ext,meta:{size:q.size,mimeType:q.mimeType,modified:q.modified}}),ze("model3d_loaded",{bytes:q.size,ext:q.ext}))}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error&&(q.name==="TimeoutError"||/timed out/i.test(q.message))?o("rightSidebar.model3dTimeout"):q instanceof Error?q.message:o("rightSidebar.model3dLoadFailed")}),ze("error",{error:q instanceof Error?q.message:String(q)}))});else if(Rs){const q=yh(R)??"",qe=_h(R);I(Mt=>Mt.kind==="video"&&Mt.url===qe?Mt:{kind:"video",url:qe,meta:{size:null,mimeType:q,modified:null}}),ze("video_ready",{mimeType:q})}else rd(R,A.signal,"view_file",ke).then(q=>{if(!A.signal.aborted){if(q.binary){I({kind:"binary"});return}I({kind:"text",content:q.content,sourcePath:q.path||R,meta:{size:q.size,truncated:q.truncated}}),ze("text_loaded",{bytes:q.size,truncated:!!q.truncated})}}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error?q.message:"Failed to read file"}),ze("error",{error:q instanceof Error?q.message:String(q)}))});return()=>{A.abort(),wt(ke),window.clearTimeout(cn),window.clearTimeout(js),Le&&URL.revokeObjectURL(Le),ze("cleanup")}},[a,H,In,Ot,O,o,te]),n.useEffect(()=>{if(j.kind!=="model3d"||!a){Ce(null);return}let R=!1;const A=a.lastIndexOf("/"),de=A>=0?a.slice(A+1):a,ke=A>=0?a.slice(0,A):"",Qe=ke.lastIndexOf("/"),Me=Qe>=0?ke.slice(0,Qe):"",ze=de.replace(/\.(stl|glb|gltf)$/i,""),Le=`${Me?`${Me}/`:""}features/${ze}.json`;return rd(Le).then(Ke=>{if(!R)try{const it=JSON.parse(Ke.content);Ce(it.version===1&&Array.isArray(it.features)&&it.features.length>0?it.features:null)}catch{Ce(null)}}).catch(()=>{R||Ce(null)}),()=>{R=!0}},[j,a]),n.useEffect(()=>{if(j.kind!=="text"){Oe(null);return}const R=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,A=Pp(R),de=j.content,ke=Js(R??"")&&le==="preview",Qe=Ys(R??"")&&De==="preview";if(!A||ke||Qe||!Ep(de)){Oe(null);return}let Me=!1;const ze=Le=>{if(Me||!Le.registered(A)){Me||Oe(null);return}try{Oe(Tp(Le,de,A))}catch{Oe(null)}};return _e?ze(_e):(Oe(null),Ap().then(Le=>{Me||(Ee(Le),ze(Le))}).catch(()=>{})),()=>{Me=!0}},[j,_e,a,H,le,De]),n.useLayoutEffect(()=>{if(!pt||j.kind!=="text")return;const R=`${pt}:${le}:${De}`;if(kr.current===R)return;const A=Kd(H,a);if(kr.current=R,!A)return;const de=requestAnimationFrame(()=>{const ke=he.current;if(!ke)return;const Qe=le==="preview"?A.markdownTop??A.top:A.top;ke.scrollTo({top:Math.max(0,Qe??0),left:Math.max(0,A.left??0)}),Ge(le==="preview"?Math.max(0,Qe??0):0)});return()=>cancelAnimationFrame(de)},[a,le,De,j.kind,pt,H]),n.useEffect(()=>{pt&&Ui(H,a,{lineRange:N})},[a,N,pt,H]),n.useEffect(()=>{if(xe==null||j.kind!=="text")return;pe(null),O({start:xe,end:xe});const R=xe,A=requestAnimationFrame(()=>{const de=ve.current.get(R);de&&de.scrollIntoView({block:"center"}),F?.()});return()=>cancelAnimationFrame(A)},[xe,j,O,F]);const $n=n.useCallback(R=>{const A=he.current;if(!A)return!1;const de=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(R):R.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),ke=A.querySelector(`#${de}`);return ke?(ke.scrollIntoView({block:"start"}),!0):!1},[]);n.useEffect(()=>{const R=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,A=j.kind==="text"&&Js(R??"")&&le==="preview";if(!At||!A)return;const de=requestAnimationFrame(()=>{$n(At)&&be(null)});return()=>cancelAnimationFrame(de)},[a,$n,le,At,j,H]),n.useLayoutEffect(()=>{const R=he.current;if(!R||!N){pe(null);return}if(U)return;const A=j.kind==="image"||j.kind==="loading"&&j.mode==="image",de=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,ke=j.kind==="text"&&Js(de??"")&&le==="preview",Qe=j.kind==="text"&&Ys(de??"")&&De==="preview";if(j.kind!=="text"||A||ke||Qe){pe(null);return}const Me=()=>{const Le=ve.current.get(N.end);if(!Le||!R){pe(null);return}const Ke=Le.offsetTop+Le.offsetHeight/2,it=R.scrollLeft+Math.max(8,R.clientWidth-120);pe({top:Ke,left:it})};Me();const ze=new ResizeObserver(()=>Me());return ze.observe(R),()=>ze.disconnect()},[N,U,j,le,De,a,H,Je]);const Sr=j.kind==="text"&&!(Ys(St??"")&&De==="preview")&&!St?.toLowerCase().endsWith(".csv")&&!St?.toLowerCase().endsWith(".kicad_pro")&&!St?.toLowerCase().endsWith(".kicad_prl"),Fn=n.useCallback(()=>{rt(!1),wr(""),T([]),we(0),oo(W.current)},[]),en=n.useCallback(()=>{!i||!Sr||(rt(!0),requestAnimationFrame(()=>{const R=fe.current;!ge.current||!R?.isConnected||R.closest('[inert], [aria-hidden="true"], [hidden]')||R.getClientRects().length===0||getComputedStyle(R).visibility==="hidden"||!R.contains(document.activeElement)||(et.current?.focus(),et.current?.select())}))},[i,Sr]),Dr=n.useCallback(R=>{we(A=>$e.length===0?0:(A+R+$e.length)%$e.length)},[$e.length]),Ht=n.useCallback(R=>{if(R.nativeEvent.isComposing||!cg(fe.current,i,R))return;const A=dg(R);if(A==="open"&&Sr){R.preventDefault(),en();return}Se&&(A==="close"?(R.preventDefault(),Fn()):(A==="next"||A==="previous")&&(R.preventDefault(),Dr(A==="previous"?-1:1)))},[i,Fn,Se,Dr,en,Sr]);if(n.useLayoutEffect(()=>{if(oo(W.current),!i||!Se||!ht.trim()||!he.current){T([]),we(0);return}const R=fg(he.current,ht);return T(R),we(0),(fe.current?.contains(document.activeElement)||Ad(W.current))&&(Ii(R,0,W.current),Td(R[0])),()=>oo(W.current)},[i,Se,ht,Je,le,j]),n.useEffect(()=>{!i||!Se||!ht.trim()||!fe.current?.contains(document.activeElement)&&!Ad(W.current)||(Ii($e,V,W.current),Td($e[V]))},[i,V,$e,Se,ht]),n.useEffect(()=>()=>oo(W.current),[]),!a)return t.jsx("div",{className:"mx-3 mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:o("rightSidebar.selectFilePrompt")});const He=H&&!a.startsWith("/")?`${H}/${a}`:a,Rt=fo(He,H),Rr=ru(He,H),jr=j.kind==="text"&&j.content?j.content.split(`
|
|
1638
|
+
`);const b=f.length;f+=w.data,c.push({node:w,start:b,end:f.length,group:k}),m=k}const S=f.toLocaleLowerCase(),g=[];let x=0;for(;x<=S.length-i.length;){const w=S.indexOf(i,x);if(w<0)break;const k=w+i.length,b=c.find(P=>P.start<=w&&P.end>w),E=c.find(P=>P.start<k&&P.end>=k);if(b&&E&&b.group===E.group){const P=document.createRange();P.setStart(b.node,w-b.start),P.setEnd(E.node,k-E.start),g.push(P)}x=w+Math.max(i.length,1)}return g}function bu(){return typeof CSS<"u"&&CSS.highlights?CSS.highlights:null}let bo;function Ad(r){return bo===r}function oo(r){if(r&&bo!==r)return;const a=bu();a?.delete(gu),a?.delete(Zi),bo=void 0}function Ii(r,a,i){const c=bu();if(!c||typeof Highlight>"u")return;bo=i,c.set(gu,new Highlight(...r));const f=r[a];f?c.set(Zi,new Highlight(f)):c.delete(Zi)}function Td(r){r?.startContainer.parentElement?.scrollIntoView({block:"center",inline:"nearest",behavior:"smooth"})}function hg(r){return Array.from(new Set(r.split(/[\n,]/).map(a=>a.trim().replace(/^!+/,"")).filter(Boolean))).slice(0,24)}function pg(r,a){const i=a.trim();return!i||i==="."?r:/^(?:[/\\]|[A-Za-z]:[/\\])/.test(i)?i.replace(/[\\/]+$/,""):`${r.replace(/[\\/]+$/,"")}/${i.replace(/^\.?[\\/]+/,"").replace(/[\\/]+$/,"")}`}function mg(r,a){if(a===r)return".";const i=`${r.replace(/[\\/]+$/,"")}/`;return a.startsWith(i)?a.slice(i.length):a}function xu(r,a,i){return a?r:Qr.createPortal(r,i)}const al="termdock:right-sidebar:file-tree-scroll:v1",ol="termdock:right-sidebar:file-preview-reading-state:v1",hs="termdock:right-sidebar:file-tree-width:v1",yu="termdock:right-sidebar:markdown-view-mode:v1",vu="termdock:right-sidebar:diff-change-list-mode:v1",wu="termdock:right-sidebar:diff-wrap:v1",ku="termdock:diff-viewer:view-type:v1",Su="termdock:right-sidebar:file-search-mode:v1",$i="termdock:right-sidebar:collapsed-git-repo-groups:v1",Md="termdock:right-sidebar:collapsed-diff-directories:v1",Fi="termdock:right-sidebar:branch-audit-module-open:v1",Ru="termdock:right-sidebar:branch-audit-module:v1",gg=150,Ld="termdock:right-sidebar:context-draft-enabled:v1",Id="termdock:right-sidebar:context-draft-collapsed:v1",$d="termdock:right-sidebar:context-draft-auto-collapse:v1",Di="termdock:right-sidebar:context-draft-text:v1",bg=300,xg=20,yg=120,vg=250,wg=250,kg=120,Sg=700,_i=600,Rg=6e4;function Xs(r){return!!(r&&B.getState().nestedGitScanRoots[r])}const Fd=[2e3,5e3,15e3,3e4],jg=320,Cg=500,Ng=20,Pg=12e3,el=300,Dd=240,Eg=560,_d=n.lazy(()=>sl(()=>import("./ModelPreview-DSMm4U4j.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]))),Ag=n.lazy(()=>sl(()=>import("./ArchitecturePanel-DFFG7FcG.js"),__vite__mapDeps([32,1,2,3,4,5,33,11,12,13,24,20,25,26,17,18,34,19,8,21,9,10,14,15,22,23,27,28,29,30,6,31,35])).then(r=>({default:r.ArchitecturePanel}))),Tg=n.lazy(()=>sl(()=>import("./ComputerControlView-BQnieqiC.js").then(r=>r.a),__vite__mapDeps([36,1,2,3,4,5,29,14,37,30])));function ju(r,a,i){return r&&!a?"unified":i}const Mg=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function Lg(r){return r==="preview"||r==="source"}function Ig(r){return r==="list"||r==="tree"||r==="ai"}function Bd(){return dt(yu,Lg)??"preview"}function $g(){return dt(vu,Ig)??"tree"}function ra(r){return typeof r=="boolean"}function Fg(r){return typeof r=="string"}function Dg(){return dt(wu,ra)??!0}function _g(r){return r==="unified"||r==="split"}function Bg(){return dt(ku,_g)??"unified"}function Ug(r){return r==="name"||r==="content"||r==="regex"}function Og(){return dt(Su,Ug)??"name"}function Cu(r){return r.repositories??(r.context?.root?[{id:r.context.root,root:r.context.root,relativeRoot:".",name:xt(r.context.root)||r.context.root,depth:0,nested:!1,available:r.available,files:r.files,context:r.context,error:r.error}]:[])}function Hg(r,a){if(!a)return null;const i=new Set((r.repoFilters??[]).map(c=>c.root));return i.has(a)?a:i.size>0?null:(r.repositories??[]).some(c=>c.root===a)?a:null}function tl(r){return!r.activeGitRepoRoot&&(r.groupCount>1||r.label!==r.rootName)}function Nu(...r){const a=new Set;for(const i of r)for(const c of i)a.add(c.root);return a}function rl(r){return Array.isArray(r)&&r.every(a=>typeof a=="string")}function Ud(r){const a=dt(r,rl);return a?new Set(a):new Set}function Bi(r,a){Et(r,[...a])}function zg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.filePath=="string"&&typeof a.hunkHeader=="string"&&typeof a.hunkIndex=="number"&&typeof a.fingerprint=="string"&&typeof a.additions=="number"&&typeof a.deletions=="number"&&typeof a.diff=="string"&&(a.oldPath===void 0||a.oldPath===null||typeof a.oldPath=="string")&&(a.newPath===void 0||a.newPath===null||typeof a.newPath=="string")&&(a.source===void 0||a.source==="committed"||a.source==="uncommitted"||a.source==="unknown")&&(a.commit===void 0||a.commit===null||typeof a.commit=="string")}function Gg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.available=="boolean"&&(a.repoRoot===void 0||typeof a.repoRoot=="string")&&(a.workspaceRoot===void 0||typeof a.workspaceRoot=="string")&&(a.baseRef===void 0||typeof a.baseRef=="string")&&(a.baseBranch===void 0||typeof a.baseBranch=="string")&&(a.currentBranch===void 0||a.currentBranch===null||typeof a.currentBranch=="string")&&(a.headRef===void 0||a.headRef===null||typeof a.headRef=="string")&&(a.diffFingerprint===void 0||typeof a.diffFingerprint=="string")&&(a.stat===void 0||typeof a.stat=="string")&&(a.files===void 0||rl(a.files))&&(a.hunks===void 0||Array.isArray(a.hunks)&&a.hunks.every(zg))&&(a.commits===void 0||rl(a.commits))&&(a.commitCount===void 0||typeof a.commitCount=="number")&&(a.diff===void 0||typeof a.diff=="string")&&(a.truncated===void 0||typeof a.truncated=="boolean")&&(a.error===void 0||typeof a.error=="string")}function Wg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.key=="string"&&Gg(a.diff)&&typeof a.repoLabel=="string"&&typeof a.createdAt=="number"}function Kg(r){return!r||typeof r!="object"||Array.isArray(r)?!1:Object.values(r).every(a=>{if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;return Array.isArray(i.selectedRepoRoots)&&i.selectedRepoRoots.every(c=>typeof c=="string")&&!!i.repoTargetBranches&&typeof i.repoTargetBranches=="object"&&!Array.isArray(i.repoTargetBranches)&&Object.values(i.repoTargetBranches).every(c=>typeof c=="string")&&(i.repoBaseBranches===void 0||!!i.repoBaseBranches&&typeof i.repoBaseBranches=="object"&&!Array.isArray(i.repoBaseBranches)&&Object.values(i.repoBaseBranches).every(c=>typeof c=="string"))&&(i.previewEntries===void 0||Array.isArray(i.previewEntries)&&i.previewEntries.every(Wg))&&(i.selectedPreviewKey===void 0||i.selectedPreviewKey===null||typeof i.selectedPreviewKey=="string")&&(i.selectedPreviewFileKey===void 0||i.selectedPreviewFileKey===null||typeof i.selectedPreviewFileKey=="string")&&(i.previewDetailOpen===void 0||typeof i.previewDetailOpen=="boolean")&&(i.previewScrollTops===void 0||!!i.previewScrollTops&&typeof i.previewScrollTops=="object"&&!Array.isArray(i.previewScrollTops)&&Object.values(i.previewScrollTops).every(c=>typeof c=="number"))&&(i.previewMobileSlideIndex===void 0||typeof i.previewMobileSlideIndex=="number")&&(i.repoIncludeUncommitted===void 0||!!i.repoIncludeUncommitted&&typeof i.repoIncludeUncommitted=="object"&&!Array.isArray(i.repoIncludeUncommitted)&&Object.values(i.repoIncludeUncommitted).every(c=>typeof c=="boolean"))&&(i.includeUncommitted===void 0||typeof i.includeUncommitted=="boolean")&&typeof i.updatedAt=="number"})}function Od(){return dt(Ru,Kg)??{}}function Hd(r){return[r.repoRoot,r.baseRef,r.branchName??"",r.headRef??"",r.diffFingerprint??""].join("\0")}function zd(r){const a=r?.trim()??"",i=a.indexOf("/");return i>=0?a.slice(i+1):a}function Pu(r,a){const i=r?.trim(),c=a?.trim();return!i||!c?!1:i===c||zd(i)===zd(c)}function Gd(r){const a=r?.branch??null;return[r?.upstream,...r?.remoteBranches??[],...r?.branches??[]].find(c=>c&&!Pu(c,a))??""}function nl(r,a){const i=Math.max(Dd,a-320),c=Math.min(Eg,i);return Math.min(c,Math.max(Dd,r))}function qg(r){return typeof r=="number"&&Number.isFinite(r)}function Vg(r){return nl(dt(hs,qg)??el,r)}function Eu(r){const a=r.split(/[\\/]/).pop()??r,i=a.lastIndexOf(".");return i>=0?a.slice(i).toLowerCase():""}function Js(r){return Mg.has(Eu(r))}function fs({label:r,value:a,options:i,placeholder:c,searchPlaceholder:f,emptyText:m,disabled:p,onChange:S}){const{t:g}=Bt(),[x,w]=n.useState(!1),[k,b]=n.useState(""),[E,P]=n.useState(null),M=n.useRef(null),$=n.useRef(null),J=k.trim().toLowerCase(),N=n.useMemo(()=>J?i.filter(F=>`${F.label} ${F.meta??""}`.toLowerCase().includes(J)):i,[J,i]),O=i.find(F=>F.value===a),K=()=>{const F=k.trim();F&&(S(F),w(!1),b(""))},X=n.useCallback(()=>{const F=M.current?.getBoundingClientRect();if(!F)return!1;const o=12,fe=Math.max(220,Math.min(F.width,window.innerWidth-o*2)),W=Math.min(Math.max(o,F.left),window.innerWidth-fe-o),ge=window.innerHeight-F.bottom-o,H=F.top-o,ce=ge>=180||ge>=H,j=Math.max(96,(ce?ge:H)-4),I=Math.min(320,j);return P({left:W,top:ce?F.bottom+4:Math.max(o,F.top-I-4),width:fe,maxHeight:I}),!0},[]),xe=()=>{X(),w(!0)};return n.useEffect(()=>{if(!x)return;let F=0;const o=()=>{F||(F=window.requestAnimationFrame(()=>{F=0,X()}))},fe=W=>{const ge=W.target;ge instanceof Node&&(M.current?.contains(ge)||$.current?.contains(ge)||(w(!1),b("")))};return window.addEventListener("resize",o),window.addEventListener("scroll",o,!0),document.addEventListener("pointerdown",fe,!0),()=>{F&&window.cancelAnimationFrame(F),window.removeEventListener("resize",o),window.removeEventListener("scroll",o,!0),document.removeEventListener("pointerdown",fe,!0)}},[x,X]),t.jsxs("div",{className:"relative min-w-0",children:[t.jsxs("button",{ref:M,type:"button",disabled:p,onClick:()=>{if(!p){if(b(""),x){w(!1);return}xe()}},className:"group flex w-full items-center justify-between gap-2 min-h-10 rounded-md border border-transparent bg-surface-2 px-3 py-2 text-left transition hover:bg-surface-elevated focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",children:[t.jsxs("span",{className:"flex min-w-0 flex-1 items-center gap-3",children:[t.jsx("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:r}),t.jsx("span",{className:`min-w-0 flex-1 truncate text-[13px] ${a?"text-foreground":"text-muted-foreground/70"}`,children:O?.label??(a||c)})]}),t.jsx(oa,{size:13,className:`shrink-0 text-muted-foreground transition group-hover:text-foreground ${x?"rotate-180":""}`})]}),x&&!p&&typeof document<"u"&&Qr.createPortal(t.jsxs("div",{ref:$,className:"fixed z-popover overflow-hidden rounded-lg border border-border/15 bg-surface shadow-lg",onClick:F=>F.stopPropagation(),style:{left:E?.left??12,top:E?.top??12,width:E?.width??260,maxHeight:E?.maxHeight??320},children:[t.jsx("div",{className:"border-b border-border/10 p-1.5",children:t.jsxs("div",{className:"flex items-center gap-1.5 rounded-md bg-surface-2 px-2 py-1.5",children:[t.jsx(ms,{size:12,className:"shrink-0 text-muted-foreground"}),t.jsx("input",{autoFocus:!0,value:k,onChange:F=>b(F.target.value),onKeyDown:F=>{if(F.key==="Escape"){F.preventDefault(),w(!1),b("");return}F.key==="Enter"&&(F.preventDefault(),K())},onBlur:()=>{k.trim()&&N.length===0&&K()},placeholder:f,className:"min-w-0 flex-1 bg-transparent text-[12px] text-foreground outline-none placeholder:text-muted-foreground/70"})]})}),t.jsxs("div",{className:"overflow-y-auto p-1",style:{maxHeight:Math.max(96,(E?.maxHeight??320)-46)},children:[k.trim()&&!i.some(F=>F.value===k.trim())&&t.jsxs("button",{type:"button",onMouseDown:F=>F.preventDefault(),onClick:K,className:"mb-1 flex w-full items-center justify-between gap-2 rounded-md bg-primary/10 px-2 py-1.5 text-left text-[12px] font-medium text-primary transition hover:bg-primary/15",children:[t.jsx("span",{className:"min-w-0 truncate",children:k.trim()}),t.jsx("span",{className:"shrink-0 text-[10px] text-primary/75",children:g("common.use")})]}),N.length>0?N.map(F=>t.jsxs("button",{type:"button",onClick:()=>{S(F.value),w(!1),b("")},className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left text-[12px] transition hover:bg-surface-2 ${F.value===a?"bg-accent/10 text-accent":"text-foreground"}`,children:[t.jsx("span",{className:"min-w-0 truncate font-medium",children:F.label}),F.meta&&t.jsx("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:F.meta})]},F.value)):t.jsx("div",{className:"px-2 py-2 text-[11px] text-muted-foreground",children:m})]})]}),document.body)]})}function Wd({open:r,onOpenChange:a,showScopePicker:i,selectedAll:c,repos:f,selectedRoots:m,onToggleRepo:p,onGenerate:S,onSecondaryAction:g,disabled:x,generateDisabled:w,secondaryDisabled:k,inserted:b,buttonLabel:E,insertedLabel:P,title:M,ariaLabel:$,scopeTitle:J,scopeLabel:N,allLabel:O,generateLabel:K,secondaryLabel:X,secondaryTitle:xe,secondaryLoading:F,loading:o,error:fe,statusTitle:W,extraContent:ge,renderRepoExtra:H,menuItem:ce=!1}){return t.jsxs("div",{className:ce?"relative w-full":"relative inline-flex shrink-0",children:[t.jsxs("button",{type:"button",role:ce?"menuitem":void 0,tabIndex:ce?-1:void 0,onClick:j=>{i?a(!r):w||S(j.currentTarget)},disabled:x,className:`relative flex items-center rounded-md transition disabled:cursor-not-allowed disabled:opacity-50 ${ce?"min-h-10 w-full gap-2.5 px-2.5 text-left text-[12px] focus:bg-surface-2 focus:outline-none [@media(pointer:coarse)]:min-h-11":"h-7 shrink-0 justify-center gap-1 px-2 text-[11px] font-medium active:scale-95"} ${fe?"text-destructive hover:bg-destructive/5":b?"bg-surface-elevated text-foreground":ce?"text-foreground hover:bg-surface-2":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,"aria-label":$,title:W??(i?`${J}: ${N}`:M),children:[o?t.jsx(ct,{size:ce?15:13,className:"shrink-0 animate-spin"}):t.jsx(aa,{size:ce?15:13,className:ce?"shrink-0 text-muted-foreground":void 0}),t.jsx("span",{className:ce?"min-w-0 flex-1":void 0,children:b?P:E}),i&&(ce?t.jsx(ps,{size:13,className:"shrink-0 text-muted-foreground"}):t.jsx(oa,{size:11,className:`shrink-0 transition ${r?"rotate-180":""}`})),fe&&t.jsx("span",{className:"absolute right-0.5 top-0.5 size-1.5 rounded-full bg-destructive"})]}),i&&r&&typeof document<"u"&&Qr.createPortal(t.jsx("div",{className:"fixed inset-0 z-modal-backdrop bg-[var(--app-backdrop)] px-3 py-6 backdrop-blur-sm animate-fade-in",onClick:()=>a(!1),children:t.jsxs("div",{className:"fixed left-1/2 top-1/2 z-modal-panel flex max-h-[min(82vh,36rem)] w-[calc(100vw-1.5rem)] max-w-[42rem] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden rounded-xl border border-border/20 bg-surface text-[11px] shadow-2xl",onClick:j=>j.stopPropagation(),children:[t.jsxs("div",{className:"flex items-center justify-between gap-3 border-b border-border/15 px-3 py-2",children:[t.jsxs("div",{className:"min-w-0",children:[t.jsx("div",{className:"text-[12px] font-semibold text-foreground",children:J}),t.jsx("div",{className:"mt-0.5 truncate text-[10px] text-muted-foreground",children:N})]}),t.jsx("button",{type:"button",onClick:()=>a(!1),className:"inline-flex h-7 w-7 shrink-0 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":"Close",children:t.jsx(Qt,{size:14})})]}),t.jsxs("div",{className:"min-h-0 flex-1 overflow-y-auto p-2",children:[ge,t.jsxs("button",{type:"button",onClick:()=>p(null),className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left font-medium transition ${c?"bg-primary/15 text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,children:[t.jsx("span",{className:"truncate",children:O}),c&&t.jsx("span",{className:"text-[10px]",children:"✓"})]}),f.map(j=>{const I=m.includes(j.root);return t.jsxs("div",{className:`mt-1 rounded-md transition ${I?"bg-primary/15 text-primary":""}`,children:[t.jsxs("button",{type:"button",onClick:()=>p(j.root),className:`flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-left font-medium transition ${I?"text-primary":"text-muted-foreground hover:bg-surface-2 hover:text-foreground"}`,title:j.root,children:[t.jsxs("span",{className:"min-w-0",children:[t.jsx("span",{className:"block truncate",children:j.label}),j.branch&&t.jsx("span",{className:"block truncate text-[9px] opacity-70",children:j.branch})]}),I&&t.jsx("span",{className:"text-[10px]",children:"✓"})]}),H&&(c||I)&&t.jsx("div",{className:"px-2 pb-2",children:H(j)})]},j.root)})]}),t.jsxs("div",{className:`grid grid-cols-1 gap-1.5 border-t border-border/15 p-2 ${g&&X?"sm:grid-cols-2":""}`,children:[g&&X&&t.jsxs("button",{type:"button",onClick:()=>{k||(a(!1),g())},disabled:k,className:"flex h-7 w-full items-center justify-center gap-1 rounded-md bg-surface-2 px-2 text-[11px] font-semibold text-muted-foreground transition hover:bg-surface-elevated hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50 active:scale-95",title:xe,children:[F?t.jsx(ct,{size:12,className:"animate-spin"}):t.jsx(lu,{size:12}),X]}),t.jsxs("button",{type:"button",onClick:async j=>{if(w)return;await S(j.currentTarget)!==!1&&a(!1)},disabled:w,className:"flex h-7 w-full items-center justify-center gap-1 rounded-md bg-primary/15 px-2 text-[11px] font-semibold text-primary transition hover:bg-primary/25 disabled:cursor-not-allowed disabled:opacity-50 active:scale-95",title:M,children:[t.jsx(aa,{size:12}),K]})]})]})}),document.body)]})}function Yg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;for(const a of Object.values(r)){if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;if(typeof i.top!="number"||!Number.isFinite(i.top)||typeof i.updatedAt!="number"||!Number.isFinite(i.updatedAt))return!1}return!0}function Au(){return dt(al,Yg)??{}}function Xg(r,a){const i=Au(),c=Object.entries({...i,[r]:{top:a,updatedAt:Date.now()}}).sort(([,f],[,m])=>m.updatedAt-f.updatedAt).slice(0,xg);na(al,Object.fromEntries(c),vg)}function Jg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;const a=r;return typeof a.start=="number"&&Number.isFinite(a.start)&&typeof a.end=="number"&&Number.isFinite(a.end)&&a.start>=1&&a.end>=a.start}function Qg(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;for(const a of Object.values(r)){if(!a||typeof a!="object"||Array.isArray(a))return!1;const i=a;if(typeof i.top!="number"||!Number.isFinite(i.top)||i.left!==void 0&&(typeof i.left!="number"||!Number.isFinite(i.left))||i.markdownTop!==void 0&&(typeof i.markdownTop!="number"||!Number.isFinite(i.markdownTop))||i.lineRange!==void 0&&i.lineRange!==null&&!Jg(i.lineRange)||typeof i.updatedAt!="number"||!Number.isFinite(i.updatedAt))return!1}return!0}function il(r,a){if(!a)return null;const i=r&&!a.startsWith("/")?`${r}/${a}`:a;return r?`${r}::${i}`:i}function Tu(){return dt(ol,Qg)??{}}function Kd(r,a){const i=il(r,a);return i?Tu()[i]??null:null}function Ui(r,a,i){const c=il(r,a);if(!c)return;const f=Tu(),m=f[c]??{top:0,left:0,markdownTop:0,lineRange:null,updatedAt:Date.now()},p=Object.entries({...f,[c]:{...m,...i,updatedAt:Date.now()}}).sort(([,S],[,g])=>g.updatedAt-S.updatedAt).slice(0,yg);na(ol,Object.fromEntries(p),wg)}function Oi({slow:r}){return t.jsx(fp,{slow:r})}function io({message:r,onRetry:a}){const{t:i}=Bt();return t.jsxs("div",{className:"mx-3 mt-3 overflow-hidden rounded-xl border border-destructive/20 bg-destructive/5 px-4 py-5 text-center text-sm text-destructive",children:[t.jsx("div",{className:"font-medium",children:i("rightSidebar.gitChangesLoadFailed")}),t.jsx("div",{className:"mt-1 break-words text-xs opacity-85",children:r}),t.jsx("button",{type:"button",onClick:a,className:"mt-3 rounded-full bg-destructive/10 px-3 py-1.5 text-xs font-semibold text-destructive transition hover:bg-destructive/15 active:scale-95",children:i("rightSidebar.retryGitChanges")})]})}function fo(r,a){const i=a&&r.startsWith(`${a}/`)?r.slice(a.length+1):r,c=i.split("/").filter(Boolean);return{name:c.pop()||i,dir:c.join("/")}}function xt(r){if(!r)return"";const a=r.replace(/\/+$/,"");return a.split("/").pop()||a||"/"}function lo(r){if(!r)return null;const a=Jd(r);return a==="/"?null:Uh(a)}function Zg(r,a,i){return Vi(r,a,i)}function Mu(r){const a=new Map;for(const i of r)a.set(ll(i),i);return a}function Lu(r,a){const i=new Map(r);for(const c of a)i.set(ll(c),c);return i}function qd(r,a){let i=0;for(const c of r){const f=mt(c,a);f&&a&&f!==a&&(i+=1)}return i}function eb(r){return r.reduce((a,i)=>a+(i.staged?1:0),0)}function tb(r,a){return Array.from(Lu(Mu(r),a).values()).sort((i,c)=>i.path.localeCompare(c.path))}function rb(r,a){const i=r.relativeRoot==="."?xt(a??r.root)||r.name||r.root:r.relativeRoot||r.name||xt(r.root)||r.root;return{root:r.root,label:i,branch:r.context?.branch??null,count:r.files.length,staged:eb(r.files)}}function Iu(r,a){const i=xt(a??"")||a||"";return r.map(c=>rb(c,a)).sort((c,f)=>i&&c.label===i?-1:i&&f.label===i?1:c.label.localeCompare(f.label))}function $u(r,a,i,c,f){const m=Cu(i),p=m.find(M=>M.root===c)??m[0]??null,S=a.find(M=>M.root===c)??null,g=S?.relativeRoot??p?.relativeRoot??".",x=S?.name??p?.name??(xt(c)||c),w=(p?.files??i.files).map(M=>({...M,repoRoot:c,repoRelativeRoot:g,repoName:x})),k=p?.context??i.context,b={...S??p??{id:c,root:c,relativeRoot:g,name:x,depth:0,nested:!!(f&&c!==f),available:i.available,files:[],context:null},...p??{},id:S?.id??p?.id??c,root:c,displayRoot:S?.displayRoot??p?.displayRoot,relativeRoot:g,name:x,depth:S?.depth??p?.depth??0,nested:S?.nested??p?.nested??!!(f&&c!==f),available:p?.available??i.available,deferred:p?.deferred??!1,files:w,context:k?{...k,root:c,changedFiles:w.map(M=>({path:M.path,absolutePath:M.absolutePath,status:M.status}))}:null,untrackedDeferred:p?.untrackedDeferred??i.untrackedDeferred,error:p?.error??i.error},E=S?a.map(M=>M.root===c?b:M):[...a,b];return{files:Array.from(r).filter(M=>mt(M,f)!==c).concat(w),repositories:E,repoFilters:Iu(E,f)}}function mt(r,a){return r.repoRoot??a}function ll(r){return`${r.repoRoot??""}\0${r.path}`}function yr(r){return r.absolutePath||r.path}function Hi(r){return ll(r)}function nb(r){return r.repoRelativeRoot&&r.repoRelativeRoot!=="."?r.repoRelativeRoot:r.repoName??""}function Vd(r){return r.reduce((a,i)=>a+(i.staged?1:0),0)}function Yd(r){const a={added:0,modified:0,deleted:0,renamed:0,copied:0,untracked:0,conflicted:0,staged:0,other:0};for(const i of r)i.status==="added"?a.added+=1:i.status==="modified"?a.modified+=1:i.status==="deleted"?a.deleted+=1:i.status==="renamed"?a.renamed+=1:i.status==="copied"?a.copied+=1:i.status==="untracked"?a.untracked+=1:i.status==="conflicted"?a.conflicted+=1:a.other+=1,i.staged&&(a.staged+=1);return a}function Qs(r){let a=0;const i=r??"root";for(let c=0;c<i.length;c+=1)a=Math.imul(a^i.charCodeAt(c),16777619);return`right-sidebar-git-bundle:${(a>>>0).toString(36)}`}function Zs(r,a){return typeof r!="number"||!Number.isFinite(r)||r<=0?null:new Intl.DateTimeFormat(a==="zh"?"zh-CN":"en",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(r))}function vr(r){return r instanceof DOMException&&r.name==="AbortError"}function sb(r){const a=r.error??r.context?.error??"";return a.includes("request was cancelled")||a.includes("IO_REQUEST_CANCELLED")}function Xd(r){return r?.available===!1&&r.code==="NOT_GIT_REPOSITORY"}function ab({actions:r,running:a,completed:i}){const{t:c}=Bt(),[f,m]=n.useState(!1),p=n.useRef(null),S=r.find(x=>a?.action===x.key),g=r.find(x=>i?.action===x.key);return r.length===0?null:(n.useEffect(()=>{if(!f)return;const x=k=>{const b=k.target;b instanceof Node&&p.current?.contains(b)||m(!1)},w=k=>{k.key==="Escape"&&m(!1)};return document.addEventListener("pointerdown",x),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",x),document.removeEventListener("keydown",w)}},[f]),t.jsxs("div",{ref:p,className:"relative shrink-0",children:[t.jsx("button",{type:"button",onClick:x=>{x.stopPropagation(),m(w=>!w)},disabled:r.every(x=>x.disabled)&&!a&&!i,className:`inline-flex h-6 min-w-6 shrink-0 items-center justify-center rounded-md transition active:scale-95 disabled:opacity-50 ${f?"bg-surface-elevated text-foreground":g?"bg-accent/10 text-accent":"bg-surface-2 text-muted-foreground hover:bg-surface-elevated hover:text-foreground"}`,title:S?.label??g?.label??c("rightSidebar.gitQuickActions"),children:S?t.jsx(ct,{size:13,className:"animate-spin"}):g?t.jsx("span",{className:"text-[12px] font-semibold",children:"✓"}):t.jsx(ho,{size:14})}),f&&t.jsx("div",{className:"absolute right-0 top-[calc(100%+2px)] z-30 w-44 overflow-hidden rounded-xl border border-border/15 bg-surface/98 p-1 text-[12px] shadow-xl shadow-[0_18px_48px_var(--app-shadow-soft)] backdrop-blur animate-fade-in",children:r.map(x=>{const w=a?.action===x.key,k=i?.action===x.key;return t.jsxs("button",{type:"button",onClick:b=>{b.stopPropagation(),x.onClick(),m(!1)},disabled:x.disabled||!!a,className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 text-left font-medium transition active:scale-[0.99] disabled:opacity-50 ${k?"bg-accent/10 text-accent":x.destructive?"text-destructive hover:bg-destructive/10":"text-foreground hover:bg-surface-2"}`,children:[t.jsx("span",{className:"flex h-4 w-4 shrink-0 items-center justify-center",children:w?t.jsx(ct,{size:13,className:"animate-spin"}):k?"✓":null}),t.jsx("span",{className:"min-w-0 flex-1 truncate",children:x.label})]},x.key)})})]}))}function ob(r){const a=window.getComputedStyle(r).overflowY;return(a==="auto"||a==="scroll")&&r.scrollHeight>r.clientHeight+1}function Fu(r){let a=r;for(;a;){if(a.classList.contains("termdock-diff-stream-scroller")&&ob(a))return a;a=a.parentElement}return r.closest(".termdock-diff-stream-scroller")}function gs(r){return r.getClientRects().length>0&&window.getComputedStyle(r).visibility!=="hidden"}const zi=new WeakMap;function xo(r){const a=zi.get(r);a!==void 0&&window.clearTimeout(a),r.classList.remove("diff-walkthrough-target"),r.offsetWidth,r.classList.add("diff-walkthrough-target");const i=window.setTimeout(()=>{r.classList.remove("diff-walkthrough-target"),zi.delete(r)},1700);zi.set(r,i)}function ib(r){const a=CSS.escape(r),i=[`[data-diff-stream-item="${a}"]`,`[data-diff-selection-path="${a}"]`,`[data-diff-absolute-path="${a}"]`].join(","),c=Array.from(document.querySelectorAll(".termdock-diff-stream-scroller"));let f=null;for(const S of c){if(!gs(S))continue;const g=S.querySelector(i);if(g&&gs(g)){f=g;break}}if(f??=Array.from(document.querySelectorAll(i)).find(gs)??null,!f)return;const m=Fu(f);if(!m){f.scrollIntoView({block:"start",behavior:"smooth"}),xo(f);return}const p=f.getBoundingClientRect().top-m.getBoundingClientRect().top+m.scrollTop;m.scrollTo({top:Math.max(0,p),behavior:"instant"}),xo(f)}function Ln(r){const a=CSS.escape(r.filePath),i=typeof r.sectionIndex=="number"?String(r.sectionIndex):null,c=typeof r.hunkIndex=="number"?String(r.hunkIndex):null,f=r.sectionFingerprint?CSS.escape(r.sectionFingerprint):null,m=r.hunkFingerprint?CSS.escape(r.hunkFingerprint):null,p=[i!==null&&f?`[data-diff-section-audit="${a}"][data-diff-section-index="${i}"][data-diff-section-fingerprint="${f}"]`:null,i!==null&&f?`[data-diff-section-anchor="${a}"][data-diff-section-index="${i}"][data-diff-section-fingerprint="${f}"]`:null,i!==null?`[data-diff-section-audit="${a}"][data-diff-section-index="${i}"]`:null,i!==null?`[data-diff-section-anchor="${a}"][data-diff-section-index="${i}"]`:null,c!==null&&m?`[data-diff-hunk-anchor="${a}"][data-diff-hunk-index="${c}"][data-diff-hunk-fingerprint="${m}"]`:null,c!==null?`[data-diff-hunk-anchor="${a}"][data-diff-hunk-index="${c}"]`:null,`[data-diff-file-path="${a}"]`].filter(P=>!!P),S=Array.from(document.querySelectorAll(".termdock-diff-stream-scroller"));let g=null;for(const P of S)if(gs(P)){for(const M of p){const $=P.querySelector(M);if($&&gs($)){g=$;break}}if(g)break}if(g??=p.flatMap(P=>Array.from(document.querySelectorAll(P))).find(gs)??null,!g){ib(r.filePath);return}const x=Fu(g);if(!x){g.scrollIntoView({block:"center",behavior:"smooth"}),xo(g);return}const w=g.getBoundingClientRect(),k=x.getBoundingClientRect(),E=w.top-k.top+x.scrollTop-Math.max(24,(x.clientHeight-w.height)/2);x.scrollTo({top:Math.max(0,E),behavior:"instant"}),xo(g)}let lb=0,cb=0,db=0,ub=0,fb=0;function ot(r,a={}){if(typeof window>"u")return;const i=JSON.stringify({level:r==="error"||r==="empty_bundle"?"warn":"info",message:`GIT_BUNDLE ${r}`,data:{seq:++cb,ts:Date.now(),...a}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{})}function ea(r,a={}){if(typeof window>"u")return;const i=JSON.stringify({level:"info",message:`DIFF_INTERACTION ${r}`,data:{seq:++ub,ts:Date.now(),...a}});fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{})}function hb(){return`diff-ui-${Date.now().toString(36)}-${(++fb).toString(36)}`}function pb(r){return r instanceof Element?r.closest("[data-diff-selection-path]"):null}function mb(r){const a=r.target instanceof HTMLElement?r.target:null;return{eventType:r.type,button:r.button,pointerType:r instanceof globalThis.PointerEvent?r.pointerType:void 0,targetTag:a?.tagName,targetClass:a?.className,targetText:a?.textContent?.slice(0,80)}}function yo({onReviewReference:r,filePath:a,active:i=!0,onInsertReference:c,onInsertText:f,onInsertFeature:m,onReferenceCopied:p,onClose:S,onDirectoryLinkOpen:g,isMobile:x,markdownOutlineOpen:w,markdownOutlineCloseSignal:k,onOpenMarkdownOutline:b,onCloseMarkdownOutline:E,markdownImageLightboxOpen:P,markdownImageLightboxCloseSignal:M,onOpenMarkdownImageLightbox:$,onCloseMarkdownImageLightbox:J,lineRange:N,onLineRangeChange:O,insertedReferenceKey:K,copiedReferenceKey:X,scrollToLine:xe,onScrollToLineHandled:F}){const{t:o}=Bt(),fe=n.useRef(null),W=n.useRef({}),ge=n.useRef(i);ge.current=i,n.useEffect(()=>{i||fe.current?.querySelectorAll("video").forEach(R=>R.pause())},[i]);const H=B(R=>R.rootPath),ce=B(R=>R.selectFile),[j,I]=n.useState({kind:"idle"}),[te,re]=n.useState("schematic"),[C,D]=n.useState(null),z=n.useRef(null),[ie,Ce]=n.useState(null),ve=n.useRef(new Map),he=n.useRef(null),[U,pe]=n.useState(null),[le,Ie]=n.useState(()=>Bd()),[De,Pe]=n.useState(()=>Nd(H,a)),L=n.useRef(null),[se,Te]=n.useState(!1),[_e,Ee]=n.useState(null),[Ut,Ge]=n.useState(0),[ut,We]=n.useState([]),[At,be]=n.useState(null),ft=n.useRef(null),lr=n.useRef(a),[Je,Oe]=n.useState(null),Q=ih(H&&a&&!a.startsWith("/")?`${H}/${a}`:a,i),[Se,rt]=n.useState(!1),[ht,wr]=n.useState(""),[$e,T]=n.useState([]),[V,we]=n.useState(0),et=n.useRef(null),kt=tu(p),pt=il(H,a);n.useEffect(()=>{if(lr.current===a)return;lr.current=a;const R=a&&H&&!a.startsWith("/")?`${H}/${a}`:a;if(ft.current===R){ft.current=null;return}ft.current=null,We([]),be(null),rt(!1),wr("")},[a,H]);const St=a?H&&!a.startsWith("/")?`${H}/${a}`:a:null,In=B(R=>St?(R.fileChangeVersions.get(St)??0)+R.fileWatchEpoch:R.fileWatchEpoch),bs=n.useRef(null),kr=n.useRef(null),[Ot,Zr]=n.useState(0),Zt=n.useCallback(()=>Zr(R=>R+1),[]);n.useEffect(()=>{const R=z.current;return z.current=null,D(null),R&&URL.revokeObjectURL(R.objectUrl),()=>{const A=z.current;z.current=null,A&&URL.revokeObjectURL(A.objectUrl)}},[St,In,Ot]),n.useEffect(()=>{if(!a){bs.current=null,I({kind:"idle"});return}const R=H&&!a.startsWith("/")?`${H}/${a}`:a,A=new AbortController,de=++lb,ke=`right-sidebar-file-preview:${de}`,Qe=performance.now();let Me=!1;const ze=(q,qe={})=>{Me||(Me=!0,Ei("end",{loadingId:de,reason:q,durationMs:Math.round(performance.now()-Qe),filePath:a,fullPath:R,rootPath:H,...qe}))};let Le=null;const Ke=lh(R),it=Ke?R.toLowerCase().endsWith(".kicad_pcb")?te==="schematic"?"pcb-front":te:"schematic":te,_n=!Ke&&ch(R),dr=!Ke&&!_n&&dh(R),Rs=!Ke&&!_n&&!dr&&uh(R),an=Js(R),on=Ys(R),zr=Ke?"eda":_n?"image":dr?"model3d":Rs?"video":"text",ln=bs.current!==R;if(bs.current=R,ln){Ei("start",{loadingId:de,filePath:a,fullPath:R,rootPath:H,mode:zr,externalVersion:In}),I({kind:"loading",mode:zr}),kr.current=null;const q=Kd(H,a);O(q?.lineRange??null),Ie(an?Bd():"source"),Pe(on?Nd(H,a):"source"),Ke&&re(fh(R))}ln||I(q=>q.kind==="error"?{kind:"loading",mode:zr}:q);const cn=window.setTimeout(()=>{Me||A.signal.aborted||Ei("still_active",{loadingId:de,filePath:a,fullPath:R,rootPath:H,mode:zr,durationMs:Math.round(performance.now()-Qe),isPathChange:ln})},3e3),js=window.setTimeout(()=>{if(Me||A.signal.aborted)return;const q=Ke?o("rightSidebar.edaTimeout"):dr?o("rightSidebar.model3dTimeout"):"File preview timed out. Try the file again or refresh the directory.";A.abort(new DOMException(q,"TimeoutError")),I({kind:"error",message:q}),ze("stuck_timeout",{error:q})},Ke?hh+5e3:dr?ph+5e3:mh(R)?35e3:Pg);if(Ke){const q=it==="pcb-3d"?z.current:null;q?(I(q),ze("eda_3d_client_cache_hit",{bytes:q.meta.size,view:q.view,mimeType:q.meta.mimeType})):gh(R,it,A.signal,"view_file",ke).then(qe=>{if(A.signal.aborted)return;Le=URL.createObjectURL(qe.blob);const Mt={kind:"eda",sourcePath:qe.path||R,objectUrl:Le,view:qe.view,meta:{size:qe.size,mimeType:qe.mimeType,modified:qe.modified}};if(qe.view==="pcb-3d"){const ur=z.current;ur&&ur.objectUrl!==Le&&URL.revokeObjectURL(ur.objectUrl),z.current=Mt,D(Mt),Le=null}I(Mt),ze("eda_loaded",{bytes:qe.size,view:qe.view,mimeType:qe.mimeType})}).catch(qe=>{A.signal.aborted||(I({kind:"error",message:qe instanceof Error&&/timed out/i.test(qe.message)?o("rightSidebar.edaTimeout"):qe instanceof Error?qe.message:o("rightSidebar.edaLoadFailed")}),ze("error",{error:qe instanceof Error?qe.message:String(qe)}))})}else if(_n)bh(R,A.signal,"view_file",ke).then(q=>{Le=URL.createObjectURL(q.blob),I({kind:"image",objectUrl:Le,meta:{size:q.size,mimeType:q.mimeType,modified:q.modified}}),ze("image_loaded",{bytes:q.size,mimeType:q.mimeType})}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error?q.message:o("rightSidebar.imageLoadFailed")}),ze("error",{error:q instanceof Error?q.message:String(q)}))});else if(dr)xh(R,A.signal,"view_file",ke).then(q=>{A.signal.aborted||(Le=URL.createObjectURL(q.blob),I({kind:"model3d",sourcePath:q.path||R,objectUrl:Le,ext:q.ext,meta:{size:q.size,mimeType:q.mimeType,modified:q.modified}}),ze("model3d_loaded",{bytes:q.size,ext:q.ext}))}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error&&(q.name==="TimeoutError"||/timed out/i.test(q.message))?o("rightSidebar.model3dTimeout"):q instanceof Error?q.message:o("rightSidebar.model3dLoadFailed")}),ze("error",{error:q instanceof Error?q.message:String(q)}))});else if(Rs){const q=yh(R)??"",qe=_h(R);I(Mt=>Mt.kind==="video"&&Mt.url===qe?Mt:{kind:"video",url:qe,meta:{size:null,mimeType:q,modified:null}}),ze("video_ready",{mimeType:q})}else rd(R,A.signal,"view_file",ke).then(q=>{if(!A.signal.aborted){if(q.binary){I({kind:"binary"});return}I({kind:"text",content:q.content,sourcePath:q.path||R,meta:{size:q.size,truncated:q.truncated}}),ze("text_loaded",{bytes:q.size,truncated:!!q.truncated})}}).catch(q=>{A.signal.aborted||(I({kind:"error",message:q instanceof Error?q.message:"Failed to read file"}),ze("error",{error:q instanceof Error?q.message:String(q)}))});return()=>{A.abort(),wt(ke),window.clearTimeout(cn),window.clearTimeout(js),Le&&URL.revokeObjectURL(Le),ze("cleanup")}},[a,H,In,Ot,O,o,te]),n.useEffect(()=>{if(j.kind!=="model3d"||!a){Ce(null);return}let R=!1;const A=a.lastIndexOf("/"),de=A>=0?a.slice(A+1):a,ke=A>=0?a.slice(0,A):"",Qe=ke.lastIndexOf("/"),Me=Qe>=0?ke.slice(0,Qe):"",ze=de.replace(/\.(stl|glb|gltf)$/i,""),Le=`${Me?`${Me}/`:""}features/${ze}.json`;return rd(Le).then(Ke=>{if(!R)try{const it=JSON.parse(Ke.content);Ce(it.version===1&&Array.isArray(it.features)&&it.features.length>0?it.features:null)}catch{Ce(null)}}).catch(()=>{R||Ce(null)}),()=>{R=!0}},[j,a]),n.useEffect(()=>{if(j.kind!=="text"){Oe(null);return}const R=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,A=Pp(R),de=j.content,ke=Js(R??"")&&le==="preview",Qe=Ys(R??"")&&De==="preview";if(!A||ke||Qe||!Ep(de)){Oe(null);return}let Me=!1;const ze=Le=>{if(Me||!Le.registered(A)){Me||Oe(null);return}try{Oe(Tp(Le,de,A))}catch{Oe(null)}};return _e?ze(_e):(Oe(null),Ap().then(Le=>{Me||(Ee(Le),ze(Le))}).catch(()=>{})),()=>{Me=!0}},[j,_e,a,H,le,De]),n.useLayoutEffect(()=>{if(!pt||j.kind!=="text")return;const R=`${pt}:${le}:${De}`;if(kr.current===R)return;const A=Kd(H,a);if(kr.current=R,!A)return;const de=requestAnimationFrame(()=>{const ke=he.current;if(!ke)return;const Qe=le==="preview"?A.markdownTop??A.top:A.top;ke.scrollTo({top:Math.max(0,Qe??0),left:Math.max(0,A.left??0)}),Ge(le==="preview"?Math.max(0,Qe??0):0)});return()=>cancelAnimationFrame(de)},[a,le,De,j.kind,pt,H]),n.useEffect(()=>{pt&&Ui(H,a,{lineRange:N})},[a,N,pt,H]),n.useEffect(()=>{if(xe==null||j.kind!=="text")return;pe(null),O({start:xe,end:xe});const R=xe,A=requestAnimationFrame(()=>{const de=ve.current.get(R);de&&de.scrollIntoView({block:"center"}),F?.()});return()=>cancelAnimationFrame(A)},[xe,j,O,F]);const $n=n.useCallback(R=>{const A=he.current;if(!A)return!1;const de=typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(R):R.replace(/[^a-zA-Z0-9_-]/g,"\\$&"),ke=A.querySelector(`#${de}`);return ke?(ke.scrollIntoView({block:"start"}),!0):!1},[]);n.useEffect(()=>{const R=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,A=j.kind==="text"&&Js(R??"")&&le==="preview";if(!At||!A)return;const de=requestAnimationFrame(()=>{$n(At)&&be(null)});return()=>cancelAnimationFrame(de)},[a,$n,le,At,j,H]),n.useLayoutEffect(()=>{const R=he.current;if(!R||!N){pe(null);return}if(U)return;const A=j.kind==="image"||j.kind==="loading"&&j.mode==="image",de=H&&a&&!a.startsWith("/")?`${H}/${a}`:a,ke=j.kind==="text"&&Js(de??"")&&le==="preview",Qe=j.kind==="text"&&Ys(de??"")&&De==="preview";if(j.kind!=="text"||A||ke||Qe){pe(null);return}const Me=()=>{const Le=ve.current.get(N.end);if(!Le||!R){pe(null);return}const Ke=Le.offsetTop+Le.offsetHeight/2,it=R.scrollLeft+Math.max(8,R.clientWidth-120);pe({top:Ke,left:it})};Me();const ze=new ResizeObserver(()=>Me());return ze.observe(R),()=>ze.disconnect()},[N,U,j,le,De,a,H,Je]);const Sr=j.kind==="text"&&!(Ys(St??"")&&De==="preview")&&!St?.toLowerCase().endsWith(".csv")&&!St?.toLowerCase().endsWith(".kicad_pro")&&!St?.toLowerCase().endsWith(".kicad_prl"),Fn=n.useCallback(()=>{rt(!1),wr(""),T([]),we(0),oo(W.current)},[]),en=n.useCallback(()=>{!i||!Sr||(rt(!0),requestAnimationFrame(()=>{const R=fe.current;!ge.current||!R?.isConnected||R.closest('[inert], [aria-hidden="true"], [hidden]')||R.getClientRects().length===0||getComputedStyle(R).visibility==="hidden"||!R.contains(document.activeElement)||(et.current?.focus(),et.current?.select())}))},[i,Sr]),Dr=n.useCallback(R=>{we(A=>$e.length===0?0:(A+R+$e.length)%$e.length)},[$e.length]),Ht=n.useCallback(R=>{if(R.nativeEvent.isComposing||!cg(fe.current,i,R))return;const A=dg(R);if(A==="open"&&Sr){R.preventDefault(),en();return}Se&&(A==="close"?(R.preventDefault(),Fn()):(A==="next"||A==="previous")&&(R.preventDefault(),Dr(A==="previous"?-1:1)))},[i,Fn,Se,Dr,en,Sr]);if(n.useLayoutEffect(()=>{if(oo(W.current),!i||!Se||!ht.trim()||!he.current){T([]),we(0);return}const R=fg(he.current,ht);return T(R),we(0),(fe.current?.contains(document.activeElement)||Ad(W.current))&&(Ii(R,0,W.current),Td(R[0])),()=>oo(W.current)},[i,Se,ht,Je,le,j]),n.useEffect(()=>{!i||!Se||!ht.trim()||!fe.current?.contains(document.activeElement)&&!Ad(W.current)||(Ii($e,V,W.current),Td($e[V]))},[i,V,$e,Se,ht]),n.useEffect(()=>()=>oo(W.current),[]),!a)return t.jsx("div",{className:"mx-3 mt-3 overflow-hidden rounded-xl border border-border/15 bg-surface-2 px-4 py-8 text-center text-sm text-muted-foreground",children:o("rightSidebar.selectFilePrompt")});const He=H&&!a.startsWith("/")?`${H}/${a}`:a,Rt=fo(He,H),Rr=ru(He,H),jr=j.kind==="text"&&j.content?j.content.split(`
|
|
1639
1639
|
`):[],ia=Math.max(2,String(jr.length).length)+1,Cr=j.kind==="text"||j.kind==="image"||j.kind==="model3d"||j.kind==="video"||j.kind==="eda"?j.meta:null,Nr=Js(He),la=He.toLowerCase().endsWith(".csv"),Tt=He.toLowerCase().endsWith(".kicad_pro"),xs=He.toLowerCase().endsWith(".kicad_prl"),zt=j.kind==="text"&&Nr&&le==="preview",ca=Ys(He),Gt=j.kind==="text"&&ca&&De==="preview",da=j.kind==="image"||j.kind==="loading"&&j.mode==="image",ko=j.kind==="model3d"||j.kind==="loading"&&j.mode==="model3d",yt=j.kind==="video"||j.kind==="loading"&&j.mode==="video",tn=j.kind==="eda"||j.kind==="loading"&&j.mode==="eda",ys=j.kind==="text"?j.sourcePath:He,_r=vh(ys,H,N),Br=(()=>{if(!N||j.kind!=="text"||jr.length===0)return _r;const R=[];for(let ke=N.start;ke<=N.end;ke+=1)R.push(`${ke} ${jr[ke-1]??""}`);const A=Eu(He).replace(/^\./,""),de="```";return`${_r}
|
|
1640
1640
|
${de}${A}
|
|
1641
1641
|
${R.join(`
|
|
Binary file
|
|
Binary file
|