docker-client-mx 1.45.0 → 1.46.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.
Files changed (103) hide show
  1. package/dist/docker-desktop-mx/browser/chunk-6Ee5XYkz.js +1 -0
  2. package/dist/docker-desktop-mx/browser/chunk-B-jCnQFP2.js +6 -0
  3. package/dist/docker-desktop-mx/browser/{chunk-Bd5-MqqR.js → chunk-B2FafzpV.js} +2 -2
  4. package/dist/docker-desktop-mx/browser/chunk-B6qORmpw.js +1 -0
  5. package/dist/docker-desktop-mx/browser/chunk-B7IRMMXz2.js +1 -0
  6. package/dist/docker-desktop-mx/browser/chunk-B7xNIuls.js +3 -0
  7. package/dist/docker-desktop-mx/browser/chunk-BFq6LhBl.js +1 -0
  8. package/dist/docker-desktop-mx/browser/{chunk-CHa6bNlc.js → chunk-BHeMRkJW.js} +4 -4
  9. package/dist/docker-desktop-mx/browser/{chunk-eVHlLrxe.js → chunk-BNXdbUqv.js} +2 -2
  10. package/dist/docker-desktop-mx/browser/chunk-BSz2tiCV.js +1 -0
  11. package/dist/docker-desktop-mx/browser/chunk-BZygkakw2.js +1 -0
  12. package/dist/docker-desktop-mx/browser/chunk-Ba7ROPTT.js +1 -0
  13. package/dist/docker-desktop-mx/browser/chunk-BiQwXu_z.js +1 -0
  14. package/dist/docker-desktop-mx/browser/chunk-Bk32Rk5p.js +4 -0
  15. package/dist/docker-desktop-mx/browser/chunk-BsmS2zXP.js +1 -0
  16. package/dist/docker-desktop-mx/browser/chunk-ByAKccx1.js +1 -0
  17. package/dist/docker-desktop-mx/browser/chunk-C4OFwmD92.js +1 -0
  18. package/dist/docker-desktop-mx/browser/{chunk-B3n-2UOi.js → chunk-C9w0bf2Y.js} +1 -1
  19. package/dist/docker-desktop-mx/browser/chunk-CI-MgoDd.js +1 -0
  20. package/dist/docker-desktop-mx/browser/chunk-CLii2-2s.js +1 -0
  21. package/dist/docker-desktop-mx/browser/chunk-CWjMCD8T.js +1 -0
  22. package/dist/docker-desktop-mx/browser/chunk-CaJx4ff8.js +1 -0
  23. package/dist/docker-desktop-mx/browser/{chunk-Clfbc1-d.js → chunk-CesW8OnI.js} +1 -1
  24. package/dist/docker-desktop-mx/browser/chunk-CgneC1Je.js +1 -0
  25. package/dist/docker-desktop-mx/browser/chunk-ChGlpKnY.js +1 -0
  26. package/dist/docker-desktop-mx/browser/chunk-CnivQPHU.js +1 -0
  27. package/dist/docker-desktop-mx/browser/chunk-CyNh8lBK2.js +1 -0
  28. package/dist/docker-desktop-mx/browser/chunk-D-daLnRf.js +1 -0
  29. package/dist/docker-desktop-mx/browser/chunk-D5pKQvyX.js +1 -0
  30. package/dist/docker-desktop-mx/browser/chunk-D8vF1ayp2.js +1 -0
  31. package/dist/docker-desktop-mx/browser/chunk-DFkgt4XH.js +1 -0
  32. package/dist/docker-desktop-mx/browser/chunk-DJfErblk.js +1 -0
  33. package/dist/docker-desktop-mx/browser/chunk-DKpHGsCy.js +1 -0
  34. package/dist/docker-desktop-mx/browser/chunk-DTYNCfd52.js +1 -0
  35. package/dist/docker-desktop-mx/browser/chunk-DWYNwk_L.js +1 -0
  36. package/dist/docker-desktop-mx/browser/chunk-Ds9UWi20.js +1 -0
  37. package/dist/docker-desktop-mx/browser/chunk-DwKe2pMP.js +1 -0
  38. package/dist/docker-desktop-mx/browser/chunk-FM5_LSb4.js +1 -0
  39. package/dist/docker-desktop-mx/browser/{chunk-BZwYBA7Z.js → chunk-FuBWiPKf.js} +1 -1
  40. package/dist/docker-desktop-mx/browser/{chunk-_wm6hEEA.js → chunk-bj_sMiGa.js} +1 -1
  41. package/dist/docker-desktop-mx/browser/{chunk-Dy_g3RHY.js → chunk-dMo4BIG3.js} +1 -1
  42. package/dist/docker-desktop-mx/browser/chunk-gOjj4-4k.js +1 -0
  43. package/dist/docker-desktop-mx/browser/chunk-idasJ9ng.js +1 -0
  44. package/dist/docker-desktop-mx/browser/chunk-ux3iG9S52.js +1 -0
  45. package/dist/docker-desktop-mx/browser/index.html +2 -2
  46. package/dist/docker-desktop-mx/browser/main-DIJOTBZN.js +1 -0
  47. package/dist/docker-desktop-mx/browser/styles-3HWRDJL3.css +1 -0
  48. package/dist-electron/channels.js +15 -0
  49. package/dist-electron/channels.js.map +1 -1
  50. package/dist-electron/file-ops.js +315 -0
  51. package/dist-electron/file-ops.js.map +1 -0
  52. package/dist-electron/files.js +19 -10
  53. package/dist-electron/files.js.map +1 -1
  54. package/dist-electron/ipc.js +52 -0
  55. package/dist-electron/ipc.js.map +1 -1
  56. package/dist-electron/main.js +63 -2
  57. package/dist-electron/main.js.map +1 -1
  58. package/dist-electron/preload.js +33 -3
  59. package/dist-electron/preload.js.map +1 -1
  60. package/dist-electron/settings.js +24 -1
  61. package/dist-electron/settings.js.map +1 -1
  62. package/dist-electron/volume-files.js +1 -0
  63. package/dist-electron/volume-files.js.map +1 -1
  64. package/dist-electron/volume-schedules.js +285 -0
  65. package/dist-electron/volume-schedules.js.map +1 -0
  66. package/package.json +1 -1
  67. package/dist/docker-desktop-mx/browser/chunk-Af1e1d8G.js +0 -1
  68. package/dist/docker-desktop-mx/browser/chunk-B13W1gEu.js +0 -1
  69. package/dist/docker-desktop-mx/browser/chunk-B2NHI2Ew.js +0 -1
  70. package/dist/docker-desktop-mx/browser/chunk-BIIdmzaV2.js +0 -1
  71. package/dist/docker-desktop-mx/browser/chunk-BJACElSf2.js +0 -1
  72. package/dist/docker-desktop-mx/browser/chunk-BPNQPsl2.js +0 -1
  73. package/dist/docker-desktop-mx/browser/chunk-BUtOgCv_.js +0 -1
  74. package/dist/docker-desktop-mx/browser/chunk-Bcx5WMyJ.js +0 -1
  75. package/dist/docker-desktop-mx/browser/chunk-BxKOYZan.js +0 -1
  76. package/dist/docker-desktop-mx/browser/chunk-BxU6JdzU.js +0 -1
  77. package/dist/docker-desktop-mx/browser/chunk-C3u9Hm0s.js +0 -1
  78. package/dist/docker-desktop-mx/browser/chunk-CGft6wQH2.js +0 -6
  79. package/dist/docker-desktop-mx/browser/chunk-COBWzwhz.js +0 -1
  80. package/dist/docker-desktop-mx/browser/chunk-COdMLD3H.js +0 -1
  81. package/dist/docker-desktop-mx/browser/chunk-CXpIB_qc.js +0 -1
  82. package/dist/docker-desktop-mx/browser/chunk-ClGJowQ7.js +0 -1
  83. package/dist/docker-desktop-mx/browser/chunk-CoprhnOm.js +0 -1
  84. package/dist/docker-desktop-mx/browser/chunk-CsQ_euXP.js +0 -1
  85. package/dist/docker-desktop-mx/browser/chunk-D3bHzook.js +0 -3
  86. package/dist/docker-desktop-mx/browser/chunk-DEXem6rk.js +0 -1
  87. package/dist/docker-desktop-mx/browser/chunk-DPn8Rpg4.js +0 -1
  88. package/dist/docker-desktop-mx/browser/chunk-DVXm8E_S.js +0 -1
  89. package/dist/docker-desktop-mx/browser/chunk-DX-Zo-hw.js +0 -1
  90. package/dist/docker-desktop-mx/browser/chunk-DZ-f89Uu.js +0 -1
  91. package/dist/docker-desktop-mx/browser/chunk-DZXhuKXm.js +0 -1
  92. package/dist/docker-desktop-mx/browser/chunk-DctinxSO.js +0 -1
  93. package/dist/docker-desktop-mx/browser/chunk-DeXGJ-vD2.js +0 -1
  94. package/dist/docker-desktop-mx/browser/chunk-EFAsN7J4.js +0 -1
  95. package/dist/docker-desktop-mx/browser/chunk-FqKVK_Os2.js +0 -1
  96. package/dist/docker-desktop-mx/browser/chunk-IMRsZUv82.js +0 -1
  97. package/dist/docker-desktop-mx/browser/chunk-U7tL4XEw2.js +0 -1
  98. package/dist/docker-desktop-mx/browser/chunk-YQkNtrRq.js +0 -1
  99. package/dist/docker-desktop-mx/browser/chunk-jpKpwesj.js +0 -1
  100. package/dist/docker-desktop-mx/browser/chunk-m112xmv9.js +0 -1
  101. package/dist/docker-desktop-mx/browser/chunk-u0OAgv4f.js +0 -4
  102. package/dist/docker-desktop-mx/browser/main-INZSNGJM.js +0 -1
  103. package/dist/docker-desktop-mx/browser/styles-BGYQU5CU.css +0 -1
@@ -0,0 +1 @@
1
+ import{$ as Od,Cn as jc,D as HE,En as kc,F as Jm,G as My,Gn as pk,K as Nc,Ln as oS,Mn as mj,On as kk,Pn as nk,Qn as sS,Tn as kE,Ut as _f,V as Ld,Vn as p,Vt as _E,Zn as rp,_r as xc,cr as vg,ct as Qr,dt as SE,et as Oi,ft as Sc,gr as wt$1,jn as mg,jt as Wm,kn as lS,l as C,ln as fg,mr as wc,n as $m,nt as Ot,on as eH,rn as dS,s as Br,sn as ec,sr as ve,un as fj,ur as vk,vt as Tc,w as Gm,y as Ek,yn as hg,yt as Tg}from"./chunk-Bk32Rk5p.js";import"./chunk-FM5_LSb4.js";import{i as Wi,l as ia,o as Yt,s as ca}from"./chunk-CgneC1Je.js";import{n as r,t as l}from"./chunk-CnivQPHU.js";import{i as h,r as d}from"./chunk-FuBWiPKf.js";import"./chunk-CesW8OnI.js";import"./chunk-Ds9UWi20.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-BsmS2zXP.js";import{n as p$1,t as M}from"./chunk-DwKe2pMP.js";import{n as v,t as u}from"./chunk-DJfErblk.js";import{n as P,t as K$1}from"./chunk-Ba7ROPTT.js";import{n as c,t as b}from"./chunk-ChGlpKnY.js";import{n as V,t as G}from"./chunk-CLii2-2s.js";import{n as W,t as J}from"./chunk-idasJ9ng.js";import{i as z,n as oe,r as x,t as h$1}from"./chunk-gOjj4-4k.js";import{a as ve$1,i as ue,n as Me$1,o as xe,r as Ze$1,t as J$1}from"./chunk-6Ee5XYkz.js";function He(i,t){if(i&1){let e=_E();Oi(0,`button`,20),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE(3).onInput(o))}),pk(1),Nc()}if(i&2){let e=t.$implicit;ec(),xc(` `,e,` `)}}function Je(i,t){if(i&1&&(Oi(0,`div`)(1,`span`,9),pk(2),Nc(),Oi(3,`div`,18),Sc(4,He,2,1,`button`,19,kc),Nc()()),i&2){let e=HE(2);ec(2),fg(e.t().existing),ec(2),Tc(e.others())}}function Qe(i,t){i&1&&(Oi(0,`p`,12),pk(1),Nc()),i&2&&(ec(),fg(t))}function Xe(i,t){if(i&1){let e=_E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),pk(6),Nc(),Oi(7,`form`,7),Jm(`submit`,function(o){Ld(e);return Od(HE().submit(o))}),Oi(8,`label`,8)(9,`span`,9),pk(10),Nc(),Oi(11,`input`,10),Jm(`input`,function(o){Ld(e);return Od(HE().onInput(o.target.value))}),Nc()(),kE(12,Je,6,1,`div`),Oi(13,`p`,11),pk(14),Nc(),kE(15,Qe,2,1,`p`,12),Oi(16,`div`,13)(17,`button`,14),Gm(18,`app-icon`,15),pk(19),Nc(),Oi(20,`button`,16),Gm(21,`app-icon`,17),pk(22),Nc()()()()()}if(i&2){let e,n=HE();ec(4),fg(n.title()),ec(2),fg(n.description()),ec(4),fg(n.t().nameLabel),ec(),nk(n.field),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(),SE(n.others().length>0?12:-1),ec(2),fg(n.t().hint),ec(),SE((e=n.problem())?15:-1,e),ec(3),Wm(`size`,14),ec(),xc(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),xc(` `,n.t().submit,` `)}}var Ye;var K;var Pe=p(()=>{Qr();Je$1();dS();sS();Qr();Ye=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,K=class i{open=mj(!1);title=jc.required();description=jc.required();initial=jc(``);suggestions=jc([]);reserved=jc([]);submitted=fj();t=Ot(()=>oS().containers.page.groupDialog);common=Ot(()=>oS().common);field=Ye;name=wt$1(``);touched=wt$1(!1);others=Ot(()=>this.suggestions().filter(t=>t!==this.initial()));canSubmit=Ot(()=>{let t=this.name().trim();return t!==``&&!this.reserved().includes(t)});problem=Ot(()=>{let t=this.name().trim();return this.touched()?t===``?this.t().empty:this.reserved().includes(t)?this.t().reserved(t):null:null});constructor(){rp(()=>{this.open()&&Tg(()=>{this.name.set(this.initial()),this.touched.set(!1)})})}onInput(t){this.name.set(t),this.touched.set(!0)}submit(t){if(t.preventDefault(),!this.canSubmit()){this.touched.set(!0);return}this.open.set(!1),this.submitted.emit(this.name().trim())}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-group-name-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],initial:[1,`initial`],suggestions:[1,`suggestions`],reserved:[1,`reserved`]},outputs:{open:`openChange`,submitted:`submitted`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,`data-testid`,`groepsnaam`,3,`input`,`placeholder`,`value`],[1,`text-[12px]`,`text-ink-500`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`check`,3,`size`],[1,`mt-1`,`flex`,`flex-wrap`,`gap-1.5`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`,3,`click`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(r){return vk(n.open,r)||(n.open=r),r}),$m(1,Xe,23,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function tt(i,t){i&1&&(Oi(0,`p`,13),pk(1),Nc()),i&2&&(ec(),xc(` `,t,` `))}function nt(i,t){if(i&1){let e=_E();Oi(0,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE(2).askGroupSelected())}),Gm(1,`app-icon`,40),pk(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),xc(` `,e.t().group.addToGroup,` `)}}function it(i,t){if(i&1){let e=_E();Oi(0,`div`,14)(1,`span`,31),pk(2),Nc(),Oi(3,`button`,32),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`start`))}),Gm(4,`app-icon`,33),pk(5),Nc(),Oi(6,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`stop`))}),Gm(7,`app-icon`,35),pk(8),Nc(),Oi(9,`button`,34),Jm(`click`,function(){Ld(e);return Od(HE().runSelected(`restart`))}),Gm(10,`app-icon`,36),pk(11),Nc(),kE(12,nt,3,2,`button`,37),Oi(13,`button`,38),Jm(`click`,function(){Ld(e);return Od(HE().askRemoveSelected())}),Gm(14,`app-icon`,39),pk(15),Nc()()}if(i&2){let e=HE();ec(2),fg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),xc(` `,e.common().start,` `),ec(2),Wm(`size`,14),ec(),xc(` `,e.common().stop,` `),ec(2),Wm(`size`,14),ec(),xc(` `,e.common().restart,` `),ec(),SE(e.groupableSelection().length>0?12:-1),ec(2),Wm(`size`,14),ec(),xc(` `,e.common().remove,` `)}}function ot(i,t){if(i&1&&(Oi(0,`span`,45),pk(1),Nc()),i&2){let e=HE(2);ec(),xc(` `,e.t().group.manual,` `)}}function at(i,t){if(i&1){let e=_E();Oi(0,`div`,41)(1,`button`,42),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE().toggleGroup(o.key))}),Gm(2,`app-icon`,43),Oi(3,`span`,44),pk(4),Nc()(),kE(5,ot,2,1,`span`,45),Oi(6,`span`,46),pk(7),Nc(),Oi(8,`div`,47)(9,`span`,48),pk(10),Nc(),Oi(11,`span`,49),pk(12),Nc(),Oi(13,`div`,50)(14,`app-action-menu`,51),Jm(`picked`,function(o){let r=Ld(e).$implicit;return Od(HE().onGroupMenu(o,r))}),Nc()()()()}if(i&2){let e=t.$implicit,n=HE(),o=n.groupBusy(e);ec(),Br(`aria-expanded`,!e.collapsed)(`aria-label`,e.collapsed?n.t().group.expand(e.label):n.t().group.collapse(e.label)),ec(),Wm(`name`,e.collapsed?`chevronRight`:`chevronDown`)(`size`,14),ec(2),fg(e.label),ec(),SE(e.manual?5:-1),ec(2),mg(` `,n.groupCount(e),` · `,n.groupRunning(e),` `),ec(3),fg(n.groupCpu(e)),ec(2),fg(n.groupMemory(e)),ec(2),Wm(`label`,n.t().group.menu(e.label))(`items`,n.groupMenu(e,o))}}function rt(i,t){if(i&1&&Gm(0,`app-state-dot`,52),i&2){let e=t.$implicit;Wm(`state`,e.state)(`title`,e.status),Br(`aria-label`,e.status)}}function lt(i,t){if(i&1&&(Oi(0,`a`,55),Gm(1,`app-icon`,58),Nc()),i&2){let e=t,n=HE().$implicit,o=HE();Wm(`routerLink`,kk(4,q,n.id))(`title`,o.t().row.missingNetwork(e)),Br(`aria-label`,o.t().row.missingNetwork(e)),ec(),Wm(`size`,13)}}function st(i,t){if(i&1&&(Oi(0,`span`,56),Gm(1,`app-icon`,59),Nc()),i&2){let e=HE(2);Wm(`title`,e.t().row.muted),Br(`aria-label`,e.t().row.muted),ec(),Wm(`size`,13)}}function pt(i,t){if(i&1&&(Oi(0,`a`,57),Gm(1,`app-icon`,60),Nc()),i&2){let e=HE().$implicit,n=HE();Wm(`routerLink`,kk(5,q,e.id))(`queryParams`,Ek(7,Ze))(`title`,n.actions().copyDiagnosis),Br(`aria-label`,n.t().row.diagnosisOf(e.name)),ec(),Wm(`size`,13)}}function dt(i,t){if(i&1&&(Oi(0,`div`,53)(1,`a`,54),pk(2),Nc(),kE(3,lt,2,6,`a`,55),kE(4,st,2,3,`span`,56),kE(5,pt,2,8,`a`,57),Nc()),i&2){let e,n=t.$implicit,o=HE();ec(),Wm(`routerLink`,kk(6,q,n.id))(`title`,n.name),ec(),fg(n.name),ec(),SE((e=n.missingNetwork)?3:-1,e),ec(),SE(o.muted.has(n.name)?4:-1),ec(),SE(o.inTrouble(n)?5:-1)}}function ct(i,t){if(i&1&&(Oi(0,`span`,61),pk(1),Nc()),i&2){let e=t.$implicit;ec(),fg(e.shortId)}}function mt(i,t){if(i&1&&(Oi(0,`span`,62),pk(1),Nc()),i&2){let e=t.$implicit;Wm(`title`,e.image),ec(),fg(e.image)}}function ut(i,t){if(i&1&&(Oi(0,`a`,65),pk(1),Gm(2,`app-icon`,67),Nc()),i&2){let e=HE().$implicit;Wm(`href`,`http://localhost:`+e.hostPort,_f),ec(),mg(` `,e.hostPort,`:`,e.containerPort,` `),ec(),Wm(`size`,11)}}function gt(i,t){if(i&1&&(Oi(0,`span`,66),pk(1),Nc()),i&2){let e=HE().$implicit;ec(),mg(``,e.containerPort,`/`,e.protocol)}}function _t(i,t){if(i&1&&kE(0,ut,3,4,`a`,65)(1,gt,2,2,`span`,66),i&2){let e=t.$implicit;SE(e.hostPort?0:1)}}function yt(i,t){if(i&1&&(Oi(0,`span`,63),pk(1),Nc()),i&2){let e=HE().$implicit;ec(),xc(`+`,e.ports.length-2)}}function xt(i,t){i&1&&(Oi(0,`span`,64),pk(1,`—`),Nc())}function ft(i,t){if(i&1&&(Sc(0,_t,2,1,null,null,et),kE(2,yt,2,1,`span`,63),kE(3,xt,2,0,`span`,64)),i&2){let e=t.$implicit;Tc(e.ports.slice(0,2)),ec(2),SE(e.ports.length>2?2:-1),ec(),SE(e.ports.length===0?3:-1)}}function ht(i,t){if(i&1&&(Oi(0,`span`,68),pk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),fg(n.cpuOf(e.id))}}function bt(i,t){if(i&1&&(Oi(0,`span`,68),pk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),fg(n.memoryOf(e.id))}}function Ct(i,t){if(i&1){let e=_E();Oi(0,`button`,71),Jm(`click`,function(){Ld(e);let o=HE().$implicit;return Od(HE().killNow(o.id))}),Gm(1,`app-icon`,72),Nc()}if(i&2){let e=HE().$implicit,n=HE();Wm(`title`,n.k().now+` — `+n.k().hint),Br(`aria-label`,n.k().now)(`data-testid`,`kill-now-`+e.name),ec(),Wm(`size`,14)}}function vt(i,t){if(i&1){let e=_E();Oi(0,`div`,69),kE(1,Ct,2,4,`button`,70),Oi(2,`app-action-menu`,51),Jm(`picked`,function(o){let r=Ld(e).$implicit;return Od(HE().onRowMenu(o,r))}),Nc()()}if(i&2){let e=t.$implicit,n=HE(),o=n.pending().has(e.id);ec(),SE(n.slow().has(e.id)?1:-1),ec(),Wm(`label`,n.t().row.menu(e.name))(`items`,n.rowMenu(e,o))}}function kt(i,t){if(i&1){let e=_E();Oi(0,`app-duplicate-dialog`,73),vg(`openChange`,function(o){Ld(e);let r=HE();return vk(r.duplicateOpen,o)||(r.duplicateOpen=o),Od(o)}),Nc()}if(i&2){let e=t;hg(`open`,HE().duplicateOpen),Wm(`containerId`,e.id)(`name`,e.name)}}function wt(i,t){if(i&1){let e=_E();Oi(0,`app-confirm-dialog`,74),vg(`openChange`,function(o){Ld(e);let r=HE();return vk(r.killOpen,o)||(r.killOpen=o),Od(o)}),Jm(`confirmed`,function(){let o=Ld(e);return Od(HE().killNow(o.id))}),Nc()}if(i&2){let e=HE();hg(`open`,e.killOpen),Wm(`title`,e.k().title)(`description`,e.k().description(t.name))(`confirmLabel`,e.k().confirm)}}function St(i,t){if(i&1){let e=_E();Oi(0,`app-rename-dialog`,75),vg(`openChange`,function(o){Ld(e);let r=HE();return vk(r.renameOpen,o)||(r.renameOpen=o),Od(o)}),Nc()}if(i&2){let e=t;hg(`open`,HE().renameOpen),Wm(`containerId`,e.id)(`name`,e.name)(`compose`,e.composeProject!==null)}}var q;var Ze;var et;var N;var Me;p(()=>{Qr();ia();v();h();lS();ue();l();M();G();J();oe();K$1();dS();b();ca();sS();Pe();Me$1();Ze$1();Qr();q=i=>[`/containers`,i],Ze=()=>({diagnose:1}),et=(i,t)=>t.containerPort;N=``,Me=class i{store=C(u);preferences=C(p$1);ownGroups=C(J$1);muted=C(r);toast=C(Wi);t=Ot(()=>oS().containers.page);actions=Ot(()=>oS().containers.actions);common=Ot(()=>oS().common);columns=Ot(()=>{let t=this.t().columns;return[{key:`state`,label:``,width:`28px`},{key:`name`,label:t.name},{key:`shortId`,label:t.id,width:`120px`},{key:`image`,label:t.image},{key:`ports`,label:t.ports,width:`170px`},{key:`cpu`,label:t.cpu,width:`80px`,align:`right`},{key:`memory`,label:t.memory,width:`110px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;stats=this.store.stats;pending=this.store.pending;search=wt$1(``);zoek=jc(void 0);onlyRunning=this.preferences.flag(`containers.onlyRunning`);collapsed=this.preferences.names(`containers.collapsedGroups`);selected=wt$1(new Set);removal=wt$1(null);confirmOpen=wt$1(!1);groupEdit=wt$1(null);groupDialogOpen=wt$1(!1);renaming=wt$1(null);renameOpen=wt$1(!1);duplicating=wt$1(null);duplicateOpen=wt$1(!1);killing=wt$1(null);killOpen=wt$1(!1);slow=this.store.slow;k=Ot(()=>oS().containers.kill);ownGroupNames=this.ownGroups.names;composeProjects=Ot(()=>{let t=new Set;for(let e of this.store.containers())e.composeProject!==null&&t.add(e.composeProject);return[...t]});groupableSelection=Ot(()=>{let t=this.selected();return this.store.containers().filter(e=>t.has(e.id)&&e.composeProject===null)});rows=Ot(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyRunning();return this.store.containers().filter(n=>e&&n.state!==`running`?!1:t===``?!0:`${n.name} ${n.image} ${n.shortId}`.toLowerCase().includes(t))});groups=Ot(()=>{let t=this.rows(),e=new Map;for(let m of t){let w=this.groupKeyOf(m),G=e.get(w);G===void 0?e.set(w,[m]):G.push(m)}if(!this.store.containers().some(m=>this.groupKeyOf(m)!==N))return null;let n=this.collapsed(),o=this.composeProjects(),r=[...e.keys()].filter(m=>m!==N).sort((m,w)=>m.localeCompare(w));return e.has(N)&&r.push(N),r.map(m=>{let w=e.get(m)??[],G=n.has(m);return{key:m,label:m===N?this.t().group.loose:m,manual:m!==N&&!o.includes(m),rows:G?[]:w,all:w,running:w.filter(Te=>Te.state===`running`).length,collapsed:G}})});visibleRows=Ot(()=>{let t=this.groups();return t===null?this.rows():t.flatMap(e=>e.rows)});totals=Ot(()=>{let t=0,e=0;for(let n of this.store.runningIds()){let o=this.stats().get(n);t+=o?.cpuPercent??0,e+=o?.memoryBytes??0}return{cpu:t,memory:d(e)}});selectedIds=Ot(()=>[...this.selected()]);trackKey=t=>t.id;constructor(){this.muted.load(),rp(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),rp(()=>this.store.watchStats(this.store.runningIds())),C(ve).onDestroy(()=>this.store.watchStats([])),this.store.refresh()}groupKeyOf(t){return t.composeProject??this.ownGroups.groupOf(t.name)??N}inTrouble(t){let e=t.exitCode===137&&this.store.stoppedDeliberately().has(t.id);return(t.state===`exited`||t.state===`dead`)&&t.exitCode!==null&&t.exitCode!==0&&t.exitCode!==143&&!e||t.state===`restarting`||t.status.includes(`(unhealthy)`)}cpuOf(t){let e=this.stats().get(t);return e===void 0?`—`:`${e.cpuPercent.toFixed(2)}%`}memoryOf(t){let e=this.stats().get(t);return e===void 0?`—`:d(e.memoryBytes)}primaryAction(t){let e=this.common();return t.state===`running`||t.state===`restarting`?{action:`stop`,icon:`stop`,label:e.stop}:t.state===`paused`?{action:`unpause`,icon:`play`,label:this.actions().resume}:{action:`start`,icon:`play`,label:e.start}}toggleGroup(t){let e=new Set(this.collapsed());if(!e.delete(t)){e.add(t);let n=new Set((this.groups()??[]).find(r=>r.key===t)?.all.map(r=>r.id)),o=new Set([...this.selected()].filter(r=>!n.has(r)));this.selected.set(o)}this.collapsed.set(e)}groupCount(t){return this.t().group.count(t.all.length)}groupRunning(t){return this.t().group.running(t.running)}groupCpu(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:`${e.reduce((n,o)=>n+o.cpuPercent,0).toFixed(2)}%`}groupMemory(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:d(e.reduce((n,o)=>n+o.memoryBytes,0))}groupBusy(t){return t.all.some(e=>this.pending().has(e.id))}rowMenu(t,e){let n=this.primaryAction(t),o=t.state===`running`,r=this.t().group,m=[{id:n.action,label:n.label,icon:n.icon,disabled:e},{id:`restart`,label:this.common().restart,icon:`refresh`,disabled:e||!o},{id:`pause`,label:this.actions().pause,icon:`pause`,disabled:e||!o},{id:`rename`,label:this.actions().rename,icon:`pencil`,separated:!0},{id:`duplicate`,label:this.actions().duplicate,icon:`copy`}];return o&&m.splice(3,0,{id:`kill`,label:this.actions().kill,icon:`power`,danger:!0}),t.composeProject===null&&(m.push({id:`group`,label:r.addToGroup,icon:`folder`}),this.ownGroups.groupOf(t.name)!==null&&m.push({id:`ungroup`,label:r.removeFromGroup,icon:`close`})),m.push(this.muted.has(t.name)?{id:`unmute`,label:this.actions().unmute,icon:`bell`,separated:!0}:{id:`mute`,label:this.actions().mute,icon:`bell-off`,separated:!0},{id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),m}onRowMenu(t,e){switch(t){case`remove`:this.askRemove(e);break;case`group`:this.askGroup([e.name]);break;case`ungroup`:this.ownGroups.release([e.name]);break;case`rename`:this.renaming.set(e),this.renameOpen.set(!0);break;case`duplicate`:this.duplicating.set(e),this.duplicateOpen.set(!0);break;case`kill`:this.killing.set(e),this.killOpen.set(!0);break;case`mute`:case`unmute`:this.setMuted(e.name,t===`mute`);break;default:this.run(t,e.id)}}async setMuted(t,e){try{await this.muted.mute(t,e),this.toast.success(e?this.actions().muted(t):this.actions().unmuted(t))}catch(n){this.toast.error(eH(n))}}groupMenu(t,e){let n=this.t().group,o=t.running===0,r=[{id:`start`,label:n.startAll,icon:`play`,disabled:e},{id:`stop`,label:n.stopAll,icon:`stop`,disabled:e||o},{id:`restart`,label:n.restartAll,icon:`refresh`,disabled:e||o}];return t.manual&&r.push({id:`rename`,label:n.rename,icon:`pencil`,separated:!0},{id:`dissolve`,label:n.dissolve,icon:`eraser`}),r.push({id:`remove`,label:n.removeAll,icon:`trash`,disabled:e,danger:!0,separated:!0}),r}onGroupMenu(t,e){switch(t){case`remove`:this.askRemoveGroup(e);break;case`rename`:this.askRenameGroup(e.key);break;case`dissolve`:this.ownGroups.dissolve(e.key);break;default:this.runGroup(t,e)}}runGroup(t,e){this.store.runMany(t,e.all.map(n=>n.id))}askRemoveGroup(t){this.removal.set({kind:`group`,ids:t.all.map(e=>e.id),project:t.label}),this.confirmOpen.set(!0)}run(t,e){this.store.run(t,e)}runSelected(t){this.store.runMany(t,this.selectedIds())}askRemove(t){this.removal.set({kind:`one`,ids:[t.id],name:t.name}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedIds();this.removal.set({kind:`many`,ids:t}),this.confirmOpen.set(!0)}askGroup(t){t.length!==0&&(this.groupEdit.set({kind:`assign`,names:t}),this.groupDialogOpen.set(!0))}askGroupSelected(){this.askGroup(this.groupableSelection().map(t=>t.name))}askRenameGroup(t){this.groupEdit.set({kind:`rename`,group:t}),this.groupDialogOpen.set(!0)}groupDialogTitle(){let t=this.t().groupDialog;return this.groupEdit()?.kind===`rename`?t.renameTitle:t.assignTitle}groupDialogDescription(){let t=this.groupEdit(),e=this.t().groupDialog;return t===null?``:t.kind===`rename`?e.renameDescription(t.group):t.names.length===1?e.assignOne(t.names[0]):e.assignMany(t.names.length)}groupDialogInitial(){let t=this.groupEdit();if(t===null)return``;if(t.kind===`rename`)return t.group;let e=new Set(t.names.map(o=>this.ownGroups.groupOf(o))),[n]=e;return e.size===1&&n!==void 0&&n!==null?n:``}onGroupName(t){let e=this.groupEdit();e!==null&&(e.kind===`assign`?this.ownGroups.assign(e.names,t):this.renameGroup(e.group,t),this.groupEdit.set(null))}renameGroup(t,e){this.ownGroups.rename(t,e);let n=this.collapsed();if(n.has(t)){let o=new Set(n);o.delete(t),o.add(e),this.collapsed.set(o)}}killNow(t){this.store.kill(t)}confirmRemove(){let t=this.removal();t!==null&&(this.store.runMany(`remove`,t.ids),this.selected.set(new Set),this.removal.set(null))}removalDescription(){let t=this.removal();if(t===null)return``;let e=this.t().confirm;switch(t.kind){case`one`:return e.one(t.name);case`many`:return e.many(t.ids.length);case`group`:return e.group(t.ids.length,t.project)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-containers-page`]],inputs:{zoek:[1,`zoek`]},decls:41,vars:31,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`,`flex`,`flex-wrap`,`gap-x-10`,`gap-y-2`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`groups`,`trackKey`,`selected`,`emptyMessage`],[`appGroupHeader`,``],[`appCell`,`state`],[`appCell`,`name`],[`appCell`,`shortId`],[`appCell`,`image`],[`appCell`,`ports`],[`appCell`,`cpu`],[`appCell`,`memory`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[3,`open`,`containerId`,`name`],[`confirmIcon`,`power`,3,`open`,`title`,`description`,`confirmLabel`],[3,`open`,`containerId`,`name`,`compose`],[3,`openChange`,`submitted`,`open`,`title`,`description`,`initial`,`suggestions`,`reserved`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`stop`,3,`size`],[`name`,`refresh`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[`name`,`folder`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[1,`truncate`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1.5`,`py-0.5`,`text-[11px]`,`text-ink-400`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`shrink-0`,`items-center`],[`data-testid`,`groep-cpu`,1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[`data-testid`,`groep-geheugen`,1,`w-[110px]`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[1,`flex`,`w-[84px]`,`shrink-0`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`],[3,`state`,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-1.5`],[1,`mx-focus`,`block`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`,`title`],[`data-testid`,`row-missing-network`,1,`mx-focus`,`shrink-0`,`rounded`,`text-danger`,`hover:text-ink-100`,3,`routerLink`,`title`],[`role`,`img`,`data-testid`,`row-muted`,1,`shrink-0`,`text-ink-500`,3,`title`],[`data-testid`,`row-diagnose`,1,`mx-focus`,`shrink-0`,`rounded`,`text-warn`,`hover:text-ink-100`,3,`routerLink`,`queryParams`,`title`],[`name`,`networks`,3,`size`],[`name`,`bell-off`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`block`,`truncate`,`text-ink-300`,3,`title`],[1,`text-[11px]`,`text-ink-500`],[1,`text-ink-600`],[`target`,`_blank`,`rel`,`noreferrer`,1,`mx-focus`,`mr-2`,`inline-flex`,`items-center`,`gap-1`,`text-accent`,`hover:underline`,3,`href`],[1,`mr-2`,`text-ink-500`],[`name`,`external`,3,`size`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`,`gap-1`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded`,`p-1`,`text-danger`,`hover:bg-danger/10`,3,`title`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded`,`p-1`,`text-danger`,`hover:bg-danger/10`,3,`click`,`title`],[`name`,`power`,3,`size`],[3,`openChange`,`open`,`containerId`,`name`],[`confirmIcon`,`power`,3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`],[3,`openChange`,`open`,`containerId`,`name`,`compose`]],template:function(e,n){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`h1`,2),pk(3),Nc(),Oi(4,`div`,3)(5,`div`)(6,`div`,4),pk(7),Nc(),Oi(8,`div`,5),pk(9),Nc()(),Oi(10,`div`)(11,`div`,4),pk(12),Nc(),Oi(13,`div`,5),pk(14),Nc()()(),Oi(15,`div`,6)(16,`label`,7)(17,`span`,8),Gm(18,`app-icon`,9),Nc(),Oi(19,`span`,10),pk(20),Nc(),Oi(21,`input`,11),Jm(`input`,function(r){return n.search.set(r.target.value)}),Nc()(),Oi(22,`app-filter-switch`,12),vg(`onChange`,function(r){return vk(n.onlyRunning,r)||(n.onlyRunning=r),r}),Nc()(),kE(23,tt,2,1,`p`,13),kE(24,it,16,10,`div`,14),Nc(),Oi(25,`div`,15)(26,`app-data-table`,16),vg(`selectedChange`,function(r){return vk(n.selected,r)||(n.selected=r),r}),$m(27,at,15,12,`ng-template`,17)(28,rt,1,3,`ng-template`,18)(29,dt,6,8,`ng-template`,19)(30,ct,2,1,`ng-template`,20)(31,mt,2,2,`ng-template`,21)(32,ft,4,2,`ng-template`,22)(33,ht,2,1,`ng-template`,23)(34,bt,2,1,`ng-template`,24)(35,vt,3,3,`ng-template`,25),Nc()()(),Oi(36,`app-confirm-dialog`,26),vg(`openChange`,function(r){return vk(n.confirmOpen,r)||(n.confirmOpen=r),r}),Jm(`confirmed`,function(){return n.confirmRemove()}),Nc(),kE(37,kt,1,3,`app-duplicate-dialog`,27),kE(38,wt,1,4,`app-confirm-dialog`,28),kE(39,St,1,4,`app-rename-dialog`,29),Oi(40,`app-group-name-dialog`,30),vg(`openChange`,function(r){return vk(n.groupDialogOpen,r)||(n.groupDialogOpen=r),r}),Jm(`submitted`,function(r){return n.onGroupName(r)}),Nc()),e&2){let o,r,m,w;ec(3),fg(n.t().title),ec(4),fg(n.t().cpuUsage),ec(2),xc(``,n.totals().cpu.toFixed(2),`%`),ec(3),fg(n.t().memoryUsage),ec(2),fg(n.totals().memory),ec(4),Wm(`size`,15),ec(2),fg(n.t().search),ec(),Wm(`placeholder`,n.t().search)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyRunning),hg(`on`,n.onlyRunning),ec(),SE((o=n.problem())?23:-1,o),ec(),SE(n.selected().size>0?24:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.visibleRows())(`groups`,n.groups())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(10),hg(`open`,n.confirmOpen),Wm(`title`,n.t().confirm.title)(`description`,n.removalDescription()),ec(),SE((r=n.duplicating())?37:-1,r),ec(),SE((m=n.killing())?38:-1,m),ec(),SE((w=n.renaming())?39:-1,w),ec(),hg(`open`,n.groupDialogOpen),Wm(`title`,n.groupDialogTitle())(`description`,n.groupDialogDescription())(`initial`,n.groupDialogInitial())(`suggestions`,n.ownGroupNames())(`reserved`,n.composeProjects())}},dependencies:[z,x,h$1,My,W,Yt,P,c,V,K,xe,ve$1],encapsulation:2})}})();export{Me as ContainersPage};
@@ -0,0 +1,3 @@
1
+ import{Cn as jc,D as HE,F as Jm,G as My,Gn as pk,K as Nc,Ln as oS,On as kk,Pn as nk,Qn as sS,Tn as kE,Ut as _f,Vn as p,Zn as rp,_r as xc,ct as Qr,dt as SE,et as Oi,gr as wt,jn as mg,jt as Wm,l as C,ln as fg,mr as wc,n as $m,nt as Ot,rn as dS,sn as ec,w as Gm,yt as Tg}from"./chunk-Bk32Rk5p.js";import"./chunk-FM5_LSb4.js";import{l as ia,o as Yt}from"./chunk-CgneC1Je.js";import{n as v,t as u}from"./chunk-DJfErblk.js";import{n as x,t as u$1}from"./chunk-D5pKQvyX.js";import{i as z,n as oe$1,r as x$1}from"./chunk-gOjj4-4k.js";function U(n,e){let t=new Map;for(let o of n)if(o.state===`running`)for(let i of o.ports)i.hostPort!==null&&t.set(`${o.id}:${String(i.hostPort)}:${String(i.containerPort)}/${i.protocol}`,{hostPort:i.hostPort,containerId:o.id,containerName:o.name,containerPort:i.containerPort,protocol:i.protocol,hostIp:i.hostIp??null,missing:!1});for(let o of e)if(o.kind===`ports`)for(let i of o.ports)t.set(`${o.id}:missing:${String(i.hostPort)}:${String(i.containerPort)}/${i.protocol}`,{hostPort:i.hostPort,containerId:o.id,containerName:o.name,containerPort:i.containerPort,protocol:i.protocol,hostIp:i.hostIp,missing:!0});return[...t.values()].sort((o,i)=>(o.hostPort??Infinity)-(i.hostPort??Infinity)||o.containerName.localeCompare(i.containerName)||o.containerPort-i.containerPort)}function F(n){return!n.missing&&n.hostPort!==null&&n.protocol===`tcp`?`http://localhost:${String(n.hostPort)}`:null}var G=p(()=>{});function X(n,e){if(n&1&&(Oi(0,`a`,17),pk(1),Gm(2,`app-icon`,19),Nc()),n&2){let t=HE().$implicit,o=HE();Wm(`href`,e,_f)(`title`,o.t().open(t.hostPort??0)),ec(),fg(t.hostPort),ec(),Wm(`size`,11)}}function Y(n,e){if(n&1&&(Oi(0,`span`,20),pk(1),Nc()),n&2){let t=HE().$implicit;nk(t.missing?`text-danger`:`text-ink-400`),ec(),fg(t.hostPort??`—`)}}function Z(n,e){if(n&1&&kE(0,X,3,4,`a`,17)(1,Y,2,3,`span`,18),n&2){let t,o=e.$implicit;SE((t=HE().url(o))?0:1,t)}}function ee(n,e){if(n&1&&(Oi(0,`span`,22),Gm(1,`app-icon`,23),pk(2),Nc()),n&2){let t=HE(2);Wm(`title`,t.t().missingTitle),ec(),Wm(`size`,12),ec(),xc(` `,t.t().missing,` `)}}function te(n,e){if(n&1&&(Oi(0,`a`,21),pk(1),Nc(),kE(2,ee,3,3,`span`,22)),n&2){let t=e.$implicit;Wm(`routerLink`,kk(3,W,t.containerId)),ec(),fg(t.containerName),ec(),SE(t.missing?2:-1)}}function ne(n,e){if(n&1&&(Oi(0,`span`,24),pk(1),Nc()),n&2){let t=e.$implicit;ec(),mg(``,t.containerPort,`/`,t.protocol)}}function oe(n,e){if(n&1&&(Oi(0,`span`,24),pk(1),Nc()),n&2){let t=HE().$implicit;ec(),fg(t.hostIp)}}function ie(n,e){if(n&1&&(Oi(0,`span`,25),pk(1),Nc()),n&2){let t=HE(2);ec(),fg(t.t().allAddresses)}}function re(n,e){if(n&1&&kE(0,oe,2,1,`span`,24)(1,ie,2,1,`span`,25),n&2){let t=e.$implicit;SE(t.hostIp?0:1)}}var W;var O;p(()=>{Qr();ia();v();G();sS();oe$1();dS();x();Qr();W=n=>[`/containers`,n];O=class n{containers=C(u);t=Ot(()=>oS().networks.ports);problem=this.containers.problem;search=wt(``);zoek=jc(void 0);gaps=wt([]);columns=Ot(()=>{let e=this.t().columns;return[{key:`hostPort`,label:e.hostPort,width:`110px`},{key:`container`,label:e.container},{key:`target`,label:e.target,width:`150px`},{key:`address`,label:e.address,width:`150px`}]});all=Ot(()=>U(this.containers.containers(),this.gaps()));rows=Ot(()=>{let e=this.search().trim().toLowerCase().replace(/^:/,``);return e===``?this.all():this.all().filter(t=>`${String(t.hostPort??``)} ${t.containerName} ${String(t.containerPort)}/${t.protocol}`.toLowerCase().includes(e))});trackKey=e=>`${e.containerId}:${String(e.hostPort)}:${String(e.containerPort)}/${e.protocol}:${String(e.missing)}`;url=F;runningKey=Ot(()=>this.containers.containers().filter(e=>e.state===`running`&&e.missingNetwork===null).map(e=>`${e.id}:${e.name}`).join(`
2
+ `));constructor(){this.containers.refresh(),rp(()=>{let e=this.zoek();e!==void 0&&Tg(()=>this.search.set(e))}),rp(()=>{let e=this.runningKey();Tg(()=>{this.loadGaps(e)})})}async loadGaps(e){let t=e===``?[]:e.split(`
3
+ `).map(i=>{let[g=``,...f]=i.split(`:`);return{id:g,name:f.join(`:`)}}),o=await Promise.all(t.map(i=>window.electron.containers.wiring(i.id).catch(()=>null)));e===this.runningKey()&&this.gaps.set(t.flatMap((i,g)=>{let f=o[g]?.missingPorts??[];return f.length===0?[]:[{kind:`ports`,id:i.id,name:i.name,ports:f}]}))}static ɵfac=function(t){return new(t||n)};static ɵcmp=wc({type:n,selectors:[[`app-ports-page`]],inputs:{zoek:[1,`zoek`]},decls:20,vars:12,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,`data-testid`,`ports-search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`problem`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`columns`,`rows`,`trackKey`,`selectable`,`emptyMessage`],[`appCell`,`hostPort`],[`appCell`,`container`],[`appCell`,`target`],[`appCell`,`address`],[`target`,`_blank`,`rel`,`noreferrer`,1,`mx-focus`,`inline-flex`,`items-center`,`gap-1`,`font-mono`,`text-accent`,`tabular-nums`,`hover:underline`,3,`href`,`title`],[1,`font-mono`,`tabular-nums`,3,`class`],[`name`,`external`,3,`size`],[1,`font-mono`,`tabular-nums`],[1,`mx-focus`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`],[`data-testid`,`port-missing`,1,`ml-2`,`inline-flex`,`items-center`,`gap-1`,`text-[12px]`,`text-danger`,3,`title`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-300`],[1,`text-[12px]`,`text-ink-500`]],template:function(t,o){t&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`h1`,2),pk(3),Nc(),Oi(4,`p`,3),pk(5),Nc(),Oi(6,`div`,4)(7,`label`,5)(8,`span`,6),Gm(9,`app-icon`,7),Nc(),Oi(10,`span`,8),pk(11),Nc(),Oi(12,`input`,9),Jm(`input`,function(g){return o.search.set(g.target.value)}),Nc()()(),Gm(13,`app-page-messages`,10),Nc(),Oi(14,`div`,11)(15,`app-data-table`,12),$m(16,Z,2,1,`ng-template`,13)(17,te,3,5,`ng-template`,14)(18,ne,2,2,`ng-template`,15)(19,re,2,1,`ng-template`,16),Nc()()()),t&2&&(ec(3),fg(o.t().title),ec(2),fg(o.t().intro),ec(4),Wm(`size`,15),ec(2),fg(o.t().searchLabel),ec(),Wm(`placeholder`,o.t().searchLabel)(`value`,o.search()),ec(),Wm(`problem`,o.problem()),ec(2),Wm(`columns`,o.columns())(`rows`,o.rows())(`trackKey`,o.trackKey)(`selectable`,!1)(`emptyMessage`,o.all().length===0?o.t().none:o.t().empty))},dependencies:[z,x$1,My,u$1,Yt],encapsulation:2})}})();export{O as PortsPage};
@@ -0,0 +1 @@
1
+ import{$ as Od,At as W,Cn as jc,D as HE,F as Jm,G as My,Gn as pk,K as Nc,Ln as oS,Mn as mj,Pn as nk,Qn as sS,Tn as kE,V as Ld,Vn as p,Vt as _E,Zn as rp,_r as xc,cr as vg,ct as Qr,dt as SE,et as Oi,gr as wt,jn as mg,jt as Wm,kn as lS,l as C,ln as fg,mr as wc,n as $m,nt as Ot,on as eH,rn as dS,s as Br,sn as ec,un as fj,ur as vk,w as Gm,x as G,yn as hg,yt as Tg}from"./chunk-Bk32Rk5p.js";import{i as Wi,s as ca}from"./chunk-CgneC1Je.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie$1,r as Je,u as cn,v as un}from"./chunk-BsmS2zXP.js";function ce(i,t){if(i&1&&pk(0),i&2)xc(` `,HE(2).t().inVolume,` `)}function me(i,t){if(i&1&&pk(0),i&2){let e=HE(2);mg(` `,e.onMount()?e.t().onMount:e.t().notOnMount,` `,e.t().restart,` `)}}function pe(i,t){if(i&1&&(Oi(0,`p`,7),pk(1),Nc()),i&2){let e=HE(2);ec(),fg(e.t().loading)}}function ue(i,t){if(i&1){let e=_E();Oi(0,`textarea`,17),Jm(`input`,function(o){Ld(e);return Od(HE(2).text.set(o.target.value))}),Nc()}if(i&2){let e=HE(2);Wm(`value`,e.text()),Br(`aria-label`,e.t().title(e.shownPath()))}}function xe(i,t){if(i&1){let e=_E();Oi(0,`p`,18),pk(1),Nc(),Oi(2,`div`,19)(3,`button`,20),Jm(`click`,function(){Ld(e);return Od(HE(3).load())}),pk(4),Nc(),Oi(5,`button`,21),Jm(`click`,function(){Ld(e);return Od(HE(3).save(!0))}),pk(6),Nc()()}if(i&2){let e=HE(3);ec(),fg(e.t().conflict),ec(3),fg(e.t().reload),ec(2),xc(` `,e.t().overwrite,` `)}}function _e(i,t){if(i&1&&(Oi(0,`div`,9)(1,`p`),pk(2),Nc(),kE(3,xe,7,3),Nc()),i&2){let e=HE(2);ec(2),fg(t),ec(),SE(e.conflict()?3:-1)}}function ge(i,t){if(i&1&&(Oi(0,`span`,11),pk(1),Nc()),i&2){let e=HE(2);ec(),fg(e.t().unsaved)}}function fe(i,t){if(i&1){let e=_E();Oi(0,`button`,22),Jm(`click`,function(){Ld(e);let o=HE(2);return o.saveAsImage.emit(),Od(o.open.set(!1))}),Gm(1,`app-icon`,23),pk(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),xc(` `,e.t().saveAsImage,` `)}}function ve(i,t){if(i&1){let e=_E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),kE(6,ce,1,1)(7,me,1,2),Nc(),kE(8,pe,2,1,`p`,7)(9,ue,1,2,`textarea`,8),kE(10,_e,4,2,`div`,9),Oi(11,`div`,10),kE(12,ge,2,1,`span`,11),kE(13,fe,3,2,`button`,12),Oi(14,`button`,13),Gm(15,`app-icon`,14),pk(16),Nc(),Oi(17,`button`,15),Jm(`click`,function(){Ld(e);return Od(HE().save(!1))}),Gm(18,`app-icon`,16),pk(19),Nc()()()()}if(i&2){let e,n=HE();ec(4),fg(n.t().title(n.shownPath())),ec(2),SE(n.source().kind===`volume`?6:7),ec(2),SE(n.loading()?8:n.loaded()?9:-1),ec(2),SE((e=n.problem())?10:-1,e),ec(2),SE(n.dirty()?12:-1),ec(),SE(!n.onMount()&&n.loaded()?13:-1),ec(2),Wm(`size`,14),ec(),xc(` `,n.dirty()?n.t().closeUnsaved:n.common().close,` `),ec(),Wm(`disabled`,!n.dirty()||n.saving()),ec(),Wm(`size`,14),ec(),xc(` `,n.saving()?n.t().saving:n.t().save,` `)}}var ie;var ye=p(()=>{Qr();Je();lS();sS();dS();ca();Qr();ie=class i{open=mj(!1);source=jc.required();path=jc.required();saveAsImage=fj();toast=C(Wi);t=Ot(()=>oS().containers.editor);common=Ot(()=>oS().common);text=wt(``);original=wt(``);version=wt(``);shownPath=wt(``);onMount=wt(!0);loading=wt(!1);loaded=wt(!1);saving=wt(!1);problem=wt(null);conflict=wt(!1);dirty=Ot(()=>this.loaded()&&this.text()!==this.original());constructor(){rp(()=>{this.open()&&(this.path(),this.source(),Tg(()=>{this.load()}))})}async load(){this.loading.set(!0),this.loaded.set(!1),this.problem.set(null),this.conflict.set(!1),this.shownPath.set(this.path());try{let t=this.source(),e=t.kind===`volume`?await window.electron.volumes.readText(t.name,this.path()):await window.electron.files.readText(t.id,this.path());e.ok?(this.shownPath.set(e.path),this.text.set(e.text),this.original.set(e.text),this.version.set(e.version),this.onMount.set(e.onMount),this.loaded.set(!0)):this.problem.set(e.problem)}catch(t){this.problem.set(eH(t))}finally{this.loading.set(!1)}}async save(t){this.saving.set(!0),this.problem.set(null),this.conflict.set(!1);try{let e=this.text(),n=this.source(),o=n.kind===`volume`?await window.electron.volumes.saveText(n.name,this.shownPath(),e,this.version(),t):await window.electron.files.saveText(n.id,this.shownPath(),e,this.version(),t);o.ok?(this.original.set(e),this.version.set(o.version),this.toast.success(this.t().saved(this.shownPath()))):(this.problem.set(o.problem),this.conflict.set(o.conflict))}catch(e){this.problem.set(eH(e))}finally{this.saving.set(!1)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-edit-file-dialog`]],inputs:{open:[1,`open`],source:[1,`source`],path:[1,`path`]},outputs:{open:`openChange`,saveAsImage:`saveAsImage`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`edit-file-dialog`,1,`flex`,`h-[80vh]`,`w-full`,`max-w-4xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`font-mono`,`text-[14px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,`data-testid`,`edit-file-where`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[`spellcheck`,`false`,`autocomplete`,`off`,`wrap`,`off`,`data-testid`,`edit-file-text`,1,`mx-focus`,`mt-3`,`min-h-0`,`flex-1`,`resize-none`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-950`,`p-3`,`font-mono`,`text-[12px]`,`leading-[1.6]`,`text-ink-100`,3,`value`],[`role`,`alert`,1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-4`,`flex`,`items-center`,`gap-2`],[`data-testid`,`edit-file-dirty`,1,`text-[12px]`,`text-warn`],[`type`,`button`,`data-testid`,`edit-file-commit`,1,`mx-btn`,`mx-focus`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`,`ml-auto`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`edit-file-save`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`,`disabled`],[`name`,`check`,3,`size`],[`spellcheck`,`false`,`autocomplete`,`off`,`wrap`,`off`,`data-testid`,`edit-file-text`,1,`mx-focus`,`mt-3`,`min-h-0`,`flex-1`,`resize-none`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-950`,`p-3`,`font-mono`,`text-[12px]`,`leading-[1.6]`,`text-ink-100`,3,`input`,`value`],[1,`mt-1`,`text-ink-200`],[1,`mt-2`,`flex`,`gap-2`],[`type`,`button`,`data-testid`,`edit-file-reload`,1,`mx-btn`,`mx-focus`,3,`click`],[`type`,`button`,`data-testid`,`edit-file-overwrite`,1,`mx-btn`,`mx-focus`,`border-danger`,`text-danger`,3,`click`],[`type`,`button`,`data-testid`,`edit-file-commit`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`images`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(m){return vk(n.open,m)||(n.open=m),m}),$m(1,ve,20,11,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie$1,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function be(i,t){if(i&1&&(Oi(0,`p`,2),pk(1),Nc()),i&2){let e=HE(2);ec(),fg(e.question())}}function he(i,t){if(i&1){let e=_E();Oi(0,`label`,3)(1,`span`,10),pk(2),Nc(),Oi(3,`input`,11),Jm(`input`,function(o){Ld(e);return Od(HE(2).ops().value.set(o.target.value))})(`keydown.enter`,function(){Ld(e);return Od(HE(2).ops().confirm())})(`keydown.escape`,function(){Ld(e);return Od(HE(2).ops().cancel())}),Nc()()}if(i&2){let e=HE(2);ec(2),fg(e.label()),ec(),Wm(`value`,e.ops().value())}}function ke(i,t){i&1&&(Oi(0,`p`,4),pk(1),Nc()),i&2&&(ec(),fg(t))}function we(i,t){if(i&1){let e=_E();Oi(0,`div`,1),kE(1,be,2,1,`p`,2)(2,he,4,2,`label`,3),kE(3,ke,2,1,`p`,4),Oi(4,`div`,5)(5,`button`,6),Jm(`click`,function(){Ld(e);return Od(HE().ops().cancel())}),Gm(6,`app-icon`,7),pk(7),Nc(),Oi(8,`button`,8),Jm(`click`,function(){Ld(e);return Od(HE().ops().confirm())}),Gm(9,`app-icon`,9),pk(10),Nc()()()}if(i&2){let e,n=t,o=HE();nk(n.kind===`remove`?`border-danger/40 bg-danger/10`:`border-ink-700 bg-ink-850`),ec(),SE(n.kind===`remove`?1:2),ec(2),SE((e=o.ops().problem())?3:-1,e),ec(2),Wm(`disabled`,o.ops().busy()),ec(),Wm(`size`,13),ec(),xc(` `,o.common().cancel,` `),ec(),nk(n.kind===`remove`?`border-danger text-danger`:`border-accent text-accent`),Wm(`disabled`,o.ops().busy()||n.kind!==`remove`&&o.ops().value().trim()===``),ec(),Wm(`name`,n.kind===`remove`?`trash`:`check`)(`size`,13),ec(),xc(` `,o.confirmLabel(),` `)}}function S(i,t){return i.endsWith(`/`)?`${i}${t}`:`${i}/${t}`}var oe;var ae;var Ce=p(()=>{Qr();lS();sS();dS();Qr();oe=class{constructor(t,e,n,o){this.source=t;this.dir=e;this.toast=n;this.reload=o}source;dir;toast;reload;step=wt(null);value=wt(``);busy=wt(!1);problem=wt(null);get t(){return oS().containers.fileOps}startRename(t){this.problem.set(null),this.value.set(t.name),this.step.set({kind:`rename`,entry:t})}startCreate(){this.problem.set(null),this.value.set(``),this.step.set({kind:`create`})}async startRemove(t){if(this.problem.set(null),this.step.set({kind:`remove`,entry:t,count:null}),t.kind===`dir`)try{let e=await this.count(S(this.dir(),t.name)),n=this.step();n?.kind===`remove`&&n.entry===t&&this.step.set(G(W({},n),{count:e.ok?e.count:-1}))}catch{}}cancel(){this.step.set(null),this.problem.set(null)}async confirm(){let t=this.step();if(t===null)return;let e=this.t,n=this.dir(),o=this.value().trim();this.busy.set(!0),this.problem.set(null);try{let m=t.kind===`rename`?await this.rename(S(n,t.entry.name),o):t.kind===`create`?await this.makeDir(n,o):await this.remove(S(n,t.entry.name));if(!m.ok){this.problem.set(m.problem);return}this.step.set(null),this.toast.success(t.kind===`rename`?e.renamed(t.entry.name,o):t.kind===`create`?e.created(o):e.removed(t.entry.name)),await this.reload()}catch(m){this.problem.set(eH(m))}finally{this.busy.set(!1)}}rename(t,e){let n=this.source();return n.kind===`volume`?window.electron.volumes.renamePath(n.name,t,e):window.electron.files.rename(n.id,t,e)}remove(t){let e=this.source();return e.kind===`volume`?window.electron.volumes.removePath(e.name,t):window.electron.files.remove(e.id,t)}makeDir(t,e){let n=this.source();return n.kind===`volume`?window.electron.volumes.makeDir(n.name,t,e):window.electron.files.makeDir(n.id,t,e)}count(t){let e=this.source();return e.kind===`volume`?window.electron.volumes.countPath(e.name,t):window.electron.files.count(e.id,t)}},ae=class i{ops=jc.required();t=Ot(()=>oS().containers.fileOps);common=Ot(()=>oS().common);label=Ot(()=>{let t=this.ops().step();return t?.kind===`rename`?this.t().renameLabel(t.entry.name):this.t().createLabel});question=Ot(()=>{let t=this.ops().step(),e=this.t();return t?.kind!==`remove`?``:t.entry.kind!==`dir`?e.confirmFile(t.entry.name):t.count===null?e.counting(t.entry.name):t.count<0?e.confirmDirUncounted(t.entry.name):e.confirmDir(t.entry.name,t.count)});confirmLabel=Ot(()=>{let t=this.ops().step()?.kind,e=this.t();return t===`remove`?e.remove:t===`create`?e.create:e.save});static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-file-ops-bar`]],inputs:{ops:[1,`ops`]},decls:1,vars:1,consts:[[`data-testid`,`file-ops-bar`,1,`mb-2`,`rounded-md`,`border`,`px-3`,`py-2`,`text-[13px]`,3,`class`],[`data-testid`,`file-ops-bar`,1,`mb-2`,`rounded-md`,`border`,`px-3`,`py-2`,`text-[13px]`],[`data-testid`,`file-ops-question`,1,`text-ink-100`],[1,`flex`,`items-center`,`gap-2`],[`role`,`alert`,1,`mt-1.5`,`text-[12px]`,`text-danger`],[1,`mt-2`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`file-ops-confirm`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[3,`name`,`size`],[1,`shrink-0`,`text-ink-300`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`file-ops-name`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2`,`py-1`,`font-mono`,`text-[12px]`,`text-ink-100`,3,`input`,`keydown.enter`,`keydown.escape`,`value`]],template:function(e,n){if(e&1&&kE(0,we,11,13,`div`,0),e&2){let o;SE((o=n.ops().step())?0:-1,o)}},dependencies:[My],encapsulation:2})}});export{oe as a,ie as i,S as n,ye as o,ae as r,Ce as t};
@@ -1,6 +1,6 @@
1
- import{$n as sS,$t as bg,A as HE,An as lS,B as Kr,Cr as yk,D as Gm,Dn as kc,En as kE,Fn as nk,Ft as Wr,Gt as _m,H as Ld,Hn as p,K as My,Kn as pk,Mn as mg,Nn as mj,Nt as W,Pt as Wm,Qn as rp,R as Jm,Rn as oS,St as Tg,_r as wt$1,bn as hg,cn as ec,cr as ve,dn as fj,dr as vk,et as Od,f as C,hr as wc,ht as Sc,in as dS,kn as kk,lr as vg,mt as SE,o as Ac,q as Nc,qn as qr,qt as ag,rt as Ot$1,sn as eH,t as $E,tn as bk,tt as Oi,u as Br,un as fg,w as G$1,wn as jc,xt as Tc,z as Km}from"./chunk-u0OAgv4f.js";import{n as j,r as w,t as C$1}from"./chunk-B3n-2UOi.js";import"./chunk-CsQ_euXP.js";import{n as p$1,t as g}from"./chunk-Af1e1d8G.js";import"./chunk-C3u9Hm0s.js";import{n as o,t as i}from"./chunk-_wm6hEEA.js";import"./chunk-Clfbc1-d.js";import"./chunk-BxKOYZan.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-EFAsN7J4.js";import{n as v,t as u}from"./chunk-BUtOgCv_.js";import{n as x,t as u$1}from"./chunk-COBWzwhz.js";import{a as Yt,r as Q,s as fe,u as ra}from"./chunk-jpKpwesj.js";import{n as c,t as b}from"./chunk-COdMLD3H.js";import{n as V,t as G$2}from"./chunk-BxU6JdzU.js";import{n as W$1,t as J}from"./chunk-B13W1gEu.js";function Qe(n,t){if(n&1){let e=$E();Oi(0,`button`,18),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE(2).view.set(o))}),pk(1),Nc()}if(n&2){let e=t.$implicit,i=HE(2);ag(`border-accent`,i.view()===e)(`text-accent`,i.view()===e),Br(`data-testid`,`compose-view-`+e)(`aria-pressed`,i.view()===e),ec(),Ac(` `,e===`raw`?i.t().raw:i.t().resolved,` `)}}function Je(n,t){n&1&&(Oi(0,`pre`,9),pk(1),Nc()),n&2&&(ec(),fg(t))}function Xe(n,t){n&1&&(Oi(0,`p`,10),pk(1),Nc()),n&2&&(ec(),fg(t))}function Ye(n,t){if(n&1&&(Oi(0,`p`,11),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().loading)}}function Ze(n,t){n&1&&(Oi(0,`span`,13),pk(1),Nc()),n&2&&(ec(),fg(t))}function et(n,t){if(n&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),pk(6),Nc(),Oi(7,`div`,7),Sc(8,Qe,2,7,`button`,8,kc),Nc(),kE(10,Je,2,1,`pre`,9)(11,Xe,2,1,`p`,10)(12,Ye,2,1,`p`,11),Oi(13,`div`,12),kE(14,Ze,2,1,`span`,13),Oi(15,`button`,14),Gm(16,`app-icon`,15),pk(17),Nc(),Oi(18,`button`,16),Jm(`click`,function(){Ld(e);return Od(HE().copy())}),Gm(19,`app-icon`,17),pk(20),Nc()()()()}if(n&2){let e,i,o=HE();ec(4),fg(o.t().title(o.project())),ec(2),Ac(` `,o.view()===`raw`?o.t().rawHint:o.t().resolvedHint,` `),ec(2),Tc(o.views),ec(2),SE((e=o.body())?10:(e=o.problem())?11:12,e),ec(4),SE((i=o.copyProblem())?14:-1,i),ec(2),Wm(`size`,14),ec(),Ac(` `,o.common().close,` `),ec(),Wm(`disabled`,o.body()===null),ec(),Wm(`name`,o.copied()?`check`:`copy`)(`size`,14),ec(),Ac(` `,o.copied()?o.common().copied:o.common().copy,` `)}}var se;var Be=p(()=>{Kr();Je$1();lS();dS();sS();Kr();se=class n{open=mj(!1);project=jc.required();t=Ot$1(()=>oS().compose.file);common=Ot$1(()=>oS().common);views=[`raw`,`resolved`];view=wt$1(`raw`);files=wt$1(null);config=wt$1(null);copied=wt$1(!1);copyProblem=wt$1(null);constructor(){rp(()=>{if(!this.open())return;let t=this.project();Tg(()=>{this.load(t)})})}body(){if(this.view()===`resolved`){let e=this.config();return e?.ok===!0?e.yaml:null}let t=this.files();return t?.ok!==!0?null:t.files.map(e=>`# ${e.path}
1
+ import{$ as Od,At as W,Cn as jc,Cr as yk,D as HE,En as kc,F as Jm,G as My,Gn as pk,K as Nc,Kn as qr,Kt as ag,Ln as oS,Mn as mj,Mt as Wr,On as kk,Pn as nk,Qn as sS,Qt as bg,Tn as kE,V as Ld,Vn as p,Vt as _E,Zn as rp,_r as xc,cr as vg,ct as Qr,dt as SE,en as bk,et as Oi,ft as Sc,gr as wt$1,jn as mg,jt as Wm,kn as lS,l as C,ln as fg,mr as wc,n as $m,nt as Ot$1,on as eH,rn as dS,s as Br,sn as ec,sr as ve,st as Qm,un as fj,ur as vk,vt as Tc,w as Gm,x as G$1,yn as hg,yt as Tg}from"./chunk-Bk32Rk5p.js";import{n as j,r as w,t as C$1}from"./chunk-C9w0bf2Y.js";import"./chunk-FM5_LSb4.js";import{l as ia,o as Yt,t as Q,u as pe$1}from"./chunk-CgneC1Je.js";import{n as p$1,t as g}from"./chunk-BSz2tiCV.js";import{n as o,t as i}from"./chunk-bj_sMiGa.js";import"./chunk-CesW8OnI.js";import"./chunk-Ds9UWi20.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-BsmS2zXP.js";import{n as v,t as u}from"./chunk-DJfErblk.js";import{n as x,t as u$1}from"./chunk-D5pKQvyX.js";import{n as c,t as b}from"./chunk-ChGlpKnY.js";import{n as V,t as G$2}from"./chunk-CLii2-2s.js";import{n as W$1,t as J}from"./chunk-idasJ9ng.js";function Qe(n,t){if(n&1){let e=_E();Oi(0,`button`,18),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE(2).view.set(o))}),pk(1),Nc()}if(n&2){let e=t.$implicit,i=HE(2);ag(`border-accent`,i.view()===e)(`text-accent`,i.view()===e),Br(`data-testid`,`compose-view-`+e)(`aria-pressed`,i.view()===e),ec(),xc(` `,e===`raw`?i.t().raw:i.t().resolved,` `)}}function Je(n,t){n&1&&(Oi(0,`pre`,9),pk(1),Nc()),n&2&&(ec(),fg(t))}function Xe(n,t){n&1&&(Oi(0,`p`,10),pk(1),Nc()),n&2&&(ec(),fg(t))}function Ye(n,t){if(n&1&&(Oi(0,`p`,11),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().loading)}}function Ze(n,t){n&1&&(Oi(0,`span`,13),pk(1),Nc()),n&2&&(ec(),fg(t))}function et(n,t){if(n&1){let e=_E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),pk(6),Nc(),Oi(7,`div`,7),Sc(8,Qe,2,7,`button`,8,kc),Nc(),kE(10,Je,2,1,`pre`,9)(11,Xe,2,1,`p`,10)(12,Ye,2,1,`p`,11),Oi(13,`div`,12),kE(14,Ze,2,1,`span`,13),Oi(15,`button`,14),Gm(16,`app-icon`,15),pk(17),Nc(),Oi(18,`button`,16),Jm(`click`,function(){Ld(e);return Od(HE().copy())}),Gm(19,`app-icon`,17),pk(20),Nc()()()()}if(n&2){let e,i,o=HE();ec(4),fg(o.t().title(o.project())),ec(2),xc(` `,o.view()===`raw`?o.t().rawHint:o.t().resolvedHint,` `),ec(2),Tc(o.views),ec(2),SE((e=o.body())?10:(e=o.problem())?11:12,e),ec(4),SE((i=o.copyProblem())?14:-1,i),ec(2),Wm(`size`,14),ec(),xc(` `,o.common().close,` `),ec(),Wm(`disabled`,o.body()===null),ec(),Wm(`name`,o.copied()?`check`:`copy`)(`size`,14),ec(),xc(` `,o.copied()?o.common().copied:o.common().copy,` `)}}var se;var Be=p(()=>{Qr();Je$1();lS();dS();sS();Qr();se=class n{open=mj(!1);project=jc.required();t=Ot$1(()=>oS().compose.file);common=Ot$1(()=>oS().common);views=[`raw`,`resolved`];view=wt$1(`raw`);files=wt$1(null);config=wt$1(null);copied=wt$1(!1);copyProblem=wt$1(null);constructor(){rp(()=>{if(!this.open())return;let t=this.project();Tg(()=>{this.load(t)})})}body(){if(this.view()===`resolved`){let e=this.config();return e?.ok===!0?e.yaml:null}let t=this.files();return t?.ok!==!0?null:t.files.map(e=>`# ${e.path}
2
2
  ${e.problem??(e.content.trim()===``?this.t().empty:e.content)}`).join(`
3
3
 
4
- `)}problem(){let t=this.view()===`resolved`?this.config():this.files();return t?.ok===!1?t.problem:null}async copy(){let t=this.body();if(t!==null)try{await navigator.clipboard.writeText(t),this.copyProblem.set(null),this.copied.set(!0),setTimeout(()=>this.copied.set(!1),1500)}catch(e){this.copyProblem.set(this.t().copyFailed(eH(e)))}}async load(t){this.files.set(null),this.config.set(null),this.copied.set(!1),this.copyProblem.set(null),this.view.set(`raw`);let[e,i]=await Promise.all([window.electron.compose.files(t).catch(o=>({ok:!1,problem:eH(o)})),window.electron.compose.config(t).catch(o=>({ok:!1,problem:eH(o)}))]);this.files.set(e),this.config.set(i)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-compose-file-dialog`]],inputs:{open:[1,`open`],project:[1,`project`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`compose-file-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-4xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-3`,`flex`,`shrink-0`,`gap-1`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`border-accent`,`text-accent`],[`data-testid`,`compose-file-text`,1,`mt-3`,`min-h-0`,`flex-1`,`overflow-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-900`,`p-3`,`font-mono`,`text-[12px]`,`leading-relaxed`,`whitespace-pre`,`text-ink-200`],[1,`mt-4`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`flex`,`items-center`,`justify-end`,`gap-2`],[1,`mr-auto`,`text-[12px]`,`text-danger`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`compose-file-copy`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[3,`name`,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`]],template:function(e,i){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(s){return vk(i.open,s)||(i.open=s),s}),_m(1,et,21,10,`ng-template`,1),Nc()),e&2&&hg(`open`,i.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function tt(n,t){if(n&1&&(qr(0,`p`,1),pk(1),Wr()),n&2){let e=HE();ec(),fg(e.t().done(e.service()))}}function nt(n,t){if(n&1&&(qr(0,`p`,2),pk(1),Wr()),n&2){let e=HE();ec(),fg(e.problem())}}function it(n,t){if(n&1&&(qr(0,`details`,3)(1,`summary`,4),pk(2),Wr(),qr(3,`pre`,5),pk(4),Wr()()),n&2){let e=HE();Km(`open`,!e.result().ok),ec(2),fg(e.t().output),ec(2),fg(e.result().output)}}function ot(n,t){if(n&1&&Gm(0,`app-build-output`,2),n&2)Wm(`service`,HE().service())(`result`,t)}var G;var L;var _e=p(()=>{Kr();lS();sS();dS();Kr();G=class n{service=jc.required();result=jc.required();t=Ot$1(()=>oS().compose.build);problem(){let t=this.result();return t.ok?``:t.problem}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-build-output`]],hostAttrs:[1,`block`],inputs:{service:[1,`service`],result:[1,`result`]},decls:4,vars:3,consts:[[1,`text-[12px]`],[1,`text-ok`],[1,`whitespace-pre-line`,`text-danger`],[1,`mt-1`,3,`open`],[1,`cursor-pointer`,`text-ink-400`,`hover:text-ink-200`],[1,`mt-1`,`max-h-64`,`overflow-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-900`,`p-2`,`font-mono`,`text-[11px]`,`leading-snug`,`whitespace-pre-wrap`,`text-ink-300`]],template:function(e,i){e&1&&(qr(0,`div`,0),kE(1,tt,2,1,`p`,1)(2,nt,2,1,`p`,2),kE(3,it,5,3,`details`,3),Wr()),e&2&&(Br(`data-testid`,`service-build-result-`+i.service()),ec(),SE(i.result().ok?1:2),ec(2),SE(i.result().output!==``?3:-1))},encapsulation:2})},L=class n{project=jc.required();service=jc.required();disabled=jc(!1);showResult=jc(!0);finished=fj();t=Ot$1(()=>oS().compose.build);busy=wt$1(!1);result=wt$1(null);async build(){this.busy.set(!0),this.result.set(null);let t;try{t=await window.electron.compose.rebuild(this.project(),this.service())}catch(e){t={ok:!1,problem:eH(e),output:``}}this.result.set(t),this.busy.set(!1),this.finished.emit(t)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-service-build`]],hostAttrs:[1,`block`],inputs:{project:[1,`project`],service:[1,`service`],disabled:[1,`disabled`],showResult:[1,`showResult`]},outputs:{finished:`finished`},decls:4,vars:7,consts:[[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`,`title`],[`name`,`refresh`,3,`size`],[1,`mt-2`,3,`service`,`result`]],template:function(e,i){if(e&1&&(Oi(0,`button`,0),Jm(`click`,function(){return i.build()}),Gm(1,`app-icon`,1),pk(2),Nc(),kE(3,ot,1,2,`app-build-output`,2)),e&2){let o;Wm(`disabled`,i.busy()||i.disabled())(`title`,i.t().title),Br(`aria-label`,i.t().aria(i.service()))(`data-testid`,`service-build-`+i.service()),ec(),Wm(`size`,14),ec(),Ac(` `,i.busy()?i.t().busy:i.t().button,` `),ec(),SE((o=i.showResult()&&i.result())?3:-1,o)}},dependencies:[My,G],encapsulation:2})}});function lt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().loading)}}function dt(n,t){if(n&1&&(Oi(0,`li`,14),Gm(1,`app-icon`,16),Oi(2,`span`,17),pk(3),Nc(),Oi(4,`span`,18),pk(5),Nc(),Oi(6,`span`,19),pk(7),Nc()()),n&2){let e=t.$implicit,i=HE(3);ec(),nk(i.iconClass(e)),Wm(`name`,i.iconOf(e))(`size`,13),ec(),Wm(`title`,e.reference),ec(),fg(e.reference),ec(2),fg(e.services.join(`, `)),ec(),nk(e.state===`failed`?`text-danger`:`text-ink-400`),Wm(`title`,e.problem??``),ec(),Ac(` `,i.stateOf(e),` `)}}function st(n,t){if(n&1&&Gm(0,`app-service-build`,23),n&2){let e=HE().$implicit,i=HE(3);Wm(`project`,i.project())(`service`,e.service)(`disabled`,!i.finished())}}function pt(n,t){if(n&1&&(Oi(0,`li`,15)(1,`div`,14),Gm(2,`app-icon`,20),Oi(3,`span`,21),pk(4),Nc(),Oi(5,`span`,22),pk(6),Nc()(),kE(7,st,1,3,`app-service-build`,23),Nc()),n&2){let e=t.$implicit,i=HE(3);ec(2),Wm(`size`,13),ec(2),fg(e.service),ec(2),fg(e.reason===`build`?i.t().skippedBuild:i.t().skippedDigest),ec(),SE(e.reason===`build`?7:-1)}}function ct(n,t){if(n&1&&(Oi(0,`ul`,8),Sc(1,dt,8,11,`li`,14,at),Sc(3,pt,8,4,`li`,15,rt),Nc()),n&2){let e=HE(2);ec(),Tc(e.rows()),ec(2),Tc(e.skipped())}}function mt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().noImages)}}function ut(n,t){n&1&&(Oi(0,`p`,9),pk(1),Nc()),n&2&&(ec(),fg(t))}function gt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().checking)}}function _t(n,t){if(n&1&&(Oi(0,`p`,24),Gm(1,`app-icon`,25),pk(2),Nc()),n&2){let e=HE(3);ec(),Wm(`size`,13),ec(),Ac(` `,e.t().upToDate)}}function xt(n,t){if(n&1&&(Oi(0,`p`,28),pk(1),Nc()),n&2){let e=HE(),i=HE(4);ec(),fg(i.t().renewed(e.renewed.join(`, `)))}}function ft(n,t){if(n&1&&(Oi(0,`p`,29),pk(1),Nc()),n&2){let e=HE(),i=HE(4);ec(),fg(i.t().unchanged(e.unchanged.join(`, `)))}}function yt(n,t){if(n&1&&(Oi(0,`p`,30),pk(1),Nc()),n&2){let e=t.$implicit;ec(),fg(e)}}function bt(n,t){if(n&1&&(kE(0,xt,2,1,`p`,28),kE(1,ft,2,1,`p`,29),Sc(2,yt,2,1,`p`,30,kc)),n&2){let e=t;SE(e.renewed.length>0?0:-1),ec(),SE(e.unchanged.length>0?1:-1),ec(),Tc(e.problems)}}function vt(n,t){if(n&1){let e=$E();Oi(0,`div`,27)(1,`button`,31),Jm(`click`,function(){Ld(e);return Od(HE(4).renew())}),Gm(2,`app-icon`,32),pk(3),Nc(),Oi(4,`span`,33),pk(5),Nc()()}if(n&2){let e=HE(4);ec(),Wm(`disabled`,e.phase()===`renewing`),ec(),Wm(`size`,14),ec(),Ac(` `,e.phase()===`renewing`?e.t().renewing:e.t().renew,` `),ec(2),fg(e.t().renewHint)}}function ht(n,t){if(n&1&&(Oi(0,`p`,26),pk(1),Nc(),kE(2,bt,4,2)(3,vt,6,4,`div`,27)),n&2){let e,i=HE(),o=HE(2);ec(),fg(o.t().stale(i.join(`, `))),ec(),SE((e=o.result())?2:3,e)}}function Ct(n,t){n&1&&(Oi(0,`div`,10),kE(1,_t,3,2,`p`,24)(2,ht,4,2),Nc()),n&2&&(ec(),SE(t.length===0?1:2))}function wt(n,t){if(n&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),pk(6),Nc(),kE(7,lt,2,1,`p`,7),kE(8,ct,5,0,`ul`,8)(9,mt,2,1,`p`,7),kE(10,ut,2,1,`p`,9),kE(11,gt,2,1,`p`,7),kE(12,Ct,3,1,`div`,10),Oi(13,`div`,11)(14,`button`,12),Gm(15,`app-icon`,13),pk(16),Nc()()()()),n&2){let e,i,o=HE();ec(4),fg(o.t().title(o.project())),ec(2),fg(o.t().description),ec(),SE(o.phase()===`loading`?7:-1),ec(),SE(o.rows().length>0||o.skipped().length>0?8:o.phase()!==`loading`&&o.phase()!==`failed`?9:-1),ec(2),SE((e=o.problem())?10:-1,e),ec(),SE(o.phase()===`checking`?11:-1),ec(),SE((i=o.stale())?12:-1,i),ec(3),Wm(`size`,14),ec(),Ac(` `,o.finished()?o.common().close:o.common().cancel,` `)}}function Dt(n){let t=n.layers.reduce((e,i)=>e+i.total,0);return t===0?null:Math.round(n.layers.reduce((e,i)=>e+i.current,0)/t*100)}var at;var rt;var pe;var Oe=p(()=>{Kr();Je$1();lS();sS();dS();_e();Kr();at=(n,t)=>t.reference,rt=(n,t)=>t.service;pe=class n{open=mj(!1);project=jc.required();t=Ot$1(()=>oS().compose.update);common=Ot$1(()=>oS().common);phase=wt$1(`loading`);rows=wt$1([]);skipped=wt$1([]);stale=wt$1(null);result=wt$1(null);problem=wt$1(null);finished=Ot$1(()=>[`ready`,`done`,`failed`].includes(this.phase()));round=0;stopPull=null;constructor(){C(ve).onDestroy(()=>this.cancel()),rp(()=>{let t=this.open(),e=this.project();Tg(()=>{t?this.start(e):this.cancel()})})}stateOf(t){let e=this.t();switch(t.state){case`waiting`:return e.waiting;case`pulling`:return t.percent===null?e.pulling:`${e.pulling} ${String(t.percent)}%`;case`done`:return e.pulled;case`failed`:return e.failed(t.problem??``)}}iconOf(t){return t.state===`done`?`check`:t.state===`failed`?`warning`:`download`}iconClass(t){return t.state===`done`?`text-ok`:t.state===`failed`?`text-danger`:t.state===`pulling`?`text-accent`:`text-ink-500`}cancel(){this.round+=1,this.stopPull?.(),this.stopPull=null}async start(t){this.cancel();let e=this.round,i=()=>e===this.round;this.phase.set(`loading`),this.rows.set([]),this.skipped.set([]),this.stale.set(null),this.result.set(null),this.problem.set(null);try{let o=await window.electron.compose.images(t);if(!i())return;this.rows.set(o.images.map(u=>G$1(W({},u),{state:`waiting`,percent:null,problem:null}))),this.skipped.set(o.skipped),this.phase.set(`pulling`);for(let u of o.images)if(await this.pull(u.reference,i),!i())return;this.phase.set(`checking`);let s=await window.electron.compose.stale(t);i()&&(this.stale.set(s),this.phase.set(`ready`))}catch(o){i()&&(this.problem.set(eH(o)),this.phase.set(`failed`))}}async pull(t,e){let i=s=>{e()&&this.rows.update(u=>u.map(R=>R.reference===t?W(W({},R),s):R))};i({state:`pulling`});let o=await window.electron.images.pull(t);if(!o.ok){i({state:`failed`,problem:o.problem});return}await new Promise(s=>{let u=window.electron.images.onPullProgress(o.streamId,q=>{if(!q.done){i({percent:Dt(q)});return}i(q.problem===null?{state:`done`,percent:null}:{state:`failed`,problem:q.problem}),R()}),R=()=>{u(),window.electron.images.close(o.streamId),this.stopPull=null,s()};this.stopPull=R})}async renew(){let t=this.round;this.phase.set(`renewing`);try{let e=await window.electron.compose.renew(this.project());t===this.round&&(this.result.set(e),this.phase.set(`done`))}catch(e){t===this.round&&(this.result.set({renewed:[],unchanged:[],problems:[eH(e)]}),this.phase.set(`done`))}}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-project-update-dialog`]],inputs:{open:[1,`open`],project:[1,`project`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`project-update`,1,`w-full`,`max-w-2xl`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[`data-testid`,`project-update-images`,1,`mt-4`,`space-y-1.5`,`text-[13px]`],[1,`mt-4`,`text-[13px]`,`text-danger`],[`data-testid`,`project-update-stale`,1,`mt-4`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-2.5`,`text-[13px]`],[1,`mt-5`,`flex`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[1,`text-ink-500`],[3,`name`,`size`],[1,`min-w-0`,`truncate`,`font-mono`,`text-ink-100`,3,`title`],[1,`min-w-0`,`truncate`,`text-ink-500`],[1,`ml-auto`,`shrink-0`,`text-[12px]`,3,`title`],[`name`,`code`,3,`size`],[1,`font-mono`],[1,`ml-auto`,`text-[12px]`],[1,`mt-1.5`,`ml-6`,3,`project`,`service`,`disabled`],[1,`flex`,`items-center`,`gap-2`,`text-ink-300`],[`name`,`check`,1,`text-ok`,3,`size`],[1,`text-ink-200`],[1,`mt-2.5`,`flex`,`items-center`,`gap-3`],[1,`mt-2`,`text-ok`],[1,`mt-1`,`text-ink-400`],[1,`mt-2`,`text-danger`],[`type`,`button`,`data-testid`,`project-update-renew`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`refresh`,3,`size`],[1,`text-[12px]`,`text-ink-500`]],template:function(e,i){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(s){return vk(i.open,s)||(i.open=s),s}),_m(1,wt,17,9,`ng-template`,1),Nc()),e&2&&hg(`open`,i.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My,L],encapsulation:2})}});function St(n,t){if(n&1&&(Oi(0,`div`,7),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.version)}}function Et(n,t){if(n&1&&(Oi(0,`div`,16),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.problem)}}function Mt(n,t){n&1&&kE(0,St,2,1,`div`,7)(1,Et,2,1,`div`,16),n&2&&SE(t.cliAvailable?0:1)}function Tt(n,t){if(n&1&&(Oi(0,`div`,7),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.t().updating)}}function It(n,t){if(n&1&&(Oi(0,`span`,23),pk(1),Nc()),n&2){let e=t;Wm(`title`,e),ec(),fg(e)}}function Rt(n,t){if(n&1&&(Oi(0,`div`,26),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().busy)}}function Ft(n,t){if(n&1&&(Oi(0,`div`,27),Gm(1,`app-icon`,30),pk(2),Nc()),n&2){let e=HE().$implicit,i=HE();Br(`data-testid`,`compose-missing-`+e.name),ec(),Wm(`size`,12),ec(),Ac(` `,i.t().missing,` `)}}function Nt(n,t){if(n&1&&(Oi(0,`div`,31),Gm(1,`app-icon`,32),pk(2),Nc()),n&2){let e=t,i=HE().$implicit,o=HE();nk(e.problem?`text-danger`:`text-accent`),Wm(`title`,e.problem?``:o.t().driftTitle),Br(`data-testid`,`compose-drift-`+i.name),ec(),Wm(`name`,e.problem?`warning`:`file`)(`size`,12),ec(),Ac(` `,e.text,` `)}}function Bt(n,t){if(n&1&&(Oi(0,`span`,36),pk(1),Nc()),n&2){let e=HE().$implicit,i=HE(2).$implicit,o=HE();Wm(`title`,o.t().driftTitle),Br(`data-testid`,`compose-drift-`+i.name+`-`+e.name),ec(),fg(o.t().drift)}}function Ot(n,t){if(n&1){let e=$E();Oi(0,`app-service-build`,42),Jm(`finished`,function(o){Ld(e);let s=HE().$implicit,u=HE(2).$implicit;return Od(HE().afterBuild(u.name,s.name,o))}),Nc()}if(n&2){let e=HE().$implicit,i=HE(2).$implicit,o=bk(0);Wm(`project`,i.name)(`service`,e.name)(`disabled`,o)(`showResult`,!1)}}function zt(n,t){if(n&1&&Gm(0,`app-build-output`,40),n&2){let e=HE().$implicit;Wm(`service`,e.name)(`result`,t)}}function $t(n,t){if(n&1&&(Oi(0,`span`,46),pk(1),Nc()),n&2){let e=t.$implicit;ec(),Ac(` `,e.hostPort?e.hostPort+`:`+e.containerPort:e.containerPort,` `)}}function Vt(n,t){if(n&1&&(Oi(0,`span`,44),Sc(1,$t,2,1,`span`,46,jt),Nc()),n&2){let e=HE().$implicit;ec(),Tc(e.ports.slice(0,2))}}function Ut(n,t){if(n&1&&(Oi(0,`div`,41),Gm(1,`app-state-dot`,20),Oi(2,`a`,43),pk(3),Nc(),Oi(4,`span`,44),pk(5),Nc(),Oi(6,`span`,45),pk(7),Nc(),kE(8,Vt,3,0,`span`,44),Nc()),n&2){let e=t.$implicit;ec(),Wm(`state`,e.state),ec(),Wm(`routerLink`,kk(6,kt,e.id)),ec(),fg(e.name),ec(2),fg(e.status),ec(2),fg(e.image),ec(),SE(e.ports.length>0?8:-1)}}function Lt(n,t){if(n&1){let e=$E();Oi(0,`div`,33)(1,`div`,34)(2,`div`,35),pk(3),Nc(),kE(4,Bt,2,3,`span`,36),kE(5,Ot,1,4,`app-service-build`,37),Oi(6,`button`,38),Jm(`click`,function(){let o=Ld(e).$implicit,s=HE(2).$implicit;return Od(HE().recreate(s,o))}),Gm(7,`app-icon`,39),pk(8),Nc()(),kE(9,zt,1,2,`app-build-output`,40),Sc(10,Ut,9,8,`div`,41,Pt),Nc()}if(n&2){let e,i=t.$implicit,o=HE(2).$implicit,s=bk(0),u=HE();ec(3),fg(i.name),ec(),SE(u.drifted(o.name,i.name)?4:-1),ec(),SE(u.canBuild(o.name,i.name)?5:-1),ec(),ag(`ml-auto`,!u.canBuild(o.name,i.name)),Wm(`disabled`,s||!u.canCompose(o))(`title`,u.canCompose(o)?u.t().recreateTitle:u.composeBlockedReason(o)),Br(`data-testid`,`compose-recreate-`+i.name)(`aria-label`,u.t().recreateAria(i.name)),ec(),Wm(`size`,14),ec(),Ac(` `,u.t().recreate,` `),ec(),SE((e=u.buildResult(o.name,i.name))?9:-1,e),ec(),Tc(i.containers)}}function Wt(n,t){if(n&1&&(Oi(0,`div`,29),Sc(1,Lt,12,12,`div`,33,$e),Nc()),n&2){let e=HE().$implicit;ec(),Tc(e.services)}}function At(n,t){if(n&1){let e=$E();bg(0),Oi(1,`div`,12)(2,`div`,17)(3,`button`,18),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE().toggle(o.name))}),Gm(4,`app-icon`,19)(5,`app-state-dot`,20),Oi(6,`span`,21),pk(7),Nc()(),Oi(8,`span`,22),pk(9),Nc(),kE(10,It,2,2,`span`,23),Oi(11,`div`,24)(12,`app-action-menu`,25),Jm(`picked`,function(o){let s=Ld(e).$implicit;return Od(HE().onProjectMenu(o,s))}),Nc()()(),kE(13,Rt,2,1,`div`,26),kE(14,Ft,3,3,`div`,27),kE(15,Nt,3,7,`div`,28),kE(16,Wt,3,0,`div`,29),Nc()}if(n&2){let e,i,o=t.$implicit,s=HE(),u=yk(s.busy(o));ec(3),Br(`aria-expanded`,s.isExpanded(o.name))(`aria-label`,s.isExpanded(o.name)?s.t().collapse(o.name):s.t().expand(o.name)),ec(),Wm(`name`,s.isExpanded(o.name)?`chevronDown`:`chevronRight`)(`size`,14),ec(),Wm(`state`,o.state),ec(2),fg(o.name),ec(2),mg(` `,s.projectLabelOf(o.state),` · `,o.state===`down`?s.t().notStarted:s.t().runningOf(o.running,o.total),` `),ec(),SE((e=o.workingDir)?10:-1,e),ec(2),Wm(`label`,s.t().menuAria(o.name))(`items`,s.projectMenu(o)),ec(),SE(u?13:-1),ec(),SE(o.missing?14:-1),ec(),SE((i=s.driftNote(o.name))?15:-1,i),ec(),SE(s.isExpanded(o.name)?16:-1)}}function Gt(n,t){if(n&1&&(Oi(0,`p`,13),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.t().empty)}}var kt;var $e;var Pt;var jt;var ze;p(()=>{Kr();ra();C$1();g();v();sS();J();dS();x();b();Be();Oe();_e();G$2();o();Kr();kt=n=>[`/containers`,n],$e=(n,t)=>t.name,Pt=(n,t)=>t.id,jt=(n,t)=>t.containerPort;ze=class n{containers=C(u);compose=C(p$1);t=Ot$1(()=>oS().compose);common=Ot$1(()=>oS().common);loading=this.containers.loading;problem=this.containers.problem;composePending=this.compose.pending;containerPending=this.containers.pending;status=this.compose.status;projects=Ot$1(()=>w(j(this.containers.containers()),this.compose.known()));opening=this.compose.opening;expanded=wt$1(new Set);confirmOpen=wt$1(!1);fileOpen=wt$1(!1);fileProject=wt$1(``);pendingDown=wt$1(null);updateOpen=wt$1(!1);drift=wt$1(new Map);buildable=wt$1(new Map);buildResults=wt$1(new Map);projectKey=Ot$1(()=>this.projects().filter(t=>t.workingDir!==null&&t.state!==`down`).map(t=>t.name).join(`
5
- `));updateProject=wt$1(``);bestand=jc(void 0);afbreken=jc(void 0);bijwerken=jc(void 0);openen=jc(void 0);router=C(fe);route=C(Q);constructor(){this.containers.refresh(),this.compose.loadStatus(),this.compose.loadKnown(),rp(()=>{let t=this.bestand();t!==void 0&&Tg(()=>{this.fileProject.set(t),this.fileOpen.set(!0),i(this.router,this.route,`bestand`)})}),rp(()=>{let t=this.projectKey(),e=this.status()?.cliAvailable;t!==``&&e===!0&&Tg(()=>t.split(`
6
- `).forEach(i=>{this.checkDrift(i),this.loadBuildable(i)}))}),rp(()=>{let t=this.bijwerken();t!==void 0&&Tg(()=>{this.openUpdate(t),i(this.router,this.route,`bijwerken`)})}),rp(()=>{this.openen()!==void 0&&Tg(()=>{i(this.router,this.route,`openen`),this.openComposeFile()})}),rp(()=>{let t=this.afbreken();t!==void 0&&Tg(()=>{this.pendingDown.set(t),this.confirmOpen.set(!0),i(this.router,this.route,`afbreken`)})})}isExpanded(t){return this.expanded().has(t)}toggle(t){let e=new Set(this.expanded());e.delete(t)||e.add(t),this.expanded.set(e)}openComposeFile(){this.compose.openFile()}projectLabelOf(t){return this.t().state[t]}busy(t){return this.composePending().has(t.name)||t.containerIds.some(e=>this.containerPending().has(e))}composeBlockedReason(t){let e=this.status();return e!==null&&!e.cliAvailable?this.t().noCli:t.workingDir===null?this.t().noWorkingDir:t.missing?this.t().missing:``}canCompose(t){return this.composeBlockedReason(t)===``}run(t,e){this.containers.runMany(t,e.containerIds)}up(t){this.compose.up(t.name)}projectMenu(t){let e=this.t(),i=this.common(),o=this.busy(t),s=this.canCompose(t),u=s?void 0:this.composeBlockedReason(t);return t.state===`down`?[{id:`up`,label:e.up,icon:`plus`,disabled:o||!s,hint:u??`docker compose up -d`},{id:`file`,label:e.file.button,icon:`file`,disabled:t.missing,separated:!0},{id:`forget`,label:e.forget,icon:`eraser`,disabled:o,hint:e.forgetHint,separated:!0}]:[{id:`up`,label:e.up,icon:`plus`,disabled:o||!s,hint:u??`docker compose up -d`},{id:`start`,label:i.start,icon:`play`,disabled:o},{id:`stop`,label:i.stop,icon:`stop`,disabled:o},{id:`restart`,label:i.restart,icon:`refresh`,disabled:o},{id:`update`,label:e.update.menu,icon:`download`,disabled:o||!s,hint:u??e.update.hint},{id:`file`,label:e.file.button,icon:`file`,disabled:t.workingDir===null,separated:!0},{id:`down`,label:e.down,icon:`trash`,danger:!0,disabled:o||!s,hint:u??`docker compose down`,separated:!0}]}onProjectMenu(t,e){t===`up`?this.up(e):t===`update`?this.openUpdate(e.name):t===`file`?this.openFile(e):t===`down`?this.askDown(e):t===`forget`?this.compose.forget(e.name):this.run(t,e)}recreate(t,e){this.compose.recreate(t.name,e.name).then(()=>this.checkDrift(t.name))}async checkDrift(t){try{let e=await window.electron.compose.drift(t);this.drift.update(i=>new Map(i).set(t,e))}catch{}}async loadBuildable(t){try{let e=await window.electron.compose.buildable(t);this.buildable.update(i=>new Map(i).set(t,e))}catch{}}canBuild(t,e){return this.buildable().get(t)?.includes(e)===!0}afterBuild(t,e,i){this.buildResults.update(o=>new Map(o).set(`${t}/${e}`,i)),this.checkDrift(t)}buildResult(t,e){return this.buildResults().get(`${t}/${e}`)??null}drifted(t,e){let i=this.drift().get(t);return i?.ok===!0&&i.changed.includes(e)}driftNote(t){let e=this.drift().get(t);return e===void 0?null:e.ok?e.changed.length===0?null:{text:this.t().driftProject(e.changed.join(`, `)),problem:!1}:{text:this.t().driftProblem(e.problem),problem:!0}}openUpdate(t){this.updateProject.set(t),this.updateOpen.set(!0)}openFile(t){this.fileProject.set(t.name),this.fileOpen.set(!0)}askDown(t){this.pendingDown.set(t.name),this.confirmOpen.set(!0)}confirmDown(){let t=this.pendingDown();t!==null&&(this.compose.down(t),this.pendingDown.set(null))}downDescription(){let t=this.pendingDown();return t===null?``:this.t().downDialog.description(t)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-compose-page`]],inputs:{bestand:[1,`bestand`],afbreken:[1,`afbreken`],bijwerken:[1,`bijwerken`],openen:[1,`openen`]},decls:23,vars:18,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`flex`,`flex-wrap`,`items-start`,`gap-4`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-1`,`max-w-prose`,`text-[13px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`items-start`,`gap-4`],[1,`text-right`],[1,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`compose-open-file`,1,`mx-btn`,`mx-focus`,`shrink-0`,3,`click`,`disabled`,`title`],[`name`,`file`,3,`size`],[3,`problem`],[1,`min-h-0`,`flex-1`,`space-y-3`,`overflow-y-auto`,`px-6`,`pb-6`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`],[1,`py-10`,`text-center`,`text-[13px]`,`text-ink-400`],[3,`openChange`,`open`,`project`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`],[1,`max-w-xs`,`text-[12px]`,`text-warn`],[1,`flex`,`flex-wrap`,`items-center`,`gap-3`,`px-3`,`py-2.5`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[3,`state`],[1,`truncate`,`text-[14px]`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`min-w-0`,`truncate`,`font-mono`,`text-[11px]`,`text-ink-500`,3,`title`],[1,`ml-auto`,`shrink-0`],[`compact`,``,3,`picked`,`label`,`items`],[1,`px-3`,`pb-2`,`text-[12px]`,`text-ink-500`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,`text-warn`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,3,`class`,`title`],[1,`border-t`,`border-ink-800`],[`name`,`warning`,3,`size`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,3,`title`],[3,`name`,`size`],[1,`border-b`,`border-ink-800`,`px-3`,`py-2`,`last:border-b-0`],[1,`flex`,`items-center`,`gap-3`],[1,`text-[12px]`,`font-medium`,`text-ink-300`],[1,`text-[11px]`,`text-accent`,3,`title`],[1,`ml-auto`,3,`project`,`service`,`disabled`,`showResult`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`,`title`],[`name`,`refresh`,3,`size`],[1,`mt-1.5`,`mb-1`,3,`service`,`result`],[1,`mt-1`,`flex`,`flex-wrap`,`items-center`,`gap-3`,`pl-3`,`text-[13px]`],[1,`ml-auto`,3,`finished`,`project`,`service`,`disabled`,`showResult`],[1,`mx-focus`,`min-w-0`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`],[1,`shrink-0`,`text-ink-500`],[1,`min-w-0`,`truncate`,`text-ink-400`],[1,`mr-2`]],template:function(e,i){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),pk(5),Nc(),Oi(6,`p`,4),pk(7),Nc()(),Oi(8,`div`,5)(9,`div`,6),kE(10,Mt,2,1),kE(11,Tt,2,1,`div`,7),Nc(),Oi(12,`button`,8),Jm(`click`,function(){return i.openComposeFile()}),Gm(13,`app-icon`,9),pk(14),Nc()()(),Gm(15,`app-page-messages`,10),Nc(),Oi(16,`div`,11),Sc(17,At,17,16,`div`,12,$e,!1,Gt,2,1,`p`,13),Nc()(),Oi(20,`app-compose-file-dialog`,14),vg(`openChange`,function(s){return vk(i.fileOpen,s)||(i.fileOpen=s),s}),Nc(),Oi(21,`app-project-update-dialog`,14),vg(`openChange`,function(s){return vk(i.updateOpen,s)||(i.updateOpen=s),s}),Nc(),Oi(22,`app-confirm-dialog`,15),vg(`openChange`,function(s){return vk(i.confirmOpen,s)||(i.confirmOpen=s),s}),Jm(`confirmed`,function(){return i.confirmDown()}),Nc()),e&2){let o;ec(5),fg(i.t().title),ec(2),fg(i.t().intro),ec(3),SE((o=i.status())?10:-1,o),ec(),SE(i.loading()?11:-1),ec(),Wm(`disabled`,i.opening()||i.status()?.cliAvailable===!1)(`title`,i.t().openHint),ec(),Wm(`size`,14),ec(),Ac(` `,i.opening()?i.t().opening:i.t().openFile,` `),ec(),Wm(`problem`,i.problem()),ec(2),Tc(i.projects()),ec(3),hg(`open`,i.fileOpen),Wm(`project`,i.fileProject()),ec(),hg(`open`,i.updateOpen),Wm(`project`,i.updateProject()),ec(),hg(`open`,i.confirmOpen),Wm(`title`,i.t().downDialog.title)(`description`,i.downDescription())(`confirmLabel`,i.t().downDialog.confirm)}},dependencies:[Yt,My,W$1,u$1,c,se,pe,L,G,V],encapsulation:2})}})();export{ze as ComposePage};
4
+ `)}problem(){let t=this.view()===`resolved`?this.config():this.files();return t?.ok===!1?t.problem:null}async copy(){let t=this.body();if(t!==null)try{await navigator.clipboard.writeText(t),this.copyProblem.set(null),this.copied.set(!0),setTimeout(()=>this.copied.set(!1),1500)}catch(e){this.copyProblem.set(this.t().copyFailed(eH(e)))}}async load(t){this.files.set(null),this.config.set(null),this.copied.set(!1),this.copyProblem.set(null),this.view.set(`raw`);let[e,i]=await Promise.all([window.electron.compose.files(t).catch(o=>({ok:!1,problem:eH(o)})),window.electron.compose.config(t).catch(o=>({ok:!1,problem:eH(o)}))]);this.files.set(e),this.config.set(i)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-compose-file-dialog`]],inputs:{open:[1,`open`],project:[1,`project`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`compose-file-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-4xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-3`,`flex`,`shrink-0`,`gap-1`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`border-accent`,`text-accent`],[`data-testid`,`compose-file-text`,1,`mt-3`,`min-h-0`,`flex-1`,`overflow-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-900`,`p-3`,`font-mono`,`text-[12px]`,`leading-relaxed`,`whitespace-pre`,`text-ink-200`],[1,`mt-4`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`flex`,`items-center`,`justify-end`,`gap-2`],[1,`mr-auto`,`text-[12px]`,`text-danger`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`compose-file-copy`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[3,`name`,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`]],template:function(e,i){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(s){return vk(i.open,s)||(i.open=s),s}),$m(1,et,21,10,`ng-template`,1),Nc()),e&2&&hg(`open`,i.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function tt(n,t){if(n&1&&(qr(0,`p`,1),pk(1),Wr()),n&2){let e=HE();ec(),fg(e.t().done(e.service()))}}function nt(n,t){if(n&1&&(qr(0,`p`,2),pk(1),Wr()),n&2){let e=HE();ec(),fg(e.problem())}}function it(n,t){if(n&1&&(qr(0,`details`,3)(1,`summary`,4),pk(2),Wr(),qr(3,`pre`,5),pk(4),Wr()()),n&2){let e=HE();Qm(`open`,!e.result().ok),ec(2),fg(e.t().output),ec(2),fg(e.result().output)}}function ot(n,t){if(n&1&&Gm(0,`app-build-output`,2),n&2)Wm(`service`,HE().service())(`result`,t)}var G;var L;var _e=p(()=>{Qr();lS();sS();dS();Qr();G=class n{service=jc.required();result=jc.required();t=Ot$1(()=>oS().compose.build);problem(){let t=this.result();return t.ok?``:t.problem}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-build-output`]],hostAttrs:[1,`block`],inputs:{service:[1,`service`],result:[1,`result`]},decls:4,vars:3,consts:[[1,`text-[12px]`],[1,`text-ok`],[1,`whitespace-pre-line`,`text-danger`],[1,`mt-1`,3,`open`],[1,`cursor-pointer`,`text-ink-400`,`hover:text-ink-200`],[1,`mt-1`,`max-h-64`,`overflow-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-900`,`p-2`,`font-mono`,`text-[11px]`,`leading-snug`,`whitespace-pre-wrap`,`text-ink-300`]],template:function(e,i){e&1&&(qr(0,`div`,0),kE(1,tt,2,1,`p`,1)(2,nt,2,1,`p`,2),kE(3,it,5,3,`details`,3),Wr()),e&2&&(Br(`data-testid`,`service-build-result-`+i.service()),ec(),SE(i.result().ok?1:2),ec(2),SE(i.result().output!==``?3:-1))},encapsulation:2})},L=class n{project=jc.required();service=jc.required();disabled=jc(!1);showResult=jc(!0);finished=fj();t=Ot$1(()=>oS().compose.build);busy=wt$1(!1);result=wt$1(null);async build(){this.busy.set(!0),this.result.set(null);let t;try{t=await window.electron.compose.rebuild(this.project(),this.service())}catch(e){t={ok:!1,problem:eH(e),output:``}}this.result.set(t),this.busy.set(!1),this.finished.emit(t)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-service-build`]],hostAttrs:[1,`block`],inputs:{project:[1,`project`],service:[1,`service`],disabled:[1,`disabled`],showResult:[1,`showResult`]},outputs:{finished:`finished`},decls:4,vars:7,consts:[[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`,`title`],[`name`,`refresh`,3,`size`],[1,`mt-2`,3,`service`,`result`]],template:function(e,i){if(e&1&&(Oi(0,`button`,0),Jm(`click`,function(){return i.build()}),Gm(1,`app-icon`,1),pk(2),Nc(),kE(3,ot,1,2,`app-build-output`,2)),e&2){let o;Wm(`disabled`,i.busy()||i.disabled())(`title`,i.t().title),Br(`aria-label`,i.t().aria(i.service()))(`data-testid`,`service-build-`+i.service()),ec(),Wm(`size`,14),ec(),xc(` `,i.busy()?i.t().busy:i.t().button,` `),ec(),SE((o=i.showResult()&&i.result())?3:-1,o)}},dependencies:[My,G],encapsulation:2})}});function lt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().loading)}}function dt(n,t){if(n&1&&(Oi(0,`li`,14),Gm(1,`app-icon`,16),Oi(2,`span`,17),pk(3),Nc(),Oi(4,`span`,18),pk(5),Nc(),Oi(6,`span`,19),pk(7),Nc()()),n&2){let e=t.$implicit,i=HE(3);ec(),nk(i.iconClass(e)),Wm(`name`,i.iconOf(e))(`size`,13),ec(),Wm(`title`,e.reference),ec(),fg(e.reference),ec(2),fg(e.services.join(`, `)),ec(),nk(e.state===`failed`?`text-danger`:`text-ink-400`),Wm(`title`,e.problem??``),ec(),xc(` `,i.stateOf(e),` `)}}function st(n,t){if(n&1&&Gm(0,`app-service-build`,23),n&2){let e=HE().$implicit,i=HE(3);Wm(`project`,i.project())(`service`,e.service)(`disabled`,!i.finished())}}function pt(n,t){if(n&1&&(Oi(0,`li`,15)(1,`div`,14),Gm(2,`app-icon`,20),Oi(3,`span`,21),pk(4),Nc(),Oi(5,`span`,22),pk(6),Nc()(),kE(7,st,1,3,`app-service-build`,23),Nc()),n&2){let e=t.$implicit,i=HE(3);ec(2),Wm(`size`,13),ec(2),fg(e.service),ec(2),fg(e.reason===`build`?i.t().skippedBuild:i.t().skippedDigest),ec(),SE(e.reason===`build`?7:-1)}}function ct(n,t){if(n&1&&(Oi(0,`ul`,8),Sc(1,dt,8,11,`li`,14,at),Sc(3,pt,8,4,`li`,15,rt),Nc()),n&2){let e=HE(2);ec(),Tc(e.rows()),ec(2),Tc(e.skipped())}}function mt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().noImages)}}function ut(n,t){n&1&&(Oi(0,`p`,9),pk(1),Nc()),n&2&&(ec(),fg(t))}function gt(n,t){if(n&1&&(Oi(0,`p`,7),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().checking)}}function _t(n,t){if(n&1&&(Oi(0,`p`,24),Gm(1,`app-icon`,25),pk(2),Nc()),n&2){let e=HE(3);ec(),Wm(`size`,13),ec(),xc(` `,e.t().upToDate)}}function xt(n,t){if(n&1&&(Oi(0,`p`,28),pk(1),Nc()),n&2){let e=HE(),i=HE(4);ec(),fg(i.t().renewed(e.renewed.join(`, `)))}}function ft(n,t){if(n&1&&(Oi(0,`p`,29),pk(1),Nc()),n&2){let e=HE(),i=HE(4);ec(),fg(i.t().unchanged(e.unchanged.join(`, `)))}}function yt(n,t){if(n&1&&(Oi(0,`p`,30),pk(1),Nc()),n&2){let e=t.$implicit;ec(),fg(e)}}function bt(n,t){if(n&1&&(kE(0,xt,2,1,`p`,28),kE(1,ft,2,1,`p`,29),Sc(2,yt,2,1,`p`,30,kc)),n&2){let e=t;SE(e.renewed.length>0?0:-1),ec(),SE(e.unchanged.length>0?1:-1),ec(),Tc(e.problems)}}function vt(n,t){if(n&1){let e=_E();Oi(0,`div`,27)(1,`button`,31),Jm(`click`,function(){Ld(e);return Od(HE(4).renew())}),Gm(2,`app-icon`,32),pk(3),Nc(),Oi(4,`span`,33),pk(5),Nc()()}if(n&2){let e=HE(4);ec(),Wm(`disabled`,e.phase()===`renewing`),ec(),Wm(`size`,14),ec(),xc(` `,e.phase()===`renewing`?e.t().renewing:e.t().renew,` `),ec(2),fg(e.t().renewHint)}}function ht(n,t){if(n&1&&(Oi(0,`p`,26),pk(1),Nc(),kE(2,bt,4,2)(3,vt,6,4,`div`,27)),n&2){let e,i=HE(),o=HE(2);ec(),fg(o.t().stale(i.join(`, `))),ec(),SE((e=o.result())?2:3,e)}}function Ct(n,t){n&1&&(Oi(0,`div`,10),kE(1,_t,3,2,`p`,24)(2,ht,4,2),Nc()),n&2&&(ec(),SE(t.length===0?1:2))}function wt(n,t){if(n&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),pk(4),Nc(),Oi(5,`p`,6),pk(6),Nc(),kE(7,lt,2,1,`p`,7),kE(8,ct,5,0,`ul`,8)(9,mt,2,1,`p`,7),kE(10,ut,2,1,`p`,9),kE(11,gt,2,1,`p`,7),kE(12,Ct,3,1,`div`,10),Oi(13,`div`,11)(14,`button`,12),Gm(15,`app-icon`,13),pk(16),Nc()()()()),n&2){let e,i,o=HE();ec(4),fg(o.t().title(o.project())),ec(2),fg(o.t().description),ec(),SE(o.phase()===`loading`?7:-1),ec(),SE(o.rows().length>0||o.skipped().length>0?8:o.phase()!==`loading`&&o.phase()!==`failed`?9:-1),ec(2),SE((e=o.problem())?10:-1,e),ec(),SE(o.phase()===`checking`?11:-1),ec(),SE((i=o.stale())?12:-1,i),ec(3),Wm(`size`,14),ec(),xc(` `,o.finished()?o.common().close:o.common().cancel,` `)}}function Dt(n){let t=n.layers.reduce((e,i)=>e+i.total,0);return t===0?null:Math.round(n.layers.reduce((e,i)=>e+i.current,0)/t*100)}var at;var rt;var pe;var Oe=p(()=>{Qr();Je$1();lS();sS();dS();_e();Qr();at=(n,t)=>t.reference,rt=(n,t)=>t.service;pe=class n{open=mj(!1);project=jc.required();t=Ot$1(()=>oS().compose.update);common=Ot$1(()=>oS().common);phase=wt$1(`loading`);rows=wt$1([]);skipped=wt$1([]);stale=wt$1(null);result=wt$1(null);problem=wt$1(null);finished=Ot$1(()=>[`ready`,`done`,`failed`].includes(this.phase()));round=0;stopPull=null;constructor(){C(ve).onDestroy(()=>this.cancel()),rp(()=>{let t=this.open(),e=this.project();Tg(()=>{t?this.start(e):this.cancel()})})}stateOf(t){let e=this.t();switch(t.state){case`waiting`:return e.waiting;case`pulling`:return t.percent===null?e.pulling:`${e.pulling} ${String(t.percent)}%`;case`done`:return e.pulled;case`failed`:return e.failed(t.problem??``)}}iconOf(t){return t.state===`done`?`check`:t.state===`failed`?`warning`:`download`}iconClass(t){return t.state===`done`?`text-ok`:t.state===`failed`?`text-danger`:t.state===`pulling`?`text-accent`:`text-ink-500`}cancel(){this.round+=1,this.stopPull?.(),this.stopPull=null}async start(t){this.cancel();let e=this.round,i=()=>e===this.round;this.phase.set(`loading`),this.rows.set([]),this.skipped.set([]),this.stale.set(null),this.result.set(null),this.problem.set(null);try{let o=await window.electron.compose.images(t);if(!i())return;this.rows.set(o.images.map(u=>G$1(W({},u),{state:`waiting`,percent:null,problem:null}))),this.skipped.set(o.skipped),this.phase.set(`pulling`);for(let u of o.images)if(await this.pull(u.reference,i),!i())return;this.phase.set(`checking`);let s=await window.electron.compose.stale(t);i()&&(this.stale.set(s),this.phase.set(`ready`))}catch(o){i()&&(this.problem.set(eH(o)),this.phase.set(`failed`))}}async pull(t,e){let i=s=>{e()&&this.rows.update(u=>u.map(R=>R.reference===t?W(W({},R),s):R))};i({state:`pulling`});let o=await window.electron.images.pull(t);if(!o.ok){i({state:`failed`,problem:o.problem});return}await new Promise(s=>{let u=window.electron.images.onPullProgress(o.streamId,q=>{if(!q.done){i({percent:Dt(q)});return}i(q.problem===null?{state:`done`,percent:null}:{state:`failed`,problem:q.problem}),R()}),R=()=>{u(),window.electron.images.close(o.streamId),this.stopPull=null,s()};this.stopPull=R})}async renew(){let t=this.round;this.phase.set(`renewing`);try{let e=await window.electron.compose.renew(this.project());t===this.round&&(this.result.set(e),this.phase.set(`done`))}catch(e){t===this.round&&(this.result.set({renewed:[],unchanged:[],problems:[eH(e)]}),this.phase.set(`done`))}}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-project-update-dialog`]],inputs:{open:[1,`open`],project:[1,`project`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`project-update`,1,`w-full`,`max-w-2xl`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[`data-testid`,`project-update-images`,1,`mt-4`,`space-y-1.5`,`text-[13px]`],[1,`mt-4`,`text-[13px]`,`text-danger`],[`data-testid`,`project-update-stale`,1,`mt-4`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-2.5`,`text-[13px]`],[1,`mt-5`,`flex`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[1,`text-ink-500`],[3,`name`,`size`],[1,`min-w-0`,`truncate`,`font-mono`,`text-ink-100`,3,`title`],[1,`min-w-0`,`truncate`,`text-ink-500`],[1,`ml-auto`,`shrink-0`,`text-[12px]`,3,`title`],[`name`,`code`,3,`size`],[1,`font-mono`],[1,`ml-auto`,`text-[12px]`],[1,`mt-1.5`,`ml-6`,3,`project`,`service`,`disabled`],[1,`flex`,`items-center`,`gap-2`,`text-ink-300`],[`name`,`check`,1,`text-ok`,3,`size`],[1,`text-ink-200`],[1,`mt-2.5`,`flex`,`items-center`,`gap-3`],[1,`mt-2`,`text-ok`],[1,`mt-1`,`text-ink-400`],[1,`mt-2`,`text-danger`],[`type`,`button`,`data-testid`,`project-update-renew`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`refresh`,3,`size`],[1,`text-[12px]`,`text-ink-500`]],template:function(e,i){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(s){return vk(i.open,s)||(i.open=s),s}),$m(1,wt,17,9,`ng-template`,1),Nc()),e&2&&hg(`open`,i.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My,L],encapsulation:2})}});function St(n,t){if(n&1&&(Oi(0,`div`,7),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.version)}}function Et(n,t){if(n&1&&(Oi(0,`div`,16),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.problem)}}function Mt(n,t){n&1&&kE(0,St,2,1,`div`,7)(1,Et,2,1,`div`,16),n&2&&SE(t.cliAvailable?0:1)}function Tt(n,t){if(n&1&&(Oi(0,`div`,7),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.t().updating)}}function It(n,t){if(n&1&&(Oi(0,`span`,23),pk(1),Nc()),n&2){let e=t;Wm(`title`,e),ec(),fg(e)}}function Rt(n,t){if(n&1&&(Oi(0,`div`,26),pk(1),Nc()),n&2){let e=HE(2);ec(),fg(e.t().busy)}}function Ft(n,t){if(n&1&&(Oi(0,`div`,27),Gm(1,`app-icon`,30),pk(2),Nc()),n&2){let e=HE().$implicit,i=HE();Br(`data-testid`,`compose-missing-`+e.name),ec(),Wm(`size`,12),ec(),xc(` `,i.t().missing,` `)}}function Nt(n,t){if(n&1&&(Oi(0,`div`,31),Gm(1,`app-icon`,32),pk(2),Nc()),n&2){let e=t,i=HE().$implicit,o=HE();nk(e.problem?`text-danger`:`text-accent`),Wm(`title`,e.problem?``:o.t().driftTitle),Br(`data-testid`,`compose-drift-`+i.name),ec(),Wm(`name`,e.problem?`warning`:`file`)(`size`,12),ec(),xc(` `,e.text,` `)}}function Bt(n,t){if(n&1&&(Oi(0,`span`,36),pk(1),Nc()),n&2){let e=HE().$implicit,i=HE(2).$implicit,o=HE();Wm(`title`,o.t().driftTitle),Br(`data-testid`,`compose-drift-`+i.name+`-`+e.name),ec(),fg(o.t().drift)}}function Ot(n,t){if(n&1){let e=_E();Oi(0,`app-service-build`,42),Jm(`finished`,function(o){Ld(e);let s=HE().$implicit,u=HE(2).$implicit;return Od(HE().afterBuild(u.name,s.name,o))}),Nc()}if(n&2){let e=HE().$implicit,i=HE(2).$implicit,o=bk(0);Wm(`project`,i.name)(`service`,e.name)(`disabled`,o)(`showResult`,!1)}}function zt(n,t){if(n&1&&Gm(0,`app-build-output`,40),n&2){let e=HE().$implicit;Wm(`service`,e.name)(`result`,t)}}function $t(n,t){if(n&1&&(Oi(0,`span`,46),pk(1),Nc()),n&2){let e=t.$implicit;ec(),xc(` `,e.hostPort?e.hostPort+`:`+e.containerPort:e.containerPort,` `)}}function Vt(n,t){if(n&1&&(Oi(0,`span`,44),Sc(1,$t,2,1,`span`,46,jt),Nc()),n&2){let e=HE().$implicit;ec(),Tc(e.ports.slice(0,2))}}function Ut(n,t){if(n&1&&(Oi(0,`div`,41),Gm(1,`app-state-dot`,20),Oi(2,`a`,43),pk(3),Nc(),Oi(4,`span`,44),pk(5),Nc(),Oi(6,`span`,45),pk(7),Nc(),kE(8,Vt,3,0,`span`,44),Nc()),n&2){let e=t.$implicit;ec(),Wm(`state`,e.state),ec(),Wm(`routerLink`,kk(6,kt,e.id)),ec(),fg(e.name),ec(2),fg(e.status),ec(2),fg(e.image),ec(),SE(e.ports.length>0?8:-1)}}function Lt(n,t){if(n&1){let e=_E();Oi(0,`div`,33)(1,`div`,34)(2,`div`,35),pk(3),Nc(),kE(4,Bt,2,3,`span`,36),kE(5,Ot,1,4,`app-service-build`,37),Oi(6,`button`,38),Jm(`click`,function(){let o=Ld(e).$implicit,s=HE(2).$implicit;return Od(HE().recreate(s,o))}),Gm(7,`app-icon`,39),pk(8),Nc()(),kE(9,zt,1,2,`app-build-output`,40),Sc(10,Ut,9,8,`div`,41,Pt),Nc()}if(n&2){let e,i=t.$implicit,o=HE(2).$implicit,s=bk(0),u=HE();ec(3),fg(i.name),ec(),SE(u.drifted(o.name,i.name)?4:-1),ec(),SE(u.canBuild(o.name,i.name)?5:-1),ec(),ag(`ml-auto`,!u.canBuild(o.name,i.name)),Wm(`disabled`,s||!u.canCompose(o))(`title`,u.canCompose(o)?u.t().recreateTitle:u.composeBlockedReason(o)),Br(`data-testid`,`compose-recreate-`+i.name)(`aria-label`,u.t().recreateAria(i.name)),ec(),Wm(`size`,14),ec(),xc(` `,u.t().recreate,` `),ec(),SE((e=u.buildResult(o.name,i.name))?9:-1,e),ec(),Tc(i.containers)}}function Wt(n,t){if(n&1&&(Oi(0,`div`,29),Sc(1,Lt,12,12,`div`,33,$e),Nc()),n&2){let e=HE().$implicit;ec(),Tc(e.services)}}function At(n,t){if(n&1){let e=_E();bg(0),Oi(1,`div`,12)(2,`div`,17)(3,`button`,18),Jm(`click`,function(){let o=Ld(e).$implicit;return Od(HE().toggle(o.name))}),Gm(4,`app-icon`,19)(5,`app-state-dot`,20),Oi(6,`span`,21),pk(7),Nc()(),Oi(8,`span`,22),pk(9),Nc(),kE(10,It,2,2,`span`,23),Oi(11,`div`,24)(12,`app-action-menu`,25),Jm(`picked`,function(o){let s=Ld(e).$implicit;return Od(HE().onProjectMenu(o,s))}),Nc()()(),kE(13,Rt,2,1,`div`,26),kE(14,Ft,3,3,`div`,27),kE(15,Nt,3,7,`div`,28),kE(16,Wt,3,0,`div`,29),Nc()}if(n&2){let e,i,o=t.$implicit,s=HE(),u=yk(s.busy(o));ec(3),Br(`aria-expanded`,s.isExpanded(o.name))(`aria-label`,s.isExpanded(o.name)?s.t().collapse(o.name):s.t().expand(o.name)),ec(),Wm(`name`,s.isExpanded(o.name)?`chevronDown`:`chevronRight`)(`size`,14),ec(),Wm(`state`,o.state),ec(2),fg(o.name),ec(2),mg(` `,s.projectLabelOf(o.state),` · `,o.state===`down`?s.t().notStarted:s.t().runningOf(o.running,o.total),` `),ec(),SE((e=o.workingDir)?10:-1,e),ec(2),Wm(`label`,s.t().menuAria(o.name))(`items`,s.projectMenu(o)),ec(),SE(u?13:-1),ec(),SE(o.missing?14:-1),ec(),SE((i=s.driftNote(o.name))?15:-1,i),ec(),SE(s.isExpanded(o.name)?16:-1)}}function Gt(n,t){if(n&1&&(Oi(0,`p`,13),pk(1),Nc()),n&2){let e=HE();ec(),fg(e.t().empty)}}var kt;var $e;var Pt;var jt;var ze;p(()=>{Qr();ia();C$1();g();v();sS();J();dS();x();b();Be();Oe();_e();G$2();o();Qr();kt=n=>[`/containers`,n],$e=(n,t)=>t.name,Pt=(n,t)=>t.id,jt=(n,t)=>t.containerPort;ze=class n{containers=C(u);compose=C(p$1);t=Ot$1(()=>oS().compose);common=Ot$1(()=>oS().common);loading=this.containers.loading;problem=this.containers.problem;composePending=this.compose.pending;containerPending=this.containers.pending;status=this.compose.status;projects=Ot$1(()=>w(j(this.containers.containers()),this.compose.known()));opening=this.compose.opening;expanded=wt$1(new Set);confirmOpen=wt$1(!1);fileOpen=wt$1(!1);fileProject=wt$1(``);pendingDown=wt$1(null);updateOpen=wt$1(!1);drift=wt$1(new Map);buildable=wt$1(new Map);buildResults=wt$1(new Map);projectKey=Ot$1(()=>this.projects().filter(t=>t.workingDir!==null&&t.state!==`down`).map(t=>t.name).join(`
5
+ `));updateProject=wt$1(``);bestand=jc(void 0);afbreken=jc(void 0);bijwerken=jc(void 0);openen=jc(void 0);router=C(pe$1);route=C(Q);constructor(){this.containers.refresh(),this.compose.loadStatus(),this.compose.loadKnown(),rp(()=>{let t=this.bestand();t!==void 0&&Tg(()=>{this.fileProject.set(t),this.fileOpen.set(!0),i(this.router,this.route,`bestand`)})}),rp(()=>{let t=this.projectKey(),e=this.status()?.cliAvailable;t!==``&&e===!0&&Tg(()=>t.split(`
6
+ `).forEach(i=>{this.checkDrift(i),this.loadBuildable(i)}))}),rp(()=>{let t=this.bijwerken();t!==void 0&&Tg(()=>{this.openUpdate(t),i(this.router,this.route,`bijwerken`)})}),rp(()=>{this.openen()!==void 0&&Tg(()=>{i(this.router,this.route,`openen`),this.openComposeFile()})}),rp(()=>{let t=this.afbreken();t!==void 0&&Tg(()=>{this.pendingDown.set(t),this.confirmOpen.set(!0),i(this.router,this.route,`afbreken`)})})}isExpanded(t){return this.expanded().has(t)}toggle(t){let e=new Set(this.expanded());e.delete(t)||e.add(t),this.expanded.set(e)}openComposeFile(){this.compose.openFile()}projectLabelOf(t){return this.t().state[t]}busy(t){return this.composePending().has(t.name)||t.containerIds.some(e=>this.containerPending().has(e))}composeBlockedReason(t){let e=this.status();return e!==null&&!e.cliAvailable?this.t().noCli:t.workingDir===null?this.t().noWorkingDir:t.missing?this.t().missing:``}canCompose(t){return this.composeBlockedReason(t)===``}run(t,e){this.containers.runMany(t,e.containerIds)}up(t){this.compose.up(t.name)}projectMenu(t){let e=this.t(),i=this.common(),o=this.busy(t),s=this.canCompose(t),u=s?void 0:this.composeBlockedReason(t);return t.state===`down`?[{id:`up`,label:e.up,icon:`plus`,disabled:o||!s,hint:u??`docker compose up -d`},{id:`file`,label:e.file.button,icon:`file`,disabled:t.missing,separated:!0},{id:`forget`,label:e.forget,icon:`eraser`,disabled:o,hint:e.forgetHint,separated:!0}]:[{id:`up`,label:e.up,icon:`plus`,disabled:o||!s,hint:u??`docker compose up -d`},{id:`start`,label:i.start,icon:`play`,disabled:o},{id:`stop`,label:i.stop,icon:`stop`,disabled:o},{id:`restart`,label:i.restart,icon:`refresh`,disabled:o},{id:`update`,label:e.update.menu,icon:`download`,disabled:o||!s,hint:u??e.update.hint},{id:`file`,label:e.file.button,icon:`file`,disabled:t.workingDir===null,separated:!0},{id:`down`,label:e.down,icon:`trash`,danger:!0,disabled:o||!s,hint:u??`docker compose down`,separated:!0}]}onProjectMenu(t,e){t===`up`?this.up(e):t===`update`?this.openUpdate(e.name):t===`file`?this.openFile(e):t===`down`?this.askDown(e):t===`forget`?this.compose.forget(e.name):this.run(t,e)}recreate(t,e){this.compose.recreate(t.name,e.name).then(()=>this.checkDrift(t.name))}async checkDrift(t){try{let e=await window.electron.compose.drift(t);this.drift.update(i=>new Map(i).set(t,e))}catch{}}async loadBuildable(t){try{let e=await window.electron.compose.buildable(t);this.buildable.update(i=>new Map(i).set(t,e))}catch{}}canBuild(t,e){return this.buildable().get(t)?.includes(e)===!0}afterBuild(t,e,i){this.buildResults.update(o=>new Map(o).set(`${t}/${e}`,i)),this.checkDrift(t)}buildResult(t,e){return this.buildResults().get(`${t}/${e}`)??null}drifted(t,e){let i=this.drift().get(t);return i?.ok===!0&&i.changed.includes(e)}driftNote(t){let e=this.drift().get(t);return e===void 0?null:e.ok?e.changed.length===0?null:{text:this.t().driftProject(e.changed.join(`, `)),problem:!1}:{text:this.t().driftProblem(e.problem),problem:!0}}openUpdate(t){this.updateProject.set(t),this.updateOpen.set(!0)}openFile(t){this.fileProject.set(t.name),this.fileOpen.set(!0)}askDown(t){this.pendingDown.set(t.name),this.confirmOpen.set(!0)}confirmDown(){let t=this.pendingDown();t!==null&&(this.compose.down(t),this.pendingDown.set(null))}downDescription(){let t=this.pendingDown();return t===null?``:this.t().downDialog.description(t)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-compose-page`]],inputs:{bestand:[1,`bestand`],afbreken:[1,`afbreken`],bijwerken:[1,`bijwerken`],openen:[1,`openen`]},decls:23,vars:18,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`flex`,`flex-wrap`,`items-start`,`gap-4`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-1`,`max-w-prose`,`text-[13px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`items-start`,`gap-4`],[1,`text-right`],[1,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`compose-open-file`,1,`mx-btn`,`mx-focus`,`shrink-0`,3,`click`,`disabled`,`title`],[`name`,`file`,3,`size`],[3,`problem`],[1,`min-h-0`,`flex-1`,`space-y-3`,`overflow-y-auto`,`px-6`,`pb-6`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`],[1,`py-10`,`text-center`,`text-[13px]`,`text-ink-400`],[3,`openChange`,`open`,`project`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`],[1,`max-w-xs`,`text-[12px]`,`text-warn`],[1,`flex`,`flex-wrap`,`items-center`,`gap-3`,`px-3`,`py-2.5`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[3,`state`],[1,`truncate`,`text-[14px]`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`min-w-0`,`truncate`,`font-mono`,`text-[11px]`,`text-ink-500`,3,`title`],[1,`ml-auto`,`shrink-0`],[`compact`,``,3,`picked`,`label`,`items`],[1,`px-3`,`pb-2`,`text-[12px]`,`text-ink-500`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,`text-warn`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,3,`class`,`title`],[1,`border-t`,`border-ink-800`],[`name`,`warning`,3,`size`],[1,`flex`,`items-center`,`gap-1.5`,`px-3`,`pb-2`,`text-[12px]`,3,`title`],[3,`name`,`size`],[1,`border-b`,`border-ink-800`,`px-3`,`py-2`,`last:border-b-0`],[1,`flex`,`items-center`,`gap-3`],[1,`text-[12px]`,`font-medium`,`text-ink-300`],[1,`text-[11px]`,`text-accent`,3,`title`],[1,`ml-auto`,3,`project`,`service`,`disabled`,`showResult`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`,`title`],[`name`,`refresh`,3,`size`],[1,`mt-1.5`,`mb-1`,3,`service`,`result`],[1,`mt-1`,`flex`,`flex-wrap`,`items-center`,`gap-3`,`pl-3`,`text-[13px]`],[1,`ml-auto`,3,`finished`,`project`,`service`,`disabled`,`showResult`],[1,`mx-focus`,`min-w-0`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`],[1,`shrink-0`,`text-ink-500`],[1,`min-w-0`,`truncate`,`text-ink-400`],[1,`mr-2`]],template:function(e,i){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),pk(5),Nc(),Oi(6,`p`,4),pk(7),Nc()(),Oi(8,`div`,5)(9,`div`,6),kE(10,Mt,2,1),kE(11,Tt,2,1,`div`,7),Nc(),Oi(12,`button`,8),Jm(`click`,function(){return i.openComposeFile()}),Gm(13,`app-icon`,9),pk(14),Nc()()(),Gm(15,`app-page-messages`,10),Nc(),Oi(16,`div`,11),Sc(17,At,17,16,`div`,12,$e,!1,Gt,2,1,`p`,13),Nc()(),Oi(20,`app-compose-file-dialog`,14),vg(`openChange`,function(s){return vk(i.fileOpen,s)||(i.fileOpen=s),s}),Nc(),Oi(21,`app-project-update-dialog`,14),vg(`openChange`,function(s){return vk(i.updateOpen,s)||(i.updateOpen=s),s}),Nc(),Oi(22,`app-confirm-dialog`,15),vg(`openChange`,function(s){return vk(i.confirmOpen,s)||(i.confirmOpen=s),s}),Jm(`confirmed`,function(){return i.confirmDown()}),Nc()),e&2){let o;ec(5),fg(i.t().title),ec(2),fg(i.t().intro),ec(3),SE((o=i.status())?10:-1,o),ec(),SE(i.loading()?11:-1),ec(),Wm(`disabled`,i.opening()||i.status()?.cliAvailable===!1)(`title`,i.t().openHint),ec(),Wm(`size`,14),ec(),xc(` `,i.opening()?i.t().opening:i.t().openFile,` `),ec(),Wm(`problem`,i.problem()),ec(2),Tc(i.projects()),ec(3),hg(`open`,i.fileOpen),Wm(`project`,i.fileProject()),ec(),hg(`open`,i.updateOpen),Wm(`project`,i.updateProject()),ec(),hg(`open`,i.confirmOpen),Wm(`title`,i.t().downDialog.title)(`description`,i.downDescription())(`confirmLabel`,i.t().downDialog.confirm)}},dependencies:[Yt,My,W$1,u$1,c,se,pe,L,G,V],encapsulation:2})}})();export{ze as ComposePage};
@@ -1,5 +1,5 @@
1
- import{$n as sS,A as HE,B as Kr,D as Gm,En as kE,Gt as _m,H as Ld,Hn as p,K as My,Kn as pk,Pt as Wm,R as Jm,Rn as oS,Wt as _k,_r as wt,cn as ec,et as Od,hr as wc,ht as Sc,in as dS,kn as kk,l as BE,mt as SE,o as Ac,q as Nc,rt as Ot,t as $E,tt as Oi,u as Br,un as fg,ut as Qm,wn as jc,xt as Tc,yt as TE}from"./chunk-u0OAgv4f.js";import{i as Ie,o as Ne}from"./chunk-C3u9Hm0s.js";function $(e){let n=[],t=0;for(let i of e.matchAll(ie))i.index>t&&n.push({kind:`text`,text:e.slice(t,i.index)}),n.push(i[1]===void 0?{kind:`bold`,text:i[2]??i[3]??``}:{kind:`code`,text:i[1]}),t=i.index+i[0].length;return t<e.length&&n.push({kind:`text`,text:e.slice(t)}),n}function Q(e){let n=e.replace(/\r\n?/g,`
1
+ import{$ as Od,Cn as jc,D as HE,F as Jm,G as My,Gn as pk,K as Nc,Ln as oS,On as kk,Qn as sS,R as Km,Tn as kE,V as Ld,Vn as p,Vt as _E,_r as xc,ct as Qr,dt as SE,et as Oi,ft as Sc,gr as wt,gt as TE,jt as Wm,ln as fg,mr as wc,n as $m,nt as Ot,o as BE,rn as dS,s as Br,sn as ec,t as $k,vt as Tc,w as Gm}from"./chunk-Bk32Rk5p.js";import{i as Ie,o as Ne}from"./chunk-FM5_LSb4.js";function $(e){let n=[],t=0;for(let i of e.matchAll(ie))i.index>t&&n.push({kind:`text`,text:e.slice(t,i.index)}),n.push(i[1]===void 0?{kind:`bold`,text:i[2]??i[3]??``}:{kind:`code`,text:i[1]}),t=i.index+i[0].length;return t<e.length&&n.push({kind:`text`,text:e.slice(t)}),n}function Q(e){let n=e.replace(/\r\n?/g,`
2
2
  `).split(`
3
3
  `),t=[],i=[],o=null,a=()=>{i.length>0&&(t.push({kind:`paragraph`,inlines:$(i.join(`
4
4
  `))}),i=[]),o!==null&&(t.push({kind:`list`,ordered:o.ordered,items:o.items.map($)}),o=null)};for(let p=0;p<n.length;p+=1){let d=n[p]??``,v=ee.exec(d);if(v!==null){a();let b=v[1]??"```",N=[];for(p+=1;p<n.length&&!oe(n[p]??``,b);)N.push(n[p]??``),p+=1;t.push({kind:`code`,language:v[2]??``,text:N.join(`
5
- `)});continue}if(d.trim()===``){a();continue}let E=te.exec(d);if(E!==null){a(),t.push({kind:`heading`,inlines:$(E[1]??``)});continue}let F=ne.exec(d);if(F!==null){let b=/\d/.test(F[1]??``);(i.length>0||o!==null&&o.ordered!==b)&&a(),o??={ordered:b,items:[]},o.items.push(F[2]??``);continue}if(o!==null&&/^\s/.test(d)&&o.items.length>0){o.items[o.items.length-1]+=` ${d.trim()}`;continue}o!==null&&a(),i.push(d)}return a(),t}function oe(e,n){let t=e.trim();return t.length>=n.length&&[...t].every(i=>i===n[0])}var ee;var te;var ne;var ie;var U=p(()=>{ee=/^ {0,3}(`{3,}|~{3,})\s*([\w+#.-]*)\s*$/,te=/^ {0,3}#{1,6}\s+(.*?)\s*#*\s*$/,ne=/^ {0,3}([-*+]|\d{1,3}[.)])\s+(.*)$/,ie=/`([^`\n]+)`|\*\*([^*\n]+?)\*\*|__([^_\n]+?)__/g});function re(e,n){if(e&1&&(Oi(0,`strong`,1),pk(1),Nc()),e&2){let t=HE().$implicit;ec(),fg(t.text)}}function ae(e,n){if(e&1&&(Oi(0,`code`,2),pk(1),Nc()),e&2){let t=HE().$implicit;ec(),fg(t.text)}}function le(e,n){if(e&1&&pk(0),e&2){let t=HE().$implicit;Ac(` `,t.text,` `)}}function ce(e,n){if(e&1&&kE(0,re,2,1,`strong`,1)(1,ae,2,1,`code`,2)(2,le,1,1),e&2){let t,i=n.$implicit;SE((t=i.kind)===`bold`?0:t===`code`?1:2)}}function se(e,n){if(e&1&&Sc(0,ce,3,1,null,null,TE),e&2){let t=n.$implicit;Tc(t)}}function pe(e,n){e&1&&Qm(0)}function de(e,n){if(e&1&&(Oi(0,`p`,3),_m(1,pe,1,0,`ng-container`,5),Nc()),e&2){let t=HE().$implicit;HE();let i=BE(1);ec(),Wm(`ngTemplateOutlet`,i)(`ngTemplateOutletContext`,kk(2,I,t.inlines))}}function me(e,n){e&1&&Qm(0)}function _e(e,n){if(e&1&&(Oi(0,`p`,1),_m(1,me,1,0,`ng-container`,5),Nc()),e&2){let t=HE().$implicit;HE();let i=BE(1);ec(),Wm(`ngTemplateOutlet`,i)(`ngTemplateOutletContext`,kk(2,I,t.inlines))}}function xe(e,n){e&1&&Qm(0)}function ue(e,n){if(e&1&&(Oi(0,`li`),_m(1,xe,1,0,`ng-container`,5),Nc()),e&2){let t=n.$implicit,i=HE(4),o=BE(1);ec(),Wm(`ngTemplateOutlet`,o)(`ngTemplateOutletContext`,kk(2,I,i.asInlines(t)))}}function ye(e,n){if(e&1&&(Oi(0,`ol`,6),Sc(1,ue,2,4,`li`,null,TE),Nc()),e&2){let t=HE(2).$implicit;ec(),Tc(t.items)}}function ge(e,n){e&1&&Qm(0)}function fe(e,n){if(e&1&&(Oi(0,`li`),_m(1,ge,1,0,`ng-container`,5),Nc()),e&2){let t=n.$implicit,i=HE(4),o=BE(1);ec(),Wm(`ngTemplateOutlet`,o)(`ngTemplateOutletContext`,kk(2,I,i.asInlines(t)))}}function Ce(e,n){if(e&1&&(Oi(0,`ul`,7),Sc(1,fe,2,4,`li`,null,TE),Nc()),e&2){let t=HE(2).$implicit;ec(),Tc(t.items)}}function Te(e,n){if(e&1&&kE(0,ye,3,0,`ol`,6)(1,Ce,3,0,`ul`,7),e&2){let t=HE().$implicit;SE(t.ordered?0:1)}}function be(e,n){if(e&1){let t=$E();Oi(0,`div`,4)(1,`pre`,8),pk(2),Nc(),Oi(3,`button`,9),Jm(`click`,function(){Ld(t);let o=HE(),a=o.$implicit,p=o.$index;return Od(HE().copy(p,a.text))}),Gm(4,`app-icon`,10),Nc()()}if(e&2){let t=HE(),i=t.$implicit,o=t.$index,a=HE();ec(2),fg(i.text),ec(),Wm(`title`,a.copiedIndex()===o?a.common().copied:a.common().copy),Br(`aria-label`,a.copiedIndex()===o?a.common().copied:a.common().copy),ec(),Wm(`name`,a.copiedIndex()===o?`check`:`copy`)(`size`,13)}}function ke(e,n){if(e&1&&kE(0,de,2,4,`p`,3)(1,_e,2,4,`p`,1)(2,Te,2,1)(3,be,5,5,`div`,4),e&2){let t,i=n.$implicit;SE((t=i.kind)===`paragraph`?0:t===`heading`?1:t===`list`?2:t===`code`?3:-1)}}var I;var W;var he=p(()=>{Ne();Kr();U();sS();dS();Kr();I=e=>({$implicit:e});W=class e{text=jc.required();blocks=Ot(()=>Q(this.text()));common=Ot(()=>oS().common);copiedIndex=wt(null);asInlines(n){return n}async copy(n,t){try{await navigator.clipboard.writeText(t),this.copiedIndex.set(n),setTimeout(()=>this.copiedIndex.update(i=>i===n?null:i),1500)}catch{}}static ɵfac=function(t){return new(t||e)};static ɵcmp=wc({type:e,selectors:[[`app-answer-text`]],hostAttrs:[1,`block`,`space-y-2`],inputs:{text:[1,`text`]},decls:4,vars:0,consts:[[`line`,``],[1,`font-semibold`,`text-ink-100`],[1,`rounded`,`bg-ink-800`,`px-1`,`py-px`,`font-mono`,`text-[0.92em]`,`text-ink-100`],[1,`whitespace-pre-line`],[`data-testid`,`answer-code`,1,`relative`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[1,`list-decimal`,`space-y-0.5`,`pl-5`],[1,`list-disc`,`space-y-0.5`,`pl-5`],[1,`overflow-x-auto`,`rounded-md`,`bg-ink-900`,`py-1.5`,`pr-9`,`pl-2`,`font-mono`,`text-[12px]`,`leading-snug`,`text-ink-100`],[`type`,`button`,`data-testid`,`answer-copy`,1,`mx-focus`,`absolute`,`top-1`,`right-1`,`rounded`,`p-1`,`text-ink-400`,`hover:bg-ink-800`,`hover:text-ink-100`,3,`click`,`title`],[3,`name`,`size`]],template:function(t,i){t&1&&(_m(0,se,2,0,`ng-template`,null,0,_k),Sc(2,ke,4,1,null,null,TE)),t&2&&(ec(2),Tc(i.blocks()))},dependencies:[My,Ie],encapsulation:2})}});export{he as n,W as t};
5
+ `)});continue}if(d.trim()===``){a();continue}let E=te.exec(d);if(E!==null){a(),t.push({kind:`heading`,inlines:$(E[1]??``)});continue}let F=ne.exec(d);if(F!==null){let b=/\d/.test(F[1]??``);(i.length>0||o!==null&&o.ordered!==b)&&a(),o??={ordered:b,items:[]},o.items.push(F[2]??``);continue}if(o!==null&&/^\s/.test(d)&&o.items.length>0){o.items[o.items.length-1]+=` ${d.trim()}`;continue}o!==null&&a(),i.push(d)}return a(),t}function oe(e,n){let t=e.trim();return t.length>=n.length&&[...t].every(i=>i===n[0])}var ee;var te;var ne;var ie;var U=p(()=>{ee=/^ {0,3}(`{3,}|~{3,})\s*([\w+#.-]*)\s*$/,te=/^ {0,3}#{1,6}\s+(.*?)\s*#*\s*$/,ne=/^ {0,3}([-*+]|\d{1,3}[.)])\s+(.*)$/,ie=/`([^`\n]+)`|\*\*([^*\n]+?)\*\*|__([^_\n]+?)__/g});function re(e,n){if(e&1&&(Oi(0,`strong`,1),pk(1),Nc()),e&2){let t=HE().$implicit;ec(),fg(t.text)}}function ae(e,n){if(e&1&&(Oi(0,`code`,2),pk(1),Nc()),e&2){let t=HE().$implicit;ec(),fg(t.text)}}function le(e,n){if(e&1&&pk(0),e&2){let t=HE().$implicit;xc(` `,t.text,` `)}}function ce(e,n){if(e&1&&kE(0,re,2,1,`strong`,1)(1,ae,2,1,`code`,2)(2,le,1,1),e&2){let t,i=n.$implicit;SE((t=i.kind)===`bold`?0:t===`code`?1:2)}}function se(e,n){if(e&1&&Sc(0,ce,3,1,null,null,TE),e&2){let t=n.$implicit;Tc(t)}}function pe(e,n){e&1&&Km(0)}function de(e,n){if(e&1&&(Oi(0,`p`,3),$m(1,pe,1,0,`ng-container`,5),Nc()),e&2){let t=HE().$implicit;HE();let i=BE(1);ec(),Wm(`ngTemplateOutlet`,i)(`ngTemplateOutletContext`,kk(2,I,t.inlines))}}function me(e,n){e&1&&Km(0)}function _e(e,n){if(e&1&&(Oi(0,`p`,1),$m(1,me,1,0,`ng-container`,5),Nc()),e&2){let t=HE().$implicit;HE();let i=BE(1);ec(),Wm(`ngTemplateOutlet`,i)(`ngTemplateOutletContext`,kk(2,I,t.inlines))}}function xe(e,n){e&1&&Km(0)}function ue(e,n){if(e&1&&(Oi(0,`li`),$m(1,xe,1,0,`ng-container`,5),Nc()),e&2){let t=n.$implicit,i=HE(4),o=BE(1);ec(),Wm(`ngTemplateOutlet`,o)(`ngTemplateOutletContext`,kk(2,I,i.asInlines(t)))}}function ye(e,n){if(e&1&&(Oi(0,`ol`,6),Sc(1,ue,2,4,`li`,null,TE),Nc()),e&2){let t=HE(2).$implicit;ec(),Tc(t.items)}}function ge(e,n){e&1&&Km(0)}function fe(e,n){if(e&1&&(Oi(0,`li`),$m(1,ge,1,0,`ng-container`,5),Nc()),e&2){let t=n.$implicit,i=HE(4),o=BE(1);ec(),Wm(`ngTemplateOutlet`,o)(`ngTemplateOutletContext`,kk(2,I,i.asInlines(t)))}}function Ce(e,n){if(e&1&&(Oi(0,`ul`,7),Sc(1,fe,2,4,`li`,null,TE),Nc()),e&2){let t=HE(2).$implicit;ec(),Tc(t.items)}}function Te(e,n){if(e&1&&kE(0,ye,3,0,`ol`,6)(1,Ce,3,0,`ul`,7),e&2){let t=HE().$implicit;SE(t.ordered?0:1)}}function be(e,n){if(e&1){let t=_E();Oi(0,`div`,4)(1,`pre`,8),pk(2),Nc(),Oi(3,`button`,9),Jm(`click`,function(){Ld(t);let o=HE(),a=o.$implicit,p=o.$index;return Od(HE().copy(p,a.text))}),Gm(4,`app-icon`,10),Nc()()}if(e&2){let t=HE(),i=t.$implicit,o=t.$index,a=HE();ec(2),fg(i.text),ec(),Wm(`title`,a.copiedIndex()===o?a.common().copied:a.common().copy),Br(`aria-label`,a.copiedIndex()===o?a.common().copied:a.common().copy),ec(),Wm(`name`,a.copiedIndex()===o?`check`:`copy`)(`size`,13)}}function ke(e,n){if(e&1&&kE(0,de,2,4,`p`,3)(1,_e,2,4,`p`,1)(2,Te,2,1)(3,be,5,5,`div`,4),e&2){let t,i=n.$implicit;SE((t=i.kind)===`paragraph`?0:t===`heading`?1:t===`list`?2:t===`code`?3:-1)}}var I;var W;var he=p(()=>{Ne();Qr();U();sS();dS();Qr();I=e=>({$implicit:e});W=class e{text=jc.required();blocks=Ot(()=>Q(this.text()));common=Ot(()=>oS().common);copiedIndex=wt(null);asInlines(n){return n}async copy(n,t){try{await navigator.clipboard.writeText(t),this.copiedIndex.set(n),setTimeout(()=>this.copiedIndex.update(i=>i===n?null:i),1500)}catch{}}static ɵfac=function(t){return new(t||e)};static ɵcmp=wc({type:e,selectors:[[`app-answer-text`]],hostAttrs:[1,`block`,`space-y-2`],inputs:{text:[1,`text`]},decls:4,vars:0,consts:[[`line`,``],[1,`font-semibold`,`text-ink-100`],[1,`rounded`,`bg-ink-800`,`px-1`,`py-px`,`font-mono`,`text-[0.92em]`,`text-ink-100`],[1,`whitespace-pre-line`],[`data-testid`,`answer-code`,1,`relative`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[1,`list-decimal`,`space-y-0.5`,`pl-5`],[1,`list-disc`,`space-y-0.5`,`pl-5`],[1,`overflow-x-auto`,`rounded-md`,`bg-ink-900`,`py-1.5`,`pr-9`,`pl-2`,`font-mono`,`text-[12px]`,`leading-snug`,`text-ink-100`],[`type`,`button`,`data-testid`,`answer-copy`,1,`mx-focus`,`absolute`,`top-1`,`right-1`,`rounded`,`p-1`,`text-ink-400`,`hover:bg-ink-800`,`hover:text-ink-100`,3,`click`,`title`],[3,`name`,`size`]],template:function(t,i){t&1&&($m(0,se,2,0,`ng-template`,null,0,$k),Sc(2,ke,4,1,null,null,TE)),t&2&&(ec(2),Tc(i.blocks()))},dependencies:[My,Ie],encapsulation:2})}});export{he as n,W as t};
@@ -0,0 +1 @@
1
+ import{Ft as X,Ln as oS,Qn as sS,Vn as p$1,ct as Qr,gr as wt,l as C}from"./chunk-Bk32Rk5p.js";import{i as Wi,s as ca}from"./chunk-CgneC1Je.js";var p;var g=p$1(()=>{Qr();sS();ca();Qr();p=class i{toast=C(Wi);cliStatus=wt(null);running=wt(new Set);remembered=wt([]);openingFile=wt(!1);status=this.cliStatus.asReadonly();known=this.remembered.asReadonly();opening=this.openingFile.asReadonly();pending=this.running.asReadonly();async loadStatus(){this.cliStatus.set(await window.electron.compose.status())}async loadKnown(){try{this.remembered.set(await window.electron.compose.known())}catch{}}async openFile(){this.openingFile.set(!0);try{let e=await window.electron.compose.openFile();e.ok?e.project!==null&&this.toast.success(oS().compose.upDone(e.project)):this.toast.error(e.problem)}finally{this.openingFile.set(!1),this.loadKnown()}}async forget(e){await window.electron.compose.forget(e),this.toast.success(oS().compose.forgotten(e)),await this.loadKnown()}async up(e){await this.run(e,`up`)}async down(e){await this.run(e,`down`)}async recreate(e,t){this.running.update(o=>new Set(o).add(e));try{let o=await window.electron.compose.recreate(e,t);return o.ok?this.toast.success(oS().compose.recreateDone(t)):this.toast.error(o.problem),o.ok}finally{this.release(e)}}async run(e,t){this.running.update(o=>new Set(o).add(e));try{let o=await(t===`up`?window.electron.compose.up(e):window.electron.compose.down(e));if(o.ok){let r=oS().compose;this.toast.success(t===`up`?r.upDone(e):r.downDone(e))}else this.toast.error(o.problem)}finally{this.release(e),this.loadKnown()}}release(e){this.running.update(t=>{let o=new Set(t);return o.delete(e),o})}static ɵfac=function(t){return new(t||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});export{p as n,g as t};
@@ -0,0 +1 @@
1
+ import{$ as Od,At as W,D as HE,En as kc,F as Jm,G as My,Gn as pk,K as Nc,Kt as ag,Ln as oS,On as kk,P as JF,Pn as nk,Qn as sS,R as Km,St as Ty,Tn as kE,V as Ld,Vn as p,Vt as _E,_r as xc,cr as vg,ct as Qr,dt as SE,et as Oi,ft as Sc,gr as wt,jt as Wm,kn as lS,l as C,ln as fg,mr as wc,n as $m,nt as Ot,o as BE,on as eH,rn as dS,s as Br,sn as ec,sr as ve,t as $k,ur as vk,vt as Tc,w as Gm,x as G,xn as iS,yn as hg}from"./chunk-Bk32Rk5p.js";import"./chunk-BiQwXu_z.js";import{i as Ie$1,o as Ne$1}from"./chunk-FM5_LSb4.js";import{i as Wi,l as ia,s as ca,u as pe$1}from"./chunk-CgneC1Je.js";import"./chunk-BSz2tiCV.js";import{n as y,t as w}from"./chunk-B6qORmpw.js";import{n as r,t as l}from"./chunk-CnivQPHU.js";import"./chunk-CesW8OnI.js";import"./chunk-Ds9UWi20.js";import"./chunk-BsmS2zXP.js";import{n as x,t as u}from"./chunk-D5pKQvyX.js";import{n as P,t as K}from"./chunk-Ba7ROPTT.js";import{n as W$1,t as J}from"./chunk-idasJ9ng.js";import{n as m,r as s}from"./chunk-ux3iG9S52.js";var pe;var me=p(()=>{pe=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Ie(a,n){if(a&1&&(Oi(0,`span`,34),pk(1),Nc()),a&2){let e=HE(2);ec(),fg(e.t().inUse)}}function Ve(a,n){if(a&1&&(Oi(0,`span`,34),pk(1),Nc()),a&2){let e=HE(2);ec(),fg(e.t().cli)}}function Me(a,n){if(a&1&&(Oi(0,`div`,36),pk(1),Nc()),a&2){let e=HE().$implicit;ec(),fg(e.description)}}function De(a,n){if(a&1&&(Oi(0,`div`,37),pk(1),Nc()),a&2){let e=HE().$implicit;ec(),fg(e.reason)}}function Ae(a,n){a&1&&Km(0)}function Ne(a,n){if(a&1){let e=_E();Oi(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),pk(5),Nc(),kE(6,Ie,2,1,`span`,34),kE(7,Ve,2,1,`span`,34),Nc(),Oi(8,`div`,35),pk(9),Nc(),kE(10,Me,2,1,`div`,36),kE(11,De,2,1,`div`,37),Nc(),Oi(12,`button`,38),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().test(l.name,{context:l.name}))}),pk(13),Nc(),Oi(14,`button`,39),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE().askRemove(l.name))}),Gm(15,`app-icon`,40),Nc()(),$m(16,Ae,1,0,`ng-container`,28),Nc()}if(a&2){let e=n.$implicit,t=HE(),l=BE(48);Br(`data-testid`,`server-`+e.name),ec(5),fg(e.name),ec(),SE(e.active?6:-1),ec(),SE(e.currentInCli?7:-1),ec(2),fg(e.host),ec(),SE(e.description?10:-1),ec(),SE(!e.supported&&e.reason?11:-1),ec(),Wm(`disabled`,!e.supported||t.testing()!==null),ec(),xc(` `,t.testing()===e.name?t.t().testing:t.t().test,` `),ec(),Wm(`title`,e.active||e.currentInCli?t.t().removeBlocked:t.t().remove)(`disabled`,e.active||e.currentInCli),Br(`aria-label`,t.t().remove),ec(),Wm(`size`,14),ec(),Wm(`ngTemplateOutlet`,l)(`ngTemplateOutletContext`,kk(15,ue,e.name))}}function Fe(a,n){if(a&1&&(Oi(0,`li`,6),pk(1),Nc()),a&2){let e=HE();ec(),fg(e.t().empty)}}function Ue(a,n){if(a&1){let e=_E();Oi(0,`label`,15)(1,`span`,10),pk(2),Nc(),Oi(3,`input`,41),Jm(`input`,function(l){Ld(e);return Od(HE().username.set(l.target.value))}),Nc()()}if(a&2){let e=HE();ec(2),fg(e.t().add.username),ec(),nk(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function Oe(a,n){if(a&1&&(Oi(0,`p`,22),pk(1),Nc()),a&2){let e=HE();ec(),fg(e.t().add.tcpWarning)}}function Le(a,n){a&1&&(Oi(0,`p`,23),pk(1),Nc()),a&2&&(ec(),fg(n))}function $e(a,n){a&1&&Km(0)}function Ke(a,n){if(a&1&&(Oi(0,`p`,43),pk(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),fg(t.t().connected(e.version,e.os,e.arch))}}function Re(a,n){if(a&1){let e=_E();Oi(0,`p`,45),pk(1),Nc(),Oi(2,`div`,46)(3,`code`,47),pk(4),Nc(),Oi(5,`button`,48),Jm(`click`,function(){let l=Ld(e),s=HE(3).$implicit;return Od(HE().trust(s,l.name,l.fingerprint))}),pk(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),fg(t.t().unknownHostKey(e.name,e.type)),ec(3),fg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),xc(` `,t.t().trust,` `)}}function ze(a,n){if(a&1&&(Oi(0,`p`,44),pk(1),Nc(),kE(2,Re,7,4)),a&2){let e,t=HE();ec(),fg(t.problem),ec(),SE((e=t.unknownHostKey)?2:-1,e)}}function He(a,n){a&1&&(Oi(0,`div`,42),kE(1,Ke,2,1,`p`,43)(2,ze,3,2),Nc()),a&2&&(ec(),SE(n.ok?1:2))}function je(a,n){if(a&1&&kE(0,He,3,1,`div`,42),a&2){let e,t=n.$implicit;SE((e=HE().results()[t])?0:-1,e)}}var ue;var Pe;var O;var Be;var L;var _e=p(()=>{Ne$1();Qr();w();lS();sS();J();dS();ca();Qr();ue=a=>({$implicit:a}),Pe=(a,n)=>n.name;O=`:form`,Be=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,L=class a{contexts=C(y);toast=C(Wi);t=Ot(()=>oS().settings.servers);form=O;input=Be;servers=Ot(()=>this.contexts.contexts().filter(n=>n.name!=="default"));name=wt(``);kind=wt(`ssh`);username=wt(``);host=wt(``);port=wt(``);description=wt(``);formProblem=wt(null);saving=wt(!1);testing=wt(null);results=wt({});confirmOpen=wt(!1);removing=wt(null);filledIn=Ot(()=>this.name().trim()!==``&&this.host().trim()!==``);constructor(){this.contexts.load()}async test(n,e){this.testing.set(n);try{let t=await window.electron.contexts.test(e);this.results.update(l=>G(W({},l),{[n]:t}))}catch(t){this.results.update(l=>G(W({},l),{[n]:{ok:!1,problem:eH(t),unknownHostKey:null}}))}finally{this.testing.set(null)}}async testForm(){let n=this.server();n!==null&&(this.formProblem.set(null),await this.test(O,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(y=>G(W({},y),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(y=>G(W({},y),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===O?this.server():null;await this.test(n,l===null?{context:n}:{server:l})}async add(n){n.preventDefault();let e=this.server();if(!(e===null||this.saving())){this.saving.set(!0);try{let t=await window.electron.contexts.create(e);if(!t.ok){this.formProblem.set(t.problem);return}this.toast.success(this.t().add.added(e.name)),this.reset(),await this.contexts.load()}catch(t){this.formProblem.set(eH(t))}finally{this.saving.set(!1)}}}askRemove(n){this.removing.set(n),this.confirmOpen.set(!0)}async remove(){let n=this.removing();if(n!==null)try{let e=await window.electron.contexts.remove(n);if(!e.ok){this.toast.error(e.problem);return}this.forgetResult(n),await this.contexts.load()}catch(e){this.toast.error(eH(e))}finally{this.removing.set(null)}}server(){let n=this.port().trim(),e=n===``?null:Number(n);if(e!==null&&(!Number.isInteger(e)||e<1||e>65535))return this.formProblem.set(oS().settings.servers.add.port+`: 1–65535`),null;let t=this.username().trim(),l=this.description().trim();return{name:this.name().trim(),description:l===``?null:l,kind:this.kind(),host:this.host().trim(),port:e,username:this.kind()===`ssh`&&t!==``?t:null}}reset(){this.name.set(``),this.username.set(``),this.host.set(``),this.port.set(``),this.description.set(``),this.formProblem.set(null),this.forgetResult(O)}forgetResult(n){this.results.update(e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!==n)))}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-servers-settings`]],decls:50,vars:50,consts:[[`outcome`,``],[`data-testid`,`servers-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[1,`mt-3`,`divide-y`,`divide-ink-700`,`border-y`,`border-ink-700`],[1,`py-2.5`],[1,`py-2.5`,`text-[13px]`,`text-ink-400`],[`data-testid`,`server-form`,1,`mt-4`,3,`submit`],[1,`mt-2`,`grid`,`grid-cols-6`,`gap-3`],[1,`col-span-3`,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`data-testid`,`server-name`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-kind`,3,`change`],[`value`,`ssh`,3,`selected`],[`value`,`tcp`,3,`selected`],[1,`col-span-2`,`block`],[1,`block`],[`type`,`text`,`data-testid`,`server-host`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`col-span-1`,`block`],[`type`,`text`,`inputmode`,`numeric`,`data-testid`,`server-port`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`col-span-6`,`block`],[`type`,`text`,`data-testid`,`server-description`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`mt-2`,`text-[12px]`,`text-warn`],[`data-testid`,`server-form-problem`,1,`mt-2`,`text-[12px]`,`text-danger`],[1,`mt-3`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`data-testid`,`server-form-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`submit`,`data-testid`,`server-add`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[1,`flex`,`items-center`,`gap-3`],[1,`min-w-0`,`flex-1`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[13px]`,`text-ink-100`],[1,`rounded`,`bg-ink-700`,`px-1.5`,`text-[11px]`,`text-ink-200`],[1,`truncate`,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-danger`],[`type`,`button`,`data-testid`,`server-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`button`,`data-testid`,`server-remove`,1,`mx-btn`,`mx-focus`,3,`click`,`title`,`disabled`],[`name`,`trash`,3,`size`],[`type`,`text`,`data-testid`,`server-username`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-test-result`,1,`mt-2`,`text-[12px]`],[1,`text-ok`],[1,`text-danger`],[1,`mt-2`,`text-ink-300`],[1,`mt-1`,`flex`,`items-center`,`gap-3`],[`data-testid`,`server-fingerprint`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-ink-100`],[`type`,`button`,`data-testid`,`server-trust`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`]],template:function(e,t){if(e&1){let l=_E();Oi(0,`div`,1)(1,`h2`,2),pk(2),Nc(),Oi(3,`p`,3),pk(4),Nc(),Oi(5,`ul`,4),Sc(6,Ne,17,17,`li`,5,Pe,!1,Fe,2,1,`li`,6),Nc(),Oi(9,`form`,7),Jm(`submit`,function(y){return t.add(y)}),Oi(10,`h3`,2),pk(11),Nc(),Oi(12,`div`,8)(13,`label`,9)(14,`span`,10),pk(15),Nc(),Oi(16,`input`,11),Jm(`input`,function(y){return t.name.set(y.target.value)}),Nc()(),Oi(17,`label`,9)(18,`span`,10),pk(19),Nc(),Oi(20,`select`,12),Jm(`change`,function(y){return t.kind.set(y.target.value)}),Oi(21,`option`,13),pk(22),Nc(),Oi(23,`option`,14),pk(24),Nc()()(),kE(25,Ue,4,5,`label`,15),Oi(26,`label`,16)(27,`span`,10),pk(28),Nc(),Oi(29,`input`,17),Jm(`input`,function(y){return t.host.set(y.target.value)}),Nc()(),Oi(30,`label`,18)(31,`span`,10),pk(32),Nc(),Oi(33,`input`,19),Jm(`input`,function(y){return t.port.set(y.target.value)}),Nc()(),Oi(34,`label`,20)(35,`span`,10),pk(36),Nc(),Oi(37,`input`,21),Jm(`input`,function(y){return t.description.set(y.target.value)}),Nc()()(),kE(38,Oe,2,1,`p`,22),kE(39,Le,2,1,`p`,23),Oi(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),pk(42),Nc(),Oi(43,`button`,26),Gm(44,`app-icon`,27),pk(45),Nc()(),$m(46,$e,1,0,`ng-container`,28),Nc()(),$m(47,je,1,1,`ng-template`,null,0,$k),Oi(49,`app-confirm-dialog`,29),vg(`openChange`,function(y){return Ld(l),vk(t.confirmOpen,y)||(t.confirmOpen=y),Od(y)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=BE(48);ec(2),fg(t.t().heading),ec(2),fg(t.t().hint),ec(2),Tc(t.servers()),ec(5),fg(t.t().add.heading),ec(4),fg(t.t().add.name),ec(),nk(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),fg(t.t().add.kind),ec(),nk(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),fg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),fg(t.t().add.tcp),ec(),SE(t.kind()===`ssh`?25:-1),ec(),ag(`col-span-3`,t.kind()===`ssh`)(`col-span-5`,t.kind()===`tcp`),ec(2),fg(t.t().add.host),ec(),nk(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),fg(t.t().add.port),ec(),nk(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),fg(t.t().add.description),ec(),nk(t.input),Wm(`placeholder`,t.t().add.descriptionPlaceholder)(`value`,t.description()),ec(),SE(t.kind()===`tcp`?38:-1),ec(),SE((l=t.formProblem())?39:-1,l),ec(2),Wm(`disabled`,!t.filledIn()||t.testing()!==null),ec(),xc(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),xc(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,kk(48,ue,t.form)),ec(3),hg(`open`,t.confirmOpen),Wm(`title`,t.t().removeTitle(t.removing()??``))(`description`,t.t().removeDescription)}},dependencies:[W$1,My,Ie$1],encapsulation:2})}});function Ge(a,n){if(a&1&&(Oi(0,`option`,10),pk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),Br(`lang`,e.value),ec(),fg(e.name)}}function qe(a,n){if(a&1&&(Oi(0,`p`,17),pk(1),Nc()),a&2){let e=HE(2);ec(),fg(e.t().startup.shortcutTaken)}}function Je(a,n){if(a&1){let e=_E();Oi(0,`li`,42),Gm(1,`app-icon`,43),Oi(2,`span`,44),pk(3),Nc(),Oi(4,`button`,45),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE(3).unmute(l))}),pk(5),Nc()()}if(a&2){let e=n.$implicit,t=HE(3);ec(),Wm(`size`,13),ec(2),fg(e),ec(),Br(`data-testid`,`unmute-`+e),ec(),xc(` `,t.t().notifications.unmute,` `)}}function Qe(a,n){if(a&1){let e=_E();Oi(0,`div`,22)(1,`div`,38)(2,`h3`,39),pk(3),Nc(),Oi(4,`button`,40),Jm(`click`,function(){Ld(e);return Od(HE(2).unmuteAll())}),Gm(5,`app-icon`,41),pk(6),Nc()(),Oi(7,`ul`,26),Sc(8,Je,6,4,`li`,42,kc),Nc(),Oi(10,`p`,11),pk(11),Nc()()}if(a&2){let e=HE(2);ec(3),fg(e.t().notifications.muted(e.muted.all().length)),ec(2),Wm(`size`,13),ec(),xc(` `,e.t().notifications.unmuteAll,` `),ec(2),Tc(e.muted.all()),ec(3),fg(e.t().notifications.mutedHint)}}function Xe(a,n){if(a&1&&(Oi(0,`p`,24),pk(1),Nc()),a&2){let e=HE(),t=HE();ec(),fg(t.lastPrune(e.lastAutoPrune))}}function Ye(a,n){if(a&1&&(Oi(0,`p`,11),pk(1),Nc()),a&2){let e=HE(2);ec(),fg(e.t().backups.empty)}}function Ze(a,n){if(a&1){let e=_E();Oi(0,`li`,46),Gm(1,`app-icon`,47),Oi(2,`span`,48)(3,`span`,49),pk(4),Nc(),Oi(5,`span`,50),pk(6),Nc()(),Oi(7,`button`,45),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE(3).editSchedule(l.volume))}),pk(8),Nc(),Oi(9,`button`,51),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE(3).removeSchedule(l.volume))}),pk(10),Nc()()}if(a&2){let e=n.$implicit,t=HE(3);ec(),nk(t.scheduleTone(e)),Wm(`size`,13),ec(3),fg(e.volume),ec(),Wm(`title`,e.folder),ec(),fg(t.scheduleLine(e)),ec(),Br(`data-testid`,`schedule-edit-`+e.volume),ec(),xc(` `,t.t().backups.edit,` `),ec(),Br(`data-testid`,`schedule-remove-`+e.volume),ec(),xc(` `,t.t().backups.remove,` `)}}function et(a,n){if(a&1&&(Oi(0,`ul`,26),Sc(1,Ze,11,10,`li`,46,We),Nc()),a&2){let e=HE(2);ec(),Tc(e.schedules.all())}}function tt(a,n){if(a&1&&(Oi(0,`span`,29),pk(1),Nc()),a&2){let e=HE(2);ec(),fg(e.t().update.version(n.current))}}function nt(a,n){if(a&1){let e=_E();Oi(0,`button`,52),Jm(`click`,function(){Ld(e);return Od(HE(2).install())}),pk(1),Nc()}if(a&2){let e=HE(2);ec(),xc(` `,e.t().update.install,` `)}}function it(a,n){if(a&1){let e=_E();Oi(0,`button`,53),Jm(`click`,function(){Ld(e);return Od(HE(2).check())}),pk(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),xc(` `,e.t().update.check,` `)}}function at(a,n){if(a&1){let e=_E();Oi(0,`div`,32)(1,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE(2).update({autoUpdate:l}))}),Nc()()}if(a&2){let e=HE(),t=HE();ec(),Wm(`label`,t.t().update.auto)(`on`,e.autoUpdate)}}function rt(a,n){if(a&1&&(Oi(0,`option`,10),pk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),fg(e.name)}}function ot(a,n){if(a&1){let e=_E();Oi(0,`div`,7)(1,`span`,56),pk(2),Nc(),Oi(3,`button`,57),Jm(`click`,function(){Ld(e);return Od(HE(3).clearKey())}),Gm(4,`app-icon`,58),pk(5),Nc()()}if(a&2){let e=HE(3);ec(2),fg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),xc(` `,e.t().assistant.clearKey,` `)}}function st(a,n){if(a&1){let e=_E();Oi(0,`form`,59),Jm(`submit`,function(l){Ld(e);return Od(HE(3).saveKey(l))}),Oi(1,`label`,60),pk(2),Nc(),Oi(3,`input`,61),Jm(`input`,function(l){Ld(e);return Od(HE(3).keyDraft.set(l.target.value))}),Nc(),Oi(4,`button`,62),pk(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),fg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),xc(` `,t.common().save,` `)}}function lt(a,n){a&1&&(Oi(0,`p`,55),pk(1),Nc()),a&2&&(ec(),fg(n))}function dt(a,n){if(a&1&&(kE(0,ot,6,3,`div`,7)(1,st,6,5,`form`,54),kE(2,lt,2,1,`p`,55),Oi(3,`p`,11),pk(4),Nc()),a&2){let e,t=HE(2);SE(n.configured?0:1),ec(2),SE((e=t.keyProblem())?2:-1,e),ec(2),fg(t.t().assistant.hint)}}function ct(a,n){if(a&1){let e=_E();Oi(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),pk(4),Nc(),Oi(5,`div`,7)(6,`label`,8),pk(7),Nc(),Oi(8,`select`,9),Jm(`change`,function(l){Ld(e);return Od(HE().chooseLanguage(l.target.value))}),Sc(9,Ge,2,4,`option`,10,ge),Nc()(),Oi(11,`p`,11),pk(12),Nc()(),Oi(13,`div`,12)(14,`h2`,6),pk(15),Nc(),Oi(16,`div`,13)(17,`app-filter-switch`,14),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({startAtLogin:l}))}),Nc()(),Oi(18,`p`,11),pk(19),Nc(),Oi(20,`div`,15)(21,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({paletteShortcut:l}))}),Nc()(),kE(22,qe,2,1,`p`,17),Nc(),Oi(23,`div`,12)(24,`h2`,6),pk(25),Nc(),Oi(26,`div`,18)(27,`div`,19)(28,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyCrash:l}))}),Nc()(),Oi(29,`div`,20)(30,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyUnhealthy:l}))}),Nc()(),Oi(31,`div`,21)(32,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({notifyWiring:l}))}),Nc()()(),Oi(33,`p`,11),pk(34),Nc(),kE(35,Qe,12,4,`div`,22),Nc(),Oi(36,`div`,12)(37,`h2`,6),pk(38),Nc(),Oi(39,`div`,23)(40,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({autoPrune:l}))}),Nc()(),Oi(41,`p`,11),pk(42),Nc(),kE(43,Xe,2,1,`p`,24),Nc(),Oi(44,`div`,25)(45,`h2`,6),pk(46),Nc(),kE(47,Ye,2,1,`p`,11)(48,et,3,0,`ul`,26),Nc(),Oi(49,`div`,27)(50,`div`,28)(51,`h2`,6),pk(52),Nc(),kE(53,tt,2,1,`span`,29),kE(54,nt,2,1,`button`,30)(55,it,2,2,`button`,31),Nc(),kE(56,at,2,2,`div`,32),Oi(57,`p`,33),pk(58),Nc()(),Oi(59,`div`,34)(60,`h2`,6),pk(61,`Claude`),Nc(),Oi(62,`div`,35)(63,`label`,36),pk(64),Nc(),Oi(65,`select`,37),Jm(`change`,function(l){Ld(e);return Od(HE().update({assistantModel:l.target.value}))}),Sc(66,rt,2,3,`option`,10,ge),Nc()(),Oi(68,`p`,11),pk(69),Nc(),kE(70,dt,5,3),Nc()(),Gm(71,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),fg(s.t().language.heading),ec(3),fg(s.t().language.label),ec(2),Tc(s.languages),ec(3),fg(s.t().language.hint),ec(3),fg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),xc(` `,l.startAtLoginAvailable?s.t().startup.hintAvailable:s.t().startup.hintUnavailable,` `),ec(2),Wm(`label`,s.t().startup.paletteShortcut)(`on`,l.paletteShortcut),ec(),SE(l.paletteShortcut&&!l.paletteShortcutActive?22:-1),ec(3),fg(s.t().notifications.heading),ec(3),Wm(`label`,s.t().notifications.crash)(`on`,l.notifyCrash),ec(2),Wm(`label`,s.t().notifications.unhealthy)(`on`,l.notifyUnhealthy),ec(2),Wm(`label`,s.t().notifications.wiring)(`on`,l.notifyWiring),ec(2),fg(s.t().notifications.hint),ec(),SE(s.muted.all().length>0?35:-1),ec(3),fg(s.t().prune.heading),ec(2),Wm(`label`,s.t().prune.auto)(`on`,l.autoPrune),ec(2),fg(s.t().prune.hint),ec(),SE(l.autoPrune?43:-1),ec(3),fg(s.t().backups.heading),ec(),SE(s.schedules.all().length===0?47:48),ec(5),fg(s.t().update.heading),ec(),SE((e=s.appUpdate())?53:-1,e),ec(),SE(s.updateState()===`ready`?54:s.updateState()!==`unavailable`?55:-1),ec(2),SE(s.updateState()!==`unavailable`?56:-1),ec(2),fg(s.updateText()),ec(6),fg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),fg(s.t().assistant.modelHint),ec(),SE((t=s.assistant())?70:-1,t)}}var ge;var We;var pt;var xe;p(()=>{Qr();ia();me();sS();lS();l();m();K();dS();x();_e();Qr();ge=(a,n)=>n.value,We=(a,n)=>n.volume;pt={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},xe=class a{t=Ot(()=>oS().settings);common=Ot(()=>oS().common);languages=Object.keys(JF).map(n=>({value:n,name:JF[n]}));models=pe.map(n=>({value:n,name:pt[n]}));settings=wt(null);muted=C(r);schedules=C(s);router=C(pe$1);problem=wt(null);appUpdate=wt(null);assistant=wt(null);keyDraft=wt(``);keyProblem=wt(null);updateState=Ot(()=>this.appUpdate()?.status.state??`unavailable`);updateText=Ot(()=>{let n=this.appUpdate()?.status??{state:`unavailable`},e=this.t().update;switch(n.state){case`unavailable`:return e.unavailable;case`idle`:return e.idle;case`checking`:return e.checking;case`upToDate`:return e.upToDate(new Date(n.checkedAt).toLocaleTimeString(iS(),{hour:`2-digit`,minute:`2-digit`}));case`downloading`:return e.downloading(n.version,n.percent);case`ready`:return e.ready(n.version);case`error`:return e.error(n.problem)}});constructor(){this.schedules.start(),this.load(),this.loadAppUpdate(),this.loadAssistant();let n=window.electron.appUpdate.onChange(e=>this.appUpdate.set(e));C(ve).onDestroy(n)}async check(){try{this.appUpdate.set(await window.electron.appUpdate.check())}catch(n){this.problem.set(eH(n))}}async install(){try{await window.electron.appUpdate.install()}catch(n){this.problem.set(eH(n))}}lastPrune(n){let e=this.t().prune;return n===null?e.never:e.last(new Intl.DateTimeFormat(iS(),{dateStyle:`long`,timeStyle:`short`}).format(n))}scheduleLine(n){let e=n.every===`day`?oS().volumes.schedule.daily:oS().volumes.schedule.weekly;return this.t().backups.line(e,n.folder)}scheduleTone(n){let e=n.lastOutcome?.kind;return e===`failed`?`text-danger`:e===`skipped`?`text-warn`:`text-ink-500`}editSchedule(n){this.router.navigate([`/volumes`],{queryParams:{schema:n}}).catch(()=>{})}async removeSchedule(n){try{await this.schedules.remove(n),this.problem.set(null)}catch(e){this.problem.set(eH(e))}}async unmute(n){try{await this.muted.mute(n,!1),this.problem.set(null)}catch(e){this.problem.set(eH(e))}}async unmuteAll(){try{await this.muted.clear(),this.problem.set(null)}catch(n){this.problem.set(eH(n))}}async update(n){try{this.settings.set(await window.electron.settings.update(n)),this.problem.set(null)}catch(e){this.problem.set(eH(e)),await this.load()}}async chooseLanguage(n){Ty(n),await this.update({language:n}),Ty(this.settings()?.language??n)}async saveKey(n){n.preventDefault();try{let e=await window.electron.assistant.setKey(this.keyDraft());if(!e.ok){this.keyProblem.set(e.problem);return}this.keyDraft.set(``),this.keyProblem.set(null),await this.loadAssistant()}catch(e){this.keyProblem.set(eH(e))}}async clearKey(){try{this.assistant.set(await window.electron.assistant.clearKey()),this.keyProblem.set(null)}catch(n){this.keyProblem.set(eH(n))}}async loadAssistant(){try{this.assistant.set(await window.electron.assistant.status())}catch(n){this.problem.set(eH(n))}}async loadAppUpdate(){try{this.appUpdate.set(await window.electron.appUpdate.get())}catch(n){this.problem.set(eH(n))}}async load(){try{let n=await window.electron.settings.get();this.settings.set(n),this.muted.apply(n)}catch(n){this.problem.set(eH(n))}}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-settings-page`]],decls:5,vars:3,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[3,`problem`],[1,`mt-4`,`grid`,`max-w-6xl`,`items-start`,`gap-4`,`lg:grid-cols-2`],[1,`space-y-4`],[`data-testid`,`setting-language`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-language`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-language`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[3,`value`,`selected`],[1,`mt-2`,`text-[12px]`,`text-ink-500`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-start-at-login`,1,`mt-3`],[3,`onChange`,`label`,`on`,`disabled`],[`data-testid`,`setting-palette-shortcut`,1,`mt-3`],[3,`onChange`,`label`,`on`],[`data-testid`,`shortcut-taken`,1,`mt-2`,`text-[12px]`,`text-warn`],[1,`mt-3`,`space-y-2.5`],[`data-testid`,`setting-notify-crash`],[`data-testid`,`setting-notify-unhealthy`],[`data-testid`,`setting-notify-wiring`],[`data-testid`,`setting-muted`,1,`mt-3`,`border-t`,`border-ink-800`,`pt-3`],[`data-testid`,`setting-auto-prune`,1,`mt-3`],[`data-testid`,`auto-prune-last`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[`data-testid`,`setting-backups`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`mt-2`,`divide-y`,`divide-ink-800`,`text-[13px]`],[`data-testid`,`app-update`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`flex`,`items-center`,`gap-3`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`disabled`],[`data-testid`,`setting-auto-update`,1,`mt-3`],[`data-testid`,`app-update-status`,1,`mt-2`,`text-[12px]`,`text-ink-500`],[`data-testid`,`assistant-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-assistant-model`,1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-assistant-model`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-assistant-model`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[12px]`,`font-medium`,`text-ink-300`],[`type`,`button`,`data-testid`,`unmute-all`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`bell`,3,`size`],[1,`flex`,`items-center`,`gap-2`,`py-1`],[`name`,`bell-off`,1,`text-ink-500`,3,`size`],[1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-[12px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`],[1,`flex`,`items-center`,`gap-2`,`py-1.5`],[`name`,`clock`,3,`size`],[1,`min-w-0`,`flex-1`],[1,`block`,`truncate`,`font-mono`,`text-[12px]`,`text-ink-100`],[1,`block`,`truncate`,`text-[11px]`,`text-ink-500`,3,`title`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`text-danger`,3,`click`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[1,`mt-3`,`flex`,`gap-2`],[1,`mt-2`,`text-[12px]`,`text-danger`],[1,`text-[13px]`,`text-ink-300`],[`type`,`button`,`data-testid`,`assistant-clear-key`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`trash`,3,`size`],[1,`mt-3`,`flex`,`gap-2`,3,`submit`],[`for`,`assistant-key`,1,`sr-only`],[`id`,`assistant-key`,`type`,`password`,`placeholder`,`sk-ant-…`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-1.5`,`font-mono`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`value`,`disabled`],[`type`,`submit`,`data-testid`,`assistant-save-key`,1,`mx-btn`,`mx-focus`,3,`disabled`]],template:function(e,t){if(e&1&&(Oi(0,`section`,0)(1,`h1`,1),pk(2),Nc(),Gm(3,`app-page-messages`,2),kE(4,ct,72,35,`div`,3),Nc()),e&2){let l;ec(2),fg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),SE((l=t.settings())?4:-1,l)}},dependencies:[P,u,My,L],encapsulation:2})}})();export{xe as SettingsPage};
@@ -0,0 +1 @@
1
+ import{Cn as jc,F as Jm,Gn as pk,K as Nc,M as Ik,Mn as mj,Sn as jI,Vn as p$1,Zn as rp,a as Am,ct as Qr,et as Oi,g as Dj,gr as wt,jt as Wm,l as C,ln as fg,lt as RI,mr as wc,nt as Ot,s as Br,sn as ec,st as Qm,un as fj,w as Gm}from"./chunk-Bk32Rk5p.js";import{E as tn,S as or,c as Ln,i as Gn,m as Zn,r as Et,s as Kn,u as Tt}from"./chunk-CesW8OnI.js";var X;var G;var J;var p;var E;var j=p$1(()=>{Qr();Qr();tn();tn();[X,G]=Gn(`RdxSwitchContext`,`components/switch`),J=()=>{let i=C(p),f=Ln();return{checked:i.checkedState,disabled:Ot(()=>!!f.disabled()),readonly:i.readonly,required:i.required,name:i.name,form:i.form,value:i.submitValue,ariaLabel:i.ariaLabel,ariaLabelledBy:i.ariaLabelledBy,registerNativeInput:n=>i.registerNativeInput(n),markAsTouched:()=>i.markAsTouched()}},p=(()=>{class i extends Kn{constructor(){super(),this.cva=Ln(),this.id=jc(Tt(`rdx-switch-`)),this.defaultChecked=jc(void 0,{transform:e=>e===void 0?void 0:Dj(e)}),this.checked=mj(!1),this.disabled=jc(!1,{transform:Dj}),this.readonly=jc(!1,{transform:Dj}),this.required=jc(!1,{transform:Dj}),this.name=jc(),this.form=jc(),this.submitValue=jc(`on`,{alias:`value`}),this.uncheckedValue=jc(),this.ariaLabelledBy=jc(void 0,{alias:`aria-labelledby`}),this.ariaLabel=jc(void 0,{alias:`aria-label`}),this.onCheckedChange=fj(),this.checkedState=Ot(()=>!!this.cva.value()),this.isDisabled=Ot(()=>!!this.cva.disabled()),this.nativeInput=wt(null),this.nativeInputOwnsValue=Ot(()=>this.nativeInput()!==null&&(this.checkedState()||this.uncheckedValue()===void 0)),this.invalidState=this.formUi.invalidState,this.touchedState=this.formUi.touchedState,this.dirtyState=this.formUi.dirtyState,or({name:this.name,form:this.form,disabled:this.isDisabled,value:this.checkedState,serialize:e=>{let t=e?this.submitValue():this.uncheckedValue();return t===void 0?[]:[t]},hasNativeControl:this.nativeInputOwnsValue,syncNativeControl:()=>{let e=this.nativeInput();e&&(e.checked=this.checkedState())},defaultValue:()=>this.defaultChecked()??this.checkedState(),onReset:e=>{this.checked.set(e),this.resetNgControl(e)||this.cva.writeValue(e),this.formUi.resetInteractionState?.()}});let n=!1;rp(()=>{let e=this.defaultChecked();!n&&e!==void 0&&(n=!0,this.checked.set(e),this.cva.setValue(e))})}formUiTouchTarget(){return Ln()}markAsTouched(){this.formUi.markAsTouched()}toggle(n){if(this.isDisabled()||this.readonly())return;let e=!this.cva.value(),t=n?.currentTarget instanceof HTMLElement?n.currentTarget:void 0,{eventDetails:d}=Zn(`none`,n??new Event(`switch.checked-change`),t);this.onCheckedChange.emit({checked:e,eventDetails:d}),!d.isCanceled()&&(this.checked.set(e),this.cva.setValue(e),this.formUi.markDirty())}registerNativeInput(n){return this.nativeInput.set(n),()=>{this.nativeInput()===n&&this.nativeInput.set(null)}}static{this.ɵfac=function(e){return new(e||i)}}static{this.ɵdir=RI({type:i,selectors:[[`button`,`rdxSwitchRoot`,``]],hostAttrs:[`role`,`switch`,`type`,`button`],hostVars:15,hostBindings:function(e,t){e&1&&Jm(`click`,function(O){return t.toggle(O)})(`blur`,function(){return t.markAsTouched()}),e&2&&(Qm(`id`,t.id()),Br(`aria-checked`,t.checkedState())(`aria-required`,t.required()?`true`:void 0)(`aria-readonly`,t.readonly()?`true`:void 0)(`aria-invalid`,t.displayValid()===!1?`true`:void 0)(`data-checked`,t.checkedState()?``:void 0)(`data-unchecked`,t.checkedState()?void 0:``)(`data-disabled`,t.isDisabled()?``:void 0)(`data-readonly`,t.readonly()?``:void 0)(`data-required`,t.required()?``:void 0)(`data-invalid`,t.displayValid()===!1?``:void 0)(`data-valid`,t.displayValid()===!0?``:void 0)(`data-touched`,t.touchedState()?``:void 0)(`data-dirty`,t.dirtyState()?``:void 0)(`disabled`,t.isDisabled()?``:void 0))},inputs:{id:[1,`id`],defaultChecked:[1,`defaultChecked`],checked:[1,`checked`],disabled:[1,`disabled`],readonly:[1,`readonly`],required:[1,`required`],name:[1,`name`],form:[1,`form`],submitValue:[1,`value`,`submitValue`],uncheckedValue:[1,`uncheckedValue`],ariaLabelledBy:[1,`aria-labelledby`,`ariaLabelledBy`],ariaLabel:[1,`aria-label`,`ariaLabel`]},outputs:{checked:`checkedChange`,onCheckedChange:`onCheckedChange`},exportAs:[`rdxSwitchRoot`],features:[Ik([G(J)]),jI([{directive:Et,inputs:[`value`,`checked`,`disabled`,`disabled`]}]),Am]})}}return i})(),E=(()=>{class i{constructor(){this.rootContext=X()}static{this.ɵfac=function(e){return new(e||i)}}static{this.ɵdir=RI({type:i,selectors:[[`span`,`rdxSwitchThumb`,``]],hostVars:5,hostBindings:function(e,t){e&2&&Br(`data-checked`,t.rootContext.checked()?``:void 0)(`data-unchecked`,t.rootContext.checked()?void 0:``)(`data-disabled`,t.rootContext.disabled()?``:void 0)(`data-readonly`,t.rootContext.readonly()?``:void 0)(`data-required`,t.rootContext.required()?``:void 0)},exportAs:[`rdxSwitchThumb`]})}}return i})()});var P;var K=p$1(()=>{Qr();j();Qr();P=class i{label=jc.required();on=mj.required();disabled=jc(!1);static ɵfac=function(n){return new(n||i)};static ɵcmp=wc({type:i,selectors:[[`app-filter-switch`]],hostAttrs:[1,`flex`,`items-center`,`gap-2`,`text-[13px]`,`text-ink-300`],inputs:{label:[1,`label`],on:[1,`on`],disabled:[1,`disabled`]},outputs:{on:`onChange`},decls:4,vars:4,consts:[[`type`,`button`,`rdxSwitchRoot`,``,1,`mx-focus`,`relative`,`h-5`,`w-9`,`shrink-0`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`bg-ink-800`,`transition-colors`,`data-[checked]:border-accent`,`data-[checked]:bg-accent`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,3,`onCheckedChange`,`checked`,`disabled`],[`rdxSwitchThumb`,``,1,`block`,`size-3.5`,`translate-x-[3px]`,`rounded-full`,`bg-ink-400`,`transition-transform`,`data-[checked]:translate-x-[19px]`,`data-[checked]:bg-white`]],template:function(n,e){n&1&&(Oi(0,`button`,0),Jm(`onCheckedChange`,function(d){return e.on.set(d.checked)}),Gm(1,`span`,1),Nc(),Oi(2,`span`),pk(3),Nc()),n&2&&(Wm(`checked`,e.on())(`disabled`,e.disabled()),Br(`aria-label`,e.label()),ec(3),fg(e.label()))},dependencies:[p,E],encapsulation:2})}});export{P as n,K as t};
@@ -0,0 +1 @@
1
+ import{Ft as X,Vn as p,ct as Qr,gr as wt,kn as lS,on as eH}from"./chunk-Bk32Rk5p.js";var o;var y=p(()=>{Qr();lS();Qr();o=class a{state=wt(null);busy=wt(!1);startingWsl=wt(!1);wslFailure=wt(null);startedWsl=wt(!1);status=this.state.asReadonly();loading=this.busy.asReadonly();wslStarting=this.startingWsl.asReadonly();wslProblem=this.wslFailure.asReadonly();wslStartedBefore=this.startedWsl.asReadonly();async refresh(){this.busy.set(!0);try{this.state.set(await window.electron.engine.status())}finally{this.busy.set(!1)}}async startWsl(e){return this.start(()=>window.electron.engine.startWsl(e),!0)}async startWslDaemon(e){return this.start(()=>window.electron.engine.startWslDaemon(e),!1)}async start(e,r){this.startingWsl.set(!0),this.wslFailure.set(null);try{let s=await e();return s.ok?this.startedWsl.set(r):this.wslFailure.set(s.problem),await this.refresh(),s.ok}catch(s){return this.wslFailure.set(eH(s)),!1}finally{this.startingWsl.set(!1)}}static ɵfac=function(r){return new(r||a)};static ɵprov=X({token:a,factory:a.ɵfac,providedIn:`root`})}});export{y as n,o as t};