@band-app/server 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{DockviewBrowserContainer-Bh7ygcym.js → DockviewBrowserContainer-C_SeGH4m.js} +2 -2
- package/dist/client/assets/DockviewTerminalContainer-CnyEPngk.js +2 -0
- package/dist/client/assets/TerminalPanel-DIvPtQ0C.js +1 -0
- package/dist/client/assets/{_basePickBy-BoN5C7c3.js → _basePickBy-WSEGU-48.js} +1 -1
- package/dist/client/assets/_baseUniq-CISSY9JU.js +1 -0
- package/dist/client/assets/{arc-DStHWz7g.js → arc-EYeeggGP.js} +1 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-auNzMJHs.js +36 -0
- package/dist/client/assets/{blockDiagram-VD42YOAC-CpfEplz4.js → blockDiagram-VD42YOAC-BAxIVlzi.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-DFNXKd12.js → c4Diagram-YG6GDRKO-BRGunjEV.js} +1 -1
- package/dist/client/assets/channel-mz7YKOQ7.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-BhKLwyZj.js → chunk-4BX2VUAB-DD1K7aO0.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6--1nGJwoJ.js → chunk-55IACEB6-xhCYxBKG.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-DfW_4HED.js → chunk-B4BG7PRW-BRcHAc7V.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-BBLPj3y_.js → chunk-DI55MBZ5-C5AoviQd.js} +3 -3
- package/dist/client/assets/{chunk-FMBD7UC4-22_QzB6-.js → chunk-FMBD7UC4-CelHUigz.js} +1 -1
- package/dist/client/assets/chunk-QN33PNHL-nQBPkq6v.js +1 -0
- package/dist/client/assets/{chunk-QZHKN3VN-t5QozrKy.js → chunk-QZHKN3VN-IXkzzmtV.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-DTbuaeiD.js → chunk-TZMSLE5B-kYboanfD.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-khRtU3oZ.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-khRtU3oZ.js +1 -0
- package/dist/client/assets/clone-D_zAu_UU.js +1 -0
- package/dist/client/assets/cose-bilkent-S5V4N54A-xs2qxNxB.js +1 -0
- package/dist/client/assets/dagre-6UL2VRFP-Cs2kFqLw.js +4 -0
- package/dist/client/assets/diagram-PSM6KHXK-CL0KNaAN.js +24 -0
- package/dist/client/assets/diagram-QEK2KX5R-bojH3Fje.js +43 -0
- package/dist/client/assets/diagram-S2PKOQOG-CR3NnSCV.js +24 -0
- package/dist/client/assets/{erDiagram-Q2GNP2WA-D2Rb5UvQ.js → erDiagram-Q2GNP2WA-B1PLdIwn.js} +3 -3
- package/dist/client/assets/{flowDiagram-NV44I4VS-BSQxdSDJ.js → flowDiagram-NV44I4VS-C5YhU0Qh.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-Cj0PWn4F.js → ganttDiagram-JELNMOA3-CT-ZyTN-.js} +3 -3
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-BJOR_jnq.js +65 -0
- package/dist/client/assets/{graph-B7ABrrXm.js → graph-pEXzxzGm.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-DCQslkUR.js → highlighted-body-B3W2YXNL-DkAr8YBH.js} +1 -1
- package/dist/client/assets/{index-DWqvtyLc.js → index-3n8Vw-Mx.js} +1 -1
- package/dist/client/assets/{index-DjFlwM8l.js → index-BGzaO0X8.js} +1 -1
- package/dist/client/assets/{index-COql1I_y.js → index-BTh70HvG.js} +1 -1
- package/dist/client/assets/{index-9FCRbBun.js → index-Bc4l--Pr.js} +1 -1
- package/dist/client/assets/{index-C99EKoUY.js → index-BrhTwhg3.js} +1 -1
- package/dist/client/assets/{index-8PaDaRYT.js → index-Bsj04x6y.js} +1 -1
- package/dist/client/assets/{index-Myu-_U8q.js → index-BtupbjWj.js} +1 -1
- package/dist/client/assets/{index-D9SknX6B.js → index-BvTVbNia.js} +1 -1
- package/dist/client/assets/{index-BQhRobL8.js → index-C-44kyj4.js} +1 -1
- package/dist/client/assets/{index-BG3Ltnuv.js → index-CUvVSQUr.js} +1 -1
- package/dist/client/assets/{index-Diyv48F3.js → index-CjLUJG6j.js} +1 -1
- package/dist/client/assets/{index-DaWbWCgj.js → index-Cy1ivKKB.js} +1 -1
- package/dist/client/assets/{index-DWj9bxNA.js → index-DW-oXjA-.js} +1 -1
- package/dist/client/assets/{index-BsEwdsSv.js → index-DrAxRehm.js} +1 -1
- package/dist/client/assets/{index-BCA8lija.js → index-DvKArr4F.js} +1 -1
- package/dist/client/assets/{index-BaT5I2xy.js → index-abHZx3iS.js} +2 -2
- package/dist/client/assets/{index-CBLjtUwT.js → index-kS9W4-gd.js} +1 -1
- package/dist/client/assets/{index-B22f7bFn.js → index-unEuBThJ.js} +1 -1
- package/dist/client/assets/infoDiagram-HS3SLOUP-BFYSEig3.js +2 -0
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-DcF--XQH.js → journeyDiagram-XKPGCS4Q-BxYsQaMT.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BA1w8rep.js → kanban-definition-3W4ZIXB7-Bv-pDWZ-.js} +1 -1
- package/dist/client/assets/{layout-DVMDYrln.js → layout-B77NnSO1.js} +1 -1
- package/dist/client/assets/{main-B6t1j7Kr.js → main-5cZqr4FX.js} +236 -229
- package/dist/client/assets/main-DOmWiUwE.css +1 -0
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-C1vA0wr2.js → mindmap-definition-VGOIOE7T-CgxHuURf.js} +3 -3
- package/dist/client/assets/pieDiagram-ADFJNKIX-DMT2s9he.js +30 -0
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Bxcd0mzk.js → quadrantDiagram-AYHSOK5B-BXabhtC0.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-DWqCIKiG.js → requirementDiagram-UZGBJVZJ-DTW7rlcB.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-D9rSnLVX.js → sankeyDiagram-TZEHDZUN-BcCwFhUF.js} +5 -5
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-Co2Jz6Fl.js → sequenceDiagram-WL72ISMW-pM8Di5We.js} +6 -6
- package/dist/client/assets/{square-terminal-C3zI_mkt.js → square-terminal-DKjKKzzC.js} +1 -1
- package/dist/client/assets/stateDiagram-FKZM4ZOC-Daqd80Rx.js +1 -0
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BCaxpIKa.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-BXxZZYsm.js → timeline-definition-IT6M3QCI-B528DtkS.js} +3 -3
- package/dist/client/assets/{treemap-GDKQZRPO-BgMoU0kM.js → treemap-GDKQZRPO-CSzjIbPP.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-Bww_ZNFK.js → workspace._workspaceId-CDQS6YxL.js} +2 -2
- package/dist/client/assets/{workspace._workspaceId-C_KGLGyB.js → workspace._workspaceId-DlHLgF3G.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-BQxVaOKh.js → xychartDiagram-PRI3JC2R-CZehTq19.js} +2 -2
- package/dist/server/assets/{DockviewBrowserContainer-C6QVux14.js → DockviewBrowserContainer-NHSxR-nz.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-OevWE65L.js → DockviewTerminalContainer-CTJJUByH.js} +5 -3
- package/dist/server/assets/TerminalPanel-BiNP-nsL.js +425 -0
- package/dist/server/assets/{_basePickBy-DVK5KtlH.js → _basePickBy-C563KIXw.js} +2 -2
- package/dist/server/assets/{_baseUniq-DSFYYhGd.js → _baseUniq-d93HSS0F.js} +1 -1
- package/dist/server/assets/_tanstack-start-manifest_v-D7mA2JWN.js +4 -0
- package/dist/server/assets/{arc-BpwEbxUR.js → arc-jtTutH-i.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-CNyHLOO7.js → architecture-7HQA4BMR-DQzLgw80.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-DVUpIskI.js → architectureDiagram-VXUJARFQ-DrNJMIEJ.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-CRv2pc0L.js → blockDiagram-VD42YOAC-WUFdSkGk.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-CBv74bWb.js → c4Diagram-YG6GDRKO-B3FexEXR.js} +2 -2
- package/dist/server/assets/{channel-C_c7u4ky.js → channel-CGY9wImP.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-85OXnz_P.js → chunk-4BX2VUAB-DWhvAfOu.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-Cl8taExZ.js → chunk-55IACEB6-D9KMaGKQ.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-C7W_R9n6.js → chunk-B4BG7PRW-Bdi0b8I3.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-CTi30KuT.js → chunk-DI55MBZ5-CvFVKOgG.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-CsuoPD3I.js → chunk-FMBD7UC4-CEf8TJeK.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-BHHMj_a1.js → chunk-QN33PNHL-CmOqP24j.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-DwwXlOCl.js → chunk-QZHKN3VN-uFFM4Cjm.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-ECyN9wrL.js → chunk-TZMSLE5B-DH8QxQUD.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-qbF8ds74.js → classDiagram-2ON5EDUG-Dr94MNeD.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-qbF8ds74.js → classDiagram-v2-WZHVMYZB-Dr94MNeD.js} +5 -5
- package/dist/server/assets/{clone-BCajbdd5.js → clone-DESSLwZZ.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-D5-w_t4l.js → cose-bilkent-S5V4N54A-B-Bym2R2.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-CCIdAwdB.js → dagre-6UL2VRFP-CJdhKZlX.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-CWGITxy9.js → diagram-PSM6KHXK-Bku5j6_i.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-B07zrGgY.js → diagram-QEK2KX5R-CUdsg8PG.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-XGIpbjo1.js → diagram-S2PKOQOG-DfZmENnB.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-DYHtO3j9.js → erDiagram-Q2GNP2WA-DgXGwPJi.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-Cs7hS9X4.js → flowDiagram-NV44I4VS-CCKE-dcR.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-BhLp8xvm.js → ganttDiagram-JELNMOA3-Df1I84HD.js} +1 -1
- package/dist/server/assets/{gitGraph-G5XIXVHT-B46gW1OX.js → gitGraph-G5XIXVHT-Da1EJY5L.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CZHNGOm0.js → gitGraphDiagram-V2S2FVAM-BoLIFjNj.js} +7 -7
- package/dist/server/assets/{graph-4bVECaJM.js → graph-CzqmmHH7.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-DSf8s2aV.js → highlighted-body-B3W2YXNL-D44laf8J.js} +1 -1
- package/dist/server/assets/{index-BLv-1MtR.js → index-B-dHru1q.js} +5 -5
- package/dist/server/assets/{index-C7lRWZi8.js → index-B9n0dcMw.js} +4 -4
- package/dist/server/assets/{index-14dCbIAi.js → index-BVZPT41S.js} +5 -5
- package/dist/server/assets/{index-8EiXP0Bf.js → index-BbSejcCZ.js} +2 -2
- package/dist/server/assets/{index-1OK7lyTa.js → index-Bgh1V0xV.js} +2 -2
- package/dist/server/assets/{index-CHvqm6Lz.js → index-C6mmT4Bf.js} +1 -1
- package/dist/server/assets/{index-CDG7KvBY.js → index-CA1ILOaa.js} +2 -2
- package/dist/server/assets/{index-B72BPMJQ.js → index-CR4BnEcT.js} +3 -3
- package/dist/server/assets/{index-U3tOcUUV.js → index-CU2q4Svg.js} +2 -2
- package/dist/server/assets/{index-BRzkEVRG.js → index-CbnRNXnI.js} +1 -1
- package/dist/server/assets/{index-rT9xGtRW.js → index-CkCmjvnL.js} +3 -3
- package/dist/server/assets/{index-DAq8fRkd.js → index-DM7tck_E.js} +2 -2
- package/dist/server/assets/{index-Tq3ajWxh.js → index-DURk6tcR.js} +2 -2
- package/dist/server/assets/{index-Dz2mzfvS.js → index-DYATP6mi.js} +2 -2
- package/dist/server/assets/{index-CWr-Kh5M.js → index-DdEGElQC.js} +2 -2
- package/dist/server/assets/{index-pFRKwTv2.js → index-DoPHl__N.js} +2 -2
- package/dist/server/assets/{index-D2uLA4oe.js → index-JQz2Ac_X.js} +2 -2
- package/dist/server/assets/{index-CKPuU6Za.js → index-gZfWBVgm.js} +2 -2
- package/dist/server/assets/{info-VBDWY6EO-DrELfFR0.js → info-VBDWY6EO-CraK2qik.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-D40Crb-p.js → infoDiagram-HS3SLOUP-m71IJidm.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-dtlVBwV2.js → journeyDiagram-XKPGCS4Q-Z2B632R6.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-72vgA7Jl.js → kanban-definition-3W4ZIXB7-B2vyxAFc.js} +2 -2
- package/dist/server/assets/{layout-DJ0Eul-X.js → layout-Ciol0TI8.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-DGEHf_at.js → mermaid-3ZIDBTTL-m_-3aBOO.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-C1UfVEF8.js → mermaid-parser.core-DsRAodK1.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-DYfEp2uH.js → mindmap-definition-VGOIOE7T-B9LDAkQV.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-IHYchS32.js → packet-DYOGHKS2-CU0Rnzfp.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-R6SvOU4g.js → pie-VRWISCQL-DAKQG59I.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-EgffZsud.js → pieDiagram-ADFJNKIX-C895xIIt.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-n2oJWllV.js → quadrantDiagram-AYHSOK5B-6UAdibo5.js} +1 -1
- package/dist/server/assets/{radar-ZZBFDIW7-BX2ya_Na.js → radar-ZZBFDIW7-CSkyNl40.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-CzCXruFj.js → requirementDiagram-UZGBJVZJ-C9qwWXGY.js} +3 -3
- package/dist/server/assets/{router-BC8bCsa3.js → router-B9BGcvPs.js} +1570 -519
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-C0GqwqSS.js → sankeyDiagram-TZEHDZUN-BD3BjmcP.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-BfX0R0LP.js → sequenceDiagram-WL72ISMW-CaRznm1o.js} +3 -3
- package/dist/server/assets/{square-terminal-BWcJU95Z.js → square-terminal-CuW8JOAZ.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-QowlLVwh.js → stateDiagram-FKZM4ZOC-C7925k-i.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-DVHzQlOF.js → stateDiagram-v2-4FDKWEC3-C0yapgJL.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-DUoaC7rz.js → timeline-definition-IT6M3QCI-DfwL9TFo.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-B5KIzomx.js → treemap-GDKQZRPO-kKnTHSv2.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-hnIpuUNX.js → workspace._workspaceId-BK83HsBK.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId-DRK2dblR.js → workspace._workspaceId-DEWHh9LI.js} +3 -3
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-aNxYxejD.js → xychartDiagram-PRI3JC2R-CfUYiueD.js} +1 -1
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +193 -115
- package/package.json +4 -4
- package/dist/client/assets/DockviewTerminalContainer-BA10dl2w.js +0 -2
- package/dist/client/assets/TerminalPanel-C40mohhY.js +0 -5
- package/dist/client/assets/_baseUniq-hs8Z8eGG.js +0 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-BmuwLrzR.js +0 -36
- package/dist/client/assets/channel-cGiKwLh2.js +0 -1
- package/dist/client/assets/chunk-QN33PNHL-BsNBNA8p.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-aEV-2-qP.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-aEV-2-qP.js +0 -1
- package/dist/client/assets/clone-CArWpwXp.js +0 -1
- package/dist/client/assets/cose-bilkent-S5V4N54A-HZO5t4GF.js +0 -1
- package/dist/client/assets/dagre-6UL2VRFP-DnOsaGGD.js +0 -4
- package/dist/client/assets/diagram-PSM6KHXK-tirWXx7b.js +0 -24
- package/dist/client/assets/diagram-QEK2KX5R-Cjtr8l3E.js +0 -43
- package/dist/client/assets/diagram-S2PKOQOG-CuNpvzLc.js +0 -24
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-DMoH-grQ.js +0 -65
- package/dist/client/assets/infoDiagram-HS3SLOUP-C_wVpnnp.js +0 -2
- package/dist/client/assets/main-i-GTiqUd.css +0 -1
- package/dist/client/assets/pieDiagram-ADFJNKIX-Q71p26az.js +0 -30
- package/dist/client/assets/stateDiagram-FKZM4ZOC-CXLDkeLY.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-R8LzGctw.js +0 -1
- package/dist/server/assets/TerminalPanel-BhOjwcFW.js +0 -1236
- package/dist/server/assets/_tanstack-start-manifest_v-C_7Mj4aJ.js +0 -4
|
@@ -4470,7 +4470,7 @@ const oppositeSideMap = {
|
|
|
4470
4470
|
bottom: "top",
|
|
4471
4471
|
top: "bottom"
|
|
4472
4472
|
};
|
|
4473
|
-
function clamp$
|
|
4473
|
+
function clamp$3(start2, value, end) {
|
|
4474
4474
|
return max$2(start2, min$2(value, end));
|
|
4475
4475
|
}
|
|
4476
4476
|
function evaluate$1(value, param) {
|
|
@@ -4827,7 +4827,7 @@ const arrow$3 = (options) => ({
|
|
|
4827
4827
|
const min$12 = minPadding;
|
|
4828
4828
|
const max2 = clientSize - arrowDimensions[length2] - maxPadding;
|
|
4829
4829
|
const center = clientSize / 2 - arrowDimensions[length2] / 2 + centerToReference;
|
|
4830
|
-
const offset2 = clamp$
|
|
4830
|
+
const offset2 = clamp$3(min$12, center, max2);
|
|
4831
4831
|
const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length2] / 2 - (center < min$12 ? minPadding : maxPadding) - arrowDimensions[length2] / 2 < 0;
|
|
4832
4832
|
const alignmentOffset = shouldAddOffset ? center < min$12 ? center - min$12 : center - max2 : 0;
|
|
4833
4833
|
return {
|
|
@@ -5126,14 +5126,14 @@ const shift$3 = function(options) {
|
|
|
5126
5126
|
const maxSide = mainAxis === "y" ? "bottom" : "right";
|
|
5127
5127
|
const min2 = mainAxisCoord + overflow[minSide];
|
|
5128
5128
|
const max2 = mainAxisCoord - overflow[maxSide];
|
|
5129
|
-
mainAxisCoord = clamp$
|
|
5129
|
+
mainAxisCoord = clamp$3(min2, mainAxisCoord, max2);
|
|
5130
5130
|
}
|
|
5131
5131
|
if (checkCrossAxis) {
|
|
5132
5132
|
const minSide = crossAxis === "y" ? "top" : "left";
|
|
5133
5133
|
const maxSide = crossAxis === "y" ? "bottom" : "right";
|
|
5134
5134
|
const min2 = crossAxisCoord + overflow[minSide];
|
|
5135
5135
|
const max2 = crossAxisCoord - overflow[maxSide];
|
|
5136
|
-
crossAxisCoord = clamp$
|
|
5136
|
+
crossAxisCoord = clamp$3(min2, crossAxisCoord, max2);
|
|
5137
5137
|
}
|
|
5138
5138
|
const limitedCoords = limiter.fn({
|
|
5139
5139
|
...state2,
|
|
@@ -8204,7 +8204,7 @@ var Label$2 = reactExports.forwardRef((props, forwardedRef) => {
|
|
|
8204
8204
|
});
|
|
8205
8205
|
Label$2.displayName = NAME;
|
|
8206
8206
|
var Root$2 = Label$2;
|
|
8207
|
-
function clamp$
|
|
8207
|
+
function clamp$2(value, [min2, max2]) {
|
|
8208
8208
|
return Math.min(max2, Math.max(min2, value));
|
|
8209
8209
|
}
|
|
8210
8210
|
var POPOVER_NAME = "Popover";
|
|
@@ -9132,7 +9132,7 @@ function getThumbOffsetFromScroll(scrollPos, sizes, dir = "ltr") {
|
|
|
9132
9132
|
const maxScrollPos = sizes.content - sizes.viewport;
|
|
9133
9133
|
const maxThumbPos = scrollbar - thumbSizePx;
|
|
9134
9134
|
const scrollClampRange = dir === "ltr" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];
|
|
9135
|
-
const scrollWithoutMomentum = clamp$
|
|
9135
|
+
const scrollWithoutMomentum = clamp$2(scrollPos, scrollClampRange);
|
|
9136
9136
|
const interpolate2 = linearScale([0, maxScrollPos], [0, maxThumbPos]);
|
|
9137
9137
|
return interpolate2(scrollWithoutMomentum);
|
|
9138
9138
|
}
|
|
@@ -9694,7 +9694,7 @@ var SelectItemAlignedPosition = reactExports.forwardRef((props, forwardedRef) =>
|
|
|
9694
9694
|
const minContentWidth = triggerRect.width + leftDelta;
|
|
9695
9695
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
9696
9696
|
const rightEdge = window.innerWidth - CONTENT_MARGIN;
|
|
9697
|
-
const clampedLeft = clamp$
|
|
9697
|
+
const clampedLeft = clamp$2(left, [
|
|
9698
9698
|
CONTENT_MARGIN,
|
|
9699
9699
|
// Prevents the content from going off the starting edge of the
|
|
9700
9700
|
// viewport. It may still go off the ending edge, but this can be
|
|
@@ -9712,7 +9712,7 @@ var SelectItemAlignedPosition = reactExports.forwardRef((props, forwardedRef) =>
|
|
|
9712
9712
|
const minContentWidth = triggerRect.width + rightDelta;
|
|
9713
9713
|
const contentWidth = Math.max(minContentWidth, contentRect.width);
|
|
9714
9714
|
const leftEdge = window.innerWidth - CONTENT_MARGIN;
|
|
9715
|
-
const clampedRight = clamp$
|
|
9715
|
+
const clampedRight = clamp$2(right, [
|
|
9716
9716
|
CONTENT_MARGIN,
|
|
9717
9717
|
Math.max(CONTENT_MARGIN, leftEdge - contentWidth)
|
|
9718
9718
|
]);
|
|
@@ -14781,8 +14781,50 @@ const DIALOG_CONTENT_VARIANTS = {
|
|
|
14781
14781
|
// Desktop (lg+): revert to the centred modal
|
|
14782
14782
|
"lg:inset-auto lg:top-[50%] lg:left-[50%] lg:bottom-auto lg:w-full lg:max-w-lg lg:max-h-[85vh] lg:translate-x-[-50%] lg:translate-y-[-50%] lg:rounded-lg lg:border-b",
|
|
14783
14783
|
"lg:data-[state=open]:zoom-in-95 lg:data-[state=closed]:zoom-out-95"
|
|
14784
|
+
].join(" "),
|
|
14785
|
+
"command-palette": [
|
|
14786
|
+
// Shared
|
|
14787
|
+
"fixed z-50 flex flex-col bg-background shadow-lg duration-200 outline-none",
|
|
14788
|
+
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",
|
|
14789
|
+
// Mobile (< lg): bottom drawer with the input pinned to the bottom. Flip
|
|
14790
|
+
// the command's flex direction so the input sits below the results list,
|
|
14791
|
+
// and flip the input wrapper's divider to a top border to match. The sheet
|
|
14792
|
+
// floats at `bottom: var(--kb-inset)` (keyboard height; 0 when closed) so
|
|
14793
|
+
// the input clears the on-screen keyboard — see `useKeyboardInset`.
|
|
14794
|
+
"inset-x-0 bottom-[var(--kb-inset,0px)] w-full max-w-none rounded-t-2xl border border-b-0",
|
|
14795
|
+
"max-h-[calc(100dvh-var(--kb-inset,0px)-env(safe-area-inset-top)-1.5rem)]",
|
|
14796
|
+
"max-lg:[&_[data-slot=command]]:flex-col-reverse",
|
|
14797
|
+
"max-lg:[&_[cmdk-input-wrapper]]:border-t max-lg:[&_[cmdk-input-wrapper]]:border-b-0",
|
|
14798
|
+
"max-lg:data-[state=open]:slide-in-from-bottom max-lg:data-[state=closed]:slide-out-to-bottom",
|
|
14799
|
+
// Desktop (lg+): anchored in the upper third by its TOP edge — no
|
|
14800
|
+
// `translate-y`, so the input never moves as the list grows downward.
|
|
14801
|
+
"lg:inset-x-auto lg:bottom-auto lg:top-[12vh] lg:left-1/2 lg:w-full lg:max-w-lg lg:max-h-[70vh] lg:-translate-x-1/2 lg:rounded-lg lg:border",
|
|
14802
|
+
"lg:data-[state=open]:zoom-in-95 lg:data-[state=closed]:zoom-out-95"
|
|
14784
14803
|
].join(" ")
|
|
14785
14804
|
};
|
|
14805
|
+
const keyboardInsetHolders = /* @__PURE__ */ new Set();
|
|
14806
|
+
function useKeyboardInset(active) {
|
|
14807
|
+
reactExports.useEffect(() => {
|
|
14808
|
+
const vv = window.visualViewport;
|
|
14809
|
+
if (!active || !vv) return;
|
|
14810
|
+
const root2 = document.documentElement;
|
|
14811
|
+
const token2 = {};
|
|
14812
|
+
const update = () => {
|
|
14813
|
+
const inset = Math.max(0, window.innerHeight - vv.height - vv.offsetTop);
|
|
14814
|
+
root2.style.setProperty("--kb-inset", `${inset}px`);
|
|
14815
|
+
};
|
|
14816
|
+
keyboardInsetHolders.add(token2);
|
|
14817
|
+
update();
|
|
14818
|
+
vv.addEventListener("resize", update);
|
|
14819
|
+
vv.addEventListener("scroll", update);
|
|
14820
|
+
return () => {
|
|
14821
|
+
vv.removeEventListener("resize", update);
|
|
14822
|
+
vv.removeEventListener("scroll", update);
|
|
14823
|
+
keyboardInsetHolders.delete(token2);
|
|
14824
|
+
if (keyboardInsetHolders.size === 0) root2.style.removeProperty("--kb-inset");
|
|
14825
|
+
};
|
|
14826
|
+
}, [active]);
|
|
14827
|
+
}
|
|
14786
14828
|
function DialogContent({
|
|
14787
14829
|
className,
|
|
14788
14830
|
overlayClassName,
|
|
@@ -14791,6 +14833,7 @@ function DialogContent({
|
|
|
14791
14833
|
variant = "default",
|
|
14792
14834
|
...props
|
|
14793
14835
|
}) {
|
|
14836
|
+
useKeyboardInset(variant === "command-palette");
|
|
14794
14837
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogPortal, { "data-slot": "dialog-portal", children: [
|
|
14795
14838
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogOverlay, { className: overlayClassName }),
|
|
14796
14839
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -42720,53 +42763,53 @@ async function loadLanguage(lang) {
|
|
|
42720
42763
|
try {
|
|
42721
42764
|
switch (lang) {
|
|
42722
42765
|
case "javascript":
|
|
42723
|
-
return import("./index-
|
|
42766
|
+
return import("./index-BbSejcCZ.js").then((m2) => m2.javascript());
|
|
42724
42767
|
case "jsx":
|
|
42725
|
-
return import("./index-
|
|
42768
|
+
return import("./index-BbSejcCZ.js").then((m2) => m2.javascript({ jsx: true }));
|
|
42726
42769
|
case "typescript":
|
|
42727
|
-
return import("./index-
|
|
42770
|
+
return import("./index-BbSejcCZ.js").then(
|
|
42728
42771
|
(m2) => m2.javascript({ typescript: true })
|
|
42729
42772
|
);
|
|
42730
42773
|
case "tsx":
|
|
42731
|
-
return import("./index-
|
|
42774
|
+
return import("./index-BbSejcCZ.js").then(
|
|
42732
42775
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
42733
42776
|
);
|
|
42734
42777
|
case "python":
|
|
42735
|
-
return import("./index-
|
|
42778
|
+
return import("./index-DYATP6mi.js").then((m2) => m2.python());
|
|
42736
42779
|
case "html":
|
|
42737
|
-
return import("./index-
|
|
42780
|
+
return import("./index-B9n0dcMw.js").then((m2) => m2.html());
|
|
42738
42781
|
case "css":
|
|
42739
|
-
return import("./index-
|
|
42782
|
+
return import("./index-Bgh1V0xV.js").then((m2) => m2.css());
|
|
42740
42783
|
case "scss":
|
|
42741
42784
|
case "sass":
|
|
42742
|
-
return import("./index-
|
|
42785
|
+
return import("./index-CR4BnEcT.js").then((m2) => m2.sass());
|
|
42743
42786
|
case "less":
|
|
42744
|
-
return import("./index-
|
|
42787
|
+
return import("./index-CkCmjvnL.js").then((m2) => m2.less());
|
|
42745
42788
|
case "json":
|
|
42746
42789
|
case "jsonc":
|
|
42747
|
-
return import("./index-
|
|
42790
|
+
return import("./index-CA1ILOaa.js").then((m2) => m2.json());
|
|
42748
42791
|
case "markdown":
|
|
42749
42792
|
case "mdx":
|
|
42750
|
-
return import("./index-
|
|
42793
|
+
return import("./index-B-dHru1q.js").then((m2) => m2.markdown());
|
|
42751
42794
|
case "xml":
|
|
42752
|
-
return import("./index-
|
|
42795
|
+
return import("./index-DM7tck_E.js").then((m2) => m2.xml());
|
|
42753
42796
|
case "yaml":
|
|
42754
|
-
return import("./index-
|
|
42797
|
+
return import("./index-DoPHl__N.js").then((m2) => m2.yaml());
|
|
42755
42798
|
case "sql":
|
|
42756
|
-
return import("./index-
|
|
42799
|
+
return import("./index-JQz2Ac_X.js").then((m2) => m2.sql());
|
|
42757
42800
|
case "rust":
|
|
42758
|
-
return import("./index-
|
|
42801
|
+
return import("./index-gZfWBVgm.js").then((m2) => m2.rust());
|
|
42759
42802
|
case "go":
|
|
42760
|
-
return import("./index-
|
|
42803
|
+
return import("./index-DURk6tcR.js").then((m2) => m2.go());
|
|
42761
42804
|
case "java":
|
|
42762
|
-
return import("./index-
|
|
42805
|
+
return import("./index-CU2q4Svg.js").then((m2) => m2.java());
|
|
42763
42806
|
case "kotlin":
|
|
42764
|
-
return import("./index-
|
|
42807
|
+
return import("./index-CU2q4Svg.js").then((m2) => m2.java());
|
|
42765
42808
|
case "c":
|
|
42766
42809
|
case "cpp":
|
|
42767
|
-
return import("./index-
|
|
42810
|
+
return import("./index-DdEGElQC.js").then((m2) => m2.cpp());
|
|
42768
42811
|
case "php":
|
|
42769
|
-
return import("./index-
|
|
42812
|
+
return import("./index-BVZPT41S.js").then((m2) => m2.php());
|
|
42770
42813
|
// Legacy modes via StreamLanguage
|
|
42771
42814
|
case "bash":
|
|
42772
42815
|
case "fish":
|
|
@@ -43831,22 +43874,30 @@ function CommandPaletteDialog({ open: open2, onOpenChange, commands }) {
|
|
|
43831
43874
|
},
|
|
43832
43875
|
[onOpenChange]
|
|
43833
43876
|
);
|
|
43834
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
43835
|
-
|
|
43836
|
-
|
|
43837
|
-
|
|
43838
|
-
|
|
43839
|
-
|
|
43840
|
-
|
|
43841
|
-
|
|
43842
|
-
|
|
43843
|
-
|
|
43844
|
-
|
|
43845
|
-
|
|
43846
|
-
|
|
43847
|
-
|
|
43848
|
-
|
|
43849
|
-
|
|
43877
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
43878
|
+
DialogContent,
|
|
43879
|
+
{
|
|
43880
|
+
variant: "command-palette",
|
|
43881
|
+
className: "overflow-hidden p-0 lg:max-w-[520px]",
|
|
43882
|
+
showCloseButton: false,
|
|
43883
|
+
children: [
|
|
43884
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { className: "sr-only", children: [
|
|
43885
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Command Palette" }),
|
|
43886
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Search for a command to run" })
|
|
43887
|
+
] }),
|
|
43888
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Command, { children: [
|
|
43889
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandInput, { placeholder: "Search commands..." }),
|
|
43890
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[360px]", children: [
|
|
43891
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandEmpty, { children: "No commands found." }),
|
|
43892
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: commands.map((cmd2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(CommandItem, { value: cmd2.label, onSelect: () => handleSelect(cmd2), children: [
|
|
43893
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm", children: cmd2.label }),
|
|
43894
|
+
cmd2.shortcut && /* @__PURE__ */ jsxRuntimeExports.jsx(CommandShortcut, { children: formatShortcut(cmd2.shortcut) })
|
|
43895
|
+
] }, cmd2.id)) })
|
|
43896
|
+
] })
|
|
43897
|
+
] })
|
|
43898
|
+
]
|
|
43899
|
+
}
|
|
43900
|
+
) });
|
|
43850
43901
|
}
|
|
43851
43902
|
function CommitDialog({
|
|
43852
43903
|
open: open2,
|
|
@@ -52805,7 +52856,7 @@ function readStoredDiffMode(workspaceId) {
|
|
|
52805
52856
|
if (v2 === "uncommitted" || v2 === "branch") return v2;
|
|
52806
52857
|
} catch {
|
|
52807
52858
|
}
|
|
52808
|
-
return "
|
|
52859
|
+
return "uncommitted";
|
|
52809
52860
|
}
|
|
52810
52861
|
function readStoredCompareBranch(workspaceId) {
|
|
52811
52862
|
try {
|
|
@@ -52905,7 +52956,7 @@ function useProjectKindForWorkspace(workspaceId) {
|
|
|
52905
52956
|
const map2 = useProjectKindMap();
|
|
52906
52957
|
return map2.get(workspaceId);
|
|
52907
52958
|
}
|
|
52908
|
-
const DEFAULT_SEARCH_OPTIONS = {
|
|
52959
|
+
const DEFAULT_SEARCH_OPTIONS$1 = {
|
|
52909
52960
|
caseSensitive: false,
|
|
52910
52961
|
wholeWord: false,
|
|
52911
52962
|
regex: false
|
|
@@ -52917,9 +52968,9 @@ function useSearch({
|
|
|
52917
52968
|
}) {
|
|
52918
52969
|
const [searchOpen, setSearchOpen] = reactExports.useState(false);
|
|
52919
52970
|
const [searchQuery, setSearchQueryText] = reactExports.useState("");
|
|
52920
|
-
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS);
|
|
52971
|
+
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS$1);
|
|
52921
52972
|
const searchQueryRef = reactExports.useRef("");
|
|
52922
|
-
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS);
|
|
52973
|
+
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS$1);
|
|
52923
52974
|
const [matchInfo, setMatchInfo] = reactExports.useState({
|
|
52924
52975
|
total: 0,
|
|
52925
52976
|
current: 0
|
|
@@ -56417,7 +56468,10 @@ const SearchBar = reactExports.forwardRef(function SearchBar2({
|
|
|
56417
56468
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
56418
56469
|
"div",
|
|
56419
56470
|
{
|
|
56420
|
-
className:
|
|
56471
|
+
className: cn$2(
|
|
56472
|
+
"flex shrink-0 items-center gap-1.5 border-b border-border bg-muted/30 px-3 py-1.5",
|
|
56473
|
+
className
|
|
56474
|
+
),
|
|
56421
56475
|
children: [
|
|
56422
56476
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Search, { className: "size-3.5 shrink-0 text-muted-foreground" }),
|
|
56423
56477
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -56497,6 +56551,17 @@ function storeViewMode(mode) {
|
|
|
56497
56551
|
}
|
|
56498
56552
|
}
|
|
56499
56553
|
const UNCOMMITTED_VALUE = "__uncommitted__";
|
|
56554
|
+
const STAGING_BRANCH_PRIORITY = [
|
|
56555
|
+
"develop",
|
|
56556
|
+
"dev",
|
|
56557
|
+
"development",
|
|
56558
|
+
"stage",
|
|
56559
|
+
"staging",
|
|
56560
|
+
"integration",
|
|
56561
|
+
"release",
|
|
56562
|
+
"qa",
|
|
56563
|
+
"uat"
|
|
56564
|
+
];
|
|
56500
56565
|
const EXPAND_ALL_KEY = "band:diff-expand-all";
|
|
56501
56566
|
const MAX_MOUNTED_EDITORS = 50;
|
|
56502
56567
|
function getStoredExpandAll() {
|
|
@@ -57215,6 +57280,7 @@ function DiffView({
|
|
|
57215
57280
|
const workspacePath = useWorkspacePath(workspaceId);
|
|
57216
57281
|
const [summary, setSummary] = reactExports.useState(null);
|
|
57217
57282
|
const summaryRef = reactExports.useRef(null);
|
|
57283
|
+
const lastHeadBranchRef = reactExports.useRef(null);
|
|
57218
57284
|
const [error, setError] = reactExports.useState(null);
|
|
57219
57285
|
const [loading, setLoading] = reactExports.useState(true);
|
|
57220
57286
|
const fetchSummaryRef = reactExports.useRef(null);
|
|
@@ -57750,16 +57816,22 @@ function DiffView({
|
|
|
57750
57816
|
}, [active]);
|
|
57751
57817
|
const summaryCompareBranch = summary?.compareBranch ?? null;
|
|
57752
57818
|
const defaultBranch = summary?.defaultBranch ?? availableDefaultBranch ?? null;
|
|
57753
|
-
const branchOptions =
|
|
57819
|
+
const branchOptions = reactExports.useMemo(
|
|
57820
|
+
() => availableBranches.length > 0 ? availableBranches : summaryCompareBranch ? [summaryCompareBranch] : [],
|
|
57821
|
+
[availableBranches, summaryCompareBranch]
|
|
57822
|
+
);
|
|
57754
57823
|
const targetBranch = compareBranch ?? branchOptions[0] ?? summaryCompareBranch;
|
|
57755
|
-
const topSectionBranches =
|
|
57756
|
-
|
|
57757
|
-
|
|
57758
|
-
|
|
57759
|
-
|
|
57760
|
-
|
|
57761
|
-
|
|
57762
|
-
|
|
57824
|
+
const { topSectionBranches, otherBranches } = reactExports.useMemo(() => {
|
|
57825
|
+
const stagingBranches = STAGING_BRANCH_PRIORITY.map(
|
|
57826
|
+
(name2) => branchOptions.find((b2) => b2.toLowerCase() === name2)
|
|
57827
|
+
).filter((b2) => b2 != null);
|
|
57828
|
+
const topSection = [...stagingBranches];
|
|
57829
|
+
if (defaultBranch && branchOptions.includes(defaultBranch) && !topSection.includes(defaultBranch)) {
|
|
57830
|
+
topSection.push(defaultBranch);
|
|
57831
|
+
}
|
|
57832
|
+
const others = branchOptions.filter((b2) => !topSection.includes(b2)).sort((a2, b2) => a2.localeCompare(b2));
|
|
57833
|
+
return { topSectionBranches: topSection, otherBranches: others };
|
|
57834
|
+
}, [branchOptions, defaultBranch]);
|
|
57763
57835
|
const diffSelectValue = diffMode === "uncommitted" ? UNCOMMITTED_VALUE : targetBranch ?? UNCOMMITTED_VALUE;
|
|
57764
57836
|
const handleDiffSelectChange = (value) => {
|
|
57765
57837
|
if (value === UNCOMMITTED_VALUE) {
|
|
@@ -57770,11 +57842,18 @@ function DiffView({
|
|
|
57770
57842
|
}
|
|
57771
57843
|
};
|
|
57772
57844
|
const renderDiffSelect = () => /* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { value: diffSelectValue, onValueChange: handleDiffSelectChange, children: [
|
|
57773
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57845
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57846
|
+
SelectTrigger,
|
|
57847
|
+
{
|
|
57848
|
+
"data-testid": "diff-view__target-select",
|
|
57849
|
+
className: "h-6 w-auto max-w-[300px] gap-1 rounded-md border-0 bg-transparent px-1.5 text-xs font-medium text-foreground shadow-none hover:bg-accent [&>[data-slot=select-value]]:truncate [&>[data-slot=select-value]]:block",
|
|
57850
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, {})
|
|
57851
|
+
}
|
|
57852
|
+
),
|
|
57774
57853
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(SelectContent, { children: [
|
|
57854
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: UNCOMMITTED_VALUE, "data-testid": "diff-view__target-option-uncommitted", children: "Uncommitted" }),
|
|
57775
57855
|
topSectionBranches.map((branch) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: branch, children: branch }, branch)),
|
|
57776
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
57777
|
-
otherBranches.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SelectSeparator, {}),
|
|
57856
|
+
topSectionBranches.length > 0 && otherBranches.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(SelectSeparator, {}),
|
|
57778
57857
|
otherBranches.map((branch) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: branch, children: branch }, branch))
|
|
57779
57858
|
] })
|
|
57780
57859
|
] });
|
|
@@ -57786,6 +57865,10 @@ function DiffView({
|
|
|
57786
57865
|
);
|
|
57787
57866
|
filenamesRef.current = filenames;
|
|
57788
57867
|
const stats = hasChanges ? summary.stats : null;
|
|
57868
|
+
reactExports.useEffect(() => {
|
|
57869
|
+
if (summary?.headBranch) lastHeadBranchRef.current = summary.headBranch;
|
|
57870
|
+
}, [summary?.headBranch]);
|
|
57871
|
+
const headBranchLabel = summary?.headBranch ?? lastHeadBranchRef.current;
|
|
57789
57872
|
reactExports.useEffect(() => {
|
|
57790
57873
|
const container = scrollContainerRef.current;
|
|
57791
57874
|
if (!container) return;
|
|
@@ -57943,9 +58026,9 @@ function DiffView({
|
|
|
57943
58026
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PanelLeft, { className: "size-3.5" })
|
|
57944
58027
|
}
|
|
57945
58028
|
);
|
|
57946
|
-
const renderBranchIndicator = (
|
|
57947
|
-
|
|
57948
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "font-medium text-foreground", children:
|
|
58029
|
+
const renderBranchIndicator = (headBranchLabel2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1.5 text-xs text-muted-foreground", children: [
|
|
58030
|
+
headBranchLabel2 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "hidden items-center gap-1.5 @[32rem]/diff:flex", children: [
|
|
58031
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { "data-testid": "diff-view__head-branch", className: "font-medium text-foreground", children: headBranchLabel2 }),
|
|
57949
58032
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "size-3", "aria-hidden": true })
|
|
57950
58033
|
] }),
|
|
57951
58034
|
renderDiffSelect()
|
|
@@ -58021,7 +58104,7 @@ function DiffView({
|
|
|
58021
58104
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-9 shrink-0 items-center justify-between gap-3 border-b border-border pl-2 pr-3", children: [
|
|
58022
58105
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex min-w-0 items-center gap-1.5", children: [
|
|
58023
58106
|
renderSidebarToggle(),
|
|
58024
|
-
renderBranchIndicator(
|
|
58107
|
+
renderBranchIndicator(headBranchLabel)
|
|
58025
58108
|
] }),
|
|
58026
58109
|
!hasChanges && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
58027
58110
|
renderGitSyncButtons(),
|
|
@@ -59457,44 +59540,52 @@ function LanguagePickerDialog({
|
|
|
59457
59540
|
},
|
|
59458
59541
|
[onOpenChange, onSelect]
|
|
59459
59542
|
);
|
|
59460
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59461
|
-
|
|
59462
|
-
|
|
59463
|
-
|
|
59464
|
-
|
|
59465
|
-
|
|
59466
|
-
|
|
59467
|
-
|
|
59468
|
-
|
|
59469
|
-
|
|
59470
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59471
|
-
CommandItem,
|
|
59472
|
-
{
|
|
59473
|
-
value: "Auto Detect",
|
|
59474
|
-
onSelect: () => handleSelect(AUTO_DETECT_LANGUAGE_ID),
|
|
59475
|
-
children: [
|
|
59476
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(WandSparkles, { className: "size-3.5" }),
|
|
59477
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-sm", children: "Auto Detect" })
|
|
59478
|
-
]
|
|
59479
|
-
}
|
|
59480
|
-
) }),
|
|
59481
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandSeparator, {})
|
|
59543
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59544
|
+
DialogContent,
|
|
59545
|
+
{
|
|
59546
|
+
variant: "command-palette",
|
|
59547
|
+
className: "overflow-hidden p-0 lg:max-w-[480px]",
|
|
59548
|
+
showCloseButton: false,
|
|
59549
|
+
children: [
|
|
59550
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { className: "sr-only", children: [
|
|
59551
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Select Language Mode" }),
|
|
59552
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Search for a language to syntax-highlight the file" })
|
|
59482
59553
|
] }),
|
|
59483
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
59484
|
-
|
|
59485
|
-
{
|
|
59486
|
-
|
|
59487
|
-
|
|
59488
|
-
|
|
59489
|
-
|
|
59490
|
-
|
|
59491
|
-
|
|
59492
|
-
|
|
59493
|
-
|
|
59494
|
-
|
|
59495
|
-
|
|
59496
|
-
|
|
59497
|
-
|
|
59554
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Command, { children: [
|
|
59555
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandInput, { placeholder: "Select language mode…", autoFocus: true }),
|
|
59556
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[360px]", children: [
|
|
59557
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandEmpty, { children: "No languages found." }),
|
|
59558
|
+
hasOverride && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
59559
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59560
|
+
CommandItem,
|
|
59561
|
+
{
|
|
59562
|
+
value: "Auto Detect",
|
|
59563
|
+
onSelect: () => handleSelect(AUTO_DETECT_LANGUAGE_ID),
|
|
59564
|
+
children: [
|
|
59565
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(WandSparkles, { className: "size-3.5" }),
|
|
59566
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-sm", children: "Auto Detect" })
|
|
59567
|
+
]
|
|
59568
|
+
}
|
|
59569
|
+
) }),
|
|
59570
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandSeparator, {})
|
|
59571
|
+
] }),
|
|
59572
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: SUPPORTED_LANGUAGES.map((lang) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59573
|
+
CommandItem,
|
|
59574
|
+
{
|
|
59575
|
+
value: `${lang.label} ${lang.id}`,
|
|
59576
|
+
onSelect: () => handleSelect(lang.id),
|
|
59577
|
+
children: [
|
|
59578
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-sm", children: lang.label }),
|
|
59579
|
+
lang.id === currentLanguage && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-muted-foreground" })
|
|
59580
|
+
]
|
|
59581
|
+
},
|
|
59582
|
+
lang.id
|
|
59583
|
+
)) })
|
|
59584
|
+
] })
|
|
59585
|
+
] })
|
|
59586
|
+
]
|
|
59587
|
+
}
|
|
59588
|
+
) });
|
|
59498
59589
|
}
|
|
59499
59590
|
function PdfPreview({ src, filename }) {
|
|
59500
59591
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full flex-col", children: /* @__PURE__ */ jsxRuntimeExports.jsx("iframe", { src, title: filename, className: "h-full w-full border-0" }) });
|
|
@@ -60189,7 +60280,7 @@ function QuickOpenDialog({
|
|
|
60189
60280
|
DialogContent,
|
|
60190
60281
|
{
|
|
60191
60282
|
"data-testid": "quick-open__root",
|
|
60192
|
-
variant: "
|
|
60283
|
+
variant: "command-palette",
|
|
60193
60284
|
className: "overflow-hidden p-0 lg:max-w-[520px]",
|
|
60194
60285
|
showCloseButton: false,
|
|
60195
60286
|
children: [
|
|
@@ -60341,7 +60432,7 @@ function SearchFilesDialog({
|
|
|
60341
60432
|
DialogContent,
|
|
60342
60433
|
{
|
|
60343
60434
|
"data-testid": "search-files__root",
|
|
60344
|
-
variant: "
|
|
60435
|
+
variant: "command-palette",
|
|
60345
60436
|
className: "overflow-hidden p-0 lg:max-w-[640px]",
|
|
60346
60437
|
showCloseButton: false,
|
|
60347
60438
|
children: [
|
|
@@ -60358,7 +60449,8 @@ function SearchFilesDialog({
|
|
|
60358
60449
|
onQueryChange: setQuery,
|
|
60359
60450
|
options: searchOptions,
|
|
60360
60451
|
onOptionsChange: setSearchOptions,
|
|
60361
|
-
placeholder: "Search in files..."
|
|
60452
|
+
placeholder: "Search in files...",
|
|
60453
|
+
className: "max-lg:border-t max-lg:border-b-0"
|
|
60362
60454
|
}
|
|
60363
60455
|
),
|
|
60364
60456
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[400px]", children: [
|
|
@@ -60489,9 +60581,8 @@ function WorkspacePickerDialog({ open: open2, onOpenChange }) {
|
|
|
60489
60581
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
60490
60582
|
DialogContent,
|
|
60491
60583
|
{
|
|
60492
|
-
variant: "
|
|
60493
|
-
className: "overflow-hidden
|
|
60494
|
-
overlayClassName: "backdrop-blur-sm",
|
|
60584
|
+
variant: "command-palette",
|
|
60585
|
+
className: "overflow-hidden p-0 lg:max-w-[520px]",
|
|
60495
60586
|
showCloseButton: false,
|
|
60496
60587
|
"data-testid": "workspace-picker",
|
|
60497
60588
|
onOpenAutoFocus: (e3) => {
|
|
@@ -68624,7 +68715,7 @@ function remove$1(array2, value) {
|
|
|
68624
68715
|
}
|
|
68625
68716
|
return false;
|
|
68626
68717
|
}
|
|
68627
|
-
const clamp = (value, min2, max2) => {
|
|
68718
|
+
const clamp$1 = (value, min2, max2) => {
|
|
68628
68719
|
if (min2 > max2) {
|
|
68629
68720
|
return min2;
|
|
68630
68721
|
}
|
|
@@ -68705,7 +68796,7 @@ class ViewItem {
|
|
|
68705
68796
|
return;
|
|
68706
68797
|
}
|
|
68707
68798
|
if (visible) {
|
|
68708
|
-
this.size = clamp((_a3 = this._cachedVisibleSize) !== null && _a3 !== void 0 ? _a3 : 0, this.viewMinimumSize, this.viewMaximumSize);
|
|
68799
|
+
this.size = clamp$1((_a3 = this._cachedVisibleSize) !== null && _a3 !== void 0 ? _a3 : 0, this.viewMinimumSize, this.viewMaximumSize);
|
|
68709
68800
|
this._cachedVisibleSize = void 0;
|
|
68710
68801
|
} else {
|
|
68711
68802
|
this._cachedVisibleSize = typeof size2 === "number" ? size2 : this.size;
|
|
@@ -68887,12 +68978,12 @@ class Splitview {
|
|
|
68887
68978
|
if (snapped) {
|
|
68888
68979
|
return this.resize(index2, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);
|
|
68889
68980
|
}
|
|
68890
|
-
const tentativeDelta = clamp(delta, minDelta, maxDelta);
|
|
68981
|
+
const tentativeDelta = clamp$1(delta, minDelta, maxDelta);
|
|
68891
68982
|
let actualDelta = 0;
|
|
68892
68983
|
let deltaUp = tentativeDelta;
|
|
68893
68984
|
for (let i2 = 0; i2 < upItems.length; i2++) {
|
|
68894
68985
|
const item = upItems[i2];
|
|
68895
|
-
const size2 = clamp(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
68986
|
+
const size2 = clamp$1(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
68896
68987
|
const viewDelta = size2 - upSizes[i2];
|
|
68897
68988
|
actualDelta += viewDelta;
|
|
68898
68989
|
deltaUp -= viewDelta;
|
|
@@ -68901,7 +68992,7 @@ class Splitview {
|
|
|
68901
68992
|
let deltaDown = actualDelta;
|
|
68902
68993
|
for (let i2 = 0; i2 < downItems.length; i2++) {
|
|
68903
68994
|
const item = downItems[i2];
|
|
68904
|
-
const size2 = clamp(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
68995
|
+
const size2 = clamp$1(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
68905
68996
|
const viewDelta = size2 - downSizes[i2];
|
|
68906
68997
|
deltaDown += viewDelta;
|
|
68907
68998
|
item.size = size2;
|
|
@@ -68984,7 +69075,7 @@ class Splitview {
|
|
|
68984
69075
|
const highPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.High);
|
|
68985
69076
|
const item = this.viewItems[index2];
|
|
68986
69077
|
size2 = Math.round(size2);
|
|
68987
|
-
size2 = clamp(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
69078
|
+
size2 = clamp$1(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
68988
69079
|
item.size = size2;
|
|
68989
69080
|
this.relayout(lowPriorityIndexes, highPriorityIndexes);
|
|
68990
69081
|
}
|
|
@@ -68997,7 +69088,7 @@ class Splitview {
|
|
|
68997
69088
|
return;
|
|
68998
69089
|
}
|
|
68999
69090
|
size2 = typeof size2 === "number" ? size2 : item.size;
|
|
69000
|
-
size2 = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69091
|
+
size2 = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69001
69092
|
item.size = size2;
|
|
69002
69093
|
const indexes = range$5(this.viewItems.length).filter((i2) => i2 !== index2);
|
|
69003
69094
|
const lowPriorityIndexes = [
|
|
@@ -69129,7 +69220,7 @@ class Splitview {
|
|
|
69129
69220
|
}
|
|
69130
69221
|
const size2 = Math.floor(flexibleSize / flexibleViewItems.length);
|
|
69131
69222
|
for (const item of flexibleViewItems) {
|
|
69132
|
-
item.size = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69223
|
+
item.size = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69133
69224
|
}
|
|
69134
69225
|
const indexes = range$5(this.viewItems.length);
|
|
69135
69226
|
const lowPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.Low);
|
|
@@ -69190,7 +69281,7 @@ class Splitview {
|
|
|
69190
69281
|
const item = this.viewItems[i2];
|
|
69191
69282
|
const proportion = this.proportions[i2];
|
|
69192
69283
|
if (typeof proportion === "number" && total > 0) {
|
|
69193
|
-
item.size = clamp(Math.round(proportion * size2 / total), item.minimumSize, item.maximumSize);
|
|
69284
|
+
item.size = clamp$1(Math.round(proportion * size2 / total), item.minimumSize, item.maximumSize);
|
|
69194
69285
|
}
|
|
69195
69286
|
}
|
|
69196
69287
|
}
|
|
@@ -69221,7 +69312,7 @@ class Splitview {
|
|
|
69221
69312
|
}
|
|
69222
69313
|
for (let i2 = 0; emptyDelta !== 0 && i2 < indexes.length; i2++) {
|
|
69223
69314
|
const item = this.viewItems[indexes[i2]];
|
|
69224
|
-
const size2 = clamp(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69315
|
+
const size2 = clamp$1(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69225
69316
|
const viewDelta = size2 - item.size;
|
|
69226
69317
|
emptyDelta -= viewDelta;
|
|
69227
69318
|
item.size = size2;
|
|
@@ -71900,13 +71991,13 @@ class Droptarget extends CompositeDisposable {
|
|
|
71900
71991
|
let size2 = 1;
|
|
71901
71992
|
const sizeOptions = (_h2 = (_g2 = this.options.overlayModel) === null || _g2 === void 0 ? void 0 : _g2.size) !== null && _h2 !== void 0 ? _h2 : DEFAULT_SIZE$1;
|
|
71902
71993
|
if (sizeOptions.type === "percentage") {
|
|
71903
|
-
size2 = clamp(sizeOptions.value, 0, 100) / 100;
|
|
71994
|
+
size2 = clamp$1(sizeOptions.value, 0, 100) / 100;
|
|
71904
71995
|
} else {
|
|
71905
71996
|
if (rightClass || leftClass) {
|
|
71906
|
-
size2 = clamp(0, sizeOptions.value, width) / width;
|
|
71997
|
+
size2 = clamp$1(0, sizeOptions.value, width) / width;
|
|
71907
71998
|
}
|
|
71908
71999
|
if (topClass || bottomClass) {
|
|
71909
|
-
size2 = clamp(0, sizeOptions.value, height) / height;
|
|
72000
|
+
size2 = clamp$1(0, sizeOptions.value, height) / height;
|
|
71910
72001
|
}
|
|
71911
72002
|
}
|
|
71912
72003
|
if (target) {
|
|
@@ -73072,7 +73163,7 @@ class Scrollbar extends CompositeDisposable {
|
|
|
73072
73163
|
this._scrollbar.style.height = `${px}px`;
|
|
73073
73164
|
this._scrollbar.style.width = "";
|
|
73074
73165
|
}
|
|
73075
|
-
this._scrollOffset = clamp(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73166
|
+
this._scrollOffset = clamp$1(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73076
73167
|
if (this._orientation === "horizontal") {
|
|
73077
73168
|
this.scrollableElement.scrollLeft = this._scrollOffset;
|
|
73078
73169
|
} else {
|
|
@@ -77582,22 +77673,22 @@ class Overlay extends CompositeDisposable {
|
|
|
77582
77673
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77583
77674
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77584
77675
|
if (this.verticalAlignment === "top") {
|
|
77585
|
-
const top2 = clamp(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77676
|
+
const top2 = clamp$1(overlayRect.top - containerRect.top, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77586
77677
|
this._element.style.top = `${top2}px`;
|
|
77587
77678
|
this._element.style.bottom = "auto";
|
|
77588
77679
|
}
|
|
77589
77680
|
if (this.verticalAlignment === "bottom") {
|
|
77590
|
-
const bottom = clamp(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77681
|
+
const bottom = clamp$1(containerRect.bottom - overlayRect.bottom, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77591
77682
|
this._element.style.bottom = `${bottom}px`;
|
|
77592
77683
|
this._element.style.top = "auto";
|
|
77593
77684
|
}
|
|
77594
77685
|
if (this.horiziontalAlignment === "left") {
|
|
77595
|
-
const left = clamp(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77686
|
+
const left = clamp$1(overlayRect.left - containerRect.left, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77596
77687
|
this._element.style.left = `${left}px`;
|
|
77597
77688
|
this._element.style.right = "auto";
|
|
77598
77689
|
}
|
|
77599
77690
|
if (this.horiziontalAlignment === "right") {
|
|
77600
|
-
const right = clamp(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77691
|
+
const right = clamp$1(containerRect.right - overlayRect.right, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77601
77692
|
this._element.style.right = `${right}px`;
|
|
77602
77693
|
this._element.style.left = "auto";
|
|
77603
77694
|
}
|
|
@@ -77648,10 +77739,10 @@ class Overlay extends CompositeDisposable {
|
|
|
77648
77739
|
}
|
|
77649
77740
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77650
77741
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77651
|
-
const top2 = clamp(y4 - offset2.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77652
|
-
const bottom = clamp(offset2.y - y4 + containerRect.height - overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77653
|
-
const left = clamp(x2 - offset2.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77654
|
-
const right = clamp(offset2.x - x2 + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77742
|
+
const top2 = clamp$1(y4 - offset2.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77743
|
+
const bottom = clamp$1(offset2.y - y4 + containerRect.height - overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77744
|
+
const left = clamp$1(x2 - offset2.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77745
|
+
const right = clamp$1(offset2.x - x2 + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77655
77746
|
const bounds = {};
|
|
77656
77747
|
if (top2 <= bottom) {
|
|
77657
77748
|
bounds.top = top2;
|
|
@@ -77726,7 +77817,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77726
77817
|
let width = void 0;
|
|
77727
77818
|
const moveTop = () => {
|
|
77728
77819
|
const maxTop = startPosition.originalY + startPosition.originalHeight > containerRect.height ? Math.max(0, containerRect.height - Overlay.MINIMUM_HEIGHT) : Math.max(0, startPosition.originalY + startPosition.originalHeight - Overlay.MINIMUM_HEIGHT);
|
|
77729
|
-
top2 = clamp(y4, 0, maxTop);
|
|
77820
|
+
top2 = clamp$1(y4, 0, maxTop);
|
|
77730
77821
|
height = startPosition.originalY + startPosition.originalHeight - top2;
|
|
77731
77822
|
bottom = containerRect.height - top2 - height;
|
|
77732
77823
|
};
|
|
@@ -77734,12 +77825,12 @@ class Overlay extends CompositeDisposable {
|
|
|
77734
77825
|
top2 = startPosition.originalY - startPosition.originalHeight;
|
|
77735
77826
|
const minHeight = top2 < 0 && typeof this.options.minimumInViewportHeight === "number" ? -top2 + this.options.minimumInViewportHeight : Overlay.MINIMUM_HEIGHT;
|
|
77736
77827
|
const maxHeight = containerRect.height - Math.max(0, top2);
|
|
77737
|
-
height = clamp(y4 - top2, minHeight, maxHeight);
|
|
77828
|
+
height = clamp$1(y4 - top2, minHeight, maxHeight);
|
|
77738
77829
|
bottom = containerRect.height - top2 - height;
|
|
77739
77830
|
};
|
|
77740
77831
|
const moveLeft = () => {
|
|
77741
77832
|
const maxLeft = startPosition.originalX + startPosition.originalWidth > containerRect.width ? Math.max(0, containerRect.width - Overlay.MINIMUM_WIDTH) : Math.max(0, startPosition.originalX + startPosition.originalWidth - Overlay.MINIMUM_WIDTH);
|
|
77742
|
-
left = clamp(x2, 0, maxLeft);
|
|
77833
|
+
left = clamp$1(x2, 0, maxLeft);
|
|
77743
77834
|
width = startPosition.originalX + startPosition.originalWidth - left;
|
|
77744
77835
|
right = containerRect.width - left - width;
|
|
77745
77836
|
};
|
|
@@ -77747,7 +77838,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77747
77838
|
left = startPosition.originalX - startPosition.originalWidth;
|
|
77748
77839
|
const minWidth = left < 0 && typeof this.options.minimumInViewportWidth === "number" ? -left + this.options.minimumInViewportWidth : Overlay.MINIMUM_WIDTH;
|
|
77749
77840
|
const maxWidth = containerRect.width - Math.max(0, left);
|
|
77750
|
-
width = clamp(x2 - left, minWidth, maxWidth);
|
|
77841
|
+
width = clamp$1(x2 - left, minWidth, maxWidth);
|
|
77751
77842
|
right = containerRect.width - left - width;
|
|
77752
77843
|
};
|
|
77753
77844
|
switch (direction) {
|
|
@@ -109288,7 +109379,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
|
|
|
109288
109379
|
var et$1 = ({ className: e3, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f$5("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e3), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
|
|
109289
109380
|
var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
|
|
109290
109381
|
var ot$1 = ({ language: e3 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e3, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e3 }) });
|
|
109291
|
-
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
109382
|
+
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-D44laf8J.js").then((e3) => ({ default: e3.HighlightedCodeBlockBody }))), rt = ({ code: e3, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
|
|
109292
109383
|
let i2 = reactExports.useMemo(() => e3.replace(cn, ""), [e3]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
109293
109384
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
109294
109385
|
return jsxRuntimeExports.jsx(Se$1.Provider, { value: { code: e3 }, children: jsxRuntimeExports.jsxs(et$1, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot$1, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe$1, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
|
|
@@ -109610,7 +109701,7 @@ var Dt = ({ children: e3, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
109610
109701
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f$5("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e3 != null ? e3 : jsxRuntimeExports.jsx(Z$2, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
109611
109702
|
};
|
|
109612
109703
|
var Vt = ({ children: e3, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f$5("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e3 }) })] });
|
|
109613
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
109704
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-m_-3aBOO.js").then((e3) => ({ default: e3.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
109614
109705
|
function ke$1(e3, t2) {
|
|
109615
109706
|
if (!(e3 != null && e3.position || t2 != null && t2.position)) return true;
|
|
109616
109707
|
if (!(e3 != null && e3.position && (t2 != null && t2.position))) return false;
|
|
@@ -161781,12 +161872,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
161781
161872
|
registerLayoutLoaders([
|
|
161782
161873
|
{
|
|
161783
161874
|
name: "dagre",
|
|
161784
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
161875
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CJdhKZlX.js"), "loader")
|
|
161785
161876
|
},
|
|
161786
161877
|
...[
|
|
161787
161878
|
{
|
|
161788
161879
|
name: "cose-bilkent",
|
|
161789
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
161880
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-B-Bym2R2.js"), "loader")
|
|
161790
161881
|
}
|
|
161791
161882
|
]
|
|
161792
161883
|
]);
|
|
@@ -162225,7 +162316,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
162225
162316
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
162226
162317
|
}, "detector");
|
|
162227
162318
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
162228
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
162319
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-B3FexEXR.js");
|
|
162229
162320
|
return { id, diagram: diagram2 };
|
|
162230
162321
|
}, "loader");
|
|
162231
162322
|
var plugin = {
|
|
@@ -162242,7 +162333,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162242
162333
|
return /^\s*graph/.test(txt);
|
|
162243
162334
|
}, "detector");
|
|
162244
162335
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
162245
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162336
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162246
162337
|
return { id: id2, diagram: diagram2 };
|
|
162247
162338
|
}, "loader");
|
|
162248
162339
|
var plugin2 = {
|
|
@@ -162265,7 +162356,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162265
162356
|
return /^\s*flowchart/.test(txt);
|
|
162266
162357
|
}, "detector");
|
|
162267
162358
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
162268
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162359
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162269
162360
|
return { id: id3, diagram: diagram2 };
|
|
162270
162361
|
}, "loader");
|
|
162271
162362
|
var plugin3 = {
|
|
@@ -162279,7 +162370,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
162279
162370
|
return /^\s*erDiagram/.test(txt);
|
|
162280
162371
|
}, "detector");
|
|
162281
162372
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
162282
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
162373
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DgXGwPJi.js");
|
|
162283
162374
|
return { id: id4, diagram: diagram2 };
|
|
162284
162375
|
}, "loader");
|
|
162285
162376
|
var plugin4 = {
|
|
@@ -162293,7 +162384,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
162293
162384
|
return /^\s*gitGraph/.test(txt);
|
|
162294
162385
|
}, "detector");
|
|
162295
162386
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
162296
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
162387
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-BoLIFjNj.js");
|
|
162297
162388
|
return { id: id5, diagram: diagram2 };
|
|
162298
162389
|
}, "loader");
|
|
162299
162390
|
var plugin5 = {
|
|
@@ -162307,7 +162398,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
162307
162398
|
return /^\s*gantt/.test(txt);
|
|
162308
162399
|
}, "detector");
|
|
162309
162400
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
162310
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
162401
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-Df1I84HD.js");
|
|
162311
162402
|
return { id: id6, diagram: diagram2 };
|
|
162312
162403
|
}, "loader");
|
|
162313
162404
|
var plugin6 = {
|
|
@@ -162321,7 +162412,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
162321
162412
|
return /^\s*info/.test(txt);
|
|
162322
162413
|
}, "detector");
|
|
162323
162414
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
162324
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
162415
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-m71IJidm.js");
|
|
162325
162416
|
return { id: id7, diagram: diagram2 };
|
|
162326
162417
|
}, "loader");
|
|
162327
162418
|
var info = {
|
|
@@ -162334,7 +162425,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
162334
162425
|
return /^\s*pie/.test(txt);
|
|
162335
162426
|
}, "detector");
|
|
162336
162427
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
162337
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
162428
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-C895xIIt.js");
|
|
162338
162429
|
return { id: id8, diagram: diagram2 };
|
|
162339
162430
|
}, "loader");
|
|
162340
162431
|
var pie = {
|
|
@@ -162347,7 +162438,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
162347
162438
|
return /^\s*quadrantChart/.test(txt);
|
|
162348
162439
|
}, "detector");
|
|
162349
162440
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
162350
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
162441
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-6UAdibo5.js");
|
|
162351
162442
|
return { id: id9, diagram: diagram2 };
|
|
162352
162443
|
}, "loader");
|
|
162353
162444
|
var plugin7 = {
|
|
@@ -162361,7 +162452,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
162361
162452
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
162362
162453
|
}, "detector");
|
|
162363
162454
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
162364
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
162455
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-CfUYiueD.js");
|
|
162365
162456
|
return { id: id10, diagram: diagram2 };
|
|
162366
162457
|
}, "loader");
|
|
162367
162458
|
var plugin8 = {
|
|
@@ -162375,7 +162466,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
162375
162466
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
162376
162467
|
}, "detector");
|
|
162377
162468
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
162378
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
162469
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-C9qwWXGY.js");
|
|
162379
162470
|
return { id: id11, diagram: diagram2 };
|
|
162380
162471
|
}, "loader");
|
|
162381
162472
|
var plugin9 = {
|
|
@@ -162389,7 +162480,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
162389
162480
|
return /^\s*sequenceDiagram/.test(txt);
|
|
162390
162481
|
}, "detector");
|
|
162391
162482
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
162392
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
162483
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-CaRznm1o.js");
|
|
162393
162484
|
return { id: id12, diagram: diagram2 };
|
|
162394
162485
|
}, "loader");
|
|
162395
162486
|
var plugin10 = {
|
|
@@ -162406,7 +162497,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162406
162497
|
return /^\s*classDiagram/.test(txt);
|
|
162407
162498
|
}, "detector");
|
|
162408
162499
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
162409
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
162500
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-Dr94MNeD.js");
|
|
162410
162501
|
return { id: id13, diagram: diagram2 };
|
|
162411
162502
|
}, "loader");
|
|
162412
162503
|
var plugin11 = {
|
|
@@ -162423,7 +162514,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162423
162514
|
return /^\s*classDiagram-v2/.test(txt);
|
|
162424
162515
|
}, "detector");
|
|
162425
162516
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
162426
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
162517
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-Dr94MNeD.js");
|
|
162427
162518
|
return { id: id14, diagram: diagram2 };
|
|
162428
162519
|
}, "loader");
|
|
162429
162520
|
var plugin12 = {
|
|
@@ -162440,7 +162531,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162440
162531
|
return /^\s*stateDiagram/.test(txt);
|
|
162441
162532
|
}, "detector");
|
|
162442
162533
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
162443
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
162534
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-C7925k-i.js");
|
|
162444
162535
|
return { id: id15, diagram: diagram2 };
|
|
162445
162536
|
}, "loader");
|
|
162446
162537
|
var plugin13 = {
|
|
@@ -162460,7 +162551,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162460
162551
|
return false;
|
|
162461
162552
|
}, "detector");
|
|
162462
162553
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
162463
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
162554
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-C0yapgJL.js");
|
|
162464
162555
|
return { id: id16, diagram: diagram2 };
|
|
162465
162556
|
}, "loader");
|
|
162466
162557
|
var plugin14 = {
|
|
@@ -162474,7 +162565,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
162474
162565
|
return /^\s*journey/.test(txt);
|
|
162475
162566
|
}, "detector");
|
|
162476
162567
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
162477
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
162568
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-Z2B632R6.js");
|
|
162478
162569
|
return { id: id17, diagram: diagram2 };
|
|
162479
162570
|
}, "loader");
|
|
162480
162571
|
var plugin15 = {
|
|
@@ -162541,7 +162632,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
162541
162632
|
return false;
|
|
162542
162633
|
}, "detector");
|
|
162543
162634
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
162544
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162635
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162545
162636
|
return { id: id18, diagram: diagram2 };
|
|
162546
162637
|
}, "loader");
|
|
162547
162638
|
var plugin16 = {
|
|
@@ -162555,7 +162646,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
162555
162646
|
return /^\s*timeline/.test(txt);
|
|
162556
162647
|
}, "detector");
|
|
162557
162648
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
162558
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-
|
|
162649
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-DfwL9TFo.js");
|
|
162559
162650
|
return { id: id19, diagram: diagram2 };
|
|
162560
162651
|
}, "loader");
|
|
162561
162652
|
var plugin17 = {
|
|
@@ -162569,7 +162660,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
162569
162660
|
return /^\s*mindmap/.test(txt);
|
|
162570
162661
|
}, "detector");
|
|
162571
162662
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
162572
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
162663
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-B9LDAkQV.js");
|
|
162573
162664
|
return { id: id20, diagram: diagram2 };
|
|
162574
162665
|
}, "loader");
|
|
162575
162666
|
var plugin18 = {
|
|
@@ -162583,7 +162674,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
162583
162674
|
return /^\s*kanban/.test(txt);
|
|
162584
162675
|
}, "detector");
|
|
162585
162676
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
162586
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
162677
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-B2vyxAFc.js");
|
|
162587
162678
|
return { id: id21, diagram: diagram2 };
|
|
162588
162679
|
}, "loader");
|
|
162589
162680
|
var plugin19 = {
|
|
@@ -162597,7 +162688,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
162597
162688
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
162598
162689
|
}, "detector");
|
|
162599
162690
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
162600
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
162691
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-BD3BjmcP.js");
|
|
162601
162692
|
return { id: id22, diagram: diagram2 };
|
|
162602
162693
|
}, "loader");
|
|
162603
162694
|
var plugin20 = {
|
|
@@ -162611,7 +162702,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
162611
162702
|
return /^\s*packet(-beta)?/.test(txt);
|
|
162612
162703
|
}, "detector");
|
|
162613
162704
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
162614
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
162705
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-DfZmENnB.js");
|
|
162615
162706
|
return { id: id23, diagram: diagram2 };
|
|
162616
162707
|
}, "loader");
|
|
162617
162708
|
var packet = {
|
|
@@ -162624,7 +162715,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
162624
162715
|
return /^\s*radar-beta/.test(txt);
|
|
162625
162716
|
}, "detector");
|
|
162626
162717
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
162627
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
162718
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-CUdsg8PG.js");
|
|
162628
162719
|
return { id: id24, diagram: diagram2 };
|
|
162629
162720
|
}, "loader");
|
|
162630
162721
|
var radar = {
|
|
@@ -162637,7 +162728,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
162637
162728
|
return /^\s*block(-beta)?/.test(txt);
|
|
162638
162729
|
}, "detector");
|
|
162639
162730
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
162640
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
162731
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-WUFdSkGk.js");
|
|
162641
162732
|
return { id: id25, diagram: diagram2 };
|
|
162642
162733
|
}, "loader");
|
|
162643
162734
|
var plugin21 = {
|
|
@@ -162651,7 +162742,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
162651
162742
|
return /^\s*architecture/.test(txt);
|
|
162652
162743
|
}, "detector");
|
|
162653
162744
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
162654
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-
|
|
162745
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-DrNJMIEJ.js");
|
|
162655
162746
|
return { id: id26, diagram: diagram2 };
|
|
162656
162747
|
}, "loader");
|
|
162657
162748
|
var architecture = {
|
|
@@ -162665,7 +162756,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
162665
162756
|
return /^\s*treemap/.test(txt);
|
|
162666
162757
|
}, "detector");
|
|
162667
162758
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
162668
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
162759
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-Bku5j6_i.js");
|
|
162669
162760
|
return { id: id27, diagram: diagram2 };
|
|
162670
162761
|
}, "loader");
|
|
162671
162762
|
var treemap = {
|
|
@@ -173823,7 +173914,7 @@ const CHAT_EVENT_TYPES = [
|
|
|
173823
173914
|
"subscription-opened",
|
|
173824
173915
|
"history-meta"
|
|
173825
173916
|
];
|
|
173826
|
-
const INITIAL_STATE = {
|
|
173917
|
+
const INITIAL_STATE$1 = {
|
|
173827
173918
|
messages: [],
|
|
173828
173919
|
status: "idle",
|
|
173829
173920
|
sessionId: void 0,
|
|
@@ -174266,7 +174357,7 @@ async function fileToWirePart(file2) {
|
|
|
174266
174357
|
}
|
|
174267
174358
|
function useChatSubscription(opts) {
|
|
174268
174359
|
const { workspaceId, chatId, mode, model, codingAgentId, enabled = true } = opts;
|
|
174269
|
-
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE);
|
|
174360
|
+
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE$1);
|
|
174270
174361
|
const [isConnected, setIsConnected] = reactExports.useState(false);
|
|
174271
174362
|
const [docVisible, setDocVisible] = reactExports.useState(
|
|
174272
174363
|
() => typeof document === "undefined" ? true : document.visibilityState !== "hidden"
|
|
@@ -174460,7 +174551,7 @@ function useChatSubscription(opts) {
|
|
|
174460
174551
|
);
|
|
174461
174552
|
if (!res.ok) throw new Error(`history fetch failed: HTTP ${res.status}`);
|
|
174462
174553
|
const data = await res.json();
|
|
174463
|
-
const folded = applyEvents(INITIAL_STATE, data.events);
|
|
174554
|
+
const folded = applyEvents(INITIAL_STATE$1, data.events);
|
|
174464
174555
|
const namespaced = folded.messages.map((m2) => ({ ...m2, id: `o${before}-${m2.id}` }));
|
|
174465
174556
|
dispatch2({
|
|
174466
174557
|
type: "prepend-messages",
|
|
@@ -177980,6 +178071,1042 @@ function createDefaultPanel(api, workspaceId) {
|
|
|
177980
178071
|
position: centralPanelPosition(api)
|
|
177981
178072
|
});
|
|
177982
178073
|
}
|
|
178074
|
+
function findTerminalFileLinks(lineText) {
|
|
178075
|
+
const candidateRe = /[A-Za-z0-9._/@~+-]+(?::\d+(?:[-:]\d+)?)?/g;
|
|
178076
|
+
const matches2 = [];
|
|
178077
|
+
for (const match of lineText.matchAll(candidateRe)) {
|
|
178078
|
+
const text2 = match[0];
|
|
178079
|
+
if (isFilePath(text2)) {
|
|
178080
|
+
matches2.push({ text: text2, startIndex: match.index, endIndex: match.index + text2.length });
|
|
178081
|
+
}
|
|
178082
|
+
}
|
|
178083
|
+
return matches2;
|
|
178084
|
+
}
|
|
178085
|
+
function readLineColumns(terminal, line2) {
|
|
178086
|
+
const parts = [];
|
|
178087
|
+
const columnForIndex = [];
|
|
178088
|
+
let length2 = 0;
|
|
178089
|
+
let cell2;
|
|
178090
|
+
for (let x2 = 0; x2 < terminal.cols; x2++) {
|
|
178091
|
+
cell2 = line2.getCell(x2, cell2);
|
|
178092
|
+
if (!cell2) continue;
|
|
178093
|
+
if (cell2.getWidth() === 0) continue;
|
|
178094
|
+
const chars = cell2.getChars();
|
|
178095
|
+
const ch = chars.length > 0 ? chars : " ";
|
|
178096
|
+
columnForIndex[length2] = x2 + 1;
|
|
178097
|
+
parts.push(ch);
|
|
178098
|
+
length2 += ch.length;
|
|
178099
|
+
}
|
|
178100
|
+
return { text: parts.join(""), columnForIndex };
|
|
178101
|
+
}
|
|
178102
|
+
function createTerminalFileLinkProvider(terminal, onActivate) {
|
|
178103
|
+
return {
|
|
178104
|
+
provideLinks(bufferLineNumber, callback) {
|
|
178105
|
+
const line2 = terminal.buffer.active.getLine(bufferLineNumber - 1);
|
|
178106
|
+
if (!line2) {
|
|
178107
|
+
callback(void 0);
|
|
178108
|
+
return;
|
|
178109
|
+
}
|
|
178110
|
+
const { text: text2, columnForIndex } = readLineColumns(terminal, line2);
|
|
178111
|
+
const matches2 = findTerminalFileLinks(text2);
|
|
178112
|
+
if (matches2.length === 0) {
|
|
178113
|
+
callback(void 0);
|
|
178114
|
+
return;
|
|
178115
|
+
}
|
|
178116
|
+
const links = matches2.map((m2) => {
|
|
178117
|
+
const startColumn = columnForIndex[m2.startIndex] ?? 1;
|
|
178118
|
+
const endColumn = columnForIndex[m2.endIndex - 1] ?? terminal.cols;
|
|
178119
|
+
return {
|
|
178120
|
+
text: m2.text,
|
|
178121
|
+
range: {
|
|
178122
|
+
start: { x: startColumn, y: bufferLineNumber },
|
|
178123
|
+
end: { x: endColumn, y: bufferLineNumber }
|
|
178124
|
+
},
|
|
178125
|
+
decorations: { pointerCursor: true, underline: true },
|
|
178126
|
+
activate: (event) => {
|
|
178127
|
+
event.preventDefault();
|
|
178128
|
+
onActivate(m2.text);
|
|
178129
|
+
}
|
|
178130
|
+
};
|
|
178131
|
+
});
|
|
178132
|
+
callback(links);
|
|
178133
|
+
}
|
|
178134
|
+
};
|
|
178135
|
+
}
|
|
178136
|
+
const PARKING_WIDTH_PX = 800;
|
|
178137
|
+
const PARKING_HEIGHT_PX = 600;
|
|
178138
|
+
const PARKING_KEY = "__bandTerminalParking__";
|
|
178139
|
+
function getParkingContainer() {
|
|
178140
|
+
const store = globalThis;
|
|
178141
|
+
const existing = store[PARKING_KEY];
|
|
178142
|
+
if (existing?.isConnected) return existing;
|
|
178143
|
+
const container = document.createElement("div");
|
|
178144
|
+
container.dataset.testid = "terminal-parking";
|
|
178145
|
+
Object.assign(container.style, {
|
|
178146
|
+
position: "fixed",
|
|
178147
|
+
left: "-9999px",
|
|
178148
|
+
top: "-9999px",
|
|
178149
|
+
width: `${PARKING_WIDTH_PX}px`,
|
|
178150
|
+
height: `${PARKING_HEIGHT_PX}px`,
|
|
178151
|
+
overflow: "hidden",
|
|
178152
|
+
// Keep it out of the pointer/hit-testing path entirely.
|
|
178153
|
+
pointerEvents: "none"
|
|
178154
|
+
});
|
|
178155
|
+
container.inert = true;
|
|
178156
|
+
container.setAttribute("inert", "");
|
|
178157
|
+
container.setAttribute("aria-hidden", "true");
|
|
178158
|
+
document.body.appendChild(container);
|
|
178159
|
+
store[PARKING_KEY] = container;
|
|
178160
|
+
return container;
|
|
178161
|
+
}
|
|
178162
|
+
const WORD_RE = /[A-Za-z0-9_./:\-+@~]/;
|
|
178163
|
+
function pointToCell(clientX, clientY, terminal, screenEl) {
|
|
178164
|
+
const rect2 = screenEl.getBoundingClientRect();
|
|
178165
|
+
if (rect2.width <= 0 || rect2.height <= 0 || terminal.cols <= 0 || terminal.rows <= 0) {
|
|
178166
|
+
return { col: 0, row: terminal.buffer.active.viewportY };
|
|
178167
|
+
}
|
|
178168
|
+
const cellW = rect2.width / terminal.cols;
|
|
178169
|
+
const cellH = rect2.height / terminal.rows;
|
|
178170
|
+
const col = clamp(Math.floor((clientX - rect2.left) / cellW), 0, terminal.cols - 1);
|
|
178171
|
+
const viewportRow = clamp(Math.floor((clientY - rect2.top) / cellH), 0, terminal.rows - 1);
|
|
178172
|
+
return { col, row: terminal.buffer.active.viewportY + viewportRow };
|
|
178173
|
+
}
|
|
178174
|
+
function findWordBoundaries(line2, col) {
|
|
178175
|
+
if (col < 0 || col >= line2.length || !WORD_RE.test(line2[col])) {
|
|
178176
|
+
const safeCol = clamp(col, 0, Math.max(0, line2.length));
|
|
178177
|
+
return { start: safeCol, end: safeCol + 1 };
|
|
178178
|
+
}
|
|
178179
|
+
let start2 = col;
|
|
178180
|
+
while (start2 > 0 && WORD_RE.test(line2[start2 - 1])) start2--;
|
|
178181
|
+
let end = col + 1;
|
|
178182
|
+
while (end < line2.length && WORD_RE.test(line2[end])) end++;
|
|
178183
|
+
return { start: start2, end };
|
|
178184
|
+
}
|
|
178185
|
+
function getLineText(terminal, row2) {
|
|
178186
|
+
return terminal.buffer.active.getLine(row2)?.translateToString(false) ?? "";
|
|
178187
|
+
}
|
|
178188
|
+
function moveCell(cell2, dir, terminal) {
|
|
178189
|
+
const cols = terminal.cols;
|
|
178190
|
+
const lastRow = Math.max(0, terminal.buffer.active.length - 1);
|
|
178191
|
+
switch (dir) {
|
|
178192
|
+
case "left":
|
|
178193
|
+
if (cell2.col > 0) return { col: cell2.col - 1, row: cell2.row };
|
|
178194
|
+
if (cell2.row > 0) return { col: cols - 1, row: cell2.row - 1 };
|
|
178195
|
+
return cell2;
|
|
178196
|
+
case "right":
|
|
178197
|
+
if (cell2.col < cols - 1) return { col: cell2.col + 1, row: cell2.row };
|
|
178198
|
+
if (cell2.row < lastRow) return { col: 0, row: cell2.row + 1 };
|
|
178199
|
+
return cell2;
|
|
178200
|
+
case "up":
|
|
178201
|
+
if (cell2.row > 0) return { col: cell2.col, row: cell2.row - 1 };
|
|
178202
|
+
return cell2;
|
|
178203
|
+
case "down":
|
|
178204
|
+
if (cell2.row < lastRow) return { col: cell2.col, row: cell2.row + 1 };
|
|
178205
|
+
return cell2;
|
|
178206
|
+
}
|
|
178207
|
+
}
|
|
178208
|
+
function applySelection(terminal, anchor2, head2) {
|
|
178209
|
+
const cols = terminal.cols;
|
|
178210
|
+
if (cols <= 0) return;
|
|
178211
|
+
const anchorLinear = anchor2.row * cols + anchor2.col;
|
|
178212
|
+
const headLinear = head2.row * cols + head2.col;
|
|
178213
|
+
const startLinear = Math.min(anchorLinear, headLinear);
|
|
178214
|
+
const endLinear = Math.max(anchorLinear, headLinear);
|
|
178215
|
+
const length2 = endLinear - startLinear + 1;
|
|
178216
|
+
const startRow = Math.floor(startLinear / cols);
|
|
178217
|
+
const startCol = startLinear - startRow * cols;
|
|
178218
|
+
terminal.select(startCol, startRow, length2);
|
|
178219
|
+
}
|
|
178220
|
+
function wordSelectionAt(cell2, lineText) {
|
|
178221
|
+
const { start: start2, end } = findWordBoundaries(lineText, cell2.col);
|
|
178222
|
+
return {
|
|
178223
|
+
anchor: { col: start2, row: cell2.row },
|
|
178224
|
+
// `head` is the last cell of the selection (inclusive). `end` from
|
|
178225
|
+
// findWordBoundaries is exclusive, so subtract one.
|
|
178226
|
+
head: { col: Math.max(start2, end - 1), row: cell2.row }
|
|
178227
|
+
};
|
|
178228
|
+
}
|
|
178229
|
+
function clamp(n2, lo2, hi) {
|
|
178230
|
+
if (n2 < lo2) return lo2;
|
|
178231
|
+
if (n2 > hi) return hi;
|
|
178232
|
+
return n2;
|
|
178233
|
+
}
|
|
178234
|
+
const ZOOM_LEVEL_KEY = "band:zoom-level";
|
|
178235
|
+
const DEFAULT_ZOOM = 1;
|
|
178236
|
+
const MIN_ZOOM = 0.5;
|
|
178237
|
+
const MAX_ZOOM = 2;
|
|
178238
|
+
const ZOOM_STEP = 0.1;
|
|
178239
|
+
const ZOOM_CSS_VAR = "--app-zoom";
|
|
178240
|
+
const ZOOM_CHANGE_EVENT = "band:zoom-changed";
|
|
178241
|
+
function loadZoomLevel() {
|
|
178242
|
+
try {
|
|
178243
|
+
const stored = localStorage.getItem(ZOOM_LEVEL_KEY);
|
|
178244
|
+
if (stored) {
|
|
178245
|
+
const parsed = Number.parseFloat(stored);
|
|
178246
|
+
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
178247
|
+
return parsed;
|
|
178248
|
+
}
|
|
178249
|
+
}
|
|
178250
|
+
} catch {
|
|
178251
|
+
}
|
|
178252
|
+
return DEFAULT_ZOOM;
|
|
178253
|
+
}
|
|
178254
|
+
function saveZoomLevel(level) {
|
|
178255
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178256
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178257
|
+
try {
|
|
178258
|
+
localStorage.setItem(ZOOM_LEVEL_KEY, String(rounded));
|
|
178259
|
+
} catch {
|
|
178260
|
+
}
|
|
178261
|
+
}
|
|
178262
|
+
function applyZoomLevelToDom(level) {
|
|
178263
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178264
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178265
|
+
const root2 = document.documentElement;
|
|
178266
|
+
root2.style.zoom = String(rounded);
|
|
178267
|
+
root2.style.setProperty(ZOOM_CSS_VAR, String(rounded));
|
|
178268
|
+
window.dispatchEvent(new CustomEvent(ZOOM_CHANGE_EVENT, { detail: rounded }));
|
|
178269
|
+
return rounded;
|
|
178270
|
+
}
|
|
178271
|
+
function applyZoomLevel(level) {
|
|
178272
|
+
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
178273
|
+
const rounded = Math.round(clamped * 100) / 100;
|
|
178274
|
+
saveZoomLevel(rounded);
|
|
178275
|
+
applyZoomLevelToDom(rounded);
|
|
178276
|
+
}
|
|
178277
|
+
function getCurrentZoomLevel() {
|
|
178278
|
+
if (typeof document !== "undefined") {
|
|
178279
|
+
const css = document.documentElement.style.getPropertyValue(ZOOM_CSS_VAR);
|
|
178280
|
+
if (css) {
|
|
178281
|
+
const parsed = Number.parseFloat(css);
|
|
178282
|
+
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
178283
|
+
return parsed;
|
|
178284
|
+
}
|
|
178285
|
+
}
|
|
178286
|
+
}
|
|
178287
|
+
return loadZoomLevel();
|
|
178288
|
+
}
|
|
178289
|
+
function subscribeToZoomChanges(handler) {
|
|
178290
|
+
if (typeof window === "undefined") return () => {
|
|
178291
|
+
};
|
|
178292
|
+
const listener2 = (e3) => {
|
|
178293
|
+
const detail = e3.detail;
|
|
178294
|
+
if (typeof detail === "number") handler(detail);
|
|
178295
|
+
};
|
|
178296
|
+
window.addEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
178297
|
+
return () => window.removeEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
178298
|
+
}
|
|
178299
|
+
function zoomIn() {
|
|
178300
|
+
applyZoomLevel(loadZoomLevel() + ZOOM_STEP);
|
|
178301
|
+
}
|
|
178302
|
+
function zoomOut() {
|
|
178303
|
+
applyZoomLevel(loadZoomLevel() - ZOOM_STEP);
|
|
178304
|
+
}
|
|
178305
|
+
function zoomReset() {
|
|
178306
|
+
applyZoomLevel(DEFAULT_ZOOM);
|
|
178307
|
+
}
|
|
178308
|
+
const BASE_FONT_SIZE = 13;
|
|
178309
|
+
const LONG_PRESS_MS = 500;
|
|
178310
|
+
const LONG_PRESS_SLOP_PX = 10;
|
|
178311
|
+
const SEARCH_DECORATIONS = {
|
|
178312
|
+
matchBackground: "#515c6a",
|
|
178313
|
+
activeMatchBackground: "#a9913680",
|
|
178314
|
+
matchOverviewRuler: "#a9913680",
|
|
178315
|
+
activeMatchColorOverviewRuler: "#a99136"
|
|
178316
|
+
};
|
|
178317
|
+
const DEFAULT_SEARCH_OPTIONS = {
|
|
178318
|
+
caseSensitive: false,
|
|
178319
|
+
wholeWord: false,
|
|
178320
|
+
regex: false
|
|
178321
|
+
};
|
|
178322
|
+
function toXtermSearchOptions(opts) {
|
|
178323
|
+
return {
|
|
178324
|
+
caseSensitive: opts.caseSensitive,
|
|
178325
|
+
wholeWord: opts.wholeWord,
|
|
178326
|
+
regex: opts.regex,
|
|
178327
|
+
decorations: SEARCH_DECORATIONS
|
|
178328
|
+
};
|
|
178329
|
+
}
|
|
178330
|
+
const DARK_TERMINAL_THEME = {
|
|
178331
|
+
background: "#1e1e1e",
|
|
178332
|
+
foreground: "#e8e8e8",
|
|
178333
|
+
cursor: "#e8e8e8",
|
|
178334
|
+
selectionBackground: "rgba(255, 255, 255, 0.2)",
|
|
178335
|
+
black: "#000000",
|
|
178336
|
+
red: "#cd3131",
|
|
178337
|
+
green: "#0dbc79",
|
|
178338
|
+
yellow: "#e5e510",
|
|
178339
|
+
blue: "#2472c8",
|
|
178340
|
+
magenta: "#bc3fbc",
|
|
178341
|
+
cyan: "#11a8cd",
|
|
178342
|
+
white: "#e5e5e5",
|
|
178343
|
+
brightBlack: "#666666",
|
|
178344
|
+
brightRed: "#f14c4c",
|
|
178345
|
+
brightGreen: "#23d18b",
|
|
178346
|
+
brightYellow: "#f5f543",
|
|
178347
|
+
brightBlue: "#3b8eea",
|
|
178348
|
+
brightMagenta: "#d670d6",
|
|
178349
|
+
brightCyan: "#29b8db",
|
|
178350
|
+
brightWhite: "#e5e5e5"
|
|
178351
|
+
};
|
|
178352
|
+
const LIGHT_TERMINAL_THEME = {
|
|
178353
|
+
background: "#ffffff",
|
|
178354
|
+
foreground: "#1e1e1e",
|
|
178355
|
+
cursor: "#1e1e1e",
|
|
178356
|
+
cursorAccent: "#ffffff",
|
|
178357
|
+
selectionBackground: "rgba(0, 0, 0, 0.15)",
|
|
178358
|
+
black: "#000000",
|
|
178359
|
+
red: "#cd3131",
|
|
178360
|
+
green: "#0a8043",
|
|
178361
|
+
yellow: "#946800",
|
|
178362
|
+
blue: "#0451a5",
|
|
178363
|
+
magenta: "#bc05bc",
|
|
178364
|
+
cyan: "#0598bc",
|
|
178365
|
+
white: "#555555",
|
|
178366
|
+
brightBlack: "#666666",
|
|
178367
|
+
brightRed: "#cd3131",
|
|
178368
|
+
brightGreen: "#0a8043",
|
|
178369
|
+
brightYellow: "#946800",
|
|
178370
|
+
brightBlue: "#0451a5",
|
|
178371
|
+
brightMagenta: "#bc05bc",
|
|
178372
|
+
brightCyan: "#0598bc",
|
|
178373
|
+
brightWhite: "#1e1e1e"
|
|
178374
|
+
};
|
|
178375
|
+
function isDarkMode() {
|
|
178376
|
+
return document.documentElement.classList.contains("dark");
|
|
178377
|
+
}
|
|
178378
|
+
function getTerminalTheme() {
|
|
178379
|
+
return isDarkMode() ? DARK_TERMINAL_THEME : LIGHT_TERMINAL_THEME;
|
|
178380
|
+
}
|
|
178381
|
+
const HEARTBEAT_INTERVAL_MS = 1e4;
|
|
178382
|
+
const HEARTBEAT_TIMEOUT_MS = 2e4;
|
|
178383
|
+
const RECONNECT_BASE_MS = 500;
|
|
178384
|
+
const RECONNECT_MAX_MS = 1e4;
|
|
178385
|
+
const MAX_LAYOUT_FRAMES = 5;
|
|
178386
|
+
const MAX_CACHED_TERMINALS = 8;
|
|
178387
|
+
const INITIAL_STATE = {
|
|
178388
|
+
ready: false,
|
|
178389
|
+
searchOpen: false,
|
|
178390
|
+
searchQuery: "",
|
|
178391
|
+
searchOptions: DEFAULT_SEARCH_OPTIONS,
|
|
178392
|
+
matchInfo: { total: 0, current: 0 },
|
|
178393
|
+
selectionMode: false,
|
|
178394
|
+
pendingCtrl: false,
|
|
178395
|
+
terminated: false
|
|
178396
|
+
};
|
|
178397
|
+
const CACHE_KEY = "__bandTerminalCache__";
|
|
178398
|
+
function getCache() {
|
|
178399
|
+
const store = globalThis;
|
|
178400
|
+
if (!store[CACHE_KEY]) store[CACHE_KEY] = /* @__PURE__ */ new Map();
|
|
178401
|
+
return store[CACHE_KEY];
|
|
178402
|
+
}
|
|
178403
|
+
function createEntry(terminalId, opts) {
|
|
178404
|
+
const { workspaceId, paneMetadata, useWebGL, autoFocus } = opts;
|
|
178405
|
+
const wrapper = document.createElement("div");
|
|
178406
|
+
wrapper.dataset.testid = "terminal-wrapper";
|
|
178407
|
+
wrapper.dataset.terminalId = terminalId;
|
|
178408
|
+
wrapper.dataset.workspaceId = workspaceId;
|
|
178409
|
+
wrapper.style.position = "absolute";
|
|
178410
|
+
wrapper.style.inset = "0";
|
|
178411
|
+
wrapper.style.overflow = "hidden";
|
|
178412
|
+
wrapper.style.setProperty("zoom", "calc(1 / var(--app-zoom, 1))");
|
|
178413
|
+
getParkingContainer().appendChild(wrapper);
|
|
178414
|
+
let state2 = INITIAL_STATE;
|
|
178415
|
+
const listeners2 = /* @__PURE__ */ new Set();
|
|
178416
|
+
const notify = () => {
|
|
178417
|
+
for (const l4 of listeners2) l4();
|
|
178418
|
+
};
|
|
178419
|
+
const setState = (patch2) => {
|
|
178420
|
+
state2 = { ...state2, ...patch2 };
|
|
178421
|
+
notify();
|
|
178422
|
+
};
|
|
178423
|
+
const connectListeners = /* @__PURE__ */ new Set();
|
|
178424
|
+
let titleListener = null;
|
|
178425
|
+
let lastTitle = null;
|
|
178426
|
+
const emitTitle = (title) => {
|
|
178427
|
+
lastTitle = title;
|
|
178428
|
+
titleListener?.(title);
|
|
178429
|
+
};
|
|
178430
|
+
let terminal = null;
|
|
178431
|
+
let searchAddon = null;
|
|
178432
|
+
let webglAddon = null;
|
|
178433
|
+
let ws = null;
|
|
178434
|
+
let liveContainer = null;
|
|
178435
|
+
let attached = false;
|
|
178436
|
+
let autoFocusPending = autoFocus ?? paneMetadata?.focus ?? false;
|
|
178437
|
+
let lastActive = Date.now();
|
|
178438
|
+
let webglSuspect = false;
|
|
178439
|
+
let selectionAnchor = null;
|
|
178440
|
+
let selectionHead = null;
|
|
178441
|
+
let destroyed = false;
|
|
178442
|
+
let cleanup = null;
|
|
178443
|
+
Promise.all([
|
|
178444
|
+
import("./xterm-CkV9CBvP.js"),
|
|
178445
|
+
import("./addon-fit-D89xfLfG.js"),
|
|
178446
|
+
import("./addon-web-links-CzLDtFWc.js"),
|
|
178447
|
+
import("./addon-search-BS53_-cp.js"),
|
|
178448
|
+
import("./addon-webgl-BeO2q2vc.js")
|
|
178449
|
+
]).then(([xtermMod, fitMod, webLinksMod, searchMod, webglMod]) => {
|
|
178450
|
+
if (destroyed) return;
|
|
178451
|
+
const { Terminal: XTerm } = xtermMod;
|
|
178452
|
+
const { FitAddon: XFitAddon } = fitMod;
|
|
178453
|
+
const { WebLinksAddon: XWebLinksAddon } = webLinksMod;
|
|
178454
|
+
const { SearchAddon: XSearchAddon } = searchMod;
|
|
178455
|
+
const { WebglAddon: XWebglAddon } = webglMod;
|
|
178456
|
+
Promise.resolve({ });
|
|
178457
|
+
const term = new XTerm({
|
|
178458
|
+
allowProposedApi: true,
|
|
178459
|
+
cursorBlink: true,
|
|
178460
|
+
fontSize: BASE_FONT_SIZE * getCurrentZoomLevel(),
|
|
178461
|
+
fontFamily: "'SF Mono', Menlo, Monaco, 'Courier New', monospace",
|
|
178462
|
+
// 1.2 row spacing is only safe under WebGL (redraws continuous glyphs at
|
|
178463
|
+
// full cell rect); the DOM renderer needs 1.0 to keep box art continuous.
|
|
178464
|
+
lineHeight: useWebGL ? 1.2 : 1,
|
|
178465
|
+
macOptionIsMeta: true,
|
|
178466
|
+
scrollback: 1e4,
|
|
178467
|
+
theme: getTerminalTheme()
|
|
178468
|
+
});
|
|
178469
|
+
terminal = term;
|
|
178470
|
+
const themeObserver = new MutationObserver(() => {
|
|
178471
|
+
term.options.theme = getTerminalTheme();
|
|
178472
|
+
});
|
|
178473
|
+
themeObserver.observe(document.documentElement, {
|
|
178474
|
+
attributes: true,
|
|
178475
|
+
attributeFilter: ["class"]
|
|
178476
|
+
});
|
|
178477
|
+
const fit = new XFitAddon();
|
|
178478
|
+
term.loadAddon(fit);
|
|
178479
|
+
term.loadAddon(new XWebLinksAddon((_event, uri) => openExternalUrl(uri)));
|
|
178480
|
+
const fileLinkProviderDisposable = term.registerLinkProvider(
|
|
178481
|
+
createTerminalFileLinkProvider(term, (filename) => {
|
|
178482
|
+
window.dispatchEvent(
|
|
178483
|
+
new CustomEvent("band:open-file", { detail: { filename, workspaceId } })
|
|
178484
|
+
);
|
|
178485
|
+
})
|
|
178486
|
+
);
|
|
178487
|
+
term.open(wrapper);
|
|
178488
|
+
let webglContextLossDisposable;
|
|
178489
|
+
const attachWebGL = () => {
|
|
178490
|
+
try {
|
|
178491
|
+
const addon = new XWebglAddon({ customGlyphs: true });
|
|
178492
|
+
term.loadAddon(addon);
|
|
178493
|
+
const screenEl = wrapper.querySelector(".xterm-screen");
|
|
178494
|
+
const webglCanvas = screenEl?.querySelector(
|
|
178495
|
+
":scope > canvas:last-of-type"
|
|
178496
|
+
);
|
|
178497
|
+
if (webglCanvas) {
|
|
178498
|
+
webglCanvas.style.pointerEvents = "none";
|
|
178499
|
+
webglCanvas.style.touchAction = "none";
|
|
178500
|
+
}
|
|
178501
|
+
webglAddon = addon;
|
|
178502
|
+
webglContextLossDisposable?.dispose();
|
|
178503
|
+
webglContextLossDisposable = addon.onContextLoss(() => {
|
|
178504
|
+
console.warn("[terminal-cache] WebGL context lost, reattaching addon");
|
|
178505
|
+
addon.dispose();
|
|
178506
|
+
webglAddon = null;
|
|
178507
|
+
if (attached && hostIsVisible()) {
|
|
178508
|
+
attachWebGL();
|
|
178509
|
+
} else {
|
|
178510
|
+
webglSuspect = true;
|
|
178511
|
+
}
|
|
178512
|
+
});
|
|
178513
|
+
return true;
|
|
178514
|
+
} catch (err) {
|
|
178515
|
+
console.warn("[terminal-cache] WebGL renderer unavailable, falling back to DOM", err);
|
|
178516
|
+
return false;
|
|
178517
|
+
}
|
|
178518
|
+
};
|
|
178519
|
+
if (useWebGL) attachWebGL();
|
|
178520
|
+
const search2 = new XSearchAddon();
|
|
178521
|
+
searchAddon = search2;
|
|
178522
|
+
term.loadAddon(search2);
|
|
178523
|
+
const searchResultsDisposable = search2.onDidChangeResults((event) => {
|
|
178524
|
+
setState({
|
|
178525
|
+
matchInfo: {
|
|
178526
|
+
total: event.resultCount,
|
|
178527
|
+
current: event.resultIndex >= 0 ? event.resultIndex + 1 : 0
|
|
178528
|
+
}
|
|
178529
|
+
});
|
|
178530
|
+
});
|
|
178531
|
+
term.attachCustomKeyEventHandler((e3) => {
|
|
178532
|
+
if (e3.type === "keydown") {
|
|
178533
|
+
if (state2.pendingCtrl && e3.key.length === 1 && !e3.metaKey && !e3.altKey && !e3.ctrlKey) {
|
|
178534
|
+
const lower2 = e3.key.toLowerCase();
|
|
178535
|
+
const code2 = lower2.charCodeAt(0);
|
|
178536
|
+
if (code2 >= 97 && code2 <= 122) {
|
|
178537
|
+
term.input(String.fromCharCode(code2 - 96));
|
|
178538
|
+
setState({ pendingCtrl: false });
|
|
178539
|
+
e3.preventDefault();
|
|
178540
|
+
return false;
|
|
178541
|
+
}
|
|
178542
|
+
setState({ pendingCtrl: false });
|
|
178543
|
+
}
|
|
178544
|
+
if ((e3.metaKey || e3.ctrlKey) && !e3.shiftKey && !e3.altKey && e3.key.toLowerCase() === "f") {
|
|
178545
|
+
e3.preventDefault();
|
|
178546
|
+
publicApi.openSearch();
|
|
178547
|
+
return false;
|
|
178548
|
+
}
|
|
178549
|
+
if (e3.key === "Enter" && e3.shiftKey && !e3.altKey && !e3.metaKey && !e3.ctrlKey) {
|
|
178550
|
+
e3.preventDefault();
|
|
178551
|
+
term.input("\n");
|
|
178552
|
+
return false;
|
|
178553
|
+
}
|
|
178554
|
+
if (e3.altKey && !e3.metaKey && !e3.ctrlKey) {
|
|
178555
|
+
if (e3.key === "ArrowLeft") {
|
|
178556
|
+
term.input("\x1Bb");
|
|
178557
|
+
return false;
|
|
178558
|
+
}
|
|
178559
|
+
if (e3.key === "ArrowRight") {
|
|
178560
|
+
term.input("\x1Bf");
|
|
178561
|
+
return false;
|
|
178562
|
+
}
|
|
178563
|
+
}
|
|
178564
|
+
}
|
|
178565
|
+
return true;
|
|
178566
|
+
});
|
|
178567
|
+
const viewportEl = wrapper.querySelector(".xterm-viewport");
|
|
178568
|
+
let lastTouchY = null;
|
|
178569
|
+
const onTouchStart = (e3) => {
|
|
178570
|
+
lastTouchY = e3.touches.length === 1 ? e3.touches[0].clientY : null;
|
|
178571
|
+
};
|
|
178572
|
+
const onTouchMove = (e3) => {
|
|
178573
|
+
if (e3.touches.length !== 1 || lastTouchY === null) return;
|
|
178574
|
+
const currentY = e3.touches[0].clientY;
|
|
178575
|
+
const deltaY = lastTouchY - currentY;
|
|
178576
|
+
const cellHeight = viewportEl && term.rows > 0 ? viewportEl.clientHeight / term.rows : 17;
|
|
178577
|
+
const lineDelta = Math.trunc(deltaY / cellHeight);
|
|
178578
|
+
if (lineDelta !== 0) {
|
|
178579
|
+
term.scrollLines(lineDelta);
|
|
178580
|
+
lastTouchY = currentY + (deltaY - lineDelta * cellHeight);
|
|
178581
|
+
e3.preventDefault();
|
|
178582
|
+
}
|
|
178583
|
+
};
|
|
178584
|
+
const onTouchEnd = () => {
|
|
178585
|
+
lastTouchY = null;
|
|
178586
|
+
};
|
|
178587
|
+
wrapper.addEventListener("touchstart", onTouchStart, { passive: true });
|
|
178588
|
+
wrapper.addEventListener("touchmove", onTouchMove, { passive: false });
|
|
178589
|
+
wrapper.addEventListener("touchend", onTouchEnd, { passive: true });
|
|
178590
|
+
wrapper.addEventListener("touchcancel", onTouchEnd, { passive: true });
|
|
178591
|
+
let longPressTimer = null;
|
|
178592
|
+
let longPressStart = null;
|
|
178593
|
+
const cancelLongPress = () => {
|
|
178594
|
+
if (longPressTimer !== null) {
|
|
178595
|
+
window.clearTimeout(longPressTimer);
|
|
178596
|
+
longPressTimer = null;
|
|
178597
|
+
}
|
|
178598
|
+
longPressStart = null;
|
|
178599
|
+
};
|
|
178600
|
+
const onLongPressStart = (e3) => {
|
|
178601
|
+
cancelLongPress();
|
|
178602
|
+
if (e3.touches.length !== 1) return;
|
|
178603
|
+
const t2 = e3.touches[0];
|
|
178604
|
+
longPressStart = { x: t2.clientX, y: t2.clientY };
|
|
178605
|
+
longPressTimer = window.setTimeout(() => {
|
|
178606
|
+
longPressTimer = null;
|
|
178607
|
+
const start2 = longPressStart;
|
|
178608
|
+
if (!start2) return;
|
|
178609
|
+
const screenEl = wrapper.querySelector(".xterm-screen");
|
|
178610
|
+
if (!screenEl) return;
|
|
178611
|
+
const cell2 = pointToCell(start2.x, start2.y, term, screenEl);
|
|
178612
|
+
const lineText = getLineText(term, cell2.row);
|
|
178613
|
+
const { anchor: anchor2, head: head2 } = wordSelectionAt(cell2, lineText);
|
|
178614
|
+
applySelection(term, anchor2, head2);
|
|
178615
|
+
selectionAnchor = anchor2;
|
|
178616
|
+
selectionHead = head2;
|
|
178617
|
+
setState({ selectionMode: true });
|
|
178618
|
+
tapStartX = null;
|
|
178619
|
+
tapStartY = null;
|
|
178620
|
+
term.blur();
|
|
178621
|
+
if (typeof navigator.vibrate === "function") {
|
|
178622
|
+
try {
|
|
178623
|
+
navigator.vibrate(15);
|
|
178624
|
+
} catch {
|
|
178625
|
+
}
|
|
178626
|
+
}
|
|
178627
|
+
}, LONG_PRESS_MS);
|
|
178628
|
+
};
|
|
178629
|
+
const onLongPressMove = (e3) => {
|
|
178630
|
+
if (!longPressStart || e3.touches.length !== 1) return;
|
|
178631
|
+
const t2 = e3.touches[0];
|
|
178632
|
+
const dx = Math.abs(t2.clientX - longPressStart.x);
|
|
178633
|
+
const dy = Math.abs(t2.clientY - longPressStart.y);
|
|
178634
|
+
if (dx > LONG_PRESS_SLOP_PX || dy > LONG_PRESS_SLOP_PX) cancelLongPress();
|
|
178635
|
+
};
|
|
178636
|
+
wrapper.addEventListener("touchstart", onLongPressStart, { passive: true });
|
|
178637
|
+
wrapper.addEventListener("touchmove", onLongPressMove, { passive: true });
|
|
178638
|
+
wrapper.addEventListener("touchend", cancelLongPress, { passive: true });
|
|
178639
|
+
wrapper.addEventListener("touchcancel", cancelLongPress, { passive: true });
|
|
178640
|
+
let tapStartX = null;
|
|
178641
|
+
let tapStartY = null;
|
|
178642
|
+
const onTapStart = (e3) => {
|
|
178643
|
+
if (e3.touches.length === 1) {
|
|
178644
|
+
tapStartX = e3.touches[0].clientX;
|
|
178645
|
+
tapStartY = e3.touches[0].clientY;
|
|
178646
|
+
} else {
|
|
178647
|
+
tapStartX = null;
|
|
178648
|
+
tapStartY = null;
|
|
178649
|
+
}
|
|
178650
|
+
};
|
|
178651
|
+
const onTapEnd = (e3) => {
|
|
178652
|
+
const startX = tapStartX;
|
|
178653
|
+
const startY = tapStartY;
|
|
178654
|
+
tapStartX = null;
|
|
178655
|
+
tapStartY = null;
|
|
178656
|
+
if (startX === null || startY === null || e3.changedTouches.length !== 1) return;
|
|
178657
|
+
const dx = Math.abs(e3.changedTouches[0].clientX - startX);
|
|
178658
|
+
const dy = Math.abs(e3.changedTouches[0].clientY - startY);
|
|
178659
|
+
if (dx < 10 && dy < 10) {
|
|
178660
|
+
if (selectionAnchor !== null) {
|
|
178661
|
+
selectionAnchor = null;
|
|
178662
|
+
selectionHead = null;
|
|
178663
|
+
setState({ selectionMode: false });
|
|
178664
|
+
term.clearSelection();
|
|
178665
|
+
}
|
|
178666
|
+
term.focus();
|
|
178667
|
+
}
|
|
178668
|
+
};
|
|
178669
|
+
const onTapCancel = () => {
|
|
178670
|
+
tapStartX = null;
|
|
178671
|
+
tapStartY = null;
|
|
178672
|
+
};
|
|
178673
|
+
wrapper.addEventListener("touchstart", onTapStart, { passive: true });
|
|
178674
|
+
wrapper.addEventListener("touchend", onTapEnd, { passive: true });
|
|
178675
|
+
wrapper.addEventListener("touchcancel", onTapCancel, { passive: true });
|
|
178676
|
+
const proto2 = location.protocol === "https:" ? "wss:" : "ws:";
|
|
178677
|
+
const wsUrl = `${proto2}//${location.host}/terminal?workspaceId=${encodeURIComponent(workspaceId)}&terminalId=${encodeURIComponent(terminalId)}`;
|
|
178678
|
+
let intentionalClose = false;
|
|
178679
|
+
let terminated = false;
|
|
178680
|
+
let didConnectOnce = false;
|
|
178681
|
+
let reconnectAttempts = 0;
|
|
178682
|
+
let reconnectTimer = null;
|
|
178683
|
+
let heartbeatTimer = null;
|
|
178684
|
+
let lastPongAt = 0;
|
|
178685
|
+
const clearReconnectTimer = () => {
|
|
178686
|
+
if (reconnectTimer !== null) {
|
|
178687
|
+
clearTimeout(reconnectTimer);
|
|
178688
|
+
reconnectTimer = null;
|
|
178689
|
+
}
|
|
178690
|
+
};
|
|
178691
|
+
const stopHeartbeat = () => {
|
|
178692
|
+
if (heartbeatTimer !== null) {
|
|
178693
|
+
clearInterval(heartbeatTimer);
|
|
178694
|
+
heartbeatTimer = null;
|
|
178695
|
+
}
|
|
178696
|
+
};
|
|
178697
|
+
const probeConnection = () => {
|
|
178698
|
+
const sock = ws;
|
|
178699
|
+
if (!sock || sock.readyState !== WebSocket.OPEN) return;
|
|
178700
|
+
if (Date.now() - lastPongAt > HEARTBEAT_TIMEOUT_MS) {
|
|
178701
|
+
sock.close();
|
|
178702
|
+
return;
|
|
178703
|
+
}
|
|
178704
|
+
try {
|
|
178705
|
+
sock.send(JSON.stringify({ type: "ping" }));
|
|
178706
|
+
} catch {
|
|
178707
|
+
sock.close();
|
|
178708
|
+
}
|
|
178709
|
+
};
|
|
178710
|
+
const scheduleReconnect = () => {
|
|
178711
|
+
if (intentionalClose || terminated || reconnectTimer !== null) return;
|
|
178712
|
+
const delay = Math.min(RECONNECT_BASE_MS * 2 ** reconnectAttempts, RECONNECT_MAX_MS);
|
|
178713
|
+
if (delay < RECONNECT_MAX_MS) reconnectAttempts += 1;
|
|
178714
|
+
reconnectTimer = setTimeout(() => {
|
|
178715
|
+
reconnectTimer = null;
|
|
178716
|
+
connect();
|
|
178717
|
+
}, delay);
|
|
178718
|
+
};
|
|
178719
|
+
function connect() {
|
|
178720
|
+
if (intentionalClose || terminated || destroyed) return;
|
|
178721
|
+
clearReconnectTimer();
|
|
178722
|
+
const isReconnect = didConnectOnce;
|
|
178723
|
+
const sock = new WebSocket(wsUrl);
|
|
178724
|
+
ws = sock;
|
|
178725
|
+
sock.binaryType = "arraybuffer";
|
|
178726
|
+
sock.onopen = () => {
|
|
178727
|
+
reconnectAttempts = 0;
|
|
178728
|
+
lastPongAt = Date.now();
|
|
178729
|
+
if (isReconnect) term.reset();
|
|
178730
|
+
if (!didConnectOnce && paneMetadata && (paneMetadata.command || paneMetadata.cwd || paneMetadata.env)) {
|
|
178731
|
+
const initMsg = { type: "init" };
|
|
178732
|
+
if (paneMetadata.command) initMsg.command = paneMetadata.command;
|
|
178733
|
+
if (paneMetadata.cwd) initMsg.cwd = paneMetadata.cwd;
|
|
178734
|
+
if (paneMetadata.env) initMsg.env = paneMetadata.env;
|
|
178735
|
+
sock.send(JSON.stringify(initMsg));
|
|
178736
|
+
}
|
|
178737
|
+
didConnectOnce = true;
|
|
178738
|
+
if (attached && hostIsVisible()) {
|
|
178739
|
+
fit.fit();
|
|
178740
|
+
sendPtyResize();
|
|
178741
|
+
if (autoFocusPending && !isReconnect) {
|
|
178742
|
+
term.focus();
|
|
178743
|
+
autoFocusPending = false;
|
|
178744
|
+
}
|
|
178745
|
+
}
|
|
178746
|
+
stopHeartbeat();
|
|
178747
|
+
heartbeatTimer = setInterval(probeConnection, HEARTBEAT_INTERVAL_MS);
|
|
178748
|
+
for (const l4 of connectListeners) l4();
|
|
178749
|
+
};
|
|
178750
|
+
sock.onmessage = (event) => {
|
|
178751
|
+
if (event.data instanceof ArrayBuffer) {
|
|
178752
|
+
term.write(new Uint8Array(event.data));
|
|
178753
|
+
} else {
|
|
178754
|
+
try {
|
|
178755
|
+
const msg = JSON.parse(event.data);
|
|
178756
|
+
if (msg.type === "pong") {
|
|
178757
|
+
lastPongAt = Date.now();
|
|
178758
|
+
} else if (msg.type === "title" && typeof msg.title === "string") {
|
|
178759
|
+
emitTitle(msg.title);
|
|
178760
|
+
} else if (msg.type === "error" && typeof msg.message === "string") {
|
|
178761
|
+
const safe = msg.message.replace(new RegExp("\\p{Cc}", "gu"), "");
|
|
178762
|
+
term.write(`\r
|
|
178763
|
+
\x1B[31m${safe}\x1B[0m\r
|
|
178764
|
+
`);
|
|
178765
|
+
}
|
|
178766
|
+
} catch {
|
|
178767
|
+
term.write(event.data);
|
|
178768
|
+
}
|
|
178769
|
+
}
|
|
178770
|
+
};
|
|
178771
|
+
sock.onclose = (event) => {
|
|
178772
|
+
if (ws !== sock) return;
|
|
178773
|
+
stopHeartbeat();
|
|
178774
|
+
if (intentionalClose) return;
|
|
178775
|
+
if (event.code === 1e3 || event.code >= 4e3) {
|
|
178776
|
+
terminated = true;
|
|
178777
|
+
if (event.code === 1e3) {
|
|
178778
|
+
term.write("\r\n\x1B[90m[Process completed]\x1B[0m\r\n");
|
|
178779
|
+
}
|
|
178780
|
+
setState({ terminated: true });
|
|
178781
|
+
return;
|
|
178782
|
+
}
|
|
178783
|
+
term.write("\r\n\x1B[90m[Reconnecting…]\x1B[0m\r\n");
|
|
178784
|
+
scheduleReconnect();
|
|
178785
|
+
};
|
|
178786
|
+
}
|
|
178787
|
+
const handleResume = () => {
|
|
178788
|
+
if (intentionalClose || terminated) return;
|
|
178789
|
+
const sock = ws;
|
|
178790
|
+
if (!sock || sock.readyState === WebSocket.CLOSED || sock.readyState === WebSocket.CLOSING) {
|
|
178791
|
+
reconnectAttempts = 0;
|
|
178792
|
+
clearReconnectTimer();
|
|
178793
|
+
connect();
|
|
178794
|
+
} else if (sock.readyState === WebSocket.OPEN) {
|
|
178795
|
+
probeConnection();
|
|
178796
|
+
}
|
|
178797
|
+
};
|
|
178798
|
+
const handleVisibility = () => {
|
|
178799
|
+
if (!document.hidden) handleResume();
|
|
178800
|
+
};
|
|
178801
|
+
window.addEventListener("online", handleResume);
|
|
178802
|
+
document.addEventListener("visibilitychange", handleVisibility);
|
|
178803
|
+
connect();
|
|
178804
|
+
term.onData((data) => {
|
|
178805
|
+
if (ws && ws.readyState === WebSocket.OPEN) ws.send(data);
|
|
178806
|
+
});
|
|
178807
|
+
term.onTitleChange((title) => emitTitle(title));
|
|
178808
|
+
let selectionRafId = null;
|
|
178809
|
+
const reapplySelectionOnNextFrame = () => {
|
|
178810
|
+
if (selectionRafId !== null) return;
|
|
178811
|
+
if (!selectionAnchor || !selectionHead) return;
|
|
178812
|
+
selectionRafId = requestAnimationFrame(() => {
|
|
178813
|
+
selectionRafId = null;
|
|
178814
|
+
if (selectionAnchor && selectionHead) applySelection(term, selectionAnchor, selectionHead);
|
|
178815
|
+
});
|
|
178816
|
+
};
|
|
178817
|
+
const selectionResizeDisposable = term.onResize(reapplySelectionOnNextFrame);
|
|
178818
|
+
let lastDpr = window.devicePixelRatio;
|
|
178819
|
+
const sendPtyResize = () => {
|
|
178820
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) return;
|
|
178821
|
+
if (term.cols <= 0 || term.rows <= 0) return;
|
|
178822
|
+
ws.send(JSON.stringify({ type: "resize", cols: term.cols, rows: term.rows }));
|
|
178823
|
+
};
|
|
178824
|
+
const remeasureAndReattach = (opt = {}) => {
|
|
178825
|
+
const { newFontSize } = opt;
|
|
178826
|
+
if (newFontSize !== void 0) {
|
|
178827
|
+
if (term.options.fontSize !== newFontSize) term.options.fontSize = newFontSize;
|
|
178828
|
+
} else {
|
|
178829
|
+
const fs = term.options.fontSize;
|
|
178830
|
+
if (typeof fs === "number") {
|
|
178831
|
+
term.options.fontSize = fs + 1;
|
|
178832
|
+
term.options.fontSize = fs;
|
|
178833
|
+
}
|
|
178834
|
+
}
|
|
178835
|
+
if (!attached || !hostIsVisible()) {
|
|
178836
|
+
webglSuspect = true;
|
|
178837
|
+
return;
|
|
178838
|
+
}
|
|
178839
|
+
if (webglAddon) {
|
|
178840
|
+
webglAddon.dispose();
|
|
178841
|
+
webglAddon = null;
|
|
178842
|
+
attachWebGL();
|
|
178843
|
+
}
|
|
178844
|
+
fit.fit();
|
|
178845
|
+
};
|
|
178846
|
+
const handleDprChange = () => {
|
|
178847
|
+
const currentDpr = window.devicePixelRatio;
|
|
178848
|
+
if (currentDpr === lastDpr) return false;
|
|
178849
|
+
lastDpr = currentDpr;
|
|
178850
|
+
remeasureAndReattach();
|
|
178851
|
+
return true;
|
|
178852
|
+
};
|
|
178853
|
+
const resizeObserver = new ResizeObserver((entries2) => {
|
|
178854
|
+
const entry = entries2[0];
|
|
178855
|
+
if (!entry || entry.contentRect.width === 0 || entry.contentRect.height === 0) return;
|
|
178856
|
+
if (!attached || !hostIsVisible()) return;
|
|
178857
|
+
const dprChanged = handleDprChange();
|
|
178858
|
+
if (!dprChanged) fit.fit();
|
|
178859
|
+
sendPtyResize();
|
|
178860
|
+
});
|
|
178861
|
+
resizeObserver.observe(wrapper);
|
|
178862
|
+
const handleZoomChange = (zoom) => {
|
|
178863
|
+
const target = Math.round(BASE_FONT_SIZE * zoom * 100) / 100;
|
|
178864
|
+
if (term.options.fontSize === target) return;
|
|
178865
|
+
remeasureAndReattach({ newFontSize: target });
|
|
178866
|
+
if (attached && hostIsVisible()) sendPtyResize();
|
|
178867
|
+
};
|
|
178868
|
+
const unsubscribeZoom = subscribeToZoomChanges(handleZoomChange);
|
|
178869
|
+
let dprMql;
|
|
178870
|
+
const onDprMediaChange = () => {
|
|
178871
|
+
handleDprChange();
|
|
178872
|
+
dprMql?.removeEventListener("change", onDprMediaChange);
|
|
178873
|
+
bindDprListener();
|
|
178874
|
+
};
|
|
178875
|
+
const bindDprListener = () => {
|
|
178876
|
+
dprMql = window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);
|
|
178877
|
+
dprMql.addEventListener("change", onDprMediaChange);
|
|
178878
|
+
};
|
|
178879
|
+
bindDprListener();
|
|
178880
|
+
repairAndFit = () => {
|
|
178881
|
+
if (!attached || !hostIsVisible()) return;
|
|
178882
|
+
const dprChanged = handleDprChange();
|
|
178883
|
+
if (!dprChanged) {
|
|
178884
|
+
if (webglSuspect && webglAddon == null && useWebGL) {
|
|
178885
|
+
attachWebGL();
|
|
178886
|
+
} else if (webglSuspect && webglAddon) {
|
|
178887
|
+
webglAddon.dispose();
|
|
178888
|
+
webglAddon = null;
|
|
178889
|
+
attachWebGL();
|
|
178890
|
+
}
|
|
178891
|
+
fit.fit();
|
|
178892
|
+
}
|
|
178893
|
+
webglSuspect = false;
|
|
178894
|
+
if (term.rows > 0) term.refresh(0, term.rows - 1);
|
|
178895
|
+
sendPtyResize();
|
|
178896
|
+
};
|
|
178897
|
+
hostIsVisible = () => !!liveContainer && liveContainer.clientWidth > 0 && liveContainer.clientHeight > 0;
|
|
178898
|
+
if (attached) scheduleRepair();
|
|
178899
|
+
setState({ ready: true });
|
|
178900
|
+
cleanup = () => {
|
|
178901
|
+
intentionalClose = true;
|
|
178902
|
+
clearReconnectTimer();
|
|
178903
|
+
stopHeartbeat();
|
|
178904
|
+
window.removeEventListener("online", handleResume);
|
|
178905
|
+
document.removeEventListener("visibilitychange", handleVisibility);
|
|
178906
|
+
themeObserver.disconnect();
|
|
178907
|
+
resizeObserver.disconnect();
|
|
178908
|
+
searchResultsDisposable.dispose();
|
|
178909
|
+
selectionResizeDisposable.dispose();
|
|
178910
|
+
fileLinkProviderDisposable.dispose();
|
|
178911
|
+
if (selectionRafId !== null) cancelAnimationFrame(selectionRafId);
|
|
178912
|
+
webglContextLossDisposable?.dispose();
|
|
178913
|
+
dprMql?.removeEventListener("change", onDprMediaChange);
|
|
178914
|
+
unsubscribeZoom();
|
|
178915
|
+
cancelLongPress();
|
|
178916
|
+
ws?.close();
|
|
178917
|
+
term.dispose();
|
|
178918
|
+
};
|
|
178919
|
+
});
|
|
178920
|
+
let hostIsVisible = () => !!liveContainer && liveContainer.clientWidth > 0 && liveContainer.clientHeight > 0;
|
|
178921
|
+
let repairAndFit = () => {
|
|
178922
|
+
};
|
|
178923
|
+
let repairRafId = null;
|
|
178924
|
+
const scheduleRepair = () => {
|
|
178925
|
+
if (repairRafId !== null) return;
|
|
178926
|
+
let frame2 = 0;
|
|
178927
|
+
const run2 = () => {
|
|
178928
|
+
repairRafId = null;
|
|
178929
|
+
if (!attached) return;
|
|
178930
|
+
if (!hostIsVisible()) {
|
|
178931
|
+
if (frame2 < MAX_LAYOUT_FRAMES) {
|
|
178932
|
+
frame2 += 1;
|
|
178933
|
+
repairRafId = requestAnimationFrame(run2);
|
|
178934
|
+
}
|
|
178935
|
+
return;
|
|
178936
|
+
}
|
|
178937
|
+
repairAndFit();
|
|
178938
|
+
};
|
|
178939
|
+
repairRafId = requestAnimationFrame(run2);
|
|
178940
|
+
};
|
|
178941
|
+
const publicApi = {
|
|
178942
|
+
terminalId,
|
|
178943
|
+
workspaceId,
|
|
178944
|
+
getTerminal: () => terminal,
|
|
178945
|
+
attach(container, attachOpts) {
|
|
178946
|
+
if (destroyed) return;
|
|
178947
|
+
liveContainer = container;
|
|
178948
|
+
attached = true;
|
|
178949
|
+
lastActive = Date.now();
|
|
178950
|
+
if (attachOpts?.autoFocus) autoFocusPending = true;
|
|
178951
|
+
if (wrapper.parentElement !== container) container.appendChild(wrapper);
|
|
178952
|
+
scheduleRepair();
|
|
178953
|
+
},
|
|
178954
|
+
detach() {
|
|
178955
|
+
if (destroyed) return;
|
|
178956
|
+
attached = false;
|
|
178957
|
+
liveContainer = null;
|
|
178958
|
+
if (repairRafId !== null) {
|
|
178959
|
+
cancelAnimationFrame(repairRafId);
|
|
178960
|
+
repairRafId = null;
|
|
178961
|
+
}
|
|
178962
|
+
const parking = getParkingContainer();
|
|
178963
|
+
if (wrapper.parentElement !== parking) parking.appendChild(wrapper);
|
|
178964
|
+
evictLeastRecentlyUsed(terminalId);
|
|
178965
|
+
},
|
|
178966
|
+
getLastActive: () => lastActive,
|
|
178967
|
+
touch() {
|
|
178968
|
+
lastActive = Date.now();
|
|
178969
|
+
},
|
|
178970
|
+
isAttached: () => attached,
|
|
178971
|
+
isDestroyed: () => destroyed,
|
|
178972
|
+
subscribe(listener2) {
|
|
178973
|
+
listeners2.add(listener2);
|
|
178974
|
+
return () => listeners2.delete(listener2);
|
|
178975
|
+
},
|
|
178976
|
+
getSnapshot: () => state2,
|
|
178977
|
+
openSearch() {
|
|
178978
|
+
setState({ searchOpen: true });
|
|
178979
|
+
},
|
|
178980
|
+
closeSearch() {
|
|
178981
|
+
searchAddon?.clearDecorations();
|
|
178982
|
+
setState({ searchOpen: false, searchQuery: "", matchInfo: { total: 0, current: 0 } });
|
|
178983
|
+
terminal?.focus();
|
|
178984
|
+
},
|
|
178985
|
+
setSearchQuery(query) {
|
|
178986
|
+
setState({ searchQuery: query });
|
|
178987
|
+
const addon = searchAddon;
|
|
178988
|
+
if (!addon) return;
|
|
178989
|
+
if (!query) {
|
|
178990
|
+
addon.clearDecorations();
|
|
178991
|
+
setState({ matchInfo: { total: 0, current: 0 } });
|
|
178992
|
+
return;
|
|
178993
|
+
}
|
|
178994
|
+
addon.findNext(query, toXtermSearchOptions(state2.searchOptions));
|
|
178995
|
+
},
|
|
178996
|
+
setSearchOptions(options) {
|
|
178997
|
+
setState({ searchOptions: options });
|
|
178998
|
+
if (!searchAddon || !state2.searchQuery) return;
|
|
178999
|
+
searchAddon.findNext(state2.searchQuery, toXtermSearchOptions(options));
|
|
179000
|
+
},
|
|
179001
|
+
findNext() {
|
|
179002
|
+
if (!state2.searchQuery) return;
|
|
179003
|
+
searchAddon?.findNext(state2.searchQuery, toXtermSearchOptions(state2.searchOptions));
|
|
179004
|
+
},
|
|
179005
|
+
findPrevious() {
|
|
179006
|
+
if (!state2.searchQuery) return;
|
|
179007
|
+
searchAddon?.findPrevious(state2.searchQuery, toXtermSearchOptions(state2.searchOptions));
|
|
179008
|
+
},
|
|
179009
|
+
toggleCtrl() {
|
|
179010
|
+
setState({ pendingCtrl: !state2.pendingCtrl });
|
|
179011
|
+
},
|
|
179012
|
+
extendSelection(direction) {
|
|
179013
|
+
if (!terminal || !selectionAnchor || !selectionHead) return;
|
|
179014
|
+
const next2 = moveCell(selectionHead, direction, terminal);
|
|
179015
|
+
selectionHead = next2;
|
|
179016
|
+
applySelection(terminal, selectionAnchor, next2);
|
|
179017
|
+
},
|
|
179018
|
+
exitSelection() {
|
|
179019
|
+
selectionAnchor = null;
|
|
179020
|
+
selectionHead = null;
|
|
179021
|
+
setState({ selectionMode: false });
|
|
179022
|
+
terminal?.clearSelection();
|
|
179023
|
+
},
|
|
179024
|
+
selectAll() {
|
|
179025
|
+
if (!terminal) return;
|
|
179026
|
+
const anchor2 = { col: 0, row: 0 };
|
|
179027
|
+
const lastRow = Math.max(0, terminal.buffer.active.length - 1);
|
|
179028
|
+
const head2 = { col: Math.max(0, terminal.cols - 1), row: lastRow };
|
|
179029
|
+
applySelection(terminal, anchor2, head2);
|
|
179030
|
+
selectionAnchor = anchor2;
|
|
179031
|
+
selectionHead = head2;
|
|
179032
|
+
setState({ selectionMode: true });
|
|
179033
|
+
terminal.blur();
|
|
179034
|
+
},
|
|
179035
|
+
sendInput(data) {
|
|
179036
|
+
if (ws && ws.readyState === WebSocket.OPEN) ws.send(data);
|
|
179037
|
+
},
|
|
179038
|
+
isSocketOpen: () => !!ws && ws.readyState === WebSocket.OPEN,
|
|
179039
|
+
focus() {
|
|
179040
|
+
terminal?.focus();
|
|
179041
|
+
},
|
|
179042
|
+
subscribeConnect(listener2) {
|
|
179043
|
+
connectListeners.add(listener2);
|
|
179044
|
+
return () => connectListeners.delete(listener2);
|
|
179045
|
+
},
|
|
179046
|
+
registerTitleListener(listener2) {
|
|
179047
|
+
titleListener = listener2;
|
|
179048
|
+
if (lastTitle !== null) listener2(lastTitle);
|
|
179049
|
+
return () => {
|
|
179050
|
+
if (titleListener === listener2) titleListener = null;
|
|
179051
|
+
};
|
|
179052
|
+
},
|
|
179053
|
+
_destroy() {
|
|
179054
|
+
if (destroyed) return;
|
|
179055
|
+
destroyed = true;
|
|
179056
|
+
if (repairRafId !== null) {
|
|
179057
|
+
cancelAnimationFrame(repairRafId);
|
|
179058
|
+
repairRafId = null;
|
|
179059
|
+
}
|
|
179060
|
+
cleanup?.();
|
|
179061
|
+
cleanup = null;
|
|
179062
|
+
listeners2.clear();
|
|
179063
|
+
connectListeners.clear();
|
|
179064
|
+
titleListener = null;
|
|
179065
|
+
wrapper.remove();
|
|
179066
|
+
}
|
|
179067
|
+
};
|
|
179068
|
+
return publicApi;
|
|
179069
|
+
}
|
|
179070
|
+
function getOrCreateTerminal(terminalId, opts) {
|
|
179071
|
+
const cache = getCache();
|
|
179072
|
+
const existing = cache.get(terminalId);
|
|
179073
|
+
if (existing) {
|
|
179074
|
+
existing.touch();
|
|
179075
|
+
return existing;
|
|
179076
|
+
}
|
|
179077
|
+
const entry = createEntry(terminalId, opts);
|
|
179078
|
+
cache.set(terminalId, entry);
|
|
179079
|
+
evictLeastRecentlyUsed(terminalId);
|
|
179080
|
+
return entry;
|
|
179081
|
+
}
|
|
179082
|
+
function evictLeastRecentlyUsed(keepId) {
|
|
179083
|
+
const cache = getCache();
|
|
179084
|
+
if (cache.size <= MAX_CACHED_TERMINALS) return;
|
|
179085
|
+
const candidates = [...cache.values()].filter((e3) => e3.terminalId !== keepId && !e3.isAttached()).sort((a2, b2) => a2.getLastActive() - b2.getLastActive());
|
|
179086
|
+
let over = cache.size - MAX_CACHED_TERMINALS;
|
|
179087
|
+
for (const entry of candidates) {
|
|
179088
|
+
if (over <= 0) break;
|
|
179089
|
+
cache.delete(entry.terminalId);
|
|
179090
|
+
entry._destroy();
|
|
179091
|
+
over -= 1;
|
|
179092
|
+
}
|
|
179093
|
+
}
|
|
179094
|
+
function disposeTerminal(terminalId) {
|
|
179095
|
+
const cache = getCache();
|
|
179096
|
+
const entry = cache.get(terminalId);
|
|
179097
|
+
if (!entry) return;
|
|
179098
|
+
cache.delete(terminalId);
|
|
179099
|
+
entry._destroy();
|
|
179100
|
+
}
|
|
179101
|
+
function reconcileTerminalWorkspaces(validWorkspaceIds, activeWorkspaceId) {
|
|
179102
|
+
const cache = getCache();
|
|
179103
|
+
for (const [id28, entry] of cache) {
|
|
179104
|
+
if (!validWorkspaceIds.has(entry.workspaceId) && entry.workspaceId !== activeWorkspaceId) {
|
|
179105
|
+
cache.delete(id28);
|
|
179106
|
+
entry._destroy();
|
|
179107
|
+
}
|
|
179108
|
+
}
|
|
179109
|
+
}
|
|
177983
179110
|
const states = /* @__PURE__ */ new Map();
|
|
177984
179111
|
const listeners = /* @__PURE__ */ new Map();
|
|
177985
179112
|
const EMPTY_STATE = Object.freeze({ openFilePath: null });
|
|
@@ -178076,6 +179203,7 @@ function MultiWorkspacePanelHost({ emptyState, children: children2 }) {
|
|
|
178076
179203
|
validIds.add(toWorkspaceId(project.name, worktree.name));
|
|
178077
179204
|
}
|
|
178078
179205
|
}
|
|
179206
|
+
reconcileTerminalWorkspaces(validIds, activeWorkspaceId);
|
|
178079
179207
|
setCache((prev2) => {
|
|
178080
179208
|
let hasStale = false;
|
|
178081
179209
|
for (const id28 of prev2.keys()) {
|
|
@@ -201718,12 +202846,12 @@ const PANEL_SHORTCUTS = {
|
|
|
201718
202846
|
browser: "⇧⌘B"
|
|
201719
202847
|
};
|
|
201720
202848
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
201721
|
-
() => import("./DockviewTerminalContainer-
|
|
202849
|
+
() => import("./DockviewTerminalContainer-CTJJUByH.js").then((m2) => ({
|
|
201722
202850
|
default: m2.DockviewTerminalContainer
|
|
201723
202851
|
}))
|
|
201724
202852
|
);
|
|
201725
202853
|
const DockviewBrowserContainer = reactExports.lazy(
|
|
201726
|
-
() => import("./DockviewBrowserContainer-
|
|
202854
|
+
() => import("./DockviewBrowserContainer-NHSxR-nz.js").then((m2) => ({
|
|
201727
202855
|
default: m2.DockviewBrowserContainer
|
|
201728
202856
|
}))
|
|
201729
202857
|
);
|
|
@@ -202936,80 +204064,6 @@ function useNavigationHistory(routerNavigate, capabilities2) {
|
|
|
202936
204064
|
canGoForward: history2.cursor >= 0 && history2.cursor < history2.stack.length - 1
|
|
202937
204065
|
};
|
|
202938
204066
|
}
|
|
202939
|
-
const ZOOM_LEVEL_KEY = "band:zoom-level";
|
|
202940
|
-
const DEFAULT_ZOOM = 1;
|
|
202941
|
-
const MIN_ZOOM = 0.5;
|
|
202942
|
-
const MAX_ZOOM = 2;
|
|
202943
|
-
const ZOOM_STEP = 0.1;
|
|
202944
|
-
const ZOOM_CSS_VAR = "--app-zoom";
|
|
202945
|
-
const ZOOM_CHANGE_EVENT = "band:zoom-changed";
|
|
202946
|
-
function loadZoomLevel() {
|
|
202947
|
-
try {
|
|
202948
|
-
const stored = localStorage.getItem(ZOOM_LEVEL_KEY);
|
|
202949
|
-
if (stored) {
|
|
202950
|
-
const parsed = Number.parseFloat(stored);
|
|
202951
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
202952
|
-
return parsed;
|
|
202953
|
-
}
|
|
202954
|
-
}
|
|
202955
|
-
} catch {
|
|
202956
|
-
}
|
|
202957
|
-
return DEFAULT_ZOOM;
|
|
202958
|
-
}
|
|
202959
|
-
function saveZoomLevel(level) {
|
|
202960
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
202961
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
202962
|
-
try {
|
|
202963
|
-
localStorage.setItem(ZOOM_LEVEL_KEY, String(rounded));
|
|
202964
|
-
} catch {
|
|
202965
|
-
}
|
|
202966
|
-
}
|
|
202967
|
-
function applyZoomLevelToDom(level) {
|
|
202968
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
202969
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
202970
|
-
const root2 = document.documentElement;
|
|
202971
|
-
root2.style.zoom = String(rounded);
|
|
202972
|
-
root2.style.setProperty(ZOOM_CSS_VAR, String(rounded));
|
|
202973
|
-
window.dispatchEvent(new CustomEvent(ZOOM_CHANGE_EVENT, { detail: rounded }));
|
|
202974
|
-
return rounded;
|
|
202975
|
-
}
|
|
202976
|
-
function applyZoomLevel(level) {
|
|
202977
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
202978
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
202979
|
-
saveZoomLevel(rounded);
|
|
202980
|
-
applyZoomLevelToDom(rounded);
|
|
202981
|
-
}
|
|
202982
|
-
function getCurrentZoomLevel() {
|
|
202983
|
-
if (typeof document !== "undefined") {
|
|
202984
|
-
const css = document.documentElement.style.getPropertyValue(ZOOM_CSS_VAR);
|
|
202985
|
-
if (css) {
|
|
202986
|
-
const parsed = Number.parseFloat(css);
|
|
202987
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
202988
|
-
return parsed;
|
|
202989
|
-
}
|
|
202990
|
-
}
|
|
202991
|
-
}
|
|
202992
|
-
return loadZoomLevel();
|
|
202993
|
-
}
|
|
202994
|
-
function subscribeToZoomChanges(handler) {
|
|
202995
|
-
if (typeof window === "undefined") return () => {
|
|
202996
|
-
};
|
|
202997
|
-
const listener2 = (e3) => {
|
|
202998
|
-
const detail = e3.detail;
|
|
202999
|
-
if (typeof detail === "number") handler(detail);
|
|
203000
|
-
};
|
|
203001
|
-
window.addEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203002
|
-
return () => window.removeEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203003
|
-
}
|
|
203004
|
-
function zoomIn() {
|
|
203005
|
-
applyZoomLevel(loadZoomLevel() + ZOOM_STEP);
|
|
203006
|
-
}
|
|
203007
|
-
function zoomOut() {
|
|
203008
|
-
applyZoomLevel(loadZoomLevel() - ZOOM_STEP);
|
|
203009
|
-
}
|
|
203010
|
-
function zoomReset() {
|
|
203011
|
-
applyZoomLevel(DEFAULT_ZOOM);
|
|
203012
|
-
}
|
|
203013
204067
|
function useZoom() {
|
|
203014
204068
|
reactExports.useEffect(() => {
|
|
203015
204069
|
if (isDesktop) return;
|
|
@@ -203480,12 +204534,12 @@ function RootLayout() {
|
|
|
203480
204534
|
] })
|
|
203481
204535
|
] });
|
|
203482
204536
|
}
|
|
203483
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
204537
|
+
const $$splitComponentImporter$1 = () => import("./index-C6mmT4Bf.js");
|
|
203484
204538
|
const Route$1 = createFileRoute("/")({
|
|
203485
204539
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
203486
204540
|
});
|
|
203487
|
-
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-
|
|
203488
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId-
|
|
204541
|
+
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-BK83HsBK.js");
|
|
204542
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId-DEWHh9LI.js");
|
|
203489
204543
|
const Route2 = createFileRoute("/workspace/$workspaceId")({
|
|
203490
204544
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
203491
204545
|
// Bookmarks / shared links from before route unification (`/workspace/$id/changes`,
|
|
@@ -203527,288 +204581,285 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
203527
204581
|
getRouter
|
|
203528
204582
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
203529
204583
|
export {
|
|
203530
|
-
|
|
203531
|
-
|
|
203532
|
-
|
|
204584
|
+
assignWithDepth_default as $,
|
|
204585
|
+
DockviewReact as A,
|
|
204586
|
+
Rows2 as B,
|
|
203533
204587
|
Columns2 as C,
|
|
203534
204588
|
DefaultBufferLength as D,
|
|
203535
|
-
|
|
203536
|
-
|
|
203537
|
-
|
|
203538
|
-
|
|
204589
|
+
Plus as E,
|
|
204590
|
+
usePanelVisibility as F,
|
|
204591
|
+
cycleTabsInActiveGroup as G,
|
|
204592
|
+
cycleGridGroups as H,
|
|
203539
204593
|
IterMode as I,
|
|
203540
|
-
|
|
204594
|
+
R$4 as J,
|
|
203541
204595
|
Ks as K,
|
|
203542
204596
|
LanguageSupport as L,
|
|
203543
|
-
|
|
204597
|
+
setAccDescription as M,
|
|
203544
204598
|
Nt as N,
|
|
203545
|
-
|
|
204599
|
+
getAccDescription as O,
|
|
203546
204600
|
Parser$2 as P,
|
|
203547
204601
|
Qe$1 as Q,
|
|
203548
204602
|
Route2 as R,
|
|
203549
|
-
|
|
204603
|
+
getAccTitle as S,
|
|
203550
204604
|
Tree as T,
|
|
203551
|
-
|
|
203552
|
-
|
|
203553
|
-
|
|
204605
|
+
setAccTitle as U,
|
|
204606
|
+
getConfig2 as V,
|
|
204607
|
+
select as W,
|
|
203554
204608
|
X$7 as X,
|
|
203555
|
-
|
|
203556
|
-
|
|
204609
|
+
log$1 as Y,
|
|
204610
|
+
configureSvgSize as Z,
|
|
203557
204611
|
__name as _,
|
|
203558
204612
|
Navigate as a,
|
|
203559
|
-
|
|
203560
|
-
|
|
203561
|
-
|
|
203562
|
-
|
|
203563
|
-
|
|
203564
|
-
|
|
203565
|
-
|
|
203566
|
-
|
|
203567
|
-
|
|
203568
|
-
|
|
203569
|
-
|
|
203570
|
-
|
|
203571
|
-
|
|
203572
|
-
|
|
203573
|
-
|
|
203574
|
-
|
|
203575
|
-
|
|
203576
|
-
|
|
203577
|
-
|
|
203578
|
-
|
|
203579
|
-
|
|
203580
|
-
|
|
203581
|
-
|
|
203582
|
-
|
|
203583
|
-
|
|
203584
|
-
|
|
203585
|
-
|
|
203586
|
-
|
|
203587
|
-
|
|
203588
|
-
|
|
203589
|
-
|
|
203590
|
-
|
|
203591
|
-
|
|
203592
|
-
|
|
203593
|
-
|
|
203594
|
-
|
|
203595
|
-
|
|
203596
|
-
|
|
203597
|
-
|
|
203598
|
-
|
|
203599
|
-
|
|
203600
|
-
|
|
203601
|
-
|
|
203602
|
-
|
|
203603
|
-
|
|
203604
|
-
|
|
203605
|
-
|
|
203606
|
-
|
|
203607
|
-
|
|
203608
|
-
|
|
203609
|
-
|
|
203610
|
-
|
|
203611
|
-
|
|
203612
|
-
|
|
203613
|
-
|
|
203614
|
-
|
|
203615
|
-
|
|
203616
|
-
|
|
203617
|
-
|
|
203618
|
-
|
|
203619
|
-
|
|
203620
|
-
|
|
203621
|
-
|
|
203622
|
-
|
|
204613
|
+
commonDb_exports as a$,
|
|
204614
|
+
calculateTextWidth as a0,
|
|
204615
|
+
sanitizeText as a1,
|
|
204616
|
+
distExports as a2,
|
|
204617
|
+
wrapLabel as a3,
|
|
204618
|
+
common_default as a4,
|
|
204619
|
+
calculateTextHeight as a5,
|
|
204620
|
+
lineBreakRegex as a6,
|
|
204621
|
+
setConfig2 as a7,
|
|
204622
|
+
getRegisteredLayoutAlgorithm as a8,
|
|
204623
|
+
render$1 as a9,
|
|
204624
|
+
min as aA,
|
|
204625
|
+
abs$1 as aB,
|
|
204626
|
+
pi as aC,
|
|
204627
|
+
sqrt as aD,
|
|
204628
|
+
atan2 as aE,
|
|
204629
|
+
constant$1 as aF,
|
|
204630
|
+
asin as aG,
|
|
204631
|
+
acos as aH,
|
|
204632
|
+
max as aI,
|
|
204633
|
+
linear as aJ,
|
|
204634
|
+
getThemeVariables3 as aK,
|
|
204635
|
+
band as aL,
|
|
204636
|
+
computeDimensionOfText as aM,
|
|
204637
|
+
line$1 as aN,
|
|
204638
|
+
hasKatex as aO,
|
|
204639
|
+
calculateMathMLDimensions as aP,
|
|
204640
|
+
parseFontSize as aQ,
|
|
204641
|
+
ZERO_WIDTH_SPACE as aR,
|
|
204642
|
+
getUrl as aS,
|
|
204643
|
+
renderKatexSanitized as aT,
|
|
204644
|
+
parseGenericTypes as aU,
|
|
204645
|
+
curveBasis as aV,
|
|
204646
|
+
generateId as aW,
|
|
204647
|
+
setupGraphViewbox as aX,
|
|
204648
|
+
isDark as aY,
|
|
204649
|
+
lighten as aZ,
|
|
204650
|
+
darken as a_,
|
|
204651
|
+
utils_default as aa,
|
|
204652
|
+
setDiagramTitle as ab,
|
|
204653
|
+
getDiagramTitle as ac,
|
|
204654
|
+
load as ad,
|
|
204655
|
+
JSON_SCHEMA as ae,
|
|
204656
|
+
isValidShape as af,
|
|
204657
|
+
getEdgeId as ag,
|
|
204658
|
+
clear$2 as ah,
|
|
204659
|
+
defaultConfig2 as ai,
|
|
204660
|
+
rgba$1 as aj,
|
|
204661
|
+
Utils as ak,
|
|
204662
|
+
Color$1 as al,
|
|
204663
|
+
__export$1 as am,
|
|
204664
|
+
setupGraphViewbox2 as an,
|
|
204665
|
+
cleanAndMerge as ao,
|
|
204666
|
+
defaultConfig_default as ap,
|
|
204667
|
+
getConfig as aq,
|
|
204668
|
+
random as ar,
|
|
204669
|
+
selectSvgElement as as,
|
|
204670
|
+
package_default as at,
|
|
204671
|
+
withPath as au,
|
|
204672
|
+
halfPi as av,
|
|
204673
|
+
epsilon as aw,
|
|
204674
|
+
tau as ax,
|
|
204675
|
+
cos as ay,
|
|
204676
|
+
sin as az,
|
|
203623
204677
|
LRLanguage as b,
|
|
203624
|
-
|
|
203625
|
-
|
|
203626
|
-
|
|
203627
|
-
|
|
203628
|
-
|
|
203629
|
-
|
|
203630
|
-
|
|
203631
|
-
|
|
203632
|
-
|
|
203633
|
-
|
|
203634
|
-
|
|
203635
|
-
|
|
203636
|
-
|
|
203637
|
-
|
|
203638
|
-
clear
|
|
203639
|
-
|
|
203640
|
-
|
|
203641
|
-
|
|
203642
|
-
|
|
203643
|
-
|
|
203644
|
-
|
|
203645
|
-
|
|
203646
|
-
|
|
203647
|
-
|
|
203648
|
-
|
|
203649
|
-
|
|
203650
|
-
|
|
203651
|
-
|
|
203652
|
-
|
|
203653
|
-
|
|
203654
|
-
|
|
203655
|
-
|
|
203656
|
-
|
|
203657
|
-
|
|
203658
|
-
|
|
203659
|
-
|
|
203660
|
-
|
|
203661
|
-
|
|
203662
|
-
|
|
203663
|
-
|
|
203664
|
-
|
|
203665
|
-
|
|
203666
|
-
|
|
203667
|
-
|
|
203668
|
-
|
|
203669
|
-
|
|
203670
|
-
|
|
203671
|
-
|
|
203672
|
-
|
|
203673
|
-
|
|
203674
|
-
|
|
203675
|
-
|
|
203676
|
-
|
|
203677
|
-
|
|
203678
|
-
|
|
203679
|
-
|
|
203680
|
-
|
|
203681
|
-
|
|
203682
|
-
|
|
203683
|
-
|
|
203684
|
-
|
|
203685
|
-
|
|
203686
|
-
|
|
203687
|
-
|
|
204678
|
+
Close as b$,
|
|
204679
|
+
insertCluster as b0,
|
|
204680
|
+
insertNode as b1,
|
|
204681
|
+
positionNode as b2,
|
|
204682
|
+
getLineFunctionsWithOffset as b3,
|
|
204683
|
+
evaluate as b4,
|
|
204684
|
+
createText as b5,
|
|
204685
|
+
getSubGraphTitleMargins as b6,
|
|
204686
|
+
replaceIconSubstring as b7,
|
|
204687
|
+
decodeEntities as b8,
|
|
204688
|
+
getStylesFromArray as b9,
|
|
204689
|
+
isEmpty as bA,
|
|
204690
|
+
markers_default as bB,
|
|
204691
|
+
clear2 as bC,
|
|
204692
|
+
clear as bD,
|
|
204693
|
+
clear$1 as bE,
|
|
204694
|
+
updateNodeBounds as bF,
|
|
204695
|
+
setNodeElem as bG,
|
|
204696
|
+
insertEdge as bH,
|
|
204697
|
+
positionEdgeLabel as bI,
|
|
204698
|
+
insertEdgeLabel as bJ,
|
|
204699
|
+
loadSidebarWidth as bK,
|
|
204700
|
+
saveSidebarWidth as bL,
|
|
204701
|
+
Ut$1 as bM,
|
|
204702
|
+
Yt$1 as bN,
|
|
204703
|
+
SIDEBAR_MAX_SIZE as bO,
|
|
204704
|
+
SIDEBAR_MIN_SIZE as bP,
|
|
204705
|
+
DashboardShell as bQ,
|
|
204706
|
+
Qt$1 as bR,
|
|
204707
|
+
MessageSquare as bS,
|
|
204708
|
+
useIsDesktop as bT,
|
|
204709
|
+
ToolbarOverflowProvider as bU,
|
|
204710
|
+
ToolbarActionBar as bV,
|
|
204711
|
+
isDesktop as bW,
|
|
204712
|
+
array$2 as bX,
|
|
204713
|
+
ordinal as bY,
|
|
204714
|
+
Root$5 as bZ,
|
|
204715
|
+
Content$1 as b_,
|
|
204716
|
+
delimitedIndent as ba,
|
|
204717
|
+
NodeWeakMap as bb,
|
|
204718
|
+
snippetCompletion as bc,
|
|
204719
|
+
Tag as bd,
|
|
204720
|
+
parseMixed as be,
|
|
204721
|
+
EditorSelection as bf,
|
|
204722
|
+
countColumn as bg,
|
|
204723
|
+
Prec as bh,
|
|
204724
|
+
keymap as bi,
|
|
204725
|
+
EditorView as bj,
|
|
204726
|
+
Language as bk,
|
|
204727
|
+
indentUnit as bl,
|
|
204728
|
+
foldService as bm,
|
|
204729
|
+
defineLanguageFacet as bn,
|
|
204730
|
+
CompletionContext as bo,
|
|
204731
|
+
EditorState as bp,
|
|
204732
|
+
languageDataProp as bq,
|
|
204733
|
+
LanguageDescription as br,
|
|
204734
|
+
ParseContext as bs,
|
|
204735
|
+
bracketMatchingHandle as bt,
|
|
204736
|
+
flatIndent as bu,
|
|
204737
|
+
sublanguageProp as bv,
|
|
204738
|
+
baseRest as bw,
|
|
204739
|
+
isArrayLikeObject$1 as bx,
|
|
204740
|
+
constant as by,
|
|
204741
|
+
isFunction$1 as bz,
|
|
203688
204742
|
continuedIndent as c,
|
|
203689
|
-
|
|
203690
|
-
|
|
203691
|
-
|
|
203692
|
-
|
|
203693
|
-
|
|
203694
|
-
|
|
203695
|
-
|
|
203696
|
-
|
|
203697
|
-
|
|
203698
|
-
|
|
203699
|
-
|
|
203700
|
-
|
|
203701
|
-
|
|
203702
|
-
|
|
203703
|
-
|
|
203704
|
-
|
|
203705
|
-
|
|
203706
|
-
|
|
203707
|
-
|
|
203708
|
-
|
|
203709
|
-
|
|
203710
|
-
|
|
203711
|
-
|
|
203712
|
-
|
|
203713
|
-
|
|
203714
|
-
|
|
203715
|
-
|
|
203716
|
-
|
|
203717
|
-
|
|
203718
|
-
|
|
203719
|
-
|
|
203720
|
-
|
|
203721
|
-
|
|
203722
|
-
|
|
203723
|
-
|
|
203724
|
-
|
|
203725
|
-
|
|
203726
|
-
|
|
203727
|
-
|
|
203728
|
-
|
|
203729
|
-
|
|
203730
|
-
|
|
203731
|
-
|
|
203732
|
-
|
|
203733
|
-
|
|
203734
|
-
|
|
203735
|
-
|
|
203736
|
-
|
|
203737
|
-
|
|
203738
|
-
|
|
203739
|
-
|
|
203740
|
-
|
|
203741
|
-
|
|
203742
|
-
|
|
203743
|
-
|
|
203744
|
-
|
|
203745
|
-
|
|
203746
|
-
|
|
203747
|
-
|
|
203748
|
-
|
|
203749
|
-
|
|
203750
|
-
|
|
203751
|
-
|
|
203752
|
-
|
|
204743
|
+
timeSunday as c$,
|
|
204744
|
+
cn$2 as c0,
|
|
204745
|
+
Title as c1,
|
|
204746
|
+
Description as c2,
|
|
204747
|
+
Portal$4 as c3,
|
|
204748
|
+
Overlay$1 as c4,
|
|
204749
|
+
GitCompare as c5,
|
|
204750
|
+
FolderOpen as c6,
|
|
204751
|
+
useDashboardStore as c7,
|
|
204752
|
+
DesktopDragRegion as c8,
|
|
204753
|
+
Menu$1 as c9,
|
|
204754
|
+
reactDomExports as cA,
|
|
204755
|
+
Globe as cB,
|
|
204756
|
+
Popover as cC,
|
|
204757
|
+
PopoverTrigger as cD,
|
|
204758
|
+
PopoverContent as cE,
|
|
204759
|
+
Search as cF,
|
|
204760
|
+
Trash2 as cG,
|
|
204761
|
+
DropdownMenu as cH,
|
|
204762
|
+
DropdownMenuTrigger as cI,
|
|
204763
|
+
ChevronDown as cJ,
|
|
204764
|
+
DropdownMenuContent as cK,
|
|
204765
|
+
DropdownMenuItem as cL,
|
|
204766
|
+
TriangleAlert as cM,
|
|
204767
|
+
RotateCw as cN,
|
|
204768
|
+
Rgb as cO,
|
|
204769
|
+
rgbConvert as cP,
|
|
204770
|
+
define as cQ,
|
|
204771
|
+
extend$2 as cR,
|
|
204772
|
+
Color as cS,
|
|
204773
|
+
nogamma as cT,
|
|
204774
|
+
hue as cU,
|
|
204775
|
+
time$2 as cV,
|
|
204776
|
+
min$1 as cW,
|
|
204777
|
+
max$1 as cX,
|
|
204778
|
+
dayjs2 as cY,
|
|
204779
|
+
timeFormat as cZ,
|
|
204780
|
+
timeMonth as c_,
|
|
204781
|
+
ChevronsUpDown as ca,
|
|
204782
|
+
DiffView as cb,
|
|
204783
|
+
CodeBrowserView as cc,
|
|
204784
|
+
QuickOpenDialog as cd,
|
|
204785
|
+
SearchFilesDialog as ce,
|
|
204786
|
+
WorkspacePickerDialog as cf,
|
|
204787
|
+
useDiffTarget as cg,
|
|
204788
|
+
useSettingsQuery as ch,
|
|
204789
|
+
agentTypeSupportsSessionListing as ci,
|
|
204790
|
+
ChatView as cj,
|
|
204791
|
+
getUserDefinedConfig as ck,
|
|
204792
|
+
writeClipboardText as cl,
|
|
204793
|
+
readClipboardText as cm,
|
|
204794
|
+
ArrowLeft as cn,
|
|
204795
|
+
ArrowUp as co,
|
|
204796
|
+
ArrowDown as cp,
|
|
204797
|
+
ArrowRight as cq,
|
|
204798
|
+
ClipboardCopy as cr,
|
|
204799
|
+
ClipboardPaste as cs,
|
|
204800
|
+
getOrCreateTerminal as ct,
|
|
204801
|
+
SearchBar as cu,
|
|
204802
|
+
getIconSVG as cv,
|
|
204803
|
+
registerIconPacks as cw,
|
|
204804
|
+
unknownIcon as cx,
|
|
204805
|
+
invoke as cy,
|
|
204806
|
+
listen as cz,
|
|
203753
204807
|
foldInside as d,
|
|
203754
|
-
|
|
203755
|
-
|
|
203756
|
-
|
|
203757
|
-
|
|
203758
|
-
|
|
203759
|
-
|
|
203760
|
-
|
|
203761
|
-
|
|
203762
|
-
|
|
203763
|
-
|
|
203764
|
-
|
|
203765
|
-
|
|
203766
|
-
|
|
203767
|
-
|
|
203768
|
-
|
|
203769
|
-
|
|
203770
|
-
|
|
203771
|
-
|
|
203772
|
-
|
|
203773
|
-
|
|
203774
|
-
|
|
203775
|
-
|
|
203776
|
-
|
|
203777
|
-
|
|
203778
|
-
|
|
203779
|
-
|
|
203780
|
-
|
|
203781
|
-
|
|
203782
|
-
|
|
203783
|
-
|
|
203784
|
-
|
|
203785
|
-
|
|
203786
|
-
|
|
203787
|
-
|
|
203788
|
-
|
|
203789
|
-
|
|
203790
|
-
|
|
203791
|
-
|
|
203792
|
-
|
|
203793
|
-
|
|
203794
|
-
|
|
203795
|
-
|
|
203796
|
-
|
|
203797
|
-
|
|
203798
|
-
|
|
203799
|
-
|
|
203800
|
-
|
|
203801
|
-
|
|
203802
|
-
|
|
203803
|
-
|
|
203804
|
-
|
|
203805
|
-
|
|
203806
|
-
|
|
203807
|
-
|
|
203808
|
-
|
|
203809
|
-
isObjectLike$1 as dx,
|
|
203810
|
-
baseGetTag as dy,
|
|
203811
|
-
Symbol$1 as dz,
|
|
204808
|
+
timeSaturday as d0,
|
|
204809
|
+
timeFriday as d1,
|
|
204810
|
+
timeThursday as d2,
|
|
204811
|
+
timeWednesday as d3,
|
|
204812
|
+
timeTuesday as d4,
|
|
204813
|
+
timeMonday as d5,
|
|
204814
|
+
timeDay as d6,
|
|
204815
|
+
timeHour as d7,
|
|
204816
|
+
timeMinute as d8,
|
|
204817
|
+
second as d9,
|
|
204818
|
+
isArguments$1 as dA,
|
|
204819
|
+
copyObject as dB,
|
|
204820
|
+
getPrototype as dC,
|
|
204821
|
+
cloneArrayBuffer as dD,
|
|
204822
|
+
cloneTypedArray as dE,
|
|
204823
|
+
getTag$1 as dF,
|
|
204824
|
+
nodeUtil as dG,
|
|
204825
|
+
copyArray as dH,
|
|
204826
|
+
isBuffer$1 as dI,
|
|
204827
|
+
cloneBuffer as dJ,
|
|
204828
|
+
initCloneObject as dK,
|
|
204829
|
+
Stack as dL,
|
|
204830
|
+
MapCache as dM,
|
|
204831
|
+
Uint8Array$1 as dN,
|
|
204832
|
+
isTypedArray$1 as dO,
|
|
204833
|
+
isLength$1 as dP,
|
|
204834
|
+
Set$1 as dQ,
|
|
204835
|
+
createAssigner as dR,
|
|
204836
|
+
isPrototype as dS,
|
|
204837
|
+
router as dT,
|
|
204838
|
+
millisecond as da,
|
|
204839
|
+
isObject$2 as db,
|
|
204840
|
+
isIterateeCall$1 as dc,
|
|
204841
|
+
keysIn as dd,
|
|
204842
|
+
eq as de,
|
|
204843
|
+
isArrayLike$1 as df,
|
|
204844
|
+
isArray$1 as dg,
|
|
204845
|
+
identity$1 as dh,
|
|
204846
|
+
isIndex$1 as di,
|
|
204847
|
+
assignValue as dj,
|
|
204848
|
+
format as dk,
|
|
204849
|
+
styles2String as dl,
|
|
204850
|
+
isLabelStyle as dm,
|
|
204851
|
+
setToString as dn,
|
|
204852
|
+
overRest as dp,
|
|
204853
|
+
baseFor as dq,
|
|
204854
|
+
baseAssignValue as dr,
|
|
204855
|
+
baseUnary as ds,
|
|
204856
|
+
merge$1 as dt,
|
|
204857
|
+
isObjectLike$1 as du,
|
|
204858
|
+
baseGetTag as dv,
|
|
204859
|
+
Symbol$1 as dw,
|
|
204860
|
+
arrayLikeKeys as dx,
|
|
204861
|
+
baseKeys as dy,
|
|
204862
|
+
memoize as dz,
|
|
203812
204863
|
ifNotIn as e,
|
|
203813
204864
|
foldNodeProp as f,
|
|
203814
204865
|
completeFromList as g,
|
|
@@ -203822,13 +204873,13 @@ export {
|
|
|
203822
204873
|
useQuery as o,
|
|
203823
204874
|
trpc as p,
|
|
203824
204875
|
selectNeighbourBeforeRemove as q,
|
|
203825
|
-
|
|
204876
|
+
disposeTerminal as r,
|
|
203826
204877
|
styleTags as s,
|
|
203827
204878
|
tags$1 as t,
|
|
203828
204879
|
useAdapter as u,
|
|
203829
|
-
|
|
203830
|
-
|
|
203831
|
-
|
|
203832
|
-
|
|
203833
|
-
|
|
204880
|
+
centralPanelPosition as v,
|
|
204881
|
+
ensureEdgeGroups as w,
|
|
204882
|
+
attachEdgeGroupDragVisibility as x,
|
|
204883
|
+
registerInnerDockview as y,
|
|
204884
|
+
PanelVisibilityContext as z
|
|
203834
204885
|
};
|