@band-app/server 0.16.5 → 0.16.7

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.
Files changed (182) hide show
  1. package/dist/client/assets/DockviewTerminalContainer--NwTeN61.js +2 -0
  2. package/dist/client/assets/{TerminalPanel-BhRVApXV.js → TerminalPanel-Yvy5MdyT.js} +1 -1
  3. package/dist/client/assets/{_basePickBy-c80qER5q.js → _basePickBy-DSkuH0B8.js} +1 -1
  4. package/dist/client/assets/{_baseUniq-D6HsoNxP.js → _baseUniq-B83f4Eom.js} +1 -1
  5. package/dist/client/assets/arc-BEryZ_l1.js +1 -0
  6. package/dist/client/assets/architectureDiagram-VXUJARFQ-C5GyVONa.js +36 -0
  7. package/dist/client/assets/{blockDiagram-VD42YOAC-CElPV-Po.js → blockDiagram-VD42YOAC-BeqGoAV4.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-YG6GDRKO-D-Ez2oi5.js → c4Diagram-YG6GDRKO-DKCYpSQU.js} +1 -1
  9. package/dist/client/assets/channel-BCfwP47i.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-BLiMC92E.js → chunk-4BX2VUAB-BdJzJSPX.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-BZstF-fc.js → chunk-55IACEB6-xwxmYLnB.js} +1 -1
  12. package/dist/client/assets/{chunk-B4BG7PRW-CDdEw69e.js → chunk-B4BG7PRW-DYs57CfN.js} +6 -6
  13. package/dist/client/assets/{chunk-DI55MBZ5-C8tZi4fj.js → chunk-DI55MBZ5-ViVHdJcC.js} +3 -3
  14. package/dist/client/assets/{chunk-FMBD7UC4-BiNa1G42.js → chunk-FMBD7UC4-j5K2QzT5.js} +1 -1
  15. package/dist/client/assets/{chunk-QN33PNHL-Ctb2bnCM.js → chunk-QN33PNHL-CDBFzg6z.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-CB3ErEDu.js → chunk-QZHKN3VN-CKzO3otX.js} +1 -1
  17. package/dist/client/assets/{chunk-TZMSLE5B-A4wipVrB.js → chunk-TZMSLE5B-_-wtO4OU.js} +1 -1
  18. package/dist/client/assets/classDiagram-2ON5EDUG-Ck-9_6Sh.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-WZHVMYZB-Ck-9_6Sh.js +1 -0
  20. package/dist/client/assets/clone-B8ppUV2t.js +1 -0
  21. package/dist/client/assets/{cose-bilkent-S5V4N54A-C1idFGHM.js → cose-bilkent-S5V4N54A-o0Hh2w2L.js} +1 -1
  22. package/dist/client/assets/{dagre-6UL2VRFP-ByEXXyvY.js → dagre-6UL2VRFP-CkzIeqiD.js} +2 -2
  23. package/dist/client/assets/diagram-PSM6KHXK-DyWkZYjX.js +24 -0
  24. package/dist/client/assets/diagram-QEK2KX5R-Dfa-gDKJ.js +43 -0
  25. package/dist/client/assets/diagram-S2PKOQOG-BHKxfYPP.js +24 -0
  26. package/dist/client/assets/{erDiagram-Q2GNP2WA-D3rTWNAB.js → erDiagram-Q2GNP2WA-CeK7YD7R.js} +3 -3
  27. package/dist/client/assets/{flowDiagram-NV44I4VS-C5YNbVji.js → flowDiagram-NV44I4VS-BnfkXxKI.js} +3 -3
  28. package/dist/client/assets/ganttDiagram-JELNMOA3-C1Vixcm9.js +267 -0
  29. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-vqouPKOg.js +65 -0
  30. package/dist/client/assets/{graph-DVjuCnMx.js → graph-CJxD9Rwb.js} +1 -1
  31. package/dist/client/assets/highlighted-body-B3W2YXNL-B4xONt7e.js +1 -0
  32. package/dist/client/assets/{index-KQqtXMWs.js → index-B2uHfWgn.js} +1 -1
  33. package/dist/client/assets/{index-CJXnbhoj.js → index-BIgQyYOO.js} +1 -1
  34. package/dist/client/assets/{index-CtDW0XE-.js → index-BLJD1Qfd.js} +5 -5
  35. package/dist/client/assets/{index-CqI0kNA4.js → index-BMtcUqdQ.js} +1 -1
  36. package/dist/client/assets/{index-DP5iCQWL.js → index-BUcXVvua.js} +1 -1
  37. package/dist/client/assets/{index-EW253Rf0.js → index-BYo42cp6.js} +1 -1
  38. package/dist/client/assets/{index-BGGerb6U.js → index-BkcD-2xP.js} +1 -1
  39. package/dist/client/assets/{index-DOYEo6wL.js → index-BtVm-vdD.js} +1 -1
  40. package/dist/client/assets/index-CEqFOdis.js +1 -0
  41. package/dist/client/assets/index-CLkyf1MO.js +1 -0
  42. package/dist/client/assets/{index-BSjNk_J3.js → index-CkI7yHP3.js} +1 -1
  43. package/dist/client/assets/{index-Bnk6D2xf.js → index-CwM8J67a.js} +2 -2
  44. package/dist/client/assets/{index-h0vkFGv3.js → index-DCRRxNL0.js} +1 -1
  45. package/dist/client/assets/index-DK2zFoIy.js +13 -0
  46. package/dist/client/assets/{index-C7zoijJP.js → index-DWZvurT7.js} +1 -1
  47. package/dist/client/assets/index-KXaqK2y8.js +7 -0
  48. package/dist/client/assets/index-UcSQe1jE.js +3 -0
  49. package/dist/client/assets/{index-6PnZKFnP.js → index-uM_FSfN2.js} +1 -1
  50. package/dist/client/assets/{infoDiagram-HS3SLOUP-Bmz-Xb__.js → infoDiagram-HS3SLOUP-Df1cRKP4.js} +2 -2
  51. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Dfoejwur.js → journeyDiagram-XKPGCS4Q-CvqI26lD.js} +1 -1
  52. package/dist/client/assets/{kanban-definition-3W4ZIXB7-5hfn2oM4.js → kanban-definition-3W4ZIXB7-bk4ijIGG.js} +1 -1
  53. package/dist/client/assets/{layout-DRPkBchj.js → layout-K3_dXKbA.js} +1 -1
  54. package/dist/client/assets/{linear-Cp5BpSt4.js → linear-Dy1DIBMj.js} +1 -1
  55. package/dist/client/assets/{main-6QUeUSZt.js → main-BP7jBsL9.js} +226 -226
  56. package/dist/client/assets/{mindmap-definition-VGOIOE7T-jGUmEolP.js → mindmap-definition-VGOIOE7T-CwH7mXdR.js} +1 -1
  57. package/dist/client/assets/pieDiagram-ADFJNKIX-C5Y7wJkL.js +30 -0
  58. package/dist/client/assets/{quadrantDiagram-AYHSOK5B-BNLsXA77.js → quadrantDiagram-AYHSOK5B-DcDmj-JA.js} +3 -3
  59. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-C1DoquEA.js → requirementDiagram-UZGBJVZJ-DqUEcI9_.js} +1 -1
  60. package/dist/client/assets/sankeyDiagram-TZEHDZUN-C4ifh7st.js +10 -0
  61. package/dist/client/assets/{sequenceDiagram-WL72ISMW-C6d6qMfE.js → sequenceDiagram-WL72ISMW-0VMt9gVh.js} +1 -1
  62. package/dist/client/assets/{square-terminal-B2yL4SrP.js → square-terminal-M5bVEC10.js} +1 -1
  63. package/dist/client/assets/{stateDiagram-FKZM4ZOC-BpCD9RUb.js → stateDiagram-FKZM4ZOC-BF7eMbjf.js} +1 -1
  64. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-ZYvo1b9d.js +1 -0
  65. package/dist/client/assets/{timeline-definition-IT6M3QCI-DWnoj_qI.js → timeline-definition-IT6M3QCI-Bh8RNGIU.js} +1 -1
  66. package/dist/client/assets/{treemap-GDKQZRPO-DTlCxCoq.js → treemap-GDKQZRPO-BijVKWEc.js} +1 -1
  67. package/dist/client/assets/{useSessionListContext-CvTO2eyG.js → useSessionListContext-CZ9B_AN4.js} +1 -1
  68. package/dist/client/assets/{workspace._workspaceId-BWt8-Et-.js → workspace._workspaceId-H_XEjqr4.js} +1 -1
  69. package/dist/client/assets/{workspace._workspaceId.changes-D_J__EVY.js → workspace._workspaceId.changes-Cpc-Eeqo.js} +1 -1
  70. package/dist/client/assets/workspace._workspaceId.code-CJ3dmjBX.js +1 -0
  71. package/dist/client/assets/{workspace._workspaceId.code._-CNmEFwv8.js → workspace._workspaceId.code._-C9pTJgLm.js} +1 -1
  72. package/dist/client/assets/{workspace._workspaceId.code.index-DKZNc9qz.js → workspace._workspaceId.code.index-SqGiBZp0.js} +1 -1
  73. package/dist/client/assets/{workspace._workspaceId.index-B5bPwVAb.js → workspace._workspaceId.index-DOoEIYzO.js} +1 -1
  74. package/dist/client/assets/{workspace._workspaceId.terminal-Bj3CED3N.js → workspace._workspaceId.terminal-DkHKnJ_2.js} +2 -2
  75. package/dist/client/assets/{xychartDiagram-PRI3JC2R-DtNHBOId.js → xychartDiagram-PRI3JC2R-YnqaCgCs.js} +3 -3
  76. package/dist/server/assets/{DockviewTerminalContainer-Bll4PcvA.js → DockviewTerminalContainer-BmJNT7wr.js} +67 -31
  77. package/dist/server/assets/{TerminalPanel-IKlhJnhM.js → TerminalPanel-C9FjHKKG.js} +1 -1
  78. package/dist/server/assets/{_basePickBy-ygIDcJfW.js → _basePickBy-CCHYa1HW.js} +2 -2
  79. package/dist/server/assets/{_baseUniq-D4ICoDtJ.js → _baseUniq-Bn3dr_10.js} +1 -1
  80. package/dist/server/assets/{_tanstack-start-manifest_v-BstuzZf0.js → _tanstack-start-manifest_v-pKmxdPVC.js} +1 -1
  81. package/dist/server/assets/{arc-CdiO1t3s.js → arc-DoqdSN3e.js} +1 -1
  82. package/dist/server/assets/{architecture-7HQA4BMR-B_sm3Wzb.js → architecture-7HQA4BMR-BtKFOuTE.js} +6 -6
  83. package/dist/server/assets/{architectureDiagram-VXUJARFQ-BibOeUKV.js → architectureDiagram-VXUJARFQ-CLnWOrQy.js} +6 -6
  84. package/dist/server/assets/{blockDiagram-VD42YOAC-CwtU8h97.js → blockDiagram-VD42YOAC--2uZCxa1.js} +6 -6
  85. package/dist/server/assets/{c4Diagram-YG6GDRKO-XR2tLXgC.js → c4Diagram-YG6GDRKO-DOpP1zuh.js} +2 -2
  86. package/dist/server/assets/{channel-BV_K8qbY.js → channel-DZ-t3In9.js} +1 -1
  87. package/dist/server/assets/{chunk-4BX2VUAB-BllvRzpy.js → chunk-4BX2VUAB-8Lfnc00H.js} +1 -1
  88. package/dist/server/assets/{chunk-55IACEB6-BlVAUZVA.js → chunk-55IACEB6-CxHx4Yv4.js} +1 -1
  89. package/dist/server/assets/{chunk-B4BG7PRW-GkI4Par-.js → chunk-B4BG7PRW-BTCmrFIY.js} +4 -4
  90. package/dist/server/assets/{chunk-DI55MBZ5-BWHoeWbs.js → chunk-DI55MBZ5-DjWOVWnR.js} +3 -3
  91. package/dist/server/assets/{chunk-FMBD7UC4-Bt_AeF9P.js → chunk-FMBD7UC4-DhWXqlfo.js} +1 -1
  92. package/dist/server/assets/{chunk-QN33PNHL-CH9kZGdp.js → chunk-QN33PNHL-Bl1Mc_jb.js} +1 -1
  93. package/dist/server/assets/{chunk-QZHKN3VN-ClnoEEj3.js → chunk-QZHKN3VN-DUVAQWn6.js} +1 -1
  94. package/dist/server/assets/{chunk-TZMSLE5B-CxnP1T1e.js → chunk-TZMSLE5B-nYbcBlRl.js} +1 -1
  95. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-lCAgTHAi.js → classDiagram-2ON5EDUG-DwEggW8l.js} +5 -5
  96. package/dist/server/assets/{classDiagram-2ON5EDUG-lCAgTHAi.js → classDiagram-v2-WZHVMYZB-DwEggW8l.js} +5 -5
  97. package/dist/server/assets/{clone-Dwsyaktk.js → clone-bgwdWu5M.js} +1 -1
  98. package/dist/server/assets/{cose-bilkent-S5V4N54A-BV54BbPz.js → cose-bilkent-S5V4N54A-dREmM07k.js} +1 -1
  99. package/dist/server/assets/{dagre-6UL2VRFP-D4LmKaS4.js → dagre-6UL2VRFP-CGZN6KU8.js} +6 -6
  100. package/dist/server/assets/{diagram-PSM6KHXK--L22mSpe.js → diagram-PSM6KHXK-Cbxl33sq.js} +7 -7
  101. package/dist/server/assets/{diagram-QEK2KX5R-DQTJa47u.js → diagram-QEK2KX5R-BPZ7545L.js} +6 -6
  102. package/dist/server/assets/{diagram-S2PKOQOG-CxjhpCPa.js → diagram-S2PKOQOG-DDOL76-a.js} +6 -6
  103. package/dist/server/assets/{erDiagram-Q2GNP2WA-Dz7kPppa.js → erDiagram-Q2GNP2WA-DSeBsmFh.js} +4 -4
  104. package/dist/server/assets/{flowDiagram-NV44I4VS-DJgGpBz5.js → flowDiagram-NV44I4VS-DjhfxLqy.js} +5 -5
  105. package/dist/server/assets/{ganttDiagram-JELNMOA3-CPYvYSa4.js → ganttDiagram-JELNMOA3-okkT_yOx.js} +2 -2
  106. package/dist/server/assets/{gitGraph-G5XIXVHT-DuB1rRUb.js → gitGraph-G5XIXVHT-BV-yEFxR.js} +6 -6
  107. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-W4edn3xY.js → gitGraphDiagram-V2S2FVAM-Z450UhlU.js} +7 -7
  108. package/dist/server/assets/{graph-D566mZv5.js → graph-B6T8NfYq.js} +2 -2
  109. package/dist/server/assets/{highlighted-body-B3W2YXNL-xJFtWEVp.js → highlighted-body-B3W2YXNL-BZ3mYXQY.js} +1 -1
  110. package/dist/server/assets/{index-BHLwkFd2.js → index-B68GR2cW.js} +2 -2
  111. package/dist/server/assets/{index-DM-nAgk4.js → index-B898OypG.js} +2 -2
  112. package/dist/server/assets/{index-BaKSDcki.js → index-B9f0fXv4.js} +1 -1
  113. package/dist/server/assets/{index-CuOM5EHU.js → index-BA2FjXwo.js} +5 -5
  114. package/dist/server/assets/{index-CUVOzns7.js → index-BMpwokiG.js} +3 -3
  115. package/dist/server/assets/{index-PI2Is2Sx.js → index-BhA2MtFV.js} +5 -5
  116. package/dist/server/assets/{index-BgkFpGkP.js → index-CNywsCWa.js} +2 -2
  117. package/dist/server/assets/{index-DfOjVl1O.js → index-CPsDB1Mi.js} +4 -4
  118. package/dist/server/assets/{index-BYbR0n2W.js → index-CZAoRk9u.js} +2 -2
  119. package/dist/server/assets/{index-Bc16Gerz.js → index-DKMADihF.js} +3 -3
  120. package/dist/server/assets/{index-Dls0wmiV.js → index-DMCMWFpz.js} +2 -2
  121. package/dist/server/assets/{index-BdgdgO84.js → index-DdiG6bkF.js} +2 -2
  122. package/dist/server/assets/{index-DxVrKC4v.js → index-DlyTB_Fx.js} +2 -2
  123. package/dist/server/assets/{index-DTfv4J0E.js → index-Dv5TVqb0.js} +2 -2
  124. package/dist/server/assets/{index-CbflyKEY.js → index-UT8Dx3N4.js} +1 -1
  125. package/dist/server/assets/{index-B0cU8WIl.js → index-ZhQ5dlZr.js} +2 -2
  126. package/dist/server/assets/{index-CItYmpqB.js → index-nqn1WrEP.js} +2 -2
  127. package/dist/server/assets/{index-h-eLCOvF.js → index-zeqhLVEo.js} +2 -2
  128. package/dist/server/assets/{info-VBDWY6EO-DtJxQoIp.js → info-VBDWY6EO-BFyuTw2u.js} +6 -6
  129. package/dist/server/assets/{infoDiagram-HS3SLOUP-CyxWL490.js → infoDiagram-HS3SLOUP-D7pqJfBj.js} +5 -5
  130. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-Dc5Q8tYO.js → journeyDiagram-XKPGCS4Q-wknrg_5i.js} +4 -4
  131. package/dist/server/assets/{kanban-definition-3W4ZIXB7-Bc0hZIda.js → kanban-definition-3W4ZIXB7-C5mmx5oO.js} +2 -2
  132. package/dist/server/assets/{layout-CWaU6s7F.js → layout-Q42fYD2e.js} +4 -4
  133. package/dist/server/assets/{linear-B_akLDHJ.js → linear-D8mkoyNr.js} +1 -1
  134. package/dist/server/assets/{mermaid-3ZIDBTTL-DNktEu66.js → mermaid-3ZIDBTTL-DEkxCpDB.js} +1 -1
  135. package/dist/server/assets/{mermaid-parser.core-O-CPzush.js → mermaid-parser.core-B7OZZOmy.js} +11 -11
  136. package/dist/server/assets/{mindmap-definition-VGOIOE7T-DeHcXG3y.js → mindmap-definition-VGOIOE7T-ClhGOziq.js} +3 -3
  137. package/dist/server/assets/{packet-DYOGHKS2-Di_Bbs8R.js → packet-DYOGHKS2-DwOoAxon.js} +6 -6
  138. package/dist/server/assets/{pie-VRWISCQL-VkhgFLUu.js → pie-VRWISCQL-CFyth_ZI.js} +6 -6
  139. package/dist/server/assets/{pieDiagram-ADFJNKIX-Bt8gMAzI.js → pieDiagram-ADFJNKIX-sTPwXaWz.js} +7 -7
  140. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-CkLScgTN.js → quadrantDiagram-AYHSOK5B-BFO_bUP5.js} +2 -2
  141. package/dist/server/assets/{radar-ZZBFDIW7-Di0K_dKy.js → radar-ZZBFDIW7-DZd_gPoV.js} +6 -6
  142. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-CpxLeuJf.js → requirementDiagram-UZGBJVZJ-BpiSq8mq.js} +3 -3
  143. package/dist/server/assets/{router-BSNLe-03.js → router-LedB6_tA.js} +671 -417
  144. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-BVvkJ-IO.js → sankeyDiagram-TZEHDZUN-J-mhUKSN.js} +1 -1
  145. package/dist/server/assets/{sequenceDiagram-WL72ISMW-BN0gEf3n.js → sequenceDiagram-WL72ISMW-B8vBqD8p.js} +3 -3
  146. package/dist/server/assets/{square-terminal-D7EVmUB8.js → square-terminal-BIt9a9_h.js} +1 -1
  147. package/dist/server/assets/{stateDiagram-FKZM4ZOC-Bwpz1W9R.js → stateDiagram-FKZM4ZOC-D25YarQ3.js} +8 -8
  148. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-BGbhVvqq.js → stateDiagram-v2-4FDKWEC3-BXLv9TyU.js} +4 -4
  149. package/dist/server/assets/{timeline-definition-IT6M3QCI-_ka8DU-A.js → timeline-definition-IT6M3QCI-C-fN6hWS.js} +2 -2
  150. package/dist/server/assets/{treemap-GDKQZRPO-CwwiAhfb.js → treemap-GDKQZRPO-CRNmFc3O.js} +6 -6
  151. package/dist/server/assets/{workspace._workspaceId-CIq36nwA.js → workspace._workspaceId--mv8yNcN.js} +2 -2
  152. package/dist/server/assets/{workspace._workspaceId.changes-CVtsWLoB.js → workspace._workspaceId.changes-BQG3-25y.js} +1 -1
  153. package/dist/server/assets/{workspace._workspaceId.code._-Csm4PZtI.js → workspace._workspaceId.code._-bko0jWWb.js} +1 -1
  154. package/dist/server/assets/{workspace._workspaceId.code.index-CrMeyYle.js → workspace._workspaceId.code.index-BXAZupNZ.js} +1 -1
  155. package/dist/server/assets/{workspace._workspaceId.index-B0viRF4D.js → workspace._workspaceId.index-kYTq7KgZ.js} +1 -1
  156. package/dist/server/assets/{workspace._workspaceId.terminal-okMbKopb.js → workspace._workspaceId.terminal-ulwO6F6c.js} +2 -2
  157. package/dist/server/assets/{xychartDiagram-PRI3JC2R-aUuJsvtx.js → xychartDiagram-PRI3JC2R-BrazS5vf.js} +2 -2
  158. package/dist/server/server.js +2 -2
  159. package/dist/start-server.mjs +0 -46
  160. package/package.json +5 -5
  161. package/dist/client/assets/DockviewTerminalContainer-DfCJkZQC.js +0 -2
  162. package/dist/client/assets/arc-CujcfFkD.js +0 -1
  163. package/dist/client/assets/architectureDiagram-VXUJARFQ-oGNDzN4m.js +0 -36
  164. package/dist/client/assets/channel-CiZXnzJx.js +0 -1
  165. package/dist/client/assets/classDiagram-2ON5EDUG-DgdhjkO3.js +0 -1
  166. package/dist/client/assets/classDiagram-v2-WZHVMYZB-DgdhjkO3.js +0 -1
  167. package/dist/client/assets/clone-CB2_QiZ0.js +0 -1
  168. package/dist/client/assets/diagram-PSM6KHXK-yI5g50Ot.js +0 -24
  169. package/dist/client/assets/diagram-QEK2KX5R-HNUlMgF8.js +0 -43
  170. package/dist/client/assets/diagram-S2PKOQOG-7d9z3LG-.js +0 -24
  171. package/dist/client/assets/ganttDiagram-JELNMOA3-DDq2IXik.js +0 -267
  172. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-D4ILY22r.js +0 -65
  173. package/dist/client/assets/highlighted-body-B3W2YXNL-DWOBvM3Q.js +0 -1
  174. package/dist/client/assets/index-BJLLzMpc.js +0 -13
  175. package/dist/client/assets/index-Bog2rQQu.js +0 -1
  176. package/dist/client/assets/index-CgJOnZaM.js +0 -3
  177. package/dist/client/assets/index-DYqrgoYb.js +0 -7
  178. package/dist/client/assets/index-Dn8sq-SF.js +0 -1
  179. package/dist/client/assets/pieDiagram-ADFJNKIX-CybkTtny.js +0 -30
  180. package/dist/client/assets/sankeyDiagram-TZEHDZUN-Cdx23Ckv.js +0 -10
  181. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-ecpRnMiQ.js +0 -1
  182. package/dist/client/assets/workspace._workspaceId.code-C1T8aa35.js +0 -1
@@ -40520,53 +40520,53 @@ async function loadLanguage(lang) {
40520
40520
  try {
40521
40521
  switch (lang) {
40522
40522
  case "javascript":
40523
- return import("./index-h-eLCOvF.js").then((m2) => m2.javascript());
40523
+ return import("./index-zeqhLVEo.js").then((m2) => m2.javascript());
40524
40524
  case "jsx":
40525
- return import("./index-h-eLCOvF.js").then((m2) => m2.javascript({ jsx: true }));
40525
+ return import("./index-zeqhLVEo.js").then((m2) => m2.javascript({ jsx: true }));
40526
40526
  case "typescript":
40527
- return import("./index-h-eLCOvF.js").then(
40527
+ return import("./index-zeqhLVEo.js").then(
40528
40528
  (m2) => m2.javascript({ typescript: true })
40529
40529
  );
40530
40530
  case "tsx":
40531
- return import("./index-h-eLCOvF.js").then(
40531
+ return import("./index-zeqhLVEo.js").then(
40532
40532
  (m2) => m2.javascript({ jsx: true, typescript: true })
40533
40533
  );
40534
40534
  case "python":
40535
- return import("./index-DM-nAgk4.js").then((m2) => m2.python());
40535
+ return import("./index-B898OypG.js").then((m2) => m2.python());
40536
40536
  case "html":
40537
- return import("./index-DfOjVl1O.js").then((m2) => m2.html());
40537
+ return import("./index-CPsDB1Mi.js").then((m2) => m2.html());
40538
40538
  case "css":
40539
- return import("./index-DxVrKC4v.js").then((m2) => m2.css());
40539
+ return import("./index-DlyTB_Fx.js").then((m2) => m2.css());
40540
40540
  case "scss":
40541
40541
  case "sass":
40542
- return import("./index-CUVOzns7.js").then((m2) => m2.sass());
40542
+ return import("./index-BMpwokiG.js").then((m2) => m2.sass());
40543
40543
  case "less":
40544
- return import("./index-Bc16Gerz.js").then((m2) => m2.less());
40544
+ return import("./index-DKMADihF.js").then((m2) => m2.less());
40545
40545
  case "json":
40546
40546
  case "jsonc":
40547
- return import("./index-BYbR0n2W.js").then((m2) => m2.json());
40547
+ return import("./index-CZAoRk9u.js").then((m2) => m2.json());
40548
40548
  case "markdown":
40549
40549
  case "mdx":
40550
- return import("./index-CuOM5EHU.js").then((m2) => m2.markdown());
40550
+ return import("./index-BA2FjXwo.js").then((m2) => m2.markdown());
40551
40551
  case "xml":
40552
- return import("./index-B0cU8WIl.js").then((m2) => m2.xml());
40552
+ return import("./index-ZhQ5dlZr.js").then((m2) => m2.xml());
40553
40553
  case "yaml":
40554
- return import("./index-DTfv4J0E.js").then((m2) => m2.yaml());
40554
+ return import("./index-Dv5TVqb0.js").then((m2) => m2.yaml());
40555
40555
  case "sql":
40556
- return import("./index-BdgdgO84.js").then((m2) => m2.sql());
40556
+ return import("./index-DdiG6bkF.js").then((m2) => m2.sql());
40557
40557
  case "rust":
40558
- return import("./index-CItYmpqB.js").then((m2) => m2.rust());
40558
+ return import("./index-nqn1WrEP.js").then((m2) => m2.rust());
40559
40559
  case "go":
40560
- return import("./index-Dls0wmiV.js").then((m2) => m2.go());
40560
+ return import("./index-DMCMWFpz.js").then((m2) => m2.go());
40561
40561
  case "java":
40562
- return import("./index-BgkFpGkP.js").then((m2) => m2.java());
40562
+ return import("./index-CNywsCWa.js").then((m2) => m2.java());
40563
40563
  case "kotlin":
40564
- return import("./index-BgkFpGkP.js").then((m2) => m2.java());
40564
+ return import("./index-CNywsCWa.js").then((m2) => m2.java());
40565
40565
  case "c":
40566
40566
  case "cpp":
40567
- return import("./index-BHLwkFd2.js").then((m2) => m2.cpp());
40567
+ return import("./index-B68GR2cW.js").then((m2) => m2.cpp());
40568
40568
  case "php":
40569
- return import("./index-PI2Is2Sx.js").then((m2) => m2.php());
40569
+ return import("./index-BhA2MtFV.js").then((m2) => m2.php());
40570
40570
  // Legacy modes via StreamLanguage
40571
40571
  case "bash":
40572
40572
  case "fish":
@@ -53215,7 +53215,6 @@ function ensureSprite() {
53215
53215
  document.body.appendChild(root2);
53216
53216
  spriteInjected = true;
53217
53217
  }
53218
- ensureSprite();
53219
53218
  function symbolIdForIcon(iconName) {
53220
53219
  const iconPath = resolveIconPath(iconName);
53221
53220
  if (!iconPath) return null;
@@ -54066,11 +54065,13 @@ function LazyFileRow({
54066
54065
  onShowFullFile,
54067
54066
  onOpenFile,
54068
54067
  onRevertFile,
54069
- onEditorViews
54068
+ onEditorViews,
54069
+ onMeasureHeight
54070
54070
  }) {
54071
54071
  const [copied, setCopied] = reactExports.useState(false);
54072
54072
  const [revertDialogOpen, setRevertDialogOpen] = reactExports.useState(false);
54073
54073
  const containerRef = reactExports.useRef(null);
54074
+ const diffBodyRef = reactExports.useRef(null);
54074
54075
  const [shouldMount, setShouldMount] = reactExports.useState(false);
54075
54076
  reactExports.useEffect(() => {
54076
54077
  if (!isOpen) {
@@ -54083,7 +54084,10 @@ function LazyFileRow({
54083
54084
  const observer = new IntersectionObserver(
54084
54085
  (entries2) => {
54085
54086
  const entry = entries2[entries2.length - 1];
54086
- if (entry) setShouldMount(entry.isIntersecting);
54087
+ if (!entry) return;
54088
+ const root2 = entry.rootBounds;
54089
+ if (root2 && root2.width === 0 && root2.height === 0) return;
54090
+ setShouldMount(entry.isIntersecting);
54087
54091
  },
54088
54092
  {
54089
54093
  root: scrollContainerEl,
@@ -54097,6 +54101,33 @@ function LazyFileRow({
54097
54101
  observer.observe(el);
54098
54102
  return () => observer.disconnect();
54099
54103
  }, [isOpen, scrollContainerEl]);
54104
+ reactExports.useEffect(() => {
54105
+ if (!shouldMount || !onMeasureHeight) return;
54106
+ const el = diffBodyRef.current;
54107
+ if (!el) return;
54108
+ if (typeof ResizeObserver === "undefined") return;
54109
+ let frame2 = null;
54110
+ let lastReported = null;
54111
+ const observer = new ResizeObserver((entries2) => {
54112
+ const entry = entries2[entries2.length - 1];
54113
+ if (!entry) return;
54114
+ const reported = entry.borderBoxSize?.[0]?.blockSize ?? entry.contentRect.height;
54115
+ const height = Math.round(reported);
54116
+ if (height === 0) return;
54117
+ if (height === lastReported) return;
54118
+ lastReported = height;
54119
+ if (frame2 != null) cancelAnimationFrame(frame2);
54120
+ frame2 = requestAnimationFrame(() => {
54121
+ frame2 = null;
54122
+ onMeasureHeight(filename, height);
54123
+ });
54124
+ });
54125
+ observer.observe(el);
54126
+ return () => {
54127
+ if (frame2 != null) cancelAnimationFrame(frame2);
54128
+ observer.disconnect();
54129
+ };
54130
+ }, [shouldMount, filename, onMeasureHeight]);
54100
54131
  const handleEditorViews = reactExports.useCallback(
54101
54132
  (views) => {
54102
54133
  onEditorViews?.(filename, views);
@@ -54118,7 +54149,9 @@ function LazyFileRow({
54118
54149
  const isUntracked = status === "U";
54119
54150
  const canLoadMore = !isUntracked && getNextContextStep(contextLines) !== null;
54120
54151
  const placeholderHeight = reactExports.useMemo(() => {
54121
- if (!isOpen || !cacheEntry?.lineCounts) return 0;
54152
+ if (!isOpen || !cacheEntry) return 0;
54153
+ if (cacheEntry.measuredHeight != null) return cacheEntry.measuredHeight;
54154
+ if (!cacheEntry.lineCounts) return 0;
54122
54155
  return diffContentHeight(cacheEntry.lineCounts, viewMode, canLoadMore);
54123
54156
  }, [isOpen, cacheEntry, viewMode, canLoadMore]);
54124
54157
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -54236,27 +54269,34 @@ function LazyFileRow({
54236
54269
  ),
54237
54270
  isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-t border-border/20 bg-muted/30", children: [
54238
54271
  diffError && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-4 py-4 text-sm text-destructive", children: diffError }),
54239
- diff2 !== null && (shouldMount ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
54240
- canLoadMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center border-b border-border/20 px-4 py-1.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
54241
- "button",
54242
- {
54243
- type: "button",
54244
- onClick: () => onShowFullFile(filename),
54245
- className: "text-xs text-muted-foreground transition-colors hover:text-foreground",
54246
- children: "Show full file"
54247
- }
54248
- ) }),
54249
- /* @__PURE__ */ jsxRuntimeExports.jsx(
54250
- DiffFileContent,
54251
- {
54252
- hunks: diff2,
54253
- filename,
54254
- viewMode,
54255
- onEditorViews: handleEditorViews,
54256
- onLoadMoreContext: canLoadMore ? () => onLoadMoreContext(filename) : void 0
54257
- }
54258
- )
54259
- ] }) : (
54272
+ diff2 !== null && (shouldMount ? (
54273
+ // Wrapper is observed by the ResizeObserver in the effect
54274
+ // above. Its rendered height — "Show full file" bar plus the
54275
+ // CodeMirror editor — is reported back as
54276
+ // `measuredHeight`, then reused verbatim as the placeholder
54277
+ // height on the next unmount cycle.
54278
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref: diffBodyRef, children: [
54279
+ canLoadMore && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center justify-center border-b border-border/20 px-4 py-1.5", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
54280
+ "button",
54281
+ {
54282
+ type: "button",
54283
+ onClick: () => onShowFullFile(filename),
54284
+ className: "text-xs text-muted-foreground transition-colors hover:text-foreground",
54285
+ children: "Show full file"
54286
+ }
54287
+ ) }),
54288
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
54289
+ DiffFileContent,
54290
+ {
54291
+ hunks: diff2,
54292
+ filename,
54293
+ viewMode,
54294
+ onEditorViews: handleEditorViews,
54295
+ onLoadMoreContext: canLoadMore ? () => onLoadMoreContext(filename) : void 0
54296
+ }
54297
+ )
54298
+ ] })
54299
+ ) : (
54260
54300
  // Placeholder occupying the SAME pixel height the CodeMirror
54261
54301
  // editor would render at, so the row's overall size doesn't
54262
54302
  // change when the observer mounts/unmounts the editor. Without
@@ -54331,6 +54371,17 @@ function DiffView({
54331
54371
  const setViewMode = reactExports.useCallback((mode) => {
54332
54372
  setViewModeState(mode);
54333
54373
  storeViewMode(mode);
54374
+ setDiffCache((prev2) => {
54375
+ let changed = false;
54376
+ const next2 = new Map(prev2);
54377
+ for (const [filename, entry] of prev2) {
54378
+ if (entry.measuredHeight != null) {
54379
+ next2.set(filename, { ...entry, measuredHeight: null });
54380
+ changed = true;
54381
+ }
54382
+ }
54383
+ return changed ? next2 : prev2;
54384
+ });
54334
54385
  }, []);
54335
54386
  reactExports.useEffect(() => {
54336
54387
  const stored = readStoredCompareBranch(workspaceId);
@@ -54512,6 +54563,16 @@ function DiffView({
54512
54563
  },
54513
54564
  [search2.dispatchToViews]
54514
54565
  );
54566
+ const handleMeasureHeight = reactExports.useCallback((filename, height) => {
54567
+ setDiffCache((prev2) => {
54568
+ const existing = prev2.get(filename);
54569
+ if (!existing) return prev2;
54570
+ if (existing.measuredHeight === height) return prev2;
54571
+ const next2 = new Map(prev2);
54572
+ next2.set(filename, { ...existing, measuredHeight: height });
54573
+ return next2;
54574
+ });
54575
+ }, []);
54515
54576
  const fetchFileDiff = reactExports.useCallback(
54516
54577
  (filename, mergeBase, contextLines = 3) => {
54517
54578
  const getFileDiff = adapter2.getFileDiff;
@@ -54527,7 +54588,8 @@ function DiffView({
54527
54588
  loadingDiff: true,
54528
54589
  diffError: null,
54529
54590
  contextLines,
54530
- lineCounts: null
54591
+ lineCounts: null,
54592
+ measuredHeight: null
54531
54593
  });
54532
54594
  return next2;
54533
54595
  });
@@ -54553,7 +54615,13 @@ function DiffView({
54553
54615
  // Pre-compute line counts now (off the render path) so the
54554
54616
  // virtualizer's estimateSize stays O(1) when it's called
54555
54617
  // repeatedly during scroll.
54556
- lineCounts: countDiffLines(result.diff)
54618
+ lineCounts: countDiffLines(result.diff),
54619
+ // Preserve any previously measured height across diff refreshes
54620
+ // (e.g. the user clicks "Show full file" while CM is mounted).
54621
+ // It'll be re-measured by the ResizeObserver on the next render,
54622
+ // but holding the old value avoids a one-frame collapse to the
54623
+ // estimate-only height.
54624
+ measuredHeight: existing?.measuredHeight ?? null
54557
54625
  });
54558
54626
  return next2;
54559
54627
  });
@@ -54566,7 +54634,8 @@ function DiffView({
54566
54634
  loadingDiff: false,
54567
54635
  diffError: err instanceof Error ? err.message : "Failed to load diff",
54568
54636
  contextLines: existing?.contextLines ?? contextLines,
54569
- lineCounts: existing?.lineCounts ?? null
54637
+ lineCounts: existing?.lineCounts ?? null,
54638
+ measuredHeight: existing?.measuredHeight ?? null
54570
54639
  });
54571
54640
  return next2;
54572
54641
  });
@@ -54901,26 +54970,46 @@ function DiffView({
54901
54970
  if (shouldDispatchFetch(diffCacheRef.current.get(target))) {
54902
54971
  fetchFileDiff(target);
54903
54972
  }
54904
- let frame2 = null;
54905
- const frame1 = requestAnimationFrame(() => {
54906
- frame2 = requestAnimationFrame(() => {
54907
- const container = scrollContainerRef.current;
54908
- if (!container) return;
54909
- const el = container.querySelector(
54910
- `[data-band-diff-file="${CSS.escape(target)}"]`
54911
- );
54912
- if (!el) return;
54913
- const elTop = el.getBoundingClientRect().top;
54914
- const containerTop = container.getBoundingClientRect().top;
54915
- container.scrollTo({
54916
- top: container.scrollTop + (elTop - containerTop),
54917
- behavior: "instant"
54918
- });
54973
+ const TOLERANCE_PX = 1;
54974
+ const STABLE_FRAMES = 5;
54975
+ const MAX_DURATION_MS = 2e3;
54976
+ let frameId = null;
54977
+ let stableFrames = 0;
54978
+ const startedAt = performance.now();
54979
+ const align = () => {
54980
+ frameId = null;
54981
+ const container = scrollContainerRef.current;
54982
+ if (!container) return;
54983
+ const el = container.querySelector(
54984
+ `[data-band-diff-file="${CSS.escape(target)}"]`
54985
+ );
54986
+ if (!el) return;
54987
+ const elTop = el.getBoundingClientRect().top;
54988
+ const containerTop = container.getBoundingClientRect().top;
54989
+ const delta = elTop - containerTop;
54990
+ if (Math.abs(delta) <= TOLERANCE_PX) {
54991
+ stableFrames += 1;
54992
+ if (stableFrames >= STABLE_FRAMES) return;
54993
+ } else {
54994
+ stableFrames = 0;
54995
+ container.scrollTop = container.scrollTop + delta;
54996
+ }
54997
+ if (performance.now() - startedAt > MAX_DURATION_MS) return;
54998
+ frameId = requestAnimationFrame(align);
54999
+ };
55000
+ let priming1 = null;
55001
+ let priming2 = null;
55002
+ priming1 = requestAnimationFrame(() => {
55003
+ priming1 = null;
55004
+ priming2 = requestAnimationFrame(() => {
55005
+ priming2 = null;
55006
+ align();
54919
55007
  });
54920
55008
  });
54921
55009
  return () => {
54922
- cancelAnimationFrame(frame1);
54923
- if (frame2 !== null) cancelAnimationFrame(frame2);
55010
+ if (priming1 !== null) cancelAnimationFrame(priming1);
55011
+ if (priming2 !== null) cancelAnimationFrame(priming2);
55012
+ if (frameId !== null) cancelAnimationFrame(frameId);
54924
55013
  };
54925
55014
  }, [focusedFile, focusedLineCounts, fetchFileDiff]);
54926
55015
  if (isPlain) {
@@ -55224,7 +55313,8 @@ function DiffView({
55224
55313
  onShowFullFile: handleShowFullFile,
55225
55314
  onOpenFile,
55226
55315
  onRevertFile: adapter2.revertFile ? handleRevertFile : void 0,
55227
- onEditorViews: handleEditorViews
55316
+ onEditorViews: handleEditorViews,
55317
+ onMeasureHeight: handleMeasureHeight
55228
55318
  },
55229
55319
  filename
55230
55320
  );
@@ -108031,7 +108121,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
108031
108121
  var et$1 = ({ className: e2, 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", e2), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
108032
108122
  var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
108033
108123
  var ot$1 = ({ language: e2 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e2, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e2 }) });
108034
- var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-xJFtWEVp.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
108124
+ var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-BZ3mYXQY.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
108035
108125
  let i2 = reactExports.useMemo(() => e2.replace(cn, ""), [e2]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
108036
108126
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
108037
108127
  return jsxRuntimeExports.jsx(Se$1.Provider, { value: { code: e2 }, 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 }) })] }) });
@@ -108353,7 +108443,7 @@ var Dt = ({ children: e2, className: t2, onDownload: o3, onError: n2 }) => {
108353
108443
  }, []), 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: e2 != null ? e2 : 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] });
108354
108444
  };
108355
108445
  var Vt = ({ children: e2, 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: e2 }) })] });
108356
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DNktEu66.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
108446
+ var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DEkxCpDB.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
108357
108447
  function ke$1(e2, t2) {
108358
108448
  if (!(e2 != null && e2.position || t2 != null && t2.position)) return true;
108359
108449
  if (!(e2 != null && e2.position && (t2 != null && t2.position))) return false;
@@ -158155,12 +158245,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
158155
158245
  registerLayoutLoaders([
158156
158246
  {
158157
158247
  name: "dagre",
158158
- loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-D4LmKaS4.js"), "loader")
158248
+ loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CGZN6KU8.js"), "loader")
158159
158249
  },
158160
158250
  ...[
158161
158251
  {
158162
158252
  name: "cose-bilkent",
158163
- loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-BV54BbPz.js"), "loader")
158253
+ loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-dREmM07k.js"), "loader")
158164
158254
  }
158165
158255
  ]
158166
158256
  ]);
@@ -158599,7 +158689,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
158599
158689
  return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
158600
158690
  }, "detector");
158601
158691
  var loader = /* @__PURE__ */ __name(async () => {
158602
- const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-XR2tLXgC.js");
158692
+ const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-DOpP1zuh.js");
158603
158693
  return { id, diagram: diagram2 };
158604
158694
  }, "loader");
158605
158695
  var plugin = {
@@ -158616,7 +158706,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
158616
158706
  return /^\s*graph/.test(txt);
158617
158707
  }, "detector");
158618
158708
  var loader2 = /* @__PURE__ */ __name(async () => {
158619
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DJgGpBz5.js");
158709
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158620
158710
  return { id: id2, diagram: diagram2 };
158621
158711
  }, "loader");
158622
158712
  var plugin2 = {
@@ -158639,7 +158729,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
158639
158729
  return /^\s*flowchart/.test(txt);
158640
158730
  }, "detector");
158641
158731
  var loader3 = /* @__PURE__ */ __name(async () => {
158642
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DJgGpBz5.js");
158732
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158643
158733
  return { id: id3, diagram: diagram2 };
158644
158734
  }, "loader");
158645
158735
  var plugin3 = {
@@ -158653,7 +158743,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
158653
158743
  return /^\s*erDiagram/.test(txt);
158654
158744
  }, "detector");
158655
158745
  var loader4 = /* @__PURE__ */ __name(async () => {
158656
- const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-Dz7kPppa.js");
158746
+ const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DSeBsmFh.js");
158657
158747
  return { id: id4, diagram: diagram2 };
158658
158748
  }, "loader");
158659
158749
  var plugin4 = {
@@ -158667,7 +158757,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
158667
158757
  return /^\s*gitGraph/.test(txt);
158668
158758
  }, "detector");
158669
158759
  var loader5 = /* @__PURE__ */ __name(async () => {
158670
- const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-W4edn3xY.js");
158760
+ const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-Z450UhlU.js");
158671
158761
  return { id: id5, diagram: diagram2 };
158672
158762
  }, "loader");
158673
158763
  var plugin5 = {
@@ -158681,7 +158771,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
158681
158771
  return /^\s*gantt/.test(txt);
158682
158772
  }, "detector");
158683
158773
  var loader6 = /* @__PURE__ */ __name(async () => {
158684
- const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-CPYvYSa4.js");
158774
+ const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-okkT_yOx.js");
158685
158775
  return { id: id6, diagram: diagram2 };
158686
158776
  }, "loader");
158687
158777
  var plugin6 = {
@@ -158695,7 +158785,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
158695
158785
  return /^\s*info/.test(txt);
158696
158786
  }, "detector");
158697
158787
  var loader7 = /* @__PURE__ */ __name(async () => {
158698
- const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-CyxWL490.js");
158788
+ const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-D7pqJfBj.js");
158699
158789
  return { id: id7, diagram: diagram2 };
158700
158790
  }, "loader");
158701
158791
  var info = {
@@ -158708,7 +158798,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
158708
158798
  return /^\s*pie/.test(txt);
158709
158799
  }, "detector");
158710
158800
  var loader8 = /* @__PURE__ */ __name(async () => {
158711
- const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-Bt8gMAzI.js");
158801
+ const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-sTPwXaWz.js");
158712
158802
  return { id: id8, diagram: diagram2 };
158713
158803
  }, "loader");
158714
158804
  var pie = {
@@ -158721,7 +158811,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
158721
158811
  return /^\s*quadrantChart/.test(txt);
158722
158812
  }, "detector");
158723
158813
  var loader9 = /* @__PURE__ */ __name(async () => {
158724
- const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-CkLScgTN.js");
158814
+ const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-BFO_bUP5.js");
158725
158815
  return { id: id9, diagram: diagram2 };
158726
158816
  }, "loader");
158727
158817
  var plugin7 = {
@@ -158735,7 +158825,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
158735
158825
  return /^\s*xychart(-beta)?/.test(txt);
158736
158826
  }, "detector");
158737
158827
  var loader10 = /* @__PURE__ */ __name(async () => {
158738
- const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-aUuJsvtx.js");
158828
+ const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-BrazS5vf.js");
158739
158829
  return { id: id10, diagram: diagram2 };
158740
158830
  }, "loader");
158741
158831
  var plugin8 = {
@@ -158749,7 +158839,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
158749
158839
  return /^\s*requirement(Diagram)?/.test(txt);
158750
158840
  }, "detector");
158751
158841
  var loader11 = /* @__PURE__ */ __name(async () => {
158752
- const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-CpxLeuJf.js");
158842
+ const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-BpiSq8mq.js");
158753
158843
  return { id: id11, diagram: diagram2 };
158754
158844
  }, "loader");
158755
158845
  var plugin9 = {
@@ -158763,7 +158853,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
158763
158853
  return /^\s*sequenceDiagram/.test(txt);
158764
158854
  }, "detector");
158765
158855
  var loader12 = /* @__PURE__ */ __name(async () => {
158766
- const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-BN0gEf3n.js");
158856
+ const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-B8vBqD8p.js");
158767
158857
  return { id: id12, diagram: diagram2 };
158768
158858
  }, "loader");
158769
158859
  var plugin10 = {
@@ -158780,7 +158870,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
158780
158870
  return /^\s*classDiagram/.test(txt);
158781
158871
  }, "detector");
158782
158872
  var loader13 = /* @__PURE__ */ __name(async () => {
158783
- const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-lCAgTHAi.js");
158873
+ const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-DwEggW8l.js");
158784
158874
  return { id: id13, diagram: diagram2 };
158785
158875
  }, "loader");
158786
158876
  var plugin11 = {
@@ -158797,7 +158887,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
158797
158887
  return /^\s*classDiagram-v2/.test(txt);
158798
158888
  }, "detector");
158799
158889
  var loader14 = /* @__PURE__ */ __name(async () => {
158800
- const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-lCAgTHAi.js");
158890
+ const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-DwEggW8l.js");
158801
158891
  return { id: id14, diagram: diagram2 };
158802
158892
  }, "loader");
158803
158893
  var plugin12 = {
@@ -158814,7 +158904,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
158814
158904
  return /^\s*stateDiagram/.test(txt);
158815
158905
  }, "detector");
158816
158906
  var loader15 = /* @__PURE__ */ __name(async () => {
158817
- const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-Bwpz1W9R.js");
158907
+ const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-D25YarQ3.js");
158818
158908
  return { id: id15, diagram: diagram2 };
158819
158909
  }, "loader");
158820
158910
  var plugin13 = {
@@ -158834,7 +158924,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
158834
158924
  return false;
158835
158925
  }, "detector");
158836
158926
  var loader16 = /* @__PURE__ */ __name(async () => {
158837
- const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-BGbhVvqq.js");
158927
+ const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-BXLv9TyU.js");
158838
158928
  return { id: id16, diagram: diagram2 };
158839
158929
  }, "loader");
158840
158930
  var plugin14 = {
@@ -158848,7 +158938,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
158848
158938
  return /^\s*journey/.test(txt);
158849
158939
  }, "detector");
158850
158940
  var loader17 = /* @__PURE__ */ __name(async () => {
158851
- const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-Dc5Q8tYO.js");
158941
+ const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-wknrg_5i.js");
158852
158942
  return { id: id17, diagram: diagram2 };
158853
158943
  }, "loader");
158854
158944
  var plugin15 = {
@@ -158915,7 +159005,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
158915
159005
  return false;
158916
159006
  }, "detector");
158917
159007
  var loader18 = /* @__PURE__ */ __name(async () => {
158918
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DJgGpBz5.js");
159008
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158919
159009
  return { id: id18, diagram: diagram2 };
158920
159010
  }, "loader");
158921
159011
  var plugin16 = {
@@ -158929,7 +159019,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
158929
159019
  return /^\s*timeline/.test(txt);
158930
159020
  }, "detector");
158931
159021
  var loader19 = /* @__PURE__ */ __name(async () => {
158932
- const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-_ka8DU-A.js");
159022
+ const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-C-fN6hWS.js");
158933
159023
  return { id: id19, diagram: diagram2 };
158934
159024
  }, "loader");
158935
159025
  var plugin17 = {
@@ -158943,7 +159033,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
158943
159033
  return /^\s*mindmap/.test(txt);
158944
159034
  }, "detector");
158945
159035
  var loader20 = /* @__PURE__ */ __name(async () => {
158946
- const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-DeHcXG3y.js");
159036
+ const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-ClhGOziq.js");
158947
159037
  return { id: id20, diagram: diagram2 };
158948
159038
  }, "loader");
158949
159039
  var plugin18 = {
@@ -158957,7 +159047,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
158957
159047
  return /^\s*kanban/.test(txt);
158958
159048
  }, "detector");
158959
159049
  var loader21 = /* @__PURE__ */ __name(async () => {
158960
- const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-Bc0hZIda.js");
159050
+ const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-C5mmx5oO.js");
158961
159051
  return { id: id21, diagram: diagram2 };
158962
159052
  }, "loader");
158963
159053
  var plugin19 = {
@@ -158971,7 +159061,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
158971
159061
  return /^\s*sankey(-beta)?/.test(txt);
158972
159062
  }, "detector");
158973
159063
  var loader22 = /* @__PURE__ */ __name(async () => {
158974
- const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-BVvkJ-IO.js");
159064
+ const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-J-mhUKSN.js");
158975
159065
  return { id: id22, diagram: diagram2 };
158976
159066
  }, "loader");
158977
159067
  var plugin20 = {
@@ -158985,7 +159075,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
158985
159075
  return /^\s*packet(-beta)?/.test(txt);
158986
159076
  }, "detector");
158987
159077
  var loader23 = /* @__PURE__ */ __name(async () => {
158988
- const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-CxjhpCPa.js");
159078
+ const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-DDOL76-a.js");
158989
159079
  return { id: id23, diagram: diagram2 };
158990
159080
  }, "loader");
158991
159081
  var packet = {
@@ -158998,7 +159088,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
158998
159088
  return /^\s*radar-beta/.test(txt);
158999
159089
  }, "detector");
159000
159090
  var loader24 = /* @__PURE__ */ __name(async () => {
159001
- const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-DQTJa47u.js");
159091
+ const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-BPZ7545L.js");
159002
159092
  return { id: id24, diagram: diagram2 };
159003
159093
  }, "loader");
159004
159094
  var radar = {
@@ -159011,7 +159101,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
159011
159101
  return /^\s*block(-beta)?/.test(txt);
159012
159102
  }, "detector");
159013
159103
  var loader25 = /* @__PURE__ */ __name(async () => {
159014
- const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-CwtU8h97.js");
159104
+ const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC--2uZCxa1.js");
159015
159105
  return { id: id25, diagram: diagram2 };
159016
159106
  }, "loader");
159017
159107
  var plugin21 = {
@@ -159025,7 +159115,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
159025
159115
  return /^\s*architecture/.test(txt);
159026
159116
  }, "detector");
159027
159117
  var loader26 = /* @__PURE__ */ __name(async () => {
159028
- const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-BibOeUKV.js");
159118
+ const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-CLnWOrQy.js");
159029
159119
  return { id: id26, diagram: diagram2 };
159030
159120
  }, "loader");
159031
159121
  var architecture = {
@@ -159039,7 +159129,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
159039
159129
  return /^\s*treemap/.test(txt);
159040
159130
  }, "detector");
159041
159131
  var loader27 = /* @__PURE__ */ __name(async () => {
159042
- const { diagram: diagram2 } = await import("./diagram-PSM6KHXK--L22mSpe.js");
159132
+ const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-Cbxl33sq.js");
159043
159133
  return { id: id27, diagram: diagram2 };
159044
159134
  }, "loader");
159045
159135
  var treemap = {
@@ -160786,40 +160876,39 @@ function CodeBrowserView({
160786
160876
  return () => window.removeEventListener("band:lsp-navigate", handleLspNavigate);
160787
160877
  }, [pushDepartureAndArrival, fileTabs.openTabPinned, notifySelectFile]);
160788
160878
  reactExports.useEffect(() => {
160789
- const handleNextTab = () => {
160879
+ const cycleFileTabs = (direction) => {
160790
160880
  const tabs = fileTabs.openTabs;
160791
160881
  if (tabs.length <= 1) return;
160792
160882
  const currentIndex = tabs.findIndex((t2) => t2.filePath === fileTabs.activeTabPath);
160793
- const nextIndex = (currentIndex + 1) % tabs.length;
160883
+ const nextIndex = currentIndex < 0 ? direction === 1 ? 0 : tabs.length - 1 : (currentIndex + direction + tabs.length) % tabs.length;
160794
160884
  handleTabSelect(tabs[nextIndex].filePath);
160795
160885
  };
160796
- const handlePrevTab = () => {
160797
- const tabs = fileTabs.openTabs;
160798
- if (tabs.length <= 1) return;
160799
- const currentIndex = tabs.findIndex((t2) => t2.filePath === fileTabs.activeTabPath);
160800
- const prevIndex = (currentIndex - 1 + tabs.length) % tabs.length;
160801
- handleTabSelect(tabs[prevIndex].filePath);
160802
- };
160803
- window.addEventListener("band:next-file-tab", handleNextTab);
160804
- window.addEventListener("band:prev-file-tab", handlePrevTab);
160805
- return () => {
160806
- window.removeEventListener("band:next-file-tab", handleNextTab);
160807
- window.removeEventListener("band:prev-file-tab", handlePrevTab);
160808
- };
160809
- }, [fileTabs.openTabs, fileTabs.activeTabPath, handleTabSelect]);
160810
- reactExports.useEffect(() => {
160811
160886
  const handler = (e2) => {
160812
- if ((e2.metaKey || e2.ctrlKey) && e2.key === "w") {
160813
- if (fileTabs.activeTabPath) {
160814
- e2.preventDefault();
160815
- e2.stopPropagation();
160816
- handleTabClose(fileTabs.activeTabPath);
160817
- }
160887
+ if (!containerRef.current?.contains(document.activeElement)) return;
160888
+ const key2 = e2.key.toLowerCase();
160889
+ if (e2.ctrlKey && !e2.metaKey && key2 === "tab") {
160890
+ e2.preventDefault();
160891
+ e2.stopPropagation();
160892
+ cycleFileTabs(e2.shiftKey ? -1 : 1);
160893
+ return;
160894
+ }
160895
+ const mod = e2.metaKey || e2.ctrlKey;
160896
+ if (!mod) return;
160897
+ if (e2.shiftKey && (key2 === "[" || key2 === "]")) {
160898
+ e2.preventDefault();
160899
+ e2.stopPropagation();
160900
+ cycleFileTabs(key2 === "]" ? 1 : -1);
160901
+ return;
160902
+ }
160903
+ if (key2 === "w" && !e2.shiftKey && fileTabs.activeTabPath) {
160904
+ e2.preventDefault();
160905
+ e2.stopPropagation();
160906
+ handleTabClose(fileTabs.activeTabPath);
160818
160907
  }
160819
160908
  };
160820
160909
  window.addEventListener("keydown", handler, { capture: true });
160821
160910
  return () => window.removeEventListener("keydown", handler, { capture: true });
160822
- }, [fileTabs.activeTabPath, handleTabClose]);
160911
+ }, [fileTabs.openTabs, fileTabs.activeTabPath, handleTabSelect, handleTabClose]);
160823
160912
  const fileBrowserRef = reactExports.useRef(null);
160824
160913
  const handleNewFile = reactExports.useCallback(() => {
160825
160914
  fileBrowserRef.current?.startNewFile();
@@ -161347,6 +161436,80 @@ function injectInitialUrls(layout, urls) {
161347
161436
  if (!changed) return layout;
161348
161437
  return { ...layout, panels: nextPanels };
161349
161438
  }
161439
+ function cycleTabsInActiveGroup(api, direction, refocus) {
161440
+ const group = api?.activeGroup;
161441
+ if (!api || !group) return;
161442
+ if (group.panels.length <= 1) return;
161443
+ if (direction === 1) group.model.moveToNext();
161444
+ else group.model.moveToPrevious();
161445
+ refocus?.();
161446
+ }
161447
+ function sortGroupsInReadingOrder(groups) {
161448
+ if (groups.length < 2) return groups.slice();
161449
+ const ROW_SNAP = 4;
161450
+ const rowOf = (g2) => Math.round(g2.top / ROW_SNAP);
161451
+ return [...groups].sort((a2, b2) => {
161452
+ const rowDiff = rowOf(a2) - rowOf(b2);
161453
+ if (rowDiff !== 0) return rowDiff;
161454
+ return a2.left - b2.left;
161455
+ });
161456
+ }
161457
+ function readElement(group) {
161458
+ const el = group.element;
161459
+ return el && typeof el.getBoundingClientRect === "function" ? el : null;
161460
+ }
161461
+ function getGridGroupsInVisualOrder(api) {
161462
+ const groups = api.groups.filter((g2) => g2.api.location.type === "grid");
161463
+ if (groups.length < 2) return groups;
161464
+ const rects = [];
161465
+ for (const g2 of groups) {
161466
+ const el = readElement(g2);
161467
+ if (!el) continue;
161468
+ const r2 = el.getBoundingClientRect();
161469
+ if (r2.width === 0 && r2.height === 0) continue;
161470
+ rects.push({ id: g2.id, top: r2.top, left: r2.left });
161471
+ }
161472
+ const ordered = sortGroupsInReadingOrder(rects);
161473
+ const result = [];
161474
+ for (const rect2 of ordered) {
161475
+ const g2 = api.getGroup(rect2.id);
161476
+ if (g2) result.push(g2);
161477
+ }
161478
+ return result;
161479
+ }
161480
+ function cycleGridGroups(api, direction, refocus) {
161481
+ if (!api) return;
161482
+ const groups = getGridGroupsInVisualOrder(api);
161483
+ if (groups.length < 2) return;
161484
+ const current = api.activeGroup;
161485
+ const idx = current ? groups.findIndex((g2) => g2.id === current.id) : -1;
161486
+ const nextIdx = idx < 0 ? direction === 1 ? 0 : groups.length - 1 : (idx + direction + groups.length) % groups.length;
161487
+ const next2 = groups[nextIdx];
161488
+ if (next2?.activePanel) {
161489
+ next2.activePanel.api.setActive();
161490
+ refocus?.();
161491
+ }
161492
+ }
161493
+ function selectNeighbourBeforeRemove(api, panelId) {
161494
+ const panel = api.getPanel(panelId);
161495
+ if (!panel) return;
161496
+ const group = panel.group;
161497
+ const groupPanels = group?.panels ?? [];
161498
+ if (groupPanels.length > 1) {
161499
+ const idx = groupPanels.findIndex((p2) => p2.id === panelId);
161500
+ if (idx < 0) return;
161501
+ const neighbour = groupPanels[idx === 0 ? 1 : idx - 1];
161502
+ neighbour?.api.setActive();
161503
+ return;
161504
+ }
161505
+ if (!group) return;
161506
+ const ordered = getGridGroupsInVisualOrder(api);
161507
+ if (ordered.length <= 1) return;
161508
+ const groupIdx = ordered.findIndex((g2) => g2.id === group.id);
161509
+ if (groupIdx < 0) return;
161510
+ const previous2 = ordered[groupIdx === 0 ? ordered.length - 1 : groupIdx - 1];
161511
+ previous2?.activePanel?.api.setActive();
161512
+ }
161350
161513
  let domOverlayCount = 0;
161351
161514
  let manualHoldCount = 0;
161352
161515
  const listeners$2 = /* @__PURE__ */ new Set();
@@ -162790,11 +162953,6 @@ function DockviewBrowserContainer({
162790
162953
  if (!api) return;
162791
162954
  const browserId = newBrowserId();
162792
162955
  markBrowserFresh(browserId);
162793
- try {
162794
- await trpc.browsers.create.mutate({ workspaceId, id: browserId });
162795
- } catch (err) {
162796
- console.error("[DockviewBrowserContainer] error pre-creating browser:", err);
162797
- }
162798
162956
  const options = {
162799
162957
  id: browserId,
162800
162958
  component: "browserTab",
@@ -162811,6 +162969,11 @@ function DockviewBrowserContainer({
162811
162969
  };
162812
162970
  }
162813
162971
  api.addPanel(options);
162972
+ try {
162973
+ await trpc.browsers.create.mutate({ workspaceId, id: browserId });
162974
+ } catch (err) {
162975
+ console.error("[DockviewBrowserContainer] error pre-creating browser:", err);
162976
+ }
162814
162977
  },
162815
162978
  [workspaceId]
162816
162979
  );
@@ -162820,64 +162983,90 @@ function DockviewBrowserContainer({
162820
162983
  if (!api) return;
162821
162984
  const browserId = newBrowserId();
162822
162985
  markBrowserFresh(browserId);
162986
+ try {
162987
+ api.addPanel({
162988
+ id: browserId,
162989
+ component: "browserTab",
162990
+ tabComponent: "browserTab",
162991
+ title: "New Tab",
162992
+ params: {
162993
+ workspaceId,
162994
+ browserId
162995
+ },
162996
+ position: {
162997
+ referenceGroup: groupId,
162998
+ direction
162999
+ }
163000
+ });
163001
+ } catch (err) {
163002
+ console.error("[DockviewBrowserContainer] split addPanel threw:", err);
163003
+ return;
163004
+ }
162823
163005
  try {
162824
163006
  await trpc.browsers.create.mutate({ workspaceId, id: browserId });
162825
163007
  } catch (err) {
162826
163008
  console.error("[DockviewBrowserContainer] error creating split browser:", err);
162827
163009
  }
162828
- api.addPanel({
162829
- id: browserId,
162830
- component: "browserTab",
162831
- tabComponent: "browserTab",
162832
- title: "New Tab",
162833
- params: {
162834
- workspaceId,
162835
- browserId
162836
- },
162837
- position: {
162838
- referenceGroup: groupId,
162839
- direction
162840
- }
162841
- });
162842
163010
  },
162843
163011
  [workspaceId]
162844
163012
  );
162845
163013
  const closeTab = reactExports.useCallback((browserId) => {
162846
163014
  const api = apiRef.current;
162847
163015
  if (!api || api.panels.length <= 1) return;
163016
+ selectNeighbourBeforeRemove(api, browserId);
162848
163017
  const panel = api.getPanel(browserId);
162849
163018
  if (panel) {
162850
163019
  api.removePanel(panel);
162851
163020
  }
163021
+ requestAnimationFrame(() => {
163022
+ const activePanel = api.activePanel;
163023
+ if (!activePanel) return;
163024
+ activePanel.view.content.element.querySelector("[data-band-address-input]")?.focus();
163025
+ });
162852
163026
  trpc.browsers.remove.mutate({ browserId }).catch((err) => {
162853
163027
  console.error("[DockviewBrowserContainer] failed to remove browser:", err);
162854
163028
  });
162855
163029
  }, []);
162856
163030
  reactExports.useEffect(() => {
162857
163031
  if (!visible) return;
163032
+ const refocusAddressBar = () => {
163033
+ const panel = apiRef.current?.activePanel;
163034
+ if (!panel) return;
163035
+ panel.view.content.element.querySelector("[data-band-address-input]")?.focus();
163036
+ };
163037
+ const cycleTabs = (direction) => {
163038
+ cycleTabsInActiveGroup(apiRef.current, direction, () => {
163039
+ requestAnimationFrame(refocusAddressBar);
163040
+ });
163041
+ };
163042
+ const cycleGroups = (direction) => {
163043
+ cycleGridGroups(apiRef.current, direction, () => {
163044
+ requestAnimationFrame(refocusAddressBar);
163045
+ });
163046
+ };
162858
163047
  const handler = (e2) => {
162859
163048
  if (!containerRef.current?.contains(document.activeElement)) return;
162860
163049
  const key2 = e2.key.toLowerCase();
162861
163050
  if (e2.ctrlKey && !e2.metaKey && key2 === "tab") {
162862
163051
  e2.preventDefault();
162863
163052
  e2.stopPropagation();
162864
- const api = apiRef.current;
162865
- const group = api?.activeGroup;
162866
- if (!group) return;
162867
- if (e2.shiftKey) {
162868
- group.model.moveToPrevious();
162869
- } else {
162870
- group.model.moveToNext();
162871
- }
162872
- requestAnimationFrame(() => {
162873
- const panel = api.activePanel;
162874
- if (!panel) return;
162875
- panel.view.content.element.querySelector("[data-band-address-input]")?.focus();
162876
- });
163053
+ cycleTabs(e2.shiftKey ? -1 : 1);
162877
163054
  return;
162878
163055
  }
162879
163056
  const mod = e2.metaKey || e2.ctrlKey;
162880
163057
  if (!mod) return;
163058
+ if (e2.shiftKey && (key2 === "[" || key2 === "]")) {
163059
+ e2.preventDefault();
163060
+ e2.stopPropagation();
163061
+ cycleTabs(key2 === "]" ? 1 : -1);
163062
+ return;
163063
+ }
163064
+ if (!e2.shiftKey && (key2 === "[" || key2 === "]")) {
163065
+ e2.preventDefault();
163066
+ e2.stopPropagation();
163067
+ cycleGroups(key2 === "]" ? 1 : -1);
163068
+ return;
163069
+ }
162881
163070
  if (key2 === "t" && !e2.shiftKey) {
162882
163071
  e2.preventDefault();
162883
163072
  e2.stopPropagation();
@@ -162922,6 +163111,15 @@ function DockviewBrowserContainer({
162922
163111
  window.addEventListener("keydown", handler, true);
162923
163112
  return () => window.removeEventListener("keydown", handler, true);
162924
163113
  }, [visible, closeTab, handleSplit, handleAddTab]);
163114
+ reactExports.useEffect(() => {
163115
+ if (!visible) return;
163116
+ const id28 = requestAnimationFrame(() => {
163117
+ const panel = apiRef.current?.activePanel;
163118
+ if (!panel) return;
163119
+ panel.view.content.element.querySelector("[data-band-address-input]")?.focus();
163120
+ });
163121
+ return () => cancelAnimationFrame(id28);
163122
+ }, [visible]);
162925
163123
  reactExports.useEffect(() => {
162926
163124
  if (!isDesktop) return;
162927
163125
  let unlisten;
@@ -162944,6 +163142,55 @@ function DockviewBrowserContainer({
162944
163142
  })();
162945
163143
  return () => unlisten?.();
162946
163144
  }, [handleAddTab]);
163145
+ reactExports.useEffect(() => {
163146
+ if (!isDesktop) return;
163147
+ const unlisteners = [];
163148
+ let cancelled = false;
163149
+ const refocusAddressBar = () => {
163150
+ const panel = apiRef.current?.activePanel;
163151
+ panel?.view.content.element.querySelector("[data-band-address-input]")?.focus();
163152
+ };
163153
+ void (async () => {
163154
+ const fns = await Promise.all([
163155
+ listen("browser-split-shortcut", (event) => {
163156
+ const api = apiRef.current;
163157
+ if (!api) return;
163158
+ const sourcePanel = api.getPanel(event.payload.browser_id);
163159
+ if (!sourcePanel?.group) return;
163160
+ void handleSplit(sourcePanel.group.id, event.payload.direction);
163161
+ }),
163162
+ listen("browser-close-shortcut", (event) => {
163163
+ const api = apiRef.current;
163164
+ if (!api) return;
163165
+ const sourceId = event.payload.browser_id;
163166
+ if (!api.getPanel(sourceId)) return;
163167
+ closeTab(sourceId);
163168
+ }),
163169
+ listen("browser-cycle-shortcut", (event) => {
163170
+ const api = apiRef.current;
163171
+ if (!api) return;
163172
+ const sourcePanel = api.getPanel(event.payload.browser_id);
163173
+ if (!sourcePanel) return;
163174
+ sourcePanel.api.setActive();
163175
+ const refocus = () => requestAnimationFrame(refocusAddressBar);
163176
+ if (event.payload.target === "tabs") {
163177
+ cycleTabsInActiveGroup(apiRef.current, event.payload.direction, refocus);
163178
+ } else {
163179
+ cycleGridGroups(apiRef.current, event.payload.direction, refocus);
163180
+ }
163181
+ })
163182
+ ]);
163183
+ if (cancelled) {
163184
+ for (const fn2 of fns) fn2();
163185
+ } else {
163186
+ unlisteners.push(...fns);
163187
+ }
163188
+ })();
163189
+ return () => {
163190
+ cancelled = true;
163191
+ for (const unlisten of unlisteners) unlisten();
163192
+ };
163193
+ }, [handleSplit, closeTab]);
162947
163194
  reactExports.useEffect(() => {
162948
163195
  const handler = () => {
162949
163196
  const root2 = containerRef.current;
@@ -175676,34 +175923,53 @@ function DockviewChatContainer({
175676
175923
  const closeTab = reactExports.useCallback((chatId) => {
175677
175924
  const api = apiRef.current;
175678
175925
  if (!api || api.panels.length <= 1) return;
175926
+ selectNeighbourBeforeRemove(api, chatId);
175679
175927
  const panel = api.getPanel(chatId);
175680
175928
  if (panel) {
175681
175929
  api.removePanel(panel);
175682
175930
  }
175931
+ requestAnimationFrame(() => {
175932
+ apiRef.current?.activeGroup?.model.focusContent();
175933
+ });
175683
175934
  trpc.chats.remove.mutate({ chatId }).catch((err) => {
175684
175935
  console.error("[DockviewChatContainer] failed to remove chat:", err);
175685
175936
  });
175686
175937
  }, []);
175687
175938
  reactExports.useEffect(() => {
175688
175939
  if (!visible) return;
175940
+ const cycleTabs = (direction) => {
175941
+ cycleTabsInActiveGroup(apiRef.current, direction, () => {
175942
+ apiRef.current?.activeGroup?.model.focusContent();
175943
+ });
175944
+ };
175945
+ const cycleGroups = (direction) => {
175946
+ cycleGridGroups(apiRef.current, direction, () => {
175947
+ apiRef.current?.activeGroup?.model.focusContent();
175948
+ });
175949
+ };
175689
175950
  const handler = (e2) => {
175690
175951
  if (!containerRef.current?.contains(document.activeElement)) return;
175691
175952
  const key2 = e2.key.toLowerCase();
175692
175953
  if (e2.ctrlKey && !e2.metaKey && key2 === "tab") {
175693
175954
  e2.preventDefault();
175694
175955
  e2.stopPropagation();
175695
- const group = apiRef.current?.activeGroup;
175696
- if (!group) return;
175697
- if (e2.shiftKey) {
175698
- group.model.moveToPrevious();
175699
- } else {
175700
- group.model.moveToNext();
175701
- }
175702
- group.model.focusContent();
175956
+ cycleTabs(e2.shiftKey ? -1 : 1);
175703
175957
  return;
175704
175958
  }
175705
175959
  const mod = e2.metaKey || e2.ctrlKey;
175706
175960
  if (!mod) return;
175961
+ if (e2.shiftKey && (key2 === "[" || key2 === "]")) {
175962
+ e2.preventDefault();
175963
+ e2.stopPropagation();
175964
+ cycleTabs(key2 === "]" ? 1 : -1);
175965
+ return;
175966
+ }
175967
+ if (!e2.shiftKey && (key2 === "[" || key2 === "]")) {
175968
+ e2.preventDefault();
175969
+ e2.stopPropagation();
175970
+ cycleGroups(key2 === "]" ? 1 : -1);
175971
+ return;
175972
+ }
175707
175973
  if (key2 === "t" && !e2.shiftKey) {
175708
175974
  e2.preventDefault();
175709
175975
  e2.stopPropagation();
@@ -175731,6 +175997,15 @@ function DockviewChatContainer({
175731
175997
  window.addEventListener("keydown", handler, true);
175732
175998
  return () => window.removeEventListener("keydown", handler, true);
175733
175999
  }, [visible, closeTab, handleSplit, handleAddTab]);
176000
+ reactExports.useEffect(() => {
176001
+ if (!visible) return;
176002
+ const id28 = requestAnimationFrame(() => {
176003
+ const group = apiRef.current?.activeGroup;
176004
+ if (!group) return;
176005
+ group.model.focusContent();
176006
+ });
176007
+ return () => cancelAnimationFrame(id28);
176008
+ }, [visible]);
175734
176009
  reactExports.useEffect(() => {
175735
176010
  return adapter2.subscribeStatusEvents((event) => {
175736
176011
  if (event.workspaceId !== workspaceId) return;
@@ -178946,7 +179221,7 @@ const PANEL_SHORTCUTS = {
178946
179221
  browser: "⇧⌘B"
178947
179222
  };
178948
179223
  const DockviewTerminalContainer = reactExports.lazy(
178949
- () => import("./DockviewTerminalContainer-Bll4PcvA.js").then((m2) => ({
179224
+ () => import("./DockviewTerminalContainer-BmJNT7wr.js").then((m2) => ({
178950
179225
  default: m2.DockviewTerminalContainer
178951
179226
  }))
178952
179227
  );
@@ -179480,18 +179755,6 @@ function SharedDockviewLayout() {
179480
179755
  });
179481
179756
  return;
179482
179757
  }
179483
- if (e2.key === "Tab" && e2.ctrlKey && !e2.shiftKey) {
179484
- e2.preventDefault();
179485
- e2.stopPropagation();
179486
- window.dispatchEvent(new CustomEvent("band:next-file-tab"));
179487
- return;
179488
- }
179489
- if (e2.key === "Tab" && e2.ctrlKey && e2.shiftKey) {
179490
- e2.preventDefault();
179491
- e2.stopPropagation();
179492
- window.dispatchEvent(new CustomEvent("band:prev-file-tab"));
179493
- return;
179494
- }
179495
179758
  if (e2.code === "KeyF" && e2.altKey && e2.shiftKey && !e2.metaKey && !e2.ctrlKey) {
179496
179759
  if (terminalFocused) return;
179497
179760
  e2.preventDefault();
@@ -180100,18 +180363,6 @@ function useNavigationHistory(routerNavigate, capabilities2) {
180100
180363
  if (href) routerNavigate(href);
180101
180364
  }
180102
180365
  }, [routerNavigate, capabilities2]);
180103
- reactExports.useEffect(() => {
180104
- const handler = (e2) => {
180105
- if (!(e2.metaKey || e2.ctrlKey)) return;
180106
- if (e2.key !== "[" && e2.key !== "]") return;
180107
- e2.preventDefault();
180108
- e2.stopPropagation();
180109
- if (e2.key === "[") goBack();
180110
- else goForward();
180111
- };
180112
- window.addEventListener("keydown", handler, true);
180113
- return () => window.removeEventListener("keydown", handler, true);
180114
- }, [goBack, goForward]);
180115
180366
  return {
180116
180367
  goBack,
180117
180368
  goForward,
@@ -180518,11 +180769,11 @@ function RootLayout() {
180518
180769
  ] })
180519
180770
  ] });
180520
180771
  }
180521
- const $$splitComponentImporter$7 = () => import("./index-CbflyKEY.js");
180772
+ const $$splitComponentImporter$7 = () => import("./index-UT8Dx3N4.js");
180522
180773
  const Route$7 = createFileRoute("/")({
180523
180774
  component: lazyRouteComponent($$splitComponentImporter$7, "component")
180524
180775
  });
180525
- const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-CIq36nwA.js");
180776
+ const $$splitComponentImporter$6 = () => import("./workspace._workspaceId--mv8yNcN.js");
180526
180777
  const Route$6 = createFileRoute("/workspace/$workspaceId")({
180527
180778
  component: lazyRouteComponent($$splitComponentImporter$6, "component")
180528
180779
  });
@@ -180541,11 +180792,11 @@ const FindInFileContext = reactExports.createContext({
180541
180792
  function useFindInFileContext() {
180542
180793
  return reactExports.useContext(FindInFileContext);
180543
180794
  }
180544
- const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-B0viRF4D.js");
180795
+ const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-kYTq7KgZ.js");
180545
180796
  const Route$5 = createFileRoute("/workspace/$workspaceId/")({
180546
180797
  component: lazyRouteComponent($$splitComponentImporter$5, "component")
180547
180798
  });
180548
- const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-okMbKopb.js");
180799
+ const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-ulwO6F6c.js");
180549
180800
  const Route$4 = createFileRoute("/workspace/$workspaceId/terminal")({
180550
180801
  component: lazyRouteComponent($$splitComponentImporter$4, "component")
180551
180802
  });
@@ -180553,15 +180804,15 @@ const $$splitComponentImporter$3 = () => import("./workspace._workspaceId.code-C
180553
180804
  const Route$3 = createFileRoute("/workspace/$workspaceId/code")({
180554
180805
  component: lazyRouteComponent($$splitComponentImporter$3, "component")
180555
180806
  });
180556
- const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-CVtsWLoB.js");
180807
+ const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-BQG3-25y.js");
180557
180808
  const Route$2 = createFileRoute("/workspace/$workspaceId/changes")({
180558
180809
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
180559
180810
  });
180560
- const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-CrMeyYle.js");
180811
+ const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-BXAZupNZ.js");
180561
180812
  const Route$1 = createFileRoute("/workspace/$workspaceId/code/")({
180562
180813
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
180563
180814
  });
180564
- const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-Csm4PZtI.js");
180815
+ const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-bko0jWWb.js");
180565
180816
  const Route2 = createFileRoute("/workspace/$workspaceId/code/$")({
180566
180817
  component: lazyRouteComponent($$splitComponentImporter, "component")
180567
180818
  });
@@ -180635,236 +180886,239 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
180635
180886
  getRouter
180636
180887
  }, Symbol.toStringTag, { value: "Module" }));
180637
180888
  export {
180638
- getConfig2 as $,
180639
- styleTags as A,
180640
- tags as B,
180889
+ getAccTitle as $,
180890
+ continuedIndent as A,
180891
+ foldNodeProp as B,
180641
180892
  ChatView as C,
180642
180893
  DiffView as D,
180643
- ifNotIn as E,
180644
- completeFromList as F,
180645
- syntaxTree as G,
180646
- Parser$2 as H,
180647
- NodeSet as I,
180648
- NodeType as J,
180649
- DefaultBufferLength as K,
180894
+ foldInside as E,
180895
+ styleTags as F,
180896
+ tags as G,
180897
+ ifNotIn as H,
180898
+ completeFromList as I,
180899
+ syntaxTree as J,
180900
+ Parser$2 as K,
180650
180901
  LanguageSupport as L,
180651
- NodeProp as M,
180902
+ NodeSet as M,
180652
180903
  Nt as N,
180653
- IterMode as O,
180904
+ NodeType as O,
180654
180905
  Plus as P,
180655
- R$4 as Q,
180906
+ DefaultBufferLength as Q,
180656
180907
  Route$5 as R,
180657
- Ks as S,
180908
+ NodeProp as S,
180658
180909
  Tree as T,
180659
- Qe$1 as U,
180660
- setAccDescription as V,
180661
- getAccDescription as W,
180910
+ IterMode as U,
180911
+ R$4 as V,
180912
+ Ks as W,
180662
180913
  X$7 as X,
180663
- getAccTitle as Y,
180664
- setAccTitle as Z,
180665
- __name as _,
180914
+ Qe$1 as Y,
180915
+ setAccDescription as Z,
180916
+ getAccDescription as _,
180666
180917
  Navigate as a,
180667
- darken as a$,
180668
- select as a0,
180669
- log as a1,
180670
- configureSvgSize as a2,
180671
- assignWithDepth_default as a3,
180672
- calculateTextWidth as a4,
180673
- sanitizeText as a5,
180674
- distExports as a6,
180675
- wrapLabel as a7,
180676
- common_default as a8,
180677
- calculateTextHeight as a9,
180678
- epsilon as aA,
180679
- tau as aB,
180680
- cos as aC,
180681
- sin as aD,
180682
- min as aE,
180683
- abs$1 as aF,
180684
- pi as aG,
180685
- sqrt as aH,
180686
- atan2 as aI,
180687
- constant$1 as aJ,
180688
- asin as aK,
180689
- acos as aL,
180690
- max as aM,
180691
- getThemeVariables3 as aN,
180692
- hasKatex as aO,
180693
- calculateMathMLDimensions as aP,
180694
- parseFontSize as aQ,
180695
- ZERO_WIDTH_SPACE as aR,
180696
- getUrl as aS,
180697
- renderKatexSanitized as aT,
180698
- parseGenericTypes as aU,
180699
- line$1 as aV,
180700
- curveBasis as aW,
180701
- generateId$1 as aX,
180702
- setupGraphViewbox as aY,
180703
- isDark as aZ,
180704
- lighten as a_,
180705
- lineBreakRegex as aa,
180706
- setConfig2 as ab,
180707
- getRegisteredLayoutAlgorithm as ac,
180708
- render$1 as ad,
180709
- utils_default as ae,
180710
- setDiagramTitle as af,
180711
- getDiagramTitle as ag,
180712
- load as ah,
180713
- JSON_SCHEMA as ai,
180714
- isValidShape as aj,
180715
- getEdgeId as ak,
180716
- clear$2 as al,
180717
- defaultConfig2 as am,
180718
- rgba$1 as an,
180719
- Utils as ao,
180720
- Color$1 as ap,
180721
- __export$1 as aq,
180722
- setupGraphViewbox2 as ar,
180723
- cleanAndMerge as as,
180724
- defaultConfig_default as at,
180725
- getConfig as au,
180726
- random as av,
180727
- selectSvgElement as aw,
180728
- package_default as ax,
180729
- withPath as ay,
180730
- halfPi as az,
180918
+ setupGraphViewbox as a$,
180919
+ setAccTitle as a0,
180920
+ __name as a1,
180921
+ getConfig2 as a2,
180922
+ select as a3,
180923
+ log as a4,
180924
+ configureSvgSize as a5,
180925
+ assignWithDepth_default as a6,
180926
+ calculateTextWidth as a7,
180927
+ sanitizeText as a8,
180928
+ distExports as a9,
180929
+ package_default as aA,
180930
+ withPath as aB,
180931
+ halfPi as aC,
180932
+ epsilon as aD,
180933
+ tau as aE,
180934
+ cos as aF,
180935
+ sin as aG,
180936
+ min as aH,
180937
+ abs$1 as aI,
180938
+ pi as aJ,
180939
+ sqrt as aK,
180940
+ atan2 as aL,
180941
+ constant$1 as aM,
180942
+ asin as aN,
180943
+ acos as aO,
180944
+ max as aP,
180945
+ getThemeVariables3 as aQ,
180946
+ hasKatex as aR,
180947
+ calculateMathMLDimensions as aS,
180948
+ parseFontSize as aT,
180949
+ ZERO_WIDTH_SPACE as aU,
180950
+ getUrl as aV,
180951
+ renderKatexSanitized as aW,
180952
+ parseGenericTypes as aX,
180953
+ line$1 as aY,
180954
+ curveBasis as aZ,
180955
+ generateId$1 as a_,
180956
+ wrapLabel as aa,
180957
+ common_default as ab,
180958
+ calculateTextHeight as ac,
180959
+ lineBreakRegex as ad,
180960
+ setConfig2 as ae,
180961
+ getRegisteredLayoutAlgorithm as af,
180962
+ render$1 as ag,
180963
+ utils_default as ah,
180964
+ setDiagramTitle as ai,
180965
+ getDiagramTitle as aj,
180966
+ load as ak,
180967
+ JSON_SCHEMA as al,
180968
+ isValidShape as am,
180969
+ getEdgeId as an,
180970
+ clear$2 as ao,
180971
+ defaultConfig2 as ap,
180972
+ rgba$1 as aq,
180973
+ Utils as ar,
180974
+ Color$1 as as,
180975
+ __export$1 as at,
180976
+ setupGraphViewbox2 as au,
180977
+ cleanAndMerge as av,
180978
+ defaultConfig_default as aw,
180979
+ getConfig as ax,
180980
+ random as ay,
180981
+ selectSvgElement as az,
180731
180982
  useSettingsQuery as b,
180732
- ToolbarOverflowMenuItems as b$,
180733
- commonDb_exports as b0,
180734
- insertCluster as b1,
180735
- insertNode as b2,
180736
- positionNode as b3,
180737
- getLineFunctionsWithOffset as b4,
180738
- evaluate as b5,
180739
- createText as b6,
180740
- getSubGraphTitleMargins as b7,
180741
- replaceIconSubstring as b8,
180742
- decodeEntities as b9,
180743
- EditorState as bA,
180744
- languageDataProp as bB,
180745
- LanguageDescription as bC,
180746
- ParseContext as bD,
180747
- bracketMatchingHandle as bE,
180748
- flatIndent as bF,
180749
- sublanguageProp as bG,
180750
- baseRest as bH,
180751
- isArrayLikeObject as bI,
180752
- constant as bJ,
180753
- isFunction as bK,
180754
- isEmpty as bL,
180755
- markers_default as bM,
180756
- clear2 as bN,
180757
- clear as bO,
180758
- clear$1 as bP,
180759
- updateNodeBounds as bQ,
180760
- setNodeElem as bR,
180761
- insertEdge as bS,
180762
- positionEdgeLabel as bT,
180763
- insertEdgeLabel as bU,
180764
- computeDimensionOfText as bV,
180765
- Ut$1 as bW,
180766
- Yt$1 as bX,
180767
- DashboardShell as bY,
180768
- Qt$1 as bZ,
180769
- ToolbarOverflowProvider as b_,
180770
- getStylesFromArray as ba,
180771
- MessageSquare as bb,
180772
- GitCompare as bc,
180773
- FolderOpen as bd,
180774
- Route$6 as be,
180775
- useDashboardStore as bf,
180776
- DesktopDragRegion as bg,
180777
- ArrowLeft as bh,
180778
- QuickOpenDialog as bi,
180779
- SearchFilesDialog as bj,
180780
- useDiffTarget as bk,
180781
- delimitedIndent as bl,
180782
- NodeWeakMap as bm,
180783
- snippetCompletion as bn,
180784
- Tag as bo,
180785
- parseMixed as bp,
180786
- EditorSelection as bq,
180787
- countColumn as br,
180788
- Prec as bs,
180789
- keymap as bt,
180790
- EditorView as bu,
180791
- Language as bv,
180792
- indentUnit as bw,
180793
- foldService as bx,
180794
- defineLanguageFacet as by,
180795
- CompletionContext as bz,
180983
+ DashboardShell as b$,
180984
+ isDark as b0,
180985
+ lighten as b1,
180986
+ darken as b2,
180987
+ commonDb_exports as b3,
180988
+ insertCluster as b4,
180989
+ insertNode as b5,
180990
+ positionNode as b6,
180991
+ getLineFunctionsWithOffset as b7,
180992
+ evaluate as b8,
180993
+ createText as b9,
180994
+ foldService as bA,
180995
+ defineLanguageFacet as bB,
180996
+ CompletionContext as bC,
180997
+ EditorState as bD,
180998
+ languageDataProp as bE,
180999
+ LanguageDescription as bF,
181000
+ ParseContext as bG,
181001
+ bracketMatchingHandle as bH,
181002
+ flatIndent as bI,
181003
+ sublanguageProp as bJ,
181004
+ baseRest as bK,
181005
+ isArrayLikeObject as bL,
181006
+ constant as bM,
181007
+ isFunction as bN,
181008
+ isEmpty as bO,
181009
+ markers_default as bP,
181010
+ clear2 as bQ,
181011
+ clear as bR,
181012
+ clear$1 as bS,
181013
+ updateNodeBounds as bT,
181014
+ setNodeElem as bU,
181015
+ insertEdge as bV,
181016
+ positionEdgeLabel as bW,
181017
+ insertEdgeLabel as bX,
181018
+ computeDimensionOfText as bY,
181019
+ Ut$1 as bZ,
181020
+ Yt$1 as b_,
181021
+ getSubGraphTitleMargins as ba,
181022
+ replaceIconSubstring as bb,
181023
+ decodeEntities as bc,
181024
+ getStylesFromArray as bd,
181025
+ MessageSquare as be,
181026
+ GitCompare as bf,
181027
+ FolderOpen as bg,
181028
+ Route$6 as bh,
181029
+ useDashboardStore as bi,
181030
+ DesktopDragRegion as bj,
181031
+ ArrowLeft as bk,
181032
+ QuickOpenDialog as bl,
181033
+ SearchFilesDialog as bm,
181034
+ useDiffTarget as bn,
181035
+ delimitedIndent as bo,
181036
+ NodeWeakMap as bp,
181037
+ snippetCompletion as bq,
181038
+ Tag as br,
181039
+ parseMixed as bs,
181040
+ EditorSelection as bt,
181041
+ countColumn as bu,
181042
+ Prec as bv,
181043
+ keymap as bw,
181044
+ EditorView as bx,
181045
+ Language as by,
181046
+ indentUnit as bz,
180796
181047
  agentTypeSupportsSessionListing as c,
180797
- Uint8Array$1 as c$,
180798
- array$2 as c0,
180799
- getUserDefinedConfig as c1,
180800
- ArrowRight as c2,
180801
- ArrowUp as c3,
180802
- ArrowDown as c4,
180803
- ClipboardPaste as c5,
180804
- getCurrentZoomLevel as c6,
180805
- openExternalUrl as c7,
180806
- subscribeToZoomChanges as c8,
180807
- SearchBar as c9,
180808
- hue as cA,
180809
- dayjs2 as cB,
180810
- setToString as cC,
180811
- overRest as cD,
180812
- baseFor as cE,
180813
- baseAssignValue as cF,
180814
- baseUnary as cG,
180815
- merge$1 as cH,
180816
- isObjectLike as cI,
180817
- baseGetTag as cJ,
180818
- Symbol$1 as cK,
180819
- arrayLikeKeys as cL,
180820
- baseKeys as cM,
180821
- memoize as cN,
180822
- isArguments as cO,
180823
- copyObject as cP,
180824
- getPrototype as cQ,
180825
- cloneArrayBuffer as cR,
180826
- cloneTypedArray as cS,
180827
- getTag as cT,
180828
- nodeUtil as cU,
180829
- copyArray as cV,
180830
- isBuffer as cW,
180831
- cloneBuffer as cX,
180832
- initCloneObject as cY,
180833
- Stack as cZ,
180834
- MapCache as c_,
180835
- ZOOM_CSS_VAR as ca,
180836
- getIconSVG as cb,
180837
- registerIconPacks as cc,
180838
- unknownIcon as cd,
180839
- isObject$1 as ce,
180840
- isIterateeCall as cf,
180841
- keysIn as cg,
180842
- eq as ch,
180843
- isArrayLike as ci,
180844
- isArray as cj,
180845
- identity as ck,
180846
- isIndex as cl,
180847
- assignValue as cm,
180848
- constant$2 as cn,
180849
- interpolateNumber as co,
180850
- color as cp,
180851
- interpolateRgb as cq,
180852
- interpolateString as cr,
180853
- styles2String as cs,
180854
- isLabelStyle as ct,
180855
- Rgb as cu,
180856
- rgbConvert as cv,
180857
- define as cw,
180858
- extend$2 as cx,
180859
- Color as cy,
180860
- nogamma as cz,
181048
+ initCloneObject as c$,
181049
+ Qt$1 as c0,
181050
+ ToolbarOverflowProvider as c1,
181051
+ ToolbarOverflowMenuItems as c2,
181052
+ array$2 as c3,
181053
+ getUserDefinedConfig as c4,
181054
+ ArrowRight as c5,
181055
+ ArrowUp as c6,
181056
+ ArrowDown as c7,
181057
+ ClipboardPaste as c8,
181058
+ getCurrentZoomLevel as c9,
181059
+ extend$2 as cA,
181060
+ Color as cB,
181061
+ nogamma as cC,
181062
+ hue as cD,
181063
+ dayjs2 as cE,
181064
+ setToString as cF,
181065
+ overRest as cG,
181066
+ baseFor as cH,
181067
+ baseAssignValue as cI,
181068
+ baseUnary as cJ,
181069
+ merge$1 as cK,
181070
+ isObjectLike as cL,
181071
+ baseGetTag as cM,
181072
+ Symbol$1 as cN,
181073
+ arrayLikeKeys as cO,
181074
+ baseKeys as cP,
181075
+ memoize as cQ,
181076
+ isArguments as cR,
181077
+ copyObject as cS,
181078
+ getPrototype as cT,
181079
+ cloneArrayBuffer as cU,
181080
+ cloneTypedArray as cV,
181081
+ getTag as cW,
181082
+ nodeUtil as cX,
181083
+ copyArray as cY,
181084
+ isBuffer as cZ,
181085
+ cloneBuffer as c_,
181086
+ openExternalUrl as ca,
181087
+ subscribeToZoomChanges as cb,
181088
+ SearchBar as cc,
181089
+ ZOOM_CSS_VAR as cd,
181090
+ getIconSVG as ce,
181091
+ registerIconPacks as cf,
181092
+ unknownIcon as cg,
181093
+ isObject$1 as ch,
181094
+ isIterateeCall as ci,
181095
+ keysIn as cj,
181096
+ eq as ck,
181097
+ isArrayLike as cl,
181098
+ isArray as cm,
181099
+ identity as cn,
181100
+ isIndex as co,
181101
+ assignValue as cp,
181102
+ constant$2 as cq,
181103
+ interpolateNumber as cr,
181104
+ color as cs,
181105
+ interpolateRgb as ct,
181106
+ interpolateString as cu,
181107
+ styles2String as cv,
181108
+ isLabelStyle as cw,
181109
+ Rgb as cx,
181110
+ rgbConvert as cy,
181111
+ define as cz,
180861
181112
  Route$4 as d,
180862
- isTypedArray as d0,
180863
- isLength as d1,
180864
- Set$1 as d2,
180865
- createAssigner as d3,
180866
- isPrototype as d4,
180867
- router as d5,
181113
+ Stack as d0,
181114
+ MapCache as d1,
181115
+ Uint8Array$1 as d2,
181116
+ isTypedArray as d3,
181117
+ isLength as d4,
181118
+ Set$1 as d5,
181119
+ createAssigner as d6,
181120
+ isPrototype as d7,
181121
+ router as d8,
180868
181122
  Route$2 as e,
180869
181123
  useNavigate as f,
180870
181124
  useDiffStatsContext as g,
@@ -180879,12 +181133,12 @@ export {
180879
181133
  DockviewReact as p,
180880
181134
  Columns2 as q,
180881
181135
  Rows2 as r,
180882
- createLucideIcon as s,
181136
+ selectNeighbourBeforeRemove as s,
180883
181137
  trpc as t,
180884
181138
  useIsDesktop as u,
180885
- LRLanguage as v,
180886
- indentNodeProp as w,
180887
- continuedIndent as x,
180888
- foldNodeProp as y,
180889
- foldInside as z
181139
+ cycleTabsInActiveGroup as v,
181140
+ cycleGridGroups as w,
181141
+ createLucideIcon as x,
181142
+ LRLanguage as y,
181143
+ indentNodeProp as z
180890
181144
  };