@band-app/server 0.14.0 → 0.15.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/{DockviewTerminalContainer-CjLCp0Ep.js → DockviewTerminalContainer-DJBIrF63.js} +2 -2
- package/dist/client/assets/{TerminalPanel-Cu7fEaGN.js → TerminalPanel-CJRwWyR3.js} +1 -1
- package/dist/client/assets/{_basePickBy-CQtQtDdV.js → _basePickBy-Dc0lZvrW.js} +1 -1
- package/dist/client/assets/{_baseUniq-D4iUo06T.js → _baseUniq-Cf73kSyg.js} +1 -1
- package/dist/client/assets/{arc-Bk8y2eXC.js → arc-CwSM8pE7.js} +1 -1
- package/dist/client/assets/{architectureDiagram-VXUJARFQ-nOygF9m2.js → architectureDiagram-VXUJARFQ-CH39Gb3A.js} +1 -1
- package/dist/client/assets/{blockDiagram-VD42YOAC-CZ4Nt28v.js → blockDiagram-VD42YOAC-DDxgl1uo.js} +1 -1
- package/dist/client/assets/{c4Diagram-YG6GDRKO-C31ZTlu2.js → c4Diagram-YG6GDRKO-BfEjKk-g.js} +1 -1
- package/dist/client/assets/channel-CXGOk1aw.js +1 -0
- package/dist/client/assets/{chunk-4BX2VUAB-GjIrL7gq.js → chunk-4BX2VUAB-m8XoXk_H.js} +1 -1
- package/dist/client/assets/{chunk-55IACEB6-Dd6rfkjS.js → chunk-55IACEB6-CtGE4lZU.js} +1 -1
- package/dist/client/assets/{chunk-B4BG7PRW-Dzfqlv3x.js → chunk-B4BG7PRW-e8RHFxfZ.js} +1 -1
- package/dist/client/assets/{chunk-DI55MBZ5-CP20GTKI.js → chunk-DI55MBZ5-6OH7qKMA.js} +1 -1
- package/dist/client/assets/{chunk-FMBD7UC4-BjMT67vC.js → chunk-FMBD7UC4-OC-xaPXK.js} +1 -1
- package/dist/client/assets/{chunk-QN33PNHL-DjTHrDYb.js → chunk-QN33PNHL-OAk8wo3f.js} +1 -1
- package/dist/client/assets/{chunk-QZHKN3VN-DaZKkfet.js → chunk-QZHKN3VN-BQaX9Wrw.js} +1 -1
- package/dist/client/assets/{chunk-TZMSLE5B-C-s0f3Nv.js → chunk-TZMSLE5B-BB9WpJAf.js} +1 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-CN-WyCFd.js +1 -0
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-CN-WyCFd.js +1 -0
- package/dist/client/assets/clone-BLJrTeWA.js +1 -0
- package/dist/client/assets/{cose-bilkent-S5V4N54A-DWG1ghIg.js → cose-bilkent-S5V4N54A-C9h_X8Kk.js} +1 -1
- package/dist/client/assets/{dagre-6UL2VRFP-D5Xahd1k.js → dagre-6UL2VRFP-DqYC11ua.js} +1 -1
- package/dist/client/assets/{diagram-PSM6KHXK-DB5Yj4_A.js → diagram-PSM6KHXK-CI1DRC6A.js} +1 -1
- package/dist/client/assets/{diagram-QEK2KX5R-CaI4Qm9S.js → diagram-QEK2KX5R-fCfXFf0Y.js} +1 -1
- package/dist/client/assets/{diagram-S2PKOQOG-Bc8uBUs8.js → diagram-S2PKOQOG-ShkC9z2o.js} +1 -1
- package/dist/client/assets/{erDiagram-Q2GNP2WA-BEdcnVfH.js → erDiagram-Q2GNP2WA-CaIQw3Ar.js} +1 -1
- package/dist/client/assets/{flowDiagram-NV44I4VS-CP1RMYLo.js → flowDiagram-NV44I4VS-CBTayrED.js} +1 -1
- package/dist/client/assets/{ganttDiagram-JELNMOA3-DybSY1zy.js → ganttDiagram-JELNMOA3-BXX1Htdo.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-V2S2FVAM-B1zM9cMa.js → gitGraphDiagram-V2S2FVAM-Dwzg4ngG.js} +1 -1
- package/dist/client/assets/{graph-CPZWfRvB.js → graph-CiXo3Prx.js} +1 -1
- package/dist/client/assets/{highlighted-body-B3W2YXNL-Bugc5R-I.js → highlighted-body-B3W2YXNL-7aLtgz8i.js} +1 -1
- package/dist/client/assets/{index-mOXvCPx7.js → index-BCNUajNr.js} +1 -1
- package/dist/client/assets/{index-CYD8Chzm.js → index-BMWcJGJE.js} +1 -1
- package/dist/client/assets/{index-BydRuBb_.js → index-C1zwysWn.js} +1 -1
- package/dist/client/assets/{index-Cm01-0la.js → index-CO6I2abN.js} +1 -1
- package/dist/client/assets/{index-CijlrIEA.js → index-CR-ehys5.js} +1 -1
- package/dist/client/assets/{index-DEVawlAU.js → index-CVm5Qdu2.js} +1 -1
- package/dist/client/assets/{index-Bu-ZuLPi.js → index-CfYqVQ5p.js} +1 -1
- package/dist/client/assets/{index-D5BWxHiy.js → index-Cg6YccFW.js} +1 -1
- package/dist/client/assets/{index-X_vPvtM3.js → index-DQmzIoYb.js} +1 -1
- package/dist/client/assets/{index-D4U4UdW8.js → index-DRtcpY-M.js} +1 -1
- package/dist/client/assets/{index-BGq7dGXw.js → index-DZu_2Bx_.js} +1 -1
- package/dist/client/assets/{index-vP2I9_aT.js → index-De1kIhJh.js} +1 -1
- package/dist/client/assets/{index-CrF4PAiW.js → index-Di4toQJ5.js} +1 -1
- package/dist/client/assets/{index-SP7EGmTJ.js → index-DmilV26W.js} +1 -1
- package/dist/client/assets/{index-BSZ6dtOY.js → index-Du9yJkB_.js} +1 -1
- package/dist/client/assets/{index-BSvAdzfH.js → index-DypgdPcb.js} +1 -1
- package/dist/client/assets/{index-BQkn45ME.js → index-Gs7HImF7.js} +1 -1
- package/dist/client/assets/{index-BKUORVg0.js → index-eX1Ljh4a.js} +1 -1
- package/dist/client/assets/{infoDiagram-HS3SLOUP-BCk158Sc.js → infoDiagram-HS3SLOUP-CWD1TyOW.js} +1 -1
- package/dist/client/assets/{journeyDiagram-XKPGCS4Q-Dmw405Jr.js → journeyDiagram-XKPGCS4Q-DhxNYqmd.js} +1 -1
- package/dist/client/assets/{kanban-definition-3W4ZIXB7-DqNJB_Z3.js → kanban-definition-3W4ZIXB7-CnS4C6i0.js} +1 -1
- package/dist/client/assets/{layout-ODCofYfe.js → layout-CSID7t17.js} +1 -1
- package/dist/client/assets/{linear-CHYpf9oZ.js → linear-DoyBnBXg.js} +1 -1
- package/dist/client/assets/{main-81Q8XW4n.js → main-DqsO5O95.js} +225 -225
- package/dist/client/assets/{mindmap-definition-VGOIOE7T-DD4Ndh7U.js → mindmap-definition-VGOIOE7T-DInqVMnG.js} +1 -1
- package/dist/client/assets/{pieDiagram-ADFJNKIX-C9vB0eMW.js → pieDiagram-ADFJNKIX-9NXrhDdT.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-AYHSOK5B-DKJimp3K.js → quadrantDiagram-AYHSOK5B-C9V_pdwH.js} +1 -1
- package/dist/client/assets/{requirementDiagram-UZGBJVZJ-_AjYejyE.js → requirementDiagram-UZGBJVZJ-D7InXBsj.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-TZEHDZUN-BN_ggjKc.js → sankeyDiagram-TZEHDZUN-wucasjR9.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WL72ISMW-Ck-zlUdD.js → sequenceDiagram-WL72ISMW-z8y3Dw_f.js} +1 -1
- package/dist/client/assets/{square-terminal-DVejknjY.js → square-terminal-BGmf1D-6.js} +1 -1
- package/dist/client/assets/{stateDiagram-FKZM4ZOC-Ccmp8_yK.js → stateDiagram-FKZM4ZOC-UgwHItEV.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-B0Y2fSqT.js +1 -0
- package/dist/client/assets/{timeline-definition-IT6M3QCI-Bm5sYZxz.js → timeline-definition-IT6M3QCI-BFRCSYLj.js} +1 -1
- package/dist/client/assets/{treemap-GDKQZRPO-C6oEKt2u.js → treemap-GDKQZRPO-aQmWnuZQ.js} +1 -1
- package/dist/client/assets/{useSessionListContext-l-QdtVht.js → useSessionListContext-HoR6j8FY.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId-BPktlGJd.js → workspace._workspaceId-DGCQw9gi.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.changes-DNu9WOV2.js → workspace._workspaceId.changes-DBE9NcLH.js} +1 -1
- package/dist/client/assets/workspace._workspaceId.code-Cc2uBW1l.js +1 -0
- package/dist/client/assets/{workspace._workspaceId.code._-BHhCSQ0w.js → workspace._workspaceId.code._-CsnvG2rj.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.code.index-0y_GQ6sP.js → workspace._workspaceId.code.index-BdfNmZpz.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.index-CtrlsI9z.js → workspace._workspaceId.index-C7NyedGf.js} +1 -1
- package/dist/client/assets/{workspace._workspaceId.terminal-DsvwvNc_.js → workspace._workspaceId.terminal-C5ph2UWn.js} +2 -2
- package/dist/client/assets/{xychartDiagram-PRI3JC2R-ru_cdw1P.js → xychartDiagram-PRI3JC2R-DElSdzdM.js} +1 -1
- package/dist/server/assets/{DockviewTerminalContainer-DVUKt_HJ.js → DockviewTerminalContainer-Btn06b30.js} +3 -3
- package/dist/server/assets/{TerminalPanel-hEaDQqdo.js → TerminalPanel-DiuUhPK5.js} +1 -1
- package/dist/server/assets/{_basePickBy-Nag5vQgo.js → _basePickBy-D5WFbUhD.js} +2 -2
- package/dist/server/assets/{_baseUniq-BcTT1Srn.js → _baseUniq-DFZeWlPn.js} +1 -1
- package/dist/server/assets/{_tanstack-start-manifest_v-D0rpEWOW.js → _tanstack-start-manifest_v-UCApGYfd.js} +1 -1
- package/dist/server/assets/{arc-CDj2zIqg.js → arc-B1QmYB3V.js} +1 -1
- package/dist/server/assets/{architecture-7HQA4BMR-7A5zOnYc.js → architecture-7HQA4BMR-SXElPY6g.js} +6 -6
- package/dist/server/assets/{architectureDiagram-VXUJARFQ--uDzxMk3.js → architectureDiagram-VXUJARFQ-H4ZI6Opr.js} +6 -6
- package/dist/server/assets/{blockDiagram-VD42YOAC-DAc1UHQ6.js → blockDiagram-VD42YOAC-UhTmqpkK.js} +6 -6
- package/dist/server/assets/{c4Diagram-YG6GDRKO-ByeFZAO1.js → c4Diagram-YG6GDRKO-BcLh1QQl.js} +2 -2
- package/dist/server/assets/{channel-B6u30R-7.js → channel-DVtl256s.js} +1 -1
- package/dist/server/assets/{chunk-4BX2VUAB-X_mApFBH.js → chunk-4BX2VUAB-BYUElNcW.js} +1 -1
- package/dist/server/assets/{chunk-55IACEB6-DMO5XJKd.js → chunk-55IACEB6-CQXVz3Ix.js} +1 -1
- package/dist/server/assets/{chunk-B4BG7PRW-Da7HlBM1.js → chunk-B4BG7PRW-xbFaXlOL.js} +4 -4
- package/dist/server/assets/{chunk-DI55MBZ5-DuioLWo-.js → chunk-DI55MBZ5-BWUyQjGD.js} +3 -3
- package/dist/server/assets/{chunk-FMBD7UC4-BhKTk6rW.js → chunk-FMBD7UC4-tuJ9minw.js} +1 -1
- package/dist/server/assets/{chunk-QN33PNHL-BgZXw9n5.js → chunk-QN33PNHL-B9p522HA.js} +1 -1
- package/dist/server/assets/{chunk-QZHKN3VN-DHuwppPm.js → chunk-QZHKN3VN-C6GPdMrh.js} +1 -1
- package/dist/server/assets/{chunk-TZMSLE5B-w8fhHHwn.js → chunk-TZMSLE5B-6Ng3t3Od.js} +1 -1
- package/dist/server/assets/{classDiagram-v2-WZHVMYZB-BZf5qvSp.js → classDiagram-2ON5EDUG-BvOdRP7s.js} +5 -5
- package/dist/server/assets/{classDiagram-2ON5EDUG-BZf5qvSp.js → classDiagram-v2-WZHVMYZB-BvOdRP7s.js} +5 -5
- package/dist/server/assets/{clone-CjoEs-v-.js → clone-CuDKCzEN.js} +1 -1
- package/dist/server/assets/{cose-bilkent-S5V4N54A-BNk0NAbB.js → cose-bilkent-S5V4N54A-BhU6LMhN.js} +1 -1
- package/dist/server/assets/{dagre-6UL2VRFP-C0_F8CHc.js → dagre-6UL2VRFP-CH-VbyTI.js} +6 -6
- package/dist/server/assets/{diagram-PSM6KHXK-LARMaMiS.js → diagram-PSM6KHXK-BE0vVJdc.js} +7 -7
- package/dist/server/assets/{diagram-QEK2KX5R-jKvozWzw.js → diagram-QEK2KX5R-rlYyF51_.js} +6 -6
- package/dist/server/assets/{diagram-S2PKOQOG-5a2K9q2r.js → diagram-S2PKOQOG-CsrxbKjr.js} +6 -6
- package/dist/server/assets/{erDiagram-Q2GNP2WA-DPxBpQns.js → erDiagram-Q2GNP2WA-DeBKeqCX.js} +4 -4
- package/dist/server/assets/{flowDiagram-NV44I4VS-CX3XZT5Y.js → flowDiagram-NV44I4VS-hg6b4dSR.js} +5 -5
- package/dist/server/assets/{ganttDiagram-JELNMOA3-BmjiDolw.js → ganttDiagram-JELNMOA3-oy5gzveG.js} +2 -2
- package/dist/server/assets/{gitGraph-G5XIXVHT-BxG8jjGU.js → gitGraph-G5XIXVHT-DyKGpXFt.js} +6 -6
- package/dist/server/assets/{gitGraphDiagram-V2S2FVAM-ChLdCg6Z.js → gitGraphDiagram-V2S2FVAM-CN8rFh7o.js} +7 -7
- package/dist/server/assets/{graph-Bx5JUzop.js → graph-CdsnxBHP.js} +2 -2
- package/dist/server/assets/{highlighted-body-B3W2YXNL-DDkviWDm.js → highlighted-body-B3W2YXNL-D6ahbJdi.js} +1 -1
- package/dist/server/assets/{index-DrrqcbHg.js → index-7k2BqwZv.js} +2 -2
- package/dist/server/assets/{index-DTkAyV2J.js → index-B9hFfb3C.js} +2 -2
- package/dist/server/assets/{index-BoT6zVKn.js → index-BJorH749.js} +2 -2
- package/dist/server/assets/{index-CDCloCld.js → index-BT8sxrq0.js} +2 -2
- package/dist/server/assets/{index-BP-Fy_Ud.js → index-BhJN38EV.js} +2 -2
- package/dist/server/assets/{index-BnAK5zRH.js → index-BzYp7sVL.js} +1 -1
- package/dist/server/assets/{index-DSGH2NU6.js → index-C9H7VUtp.js} +2 -2
- package/dist/server/assets/{index-Bb41VJM3.js → index-CaRM9svU.js} +4 -4
- package/dist/server/assets/{index-Dp74K7A4.js → index-CchdHjwq.js} +2 -2
- package/dist/server/assets/{index-OEnZTnkb.js → index-Crgd09US.js} +2 -2
- package/dist/server/assets/{index-Cuuby6oP.js → index-CsnrxvSd.js} +3 -3
- package/dist/server/assets/{index-C4USpn2y.js → index-D2P0pxCr.js} +2 -2
- package/dist/server/assets/{index-DjhMY50H.js → index-DBbuiN2t.js} +3 -3
- package/dist/server/assets/{index-BBCpeEJl.js → index-DIv5BUol.js} +2 -2
- package/dist/server/assets/{index-Duvita0E.js → index-Dp5TbN68.js} +5 -5
- package/dist/server/assets/{index-DO3wKBul.js → index-DsLZMKNC.js} +5 -5
- package/dist/server/assets/{index-CLsI0TMm.js → index-XaoY6ovr.js} +2 -2
- package/dist/server/assets/{index-BKnmhk3u.js → index-aOrOBCQS.js} +1 -1
- package/dist/server/assets/{info-VBDWY6EO-6bfVBBeD.js → info-VBDWY6EO-HckNvgz-.js} +6 -6
- package/dist/server/assets/{infoDiagram-HS3SLOUP-B1v9HmWX.js → infoDiagram-HS3SLOUP-P_hugt8D.js} +5 -5
- package/dist/server/assets/{journeyDiagram-XKPGCS4Q-Cb26EUwI.js → journeyDiagram-XKPGCS4Q-lQfkL_-i.js} +4 -4
- package/dist/server/assets/{kanban-definition-3W4ZIXB7-Cv4GaETC.js → kanban-definition-3W4ZIXB7-CFh-YdaO.js} +2 -2
- package/dist/server/assets/{layout-CQJCngSZ.js → layout-Ce1d_Ibk.js} +4 -4
- package/dist/server/assets/{linear-Civ7P345.js → linear-CuiUQTrq.js} +1 -1
- package/dist/server/assets/{mermaid-3ZIDBTTL-EBg4-fWO.js → mermaid-3ZIDBTTL-C7xGj9Xg.js} +1 -1
- package/dist/server/assets/{mermaid-parser.core-2e_OlBPy.js → mermaid-parser.core-BOlp9l_E.js} +11 -11
- package/dist/server/assets/{mindmap-definition-VGOIOE7T-uP_bqLZ-.js → mindmap-definition-VGOIOE7T-Byc-qFo2.js} +3 -3
- package/dist/server/assets/{packet-DYOGHKS2-C9RhEbus.js → packet-DYOGHKS2-BiRLh9CC.js} +6 -6
- package/dist/server/assets/{pie-VRWISCQL-DXIjmNyN.js → pie-VRWISCQL-hgf7Lgm4.js} +6 -6
- package/dist/server/assets/{pieDiagram-ADFJNKIX-C2Qp43pf.js → pieDiagram-ADFJNKIX-YXV3ET4_.js} +7 -7
- package/dist/server/assets/{quadrantDiagram-AYHSOK5B-C9I9kDB1.js → quadrantDiagram-AYHSOK5B-r_peNHCA.js} +2 -2
- package/dist/server/assets/{radar-ZZBFDIW7-CEz6u4b9.js → radar-ZZBFDIW7-CGIDKJlK.js} +6 -6
- package/dist/server/assets/{requirementDiagram-UZGBJVZJ-DmCcKz-Y.js → requirementDiagram-UZGBJVZJ-aI3jQPLf.js} +3 -3
- package/dist/server/assets/{router-BlHVACji.js → router-BNIoB7QX.js} +998 -337
- package/dist/server/assets/{sankeyDiagram-TZEHDZUN-DM2H1xi3.js → sankeyDiagram-TZEHDZUN-B1Sb9Zvd.js} +1 -1
- package/dist/server/assets/{sequenceDiagram-WL72ISMW-DWDQKCiq.js → sequenceDiagram-WL72ISMW-DrJxigNy.js} +3 -3
- package/dist/server/assets/{square-terminal-CCwkUkGX.js → square-terminal-DWTC1p8r.js} +1 -1
- package/dist/server/assets/{stateDiagram-FKZM4ZOC-_4Khdh4I.js → stateDiagram-FKZM4ZOC-Dnsp85zH.js} +8 -8
- package/dist/server/assets/{stateDiagram-v2-4FDKWEC3-Cos-pE9j.js → stateDiagram-v2-4FDKWEC3-C6x8SVRv.js} +4 -4
- package/dist/server/assets/{timeline-definition-IT6M3QCI-DeLSZGNq.js → timeline-definition-IT6M3QCI-DSIrepaO.js} +2 -2
- package/dist/server/assets/{treemap-GDKQZRPO-LKeqy604.js → treemap-GDKQZRPO-C9hefMmZ.js} +6 -6
- package/dist/server/assets/{workspace._workspaceId-C0PMWq41.js → workspace._workspaceId-BY5hpCRH.js} +2 -2
- package/dist/server/assets/{workspace._workspaceId.changes-CzyqOgM_.js → workspace._workspaceId.changes-CiekaeTG.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code._-QG2CLJod.js → workspace._workspaceId.code._-Bi-RxK7c.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.code.index-CVy3VzQK.js → workspace._workspaceId.code.index-DRR8qo6z.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.index-LBt-0JYY.js → workspace._workspaceId.index-BRFgw3FA.js} +1 -1
- package/dist/server/assets/{workspace._workspaceId.terminal-jMK4pgOD.js → workspace._workspaceId.terminal-BhyASMi7.js} +2 -2
- package/dist/server/assets/{xychartDiagram-PRI3JC2R-DHrKht9t.js → xychartDiagram-PRI3JC2R-0ftH7hFg.js} +2 -2
- package/dist/server/server.js +2 -2
- package/dist/start-server.mjs +66 -10
- package/package.json +5 -5
- package/dist/client/assets/channel-BgmjEVPj.js +0 -1
- package/dist/client/assets/classDiagram-2ON5EDUG-BKsagNLe.js +0 -1
- package/dist/client/assets/classDiagram-v2-WZHVMYZB-BKsagNLe.js +0 -1
- package/dist/client/assets/clone-CBcd3GIz.js +0 -1
- package/dist/client/assets/stateDiagram-v2-4FDKWEC3-Cgq8vGxD.js +0 -1
- package/dist/client/assets/workspace._workspaceId.code-DP6cBpn1.js +0 -1
|
@@ -1093,44 +1093,44 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
1093
1093
|
Component.displayName = toPascalCase(iconName);
|
|
1094
1094
|
return Component;
|
|
1095
1095
|
};
|
|
1096
|
-
const __iconNode$
|
|
1096
|
+
const __iconNode$1y = [
|
|
1097
1097
|
["path", { d: "M12 17V3", key: "1cwfxf" }],
|
|
1098
1098
|
["path", { d: "m6 11 6 6 6-6", key: "12ii2o" }],
|
|
1099
1099
|
["path", { d: "M19 21H5", key: "150jfl" }]
|
|
1100
1100
|
];
|
|
1101
|
-
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$
|
|
1102
|
-
const __iconNode$
|
|
1101
|
+
const ArrowDownToLine = createLucideIcon("arrow-down-to-line", __iconNode$1y);
|
|
1102
|
+
const __iconNode$1x = [
|
|
1103
1103
|
["path", { d: "M12 5v14", key: "s699le" }],
|
|
1104
1104
|
["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
|
|
1105
1105
|
];
|
|
1106
|
-
const ArrowDown = createLucideIcon("arrow-down", __iconNode$
|
|
1107
|
-
const __iconNode$
|
|
1106
|
+
const ArrowDown = createLucideIcon("arrow-down", __iconNode$1x);
|
|
1107
|
+
const __iconNode$1w = [
|
|
1108
1108
|
["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
|
|
1109
1109
|
["path", { d: "M19 12H5", key: "x3x0zl" }]
|
|
1110
1110
|
];
|
|
1111
|
-
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$
|
|
1112
|
-
const __iconNode$
|
|
1111
|
+
const ArrowLeft = createLucideIcon("arrow-left", __iconNode$1w);
|
|
1112
|
+
const __iconNode$1v = [
|
|
1113
1113
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1114
1114
|
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
1115
1115
|
];
|
|
1116
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
1117
|
-
const __iconNode$
|
|
1116
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$1v);
|
|
1117
|
+
const __iconNode$1u = [
|
|
1118
1118
|
["path", { d: "m18 9-6-6-6 6", key: "kcunyi" }],
|
|
1119
1119
|
["path", { d: "M12 3v14", key: "7cf3v8" }],
|
|
1120
1120
|
["path", { d: "M5 21h14", key: "11awu3" }]
|
|
1121
1121
|
];
|
|
1122
|
-
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$
|
|
1123
|
-
const __iconNode$
|
|
1122
|
+
const ArrowUpFromLine = createLucideIcon("arrow-up-from-line", __iconNode$1u);
|
|
1123
|
+
const __iconNode$1t = [
|
|
1124
1124
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
1125
1125
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
1126
1126
|
];
|
|
1127
|
-
const ArrowUp = createLucideIcon("arrow-up", __iconNode$
|
|
1128
|
-
const __iconNode$
|
|
1127
|
+
const ArrowUp = createLucideIcon("arrow-up", __iconNode$1t);
|
|
1128
|
+
const __iconNode$1s = [
|
|
1129
1129
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1130
1130
|
["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
|
|
1131
1131
|
];
|
|
1132
|
-
const Ban = createLucideIcon("ban", __iconNode$
|
|
1133
|
-
const __iconNode$
|
|
1132
|
+
const Ban = createLucideIcon("ban", __iconNode$1s);
|
|
1133
|
+
const __iconNode$1r = [
|
|
1134
1134
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
1135
1135
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
1136
1136
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -1138,8 +1138,8 @@ const __iconNode$1q = [
|
|
|
1138
1138
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
1139
1139
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
1140
1140
|
];
|
|
1141
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
1142
|
-
const __iconNode$
|
|
1141
|
+
const Bot = createLucideIcon("bot", __iconNode$1r);
|
|
1142
|
+
const __iconNode$1q = [
|
|
1143
1143
|
[
|
|
1144
1144
|
"path",
|
|
1145
1145
|
{ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1", key: "ezmyqa" }
|
|
@@ -1152,62 +1152,62 @@ const __iconNode$1p = [
|
|
|
1152
1152
|
}
|
|
1153
1153
|
]
|
|
1154
1154
|
];
|
|
1155
|
-
const Braces = createLucideIcon("braces", __iconNode$
|
|
1156
|
-
const __iconNode$
|
|
1155
|
+
const Braces = createLucideIcon("braces", __iconNode$1q);
|
|
1156
|
+
const __iconNode$1p = [
|
|
1157
1157
|
["path", { d: "m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16", key: "d5nyq2" }],
|
|
1158
1158
|
["path", { d: "M22 9v7", key: "pvm9v3" }],
|
|
1159
1159
|
["path", { d: "M3.304 13h6.392", key: "1q3zxz" }],
|
|
1160
1160
|
["circle", { cx: "18.5", cy: "12.5", r: "3.5", key: "z97x68" }]
|
|
1161
1161
|
];
|
|
1162
|
-
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$
|
|
1163
|
-
const __iconNode$
|
|
1164
|
-
const Check = createLucideIcon("check", __iconNode$
|
|
1165
|
-
const __iconNode$
|
|
1166
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
1167
|
-
const __iconNode$
|
|
1168
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
1169
|
-
const __iconNode$
|
|
1170
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
1171
|
-
const __iconNode$
|
|
1172
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
1173
|
-
const __iconNode$
|
|
1162
|
+
const CaseSensitive = createLucideIcon("case-sensitive", __iconNode$1p);
|
|
1163
|
+
const __iconNode$1o = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
1164
|
+
const Check = createLucideIcon("check", __iconNode$1o);
|
|
1165
|
+
const __iconNode$1n = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
1166
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$1n);
|
|
1167
|
+
const __iconNode$1m = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
1168
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$1m);
|
|
1169
|
+
const __iconNode$1l = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
1170
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$1l);
|
|
1171
|
+
const __iconNode$1k = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
1172
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$1k);
|
|
1173
|
+
const __iconNode$1j = [
|
|
1174
1174
|
["path", { d: "m7 20 5-5 5 5", key: "13a0gw" }],
|
|
1175
1175
|
["path", { d: "m7 4 5 5 5-5", key: "1kwcof" }]
|
|
1176
1176
|
];
|
|
1177
|
-
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$
|
|
1178
|
-
const __iconNode$
|
|
1177
|
+
const ChevronsDownUp = createLucideIcon("chevrons-down-up", __iconNode$1j);
|
|
1178
|
+
const __iconNode$1i = [
|
|
1179
1179
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
1180
1180
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
1181
1181
|
];
|
|
1182
|
-
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$
|
|
1183
|
-
const __iconNode$
|
|
1182
|
+
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$1i);
|
|
1183
|
+
const __iconNode$1h = [
|
|
1184
1184
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1185
1185
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
1186
1186
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
1187
1187
|
];
|
|
1188
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
1189
|
-
const __iconNode$
|
|
1188
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$1h);
|
|
1189
|
+
const __iconNode$1g = [
|
|
1190
1190
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1191
1191
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
1192
1192
|
];
|
|
1193
|
-
const CircleCheck = createLucideIcon("circle-check", __iconNode$
|
|
1194
|
-
const __iconNode$
|
|
1193
|
+
const CircleCheck = createLucideIcon("circle-check", __iconNode$1g);
|
|
1194
|
+
const __iconNode$1f = [
|
|
1195
1195
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1196
1196
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
1197
1197
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
1198
1198
|
];
|
|
1199
|
-
const CircleX = createLucideIcon("circle-x", __iconNode$
|
|
1200
|
-
const __iconNode$
|
|
1201
|
-
const Circle = createLucideIcon("circle", __iconNode$
|
|
1202
|
-
const __iconNode$
|
|
1199
|
+
const CircleX = createLucideIcon("circle-x", __iconNode$1f);
|
|
1200
|
+
const __iconNode$1e = [["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]];
|
|
1201
|
+
const Circle = createLucideIcon("circle", __iconNode$1e);
|
|
1202
|
+
const __iconNode$1d = [
|
|
1203
1203
|
["path", { d: "M11 14h10", key: "1w8e9d" }],
|
|
1204
1204
|
["path", { d: "M16 4h2a2 2 0 0 1 2 2v1.344", key: "1e62lh" }],
|
|
1205
1205
|
["path", { d: "m17 18 4-4-4-4", key: "z2g111" }],
|
|
1206
1206
|
["path", { d: "M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113", key: "bjbb7m" }],
|
|
1207
1207
|
["rect", { x: "8", y: "2", width: "8", height: "4", rx: "1", key: "ublpy" }]
|
|
1208
1208
|
];
|
|
1209
|
-
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$
|
|
1210
|
-
const __iconNode$
|
|
1209
|
+
const ClipboardPaste = createLucideIcon("clipboard-paste", __iconNode$1d);
|
|
1210
|
+
const __iconNode$1c = [
|
|
1211
1211
|
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
1212
1212
|
[
|
|
1213
1213
|
"path",
|
|
@@ -1217,59 +1217,59 @@ const __iconNode$1b = [
|
|
|
1217
1217
|
}
|
|
1218
1218
|
]
|
|
1219
1219
|
];
|
|
1220
|
-
const Clipboard = createLucideIcon("clipboard", __iconNode$
|
|
1221
|
-
const __iconNode$
|
|
1220
|
+
const Clipboard = createLucideIcon("clipboard", __iconNode$1c);
|
|
1221
|
+
const __iconNode$1b = [
|
|
1222
1222
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1223
1223
|
["path", { d: "M12 6v6l4 2", key: "mmk7yg" }]
|
|
1224
1224
|
];
|
|
1225
|
-
const Clock = createLucideIcon("clock", __iconNode$
|
|
1226
|
-
const __iconNode$
|
|
1225
|
+
const Clock = createLucideIcon("clock", __iconNode$1b);
|
|
1226
|
+
const __iconNode$1a = [
|
|
1227
1227
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
1228
1228
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
1229
1229
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
1230
1230
|
];
|
|
1231
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
1232
|
-
const __iconNode$
|
|
1231
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$1a);
|
|
1232
|
+
const __iconNode$19 = [
|
|
1233
1233
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
1234
1234
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
1235
1235
|
];
|
|
1236
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
1237
|
-
const __iconNode$
|
|
1236
|
+
const Code = createLucideIcon("code", __iconNode$19);
|
|
1237
|
+
const __iconNode$18 = [
|
|
1238
1238
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1239
1239
|
["path", { d: "M12 3v18", key: "108xh3" }]
|
|
1240
1240
|
];
|
|
1241
|
-
const Columns2 = createLucideIcon("columns-2", __iconNode$
|
|
1242
|
-
const __iconNode$
|
|
1241
|
+
const Columns2 = createLucideIcon("columns-2", __iconNode$18);
|
|
1242
|
+
const __iconNode$17 = [
|
|
1243
1243
|
[
|
|
1244
1244
|
"path",
|
|
1245
1245
|
{ d: "M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3", key: "11bfej" }
|
|
1246
1246
|
]
|
|
1247
1247
|
];
|
|
1248
|
-
const Command$1 = createLucideIcon("command", __iconNode$
|
|
1249
|
-
const __iconNode$
|
|
1248
|
+
const Command$1 = createLucideIcon("command", __iconNode$17);
|
|
1249
|
+
const __iconNode$16 = [
|
|
1250
1250
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
1251
1251
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
1252
1252
|
];
|
|
1253
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
1254
|
-
const __iconNode$
|
|
1253
|
+
const Copy = createLucideIcon("copy", __iconNode$16);
|
|
1254
|
+
const __iconNode$15 = [
|
|
1255
1255
|
["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
|
|
1256
1256
|
["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
|
|
1257
1257
|
["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
|
|
1258
1258
|
];
|
|
1259
|
-
const Database = createLucideIcon("database", __iconNode$
|
|
1260
|
-
const __iconNode$
|
|
1259
|
+
const Database = createLucideIcon("database", __iconNode$15);
|
|
1260
|
+
const __iconNode$14 = [
|
|
1261
1261
|
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
1262
1262
|
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
1263
1263
|
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
1264
1264
|
];
|
|
1265
|
-
const Download = createLucideIcon("download", __iconNode$
|
|
1266
|
-
const __iconNode$
|
|
1265
|
+
const Download = createLucideIcon("download", __iconNode$14);
|
|
1266
|
+
const __iconNode$13 = [
|
|
1267
1267
|
["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }],
|
|
1268
1268
|
["circle", { cx: "12", cy: "5", r: "1", key: "gxeob9" }],
|
|
1269
1269
|
["circle", { cx: "12", cy: "19", r: "1", key: "lyex9k" }]
|
|
1270
1270
|
];
|
|
1271
|
-
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$
|
|
1272
|
-
const __iconNode$
|
|
1271
|
+
const EllipsisVertical = createLucideIcon("ellipsis-vertical", __iconNode$13);
|
|
1272
|
+
const __iconNode$12 = [
|
|
1273
1273
|
["path", { d: "m15 15 6 6", key: "1s409w" }],
|
|
1274
1274
|
["path", { d: "m15 9 6-6", key: "ko1vev" }],
|
|
1275
1275
|
["path", { d: "M21 16v5h-5", key: "1ck2sf" }],
|
|
@@ -1279,14 +1279,14 @@ const __iconNode$11 = [
|
|
|
1279
1279
|
["path", { d: "M3 8V3h5", key: "1ln10m" }],
|
|
1280
1280
|
["path", { d: "M9 9 3 3", key: "v551iv" }]
|
|
1281
1281
|
];
|
|
1282
|
-
const Expand = createLucideIcon("expand", __iconNode$
|
|
1283
|
-
const __iconNode$
|
|
1282
|
+
const Expand = createLucideIcon("expand", __iconNode$12);
|
|
1283
|
+
const __iconNode$11 = [
|
|
1284
1284
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
1285
1285
|
["path", { d: "M10 14 21 3", key: "gplh6r" }],
|
|
1286
1286
|
["path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6", key: "a6xqqp" }]
|
|
1287
1287
|
];
|
|
1288
|
-
const ExternalLink$1 = createLucideIcon("external-link", __iconNode$
|
|
1289
|
-
const __iconNode
|
|
1288
|
+
const ExternalLink$1 = createLucideIcon("external-link", __iconNode$11);
|
|
1289
|
+
const __iconNode$10 = [
|
|
1290
1290
|
[
|
|
1291
1291
|
"path",
|
|
1292
1292
|
{
|
|
@@ -1296,8 +1296,8 @@ const __iconNode$$ = [
|
|
|
1296
1296
|
],
|
|
1297
1297
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
1298
1298
|
];
|
|
1299
|
-
const Eye = createLucideIcon("eye", __iconNode
|
|
1300
|
-
const __iconNode
|
|
1299
|
+
const Eye = createLucideIcon("eye", __iconNode$10);
|
|
1300
|
+
const __iconNode$$ = [
|
|
1301
1301
|
[
|
|
1302
1302
|
"path",
|
|
1303
1303
|
{
|
|
@@ -1315,8 +1315,8 @@ const __iconNode$_ = [
|
|
|
1315
1315
|
{ d: "M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1", key: "mpwhp6" }
|
|
1316
1316
|
]
|
|
1317
1317
|
];
|
|
1318
|
-
const FileBraces = createLucideIcon("file-braces", __iconNode
|
|
1319
|
-
const __iconNode$
|
|
1318
|
+
const FileBraces = createLucideIcon("file-braces", __iconNode$$);
|
|
1319
|
+
const __iconNode$_ = [
|
|
1320
1320
|
[
|
|
1321
1321
|
"path",
|
|
1322
1322
|
{
|
|
@@ -1328,8 +1328,8 @@ const __iconNode$Z = [
|
|
|
1328
1328
|
["path", { d: "m5 16-3 3 3 3", key: "331omg" }],
|
|
1329
1329
|
["path", { d: "m9 22 3-3-3-3", key: "lsp7cz" }]
|
|
1330
1330
|
];
|
|
1331
|
-
const FileCodeCorner = createLucideIcon("file-code-corner", __iconNode$
|
|
1332
|
-
const __iconNode$
|
|
1331
|
+
const FileCodeCorner = createLucideIcon("file-code-corner", __iconNode$_);
|
|
1332
|
+
const __iconNode$Z = [
|
|
1333
1333
|
[
|
|
1334
1334
|
"path",
|
|
1335
1335
|
{
|
|
@@ -1340,8 +1340,8 @@ const __iconNode$Y = [
|
|
|
1340
1340
|
["path", { d: "M12 9v4", key: "juzpu7" }],
|
|
1341
1341
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
1342
1342
|
];
|
|
1343
|
-
const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$
|
|
1344
|
-
const __iconNode$
|
|
1343
|
+
const FileExclamationPoint = createLucideIcon("file-exclamation-point", __iconNode$Z);
|
|
1344
|
+
const __iconNode$Y = [
|
|
1345
1345
|
[
|
|
1346
1346
|
"path",
|
|
1347
1347
|
{
|
|
@@ -1353,8 +1353,8 @@ const __iconNode$X = [
|
|
|
1353
1353
|
["path", { d: "M2 15h10", key: "jfw4w8" }],
|
|
1354
1354
|
["path", { d: "m9 18 3-3-3-3", key: "112psh" }]
|
|
1355
1355
|
];
|
|
1356
|
-
const FileInput = createLucideIcon("file-input", __iconNode$
|
|
1357
|
-
const __iconNode$
|
|
1356
|
+
const FileInput = createLucideIcon("file-input", __iconNode$Y);
|
|
1357
|
+
const __iconNode$X = [
|
|
1358
1358
|
[
|
|
1359
1359
|
"path",
|
|
1360
1360
|
{
|
|
@@ -1366,8 +1366,8 @@ const __iconNode$W = [
|
|
|
1366
1366
|
["path", { d: "M9 15h6", key: "cctwl0" }],
|
|
1367
1367
|
["path", { d: "M12 18v-6", key: "17g6i2" }]
|
|
1368
1368
|
];
|
|
1369
|
-
const FilePlus = createLucideIcon("file-plus", __iconNode$
|
|
1370
|
-
const __iconNode$
|
|
1369
|
+
const FilePlus = createLucideIcon("file-plus", __iconNode$X);
|
|
1370
|
+
const __iconNode$W = [
|
|
1371
1371
|
[
|
|
1372
1372
|
"path",
|
|
1373
1373
|
{
|
|
@@ -1380,8 +1380,8 @@ const __iconNode$V = [
|
|
|
1380
1380
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
1381
1381
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
1382
1382
|
];
|
|
1383
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
1384
|
-
const __iconNode$
|
|
1383
|
+
const FileText = createLucideIcon("file-text", __iconNode$W);
|
|
1384
|
+
const __iconNode$V = [
|
|
1385
1385
|
[
|
|
1386
1386
|
"path",
|
|
1387
1387
|
{
|
|
@@ -1391,8 +1391,8 @@ const __iconNode$U = [
|
|
|
1391
1391
|
],
|
|
1392
1392
|
["path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" }]
|
|
1393
1393
|
];
|
|
1394
|
-
const File = createLucideIcon("file", __iconNode$
|
|
1395
|
-
const __iconNode$
|
|
1394
|
+
const File = createLucideIcon("file", __iconNode$V);
|
|
1395
|
+
const __iconNode$U = [
|
|
1396
1396
|
[
|
|
1397
1397
|
"path",
|
|
1398
1398
|
{
|
|
@@ -1401,8 +1401,8 @@ const __iconNode$T = [
|
|
|
1401
1401
|
}
|
|
1402
1402
|
]
|
|
1403
1403
|
];
|
|
1404
|
-
const FolderOpen = createLucideIcon("folder-open", __iconNode$
|
|
1405
|
-
const __iconNode$
|
|
1404
|
+
const FolderOpen = createLucideIcon("folder-open", __iconNode$U);
|
|
1405
|
+
const __iconNode$T = [
|
|
1406
1406
|
["path", { d: "M12 10v6", key: "1bos4e" }],
|
|
1407
1407
|
["path", { d: "M9 13h6", key: "1uhe8q" }],
|
|
1408
1408
|
[
|
|
@@ -1413,8 +1413,8 @@ const __iconNode$S = [
|
|
|
1413
1413
|
}
|
|
1414
1414
|
]
|
|
1415
1415
|
];
|
|
1416
|
-
const FolderPlus = createLucideIcon("folder-plus", __iconNode$
|
|
1417
|
-
const __iconNode$
|
|
1416
|
+
const FolderPlus = createLucideIcon("folder-plus", __iconNode$T);
|
|
1417
|
+
const __iconNode$S = [
|
|
1418
1418
|
[
|
|
1419
1419
|
"path",
|
|
1420
1420
|
{
|
|
@@ -1423,8 +1423,8 @@ const __iconNode$R = [
|
|
|
1423
1423
|
}
|
|
1424
1424
|
]
|
|
1425
1425
|
];
|
|
1426
|
-
const Folder = createLucideIcon("folder", __iconNode$
|
|
1427
|
-
const __iconNode$
|
|
1426
|
+
const Folder = createLucideIcon("folder", __iconNode$S);
|
|
1427
|
+
const __iconNode$R = [
|
|
1428
1428
|
[
|
|
1429
1429
|
"path",
|
|
1430
1430
|
{
|
|
@@ -1437,39 +1437,39 @@ const __iconNode$Q = [
|
|
|
1437
1437
|
{ d: "M3 8.268a2 2 0 0 0-1 1.738V19a2 2 0 0 0 2 2h11a2 2 0 0 0 1.732-1", key: "yxbcw3" }
|
|
1438
1438
|
]
|
|
1439
1439
|
];
|
|
1440
|
-
const Folders = createLucideIcon("folders", __iconNode$
|
|
1441
|
-
const __iconNode$
|
|
1440
|
+
const Folders = createLucideIcon("folders", __iconNode$R);
|
|
1441
|
+
const __iconNode$Q = [
|
|
1442
1442
|
["path", { d: "M15 6a9 9 0 0 0-9 9V3", key: "1cii5b" }],
|
|
1443
1443
|
["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
|
|
1444
1444
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }]
|
|
1445
1445
|
];
|
|
1446
|
-
const GitBranch = createLucideIcon("git-branch", __iconNode$
|
|
1447
|
-
const __iconNode$
|
|
1446
|
+
const GitBranch = createLucideIcon("git-branch", __iconNode$Q);
|
|
1447
|
+
const __iconNode$P = [
|
|
1448
1448
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }],
|
|
1449
1449
|
["line", { x1: "3", x2: "9", y1: "12", y2: "12", key: "1dyftd" }],
|
|
1450
1450
|
["line", { x1: "15", x2: "21", y1: "12", y2: "12", key: "oup4p8" }]
|
|
1451
1451
|
];
|
|
1452
|
-
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$
|
|
1453
|
-
const __iconNode$
|
|
1452
|
+
const GitCommitHorizontal = createLucideIcon("git-commit-horizontal", __iconNode$P);
|
|
1453
|
+
const __iconNode$O = [
|
|
1454
1454
|
["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
|
|
1455
1455
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
1456
1456
|
["path", { d: "M13 6h3a2 2 0 0 1 2 2v7", key: "1yeb86" }],
|
|
1457
1457
|
["path", { d: "M11 18H8a2 2 0 0 1-2-2V9", key: "19pyzm" }]
|
|
1458
1458
|
];
|
|
1459
|
-
const GitCompare = createLucideIcon("git-compare", __iconNode$
|
|
1460
|
-
const __iconNode$
|
|
1459
|
+
const GitCompare = createLucideIcon("git-compare", __iconNode$O);
|
|
1460
|
+
const __iconNode$N = [
|
|
1461
1461
|
["circle", { cx: "18", cy: "18", r: "3", key: "1xkwt0" }],
|
|
1462
1462
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
1463
1463
|
["path", { d: "M6 21V9a9 9 0 0 0 9 9", key: "7kw0sc" }]
|
|
1464
1464
|
];
|
|
1465
|
-
const GitMerge = createLucideIcon("git-merge", __iconNode$
|
|
1466
|
-
const __iconNode$
|
|
1465
|
+
const GitMerge = createLucideIcon("git-merge", __iconNode$N);
|
|
1466
|
+
const __iconNode$M = [
|
|
1467
1467
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1468
1468
|
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
1469
1469
|
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
1470
1470
|
];
|
|
1471
|
-
const Globe = createLucideIcon("globe", __iconNode$
|
|
1472
|
-
const __iconNode$
|
|
1471
|
+
const Globe = createLucideIcon("globe", __iconNode$M);
|
|
1472
|
+
const __iconNode$L = [
|
|
1473
1473
|
["circle", { cx: "12", cy: "9", r: "1", key: "124mty" }],
|
|
1474
1474
|
["circle", { cx: "19", cy: "9", r: "1", key: "1ruzo2" }],
|
|
1475
1475
|
["circle", { cx: "5", cy: "9", r: "1", key: "1a8b28" }],
|
|
@@ -1477,14 +1477,14 @@ const __iconNode$K = [
|
|
|
1477
1477
|
["circle", { cx: "19", cy: "15", r: "1", key: "1a92ep" }],
|
|
1478
1478
|
["circle", { cx: "5", cy: "15", r: "1", key: "5r1jwy" }]
|
|
1479
1479
|
];
|
|
1480
|
-
const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$
|
|
1481
|
-
const __iconNode$
|
|
1480
|
+
const GripHorizontal = createLucideIcon("grip-horizontal", __iconNode$L);
|
|
1481
|
+
const __iconNode$K = [
|
|
1482
1482
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
1483
1483
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
1484
1484
|
["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
|
|
1485
1485
|
];
|
|
1486
|
-
const History = createLucideIcon("history", __iconNode$
|
|
1487
|
-
const __iconNode$
|
|
1486
|
+
const History = createLucideIcon("history", __iconNode$K);
|
|
1487
|
+
const __iconNode$J = [
|
|
1488
1488
|
["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }],
|
|
1489
1489
|
["path", { d: "M10.41 10.41a2 2 0 1 1-2.83-2.83", key: "1bzlo9" }],
|
|
1490
1490
|
["line", { x1: "13.5", x2: "6", y1: "13.5", y2: "21", key: "1q0aeu" }],
|
|
@@ -1498,31 +1498,31 @@ const __iconNode$I = [
|
|
|
1498
1498
|
],
|
|
1499
1499
|
["path", { d: "M21 15V5a2 2 0 0 0-2-2H9", key: "43el77" }]
|
|
1500
1500
|
];
|
|
1501
|
-
const ImageOff = createLucideIcon("image-off", __iconNode$
|
|
1502
|
-
const __iconNode$
|
|
1501
|
+
const ImageOff = createLucideIcon("image-off", __iconNode$J);
|
|
1502
|
+
const __iconNode$I = [
|
|
1503
1503
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", ry: "2", key: "1m3agn" }],
|
|
1504
1504
|
["circle", { cx: "9", cy: "9", r: "2", key: "af1f0g" }],
|
|
1505
1505
|
["path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21", key: "1xmnt7" }]
|
|
1506
1506
|
];
|
|
1507
|
-
const Image$1 = createLucideIcon("image", __iconNode$
|
|
1508
|
-
const __iconNode$
|
|
1507
|
+
const Image$1 = createLucideIcon("image", __iconNode$I);
|
|
1508
|
+
const __iconNode$H = [
|
|
1509
1509
|
["path", { d: "M16 5H3", key: "m91uny" }],
|
|
1510
1510
|
["path", { d: "M11 12H3", key: "51ecnj" }],
|
|
1511
1511
|
["path", { d: "M16 19H3", key: "zzsher" }],
|
|
1512
1512
|
["path", { d: "M21 12h-6", key: "bt1uis" }]
|
|
1513
1513
|
];
|
|
1514
|
-
const ListMinus = createLucideIcon("list-minus", __iconNode$
|
|
1515
|
-
const __iconNode$
|
|
1514
|
+
const ListMinus = createLucideIcon("list-minus", __iconNode$H);
|
|
1515
|
+
const __iconNode$G = [
|
|
1516
1516
|
["path", { d: "M13 5h8", key: "a7qcls" }],
|
|
1517
1517
|
["path", { d: "M13 12h8", key: "h98zly" }],
|
|
1518
1518
|
["path", { d: "M13 19h8", key: "c3s6r1" }],
|
|
1519
1519
|
["path", { d: "m3 17 2 2 4-4", key: "1jhpwq" }],
|
|
1520
1520
|
["rect", { x: "3", y: "4", width: "6", height: "6", rx: "1", key: "cif1o7" }]
|
|
1521
1521
|
];
|
|
1522
|
-
const ListTodo = createLucideIcon("list-todo", __iconNode$
|
|
1523
|
-
const __iconNode$
|
|
1524
|
-
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$
|
|
1525
|
-
const __iconNode$
|
|
1522
|
+
const ListTodo = createLucideIcon("list-todo", __iconNode$G);
|
|
1523
|
+
const __iconNode$F = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
1524
|
+
const LoaderCircle = createLucideIcon("loader-circle", __iconNode$F);
|
|
1525
|
+
const __iconNode$E = [
|
|
1526
1526
|
["path", { d: "M12 2v4", key: "3427ic" }],
|
|
1527
1527
|
["path", { d: "m16.2 7.8 2.9-2.9", key: "r700ao" }],
|
|
1528
1528
|
["path", { d: "M18 12h4", key: "wj9ykh" }],
|
|
@@ -1532,26 +1532,26 @@ const __iconNode$D = [
|
|
|
1532
1532
|
["path", { d: "M2 12h4", key: "j09sii" }],
|
|
1533
1533
|
["path", { d: "m4.9 4.9 2.9 2.9", key: "giyufr" }]
|
|
1534
1534
|
];
|
|
1535
|
-
const Loader = createLucideIcon("loader", __iconNode$
|
|
1536
|
-
const __iconNode$
|
|
1535
|
+
const Loader = createLucideIcon("loader", __iconNode$E);
|
|
1536
|
+
const __iconNode$D = [
|
|
1537
1537
|
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
1538
1538
|
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
|
1539
1539
|
];
|
|
1540
|
-
const Lock = createLucideIcon("lock", __iconNode$
|
|
1541
|
-
const __iconNode$
|
|
1540
|
+
const Lock = createLucideIcon("lock", __iconNode$D);
|
|
1541
|
+
const __iconNode$C = [
|
|
1542
1542
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }],
|
|
1543
1543
|
["path", { d: "m21 3-7 7", key: "1l2asr" }],
|
|
1544
1544
|
["path", { d: "m3 21 7-7", key: "tjx5ai" }],
|
|
1545
1545
|
["path", { d: "M9 21H3v-6", key: "wtvkvv" }]
|
|
1546
1546
|
];
|
|
1547
|
-
const Maximize2 = createLucideIcon("maximize-2", __iconNode$
|
|
1548
|
-
const __iconNode$
|
|
1547
|
+
const Maximize2 = createLucideIcon("maximize-2", __iconNode$C);
|
|
1548
|
+
const __iconNode$B = [
|
|
1549
1549
|
["path", { d: "M4 5h16", key: "1tepv9" }],
|
|
1550
1550
|
["path", { d: "M4 12h16", key: "1lakjw" }],
|
|
1551
1551
|
["path", { d: "M4 19h16", key: "1djgab" }]
|
|
1552
1552
|
];
|
|
1553
|
-
const Menu$1 = createLucideIcon("menu", __iconNode$
|
|
1554
|
-
const __iconNode$
|
|
1553
|
+
const Menu$1 = createLucideIcon("menu", __iconNode$B);
|
|
1554
|
+
const __iconNode$A = [
|
|
1555
1555
|
[
|
|
1556
1556
|
"path",
|
|
1557
1557
|
{
|
|
@@ -1560,21 +1560,21 @@ const __iconNode$z = [
|
|
|
1560
1560
|
}
|
|
1561
1561
|
]
|
|
1562
1562
|
];
|
|
1563
|
-
const MessageSquare = createLucideIcon("message-square", __iconNode$
|
|
1564
|
-
const __iconNode$
|
|
1563
|
+
const MessageSquare = createLucideIcon("message-square", __iconNode$A);
|
|
1564
|
+
const __iconNode$z = [
|
|
1565
1565
|
["path", { d: "m14 10 7-7", key: "oa77jy" }],
|
|
1566
1566
|
["path", { d: "M20 10h-6V4", key: "mjg0md" }],
|
|
1567
1567
|
["path", { d: "m3 21 7-7", key: "tjx5ai" }],
|
|
1568
1568
|
["path", { d: "M4 14h6v6", key: "rmj7iw" }]
|
|
1569
1569
|
];
|
|
1570
|
-
const Minimize2 = createLucideIcon("minimize-2", __iconNode$
|
|
1571
|
-
const __iconNode$
|
|
1570
|
+
const Minimize2 = createLucideIcon("minimize-2", __iconNode$z);
|
|
1571
|
+
const __iconNode$y = [
|
|
1572
1572
|
["path", { d: "M9 18V5l12-2v13", key: "1jmyc2" }],
|
|
1573
1573
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
|
|
1574
1574
|
["circle", { cx: "18", cy: "16", r: "3", key: "1hluhg" }]
|
|
1575
1575
|
];
|
|
1576
|
-
const Music = createLucideIcon("music", __iconNode$
|
|
1577
|
-
const __iconNode$
|
|
1576
|
+
const Music = createLucideIcon("music", __iconNode$y);
|
|
1577
|
+
const __iconNode$x = [
|
|
1578
1578
|
[
|
|
1579
1579
|
"path",
|
|
1580
1580
|
{
|
|
@@ -1586,18 +1586,18 @@ const __iconNode$w = [
|
|
|
1586
1586
|
["polyline", { points: "3.29 7 12 12 20.71 7", key: "ousv84" }],
|
|
1587
1587
|
["path", { d: "m7.5 4.27 9 5.15", key: "1c824w" }]
|
|
1588
1588
|
];
|
|
1589
|
-
const Package = createLucideIcon("package", __iconNode$
|
|
1590
|
-
const __iconNode$
|
|
1589
|
+
const Package = createLucideIcon("package", __iconNode$x);
|
|
1590
|
+
const __iconNode$w = [
|
|
1591
1591
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1592
1592
|
["path", { d: "M9 3v18", key: "fh3hqa" }]
|
|
1593
1593
|
];
|
|
1594
|
-
const PanelLeft = createLucideIcon("panel-left", __iconNode$
|
|
1595
|
-
const __iconNode$
|
|
1594
|
+
const PanelLeft = createLucideIcon("panel-left", __iconNode$w);
|
|
1595
|
+
const __iconNode$v = [
|
|
1596
1596
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1597
1597
|
["path", { d: "M3 9h18", key: "1pudct" }]
|
|
1598
1598
|
];
|
|
1599
|
-
const PanelTop = createLucideIcon("panel-top", __iconNode$
|
|
1600
|
-
const __iconNode$
|
|
1599
|
+
const PanelTop = createLucideIcon("panel-top", __iconNode$v);
|
|
1600
|
+
const __iconNode$u = [
|
|
1601
1601
|
[
|
|
1602
1602
|
"path",
|
|
1603
1603
|
{
|
|
@@ -1606,8 +1606,8 @@ const __iconNode$t = [
|
|
|
1606
1606
|
}
|
|
1607
1607
|
]
|
|
1608
1608
|
];
|
|
1609
|
-
const Paperclip = createLucideIcon("paperclip", __iconNode$
|
|
1610
|
-
const __iconNode$
|
|
1609
|
+
const Paperclip = createLucideIcon("paperclip", __iconNode$u);
|
|
1610
|
+
const __iconNode$t = [
|
|
1611
1611
|
[
|
|
1612
1612
|
"path",
|
|
1613
1613
|
{
|
|
@@ -1617,8 +1617,8 @@ const __iconNode$s = [
|
|
|
1617
1617
|
],
|
|
1618
1618
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
1619
1619
|
];
|
|
1620
|
-
const Pencil = createLucideIcon("pencil", __iconNode$
|
|
1621
|
-
const __iconNode$
|
|
1620
|
+
const Pencil = createLucideIcon("pencil", __iconNode$t);
|
|
1621
|
+
const __iconNode$s = [
|
|
1622
1622
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
1623
1623
|
["path", { d: "M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89", key: "znwnzq" }],
|
|
1624
1624
|
["path", { d: "m2 2 20 20", key: "1ooewy" }],
|
|
@@ -1630,8 +1630,8 @@ const __iconNode$r = [
|
|
|
1630
1630
|
}
|
|
1631
1631
|
]
|
|
1632
1632
|
];
|
|
1633
|
-
const PinOff = createLucideIcon("pin-off", __iconNode$
|
|
1634
|
-
const __iconNode$
|
|
1633
|
+
const PinOff = createLucideIcon("pin-off", __iconNode$s);
|
|
1634
|
+
const __iconNode$r = [
|
|
1635
1635
|
["path", { d: "M12 17v5", key: "bb1du9" }],
|
|
1636
1636
|
[
|
|
1637
1637
|
"path",
|
|
@@ -1641,8 +1641,8 @@ const __iconNode$q = [
|
|
|
1641
1641
|
}
|
|
1642
1642
|
]
|
|
1643
1643
|
];
|
|
1644
|
-
const Pin = createLucideIcon("pin", __iconNode$
|
|
1645
|
-
const __iconNode$
|
|
1644
|
+
const Pin = createLucideIcon("pin", __iconNode$r);
|
|
1645
|
+
const __iconNode$q = [
|
|
1646
1646
|
[
|
|
1647
1647
|
"path",
|
|
1648
1648
|
{
|
|
@@ -1651,20 +1651,20 @@ const __iconNode$p = [
|
|
|
1651
1651
|
}
|
|
1652
1652
|
]
|
|
1653
1653
|
];
|
|
1654
|
-
const Play = createLucideIcon("play", __iconNode$
|
|
1655
|
-
const __iconNode$
|
|
1654
|
+
const Play = createLucideIcon("play", __iconNode$q);
|
|
1655
|
+
const __iconNode$p = [
|
|
1656
1656
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1657
1657
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
1658
1658
|
];
|
|
1659
|
-
const Plus = createLucideIcon("plus", __iconNode$
|
|
1660
|
-
const __iconNode$
|
|
1659
|
+
const Plus = createLucideIcon("plus", __iconNode$p);
|
|
1660
|
+
const __iconNode$o = [
|
|
1661
1661
|
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
|
|
1662
1662
|
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
|
|
1663
1663
|
["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
|
|
1664
1664
|
["path", { d: "M8 16H3v5", key: "1cv678" }]
|
|
1665
1665
|
];
|
|
1666
|
-
const RefreshCw = createLucideIcon("refresh-cw", __iconNode$
|
|
1667
|
-
const __iconNode$
|
|
1666
|
+
const RefreshCw = createLucideIcon("refresh-cw", __iconNode$o);
|
|
1667
|
+
const __iconNode$n = [
|
|
1668
1668
|
["path", { d: "M17 3v10", key: "15fgeh" }],
|
|
1669
1669
|
["path", { d: "m12.67 5.5 8.66 5", key: "1gpheq" }],
|
|
1670
1670
|
["path", { d: "m12.67 10.5 8.66-5", key: "1dkfa6" }],
|
|
@@ -1673,23 +1673,23 @@ const __iconNode$m = [
|
|
|
1673
1673
|
{ d: "M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z", key: "swwfx4" }
|
|
1674
1674
|
]
|
|
1675
1675
|
];
|
|
1676
|
-
const Regex = createLucideIcon("regex", __iconNode$
|
|
1677
|
-
const __iconNode$
|
|
1676
|
+
const Regex = createLucideIcon("regex", __iconNode$n);
|
|
1677
|
+
const __iconNode$m = [
|
|
1678
1678
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
1679
1679
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }]
|
|
1680
1680
|
];
|
|
1681
|
-
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$
|
|
1682
|
-
const __iconNode$
|
|
1681
|
+
const RotateCcw = createLucideIcon("rotate-ccw", __iconNode$m);
|
|
1682
|
+
const __iconNode$l = [
|
|
1683
1683
|
["path", { d: "M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8", key: "1p45f6" }],
|
|
1684
1684
|
["path", { d: "M21 3v5h-5", key: "1q7to0" }]
|
|
1685
1685
|
];
|
|
1686
|
-
const RotateCw = createLucideIcon("rotate-cw", __iconNode$
|
|
1687
|
-
const __iconNode$
|
|
1686
|
+
const RotateCw = createLucideIcon("rotate-cw", __iconNode$l);
|
|
1687
|
+
const __iconNode$k = [
|
|
1688
1688
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1689
1689
|
["path", { d: "M3 12h18", key: "1i2n21" }]
|
|
1690
1690
|
];
|
|
1691
|
-
const Rows2 = createLucideIcon("rows-2", __iconNode$
|
|
1692
|
-
const __iconNode$
|
|
1691
|
+
const Rows2 = createLucideIcon("rows-2", __iconNode$k);
|
|
1692
|
+
const __iconNode$j = [
|
|
1693
1693
|
[
|
|
1694
1694
|
"path",
|
|
1695
1695
|
{
|
|
@@ -1700,16 +1700,16 @@ const __iconNode$i = [
|
|
|
1700
1700
|
["path", { d: "M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7", key: "1ydtos" }],
|
|
1701
1701
|
["path", { d: "M7 3v4a1 1 0 0 0 1 1h7", key: "t51u73" }]
|
|
1702
1702
|
];
|
|
1703
|
-
const Save = createLucideIcon("save", __iconNode$
|
|
1704
|
-
const __iconNode$
|
|
1703
|
+
const Save = createLucideIcon("save", __iconNode$j);
|
|
1704
|
+
const __iconNode$i = [
|
|
1705
1705
|
["circle", { cx: "6", cy: "6", r: "3", key: "1lh9wr" }],
|
|
1706
1706
|
["path", { d: "M8.12 8.12 12 12", key: "1alkpv" }],
|
|
1707
1707
|
["path", { d: "M20 4 8.12 15.88", key: "xgtan2" }],
|
|
1708
1708
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
|
|
1709
1709
|
["path", { d: "M14.8 14.8 20 20", key: "ptml3r" }]
|
|
1710
1710
|
];
|
|
1711
|
-
const Scissors = createLucideIcon("scissors", __iconNode$
|
|
1712
|
-
const __iconNode$
|
|
1711
|
+
const Scissors = createLucideIcon("scissors", __iconNode$i);
|
|
1712
|
+
const __iconNode$h = [
|
|
1713
1713
|
["path", { d: "M15 12h-5", key: "r7krc0" }],
|
|
1714
1714
|
["path", { d: "M15 8h-5", key: "1khuty" }],
|
|
1715
1715
|
["path", { d: "M19 17V5a2 2 0 0 0-2-2H4", key: "zz82l3" }],
|
|
@@ -1721,13 +1721,13 @@ const __iconNode$g = [
|
|
|
1721
1721
|
}
|
|
1722
1722
|
]
|
|
1723
1723
|
];
|
|
1724
|
-
const ScrollText = createLucideIcon("scroll-text", __iconNode$
|
|
1725
|
-
const __iconNode$
|
|
1724
|
+
const ScrollText = createLucideIcon("scroll-text", __iconNode$h);
|
|
1725
|
+
const __iconNode$g = [
|
|
1726
1726
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
1727
1727
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
1728
1728
|
];
|
|
1729
|
-
const Search = createLucideIcon("search", __iconNode$
|
|
1730
|
-
const __iconNode$
|
|
1729
|
+
const Search = createLucideIcon("search", __iconNode$g);
|
|
1730
|
+
const __iconNode$f = [
|
|
1731
1731
|
[
|
|
1732
1732
|
"path",
|
|
1733
1733
|
{
|
|
@@ -1737,8 +1737,8 @@ const __iconNode$e = [
|
|
|
1737
1737
|
],
|
|
1738
1738
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
1739
1739
|
];
|
|
1740
|
-
const Settings$1 = createLucideIcon("settings", __iconNode$
|
|
1741
|
-
const __iconNode$
|
|
1740
|
+
const Settings$1 = createLucideIcon("settings", __iconNode$f);
|
|
1741
|
+
const __iconNode$e = [
|
|
1742
1742
|
[
|
|
1743
1743
|
"path",
|
|
1744
1744
|
{
|
|
@@ -1750,18 +1750,18 @@ const __iconNode$d = [
|
|
|
1750
1750
|
["path", { d: "M22 4h-4", key: "gwowj6" }],
|
|
1751
1751
|
["circle", { cx: "4", cy: "20", r: "2", key: "6kqj1y" }]
|
|
1752
1752
|
];
|
|
1753
|
-
const Sparkles = createLucideIcon("sparkles", __iconNode$
|
|
1754
|
-
const __iconNode$
|
|
1753
|
+
const Sparkles = createLucideIcon("sparkles", __iconNode$e);
|
|
1754
|
+
const __iconNode$d = [
|
|
1755
1755
|
["path", { d: "M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6", key: "y09zxi" }],
|
|
1756
1756
|
["path", { d: "m21 3-9 9", key: "mpx6sq" }],
|
|
1757
1757
|
["path", { d: "M15 3h6v6", key: "1q9fwt" }]
|
|
1758
1758
|
];
|
|
1759
|
-
const SquareArrowOutUpRight = createLucideIcon("square-arrow-out-up-right", __iconNode$
|
|
1760
|
-
const __iconNode$
|
|
1759
|
+
const SquareArrowOutUpRight = createLucideIcon("square-arrow-out-up-right", __iconNode$d);
|
|
1760
|
+
const __iconNode$c = [
|
|
1761
1761
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }]
|
|
1762
1762
|
];
|
|
1763
|
-
const Square = createLucideIcon("square", __iconNode$
|
|
1764
|
-
const __iconNode$
|
|
1763
|
+
const Square = createLucideIcon("square", __iconNode$c);
|
|
1764
|
+
const __iconNode$b = [
|
|
1765
1765
|
[
|
|
1766
1766
|
"path",
|
|
1767
1767
|
{
|
|
@@ -1771,35 +1771,35 @@ const __iconNode$a = [
|
|
|
1771
1771
|
],
|
|
1772
1772
|
["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
|
|
1773
1773
|
];
|
|
1774
|
-
const Tag$1 = createLucideIcon("tag", __iconNode$
|
|
1775
|
-
const __iconNode$
|
|
1774
|
+
const Tag$1 = createLucideIcon("tag", __iconNode$b);
|
|
1775
|
+
const __iconNode$a = [
|
|
1776
1776
|
["path", { d: "M12 19h8", key: "baeox8" }],
|
|
1777
1777
|
["path", { d: "m4 17 6-6-6-6", key: "1yngyt" }]
|
|
1778
1778
|
];
|
|
1779
|
-
const Terminal = createLucideIcon("terminal", __iconNode$
|
|
1780
|
-
const __iconNode$
|
|
1779
|
+
const Terminal = createLucideIcon("terminal", __iconNode$a);
|
|
1780
|
+
const __iconNode$9 = [
|
|
1781
1781
|
["path", { d: "M21 5H3", key: "1fi0y6" }],
|
|
1782
1782
|
["path", { d: "M10 12H3", key: "1ulcyk" }],
|
|
1783
1783
|
["path", { d: "M10 19H3", key: "108z41" }],
|
|
1784
1784
|
["circle", { cx: "17", cy: "15", r: "3", key: "1upz2a" }],
|
|
1785
1785
|
["path", { d: "m21 19-1.9-1.9", key: "dwi7p8" }]
|
|
1786
1786
|
];
|
|
1787
|
-
const TextSearch = createLucideIcon("text-search", __iconNode$
|
|
1788
|
-
const __iconNode$
|
|
1787
|
+
const TextSearch = createLucideIcon("text-search", __iconNode$9);
|
|
1788
|
+
const __iconNode$8 = [
|
|
1789
1789
|
["line", { x1: "10", x2: "14", y1: "2", y2: "2", key: "14vaq8" }],
|
|
1790
1790
|
["line", { x1: "12", x2: "15", y1: "14", y2: "11", key: "17fdiu" }],
|
|
1791
1791
|
["circle", { cx: "12", cy: "14", r: "8", key: "1e1u0o" }]
|
|
1792
1792
|
];
|
|
1793
|
-
const Timer$1 = createLucideIcon("timer", __iconNode$
|
|
1794
|
-
const __iconNode$
|
|
1793
|
+
const Timer$1 = createLucideIcon("timer", __iconNode$8);
|
|
1794
|
+
const __iconNode$7 = [
|
|
1795
1795
|
["path", { d: "M10 11v6", key: "nco0om" }],
|
|
1796
1796
|
["path", { d: "M14 11v6", key: "outv1u" }],
|
|
1797
1797
|
["path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6", key: "miytrc" }],
|
|
1798
1798
|
["path", { d: "M3 6h18", key: "d0wm0j" }],
|
|
1799
1799
|
["path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2", key: "e791ji" }]
|
|
1800
1800
|
];
|
|
1801
|
-
const Trash2 = createLucideIcon("trash-2", __iconNode$
|
|
1802
|
-
const __iconNode$
|
|
1801
|
+
const Trash2 = createLucideIcon("trash-2", __iconNode$7);
|
|
1802
|
+
const __iconNode$6 = [
|
|
1803
1803
|
[
|
|
1804
1804
|
"path",
|
|
1805
1805
|
{
|
|
@@ -1810,13 +1810,13 @@ const __iconNode$5 = [
|
|
|
1810
1810
|
["path", { d: "M12 9v4", key: "juzpu7" }],
|
|
1811
1811
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
1812
1812
|
];
|
|
1813
|
-
const TriangleAlert = createLucideIcon("triangle-alert", __iconNode$
|
|
1814
|
-
const __iconNode$
|
|
1813
|
+
const TriangleAlert = createLucideIcon("triangle-alert", __iconNode$6);
|
|
1814
|
+
const __iconNode$5 = [
|
|
1815
1815
|
["path", { d: "M9 14 4 9l5-5", key: "102s5s" }],
|
|
1816
1816
|
["path", { d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11", key: "f3b9sd" }]
|
|
1817
1817
|
];
|
|
1818
|
-
const Undo2 = createLucideIcon("undo-2", __iconNode$
|
|
1819
|
-
const __iconNode$
|
|
1818
|
+
const Undo2 = createLucideIcon("undo-2", __iconNode$5);
|
|
1819
|
+
const __iconNode$4 = [
|
|
1820
1820
|
[
|
|
1821
1821
|
"path",
|
|
1822
1822
|
{
|
|
@@ -1826,7 +1826,24 @@ const __iconNode$3 = [
|
|
|
1826
1826
|
],
|
|
1827
1827
|
["rect", { x: "2", y: "6", width: "14", height: "12", rx: "2", key: "158x01" }]
|
|
1828
1828
|
];
|
|
1829
|
-
const Video = createLucideIcon("video", __iconNode$
|
|
1829
|
+
const Video = createLucideIcon("video", __iconNode$4);
|
|
1830
|
+
const __iconNode$3 = [
|
|
1831
|
+
[
|
|
1832
|
+
"path",
|
|
1833
|
+
{
|
|
1834
|
+
d: "m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",
|
|
1835
|
+
key: "ul74o6"
|
|
1836
|
+
}
|
|
1837
|
+
],
|
|
1838
|
+
["path", { d: "m14 7 3 3", key: "1r5n42" }],
|
|
1839
|
+
["path", { d: "M5 6v4", key: "ilb8ba" }],
|
|
1840
|
+
["path", { d: "M19 14v4", key: "blhpug" }],
|
|
1841
|
+
["path", { d: "M10 2v2", key: "7u0qdc" }],
|
|
1842
|
+
["path", { d: "M7 8H3", key: "zfb6yr" }],
|
|
1843
|
+
["path", { d: "M21 16h-4", key: "1cnmox" }],
|
|
1844
|
+
["path", { d: "M11 3H9", key: "1obp7u" }]
|
|
1845
|
+
];
|
|
1846
|
+
const WandSparkles = createLucideIcon("wand-sparkles", __iconNode$3);
|
|
1830
1847
|
const __iconNode$2 = [
|
|
1831
1848
|
["circle", { cx: "7", cy: "12", r: "3", key: "12clwm" }],
|
|
1832
1849
|
["path", { d: "M10 9v6", key: "17i7lo" }],
|
|
@@ -14852,6 +14869,19 @@ function CommandGroup({
|
|
|
14852
14869
|
}
|
|
14853
14870
|
);
|
|
14854
14871
|
}
|
|
14872
|
+
function CommandSeparator({
|
|
14873
|
+
className,
|
|
14874
|
+
...props
|
|
14875
|
+
}) {
|
|
14876
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14877
|
+
_e$4.Separator,
|
|
14878
|
+
{
|
|
14879
|
+
"data-slot": "command-separator",
|
|
14880
|
+
className: cn$2("-mx-1 h-px bg-border", className),
|
|
14881
|
+
...props
|
|
14882
|
+
}
|
|
14883
|
+
);
|
|
14884
|
+
}
|
|
14855
14885
|
function CommandItem({ className, ...props }) {
|
|
14856
14886
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14857
14887
|
_e$4.Item,
|
|
@@ -40575,53 +40605,53 @@ async function loadLanguage(lang) {
|
|
|
40575
40605
|
try {
|
|
40576
40606
|
switch (lang) {
|
|
40577
40607
|
case "javascript":
|
|
40578
|
-
return import("./index-
|
|
40608
|
+
return import("./index-D2P0pxCr.js").then((m2) => m2.javascript());
|
|
40579
40609
|
case "jsx":
|
|
40580
|
-
return import("./index-
|
|
40610
|
+
return import("./index-D2P0pxCr.js").then((m2) => m2.javascript({ jsx: true }));
|
|
40581
40611
|
case "typescript":
|
|
40582
|
-
return import("./index-
|
|
40612
|
+
return import("./index-D2P0pxCr.js").then(
|
|
40583
40613
|
(m2) => m2.javascript({ typescript: true })
|
|
40584
40614
|
);
|
|
40585
40615
|
case "tsx":
|
|
40586
|
-
return import("./index-
|
|
40616
|
+
return import("./index-D2P0pxCr.js").then(
|
|
40587
40617
|
(m2) => m2.javascript({ jsx: true, typescript: true })
|
|
40588
40618
|
);
|
|
40589
40619
|
case "python":
|
|
40590
|
-
return import("./index-
|
|
40620
|
+
return import("./index-BT8sxrq0.js").then((m2) => m2.python());
|
|
40591
40621
|
case "html":
|
|
40592
|
-
return import("./index-
|
|
40622
|
+
return import("./index-CaRM9svU.js").then((m2) => m2.html());
|
|
40593
40623
|
case "css":
|
|
40594
|
-
return import("./index-
|
|
40624
|
+
return import("./index-7k2BqwZv.js").then((m2) => m2.css());
|
|
40595
40625
|
case "scss":
|
|
40596
40626
|
case "sass":
|
|
40597
|
-
return import("./index-
|
|
40627
|
+
return import("./index-DBbuiN2t.js").then((m2) => m2.sass());
|
|
40598
40628
|
case "less":
|
|
40599
|
-
return import("./index-
|
|
40629
|
+
return import("./index-CsnrxvSd.js").then((m2) => m2.less());
|
|
40600
40630
|
case "json":
|
|
40601
40631
|
case "jsonc":
|
|
40602
|
-
return import("./index-
|
|
40632
|
+
return import("./index-C9H7VUtp.js").then((m2) => m2.json());
|
|
40603
40633
|
case "markdown":
|
|
40604
40634
|
case "mdx":
|
|
40605
|
-
return import("./index-
|
|
40635
|
+
return import("./index-Dp5TbN68.js").then((m2) => m2.markdown());
|
|
40606
40636
|
case "xml":
|
|
40607
|
-
return import("./index-
|
|
40637
|
+
return import("./index-DIv5BUol.js").then((m2) => m2.xml());
|
|
40608
40638
|
case "yaml":
|
|
40609
|
-
return import("./index-
|
|
40639
|
+
return import("./index-B9hFfb3C.js").then((m2) => m2.yaml());
|
|
40610
40640
|
case "sql":
|
|
40611
|
-
return import("./index-
|
|
40641
|
+
return import("./index-BJorH749.js").then((m2) => m2.sql());
|
|
40612
40642
|
case "rust":
|
|
40613
|
-
return import("./index-
|
|
40643
|
+
return import("./index-CchdHjwq.js").then((m2) => m2.rust());
|
|
40614
40644
|
case "go":
|
|
40615
|
-
return import("./index-
|
|
40645
|
+
return import("./index-Crgd09US.js").then((m2) => m2.go());
|
|
40616
40646
|
case "java":
|
|
40617
|
-
return import("./index-
|
|
40647
|
+
return import("./index-XaoY6ovr.js").then((m2) => m2.java());
|
|
40618
40648
|
case "kotlin":
|
|
40619
|
-
return import("./index-
|
|
40649
|
+
return import("./index-XaoY6ovr.js").then((m2) => m2.java());
|
|
40620
40650
|
case "c":
|
|
40621
40651
|
case "cpp":
|
|
40622
|
-
return import("./index-
|
|
40652
|
+
return import("./index-BhJN38EV.js").then((m2) => m2.cpp());
|
|
40623
40653
|
case "php":
|
|
40624
|
-
return import("./index-
|
|
40654
|
+
return import("./index-DsLZMKNC.js").then((m2) => m2.php());
|
|
40625
40655
|
// Legacy modes via StreamLanguage
|
|
40626
40656
|
case "bash":
|
|
40627
40657
|
case "fish":
|
|
@@ -41412,6 +41442,16 @@ function activatePanel(deps, panelId) {
|
|
|
41412
41442
|
}
|
|
41413
41443
|
function buildCommands(deps) {
|
|
41414
41444
|
return [
|
|
41445
|
+
{
|
|
41446
|
+
// ⌘N — open a new untitled (scratch) editor tab. Listed first
|
|
41447
|
+
// because it's the closest sibling to Quick Open ("create a new
|
|
41448
|
+
// editing surface" vs "find an existing one") and the keybinding
|
|
41449
|
+
// is one of the most discoverable in the app.
|
|
41450
|
+
id: "new-untitled-tab",
|
|
41451
|
+
label: "New Untitled File",
|
|
41452
|
+
shortcut: "Cmd+N",
|
|
41453
|
+
action: () => deps.newUntitledTab()
|
|
41454
|
+
},
|
|
41415
41455
|
{
|
|
41416
41456
|
id: "quick-open",
|
|
41417
41457
|
label: "Quick Open",
|
|
@@ -41446,6 +41486,16 @@ function buildCommands(deps) {
|
|
|
41446
41486
|
shortcut: "Cmd+Shift+F",
|
|
41447
41487
|
action: () => deps.formatCurrentFile()
|
|
41448
41488
|
},
|
|
41489
|
+
{
|
|
41490
|
+
// Searchable language-mode picker for the active editor tab
|
|
41491
|
+
// (issue #434). No keyboard shortcut — VS Code's equivalent
|
|
41492
|
+
// (Cmd+K M) is a chord we don't yet support; the status-bar
|
|
41493
|
+
// language indicator and this palette entry are the two reachable
|
|
41494
|
+
// surfaces.
|
|
41495
|
+
id: "change-language-mode",
|
|
41496
|
+
label: "Change Language Mode…",
|
|
41497
|
+
action: () => deps.changeLanguageMode()
|
|
41498
|
+
},
|
|
41449
41499
|
{
|
|
41450
41500
|
id: "show-chat",
|
|
41451
41501
|
label: "Show Chat",
|
|
@@ -50367,6 +50417,109 @@ function extensionToLanguage(ext) {
|
|
|
50367
50417
|
function filenameToLanguage(filename) {
|
|
50368
50418
|
return FILENAME_MAP[filename];
|
|
50369
50419
|
}
|
|
50420
|
+
const SUPPORTED_LANGUAGES = [
|
|
50421
|
+
{ id: "plaintext", label: "Plain Text" },
|
|
50422
|
+
{ id: "bash", label: "Bash / Shell" },
|
|
50423
|
+
{ id: "c", label: "C" },
|
|
50424
|
+
{ id: "clojure", label: "Clojure" },
|
|
50425
|
+
{ id: "cpp", label: "C++" },
|
|
50426
|
+
{ id: "csharp", label: "C#" },
|
|
50427
|
+
{ id: "css", label: "CSS" },
|
|
50428
|
+
{ id: "dart", label: "Dart" },
|
|
50429
|
+
{ id: "diff", label: "Diff" },
|
|
50430
|
+
{ id: "dockerfile", label: "Dockerfile" },
|
|
50431
|
+
{ id: "elixir", label: "Elixir" },
|
|
50432
|
+
{ id: "erlang", label: "Erlang" },
|
|
50433
|
+
{ id: "go", label: "Go" },
|
|
50434
|
+
{ id: "graphql", label: "GraphQL" },
|
|
50435
|
+
{ id: "haskell", label: "Haskell" },
|
|
50436
|
+
{ id: "hcl", label: "HCL / Terraform" },
|
|
50437
|
+
{ id: "html", label: "HTML" },
|
|
50438
|
+
{ id: "ini", label: "INI" },
|
|
50439
|
+
{ id: "java", label: "Java" },
|
|
50440
|
+
{ id: "javascript", label: "JavaScript" },
|
|
50441
|
+
{ id: "json", label: "JSON" },
|
|
50442
|
+
{ id: "jsonc", label: "JSON with Comments" },
|
|
50443
|
+
{ id: "jsx", label: "JavaScript (JSX)" },
|
|
50444
|
+
{ id: "kotlin", label: "Kotlin" },
|
|
50445
|
+
{ id: "less", label: "Less" },
|
|
50446
|
+
{ id: "lua", label: "Lua" },
|
|
50447
|
+
{ id: "makefile", label: "Makefile" },
|
|
50448
|
+
{ id: "markdown", label: "Markdown" },
|
|
50449
|
+
{ id: "mdx", label: "MDX" },
|
|
50450
|
+
{ id: "php", label: "PHP" },
|
|
50451
|
+
{ id: "powershell", label: "PowerShell" },
|
|
50452
|
+
{ id: "python", label: "Python" },
|
|
50453
|
+
{ id: "r", label: "R" },
|
|
50454
|
+
{ id: "ruby", label: "Ruby" },
|
|
50455
|
+
{ id: "rust", label: "Rust" },
|
|
50456
|
+
{ id: "sass", label: "Sass" },
|
|
50457
|
+
{ id: "scala", label: "Scala" },
|
|
50458
|
+
{ id: "scss", label: "SCSS" },
|
|
50459
|
+
{ id: "sql", label: "SQL" },
|
|
50460
|
+
{ id: "svelte", label: "Svelte" },
|
|
50461
|
+
{ id: "swift", label: "Swift" },
|
|
50462
|
+
{ id: "toml", label: "TOML" },
|
|
50463
|
+
{ id: "typescript", label: "TypeScript" },
|
|
50464
|
+
{ id: "tsx", label: "TypeScript (TSX)" },
|
|
50465
|
+
{ id: "vue", label: "Vue" },
|
|
50466
|
+
{ id: "xml", label: "XML" },
|
|
50467
|
+
{ id: "yaml", label: "YAML" }
|
|
50468
|
+
];
|
|
50469
|
+
const LANGUAGE_LABEL_BY_ID = new Map(SUPPORTED_LANGUAGES.map((l4) => [l4.id, l4.label]));
|
|
50470
|
+
function languageLabel(id28) {
|
|
50471
|
+
const label = LANGUAGE_LABEL_BY_ID.get(id28);
|
|
50472
|
+
if (label) return label;
|
|
50473
|
+
return id28.charAt(0).toUpperCase() + id28.slice(1);
|
|
50474
|
+
}
|
|
50475
|
+
const LANGUAGE_TO_EXTENSION = {
|
|
50476
|
+
javascript: ".js",
|
|
50477
|
+
jsx: ".jsx",
|
|
50478
|
+
typescript: ".ts",
|
|
50479
|
+
tsx: ".tsx",
|
|
50480
|
+
json: ".json",
|
|
50481
|
+
jsonc: ".jsonc",
|
|
50482
|
+
html: ".html",
|
|
50483
|
+
css: ".css",
|
|
50484
|
+
scss: ".scss",
|
|
50485
|
+
sass: ".sass",
|
|
50486
|
+
less: ".less",
|
|
50487
|
+
markdown: ".md",
|
|
50488
|
+
mdx: ".mdx",
|
|
50489
|
+
yaml: ".yaml",
|
|
50490
|
+
xml: ".xml",
|
|
50491
|
+
python: ".py",
|
|
50492
|
+
ruby: ".rb",
|
|
50493
|
+
rust: ".rs",
|
|
50494
|
+
go: ".go",
|
|
50495
|
+
java: ".java",
|
|
50496
|
+
kotlin: ".kt",
|
|
50497
|
+
swift: ".swift",
|
|
50498
|
+
c: ".c",
|
|
50499
|
+
cpp: ".cpp",
|
|
50500
|
+
csharp: ".cs",
|
|
50501
|
+
php: ".php",
|
|
50502
|
+
bash: ".sh",
|
|
50503
|
+
sql: ".sql",
|
|
50504
|
+
graphql: ".graphql",
|
|
50505
|
+
vue: ".vue",
|
|
50506
|
+
svelte: ".svelte",
|
|
50507
|
+
lua: ".lua",
|
|
50508
|
+
r: ".r",
|
|
50509
|
+
dart: ".dart",
|
|
50510
|
+
elixir: ".ex",
|
|
50511
|
+
erlang: ".erl",
|
|
50512
|
+
haskell: ".hs",
|
|
50513
|
+
scala: ".scala",
|
|
50514
|
+
clojure: ".clj",
|
|
50515
|
+
toml: ".toml",
|
|
50516
|
+
hcl: ".hcl",
|
|
50517
|
+
ini: ".ini",
|
|
50518
|
+
diff: ".diff"
|
|
50519
|
+
};
|
|
50520
|
+
function languageToExtension(id28) {
|
|
50521
|
+
return LANGUAGE_TO_EXTENSION[id28];
|
|
50522
|
+
}
|
|
50370
50523
|
function useDeferredMenuAction() {
|
|
50371
50524
|
const pendingRef = reactExports.useRef(null);
|
|
50372
50525
|
const queue = reactExports.useCallback((fn2) => {
|
|
@@ -53467,6 +53620,60 @@ function ImagePreview$1({ src, alt }) {
|
|
|
53467
53620
|
] })
|
|
53468
53621
|
] });
|
|
53469
53622
|
}
|
|
53623
|
+
const AUTO_DETECT_LANGUAGE_ID = "__auto__";
|
|
53624
|
+
function LanguagePickerDialog({
|
|
53625
|
+
open: open2,
|
|
53626
|
+
onOpenChange,
|
|
53627
|
+
currentLanguage,
|
|
53628
|
+
hasOverride,
|
|
53629
|
+
onSelect
|
|
53630
|
+
}) {
|
|
53631
|
+
const handleSelect = reactExports.useCallback(
|
|
53632
|
+
(id28) => {
|
|
53633
|
+
onOpenChange(false);
|
|
53634
|
+
requestAnimationFrame(() => onSelect(id28));
|
|
53635
|
+
},
|
|
53636
|
+
[onOpenChange, onSelect]
|
|
53637
|
+
);
|
|
53638
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open: open2, onOpenChange, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "overflow-hidden p-0 sm:max-w-[480px]", showCloseButton: false, children: [
|
|
53639
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { className: "sr-only", children: [
|
|
53640
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Select Language Mode" }),
|
|
53641
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogDescription, { children: "Search for a language to syntax-highlight the file" })
|
|
53642
|
+
] }),
|
|
53643
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(Command, { children: [
|
|
53644
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandInput, { placeholder: "Select language mode…", autoFocus: true }),
|
|
53645
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(CommandList, { className: "max-h-[360px]", children: [
|
|
53646
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandEmpty, { children: "No languages found." }),
|
|
53647
|
+
hasOverride && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
53648
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53649
|
+
CommandItem,
|
|
53650
|
+
{
|
|
53651
|
+
value: "Auto Detect",
|
|
53652
|
+
onSelect: () => handleSelect(AUTO_DETECT_LANGUAGE_ID),
|
|
53653
|
+
children: [
|
|
53654
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(WandSparkles, { className: "size-3.5" }),
|
|
53655
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-sm", children: "Auto Detect" })
|
|
53656
|
+
]
|
|
53657
|
+
}
|
|
53658
|
+
) }),
|
|
53659
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandSeparator, {})
|
|
53660
|
+
] }),
|
|
53661
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { children: SUPPORTED_LANGUAGES.map((lang) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
53662
|
+
CommandItem,
|
|
53663
|
+
{
|
|
53664
|
+
value: `${lang.label} ${lang.id}`,
|
|
53665
|
+
onSelect: () => handleSelect(lang.id),
|
|
53666
|
+
children: [
|
|
53667
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1 text-sm", children: lang.label }),
|
|
53668
|
+
lang.id === currentLanguage && /* @__PURE__ */ jsxRuntimeExports.jsx(Check, { className: "size-3.5 text-muted-foreground" })
|
|
53669
|
+
]
|
|
53670
|
+
},
|
|
53671
|
+
lang.id
|
|
53672
|
+
)) })
|
|
53673
|
+
] })
|
|
53674
|
+
] })
|
|
53675
|
+
] }) });
|
|
53676
|
+
}
|
|
53470
53677
|
function PdfPreview({ src, filename }) {
|
|
53471
53678
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full flex-col", children: /* @__PURE__ */ jsxRuntimeExports.jsx("iframe", { src, title: filename, className: "h-full w-full border-0" }) });
|
|
53472
53679
|
}
|
|
@@ -53486,6 +53693,11 @@ function detectLanguage(filePath, serverHint) {
|
|
|
53486
53693
|
const fromName = filenameToLanguage(getFilename(filePath));
|
|
53487
53694
|
return fromName || "plaintext";
|
|
53488
53695
|
}
|
|
53696
|
+
function matchesFilePathHint(hint, viewerPath, viewerUntitled, viewerExternal) {
|
|
53697
|
+
if (hint == null) return true;
|
|
53698
|
+
if (hint === viewerPath) return true;
|
|
53699
|
+
return Boolean(viewerUntitled || viewerExternal);
|
|
53700
|
+
}
|
|
53489
53701
|
function FileViewer({
|
|
53490
53702
|
workspaceId,
|
|
53491
53703
|
filePath,
|
|
@@ -53510,7 +53722,11 @@ function FileViewer({
|
|
|
53510
53722
|
savedEditorState,
|
|
53511
53723
|
savedScrollTop,
|
|
53512
53724
|
onEditedContentChange,
|
|
53513
|
-
external
|
|
53725
|
+
external,
|
|
53726
|
+
untitled,
|
|
53727
|
+
languageOverride,
|
|
53728
|
+
onLanguageOverrideChange,
|
|
53729
|
+
onSaveAs
|
|
53514
53730
|
}) {
|
|
53515
53731
|
const adapter2 = useAdapter();
|
|
53516
53732
|
const [data, setData] = reactExports.useState(null);
|
|
@@ -53528,9 +53744,10 @@ function FileViewer({
|
|
|
53528
53744
|
const editorViewRef = reactExports.useRef(null);
|
|
53529
53745
|
const dataRef = reactExports.useRef(data);
|
|
53530
53746
|
dataRef.current = data;
|
|
53531
|
-
const isDirty = editedContent !== null && editedContent !== data?.content;
|
|
53532
|
-
const canEdit = editable2 && (external ? !!adapter2.saveExternalFile : !!adapter2.saveWorkspaceFile);
|
|
53533
|
-
const
|
|
53747
|
+
const isDirty = untitled ? editedContent != null && editedContent !== "" : editedContent !== null && editedContent !== data?.content;
|
|
53748
|
+
const canEdit = editable2 && (untitled ? true : external ? !!adapter2.saveExternalFile : !!adapter2.saveWorkspaceFile);
|
|
53749
|
+
const canSave = untitled ? !!onSaveAs : external ? !!adapter2.saveExternalFile : !!adapter2.saveWorkspaceFile;
|
|
53750
|
+
const previewType = untitled ? "code" : getFilePreviewType(filePath);
|
|
53534
53751
|
reactExports.useEffect(() => {
|
|
53535
53752
|
if (!controlledViewMode) setInternalViewMode("preview");
|
|
53536
53753
|
setEditedContent(initialEditedContent ?? null);
|
|
@@ -53562,6 +53779,12 @@ function FileViewer({
|
|
|
53562
53779
|
}
|
|
53563
53780
|
}, [previewType, viewMode, onEditorView]);
|
|
53564
53781
|
reactExports.useEffect(() => {
|
|
53782
|
+
if (untitled) {
|
|
53783
|
+
setData({ content: "", size: 0, binary: false, tooLarge: false });
|
|
53784
|
+
setLoading(false);
|
|
53785
|
+
setError(null);
|
|
53786
|
+
return;
|
|
53787
|
+
}
|
|
53565
53788
|
if (!external && (previewType === "image" || previewType === "pdf")) {
|
|
53566
53789
|
setData(null);
|
|
53567
53790
|
setLoading(false);
|
|
@@ -53589,8 +53812,8 @@ function FileViewer({
|
|
|
53589
53812
|
return () => {
|
|
53590
53813
|
cancelled = true;
|
|
53591
53814
|
};
|
|
53592
|
-
}, [adapter2, workspaceId, filePath, previewType, external]);
|
|
53593
|
-
const lang = data?.content ? detectLanguage(filePath, data.language) : "plaintext";
|
|
53815
|
+
}, [adapter2, workspaceId, filePath, previewType, external, untitled]);
|
|
53816
|
+
const lang = languageOverride ? languageOverride : untitled ? "plaintext" : data?.content ? detectLanguage(filePath, data.language) : "plaintext";
|
|
53594
53817
|
const fileUrl = !external && adapter2.getWorkspaceFileUrl ? adapter2.getWorkspaceFileUrl(workspaceId, filePath) : void 0;
|
|
53595
53818
|
const showMarkdownToggle = previewType === "markdown" && renderMarkdown;
|
|
53596
53819
|
const displayContent = editedContent ?? data?.content;
|
|
@@ -53599,6 +53822,23 @@ function FileViewer({
|
|
|
53599
53822
|
const onEditedContentChangeRef = reactExports.useRef(onEditedContentChange);
|
|
53600
53823
|
onEditedContentChangeRef.current = onEditedContentChange;
|
|
53601
53824
|
const handleSave = reactExports.useCallback(async () => {
|
|
53825
|
+
if (untitled) {
|
|
53826
|
+
if (!onSaveAs) return;
|
|
53827
|
+
const content2 = editorViewRef.current?.state.doc.toString() ?? editedContentRef.current ?? "";
|
|
53828
|
+
setSaving(true);
|
|
53829
|
+
setSaveError(null);
|
|
53830
|
+
try {
|
|
53831
|
+
const newPath = await onSaveAs(content2);
|
|
53832
|
+
if (newPath != null) {
|
|
53833
|
+
window.dispatchEvent(new CustomEvent("band:dirty-change"));
|
|
53834
|
+
}
|
|
53835
|
+
} catch (err) {
|
|
53836
|
+
setSaveError(err instanceof Error ? err.message : "Failed to save");
|
|
53837
|
+
} finally {
|
|
53838
|
+
setSaving(false);
|
|
53839
|
+
}
|
|
53840
|
+
return;
|
|
53841
|
+
}
|
|
53602
53842
|
if (editedContentRef.current === null) return;
|
|
53603
53843
|
const save = external ? adapter2.saveExternalFile && ((c2) => adapter2.saveExternalFile(filePath, c2)) : adapter2.saveWorkspaceFile && ((c2) => adapter2.saveWorkspaceFile(workspaceId, filePath, c2));
|
|
53604
53844
|
if (!save) return;
|
|
@@ -53616,7 +53856,7 @@ function FileViewer({
|
|
|
53616
53856
|
} finally {
|
|
53617
53857
|
setSaving(false);
|
|
53618
53858
|
}
|
|
53619
|
-
}, [adapter2, workspaceId, filePath, external]);
|
|
53859
|
+
}, [adapter2, workspaceId, filePath, external, untitled, onSaveAs]);
|
|
53620
53860
|
const handleFormat = reactExports.useCallback(async () => {
|
|
53621
53861
|
if (!adapter2.formatWorkspaceFile) {
|
|
53622
53862
|
setFormatStatus({ kind: "error", message: "Formatting not supported by this adapter" });
|
|
@@ -53633,7 +53873,20 @@ function FileViewer({
|
|
|
53633
53873
|
setFormatting(true);
|
|
53634
53874
|
setFormatStatus(null);
|
|
53635
53875
|
try {
|
|
53636
|
-
|
|
53876
|
+
let formatPath = filePath;
|
|
53877
|
+
if (untitled) {
|
|
53878
|
+
const ext = languageOverride ? languageToExtension(languageOverride) : void 0;
|
|
53879
|
+
if (!ext) {
|
|
53880
|
+
setFormatStatus({
|
|
53881
|
+
kind: "info",
|
|
53882
|
+
message: "Set a language mode first to format this untitled tab"
|
|
53883
|
+
});
|
|
53884
|
+
return;
|
|
53885
|
+
}
|
|
53886
|
+
const tabKey = filePath.replace(/[^a-z0-9]/gi, "-");
|
|
53887
|
+
formatPath = `.band-${tabKey}${ext}`;
|
|
53888
|
+
}
|
|
53889
|
+
const result = await adapter2.formatWorkspaceFile(workspaceId, formatPath, sourceContent);
|
|
53637
53890
|
if (result.skipped) {
|
|
53638
53891
|
setFormatStatus({ kind: "info", message: result.reason });
|
|
53639
53892
|
return;
|
|
@@ -53667,17 +53920,17 @@ function FileViewer({
|
|
|
53667
53920
|
formattingRef.current = false;
|
|
53668
53921
|
setFormatting(false);
|
|
53669
53922
|
}
|
|
53670
|
-
}, [adapter2, workspaceId, filePath]);
|
|
53923
|
+
}, [adapter2, workspaceId, filePath, untitled, languageOverride]);
|
|
53671
53924
|
reactExports.useEffect(() => {
|
|
53672
53925
|
const handler = (e2) => {
|
|
53673
53926
|
const detail = e2.detail;
|
|
53674
53927
|
if (!detail || detail.workspaceId !== workspaceId) return;
|
|
53675
|
-
if (detail.filePath
|
|
53928
|
+
if (!matchesFilePathHint(detail.filePath, filePath, untitled, external)) return;
|
|
53676
53929
|
void handleFormat();
|
|
53677
53930
|
};
|
|
53678
53931
|
window.addEventListener("band:format-current-file", handler);
|
|
53679
53932
|
return () => window.removeEventListener("band:format-current-file", handler);
|
|
53680
|
-
}, [workspaceId, filePath, handleFormat]);
|
|
53933
|
+
}, [workspaceId, filePath, untitled, external, handleFormat]);
|
|
53681
53934
|
reactExports.useEffect(() => {
|
|
53682
53935
|
if (formatStatus?.kind !== "ok") return;
|
|
53683
53936
|
const timer2 = window.setTimeout(() => setFormatStatus(null), 2500);
|
|
@@ -53708,6 +53961,17 @@ function FileViewer({
|
|
|
53708
53961
|
onEditedContentChangeRef.current?.(null);
|
|
53709
53962
|
onBack?.();
|
|
53710
53963
|
}, [isDirty, onBack]);
|
|
53964
|
+
const [languagePickerOpen, setLanguagePickerOpen] = reactExports.useState(false);
|
|
53965
|
+
reactExports.useEffect(() => {
|
|
53966
|
+
const handler = (e2) => {
|
|
53967
|
+
const detail = e2.detail;
|
|
53968
|
+
if (!detail || detail.workspaceId !== workspaceId) return;
|
|
53969
|
+
if (!matchesFilePathHint(detail.filePath, filePath, untitled, external)) return;
|
|
53970
|
+
setLanguagePickerOpen(true);
|
|
53971
|
+
};
|
|
53972
|
+
window.addEventListener("band:open-language-picker", handler);
|
|
53973
|
+
return () => window.removeEventListener("band:open-language-picker", handler);
|
|
53974
|
+
}, [workspaceId, filePath, untitled, external]);
|
|
53711
53975
|
return (
|
|
53712
53976
|
// min-w-0 prevents intrinsic-width content (CodeMirror's long unwrapped
|
|
53713
53977
|
// lines, in particular) from forcing this box wider than its allocated
|
|
@@ -53761,7 +54025,7 @@ function FileViewer({
|
|
|
53761
54025
|
] })
|
|
53762
54026
|
] }),
|
|
53763
54027
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "min-w-0 flex-1 truncate font-mono text-xs", children: [
|
|
53764
|
-
filePath,
|
|
54028
|
+
untitled ? "Untitled" : filePath,
|
|
53765
54029
|
isDirty && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-1 text-muted-foreground", children: "(modified)" })
|
|
53766
54030
|
] }),
|
|
53767
54031
|
saveError && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "shrink-0 text-xs text-destructive", children: saveError }),
|
|
@@ -53774,7 +54038,12 @@ function FileViewer({
|
|
|
53774
54038
|
}
|
|
53775
54039
|
),
|
|
53776
54040
|
formatting && /* @__PURE__ */ jsxRuntimeExports.jsx(LoaderCircle, { className: "size-3.5 shrink-0 animate-spin text-muted-foreground" }),
|
|
53777
|
-
|
|
54041
|
+
canSave && isDirty && // Gate on canSave (which requires a working save target —
|
|
54042
|
+
// adapter method for file-backed tabs, `onSaveAs` for
|
|
54043
|
+
// untitled ones) rather than canEdit, so an untitled tab in
|
|
54044
|
+
// the web build still renders an editable surface even
|
|
54045
|
+
// though no Save button can appear.
|
|
54046
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
53778
54047
|
"button",
|
|
53779
54048
|
{
|
|
53780
54049
|
type: "button",
|
|
@@ -53861,7 +54130,29 @@ function FileViewer({
|
|
|
53861
54130
|
formatSize(data.size),
|
|
53862
54131
|
")"
|
|
53863
54132
|
] })
|
|
53864
|
-
] })
|
|
54133
|
+
] }),
|
|
54134
|
+
onLanguageOverrideChange && previewType === "code" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-6 shrink-0 items-center justify-end gap-2 border-t border-border/50 bg-background px-2 text-xs", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Tooltip, { children: [
|
|
54135
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54136
|
+
"button",
|
|
54137
|
+
{
|
|
54138
|
+
type: "button",
|
|
54139
|
+
onClick: () => setLanguagePickerOpen(true),
|
|
54140
|
+
className: "inline-flex items-center gap-1 rounded px-1.5 py-0.5 text-muted-foreground hover:bg-accent hover:text-foreground transition-colors",
|
|
54141
|
+
children: languageLabel(lang)
|
|
54142
|
+
}
|
|
54143
|
+
) }),
|
|
54144
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TooltipContent, { side: "top", className: "text-xs", children: "Select Language Mode" })
|
|
54145
|
+
] }) }),
|
|
54146
|
+
onLanguageOverrideChange && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
54147
|
+
LanguagePickerDialog,
|
|
54148
|
+
{
|
|
54149
|
+
open: languagePickerOpen,
|
|
54150
|
+
onOpenChange: setLanguagePickerOpen,
|
|
54151
|
+
currentLanguage: lang,
|
|
54152
|
+
hasOverride: languageOverride != null,
|
|
54153
|
+
onSelect: onLanguageOverrideChange
|
|
54154
|
+
}
|
|
54155
|
+
)
|
|
53865
54156
|
] })
|
|
53866
54157
|
);
|
|
53867
54158
|
}
|
|
@@ -54046,7 +54337,10 @@ function QuickOpenDialog({
|
|
|
54046
54337
|
canOpenExternal && /* @__PURE__ */ jsxRuntimeExports.jsx(CommandGroup, { heading: "Actions", children: /* @__PURE__ */ jsxRuntimeExports.jsxs(CommandItem, { value: "__band_open_file_external__", onSelect: handleOpenExternal, children: [
|
|
54047
54338
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FileInput, { className: "size-4 shrink-0 text-muted-foreground" }),
|
|
54048
54339
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm", children: "Open File…" }),
|
|
54049
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
54340
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "ml-auto flex items-center gap-2 text-xs text-muted-foreground", children: [
|
|
54341
|
+
"Pick a file outside this workspace",
|
|
54342
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("kbd", { className: "rounded border border-popover-foreground/25 bg-popover-foreground/10 px-1 py-0.5 font-mono text-[10px]", children: "⌘O" })
|
|
54343
|
+
] })
|
|
54050
54344
|
] }) })
|
|
54051
54345
|
] }) })
|
|
54052
54346
|
] })
|
|
@@ -61206,6 +61500,27 @@ class NativeShellCapabilities {
|
|
|
61206
61500
|
if (!isDesktopShell()) return null;
|
|
61207
61501
|
return desktopInvoke("pick_file");
|
|
61208
61502
|
}
|
|
61503
|
+
/**
|
|
61504
|
+
* Open the OS "Save As" picker and persist `content` to the chosen
|
|
61505
|
+
* path. Returns the absolute path (or `null` when the user cancels).
|
|
61506
|
+
*
|
|
61507
|
+
* Backs the editor's "Save untitled tab" flow — the renderer holds an
|
|
61508
|
+
* in-memory buffer until the user picks a destination; this bridge
|
|
61509
|
+
* runs the dialog and the write in a single IPC round-trip so the
|
|
61510
|
+
* file-system trust boundary stays inside the Electron main process.
|
|
61511
|
+
*
|
|
61512
|
+
* Only meaningful inside the Electron shell; plain browser tabs return
|
|
61513
|
+
* `null` and callers gate the UI on `capabilities.pickSaveFile` being
|
|
61514
|
+
* defined (same pattern `pickFile` uses).
|
|
61515
|
+
*/
|
|
61516
|
+
async pickSaveFile(args) {
|
|
61517
|
+
if (!isDesktopShell()) return null;
|
|
61518
|
+
return desktopInvoke("pick_save_file", {
|
|
61519
|
+
content: args.content,
|
|
61520
|
+
defaultName: args.defaultName,
|
|
61521
|
+
defaultPath: args.defaultPath
|
|
61522
|
+
});
|
|
61523
|
+
}
|
|
61209
61524
|
async openUrl(url) {
|
|
61210
61525
|
if (!isDesktopShell()) {
|
|
61211
61526
|
window.open(url, "_blank");
|
|
@@ -61670,10 +61985,10 @@ function parseWorkspaceFromPath(pathname) {
|
|
|
61670
61985
|
return match ? decodeURIComponent(match[1]) : null;
|
|
61671
61986
|
}
|
|
61672
61987
|
const state$1 = /* @__PURE__ */ new Map();
|
|
61673
|
-
const listeners$
|
|
61988
|
+
const listeners$2 = /* @__PURE__ */ new Map();
|
|
61674
61989
|
const DEFAULT = { wsActive: true };
|
|
61675
61990
|
function notify(workspaceId) {
|
|
61676
|
-
const set2 = listeners$
|
|
61991
|
+
const set2 = listeners$2.get(workspaceId);
|
|
61677
61992
|
if (set2) {
|
|
61678
61993
|
for (const cb of set2) cb();
|
|
61679
61994
|
}
|
|
@@ -61687,20 +62002,20 @@ function setWsActive(workspaceId, wsActive) {
|
|
|
61687
62002
|
function getWsActive(workspaceId) {
|
|
61688
62003
|
return state$1.get(workspaceId)?.wsActive ?? DEFAULT.wsActive;
|
|
61689
62004
|
}
|
|
61690
|
-
function subscribe$
|
|
61691
|
-
let set2 = listeners$
|
|
62005
|
+
function subscribe$3(workspaceId, cb) {
|
|
62006
|
+
let set2 = listeners$2.get(workspaceId);
|
|
61692
62007
|
if (!set2) {
|
|
61693
62008
|
set2 = /* @__PURE__ */ new Set();
|
|
61694
|
-
listeners$
|
|
62009
|
+
listeners$2.set(workspaceId, set2);
|
|
61695
62010
|
}
|
|
61696
62011
|
set2.add(cb);
|
|
61697
62012
|
return () => {
|
|
61698
62013
|
set2.delete(cb);
|
|
61699
|
-
if (set2.size === 0) listeners$
|
|
62014
|
+
if (set2.size === 0) listeners$2.delete(workspaceId);
|
|
61700
62015
|
};
|
|
61701
62016
|
}
|
|
61702
62017
|
function useWsActive(workspaceId) {
|
|
61703
|
-
const sub2 = reactExports.useCallback((cb) => subscribe$
|
|
62018
|
+
const sub2 = reactExports.useCallback((cb) => subscribe$3(workspaceId, cb), [workspaceId]);
|
|
61704
62019
|
const snap = reactExports.useCallback(() => getWsActive(workspaceId), [workspaceId]);
|
|
61705
62020
|
return reactExports.useSyncExternalStore(sub2, snap);
|
|
61706
62021
|
}
|
|
@@ -78706,13 +79021,16 @@ function Qt$1({
|
|
|
78706
79021
|
);
|
|
78707
79022
|
}
|
|
78708
79023
|
Qt$1.displayName = "Separator";
|
|
79024
|
+
const UNTITLED_PREFIX = "untitled:";
|
|
79025
|
+
function isUntitledPath(filePath) {
|
|
79026
|
+
return filePath.startsWith(UNTITLED_PREFIX);
|
|
79027
|
+
}
|
|
78709
79028
|
function storageKey$1(workspaceId) {
|
|
78710
79029
|
return `band-open-tabs:${workspaceId}`;
|
|
78711
79030
|
}
|
|
78712
|
-
function
|
|
79031
|
+
function parseTabState(raw2) {
|
|
79032
|
+
if (!raw2) return null;
|
|
78713
79033
|
try {
|
|
78714
|
-
const raw2 = localStorage.getItem(storageKey$1(workspaceId));
|
|
78715
|
-
if (!raw2) return null;
|
|
78716
79034
|
const parsed = JSON.parse(raw2);
|
|
78717
79035
|
if (!Array.isArray(parsed.tabs)) return null;
|
|
78718
79036
|
const tabs = [];
|
|
@@ -78724,6 +79042,12 @@ function loadTabState(workspaceId) {
|
|
|
78724
79042
|
const tab2 = { filePath: obj.filePath };
|
|
78725
79043
|
if (obj.isPreview === true) tab2.isPreview = true;
|
|
78726
79044
|
if (obj.isExternal === true) tab2.isExternal = true;
|
|
79045
|
+
if (obj.isUntitled === true && obj.filePath.startsWith(UNTITLED_PREFIX)) {
|
|
79046
|
+
tab2.isUntitled = true;
|
|
79047
|
+
if (typeof obj.untitledLabel === "string") {
|
|
79048
|
+
tab2.untitledLabel = obj.untitledLabel;
|
|
79049
|
+
}
|
|
79050
|
+
}
|
|
78727
79051
|
tabs.push(tab2);
|
|
78728
79052
|
}
|
|
78729
79053
|
}
|
|
@@ -78733,22 +79057,46 @@ function loadTabState(workspaceId) {
|
|
|
78733
79057
|
return null;
|
|
78734
79058
|
}
|
|
78735
79059
|
}
|
|
79060
|
+
function loadTabState(workspaceId) {
|
|
79061
|
+
try {
|
|
79062
|
+
return parseTabState(localStorage.getItem(storageKey$1(workspaceId)));
|
|
79063
|
+
} catch {
|
|
79064
|
+
return null;
|
|
79065
|
+
}
|
|
79066
|
+
}
|
|
79067
|
+
function serializeTabState(tabs, active) {
|
|
79068
|
+
const persistedActive = active != null && tabs.some((t2) => t2.filePath === active) ? active : null;
|
|
79069
|
+
const state2 = {
|
|
79070
|
+
tabs: tabs.map((t2) => {
|
|
79071
|
+
if (!t2.isPreview && !t2.isExternal && !t2.isUntitled) return t2.filePath;
|
|
79072
|
+
const out = { filePath: t2.filePath };
|
|
79073
|
+
if (t2.isPreview) out.isPreview = true;
|
|
79074
|
+
if (t2.isExternal) out.isExternal = true;
|
|
79075
|
+
if (t2.isUntitled) {
|
|
79076
|
+
out.isUntitled = true;
|
|
79077
|
+
if (t2.untitledLabel) out.untitledLabel = t2.untitledLabel;
|
|
79078
|
+
}
|
|
79079
|
+
return out;
|
|
79080
|
+
}),
|
|
79081
|
+
active: persistedActive
|
|
79082
|
+
};
|
|
79083
|
+
return JSON.stringify(state2);
|
|
79084
|
+
}
|
|
78736
79085
|
function saveTabState(workspaceId, tabs, active) {
|
|
78737
79086
|
try {
|
|
78738
|
-
|
|
78739
|
-
tabs: tabs.map((t2) => {
|
|
78740
|
-
if (!t2.isPreview && !t2.isExternal) return t2.filePath;
|
|
78741
|
-
const out = { filePath: t2.filePath };
|
|
78742
|
-
if (t2.isPreview) out.isPreview = true;
|
|
78743
|
-
if (t2.isExternal) out.isExternal = true;
|
|
78744
|
-
return out;
|
|
78745
|
-
}),
|
|
78746
|
-
active
|
|
78747
|
-
};
|
|
78748
|
-
localStorage.setItem(storageKey$1(workspaceId), JSON.stringify(state2));
|
|
79087
|
+
localStorage.setItem(storageKey$1(workspaceId), serializeTabState(tabs, active));
|
|
78749
79088
|
} catch {
|
|
78750
79089
|
}
|
|
78751
79090
|
}
|
|
79091
|
+
function initialUntitledCounter(tabs) {
|
|
79092
|
+
let max2 = 0;
|
|
79093
|
+
for (const t2 of tabs) {
|
|
79094
|
+
if (!t2.isUntitled) continue;
|
|
79095
|
+
const n2 = Number.parseInt(t2.filePath.slice(UNTITLED_PREFIX.length), 10);
|
|
79096
|
+
if (Number.isFinite(n2) && n2 > max2) max2 = n2;
|
|
79097
|
+
}
|
|
79098
|
+
return max2;
|
|
79099
|
+
}
|
|
78752
79100
|
function useFileTabs(workspaceId) {
|
|
78753
79101
|
const [openTabs, setOpenTabs] = reactExports.useState(() => {
|
|
78754
79102
|
const saved = loadTabState(workspaceId);
|
|
@@ -78777,9 +79125,11 @@ function useFileTabs(workspaceId) {
|
|
|
78777
79125
|
if (saved) {
|
|
78778
79126
|
setOpenTabs(saved.tabs);
|
|
78779
79127
|
setActiveTabPathState(saved.active);
|
|
79128
|
+
untitledCounterRef.current = initialUntitledCounter(saved.tabs);
|
|
78780
79129
|
} else {
|
|
78781
79130
|
setOpenTabs([]);
|
|
78782
79131
|
setActiveTabPathState(null);
|
|
79132
|
+
untitledCounterRef.current = 0;
|
|
78783
79133
|
}
|
|
78784
79134
|
}
|
|
78785
79135
|
}, [workspaceId]);
|
|
@@ -78802,6 +79152,36 @@ function useFileTabs(workspaceId) {
|
|
|
78802
79152
|
});
|
|
78803
79153
|
setActiveTabPathState(filePath);
|
|
78804
79154
|
}, []);
|
|
79155
|
+
const untitledCounterRef = reactExports.useRef(initialUntitledCounter(openTabs));
|
|
79156
|
+
const openTabUntitled = reactExports.useCallback(() => {
|
|
79157
|
+
untitledCounterRef.current += 1;
|
|
79158
|
+
const n2 = untitledCounterRef.current;
|
|
79159
|
+
const filePath = `${UNTITLED_PREFIX}${n2}`;
|
|
79160
|
+
const label = `Untitled-${n2}`;
|
|
79161
|
+
setOpenTabs((prev2) => [...prev2, { filePath, isUntitled: true, untitledLabel: label }]);
|
|
79162
|
+
setActiveTabPathState(filePath);
|
|
79163
|
+
return { filePath, label };
|
|
79164
|
+
}, []);
|
|
79165
|
+
const renameUntitledToFile = reactExports.useCallback(
|
|
79166
|
+
(untitledPath, newPath, isExternal) => {
|
|
79167
|
+
setOpenTabs((prev2) => {
|
|
79168
|
+
const idx = prev2.findIndex((t2) => t2.filePath === untitledPath);
|
|
79169
|
+
if (idx === -1) {
|
|
79170
|
+
return [
|
|
79171
|
+
...prev2,
|
|
79172
|
+
isExternal ? { filePath: newPath, isExternal: true } : { filePath: newPath }
|
|
79173
|
+
];
|
|
79174
|
+
}
|
|
79175
|
+
const dedup = prev2.filter((t2, i2) => i2 === idx || t2.filePath !== newPath);
|
|
79176
|
+
const slotIdx = dedup.findIndex((t2) => t2.filePath === untitledPath);
|
|
79177
|
+
const next2 = dedup.slice();
|
|
79178
|
+
next2[slotIdx] = isExternal ? { filePath: newPath, isExternal: true } : { filePath: newPath };
|
|
79179
|
+
return next2;
|
|
79180
|
+
});
|
|
79181
|
+
setActiveTabPathState((current) => current === untitledPath ? newPath : current);
|
|
79182
|
+
},
|
|
79183
|
+
[]
|
|
79184
|
+
);
|
|
78805
79185
|
const openTabExternal = reactExports.useCallback((absolutePath) => {
|
|
78806
79186
|
setOpenTabs((prev2) => {
|
|
78807
79187
|
const idx = prev2.findIndex((t2) => t2.filePath === absolutePath);
|
|
@@ -78954,6 +79334,8 @@ function useFileTabs(workspaceId) {
|
|
|
78954
79334
|
openTabPreview,
|
|
78955
79335
|
openTabPinned,
|
|
78956
79336
|
openTabExternal,
|
|
79337
|
+
openTabUntitled,
|
|
79338
|
+
renameUntitledToFile,
|
|
78957
79339
|
pinTab,
|
|
78958
79340
|
closeTab,
|
|
78959
79341
|
setActiveTab,
|
|
@@ -78964,19 +79346,19 @@ function useFileTabs(workspaceId) {
|
|
|
78964
79346
|
};
|
|
78965
79347
|
}
|
|
78966
79348
|
const DESKTOP_QUERY = "(min-width: 1024px)";
|
|
78967
|
-
function subscribe$
|
|
79349
|
+
function subscribe$2(cb) {
|
|
78968
79350
|
const mql = window.matchMedia(DESKTOP_QUERY);
|
|
78969
79351
|
mql.addEventListener("change", cb);
|
|
78970
79352
|
return () => mql.removeEventListener("change", cb);
|
|
78971
79353
|
}
|
|
78972
|
-
function getSnapshot$
|
|
79354
|
+
function getSnapshot$2() {
|
|
78973
79355
|
return window.matchMedia(DESKTOP_QUERY).matches;
|
|
78974
79356
|
}
|
|
78975
79357
|
function getServerSnapshot() {
|
|
78976
79358
|
return false;
|
|
78977
79359
|
}
|
|
78978
79360
|
function useIsDesktop() {
|
|
78979
|
-
return reactExports.useSyncExternalStore(subscribe$
|
|
79361
|
+
return reactExports.useSyncExternalStore(subscribe$2, getSnapshot$2, getServerSnapshot);
|
|
78980
79362
|
}
|
|
78981
79363
|
function storageKey(workspaceId) {
|
|
78982
79364
|
return `band-tab-state:${workspaceId}`;
|
|
@@ -79027,6 +79409,17 @@ function useTabState(workspaceId) {
|
|
|
79027
79409
|
},
|
|
79028
79410
|
[workspaceId]
|
|
79029
79411
|
);
|
|
79412
|
+
const getLanguage = reactExports.useCallback((filePath) => {
|
|
79413
|
+
return stateRef.current[filePath]?.language;
|
|
79414
|
+
}, []);
|
|
79415
|
+
const setLanguage = reactExports.useCallback(
|
|
79416
|
+
(filePath, language2) => {
|
|
79417
|
+
const entry = stateRef.current[filePath] ?? {};
|
|
79418
|
+
stateRef.current[filePath] = { ...entry, language: language2 };
|
|
79419
|
+
saveState(workspaceId, stateRef.current);
|
|
79420
|
+
},
|
|
79421
|
+
[workspaceId]
|
|
79422
|
+
);
|
|
79030
79423
|
const isDirty = reactExports.useCallback((filePath) => {
|
|
79031
79424
|
return stateRef.current[filePath]?.editedContent != null;
|
|
79032
79425
|
}, []);
|
|
@@ -79075,16 +79468,41 @@ function useTabState(workspaceId) {
|
|
|
79075
79468
|
},
|
|
79076
79469
|
[workspaceId]
|
|
79077
79470
|
);
|
|
79078
|
-
return
|
|
79079
|
-
|
|
79080
|
-
|
|
79081
|
-
|
|
79082
|
-
|
|
79083
|
-
|
|
79084
|
-
|
|
79085
|
-
|
|
79086
|
-
|
|
79087
|
-
|
|
79471
|
+
return reactExports.useMemo(
|
|
79472
|
+
() => ({
|
|
79473
|
+
get: get2,
|
|
79474
|
+
update,
|
|
79475
|
+
getViewMode,
|
|
79476
|
+
setViewMode,
|
|
79477
|
+
getLanguage,
|
|
79478
|
+
setLanguage,
|
|
79479
|
+
isDirty,
|
|
79480
|
+
removeFile,
|
|
79481
|
+
renameFile,
|
|
79482
|
+
removePath
|
|
79483
|
+
}),
|
|
79484
|
+
[
|
|
79485
|
+
get2,
|
|
79486
|
+
update,
|
|
79487
|
+
getViewMode,
|
|
79488
|
+
setViewMode,
|
|
79489
|
+
getLanguage,
|
|
79490
|
+
setLanguage,
|
|
79491
|
+
isDirty,
|
|
79492
|
+
removeFile,
|
|
79493
|
+
renameFile,
|
|
79494
|
+
removePath
|
|
79495
|
+
]
|
|
79496
|
+
);
|
|
79497
|
+
}
|
|
79498
|
+
function pathInside(parent, child) {
|
|
79499
|
+
if (!parent) return null;
|
|
79500
|
+
const root2 = parent.replace(/\/+$/, "");
|
|
79501
|
+
if (!root2) return null;
|
|
79502
|
+
if (child === root2) return "";
|
|
79503
|
+
const prefix = `${root2}/`;
|
|
79504
|
+
if (!child.startsWith(prefix)) return null;
|
|
79505
|
+
return child.slice(prefix.length);
|
|
79088
79506
|
}
|
|
79089
79507
|
function getBasename$1(filePath) {
|
|
79090
79508
|
if (typeof filePath !== "string") return String(filePath ?? "");
|
|
@@ -79102,6 +79520,7 @@ function FileTabBar({
|
|
|
79102
79520
|
canGoBack,
|
|
79103
79521
|
canGoForward,
|
|
79104
79522
|
isDirty: isDirtyFn,
|
|
79523
|
+
onSaveUntitled,
|
|
79105
79524
|
actions,
|
|
79106
79525
|
treeCollapsed,
|
|
79107
79526
|
onToggleTree
|
|
@@ -79109,6 +79528,24 @@ function FileTabBar({
|
|
|
79109
79528
|
const activeRef = reactExports.useRef(null);
|
|
79110
79529
|
const containerRef = reactExports.useRef(null);
|
|
79111
79530
|
const [confirmClosePath, setConfirmClosePath] = reactExports.useState(null);
|
|
79531
|
+
const [confirmCloseIsUntitled, setConfirmCloseIsUntitled] = reactExports.useState(false);
|
|
79532
|
+
const [confirmCloseLabel, setConfirmCloseLabel] = reactExports.useState("");
|
|
79533
|
+
const openConfirmClose = reactExports.useCallback(
|
|
79534
|
+
(filePath) => {
|
|
79535
|
+
const tab2 = tabs.find((t2) => t2.filePath === filePath);
|
|
79536
|
+
setConfirmClosePath(filePath);
|
|
79537
|
+
setConfirmCloseIsUntitled(!!tab2?.isUntitled);
|
|
79538
|
+
setConfirmCloseLabel(
|
|
79539
|
+
tab2?.isUntitled ? tab2.untitledLabel ?? "Untitled" : getBasename$1(filePath)
|
|
79540
|
+
);
|
|
79541
|
+
},
|
|
79542
|
+
[tabs]
|
|
79543
|
+
);
|
|
79544
|
+
const closeConfirmDialog = reactExports.useCallback(() => {
|
|
79545
|
+
setConfirmClosePath(null);
|
|
79546
|
+
setConfirmCloseIsUntitled(false);
|
|
79547
|
+
setConfirmCloseLabel("");
|
|
79548
|
+
}, []);
|
|
79112
79549
|
const [, forceUpdate] = reactExports.useReducer((x2) => x2 + 1, 0);
|
|
79113
79550
|
reactExports.useEffect(() => {
|
|
79114
79551
|
window.addEventListener("band:dirty-change", forceUpdate);
|
|
@@ -79134,19 +79571,32 @@ function FileTabBar({
|
|
|
79134
79571
|
const handleClose2 = reactExports.useCallback(
|
|
79135
79572
|
(filePath) => {
|
|
79136
79573
|
if (isDirtyFn?.(filePath)) {
|
|
79137
|
-
|
|
79574
|
+
openConfirmClose(filePath);
|
|
79138
79575
|
return;
|
|
79139
79576
|
}
|
|
79140
79577
|
onCloseTab(filePath);
|
|
79141
79578
|
},
|
|
79142
|
-
[onCloseTab, isDirtyFn]
|
|
79579
|
+
[onCloseTab, isDirtyFn, openConfirmClose]
|
|
79143
79580
|
);
|
|
79144
79581
|
const handleConfirmClose = reactExports.useCallback(() => {
|
|
79145
79582
|
if (confirmClosePath) {
|
|
79146
79583
|
onCloseTab(confirmClosePath);
|
|
79147
|
-
|
|
79584
|
+
closeConfirmDialog();
|
|
79148
79585
|
}
|
|
79149
|
-
}, [confirmClosePath, onCloseTab]);
|
|
79586
|
+
}, [confirmClosePath, onCloseTab, closeConfirmDialog]);
|
|
79587
|
+
const [saveAndClosePending, setSaveAndClosePending] = reactExports.useState(false);
|
|
79588
|
+
const handleSaveAndClose = reactExports.useCallback(async () => {
|
|
79589
|
+
if (!confirmClosePath || !onSaveUntitled || saveAndClosePending) return;
|
|
79590
|
+
setSaveAndClosePending(true);
|
|
79591
|
+
try {
|
|
79592
|
+
const saved = await onSaveUntitled(confirmClosePath);
|
|
79593
|
+
if (saved) {
|
|
79594
|
+
closeConfirmDialog();
|
|
79595
|
+
}
|
|
79596
|
+
} finally {
|
|
79597
|
+
setSaveAndClosePending(false);
|
|
79598
|
+
}
|
|
79599
|
+
}, [confirmClosePath, onSaveUntitled, saveAndClosePending, closeConfirmDialog]);
|
|
79150
79600
|
const handleMouseDown = reactExports.useCallback(
|
|
79151
79601
|
(e2, filePath) => {
|
|
79152
79602
|
if (e2.button === 1) {
|
|
@@ -79225,10 +79675,11 @@ function FileTabBar({
|
|
|
79225
79675
|
const isDirty = isDirtyFn?.(tab2.filePath) ?? false;
|
|
79226
79676
|
const isPreview = tab2.isPreview ?? false;
|
|
79227
79677
|
const isExternal = tab2.isExternal ?? false;
|
|
79228
|
-
const
|
|
79229
|
-
const
|
|
79230
|
-
const
|
|
79231
|
-
const
|
|
79678
|
+
const isUntitled = tab2.isUntitled ?? false;
|
|
79679
|
+
const basename2 = isUntitled ? tab2.untitledLabel ?? "Untitled" : getBasename$1(tab2.filePath);
|
|
79680
|
+
const Icon2 = isUntitled ? FileText : getFileIcon(basename2);
|
|
79681
|
+
const absolutePath = isUntitled ? null : isExternal ? tab2.filePath : workspacePath ? `${workspacePath.replace(/\/$/, "")}/${tab2.filePath}` : tab2.filePath;
|
|
79682
|
+
const tabTitle = isUntitled ? `${basename2} (unsaved — Save to write to disk)` : isExternal ? `${tab2.filePath} (external file)` : isPreview ? `${tab2.filePath} (preview — double-click to keep open)` : tab2.filePath;
|
|
79232
79683
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenu, { children: [
|
|
79233
79684
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
79234
79685
|
"button",
|
|
@@ -79291,15 +79742,15 @@ function FileTabBar({
|
|
|
79291
79742
|
] }),
|
|
79292
79743
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {})
|
|
79293
79744
|
] }),
|
|
79294
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => copyToClipboard(tab2.filePath), children: [
|
|
79745
|
+
!isUntitled && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => copyToClipboard(tab2.filePath), children: [
|
|
79295
79746
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Copy, { className: "size-4" }),
|
|
79296
79747
|
"Copy Relative Path"
|
|
79297
79748
|
] }),
|
|
79298
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => copyToClipboard(absolutePath), children: [
|
|
79749
|
+
absolutePath !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => copyToClipboard(absolutePath), children: [
|
|
79299
79750
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Clipboard, { className: "size-4" }),
|
|
79300
79751
|
"Copy Absolute Path"
|
|
79301
79752
|
] }),
|
|
79302
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
|
|
79753
|
+
!isUntitled && /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
|
|
79303
79754
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { onClick: () => handleClose2(tab2.filePath), children: [
|
|
79304
79755
|
/* @__PURE__ */ jsxRuntimeExports.jsx(X$7, { className: "size-4" }),
|
|
79305
79756
|
"Close"
|
|
@@ -79315,19 +79766,24 @@ function FileTabBar({
|
|
|
79315
79766
|
Dialog,
|
|
79316
79767
|
{
|
|
79317
79768
|
open: confirmClosePath !== null,
|
|
79318
|
-
onOpenChange: (open2) => !open2 &&
|
|
79769
|
+
onOpenChange: (open2) => !open2 && closeConfirmDialog(),
|
|
79319
79770
|
children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { showCloseButton: false, children: [
|
|
79320
79771
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogHeader, { children: [
|
|
79321
79772
|
/* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: "Unsaved Changes" }),
|
|
79322
79773
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogDescription, { children: [
|
|
79323
79774
|
"“",
|
|
79324
|
-
|
|
79775
|
+
confirmCloseLabel,
|
|
79325
79776
|
"” has unsaved changes that will be lost if you close it."
|
|
79326
79777
|
] })
|
|
79327
79778
|
] }),
|
|
79328
79779
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DialogFooter, { children: [
|
|
79329
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "outline", onClick:
|
|
79330
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "destructive", onClick: handleConfirmClose, children: "Close Without Saving" })
|
|
79780
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "outline", onClick: closeConfirmDialog, children: "Cancel" }),
|
|
79781
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { variant: "destructive", onClick: handleConfirmClose, children: confirmCloseIsUntitled ? "Discard" : "Close Without Saving" }),
|
|
79782
|
+
confirmCloseIsUntitled && onSaveUntitled && // Save flows through the OS dialog (Cmd+S on an untitled
|
|
79783
|
+
// tab). On success the untitled tab is renamed to the
|
|
79784
|
+
// chosen path and the close completes; on cancel we
|
|
79785
|
+
// leave both the dialog and the tab open.
|
|
79786
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Button, { onClick: handleSaveAndClose, disabled: saveAndClosePending, children: "Save…" })
|
|
79331
79787
|
] })
|
|
79332
79788
|
] })
|
|
79333
79789
|
}
|
|
@@ -94632,12 +95088,12 @@ function tokenizeDomain(effects, ok2, nok) {
|
|
|
94632
95088
|
function tokenizePath(effects, ok2) {
|
|
94633
95089
|
let sizeOpen = 0;
|
|
94634
95090
|
let sizeClose = 0;
|
|
94635
|
-
return
|
|
94636
|
-
function
|
|
95091
|
+
return pathInside2;
|
|
95092
|
+
function pathInside2(code2) {
|
|
94637
95093
|
if (code2 === 40) {
|
|
94638
95094
|
sizeOpen++;
|
|
94639
95095
|
effects.consume(code2);
|
|
94640
|
-
return
|
|
95096
|
+
return pathInside2;
|
|
94641
95097
|
}
|
|
94642
95098
|
if (code2 === 41 && sizeClose < sizeOpen) {
|
|
94643
95099
|
return pathAtPunctuation(code2);
|
|
@@ -94649,14 +95105,14 @@ function tokenizePath(effects, ok2) {
|
|
|
94649
95105
|
return ok2(code2);
|
|
94650
95106
|
}
|
|
94651
95107
|
effects.consume(code2);
|
|
94652
|
-
return
|
|
95108
|
+
return pathInside2;
|
|
94653
95109
|
}
|
|
94654
95110
|
function pathAtPunctuation(code2) {
|
|
94655
95111
|
if (code2 === 41) {
|
|
94656
95112
|
sizeClose++;
|
|
94657
95113
|
}
|
|
94658
95114
|
effects.consume(code2);
|
|
94659
|
-
return
|
|
95115
|
+
return pathInside2;
|
|
94660
95116
|
}
|
|
94661
95117
|
}
|
|
94662
95118
|
function tokenizeTrail(effects, ok2, nok) {
|
|
@@ -104724,7 +105180,7 @@ var tn = f$5("block", "before:content-[counter(line)]", "before:inline-block", "
|
|
|
104724
105180
|
var et$1 = ({ className: e2, language: t2, style: o3, isIncomplete: n2, ...s2 }) => jsxRuntimeExports.jsx("div", { className: f$5("my-4 flex w-full flex-col gap-2 rounded-xl border border-border bg-sidebar p-2", e2), "data-incomplete": n2 || void 0, "data-language": t2, "data-streamdown": "code-block", style: { contentVisibility: "auto", containIntrinsicSize: "auto 200px", ...o3 }, ...s2 });
|
|
104725
105181
|
var Se$1 = reactExports.createContext({ code: "" }), de$2 = () => reactExports.useContext(Se$1);
|
|
104726
105182
|
var ot$1 = ({ language: e2 }) => jsxRuntimeExports.jsx("div", { className: "flex h-8 items-center text-muted-foreground text-xs", "data-language": e2, "data-streamdown": "code-block-header", children: jsxRuntimeExports.jsx("span", { className: "ml-1 font-mono lowercase", children: e2 }) });
|
|
104727
|
-
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-
|
|
105183
|
+
var cn = /\n+$/, dn = reactExports.lazy(() => import("./highlighted-body-B3W2YXNL-D6ahbJdi.js").then((e2) => ({ default: e2.HighlightedCodeBlockBody }))), rt = ({ code: e2, language: t2, className: o3, children: n2, isIncomplete: s2 = false, ...r2 }) => {
|
|
104728
105184
|
let i2 = reactExports.useMemo(() => e2.replace(cn, ""), [e2]), c2 = reactExports.useMemo(() => ({ bg: "transparent", fg: "inherit", tokens: i2.split(`
|
|
104729
105185
|
`).map((a2) => [{ content: a2, color: "inherit", bgColor: "transparent", htmlStyle: {}, offset: 0 }]) }), [i2]);
|
|
104730
105186
|
return jsxRuntimeExports.jsx(Se$1.Provider, { value: { code: e2 }, children: jsxRuntimeExports.jsxs(et$1, { isIncomplete: s2, language: t2, children: [jsxRuntimeExports.jsx(ot$1, { language: t2 }), n2 ? jsxRuntimeExports.jsx("div", { className: "pointer-events-none sticky top-2 z-10 -mt-10 flex h-8 items-center justify-end", children: jsxRuntimeExports.jsx("div", { className: "pointer-events-auto flex shrink-0 items-center gap-2 rounded-md border border-sidebar bg-sidebar/80 px-1.5 py-1 supports-[backdrop-filter]:bg-sidebar/70 supports-[backdrop-filter]:backdrop-blur", "data-streamdown": "code-block-actions", children: n2 }) }) : null, jsxRuntimeExports.jsx(reactExports.Suspense, { fallback: jsxRuntimeExports.jsx(Qe$1, { className: o3, language: t2, result: c2, ...r2 }), children: jsxRuntimeExports.jsx(dn, { className: o3, code: i2, language: t2, raw: c2, ...r2 }) })] }) });
|
|
@@ -105046,7 +105502,7 @@ var Dt = ({ children: e2, className: t2, onDownload: o3, onError: n2 }) => {
|
|
|
105046
105502
|
}, []), jsxRuntimeExports.jsxs("div", { className: "relative", ref: i2, children: [jsxRuntimeExports.jsx("button", { className: f$5("cursor-pointer p-1 text-muted-foreground transition-all hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", t2), disabled: c2, onClick: () => r2(!s2), title: "Download table", type: "button", children: e2 != null ? e2 : jsxRuntimeExports.jsx(Z$2, { size: 14 }) }), s2 ? jsxRuntimeExports.jsxs("div", { className: "absolute top-full right-0 z-10 mt-1 min-w-[120px] overflow-hidden rounded-md border border-border bg-background shadow-lg", children: [jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("csv"), title: "Download table as CSV", type: "button", children: "CSV" }), jsxRuntimeExports.jsx("button", { className: "w-full px-3 py-2 text-left text-sm transition-colors hover:bg-muted/40", onClick: () => a2("markdown"), title: "Download table as Markdown", type: "button", children: "Markdown" })] }) : null] });
|
|
105047
105503
|
};
|
|
105048
105504
|
var Vt = ({ children: e2, className: t2, showControls: o3, ...n2 }) => jsxRuntimeExports.jsxs("div", { className: "my-4 flex flex-col gap-2 rounded-lg border border-border bg-sidebar p-2", "data-streamdown": "table-wrapper", children: [o3 ? jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-end gap-1", children: [jsxRuntimeExports.jsx(Ht, {}), jsxRuntimeExports.jsx(Dt, {})] }) : null, jsxRuntimeExports.jsx("div", { className: "border-collapse overflow-x-auto overscroll-y-auto rounded-md border border-border bg-background", children: jsxRuntimeExports.jsx("table", { className: f$5("w-full divide-y divide-border", t2), "data-streamdown": "table", ...n2, children: e2 }) })] });
|
|
105049
|
-
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-
|
|
105505
|
+
var Jn = reactExports.lazy(() => import("./mermaid-3ZIDBTTL-C7xGj9Xg.js").then((e2) => ({ default: e2.Mermaid }))), Kn = /language-([^\s]+)/;
|
|
105050
105506
|
function ke$1(e2, t2) {
|
|
105051
105507
|
if (!(e2 != null && e2.position || t2 != null && t2.position)) return true;
|
|
105052
105508
|
if (!(e2 != null && e2.position && (t2 != null && t2.position))) return false;
|
|
@@ -154848,12 +155304,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
154848
155304
|
registerLayoutLoaders([
|
|
154849
155305
|
{
|
|
154850
155306
|
name: "dagre",
|
|
154851
|
-
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-
|
|
155307
|
+
loader: /* @__PURE__ */ __name(async () => await import("./dagre-6UL2VRFP-CH-VbyTI.js"), "loader")
|
|
154852
155308
|
},
|
|
154853
155309
|
...[
|
|
154854
155310
|
{
|
|
154855
155311
|
name: "cose-bilkent",
|
|
154856
|
-
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-
|
|
155312
|
+
loader: /* @__PURE__ */ __name(async () => await import("./cose-bilkent-S5V4N54A-BhU6LMhN.js"), "loader")
|
|
154857
155313
|
}
|
|
154858
155314
|
]
|
|
154859
155315
|
]);
|
|
@@ -155292,7 +155748,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
155292
155748
|
return /^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt);
|
|
155293
155749
|
}, "detector");
|
|
155294
155750
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
155295
|
-
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-
|
|
155751
|
+
const { diagram: diagram2 } = await import("./c4Diagram-YG6GDRKO-BcLh1QQl.js");
|
|
155296
155752
|
return { id, diagram: diagram2 };
|
|
155297
155753
|
}, "loader");
|
|
155298
155754
|
var plugin = {
|
|
@@ -155309,7 +155765,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155309
155765
|
return /^\s*graph/.test(txt);
|
|
155310
155766
|
}, "detector");
|
|
155311
155767
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
155312
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
155768
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-hg6b4dSR.js");
|
|
155313
155769
|
return { id: id2, diagram: diagram2 };
|
|
155314
155770
|
}, "loader");
|
|
155315
155771
|
var plugin2 = {
|
|
@@ -155332,7 +155788,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155332
155788
|
return /^\s*flowchart/.test(txt);
|
|
155333
155789
|
}, "detector");
|
|
155334
155790
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
155335
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
155791
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-hg6b4dSR.js");
|
|
155336
155792
|
return { id: id3, diagram: diagram2 };
|
|
155337
155793
|
}, "loader");
|
|
155338
155794
|
var plugin3 = {
|
|
@@ -155346,7 +155802,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
155346
155802
|
return /^\s*erDiagram/.test(txt);
|
|
155347
155803
|
}, "detector");
|
|
155348
155804
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
155349
|
-
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-
|
|
155805
|
+
const { diagram: diagram2 } = await import("./erDiagram-Q2GNP2WA-DeBKeqCX.js");
|
|
155350
155806
|
return { id: id4, diagram: diagram2 };
|
|
155351
155807
|
}, "loader");
|
|
155352
155808
|
var plugin4 = {
|
|
@@ -155360,7 +155816,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
155360
155816
|
return /^\s*gitGraph/.test(txt);
|
|
155361
155817
|
}, "detector");
|
|
155362
155818
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
155363
|
-
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
155819
|
+
const { diagram: diagram2 } = await import("./gitGraphDiagram-V2S2FVAM-CN8rFh7o.js");
|
|
155364
155820
|
return { id: id5, diagram: diagram2 };
|
|
155365
155821
|
}, "loader");
|
|
155366
155822
|
var plugin5 = {
|
|
@@ -155374,7 +155830,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
155374
155830
|
return /^\s*gantt/.test(txt);
|
|
155375
155831
|
}, "detector");
|
|
155376
155832
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
155377
|
-
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-
|
|
155833
|
+
const { diagram: diagram2 } = await import("./ganttDiagram-JELNMOA3-oy5gzveG.js");
|
|
155378
155834
|
return { id: id6, diagram: diagram2 };
|
|
155379
155835
|
}, "loader");
|
|
155380
155836
|
var plugin6 = {
|
|
@@ -155388,7 +155844,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
155388
155844
|
return /^\s*info/.test(txt);
|
|
155389
155845
|
}, "detector");
|
|
155390
155846
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
155391
|
-
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-
|
|
155847
|
+
const { diagram: diagram2 } = await import("./infoDiagram-HS3SLOUP-P_hugt8D.js");
|
|
155392
155848
|
return { id: id7, diagram: diagram2 };
|
|
155393
155849
|
}, "loader");
|
|
155394
155850
|
var info = {
|
|
@@ -155401,7 +155857,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
155401
155857
|
return /^\s*pie/.test(txt);
|
|
155402
155858
|
}, "detector");
|
|
155403
155859
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
155404
|
-
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-
|
|
155860
|
+
const { diagram: diagram2 } = await import("./pieDiagram-ADFJNKIX-YXV3ET4_.js");
|
|
155405
155861
|
return { id: id8, diagram: diagram2 };
|
|
155406
155862
|
}, "loader");
|
|
155407
155863
|
var pie = {
|
|
@@ -155414,7 +155870,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
155414
155870
|
return /^\s*quadrantChart/.test(txt);
|
|
155415
155871
|
}, "detector");
|
|
155416
155872
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
155417
|
-
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
155873
|
+
const { diagram: diagram2 } = await import("./quadrantDiagram-AYHSOK5B-r_peNHCA.js");
|
|
155418
155874
|
return { id: id9, diagram: diagram2 };
|
|
155419
155875
|
}, "loader");
|
|
155420
155876
|
var plugin7 = {
|
|
@@ -155428,7 +155884,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
155428
155884
|
return /^\s*xychart(-beta)?/.test(txt);
|
|
155429
155885
|
}, "detector");
|
|
155430
155886
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
155431
|
-
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-
|
|
155887
|
+
const { diagram: diagram2 } = await import("./xychartDiagram-PRI3JC2R-0ftH7hFg.js");
|
|
155432
155888
|
return { id: id10, diagram: diagram2 };
|
|
155433
155889
|
}, "loader");
|
|
155434
155890
|
var plugin8 = {
|
|
@@ -155442,7 +155898,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
155442
155898
|
return /^\s*requirement(Diagram)?/.test(txt);
|
|
155443
155899
|
}, "detector");
|
|
155444
155900
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
155445
|
-
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
155901
|
+
const { diagram: diagram2 } = await import("./requirementDiagram-UZGBJVZJ-aI3jQPLf.js");
|
|
155446
155902
|
return { id: id11, diagram: diagram2 };
|
|
155447
155903
|
}, "loader");
|
|
155448
155904
|
var plugin9 = {
|
|
@@ -155456,7 +155912,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
155456
155912
|
return /^\s*sequenceDiagram/.test(txt);
|
|
155457
155913
|
}, "detector");
|
|
155458
155914
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
155459
|
-
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-
|
|
155915
|
+
const { diagram: diagram2 } = await import("./sequenceDiagram-WL72ISMW-DrJxigNy.js");
|
|
155460
155916
|
return { id: id12, diagram: diagram2 };
|
|
155461
155917
|
}, "loader");
|
|
155462
155918
|
var plugin10 = {
|
|
@@ -155473,7 +155929,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155473
155929
|
return /^\s*classDiagram/.test(txt);
|
|
155474
155930
|
}, "detector");
|
|
155475
155931
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
155476
|
-
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-
|
|
155932
|
+
const { diagram: diagram2 } = await import("./classDiagram-2ON5EDUG-BvOdRP7s.js");
|
|
155477
155933
|
return { id: id13, diagram: diagram2 };
|
|
155478
155934
|
}, "loader");
|
|
155479
155935
|
var plugin11 = {
|
|
@@ -155490,7 +155946,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155490
155946
|
return /^\s*classDiagram-v2/.test(txt);
|
|
155491
155947
|
}, "detector");
|
|
155492
155948
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
155493
|
-
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
155949
|
+
const { diagram: diagram2 } = await import("./classDiagram-v2-WZHVMYZB-BvOdRP7s.js");
|
|
155494
155950
|
return { id: id14, diagram: diagram2 };
|
|
155495
155951
|
}, "loader");
|
|
155496
155952
|
var plugin12 = {
|
|
@@ -155507,7 +155963,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155507
155963
|
return /^\s*stateDiagram/.test(txt);
|
|
155508
155964
|
}, "detector");
|
|
155509
155965
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
155510
|
-
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-
|
|
155966
|
+
const { diagram: diagram2 } = await import("./stateDiagram-FKZM4ZOC-Dnsp85zH.js");
|
|
155511
155967
|
return { id: id15, diagram: diagram2 };
|
|
155512
155968
|
}, "loader");
|
|
155513
155969
|
var plugin13 = {
|
|
@@ -155527,7 +155983,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
155527
155983
|
return false;
|
|
155528
155984
|
}, "detector");
|
|
155529
155985
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
155530
|
-
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
155986
|
+
const { diagram: diagram2 } = await import("./stateDiagram-v2-4FDKWEC3-C6x8SVRv.js");
|
|
155531
155987
|
return { id: id16, diagram: diagram2 };
|
|
155532
155988
|
}, "loader");
|
|
155533
155989
|
var plugin14 = {
|
|
@@ -155541,7 +155997,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
155541
155997
|
return /^\s*journey/.test(txt);
|
|
155542
155998
|
}, "detector");
|
|
155543
155999
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
155544
|
-
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
156000
|
+
const { diagram: diagram2 } = await import("./journeyDiagram-XKPGCS4Q-lQfkL_-i.js");
|
|
155545
156001
|
return { id: id17, diagram: diagram2 };
|
|
155546
156002
|
}, "loader");
|
|
155547
156003
|
var plugin15 = {
|
|
@@ -155608,7 +156064,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
155608
156064
|
return false;
|
|
155609
156065
|
}, "detector");
|
|
155610
156066
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
155611
|
-
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-
|
|
156067
|
+
const { diagram: diagram2 } = await import("./flowDiagram-NV44I4VS-hg6b4dSR.js");
|
|
155612
156068
|
return { id: id18, diagram: diagram2 };
|
|
155613
156069
|
}, "loader");
|
|
155614
156070
|
var plugin16 = {
|
|
@@ -155622,7 +156078,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
155622
156078
|
return /^\s*timeline/.test(txt);
|
|
155623
156079
|
}, "detector");
|
|
155624
156080
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
155625
|
-
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-
|
|
156081
|
+
const { diagram: diagram2 } = await import("./timeline-definition-IT6M3QCI-DSIrepaO.js");
|
|
155626
156082
|
return { id: id19, diagram: diagram2 };
|
|
155627
156083
|
}, "loader");
|
|
155628
156084
|
var plugin17 = {
|
|
@@ -155636,7 +156092,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
155636
156092
|
return /^\s*mindmap/.test(txt);
|
|
155637
156093
|
}, "detector");
|
|
155638
156094
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
155639
|
-
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-
|
|
156095
|
+
const { diagram: diagram2 } = await import("./mindmap-definition-VGOIOE7T-Byc-qFo2.js");
|
|
155640
156096
|
return { id: id20, diagram: diagram2 };
|
|
155641
156097
|
}, "loader");
|
|
155642
156098
|
var plugin18 = {
|
|
@@ -155650,7 +156106,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
155650
156106
|
return /^\s*kanban/.test(txt);
|
|
155651
156107
|
}, "detector");
|
|
155652
156108
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
155653
|
-
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-
|
|
156109
|
+
const { diagram: diagram2 } = await import("./kanban-definition-3W4ZIXB7-CFh-YdaO.js");
|
|
155654
156110
|
return { id: id21, diagram: diagram2 };
|
|
155655
156111
|
}, "loader");
|
|
155656
156112
|
var plugin19 = {
|
|
@@ -155664,7 +156120,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
155664
156120
|
return /^\s*sankey(-beta)?/.test(txt);
|
|
155665
156121
|
}, "detector");
|
|
155666
156122
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
155667
|
-
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
156123
|
+
const { diagram: diagram2 } = await import("./sankeyDiagram-TZEHDZUN-B1Sb9Zvd.js");
|
|
155668
156124
|
return { id: id22, diagram: diagram2 };
|
|
155669
156125
|
}, "loader");
|
|
155670
156126
|
var plugin20 = {
|
|
@@ -155678,7 +156134,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
155678
156134
|
return /^\s*packet(-beta)?/.test(txt);
|
|
155679
156135
|
}, "detector");
|
|
155680
156136
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
155681
|
-
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-
|
|
156137
|
+
const { diagram: diagram2 } = await import("./diagram-S2PKOQOG-CsrxbKjr.js");
|
|
155682
156138
|
return { id: id23, diagram: diagram2 };
|
|
155683
156139
|
}, "loader");
|
|
155684
156140
|
var packet = {
|
|
@@ -155691,7 +156147,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
155691
156147
|
return /^\s*radar-beta/.test(txt);
|
|
155692
156148
|
}, "detector");
|
|
155693
156149
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
155694
|
-
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-
|
|
156150
|
+
const { diagram: diagram2 } = await import("./diagram-QEK2KX5R-rlYyF51_.js");
|
|
155695
156151
|
return { id: id24, diagram: diagram2 };
|
|
155696
156152
|
}, "loader");
|
|
155697
156153
|
var radar = {
|
|
@@ -155704,7 +156160,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
155704
156160
|
return /^\s*block(-beta)?/.test(txt);
|
|
155705
156161
|
}, "detector");
|
|
155706
156162
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
155707
|
-
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-
|
|
156163
|
+
const { diagram: diagram2 } = await import("./blockDiagram-VD42YOAC-UhTmqpkK.js");
|
|
155708
156164
|
return { id: id25, diagram: diagram2 };
|
|
155709
156165
|
}, "loader");
|
|
155710
156166
|
var plugin21 = {
|
|
@@ -155718,7 +156174,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
155718
156174
|
return /^\s*architecture/.test(txt);
|
|
155719
156175
|
}, "detector");
|
|
155720
156176
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
155721
|
-
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ
|
|
156177
|
+
const { diagram: diagram2 } = await import("./architectureDiagram-VXUJARFQ-H4ZI6Opr.js");
|
|
155722
156178
|
return { id: id26, diagram: diagram2 };
|
|
155723
156179
|
}, "loader");
|
|
155724
156180
|
var architecture = {
|
|
@@ -155732,7 +156188,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
155732
156188
|
return /^\s*treemap/.test(txt);
|
|
155733
156189
|
}, "detector");
|
|
155734
156190
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
155735
|
-
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-
|
|
156191
|
+
const { diagram: diagram2 } = await import("./diagram-PSM6KHXK-BE0vVJdc.js");
|
|
155736
156192
|
return { id: id27, diagram: diagram2 };
|
|
155737
156193
|
}, "loader");
|
|
155738
156194
|
var treemap = {
|
|
@@ -156781,7 +157237,12 @@ const touchPointerUp = (fn2) => (e2) => {
|
|
|
156781
157237
|
};
|
|
156782
157238
|
const fireOpenQuickOpen = () => window.dispatchEvent(new CustomEvent("band:open-quick-open"));
|
|
156783
157239
|
const fireOpenSearchFiles = () => window.dispatchEvent(new CustomEvent("band:open-search-files"));
|
|
156784
|
-
function FileTreeToolbar({
|
|
157240
|
+
function FileTreeToolbar({
|
|
157241
|
+
onNewFile,
|
|
157242
|
+
onNewFolder,
|
|
157243
|
+
onOpenFile,
|
|
157244
|
+
onNewUntitled
|
|
157245
|
+
}) {
|
|
156785
157246
|
const rootRef = reactExports.useRef(null);
|
|
156786
157247
|
const [compact, setCompact] = reactExports.useState(false);
|
|
156787
157248
|
reactExports.useLayoutEffect(() => {
|
|
@@ -156838,6 +157299,11 @@ function FileTreeToolbar({ onNewFile, onNewFolder, onOpenFile }) {
|
|
|
156838
157299
|
className: "min-w-[10rem]",
|
|
156839
157300
|
onCloseAutoFocus: flushMenuAction,
|
|
156840
157301
|
children: [
|
|
157302
|
+
onNewUntitled && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => queueMenuAction(onNewUntitled), children: [
|
|
157303
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(FilePlus, { className: "size-4" }),
|
|
157304
|
+
"New Untitled File",
|
|
157305
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("kbd", { className: "ml-auto rounded border border-popover-foreground/25 bg-popover-foreground/10 px-1 py-0.5 font-mono text-[10px]", children: "⌘N" })
|
|
157306
|
+
] }),
|
|
156841
157307
|
onNewFile && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => queueMenuAction(onNewFile), children: [
|
|
156842
157308
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FilePlus, { className: "size-4" }),
|
|
156843
157309
|
"New File"
|
|
@@ -156846,7 +157312,7 @@ function FileTreeToolbar({ onNewFile, onNewFolder, onOpenFile }) {
|
|
|
156846
157312
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FolderPlus, { className: "size-4" }),
|
|
156847
157313
|
"New Folder"
|
|
156848
157314
|
] }),
|
|
156849
|
-
(onNewFile || onNewFolder) && /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuSeparator, {}),
|
|
157315
|
+
(onNewUntitled || onNewFile || onNewFolder) && /* @__PURE__ */ jsxRuntimeExports.jsx(DropdownMenuSeparator, {}),
|
|
156850
157316
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => queueMenuAction(fireOpenQuickOpen), children: [
|
|
156851
157317
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Search, { className: "size-4" }),
|
|
156852
157318
|
"Quick Open",
|
|
@@ -156859,7 +157325,8 @@ function FileTreeToolbar({ onNewFile, onNewFolder, onOpenFile }) {
|
|
|
156859
157325
|
] }),
|
|
156860
157326
|
onOpenFile && /* @__PURE__ */ jsxRuntimeExports.jsxs(DropdownMenuItem, { onSelect: () => queueMenuAction(onOpenFile), children: [
|
|
156861
157327
|
/* @__PURE__ */ jsxRuntimeExports.jsx(FileInput, { className: "size-4" }),
|
|
156862
|
-
"Open File…"
|
|
157328
|
+
"Open File…",
|
|
157329
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("kbd", { className: "ml-auto rounded border border-popover-foreground/25 bg-popover-foreground/10 px-1 py-0.5 font-mono text-[10px]", children: "⌘O" })
|
|
156863
157330
|
] })
|
|
156864
157331
|
]
|
|
156865
157332
|
}
|
|
@@ -157030,6 +157497,7 @@ function CodeBrowserView({
|
|
|
157030
157497
|
const notifySelectFile = reactExports.useCallback(
|
|
157031
157498
|
(filePath) => {
|
|
157032
157499
|
if (isExternalPath(filePath)) return;
|
|
157500
|
+
if (filePath !== null && isUntitledPath(filePath)) return;
|
|
157033
157501
|
onSelectFile?.(filePath);
|
|
157034
157502
|
},
|
|
157035
157503
|
[isExternalPath, onSelectFile]
|
|
@@ -157522,6 +157990,91 @@ function CodeBrowserView({
|
|
|
157522
157990
|
window.addEventListener("band:open-file-external", handler);
|
|
157523
157991
|
return () => window.removeEventListener("band:open-file-external", handler);
|
|
157524
157992
|
}, [pickFile, handleOpenExternalFile]);
|
|
157993
|
+
const pickSaveFile = capabilities2.pickSaveFile;
|
|
157994
|
+
const handleNewUntitled = reactExports.useCallback(() => {
|
|
157995
|
+
const { filePath } = fileTabs.openTabUntitled();
|
|
157996
|
+
setViewFilePath(filePath);
|
|
157997
|
+
setViewLine(void 0);
|
|
157998
|
+
setViewLineEnd(void 0);
|
|
157999
|
+
setViewColumn(void 0);
|
|
158000
|
+
}, [fileTabs.openTabUntitled]);
|
|
158001
|
+
reactExports.useEffect(() => {
|
|
158002
|
+
const handler = () => handleNewUntitled();
|
|
158003
|
+
window.addEventListener("band:new-untitled-tab", handler);
|
|
158004
|
+
return () => window.removeEventListener("band:new-untitled-tab", handler);
|
|
158005
|
+
}, [handleNewUntitled]);
|
|
158006
|
+
const openTabsRef = reactExports.useRef(fileTabs.openTabs);
|
|
158007
|
+
openTabsRef.current = fileTabs.openTabs;
|
|
158008
|
+
const handleSaveUntitled = reactExports.useCallback(
|
|
158009
|
+
async (untitledPath, content2) => {
|
|
158010
|
+
if (!pickSaveFile) return null;
|
|
158011
|
+
const tab2 = openTabsRef.current.find((t2) => t2.filePath === untitledPath);
|
|
158012
|
+
const override = tabState.getLanguage(untitledPath);
|
|
158013
|
+
const ext = (override ? languageToExtension(override) : void 0) ?? ".txt";
|
|
158014
|
+
const stem = tab2?.untitledLabel ?? "Untitled";
|
|
158015
|
+
const defaultName = `${stem}${ext}`;
|
|
158016
|
+
const chosen = await pickSaveFile({
|
|
158017
|
+
content: content2,
|
|
158018
|
+
defaultName,
|
|
158019
|
+
defaultPath: workspacePath
|
|
158020
|
+
});
|
|
158021
|
+
if (!chosen) return null;
|
|
158022
|
+
const chosenPosix = chosen.replace(/\\/g, "/");
|
|
158023
|
+
const relative = workspacePath != null ? pathInside(workspacePath, chosenPosix) : null;
|
|
158024
|
+
const isExternal = relative === null;
|
|
158025
|
+
const newPath = relative ?? chosenPosix;
|
|
158026
|
+
if (override) tabState.setLanguage(newPath, override);
|
|
158027
|
+
const oldState = tabState.get(untitledPath);
|
|
158028
|
+
tabState.update(newPath, {
|
|
158029
|
+
viewMode: oldState?.viewMode,
|
|
158030
|
+
editorState: oldState?.editorState,
|
|
158031
|
+
scrollTop: oldState?.scrollTop
|
|
158032
|
+
});
|
|
158033
|
+
tabState.removeFile(untitledPath);
|
|
158034
|
+
if (savedEditorStatesRef.current[untitledPath]) {
|
|
158035
|
+
savedEditorStatesRef.current[newPath] = savedEditorStatesRef.current[untitledPath];
|
|
158036
|
+
delete savedEditorStatesRef.current[untitledPath];
|
|
158037
|
+
}
|
|
158038
|
+
fileTabs.renameUntitledToFile(untitledPath, newPath, isExternal);
|
|
158039
|
+
skipFileEffectRef.current = true;
|
|
158040
|
+
setViewFilePath(newPath);
|
|
158041
|
+
setViewLine(void 0);
|
|
158042
|
+
setViewLineEnd(void 0);
|
|
158043
|
+
setViewColumn(void 0);
|
|
158044
|
+
if (!isExternal) notifySelectFile(newPath);
|
|
158045
|
+
window.dispatchEvent(new CustomEvent("band:dirty-change"));
|
|
158046
|
+
return chosenPosix;
|
|
158047
|
+
},
|
|
158048
|
+
[pickSaveFile, workspacePath, fileTabs.renameUntitledToFile, notifySelectFile, tabState]
|
|
158049
|
+
);
|
|
158050
|
+
const handleSaveUntitledForClose = reactExports.useCallback(
|
|
158051
|
+
async (untitledPath) => {
|
|
158052
|
+
let content2;
|
|
158053
|
+
if (viewFilePathRef.current === untitledPath && editorViewRef.current) {
|
|
158054
|
+
content2 = editorViewRef.current.state.doc.toString();
|
|
158055
|
+
} else {
|
|
158056
|
+
content2 = tabState.get(untitledPath)?.editedContent ?? "";
|
|
158057
|
+
}
|
|
158058
|
+
try {
|
|
158059
|
+
const saved = await handleSaveUntitled(untitledPath, content2);
|
|
158060
|
+
return saved != null;
|
|
158061
|
+
} catch (err) {
|
|
158062
|
+
console.error("[band] Save-as failed for untitled tab:", err);
|
|
158063
|
+
return false;
|
|
158064
|
+
}
|
|
158065
|
+
},
|
|
158066
|
+
[handleSaveUntitled, tabState]
|
|
158067
|
+
);
|
|
158068
|
+
const handleLanguageOverride = reactExports.useCallback(
|
|
158069
|
+
(filePath, languageId) => {
|
|
158070
|
+
if (languageId === AUTO_DETECT_LANGUAGE_ID) {
|
|
158071
|
+
tabState.update(filePath, { language: void 0 });
|
|
158072
|
+
return;
|
|
158073
|
+
}
|
|
158074
|
+
tabState.setLanguage(filePath, languageId);
|
|
158075
|
+
},
|
|
158076
|
+
[tabState]
|
|
158077
|
+
);
|
|
157525
158078
|
const flushActiveEditorState = reactExports.useCallback(() => {
|
|
157526
158079
|
const view = editorViewRef.current;
|
|
157527
158080
|
const fp = viewFilePathRef.current;
|
|
@@ -157650,6 +158203,7 @@ function CodeBrowserView({
|
|
|
157650
158203
|
workspaceId,
|
|
157651
158204
|
filePath: viewFilePath,
|
|
157652
158205
|
external: viewIsExternal,
|
|
158206
|
+
untitled: isUntitledPath(viewFilePath),
|
|
157653
158207
|
line: viewLine,
|
|
157654
158208
|
lineEnd: viewLineEnd,
|
|
157655
158209
|
column: viewColumn,
|
|
@@ -157661,11 +158215,14 @@ function CodeBrowserView({
|
|
|
157661
158215
|
onCursorLineChange: handleCursorLineChange,
|
|
157662
158216
|
renderMarkdown,
|
|
157663
158217
|
editable: true,
|
|
157664
|
-
lspExtension: viewIsExternal ? null : lspExtension,
|
|
158218
|
+
lspExtension: viewIsExternal || isUntitledPath(viewFilePath) ? null : lspExtension,
|
|
157665
158219
|
initialEditedContent: tabState.get(viewFilePath)?.editedContent ?? null,
|
|
157666
158220
|
savedEditorState: savedEditorStatesRef.current[viewFilePath]?.editorState ?? tabState.get(viewFilePath)?.editorState,
|
|
157667
158221
|
savedScrollTop: savedEditorStatesRef.current[viewFilePath]?.scrollTop ?? tabState.get(viewFilePath)?.scrollTop,
|
|
157668
158222
|
onEditedContentChange: handleEditedContentChange,
|
|
158223
|
+
languageOverride: tabState.getLanguage(viewFilePath),
|
|
158224
|
+
onLanguageOverrideChange: (id28) => handleLanguageOverride(viewFilePath, id28),
|
|
158225
|
+
onSaveAs: isUntitledPath(viewFilePath) && pickSaveFile ? (content2) => handleSaveUntitled(viewFilePath, content2) : void 0,
|
|
157669
158226
|
toolbar: search2.searchOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
157670
158227
|
SearchBar,
|
|
157671
158228
|
{
|
|
@@ -157681,7 +158238,8 @@ function CodeBrowserView({
|
|
|
157681
158238
|
onClose: handleSearchClose
|
|
157682
158239
|
}
|
|
157683
158240
|
) : void 0
|
|
157684
|
-
}
|
|
158241
|
+
},
|
|
158242
|
+
isUntitledPath(viewFilePath) ? viewFilePath : "file"
|
|
157685
158243
|
) : (
|
|
157686
158244
|
// Same toolbar-above-tree layout the desktop side-by-side uses,
|
|
157687
158245
|
// so New File / New Folder / Quick Open / Search in Files are
|
|
@@ -157695,7 +158253,8 @@ function CodeBrowserView({
|
|
|
157695
158253
|
{
|
|
157696
158254
|
onNewFile: handleNewFile,
|
|
157697
158255
|
onNewFolder: handleNewFolder,
|
|
157698
|
-
onOpenFile: pickFile ? handleOpenExternalFile : void 0
|
|
158256
|
+
onOpenFile: pickFile ? handleOpenExternalFile : void 0,
|
|
158257
|
+
onNewUntitled: handleNewUntitled
|
|
157699
158258
|
}
|
|
157700
158259
|
),
|
|
157701
158260
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -157742,7 +158301,8 @@ function CodeBrowserView({
|
|
|
157742
158301
|
{
|
|
157743
158302
|
onNewFile: handleNewFile,
|
|
157744
158303
|
onNewFolder: handleNewFolder,
|
|
157745
|
-
onOpenFile: pickFile ? handleOpenExternalFile : void 0
|
|
158304
|
+
onOpenFile: pickFile ? handleOpenExternalFile : void 0,
|
|
158305
|
+
onNewUntitled: handleNewUntitled
|
|
157746
158306
|
}
|
|
157747
158307
|
),
|
|
157748
158308
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "min-h-0 flex-1 overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -157785,6 +158345,7 @@ function CodeBrowserView({
|
|
|
157785
158345
|
canGoBack: editorHistory.canGoBack,
|
|
157786
158346
|
canGoForward: editorHistory.canGoForward,
|
|
157787
158347
|
isDirty: tabState.isDirty,
|
|
158348
|
+
onSaveUntitled: pickSaveFile ? handleSaveUntitledForClose : void 0,
|
|
157788
158349
|
treeCollapsed,
|
|
157789
158350
|
onToggleTree: toggleTree,
|
|
157790
158351
|
actions: isMarkdown ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-0.5", children: [
|
|
@@ -157821,6 +158382,7 @@ function CodeBrowserView({
|
|
|
157821
158382
|
workspaceId,
|
|
157822
158383
|
filePath: viewFilePath,
|
|
157823
158384
|
external: viewIsExternal,
|
|
158385
|
+
untitled: isUntitledPath(viewFilePath),
|
|
157824
158386
|
line: viewLine,
|
|
157825
158387
|
lineEnd: viewLineEnd,
|
|
157826
158388
|
column: viewColumn,
|
|
@@ -157829,13 +158391,16 @@ function CodeBrowserView({
|
|
|
157829
158391
|
renderMarkdown,
|
|
157830
158392
|
editable: true,
|
|
157831
158393
|
hideTitleBar: true,
|
|
157832
|
-
lspExtension: viewIsExternal ? null : lspExtension,
|
|
158394
|
+
lspExtension: viewIsExternal || isUntitledPath(viewFilePath) ? null : lspExtension,
|
|
157833
158395
|
viewMode: isMarkdown ? mdViewMode : void 0,
|
|
157834
158396
|
onViewModeChange: isMarkdown ? setMdViewMode : void 0,
|
|
157835
158397
|
initialEditedContent: tabState.get(viewFilePath)?.editedContent ?? null,
|
|
157836
158398
|
savedEditorState: savedEditorStatesRef.current[viewFilePath]?.editorState ?? tabState.get(viewFilePath)?.editorState,
|
|
157837
158399
|
savedScrollTop: savedEditorStatesRef.current[viewFilePath]?.scrollTop ?? tabState.get(viewFilePath)?.scrollTop,
|
|
157838
158400
|
onEditedContentChange: handleEditedContentChange,
|
|
158401
|
+
languageOverride: tabState.getLanguage(viewFilePath),
|
|
158402
|
+
onLanguageOverrideChange: (id28) => handleLanguageOverride(viewFilePath, id28),
|
|
158403
|
+
onSaveAs: isUntitledPath(viewFilePath) && pickSaveFile ? (content2) => handleSaveUntitled(viewFilePath, content2) : void 0,
|
|
157839
158404
|
toolbar: search2.searchOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
157840
158405
|
SearchBar,
|
|
157841
158406
|
{
|
|
@@ -157851,7 +158416,8 @@ function CodeBrowserView({
|
|
|
157851
158416
|
onClose: handleSearchClose
|
|
157852
158417
|
}
|
|
157853
158418
|
) : void 0
|
|
157854
|
-
}
|
|
158419
|
+
},
|
|
158420
|
+
isUntitledPath(viewFilePath) ? viewFilePath : "file"
|
|
157855
158421
|
) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center gap-3 px-8 text-center", children: [
|
|
157856
158422
|
/* @__PURE__ */ jsxRuntimeExports.jsx(File, { className: "size-8 text-muted-foreground/30" }),
|
|
157857
158423
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: "Select a file to view" })
|
|
@@ -157887,7 +158453,7 @@ function injectInitialUrls(layout, urls) {
|
|
|
157887
158453
|
}
|
|
157888
158454
|
let domOverlayCount = 0;
|
|
157889
158455
|
let manualHoldCount = 0;
|
|
157890
|
-
const listeners = /* @__PURE__ */ new Set();
|
|
158456
|
+
const listeners$1 = /* @__PURE__ */ new Set();
|
|
157891
158457
|
let lastEmitted = false;
|
|
157892
158458
|
function isFrozen() {
|
|
157893
158459
|
return domOverlayCount + manualHoldCount > 0;
|
|
@@ -157896,19 +158462,19 @@ function emitIfChanged() {
|
|
|
157896
158462
|
const next2 = isFrozen();
|
|
157897
158463
|
if (next2 === lastEmitted) return;
|
|
157898
158464
|
lastEmitted = next2;
|
|
157899
|
-
for (const l4 of listeners) l4();
|
|
158465
|
+
for (const l4 of listeners$1) l4();
|
|
157900
158466
|
}
|
|
157901
|
-
function subscribe(l4) {
|
|
157902
|
-
listeners.add(l4);
|
|
158467
|
+
function subscribe$1(l4) {
|
|
158468
|
+
listeners$1.add(l4);
|
|
157903
158469
|
return () => {
|
|
157904
|
-
listeners.delete(l4);
|
|
158470
|
+
listeners$1.delete(l4);
|
|
157905
158471
|
};
|
|
157906
158472
|
}
|
|
157907
|
-
function getSnapshot() {
|
|
158473
|
+
function getSnapshot$1() {
|
|
157908
158474
|
return lastEmitted;
|
|
157909
158475
|
}
|
|
157910
158476
|
function useBrowserPaneFrozen() {
|
|
157911
|
-
return reactExports.useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
158477
|
+
return reactExports.useSyncExternalStore(subscribe$1, getSnapshot$1, getSnapshot$1);
|
|
157912
158478
|
}
|
|
157913
158479
|
function acquireFreezeHold() {
|
|
157914
158480
|
manualHoldCount += 1;
|
|
@@ -158289,6 +158855,68 @@ function useBrowserPaneFreeze(args) {
|
|
|
158289
158855
|
}, [frozen, created, visible, ipcKeyRef]);
|
|
158290
158856
|
return { snapshot };
|
|
158291
158857
|
}
|
|
158858
|
+
let hosts = /* @__PURE__ */ new Set();
|
|
158859
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
158860
|
+
let bootstrapped = false;
|
|
158861
|
+
function setHosts(updater) {
|
|
158862
|
+
const next2 = updater(hosts);
|
|
158863
|
+
if (next2 === hosts) return;
|
|
158864
|
+
hosts = next2;
|
|
158865
|
+
for (const cb of listeners) cb();
|
|
158866
|
+
}
|
|
158867
|
+
function addHost(raw2) {
|
|
158868
|
+
const h2 = raw2.toLowerCase();
|
|
158869
|
+
if (!h2 || hosts.has(h2)) return;
|
|
158870
|
+
setHosts((prev2) => {
|
|
158871
|
+
const next2 = new Set(prev2);
|
|
158872
|
+
next2.add(h2);
|
|
158873
|
+
return next2;
|
|
158874
|
+
});
|
|
158875
|
+
}
|
|
158876
|
+
function bootstrap() {
|
|
158877
|
+
if (bootstrapped) return;
|
|
158878
|
+
if (!isDesktop) return;
|
|
158879
|
+
bootstrapped = true;
|
|
158880
|
+
void listen("browser-host-overridden", (event) => {
|
|
158881
|
+
if (event.payload.host) addHost(event.payload.host);
|
|
158882
|
+
}).catch((err) => {
|
|
158883
|
+
console.error("browser-host-overridden listen failed:", err);
|
|
158884
|
+
bootstrapped = false;
|
|
158885
|
+
});
|
|
158886
|
+
invoke("browser_get_overridden_hosts").then((list2) => {
|
|
158887
|
+
if (!Array.isArray(list2)) return;
|
|
158888
|
+
for (const h2 of list2) addHost(h2);
|
|
158889
|
+
}).catch((err) => {
|
|
158890
|
+
console.error("browser_get_overridden_hosts failed:", err);
|
|
158891
|
+
});
|
|
158892
|
+
}
|
|
158893
|
+
function subscribe(cb) {
|
|
158894
|
+
bootstrap();
|
|
158895
|
+
listeners.add(cb);
|
|
158896
|
+
return () => {
|
|
158897
|
+
listeners.delete(cb);
|
|
158898
|
+
};
|
|
158899
|
+
}
|
|
158900
|
+
function getSnapshot() {
|
|
158901
|
+
return hosts;
|
|
158902
|
+
}
|
|
158903
|
+
function useOverriddenHosts() {
|
|
158904
|
+
const currentHosts = reactExports.useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
|
|
158905
|
+
const isOverriddenHost = reactExports.useCallback(
|
|
158906
|
+
(currentUrl) => {
|
|
158907
|
+
if (!currentUrl) return false;
|
|
158908
|
+
let host;
|
|
158909
|
+
try {
|
|
158910
|
+
host = new URL(currentUrl).hostname.toLowerCase();
|
|
158911
|
+
} catch {
|
|
158912
|
+
return false;
|
|
158913
|
+
}
|
|
158914
|
+
return currentHosts.has(host);
|
|
158915
|
+
},
|
|
158916
|
+
[currentHosts]
|
|
158917
|
+
);
|
|
158918
|
+
return { isOverriddenHost };
|
|
158919
|
+
}
|
|
158292
158920
|
function AddressBarAutocomplete({ state: state2, onSelect }) {
|
|
158293
158921
|
if (!state2.isOpen || state2.items.length === 0) return null;
|
|
158294
158922
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
@@ -158568,6 +159196,20 @@ function HistoryPopover({ workspaceId, onNavigate }) {
|
|
|
158568
159196
|
)
|
|
158569
159197
|
] });
|
|
158570
159198
|
}
|
|
159199
|
+
function NotSecureBadge() {
|
|
159200
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
159201
|
+
"span",
|
|
159202
|
+
{
|
|
159203
|
+
className: "inline-flex shrink-0 items-center gap-1 rounded bg-destructive/10 px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-destructive",
|
|
159204
|
+
title: "The certificate for this site was overridden for the current session. Use with caution.",
|
|
159205
|
+
"data-testid": "cert-not-secure-badge",
|
|
159206
|
+
children: [
|
|
159207
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(TriangleAlert, { className: "size-3", "aria-hidden": true }),
|
|
159208
|
+
"Not secure"
|
|
159209
|
+
]
|
|
159210
|
+
}
|
|
159211
|
+
);
|
|
159212
|
+
}
|
|
158571
159213
|
const DEFAULT_URL = "";
|
|
158572
159214
|
const BLANK_URL = "about:blank";
|
|
158573
159215
|
const faviconMap = /* @__PURE__ */ new Map();
|
|
@@ -158614,6 +159256,7 @@ function BrowserPaneComponent({
|
|
|
158614
159256
|
visible: api.isVisible && params.wsActive !== false,
|
|
158615
159257
|
ipcKeyRef
|
|
158616
159258
|
});
|
|
159259
|
+
const { isOverriddenHost } = useOverriddenHosts();
|
|
158617
159260
|
const getBounds = reactExports.useCallback(() => {
|
|
158618
159261
|
const el = placeholderRef.current;
|
|
158619
159262
|
if (!el) return null;
|
|
@@ -158967,6 +159610,7 @@ function BrowserPaneComponent({
|
|
|
158967
159610
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(RotateCw, { className: "size-4" })
|
|
158968
159611
|
}
|
|
158969
159612
|
),
|
|
159613
|
+
isOverriddenHost(currentUrl) ? /* @__PURE__ */ jsxRuntimeExports.jsx(NotSecureBadge, {}) : null,
|
|
158970
159614
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
158971
159615
|
"input",
|
|
158972
159616
|
{
|
|
@@ -175303,7 +175947,7 @@ const PANEL_SHORTCUTS = {
|
|
|
175303
175947
|
browser: "⇧⌘B"
|
|
175304
175948
|
};
|
|
175305
175949
|
const DockviewTerminalContainer = reactExports.lazy(
|
|
175306
|
-
() => import("./DockviewTerminalContainer-
|
|
175950
|
+
() => import("./DockviewTerminalContainer-Btn06b30.js").then((m2) => ({
|
|
175307
175951
|
default: m2.DockviewTerminalContainer
|
|
175308
175952
|
}))
|
|
175309
175953
|
);
|
|
@@ -175763,6 +176407,17 @@ const DockviewWorkspaceLayout = reactExports.memo(function DockviewWorkspaceLayo
|
|
|
175763
176407
|
detail: { workspaceId, filePath }
|
|
175764
176408
|
})
|
|
175765
176409
|
);
|
|
176410
|
+
},
|
|
176411
|
+
newUntitledTab: () => {
|
|
176412
|
+
window.dispatchEvent(new CustomEvent("band:new-untitled-tab"));
|
|
176413
|
+
},
|
|
176414
|
+
changeLanguageMode: () => {
|
|
176415
|
+
const filePath = currentFileRef.current;
|
|
176416
|
+
window.dispatchEvent(
|
|
176417
|
+
new CustomEvent("band:open-language-picker", {
|
|
176418
|
+
detail: { workspaceId, filePath }
|
|
176419
|
+
})
|
|
176420
|
+
);
|
|
175766
176421
|
}
|
|
175767
176422
|
}),
|
|
175768
176423
|
[workspaceId]
|
|
@@ -175822,13 +176477,16 @@ const DockviewWorkspaceLayout = reactExports.memo(function DockviewWorkspaceLayo
|
|
|
175822
176477
|
if (key2 === "n" && e2.shiftKey) {
|
|
175823
176478
|
e2.preventDefault();
|
|
175824
176479
|
window.dispatchEvent(new CustomEvent("band:new-chat-session"));
|
|
176480
|
+
} else if (key2 === "n" && !e2.shiftKey && !e2.altKey) {
|
|
176481
|
+
e2.preventDefault();
|
|
176482
|
+
window.dispatchEvent(new CustomEvent("band:new-untitled-tab"));
|
|
175825
176483
|
} else if (key2 === "p" && e2.shiftKey) {
|
|
175826
176484
|
e2.preventDefault();
|
|
175827
176485
|
setCommandPaletteOpen(true);
|
|
175828
176486
|
} else if (key2 === "p" && !e2.shiftKey) {
|
|
175829
176487
|
e2.preventDefault();
|
|
175830
176488
|
setQuickOpenOpen(true);
|
|
175831
|
-
} else if (key2 === "f" && e2.
|
|
176489
|
+
} else if (key2 === "f" && e2.altKey) {
|
|
175832
176490
|
e2.preventDefault();
|
|
175833
176491
|
const filePath = currentFileRef.current;
|
|
175834
176492
|
window.dispatchEvent(
|
|
@@ -175836,16 +176494,19 @@ const DockviewWorkspaceLayout = reactExports.memo(function DockviewWorkspaceLayo
|
|
|
175836
176494
|
detail: { workspaceId, filePath }
|
|
175837
176495
|
})
|
|
175838
176496
|
);
|
|
175839
|
-
} else if (key2 === "
|
|
176497
|
+
} else if (key2 === "f" && e2.shiftKey) {
|
|
175840
176498
|
e2.preventDefault();
|
|
175841
176499
|
setSearchFilesOpen(true);
|
|
175842
|
-
} else if (key2 === "f" && !e2.shiftKey) {
|
|
176500
|
+
} else if (key2 === "f" && !e2.shiftKey && !e2.altKey) {
|
|
175843
176501
|
e2.preventDefault();
|
|
175844
176502
|
if (findInFileRef.current) {
|
|
175845
176503
|
findInFileRef.current();
|
|
175846
176504
|
} else {
|
|
175847
176505
|
window.dispatchEvent(new CustomEvent("band:find-in-file"));
|
|
175848
176506
|
}
|
|
176507
|
+
} else if (key2 === "o" && !e2.shiftKey && !e2.altKey) {
|
|
176508
|
+
e2.preventDefault();
|
|
176509
|
+
window.dispatchEvent(new CustomEvent("band:open-file-external"));
|
|
175849
176510
|
} else if (key2 === "i" && e2.ctrlKey && e2.metaKey && api) {
|
|
175850
176511
|
e2.preventDefault();
|
|
175851
176512
|
if (!hiddenPanelsRef.current.includes("chat")) {
|
|
@@ -176827,11 +177488,11 @@ function RootLayout() {
|
|
|
176827
177488
|
] })
|
|
176828
177489
|
] });
|
|
176829
177490
|
}
|
|
176830
|
-
const $$splitComponentImporter$7 = () => import("./index-
|
|
177491
|
+
const $$splitComponentImporter$7 = () => import("./index-aOrOBCQS.js");
|
|
176831
177492
|
const Route$7 = createFileRoute("/")({
|
|
176832
177493
|
component: lazyRouteComponent($$splitComponentImporter$7, "component")
|
|
176833
177494
|
});
|
|
176834
|
-
const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-
|
|
177495
|
+
const $$splitComponentImporter$6 = () => import("./workspace._workspaceId-BY5hpCRH.js");
|
|
176835
177496
|
const Route$6 = createFileRoute("/workspace/$workspaceId")({
|
|
176836
177497
|
component: lazyRouteComponent($$splitComponentImporter$6, "component")
|
|
176837
177498
|
});
|
|
@@ -176850,11 +177511,11 @@ const FindInFileContext = reactExports.createContext({
|
|
|
176850
177511
|
function useFindInFileContext() {
|
|
176851
177512
|
return reactExports.useContext(FindInFileContext);
|
|
176852
177513
|
}
|
|
176853
|
-
const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-
|
|
177514
|
+
const $$splitComponentImporter$5 = () => import("./workspace._workspaceId.index-BRFgw3FA.js");
|
|
176854
177515
|
const Route$5 = createFileRoute("/workspace/$workspaceId/")({
|
|
176855
177516
|
component: lazyRouteComponent($$splitComponentImporter$5, "component")
|
|
176856
177517
|
});
|
|
176857
|
-
const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-
|
|
177518
|
+
const $$splitComponentImporter$4 = () => import("./workspace._workspaceId.terminal-BhyASMi7.js");
|
|
176858
177519
|
const Route$4 = createFileRoute("/workspace/$workspaceId/terminal")({
|
|
176859
177520
|
component: lazyRouteComponent($$splitComponentImporter$4, "component")
|
|
176860
177521
|
});
|
|
@@ -176862,15 +177523,15 @@ const $$splitComponentImporter$3 = () => import("./workspace._workspaceId.code-C
|
|
|
176862
177523
|
const Route$3 = createFileRoute("/workspace/$workspaceId/code")({
|
|
176863
177524
|
component: lazyRouteComponent($$splitComponentImporter$3, "component")
|
|
176864
177525
|
});
|
|
176865
|
-
const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-
|
|
177526
|
+
const $$splitComponentImporter$2 = () => import("./workspace._workspaceId.changes-CiekaeTG.js");
|
|
176866
177527
|
const Route$2 = createFileRoute("/workspace/$workspaceId/changes")({
|
|
176867
177528
|
component: lazyRouteComponent($$splitComponentImporter$2, "component")
|
|
176868
177529
|
});
|
|
176869
|
-
const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-
|
|
177530
|
+
const $$splitComponentImporter$1 = () => import("./workspace._workspaceId.code.index-DRR8qo6z.js");
|
|
176870
177531
|
const Route$1 = createFileRoute("/workspace/$workspaceId/code/")({
|
|
176871
177532
|
component: lazyRouteComponent($$splitComponentImporter$1, "component")
|
|
176872
177533
|
});
|
|
176873
|
-
const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-
|
|
177534
|
+
const $$splitComponentImporter = () => import("./workspace._workspaceId.code._-Bi-RxK7c.js");
|
|
176874
177535
|
const Route2 = createFileRoute("/workspace/$workspaceId/code/$")({
|
|
176875
177536
|
component: lazyRouteComponent($$splitComponentImporter, "component")
|
|
176876
177537
|
});
|