@band-app/server 0.24.1 → 0.26.0
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/{DockviewBrowserContainer-pecXom0M.js → DockviewBrowserContainer-BiS2PXe9.js} +2 -2
- package/dist/client/assets/DockviewTerminalContainer-BFBZVril.js +2 -0
- package/dist/client/assets/TerminalPanel-CcBKJ24l.js +1 -0
- package/dist/client/assets/{_basePickBy-CtbD70T-.js → _basePickBy-CIajkJdO.js} +1 -1
- package/dist/client/assets/_baseUniq-DHw48s_G.js +1 -0
- package/dist/client/assets/{arc-BEzsE6TU.js → arc-DexZNm0-.js} +1 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-DAFvsZAd.js +36 -0
- package/dist/client/assets/{blockDiagram-VD42YOAC-CVv0vV-s.js → blockDiagram-VD42YOAC-AWnBKy9Q.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-W3bslfZm.js → c4Diagram-YG6GDRKO-BddbyIic.js} +1 -1
- package/dist/client/assets/channel-BSRbBCzT.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-B4zNuPCM.js → chunk-4BX2VUAB-DnMh7Pc9.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CJb5GOdO.js → chunk-55IACEB6-24SitHr9.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-m9UNdA4H.js → chunk-B4BG7PRW-BOb93Gpn.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-Dyl4ba3F.js → chunk-DI55MBZ5-oSbpJBti.js} +3 -3
- package/dist/client/assets/{chunk-FMBD7UC4-Ds1gRx94.js → chunk-FMBD7UC4-Dqfg6wVO.js} +1 -1
- package/dist/client/assets/chunk-QN33PNHL-C2cIUL6l.js +1 -0
- package/dist/client/assets/{chunk-QZHKN3VN-BiZtPmD0.js → chunk-QZHKN3VN-Ox_MiYok.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-DCz64hjM.js → chunk-TZMSLE5B-CGaUt5wn.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-ntGI3hWd.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-ntGI3hWd.js +1 -0
- package/dist/client/assets/clone-Q7bdnWu2.js +1 -0
- package/dist/client/assets/cose-bilkent-S5V4N54A-D_3-w0MJ.js +1 -0
- package/dist/client/assets/dagre-6UL2VRFP-DTrojOKw.js +4 -0
- package/dist/client/assets/diagram-PSM6KHXK-D3nSuJ59.js +24 -0
- package/dist/client/assets/diagram-QEK2KX5R-h0Gm6yRs.js +43 -0
- package/dist/client/assets/diagram-S2PKOQOG-DIOqbA5d.js +24 -0
- package/dist/client/assets/{erDiagram-Q2GNP2WA-WnEcSFDk.js → erDiagram-Q2GNP2WA-BGWtWskF.js} +3 -3
- package/dist/client/assets/{flowDiagram-NV44I4VS-BONBJZ3h.js → flowDiagram-NV44I4VS-BHqUj91h.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-BDhpQL_t.js → ganttDiagram-JELNMOA3-CCA7lEel.js} +3 -3
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-CXisBbMV.js +65 -0
- package/dist/client/assets/{graph-DmGEXolJ.js → graph-C8GKZaWf.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-m0iS7EC3.js → highlighted-body-B3W2YXNL-Ckz9HnyE.js} +1 -1
- package/dist/client/assets/{index-D6Afu1pA.js → index-1qpYuqGB.js} +1 -1
- package/dist/client/assets/{index-BoLCZb5I.js → index-B7L6_ylA.js} +1 -1
- package/dist/client/assets/{index-CiKuHiO0.js → index-BROqtYkO.js} +1 -1
- package/dist/client/assets/{index-DBnjKdGf.js → index-BasWn2BQ.js} +1 -1
- package/dist/client/assets/{index-DgEnCq6K.js → index-C22P_3Ba.js} +1 -1
- package/dist/client/assets/{index-CfW6UcUl.js → index-CN7sJN1E.js} +1 -1
- package/dist/client/assets/{index-BpxKDn01.js → index-CNSO_MYp.js} +1 -1
- package/dist/client/assets/{index-CFnCbQSl.js → index-CmpISwt5.js} +1 -1
- package/dist/client/assets/{index-0oNHljPn.js → index-CyfIec3L.js} +1 -1
- package/dist/client/assets/{index-BMTzG2fm.js → index-D0m_DHVt.js} +1 -1
- package/dist/client/assets/{index-Dmse4WDP.js → index-D2Sje321.js} +1 -1
- package/dist/client/assets/{index-B102sYPH.js → index-D5Pn_WYc.js} +1 -1
- package/dist/client/assets/{index-C46YYuZo.js → index-DPLAjlSm.js} +1 -1
- package/dist/client/assets/{index-BBy73G4g.js → index-DfZlU-44.js} +1 -1
- package/dist/client/assets/{index-BvzISRCa.js → index-TsR4AJCf.js} +2 -2
- package/dist/client/assets/{index-CDJOOMr2.js → index-UViDhopU.js} +1 -1
- package/dist/client/assets/{index-B-4gD4iz.js → index-rwBKhhdF.js} +1 -1
- package/dist/client/assets/{index-3O6bsWX3.js → index-s1AHxiWE.js} +1 -1
- package/dist/client/assets/infoDiagram-HS3SLOUP-CbFZ5guu.js +2 -0
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Dlf8x32q.js → journeyDiagram-XKPGCS4Q-DgIR2fwH.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BVJThDju.js → kanban-definition-3W4ZIXB7-BvaiOaK8.js} +1 -1
- package/dist/client/assets/{layout-CbZgayJn.js → layout-BHFL_-2i.js} +1 -1
- package/dist/client/assets/main-DpPgdfV2.css +1 -0
- package/dist/client/assets/{main-RztHx-sU.js → main-Dtbkl2jA.js} +239 -232
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-C4kJ6VHG.js → mindmap-definition-VGOIOE7T-BXmDj_SN.js} +3 -3
- package/dist/client/assets/pieDiagram-ADFJNKIX-DWBhs-q-.js +30 -0
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Bec9Hhh2.js → quadrantDiagram-AYHSOK5B-BLczU7TW.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-CsOubtSM.js → requirementDiagram-UZGBJVZJ-lm071pmC.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-C8Gm96t1.js → sankeyDiagram-TZEHDZUN-CWgkQuq0.js} +5 -5
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-Bvgi8x7V.js → sequenceDiagram-WL72ISMW-DR0quDCJ.js} +6 -6
- package/dist/client/assets/{square-terminal-BHkrAD3A.js → square-terminal-ByCNqakb.js} +1 -1
- package/dist/client/assets/stateDiagram-FKZM4ZOC-CWjWCPZ4.js +1 -0
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-CPppMgt3.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-BNBrcAuE.js → timeline-definition-IT6M3QCI-BMaR6Nuo.js} +3 -3
- package/dist/client/assets/{treemap-GDKQZRPO-Dt5TrQzS.js → treemap-GDKQZRPO-CbRLz23z.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-DGQl6asL.js → workspace._workspaceId-4ah7xBuS.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-Cx9WUFHK.js → workspace._workspaceId-Dg3ERq5R.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-BbVpQ6GU.js → xychartDiagram-PRI3JC2R-DNMYDMAj.js} +2 -2
- package/dist/server/assets/{DockviewBrowserContainer-BDsafKFK.js → DockviewBrowserContainer-BuItINME.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-CMbrr8wZ.js → DockviewTerminalContainer-TX2ecJ9k.js} +5 -3
- package/dist/server/assets/TerminalPanel-CvEpdUzO.js +425 -0
- package/dist/server/assets/{_basePickBy-ljLFy5Cm.js → _basePickBy-7qoOGcXD.js} +2 -2
- package/dist/server/assets/{_baseUniq-DQmNpetJ.js → _baseUniq-Cm0aWwLl.js} +1 -1
- package/dist/server/assets/_tanstack-start-manifest_v-DuTbaj5T.js +4 -0
- package/dist/server/assets/{arc-KHCw-8vd.js → arc-DH5jD29O.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-BScKJqpc.js → architecture-7HQA4BMR-BQSW1CNO.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-T9CAFBo1.js → architectureDiagram-VXUJARFQ-DgTZkqMC.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-BKZ2vg7U.js → blockDiagram-VD42YOAC-CHY_BpPT.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-D585k1An.js → c4Diagram-YG6GDRKO-Buvaq10G.js} +2 -2
- package/dist/server/assets/{channel-CyG4ozZq.js → channel-CSV_0Wq9.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-BHWbP2Lt.js → chunk-4BX2VUAB-B4TPMkRz.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-CrerCu6v.js → chunk-55IACEB6-CTFAFIsE.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-D3sl50Aa.js → chunk-B4BG7PRW-CR8829ZP.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-DR6gThvq.js → chunk-DI55MBZ5-DetqjIc9.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-Cil9b1Ts.js → chunk-FMBD7UC4-D6DpqSQ8.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-BAKy9Ygg.js → chunk-QN33PNHL-U9pD23ft.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-G4fU4Ucn.js → chunk-QZHKN3VN-BK2E8m4j.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-LzSrmWV5.js → chunk-TZMSLE5B-DRLbWC_A.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-Ds7CCTUR.js → classDiagram-2ON5EDUG-BNcG92nY.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-Ds7CCTUR.js → classDiagram-v2-WZHVMYZB-BNcG92nY.js} +5 -5
- package/dist/server/assets/{clone-B4KVJdwD.js → clone-CHpwEW-O.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-DaKuQRAN.js → cose-bilkent-S5V4N54A-700evsrQ.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-CNIyd6rH.js → dagre-6UL2VRFP-B8Qw2znf.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-ByElNwdP.js → diagram-PSM6KHXK-C6EJCqfL.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-Bpupf8hI.js → diagram-QEK2KX5R-CQAcI4L4.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-CSa3a_oJ.js → diagram-S2PKOQOG-DsDqxdmS.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-B3yUU2uu.js → erDiagram-Q2GNP2WA-DGEMY_JO.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-CUlvxSwr.js → flowDiagram-NV44I4VS-DCV18CNa.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-BWxUm4vA.js → ganttDiagram-JELNMOA3-Cf9uIRTp.js} +1 -1
- package/dist/server/assets/{gitGraph-G5XIXVHT-DexlvPgJ.js → gitGraph-G5XIXVHT-Bphh3EfC.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CepF7ieg.js → gitGraphDiagram-V2S2FVAM-_q2n-s2e.js} +7 -7
- package/dist/server/assets/{graph-BB3rQyk7.js → graph-Ccd2dFz0.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-CktYi1nO.js → highlighted-body-B3W2YXNL-DYwYCtBU.js} +1 -1
- package/dist/server/assets/{index-zM-wWcHV.js → index-4y021XhL.js} +1 -1
- package/dist/server/assets/{index-DipxLM5f.js → index-B1VfjVjc.js} +2 -2
- package/dist/server/assets/{index-BDqHa1DL.js → index-B1aJ0zMt.js} +5 -5
- package/dist/server/assets/{index-DR892S39.js → index-BCLSgPI1.js} +2 -2
- package/dist/server/assets/{index-DYiuwMzT.js → index-BCTaINbC.js} +2 -2
- package/dist/server/assets/{index-dAOow3Ru.js → index-BhpCZORq.js} +2 -2
- package/dist/server/assets/{index-CUnnFiRO.js → index-C06ZyGGj.js} +4 -4
- package/dist/server/assets/{index-BiMwh0FT.js → index-CD62n4Wy.js} +3 -3
- package/dist/server/assets/{index-DsPBpNpr.js → index-CXEg-eDA.js} +2 -2
- package/dist/server/assets/{index-5St5BCcJ.js → index-CprdJ8Lo.js} +2 -2
- package/dist/server/assets/{index-8fW2N3v4.js → index-DGyXXlV8.js} +2 -2
- package/dist/server/assets/{index-BZSAPXc2.js → index-DHt4VQNS.js} +5 -5
- package/dist/server/assets/{index-DEZw9nkv.js → index-DXSqtFcT.js} +2 -2
- package/dist/server/assets/{index-O03NM4sL.js → index-WOVU_Ptt.js} +2 -2
- package/dist/server/assets/{index-igT3OuCm.js → index-dJOmGf_o.js} +2 -2
- package/dist/server/assets/{index-CGm8Czks.js → index-e4ZKMFB1.js} +2 -2
- package/dist/server/assets/{index-B9xqso9p.js → index-rF-uGnt9.js} +1 -1
- package/dist/server/assets/{index-bbP5Ilkt.js → index-tV4Tdk7z.js} +3 -3
- package/dist/server/assets/{info-VBDWY6EO-BDX5_HTZ.js → info-VBDWY6EO-CtEo3hWH.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-BMd22txJ.js → infoDiagram-HS3SLOUP-DlVfYs3y.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DyIx8DQc.js → journeyDiagram-XKPGCS4Q-DEvLjN67.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-D6P6mjw2.js → kanban-definition-3W4ZIXB7-C8wt29HD.js} +2 -2
- package/dist/server/assets/{layout-_MqV9Ys8.js → layout-B3YZdVGY.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-CIBz4-1r.js → mermaid-3ZIDBTTL-Drwee8F2.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-Cga0uwWI.js → mermaid-parser.core-BArH7IDC.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-C2EIvkPG.js → mindmap-definition-VGOIOE7T-CLGmFN8m.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-CCOI47dY.js → packet-DYOGHKS2-BuBX0bTH.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-BLqEHL1E.js → pie-VRWISCQL-CaZ9Z0V-.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-Cv-DbjH6.js → pieDiagram-ADFJNKIX-jGuNgZxo.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-DFyjNST4.js → quadrantDiagram-AYHSOK5B-DAAEbR4l.js} +1 -1
- package/dist/server/assets/{radar-ZZBFDIW7-CWlYIMXf.js → radar-ZZBFDIW7-D80s-gzM.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-DFM89i-H.js → requirementDiagram-UZGBJVZJ-DmT06vgs.js} +3 -3
- package/dist/server/assets/{router-cAoMUC9Q.js → router-PslJYw0K.js} +1798 -664
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-Nmb2f9ga.js → sankeyDiagram-TZEHDZUN-DubOMd7c.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-BiqqAguj.js → sequenceDiagram-WL72ISMW-V8TCpuJa.js} +3 -3
- package/dist/server/assets/{square-terminal-DerzWAi-.js → square-terminal-DqxGkh8h.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-CkiJXki8.js → stateDiagram-FKZM4ZOC-DDhvvfjL.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-Bt1BL33e.js → stateDiagram-v2-4FDKWEC3-CrVhacjl.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-DCRlJiLq.js → timeline-definition-IT6M3QCI-PRx7QaX4.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-Ci-r6jiA.js → treemap-GDKQZRPO-DDEerlZp.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-Dj6Y8WPo.js → workspace._workspaceId-B_ziNHiq.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId-BMnOV3pd.js → workspace._workspaceId-CO8mKKZW.js} +3 -3
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-r_3LO6yK.js → xychartDiagram-PRI3JC2R-Cdaq77X5.js} +1 -1
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +65 -7
- package/package.json +4 -4
- package/dist/client/assets/DockviewTerminalContainer-B_36q2Dz.js +0 -2
- package/dist/client/assets/TerminalPanel-DbxLiy2t.js +0 -5
- package/dist/client/assets/_baseUniq-Cb5igq_8.js +0 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-BnV97au3.js +0 -36
- package/dist/client/assets/channel-2Of2aNA_.js +0 -1
- package/dist/client/assets/chunk-QN33PNHL-yK0yp12G.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-D6UcKhcB.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-D6UcKhcB.js +0 -1
- package/dist/client/assets/clone-DBCpY5Fq.js +0 -1
- package/dist/client/assets/cose-bilkent-S5V4N54A-BZFGVpWR.js +0 -1
- package/dist/client/assets/dagre-6UL2VRFP-DRDPL67k.js +0 -4
- package/dist/client/assets/diagram-PSM6KHXK-DYAOsIc0.js +0 -24
- package/dist/client/assets/diagram-QEK2KX5R-CnjVQgn2.js +0 -43
- package/dist/client/assets/diagram-S2PKOQOG-B8sAgSNe.js +0 -24
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-CZGjCgZ_.js +0 -65
- package/dist/client/assets/infoDiagram-HS3SLOUP-Bf3MrisJ.js +0 -2
- package/dist/client/assets/main-DOmWiUwE.css +0 -1
- package/dist/client/assets/pieDiagram-ADFJNKIX-B4aWIFbt.js +0 -30
- package/dist/client/assets/stateDiagram-FKZM4ZOC-TzlVvqDv.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BibE5lUV.js +0 -1
- package/dist/server/assets/TerminalPanel-nFYTCFHx.js +0 -1238
- package/dist/server/assets/_tanstack-start-manifest_v-v9ri0NYD.js +0 -4
|
@@ -1226,7 +1226,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
1226
1226
|
Component.displayName = toPascalCase(iconName);
|
|
1227
1227
|
return Component;
|
|
1228
1228
|
};
|
|
1229
|
-
const __iconNode$
|
|
1229
|
+
const __iconNode$1t = [
|
|
1230
1230
|
[
|
|
1231
1231
|
"path",
|
|
1232
1232
|
{
|
|
@@ -1235,45 +1235,45 @@ const __iconNode$1s = [
|
|
|
1235
1235
|
}
|
|
1236
1236
|
]
|
|
1237
1237
|
];
|
|
1238
|
-
const Activity = createLucideIcon("activity", __iconNode$
|
|
1239
|
-
const __iconNode$
|
|
1238
|
+
const Activity = createLucideIcon("activity", __iconNode$1t);
|
|
1239
|
+
const __iconNode$1s = [
|
|
1240
1240
|
["path", { d: "M12 17V3", key: "1cwfxf" }],
|
|
1241
1241
|
["path", { d: "m6 11 6 6 6-6", key: "12ii2o" }],
|
|
1242
1242
|
["path", { d: "M19 21H5", key: "150jfl" }]
|
|
1243
1243
|
];
|
|
1244
|
-
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$
|
|
1245
|
-
const __iconNode$
|
|
1244
|
+
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$1s);
|
|
1245
|
+
const __iconNode$1r = [
|
|
1246
1246
|
["path", { d: "M12 5v14", key: "s699le" }],
|
|
1247
1247
|
["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
|
|
1248
1248
|
];
|
|
1249
|
-
const ArrowDown = createLucideIcon("arrow-down", __iconNode$
|
|
1250
|
-
const __iconNode$
|
|
1249
|
+
const ArrowDown = createLucideIcon("arrow-down", __iconNode$1r);
|
|
1250
|
+
const __iconNode$1q = [
|
|
1251
1251
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
1252
1252
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
1253
1253
|
];
|
|
1254
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
1255
|
-
const __iconNode$
|
|
1254
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1q);
|
|
1255
|
+
const __iconNode$1p = [
|
|
1256
1256
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1257
1257
|
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
1258
1258
|
];
|
|
1259
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
1260
|
-
const __iconNode$
|
|
1259
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$1p);
|
|
1260
|
+
const __iconNode$1o = [
|
|
1261
1261
|
["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }],
|
|
1262
1262
|
["path", { d: "M12 3v14", key: "7cf3v8" }],
|
|
1263
1263
|
["path", { d: "M5 21h14", key: "11awu3" }]
|
|
1264
1264
|
];
|
|
1265
|
-
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$
|
|
1266
|
-
const __iconNode$
|
|
1265
|
+
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$1o);
|
|
1266
|
+
const __iconNode$1n = [
|
|
1267
1267
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
1268
1268
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
1269
1269
|
];
|
|
1270
|
-
const ArrowUp = createLucideIcon("arrow-up", __iconNode$
|
|
1271
|
-
const __iconNode$
|
|
1270
|
+
const ArrowUp = createLucideIcon("arrow-up", __iconNode$1n);
|
|
1271
|
+
const __iconNode$1m = [
|
|
1272
1272
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1273
1273
|
["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
|
|
1274
1274
|
];
|
|
1275
|
-
const Ban = createLucideIcon("ban", __iconNode$
|
|
1276
|
-
const __iconNode$
|
|
1275
|
+
const Ban = createLucideIcon("ban", __iconNode$1m);
|
|
1276
|
+
const __iconNode$1l = [
|
|
1277
1277
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
1278
1278
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
1279
1279
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -1281,77 +1281,77 @@ const __iconNode$1k = [
|
|
|
1281
1281
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
1282
1282
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
1283
1283
|
];
|
|
1284
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
1285
|
-
const __iconNode$
|
|
1284
|
+
const Bot = createLucideIcon("bot", __iconNode$1l);
|
|
1285
|
+
const __iconNode$1k = [
|
|
1286
1286
|
["path", { d: "m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16", key: "d5nyq2" }],
|
|
1287
1287
|
["path", { d: "M22 9v7", key: "pvm9v3" }],
|
|
1288
1288
|
["path", { d: "M3.304 13h6.392", key: "1q3zxz" }],
|
|
1289
1289
|
["circle", { cx: "18.5", cy: "12.5", r: "3.5", key: "z97x68" }]
|
|
1290
1290
|
];
|
|
1291
|
-
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$
|
|
1292
|
-
const __iconNode$
|
|
1291
|
+
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$1k);
|
|
1292
|
+
const __iconNode$1j = [
|
|
1293
1293
|
["path", { d: "M3 3v16a2 2 0 0 0 2 2h16", key: "c24i48" }],
|
|
1294
1294
|
["path", { d: "M18 17V9", key: "2bz60n" }],
|
|
1295
1295
|
["path", { d: "M13 17V5", key: "1frdt8" }],
|
|
1296
1296
|
["path", { d: "M8 17v-3", key: "17ska0" }]
|
|
1297
1297
|
];
|
|
1298
|
-
const ChartColumn = createLucideIcon("chart-column", __iconNode$
|
|
1299
|
-
const __iconNode$
|
|
1300
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
1301
|
-
const __iconNode$
|
|
1302
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
1303
|
-
const __iconNode$
|
|
1304
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
1305
|
-
const __iconNode$
|
|
1306
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
1307
|
-
const __iconNode$
|
|
1308
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
1309
|
-
const __iconNode$
|
|
1298
|
+
const ChartColumn = createLucideIcon("chart-column", __iconNode$1j);
|
|
1299
|
+
const __iconNode$1i = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
1300
|
+
const Check = createLucideIcon("check", __iconNode$1i);
|
|
1301
|
+
const __iconNode$1h = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
1302
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$1h);
|
|
1303
|
+
const __iconNode$1g = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
1304
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1g);
|
|
1305
|
+
const __iconNode$1f = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
1306
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$1f);
|
|
1307
|
+
const __iconNode$1e = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
1308
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$1e);
|
|
1309
|
+
const __iconNode$1d = [
|
|
1310
1310
|
["path", { d: "m7 20 5-5 5 5", key: "13a0gw" }],
|
|
1311
1311
|
["path", { d: "m7 4 5 5 5-5", key: "1kwcof" }]
|
|
1312
1312
|
];
|
|
1313
|
-
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$
|
|
1314
|
-
const __iconNode$
|
|
1313
|
+
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$1d);
|
|
1314
|
+
const __iconNode$1c = [
|
|
1315
1315
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
1316
1316
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
1317
1317
|
];
|
|
1318
|
-
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$
|
|
1319
|
-
const __iconNode$
|
|
1318
|
+
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1c);
|
|
1319
|
+
const __iconNode$1b = [
|
|
1320
1320
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1321
1321
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
1322
1322
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
1323
1323
|
];
|
|
1324
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
1325
|
-
const __iconNode$
|
|
1324
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$1b);
|
|
1325
|
+
const __iconNode$1a = [
|
|
1326
1326
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1327
1327
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
1328
1328
|
];
|
|
1329
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
1330
|
-
const __iconNode$
|
|
1329
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$1a);
|
|
1330
|
+
const __iconNode$19 = [
|
|
1331
1331
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1332
1332
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
1333
1333
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
1334
1334
|
];
|
|
1335
|
-
const CircleX = createLucideIcon("circle-x", __iconNode$
|
|
1336
|
-
const __iconNode$
|
|
1337
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
1338
|
-
const __iconNode$
|
|
1335
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$19);
|
|
1336
|
+
const __iconNode$18 = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
1337
|
+
const Circle = createLucideIcon("circle", __iconNode$18);
|
|
1338
|
+
const __iconNode$17 = [
|
|
1339
1339
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
1340
1340
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2", key: "4jdomd" }],
|
|
1341
1341
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v4", key: "3hqy98" }],
|
|
1342
1342
|
["path", { d: "M21 14H11", key: "1bme5i" }],
|
|
1343
1343
|
["path", { d: "m15 10-4 4 4 4", key: "5dvupr" }]
|
|
1344
1344
|
];
|
|
1345
|
-
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$
|
|
1346
|
-
const __iconNode$
|
|
1345
|
+
const ClipboardCopy = createLucideIcon("clipboard-copy", __iconNode$17);
|
|
1346
|
+
const __iconNode$16 = [
|
|
1347
1347
|
["path", { d: "M11 14h10", key: "1w8e9d" }],
|
|
1348
1348
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v1.344", key: "1e62lh" }],
|
|
1349
1349
|
["path", { d: "m17 18 4-4-4-4", key: "z2g111" }],
|
|
1350
1350
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113", key: "bjbb7m" }],
|
|
1351
1351
|
["rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", key: "ublpy" }]
|
|
1352
1352
|
];
|
|
1353
|
-
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$
|
|
1354
|
-
const __iconNode$
|
|
1353
|
+
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$16);
|
|
1354
|
+
const __iconNode$15 = [
|
|
1355
1355
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
1356
1356
|
[
|
|
1357
1357
|
"path",
|
|
@@ -1361,59 +1361,59 @@ const __iconNode$14 = [
|
|
|
1361
1361
|
}
|
|
1362
1362
|
]
|
|
1363
1363
|
];
|
|
1364
|
-
const Clipboard = createLucideIcon("clipboard", __iconNode$
|
|
1365
|
-
const __iconNode$
|
|
1364
|
+
const Clipboard = createLucideIcon("clipboard", __iconNode$15);
|
|
1365
|
+
const __iconNode$14 = [
|
|
1366
1366
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1367
1367
|
["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
|
|
1368
1368
|
];
|
|
1369
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
1370
|
-
const __iconNode$
|
|
1369
|
+
const Clock = createLucideIcon("clock", __iconNode$14);
|
|
1370
|
+
const __iconNode$13 = [
|
|
1371
1371
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
1372
1372
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
1373
1373
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
1374
1374
|
];
|
|
1375
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
1376
|
-
const __iconNode$
|
|
1375
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$13);
|
|
1376
|
+
const __iconNode$12 = [
|
|
1377
1377
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
1378
1378
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
1379
1379
|
];
|
|
1380
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
1381
|
-
const __iconNode$
|
|
1380
|
+
const Code = createLucideIcon("code", __iconNode$12);
|
|
1381
|
+
const __iconNode$11 = [
|
|
1382
1382
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1383
1383
|
["path", { d: "M12 3v18", key: "108xh3" }]
|
|
1384
1384
|
];
|
|
1385
|
-
const Columns2 = createLucideIcon("columns-2", __iconNode$
|
|
1386
|
-
const __iconNode
|
|
1385
|
+
const Columns2 = createLucideIcon("columns-2", __iconNode$11);
|
|
1386
|
+
const __iconNode$10 = [
|
|
1387
1387
|
[
|
|
1388
1388
|
"path",
|
|
1389
1389
|
{ d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" }
|
|
1390
1390
|
]
|
|
1391
1391
|
];
|
|
1392
|
-
const Command$1 = createLucideIcon("command", __iconNode
|
|
1393
|
-
const __iconNode
|
|
1392
|
+
const Command$1 = createLucideIcon("command", __iconNode$10);
|
|
1393
|
+
const __iconNode$$ = [
|
|
1394
1394
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
1395
1395
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
1396
1396
|
];
|
|
1397
|
-
const Copy = createLucideIcon("copy", __iconNode
|
|
1398
|
-
const __iconNode$
|
|
1397
|
+
const Copy = createLucideIcon("copy", __iconNode$$);
|
|
1398
|
+
const __iconNode$_ = [
|
|
1399
1399
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
1400
1400
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
1401
1401
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
1402
1402
|
];
|
|
1403
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
1404
|
-
const __iconNode$
|
|
1403
|
+
const Download = createLucideIcon("download", __iconNode$_);
|
|
1404
|
+
const __iconNode$Z = [
|
|
1405
1405
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1406
1406
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
1407
1407
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
1408
1408
|
];
|
|
1409
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
1410
|
-
const __iconNode$
|
|
1409
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$Z);
|
|
1410
|
+
const __iconNode$Y = [
|
|
1411
1411
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1412
1412
|
["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }],
|
|
1413
1413
|
["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]
|
|
1414
1414
|
];
|
|
1415
|
-
const Ellipsis = createLucideIcon("ellipsis", __iconNode$
|
|
1416
|
-
const __iconNode$
|
|
1415
|
+
const Ellipsis = createLucideIcon("ellipsis", __iconNode$Y);
|
|
1416
|
+
const __iconNode$X = [
|
|
1417
1417
|
["path", { d: "m15 15 6 6", key: "1s409w" }],
|
|
1418
1418
|
["path", { d: "m15 9 6-6", key: "ko1vev" }],
|
|
1419
1419
|
["path", { d: "M21 16v5h-5", key: "1ck2sf" }],
|
|
@@ -1423,14 +1423,14 @@ const __iconNode$W = [
|
|
|
1423
1423
|
["path", { d: "M3 8V3h5", key: "1ln10m" }],
|
|
1424
1424
|
["path", { d: "M9 9 3 3", key: "v551iv" }]
|
|
1425
1425
|
];
|
|
1426
|
-
const Expand = createLucideIcon("expand", __iconNode$
|
|
1427
|
-
const __iconNode$
|
|
1426
|
+
const Expand = createLucideIcon("expand", __iconNode$X);
|
|
1427
|
+
const __iconNode$W = [
|
|
1428
1428
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
1429
1429
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
1430
1430
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
1431
1431
|
];
|
|
1432
|
-
const ExternalLink$1 = createLucideIcon("external-link", __iconNode$
|
|
1433
|
-
const __iconNode$
|
|
1432
|
+
const ExternalLink$1 = createLucideIcon("external-link", __iconNode$W);
|
|
1433
|
+
const __iconNode$V = [
|
|
1434
1434
|
[
|
|
1435
1435
|
"path",
|
|
1436
1436
|
{
|
|
@@ -1440,8 +1440,8 @@ const __iconNode$U = [
|
|
|
1440
1440
|
],
|
|
1441
1441
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
1442
1442
|
];
|
|
1443
|
-
const Eye = createLucideIcon("eye", __iconNode$
|
|
1444
|
-
const __iconNode$
|
|
1443
|
+
const Eye = createLucideIcon("eye", __iconNode$V);
|
|
1444
|
+
const __iconNode$U = [
|
|
1445
1445
|
[
|
|
1446
1446
|
"path",
|
|
1447
1447
|
{
|
|
@@ -1452,8 +1452,8 @@ const __iconNode$T = [
|
|
|
1452
1452
|
["path", { d: "M12 9v4", key: "juzpu7" }],
|
|
1453
1453
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
1454
1454
|
];
|
|
1455
|
-
const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$
|
|
1456
|
-
const __iconNode$
|
|
1455
|
+
const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$U);
|
|
1456
|
+
const __iconNode$T = [
|
|
1457
1457
|
[
|
|
1458
1458
|
"path",
|
|
1459
1459
|
{
|
|
@@ -1465,8 +1465,8 @@ const __iconNode$S = [
|
|
|
1465
1465
|
["path", { d: "M2 15h10", key: "jfw4w8" }],
|
|
1466
1466
|
["path", { d: "m9 18 3-3-3-3", key: "112psh" }]
|
|
1467
1467
|
];
|
|
1468
|
-
const FileInput = createLucideIcon("file-input", __iconNode$
|
|
1469
|
-
const __iconNode$
|
|
1468
|
+
const FileInput = createLucideIcon("file-input", __iconNode$T);
|
|
1469
|
+
const __iconNode$S = [
|
|
1470
1470
|
[
|
|
1471
1471
|
"path",
|
|
1472
1472
|
{
|
|
@@ -1478,8 +1478,8 @@ const __iconNode$R = [
|
|
|
1478
1478
|
["path", { d: "M9 15h6", key: "cctwl0" }],
|
|
1479
1479
|
["path", { d: "M12 18v-6", key: "17g6i2" }]
|
|
1480
1480
|
];
|
|
1481
|
-
const FilePlus = createLucideIcon("file-plus", __iconNode$
|
|
1482
|
-
const __iconNode$
|
|
1481
|
+
const FilePlus = createLucideIcon("file-plus", __iconNode$S);
|
|
1482
|
+
const __iconNode$R = [
|
|
1483
1483
|
[
|
|
1484
1484
|
"path",
|
|
1485
1485
|
{
|
|
@@ -1492,8 +1492,8 @@ const __iconNode$Q = [
|
|
|
1492
1492
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
1493
1493
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
1494
1494
|
];
|
|
1495
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
1496
|
-
const __iconNode$
|
|
1495
|
+
const FileText = createLucideIcon("file-text", __iconNode$R);
|
|
1496
|
+
const __iconNode$Q = [
|
|
1497
1497
|
[
|
|
1498
1498
|
"path",
|
|
1499
1499
|
{
|
|
@@ -1503,8 +1503,8 @@ const __iconNode$P = [
|
|
|
1503
1503
|
],
|
|
1504
1504
|
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }]
|
|
1505
1505
|
];
|
|
1506
|
-
const File$1 = createLucideIcon("file", __iconNode$
|
|
1507
|
-
const __iconNode$
|
|
1506
|
+
const File$1 = createLucideIcon("file", __iconNode$Q);
|
|
1507
|
+
const __iconNode$P = [
|
|
1508
1508
|
[
|
|
1509
1509
|
"path",
|
|
1510
1510
|
{
|
|
@@ -1513,8 +1513,8 @@ const __iconNode$O = [
|
|
|
1513
1513
|
}
|
|
1514
1514
|
]
|
|
1515
1515
|
];
|
|
1516
|
-
const FolderOpen = createLucideIcon("folder-open", __iconNode$
|
|
1517
|
-
const __iconNode$
|
|
1516
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$P);
|
|
1517
|
+
const __iconNode$O = [
|
|
1518
1518
|
["path", { d: "M12 10v6", key: "1bos4e" }],
|
|
1519
1519
|
["path", { d: "M9 13h6", key: "1uhe8q" }],
|
|
1520
1520
|
[
|
|
@@ -1525,8 +1525,8 @@ const __iconNode$N = [
|
|
|
1525
1525
|
}
|
|
1526
1526
|
]
|
|
1527
1527
|
];
|
|
1528
|
-
const FolderPlus = createLucideIcon("folder-plus", __iconNode$
|
|
1529
|
-
const __iconNode$
|
|
1528
|
+
const FolderPlus = createLucideIcon("folder-plus", __iconNode$O);
|
|
1529
|
+
const __iconNode$N = [
|
|
1530
1530
|
[
|
|
1531
1531
|
"path",
|
|
1532
1532
|
{
|
|
@@ -1535,39 +1535,39 @@ const __iconNode$M = [
|
|
|
1535
1535
|
}
|
|
1536
1536
|
]
|
|
1537
1537
|
];
|
|
1538
|
-
const Folder = createLucideIcon("folder", __iconNode$
|
|
1539
|
-
const __iconNode$
|
|
1538
|
+
const Folder = createLucideIcon("folder", __iconNode$N);
|
|
1539
|
+
const __iconNode$M = [
|
|
1540
1540
|
["path", { d: "M15 6a9 9 0 0 0-9 9V3", key: "1cii5b" }],
|
|
1541
1541
|
["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
|
|
1542
1542
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }]
|
|
1543
1543
|
];
|
|
1544
|
-
const GitBranch = createLucideIcon("git-branch", __iconNode$
|
|
1545
|
-
const __iconNode$
|
|
1544
|
+
const GitBranch = createLucideIcon("git-branch", __iconNode$M);
|
|
1545
|
+
const __iconNode$L = [
|
|
1546
1546
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
|
|
1547
1547
|
["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }],
|
|
1548
1548
|
["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }]
|
|
1549
1549
|
];
|
|
1550
|
-
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$
|
|
1551
|
-
const __iconNode$
|
|
1550
|
+
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$L);
|
|
1551
|
+
const __iconNode$K = [
|
|
1552
1552
|
["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
|
|
1553
1553
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
1554
1554
|
["path", { d: "M13 6h3a2 2 0 0 1 2 2v7", key: "1yeb86" }],
|
|
1555
1555
|
["path", { d: "M11 18H8a2 2 0 0 1-2-2V9", key: "19pyzm" }]
|
|
1556
1556
|
];
|
|
1557
|
-
const GitCompare = createLucideIcon("git-compare", __iconNode$
|
|
1558
|
-
const __iconNode$
|
|
1557
|
+
const GitCompare = createLucideIcon("git-compare", __iconNode$K);
|
|
1558
|
+
const __iconNode$J = [
|
|
1559
1559
|
["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
|
|
1560
1560
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
1561
1561
|
["path", { d: "M6 21V9a9 9 0 0 0 9 9", key: "7kw0sc" }]
|
|
1562
1562
|
];
|
|
1563
|
-
const GitMerge = createLucideIcon("git-merge", __iconNode$
|
|
1564
|
-
const __iconNode$
|
|
1563
|
+
const GitMerge = createLucideIcon("git-merge", __iconNode$J);
|
|
1564
|
+
const __iconNode$I = [
|
|
1565
1565
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1566
1566
|
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
1567
1567
|
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
1568
1568
|
];
|
|
1569
|
-
const Globe = createLucideIcon("globe", __iconNode$
|
|
1570
|
-
const __iconNode$
|
|
1569
|
+
const Globe = createLucideIcon("globe", __iconNode$I);
|
|
1570
|
+
const __iconNode$H = [
|
|
1571
1571
|
["circle", { cx: "12", cy: "9", r: "1", key: "124mty" }],
|
|
1572
1572
|
["circle", { cx: "19", cy: "9", r: "1", key: "1ruzo2" }],
|
|
1573
1573
|
["circle", { cx: "5", cy: "9", r: "1", key: "1a8b28" }],
|
|
@@ -1575,7 +1575,18 @@ const __iconNode$G = [
|
|
|
1575
1575
|
["circle", { cx: "19", cy: "15", r: "1", key: "1a92ep" }],
|
|
1576
1576
|
["circle", { cx: "5", cy: "15", r: "1", key: "5r1jwy" }]
|
|
1577
1577
|
];
|
|
1578
|
-
const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$
|
|
1578
|
+
const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$H);
|
|
1579
|
+
const __iconNode$G = [
|
|
1580
|
+
["path", { d: "M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8", key: "5wwlr5" }],
|
|
1581
|
+
[
|
|
1582
|
+
"path",
|
|
1583
|
+
{
|
|
1584
|
+
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",
|
|
1585
|
+
key: "r6nss1"
|
|
1586
|
+
}
|
|
1587
|
+
]
|
|
1588
|
+
];
|
|
1589
|
+
const House = createLucideIcon("house", __iconNode$G);
|
|
1579
1590
|
const __iconNode$F = [
|
|
1580
1591
|
["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }],
|
|
1581
1592
|
["path", { d: "M10.41 10.41a2 2 0 1 1-2.83-2.83", key: "1bzlo9" }],
|
|
@@ -4470,7 +4481,7 @@ const oppositeSideMap = {
|
|
|
4470
4481
|
bottom: "top",
|
|
4471
4482
|
top: "bottom"
|
|
4472
4483
|
};
|
|
4473
|
-
function clamp$
|
|
4484
|
+
function clamp$3(start2, value, end) {
|
|
4474
4485
|
return max$2(start2, min$2(value, end));
|
|
4475
4486
|
}
|
|
4476
4487
|
function evaluate$1(value, param) {
|
|
@@ -4827,7 +4838,7 @@ const arrow$3 = (options) => ({
|
|
|
4827
4838
|
const min$12 = minPadding;
|
|
4828
4839
|
const max2 = clientSize - arrowDimensions[length2] - maxPadding;
|
|
4829
4840
|
const center = clientSize / 2 - arrowDimensions[length2] / 2 + centerToReference;
|
|
4830
|
-
const offset2 = clamp$
|
|
4841
|
+
const offset2 = clamp$3(min$12, center, max2);
|
|
4831
4842
|
const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length2] / 2 - (center < min$12 ? minPadding : maxPadding) - arrowDimensions[length2] / 2 < 0;
|
|
4832
4843
|
const alignmentOffset = shouldAddOffset ? center < min$12 ? center - min$12 : center - max2 : 0;
|
|
4833
4844
|
return {
|
|
@@ -5126,14 +5137,14 @@ const shift$3 = function(options) {
|
|
|
5126
5137
|
const maxSide = mainAxis === "y" ? "bottom" : "right";
|
|
5127
5138
|
const min2 = mainAxisCoord + overflow[minSide];
|
|
5128
5139
|
const max2 = mainAxisCoord - overflow[maxSide];
|
|
5129
|
-
mainAxisCoord = clamp$
|
|
5140
|
+
mainAxisCoord = clamp$3(min2, mainAxisCoord, max2);
|
|
5130
5141
|
}
|
|
5131
5142
|
if (checkCrossAxis) {
|
|
5132
5143
|
const minSide = crossAxis === "y" ? "top" : "left";
|
|
5133
5144
|
const maxSide = crossAxis === "y" ? "bottom" : "right";
|
|
5134
5145
|
const min2 = crossAxisCoord + overflow[minSide];
|
|
5135
5146
|
const max2 = crossAxisCoord - overflow[maxSide];
|
|
5136
|
-
crossAxisCoord = clamp$
|
|
5147
|
+
crossAxisCoord = clamp$3(min2, crossAxisCoord, max2);
|
|
5137
5148
|
}
|
|
5138
5149
|
const limitedCoords = limiter.fn({
|
|
5139
5150
|
...state2,
|
|
@@ -7944,9 +7955,9 @@ var Portal2$1 = ContextMenuPortal$1;
|
|
|
7944
7955
|
var Content2$4 = ContextMenuContent$1;
|
|
7945
7956
|
var Item2$1 = ContextMenuItem$1;
|
|
7946
7957
|
var Separator2$1 = ContextMenuSeparator$1;
|
|
7947
|
-
var Sub2 = ContextMenuSub$1;
|
|
7948
|
-
var SubTrigger2 = ContextMenuSubTrigger$1;
|
|
7949
|
-
var SubContent2 = ContextMenuSubContent$1;
|
|
7958
|
+
var Sub2$1 = ContextMenuSub$1;
|
|
7959
|
+
var SubTrigger2$1 = ContextMenuSubTrigger$1;
|
|
7960
|
+
var SubContent2$1 = ContextMenuSubContent$1;
|
|
7950
7961
|
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
|
7951
7962
|
var [createDropdownMenuContext] = createContextScope(
|
|
7952
7963
|
DROPDOWN_MENU_NAME,
|
|
@@ -8025,12 +8036,12 @@ var DropdownMenuTrigger$1 = reactExports.forwardRef(
|
|
|
8025
8036
|
);
|
|
8026
8037
|
DropdownMenuTrigger$1.displayName = TRIGGER_NAME$3;
|
|
8027
8038
|
var PORTAL_NAME$3 = "DropdownMenuPortal";
|
|
8028
|
-
var DropdownMenuPortal = (props) => {
|
|
8039
|
+
var DropdownMenuPortal$1 = (props) => {
|
|
8029
8040
|
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
8030
8041
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
8031
8042
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Portal$3, { ...menuScope, ...portalProps });
|
|
8032
8043
|
};
|
|
8033
|
-
DropdownMenuPortal.displayName = PORTAL_NAME$3;
|
|
8044
|
+
DropdownMenuPortal$1.displayName = PORTAL_NAME$3;
|
|
8034
8045
|
var CONTENT_NAME$3 = "DropdownMenuContent";
|
|
8035
8046
|
var DropdownMenuContent$1 = reactExports.forwardRef(
|
|
8036
8047
|
(props, forwardedRef) => {
|
|
@@ -8144,15 +8155,26 @@ var DropdownMenuArrow = reactExports.forwardRef(
|
|
|
8144
8155
|
}
|
|
8145
8156
|
);
|
|
8146
8157
|
DropdownMenuArrow.displayName = ARROW_NAME$3;
|
|
8158
|
+
var DropdownMenuSub$1 = (props) => {
|
|
8159
|
+
const { __scopeDropdownMenu, children: children2, open: openProp, onOpenChange, defaultOpen } = props;
|
|
8160
|
+
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
8161
|
+
const [open2, setOpen] = useControllableState({
|
|
8162
|
+
prop: openProp,
|
|
8163
|
+
defaultProp: defaultOpen ?? false,
|
|
8164
|
+
onChange: onOpenChange,
|
|
8165
|
+
caller: "DropdownMenuSub"
|
|
8166
|
+
});
|
|
8167
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Sub, { ...menuScope, open: open2, onOpenChange: setOpen, children: children2 });
|
|
8168
|
+
};
|
|
8147
8169
|
var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
|
|
8148
|
-
var DropdownMenuSubTrigger = reactExports.forwardRef((props, forwardedRef) => {
|
|
8170
|
+
var DropdownMenuSubTrigger$1 = reactExports.forwardRef((props, forwardedRef) => {
|
|
8149
8171
|
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
|
8150
8172
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
8151
8173
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });
|
|
8152
8174
|
});
|
|
8153
|
-
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
8175
|
+
DropdownMenuSubTrigger$1.displayName = SUB_TRIGGER_NAME;
|
|
8154
8176
|
var SUB_CONTENT_NAME = "DropdownMenuSubContent";
|
|
8155
|
-
var DropdownMenuSubContent = reactExports.forwardRef((props, forwardedRef) => {
|
|
8177
|
+
var DropdownMenuSubContent$1 = reactExports.forwardRef((props, forwardedRef) => {
|
|
8156
8178
|
const { __scopeDropdownMenu, ...subContentProps } = props;
|
|
8157
8179
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
8158
8180
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -8175,10 +8197,10 @@ var DropdownMenuSubContent = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
8175
8197
|
}
|
|
8176
8198
|
);
|
|
8177
8199
|
});
|
|
8178
|
-
DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
|
|
8200
|
+
DropdownMenuSubContent$1.displayName = SUB_CONTENT_NAME;
|
|
8179
8201
|
var Root2$2 = DropdownMenu$1;
|
|
8180
8202
|
var Trigger$3 = DropdownMenuTrigger$1;
|
|
8181
|
-
var Portal2 = DropdownMenuPortal;
|
|
8203
|
+
var Portal2 = DropdownMenuPortal$1;
|
|
8182
8204
|
var Content2$3 = DropdownMenuContent$1;
|
|
8183
8205
|
var Group2 = DropdownMenuGroup$1;
|
|
8184
8206
|
var Label2 = DropdownMenuLabel$1;
|
|
@@ -8186,6 +8208,9 @@ var Item2 = DropdownMenuItem$1;
|
|
|
8186
8208
|
var CheckboxItem2 = DropdownMenuCheckboxItem$1;
|
|
8187
8209
|
var ItemIndicator2 = DropdownMenuItemIndicator;
|
|
8188
8210
|
var Separator2 = DropdownMenuSeparator$1;
|
|
8211
|
+
var Sub2 = DropdownMenuSub$1;
|
|
8212
|
+
var SubTrigger2 = DropdownMenuSubTrigger$1;
|
|
8213
|
+
var SubContent2 = DropdownMenuSubContent$1;
|
|
8189
8214
|
var NAME = "Label";
|
|
8190
8215
|
var Label$2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
8191
8216
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -8204,7 +8229,7 @@ var Label$2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
8204
8229
|
});
|
|
8205
8230
|
Label$2.displayName = NAME;
|
|
8206
8231
|
var Root$2 = Label$2;
|
|
8207
|
-
function clamp$
|
|
8232
|
+
function clamp$2(value, [min2, max2]) {
|
|
8208
8233
|
return Math.min(max2, Math.max(min2, value));
|
|
8209
8234
|
}
|
|
8210
8235
|
var POPOVER_NAME = "Popover";
|
|
@@ -9132,7 +9157,7 @@ function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
|
|
|
9132
9157
|
const maxScrollPos = sizes.content - sizes.viewport;
|
|
9133
9158
|
const maxThumbPos = scrollbar - thumbSizePx;
|
|
9134
9159
|
const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
|
|
9135
|
-
const scrollWithoutMomentum = clamp$
|
|
9160
|
+
const scrollWithoutMomentum = clamp$2(scrollPos, scrollClampRange);
|
|
9136
9161
|
const interpolate2 = linearScale([0, maxScrollPos], [0, maxThumbPos]);
|
|
9137
9162
|
return interpolate2(scrollWithoutMomentum);
|
|
9138
9163
|
}
|
|
@@ -9694,7 +9719,7 @@ var SelectItemAlignedPosition = reactExports.forwardRef((props, forwardedRef) =>
|
|
|
9694
9719
|
const minContentWidth = triggerRect.width + leftDelta;
|
|
9695
9720
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
9696
9721
|
const rightEdge = window.innerWidth - CONTENT_MARGIN;
|
|
9697
|
-
const clampedLeft = clamp$
|
|
9722
|
+
const clampedLeft = clamp$2(left, [
|
|
9698
9723
|
CONTENT_MARGIN,
|
|
9699
9724
|
// Prevents the content from going off the starting edge of the
|
|
9700
9725
|
// viewport. It may still go off the ending edge, but this can be
|
|
@@ -9712,7 +9737,7 @@ var SelectItemAlignedPosition = reactExports.forwardRef((props, forwardedRef) =>
|
|
|
9712
9737
|
const minContentWidth = triggerRect.width + rightDelta;
|
|
9713
9738
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
9714
9739
|
const leftEdge = window.innerWidth - CONTENT_MARGIN;
|
|
9715
|
-
const clampedRight = clamp$
|
|
9740
|
+
const clampedRight = clamp$2(right, [
|
|
9716
9741
|
CONTENT_MARGIN,
|
|
9717
9742
|
Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
|
|
9718
9743
|
]);
|
|
@@ -15075,7 +15100,7 @@ function ContextMenuItem({
|
|
|
15075
15100
|
);
|
|
15076
15101
|
}
|
|
15077
15102
|
function ContextMenuSub({ ...props }) {
|
|
15078
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Sub2, { "data-slot": "context-menu-sub", ...props });
|
|
15103
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Sub2$1, { "data-slot": "context-menu-sub", ...props });
|
|
15079
15104
|
}
|
|
15080
15105
|
function ContextMenuSubTrigger({
|
|
15081
15106
|
className,
|
|
@@ -15084,7 +15109,7 @@ function ContextMenuSubTrigger({
|
|
|
15084
15109
|
...props
|
|
15085
15110
|
}) {
|
|
15086
15111
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
15087
|
-
SubTrigger2,
|
|
15112
|
+
SubTrigger2$1,
|
|
15088
15113
|
{
|
|
15089
15114
|
"data-slot": "context-menu-sub-trigger",
|
|
15090
15115
|
"data-inset": inset,
|
|
@@ -15105,7 +15130,7 @@ function ContextMenuSubContent({
|
|
|
15105
15130
|
...props
|
|
15106
15131
|
}) {
|
|
15107
15132
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15108
|
-
SubContent2,
|
|
15133
|
+
SubContent2$1,
|
|
15109
15134
|
{
|
|
15110
15135
|
"data-slot": "context-menu-sub-content",
|
|
15111
15136
|
className: cn$2(
|
|
@@ -15132,6 +15157,11 @@ function ContextMenuSeparator({
|
|
|
15132
15157
|
function DropdownMenu({ ...props }) {
|
|
15133
15158
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Root2$2, { "data-slot": "dropdown-menu", ...props });
|
|
15134
15159
|
}
|
|
15160
|
+
function DropdownMenuPortal({
|
|
15161
|
+
...props
|
|
15162
|
+
}) {
|
|
15163
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Portal2, { "data-slot": "dropdown-menu-portal", ...props });
|
|
15164
|
+
}
|
|
15135
15165
|
function DropdownMenuTrigger({
|
|
15136
15166
|
...props
|
|
15137
15167
|
}) {
|
|
@@ -15239,6 +15269,48 @@ function DropdownMenuShortcut({ className, ...props }) {
|
|
|
15239
15269
|
}
|
|
15240
15270
|
);
|
|
15241
15271
|
}
|
|
15272
|
+
function DropdownMenuSub({ ...props }) {
|
|
15273
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Sub2, { "data-slot": "dropdown-menu-sub", ...props });
|
|
15274
|
+
}
|
|
15275
|
+
function DropdownMenuSubTrigger({
|
|
15276
|
+
className,
|
|
15277
|
+
inset,
|
|
15278
|
+
children: children2,
|
|
15279
|
+
...props
|
|
15280
|
+
}) {
|
|
15281
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
15282
|
+
SubTrigger2,
|
|
15283
|
+
{
|
|
15284
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
15285
|
+
"data-inset": inset,
|
|
15286
|
+
className: cn$2(
|
|
15287
|
+
"flex cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground dark:focus:bg-neutral-700 data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground dark:data-[state=open]:bg-neutral-700 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",
|
|
15288
|
+
className
|
|
15289
|
+
),
|
|
15290
|
+
...props,
|
|
15291
|
+
children: [
|
|
15292
|
+
children2,
|
|
15293
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "ml-auto size-4" })
|
|
15294
|
+
]
|
|
15295
|
+
}
|
|
15296
|
+
);
|
|
15297
|
+
}
|
|
15298
|
+
function DropdownMenuSubContent({
|
|
15299
|
+
className,
|
|
15300
|
+
...props
|
|
15301
|
+
}) {
|
|
15302
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15303
|
+
SubContent2,
|
|
15304
|
+
{
|
|
15305
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
15306
|
+
className: cn$2(
|
|
15307
|
+
"z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
15308
|
+
className
|
|
15309
|
+
),
|
|
15310
|
+
...props
|
|
15311
|
+
}
|
|
15312
|
+
);
|
|
15313
|
+
}
|
|
15242
15314
|
function Textarea({ className, ...props }) {
|
|
15243
15315
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
15244
15316
|
"textarea",
|
|
@@ -42763,53 +42835,53 @@ async function loadLanguage(lang) {
|
|
|
42763
42835
|
try {
|
|
42764
42836
|
switch (lang) {
|
|
42765
42837
|
case "javascript":
|
|
42766
|
-
return import("./index-
|
|
42838
|
+
return import("./index-DGyXXlV8.js").then((m2) => m2.javascript());
|
|
42767
42839
|
case "jsx":
|
|
42768
|
-
return import("./index-
|
|
42840
|
+
return import("./index-DGyXXlV8.js").then((m2) => m2.javascript({ jsx: true }));
|
|
42769
42841
|
case "typescript":
|
|
42770
|
-
return import("./index-
|
|
42842
|
+
return import("./index-DGyXXlV8.js").then(
|
|
42771
42843
|
(m2) => m2.javascript({ typescript: true })
|
|
42772
42844
|
);
|
|
42773
42845
|
case "tsx":
|
|
42774
|
-
return import("./index-
|
|
42846
|
+
return import("./index-DGyXXlV8.js").then(
|
|
42775
42847
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
42776
42848
|
);
|
|
42777
42849
|
case "python":
|
|
42778
|
-
return import("./index-
|
|
42850
|
+
return import("./index-CXEg-eDA.js").then((m2) => m2.python());
|
|
42779
42851
|
case "html":
|
|
42780
|
-
return import("./index-
|
|
42852
|
+
return import("./index-C06ZyGGj.js").then((m2) => m2.html());
|
|
42781
42853
|
case "css":
|
|
42782
|
-
return import("./index-
|
|
42854
|
+
return import("./index-WOVU_Ptt.js").then((m2) => m2.css());
|
|
42783
42855
|
case "scss":
|
|
42784
42856
|
case "sass":
|
|
42785
|
-
return import("./index-
|
|
42857
|
+
return import("./index-tV4Tdk7z.js").then((m2) => m2.sass());
|
|
42786
42858
|
case "less":
|
|
42787
|
-
return import("./index-
|
|
42859
|
+
return import("./index-CD62n4Wy.js").then((m2) => m2.less());
|
|
42788
42860
|
case "json":
|
|
42789
42861
|
case "jsonc":
|
|
42790
|
-
return import("./index-
|
|
42862
|
+
return import("./index-B1VfjVjc.js").then((m2) => m2.json());
|
|
42791
42863
|
case "markdown":
|
|
42792
42864
|
case "mdx":
|
|
42793
|
-
return import("./index-
|
|
42865
|
+
return import("./index-B1aJ0zMt.js").then((m2) => m2.markdown());
|
|
42794
42866
|
case "xml":
|
|
42795
|
-
return import("./index-
|
|
42867
|
+
return import("./index-DXSqtFcT.js").then((m2) => m2.xml());
|
|
42796
42868
|
case "yaml":
|
|
42797
|
-
return import("./index-
|
|
42869
|
+
return import("./index-BhpCZORq.js").then((m2) => m2.yaml());
|
|
42798
42870
|
case "sql":
|
|
42799
|
-
return import("./index-
|
|
42871
|
+
return import("./index-dJOmGf_o.js").then((m2) => m2.sql());
|
|
42800
42872
|
case "rust":
|
|
42801
|
-
return import("./index-
|
|
42873
|
+
return import("./index-e4ZKMFB1.js").then((m2) => m2.rust());
|
|
42802
42874
|
case "go":
|
|
42803
|
-
return import("./index-
|
|
42875
|
+
return import("./index-BCTaINbC.js").then((m2) => m2.go());
|
|
42804
42876
|
case "java":
|
|
42805
|
-
return import("./index-
|
|
42877
|
+
return import("./index-CprdJ8Lo.js").then((m2) => m2.java());
|
|
42806
42878
|
case "kotlin":
|
|
42807
|
-
return import("./index-
|
|
42879
|
+
return import("./index-CprdJ8Lo.js").then((m2) => m2.java());
|
|
42808
42880
|
case "c":
|
|
42809
42881
|
case "cpp":
|
|
42810
|
-
return import("./index-
|
|
42882
|
+
return import("./index-BCLSgPI1.js").then((m2) => m2.cpp());
|
|
42811
42883
|
case "php":
|
|
42812
|
-
return import("./index-
|
|
42884
|
+
return import("./index-DHt4VQNS.js").then((m2) => m2.php());
|
|
42813
42885
|
// Legacy modes via StreamLanguage
|
|
42814
42886
|
case "bash":
|
|
42815
42887
|
case "fish":
|
|
@@ -48900,7 +48972,7 @@ function NewWorkspaceDialog({ projectName, open: open2, onOpenChange }) {
|
|
|
48900
48972
|
setPrompt("");
|
|
48901
48973
|
onOpenChange(false);
|
|
48902
48974
|
};
|
|
48903
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogContent, { className: "sm:max-w-[425px]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, children: [
|
|
48975
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogContent, { className: "sm:max-w-[425px]", "data-testid": "new-workspace-form__dialog", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("form", { onSubmit: handleSubmit, children: [
|
|
48904
48976
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
|
|
48905
48977
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Add Workspace" }),
|
|
48906
48978
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogDescription, { children: [
|
|
@@ -49087,6 +49159,8 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49087
49159
|
const gitPush = useDashboardStore((s2) => s2.gitPush);
|
|
49088
49160
|
const removeWorkspaceMutation = useRemoveWorkspace();
|
|
49089
49161
|
const isPinned = worktree.pinned;
|
|
49162
|
+
const isRoot = !isPlain && worktree.name === defaultBranch;
|
|
49163
|
+
const agentActive = status?.agent?.status === "working" || status?.agent?.status === "needs_attention";
|
|
49090
49164
|
const workspaceId = toWorkspaceId(projectName, worktree.name);
|
|
49091
49165
|
const isActive = useDashboardStore((s2) => s2.activeWorkspaceId === workspaceId);
|
|
49092
49166
|
const href = capabilities2.getWorkspaceHref?.(workspaceId);
|
|
@@ -49152,12 +49226,41 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49152
49226
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ...containerProps, children: [
|
|
49153
49227
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { delayDuration: 800, children: [
|
|
49154
49228
|
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 min-w-0 overflow-hidden", children: [
|
|
49155
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
49156
|
-
|
|
49229
|
+
isRoot ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
49230
|
+
agentActive && /* @__PURE__ */ jsxRuntimeExports.jsx(AgentStatusIndicator, { agent: status?.agent, isActive }),
|
|
49231
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49232
|
+
House,
|
|
49233
|
+
{
|
|
49234
|
+
className: `size-3.5 shrink-0 ${isActive ? "text-primary" : "text-muted-foreground"}`
|
|
49235
|
+
}
|
|
49236
|
+
)
|
|
49237
|
+
] }) : /* @__PURE__ */ jsxRuntimeExports.jsx(AgentStatusIndicator, { agent: status?.agent, isActive }),
|
|
49238
|
+
showProjectName ? (
|
|
49239
|
+
// Pinned section: stack the branch name over the project name
|
|
49240
|
+
// as a compact two-line block so a mixed list of pinned cards
|
|
49241
|
+
// stays scannable without a long, mid-truncated
|
|
49242
|
+
// `project/branch` string on one line.
|
|
49243
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col min-w-0 leading-tight", children: [
|
|
49244
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49245
|
+
"span",
|
|
49246
|
+
{
|
|
49247
|
+
className: `text-sm truncate ${isActive ? "font-bold text-foreground" : "font-medium text-muted-foreground"}`,
|
|
49248
|
+
children: worktree.name
|
|
49249
|
+
}
|
|
49250
|
+
),
|
|
49251
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49252
|
+
"span",
|
|
49253
|
+
{
|
|
49254
|
+
className: `text-xs truncate ${isActive ? "text-foreground/80" : "text-muted-foreground"}`,
|
|
49255
|
+
children: projectName
|
|
49256
|
+
}
|
|
49257
|
+
)
|
|
49258
|
+
] })
|
|
49259
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49157
49260
|
"span",
|
|
49158
49261
|
{
|
|
49159
49262
|
className: `text-sm truncate ${isActive ? "font-bold text-foreground" : "font-medium text-muted-foreground"}`,
|
|
49160
|
-
children:
|
|
49263
|
+
children: worktree.name
|
|
49161
49264
|
}
|
|
49162
49265
|
)
|
|
49163
49266
|
] }) }),
|
|
@@ -49206,6 +49309,19 @@ const WorkspaceCard = reactExports.memo(function WorkspaceCard2({
|
|
|
49206
49309
|
] })
|
|
49207
49310
|
] });
|
|
49208
49311
|
});
|
|
49312
|
+
function CollapsibleSection({
|
|
49313
|
+
collapsed,
|
|
49314
|
+
className,
|
|
49315
|
+
children: children2
|
|
49316
|
+
}) {
|
|
49317
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49318
|
+
"div",
|
|
49319
|
+
{
|
|
49320
|
+
className: `grid transition-[grid-template-rows] duration-200 ease-out ${collapsed ? "grid-rows-[0fr]" : "grid-rows-[1fr]"}`,
|
|
49321
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `overflow-hidden ${className ?? ""}`, inert: collapsed, children: children2 })
|
|
49322
|
+
}
|
|
49323
|
+
);
|
|
49324
|
+
}
|
|
49209
49325
|
function SortableProject({
|
|
49210
49326
|
project,
|
|
49211
49327
|
statuses,
|
|
@@ -49262,6 +49378,61 @@ function SortableProject({
|
|
|
49262
49378
|
};
|
|
49263
49379
|
let workspaceIndex = workspaceIndexStart;
|
|
49264
49380
|
const headerClassName = isPlain ? `group flex items-center justify-between mb-0.5 rounded-md pl-1 pr-1 py-1.5 min-w-0 overflow-hidden cursor-pointer select-none touch-pan-y transition-colors hover:bg-accent/50 [@media(pointer:coarse)]:min-h-11 [@media(pointer:coarse)]:py-2.5 ${plainIsActive ? "bg-primary/15 hover:bg-primary/15" : plainIsFocused ? "bg-accent" : ""}` : `group flex items-center justify-between mb-0.5 pl-1 pr-0 rounded select-none touch-pan-y transition-colors hover:bg-accent/50 [@media(pointer:coarse)]:min-h-11`;
|
|
49381
|
+
const renderMenuItems = (menu) => {
|
|
49382
|
+
const { Item: Item3, Sub: Sub3, SubTrigger: SubTrigger3, SubContent: SubContent3, Portal: Portal3 } = menu;
|
|
49383
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
49384
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
49385
|
+
Item3,
|
|
49386
|
+
{
|
|
49387
|
+
"data-testid": "project-list__action--add-workspace",
|
|
49388
|
+
onClick: () => setWorkspaceDialog(project.name),
|
|
49389
|
+
children: [
|
|
49390
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Plus, {}),
|
|
49391
|
+
"Add workspace"
|
|
49392
|
+
]
|
|
49393
|
+
}
|
|
49394
|
+
),
|
|
49395
|
+
labels.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(Sub3, { children: [
|
|
49396
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(SubTrigger3, { children: [
|
|
49397
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-4 mr-2" }),
|
|
49398
|
+
"Set label"
|
|
49399
|
+
] }),
|
|
49400
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Portal3, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(SubContent3, { children: [
|
|
49401
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => updateProjectLabel(project.name, null), children: [
|
|
49402
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: "None" }),
|
|
49403
|
+
!project.label && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2" })
|
|
49404
|
+
] }),
|
|
49405
|
+
labels.map((lbl) => /* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => updateProjectLabel(project.name, lbl.id), children: [
|
|
49406
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49407
|
+
"span",
|
|
49408
|
+
{
|
|
49409
|
+
className: "size-2.5 rounded-full shrink-0 mr-2",
|
|
49410
|
+
style: { backgroundColor: lbl.color }
|
|
49411
|
+
}
|
|
49412
|
+
),
|
|
49413
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: lbl.name }),
|
|
49414
|
+
project.label === lbl.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2" })
|
|
49415
|
+
] }, lbl.id))
|
|
49416
|
+
] }) })
|
|
49417
|
+
] }),
|
|
49418
|
+
isPlain && canPromoteToGit && /* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => onPromoteToGit(project.name), children: [
|
|
49419
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(GitBranch, {}),
|
|
49420
|
+
"Promote to git…"
|
|
49421
|
+
] }),
|
|
49422
|
+
capabilities2.copyPath && /* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => navigator.clipboard.writeText(project.path), children: [
|
|
49423
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Clipboard, {}),
|
|
49424
|
+
"Copy path"
|
|
49425
|
+
] }),
|
|
49426
|
+
capabilities2.revealInFinder && /* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => capabilities2.revealInFinder(project.path), children: [
|
|
49427
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, {}),
|
|
49428
|
+
"Open in Finder"
|
|
49429
|
+
] }),
|
|
49430
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Item3, { onClick: () => removeProject(project.name), children: [
|
|
49431
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ListMinus, {}),
|
|
49432
|
+
"Remove from list"
|
|
49433
|
+
] })
|
|
49434
|
+
] });
|
|
49435
|
+
};
|
|
49265
49436
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: setNodeRef, style: style2, className: "min-w-0 px-2", children: [
|
|
49266
49437
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenu, { children: [
|
|
49267
49438
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -49311,89 +49482,60 @@ function SortableProject({
|
|
|
49311
49482
|
]
|
|
49312
49483
|
}
|
|
49313
49484
|
),
|
|
49314
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
49315
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
49316
|
-
|
|
49317
|
-
|
|
49318
|
-
|
|
49319
|
-
|
|
49320
|
-
|
|
49321
|
-
|
|
49322
|
-
|
|
49323
|
-
|
|
49324
|
-
|
|
49325
|
-
|
|
49326
|
-
|
|
49327
|
-
|
|
49328
|
-
|
|
49329
|
-
|
|
49485
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100 [@media(pointer:coarse)]:opacity-100", children: [
|
|
49486
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenu, { children: [
|
|
49487
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
49488
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49489
|
+
Button,
|
|
49490
|
+
{
|
|
49491
|
+
variant: "ghost",
|
|
49492
|
+
size: "icon-xs",
|
|
49493
|
+
"aria-label": "Project actions",
|
|
49494
|
+
"data-testid": `project-list__project-menu-trigger--${project.name}`,
|
|
49495
|
+
onPointerDown: (e3) => e3.stopPropagation(),
|
|
49496
|
+
onClick: (e3) => e3.stopPropagation(),
|
|
49497
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(EllipsisVertical, {})
|
|
49498
|
+
}
|
|
49499
|
+
) }) }),
|
|
49500
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "More actions" })
|
|
49501
|
+
] }),
|
|
49502
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuContent, { align: "end", children: renderMenuItems({
|
|
49503
|
+
Item: DropdownMenuItem,
|
|
49504
|
+
Sub: DropdownMenuSub,
|
|
49505
|
+
SubTrigger: DropdownMenuSubTrigger,
|
|
49506
|
+
SubContent: DropdownMenuSubContent,
|
|
49507
|
+
Portal: DropdownMenuPortal
|
|
49508
|
+
}) })
|
|
49509
|
+
] }),
|
|
49510
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip$1, { children: [
|
|
49511
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49512
|
+
Button,
|
|
49513
|
+
{
|
|
49514
|
+
variant: "ghost",
|
|
49515
|
+
size: "icon-xs",
|
|
49516
|
+
onPointerDown: (e3) => e3.stopPropagation(),
|
|
49517
|
+
onClick: (e3) => {
|
|
49518
|
+
e3.stopPropagation();
|
|
49519
|
+
setWorkspaceDialog(project.name);
|
|
49520
|
+
},
|
|
49521
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, {})
|
|
49522
|
+
}
|
|
49523
|
+
) }),
|
|
49524
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { children: "Add workspace" })
|
|
49525
|
+
] })
|
|
49526
|
+
] })
|
|
49330
49527
|
]
|
|
49331
49528
|
}
|
|
49332
49529
|
) }),
|
|
49333
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
49334
|
-
|
|
49335
|
-
|
|
49336
|
-
|
|
49337
|
-
|
|
49338
|
-
|
|
49339
|
-
|
|
49340
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: collapsed ? "" : "rotate-90" }),
|
|
49341
|
-
collapsed ? "Expand" : "Collapse"
|
|
49342
|
-
]
|
|
49343
|
-
}
|
|
49344
|
-
),
|
|
49345
|
-
labels.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuSub, { children: [
|
|
49346
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuSubTrigger, { children: [
|
|
49347
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tag$1, { className: "size-4 mr-2" }),
|
|
49348
|
-
"Set label"
|
|
49349
|
-
] }),
|
|
49350
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuPortal, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuSubContent, { children: [
|
|
49351
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => updateProjectLabel(project.name, null), children: [
|
|
49352
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: "None" }),
|
|
49353
|
-
!project.label && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2" })
|
|
49354
|
-
] }),
|
|
49355
|
-
labels.map((lbl) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
49356
|
-
ContextMenuItem,
|
|
49357
|
-
{
|
|
49358
|
-
onClick: () => updateProjectLabel(project.name, lbl.id),
|
|
49359
|
-
children: [
|
|
49360
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49361
|
-
"span",
|
|
49362
|
-
{
|
|
49363
|
-
className: "size-2.5 rounded-full shrink-0 mr-2",
|
|
49364
|
-
style: { backgroundColor: lbl.color }
|
|
49365
|
-
}
|
|
49366
|
-
),
|
|
49367
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1", children: lbl.name }),
|
|
49368
|
-
project.label === lbl.id && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3 ml-2" })
|
|
49369
|
-
]
|
|
49370
|
-
},
|
|
49371
|
-
lbl.id
|
|
49372
|
-
))
|
|
49373
|
-
] }) })
|
|
49374
|
-
] }),
|
|
49375
|
-
isPlain && canPromoteToGit && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => onPromoteToGit(project.name), children: [
|
|
49376
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(GitBranch, {}),
|
|
49377
|
-
"Promote to git…"
|
|
49378
|
-
] }),
|
|
49379
|
-
capabilities2.copyPath && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => navigator.clipboard.writeText(project.path), children: [
|
|
49380
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Clipboard, {}),
|
|
49381
|
-
"Copy path"
|
|
49382
|
-
] }),
|
|
49383
|
-
capabilities2.revealInFinder && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => capabilities2.revealInFinder(project.path), children: [
|
|
49384
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(FolderOpen, {}),
|
|
49385
|
-
"Open in Finder"
|
|
49386
|
-
] }),
|
|
49387
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => removeProject(project.name), children: [
|
|
49388
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ListMinus, {}),
|
|
49389
|
-
"Remove from list"
|
|
49390
|
-
] })
|
|
49391
|
-
] })
|
|
49530
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuContent, { children: renderMenuItems({
|
|
49531
|
+
Item: ContextMenuItem,
|
|
49532
|
+
Sub: ContextMenuSub,
|
|
49533
|
+
SubTrigger: ContextMenuSubTrigger,
|
|
49534
|
+
SubContent: ContextMenuSubContent,
|
|
49535
|
+
Portal: ContextMenuPortal
|
|
49536
|
+
}) })
|
|
49392
49537
|
] }),
|
|
49393
|
-
!isPlain &&
|
|
49394
|
-
// the project header above, not as sibling rows. The indentation alone
|
|
49395
|
-
// (no divider rail) conveys the hierarchy, keeping the list uncluttered.
|
|
49396
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-0.5 overflow-hidden ml-3", children: project.worktrees.length === 0 ? hasPinnedSiblings ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground px-4 py-2", children: "No workspaces yet" }) : project.worktrees.map((wt2) => {
|
|
49538
|
+
!isPlain && /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleSection, { collapsed, className: "flex flex-col gap-0.5 ml-3", children: project.worktrees.length === 0 ? hasPinnedSiblings ? null : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground px-4 py-2", children: "No workspaces yet" }) : project.worktrees.map((wt2) => {
|
|
49397
49539
|
const wsId = toWorkspaceId(project.name, wt2.name);
|
|
49398
49540
|
const currentIndex = workspaceIndex++;
|
|
49399
49541
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -49406,7 +49548,7 @@ function SortableProject({
|
|
|
49406
49548
|
status: statuses.get(wsId),
|
|
49407
49549
|
branchStatus: branchStatuses.get(wsId),
|
|
49408
49550
|
setupStatus: setupStatuses.get(wsId),
|
|
49409
|
-
isFocused: currentIndex === focusedIndex,
|
|
49551
|
+
isFocused: !collapsed && currentIndex === focusedIndex,
|
|
49410
49552
|
onShowDeleteDialog,
|
|
49411
49553
|
onTogglePinned
|
|
49412
49554
|
},
|
|
@@ -49449,6 +49591,7 @@ function DroppableUnlabeledHeader({ collapsed, onToggle }) {
|
|
|
49449
49591
|
"aria-expanded": !collapsed,
|
|
49450
49592
|
className: `flex h-9 w-full items-center gap-2 pl-3 pr-4 mb-0.5 text-left transition-colors hover:bg-primary/10 ${isOver ? "bg-primary/20" : ""}`,
|
|
49451
49593
|
children: [
|
|
49594
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Circle, { className: "size-2.5 shrink-0 text-muted-foreground" }),
|
|
49452
49595
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-foreground/80", children: "Unlabeled" }),
|
|
49453
49596
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49454
49597
|
ChevronRight,
|
|
@@ -49737,23 +49880,30 @@ function ProjectList({ labelFilter }) {
|
|
|
49737
49880
|
]
|
|
49738
49881
|
}
|
|
49739
49882
|
),
|
|
49740
|
-
|
|
49741
|
-
|
|
49883
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49884
|
+
CollapsibleSection,
|
|
49742
49885
|
{
|
|
49743
|
-
|
|
49744
|
-
|
|
49745
|
-
|
|
49746
|
-
|
|
49747
|
-
|
|
49748
|
-
|
|
49749
|
-
|
|
49750
|
-
|
|
49751
|
-
|
|
49752
|
-
|
|
49753
|
-
|
|
49754
|
-
|
|
49755
|
-
|
|
49756
|
-
|
|
49886
|
+
collapsed: pinnedSectionCollapsed,
|
|
49887
|
+
className: "flex flex-col gap-0.5 px-2",
|
|
49888
|
+
children: pinnedEntries.map(({ project, worktree, workspaceId }, i2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
49889
|
+
WorkspaceCard,
|
|
49890
|
+
{
|
|
49891
|
+
worktree,
|
|
49892
|
+
projectName: project.name,
|
|
49893
|
+
defaultBranch: project.defaultBranch,
|
|
49894
|
+
projectKind: project.kind,
|
|
49895
|
+
status: statuses.get(workspaceId),
|
|
49896
|
+
branchStatus: branchStatuses.get(workspaceId),
|
|
49897
|
+
setupStatus: setupStatuses.get(workspaceId),
|
|
49898
|
+
isFocused: !pinnedSectionCollapsed && i2 === focusedIndex,
|
|
49899
|
+
onShowDeleteDialog: setDeleteDialog,
|
|
49900
|
+
showProjectName: true,
|
|
49901
|
+
onTogglePinned: togglePinned
|
|
49902
|
+
},
|
|
49903
|
+
workspaceId
|
|
49904
|
+
))
|
|
49905
|
+
}
|
|
49906
|
+
)
|
|
49757
49907
|
] }, "__pinned"),
|
|
49758
49908
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
49759
49909
|
DndContext,
|
|
@@ -49783,7 +49933,7 @@ function ProjectList({ labelFilter }) {
|
|
|
49783
49933
|
onToggle: () => labelCollapse.toggle(groupKey)
|
|
49784
49934
|
}
|
|
49785
49935
|
)),
|
|
49786
|
-
|
|
49936
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleSection, { collapsed: groupCollapsed, children: group.projects.map((project) => (
|
|
49787
49937
|
// Consecutive projects in a label group are separated by
|
|
49788
49938
|
// spacing alone (no divider line); the first row sits
|
|
49789
49939
|
// flush under the label header.
|
|
@@ -49808,7 +49958,7 @@ function ProjectList({ labelFilter }) {
|
|
|
49808
49958
|
onTogglePinned: togglePinned
|
|
49809
49959
|
}
|
|
49810
49960
|
) }, project.name)
|
|
49811
|
-
))
|
|
49961
|
+
)) })
|
|
49812
49962
|
] }, groupKey);
|
|
49813
49963
|
}) }),
|
|
49814
49964
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DragOverlay, { dropAnimation: null, children: activeDragId ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 px-1 py-1 bg-background rounded shadow-lg border", children: [
|
|
@@ -52956,7 +53106,7 @@ function useProjectKindForWorkspace(workspaceId) {
|
|
|
52956
53106
|
const map2 = useProjectKindMap();
|
|
52957
53107
|
return map2.get(workspaceId);
|
|
52958
53108
|
}
|
|
52959
|
-
const DEFAULT_SEARCH_OPTIONS = {
|
|
53109
|
+
const DEFAULT_SEARCH_OPTIONS$1 = {
|
|
52960
53110
|
caseSensitive: false,
|
|
52961
53111
|
wholeWord: false,
|
|
52962
53112
|
regex: false
|
|
@@ -52968,9 +53118,9 @@ function useSearch({
|
|
|
52968
53118
|
}) {
|
|
52969
53119
|
const [searchOpen, setSearchOpen] = reactExports.useState(false);
|
|
52970
53120
|
const [searchQuery, setSearchQueryText] = reactExports.useState("");
|
|
52971
|
-
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS);
|
|
53121
|
+
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS$1);
|
|
52972
53122
|
const searchQueryRef = reactExports.useRef("");
|
|
52973
|
-
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS);
|
|
53123
|
+
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS$1);
|
|
52974
53124
|
const [matchInfo, setMatchInfo] = reactExports.useState({
|
|
52975
53125
|
total: 0,
|
|
52976
53126
|
current: 0
|
|
@@ -67873,7 +68023,7 @@ function NavControls({
|
|
|
67873
68023
|
"aria-label": "Toggle sidebar",
|
|
67874
68024
|
"aria-pressed": sidebarVisible ?? false,
|
|
67875
68025
|
"data-testid": "desktop-title-bar__sidebar-toggle",
|
|
67876
|
-
className:
|
|
68026
|
+
className: "flex items-center justify-center rounded p-1 text-muted-foreground transition-colors hover:bg-accent/50 hover:text-foreground",
|
|
67877
68027
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-5" })
|
|
67878
68028
|
}
|
|
67879
68029
|
) }),
|
|
@@ -68715,7 +68865,7 @@ function remove$1(array2, value) {
|
|
|
68715
68865
|
}
|
|
68716
68866
|
return false;
|
|
68717
68867
|
}
|
|
68718
|
-
const clamp = (value, min2, max2) => {
|
|
68868
|
+
const clamp$1 = (value, min2, max2) => {
|
|
68719
68869
|
if (min2 > max2) {
|
|
68720
68870
|
return min2;
|
|
68721
68871
|
}
|
|
@@ -68796,7 +68946,7 @@ class ViewItem {
|
|
|
68796
68946
|
return;
|
|
68797
68947
|
}
|
|
68798
68948
|
if (visible) {
|
|
68799
|
-
this.size = clamp((_a3 = this._cachedVisibleSize) !== null && _a3 !== void 0 ? _a3 : 0, this.viewMinimumSize, this.viewMaximumSize);
|
|
68949
|
+
this.size = clamp$1((_a3 = this._cachedVisibleSize) !== null && _a3 !== void 0 ? _a3 : 0, this.viewMinimumSize, this.viewMaximumSize);
|
|
68800
68950
|
this._cachedVisibleSize = void 0;
|
|
68801
68951
|
} else {
|
|
68802
68952
|
this._cachedVisibleSize = typeof size2 === "number" ? size2 : this.size;
|
|
@@ -68978,12 +69128,12 @@ class Splitview {
|
|
|
68978
69128
|
if (snapped) {
|
|
68979
69129
|
return this.resize(index2, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);
|
|
68980
69130
|
}
|
|
68981
|
-
const tentativeDelta = clamp(delta, minDelta, maxDelta);
|
|
69131
|
+
const tentativeDelta = clamp$1(delta, minDelta, maxDelta);
|
|
68982
69132
|
let actualDelta = 0;
|
|
68983
69133
|
let deltaUp = tentativeDelta;
|
|
68984
69134
|
for (let i2 = 0; i2 < upItems.length; i2++) {
|
|
68985
69135
|
const item = upItems[i2];
|
|
68986
|
-
const size2 = clamp(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
69136
|
+
const size2 = clamp$1(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
68987
69137
|
const viewDelta = size2 - upSizes[i2];
|
|
68988
69138
|
actualDelta += viewDelta;
|
|
68989
69139
|
deltaUp -= viewDelta;
|
|
@@ -68992,7 +69142,7 @@ class Splitview {
|
|
|
68992
69142
|
let deltaDown = actualDelta;
|
|
68993
69143
|
for (let i2 = 0; i2 < downItems.length; i2++) {
|
|
68994
69144
|
const item = downItems[i2];
|
|
68995
|
-
const size2 = clamp(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
69145
|
+
const size2 = clamp$1(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
68996
69146
|
const viewDelta = size2 - downSizes[i2];
|
|
68997
69147
|
deltaDown += viewDelta;
|
|
68998
69148
|
item.size = size2;
|
|
@@ -69075,7 +69225,7 @@ class Splitview {
|
|
|
69075
69225
|
const highPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.High);
|
|
69076
69226
|
const item = this.viewItems[index2];
|
|
69077
69227
|
size2 = Math.round(size2);
|
|
69078
|
-
size2 = clamp(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
69228
|
+
size2 = clamp$1(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
69079
69229
|
item.size = size2;
|
|
69080
69230
|
this.relayout(lowPriorityIndexes, highPriorityIndexes);
|
|
69081
69231
|
}
|
|
@@ -69088,7 +69238,7 @@ class Splitview {
|
|
|
69088
69238
|
return;
|
|
69089
69239
|
}
|
|
69090
69240
|
size2 = typeof size2 === "number" ? size2 : item.size;
|
|
69091
|
-
size2 = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69241
|
+
size2 = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69092
69242
|
item.size = size2;
|
|
69093
69243
|
const indexes = range$5(this.viewItems.length).filter((i2) => i2 !== index2);
|
|
69094
69244
|
const lowPriorityIndexes = [
|
|
@@ -69220,7 +69370,7 @@ class Splitview {
|
|
|
69220
69370
|
}
|
|
69221
69371
|
const size2 = Math.floor(flexibleSize / flexibleViewItems.length);
|
|
69222
69372
|
for (const item of flexibleViewItems) {
|
|
69223
|
-
item.size = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69373
|
+
item.size = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69224
69374
|
}
|
|
69225
69375
|
const indexes = range$5(this.viewItems.length);
|
|
69226
69376
|
const lowPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.Low);
|
|
@@ -69281,7 +69431,7 @@ class Splitview {
|
|
|
69281
69431
|
const item = this.viewItems[i2];
|
|
69282
69432
|
const proportion = this.proportions[i2];
|
|
69283
69433
|
if (typeof proportion === "number" && total > 0) {
|
|
69284
|
-
item.size = clamp(Math.round(proportion * size2 / total), item.minimumSize, item.maximumSize);
|
|
69434
|
+
item.size = clamp$1(Math.round(proportion * size2 / total), item.minimumSize, item.maximumSize);
|
|
69285
69435
|
}
|
|
69286
69436
|
}
|
|
69287
69437
|
}
|
|
@@ -69312,7 +69462,7 @@ class Splitview {
|
|
|
69312
69462
|
}
|
|
69313
69463
|
for (let i2 = 0; emptyDelta !== 0 && i2 < indexes.length; i2++) {
|
|
69314
69464
|
const item = this.viewItems[indexes[i2]];
|
|
69315
|
-
const size2 = clamp(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69465
|
+
const size2 = clamp$1(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69316
69466
|
const viewDelta = size2 - item.size;
|
|
69317
69467
|
emptyDelta -= viewDelta;
|
|
69318
69468
|
item.size = size2;
|
|
@@ -71991,13 +72141,13 @@ class Droptarget extends CompositeDisposable {
|
|
|
71991
72141
|
let size2 = 1;
|
|
71992
72142
|
const sizeOptions = (_h2 = (_g2 = this.options.overlayModel) === null || _g2 === void 0 ? void 0 : _g2.size) !== null && _h2 !== void 0 ? _h2 : DEFAULT_SIZE$1;
|
|
71993
72143
|
if (sizeOptions.type === "percentage") {
|
|
71994
|
-
size2 = clamp(sizeOptions.value, 0, 100) / 100;
|
|
72144
|
+
size2 = clamp$1(sizeOptions.value, 0, 100) / 100;
|
|
71995
72145
|
} else {
|
|
71996
72146
|
if (rightClass || leftClass) {
|
|
71997
|
-
size2 = clamp(0, sizeOptions.value, width) / width;
|
|
72147
|
+
size2 = clamp$1(0, sizeOptions.value, width) / width;
|
|
71998
72148
|
}
|
|
71999
72149
|
if (topClass || bottomClass) {
|
|
72000
|
-
size2 = clamp(0, sizeOptions.value, height) / height;
|
|
72150
|
+
size2 = clamp$1(0, sizeOptions.value, height) / height;
|
|
72001
72151
|
}
|
|
72002
72152
|
}
|
|
72003
72153
|
if (target) {
|
|
@@ -73163,7 +73313,7 @@ class Scrollbar extends CompositeDisposable {
|
|
|
73163
73313
|
this._scrollbar.style.height = `${px}px`;
|
|
73164
73314
|
this._scrollbar.style.width = "";
|
|
73165
73315
|
}
|
|
73166
|
-
this._scrollOffset = clamp(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73316
|
+
this._scrollOffset = clamp$1(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73167
73317
|
if (this._orientation === "horizontal") {
|
|
73168
73318
|
this.scrollableElement.scrollLeft = this._scrollOffset;
|
|
73169
73319
|
} else {
|
|
@@ -77673,22 +77823,22 @@ class Overlay extends CompositeDisposable {
|
|
|
77673
77823
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77674
77824
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77675
77825
|
if (this.verticalAlignment === "top") {
|
|
77676
|
-
const top2 = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77826
|
+
const top2 = clamp$1(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77677
77827
|
this._element.style.top = `${top2}px`;
|
|
77678
77828
|
this._element.style.bottom = "auto";
|
|
77679
77829
|
}
|
|
77680
77830
|
if (this.verticalAlignment === "bottom") {
|
|
77681
|
-
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77831
|
+
const bottom = clamp$1(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77682
77832
|
this._element.style.bottom = `${bottom}px`;
|
|
77683
77833
|
this._element.style.top = "auto";
|
|
77684
77834
|
}
|
|
77685
77835
|
if (this.horiziontalAlignment === "left") {
|
|
77686
|
-
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77836
|
+
const left = clamp$1(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77687
77837
|
this._element.style.left = `${left}px`;
|
|
77688
77838
|
this._element.style.right = "auto";
|
|
77689
77839
|
}
|
|
77690
77840
|
if (this.horiziontalAlignment === "right") {
|
|
77691
|
-
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77841
|
+
const right = clamp$1(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77692
77842
|
this._element.style.right = `${right}px`;
|
|
77693
77843
|
this._element.style.left = "auto";
|
|
77694
77844
|
}
|
|
@@ -77739,10 +77889,10 @@ class Overlay extends CompositeDisposable {
|
|
|
77739
77889
|
}
|
|
77740
77890
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77741
77891
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77742
|
-
const top2 = clamp(y4 - offset2.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77743
|
-
const bottom = clamp(offset2.y - y4 + containerRect.height - overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77744
|
-
const left = clamp(x2 - offset2.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77745
|
-
const right = clamp(offset2.x - x2 + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77892
|
+
const top2 = clamp$1(y4 - offset2.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77893
|
+
const bottom = clamp$1(offset2.y - y4 + containerRect.height - overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77894
|
+
const left = clamp$1(x2 - offset2.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77895
|
+
const right = clamp$1(offset2.x - x2 + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77746
77896
|
const bounds = {};
|
|
77747
77897
|
if (top2 <= bottom) {
|
|
77748
77898
|
bounds.top = top2;
|
|
@@ -77817,7 +77967,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77817
77967
|
let width = void 0;
|
|
77818
77968
|
const moveTop = () => {
|
|
77819
77969
|
const maxTop = startPosition.originalY + startPosition.originalHeight > containerRect.height ? Math.max(0, containerRect.height - Overlay.MINIMUM_HEIGHT) : Math.max(0, startPosition.originalY + startPosition.originalHeight - Overlay.MINIMUM_HEIGHT);
|
|
77820
|
-
top2 = clamp(y4, 0, maxTop);
|
|
77970
|
+
top2 = clamp$1(y4, 0, maxTop);
|
|
77821
77971
|
height = startPosition.originalY + startPosition.originalHeight - top2;
|
|
77822
77972
|
bottom = containerRect.height - top2 - height;
|
|
77823
77973
|
};
|
|
@@ -77825,12 +77975,12 @@ class Overlay extends CompositeDisposable {
|
|
|
77825
77975
|
top2 = startPosition.originalY - startPosition.originalHeight;
|
|
77826
77976
|
const minHeight = top2 < 0 && typeof this.options.minimumInViewportHeight === "number" ? -top2 + this.options.minimumInViewportHeight : Overlay.MINIMUM_HEIGHT;
|
|
77827
77977
|
const maxHeight = containerRect.height - Math.max(0, top2);
|
|
77828
|
-
height = clamp(y4 - top2, minHeight, maxHeight);
|
|
77978
|
+
height = clamp$1(y4 - top2, minHeight, maxHeight);
|
|
77829
77979
|
bottom = containerRect.height - top2 - height;
|
|
77830
77980
|
};
|
|
77831
77981
|
const moveLeft = () => {
|
|
77832
77982
|
const maxLeft = startPosition.originalX + startPosition.originalWidth > containerRect.width ? Math.max(0, containerRect.width - Overlay.MINIMUM_WIDTH) : Math.max(0, startPosition.originalX + startPosition.originalWidth - Overlay.MINIMUM_WIDTH);
|
|
77833
|
-
left = clamp(x2, 0, maxLeft);
|
|
77983
|
+
left = clamp$1(x2, 0, maxLeft);
|
|
77834
77984
|
width = startPosition.originalX + startPosition.originalWidth - left;
|
|
77835
77985
|
right = containerRect.width - left - width;
|
|
77836
77986
|
};
|
|
@@ -77838,7 +77988,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77838
77988
|
left = startPosition.originalX - startPosition.originalWidth;
|
|
77839
77989
|
const minWidth = left < 0 && typeof this.options.minimumInViewportWidth === "number" ? -left + this.options.minimumInViewportWidth : Overlay.MINIMUM_WIDTH;
|
|
77840
77990
|
const maxWidth = containerRect.width - Math.max(0, left);
|
|
77841
|
-
width = clamp(x2 - left, minWidth, maxWidth);
|
|
77991
|
+
width = clamp$1(x2 - left, minWidth, maxWidth);
|
|
77842
77992
|
right = containerRect.width - left - width;
|
|
77843
77993
|
};
|
|
77844
77994
|
switch (direction) {
|
|
@@ -109379,7 +109529,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
|
|
|
109379
109529
|
var et$1 = ({ className: e3, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f$5("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e3), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
|
|
109380
109530
|
var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
|
|
109381
109531
|
var ot$1 = ({ language: e3 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e3, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e3 }) });
|
|
109382
|
-
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
109532
|
+
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-DYwYCtBU.js").then((e3) => ({ default: e3.HighlightedCodeBlockBody }))), rt = ({ code: e3, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
|
|
109383
109533
|
let i2 = reactExports.useMemo(() => e3.replace(cn, ""), [e3]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
109384
109534
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
109385
109535
|
return jsxRuntimeExports.jsx(Se$1.Provider, { value: { code: e3 }, children: jsxRuntimeExports.jsxs(et$1, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot$1, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe$1, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
|
|
@@ -109701,7 +109851,7 @@ var Dt = ({ children: e3, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
109701
109851
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f$5("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e3 != null ? e3 : jsxRuntimeExports.jsx(Z$2, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
109702
109852
|
};
|
|
109703
109853
|
var Vt = ({ children: e3, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f$5("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e3 }) })] });
|
|
109704
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
109854
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-Drwee8F2.js").then((e3) => ({ default: e3.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
109705
109855
|
function ke$1(e3, t2) {
|
|
109706
109856
|
if (!(e3 != null && e3.position || t2 != null && t2.position)) return true;
|
|
109707
109857
|
if (!(e3 != null && e3.position && (t2 != null && t2.position))) return false;
|
|
@@ -161872,12 +162022,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
161872
162022
|
registerLayoutLoaders([
|
|
161873
162023
|
{
|
|
161874
162024
|
name: "dagre",
|
|
161875
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
162025
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-B8Qw2znf.js"), "loader")
|
|
161876
162026
|
},
|
|
161877
162027
|
...[
|
|
161878
162028
|
{
|
|
161879
162029
|
name: "cose-bilkent",
|
|
161880
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
162030
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-700evsrQ.js"), "loader")
|
|
161881
162031
|
}
|
|
161882
162032
|
]
|
|
161883
162033
|
]);
|
|
@@ -162316,7 +162466,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
162316
162466
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
162317
162467
|
}, "detector");
|
|
162318
162468
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
162319
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
162469
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-Buvaq10G.js");
|
|
162320
162470
|
return { id, diagram: diagram2 };
|
|
162321
162471
|
}, "loader");
|
|
162322
162472
|
var plugin = {
|
|
@@ -162333,7 +162483,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162333
162483
|
return /^\s*graph/.test(txt);
|
|
162334
162484
|
}, "detector");
|
|
162335
162485
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
162336
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162486
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DCV18CNa.js");
|
|
162337
162487
|
return { id: id2, diagram: diagram2 };
|
|
162338
162488
|
}, "loader");
|
|
162339
162489
|
var plugin2 = {
|
|
@@ -162356,7 +162506,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162356
162506
|
return /^\s*flowchart/.test(txt);
|
|
162357
162507
|
}, "detector");
|
|
162358
162508
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
162359
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162509
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DCV18CNa.js");
|
|
162360
162510
|
return { id: id3, diagram: diagram2 };
|
|
162361
162511
|
}, "loader");
|
|
162362
162512
|
var plugin3 = {
|
|
@@ -162370,7 +162520,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
162370
162520
|
return /^\s*erDiagram/.test(txt);
|
|
162371
162521
|
}, "detector");
|
|
162372
162522
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
162373
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
162523
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DGEMY_JO.js");
|
|
162374
162524
|
return { id: id4, diagram: diagram2 };
|
|
162375
162525
|
}, "loader");
|
|
162376
162526
|
var plugin4 = {
|
|
@@ -162384,7 +162534,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
162384
162534
|
return /^\s*gitGraph/.test(txt);
|
|
162385
162535
|
}, "detector");
|
|
162386
162536
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
162387
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
162537
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-_q2n-s2e.js");
|
|
162388
162538
|
return { id: id5, diagram: diagram2 };
|
|
162389
162539
|
}, "loader");
|
|
162390
162540
|
var plugin5 = {
|
|
@@ -162398,7 +162548,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
162398
162548
|
return /^\s*gantt/.test(txt);
|
|
162399
162549
|
}, "detector");
|
|
162400
162550
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
162401
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
162551
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-Cf9uIRTp.js");
|
|
162402
162552
|
return { id: id6, diagram: diagram2 };
|
|
162403
162553
|
}, "loader");
|
|
162404
162554
|
var plugin6 = {
|
|
@@ -162412,7 +162562,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
162412
162562
|
return /^\s*info/.test(txt);
|
|
162413
162563
|
}, "detector");
|
|
162414
162564
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
162415
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
162565
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-DlVfYs3y.js");
|
|
162416
162566
|
return { id: id7, diagram: diagram2 };
|
|
162417
162567
|
}, "loader");
|
|
162418
162568
|
var info = {
|
|
@@ -162425,7 +162575,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
162425
162575
|
return /^\s*pie/.test(txt);
|
|
162426
162576
|
}, "detector");
|
|
162427
162577
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
162428
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
162578
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-jGuNgZxo.js");
|
|
162429
162579
|
return { id: id8, diagram: diagram2 };
|
|
162430
162580
|
}, "loader");
|
|
162431
162581
|
var pie = {
|
|
@@ -162438,7 +162588,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
162438
162588
|
return /^\s*quadrantChart/.test(txt);
|
|
162439
162589
|
}, "detector");
|
|
162440
162590
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
162441
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
162591
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-DAAEbR4l.js");
|
|
162442
162592
|
return { id: id9, diagram: diagram2 };
|
|
162443
162593
|
}, "loader");
|
|
162444
162594
|
var plugin7 = {
|
|
@@ -162452,7 +162602,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
162452
162602
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
162453
162603
|
}, "detector");
|
|
162454
162604
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
162455
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
162605
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-Cdaq77X5.js");
|
|
162456
162606
|
return { id: id10, diagram: diagram2 };
|
|
162457
162607
|
}, "loader");
|
|
162458
162608
|
var plugin8 = {
|
|
@@ -162466,7 +162616,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
162466
162616
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
162467
162617
|
}, "detector");
|
|
162468
162618
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
162469
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
162619
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-DmT06vgs.js");
|
|
162470
162620
|
return { id: id11, diagram: diagram2 };
|
|
162471
162621
|
}, "loader");
|
|
162472
162622
|
var plugin9 = {
|
|
@@ -162480,7 +162630,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
162480
162630
|
return /^\s*sequenceDiagram/.test(txt);
|
|
162481
162631
|
}, "detector");
|
|
162482
162632
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
162483
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
162633
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-V8TCpuJa.js");
|
|
162484
162634
|
return { id: id12, diagram: diagram2 };
|
|
162485
162635
|
}, "loader");
|
|
162486
162636
|
var plugin10 = {
|
|
@@ -162497,7 +162647,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162497
162647
|
return /^\s*classDiagram/.test(txt);
|
|
162498
162648
|
}, "detector");
|
|
162499
162649
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
162500
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
162650
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-BNcG92nY.js");
|
|
162501
162651
|
return { id: id13, diagram: diagram2 };
|
|
162502
162652
|
}, "loader");
|
|
162503
162653
|
var plugin11 = {
|
|
@@ -162514,7 +162664,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162514
162664
|
return /^\s*classDiagram-v2/.test(txt);
|
|
162515
162665
|
}, "detector");
|
|
162516
162666
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
162517
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
162667
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-BNcG92nY.js");
|
|
162518
162668
|
return { id: id14, diagram: diagram2 };
|
|
162519
162669
|
}, "loader");
|
|
162520
162670
|
var plugin12 = {
|
|
@@ -162531,7 +162681,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162531
162681
|
return /^\s*stateDiagram/.test(txt);
|
|
162532
162682
|
}, "detector");
|
|
162533
162683
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
162534
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
162684
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-DDhvvfjL.js");
|
|
162535
162685
|
return { id: id15, diagram: diagram2 };
|
|
162536
162686
|
}, "loader");
|
|
162537
162687
|
var plugin13 = {
|
|
@@ -162551,7 +162701,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162551
162701
|
return false;
|
|
162552
162702
|
}, "detector");
|
|
162553
162703
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
162554
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
162704
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-CrVhacjl.js");
|
|
162555
162705
|
return { id: id16, diagram: diagram2 };
|
|
162556
162706
|
}, "loader");
|
|
162557
162707
|
var plugin14 = {
|
|
@@ -162565,7 +162715,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
162565
162715
|
return /^\s*journey/.test(txt);
|
|
162566
162716
|
}, "detector");
|
|
162567
162717
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
162568
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
162718
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-DEvLjN67.js");
|
|
162569
162719
|
return { id: id17, diagram: diagram2 };
|
|
162570
162720
|
}, "loader");
|
|
162571
162721
|
var plugin15 = {
|
|
@@ -162632,7 +162782,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
162632
162782
|
return false;
|
|
162633
162783
|
}, "detector");
|
|
162634
162784
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
162635
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162785
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DCV18CNa.js");
|
|
162636
162786
|
return { id: id18, diagram: diagram2 };
|
|
162637
162787
|
}, "loader");
|
|
162638
162788
|
var plugin16 = {
|
|
@@ -162646,7 +162796,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
162646
162796
|
return /^\s*timeline/.test(txt);
|
|
162647
162797
|
}, "detector");
|
|
162648
162798
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
162649
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-
|
|
162799
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-PRx7QaX4.js");
|
|
162650
162800
|
return { id: id19, diagram: diagram2 };
|
|
162651
162801
|
}, "loader");
|
|
162652
162802
|
var plugin17 = {
|
|
@@ -162660,7 +162810,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
162660
162810
|
return /^\s*mindmap/.test(txt);
|
|
162661
162811
|
}, "detector");
|
|
162662
162812
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
162663
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
162813
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-CLGmFN8m.js");
|
|
162664
162814
|
return { id: id20, diagram: diagram2 };
|
|
162665
162815
|
}, "loader");
|
|
162666
162816
|
var plugin18 = {
|
|
@@ -162674,7 +162824,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
162674
162824
|
return /^\s*kanban/.test(txt);
|
|
162675
162825
|
}, "detector");
|
|
162676
162826
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
162677
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
162827
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-C8wt29HD.js");
|
|
162678
162828
|
return { id: id21, diagram: diagram2 };
|
|
162679
162829
|
}, "loader");
|
|
162680
162830
|
var plugin19 = {
|
|
@@ -162688,7 +162838,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
162688
162838
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
162689
162839
|
}, "detector");
|
|
162690
162840
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
162691
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
162841
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-DubOMd7c.js");
|
|
162692
162842
|
return { id: id22, diagram: diagram2 };
|
|
162693
162843
|
}, "loader");
|
|
162694
162844
|
var plugin20 = {
|
|
@@ -162702,7 +162852,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
162702
162852
|
return /^\s*packet(-beta)?/.test(txt);
|
|
162703
162853
|
}, "detector");
|
|
162704
162854
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
162705
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
162855
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-DsDqxdmS.js");
|
|
162706
162856
|
return { id: id23, diagram: diagram2 };
|
|
162707
162857
|
}, "loader");
|
|
162708
162858
|
var packet = {
|
|
@@ -162715,7 +162865,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
162715
162865
|
return /^\s*radar-beta/.test(txt);
|
|
162716
162866
|
}, "detector");
|
|
162717
162867
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
162718
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
162868
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-CQAcI4L4.js");
|
|
162719
162869
|
return { id: id24, diagram: diagram2 };
|
|
162720
162870
|
}, "loader");
|
|
162721
162871
|
var radar = {
|
|
@@ -162728,7 +162878,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
162728
162878
|
return /^\s*block(-beta)?/.test(txt);
|
|
162729
162879
|
}, "detector");
|
|
162730
162880
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
162731
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
162881
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-CHY_BpPT.js");
|
|
162732
162882
|
return { id: id25, diagram: diagram2 };
|
|
162733
162883
|
}, "loader");
|
|
162734
162884
|
var plugin21 = {
|
|
@@ -162742,7 +162892,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
162742
162892
|
return /^\s*architecture/.test(txt);
|
|
162743
162893
|
}, "detector");
|
|
162744
162894
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
162745
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-
|
|
162895
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-DgTZkqMC.js");
|
|
162746
162896
|
return { id: id26, diagram: diagram2 };
|
|
162747
162897
|
}, "loader");
|
|
162748
162898
|
var architecture = {
|
|
@@ -162756,7 +162906,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
162756
162906
|
return /^\s*treemap/.test(txt);
|
|
162757
162907
|
}, "detector");
|
|
162758
162908
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
162759
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
162909
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-C6EJCqfL.js");
|
|
162760
162910
|
return { id: id27, diagram: diagram2 };
|
|
162761
162911
|
}, "loader");
|
|
162762
162912
|
var treemap = {
|
|
@@ -173914,7 +174064,7 @@ const CHAT_EVENT_TYPES = [
|
|
|
173914
174064
|
"subscription-opened",
|
|
173915
174065
|
"history-meta"
|
|
173916
174066
|
];
|
|
173917
|
-
const INITIAL_STATE = {
|
|
174067
|
+
const INITIAL_STATE$1 = {
|
|
173918
174068
|
messages: [],
|
|
173919
174069
|
status: "idle",
|
|
173920
174070
|
sessionId: void 0,
|
|
@@ -174357,7 +174507,7 @@ async function fileToWirePart(file2) {
|
|
|
174357
174507
|
}
|
|
174358
174508
|
function useChatSubscription(opts) {
|
|
174359
174509
|
const { workspaceId, chatId, mode, model, codingAgentId, enabled = true } = opts;
|
|
174360
|
-
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE);
|
|
174510
|
+
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE$1);
|
|
174361
174511
|
const [isConnected, setIsConnected] = reactExports.useState(false);
|
|
174362
174512
|
const [docVisible, setDocVisible] = reactExports.useState(
|
|
174363
174513
|
() => typeof document === "undefined" ? true : document.visibilityState !== "hidden"
|
|
@@ -174551,7 +174701,7 @@ function useChatSubscription(opts) {
|
|
|
174551
174701
|
);
|
|
174552
174702
|
if (!res.ok) throw new Error(`history fetch failed: HTTP ${res.status}`);
|
|
174553
174703
|
const data = await res.json();
|
|
174554
|
-
const folded = applyEvents(INITIAL_STATE, data.events);
|
|
174704
|
+
const folded = applyEvents(INITIAL_STATE$1, data.events);
|
|
174555
174705
|
const namespaced = folded.messages.map((m2) => ({ ...m2, id: `o${before}-${m2.id}` }));
|
|
174556
174706
|
dispatch2({
|
|
174557
174707
|
type: "prepend-messages",
|
|
@@ -178071,6 +178221,1042 @@ function createDefaultPanel(api, workspaceId) {
|
|
|
178071
178221
|
position: centralPanelPosition(api)
|
|
178072
178222
|
});
|
|
178073
178223
|
}
|
|
178224
|
+
function findTerminalFileLinks(lineText) {
|
|
178225
|
+
const candidateRe = /[A-Za-z0-9._/@~+-]+(?::\d+(?:[-:]\d+)?)?/g;
|
|
178226
|
+
const matches2 = [];
|
|
178227
|
+
for (const match of lineText.matchAll(candidateRe)) {
|
|
178228
|
+
const text2 = match[0];
|
|
178229
|
+
if (isFilePath(text2)) {
|
|
178230
|
+
matches2.push({ text: text2, startIndex: match.index, endIndex: match.index + text2.length });
|
|
178231
|
+
}
|
|
178232
|
+
}
|
|
178233
|
+
return matches2;
|
|
178234
|
+
}
|
|
178235
|
+
function readLineColumns(terminal, line2) {
|
|
178236
|
+
const parts = [];
|
|
178237
|
+
const columnForIndex = [];
|
|
178238
|
+
let length2 = 0;
|
|
178239
|
+
let cell2;
|
|
178240
|
+
for (let x2 = 0; x2 < terminal.cols; x2++) {
|
|
178241
|
+
cell2 = line2.getCell(x2, cell2);
|
|
178242
|
+
if (!cell2) continue;
|
|
178243
|
+
if (cell2.getWidth() === 0) continue;
|
|
178244
|
+
const chars = cell2.getChars();
|
|
178245
|
+
const ch = chars.length > 0 ? chars : " ";
|
|
178246
|
+
columnForIndex[length2] = x2 + 1;
|
|
178247
|
+
parts.push(ch);
|
|
178248
|
+
length2 += ch.length;
|
|
178249
|
+
}
|
|
178250
|
+
return { text: parts.join(""), columnForIndex };
|
|
178251
|
+
}
|
|
178252
|
+
function createTerminalFileLinkProvider(terminal, onActivate) {
|
|
178253
|
+
return {
|
|
178254
|
+
provideLinks(bufferLineNumber, callback) {
|
|
178255
|
+
const line2 = terminal.buffer.active.getLine(bufferLineNumber - 1);
|
|
178256
|
+
if (!line2) {
|
|
178257
|
+
callback(void 0);
|
|
178258
|
+
return;
|
|
178259
|
+
}
|
|
178260
|
+
const { text: text2, columnForIndex } = readLineColumns(terminal, line2);
|
|
178261
|
+
const matches2 = findTerminalFileLinks(text2);
|
|
178262
|
+
if (matches2.length === 0) {
|
|
178263
|
+
callback(void 0);
|
|
178264
|
+
return;
|
|
178265
|
+
}
|
|
178266
|
+
const links = matches2.map((m2) => {
|
|
178267
|
+
const startColumn = columnForIndex[m2.startIndex] ?? 1;
|
|
178268
|
+
const endColumn = columnForIndex[m2.endIndex - 1] ?? terminal.cols;
|
|
178269
|
+
return {
|
|
178270
|
+
text: m2.text,
|
|
178271
|
+
range: {
|
|
178272
|
+
start: { x: startColumn, y: bufferLineNumber },
|
|
178273
|
+
end: { x: endColumn, y: bufferLineNumber }
|
|
178274
|
+
},
|
|
178275
|
+
decorations: { pointerCursor: true, underline: true },
|
|
178276
|
+
activate: (event) => {
|
|
178277
|
+
event.preventDefault();
|
|
178278
|
+
onActivate(m2.text);
|
|
178279
|
+
}
|
|
178280
|
+
};
|
|
178281
|
+
});
|
|
178282
|
+
callback(links);
|
|
178283
|
+
}
|
|
178284
|
+
};
|
|
178285
|
+
}
|
|
178286
|
+
const PARKING_WIDTH_PX = 800;
|
|
178287
|
+
const PARKING_HEIGHT_PX = 600;
|
|
178288
|
+
const PARKING_KEY = "__bandTerminalParking__";
|
|
178289
|
+
function getParkingContainer() {
|
|
178290
|
+
const store = globalThis;
|
|
178291
|
+
const existing = store[PARKING_KEY];
|
|
178292
|
+
if (existing?.isConnected) return existing;
|
|
178293
|
+
const container = document.createElement("div");
|
|
178294
|
+
container.dataset.testid = "terminal-parking";
|
|
178295
|
+
Object.assign(container.style, {
|
|
178296
|
+
position: "fixed",
|
|
178297
|
+
left: "-9999px",
|
|
178298
|
+
top: "-9999px",
|
|
178299
|
+
width: `${PARKING_WIDTH_PX}px`,
|
|
178300
|
+
height: `${PARKING_HEIGHT_PX}px`,
|
|
178301
|
+
overflow: "hidden",
|
|
178302
|
+
// Keep it out of the pointer/hit-testing path entirely.
|
|
178303
|
+
pointerEvents: "none"
|
|
178304
|
+
});
|
|
178305
|
+
container.inert = true;
|
|
178306
|
+
container.setAttribute("inert", "");
|
|
178307
|
+
container.setAttribute("aria-hidden", "true");
|
|
178308
|
+
document.body.appendChild(container);
|
|
178309
|
+
store[PARKING_KEY] = container;
|
|
178310
|
+
return container;
|
|
178311
|
+
}
|
|
178312
|
+
const WORD_RE = /[A-Za-z0-9_./:\-+@~]/;
|
|
178313
|
+
function pointToCell(clientX, clientY, terminal, screenEl) {
|
|
178314
|
+
const rect2 = screenEl.getBoundingClientRect();
|
|
178315
|
+
if (rect2.width <= 0 || rect2.height <= 0 || terminal.cols <= 0 || terminal.rows <= 0) {
|
|
178316
|
+
return { col: 0, row: terminal.buffer.active.viewportY };
|
|
178317
|
+
}
|
|
178318
|
+
const cellW = rect2.width / terminal.cols;
|
|
178319
|
+
const cellH = rect2.height / terminal.rows;
|
|
178320
|
+
const col = clamp(Math.floor((clientX - rect2.left) / cellW), 0, terminal.cols - 1);
|
|
178321
|
+
const viewportRow = clamp(Math.floor((clientY - rect2.top) / cellH), 0, terminal.rows - 1);
|
|
178322
|
+
return { col, row: terminal.buffer.active.viewportY + viewportRow };
|
|
178323
|
+
}
|
|
178324
|
+
function findWordBoundaries(line2, col) {
|
|
178325
|
+
if (col < 0 || col >= line2.length || !WORD_RE.test(line2[col])) {
|
|
178326
|
+
const safeCol = clamp(col, 0, Math.max(0, line2.length));
|
|
178327
|
+
return { start: safeCol, end: safeCol + 1 };
|
|
178328
|
+
}
|
|
178329
|
+
let start2 = col;
|
|
178330
|
+
while (start2 > 0 && WORD_RE.test(line2[start2 - 1])) start2--;
|
|
178331
|
+
let end = col + 1;
|
|
178332
|
+
while (end < line2.length && WORD_RE.test(line2[end])) end++;
|
|
178333
|
+
return { start: start2, end };
|
|
178334
|
+
}
|
|
178335
|
+
function getLineText(terminal, row2) {
|
|
178336
|
+
return terminal.buffer.active.getLine(row2)?.translateToString(false) ?? "";
|
|
178337
|
+
}
|
|
178338
|
+
function moveCell(cell2, dir, terminal) {
|
|
178339
|
+
const cols = terminal.cols;
|
|
178340
|
+
const lastRow = Math.max(0, terminal.buffer.active.length - 1);
|
|
178341
|
+
switch (dir) {
|
|
178342
|
+
case "left":
|
|
178343
|
+
if (cell2.col > 0) return { col: cell2.col - 1, row: cell2.row };
|
|
178344
|
+
if (cell2.row > 0) return { col: cols - 1, row: cell2.row - 1 };
|
|
178345
|
+
return cell2;
|
|
178346
|
+
case "right":
|
|
178347
|
+
if (cell2.col < cols - 1) return { col: cell2.col + 1, row: cell2.row };
|
|
178348
|
+
if (cell2.row < lastRow) return { col: 0, row: cell2.row + 1 };
|
|
178349
|
+
return cell2;
|
|
178350
|
+
case "up":
|
|
178351
|
+
if (cell2.row > 0) return { col: cell2.col, row: cell2.row - 1 };
|
|
178352
|
+
return cell2;
|
|
178353
|
+
case "down":
|
|
178354
|
+
if (cell2.row < lastRow) return { col: cell2.col, row: cell2.row + 1 };
|
|
178355
|
+
return cell2;
|
|
178356
|
+
}
|
|
178357
|
+
}
|
|
178358
|
+
function applySelection(terminal, anchor2, head2) {
|
|
178359
|
+
const cols = terminal.cols;
|
|
178360
|
+
if (cols <= 0) return;
|
|
178361
|
+
const anchorLinear = anchor2.row * cols + anchor2.col;
|
|
178362
|
+
const headLinear = head2.row * cols + head2.col;
|
|
178363
|
+
const startLinear = Math.min(anchorLinear, headLinear);
|
|
178364
|
+
const endLinear = Math.max(anchorLinear, headLinear);
|
|
178365
|
+
const length2 = endLinear - startLinear + 1;
|
|
178366
|
+
const startRow = Math.floor(startLinear / cols);
|
|
178367
|
+
const startCol = startLinear - startRow * cols;
|
|
178368
|
+
terminal.select(startCol, startRow, length2);
|
|
178369
|
+
}
|
|
178370
|
+
function wordSelectionAt(cell2, lineText) {
|
|
178371
|
+
const { start: start2, end } = findWordBoundaries(lineText, cell2.col);
|
|
178372
|
+
return {
|
|
178373
|
+
anchor: { col: start2, row: cell2.row },
|
|
178374
|
+
// `head` is the last cell of the selection (inclusive). `end` from
|
|
178375
|
+
// findWordBoundaries is exclusive, so subtract one.
|
|
178376
|
+
head: { col: Math.max(start2, end - 1), row: cell2.row }
|
|
178377
|
+
};
|
|
178378
|
+
}
|
|
178379
|
+
function clamp(n2, lo2, hi) {
|
|
178380
|
+
if (n2 < lo2) return lo2;
|
|
178381
|
+
if (n2 > hi) return hi;
|
|
178382
|
+
return n2;
|
|
178383
|
+
}
|
|
178384
|
+
const ZOOM_LEVEL_KEY = "band:zoom-level";
|
|
178385
|
+
const DEFAULT_ZOOM = 1;
|
|
178386
|
+
const MIN_ZOOM = 0.5;
|
|
178387
|
+
const MAX_ZOOM = 2;
|
|
178388
|
+
const ZOOM_STEP = 0.1;
|
|
178389
|
+
const ZOOM_CSS_VAR = "--app-zoom";
|
|
178390
|
+
const ZOOM_CHANGE_EVENT = "band:zoom-changed";
|
|
178391
|
+
function loadZoomLevel() {
|
|
178392
|
+
try {
|
|
178393
|
+
const stored = localStorage.getItem(ZOOM_LEVEL_KEY);
|
|
178394
|
+
if (stored) {
|
|
178395
|
+
const parsed = Number.parseFloat(stored);
|
|
178396
|
+
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
178397
|
+
return parsed;
|
|
178398
|
+
}
|
|
178399
|
+
}
|
|
178400
|
+
} catch {
|
|
178401
|
+
}
|
|
178402
|
+
return DEFAULT_ZOOM;
|
|
178403
|
+
}
|
|
178404
|
+
function saveZoomLevel(level) {
|
|
178405
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178406
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178407
|
+
try {
|
|
178408
|
+
localStorage.setItem(ZOOM_LEVEL_KEY, String(rounded));
|
|
178409
|
+
} catch {
|
|
178410
|
+
}
|
|
178411
|
+
}
|
|
178412
|
+
function applyZoomLevelToDom(level) {
|
|
178413
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178414
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178415
|
+
const root2 = document.documentElement;
|
|
178416
|
+
root2.style.zoom = String(rounded);
|
|
178417
|
+
root2.style.setProperty(ZOOM_CSS_VAR, String(rounded));
|
|
178418
|
+
window.dispatchEvent(new CustomEvent(ZOOM_CHANGE_EVENT, { detail: rounded }));
|
|
178419
|
+
return rounded;
|
|
178420
|
+
}
|
|
178421
|
+
function applyZoomLevel(level) {
|
|
178422
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178423
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178424
|
+
saveZoomLevel(rounded);
|
|
178425
|
+
applyZoomLevelToDom(rounded);
|
|
178426
|
+
}
|
|
178427
|
+
function getCurrentZoomLevel() {
|
|
178428
|
+
if (typeof document !== "undefined") {
|
|
178429
|
+
const css = document.documentElement.style.getPropertyValue(ZOOM_CSS_VAR);
|
|
178430
|
+
if (css) {
|
|
178431
|
+
const parsed = Number.parseFloat(css);
|
|
178432
|
+
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
178433
|
+
return parsed;
|
|
178434
|
+
}
|
|
178435
|
+
}
|
|
178436
|
+
}
|
|
178437
|
+
return loadZoomLevel();
|
|
178438
|
+
}
|
|
178439
|
+
function subscribeToZoomChanges(handler) {
|
|
178440
|
+
if (typeof window === "undefined") return () => {
|
|
178441
|
+
};
|
|
178442
|
+
const listener2 = (e3) => {
|
|
178443
|
+
const detail = e3.detail;
|
|
178444
|
+
if (typeof detail === "number") handler(detail);
|
|
178445
|
+
};
|
|
178446
|
+
window.addEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
178447
|
+
return () => window.removeEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
178448
|
+
}
|
|
178449
|
+
function zoomIn() {
|
|
178450
|
+
applyZoomLevel(loadZoomLevel() + ZOOM_STEP);
|
|
178451
|
+
}
|
|
178452
|
+
function zoomOut() {
|
|
178453
|
+
applyZoomLevel(loadZoomLevel() - ZOOM_STEP);
|
|
178454
|
+
}
|
|
178455
|
+
function zoomReset() {
|
|
178456
|
+
applyZoomLevel(DEFAULT_ZOOM);
|
|
178457
|
+
}
|
|
178458
|
+
const BASE_FONT_SIZE = 13;
|
|
178459
|
+
const LONG_PRESS_MS = 500;
|
|
178460
|
+
const LONG_PRESS_SLOP_PX = 10;
|
|
178461
|
+
const SEARCH_DECORATIONS = {
|
|
178462
|
+
matchBackground: "#515c6a",
|
|
178463
|
+
activeMatchBackground: "#a9913680",
|
|
178464
|
+
matchOverviewRuler: "#a9913680",
|
|
178465
|
+
activeMatchColorOverviewRuler: "#a99136"
|
|
178466
|
+
};
|
|
178467
|
+
const DEFAULT_SEARCH_OPTIONS = {
|
|
178468
|
+
caseSensitive: false,
|
|
178469
|
+
wholeWord: false,
|
|
178470
|
+
regex: false
|
|
178471
|
+
};
|
|
178472
|
+
function toXtermSearchOptions(opts) {
|
|
178473
|
+
return {
|
|
178474
|
+
caseSensitive: opts.caseSensitive,
|
|
178475
|
+
wholeWord: opts.wholeWord,
|
|
178476
|
+
regex: opts.regex,
|
|
178477
|
+
decorations: SEARCH_DECORATIONS
|
|
178478
|
+
};
|
|
178479
|
+
}
|
|
178480
|
+
const DARK_TERMINAL_THEME = {
|
|
178481
|
+
background: "#1e1e1e",
|
|
178482
|
+
foreground: "#e8e8e8",
|
|
178483
|
+
cursor: "#e8e8e8",
|
|
178484
|
+
selectionBackground: "rgba(255, 255, 255, 0.2)",
|
|
178485
|
+
black: "#000000",
|
|
178486
|
+
red: "#cd3131",
|
|
178487
|
+
green: "#0dbc79",
|
|
178488
|
+
yellow: "#e5e510",
|
|
178489
|
+
blue: "#2472c8",
|
|
178490
|
+
magenta: "#bc3fbc",
|
|
178491
|
+
cyan: "#11a8cd",
|
|
178492
|
+
white: "#e5e5e5",
|
|
178493
|
+
brightBlack: "#666666",
|
|
178494
|
+
brightRed: "#f14c4c",
|
|
178495
|
+
brightGreen: "#23d18b",
|
|
178496
|
+
brightYellow: "#f5f543",
|
|
178497
|
+
brightBlue: "#3b8eea",
|
|
178498
|
+
brightMagenta: "#d670d6",
|
|
178499
|
+
brightCyan: "#29b8db",
|
|
178500
|
+
brightWhite: "#e5e5e5"
|
|
178501
|
+
};
|
|
178502
|
+
const LIGHT_TERMINAL_THEME = {
|
|
178503
|
+
background: "#ffffff",
|
|
178504
|
+
foreground: "#1e1e1e",
|
|
178505
|
+
cursor: "#1e1e1e",
|
|
178506
|
+
cursorAccent: "#ffffff",
|
|
178507
|
+
selectionBackground: "rgba(0, 0, 0, 0.15)",
|
|
178508
|
+
black: "#000000",
|
|
178509
|
+
red: "#cd3131",
|
|
178510
|
+
green: "#0a8043",
|
|
178511
|
+
yellow: "#946800",
|
|
178512
|
+
blue: "#0451a5",
|
|
178513
|
+
magenta: "#bc05bc",
|
|
178514
|
+
cyan: "#0598bc",
|
|
178515
|
+
white: "#555555",
|
|
178516
|
+
brightBlack: "#666666",
|
|
178517
|
+
brightRed: "#cd3131",
|
|
178518
|
+
brightGreen: "#0a8043",
|
|
178519
|
+
brightYellow: "#946800",
|
|
178520
|
+
brightBlue: "#0451a5",
|
|
178521
|
+
brightMagenta: "#bc05bc",
|
|
178522
|
+
brightCyan: "#0598bc",
|
|
178523
|
+
brightWhite: "#1e1e1e"
|
|
178524
|
+
};
|
|
178525
|
+
function isDarkMode() {
|
|
178526
|
+
return document.documentElement.classList.contains("dark");
|
|
178527
|
+
}
|
|
178528
|
+
function getTerminalTheme() {
|
|
178529
|
+
return isDarkMode() ? DARK_TERMINAL_THEME : LIGHT_TERMINAL_THEME;
|
|
178530
|
+
}
|
|
178531
|
+
const HEARTBEAT_INTERVAL_MS = 1e4;
|
|
178532
|
+
const HEARTBEAT_TIMEOUT_MS = 2e4;
|
|
178533
|
+
const RECONNECT_BASE_MS = 500;
|
|
178534
|
+
const RECONNECT_MAX_MS = 1e4;
|
|
178535
|
+
const MAX_LAYOUT_FRAMES = 5;
|
|
178536
|
+
const MAX_CACHED_TERMINALS = 8;
|
|
178537
|
+
const INITIAL_STATE = {
|
|
178538
|
+
ready: false,
|
|
178539
|
+
searchOpen: false,
|
|
178540
|
+
searchQuery: "",
|
|
178541
|
+
searchOptions: DEFAULT_SEARCH_OPTIONS,
|
|
178542
|
+
matchInfo: { total: 0, current: 0 },
|
|
178543
|
+
selectionMode: false,
|
|
178544
|
+
pendingCtrl: false,
|
|
178545
|
+
terminated: false
|
|
178546
|
+
};
|
|
178547
|
+
const CACHE_KEY = "__bandTerminalCache__";
|
|
178548
|
+
function getCache() {
|
|
178549
|
+
const store = globalThis;
|
|
178550
|
+
if (!store[CACHE_KEY]) store[CACHE_KEY] = /* @__PURE__ */ new Map();
|
|
178551
|
+
return store[CACHE_KEY];
|
|
178552
|
+
}
|
|
178553
|
+
function createEntry(terminalId, opts) {
|
|
178554
|
+
const { workspaceId, paneMetadata, useWebGL, autoFocus } = opts;
|
|
178555
|
+
const wrapper = document.createElement("div");
|
|
178556
|
+
wrapper.dataset.testid = "terminal-wrapper";
|
|
178557
|
+
wrapper.dataset.terminalId = terminalId;
|
|
178558
|
+
wrapper.dataset.workspaceId = workspaceId;
|
|
178559
|
+
wrapper.style.position = "absolute";
|
|
178560
|
+
wrapper.style.inset = "0";
|
|
178561
|
+
wrapper.style.overflow = "hidden";
|
|
178562
|
+
wrapper.style.setProperty("zoom", "calc(1 / var(--app-zoom, 1))");
|
|
178563
|
+
getParkingContainer().appendChild(wrapper);
|
|
178564
|
+
let state2 = INITIAL_STATE;
|
|
178565
|
+
const listeners2 = /* @__PURE__ */ new Set();
|
|
178566
|
+
const notify = () => {
|
|
178567
|
+
for (const l4 of listeners2) l4();
|
|
178568
|
+
};
|
|
178569
|
+
const setState = (patch2) => {
|
|
178570
|
+
state2 = { ...state2, ...patch2 };
|
|
178571
|
+
notify();
|
|
178572
|
+
};
|
|
178573
|
+
const connectListeners = /* @__PURE__ */ new Set();
|
|
178574
|
+
let titleListener = null;
|
|
178575
|
+
let lastTitle = null;
|
|
178576
|
+
const emitTitle = (title) => {
|
|
178577
|
+
lastTitle = title;
|
|
178578
|
+
titleListener?.(title);
|
|
178579
|
+
};
|
|
178580
|
+
let terminal = null;
|
|
178581
|
+
let searchAddon = null;
|
|
178582
|
+
let webglAddon = null;
|
|
178583
|
+
let ws = null;
|
|
178584
|
+
let liveContainer = null;
|
|
178585
|
+
let attached = false;
|
|
178586
|
+
let autoFocusPending = autoFocus ?? paneMetadata?.focus ?? false;
|
|
178587
|
+
let lastActive = Date.now();
|
|
178588
|
+
let webglSuspect = false;
|
|
178589
|
+
let selectionAnchor = null;
|
|
178590
|
+
let selectionHead = null;
|
|
178591
|
+
let destroyed = false;
|
|
178592
|
+
let cleanup = null;
|
|
178593
|
+
Promise.all([
|
|
178594
|
+
import("./xterm-CkV9CBvP.js"),
|
|
178595
|
+
import("./addon-fit-D89xfLfG.js"),
|
|
178596
|
+
import("./addon-web-links-CzLDtFWc.js"),
|
|
178597
|
+
import("./addon-search-BS53_-cp.js"),
|
|
178598
|
+
import("./addon-webgl-BeO2q2vc.js")
|
|
178599
|
+
]).then(([xtermMod, fitMod, webLinksMod, searchMod, webglMod]) => {
|
|
178600
|
+
if (destroyed) return;
|
|
178601
|
+
const { Terminal: XTerm } = xtermMod;
|
|
178602
|
+
const { FitAddon: XFitAddon } = fitMod;
|
|
178603
|
+
const { WebLinksAddon: XWebLinksAddon } = webLinksMod;
|
|
178604
|
+
const { SearchAddon: XSearchAddon } = searchMod;
|
|
178605
|
+
const { WebglAddon: XWebglAddon } = webglMod;
|
|
178606
|
+
Promise.resolve({ });
|
|
178607
|
+
const term = new XTerm({
|
|
178608
|
+
allowProposedApi: true,
|
|
178609
|
+
cursorBlink: true,
|
|
178610
|
+
fontSize: BASE_FONT_SIZE * getCurrentZoomLevel(),
|
|
178611
|
+
fontFamily: "'SF Mono', Menlo, Monaco, 'Courier New', monospace",
|
|
178612
|
+
// 1.2 row spacing is only safe under WebGL (redraws continuous glyphs at
|
|
178613
|
+
// full cell rect); the DOM renderer needs 1.0 to keep box art continuous.
|
|
178614
|
+
lineHeight: useWebGL ? 1.2 : 1,
|
|
178615
|
+
macOptionIsMeta: true,
|
|
178616
|
+
scrollback: 1e4,
|
|
178617
|
+
theme: getTerminalTheme()
|
|
178618
|
+
});
|
|
178619
|
+
terminal = term;
|
|
178620
|
+
const themeObserver = new MutationObserver(() => {
|
|
178621
|
+
term.options.theme = getTerminalTheme();
|
|
178622
|
+
});
|
|
178623
|
+
themeObserver.observe(document.documentElement, {
|
|
178624
|
+
attributes: true,
|
|
178625
|
+
attributeFilter: ["class"]
|
|
178626
|
+
});
|
|
178627
|
+
const fit = new XFitAddon();
|
|
178628
|
+
term.loadAddon(fit);
|
|
178629
|
+
term.loadAddon(new XWebLinksAddon((_event, uri) => openExternalUrl(uri)));
|
|
178630
|
+
const fileLinkProviderDisposable = term.registerLinkProvider(
|
|
178631
|
+
createTerminalFileLinkProvider(term, (filename) => {
|
|
178632
|
+
window.dispatchEvent(
|
|
178633
|
+
new CustomEvent("band:open-file", { detail: { filename, workspaceId } })
|
|
178634
|
+
);
|
|
178635
|
+
})
|
|
178636
|
+
);
|
|
178637
|
+
term.open(wrapper);
|
|
178638
|
+
let webglContextLossDisposable;
|
|
178639
|
+
const attachWebGL = () => {
|
|
178640
|
+
try {
|
|
178641
|
+
const addon = new XWebglAddon({ customGlyphs: true });
|
|
178642
|
+
term.loadAddon(addon);
|
|
178643
|
+
const screenEl = wrapper.querySelector(".xterm-screen");
|
|
178644
|
+
const webglCanvas = screenEl?.querySelector(
|
|
178645
|
+
":scope > canvas:last-of-type"
|
|
178646
|
+
);
|
|
178647
|
+
if (webglCanvas) {
|
|
178648
|
+
webglCanvas.style.pointerEvents = "none";
|
|
178649
|
+
webglCanvas.style.touchAction = "none";
|
|
178650
|
+
}
|
|
178651
|
+
webglAddon = addon;
|
|
178652
|
+
webglContextLossDisposable?.dispose();
|
|
178653
|
+
webglContextLossDisposable = addon.onContextLoss(() => {
|
|
178654
|
+
console.warn("[terminal-cache] WebGL context lost, reattaching addon");
|
|
178655
|
+
addon.dispose();
|
|
178656
|
+
webglAddon = null;
|
|
178657
|
+
if (attached && hostIsVisible()) {
|
|
178658
|
+
attachWebGL();
|
|
178659
|
+
} else {
|
|
178660
|
+
webglSuspect = true;
|
|
178661
|
+
}
|
|
178662
|
+
});
|
|
178663
|
+
return true;
|
|
178664
|
+
} catch (err) {
|
|
178665
|
+
console.warn("[terminal-cache] WebGL renderer unavailable, falling back to DOM", err);
|
|
178666
|
+
return false;
|
|
178667
|
+
}
|
|
178668
|
+
};
|
|
178669
|
+
if (useWebGL) attachWebGL();
|
|
178670
|
+
const search2 = new XSearchAddon();
|
|
178671
|
+
searchAddon = search2;
|
|
178672
|
+
term.loadAddon(search2);
|
|
178673
|
+
const searchResultsDisposable = search2.onDidChangeResults((event) => {
|
|
178674
|
+
setState({
|
|
178675
|
+
matchInfo: {
|
|
178676
|
+
total: event.resultCount,
|
|
178677
|
+
current: event.resultIndex >= 0 ? event.resultIndex + 1 : 0
|
|
178678
|
+
}
|
|
178679
|
+
});
|
|
178680
|
+
});
|
|
178681
|
+
term.attachCustomKeyEventHandler((e3) => {
|
|
178682
|
+
if (e3.type === "keydown") {
|
|
178683
|
+
if (state2.pendingCtrl && e3.key.length === 1 && !e3.metaKey && !e3.altKey && !e3.ctrlKey) {
|
|
178684
|
+
const lower2 = e3.key.toLowerCase();
|
|
178685
|
+
const code2 = lower2.charCodeAt(0);
|
|
178686
|
+
if (code2 >= 97 && code2 <= 122) {
|
|
178687
|
+
term.input(String.fromCharCode(code2 - 96));
|
|
178688
|
+
setState({ pendingCtrl: false });
|
|
178689
|
+
e3.preventDefault();
|
|
178690
|
+
return false;
|
|
178691
|
+
}
|
|
178692
|
+
setState({ pendingCtrl: false });
|
|
178693
|
+
}
|
|
178694
|
+
if ((e3.metaKey || e3.ctrlKey) && !e3.shiftKey && !e3.altKey && e3.key.toLowerCase() === "f") {
|
|
178695
|
+
e3.preventDefault();
|
|
178696
|
+
publicApi.openSearch();
|
|
178697
|
+
return false;
|
|
178698
|
+
}
|
|
178699
|
+
if (e3.key === "Enter" && e3.shiftKey && !e3.altKey && !e3.metaKey && !e3.ctrlKey) {
|
|
178700
|
+
e3.preventDefault();
|
|
178701
|
+
term.input("\n");
|
|
178702
|
+
return false;
|
|
178703
|
+
}
|
|
178704
|
+
if (e3.altKey && !e3.metaKey && !e3.ctrlKey) {
|
|
178705
|
+
if (e3.key === "ArrowLeft") {
|
|
178706
|
+
term.input("\x1Bb");
|
|
178707
|
+
return false;
|
|
178708
|
+
}
|
|
178709
|
+
if (e3.key === "ArrowRight") {
|
|
178710
|
+
term.input("\x1Bf");
|
|
178711
|
+
return false;
|
|
178712
|
+
}
|
|
178713
|
+
}
|
|
178714
|
+
}
|
|
178715
|
+
return true;
|
|
178716
|
+
});
|
|
178717
|
+
const viewportEl = wrapper.querySelector(".xterm-viewport");
|
|
178718
|
+
let lastTouchY = null;
|
|
178719
|
+
const onTouchStart = (e3) => {
|
|
178720
|
+
lastTouchY = e3.touches.length === 1 ? e3.touches[0].clientY : null;
|
|
178721
|
+
};
|
|
178722
|
+
const onTouchMove = (e3) => {
|
|
178723
|
+
if (e3.touches.length !== 1 || lastTouchY === null) return;
|
|
178724
|
+
const currentY = e3.touches[0].clientY;
|
|
178725
|
+
const deltaY = lastTouchY - currentY;
|
|
178726
|
+
const cellHeight = viewportEl && term.rows > 0 ? viewportEl.clientHeight / term.rows : 17;
|
|
178727
|
+
const lineDelta = Math.trunc(deltaY / cellHeight);
|
|
178728
|
+
if (lineDelta !== 0) {
|
|
178729
|
+
term.scrollLines(lineDelta);
|
|
178730
|
+
lastTouchY = currentY + (deltaY - lineDelta * cellHeight);
|
|
178731
|
+
e3.preventDefault();
|
|
178732
|
+
}
|
|
178733
|
+
};
|
|
178734
|
+
const onTouchEnd = () => {
|
|
178735
|
+
lastTouchY = null;
|
|
178736
|
+
};
|
|
178737
|
+
wrapper.addEventListener("touchstart", onTouchStart, { passive: true });
|
|
178738
|
+
wrapper.addEventListener("touchmove", onTouchMove, { passive: false });
|
|
178739
|
+
wrapper.addEventListener("touchend", onTouchEnd, { passive: true });
|
|
178740
|
+
wrapper.addEventListener("touchcancel", onTouchEnd, { passive: true });
|
|
178741
|
+
let longPressTimer = null;
|
|
178742
|
+
let longPressStart = null;
|
|
178743
|
+
const cancelLongPress = () => {
|
|
178744
|
+
if (longPressTimer !== null) {
|
|
178745
|
+
window.clearTimeout(longPressTimer);
|
|
178746
|
+
longPressTimer = null;
|
|
178747
|
+
}
|
|
178748
|
+
longPressStart = null;
|
|
178749
|
+
};
|
|
178750
|
+
const onLongPressStart = (e3) => {
|
|
178751
|
+
cancelLongPress();
|
|
178752
|
+
if (e3.touches.length !== 1) return;
|
|
178753
|
+
const t2 = e3.touches[0];
|
|
178754
|
+
longPressStart = { x: t2.clientX, y: t2.clientY };
|
|
178755
|
+
longPressTimer = window.setTimeout(() => {
|
|
178756
|
+
longPressTimer = null;
|
|
178757
|
+
const start2 = longPressStart;
|
|
178758
|
+
if (!start2) return;
|
|
178759
|
+
const screenEl = wrapper.querySelector(".xterm-screen");
|
|
178760
|
+
if (!screenEl) return;
|
|
178761
|
+
const cell2 = pointToCell(start2.x, start2.y, term, screenEl);
|
|
178762
|
+
const lineText = getLineText(term, cell2.row);
|
|
178763
|
+
const { anchor: anchor2, head: head2 } = wordSelectionAt(cell2, lineText);
|
|
178764
|
+
applySelection(term, anchor2, head2);
|
|
178765
|
+
selectionAnchor = anchor2;
|
|
178766
|
+
selectionHead = head2;
|
|
178767
|
+
setState({ selectionMode: true });
|
|
178768
|
+
tapStartX = null;
|
|
178769
|
+
tapStartY = null;
|
|
178770
|
+
term.blur();
|
|
178771
|
+
if (typeof navigator.vibrate === "function") {
|
|
178772
|
+
try {
|
|
178773
|
+
navigator.vibrate(15);
|
|
178774
|
+
} catch {
|
|
178775
|
+
}
|
|
178776
|
+
}
|
|
178777
|
+
}, LONG_PRESS_MS);
|
|
178778
|
+
};
|
|
178779
|
+
const onLongPressMove = (e3) => {
|
|
178780
|
+
if (!longPressStart || e3.touches.length !== 1) return;
|
|
178781
|
+
const t2 = e3.touches[0];
|
|
178782
|
+
const dx = Math.abs(t2.clientX - longPressStart.x);
|
|
178783
|
+
const dy = Math.abs(t2.clientY - longPressStart.y);
|
|
178784
|
+
if (dx > LONG_PRESS_SLOP_PX || dy > LONG_PRESS_SLOP_PX) cancelLongPress();
|
|
178785
|
+
};
|
|
178786
|
+
wrapper.addEventListener("touchstart", onLongPressStart, { passive: true });
|
|
178787
|
+
wrapper.addEventListener("touchmove", onLongPressMove, { passive: true });
|
|
178788
|
+
wrapper.addEventListener("touchend", cancelLongPress, { passive: true });
|
|
178789
|
+
wrapper.addEventListener("touchcancel", cancelLongPress, { passive: true });
|
|
178790
|
+
let tapStartX = null;
|
|
178791
|
+
let tapStartY = null;
|
|
178792
|
+
const onTapStart = (e3) => {
|
|
178793
|
+
if (e3.touches.length === 1) {
|
|
178794
|
+
tapStartX = e3.touches[0].clientX;
|
|
178795
|
+
tapStartY = e3.touches[0].clientY;
|
|
178796
|
+
} else {
|
|
178797
|
+
tapStartX = null;
|
|
178798
|
+
tapStartY = null;
|
|
178799
|
+
}
|
|
178800
|
+
};
|
|
178801
|
+
const onTapEnd = (e3) => {
|
|
178802
|
+
const startX = tapStartX;
|
|
178803
|
+
const startY = tapStartY;
|
|
178804
|
+
tapStartX = null;
|
|
178805
|
+
tapStartY = null;
|
|
178806
|
+
if (startX === null || startY === null || e3.changedTouches.length !== 1) return;
|
|
178807
|
+
const dx = Math.abs(e3.changedTouches[0].clientX - startX);
|
|
178808
|
+
const dy = Math.abs(e3.changedTouches[0].clientY - startY);
|
|
178809
|
+
if (dx < 10 && dy < 10) {
|
|
178810
|
+
if (selectionAnchor !== null) {
|
|
178811
|
+
selectionAnchor = null;
|
|
178812
|
+
selectionHead = null;
|
|
178813
|
+
setState({ selectionMode: false });
|
|
178814
|
+
term.clearSelection();
|
|
178815
|
+
}
|
|
178816
|
+
term.focus();
|
|
178817
|
+
}
|
|
178818
|
+
};
|
|
178819
|
+
const onTapCancel = () => {
|
|
178820
|
+
tapStartX = null;
|
|
178821
|
+
tapStartY = null;
|
|
178822
|
+
};
|
|
178823
|
+
wrapper.addEventListener("touchstart", onTapStart, { passive: true });
|
|
178824
|
+
wrapper.addEventListener("touchend", onTapEnd, { passive: true });
|
|
178825
|
+
wrapper.addEventListener("touchcancel", onTapCancel, { passive: true });
|
|
178826
|
+
const proto2 = location.protocol === "https:" ? "wss:" : "ws:";
|
|
178827
|
+
const wsUrl = `${proto2}//${location.host}/terminal?workspaceId=${encodeURIComponent(workspaceId)}&terminalId=${encodeURIComponent(terminalId)}`;
|
|
178828
|
+
let intentionalClose = false;
|
|
178829
|
+
let terminated = false;
|
|
178830
|
+
let didConnectOnce = false;
|
|
178831
|
+
let reconnectAttempts = 0;
|
|
178832
|
+
let reconnectTimer = null;
|
|
178833
|
+
let heartbeatTimer = null;
|
|
178834
|
+
let lastPongAt = 0;
|
|
178835
|
+
const clearReconnectTimer = () => {
|
|
178836
|
+
if (reconnectTimer !== null) {
|
|
178837
|
+
clearTimeout(reconnectTimer);
|
|
178838
|
+
reconnectTimer = null;
|
|
178839
|
+
}
|
|
178840
|
+
};
|
|
178841
|
+
const stopHeartbeat = () => {
|
|
178842
|
+
if (heartbeatTimer !== null) {
|
|
178843
|
+
clearInterval(heartbeatTimer);
|
|
178844
|
+
heartbeatTimer = null;
|
|
178845
|
+
}
|
|
178846
|
+
};
|
|
178847
|
+
const probeConnection = () => {
|
|
178848
|
+
const sock = ws;
|
|
178849
|
+
if (!sock || sock.readyState !== WebSocket.OPEN) return;
|
|
178850
|
+
if (Date.now() - lastPongAt > HEARTBEAT_TIMEOUT_MS) {
|
|
178851
|
+
sock.close();
|
|
178852
|
+
return;
|
|
178853
|
+
}
|
|
178854
|
+
try {
|
|
178855
|
+
sock.send(JSON.stringify({ type: "ping" }));
|
|
178856
|
+
} catch {
|
|
178857
|
+
sock.close();
|
|
178858
|
+
}
|
|
178859
|
+
};
|
|
178860
|
+
const scheduleReconnect = () => {
|
|
178861
|
+
if (intentionalClose || terminated || reconnectTimer !== null) return;
|
|
178862
|
+
const delay = Math.min(RECONNECT_BASE_MS * 2 ** reconnectAttempts, RECONNECT_MAX_MS);
|
|
178863
|
+
if (delay < RECONNECT_MAX_MS) reconnectAttempts += 1;
|
|
178864
|
+
reconnectTimer = setTimeout(() => {
|
|
178865
|
+
reconnectTimer = null;
|
|
178866
|
+
connect();
|
|
178867
|
+
}, delay);
|
|
178868
|
+
};
|
|
178869
|
+
function connect() {
|
|
178870
|
+
if (intentionalClose || terminated || destroyed) return;
|
|
178871
|
+
clearReconnectTimer();
|
|
178872
|
+
const isReconnect = didConnectOnce;
|
|
178873
|
+
const sock = new WebSocket(wsUrl);
|
|
178874
|
+
ws = sock;
|
|
178875
|
+
sock.binaryType = "arraybuffer";
|
|
178876
|
+
sock.onopen = () => {
|
|
178877
|
+
reconnectAttempts = 0;
|
|
178878
|
+
lastPongAt = Date.now();
|
|
178879
|
+
if (isReconnect) term.reset();
|
|
178880
|
+
if (!didConnectOnce && paneMetadata && (paneMetadata.command || paneMetadata.cwd || paneMetadata.env)) {
|
|
178881
|
+
const initMsg = { type: "init" };
|
|
178882
|
+
if (paneMetadata.command) initMsg.command = paneMetadata.command;
|
|
178883
|
+
if (paneMetadata.cwd) initMsg.cwd = paneMetadata.cwd;
|
|
178884
|
+
if (paneMetadata.env) initMsg.env = paneMetadata.env;
|
|
178885
|
+
sock.send(JSON.stringify(initMsg));
|
|
178886
|
+
}
|
|
178887
|
+
didConnectOnce = true;
|
|
178888
|
+
if (attached && hostIsVisible()) {
|
|
178889
|
+
fit.fit();
|
|
178890
|
+
sendPtyResize();
|
|
178891
|
+
if (autoFocusPending && !isReconnect) {
|
|
178892
|
+
term.focus();
|
|
178893
|
+
autoFocusPending = false;
|
|
178894
|
+
}
|
|
178895
|
+
}
|
|
178896
|
+
stopHeartbeat();
|
|
178897
|
+
heartbeatTimer = setInterval(probeConnection, HEARTBEAT_INTERVAL_MS);
|
|
178898
|
+
for (const l4 of connectListeners) l4();
|
|
178899
|
+
};
|
|
178900
|
+
sock.onmessage = (event) => {
|
|
178901
|
+
if (event.data instanceof ArrayBuffer) {
|
|
178902
|
+
term.write(new Uint8Array(event.data));
|
|
178903
|
+
} else {
|
|
178904
|
+
try {
|
|
178905
|
+
const msg = JSON.parse(event.data);
|
|
178906
|
+
if (msg.type === "pong") {
|
|
178907
|
+
lastPongAt = Date.now();
|
|
178908
|
+
} else if (msg.type === "title" && typeof msg.title === "string") {
|
|
178909
|
+
emitTitle(msg.title);
|
|
178910
|
+
} else if (msg.type === "error" && typeof msg.message === "string") {
|
|
178911
|
+
const safe = msg.message.replace(new RegExp("\\p{Cc}", "gu"), "");
|
|
178912
|
+
term.write(`\r
|
|
178913
|
+
\x1B[31m${safe}\x1B[0m\r
|
|
178914
|
+
`);
|
|
178915
|
+
}
|
|
178916
|
+
} catch {
|
|
178917
|
+
term.write(event.data);
|
|
178918
|
+
}
|
|
178919
|
+
}
|
|
178920
|
+
};
|
|
178921
|
+
sock.onclose = (event) => {
|
|
178922
|
+
if (ws !== sock) return;
|
|
178923
|
+
stopHeartbeat();
|
|
178924
|
+
if (intentionalClose) return;
|
|
178925
|
+
if (event.code === 1e3 || event.code >= 4e3) {
|
|
178926
|
+
terminated = true;
|
|
178927
|
+
if (event.code === 1e3) {
|
|
178928
|
+
term.write("\r\n\x1B[90m[Process completed]\x1B[0m\r\n");
|
|
178929
|
+
}
|
|
178930
|
+
setState({ terminated: true });
|
|
178931
|
+
return;
|
|
178932
|
+
}
|
|
178933
|
+
term.write("\r\n\x1B[90m[Reconnecting…]\x1B[0m\r\n");
|
|
178934
|
+
scheduleReconnect();
|
|
178935
|
+
};
|
|
178936
|
+
}
|
|
178937
|
+
const handleResume = () => {
|
|
178938
|
+
if (intentionalClose || terminated) return;
|
|
178939
|
+
const sock = ws;
|
|
178940
|
+
if (!sock || sock.readyState === WebSocket.CLOSED || sock.readyState === WebSocket.CLOSING) {
|
|
178941
|
+
reconnectAttempts = 0;
|
|
178942
|
+
clearReconnectTimer();
|
|
178943
|
+
connect();
|
|
178944
|
+
} else if (sock.readyState === WebSocket.OPEN) {
|
|
178945
|
+
probeConnection();
|
|
178946
|
+
}
|
|
178947
|
+
};
|
|
178948
|
+
const handleVisibility = () => {
|
|
178949
|
+
if (!document.hidden) handleResume();
|
|
178950
|
+
};
|
|
178951
|
+
window.addEventListener("online", handleResume);
|
|
178952
|
+
document.addEventListener("visibilitychange", handleVisibility);
|
|
178953
|
+
connect();
|
|
178954
|
+
term.onData((data) => {
|
|
178955
|
+
if (ws && ws.readyState === WebSocket.OPEN) ws.send(data);
|
|
178956
|
+
});
|
|
178957
|
+
term.onTitleChange((title) => emitTitle(title));
|
|
178958
|
+
let selectionRafId = null;
|
|
178959
|
+
const reapplySelectionOnNextFrame = () => {
|
|
178960
|
+
if (selectionRafId !== null) return;
|
|
178961
|
+
if (!selectionAnchor || !selectionHead) return;
|
|
178962
|
+
selectionRafId = requestAnimationFrame(() => {
|
|
178963
|
+
selectionRafId = null;
|
|
178964
|
+
if (selectionAnchor && selectionHead) applySelection(term, selectionAnchor, selectionHead);
|
|
178965
|
+
});
|
|
178966
|
+
};
|
|
178967
|
+
const selectionResizeDisposable = term.onResize(reapplySelectionOnNextFrame);
|
|
178968
|
+
let lastDpr = window.devicePixelRatio;
|
|
178969
|
+
const sendPtyResize = () => {
|
|
178970
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) return;
|
|
178971
|
+
if (term.cols <= 0 || term.rows <= 0) return;
|
|
178972
|
+
ws.send(JSON.stringify({ type: "resize", cols: term.cols, rows: term.rows }));
|
|
178973
|
+
};
|
|
178974
|
+
const remeasureAndReattach = (opt = {}) => {
|
|
178975
|
+
const { newFontSize } = opt;
|
|
178976
|
+
if (newFontSize !== void 0) {
|
|
178977
|
+
if (term.options.fontSize !== newFontSize) term.options.fontSize = newFontSize;
|
|
178978
|
+
} else {
|
|
178979
|
+
const fs = term.options.fontSize;
|
|
178980
|
+
if (typeof fs === "number") {
|
|
178981
|
+
term.options.fontSize = fs + 1;
|
|
178982
|
+
term.options.fontSize = fs;
|
|
178983
|
+
}
|
|
178984
|
+
}
|
|
178985
|
+
if (!attached || !hostIsVisible()) {
|
|
178986
|
+
webglSuspect = true;
|
|
178987
|
+
return;
|
|
178988
|
+
}
|
|
178989
|
+
if (webglAddon) {
|
|
178990
|
+
webglAddon.dispose();
|
|
178991
|
+
webglAddon = null;
|
|
178992
|
+
attachWebGL();
|
|
178993
|
+
}
|
|
178994
|
+
fit.fit();
|
|
178995
|
+
};
|
|
178996
|
+
const handleDprChange = () => {
|
|
178997
|
+
const currentDpr = window.devicePixelRatio;
|
|
178998
|
+
if (currentDpr === lastDpr) return false;
|
|
178999
|
+
lastDpr = currentDpr;
|
|
179000
|
+
remeasureAndReattach();
|
|
179001
|
+
return true;
|
|
179002
|
+
};
|
|
179003
|
+
const resizeObserver = new ResizeObserver((entries2) => {
|
|
179004
|
+
const entry = entries2[0];
|
|
179005
|
+
if (!entry || entry.contentRect.width === 0 || entry.contentRect.height === 0) return;
|
|
179006
|
+
if (!attached || !hostIsVisible()) return;
|
|
179007
|
+
const dprChanged = handleDprChange();
|
|
179008
|
+
if (!dprChanged) fit.fit();
|
|
179009
|
+
sendPtyResize();
|
|
179010
|
+
});
|
|
179011
|
+
resizeObserver.observe(wrapper);
|
|
179012
|
+
const handleZoomChange = (zoom) => {
|
|
179013
|
+
const target = Math.round(BASE_FONT_SIZE * zoom * 100) / 100;
|
|
179014
|
+
if (term.options.fontSize === target) return;
|
|
179015
|
+
remeasureAndReattach({ newFontSize: target });
|
|
179016
|
+
if (attached && hostIsVisible()) sendPtyResize();
|
|
179017
|
+
};
|
|
179018
|
+
const unsubscribeZoom = subscribeToZoomChanges(handleZoomChange);
|
|
179019
|
+
let dprMql;
|
|
179020
|
+
const onDprMediaChange = () => {
|
|
179021
|
+
handleDprChange();
|
|
179022
|
+
dprMql?.removeEventListener("change", onDprMediaChange);
|
|
179023
|
+
bindDprListener();
|
|
179024
|
+
};
|
|
179025
|
+
const bindDprListener = () => {
|
|
179026
|
+
dprMql = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
|
|
179027
|
+
dprMql.addEventListener("change", onDprMediaChange);
|
|
179028
|
+
};
|
|
179029
|
+
bindDprListener();
|
|
179030
|
+
repairAndFit = () => {
|
|
179031
|
+
if (!attached || !hostIsVisible()) return;
|
|
179032
|
+
const dprChanged = handleDprChange();
|
|
179033
|
+
if (!dprChanged) {
|
|
179034
|
+
if (webglSuspect && webglAddon == null && useWebGL) {
|
|
179035
|
+
attachWebGL();
|
|
179036
|
+
} else if (webglSuspect && webglAddon) {
|
|
179037
|
+
webglAddon.dispose();
|
|
179038
|
+
webglAddon = null;
|
|
179039
|
+
attachWebGL();
|
|
179040
|
+
}
|
|
179041
|
+
fit.fit();
|
|
179042
|
+
}
|
|
179043
|
+
webglSuspect = false;
|
|
179044
|
+
if (term.rows > 0) term.refresh(0, term.rows - 1);
|
|
179045
|
+
sendPtyResize();
|
|
179046
|
+
};
|
|
179047
|
+
hostIsVisible = () => !!liveContainer && liveContainer.clientWidth > 0 && liveContainer.clientHeight > 0;
|
|
179048
|
+
if (attached) scheduleRepair();
|
|
179049
|
+
setState({ ready: true });
|
|
179050
|
+
cleanup = () => {
|
|
179051
|
+
intentionalClose = true;
|
|
179052
|
+
clearReconnectTimer();
|
|
179053
|
+
stopHeartbeat();
|
|
179054
|
+
window.removeEventListener("online", handleResume);
|
|
179055
|
+
document.removeEventListener("visibilitychange", handleVisibility);
|
|
179056
|
+
themeObserver.disconnect();
|
|
179057
|
+
resizeObserver.disconnect();
|
|
179058
|
+
searchResultsDisposable.dispose();
|
|
179059
|
+
selectionResizeDisposable.dispose();
|
|
179060
|
+
fileLinkProviderDisposable.dispose();
|
|
179061
|
+
if (selectionRafId !== null) cancelAnimationFrame(selectionRafId);
|
|
179062
|
+
webglContextLossDisposable?.dispose();
|
|
179063
|
+
dprMql?.removeEventListener("change", onDprMediaChange);
|
|
179064
|
+
unsubscribeZoom();
|
|
179065
|
+
cancelLongPress();
|
|
179066
|
+
ws?.close();
|
|
179067
|
+
term.dispose();
|
|
179068
|
+
};
|
|
179069
|
+
});
|
|
179070
|
+
let hostIsVisible = () => !!liveContainer && liveContainer.clientWidth > 0 && liveContainer.clientHeight > 0;
|
|
179071
|
+
let repairAndFit = () => {
|
|
179072
|
+
};
|
|
179073
|
+
let repairRafId = null;
|
|
179074
|
+
const scheduleRepair = () => {
|
|
179075
|
+
if (repairRafId !== null) return;
|
|
179076
|
+
let frame2 = 0;
|
|
179077
|
+
const run2 = () => {
|
|
179078
|
+
repairRafId = null;
|
|
179079
|
+
if (!attached) return;
|
|
179080
|
+
if (!hostIsVisible()) {
|
|
179081
|
+
if (frame2 < MAX_LAYOUT_FRAMES) {
|
|
179082
|
+
frame2 += 1;
|
|
179083
|
+
repairRafId = requestAnimationFrame(run2);
|
|
179084
|
+
}
|
|
179085
|
+
return;
|
|
179086
|
+
}
|
|
179087
|
+
repairAndFit();
|
|
179088
|
+
};
|
|
179089
|
+
repairRafId = requestAnimationFrame(run2);
|
|
179090
|
+
};
|
|
179091
|
+
const publicApi = {
|
|
179092
|
+
terminalId,
|
|
179093
|
+
workspaceId,
|
|
179094
|
+
getTerminal: () => terminal,
|
|
179095
|
+
attach(container, attachOpts) {
|
|
179096
|
+
if (destroyed) return;
|
|
179097
|
+
liveContainer = container;
|
|
179098
|
+
attached = true;
|
|
179099
|
+
lastActive = Date.now();
|
|
179100
|
+
if (attachOpts?.autoFocus) autoFocusPending = true;
|
|
179101
|
+
if (wrapper.parentElement !== container) container.appendChild(wrapper);
|
|
179102
|
+
scheduleRepair();
|
|
179103
|
+
},
|
|
179104
|
+
detach() {
|
|
179105
|
+
if (destroyed) return;
|
|
179106
|
+
attached = false;
|
|
179107
|
+
liveContainer = null;
|
|
179108
|
+
if (repairRafId !== null) {
|
|
179109
|
+
cancelAnimationFrame(repairRafId);
|
|
179110
|
+
repairRafId = null;
|
|
179111
|
+
}
|
|
179112
|
+
const parking = getParkingContainer();
|
|
179113
|
+
if (wrapper.parentElement !== parking) parking.appendChild(wrapper);
|
|
179114
|
+
evictLeastRecentlyUsed(terminalId);
|
|
179115
|
+
},
|
|
179116
|
+
getLastActive: () => lastActive,
|
|
179117
|
+
touch() {
|
|
179118
|
+
lastActive = Date.now();
|
|
179119
|
+
},
|
|
179120
|
+
isAttached: () => attached,
|
|
179121
|
+
isDestroyed: () => destroyed,
|
|
179122
|
+
subscribe(listener2) {
|
|
179123
|
+
listeners2.add(listener2);
|
|
179124
|
+
return () => listeners2.delete(listener2);
|
|
179125
|
+
},
|
|
179126
|
+
getSnapshot: () => state2,
|
|
179127
|
+
openSearch() {
|
|
179128
|
+
setState({ searchOpen: true });
|
|
179129
|
+
},
|
|
179130
|
+
closeSearch() {
|
|
179131
|
+
searchAddon?.clearDecorations();
|
|
179132
|
+
setState({ searchOpen: false, searchQuery: "", matchInfo: { total: 0, current: 0 } });
|
|
179133
|
+
terminal?.focus();
|
|
179134
|
+
},
|
|
179135
|
+
setSearchQuery(query) {
|
|
179136
|
+
setState({ searchQuery: query });
|
|
179137
|
+
const addon = searchAddon;
|
|
179138
|
+
if (!addon) return;
|
|
179139
|
+
if (!query) {
|
|
179140
|
+
addon.clearDecorations();
|
|
179141
|
+
setState({ matchInfo: { total: 0, current: 0 } });
|
|
179142
|
+
return;
|
|
179143
|
+
}
|
|
179144
|
+
addon.findNext(query, toXtermSearchOptions(state2.searchOptions));
|
|
179145
|
+
},
|
|
179146
|
+
setSearchOptions(options) {
|
|
179147
|
+
setState({ searchOptions: options });
|
|
179148
|
+
if (!searchAddon || !state2.searchQuery) return;
|
|
179149
|
+
searchAddon.findNext(state2.searchQuery, toXtermSearchOptions(options));
|
|
179150
|
+
},
|
|
179151
|
+
findNext() {
|
|
179152
|
+
if (!state2.searchQuery) return;
|
|
179153
|
+
searchAddon?.findNext(state2.searchQuery, toXtermSearchOptions(state2.searchOptions));
|
|
179154
|
+
},
|
|
179155
|
+
findPrevious() {
|
|
179156
|
+
if (!state2.searchQuery) return;
|
|
179157
|
+
searchAddon?.findPrevious(state2.searchQuery, toXtermSearchOptions(state2.searchOptions));
|
|
179158
|
+
},
|
|
179159
|
+
toggleCtrl() {
|
|
179160
|
+
setState({ pendingCtrl: !state2.pendingCtrl });
|
|
179161
|
+
},
|
|
179162
|
+
extendSelection(direction) {
|
|
179163
|
+
if (!terminal || !selectionAnchor || !selectionHead) return;
|
|
179164
|
+
const next2 = moveCell(selectionHead, direction, terminal);
|
|
179165
|
+
selectionHead = next2;
|
|
179166
|
+
applySelection(terminal, selectionAnchor, next2);
|
|
179167
|
+
},
|
|
179168
|
+
exitSelection() {
|
|
179169
|
+
selectionAnchor = null;
|
|
179170
|
+
selectionHead = null;
|
|
179171
|
+
setState({ selectionMode: false });
|
|
179172
|
+
terminal?.clearSelection();
|
|
179173
|
+
},
|
|
179174
|
+
selectAll() {
|
|
179175
|
+
if (!terminal) return;
|
|
179176
|
+
const anchor2 = { col: 0, row: 0 };
|
|
179177
|
+
const lastRow = Math.max(0, terminal.buffer.active.length - 1);
|
|
179178
|
+
const head2 = { col: Math.max(0, terminal.cols - 1), row: lastRow };
|
|
179179
|
+
applySelection(terminal, anchor2, head2);
|
|
179180
|
+
selectionAnchor = anchor2;
|
|
179181
|
+
selectionHead = head2;
|
|
179182
|
+
setState({ selectionMode: true });
|
|
179183
|
+
terminal.blur();
|
|
179184
|
+
},
|
|
179185
|
+
sendInput(data) {
|
|
179186
|
+
if (ws && ws.readyState === WebSocket.OPEN) ws.send(data);
|
|
179187
|
+
},
|
|
179188
|
+
isSocketOpen: () => !!ws && ws.readyState === WebSocket.OPEN,
|
|
179189
|
+
focus() {
|
|
179190
|
+
terminal?.focus();
|
|
179191
|
+
},
|
|
179192
|
+
subscribeConnect(listener2) {
|
|
179193
|
+
connectListeners.add(listener2);
|
|
179194
|
+
return () => connectListeners.delete(listener2);
|
|
179195
|
+
},
|
|
179196
|
+
registerTitleListener(listener2) {
|
|
179197
|
+
titleListener = listener2;
|
|
179198
|
+
if (lastTitle !== null) listener2(lastTitle);
|
|
179199
|
+
return () => {
|
|
179200
|
+
if (titleListener === listener2) titleListener = null;
|
|
179201
|
+
};
|
|
179202
|
+
},
|
|
179203
|
+
_destroy() {
|
|
179204
|
+
if (destroyed) return;
|
|
179205
|
+
destroyed = true;
|
|
179206
|
+
if (repairRafId !== null) {
|
|
179207
|
+
cancelAnimationFrame(repairRafId);
|
|
179208
|
+
repairRafId = null;
|
|
179209
|
+
}
|
|
179210
|
+
cleanup?.();
|
|
179211
|
+
cleanup = null;
|
|
179212
|
+
listeners2.clear();
|
|
179213
|
+
connectListeners.clear();
|
|
179214
|
+
titleListener = null;
|
|
179215
|
+
wrapper.remove();
|
|
179216
|
+
}
|
|
179217
|
+
};
|
|
179218
|
+
return publicApi;
|
|
179219
|
+
}
|
|
179220
|
+
function getOrCreateTerminal(terminalId, opts) {
|
|
179221
|
+
const cache = getCache();
|
|
179222
|
+
const existing = cache.get(terminalId);
|
|
179223
|
+
if (existing) {
|
|
179224
|
+
existing.touch();
|
|
179225
|
+
return existing;
|
|
179226
|
+
}
|
|
179227
|
+
const entry = createEntry(terminalId, opts);
|
|
179228
|
+
cache.set(terminalId, entry);
|
|
179229
|
+
evictLeastRecentlyUsed(terminalId);
|
|
179230
|
+
return entry;
|
|
179231
|
+
}
|
|
179232
|
+
function evictLeastRecentlyUsed(keepId) {
|
|
179233
|
+
const cache = getCache();
|
|
179234
|
+
if (cache.size <= MAX_CACHED_TERMINALS) return;
|
|
179235
|
+
const candidates = [...cache.values()].filter((e3) => e3.terminalId !== keepId && !e3.isAttached()).sort((a2, b2) => a2.getLastActive() - b2.getLastActive());
|
|
179236
|
+
let over = cache.size - MAX_CACHED_TERMINALS;
|
|
179237
|
+
for (const entry of candidates) {
|
|
179238
|
+
if (over <= 0) break;
|
|
179239
|
+
cache.delete(entry.terminalId);
|
|
179240
|
+
entry._destroy();
|
|
179241
|
+
over -= 1;
|
|
179242
|
+
}
|
|
179243
|
+
}
|
|
179244
|
+
function disposeTerminal(terminalId) {
|
|
179245
|
+
const cache = getCache();
|
|
179246
|
+
const entry = cache.get(terminalId);
|
|
179247
|
+
if (!entry) return;
|
|
179248
|
+
cache.delete(terminalId);
|
|
179249
|
+
entry._destroy();
|
|
179250
|
+
}
|
|
179251
|
+
function reconcileTerminalWorkspaces(validWorkspaceIds, activeWorkspaceId) {
|
|
179252
|
+
const cache = getCache();
|
|
179253
|
+
for (const [id28, entry] of cache) {
|
|
179254
|
+
if (!validWorkspaceIds.has(entry.workspaceId) && entry.workspaceId !== activeWorkspaceId) {
|
|
179255
|
+
cache.delete(id28);
|
|
179256
|
+
entry._destroy();
|
|
179257
|
+
}
|
|
179258
|
+
}
|
|
179259
|
+
}
|
|
178074
179260
|
const states = /* @__PURE__ */ new Map();
|
|
178075
179261
|
const listeners = /* @__PURE__ */ new Map();
|
|
178076
179262
|
const EMPTY_STATE = Object.freeze({ openFilePath: null });
|
|
@@ -178167,6 +179353,7 @@ function MultiWorkspacePanelHost({ emptyState, children: children2 }) {
|
|
|
178167
179353
|
validIds.add(toWorkspaceId(project.name, worktree.name));
|
|
178168
179354
|
}
|
|
178169
179355
|
}
|
|
179356
|
+
reconcileTerminalWorkspaces(validIds, activeWorkspaceId);
|
|
178170
179357
|
setCache((prev2) => {
|
|
178171
179358
|
let hasStale = false;
|
|
178172
179359
|
for (const id28 of prev2.keys()) {
|
|
@@ -201809,12 +202996,12 @@ const PANEL_SHORTCUTS = {
|
|
|
201809
202996
|
browser: "⇧⌘B"
|
|
201810
202997
|
};
|
|
201811
202998
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
201812
|
-
() => import("./DockviewTerminalContainer-
|
|
202999
|
+
() => import("./DockviewTerminalContainer-TX2ecJ9k.js").then((m2) => ({
|
|
201813
203000
|
default: m2.DockviewTerminalContainer
|
|
201814
203001
|
}))
|
|
201815
203002
|
);
|
|
201816
203003
|
const DockviewBrowserContainer = reactExports.lazy(
|
|
201817
|
-
() => import("./DockviewBrowserContainer-
|
|
203004
|
+
() => import("./DockviewBrowserContainer-BuItINME.js").then((m2) => ({
|
|
201818
203005
|
default: m2.DockviewBrowserContainer
|
|
201819
203006
|
}))
|
|
201820
203007
|
);
|
|
@@ -203027,80 +204214,6 @@ function useNavigationHistory(routerNavigate, capabilities2) {
|
|
|
203027
204214
|
canGoForward: history2.cursor >= 0 && history2.cursor < history2.stack.length - 1
|
|
203028
204215
|
};
|
|
203029
204216
|
}
|
|
203030
|
-
const ZOOM_LEVEL_KEY = "band:zoom-level";
|
|
203031
|
-
const DEFAULT_ZOOM = 1;
|
|
203032
|
-
const MIN_ZOOM = 0.5;
|
|
203033
|
-
const MAX_ZOOM = 2;
|
|
203034
|
-
const ZOOM_STEP = 0.1;
|
|
203035
|
-
const ZOOM_CSS_VAR = "--app-zoom";
|
|
203036
|
-
const ZOOM_CHANGE_EVENT = "band:zoom-changed";
|
|
203037
|
-
function loadZoomLevel() {
|
|
203038
|
-
try {
|
|
203039
|
-
const stored = localStorage.getItem(ZOOM_LEVEL_KEY);
|
|
203040
|
-
if (stored) {
|
|
203041
|
-
const parsed = Number.parseFloat(stored);
|
|
203042
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
203043
|
-
return parsed;
|
|
203044
|
-
}
|
|
203045
|
-
}
|
|
203046
|
-
} catch {
|
|
203047
|
-
}
|
|
203048
|
-
return DEFAULT_ZOOM;
|
|
203049
|
-
}
|
|
203050
|
-
function saveZoomLevel(level) {
|
|
203051
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203052
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203053
|
-
try {
|
|
203054
|
-
localStorage.setItem(ZOOM_LEVEL_KEY, String(rounded));
|
|
203055
|
-
} catch {
|
|
203056
|
-
}
|
|
203057
|
-
}
|
|
203058
|
-
function applyZoomLevelToDom(level) {
|
|
203059
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203060
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203061
|
-
const root2 = document.documentElement;
|
|
203062
|
-
root2.style.zoom = String(rounded);
|
|
203063
|
-
root2.style.setProperty(ZOOM_CSS_VAR, String(rounded));
|
|
203064
|
-
window.dispatchEvent(new CustomEvent(ZOOM_CHANGE_EVENT, { detail: rounded }));
|
|
203065
|
-
return rounded;
|
|
203066
|
-
}
|
|
203067
|
-
function applyZoomLevel(level) {
|
|
203068
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203069
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203070
|
-
saveZoomLevel(rounded);
|
|
203071
|
-
applyZoomLevelToDom(rounded);
|
|
203072
|
-
}
|
|
203073
|
-
function getCurrentZoomLevel() {
|
|
203074
|
-
if (typeof document !== "undefined") {
|
|
203075
|
-
const css = document.documentElement.style.getPropertyValue(ZOOM_CSS_VAR);
|
|
203076
|
-
if (css) {
|
|
203077
|
-
const parsed = Number.parseFloat(css);
|
|
203078
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
203079
|
-
return parsed;
|
|
203080
|
-
}
|
|
203081
|
-
}
|
|
203082
|
-
}
|
|
203083
|
-
return loadZoomLevel();
|
|
203084
|
-
}
|
|
203085
|
-
function subscribeToZoomChanges(handler) {
|
|
203086
|
-
if (typeof window === "undefined") return () => {
|
|
203087
|
-
};
|
|
203088
|
-
const listener2 = (e3) => {
|
|
203089
|
-
const detail = e3.detail;
|
|
203090
|
-
if (typeof detail === "number") handler(detail);
|
|
203091
|
-
};
|
|
203092
|
-
window.addEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203093
|
-
return () => window.removeEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203094
|
-
}
|
|
203095
|
-
function zoomIn() {
|
|
203096
|
-
applyZoomLevel(loadZoomLevel() + ZOOM_STEP);
|
|
203097
|
-
}
|
|
203098
|
-
function zoomOut() {
|
|
203099
|
-
applyZoomLevel(loadZoomLevel() - ZOOM_STEP);
|
|
203100
|
-
}
|
|
203101
|
-
function zoomReset() {
|
|
203102
|
-
applyZoomLevel(DEFAULT_ZOOM);
|
|
203103
|
-
}
|
|
203104
204217
|
function useZoom() {
|
|
203105
204218
|
reactExports.useEffect(() => {
|
|
203106
204219
|
if (isDesktop) return;
|
|
@@ -203384,6 +204497,8 @@ function AppShell() {
|
|
|
203384
204497
|
[settings, updateSettings]
|
|
203385
204498
|
);
|
|
203386
204499
|
const sidebarPanelRef = ln$2();
|
|
204500
|
+
const sidebarElRef = reactExports.useRef(null);
|
|
204501
|
+
const mainElRef = reactExports.useRef(null);
|
|
203387
204502
|
const sidebarInit = reactExports.useRef({ collapsed: loadSidebarCollapsed(), width: loadSidebarWidth() });
|
|
203388
204503
|
const [sidebarVisible, setSidebarVisible] = reactExports.useState(() => !sidebarInit.current.collapsed);
|
|
203389
204504
|
const sidebarDefaultLayout = reactExports.useMemo(
|
|
@@ -203420,16 +204535,37 @@ function AppShell() {
|
|
|
203420
204535
|
},
|
|
203421
204536
|
[]
|
|
203422
204537
|
);
|
|
204538
|
+
const animateSidebarToggle = reactExports.useCallback(() => {
|
|
204539
|
+
const sidebar = sidebarElRef.current;
|
|
204540
|
+
if (!sidebar) return;
|
|
204541
|
+
const els = [sidebar, mainElRef.current];
|
|
204542
|
+
for (const el of els) {
|
|
204543
|
+
if (el) el.style.transition = "flex-grow 200ms ease, flex-basis 200ms ease";
|
|
204544
|
+
}
|
|
204545
|
+
let timer2 = 0;
|
|
204546
|
+
const clear3 = (e3) => {
|
|
204547
|
+
if (e3 && (e3.target !== sidebar || e3.propertyName !== "flex-grow")) return;
|
|
204548
|
+
for (const el of els) if (el) el.style.transition = "";
|
|
204549
|
+
sidebar.removeEventListener("transitionend", clear3);
|
|
204550
|
+
if (timer2) window.clearTimeout(timer2);
|
|
204551
|
+
};
|
|
204552
|
+
timer2 = window.setTimeout(clear3, 280);
|
|
204553
|
+
sidebar.addEventListener("transitionend", clear3);
|
|
204554
|
+
}, []);
|
|
203423
204555
|
const toggleSidebar = reactExports.useCallback(() => {
|
|
203424
204556
|
const panel = sidebarPanelRef.current;
|
|
203425
204557
|
if (!panel) return;
|
|
204558
|
+
animateSidebarToggle();
|
|
203426
204559
|
if (panel.isCollapsed()) panel.expand();
|
|
203427
204560
|
else panel.collapse();
|
|
203428
|
-
}, [sidebarPanelRef]);
|
|
204561
|
+
}, [sidebarPanelRef, animateSidebarToggle]);
|
|
203429
204562
|
reactExports.useEffect(() => {
|
|
203430
204563
|
const onToggle = () => toggleSidebar();
|
|
203431
204564
|
const onShow = () => {
|
|
203432
|
-
if (sidebarPanelRef.current?.isCollapsed())
|
|
204565
|
+
if (sidebarPanelRef.current?.isCollapsed()) {
|
|
204566
|
+
animateSidebarToggle();
|
|
204567
|
+
sidebarPanelRef.current.expand();
|
|
204568
|
+
}
|
|
203433
204569
|
};
|
|
203434
204570
|
window.addEventListener("band:toggle-sidebar", onToggle);
|
|
203435
204571
|
window.addEventListener("band:show-sidebar", onShow);
|
|
@@ -203437,7 +204573,7 @@ function AppShell() {
|
|
|
203437
204573
|
window.removeEventListener("band:toggle-sidebar", onToggle);
|
|
203438
204574
|
window.removeEventListener("band:show-sidebar", onShow);
|
|
203439
204575
|
};
|
|
203440
|
-
}, [toggleSidebar, sidebarPanelRef]);
|
|
204576
|
+
}, [toggleSidebar, sidebarPanelRef, animateSidebarToggle]);
|
|
203441
204577
|
reactExports.useEffect(
|
|
203442
204578
|
() => () => {
|
|
203443
204579
|
if (sidebarWidthRafRef.current != null) cancelAnimationFrame(sidebarWidthRafRef.current);
|
|
@@ -203501,6 +204637,7 @@ function AppShell() {
|
|
|
203501
204637
|
{
|
|
203502
204638
|
id: "sidebar",
|
|
203503
204639
|
panelRef: sidebarPanelRef,
|
|
204640
|
+
elementRef: sidebarElRef,
|
|
203504
204641
|
defaultSize: SIDEBAR_MIN_SIZE,
|
|
203505
204642
|
minSize: SIDEBAR_MIN_SIZE,
|
|
203506
204643
|
maxSize: SIDEBAR_MAX_SIZE,
|
|
@@ -203528,7 +204665,7 @@ function AppShell() {
|
|
|
203528
204665
|
}
|
|
203529
204666
|
),
|
|
203530
204667
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Qt$1, { className: "w-[3px] bg-transparent hover:bg-accent-foreground/20 active:bg-accent-foreground/30 transition-colors cursor-col-resize" }),
|
|
203531
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Yt$1, { id: "main", minSize: "20%", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "h-full flex flex-col min-w-0 overflow-hidden", children: [
|
|
204668
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Yt$1, { id: "main", elementRef: mainElRef, minSize: "20%", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "h-full flex flex-col min-w-0 overflow-hidden", children: [
|
|
203532
204669
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
203533
204670
|
WorkspaceTitleBar,
|
|
203534
204671
|
{
|
|
@@ -203571,12 +204708,12 @@ function RootLayout() {
|
|
|
203571
204708
|
] })
|
|
203572
204709
|
] });
|
|
203573
204710
|
}
|
|
203574
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
204711
|
+
const $$splitComponentImporter$1 = () => import("./index-rF-uGnt9.js");
|
|
203575
204712
|
const Route$1 = createFileRoute("/")({
|
|
203576
204713
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
203577
204714
|
});
|
|
203578
|
-
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-
|
|
203579
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId-
|
|
204715
|
+
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-B_ziNHiq.js");
|
|
204716
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId-CO8mKKZW.js");
|
|
203580
204717
|
const Route2 = createFileRoute("/workspace/$workspaceId")({
|
|
203581
204718
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
203582
204719
|
// Bookmarks / shared links from before route unification (`/workspace/$id/changes`,
|
|
@@ -203618,288 +204755,285 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
203618
204755
|
getRouter
|
|
203619
204756
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
203620
204757
|
export {
|
|
203621
|
-
|
|
203622
|
-
|
|
203623
|
-
|
|
204758
|
+
assignWithDepth_default as $,
|
|
204759
|
+
DockviewReact as A,
|
|
204760
|
+
Rows2 as B,
|
|
203624
204761
|
Columns2 as C,
|
|
203625
204762
|
DefaultBufferLength as D,
|
|
203626
|
-
|
|
203627
|
-
|
|
203628
|
-
|
|
203629
|
-
|
|
204763
|
+
Plus as E,
|
|
204764
|
+
usePanelVisibility as F,
|
|
204765
|
+
cycleTabsInActiveGroup as G,
|
|
204766
|
+
cycleGridGroups as H,
|
|
203630
204767
|
IterMode as I,
|
|
203631
|
-
|
|
204768
|
+
R$4 as J,
|
|
203632
204769
|
Ks as K,
|
|
203633
204770
|
LanguageSupport as L,
|
|
203634
|
-
|
|
204771
|
+
setAccDescription as M,
|
|
203635
204772
|
Nt as N,
|
|
203636
|
-
|
|
204773
|
+
getAccDescription as O,
|
|
203637
204774
|
Parser$2 as P,
|
|
203638
204775
|
Qe$1 as Q,
|
|
203639
204776
|
Route2 as R,
|
|
203640
|
-
|
|
204777
|
+
getAccTitle as S,
|
|
203641
204778
|
Tree as T,
|
|
203642
|
-
|
|
203643
|
-
|
|
203644
|
-
|
|
204779
|
+
setAccTitle as U,
|
|
204780
|
+
getConfig2 as V,
|
|
204781
|
+
select as W,
|
|
203645
204782
|
X$7 as X,
|
|
203646
|
-
|
|
203647
|
-
|
|
204783
|
+
log$1 as Y,
|
|
204784
|
+
configureSvgSize as Z,
|
|
203648
204785
|
__name as _,
|
|
203649
204786
|
Navigate as a,
|
|
203650
|
-
|
|
203651
|
-
|
|
203652
|
-
|
|
203653
|
-
|
|
203654
|
-
|
|
203655
|
-
|
|
203656
|
-
|
|
203657
|
-
|
|
203658
|
-
|
|
203659
|
-
|
|
203660
|
-
|
|
203661
|
-
|
|
203662
|
-
|
|
203663
|
-
|
|
203664
|
-
|
|
203665
|
-
|
|
203666
|
-
|
|
203667
|
-
|
|
203668
|
-
|
|
203669
|
-
|
|
203670
|
-
|
|
203671
|
-
|
|
203672
|
-
|
|
203673
|
-
|
|
203674
|
-
|
|
203675
|
-
|
|
203676
|
-
|
|
203677
|
-
|
|
203678
|
-
|
|
203679
|
-
|
|
203680
|
-
|
|
203681
|
-
|
|
203682
|
-
|
|
203683
|
-
|
|
203684
|
-
|
|
203685
|
-
|
|
203686
|
-
|
|
203687
|
-
|
|
203688
|
-
|
|
203689
|
-
|
|
203690
|
-
|
|
203691
|
-
|
|
203692
|
-
|
|
203693
|
-
|
|
203694
|
-
|
|
203695
|
-
|
|
203696
|
-
|
|
203697
|
-
|
|
203698
|
-
|
|
203699
|
-
|
|
203700
|
-
|
|
203701
|
-
|
|
203702
|
-
|
|
203703
|
-
|
|
203704
|
-
|
|
203705
|
-
|
|
203706
|
-
|
|
203707
|
-
|
|
203708
|
-
|
|
203709
|
-
|
|
203710
|
-
|
|
203711
|
-
|
|
203712
|
-
|
|
203713
|
-
|
|
204787
|
+
commonDb_exports as a$,
|
|
204788
|
+
calculateTextWidth as a0,
|
|
204789
|
+
sanitizeText as a1,
|
|
204790
|
+
distExports as a2,
|
|
204791
|
+
wrapLabel as a3,
|
|
204792
|
+
common_default as a4,
|
|
204793
|
+
calculateTextHeight as a5,
|
|
204794
|
+
lineBreakRegex as a6,
|
|
204795
|
+
setConfig2 as a7,
|
|
204796
|
+
getRegisteredLayoutAlgorithm as a8,
|
|
204797
|
+
render$1 as a9,
|
|
204798
|
+
min as aA,
|
|
204799
|
+
abs$1 as aB,
|
|
204800
|
+
pi as aC,
|
|
204801
|
+
sqrt as aD,
|
|
204802
|
+
atan2 as aE,
|
|
204803
|
+
constant$1 as aF,
|
|
204804
|
+
asin as aG,
|
|
204805
|
+
acos as aH,
|
|
204806
|
+
max as aI,
|
|
204807
|
+
linear as aJ,
|
|
204808
|
+
getThemeVariables3 as aK,
|
|
204809
|
+
band as aL,
|
|
204810
|
+
computeDimensionOfText as aM,
|
|
204811
|
+
line$1 as aN,
|
|
204812
|
+
hasKatex as aO,
|
|
204813
|
+
calculateMathMLDimensions as aP,
|
|
204814
|
+
parseFontSize as aQ,
|
|
204815
|
+
ZERO_WIDTH_SPACE as aR,
|
|
204816
|
+
getUrl as aS,
|
|
204817
|
+
renderKatexSanitized as aT,
|
|
204818
|
+
parseGenericTypes as aU,
|
|
204819
|
+
curveBasis as aV,
|
|
204820
|
+
generateId as aW,
|
|
204821
|
+
setupGraphViewbox as aX,
|
|
204822
|
+
isDark as aY,
|
|
204823
|
+
lighten as aZ,
|
|
204824
|
+
darken as a_,
|
|
204825
|
+
utils_default as aa,
|
|
204826
|
+
setDiagramTitle as ab,
|
|
204827
|
+
getDiagramTitle as ac,
|
|
204828
|
+
load as ad,
|
|
204829
|
+
JSON_SCHEMA as ae,
|
|
204830
|
+
isValidShape as af,
|
|
204831
|
+
getEdgeId as ag,
|
|
204832
|
+
clear$2 as ah,
|
|
204833
|
+
defaultConfig2 as ai,
|
|
204834
|
+
rgba$1 as aj,
|
|
204835
|
+
Utils as ak,
|
|
204836
|
+
Color$1 as al,
|
|
204837
|
+
__export$1 as am,
|
|
204838
|
+
setupGraphViewbox2 as an,
|
|
204839
|
+
cleanAndMerge as ao,
|
|
204840
|
+
defaultConfig_default as ap,
|
|
204841
|
+
getConfig as aq,
|
|
204842
|
+
random as ar,
|
|
204843
|
+
selectSvgElement as as,
|
|
204844
|
+
package_default as at,
|
|
204845
|
+
withPath as au,
|
|
204846
|
+
halfPi as av,
|
|
204847
|
+
epsilon as aw,
|
|
204848
|
+
tau as ax,
|
|
204849
|
+
cos as ay,
|
|
204850
|
+
sin as az,
|
|
203714
204851
|
LRLanguage as b,
|
|
203715
|
-
|
|
203716
|
-
|
|
203717
|
-
|
|
203718
|
-
|
|
203719
|
-
|
|
203720
|
-
|
|
203721
|
-
|
|
203722
|
-
|
|
203723
|
-
|
|
203724
|
-
|
|
203725
|
-
|
|
203726
|
-
|
|
203727
|
-
|
|
203728
|
-
|
|
203729
|
-
clear
|
|
203730
|
-
|
|
203731
|
-
|
|
203732
|
-
|
|
203733
|
-
|
|
203734
|
-
|
|
203735
|
-
|
|
203736
|
-
|
|
203737
|
-
|
|
203738
|
-
|
|
203739
|
-
|
|
203740
|
-
|
|
203741
|
-
|
|
203742
|
-
|
|
203743
|
-
|
|
203744
|
-
|
|
203745
|
-
|
|
203746
|
-
|
|
203747
|
-
|
|
203748
|
-
|
|
203749
|
-
|
|
203750
|
-
|
|
203751
|
-
|
|
203752
|
-
|
|
203753
|
-
|
|
203754
|
-
|
|
203755
|
-
|
|
203756
|
-
|
|
203757
|
-
|
|
203758
|
-
|
|
203759
|
-
|
|
203760
|
-
|
|
203761
|
-
|
|
203762
|
-
|
|
203763
|
-
|
|
203764
|
-
|
|
203765
|
-
|
|
203766
|
-
|
|
203767
|
-
|
|
203768
|
-
|
|
203769
|
-
|
|
203770
|
-
|
|
203771
|
-
|
|
203772
|
-
|
|
203773
|
-
|
|
203774
|
-
|
|
203775
|
-
|
|
203776
|
-
|
|
203777
|
-
|
|
203778
|
-
|
|
204852
|
+
Close as b$,
|
|
204853
|
+
insertCluster as b0,
|
|
204854
|
+
insertNode as b1,
|
|
204855
|
+
positionNode as b2,
|
|
204856
|
+
getLineFunctionsWithOffset as b3,
|
|
204857
|
+
evaluate as b4,
|
|
204858
|
+
createText as b5,
|
|
204859
|
+
getSubGraphTitleMargins as b6,
|
|
204860
|
+
replaceIconSubstring as b7,
|
|
204861
|
+
decodeEntities as b8,
|
|
204862
|
+
getStylesFromArray as b9,
|
|
204863
|
+
isEmpty as bA,
|
|
204864
|
+
markers_default as bB,
|
|
204865
|
+
clear2 as bC,
|
|
204866
|
+
clear as bD,
|
|
204867
|
+
clear$1 as bE,
|
|
204868
|
+
updateNodeBounds as bF,
|
|
204869
|
+
setNodeElem as bG,
|
|
204870
|
+
insertEdge as bH,
|
|
204871
|
+
positionEdgeLabel as bI,
|
|
204872
|
+
insertEdgeLabel as bJ,
|
|
204873
|
+
loadSidebarWidth as bK,
|
|
204874
|
+
saveSidebarWidth as bL,
|
|
204875
|
+
Ut$1 as bM,
|
|
204876
|
+
Yt$1 as bN,
|
|
204877
|
+
SIDEBAR_MAX_SIZE as bO,
|
|
204878
|
+
SIDEBAR_MIN_SIZE as bP,
|
|
204879
|
+
DashboardShell as bQ,
|
|
204880
|
+
Qt$1 as bR,
|
|
204881
|
+
MessageSquare as bS,
|
|
204882
|
+
useIsDesktop as bT,
|
|
204883
|
+
ToolbarOverflowProvider as bU,
|
|
204884
|
+
ToolbarActionBar as bV,
|
|
204885
|
+
isDesktop as bW,
|
|
204886
|
+
array$2 as bX,
|
|
204887
|
+
ordinal as bY,
|
|
204888
|
+
Root$5 as bZ,
|
|
204889
|
+
Content$1 as b_,
|
|
204890
|
+
delimitedIndent as ba,
|
|
204891
|
+
NodeWeakMap as bb,
|
|
204892
|
+
snippetCompletion as bc,
|
|
204893
|
+
Tag as bd,
|
|
204894
|
+
parseMixed as be,
|
|
204895
|
+
EditorSelection as bf,
|
|
204896
|
+
countColumn as bg,
|
|
204897
|
+
Prec as bh,
|
|
204898
|
+
keymap as bi,
|
|
204899
|
+
EditorView as bj,
|
|
204900
|
+
Language as bk,
|
|
204901
|
+
indentUnit as bl,
|
|
204902
|
+
foldService as bm,
|
|
204903
|
+
defineLanguageFacet as bn,
|
|
204904
|
+
CompletionContext as bo,
|
|
204905
|
+
EditorState as bp,
|
|
204906
|
+
languageDataProp as bq,
|
|
204907
|
+
LanguageDescription as br,
|
|
204908
|
+
ParseContext as bs,
|
|
204909
|
+
bracketMatchingHandle as bt,
|
|
204910
|
+
flatIndent as bu,
|
|
204911
|
+
sublanguageProp as bv,
|
|
204912
|
+
baseRest as bw,
|
|
204913
|
+
isArrayLikeObject$1 as bx,
|
|
204914
|
+
constant as by,
|
|
204915
|
+
isFunction$1 as bz,
|
|
203779
204916
|
continuedIndent as c,
|
|
203780
|
-
|
|
203781
|
-
|
|
203782
|
-
|
|
203783
|
-
|
|
203784
|
-
|
|
203785
|
-
|
|
203786
|
-
|
|
203787
|
-
|
|
203788
|
-
|
|
203789
|
-
|
|
203790
|
-
|
|
203791
|
-
|
|
203792
|
-
|
|
203793
|
-
|
|
203794
|
-
|
|
203795
|
-
|
|
203796
|
-
|
|
203797
|
-
|
|
203798
|
-
|
|
203799
|
-
|
|
203800
|
-
|
|
203801
|
-
|
|
203802
|
-
|
|
203803
|
-
|
|
203804
|
-
|
|
203805
|
-
|
|
203806
|
-
|
|
203807
|
-
|
|
203808
|
-
|
|
203809
|
-
|
|
203810
|
-
|
|
203811
|
-
|
|
203812
|
-
|
|
203813
|
-
|
|
203814
|
-
|
|
203815
|
-
|
|
203816
|
-
|
|
203817
|
-
|
|
203818
|
-
|
|
203819
|
-
|
|
203820
|
-
|
|
203821
|
-
|
|
203822
|
-
|
|
203823
|
-
|
|
203824
|
-
|
|
203825
|
-
|
|
203826
|
-
|
|
203827
|
-
|
|
203828
|
-
|
|
203829
|
-
|
|
203830
|
-
|
|
203831
|
-
|
|
203832
|
-
|
|
203833
|
-
|
|
203834
|
-
|
|
203835
|
-
|
|
203836
|
-
|
|
203837
|
-
|
|
203838
|
-
|
|
203839
|
-
|
|
203840
|
-
|
|
203841
|
-
|
|
203842
|
-
|
|
203843
|
-
|
|
204917
|
+
timeSunday as c$,
|
|
204918
|
+
cn$2 as c0,
|
|
204919
|
+
Title as c1,
|
|
204920
|
+
Description as c2,
|
|
204921
|
+
Portal$4 as c3,
|
|
204922
|
+
Overlay$1 as c4,
|
|
204923
|
+
GitCompare as c5,
|
|
204924
|
+
FolderOpen as c6,
|
|
204925
|
+
useDashboardStore as c7,
|
|
204926
|
+
DesktopDragRegion as c8,
|
|
204927
|
+
Menu$1 as c9,
|
|
204928
|
+
reactDomExports as cA,
|
|
204929
|
+
Globe as cB,
|
|
204930
|
+
Popover as cC,
|
|
204931
|
+
PopoverTrigger as cD,
|
|
204932
|
+
PopoverContent as cE,
|
|
204933
|
+
Search as cF,
|
|
204934
|
+
Trash2 as cG,
|
|
204935
|
+
DropdownMenu as cH,
|
|
204936
|
+
DropdownMenuTrigger as cI,
|
|
204937
|
+
ChevronDown as cJ,
|
|
204938
|
+
DropdownMenuContent as cK,
|
|
204939
|
+
DropdownMenuItem as cL,
|
|
204940
|
+
TriangleAlert as cM,
|
|
204941
|
+
RotateCw as cN,
|
|
204942
|
+
Rgb as cO,
|
|
204943
|
+
rgbConvert as cP,
|
|
204944
|
+
define as cQ,
|
|
204945
|
+
extend$2 as cR,
|
|
204946
|
+
Color as cS,
|
|
204947
|
+
nogamma as cT,
|
|
204948
|
+
hue as cU,
|
|
204949
|
+
time$2 as cV,
|
|
204950
|
+
min$1 as cW,
|
|
204951
|
+
max$1 as cX,
|
|
204952
|
+
dayjs2 as cY,
|
|
204953
|
+
timeFormat as cZ,
|
|
204954
|
+
timeMonth as c_,
|
|
204955
|
+
ChevronsUpDown as ca,
|
|
204956
|
+
DiffView as cb,
|
|
204957
|
+
CodeBrowserView as cc,
|
|
204958
|
+
QuickOpenDialog as cd,
|
|
204959
|
+
SearchFilesDialog as ce,
|
|
204960
|
+
WorkspacePickerDialog as cf,
|
|
204961
|
+
useDiffTarget as cg,
|
|
204962
|
+
useSettingsQuery as ch,
|
|
204963
|
+
agentTypeSupportsSessionListing as ci,
|
|
204964
|
+
ChatView as cj,
|
|
204965
|
+
getUserDefinedConfig as ck,
|
|
204966
|
+
writeClipboardText as cl,
|
|
204967
|
+
readClipboardText as cm,
|
|
204968
|
+
ArrowLeft as cn,
|
|
204969
|
+
ArrowUp as co,
|
|
204970
|
+
ArrowDown as cp,
|
|
204971
|
+
ArrowRight as cq,
|
|
204972
|
+
ClipboardCopy as cr,
|
|
204973
|
+
ClipboardPaste as cs,
|
|
204974
|
+
getOrCreateTerminal as ct,
|
|
204975
|
+
SearchBar as cu,
|
|
204976
|
+
getIconSVG as cv,
|
|
204977
|
+
registerIconPacks as cw,
|
|
204978
|
+
unknownIcon as cx,
|
|
204979
|
+
invoke as cy,
|
|
204980
|
+
listen as cz,
|
|
203844
204981
|
foldInside as d,
|
|
203845
|
-
|
|
203846
|
-
|
|
203847
|
-
|
|
203848
|
-
|
|
203849
|
-
|
|
203850
|
-
|
|
203851
|
-
|
|
203852
|
-
|
|
203853
|
-
|
|
203854
|
-
|
|
203855
|
-
|
|
203856
|
-
|
|
203857
|
-
|
|
203858
|
-
|
|
203859
|
-
|
|
203860
|
-
|
|
203861
|
-
|
|
203862
|
-
|
|
203863
|
-
|
|
203864
|
-
|
|
203865
|
-
|
|
203866
|
-
|
|
203867
|
-
|
|
203868
|
-
|
|
203869
|
-
|
|
203870
|
-
|
|
203871
|
-
|
|
203872
|
-
|
|
203873
|
-
|
|
203874
|
-
|
|
203875
|
-
|
|
203876
|
-
|
|
203877
|
-
|
|
203878
|
-
|
|
203879
|
-
|
|
203880
|
-
|
|
203881
|
-
|
|
203882
|
-
|
|
203883
|
-
|
|
203884
|
-
|
|
203885
|
-
|
|
203886
|
-
|
|
203887
|
-
|
|
203888
|
-
|
|
203889
|
-
|
|
203890
|
-
|
|
203891
|
-
|
|
203892
|
-
|
|
203893
|
-
|
|
203894
|
-
|
|
203895
|
-
|
|
203896
|
-
|
|
203897
|
-
|
|
203898
|
-
|
|
203899
|
-
|
|
203900
|
-
isObjectLike$1 as dx,
|
|
203901
|
-
baseGetTag as dy,
|
|
203902
|
-
Symbol$1 as dz,
|
|
204982
|
+
timeSaturday as d0,
|
|
204983
|
+
timeFriday as d1,
|
|
204984
|
+
timeThursday as d2,
|
|
204985
|
+
timeWednesday as d3,
|
|
204986
|
+
timeTuesday as d4,
|
|
204987
|
+
timeMonday as d5,
|
|
204988
|
+
timeDay as d6,
|
|
204989
|
+
timeHour as d7,
|
|
204990
|
+
timeMinute as d8,
|
|
204991
|
+
second as d9,
|
|
204992
|
+
isArguments$1 as dA,
|
|
204993
|
+
copyObject as dB,
|
|
204994
|
+
getPrototype as dC,
|
|
204995
|
+
cloneArrayBuffer as dD,
|
|
204996
|
+
cloneTypedArray as dE,
|
|
204997
|
+
getTag$1 as dF,
|
|
204998
|
+
nodeUtil as dG,
|
|
204999
|
+
copyArray as dH,
|
|
205000
|
+
isBuffer$1 as dI,
|
|
205001
|
+
cloneBuffer as dJ,
|
|
205002
|
+
initCloneObject as dK,
|
|
205003
|
+
Stack as dL,
|
|
205004
|
+
MapCache as dM,
|
|
205005
|
+
Uint8Array$1 as dN,
|
|
205006
|
+
isTypedArray$1 as dO,
|
|
205007
|
+
isLength$1 as dP,
|
|
205008
|
+
Set$1 as dQ,
|
|
205009
|
+
createAssigner as dR,
|
|
205010
|
+
isPrototype as dS,
|
|
205011
|
+
router as dT,
|
|
205012
|
+
millisecond as da,
|
|
205013
|
+
isObject$2 as db,
|
|
205014
|
+
isIterateeCall$1 as dc,
|
|
205015
|
+
keysIn as dd,
|
|
205016
|
+
eq as de,
|
|
205017
|
+
isArrayLike$1 as df,
|
|
205018
|
+
isArray$1 as dg,
|
|
205019
|
+
identity$1 as dh,
|
|
205020
|
+
isIndex$1 as di,
|
|
205021
|
+
assignValue as dj,
|
|
205022
|
+
format as dk,
|
|
205023
|
+
styles2String as dl,
|
|
205024
|
+
isLabelStyle as dm,
|
|
205025
|
+
setToString as dn,
|
|
205026
|
+
overRest as dp,
|
|
205027
|
+
baseFor as dq,
|
|
205028
|
+
baseAssignValue as dr,
|
|
205029
|
+
baseUnary as ds,
|
|
205030
|
+
merge$1 as dt,
|
|
205031
|
+
isObjectLike$1 as du,
|
|
205032
|
+
baseGetTag as dv,
|
|
205033
|
+
Symbol$1 as dw,
|
|
205034
|
+
arrayLikeKeys as dx,
|
|
205035
|
+
baseKeys as dy,
|
|
205036
|
+
memoize as dz,
|
|
203903
205037
|
ifNotIn as e,
|
|
203904
205038
|
foldNodeProp as f,
|
|
203905
205039
|
completeFromList as g,
|
|
@@ -203913,13 +205047,13 @@ export {
|
|
|
203913
205047
|
useQuery as o,
|
|
203914
205048
|
trpc as p,
|
|
203915
205049
|
selectNeighbourBeforeRemove as q,
|
|
203916
|
-
|
|
205050
|
+
disposeTerminal as r,
|
|
203917
205051
|
styleTags as s,
|
|
203918
205052
|
tags$1 as t,
|
|
203919
205053
|
useAdapter as u,
|
|
203920
|
-
|
|
203921
|
-
|
|
203922
|
-
|
|
203923
|
-
|
|
203924
|
-
|
|
205054
|
+
centralPanelPosition as v,
|
|
205055
|
+
ensureEdgeGroups as w,
|
|
205056
|
+
attachEdgeGroupDragVisibility as x,
|
|
205057
|
+
registerInnerDockview as y,
|
|
205058
|
+
PanelVisibilityContext as z
|
|
203925
205059
|
};
|