@band-app/server 0.16.6 → 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 (181) hide show
  1. package/dist/client/assets/DockviewTerminalContainer--NwTeN61.js +2 -0
  2. package/dist/client/assets/{TerminalPanel-oIOuHAe6.js → TerminalPanel-Yvy5MdyT.js} +1 -1
  3. package/dist/client/assets/{_basePickBy-CJe3Z2Qz.js → _basePickBy-DSkuH0B8.js} +1 -1
  4. package/dist/client/assets/{_baseUniq-BALcDRZI.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-B3CNdaGC.js → blockDiagram-VD42YOAC-BeqGoAV4.js} +1 -1
  8. package/dist/client/assets/{c4Diagram-YG6GDRKO-8DClY8tO.js → c4Diagram-YG6GDRKO-DKCYpSQU.js} +1 -1
  9. package/dist/client/assets/channel-BCfwP47i.js +1 -0
  10. package/dist/client/assets/{chunk-4BX2VUAB-DFpe7tV8.js → chunk-4BX2VUAB-BdJzJSPX.js} +1 -1
  11. package/dist/client/assets/{chunk-55IACEB6-DAIgBHwM.js → chunk-55IACEB6-xwxmYLnB.js} +1 -1
  12. package/dist/client/assets/{chunk-B4BG7PRW-kh7pUi-G.js → chunk-B4BG7PRW-DYs57CfN.js} +6 -6
  13. package/dist/client/assets/{chunk-DI55MBZ5-CT5F9kg6.js → chunk-DI55MBZ5-ViVHdJcC.js} +3 -3
  14. package/dist/client/assets/{chunk-FMBD7UC4-j4cwscCc.js → chunk-FMBD7UC4-j5K2QzT5.js} +1 -1
  15. package/dist/client/assets/{chunk-QN33PNHL-Ky10vZ65.js → chunk-QN33PNHL-CDBFzg6z.js} +1 -1
  16. package/dist/client/assets/{chunk-QZHKN3VN-D8whmxrR.js → chunk-QZHKN3VN-CKzO3otX.js} +1 -1
  17. package/dist/client/assets/{chunk-TZMSLE5B-74Q3HkO6.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-DV-c_wLS.js → cose-bilkent-S5V4N54A-o0Hh2w2L.js} +1 -1
  22. package/dist/client/assets/{dagre-6UL2VRFP-DqGj1R1j.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-CnZ5d811.js → erDiagram-Q2GNP2WA-CeK7YD7R.js} +3 -3
  27. package/dist/client/assets/{flowDiagram-NV44I4VS-Dkyzq05T.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-C-jp9c9_.js → graph-CJxD9Rwb.js} +1 -1
  31. package/dist/client/assets/highlighted-body-B3W2YXNL-B4xONt7e.js +1 -0
  32. package/dist/client/assets/{index-CWuZAsMd.js → index-B2uHfWgn.js} +1 -1
  33. package/dist/client/assets/{index-BApEUhm7.js → index-BIgQyYOO.js} +1 -1
  34. package/dist/client/assets/{index-CbWumaE4.js → index-BLJD1Qfd.js} +5 -5
  35. package/dist/client/assets/{index-CnODApFm.js → index-BMtcUqdQ.js} +1 -1
  36. package/dist/client/assets/{index-pF8RdYJr.js → index-BUcXVvua.js} +1 -1
  37. package/dist/client/assets/{index-BRJ1UlLP.js → index-BYo42cp6.js} +1 -1
  38. package/dist/client/assets/{index-BF0J4BKX.js → index-BkcD-2xP.js} +1 -1
  39. package/dist/client/assets/{index-D7RI9VhZ.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-qvjA3laV.js → index-CkI7yHP3.js} +1 -1
  43. package/dist/client/assets/{index-DzulHIMl.js → index-CwM8J67a.js} +2 -2
  44. package/dist/client/assets/{index-COZ2KIqQ.js → index-DCRRxNL0.js} +1 -1
  45. package/dist/client/assets/index-DK2zFoIy.js +13 -0
  46. package/dist/client/assets/{index-Bs8SzDSU.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-gIRcxz_2.js → index-uM_FSfN2.js} +1 -1
  50. package/dist/client/assets/{infoDiagram-HS3SLOUP-BPmdqFSq.js → infoDiagram-HS3SLOUP-Df1cRKP4.js} +2 -2
  51. package/dist/client/assets/{journeyDiagram-XKPGCS4Q-CyF2Zy1J.js → journeyDiagram-XKPGCS4Q-CvqI26lD.js} +1 -1
  52. package/dist/client/assets/{kanban-definition-3W4ZIXB7-DQn7oF4M.js → kanban-definition-3W4ZIXB7-bk4ijIGG.js} +1 -1
  53. package/dist/client/assets/{layout-D95GOaHl.js → layout-K3_dXKbA.js} +1 -1
  54. package/dist/client/assets/{linear-s0-BUED_.js → linear-Dy1DIBMj.js} +1 -1
  55. package/dist/client/assets/{main-CvW8qnwt.js → main-BP7jBsL9.js} +226 -226
  56. package/dist/client/assets/{mindmap-definition-VGOIOE7T-D2an3VGN.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-B31RZm7A.js → quadrantDiagram-AYHSOK5B-DcDmj-JA.js} +3 -3
  59. package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DUPJ807D.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-DOt_NQqP.js → sequenceDiagram-WL72ISMW-0VMt9gVh.js} +1 -1
  62. package/dist/client/assets/{square-terminal-DijGFbMA.js → square-terminal-M5bVEC10.js} +1 -1
  63. package/dist/client/assets/{stateDiagram-FKZM4ZOC-DbOHm4c1.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-Cn7NqOa9.js → timeline-definition-IT6M3QCI-Bh8RNGIU.js} +1 -1
  66. package/dist/client/assets/{treemap-GDKQZRPO-dIGRW5It.js → treemap-GDKQZRPO-BijVKWEc.js} +1 -1
  67. package/dist/client/assets/{useSessionListContext-CLB0hwhi.js → useSessionListContext-CZ9B_AN4.js} +1 -1
  68. package/dist/client/assets/{workspace._workspaceId-BA71xUMn.js → workspace._workspaceId-H_XEjqr4.js} +1 -1
  69. package/dist/client/assets/{workspace._workspaceId.changes-CYFaYfKv.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._-DE7gVYd7.js → workspace._workspaceId.code._-C9pTJgLm.js} +1 -1
  72. package/dist/client/assets/{workspace._workspaceId.code.index-CImsiqYe.js → workspace._workspaceId.code.index-SqGiBZp0.js} +1 -1
  73. package/dist/client/assets/{workspace._workspaceId.index-fs_m9fiR.js → workspace._workspaceId.index-DOoEIYzO.js} +1 -1
  74. package/dist/client/assets/{workspace._workspaceId.terminal-yU9k1e1G.js → workspace._workspaceId.terminal-DkHKnJ_2.js} +2 -2
  75. package/dist/client/assets/{xychartDiagram-PRI3JC2R-DZkO-Y7X.js → xychartDiagram-PRI3JC2R-YnqaCgCs.js} +3 -3
  76. package/dist/server/assets/{DockviewTerminalContainer-B2Blr37b.js → DockviewTerminalContainer-BmJNT7wr.js} +67 -31
  77. package/dist/server/assets/{TerminalPanel-Cxf1lgbL.js → TerminalPanel-C9FjHKKG.js} +1 -1
  78. package/dist/server/assets/{_basePickBy-HDNoqwXP.js → _basePickBy-CCHYa1HW.js} +2 -2
  79. package/dist/server/assets/{_baseUniq-B5XykDHF.js → _baseUniq-Bn3dr_10.js} +1 -1
  80. package/dist/server/assets/{_tanstack-start-manifest_v-DlDmzFlv.js → _tanstack-start-manifest_v-pKmxdPVC.js} +1 -1
  81. package/dist/server/assets/{arc-CT9R50aT.js → arc-DoqdSN3e.js} +1 -1
  82. package/dist/server/assets/{architecture-7HQA4BMR-CXJJ5uUx.js → architecture-7HQA4BMR-BtKFOuTE.js} +6 -6
  83. package/dist/server/assets/{architectureDiagram-VXUJARFQ-BewwvF_K.js → architectureDiagram-VXUJARFQ-CLnWOrQy.js} +6 -6
  84. package/dist/server/assets/{blockDiagram-VD42YOAC-V3NJ6oho.js → blockDiagram-VD42YOAC--2uZCxa1.js} +6 -6
  85. package/dist/server/assets/{c4Diagram-YG6GDRKO-CxjQmhvo.js → c4Diagram-YG6GDRKO-DOpP1zuh.js} +2 -2
  86. package/dist/server/assets/{channel-CmECspDA.js → channel-DZ-t3In9.js} +1 -1
  87. package/dist/server/assets/{chunk-4BX2VUAB-DYmX5HCu.js → chunk-4BX2VUAB-8Lfnc00H.js} +1 -1
  88. package/dist/server/assets/{chunk-55IACEB6-F8w8RM-f.js → chunk-55IACEB6-CxHx4Yv4.js} +1 -1
  89. package/dist/server/assets/{chunk-B4BG7PRW-DUQwrgHK.js → chunk-B4BG7PRW-BTCmrFIY.js} +4 -4
  90. package/dist/server/assets/{chunk-DI55MBZ5-7yPDl2El.js → chunk-DI55MBZ5-DjWOVWnR.js} +3 -3
  91. package/dist/server/assets/{chunk-FMBD7UC4-C9gl7_WW.js → chunk-FMBD7UC4-DhWXqlfo.js} +1 -1
  92. package/dist/server/assets/{chunk-QN33PNHL-BS6v2aTE.js → chunk-QN33PNHL-Bl1Mc_jb.js} +1 -1
  93. package/dist/server/assets/{chunk-QZHKN3VN-B5J2guhm.js → chunk-QZHKN3VN-DUVAQWn6.js} +1 -1
  94. package/dist/server/assets/{chunk-TZMSLE5B-5iomCHC1.js → chunk-TZMSLE5B-nYbcBlRl.js} +1 -1
  95. package/dist/server/assets/{classDiagram-v2-WZHVMYZB-Oc-s_a6W.js → classDiagram-2ON5EDUG-DwEggW8l.js} +5 -5
  96. package/dist/server/assets/{classDiagram-2ON5EDUG-Oc-s_a6W.js → classDiagram-v2-WZHVMYZB-DwEggW8l.js} +5 -5
  97. package/dist/server/assets/{clone-C1VxdZAi.js → clone-bgwdWu5M.js} +1 -1
  98. package/dist/server/assets/{cose-bilkent-S5V4N54A-Dx1z-O6B.js → cose-bilkent-S5V4N54A-dREmM07k.js} +1 -1
  99. package/dist/server/assets/{dagre-6UL2VRFP-nWgkPQ8T.js → dagre-6UL2VRFP-CGZN6KU8.js} +6 -6
  100. package/dist/server/assets/{diagram-PSM6KHXK-BtjPcnIq.js → diagram-PSM6KHXK-Cbxl33sq.js} +7 -7
  101. package/dist/server/assets/{diagram-QEK2KX5R-DJjttvHT.js → diagram-QEK2KX5R-BPZ7545L.js} +6 -6
  102. package/dist/server/assets/{diagram-S2PKOQOG-D8k0PDku.js → diagram-S2PKOQOG-DDOL76-a.js} +6 -6
  103. package/dist/server/assets/{erDiagram-Q2GNP2WA-BSHnLyFi.js → erDiagram-Q2GNP2WA-DSeBsmFh.js} +4 -4
  104. package/dist/server/assets/{flowDiagram-NV44I4VS-BI11sZ-c.js → flowDiagram-NV44I4VS-DjhfxLqy.js} +5 -5
  105. package/dist/server/assets/{ganttDiagram-JELNMOA3-BRY_WKYj.js → ganttDiagram-JELNMOA3-okkT_yOx.js} +2 -2
  106. package/dist/server/assets/{gitGraph-G5XIXVHT-D1ikIIj5.js → gitGraph-G5XIXVHT-BV-yEFxR.js} +6 -6
  107. package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CYuibBIs.js → gitGraphDiagram-V2S2FVAM-Z450UhlU.js} +7 -7
  108. package/dist/server/assets/{graph-CC-a2Bvf.js → graph-B6T8NfYq.js} +2 -2
  109. package/dist/server/assets/{highlighted-body-B3W2YXNL-DvB5BgQQ.js → highlighted-body-B3W2YXNL-BZ3mYXQY.js} +1 -1
  110. package/dist/server/assets/{index-B39Zjg68.js → index-B68GR2cW.js} +2 -2
  111. package/dist/server/assets/{index-CGUVjxpp.js → index-B898OypG.js} +2 -2
  112. package/dist/server/assets/{index-pf7BJIN7.js → index-B9f0fXv4.js} +1 -1
  113. package/dist/server/assets/{index-CWDSLbOK.js → index-BA2FjXwo.js} +5 -5
  114. package/dist/server/assets/{index-C8EurMyZ.js → index-BMpwokiG.js} +3 -3
  115. package/dist/server/assets/{index-B_QoQ6E3.js → index-BhA2MtFV.js} +5 -5
  116. package/dist/server/assets/{index-Bymd5bMs.js → index-CNywsCWa.js} +2 -2
  117. package/dist/server/assets/{index-CrFT09jL.js → index-CPsDB1Mi.js} +4 -4
  118. package/dist/server/assets/{index-LvYHNqMP.js → index-CZAoRk9u.js} +2 -2
  119. package/dist/server/assets/{index-BDx6hppD.js → index-DKMADihF.js} +3 -3
  120. package/dist/server/assets/{index-xB-uWI36.js → index-DMCMWFpz.js} +2 -2
  121. package/dist/server/assets/{index-CpQWAx4h.js → index-DdiG6bkF.js} +2 -2
  122. package/dist/server/assets/{index-dzk1xHns.js → index-DlyTB_Fx.js} +2 -2
  123. package/dist/server/assets/{index-DNgBw2B8.js → index-Dv5TVqb0.js} +2 -2
  124. package/dist/server/assets/{index-6X8_oT_H.js → index-UT8Dx3N4.js} +1 -1
  125. package/dist/server/assets/{index-C-vDmKwe.js → index-ZhQ5dlZr.js} +2 -2
  126. package/dist/server/assets/{index-CZHFYJ1F.js → index-nqn1WrEP.js} +2 -2
  127. package/dist/server/assets/{index-B-QgHm6u.js → index-zeqhLVEo.js} +2 -2
  128. package/dist/server/assets/{info-VBDWY6EO-4iUtPpXW.js → info-VBDWY6EO-BFyuTw2u.js} +6 -6
  129. package/dist/server/assets/{infoDiagram-HS3SLOUP-BMl-FhIz.js → infoDiagram-HS3SLOUP-D7pqJfBj.js} +5 -5
  130. package/dist/server/assets/{journeyDiagram-XKPGCS4Q-hwlw2Yzb.js → journeyDiagram-XKPGCS4Q-wknrg_5i.js} +4 -4
  131. package/dist/server/assets/{kanban-definition-3W4ZIXB7-DsIUlulJ.js → kanban-definition-3W4ZIXB7-C5mmx5oO.js} +2 -2
  132. package/dist/server/assets/{layout-BkX9Ni-8.js → layout-Q42fYD2e.js} +4 -4
  133. package/dist/server/assets/{linear-DlGavjVn.js → linear-D8mkoyNr.js} +1 -1
  134. package/dist/server/assets/{mermaid-3ZIDBTTL-DZxzWPW2.js → mermaid-3ZIDBTTL-DEkxCpDB.js} +1 -1
  135. package/dist/server/assets/{mermaid-parser.core-DCxxE5ic.js → mermaid-parser.core-B7OZZOmy.js} +11 -11
  136. package/dist/server/assets/{mindmap-definition-VGOIOE7T-qIo7L9rk.js → mindmap-definition-VGOIOE7T-ClhGOziq.js} +3 -3
  137. package/dist/server/assets/{packet-DYOGHKS2-CEbxf3yh.js → packet-DYOGHKS2-DwOoAxon.js} +6 -6
  138. package/dist/server/assets/{pie-VRWISCQL-rqbrz896.js → pie-VRWISCQL-CFyth_ZI.js} +6 -6
  139. package/dist/server/assets/{pieDiagram-ADFJNKIX-ZamlsD3s.js → pieDiagram-ADFJNKIX-sTPwXaWz.js} +7 -7
  140. package/dist/server/assets/{quadrantDiagram-AYHSOK5B-Ck-XnNnJ.js → quadrantDiagram-AYHSOK5B-BFO_bUP5.js} +2 -2
  141. package/dist/server/assets/{radar-ZZBFDIW7-DBpB2097.js → radar-ZZBFDIW7-DZd_gPoV.js} +6 -6
  142. package/dist/server/assets/{requirementDiagram-UZGBJVZJ-BkAG2aN5.js → requirementDiagram-UZGBJVZJ-BpiSq8mq.js} +3 -3
  143. package/dist/server/assets/{router-Lt_heiwW.js → router-LedB6_tA.js} +671 -416
  144. package/dist/server/assets/{sankeyDiagram-TZEHDZUN-D485OjcH.js → sankeyDiagram-TZEHDZUN-J-mhUKSN.js} +1 -1
  145. package/dist/server/assets/{sequenceDiagram-WL72ISMW-C8G8l7nt.js → sequenceDiagram-WL72ISMW-B8vBqD8p.js} +3 -3
  146. package/dist/server/assets/{square-terminal-wjq6S3pk.js → square-terminal-BIt9a9_h.js} +1 -1
  147. package/dist/server/assets/{stateDiagram-FKZM4ZOC-CeaSdwSj.js → stateDiagram-FKZM4ZOC-D25YarQ3.js} +8 -8
  148. package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-CrD5p82K.js → stateDiagram-v2-4FDKWEC3-BXLv9TyU.js} +4 -4
  149. package/dist/server/assets/{timeline-definition-IT6M3QCI-47B07Mob.js → timeline-definition-IT6M3QCI-C-fN6hWS.js} +2 -2
  150. package/dist/server/assets/{treemap-GDKQZRPO-DS--wG5_.js → treemap-GDKQZRPO-CRNmFc3O.js} +6 -6
  151. package/dist/server/assets/{workspace._workspaceId-BQQfM2SK.js → workspace._workspaceId--mv8yNcN.js} +2 -2
  152. package/dist/server/assets/{workspace._workspaceId.changes-CeJfanPD.js → workspace._workspaceId.changes-BQG3-25y.js} +1 -1
  153. package/dist/server/assets/{workspace._workspaceId.code._-BwhP6mz2.js → workspace._workspaceId.code._-bko0jWWb.js} +1 -1
  154. package/dist/server/assets/{workspace._workspaceId.code.index-BDkbSsOH.js → workspace._workspaceId.code.index-BXAZupNZ.js} +1 -1
  155. package/dist/server/assets/{workspace._workspaceId.index-xFhNB3Ro.js → workspace._workspaceId.index-kYTq7KgZ.js} +1 -1
  156. package/dist/server/assets/{workspace._workspaceId.terminal-DJDujxoa.js → workspace._workspaceId.terminal-ulwO6F6c.js} +2 -2
  157. package/dist/server/assets/{xychartDiagram-PRI3JC2R-ZoBEyy_Z.js → xychartDiagram-PRI3JC2R-BrazS5vf.js} +2 -2
  158. package/dist/server/server.js +2 -2
  159. package/package.json +5 -5
  160. package/dist/client/assets/DockviewTerminalContainer-Dd5aSGiy.js +0 -2
  161. package/dist/client/assets/arc-BEpbv2ox.js +0 -1
  162. package/dist/client/assets/architectureDiagram-VXUJARFQ-COs5uUM1.js +0 -36
  163. package/dist/client/assets/channel-DZmFAAoM.js +0 -1
  164. package/dist/client/assets/classDiagram-2ON5EDUG-r7FxLbWv.js +0 -1
  165. package/dist/client/assets/classDiagram-v2-WZHVMYZB-r7FxLbWv.js +0 -1
  166. package/dist/client/assets/clone-B_JMOsjm.js +0 -1
  167. package/dist/client/assets/diagram-PSM6KHXK-DYEooR6H.js +0 -24
  168. package/dist/client/assets/diagram-QEK2KX5R-UphmcNJy.js +0 -43
  169. package/dist/client/assets/diagram-S2PKOQOG-TIopw8Uz.js +0 -24
  170. package/dist/client/assets/ganttDiagram-JELNMOA3-CzuiJZ6D.js +0 -267
  171. package/dist/client/assets/gitGraphDiagram-V2S2FVAM-Bs0u0rkJ.js +0 -65
  172. package/dist/client/assets/highlighted-body-B3W2YXNL-CgB68wBQ.js +0 -1
  173. package/dist/client/assets/index-BLocPrGa.js +0 -1
  174. package/dist/client/assets/index-Bfa7oyhl.js +0 -7
  175. package/dist/client/assets/index-D_KQd30_.js +0 -13
  176. package/dist/client/assets/index-DutgvBu8.js +0 -1
  177. package/dist/client/assets/index-oSSXxQHd.js +0 -3
  178. package/dist/client/assets/pieDiagram-ADFJNKIX-CeHphzsk.js +0 -30
  179. package/dist/client/assets/sankeyDiagram-TZEHDZUN-C5esGkLa.js +0 -10
  180. package/dist/client/assets/stateDiagram-v2-4FDKWEC3-EGellyuL.js +0 -1
  181. package/dist/client/assets/workspace._workspaceId.code-fmc3Axzf.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-B-QgHm6u.js").then((m2) => m2.javascript());
40523
+ return import("./index-zeqhLVEo.js").then((m2) => m2.javascript());
40524
40524
  case "jsx":
40525
- return import("./index-B-QgHm6u.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-B-QgHm6u.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-B-QgHm6u.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-CGUVjxpp.js").then((m2) => m2.python());
40535
+ return import("./index-B898OypG.js").then((m2) => m2.python());
40536
40536
  case "html":
40537
- return import("./index-CrFT09jL.js").then((m2) => m2.html());
40537
+ return import("./index-CPsDB1Mi.js").then((m2) => m2.html());
40538
40538
  case "css":
40539
- return import("./index-dzk1xHns.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-C8EurMyZ.js").then((m2) => m2.sass());
40542
+ return import("./index-BMpwokiG.js").then((m2) => m2.sass());
40543
40543
  case "less":
40544
- return import("./index-BDx6hppD.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-LvYHNqMP.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-CWDSLbOK.js").then((m2) => m2.markdown());
40550
+ return import("./index-BA2FjXwo.js").then((m2) => m2.markdown());
40551
40551
  case "xml":
40552
- return import("./index-C-vDmKwe.js").then((m2) => m2.xml());
40552
+ return import("./index-ZhQ5dlZr.js").then((m2) => m2.xml());
40553
40553
  case "yaml":
40554
- return import("./index-DNgBw2B8.js").then((m2) => m2.yaml());
40554
+ return import("./index-Dv5TVqb0.js").then((m2) => m2.yaml());
40555
40555
  case "sql":
40556
- return import("./index-CpQWAx4h.js").then((m2) => m2.sql());
40556
+ return import("./index-DdiG6bkF.js").then((m2) => m2.sql());
40557
40557
  case "rust":
40558
- return import("./index-CZHFYJ1F.js").then((m2) => m2.rust());
40558
+ return import("./index-nqn1WrEP.js").then((m2) => m2.rust());
40559
40559
  case "go":
40560
- return import("./index-xB-uWI36.js").then((m2) => m2.go());
40560
+ return import("./index-DMCMWFpz.js").then((m2) => m2.go());
40561
40561
  case "java":
40562
- return import("./index-Bymd5bMs.js").then((m2) => m2.java());
40562
+ return import("./index-CNywsCWa.js").then((m2) => m2.java());
40563
40563
  case "kotlin":
40564
- return import("./index-Bymd5bMs.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-B39Zjg68.js").then((m2) => m2.cpp());
40567
+ return import("./index-B68GR2cW.js").then((m2) => m2.cpp());
40568
40568
  case "php":
40569
- return import("./index-B_QoQ6E3.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":
@@ -54065,11 +54065,13 @@ function LazyFileRow({
54065
54065
  onShowFullFile,
54066
54066
  onOpenFile,
54067
54067
  onRevertFile,
54068
- onEditorViews
54068
+ onEditorViews,
54069
+ onMeasureHeight
54069
54070
  }) {
54070
54071
  const [copied, setCopied] = reactExports.useState(false);
54071
54072
  const [revertDialogOpen, setRevertDialogOpen] = reactExports.useState(false);
54072
54073
  const containerRef = reactExports.useRef(null);
54074
+ const diffBodyRef = reactExports.useRef(null);
54073
54075
  const [shouldMount, setShouldMount] = reactExports.useState(false);
54074
54076
  reactExports.useEffect(() => {
54075
54077
  if (!isOpen) {
@@ -54082,7 +54084,10 @@ function LazyFileRow({
54082
54084
  const observer = new IntersectionObserver(
54083
54085
  (entries2) => {
54084
54086
  const entry = entries2[entries2.length - 1];
54085
- 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);
54086
54091
  },
54087
54092
  {
54088
54093
  root: scrollContainerEl,
@@ -54096,6 +54101,33 @@ function LazyFileRow({
54096
54101
  observer.observe(el);
54097
54102
  return () => observer.disconnect();
54098
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]);
54099
54131
  const handleEditorViews = reactExports.useCallback(
54100
54132
  (views) => {
54101
54133
  onEditorViews?.(filename, views);
@@ -54117,7 +54149,9 @@ function LazyFileRow({
54117
54149
  const isUntracked = status === "U";
54118
54150
  const canLoadMore = !isUntracked && getNextContextStep(contextLines) !== null;
54119
54151
  const placeholderHeight = reactExports.useMemo(() => {
54120
- 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;
54121
54155
  return diffContentHeight(cacheEntry.lineCounts, viewMode, canLoadMore);
54122
54156
  }, [isOpen, cacheEntry, viewMode, canLoadMore]);
54123
54157
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -54235,27 +54269,34 @@ function LazyFileRow({
54235
54269
  ),
54236
54270
  isOpen && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-t border-border/20 bg-muted/30", children: [
54237
54271
  diffError && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-4 py-4 text-sm text-destructive", children: diffError }),
54238
- diff2 !== null && (shouldMount ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
54239
- 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(
54240
- "button",
54241
- {
54242
- type: "button",
54243
- onClick: () => onShowFullFile(filename),
54244
- className: "text-xs text-muted-foreground transition-colors hover:text-foreground",
54245
- children: "Show full file"
54246
- }
54247
- ) }),
54248
- /* @__PURE__ */ jsxRuntimeExports.jsx(
54249
- DiffFileContent,
54250
- {
54251
- hunks: diff2,
54252
- filename,
54253
- viewMode,
54254
- onEditorViews: handleEditorViews,
54255
- onLoadMoreContext: canLoadMore ? () => onLoadMoreContext(filename) : void 0
54256
- }
54257
- )
54258
- ] }) : (
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
+ ) : (
54259
54300
  // Placeholder occupying the SAME pixel height the CodeMirror
54260
54301
  // editor would render at, so the row's overall size doesn't
54261
54302
  // change when the observer mounts/unmounts the editor. Without
@@ -54330,6 +54371,17 @@ function DiffView({
54330
54371
  const setViewMode = reactExports.useCallback((mode) => {
54331
54372
  setViewModeState(mode);
54332
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
+ });
54333
54385
  }, []);
54334
54386
  reactExports.useEffect(() => {
54335
54387
  const stored = readStoredCompareBranch(workspaceId);
@@ -54511,6 +54563,16 @@ function DiffView({
54511
54563
  },
54512
54564
  [search2.dispatchToViews]
54513
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
+ }, []);
54514
54576
  const fetchFileDiff = reactExports.useCallback(
54515
54577
  (filename, mergeBase, contextLines = 3) => {
54516
54578
  const getFileDiff = adapter2.getFileDiff;
@@ -54526,7 +54588,8 @@ function DiffView({
54526
54588
  loadingDiff: true,
54527
54589
  diffError: null,
54528
54590
  contextLines,
54529
- lineCounts: null
54591
+ lineCounts: null,
54592
+ measuredHeight: null
54530
54593
  });
54531
54594
  return next2;
54532
54595
  });
@@ -54552,7 +54615,13 @@ function DiffView({
54552
54615
  // Pre-compute line counts now (off the render path) so the
54553
54616
  // virtualizer's estimateSize stays O(1) when it's called
54554
54617
  // repeatedly during scroll.
54555
- 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
54556
54625
  });
54557
54626
  return next2;
54558
54627
  });
@@ -54565,7 +54634,8 @@ function DiffView({
54565
54634
  loadingDiff: false,
54566
54635
  diffError: err instanceof Error ? err.message : "Failed to load diff",
54567
54636
  contextLines: existing?.contextLines ?? contextLines,
54568
- lineCounts: existing?.lineCounts ?? null
54637
+ lineCounts: existing?.lineCounts ?? null,
54638
+ measuredHeight: existing?.measuredHeight ?? null
54569
54639
  });
54570
54640
  return next2;
54571
54641
  });
@@ -54900,26 +54970,46 @@ function DiffView({
54900
54970
  if (shouldDispatchFetch(diffCacheRef.current.get(target))) {
54901
54971
  fetchFileDiff(target);
54902
54972
  }
54903
- let frame2 = null;
54904
- const frame1 = requestAnimationFrame(() => {
54905
- frame2 = requestAnimationFrame(() => {
54906
- const container = scrollContainerRef.current;
54907
- if (!container) return;
54908
- const el = container.querySelector(
54909
- `[data-band-diff-file="${CSS.escape(target)}"]`
54910
- );
54911
- if (!el) return;
54912
- const elTop = el.getBoundingClientRect().top;
54913
- const containerTop = container.getBoundingClientRect().top;
54914
- container.scrollTo({
54915
- top: container.scrollTop + (elTop - containerTop),
54916
- behavior: "instant"
54917
- });
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();
54918
55007
  });
54919
55008
  });
54920
55009
  return () => {
54921
- cancelAnimationFrame(frame1);
54922
- if (frame2 !== null) cancelAnimationFrame(frame2);
55010
+ if (priming1 !== null) cancelAnimationFrame(priming1);
55011
+ if (priming2 !== null) cancelAnimationFrame(priming2);
55012
+ if (frameId !== null) cancelAnimationFrame(frameId);
54923
55013
  };
54924
55014
  }, [focusedFile, focusedLineCounts, fetchFileDiff]);
54925
55015
  if (isPlain) {
@@ -55223,7 +55313,8 @@ function DiffView({
55223
55313
  onShowFullFile: handleShowFullFile,
55224
55314
  onOpenFile,
55225
55315
  onRevertFile: adapter2.revertFile ? handleRevertFile : void 0,
55226
- onEditorViews: handleEditorViews
55316
+ onEditorViews: handleEditorViews,
55317
+ onMeasureHeight: handleMeasureHeight
55227
55318
  },
55228
55319
  filename
55229
55320
  );
@@ -108030,7 +108121,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
108030
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 });
108031
108122
  var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
108032
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 }) });
108033
- var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-DvB5BgQQ.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 }) => {
108034
108125
  let i2 = reactExports.useMemo(() => e2.replace(cn, ""), [e2]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
108035
108126
  `).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
108036
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 }) })] }) });
@@ -108352,7 +108443,7 @@ var Dt = ({ children: e2, className: t2, onDownload: o3, onError: n2 }) => {
108352
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] });
108353
108444
  };
108354
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 }) })] });
108355
- var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-DZxzWPW2.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]+)/;
108356
108447
  function ke$1(e2, t2) {
108357
108448
  if (!(e2 != null && e2.position || t2 != null && t2.position)) return true;
108358
108449
  if (!(e2 != null && e2.position && (t2 != null && t2.position))) return false;
@@ -158154,12 +158245,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
158154
158245
  registerLayoutLoaders([
158155
158246
  {
158156
158247
  name: "dagre",
158157
- loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-nWgkPQ8T.js"), "loader")
158248
+ loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CGZN6KU8.js"), "loader")
158158
158249
  },
158159
158250
  ...[
158160
158251
  {
158161
158252
  name: "cose-bilkent",
158162
- loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-Dx1z-O6B.js"), "loader")
158253
+ loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-dREmM07k.js"), "loader")
158163
158254
  }
158164
158255
  ]
158165
158256
  ]);
@@ -158598,7 +158689,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
158598
158689
  return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
158599
158690
  }, "detector");
158600
158691
  var loader = /* @__PURE__ */ __name(async () => {
158601
- const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-CxjQmhvo.js");
158692
+ const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-DOpP1zuh.js");
158602
158693
  return { id, diagram: diagram2 };
158603
158694
  }, "loader");
158604
158695
  var plugin = {
@@ -158615,7 +158706,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
158615
158706
  return /^\s*graph/.test(txt);
158616
158707
  }, "detector");
158617
158708
  var loader2 = /* @__PURE__ */ __name(async () => {
158618
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-BI11sZ-c.js");
158709
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158619
158710
  return { id: id2, diagram: diagram2 };
158620
158711
  }, "loader");
158621
158712
  var plugin2 = {
@@ -158638,7 +158729,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
158638
158729
  return /^\s*flowchart/.test(txt);
158639
158730
  }, "detector");
158640
158731
  var loader3 = /* @__PURE__ */ __name(async () => {
158641
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-BI11sZ-c.js");
158732
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158642
158733
  return { id: id3, diagram: diagram2 };
158643
158734
  }, "loader");
158644
158735
  var plugin3 = {
@@ -158652,7 +158743,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
158652
158743
  return /^\s*erDiagram/.test(txt);
158653
158744
  }, "detector");
158654
158745
  var loader4 = /* @__PURE__ */ __name(async () => {
158655
- const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-BSHnLyFi.js");
158746
+ const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DSeBsmFh.js");
158656
158747
  return { id: id4, diagram: diagram2 };
158657
158748
  }, "loader");
158658
158749
  var plugin4 = {
@@ -158666,7 +158757,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
158666
158757
  return /^\s*gitGraph/.test(txt);
158667
158758
  }, "detector");
158668
158759
  var loader5 = /* @__PURE__ */ __name(async () => {
158669
- const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-CYuibBIs.js");
158760
+ const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-Z450UhlU.js");
158670
158761
  return { id: id5, diagram: diagram2 };
158671
158762
  }, "loader");
158672
158763
  var plugin5 = {
@@ -158680,7 +158771,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
158680
158771
  return /^\s*gantt/.test(txt);
158681
158772
  }, "detector");
158682
158773
  var loader6 = /* @__PURE__ */ __name(async () => {
158683
- const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-BRY_WKYj.js");
158774
+ const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-okkT_yOx.js");
158684
158775
  return { id: id6, diagram: diagram2 };
158685
158776
  }, "loader");
158686
158777
  var plugin6 = {
@@ -158694,7 +158785,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
158694
158785
  return /^\s*info/.test(txt);
158695
158786
  }, "detector");
158696
158787
  var loader7 = /* @__PURE__ */ __name(async () => {
158697
- const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-BMl-FhIz.js");
158788
+ const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-D7pqJfBj.js");
158698
158789
  return { id: id7, diagram: diagram2 };
158699
158790
  }, "loader");
158700
158791
  var info = {
@@ -158707,7 +158798,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
158707
158798
  return /^\s*pie/.test(txt);
158708
158799
  }, "detector");
158709
158800
  var loader8 = /* @__PURE__ */ __name(async () => {
158710
- const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-ZamlsD3s.js");
158801
+ const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-sTPwXaWz.js");
158711
158802
  return { id: id8, diagram: diagram2 };
158712
158803
  }, "loader");
158713
158804
  var pie = {
@@ -158720,7 +158811,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
158720
158811
  return /^\s*quadrantChart/.test(txt);
158721
158812
  }, "detector");
158722
158813
  var loader9 = /* @__PURE__ */ __name(async () => {
158723
- const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-Ck-XnNnJ.js");
158814
+ const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-BFO_bUP5.js");
158724
158815
  return { id: id9, diagram: diagram2 };
158725
158816
  }, "loader");
158726
158817
  var plugin7 = {
@@ -158734,7 +158825,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
158734
158825
  return /^\s*xychart(-beta)?/.test(txt);
158735
158826
  }, "detector");
158736
158827
  var loader10 = /* @__PURE__ */ __name(async () => {
158737
- const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-ZoBEyy_Z.js");
158828
+ const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-BrazS5vf.js");
158738
158829
  return { id: id10, diagram: diagram2 };
158739
158830
  }, "loader");
158740
158831
  var plugin8 = {
@@ -158748,7 +158839,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
158748
158839
  return /^\s*requirement(Diagram)?/.test(txt);
158749
158840
  }, "detector");
158750
158841
  var loader11 = /* @__PURE__ */ __name(async () => {
158751
- const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-BkAG2aN5.js");
158842
+ const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-BpiSq8mq.js");
158752
158843
  return { id: id11, diagram: diagram2 };
158753
158844
  }, "loader");
158754
158845
  var plugin9 = {
@@ -158762,7 +158853,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
158762
158853
  return /^\s*sequenceDiagram/.test(txt);
158763
158854
  }, "detector");
158764
158855
  var loader12 = /* @__PURE__ */ __name(async () => {
158765
- const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-C8G8l7nt.js");
158856
+ const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-B8vBqD8p.js");
158766
158857
  return { id: id12, diagram: diagram2 };
158767
158858
  }, "loader");
158768
158859
  var plugin10 = {
@@ -158779,7 +158870,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
158779
158870
  return /^\s*classDiagram/.test(txt);
158780
158871
  }, "detector");
158781
158872
  var loader13 = /* @__PURE__ */ __name(async () => {
158782
- const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-Oc-s_a6W.js");
158873
+ const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-DwEggW8l.js");
158783
158874
  return { id: id13, diagram: diagram2 };
158784
158875
  }, "loader");
158785
158876
  var plugin11 = {
@@ -158796,7 +158887,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
158796
158887
  return /^\s*classDiagram-v2/.test(txt);
158797
158888
  }, "detector");
158798
158889
  var loader14 = /* @__PURE__ */ __name(async () => {
158799
- const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-Oc-s_a6W.js");
158890
+ const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-DwEggW8l.js");
158800
158891
  return { id: id14, diagram: diagram2 };
158801
158892
  }, "loader");
158802
158893
  var plugin12 = {
@@ -158813,7 +158904,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
158813
158904
  return /^\s*stateDiagram/.test(txt);
158814
158905
  }, "detector");
158815
158906
  var loader15 = /* @__PURE__ */ __name(async () => {
158816
- const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-CeaSdwSj.js");
158907
+ const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-D25YarQ3.js");
158817
158908
  return { id: id15, diagram: diagram2 };
158818
158909
  }, "loader");
158819
158910
  var plugin13 = {
@@ -158833,7 +158924,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
158833
158924
  return false;
158834
158925
  }, "detector");
158835
158926
  var loader16 = /* @__PURE__ */ __name(async () => {
158836
- const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-CrD5p82K.js");
158927
+ const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-BXLv9TyU.js");
158837
158928
  return { id: id16, diagram: diagram2 };
158838
158929
  }, "loader");
158839
158930
  var plugin14 = {
@@ -158847,7 +158938,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
158847
158938
  return /^\s*journey/.test(txt);
158848
158939
  }, "detector");
158849
158940
  var loader17 = /* @__PURE__ */ __name(async () => {
158850
- const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-hwlw2Yzb.js");
158941
+ const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-wknrg_5i.js");
158851
158942
  return { id: id17, diagram: diagram2 };
158852
158943
  }, "loader");
158853
158944
  var plugin15 = {
@@ -158914,7 +159005,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
158914
159005
  return false;
158915
159006
  }, "detector");
158916
159007
  var loader18 = /* @__PURE__ */ __name(async () => {
158917
- const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-BI11sZ-c.js");
159008
+ const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-DjhfxLqy.js");
158918
159009
  return { id: id18, diagram: diagram2 };
158919
159010
  }, "loader");
158920
159011
  var plugin16 = {
@@ -158928,7 +159019,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
158928
159019
  return /^\s*timeline/.test(txt);
158929
159020
  }, "detector");
158930
159021
  var loader19 = /* @__PURE__ */ __name(async () => {
158931
- const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-47B07Mob.js");
159022
+ const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-C-fN6hWS.js");
158932
159023
  return { id: id19, diagram: diagram2 };
158933
159024
  }, "loader");
158934
159025
  var plugin17 = {
@@ -158942,7 +159033,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
158942
159033
  return /^\s*mindmap/.test(txt);
158943
159034
  }, "detector");
158944
159035
  var loader20 = /* @__PURE__ */ __name(async () => {
158945
- const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-qIo7L9rk.js");
159036
+ const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-ClhGOziq.js");
158946
159037
  return { id: id20, diagram: diagram2 };
158947
159038
  }, "loader");
158948
159039
  var plugin18 = {
@@ -158956,7 +159047,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
158956
159047
  return /^\s*kanban/.test(txt);
158957
159048
  }, "detector");
158958
159049
  var loader21 = /* @__PURE__ */ __name(async () => {
158959
- const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-DsIUlulJ.js");
159050
+ const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-C5mmx5oO.js");
158960
159051
  return { id: id21, diagram: diagram2 };
158961
159052
  }, "loader");
158962
159053
  var plugin19 = {
@@ -158970,7 +159061,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
158970
159061
  return /^\s*sankey(-beta)?/.test(txt);
158971
159062
  }, "detector");
158972
159063
  var loader22 = /* @__PURE__ */ __name(async () => {
158973
- const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-D485OjcH.js");
159064
+ const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-J-mhUKSN.js");
158974
159065
  return { id: id22, diagram: diagram2 };
158975
159066
  }, "loader");
158976
159067
  var plugin20 = {
@@ -158984,7 +159075,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
158984
159075
  return /^\s*packet(-beta)?/.test(txt);
158985
159076
  }, "detector");
158986
159077
  var loader23 = /* @__PURE__ */ __name(async () => {
158987
- const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-D8k0PDku.js");
159078
+ const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-DDOL76-a.js");
158988
159079
  return { id: id23, diagram: diagram2 };
158989
159080
  }, "loader");
158990
159081
  var packet = {
@@ -158997,7 +159088,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
158997
159088
  return /^\s*radar-beta/.test(txt);
158998
159089
  }, "detector");
158999
159090
  var loader24 = /* @__PURE__ */ __name(async () => {
159000
- const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-DJjttvHT.js");
159091
+ const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-BPZ7545L.js");
159001
159092
  return { id: id24, diagram: diagram2 };
159002
159093
  }, "loader");
159003
159094
  var radar = {
@@ -159010,7 +159101,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
159010
159101
  return /^\s*block(-beta)?/.test(txt);
159011
159102
  }, "detector");
159012
159103
  var loader25 = /* @__PURE__ */ __name(async () => {
159013
- const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-V3NJ6oho.js");
159104
+ const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC--2uZCxa1.js");
159014
159105
  return { id: id25, diagram: diagram2 };
159015
159106
  }, "loader");
159016
159107
  var plugin21 = {
@@ -159024,7 +159115,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
159024
159115
  return /^\s*architecture/.test(txt);
159025
159116
  }, "detector");
159026
159117
  var loader26 = /* @__PURE__ */ __name(async () => {
159027
- const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-BewwvF_K.js");
159118
+ const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-CLnWOrQy.js");
159028
159119
  return { id: id26, diagram: diagram2 };
159029
159120
  }, "loader");
159030
159121
  var architecture = {
@@ -159038,7 +159129,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
159038
159129
  return /^\s*treemap/.test(txt);
159039
159130
  }, "detector");
159040
159131
  var loader27 = /* @__PURE__ */ __name(async () => {
159041
- const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-BtjPcnIq.js");
159132
+ const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-Cbxl33sq.js");
159042
159133
  return { id: id27, diagram: diagram2 };
159043
159134
  }, "loader");
159044
159135
  var treemap = {
@@ -160785,40 +160876,39 @@ function CodeBrowserView({
160785
160876
  return () => window.removeEventListener("band:lsp-navigate", handleLspNavigate);
160786
160877
  }, [pushDepartureAndArrival, fileTabs.openTabPinned, notifySelectFile]);
160787
160878
  reactExports.useEffect(() => {
160788
- const handleNextTab = () => {
160879
+ const cycleFileTabs = (direction) => {
160789
160880
  const tabs = fileTabs.openTabs;
160790
160881
  if (tabs.length <= 1) return;
160791
160882
  const currentIndex = tabs.findIndex((t2) => t2.filePath === fileTabs.activeTabPath);
160792
- const nextIndex = (currentIndex + 1) % tabs.length;
160883
+ const nextIndex = currentIndex < 0 ? direction === 1 ? 0 : tabs.length - 1 : (currentIndex + direction + tabs.length) % tabs.length;
160793
160884
  handleTabSelect(tabs[nextIndex].filePath);
160794
160885
  };
160795
- const handlePrevTab = () => {
160796
- const tabs = fileTabs.openTabs;
160797
- if (tabs.length <= 1) return;
160798
- const currentIndex = tabs.findIndex((t2) => t2.filePath === fileTabs.activeTabPath);
160799
- const prevIndex = (currentIndex - 1 + tabs.length) % tabs.length;
160800
- handleTabSelect(tabs[prevIndex].filePath);
160801
- };
160802
- window.addEventListener("band:next-file-tab", handleNextTab);
160803
- window.addEventListener("band:prev-file-tab", handlePrevTab);
160804
- return () => {
160805
- window.removeEventListener("band:next-file-tab", handleNextTab);
160806
- window.removeEventListener("band:prev-file-tab", handlePrevTab);
160807
- };
160808
- }, [fileTabs.openTabs, fileTabs.activeTabPath, handleTabSelect]);
160809
- reactExports.useEffect(() => {
160810
160886
  const handler = (e2) => {
160811
- if ((e2.metaKey || e2.ctrlKey) && e2.key === "w") {
160812
- if (fileTabs.activeTabPath) {
160813
- e2.preventDefault();
160814
- e2.stopPropagation();
160815
- handleTabClose(fileTabs.activeTabPath);
160816
- }
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);
160817
160907
  }
160818
160908
  };
160819
160909
  window.addEventListener("keydown", handler, { capture: true });
160820
160910
  return () => window.removeEventListener("keydown", handler, { capture: true });
160821
- }, [fileTabs.activeTabPath, handleTabClose]);
160911
+ }, [fileTabs.openTabs, fileTabs.activeTabPath, handleTabSelect, handleTabClose]);
160822
160912
  const fileBrowserRef = reactExports.useRef(null);
160823
160913
  const handleNewFile = reactExports.useCallback(() => {
160824
160914
  fileBrowserRef.current?.startNewFile();
@@ -161346,6 +161436,80 @@ function injectInitialUrls(layout, urls) {
161346
161436
  if (!changed) return layout;
161347
161437
  return { ...layout, panels: nextPanels };
161348
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
+ }
161349
161513
  let domOverlayCount = 0;
161350
161514
  let manualHoldCount = 0;
161351
161515
  const listeners$2 = /* @__PURE__ */ new Set();
@@ -162789,11 +162953,6 @@ function DockviewBrowserContainer({
162789
162953
  if (!api) return;
162790
162954
  const browserId = newBrowserId();
162791
162955
  markBrowserFresh(browserId);
162792
- try {
162793
- await trpc.browsers.create.mutate({ workspaceId, id: browserId });
162794
- } catch (err) {
162795
- console.error("[DockviewBrowserContainer] error pre-creating browser:", err);
162796
- }
162797
162956
  const options = {
162798
162957
  id: browserId,
162799
162958
  component: "browserTab",
@@ -162810,6 +162969,11 @@ function DockviewBrowserContainer({
162810
162969
  };
162811
162970
  }
162812
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
+ }
162813
162977
  },
162814
162978
  [workspaceId]
162815
162979
  );
@@ -162819,64 +162983,90 @@ function DockviewBrowserContainer({
162819
162983
  if (!api) return;
162820
162984
  const browserId = newBrowserId();
162821
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
+ }
162822
163005
  try {
162823
163006
  await trpc.browsers.create.mutate({ workspaceId, id: browserId });
162824
163007
  } catch (err) {
162825
163008
  console.error("[DockviewBrowserContainer] error creating split browser:", err);
162826
163009
  }
162827
- api.addPanel({
162828
- id: browserId,
162829
- component: "browserTab",
162830
- tabComponent: "browserTab",
162831
- title: "New Tab",
162832
- params: {
162833
- workspaceId,
162834
- browserId
162835
- },
162836
- position: {
162837
- referenceGroup: groupId,
162838
- direction
162839
- }
162840
- });
162841
163010
  },
162842
163011
  [workspaceId]
162843
163012
  );
162844
163013
  const closeTab = reactExports.useCallback((browserId) => {
162845
163014
  const api = apiRef.current;
162846
163015
  if (!api || api.panels.length <= 1) return;
163016
+ selectNeighbourBeforeRemove(api, browserId);
162847
163017
  const panel = api.getPanel(browserId);
162848
163018
  if (panel) {
162849
163019
  api.removePanel(panel);
162850
163020
  }
163021
+ requestAnimationFrame(() => {
163022
+ const activePanel = api.activePanel;
163023
+ if (!activePanel) return;
163024
+ activePanel.view.content.element.querySelector("[data-band-address-input]")?.focus();
163025
+ });
162851
163026
  trpc.browsers.remove.mutate({ browserId }).catch((err) => {
162852
163027
  console.error("[DockviewBrowserContainer] failed to remove browser:", err);
162853
163028
  });
162854
163029
  }, []);
162855
163030
  reactExports.useEffect(() => {
162856
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
+ };
162857
163047
  const handler = (e2) => {
162858
163048
  if (!containerRef.current?.contains(document.activeElement)) return;
162859
163049
  const key2 = e2.key.toLowerCase();
162860
163050
  if (e2.ctrlKey && !e2.metaKey && key2 === "tab") {
162861
163051
  e2.preventDefault();
162862
163052
  e2.stopPropagation();
162863
- const api = apiRef.current;
162864
- const group = api?.activeGroup;
162865
- if (!group) return;
162866
- if (e2.shiftKey) {
162867
- group.model.moveToPrevious();
162868
- } else {
162869
- group.model.moveToNext();
162870
- }
162871
- requestAnimationFrame(() => {
162872
- const panel = api.activePanel;
162873
- if (!panel) return;
162874
- panel.view.content.element.querySelector("[data-band-address-input]")?.focus();
162875
- });
163053
+ cycleTabs(e2.shiftKey ? -1 : 1);
162876
163054
  return;
162877
163055
  }
162878
163056
  const mod = e2.metaKey || e2.ctrlKey;
162879
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
+ }
162880
163070
  if (key2 === "t" && !e2.shiftKey) {
162881
163071
  e2.preventDefault();
162882
163072
  e2.stopPropagation();
@@ -162921,6 +163111,15 @@ function DockviewBrowserContainer({
162921
163111
  window.addEventListener("keydown", handler, true);
162922
163112
  return () => window.removeEventListener("keydown", handler, true);
162923
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]);
162924
163123
  reactExports.useEffect(() => {
162925
163124
  if (!isDesktop) return;
162926
163125
  let unlisten;
@@ -162943,6 +163142,55 @@ function DockviewBrowserContainer({
162943
163142
  })();
162944
163143
  return () => unlisten?.();
162945
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]);
162946
163194
  reactExports.useEffect(() => {
162947
163195
  const handler = () => {
162948
163196
  const root2 = containerRef.current;
@@ -175675,34 +175923,53 @@ function DockviewChatContainer({
175675
175923
  const closeTab = reactExports.useCallback((chatId) => {
175676
175924
  const api = apiRef.current;
175677
175925
  if (!api || api.panels.length <= 1) return;
175926
+ selectNeighbourBeforeRemove(api, chatId);
175678
175927
  const panel = api.getPanel(chatId);
175679
175928
  if (panel) {
175680
175929
  api.removePanel(panel);
175681
175930
  }
175931
+ requestAnimationFrame(() => {
175932
+ apiRef.current?.activeGroup?.model.focusContent();
175933
+ });
175682
175934
  trpc.chats.remove.mutate({ chatId }).catch((err) => {
175683
175935
  console.error("[DockviewChatContainer] failed to remove chat:", err);
175684
175936
  });
175685
175937
  }, []);
175686
175938
  reactExports.useEffect(() => {
175687
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
+ };
175688
175950
  const handler = (e2) => {
175689
175951
  if (!containerRef.current?.contains(document.activeElement)) return;
175690
175952
  const key2 = e2.key.toLowerCase();
175691
175953
  if (e2.ctrlKey && !e2.metaKey && key2 === "tab") {
175692
175954
  e2.preventDefault();
175693
175955
  e2.stopPropagation();
175694
- const group = apiRef.current?.activeGroup;
175695
- if (!group) return;
175696
- if (e2.shiftKey) {
175697
- group.model.moveToPrevious();
175698
- } else {
175699
- group.model.moveToNext();
175700
- }
175701
- group.model.focusContent();
175956
+ cycleTabs(e2.shiftKey ? -1 : 1);
175702
175957
  return;
175703
175958
  }
175704
175959
  const mod = e2.metaKey || e2.ctrlKey;
175705
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
+ }
175706
175973
  if (key2 === "t" && !e2.shiftKey) {
175707
175974
  e2.preventDefault();
175708
175975
  e2.stopPropagation();
@@ -175730,6 +175997,15 @@ function DockviewChatContainer({
175730
175997
  window.addEventListener("keydown", handler, true);
175731
175998
  return () => window.removeEventListener("keydown", handler, true);
175732
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]);
175733
176009
  reactExports.useEffect(() => {
175734
176010
  return adapter2.subscribeStatusEvents((event) => {
175735
176011
  if (event.workspaceId !== workspaceId) return;
@@ -178945,7 +179221,7 @@ const PANEL_SHORTCUTS = {
178945
179221
  browser: "⇧⌘B"
178946
179222
  };
178947
179223
  const DockviewTerminalContainer = reactExports.lazy(
178948
- () => import("./DockviewTerminalContainer-B2Blr37b.js").then((m2) => ({
179224
+ () => import("./DockviewTerminalContainer-BmJNT7wr.js").then((m2) => ({
178949
179225
  default: m2.DockviewTerminalContainer
178950
179226
  }))
178951
179227
  );
@@ -179479,18 +179755,6 @@ function SharedDockviewLayout() {
179479
179755
  });
179480
179756
  return;
179481
179757
  }
179482
- if (e2.key === "Tab" && e2.ctrlKey && !e2.shiftKey) {
179483
- e2.preventDefault();
179484
- e2.stopPropagation();
179485
- window.dispatchEvent(new CustomEvent("band:next-file-tab"));
179486
- return;
179487
- }
179488
- if (e2.key === "Tab" && e2.ctrlKey && e2.shiftKey) {
179489
- e2.preventDefault();
179490
- e2.stopPropagation();
179491
- window.dispatchEvent(new CustomEvent("band:prev-file-tab"));
179492
- return;
179493
- }
179494
179758
  if (e2.code === "KeyF" && e2.altKey && e2.shiftKey && !e2.metaKey && !e2.ctrlKey) {
179495
179759
  if (terminalFocused) return;
179496
179760
  e2.preventDefault();
@@ -180099,18 +180363,6 @@ function useNavigationHistory(routerNavigate, capabilities2) {
180099
180363
  if (href) routerNavigate(href);
180100
180364
  }
180101
180365
  }, [routerNavigate, capabilities2]);
180102
- reactExports.useEffect(() => {
180103
- const handler = (e2) => {
180104
- if (!(e2.metaKey || e2.ctrlKey)) return;
180105
- if (e2.key !== "[" && e2.key !== "]") return;
180106
- e2.preventDefault();
180107
- e2.stopPropagation();
180108
- if (e2.key === "[") goBack();
180109
- else goForward();
180110
- };
180111
- window.addEventListener("keydown", handler, true);
180112
- return () => window.removeEventListener("keydown", handler, true);
180113
- }, [goBack, goForward]);
180114
180366
  return {
180115
180367
  goBack,
180116
180368
  goForward,
@@ -180517,11 +180769,11 @@ function RootLayout() {
180517
180769
  ] })
180518
180770
  ] });
180519
180771
  }
180520
- const $$splitComponentImporter$7 = () => import("./index-6X8_oT_H.js");
180772
+ const $$splitComponentImporter$7 = () => import("./index-UT8Dx3N4.js");
180521
180773
  const Route$7 = createFileRoute("/")({
180522
180774
  component: lazyRouteComponent($$splitComponentImporter$7, "component")
180523
180775
  });
180524
- const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-BQQfM2SK.js");
180776
+ const $$splitComponentImporter$6 = () => import("./workspace._workspaceId--mv8yNcN.js");
180525
180777
  const Route$6 = createFileRoute("/workspace/$workspaceId")({
180526
180778
  component: lazyRouteComponent($$splitComponentImporter$6, "component")
180527
180779
  });
@@ -180540,11 +180792,11 @@ const FindInFileContext = reactExports.createContext({
180540
180792
  function useFindInFileContext() {
180541
180793
  return reactExports.useContext(FindInFileContext);
180542
180794
  }
180543
- const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-xFhNB3Ro.js");
180795
+ const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-kYTq7KgZ.js");
180544
180796
  const Route$5 = createFileRoute("/workspace/$workspaceId/")({
180545
180797
  component: lazyRouteComponent($$splitComponentImporter$5, "component")
180546
180798
  });
180547
- const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-DJDujxoa.js");
180799
+ const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-ulwO6F6c.js");
180548
180800
  const Route$4 = createFileRoute("/workspace/$workspaceId/terminal")({
180549
180801
  component: lazyRouteComponent($$splitComponentImporter$4, "component")
180550
180802
  });
@@ -180552,15 +180804,15 @@ const $$splitComponentImporter$3 = () => import("./workspace._workspaceId.code-C
180552
180804
  const Route$3 = createFileRoute("/workspace/$workspaceId/code")({
180553
180805
  component: lazyRouteComponent($$splitComponentImporter$3, "component")
180554
180806
  });
180555
- const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-CeJfanPD.js");
180807
+ const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-BQG3-25y.js");
180556
180808
  const Route$2 = createFileRoute("/workspace/$workspaceId/changes")({
180557
180809
  component: lazyRouteComponent($$splitComponentImporter$2, "component")
180558
180810
  });
180559
- const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-BDkbSsOH.js");
180811
+ const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-BXAZupNZ.js");
180560
180812
  const Route$1 = createFileRoute("/workspace/$workspaceId/code/")({
180561
180813
  component: lazyRouteComponent($$splitComponentImporter$1, "component")
180562
180814
  });
180563
- const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-BwhP6mz2.js");
180815
+ const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-bko0jWWb.js");
180564
180816
  const Route2 = createFileRoute("/workspace/$workspaceId/code/$")({
180565
180817
  component: lazyRouteComponent($$splitComponentImporter, "component")
180566
180818
  });
@@ -180634,236 +180886,239 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
180634
180886
  getRouter
180635
180887
  }, Symbol.toStringTag, { value: "Module" }));
180636
180888
  export {
180637
- getConfig2 as $,
180638
- styleTags as A,
180639
- tags as B,
180889
+ getAccTitle as $,
180890
+ continuedIndent as A,
180891
+ foldNodeProp as B,
180640
180892
  ChatView as C,
180641
180893
  DiffView as D,
180642
- ifNotIn as E,
180643
- completeFromList as F,
180644
- syntaxTree as G,
180645
- Parser$2 as H,
180646
- NodeSet as I,
180647
- NodeType as J,
180648
- 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,
180649
180901
  LanguageSupport as L,
180650
- NodeProp as M,
180902
+ NodeSet as M,
180651
180903
  Nt as N,
180652
- IterMode as O,
180904
+ NodeType as O,
180653
180905
  Plus as P,
180654
- R$4 as Q,
180906
+ DefaultBufferLength as Q,
180655
180907
  Route$5 as R,
180656
- Ks as S,
180908
+ NodeProp as S,
180657
180909
  Tree as T,
180658
- Qe$1 as U,
180659
- setAccDescription as V,
180660
- getAccDescription as W,
180910
+ IterMode as U,
180911
+ R$4 as V,
180912
+ Ks as W,
180661
180913
  X$7 as X,
180662
- getAccTitle as Y,
180663
- setAccTitle as Z,
180664
- __name as _,
180914
+ Qe$1 as Y,
180915
+ setAccDescription as Z,
180916
+ getAccDescription as _,
180665
180917
  Navigate as a,
180666
- darken as a$,
180667
- select as a0,
180668
- log as a1,
180669
- configureSvgSize as a2,
180670
- assignWithDepth_default as a3,
180671
- calculateTextWidth as a4,
180672
- sanitizeText as a5,
180673
- distExports as a6,
180674
- wrapLabel as a7,
180675
- common_default as a8,
180676
- calculateTextHeight as a9,
180677
- epsilon as aA,
180678
- tau as aB,
180679
- cos as aC,
180680
- sin as aD,
180681
- min as aE,
180682
- abs$1 as aF,
180683
- pi as aG,
180684
- sqrt as aH,
180685
- atan2 as aI,
180686
- constant$1 as aJ,
180687
- asin as aK,
180688
- acos as aL,
180689
- max as aM,
180690
- getThemeVariables3 as aN,
180691
- hasKatex as aO,
180692
- calculateMathMLDimensions as aP,
180693
- parseFontSize as aQ,
180694
- ZERO_WIDTH_SPACE as aR,
180695
- getUrl as aS,
180696
- renderKatexSanitized as aT,
180697
- parseGenericTypes as aU,
180698
- line$1 as aV,
180699
- curveBasis as aW,
180700
- generateId$1 as aX,
180701
- setupGraphViewbox as aY,
180702
- isDark as aZ,
180703
- lighten as a_,
180704
- lineBreakRegex as aa,
180705
- setConfig2 as ab,
180706
- getRegisteredLayoutAlgorithm as ac,
180707
- render$1 as ad,
180708
- utils_default as ae,
180709
- setDiagramTitle as af,
180710
- getDiagramTitle as ag,
180711
- load as ah,
180712
- JSON_SCHEMA as ai,
180713
- isValidShape as aj,
180714
- getEdgeId as ak,
180715
- clear$2 as al,
180716
- defaultConfig2 as am,
180717
- rgba$1 as an,
180718
- Utils as ao,
180719
- Color$1 as ap,
180720
- __export$1 as aq,
180721
- setupGraphViewbox2 as ar,
180722
- cleanAndMerge as as,
180723
- defaultConfig_default as at,
180724
- getConfig as au,
180725
- random as av,
180726
- selectSvgElement as aw,
180727
- package_default as ax,
180728
- withPath as ay,
180729
- 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,
180730
180982
  useSettingsQuery as b,
180731
- ToolbarOverflowMenuItems as b$,
180732
- commonDb_exports as b0,
180733
- insertCluster as b1,
180734
- insertNode as b2,
180735
- positionNode as b3,
180736
- getLineFunctionsWithOffset as b4,
180737
- evaluate as b5,
180738
- createText as b6,
180739
- getSubGraphTitleMargins as b7,
180740
- replaceIconSubstring as b8,
180741
- decodeEntities as b9,
180742
- EditorState as bA,
180743
- languageDataProp as bB,
180744
- LanguageDescription as bC,
180745
- ParseContext as bD,
180746
- bracketMatchingHandle as bE,
180747
- flatIndent as bF,
180748
- sublanguageProp as bG,
180749
- baseRest as bH,
180750
- isArrayLikeObject as bI,
180751
- constant as bJ,
180752
- isFunction as bK,
180753
- isEmpty as bL,
180754
- markers_default as bM,
180755
- clear2 as bN,
180756
- clear as bO,
180757
- clear$1 as bP,
180758
- updateNodeBounds as bQ,
180759
- setNodeElem as bR,
180760
- insertEdge as bS,
180761
- positionEdgeLabel as bT,
180762
- insertEdgeLabel as bU,
180763
- computeDimensionOfText as bV,
180764
- Ut$1 as bW,
180765
- Yt$1 as bX,
180766
- DashboardShell as bY,
180767
- Qt$1 as bZ,
180768
- ToolbarOverflowProvider as b_,
180769
- getStylesFromArray as ba,
180770
- MessageSquare as bb,
180771
- GitCompare as bc,
180772
- FolderOpen as bd,
180773
- Route$6 as be,
180774
- useDashboardStore as bf,
180775
- DesktopDragRegion as bg,
180776
- ArrowLeft as bh,
180777
- QuickOpenDialog as bi,
180778
- SearchFilesDialog as bj,
180779
- useDiffTarget as bk,
180780
- delimitedIndent as bl,
180781
- NodeWeakMap as bm,
180782
- snippetCompletion as bn,
180783
- Tag as bo,
180784
- parseMixed as bp,
180785
- EditorSelection as bq,
180786
- countColumn as br,
180787
- Prec as bs,
180788
- keymap as bt,
180789
- EditorView as bu,
180790
- Language as bv,
180791
- indentUnit as bw,
180792
- foldService as bx,
180793
- defineLanguageFacet as by,
180794
- 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,
180795
181047
  agentTypeSupportsSessionListing as c,
180796
- Uint8Array$1 as c$,
180797
- array$2 as c0,
180798
- getUserDefinedConfig as c1,
180799
- ArrowRight as c2,
180800
- ArrowUp as c3,
180801
- ArrowDown as c4,
180802
- ClipboardPaste as c5,
180803
- getCurrentZoomLevel as c6,
180804
- openExternalUrl as c7,
180805
- subscribeToZoomChanges as c8,
180806
- SearchBar as c9,
180807
- hue as cA,
180808
- dayjs2 as cB,
180809
- setToString as cC,
180810
- overRest as cD,
180811
- baseFor as cE,
180812
- baseAssignValue as cF,
180813
- baseUnary as cG,
180814
- merge$1 as cH,
180815
- isObjectLike as cI,
180816
- baseGetTag as cJ,
180817
- Symbol$1 as cK,
180818
- arrayLikeKeys as cL,
180819
- baseKeys as cM,
180820
- memoize as cN,
180821
- isArguments as cO,
180822
- copyObject as cP,
180823
- getPrototype as cQ,
180824
- cloneArrayBuffer as cR,
180825
- cloneTypedArray as cS,
180826
- getTag as cT,
180827
- nodeUtil as cU,
180828
- copyArray as cV,
180829
- isBuffer as cW,
180830
- cloneBuffer as cX,
180831
- initCloneObject as cY,
180832
- Stack as cZ,
180833
- MapCache as c_,
180834
- ZOOM_CSS_VAR as ca,
180835
- getIconSVG as cb,
180836
- registerIconPacks as cc,
180837
- unknownIcon as cd,
180838
- isObject$1 as ce,
180839
- isIterateeCall as cf,
180840
- keysIn as cg,
180841
- eq as ch,
180842
- isArrayLike as ci,
180843
- isArray as cj,
180844
- identity as ck,
180845
- isIndex as cl,
180846
- assignValue as cm,
180847
- constant$2 as cn,
180848
- interpolateNumber as co,
180849
- color as cp,
180850
- interpolateRgb as cq,
180851
- interpolateString as cr,
180852
- styles2String as cs,
180853
- isLabelStyle as ct,
180854
- Rgb as cu,
180855
- rgbConvert as cv,
180856
- define as cw,
180857
- extend$2 as cx,
180858
- Color as cy,
180859
- 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,
180860
181112
  Route$4 as d,
180861
- isTypedArray as d0,
180862
- isLength as d1,
180863
- Set$1 as d2,
180864
- createAssigner as d3,
180865
- isPrototype as d4,
180866
- 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,
180867
181122
  Route$2 as e,
180868
181123
  useNavigate as f,
180869
181124
  useDiffStatsContext as g,
@@ -180878,12 +181133,12 @@ export {
180878
181133
  DockviewReact as p,
180879
181134
  Columns2 as q,
180880
181135
  Rows2 as r,
180881
- createLucideIcon as s,
181136
+ selectNeighbourBeforeRemove as s,
180882
181137
  trpc as t,
180883
181138
  useIsDesktop as u,
180884
- LRLanguage as v,
180885
- indentNodeProp as w,
180886
- continuedIndent as x,
180887
- foldNodeProp as y,
180888
- foldInside as z
181139
+ cycleTabsInActiveGroup as v,
181140
+ cycleGridGroups as w,
181141
+ createLucideIcon as x,
181142
+ LRLanguage as y,
181143
+ indentNodeProp as z
180889
181144
  };