@band-app/server 0.24.1 → 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-pecXom0M.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-CtbD70T-.js → _basePickBy-WSEGU-48.js} +1 -1
- package/dist/client/assets/_baseUniq-CISSY9JU.js +1 -0
- package/dist/client/assets/{arc-BEzsE6TU.js → arc-EYeeggGP.js} +1 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-auNzMJHs.js +36 -0
- package/dist/client/assets/{blockDiagram-VD42YOAC-CVv0vV-s.js → blockDiagram-VD42YOAC-BAxIVlzi.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-W3bslfZm.js → c4Diagram-YG6GDRKO-BRGunjEV.js} +1 -1
- package/dist/client/assets/channel-mz7YKOQ7.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-B4zNuPCM.js → chunk-4BX2VUAB-DD1K7aO0.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-CJb5GOdO.js → chunk-55IACEB6-xhCYxBKG.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-m9UNdA4H.js → chunk-B4BG7PRW-BRcHAc7V.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-Dyl4ba3F.js → chunk-DI55MBZ5-C5AoviQd.js} +3 -3
- package/dist/client/assets/{chunk-FMBD7UC4-Ds1gRx94.js → chunk-FMBD7UC4-CelHUigz.js} +1 -1
- package/dist/client/assets/chunk-QN33PNHL-nQBPkq6v.js +1 -0
- package/dist/client/assets/{chunk-QZHKN3VN-BiZtPmD0.js → chunk-QZHKN3VN-IXkzzmtV.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-DCz64hjM.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-WnEcSFDk.js → erDiagram-Q2GNP2WA-B1PLdIwn.js} +3 -3
- package/dist/client/assets/{flowDiagram-NV44I4VS-BONBJZ3h.js → flowDiagram-NV44I4VS-C5YhU0Qh.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-BDhpQL_t.js → ganttDiagram-JELNMOA3-CT-ZyTN-.js} +3 -3
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-BJOR_jnq.js +65 -0
- package/dist/client/assets/{graph-DmGEXolJ.js → graph-pEXzxzGm.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-m0iS7EC3.js → highlighted-body-B3W2YXNL-DkAr8YBH.js} +1 -1
- package/dist/client/assets/{index-BBy73G4g.js → index-3n8Vw-Mx.js} +1 -1
- package/dist/client/assets/{index-CFnCbQSl.js → index-BGzaO0X8.js} +1 -1
- package/dist/client/assets/{index-B-4gD4iz.js → index-BTh70HvG.js} +1 -1
- package/dist/client/assets/{index-3O6bsWX3.js → index-Bc4l--Pr.js} +1 -1
- package/dist/client/assets/{index-CDJOOMr2.js → index-BrhTwhg3.js} +1 -1
- package/dist/client/assets/{index-B102sYPH.js → index-Bsj04x6y.js} +1 -1
- package/dist/client/assets/{index-Dmse4WDP.js → index-BtupbjWj.js} +1 -1
- package/dist/client/assets/{index-DBnjKdGf.js → index-BvTVbNia.js} +1 -1
- package/dist/client/assets/{index-BoLCZb5I.js → index-C-44kyj4.js} +1 -1
- package/dist/client/assets/{index-0oNHljPn.js → index-CUvVSQUr.js} +1 -1
- package/dist/client/assets/{index-BMTzG2fm.js → index-CjLUJG6j.js} +1 -1
- package/dist/client/assets/{index-DgEnCq6K.js → index-Cy1ivKKB.js} +1 -1
- package/dist/client/assets/{index-C46YYuZo.js → index-DW-oXjA-.js} +1 -1
- package/dist/client/assets/{index-CiKuHiO0.js → index-DrAxRehm.js} +1 -1
- package/dist/client/assets/{index-BpxKDn01.js → index-DvKArr4F.js} +1 -1
- package/dist/client/assets/{index-BvzISRCa.js → index-abHZx3iS.js} +2 -2
- package/dist/client/assets/{index-CfW6UcUl.js → index-kS9W4-gd.js} +1 -1
- package/dist/client/assets/{index-D6Afu1pA.js → index-unEuBThJ.js} +1 -1
- package/dist/client/assets/infoDiagram-HS3SLOUP-BFYSEig3.js +2 -0
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Dlf8x32q.js → journeyDiagram-XKPGCS4Q-BxYsQaMT.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-BVJThDju.js → kanban-definition-3W4ZIXB7-Bv-pDWZ-.js} +1 -1
- package/dist/client/assets/{layout-CbZgayJn.js → layout-B77NnSO1.js} +1 -1
- package/dist/client/assets/{main-RztHx-sU.js → main-5cZqr4FX.js} +226 -219
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-C4kJ6VHG.js → mindmap-definition-VGOIOE7T-CgxHuURf.js} +3 -3
- package/dist/client/assets/pieDiagram-ADFJNKIX-DMT2s9he.js +30 -0
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-Bec9Hhh2.js → quadrantDiagram-AYHSOK5B-BXabhtC0.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-CsOubtSM.js → requirementDiagram-UZGBJVZJ-DTW7rlcB.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-C8Gm96t1.js → sankeyDiagram-TZEHDZUN-BcCwFhUF.js} +5 -5
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-Bvgi8x7V.js → sequenceDiagram-WL72ISMW-pM8Di5We.js} +6 -6
- package/dist/client/assets/{square-terminal-BHkrAD3A.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-BNBrcAuE.js → timeline-definition-IT6M3QCI-B528DtkS.js} +3 -3
- package/dist/client/assets/{treemap-GDKQZRPO-Dt5TrQzS.js → treemap-GDKQZRPO-CSzjIbPP.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-Cx9WUFHK.js → workspace._workspaceId-CDQS6YxL.js} +2 -2
- package/dist/client/assets/{workspace._workspaceId-DGQl6asL.js → workspace._workspaceId-DlHLgF3G.js} +1 -1
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-BbVpQ6GU.js → xychartDiagram-PRI3JC2R-CZehTq19.js} +2 -2
- package/dist/server/assets/{DockviewBrowserContainer-BDsafKFK.js → DockviewBrowserContainer-NHSxR-nz.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-CMbrr8wZ.js → DockviewTerminalContainer-CTJJUByH.js} +5 -3
- package/dist/server/assets/TerminalPanel-BiNP-nsL.js +425 -0
- package/dist/server/assets/{_basePickBy-ljLFy5Cm.js → _basePickBy-C563KIXw.js} +2 -2
- package/dist/server/assets/{_baseUniq-DQmNpetJ.js → _baseUniq-d93HSS0F.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-v9ri0NYD.js → _tanstack-start-manifest_v-D7mA2JWN.js} +1 -1
- package/dist/server/assets/{arc-KHCw-8vd.js → arc-jtTutH-i.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-BScKJqpc.js → architecture-7HQA4BMR-DQzLgw80.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ-T9CAFBo1.js → architectureDiagram-VXUJARFQ-DrNJMIEJ.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-BKZ2vg7U.js → blockDiagram-VD42YOAC-WUFdSkGk.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-D585k1An.js → c4Diagram-YG6GDRKO-B3FexEXR.js} +2 -2
- package/dist/server/assets/{channel-CyG4ozZq.js → channel-CGY9wImP.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-BHWbP2Lt.js → chunk-4BX2VUAB-DWhvAfOu.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-CrerCu6v.js → chunk-55IACEB6-D9KMaGKQ.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-D3sl50Aa.js → chunk-B4BG7PRW-Bdi0b8I3.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-DR6gThvq.js → chunk-DI55MBZ5-CvFVKOgG.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-Cil9b1Ts.js → chunk-FMBD7UC4-CEf8TJeK.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-BAKy9Ygg.js → chunk-QN33PNHL-CmOqP24j.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-G4fU4Ucn.js → chunk-QZHKN3VN-uFFM4Cjm.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-LzSrmWV5.js → chunk-TZMSLE5B-DH8QxQUD.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-Ds7CCTUR.js → classDiagram-2ON5EDUG-Dr94MNeD.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-Ds7CCTUR.js → classDiagram-v2-WZHVMYZB-Dr94MNeD.js} +5 -5
- package/dist/server/assets/{clone-B4KVJdwD.js → clone-DESSLwZZ.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-DaKuQRAN.js → cose-bilkent-S5V4N54A-B-Bym2R2.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-CNIyd6rH.js → dagre-6UL2VRFP-CJdhKZlX.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-ByElNwdP.js → diagram-PSM6KHXK-Bku5j6_i.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-Bpupf8hI.js → diagram-QEK2KX5R-CUdsg8PG.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-CSa3a_oJ.js → diagram-S2PKOQOG-DfZmENnB.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-B3yUU2uu.js → erDiagram-Q2GNP2WA-DgXGwPJi.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-CUlvxSwr.js → flowDiagram-NV44I4VS-CCKE-dcR.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-BWxUm4vA.js → ganttDiagram-JELNMOA3-Df1I84HD.js} +1 -1
- package/dist/server/assets/{gitGraph-G5XIXVHT-DexlvPgJ.js → gitGraph-G5XIXVHT-Da1EJY5L.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-CepF7ieg.js → gitGraphDiagram-V2S2FVAM-BoLIFjNj.js} +7 -7
- package/dist/server/assets/{graph-BB3rQyk7.js → graph-CzqmmHH7.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-CktYi1nO.js → highlighted-body-B3W2YXNL-D44laf8J.js} +1 -1
- package/dist/server/assets/{index-BDqHa1DL.js → index-B-dHru1q.js} +5 -5
- package/dist/server/assets/{index-CUnnFiRO.js → index-B9n0dcMw.js} +4 -4
- package/dist/server/assets/{index-BZSAPXc2.js → index-BVZPT41S.js} +5 -5
- package/dist/server/assets/{index-8fW2N3v4.js → index-BbSejcCZ.js} +2 -2
- package/dist/server/assets/{index-O03NM4sL.js → index-Bgh1V0xV.js} +2 -2
- package/dist/server/assets/{index-B9xqso9p.js → index-C6mmT4Bf.js} +1 -1
- package/dist/server/assets/{index-DipxLM5f.js → index-CA1ILOaa.js} +2 -2
- package/dist/server/assets/{index-bbP5Ilkt.js → index-CR4BnEcT.js} +3 -3
- package/dist/server/assets/{index-5St5BCcJ.js → index-CU2q4Svg.js} +2 -2
- package/dist/server/assets/{index-zM-wWcHV.js → index-CbnRNXnI.js} +1 -1
- package/dist/server/assets/{index-BiMwh0FT.js → index-CkCmjvnL.js} +3 -3
- package/dist/server/assets/{index-DEZw9nkv.js → index-DM7tck_E.js} +2 -2
- package/dist/server/assets/{index-DYiuwMzT.js → index-DURk6tcR.js} +2 -2
- package/dist/server/assets/{index-DsPBpNpr.js → index-DYATP6mi.js} +2 -2
- package/dist/server/assets/{index-DR892S39.js → index-DdEGElQC.js} +2 -2
- package/dist/server/assets/{index-dAOow3Ru.js → index-DoPHl__N.js} +2 -2
- package/dist/server/assets/{index-igT3OuCm.js → index-JQz2Ac_X.js} +2 -2
- package/dist/server/assets/{index-CGm8Czks.js → index-gZfWBVgm.js} +2 -2
- package/dist/server/assets/{info-VBDWY6EO-BDX5_HTZ.js → info-VBDWY6EO-CraK2qik.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-BMd22txJ.js → infoDiagram-HS3SLOUP-m71IJidm.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-DyIx8DQc.js → journeyDiagram-XKPGCS4Q-Z2B632R6.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-D6P6mjw2.js → kanban-definition-3W4ZIXB7-B2vyxAFc.js} +2 -2
- package/dist/server/assets/{layout-_MqV9Ys8.js → layout-Ciol0TI8.js} +4 -4
- package/dist/server/assets/{mermaid-3ZIDBTTL-CIBz4-1r.js → mermaid-3ZIDBTTL-m_-3aBOO.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-Cga0uwWI.js → mermaid-parser.core-DsRAodK1.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-C2EIvkPG.js → mindmap-definition-VGOIOE7T-B9LDAkQV.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-CCOI47dY.js → packet-DYOGHKS2-CU0Rnzfp.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-BLqEHL1E.js → pie-VRWISCQL-DAKQG59I.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-Cv-DbjH6.js → pieDiagram-ADFJNKIX-C895xIIt.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-DFyjNST4.js → quadrantDiagram-AYHSOK5B-6UAdibo5.js} +1 -1
- package/dist/server/assets/{radar-ZZBFDIW7-CWlYIMXf.js → radar-ZZBFDIW7-CSkyNl40.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-DFM89i-H.js → requirementDiagram-UZGBJVZJ-C9qwWXGY.js} +3 -3
- package/dist/server/assets/{router-cAoMUC9Q.js → router-B9BGcvPs.js} +1402 -442
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-Nmb2f9ga.js → sankeyDiagram-TZEHDZUN-BD3BjmcP.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-BiqqAguj.js → sequenceDiagram-WL72ISMW-CaRznm1o.js} +3 -3
- package/dist/server/assets/{square-terminal-DerzWAi-.js → square-terminal-CuW8JOAZ.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-CkiJXki8.js → stateDiagram-FKZM4ZOC-C7925k-i.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-Bt1BL33e.js → stateDiagram-v2-4FDKWEC3-C0yapgJL.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-DCRlJiLq.js → timeline-definition-IT6M3QCI-DfwL9TFo.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-Ci-r6jiA.js → treemap-GDKQZRPO-kKnTHSv2.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-Dj6Y8WPo.js → workspace._workspaceId-BK83HsBK.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId-BMnOV3pd.js → workspace._workspaceId-DEWHh9LI.js} +3 -3
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-r_3LO6yK.js → xychartDiagram-PRI3JC2R-CfUYiueD.js} +1 -1
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +31 -4
- package/package.json +4 -4
- package/dist/client/assets/DockviewTerminalContainer-B_36q2Dz.js +0 -2
- package/dist/client/assets/TerminalPanel-DbxLiy2t.js +0 -5
- package/dist/client/assets/_baseUniq-Cb5igq_8.js +0 -1
- package/dist/client/assets/architectureDiagram-VXUJARFQ-BnV97au3.js +0 -36
- package/dist/client/assets/channel-2Of2aNA_.js +0 -1
- package/dist/client/assets/chunk-QN33PNHL-yK0yp12G.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-D6UcKhcB.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-D6UcKhcB.js +0 -1
- package/dist/client/assets/clone-DBCpY5Fq.js +0 -1
- package/dist/client/assets/cose-bilkent-S5V4N54A-BZFGVpWR.js +0 -1
- package/dist/client/assets/dagre-6UL2VRFP-DRDPL67k.js +0 -4
- package/dist/client/assets/diagram-PSM6KHXK-DYAOsIc0.js +0 -24
- package/dist/client/assets/diagram-QEK2KX5R-CnjVQgn2.js +0 -43
- package/dist/client/assets/diagram-S2PKOQOG-B8sAgSNe.js +0 -24
- package/dist/client/assets/gitGraphDiagram-V2S2FVAM-CZGjCgZ_.js +0 -65
- package/dist/client/assets/infoDiagram-HS3SLOUP-Bf3MrisJ.js +0 -2
- package/dist/client/assets/pieDiagram-ADFJNKIX-B4aWIFbt.js +0 -30
- package/dist/client/assets/stateDiagram-FKZM4ZOC-TzlVvqDv.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-BibE5lUV.js +0 -1
- package/dist/server/assets/TerminalPanel-nFYTCFHx.js +0 -1238
|
@@ -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
|
]);
|
|
@@ -42763,53 +42763,53 @@ async function loadLanguage(lang) {
|
|
|
42763
42763
|
try {
|
|
42764
42764
|
switch (lang) {
|
|
42765
42765
|
case "javascript":
|
|
42766
|
-
return import("./index-
|
|
42766
|
+
return import("./index-BbSejcCZ.js").then((m2) => m2.javascript());
|
|
42767
42767
|
case "jsx":
|
|
42768
|
-
return import("./index-
|
|
42768
|
+
return import("./index-BbSejcCZ.js").then((m2) => m2.javascript({ jsx: true }));
|
|
42769
42769
|
case "typescript":
|
|
42770
|
-
return import("./index-
|
|
42770
|
+
return import("./index-BbSejcCZ.js").then(
|
|
42771
42771
|
(m2) => m2.javascript({ typescript: true })
|
|
42772
42772
|
);
|
|
42773
42773
|
case "tsx":
|
|
42774
|
-
return import("./index-
|
|
42774
|
+
return import("./index-BbSejcCZ.js").then(
|
|
42775
42775
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
42776
42776
|
);
|
|
42777
42777
|
case "python":
|
|
42778
|
-
return import("./index-
|
|
42778
|
+
return import("./index-DYATP6mi.js").then((m2) => m2.python());
|
|
42779
42779
|
case "html":
|
|
42780
|
-
return import("./index-
|
|
42780
|
+
return import("./index-B9n0dcMw.js").then((m2) => m2.html());
|
|
42781
42781
|
case "css":
|
|
42782
|
-
return import("./index-
|
|
42782
|
+
return import("./index-Bgh1V0xV.js").then((m2) => m2.css());
|
|
42783
42783
|
case "scss":
|
|
42784
42784
|
case "sass":
|
|
42785
|
-
return import("./index-
|
|
42785
|
+
return import("./index-CR4BnEcT.js").then((m2) => m2.sass());
|
|
42786
42786
|
case "less":
|
|
42787
|
-
return import("./index-
|
|
42787
|
+
return import("./index-CkCmjvnL.js").then((m2) => m2.less());
|
|
42788
42788
|
case "json":
|
|
42789
42789
|
case "jsonc":
|
|
42790
|
-
return import("./index-
|
|
42790
|
+
return import("./index-CA1ILOaa.js").then((m2) => m2.json());
|
|
42791
42791
|
case "markdown":
|
|
42792
42792
|
case "mdx":
|
|
42793
|
-
return import("./index-
|
|
42793
|
+
return import("./index-B-dHru1q.js").then((m2) => m2.markdown());
|
|
42794
42794
|
case "xml":
|
|
42795
|
-
return import("./index-
|
|
42795
|
+
return import("./index-DM7tck_E.js").then((m2) => m2.xml());
|
|
42796
42796
|
case "yaml":
|
|
42797
|
-
return import("./index-
|
|
42797
|
+
return import("./index-DoPHl__N.js").then((m2) => m2.yaml());
|
|
42798
42798
|
case "sql":
|
|
42799
|
-
return import("./index-
|
|
42799
|
+
return import("./index-JQz2Ac_X.js").then((m2) => m2.sql());
|
|
42800
42800
|
case "rust":
|
|
42801
|
-
return import("./index-
|
|
42801
|
+
return import("./index-gZfWBVgm.js").then((m2) => m2.rust());
|
|
42802
42802
|
case "go":
|
|
42803
|
-
return import("./index-
|
|
42803
|
+
return import("./index-DURk6tcR.js").then((m2) => m2.go());
|
|
42804
42804
|
case "java":
|
|
42805
|
-
return import("./index-
|
|
42805
|
+
return import("./index-CU2q4Svg.js").then((m2) => m2.java());
|
|
42806
42806
|
case "kotlin":
|
|
42807
|
-
return import("./index-
|
|
42807
|
+
return import("./index-CU2q4Svg.js").then((m2) => m2.java());
|
|
42808
42808
|
case "c":
|
|
42809
42809
|
case "cpp":
|
|
42810
|
-
return import("./index-
|
|
42810
|
+
return import("./index-DdEGElQC.js").then((m2) => m2.cpp());
|
|
42811
42811
|
case "php":
|
|
42812
|
-
return import("./index-
|
|
42812
|
+
return import("./index-BVZPT41S.js").then((m2) => m2.php());
|
|
42813
42813
|
// Legacy modes via StreamLanguage
|
|
42814
42814
|
case "bash":
|
|
42815
42815
|
case "fish":
|
|
@@ -52956,7 +52956,7 @@ function useProjectKindForWorkspace(workspaceId) {
|
|
|
52956
52956
|
const map2 = useProjectKindMap();
|
|
52957
52957
|
return map2.get(workspaceId);
|
|
52958
52958
|
}
|
|
52959
|
-
const DEFAULT_SEARCH_OPTIONS = {
|
|
52959
|
+
const DEFAULT_SEARCH_OPTIONS$1 = {
|
|
52960
52960
|
caseSensitive: false,
|
|
52961
52961
|
wholeWord: false,
|
|
52962
52962
|
regex: false
|
|
@@ -52968,9 +52968,9 @@ function useSearch({
|
|
|
52968
52968
|
}) {
|
|
52969
52969
|
const [searchOpen, setSearchOpen] = reactExports.useState(false);
|
|
52970
52970
|
const [searchQuery, setSearchQueryText] = reactExports.useState("");
|
|
52971
|
-
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS);
|
|
52971
|
+
const [searchOptions, setSearchOptions] = reactExports.useState(DEFAULT_SEARCH_OPTIONS$1);
|
|
52972
52972
|
const searchQueryRef = reactExports.useRef("");
|
|
52973
|
-
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS);
|
|
52973
|
+
const searchOptionsRef = reactExports.useRef(DEFAULT_SEARCH_OPTIONS$1);
|
|
52974
52974
|
const [matchInfo, setMatchInfo] = reactExports.useState({
|
|
52975
52975
|
total: 0,
|
|
52976
52976
|
current: 0
|
|
@@ -68715,7 +68715,7 @@ function remove$1(array2, value) {
|
|
|
68715
68715
|
}
|
|
68716
68716
|
return false;
|
|
68717
68717
|
}
|
|
68718
|
-
const clamp = (value, min2, max2) => {
|
|
68718
|
+
const clamp$1 = (value, min2, max2) => {
|
|
68719
68719
|
if (min2 > max2) {
|
|
68720
68720
|
return min2;
|
|
68721
68721
|
}
|
|
@@ -68796,7 +68796,7 @@ class ViewItem {
|
|
|
68796
68796
|
return;
|
|
68797
68797
|
}
|
|
68798
68798
|
if (visible) {
|
|
68799
|
-
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);
|
|
68800
68800
|
this._cachedVisibleSize = void 0;
|
|
68801
68801
|
} else {
|
|
68802
68802
|
this._cachedVisibleSize = typeof size2 === "number" ? size2 : this.size;
|
|
@@ -68978,12 +68978,12 @@ class Splitview {
|
|
|
68978
68978
|
if (snapped) {
|
|
68979
68979
|
return this.resize(index2, delta, sizes, lowPriorityIndexes, highPriorityIndexes, overloadMinDelta, overloadMaxDelta);
|
|
68980
68980
|
}
|
|
68981
|
-
const tentativeDelta = clamp(delta, minDelta, maxDelta);
|
|
68981
|
+
const tentativeDelta = clamp$1(delta, minDelta, maxDelta);
|
|
68982
68982
|
let actualDelta = 0;
|
|
68983
68983
|
let deltaUp = tentativeDelta;
|
|
68984
68984
|
for (let i2 = 0; i2 < upItems.length; i2++) {
|
|
68985
68985
|
const item = upItems[i2];
|
|
68986
|
-
const size2 = clamp(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
68986
|
+
const size2 = clamp$1(upSizes[i2] + deltaUp, item.minimumSize, item.maximumSize);
|
|
68987
68987
|
const viewDelta = size2 - upSizes[i2];
|
|
68988
68988
|
actualDelta += viewDelta;
|
|
68989
68989
|
deltaUp -= viewDelta;
|
|
@@ -68992,7 +68992,7 @@ class Splitview {
|
|
|
68992
68992
|
let deltaDown = actualDelta;
|
|
68993
68993
|
for (let i2 = 0; i2 < downItems.length; i2++) {
|
|
68994
68994
|
const item = downItems[i2];
|
|
68995
|
-
const size2 = clamp(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
68995
|
+
const size2 = clamp$1(downSizes[i2] - deltaDown, item.minimumSize, item.maximumSize);
|
|
68996
68996
|
const viewDelta = size2 - downSizes[i2];
|
|
68997
68997
|
deltaDown += viewDelta;
|
|
68998
68998
|
item.size = size2;
|
|
@@ -69075,7 +69075,7 @@ class Splitview {
|
|
|
69075
69075
|
const highPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.High);
|
|
69076
69076
|
const item = this.viewItems[index2];
|
|
69077
69077
|
size2 = Math.round(size2);
|
|
69078
|
-
size2 = clamp(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
69078
|
+
size2 = clamp$1(size2, item.minimumSize, Math.min(item.maximumSize, this._size));
|
|
69079
69079
|
item.size = size2;
|
|
69080
69080
|
this.relayout(lowPriorityIndexes, highPriorityIndexes);
|
|
69081
69081
|
}
|
|
@@ -69088,7 +69088,7 @@ class Splitview {
|
|
|
69088
69088
|
return;
|
|
69089
69089
|
}
|
|
69090
69090
|
size2 = typeof size2 === "number" ? size2 : item.size;
|
|
69091
|
-
size2 = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69091
|
+
size2 = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69092
69092
|
item.size = size2;
|
|
69093
69093
|
const indexes = range$5(this.viewItems.length).filter((i2) => i2 !== index2);
|
|
69094
69094
|
const lowPriorityIndexes = [
|
|
@@ -69220,7 +69220,7 @@ class Splitview {
|
|
|
69220
69220
|
}
|
|
69221
69221
|
const size2 = Math.floor(flexibleSize / flexibleViewItems.length);
|
|
69222
69222
|
for (const item of flexibleViewItems) {
|
|
69223
|
-
item.size = clamp(size2, item.minimumSize, item.maximumSize);
|
|
69223
|
+
item.size = clamp$1(size2, item.minimumSize, item.maximumSize);
|
|
69224
69224
|
}
|
|
69225
69225
|
const indexes = range$5(this.viewItems.length);
|
|
69226
69226
|
const lowPriorityIndexes = indexes.filter((i2) => this.viewItems[i2].priority === LayoutPriority.Low);
|
|
@@ -69281,7 +69281,7 @@ class Splitview {
|
|
|
69281
69281
|
const item = this.viewItems[i2];
|
|
69282
69282
|
const proportion = this.proportions[i2];
|
|
69283
69283
|
if (typeof proportion === "number" && total > 0) {
|
|
69284
|
-
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);
|
|
69285
69285
|
}
|
|
69286
69286
|
}
|
|
69287
69287
|
}
|
|
@@ -69312,7 +69312,7 @@ class Splitview {
|
|
|
69312
69312
|
}
|
|
69313
69313
|
for (let i2 = 0; emptyDelta !== 0 && i2 < indexes.length; i2++) {
|
|
69314
69314
|
const item = this.viewItems[indexes[i2]];
|
|
69315
|
-
const size2 = clamp(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69315
|
+
const size2 = clamp$1(item.size + emptyDelta, item.minimumSize, item.maximumSize);
|
|
69316
69316
|
const viewDelta = size2 - item.size;
|
|
69317
69317
|
emptyDelta -= viewDelta;
|
|
69318
69318
|
item.size = size2;
|
|
@@ -71991,13 +71991,13 @@ class Droptarget extends CompositeDisposable {
|
|
|
71991
71991
|
let size2 = 1;
|
|
71992
71992
|
const sizeOptions = (_h2 = (_g2 = this.options.overlayModel) === null || _g2 === void 0 ? void 0 : _g2.size) !== null && _h2 !== void 0 ? _h2 : DEFAULT_SIZE$1;
|
|
71993
71993
|
if (sizeOptions.type === "percentage") {
|
|
71994
|
-
size2 = clamp(sizeOptions.value, 0, 100) / 100;
|
|
71994
|
+
size2 = clamp$1(sizeOptions.value, 0, 100) / 100;
|
|
71995
71995
|
} else {
|
|
71996
71996
|
if (rightClass || leftClass) {
|
|
71997
|
-
size2 = clamp(0, sizeOptions.value, width) / width;
|
|
71997
|
+
size2 = clamp$1(0, sizeOptions.value, width) / width;
|
|
71998
71998
|
}
|
|
71999
71999
|
if (topClass || bottomClass) {
|
|
72000
|
-
size2 = clamp(0, sizeOptions.value, height) / height;
|
|
72000
|
+
size2 = clamp$1(0, sizeOptions.value, height) / height;
|
|
72001
72001
|
}
|
|
72002
72002
|
}
|
|
72003
72003
|
if (target) {
|
|
@@ -73163,7 +73163,7 @@ class Scrollbar extends CompositeDisposable {
|
|
|
73163
73163
|
this._scrollbar.style.height = `${px}px`;
|
|
73164
73164
|
this._scrollbar.style.width = "";
|
|
73165
73165
|
}
|
|
73166
|
-
this._scrollOffset = clamp(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73166
|
+
this._scrollOffset = clamp$1(this._scrollOffset, 0, scrollSize - clientSize);
|
|
73167
73167
|
if (this._orientation === "horizontal") {
|
|
73168
73168
|
this.scrollableElement.scrollLeft = this._scrollOffset;
|
|
73169
73169
|
} else {
|
|
@@ -77673,22 +77673,22 @@ class Overlay extends CompositeDisposable {
|
|
|
77673
77673
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77674
77674
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77675
77675
|
if (this.verticalAlignment === "top") {
|
|
77676
|
-
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));
|
|
77677
77677
|
this._element.style.top = `${top2}px`;
|
|
77678
77678
|
this._element.style.bottom = "auto";
|
|
77679
77679
|
}
|
|
77680
77680
|
if (this.verticalAlignment === "bottom") {
|
|
77681
|
-
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));
|
|
77682
77682
|
this._element.style.bottom = `${bottom}px`;
|
|
77683
77683
|
this._element.style.top = "auto";
|
|
77684
77684
|
}
|
|
77685
77685
|
if (this.horiziontalAlignment === "left") {
|
|
77686
|
-
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));
|
|
77687
77687
|
this._element.style.left = `${left}px`;
|
|
77688
77688
|
this._element.style.right = "auto";
|
|
77689
77689
|
}
|
|
77690
77690
|
if (this.horiziontalAlignment === "right") {
|
|
77691
|
-
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));
|
|
77692
77692
|
this._element.style.right = `${right}px`;
|
|
77693
77693
|
this._element.style.left = "auto";
|
|
77694
77694
|
}
|
|
@@ -77739,10 +77739,10 @@ class Overlay extends CompositeDisposable {
|
|
|
77739
77739
|
}
|
|
77740
77740
|
const xOffset = Math.max(0, this.getMinimumWidth(overlayRect.width));
|
|
77741
77741
|
const yOffset = Math.max(0, this.getMinimumHeight(overlayRect.height));
|
|
77742
|
-
const top2 = clamp(y4 - offset2.y, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77743
|
-
const bottom = clamp(offset2.y - y4 + containerRect.height - overlayRect.height, -yOffset, Math.max(0, containerRect.height - overlayRect.height + yOffset));
|
|
77744
|
-
const left = clamp(x2 - offset2.x, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
77745
|
-
const right = clamp(offset2.x - x2 + containerRect.width - overlayRect.width, -xOffset, Math.max(0, containerRect.width - overlayRect.width + xOffset));
|
|
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));
|
|
77746
77746
|
const bounds = {};
|
|
77747
77747
|
if (top2 <= bottom) {
|
|
77748
77748
|
bounds.top = top2;
|
|
@@ -77817,7 +77817,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77817
77817
|
let width = void 0;
|
|
77818
77818
|
const moveTop = () => {
|
|
77819
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);
|
|
77820
|
-
top2 = clamp(y4, 0, maxTop);
|
|
77820
|
+
top2 = clamp$1(y4, 0, maxTop);
|
|
77821
77821
|
height = startPosition.originalY + startPosition.originalHeight - top2;
|
|
77822
77822
|
bottom = containerRect.height - top2 - height;
|
|
77823
77823
|
};
|
|
@@ -77825,12 +77825,12 @@ class Overlay extends CompositeDisposable {
|
|
|
77825
77825
|
top2 = startPosition.originalY - startPosition.originalHeight;
|
|
77826
77826
|
const minHeight = top2 < 0 && typeof this.options.minimumInViewportHeight === "number" ? -top2 + this.options.minimumInViewportHeight : Overlay.MINIMUM_HEIGHT;
|
|
77827
77827
|
const maxHeight = containerRect.height - Math.max(0, top2);
|
|
77828
|
-
height = clamp(y4 - top2, minHeight, maxHeight);
|
|
77828
|
+
height = clamp$1(y4 - top2, minHeight, maxHeight);
|
|
77829
77829
|
bottom = containerRect.height - top2 - height;
|
|
77830
77830
|
};
|
|
77831
77831
|
const moveLeft = () => {
|
|
77832
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);
|
|
77833
|
-
left = clamp(x2, 0, maxLeft);
|
|
77833
|
+
left = clamp$1(x2, 0, maxLeft);
|
|
77834
77834
|
width = startPosition.originalX + startPosition.originalWidth - left;
|
|
77835
77835
|
right = containerRect.width - left - width;
|
|
77836
77836
|
};
|
|
@@ -77838,7 +77838,7 @@ class Overlay extends CompositeDisposable {
|
|
|
77838
77838
|
left = startPosition.originalX - startPosition.originalWidth;
|
|
77839
77839
|
const minWidth = left < 0 && typeof this.options.minimumInViewportWidth === "number" ? -left + this.options.minimumInViewportWidth : Overlay.MINIMUM_WIDTH;
|
|
77840
77840
|
const maxWidth = containerRect.width - Math.max(0, left);
|
|
77841
|
-
width = clamp(x2 - left, minWidth, maxWidth);
|
|
77841
|
+
width = clamp$1(x2 - left, minWidth, maxWidth);
|
|
77842
77842
|
right = containerRect.width - left - width;
|
|
77843
77843
|
};
|
|
77844
77844
|
switch (direction) {
|
|
@@ -109379,7 +109379,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
|
|
|
109379
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 });
|
|
109380
109380
|
var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
|
|
109381
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 }) });
|
|
109382
|
-
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 }) => {
|
|
109383
109383
|
let i2 = reactExports.useMemo(() => e3.replace(cn, ""), [e3]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
109384
109384
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
109385
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 }) })] }) });
|
|
@@ -109701,7 +109701,7 @@ var Dt = ({ children: e3, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
109701
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] });
|
|
109702
109702
|
};
|
|
109703
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 }) })] });
|
|
109704
|
-
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]+)/;
|
|
109705
109705
|
function ke$1(e3, t2) {
|
|
109706
109706
|
if (!(e3 != null && e3.position || t2 != null && t2.position)) return true;
|
|
109707
109707
|
if (!(e3 != null && e3.position && (t2 != null && t2.position))) return false;
|
|
@@ -161872,12 +161872,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
161872
161872
|
registerLayoutLoaders([
|
|
161873
161873
|
{
|
|
161874
161874
|
name: "dagre",
|
|
161875
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
161875
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CJdhKZlX.js"), "loader")
|
|
161876
161876
|
},
|
|
161877
161877
|
...[
|
|
161878
161878
|
{
|
|
161879
161879
|
name: "cose-bilkent",
|
|
161880
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
161880
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-B-Bym2R2.js"), "loader")
|
|
161881
161881
|
}
|
|
161882
161882
|
]
|
|
161883
161883
|
]);
|
|
@@ -162316,7 +162316,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
162316
162316
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
162317
162317
|
}, "detector");
|
|
162318
162318
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
162319
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
162319
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-B3FexEXR.js");
|
|
162320
162320
|
return { id, diagram: diagram2 };
|
|
162321
162321
|
}, "loader");
|
|
162322
162322
|
var plugin = {
|
|
@@ -162333,7 +162333,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162333
162333
|
return /^\s*graph/.test(txt);
|
|
162334
162334
|
}, "detector");
|
|
162335
162335
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
162336
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162336
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162337
162337
|
return { id: id2, diagram: diagram2 };
|
|
162338
162338
|
}, "loader");
|
|
162339
162339
|
var plugin2 = {
|
|
@@ -162356,7 +162356,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162356
162356
|
return /^\s*flowchart/.test(txt);
|
|
162357
162357
|
}, "detector");
|
|
162358
162358
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
162359
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162359
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162360
162360
|
return { id: id3, diagram: diagram2 };
|
|
162361
162361
|
}, "loader");
|
|
162362
162362
|
var plugin3 = {
|
|
@@ -162370,7 +162370,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
162370
162370
|
return /^\s*erDiagram/.test(txt);
|
|
162371
162371
|
}, "detector");
|
|
162372
162372
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
162373
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
162373
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DgXGwPJi.js");
|
|
162374
162374
|
return { id: id4, diagram: diagram2 };
|
|
162375
162375
|
}, "loader");
|
|
162376
162376
|
var plugin4 = {
|
|
@@ -162384,7 +162384,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
162384
162384
|
return /^\s*gitGraph/.test(txt);
|
|
162385
162385
|
}, "detector");
|
|
162386
162386
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
162387
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
162387
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-BoLIFjNj.js");
|
|
162388
162388
|
return { id: id5, diagram: diagram2 };
|
|
162389
162389
|
}, "loader");
|
|
162390
162390
|
var plugin5 = {
|
|
@@ -162398,7 +162398,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
162398
162398
|
return /^\s*gantt/.test(txt);
|
|
162399
162399
|
}, "detector");
|
|
162400
162400
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
162401
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
162401
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-Df1I84HD.js");
|
|
162402
162402
|
return { id: id6, diagram: diagram2 };
|
|
162403
162403
|
}, "loader");
|
|
162404
162404
|
var plugin6 = {
|
|
@@ -162412,7 +162412,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
162412
162412
|
return /^\s*info/.test(txt);
|
|
162413
162413
|
}, "detector");
|
|
162414
162414
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
162415
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
162415
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-m71IJidm.js");
|
|
162416
162416
|
return { id: id7, diagram: diagram2 };
|
|
162417
162417
|
}, "loader");
|
|
162418
162418
|
var info = {
|
|
@@ -162425,7 +162425,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
162425
162425
|
return /^\s*pie/.test(txt);
|
|
162426
162426
|
}, "detector");
|
|
162427
162427
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
162428
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
162428
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-C895xIIt.js");
|
|
162429
162429
|
return { id: id8, diagram: diagram2 };
|
|
162430
162430
|
}, "loader");
|
|
162431
162431
|
var pie = {
|
|
@@ -162438,7 +162438,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
162438
162438
|
return /^\s*quadrantChart/.test(txt);
|
|
162439
162439
|
}, "detector");
|
|
162440
162440
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
162441
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
162441
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-6UAdibo5.js");
|
|
162442
162442
|
return { id: id9, diagram: diagram2 };
|
|
162443
162443
|
}, "loader");
|
|
162444
162444
|
var plugin7 = {
|
|
@@ -162452,7 +162452,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
162452
162452
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
162453
162453
|
}, "detector");
|
|
162454
162454
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
162455
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
162455
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-CfUYiueD.js");
|
|
162456
162456
|
return { id: id10, diagram: diagram2 };
|
|
162457
162457
|
}, "loader");
|
|
162458
162458
|
var plugin8 = {
|
|
@@ -162466,7 +162466,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
162466
162466
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
162467
162467
|
}, "detector");
|
|
162468
162468
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
162469
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
162469
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-C9qwWXGY.js");
|
|
162470
162470
|
return { id: id11, diagram: diagram2 };
|
|
162471
162471
|
}, "loader");
|
|
162472
162472
|
var plugin9 = {
|
|
@@ -162480,7 +162480,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
162480
162480
|
return /^\s*sequenceDiagram/.test(txt);
|
|
162481
162481
|
}, "detector");
|
|
162482
162482
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
162483
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
162483
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-CaRznm1o.js");
|
|
162484
162484
|
return { id: id12, diagram: diagram2 };
|
|
162485
162485
|
}, "loader");
|
|
162486
162486
|
var plugin10 = {
|
|
@@ -162497,7 +162497,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162497
162497
|
return /^\s*classDiagram/.test(txt);
|
|
162498
162498
|
}, "detector");
|
|
162499
162499
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
162500
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
162500
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-Dr94MNeD.js");
|
|
162501
162501
|
return { id: id13, diagram: diagram2 };
|
|
162502
162502
|
}, "loader");
|
|
162503
162503
|
var plugin11 = {
|
|
@@ -162514,7 +162514,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162514
162514
|
return /^\s*classDiagram-v2/.test(txt);
|
|
162515
162515
|
}, "detector");
|
|
162516
162516
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
162517
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
162517
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-Dr94MNeD.js");
|
|
162518
162518
|
return { id: id14, diagram: diagram2 };
|
|
162519
162519
|
}, "loader");
|
|
162520
162520
|
var plugin12 = {
|
|
@@ -162531,7 +162531,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162531
162531
|
return /^\s*stateDiagram/.test(txt);
|
|
162532
162532
|
}, "detector");
|
|
162533
162533
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
162534
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
162534
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-C7925k-i.js");
|
|
162535
162535
|
return { id: id15, diagram: diagram2 };
|
|
162536
162536
|
}, "loader");
|
|
162537
162537
|
var plugin13 = {
|
|
@@ -162551,7 +162551,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
162551
162551
|
return false;
|
|
162552
162552
|
}, "detector");
|
|
162553
162553
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
162554
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
162554
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-C0yapgJL.js");
|
|
162555
162555
|
return { id: id16, diagram: diagram2 };
|
|
162556
162556
|
}, "loader");
|
|
162557
162557
|
var plugin14 = {
|
|
@@ -162565,7 +162565,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
162565
162565
|
return /^\s*journey/.test(txt);
|
|
162566
162566
|
}, "detector");
|
|
162567
162567
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
162568
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
162568
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-Z2B632R6.js");
|
|
162569
162569
|
return { id: id17, diagram: diagram2 };
|
|
162570
162570
|
}, "loader");
|
|
162571
162571
|
var plugin15 = {
|
|
@@ -162632,7 +162632,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
162632
162632
|
return false;
|
|
162633
162633
|
}, "detector");
|
|
162634
162634
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
162635
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
162635
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-CCKE-dcR.js");
|
|
162636
162636
|
return { id: id18, diagram: diagram2 };
|
|
162637
162637
|
}, "loader");
|
|
162638
162638
|
var plugin16 = {
|
|
@@ -162646,7 +162646,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
162646
162646
|
return /^\s*timeline/.test(txt);
|
|
162647
162647
|
}, "detector");
|
|
162648
162648
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
162649
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-
|
|
162649
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-DfwL9TFo.js");
|
|
162650
162650
|
return { id: id19, diagram: diagram2 };
|
|
162651
162651
|
}, "loader");
|
|
162652
162652
|
var plugin17 = {
|
|
@@ -162660,7 +162660,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
162660
162660
|
return /^\s*mindmap/.test(txt);
|
|
162661
162661
|
}, "detector");
|
|
162662
162662
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
162663
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
162663
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-B9LDAkQV.js");
|
|
162664
162664
|
return { id: id20, diagram: diagram2 };
|
|
162665
162665
|
}, "loader");
|
|
162666
162666
|
var plugin18 = {
|
|
@@ -162674,7 +162674,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
162674
162674
|
return /^\s*kanban/.test(txt);
|
|
162675
162675
|
}, "detector");
|
|
162676
162676
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
162677
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
162677
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-B2vyxAFc.js");
|
|
162678
162678
|
return { id: id21, diagram: diagram2 };
|
|
162679
162679
|
}, "loader");
|
|
162680
162680
|
var plugin19 = {
|
|
@@ -162688,7 +162688,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
162688
162688
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
162689
162689
|
}, "detector");
|
|
162690
162690
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
162691
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
162691
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-BD3BjmcP.js");
|
|
162692
162692
|
return { id: id22, diagram: diagram2 };
|
|
162693
162693
|
}, "loader");
|
|
162694
162694
|
var plugin20 = {
|
|
@@ -162702,7 +162702,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
162702
162702
|
return /^\s*packet(-beta)?/.test(txt);
|
|
162703
162703
|
}, "detector");
|
|
162704
162704
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
162705
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
162705
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-DfZmENnB.js");
|
|
162706
162706
|
return { id: id23, diagram: diagram2 };
|
|
162707
162707
|
}, "loader");
|
|
162708
162708
|
var packet = {
|
|
@@ -162715,7 +162715,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
162715
162715
|
return /^\s*radar-beta/.test(txt);
|
|
162716
162716
|
}, "detector");
|
|
162717
162717
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
162718
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
162718
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-CUdsg8PG.js");
|
|
162719
162719
|
return { id: id24, diagram: diagram2 };
|
|
162720
162720
|
}, "loader");
|
|
162721
162721
|
var radar = {
|
|
@@ -162728,7 +162728,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
162728
162728
|
return /^\s*block(-beta)?/.test(txt);
|
|
162729
162729
|
}, "detector");
|
|
162730
162730
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
162731
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
162731
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-WUFdSkGk.js");
|
|
162732
162732
|
return { id: id25, diagram: diagram2 };
|
|
162733
162733
|
}, "loader");
|
|
162734
162734
|
var plugin21 = {
|
|
@@ -162742,7 +162742,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
162742
162742
|
return /^\s*architecture/.test(txt);
|
|
162743
162743
|
}, "detector");
|
|
162744
162744
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
162745
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-
|
|
162745
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-DrNJMIEJ.js");
|
|
162746
162746
|
return { id: id26, diagram: diagram2 };
|
|
162747
162747
|
}, "loader");
|
|
162748
162748
|
var architecture = {
|
|
@@ -162756,7 +162756,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
162756
162756
|
return /^\s*treemap/.test(txt);
|
|
162757
162757
|
}, "detector");
|
|
162758
162758
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
162759
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
162759
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-Bku5j6_i.js");
|
|
162760
162760
|
return { id: id27, diagram: diagram2 };
|
|
162761
162761
|
}, "loader");
|
|
162762
162762
|
var treemap = {
|
|
@@ -173914,7 +173914,7 @@ const CHAT_EVENT_TYPES = [
|
|
|
173914
173914
|
"subscription-opened",
|
|
173915
173915
|
"history-meta"
|
|
173916
173916
|
];
|
|
173917
|
-
const INITIAL_STATE = {
|
|
173917
|
+
const INITIAL_STATE$1 = {
|
|
173918
173918
|
messages: [],
|
|
173919
173919
|
status: "idle",
|
|
173920
173920
|
sessionId: void 0,
|
|
@@ -174357,7 +174357,7 @@ async function fileToWirePart(file2) {
|
|
|
174357
174357
|
}
|
|
174358
174358
|
function useChatSubscription(opts) {
|
|
174359
174359
|
const { workspaceId, chatId, mode, model, codingAgentId, enabled = true } = opts;
|
|
174360
|
-
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE);
|
|
174360
|
+
const [state2, dispatch2] = reactExports.useReducer(chatEventReducer, INITIAL_STATE$1);
|
|
174361
174361
|
const [isConnected, setIsConnected] = reactExports.useState(false);
|
|
174362
174362
|
const [docVisible, setDocVisible] = reactExports.useState(
|
|
174363
174363
|
() => typeof document === "undefined" ? true : document.visibilityState !== "hidden"
|
|
@@ -174551,7 +174551,7 @@ function useChatSubscription(opts) {
|
|
|
174551
174551
|
);
|
|
174552
174552
|
if (!res.ok) throw new Error(`history fetch failed: HTTP ${res.status}`);
|
|
174553
174553
|
const data = await res.json();
|
|
174554
|
-
const folded = applyEvents(INITIAL_STATE, data.events);
|
|
174554
|
+
const folded = applyEvents(INITIAL_STATE$1, data.events);
|
|
174555
174555
|
const namespaced = folded.messages.map((m2) => ({ ...m2, id: `o${before}-${m2.id}` }));
|
|
174556
174556
|
dispatch2({
|
|
174557
174557
|
type: "prepend-messages",
|
|
@@ -178071,6 +178071,1042 @@ function createDefaultPanel(api, workspaceId) {
|
|
|
178071
178071
|
position: centralPanelPosition(api)
|
|
178072
178072
|
});
|
|
178073
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
|
+
}
|
|
178074
179110
|
const states = /* @__PURE__ */ new Map();
|
|
178075
179111
|
const listeners = /* @__PURE__ */ new Map();
|
|
178076
179112
|
const EMPTY_STATE = Object.freeze({ openFilePath: null });
|
|
@@ -178167,6 +179203,7 @@ function MultiWorkspacePanelHost({ emptyState, children: children2 }) {
|
|
|
178167
179203
|
validIds.add(toWorkspaceId(project.name, worktree.name));
|
|
178168
179204
|
}
|
|
178169
179205
|
}
|
|
179206
|
+
reconcileTerminalWorkspaces(validIds, activeWorkspaceId);
|
|
178170
179207
|
setCache((prev2) => {
|
|
178171
179208
|
let hasStale = false;
|
|
178172
179209
|
for (const id28 of prev2.keys()) {
|
|
@@ -201809,12 +202846,12 @@ const PANEL_SHORTCUTS = {
|
|
|
201809
202846
|
browser: "⇧⌘B"
|
|
201810
202847
|
};
|
|
201811
202848
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
201812
|
-
() => import("./DockviewTerminalContainer-
|
|
202849
|
+
() => import("./DockviewTerminalContainer-CTJJUByH.js").then((m2) => ({
|
|
201813
202850
|
default: m2.DockviewTerminalContainer
|
|
201814
202851
|
}))
|
|
201815
202852
|
);
|
|
201816
202853
|
const DockviewBrowserContainer = reactExports.lazy(
|
|
201817
|
-
() => import("./DockviewBrowserContainer-
|
|
202854
|
+
() => import("./DockviewBrowserContainer-NHSxR-nz.js").then((m2) => ({
|
|
201818
202855
|
default: m2.DockviewBrowserContainer
|
|
201819
202856
|
}))
|
|
201820
202857
|
);
|
|
@@ -203027,80 +204064,6 @@ function useNavigationHistory(routerNavigate, capabilities2) {
|
|
|
203027
204064
|
canGoForward: history2.cursor >= 0 && history2.cursor < history2.stack.length - 1
|
|
203028
204065
|
};
|
|
203029
204066
|
}
|
|
203030
|
-
const ZOOM_LEVEL_KEY = "band:zoom-level";
|
|
203031
|
-
const DEFAULT_ZOOM = 1;
|
|
203032
|
-
const MIN_ZOOM = 0.5;
|
|
203033
|
-
const MAX_ZOOM = 2;
|
|
203034
|
-
const ZOOM_STEP = 0.1;
|
|
203035
|
-
const ZOOM_CSS_VAR = "--app-zoom";
|
|
203036
|
-
const ZOOM_CHANGE_EVENT = "band:zoom-changed";
|
|
203037
|
-
function loadZoomLevel() {
|
|
203038
|
-
try {
|
|
203039
|
-
const stored = localStorage.getItem(ZOOM_LEVEL_KEY);
|
|
203040
|
-
if (stored) {
|
|
203041
|
-
const parsed = Number.parseFloat(stored);
|
|
203042
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
203043
|
-
return parsed;
|
|
203044
|
-
}
|
|
203045
|
-
}
|
|
203046
|
-
} catch {
|
|
203047
|
-
}
|
|
203048
|
-
return DEFAULT_ZOOM;
|
|
203049
|
-
}
|
|
203050
|
-
function saveZoomLevel(level) {
|
|
203051
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203052
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203053
|
-
try {
|
|
203054
|
-
localStorage.setItem(ZOOM_LEVEL_KEY, String(rounded));
|
|
203055
|
-
} catch {
|
|
203056
|
-
}
|
|
203057
|
-
}
|
|
203058
|
-
function applyZoomLevelToDom(level) {
|
|
203059
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203060
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203061
|
-
const root2 = document.documentElement;
|
|
203062
|
-
root2.style.zoom = String(rounded);
|
|
203063
|
-
root2.style.setProperty(ZOOM_CSS_VAR, String(rounded));
|
|
203064
|
-
window.dispatchEvent(new CustomEvent(ZOOM_CHANGE_EVENT, { detail: rounded }));
|
|
203065
|
-
return rounded;
|
|
203066
|
-
}
|
|
203067
|
-
function applyZoomLevel(level) {
|
|
203068
|
-
const clamped = Math.min(MAX_ZOOM, Math.max(MIN_ZOOM, level));
|
|
203069
|
-
const rounded = Math.round(clamped * 100) / 100;
|
|
203070
|
-
saveZoomLevel(rounded);
|
|
203071
|
-
applyZoomLevelToDom(rounded);
|
|
203072
|
-
}
|
|
203073
|
-
function getCurrentZoomLevel() {
|
|
203074
|
-
if (typeof document !== "undefined") {
|
|
203075
|
-
const css = document.documentElement.style.getPropertyValue(ZOOM_CSS_VAR);
|
|
203076
|
-
if (css) {
|
|
203077
|
-
const parsed = Number.parseFloat(css);
|
|
203078
|
-
if (!Number.isNaN(parsed) && parsed >= MIN_ZOOM && parsed <= MAX_ZOOM) {
|
|
203079
|
-
return parsed;
|
|
203080
|
-
}
|
|
203081
|
-
}
|
|
203082
|
-
}
|
|
203083
|
-
return loadZoomLevel();
|
|
203084
|
-
}
|
|
203085
|
-
function subscribeToZoomChanges(handler) {
|
|
203086
|
-
if (typeof window === "undefined") return () => {
|
|
203087
|
-
};
|
|
203088
|
-
const listener2 = (e3) => {
|
|
203089
|
-
const detail = e3.detail;
|
|
203090
|
-
if (typeof detail === "number") handler(detail);
|
|
203091
|
-
};
|
|
203092
|
-
window.addEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203093
|
-
return () => window.removeEventListener(ZOOM_CHANGE_EVENT, listener2);
|
|
203094
|
-
}
|
|
203095
|
-
function zoomIn() {
|
|
203096
|
-
applyZoomLevel(loadZoomLevel() + ZOOM_STEP);
|
|
203097
|
-
}
|
|
203098
|
-
function zoomOut() {
|
|
203099
|
-
applyZoomLevel(loadZoomLevel() - ZOOM_STEP);
|
|
203100
|
-
}
|
|
203101
|
-
function zoomReset() {
|
|
203102
|
-
applyZoomLevel(DEFAULT_ZOOM);
|
|
203103
|
-
}
|
|
203104
204067
|
function useZoom() {
|
|
203105
204068
|
reactExports.useEffect(() => {
|
|
203106
204069
|
if (isDesktop) return;
|
|
@@ -203571,12 +204534,12 @@ function RootLayout() {
|
|
|
203571
204534
|
] })
|
|
203572
204535
|
] });
|
|
203573
204536
|
}
|
|
203574
|
-
const $$splitComponentImporter$1 = () => import("./index-
|
|
204537
|
+
const $$splitComponentImporter$1 = () => import("./index-C6mmT4Bf.js");
|
|
203575
204538
|
const Route$1 = createFileRoute("/")({
|
|
203576
204539
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
203577
204540
|
});
|
|
203578
|
-
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-
|
|
203579
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId-
|
|
204541
|
+
const $$splitNotFoundComponentImporter = () => import("./workspace._workspaceId-BK83HsBK.js");
|
|
204542
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId-DEWHh9LI.js");
|
|
203580
204543
|
const Route2 = createFileRoute("/workspace/$workspaceId")({
|
|
203581
204544
|
component: lazyRouteComponent($$splitComponentImporter, "component"),
|
|
203582
204545
|
// Bookmarks / shared links from before route unification (`/workspace/$id/changes`,
|
|
@@ -203618,288 +204581,285 @@ const router = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProper
|
|
|
203618
204581
|
getRouter
|
|
203619
204582
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
203620
204583
|
export {
|
|
203621
|
-
|
|
203622
|
-
|
|
203623
|
-
|
|
204584
|
+
assignWithDepth_default as $,
|
|
204585
|
+
DockviewReact as A,
|
|
204586
|
+
Rows2 as B,
|
|
203624
204587
|
Columns2 as C,
|
|
203625
204588
|
DefaultBufferLength as D,
|
|
203626
|
-
|
|
203627
|
-
|
|
203628
|
-
|
|
203629
|
-
|
|
204589
|
+
Plus as E,
|
|
204590
|
+
usePanelVisibility as F,
|
|
204591
|
+
cycleTabsInActiveGroup as G,
|
|
204592
|
+
cycleGridGroups as H,
|
|
203630
204593
|
IterMode as I,
|
|
203631
|
-
|
|
204594
|
+
R$4 as J,
|
|
203632
204595
|
Ks as K,
|
|
203633
204596
|
LanguageSupport as L,
|
|
203634
|
-
|
|
204597
|
+
setAccDescription as M,
|
|
203635
204598
|
Nt as N,
|
|
203636
|
-
|
|
204599
|
+
getAccDescription as O,
|
|
203637
204600
|
Parser$2 as P,
|
|
203638
204601
|
Qe$1 as Q,
|
|
203639
204602
|
Route2 as R,
|
|
203640
|
-
|
|
204603
|
+
getAccTitle as S,
|
|
203641
204604
|
Tree as T,
|
|
203642
|
-
|
|
203643
|
-
|
|
203644
|
-
|
|
204605
|
+
setAccTitle as U,
|
|
204606
|
+
getConfig2 as V,
|
|
204607
|
+
select as W,
|
|
203645
204608
|
X$7 as X,
|
|
203646
|
-
|
|
203647
|
-
|
|
204609
|
+
log$1 as Y,
|
|
204610
|
+
configureSvgSize as Z,
|
|
203648
204611
|
__name as _,
|
|
203649
204612
|
Navigate as a,
|
|
203650
|
-
|
|
203651
|
-
|
|
203652
|
-
|
|
203653
|
-
|
|
203654
|
-
|
|
203655
|
-
|
|
203656
|
-
|
|
203657
|
-
|
|
203658
|
-
|
|
203659
|
-
|
|
203660
|
-
|
|
203661
|
-
|
|
203662
|
-
|
|
203663
|
-
|
|
203664
|
-
|
|
203665
|
-
|
|
203666
|
-
|
|
203667
|
-
|
|
203668
|
-
|
|
203669
|
-
|
|
203670
|
-
|
|
203671
|
-
|
|
203672
|
-
|
|
203673
|
-
|
|
203674
|
-
|
|
203675
|
-
|
|
203676
|
-
|
|
203677
|
-
|
|
203678
|
-
|
|
203679
|
-
|
|
203680
|
-
|
|
203681
|
-
|
|
203682
|
-
|
|
203683
|
-
|
|
203684
|
-
|
|
203685
|
-
|
|
203686
|
-
|
|
203687
|
-
|
|
203688
|
-
|
|
203689
|
-
|
|
203690
|
-
|
|
203691
|
-
|
|
203692
|
-
|
|
203693
|
-
|
|
203694
|
-
|
|
203695
|
-
|
|
203696
|
-
|
|
203697
|
-
|
|
203698
|
-
|
|
203699
|
-
|
|
203700
|
-
|
|
203701
|
-
|
|
203702
|
-
|
|
203703
|
-
|
|
203704
|
-
|
|
203705
|
-
|
|
203706
|
-
|
|
203707
|
-
|
|
203708
|
-
|
|
203709
|
-
|
|
203710
|
-
|
|
203711
|
-
|
|
203712
|
-
|
|
203713
|
-
|
|
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,
|
|
203714
204677
|
LRLanguage as b,
|
|
203715
|
-
|
|
203716
|
-
|
|
203717
|
-
|
|
203718
|
-
|
|
203719
|
-
|
|
203720
|
-
|
|
203721
|
-
|
|
203722
|
-
|
|
203723
|
-
|
|
203724
|
-
|
|
203725
|
-
|
|
203726
|
-
|
|
203727
|
-
|
|
203728
|
-
|
|
203729
|
-
clear
|
|
203730
|
-
|
|
203731
|
-
|
|
203732
|
-
|
|
203733
|
-
|
|
203734
|
-
|
|
203735
|
-
|
|
203736
|
-
|
|
203737
|
-
|
|
203738
|
-
|
|
203739
|
-
|
|
203740
|
-
|
|
203741
|
-
|
|
203742
|
-
|
|
203743
|
-
|
|
203744
|
-
|
|
203745
|
-
|
|
203746
|
-
|
|
203747
|
-
|
|
203748
|
-
|
|
203749
|
-
|
|
203750
|
-
|
|
203751
|
-
|
|
203752
|
-
|
|
203753
|
-
|
|
203754
|
-
|
|
203755
|
-
|
|
203756
|
-
|
|
203757
|
-
|
|
203758
|
-
|
|
203759
|
-
|
|
203760
|
-
|
|
203761
|
-
|
|
203762
|
-
|
|
203763
|
-
|
|
203764
|
-
|
|
203765
|
-
|
|
203766
|
-
|
|
203767
|
-
|
|
203768
|
-
|
|
203769
|
-
|
|
203770
|
-
|
|
203771
|
-
|
|
203772
|
-
|
|
203773
|
-
|
|
203774
|
-
|
|
203775
|
-
|
|
203776
|
-
|
|
203777
|
-
|
|
203778
|
-
|
|
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,
|
|
203779
204742
|
continuedIndent as c,
|
|
203780
|
-
|
|
203781
|
-
|
|
203782
|
-
|
|
203783
|
-
|
|
203784
|
-
|
|
203785
|
-
|
|
203786
|
-
|
|
203787
|
-
|
|
203788
|
-
|
|
203789
|
-
|
|
203790
|
-
|
|
203791
|
-
|
|
203792
|
-
|
|
203793
|
-
|
|
203794
|
-
|
|
203795
|
-
|
|
203796
|
-
|
|
203797
|
-
|
|
203798
|
-
|
|
203799
|
-
|
|
203800
|
-
|
|
203801
|
-
|
|
203802
|
-
|
|
203803
|
-
|
|
203804
|
-
|
|
203805
|
-
|
|
203806
|
-
|
|
203807
|
-
|
|
203808
|
-
|
|
203809
|
-
|
|
203810
|
-
|
|
203811
|
-
|
|
203812
|
-
|
|
203813
|
-
|
|
203814
|
-
|
|
203815
|
-
|
|
203816
|
-
|
|
203817
|
-
|
|
203818
|
-
|
|
203819
|
-
|
|
203820
|
-
|
|
203821
|
-
|
|
203822
|
-
|
|
203823
|
-
|
|
203824
|
-
|
|
203825
|
-
|
|
203826
|
-
|
|
203827
|
-
|
|
203828
|
-
|
|
203829
|
-
|
|
203830
|
-
|
|
203831
|
-
|
|
203832
|
-
|
|
203833
|
-
|
|
203834
|
-
|
|
203835
|
-
|
|
203836
|
-
|
|
203837
|
-
|
|
203838
|
-
|
|
203839
|
-
|
|
203840
|
-
|
|
203841
|
-
|
|
203842
|
-
|
|
203843
|
-
|
|
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,
|
|
203844
204807
|
foldInside as d,
|
|
203845
|
-
|
|
203846
|
-
|
|
203847
|
-
|
|
203848
|
-
|
|
203849
|
-
|
|
203850
|
-
|
|
203851
|
-
|
|
203852
|
-
|
|
203853
|
-
|
|
203854
|
-
|
|
203855
|
-
|
|
203856
|
-
|
|
203857
|
-
|
|
203858
|
-
|
|
203859
|
-
|
|
203860
|
-
|
|
203861
|
-
|
|
203862
|
-
|
|
203863
|
-
|
|
203864
|
-
|
|
203865
|
-
|
|
203866
|
-
|
|
203867
|
-
|
|
203868
|
-
|
|
203869
|
-
|
|
203870
|
-
|
|
203871
|
-
|
|
203872
|
-
|
|
203873
|
-
|
|
203874
|
-
|
|
203875
|
-
|
|
203876
|
-
|
|
203877
|
-
|
|
203878
|
-
|
|
203879
|
-
|
|
203880
|
-
|
|
203881
|
-
|
|
203882
|
-
|
|
203883
|
-
|
|
203884
|
-
|
|
203885
|
-
|
|
203886
|
-
|
|
203887
|
-
|
|
203888
|
-
|
|
203889
|
-
|
|
203890
|
-
|
|
203891
|
-
|
|
203892
|
-
|
|
203893
|
-
|
|
203894
|
-
|
|
203895
|
-
|
|
203896
|
-
|
|
203897
|
-
|
|
203898
|
-
|
|
203899
|
-
|
|
203900
|
-
isObjectLike$1 as dx,
|
|
203901
|
-
baseGetTag as dy,
|
|
203902
|
-
Symbol$1 as dz,
|
|
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,
|
|
203903
204863
|
ifNotIn as e,
|
|
203904
204864
|
foldNodeProp as f,
|
|
203905
204865
|
completeFromList as g,
|
|
@@ -203913,13 +204873,13 @@ export {
|
|
|
203913
204873
|
useQuery as o,
|
|
203914
204874
|
trpc as p,
|
|
203915
204875
|
selectNeighbourBeforeRemove as q,
|
|
203916
|
-
|
|
204876
|
+
disposeTerminal as r,
|
|
203917
204877
|
styleTags as s,
|
|
203918
204878
|
tags$1 as t,
|
|
203919
204879
|
useAdapter as u,
|
|
203920
|
-
|
|
203921
|
-
|
|
203922
|
-
|
|
203923
|
-
|
|
203924
|
-
|
|
204880
|
+
centralPanelPosition as v,
|
|
204881
|
+
ensureEdgeGroups as w,
|
|
204882
|
+
attachEdgeGroupDragVisibility as x,
|
|
204883
|
+
registerInnerDockview as y,
|
|
204884
|
+
PanelVisibilityContext as z
|
|
203925
204885
|
};
|