docker-client-mx 1.43.0 → 1.44.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 (70) hide show
  1. package/dist/docker-desktop-mx/browser/{chunk-CjySsWe4.js → chunk-5u_BJ6JX.js} +1 -1
  2. package/dist/docker-desktop-mx/browser/{chunk-yYm_2q6C.js → chunk-6988XP3w.js} +1 -1
  3. package/dist/docker-desktop-mx/browser/{chunk-qxDOm16k.js → chunk-7mU3uVaN.js} +1 -1
  4. package/dist/docker-desktop-mx/browser/{chunk-Bxte2YBm.js → chunk-B23Afk52.js} +1 -1
  5. package/dist/docker-desktop-mx/browser/{chunk-xmDwFpQl.js → chunk-B7xGbGa9.js} +1 -1
  6. package/dist/docker-desktop-mx/browser/{chunk-Cx-uRg2m.js → chunk-B8Uu84pE.js} +1 -1
  7. package/dist/docker-desktop-mx/browser/{chunk-k-zsJmvX.js → chunk-BCYusaqm.js} +1 -1
  8. package/dist/docker-desktop-mx/browser/{chunk-B1xjyPnV.js → chunk-BEtYD0_3.js} +1 -1
  9. package/dist/docker-desktop-mx/browser/{chunk-DS3iAefP.js → chunk-BG-O4Nb_.js} +1 -1
  10. package/dist/docker-desktop-mx/browser/{chunk-DnY7-enP.js → chunk-BJsftgmt.js} +1 -1
  11. package/dist/docker-desktop-mx/browser/{chunk-CUSsr_nJ.js → chunk-Bho6QLGs.js} +1 -1
  12. package/dist/docker-desktop-mx/browser/{chunk-hJqozYgS.js → chunk-C1Nu6ZjD.js} +1 -1
  13. package/dist/docker-desktop-mx/browser/chunk-C3hTwhog.js +4 -0
  14. package/dist/docker-desktop-mx/browser/chunk-C52HI2A-.js +1 -0
  15. package/dist/docker-desktop-mx/browser/chunk-CGKsmblG.js +6 -0
  16. package/dist/docker-desktop-mx/browser/{chunk-BE5ctn7s.js → chunk-CMi-ZnXy.js} +1 -1
  17. package/dist/docker-desktop-mx/browser/{chunk-vPeKxmUB.js → chunk-CYFxPPxo2.js} +1 -1
  18. package/dist/docker-desktop-mx/browser/{chunk-DdTfHpyK.js → chunk-Cl4e4J9q.js} +1 -1
  19. package/dist/docker-desktop-mx/browser/{chunk-CjAbzLl3.js → chunk-Cr28jI1A.js} +1 -1
  20. package/dist/docker-desktop-mx/browser/{chunk-Cpz4zP5G.js → chunk-CzkAHty9.js} +1 -1
  21. package/dist/docker-desktop-mx/browser/{chunk-D2SM5E9h.js → chunk-D1tQa5OM.js} +1 -1
  22. package/dist/docker-desktop-mx/browser/{chunk-75uKIulV.js → chunk-D3PaEk7L.js} +1 -1
  23. package/dist/docker-desktop-mx/browser/chunk-DApzx4cc2.js +1 -0
  24. package/dist/docker-desktop-mx/browser/{chunk-BpQVP_gf.js → chunk-DNiq9JXI.js} +1 -1
  25. package/dist/docker-desktop-mx/browser/{chunk-BsTDUJ3m.js → chunk-DSfTqCF0.js} +1 -1
  26. package/dist/docker-desktop-mx/browser/{chunk-VC5gaeEq.js → chunk-DeEfJWMH2.js} +1 -1
  27. package/dist/docker-desktop-mx/browser/{chunk-DCYTwazU.js → chunk-DeROY6LN.js} +1 -1
  28. package/dist/docker-desktop-mx/browser/{chunk-hXmaVpBu2.js → chunk-DffEUxgS.js} +1 -1
  29. package/dist/docker-desktop-mx/browser/chunk-Di7dDUYN2.js +6 -0
  30. package/dist/docker-desktop-mx/browser/{chunk-Q3Ig-PJ6.js → chunk-DiB8MPYS.js} +1 -1
  31. package/dist/docker-desktop-mx/browser/{chunk-DLpC_2HL.js → chunk-Dp9UsDfH.js} +16 -16
  32. package/dist/docker-desktop-mx/browser/{chunk-Cau4mGeC.js → chunk-DtM-X5Eh.js} +1 -1
  33. package/dist/docker-desktop-mx/browser/{chunk-D5njuWRz.js → chunk-DtY6mcWb.js} +1 -1
  34. package/dist/docker-desktop-mx/browser/{chunk-D86K3m6W.js → chunk-DtbAIphi.js} +1 -1
  35. package/dist/docker-desktop-mx/browser/{chunk-CaR7Z77S2.js → chunk-DvJZmDzM2.js} +1 -1
  36. package/dist/docker-desktop-mx/browser/{chunk-CpNGhf9S.js → chunk-Dy3d-reD.js} +1 -1
  37. package/dist/docker-desktop-mx/browser/chunk-DzyPSjiy2.js +1 -0
  38. package/dist/docker-desktop-mx/browser/{chunk-CphQt55R.js → chunk-MyEYCSP-.js} +1 -1
  39. package/dist/docker-desktop-mx/browser/{chunk-DNfiG-TG.js → chunk-bSfpBwIa.js} +1 -1
  40. package/dist/docker-desktop-mx/browser/{chunk-BNz89YmT2.js → chunk-e16wEMMK.js} +1 -1
  41. package/dist/docker-desktop-mx/browser/{chunk-C7c_wFw-.js → chunk-eoU2TjRt.js} +1 -1
  42. package/dist/docker-desktop-mx/browser/{chunk-gHmeiJFn.js → chunk-xPy8hpGV.js} +1 -1
  43. package/dist/docker-desktop-mx/browser/index.html +2 -2
  44. package/dist/docker-desktop-mx/browser/main-WTPCDZAO.js +1 -0
  45. package/dist/docker-desktop-mx/browser/styles-2WH7TMRX.css +1 -0
  46. package/dist-electron/channels.js +4 -0
  47. package/dist-electron/channels.js.map +1 -1
  48. package/dist-electron/container-adjust.js +182 -0
  49. package/dist-electron/container-adjust.js.map +1 -0
  50. package/dist-electron/exec.js +78 -7
  51. package/dist-electron/exec.js.map +1 -1
  52. package/dist-electron/file-edit.js +206 -0
  53. package/dist-electron/file-edit.js.map +1 -0
  54. package/dist-electron/ipc.js +28 -5
  55. package/dist-electron/ipc.js.map +1 -1
  56. package/dist-electron/log-export.js +5 -4
  57. package/dist-electron/log-export.js.map +1 -1
  58. package/dist-electron/logs.js +26 -10
  59. package/dist-electron/logs.js.map +1 -1
  60. package/dist-electron/preload.js +12 -4
  61. package/dist-electron/preload.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/docker-desktop-mx/browser/chunk-B-8njY4y.js +0 -1
  64. package/dist/docker-desktop-mx/browser/chunk-BYBsnx9-2.js +0 -1
  65. package/dist/docker-desktop-mx/browser/chunk-CpIMiI_l.js +0 -4
  66. package/dist/docker-desktop-mx/browser/chunk-DGnxa3ti2.js +0 -1
  67. package/dist/docker-desktop-mx/browser/chunk-iWbUoQd52.js +0 -6
  68. package/dist/docker-desktop-mx/browser/chunk-sxrgZH0E.js +0 -3
  69. package/dist/docker-desktop-mx/browser/main-UUO74KHR.js +0 -1
  70. package/dist/docker-desktop-mx/browser/styles-IM2TO7ZD.css +0 -1
@@ -1 +1 @@
1
- import{B as Kr,Rt as X,_r as wt,cn as f,cr as ve,f as C,jn as lS,on as eH,rt as Ot}from"./chunk-CpIMiI_l.js";import{n as u$1,t as f$1}from"./chunk-CphQt55R.js";function c(s,t){let e=new Set(s);return e.delete(t),e}var S;var u;var v=f(()=>{Kr();lS();f$1();Kr();S=4e3,u=class s{toast=C(u$1);items=wt([]);measurements=wt(new Map);busy=wt(!1);loadProblem=wt(null);running=wt(new Set);slowStops=wt(new Set);stoppedHere=wt(new Set);containers=this.items.asReadonly();stats=this.measurements.asReadonly();loading=this.busy.asReadonly();problem=this.loadProblem.asReadonly();pending=this.running.asReadonly();slow=this.slowStops.asReadonly();stoppedDeliberately=this.stoppedHere.asReadonly();runningIds=Ot(()=>this.items().filter(t=>t.state===`running`).map(t=>t.id),{equal:(t,e)=>t.length===e.length&&t.every((o,n)=>o===e[n])});constructor(){let t=C(ve);t.onDestroy(window.electron.events.subscribe(e=>{e.includes(`container`)&&this.refresh()})),t.onDestroy(window.electron.containers.onStats(e=>this.applyStats(e)))}async refresh(){this.busy.set(!0);try{this.items.set(await window.electron.containers.list()),this.loadProblem.set(null)}catch(t){this.loadProblem.set(eH(t))}finally{this.busy.set(!1)}}watchStats(t){window.electron.containers.watchStats(t)}async run(t,e){this.running.update(n=>new Set(n).add(e)),(t===`stop`||t===`restart`)&&this.stoppedHere.update(n=>new Set(n).add(e));let o=t===`stop`||t===`restart`?setTimeout(()=>this.slowStops.update(n=>new Set(n).add(e)),S):null;try{let n=await window.electron.containers.action(t,e);n.ok||this.toast.error(n.problem)}finally{o!==null&&clearTimeout(o),this.running.update(n=>c(n,e)),this.slowStops.update(n=>c(n,e))}}async kill(t){this.stoppedHere.update(e=>new Set(e).add(t));try{let e=await window.electron.containers.action(`kill`,t);e.ok||this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}}async runMany(t,e){await Promise.all(e.map(o=>this.run(t,o)))}applyStats(t){let e=new Map(this.measurements());for(let o of t)e.set(o.id,o);this.measurements.set(e)}static ɵfac=function(e){return new(e||s)};static ɵprov=X({token:s,factory:s.ɵfac,providedIn:`root`})}});export{v as n,u as t};
1
+ import{B as Kr,Rt as X,_r as wt,cn as f,cr as ve,f as C,jn as lS,on as eH,rt as Ot}from"./chunk-C3hTwhog.js";import{n as u$1,t as f$1}from"./chunk-MyEYCSP-.js";function c(s,t){let e=new Set(s);return e.delete(t),e}var S;var u;var v=f(()=>{Kr();lS();f$1();Kr();S=4e3,u=class s{toast=C(u$1);items=wt([]);measurements=wt(new Map);busy=wt(!1);loadProblem=wt(null);running=wt(new Set);slowStops=wt(new Set);stoppedHere=wt(new Set);containers=this.items.asReadonly();stats=this.measurements.asReadonly();loading=this.busy.asReadonly();problem=this.loadProblem.asReadonly();pending=this.running.asReadonly();slow=this.slowStops.asReadonly();stoppedDeliberately=this.stoppedHere.asReadonly();runningIds=Ot(()=>this.items().filter(t=>t.state===`running`).map(t=>t.id),{equal:(t,e)=>t.length===e.length&&t.every((o,n)=>o===e[n])});constructor(){let t=C(ve);t.onDestroy(window.electron.events.subscribe(e=>{e.includes(`container`)&&this.refresh()})),t.onDestroy(window.electron.containers.onStats(e=>this.applyStats(e)))}async refresh(){this.busy.set(!0);try{this.items.set(await window.electron.containers.list()),this.loadProblem.set(null)}catch(t){this.loadProblem.set(eH(t))}finally{this.busy.set(!1)}}watchStats(t){window.electron.containers.watchStats(t)}async run(t,e){this.running.update(n=>new Set(n).add(e)),(t===`stop`||t===`restart`)&&this.stoppedHere.update(n=>new Set(n).add(e));let o=t===`stop`||t===`restart`?setTimeout(()=>this.slowStops.update(n=>new Set(n).add(e)),S):null;try{let n=await window.electron.containers.action(t,e);n.ok||this.toast.error(n.problem)}finally{o!==null&&clearTimeout(o),this.running.update(n=>c(n,e)),this.slowStops.update(n=>c(n,e))}}async kill(t){this.stoppedHere.update(e=>new Set(e).add(t));try{let e=await window.electron.containers.action(`kill`,t);e.ok||this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}}async runMany(t,e){await Promise.all(e.map(o=>this.run(t,o)))}applyStats(t){let e=new Map(this.measurements());for(let o of t)e.set(o.id,o);this.measurements.set(e)}static ɵfac=function(e){return new(e||s)};static ɵprov=X({token:s,factory:s.ɵfac,providedIn:`root`})}});export{v as n,u as t};
@@ -1 +1 @@
1
- import{$n as sS,A as HE,B as Kr,Bn as oS,D as Gm,Fn as mj,Gn as pg,Gt as _m,H as Ld,K as My,Kn as pj,Pt as Wm,R as Jm,Tn as jc,cn as f,dr as vk,et as Od,fn as fk,hr as wc,lr as vg,o as Ac,q as Nc,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,xn as hg}from"./chunk-CpIMiI_l.js";import{a as Ni,c as Ri,h as ki,i as Mi,n as Ii,o as Oi$1,p as ho,s as Pi,t as Ai}from"./chunk-DdTfHpyK.js";function H(o,u){if(o&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`div`,5)(4,`span`,6),Gm(5,`app-icon`,7),Nc(),Oi(6,`div`,8)(7,`h2`,9),fk(8),Nc(),Oi(9,`p`,10),fk(10),Nc()()(),Oi(11,`div`,11)(12,`button`,12),Gm(13,`app-icon`,13),fk(14),Nc(),Oi(15,`button`,14),Jm(`click`,function(){Ld(e);return Od(HE().accept())}),Gm(16,`app-icon`,15),fk(17),Nc()()()()}if(o&2){let e=HE();ec(5),Wm(`size`,20),ec(3),pg(e.title()),ec(2),pg(e.description()),ec(3),Wm(`size`,14),ec(),Ac(` `,e.cancelLabel(),` `),ec(2),Wm(`name`,e.confirmIcon())(`size`,14),ec(),Ac(` `,e.shownConfirmLabel(),` `)}}var W;var J=f(()=>{Kr();ho();sS();dS();Kr();W=class o{open=mj(!1);title=jc.required();description=jc.required();confirmLabel=jc(null);confirmIcon=jc(`trash`);confirmed=pj();cancelLabel=Ot(()=>oS().common.cancel);shownConfirmLabel=Ot(()=>this.confirmLabel()??oS().shell.confirmDialog.confirm);accept(){this.open.set(!1),this.confirmed.emit()}static ɵfac=function(e){return new(e||o)};static ɵcmp=wc({type:o,selectors:[[`app-confirm-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],confirmLabel:[1,`confirmLabel`],confirmIcon:[1,`confirmIcon`]},outputs:{open:`openChange`,confirmed:`confirmed`},decls:2,vars:1,consts:[[`rdxAlertDialogRoot`,``,3,`openChange`,`open`],[`rdxAlertDialogPortal`,``],[`rdxAlertDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxAlertDialogViewport`,``,`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxAlertDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[1,`flex`,`gap-3`],[1,`mt-0.5`,`text-danger`],[`name`,`warning`,3,`size`],[1,`min-w-0`],[`rdxAlertDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxAlertDialogDescription`,``,1,`mt-1.5`,`text-[13px]`,`text-ink-300`],[1,`mt-5`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxAlertDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`border-danger`,`bg-danger`,`text-white`,`hover:border-danger`,`hover:bg-danger`,`hover:text-white`,3,`click`],[3,`name`,`size`]],template:function(e,d){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(c){return vk(d.open,c)||(d.open=c),c}),_m(1,H,18,8,`ng-template`,1),Nc()),e&2&&hg(`open`,d.open)},dependencies:[Ni,Ai,Oi$1,ki,Ii,Pi,Mi,Ri,My],encapsulation:2})}});export{W as n,J as t};
1
+ import{$n as sS,A as HE,B as Kr,Bn as oS,D as Gm,Fn as mj,Gn as pg,Gt as _m,H as Ld,K as My,Kn as pj,Pt as Wm,R as Jm,Tn as jc,cn as f,dr as vk,et as Od,fn as fk,hr as wc,lr as vg,o as Ac,q as Nc,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,xn as hg}from"./chunk-C3hTwhog.js";import{a as Ni,c as Ri,h as ki,i as Mi,n as Ii,o as Oi$1,p as ho,s as Pi,t as Ai}from"./chunk-Cl4e4J9q.js";function H(o,u){if(o&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`div`,5)(4,`span`,6),Gm(5,`app-icon`,7),Nc(),Oi(6,`div`,8)(7,`h2`,9),fk(8),Nc(),Oi(9,`p`,10),fk(10),Nc()()(),Oi(11,`div`,11)(12,`button`,12),Gm(13,`app-icon`,13),fk(14),Nc(),Oi(15,`button`,14),Jm(`click`,function(){Ld(e);return Od(HE().accept())}),Gm(16,`app-icon`,15),fk(17),Nc()()()()}if(o&2){let e=HE();ec(5),Wm(`size`,20),ec(3),pg(e.title()),ec(2),pg(e.description()),ec(3),Wm(`size`,14),ec(),Ac(` `,e.cancelLabel(),` `),ec(2),Wm(`name`,e.confirmIcon())(`size`,14),ec(),Ac(` `,e.shownConfirmLabel(),` `)}}var W;var J=f(()=>{Kr();ho();sS();dS();Kr();W=class o{open=mj(!1);title=jc.required();description=jc.required();confirmLabel=jc(null);confirmIcon=jc(`trash`);confirmed=pj();cancelLabel=Ot(()=>oS().common.cancel);shownConfirmLabel=Ot(()=>this.confirmLabel()??oS().shell.confirmDialog.confirm);accept(){this.open.set(!1),this.confirmed.emit()}static ɵfac=function(e){return new(e||o)};static ɵcmp=wc({type:o,selectors:[[`app-confirm-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],confirmLabel:[1,`confirmLabel`],confirmIcon:[1,`confirmIcon`]},outputs:{open:`openChange`,confirmed:`confirmed`},decls:2,vars:1,consts:[[`rdxAlertDialogRoot`,``,3,`openChange`,`open`],[`rdxAlertDialogPortal`,``],[`rdxAlertDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxAlertDialogViewport`,``,`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxAlertDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[1,`flex`,`gap-3`],[1,`mt-0.5`,`text-danger`],[`name`,`warning`,3,`size`],[1,`min-w-0`],[`rdxAlertDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxAlertDialogDescription`,``,1,`mt-1.5`,`text-[13px]`,`text-ink-300`],[1,`mt-5`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxAlertDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`border-danger`,`bg-danger`,`text-white`,`hover:border-danger`,`hover:bg-danger`,`hover:text-white`,3,`click`],[3,`name`,`size`]],template:function(e,d){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(c){return vk(d.open,c)||(d.open=c),c}),_m(1,H,18,8,`ng-template`,1),Nc()),e&2&&hg(`open`,d.open)},dependencies:[Ni,Ai,Oi$1,ki,Ii,Pi,Mi,Ri,My],encapsulation:2})}});export{W as n,J as t};
@@ -1 +1 @@
1
- import{cn as f$1}from"./chunk-CpIMiI_l.js";function r(t){let s=t.lastIndexOf(`/`),n=t.lastIndexOf(`:`);return n>s?{repository:t.slice(0,n),tag:t.slice(n+1)}:{repository:t,tag:`latest`}}function p(t){if(t.length===0||t.length>255)return!1;let s=t.indexOf(`/`),n=s===-1?t:t.slice(0,s);return s!==-1&&(n.includes(`.`)||n.includes(`:`)||n===`localhost`)?$.test(n)&&a.test(t.slice(s+1)):a.test(t)}function A(t){let s=t.indexOf(`/`),n=s===-1?``:t.slice(0,s);return s===-1||!(n.includes(`.`)||n.includes(`:`)||n===`localhost`)||n===`docker.io`||n===`index.docker.io`?null:n}function x(t){return f.test(t)}function d(t){let{repository:s,tag:n}=r(t);return p(s)&&x(n)}function O(t,s,n){let e=t.replace(/@sha256:[0-9a-f]+$/,``);if(!/^(sha256:)?[0-9a-f]{12,64}$/.test(e)){let{repository:c,tag:l}=r(e),o=`${c}${n}:${l}`;if(d(o))return o}return`${s.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[^a-z0-9]+/,``)||`container`}${n}:latest`}var i;var u;var f;var a;var $;var z=f$1(()=>{i=`[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*`,u=`(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)*(?::[0-9]+)?`,f=/^\w[\w.-]{0,127}$/,a=new RegExp(`^${i}(?:/${i})*$`),$=new RegExp(`^${u}$`)});export{z as a,r as i,O as n,d as r,A as t};
1
+ import{cn as f$1}from"./chunk-C3hTwhog.js";function r(t){let s=t.lastIndexOf(`/`),n=t.lastIndexOf(`:`);return n>s?{repository:t.slice(0,n),tag:t.slice(n+1)}:{repository:t,tag:`latest`}}function p(t){if(t.length===0||t.length>255)return!1;let s=t.indexOf(`/`),n=s===-1?t:t.slice(0,s);return s!==-1&&(n.includes(`.`)||n.includes(`:`)||n===`localhost`)?$.test(n)&&a.test(t.slice(s+1)):a.test(t)}function A(t){let s=t.indexOf(`/`),n=s===-1?``:t.slice(0,s);return s===-1||!(n.includes(`.`)||n.includes(`:`)||n===`localhost`)||n===`docker.io`||n===`index.docker.io`?null:n}function x(t){return f.test(t)}function d(t){let{repository:s,tag:n}=r(t);return p(s)&&x(n)}function O(t,s,n){let e=t.replace(/@sha256:[0-9a-f]+$/,``);if(!/^(sha256:)?[0-9a-f]{12,64}$/.test(e)){let{repository:c,tag:l}=r(e),o=`${c}${n}:${l}`;if(d(o))return o}return`${s.toLowerCase().replace(/[^a-z0-9._-]+/g,`-`).replace(/^[^a-z0-9]+/,``)||`container`}${n}:latest`}var i;var u;var f;var a;var $;var z=f$1(()=>{i=`[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*`,u=`(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)*(?::[0-9]+)?`,f=/^\w[\w.-]{0,127}$/,a=new RegExp(`^${i}(?:/${i})*$`),$=new RegExp(`^${u}$`)});export{z as a,r as i,O as n,d as r,A as t};
@@ -1 +1 @@
1
- import{$n as sS,A as HE,An as kk,B as Kr,Bn as oS,Cn as iS,D as Gm,Dn as kE,Gn as pg,Gt as _m,H as Ld,K as My,L as JF,Nt as W,Pt as Wm,R as Jm,Rn as nk,Tt as Ty,Wt as _k,_r as wt,cn as f,cr as ve,dr as vk,et as Od,f as C,fn as fk,hr as wc,ht as Sc,jn as lS,l as BE,lr as vg,mt as SE,o as Ac,on as eH,q as Nc,qt as ag,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,ut as Qm,w as G,xn as hg,xt as Tc}from"./chunk-CpIMiI_l.js";import"./chunk-BsTDUJ3m.js";import{n as u,t as f$1}from"./chunk-CphQt55R.js";import"./chunk-BpQVP_gf.js";import{n as y,t as w}from"./chunk-yYm_2q6C.js";import{i as Ie$1,o as Ne$1}from"./chunk-DS3iAefP.js";import"./chunk-gHmeiJFn.js";import"./chunk-xmDwFpQl.js";import"./chunk-DdTfHpyK.js";import{n as x,t as u$1}from"./chunk-CpNGhf9S.js";import{n as P,t as K}from"./chunk-Cpz4zP5G.js";import{n as W$1,t as J}from"./chunk-D5njuWRz.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Oi(0,`div`,36),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Oi(0,`div`,37),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=$E();Oi(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fk(5),Nc(),kE(6,Se,2,1,`span`,34),kE(7,Ce,2,1,`span`,34),Nc(),Oi(8,`div`,35),fk(9),Nc(),kE(10,ke,2,1,`div`,36),kE(11,we,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}))}),fk(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,Ee,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),pg(e.name),ec(),SE(e.active?6:-1),ec(),SE(e.currentInCli?7:-1),ec(2),pg(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(),Ac(` `,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,de,e.name))}}function Pe(a,n){if(a&1&&(Oi(0,`li`,6),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Ie(a,n){if(a&1){let e=$E();Oi(0,`label`,15)(1,`span`,10),fk(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),pg(e.t().add.username),ec(),nk(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Oi(0,`p`,22),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Oi(0,`p`,43),fk(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=$E();Oi(0,`p`,45),fk(1),Nc(),Oi(2,`div`,46)(3,`code`,47),fk(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))}),fk(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Oi(0,`p`,44),fk(1),Nc(),kE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),SE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Oi(0,`div`,42),kE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),SE(n.ok?1:2))}function Fe(a,n){if(a&1&&kE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;SE((e=HE().results()[t])?0:-1,e)}}var de;var be;var F;var Le;var L;var pe=f(()=>{Ne$1();Kr();w();lS();sS();J();dS();f$1();Kr();de=a=>({$implicit:a}),be=(a,n)=>n.name;F=`:form`,Le=`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(u);t=Ot(()=>oS().settings.servers);form=F;input=Le;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(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?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(F)}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),fk(2),Nc(),Oi(3,`p`,3),fk(4),Nc(),Oi(5,`ul`,4),Sc(6,Te,17,17,`li`,5,be,!1,Pe,2,1,`li`,6),Nc(),Oi(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Oi(10,`h3`,2),fk(11),Nc(),Oi(12,`div`,8)(13,`label`,9)(14,`span`,10),fk(15),Nc(),Oi(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Oi(17,`label`,9)(18,`span`,10),fk(19),Nc(),Oi(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Oi(21,`option`,13),fk(22),Nc(),Oi(23,`option`,14),fk(24),Nc()()(),kE(25,Ie,4,5,`label`,15),Oi(26,`label`,16)(27,`span`,10),fk(28),Nc(),Oi(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Oi(30,`label`,18)(31,`span`,10),fk(32),Nc(),Oi(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Oi(34,`label`,20)(35,`span`,10),fk(36),Nc(),Oi(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),kE(38,De,2,1,`p`,22),kE(39,Me,2,1,`p`,23),Oi(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fk(42),Nc(),Oi(43,`button`,26),Gm(44,`app-icon`,27),fk(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_k),Oi(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Ld(l),vk(t.confirmOpen,_)||(t.confirmOpen=_),Od(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=BE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nk(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nk(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(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),pg(t.t().add.host),ec(),nk(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nk(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(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(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,kk(48,de,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 Ke(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),Br(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Oi(0,`p`,17),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2){let e=HE(),t=HE();ec(),pg(t.lastPrune(e.lastAutoPrune))}}function He(a,n){if(a&1&&(Oi(0,`span`,26),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function je(a,n){if(a&1){let e=$E();Oi(0,`button`,35),Jm(`click`,function(){Ld(e);return Od(HE(2).install())}),fk(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function ze(a,n){if(a&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).check())}),fk(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function We(a,n){if(a&1){let e=$E();Oi(0,`div`,29)(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 Be(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Ge(a,n){if(a&1){let e=$E();Oi(0,`div`,7)(1,`span`,39),fk(2),Nc(),Oi(3,`button`,40),Jm(`click`,function(){Ld(e);return Od(HE(3).clearKey())}),Gm(4,`app-icon`,41),fk(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function qe(a,n){if(a&1){let e=$E();Oi(0,`form`,42),Jm(`submit`,function(l){Ld(e);return Od(HE(3).saveKey(l))}),Oi(1,`label`,43),fk(2),Nc(),Oi(3,`input`,44),Jm(`input`,function(l){Ld(e);return Od(HE(3).keyDraft.set(l.target.value))}),Nc(),Oi(4,`button`,45),fk(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function Je(a,n){a&1&&(Oi(0,`p`,38),fk(1),Nc()),a&2&&(ec(),pg(n))}function Qe(a,n){if(a&1&&(kE(0,Ge,6,3,`div`,7)(1,qe,6,5,`form`,37),kE(2,Je,2,1,`p`,38),Oi(3,`p`,11),fk(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),pg(t.t().assistant.hint)}}function Xe(a,n){if(a&1){let e=$E();Oi(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fk(4),Nc(),Oi(5,`div`,7)(6,`label`,8),fk(7),Nc(),Oi(8,`select`,9),Jm(`change`,function(l){Ld(e);return Od(HE().chooseLanguage(l.target.value))}),Sc(9,Ke,2,4,`option`,10,ce),Nc()(),Oi(11,`p`,11),fk(12),Nc()(),Oi(13,`div`,12)(14,`h2`,6),fk(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),fk(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,Re,2,1,`p`,17),Nc(),Oi(23,`div`,12)(24,`h2`,6),fk(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),fk(34),Nc()(),Oi(35,`div`,12)(36,`h2`,6),fk(37),Nc(),Oi(38,`div`,22)(39,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({autoPrune:l}))}),Nc()(),Oi(40,`p`,11),fk(41),Nc(),kE(42,$e,2,1,`p`,23),Nc(),Oi(43,`div`,24)(44,`div`,25)(45,`h2`,6),fk(46),Nc(),kE(47,He,2,1,`span`,26),kE(48,je,2,1,`button`,27)(49,ze,2,2,`button`,28),Nc(),kE(50,We,2,2,`div`,29),Oi(51,`p`,30),fk(52),Nc()(),Oi(53,`div`,31)(54,`h2`,6),fk(55,`Claude`),Nc(),Oi(56,`div`,32)(57,`label`,33),fk(58),Nc(),Oi(59,`select`,34),Jm(`change`,function(l){Ld(e);return Od(HE().update({assistantModel:l.target.value}))}),Sc(60,Be,2,3,`option`,10,ce),Nc()(),Oi(62,`p`,11),fk(63),Nc(),kE(64,Qe,5,3),Nc()(),Gm(65,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,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),pg(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),pg(s.t().notifications.hint),ec(3),pg(s.t().prune.heading),ec(2),Wm(`label`,s.t().prune.auto)(`on`,l.autoPrune),ec(2),pg(s.t().prune.hint),ec(),SE(l.autoPrune?42:-1),ec(4),pg(s.t().update.heading),ec(),SE((e=s.appUpdate())?47:-1,e),ec(),SE(s.updateState()===`ready`?48:s.updateState()!==`unavailable`?49:-1),ec(2),SE(s.updateState()!==`unavailable`?50:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),SE((t=s.assistant())?64:-1,t)}}var ce;var Ye;var me;f(()=>{Kr();le();sS();lS();K();dS();x();pe();Kr();ce=(a,n)=>n.value;Ye={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Ot(()=>oS().settings);common=Ot(()=>oS().common);languages=Object.keys(JF).map(n=>({value:n,name:JF[n]}));models=se.map(n=>({value:n,name:Ye[n]}));settings=wt(null);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.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))}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{this.settings.set(await window.electron.settings.get())}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-auto-prune`,1,`mt-3`],[`data-testid`,`auto-prune-last`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[`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`],[`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),fk(2),Nc(),Gm(3,`app-page-messages`,2),kE(4,Xe,66,32,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),SE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
1
+ import{$n as sS,A as HE,An as kk,B as Kr,Bn as oS,Cn as iS,D as Gm,Dn as kE,Gn as pg,Gt as _m,H as Ld,K as My,L as JF,Nt as W,Pt as Wm,R as Jm,Rn as nk,Tt as Ty,Wt as _k,_r as wt,cn as f,cr as ve,dr as vk,et as Od,f as C,fn as fk,hr as wc,ht as Sc,jn as lS,l as BE,lr as vg,mt as SE,o as Ac,on as eH,q as Nc,qt as ag,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,ut as Qm,w as G,xn as hg,xt as Tc}from"./chunk-C3hTwhog.js";import"./chunk-DSfTqCF0.js";import{n as u,t as f$1}from"./chunk-MyEYCSP-.js";import"./chunk-DNiq9JXI.js";import{n as y,t as w}from"./chunk-6988XP3w.js";import{i as Ie$1,o as Ne$1}from"./chunk-BG-O4Nb_.js";import"./chunk-xPy8hpGV.js";import"./chunk-B7xGbGa9.js";import"./chunk-Cl4e4J9q.js";import{n as x,t as u$1}from"./chunk-Dy3d-reD.js";import{n as W$1,t as J}from"./chunk-DtY6mcWb.js";import{n as P,t as K}from"./chunk-CzkAHty9.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Oi(0,`span`,34),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Oi(0,`div`,36),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Oi(0,`div`,37),fk(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=$E();Oi(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fk(5),Nc(),kE(6,Se,2,1,`span`,34),kE(7,Ce,2,1,`span`,34),Nc(),Oi(8,`div`,35),fk(9),Nc(),kE(10,ke,2,1,`div`,36),kE(11,we,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}))}),fk(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,Ee,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),pg(e.name),ec(),SE(e.active?6:-1),ec(),SE(e.currentInCli?7:-1),ec(2),pg(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(),Ac(` `,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,de,e.name))}}function Pe(a,n){if(a&1&&(Oi(0,`li`,6),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Ie(a,n){if(a&1){let e=$E();Oi(0,`label`,15)(1,`span`,10),fk(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),pg(e.t().add.username),ec(),nk(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Oi(0,`p`,22),fk(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Oi(0,`p`,43),fk(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=$E();Oi(0,`p`,45),fk(1),Nc(),Oi(2,`div`,46)(3,`code`,47),fk(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))}),fk(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Oi(0,`p`,44),fk(1),Nc(),kE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),SE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Oi(0,`div`,42),kE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),SE(n.ok?1:2))}function Fe(a,n){if(a&1&&kE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;SE((e=HE().results()[t])?0:-1,e)}}var de;var be;var F;var Le;var L;var pe=f(()=>{Ne$1();Kr();w();lS();sS();J();dS();f$1();Kr();de=a=>({$implicit:a}),be=(a,n)=>n.name;F=`:form`,Le=`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(u);t=Ot(()=>oS().settings.servers);form=F;input=Le;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(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?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(F)}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),fk(2),Nc(),Oi(3,`p`,3),fk(4),Nc(),Oi(5,`ul`,4),Sc(6,Te,17,17,`li`,5,be,!1,Pe,2,1,`li`,6),Nc(),Oi(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Oi(10,`h3`,2),fk(11),Nc(),Oi(12,`div`,8)(13,`label`,9)(14,`span`,10),fk(15),Nc(),Oi(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Oi(17,`label`,9)(18,`span`,10),fk(19),Nc(),Oi(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Oi(21,`option`,13),fk(22),Nc(),Oi(23,`option`,14),fk(24),Nc()()(),kE(25,Ie,4,5,`label`,15),Oi(26,`label`,16)(27,`span`,10),fk(28),Nc(),Oi(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Oi(30,`label`,18)(31,`span`,10),fk(32),Nc(),Oi(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Oi(34,`label`,20)(35,`span`,10),fk(36),Nc(),Oi(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),kE(38,De,2,1,`p`,22),kE(39,Me,2,1,`p`,23),Oi(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fk(42),Nc(),Oi(43,`button`,26),Gm(44,`app-icon`,27),fk(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_k),Oi(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Ld(l),vk(t.confirmOpen,_)||(t.confirmOpen=_),Od(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=BE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nk(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nk(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(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),pg(t.t().add.host),ec(),nk(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nk(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(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(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,kk(48,de,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 Ke(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),Br(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Oi(0,`p`,17),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Oi(0,`p`,23),fk(1),Nc()),a&2){let e=HE(),t=HE();ec(),pg(t.lastPrune(e.lastAutoPrune))}}function He(a,n){if(a&1&&(Oi(0,`span`,26),fk(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function je(a,n){if(a&1){let e=$E();Oi(0,`button`,35),Jm(`click`,function(){Ld(e);return Od(HE(2).install())}),fk(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function ze(a,n){if(a&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).check())}),fk(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function We(a,n){if(a&1){let e=$E();Oi(0,`div`,29)(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 Be(a,n){if(a&1&&(Oi(0,`option`,10),fk(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Ge(a,n){if(a&1){let e=$E();Oi(0,`div`,7)(1,`span`,39),fk(2),Nc(),Oi(3,`button`,40),Jm(`click`,function(){Ld(e);return Od(HE(3).clearKey())}),Gm(4,`app-icon`,41),fk(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function qe(a,n){if(a&1){let e=$E();Oi(0,`form`,42),Jm(`submit`,function(l){Ld(e);return Od(HE(3).saveKey(l))}),Oi(1,`label`,43),fk(2),Nc(),Oi(3,`input`,44),Jm(`input`,function(l){Ld(e);return Od(HE(3).keyDraft.set(l.target.value))}),Nc(),Oi(4,`button`,45),fk(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function Je(a,n){a&1&&(Oi(0,`p`,38),fk(1),Nc()),a&2&&(ec(),pg(n))}function Qe(a,n){if(a&1&&(kE(0,Ge,6,3,`div`,7)(1,qe,6,5,`form`,37),kE(2,Je,2,1,`p`,38),Oi(3,`p`,11),fk(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),pg(t.t().assistant.hint)}}function Xe(a,n){if(a&1){let e=$E();Oi(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fk(4),Nc(),Oi(5,`div`,7)(6,`label`,8),fk(7),Nc(),Oi(8,`select`,9),Jm(`change`,function(l){Ld(e);return Od(HE().chooseLanguage(l.target.value))}),Sc(9,Ke,2,4,`option`,10,ce),Nc()(),Oi(11,`p`,11),fk(12),Nc()(),Oi(13,`div`,12)(14,`h2`,6),fk(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),fk(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,Re,2,1,`p`,17),Nc(),Oi(23,`div`,12)(24,`h2`,6),fk(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),fk(34),Nc()(),Oi(35,`div`,12)(36,`h2`,6),fk(37),Nc(),Oi(38,`div`,22)(39,`app-filter-switch`,16),Jm(`onChange`,function(l){Ld(e);return Od(HE().update({autoPrune:l}))}),Nc()(),Oi(40,`p`,11),fk(41),Nc(),kE(42,$e,2,1,`p`,23),Nc(),Oi(43,`div`,24)(44,`div`,25)(45,`h2`,6),fk(46),Nc(),kE(47,He,2,1,`span`,26),kE(48,je,2,1,`button`,27)(49,ze,2,2,`button`,28),Nc(),kE(50,We,2,2,`div`,29),Oi(51,`p`,30),fk(52),Nc()(),Oi(53,`div`,31)(54,`h2`,6),fk(55,`Claude`),Nc(),Oi(56,`div`,32)(57,`label`,33),fk(58),Nc(),Oi(59,`select`,34),Jm(`change`,function(l){Ld(e);return Od(HE().update({assistantModel:l.target.value}))}),Sc(60,Be,2,3,`option`,10,ce),Nc()(),Oi(62,`p`,11),fk(63),Nc(),kE(64,Qe,5,3),Nc()(),Gm(65,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,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),pg(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),pg(s.t().notifications.hint),ec(3),pg(s.t().prune.heading),ec(2),Wm(`label`,s.t().prune.auto)(`on`,l.autoPrune),ec(2),pg(s.t().prune.hint),ec(),SE(l.autoPrune?42:-1),ec(4),pg(s.t().update.heading),ec(),SE((e=s.appUpdate())?47:-1,e),ec(),SE(s.updateState()===`ready`?48:s.updateState()!==`unavailable`?49:-1),ec(2),SE(s.updateState()!==`unavailable`?50:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),SE((t=s.assistant())?64:-1,t)}}var ce;var Ye;var me;f(()=>{Kr();le();sS();lS();K();dS();x();pe();Kr();ce=(a,n)=>n.value;Ye={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Ot(()=>oS().settings);common=Ot(()=>oS().common);languages=Object.keys(JF).map(n=>({value:n,name:JF[n]}));models=se.map(n=>({value:n,name:Ye[n]}));settings=wt(null);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.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))}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{this.settings.set(await window.electron.settings.get())}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-auto-prune`,1,`mt-3`],[`data-testid`,`auto-prune-last`,1,`mt-1`,`text-[12px]`,`text-ink-400`],[`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`],[`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),fk(2),Nc(),Gm(3,`app-page-messages`,2),kE(4,Xe,66,32,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),SE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
@@ -1 +1 @@
1
- import{B as Kr,Dn as kE,Ft as Wr,Tn as jc,cn as f,fn as fk,hr as wc,mt as SE,o as Ac,qn as qr,sn as ec}from"./chunk-CpIMiI_l.js";function y(e,n){e&1&&(qr(0,`p`,0),fk(1),Wr()),e&2&&(ec(),Ac(` `,n,` `))}var u;var x=f(()=>{Kr();Kr();u=class e{problem=jc(null);static ɵfac=function(t){return new(t||e)};static ɵcmp=wc({type:e,selectors:[[`app-page-messages`]],inputs:{problem:[1,`problem`]},decls:1,vars:1,consts:[[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`]],template:function(t,b){if(t&1&&kE(0,y,2,1,`p`,0),t&2){let a;SE((a=b.problem())?0:-1,a)}},encapsulation:2})}});export{x as n,u as t};
1
+ import{B as Kr,Dn as kE,Ft as Wr,Tn as jc,cn as f,fn as fk,hr as wc,mt as SE,o as Ac,qn as qr,sn as ec}from"./chunk-C3hTwhog.js";function y(e,n){e&1&&(qr(0,`p`,0),fk(1),Wr()),e&2&&(ec(),Ac(` `,n,` `))}var u;var x=f(()=>{Kr();Kr();u=class e{problem=jc(null);static ɵfac=function(t){return new(t||e)};static ɵcmp=wc({type:e,selectors:[[`app-page-messages`]],inputs:{problem:[1,`problem`]},decls:1,vars:1,consts:[[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`]],template:function(t,b){if(t&1&&kE(0,y,2,1,`p`,0),t&2){let a;SE((a=b.problem())?0:-1,a)}},encapsulation:2})}});export{x as n,u as t};
@@ -0,0 +1 @@
1
+ import{$n as sS,A as HE,B as Kr,Bn as oS,D as Gm,Dn as kE,Et as UE,Gn as pg,H as Ld,K as My,On as kc,Pn as mg,Pt as Wm,Qn as rg,R as Jm,Rn as nk,Rt as X,St as Tg,Tn as jc,Zn as rf,_r as wt,cn as f,cr as ve,dr as vk,et as Od,f as C,fn as fk,gn as gj,h as Cj,hr as wc,ht as Sc,lr as vg,mt as SE,o as Ac,q as Nc,qt as ag,rn as dS,rt as Ot,sn as ec,t as $E,tt as Oi,u as Br,xn as hg,xt as Tc}from"./chunk-C3hTwhog.js";import"./chunk-MyEYCSP-.js";import"./chunk-BG-O4Nb_.js";import{n as o,t as i}from"./chunk-bSfpBwIa.js";import"./chunk-xPy8hpGV.js";import{n as p,t as M}from"./chunk-5u_BJ6JX.js";import{n as v,t as u}from"./chunk-DtM-X5Eh.js";import{r as Q,s as fe,u as ra}from"./chunk-BEtYD0_3.js";import{n as P,t as K}from"./chunk-CzkAHty9.js";import{a as T,c as j,i as H,n as B,o as U,r as G,s as V,t as $}from"./chunk-DeEfJWMH2.js";var de;var D;var pe=f(()=>{Kr();v();M();Kr();de=5e3,D=class i{store=C(u);project=C(p).choice(`logs.project`);buffer=wt([]);dropped=wt(!1);following=wt(!1);lines=this.buffer.asReadonly();truncated=this.dropped.asReadonly();active=this.following.asReadonly();sources=Ot(()=>this.store.containers().filter(e=>e.state===`running`).filter(e=>this.project()===null||e.composeProject===this.project()).map(e=>({containerId:e.id,containerName:e.name,composeProject:e.composeProject,composeService:e.composeService})),{equal:(e,t)=>e.length===t.length&&e.every((n,d)=>n.containerId===t[d].containerId)});constructor(){let e=C(ve);e.onDestroy(window.electron.logs.onAllLines(t=>this.append(t))),rf(()=>{let t=this.following()?this.sources():[];window.electron.logs.watchAll(t)}),e.onDestroy(()=>{window.electron.logs.watchAll([])})}attach(){this.following.set(!0)}detach(){this.following.set(!1)}clear(){this.buffer.set([]),this.dropped.set(!1)}async follow(e){e!==this.project()&&(await window.electron.logs.watchAll([]),this.clear(),this.project.set(e))}append(e){if(!this.following())return;let t=[...this.buffer(),...e];if(t.length>de){this.dropped.set(!0),this.buffer.set(t.slice(t.length-de));return}this.buffer.set(t)}static ɵfac=function(t){return new(t||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});function we(i,e){return this.trackId(e)}function Se(i,e){if(i&1&&(Oi(0,`option`,37),fk(1),Nc()),i&2){let t=e.$implicit,n=HE(2);Wm(`value`,t)(`selected`,n.project()===t),ec(),pg(t)}}function Le(i,e){if(i&1){let t=$E();Oi(0,`select`,35),Jm(`change`,function(d){Ld(t);return Od(HE().chooseProject(d.target.value))}),Oi(1,`option`,36),fk(2),Nc(),Sc(3,Se,2,3,`option`,37,kc),Nc()}if(i&2){let t=HE();Br(`aria-label`,t.t().projectLabel),ec(),Wm(`selected`,t.project()===null),ec(),pg(t.t().allProjects),ec(),Tc(t.projects())}}function ke(i,e){if(i&1&&(Oi(0,`span`,18),fk(1),Nc()),i&2){let t=HE();ec(),mg(`(`,t.sources().length-t.hidden().size,`/`,t.sources().length,`)`)}}function Pe(i,e){if(i&1){let t=$E();Oi(0,`label`,38)(1,`input`,41),Jm(`change`,function(){let d=Ld(t).$implicit;return Od(HE(2).toggleSource(d.containerId))}),Nc(),Oi(2,`span`,42),fk(3),Nc()()}if(i&2){let t=e.$implicit,n=HE(2);ec(),Wm(`checked`,!n.hidden().has(t.containerId)),ec(2),pg(n.labelOf(t.containerId))}}function Ee(i,e){if(i&1&&(Oi(0,`p`,39),fk(1),Nc()),i&2){let t=HE(2);ec(),pg(t.t().nothingRunning)}}function Te(i,e){if(i&1){let t=$E();Oi(0,`button`,43),Jm(`click`,function(){Ld(t);return Od(HE(2).showAllSources())}),fk(1),Nc()}if(i&2){let t=HE(2);ec(),Ac(` `,t.t().showAll,` `)}}function Ie(i,e){if(i&1&&(Oi(0,`div`,19),Sc(1,Pe,4,2,`label`,38,Ce,!1,Ee,2,1,`p`,39),kE(4,Te,2,1,`button`,40),Nc()),i&2){let t=HE();ec(),Tc(t.sources()),ec(3),SE(t.hidden().size>0?4:-1)}}function je(i,e){i&1&&(Oi(0,`p`,23),fk(1),Nc()),i&2&&(ec(),pg(e))}function Me(i,e){i&1&&Gm(0,`col`,26)}function De(i,e){if(i&1&&(Oi(0,`th`,30),fk(1),Nc()),i&2){let t=HE();ec(),pg(t.t().columns.time)}}function Ne(i,e){if(i&1&&(Oi(0,`td`,44),fk(1),Nc()),i&2){let t=HE().$implicit;ec(),pg(t.time)}}function Re(i,e){if(i&1&&(Oi(0,`tr`,32),kE(1,Ne,2,1,`td`,44),Oi(2,`td`,45),fk(3),Nc(),Oi(4,`td`,46),fk(5),Nc()()),i&2){let t=e.$implicit,n=HE();ec(),SE(n.showTimestamps()?1:-1),ec(),Wm(`title`,t.object),ec(),pg(t.object),ec(),nk(n.colorOf(t.level)),ec(),Ac(` `,t.text,` `)}}function Oe(i,e){if(i&1&&fk(0),i&2){let t=HE(2);Ac(` `,t.t().allFiltered(t.hiddenCount()),` `)}}function ze(i,e){if(i&1&&fk(0),i&2)Ac(` `,HE(2).t().empty,` `)}function Ve(i,e){if(i&1&&(Oi(0,`tr`)(1,`td`,47),kE(2,Oe,1,1)(3,ze,1,1),Nc()()),i&2){let t=HE();ec(),Br(`colspan`,t.showTimestamps()?3:2),ec(),SE(t.hiddenCount()>0?2:3)}}function Fe(i,e){if(i&1&&(Oi(0,`span`),fk(1),Nc()),i&2){let t=HE();ec(),pg(t.t().filteredOut(t.hiddenCount()))}}function Ae(i,e){if(i&1&&(Oi(0,`span`,34),fk(1),Nc()),i&2){let t=HE();ec(),pg(t.t().truncated)}}var be;var Ce;var me;f(()=>{Kr();ra();o();v();V();pe();M();sS();K();dS();$();Kr();be=[`viewport`];Ce=(i,e)=>e.containerId;me=class i$1{logs=C(D);containers=C(u);preferences=C(p);viewport=gj(`viewport`);stick=!0;t=Ot(()=>oS().logs);truncated=this.logs.truncated;search=wt(``);caseSensitive=this.preferences.flag(`logs.caseSensitive`);showTimestamps=this.preferences.flag(`logs.allTimestamps`,!0);filterOpen=wt(!1);hidden=this.preferences.names(`logs.hiddenSources`);matcher=Ot(()=>j(this.search(),this.caseSensitive()));sources=Ot(()=>[...this.logs.sources()].sort((e,t)=>this.labelOf(e.containerId).localeCompare(this.labelOf(t.containerId))));levels=wt(new Set);matching=Ot(()=>{let e=this.matcher(),t=this.hidden();return this.logs.lines().filter(n=>!t.has(n.source.containerId)&&e.test(n.text)).map(n=>this.toRow(n))});levelCounts=Ot(()=>U(this.matching().map(e=>e.level)));rows=Ot(()=>{let e=this.levels();return e.size===0?this.matching():this.matching().filter(t=>H(t.level,e))});problem=Ot(()=>this.matcher().problem);hiddenCount=Ot(()=>this.logs.lines().length-this.rows().length);trackId=e=>e.id;project=this.logs.project;projects=Ot(()=>[...new Set(this.containers.containers().filter(e=>e.state===`running`&&e.composeProject!==null).map(e=>e.composeProject))].sort((e,t)=>e.localeCompare(t)));volg=jc(void 0);router=C(fe);route=C(Q);constructor(){rf(()=>{let e=this.volg();e!==void 0&&Tg(()=>{this.logs.follow(e),i(this.router,this.route,`volg`)})}),this.logs.attach(),C(ve).onDestroy(()=>this.logs.detach()),Cj(()=>{let e=this.rows().length,t=this.viewport()?.nativeElement;t===void 0||e===0||!this.stick||(t.scrollTop=t.scrollHeight)}),this.containers.refresh()}onScroll(e){let t=e.target;this.stick=t.scrollTop+t.clientHeight>=t.scrollHeight-24}colorOf(e){return e===null?`text-ink-300`:G[e]}toggleSource(e){let t=new Set(this.hidden());t.delete(e)||t.add(e),this.hidden.set(t)}chooseProject(e){this.logs.follow(e===``?null:e)}showAllSources(){this.hidden.set(new Set)}clear(){this.logs.clear()}labelOf(e){let t=this.logs.sources().find(n=>n.containerId===e);return t===void 0?e.slice(0,12):this.nameOf(t)}nameOf(e){if(e.composeProject===null)return e.containerName;let t=e.composeService??e.containerName;return this.logs.project()===null?`${e.composeProject}/${t}`:t}toRow(e){return{id:e.id,time:e.timestamp===null?``:e.timestamp.slice(11,19),object:this.nameOf(e.source),text:e.text,level:B(e.text)}}static ɵfac=function(t){return new(t||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-logs-page`]],viewQuery:function(t,n){t&1&&rg(n.viewport,be,5),t&2&&UE()},inputs:{volg:[1,`volg`]},decls:54,vars:40,consts:[[`viewport`,``],[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,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-2`],[`data-testid`,`logs-project`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-2.5`,`py-1`,`text-[13px]`,`text-ink-100`],[1,`relative`],[1,`pointer-events-none`,`absolute`,`top-1/2`,`left-2.5`,`-translate-y-1/2`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-96`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`title`],[`name`,`code`,3,`size`],[3,`chosenChange`,`chosen`,`errors`,`warnings`],[`type`,`button`,`aria-haspopup`,`true`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`containers`,3,`size`],[1,`text-[11px]`],[1,`absolute`,`left-0`,`z-50`,`mt-1.5`,`max-h-80`,`w-72`,`overflow-y-auto`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`p-1`,`shadow-2xl`],[3,`onChange`,`label`,`on`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`eraser`,3,`size`],[1,`mt-3`,`rounded-md`,`border`,`border-warn/40`,`bg-warn/10`,`px-3`,`py-2`,`text-[13px]`,`text-warn`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-4`,3,`scroll`],[1,`w-full`,`table-fixed`,`border-collapse`,`text-[12px]`],[1,`w-20`],[1,`w-56`],[1,`sticky`,`top-0`,`bg-ink-900`],[1,`border-b`,`border-ink-700`,`text-left`,`text-ink-400`],[`scope`,`col`,1,`px-2`,`py-1.5`,`font-medium`],[1,`font-mono`],[1,`align-top`,`hover:bg-ink-850`],[1,`flex`,`shrink-0`,`items-center`,`gap-3`,`px-6`,`pb-4`,`text-[12px]`,`text-ink-500`],[1,`text-warn`],[`data-testid`,`logs-project`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-2.5`,`py-1`,`text-[13px]`,`text-ink-100`,3,`change`],[`value`,``,3,`selected`],[3,`value`,`selected`],[1,`flex`,`cursor-pointer`,`items-center`,`gap-2`,`rounded`,`px-2`,`py-1.5`,`text-[12px]`,`text-ink-300`,`hover:bg-ink-850`],[1,`px-2`,`py-3`,`text-center`,`text-[12px]`,`text-ink-500`],[`type`,`button`,1,`mx-focus`,`mt-1`,`w-full`,`cursor-pointer`,`rounded`,`px-2`,`py-1.5`,`text-left`,`text-[12px]`,`text-accent`,`hover:bg-ink-850`],[`type`,`checkbox`,1,`mx-focus`,`accent-accent`,3,`change`,`checked`],[1,`min-w-0`,`flex-1`,`truncate`],[`type`,`button`,1,`mx-focus`,`mt-1`,`w-full`,`cursor-pointer`,`rounded`,`px-2`,`py-1.5`,`text-left`,`text-[12px]`,`text-accent`,`hover:bg-ink-850`,3,`click`],[1,`px-2`,`py-0.5`,`tabular-nums`,`text-ink-500`],[1,`truncate`,`px-2`,`py-0.5`,`text-accent`,3,`title`],[`data-testid`,`log-row`,1,`px-2`,`py-0.5`,`break-all`,`whitespace-pre-wrap`],[1,`px-2`,`py-10`,`text-center`,`font-sans`,`text-ink-400`]],template:function(t,n){if(t&1){let d=$E();Oi(0,`section`,1)(1,`div`,2)(2,`div`,3)(3,`div`)(4,`h1`,4),fk(5),Nc(),Oi(6,`p`,5),fk(7),Nc()()(),Oi(8,`div`,6),kE(9,Le,5,3,`select`,7),Oi(10,`label`,8)(11,`span`,9),Gm(12,`app-icon`,10),Nc(),Oi(13,`span`,11),fk(14),Nc(),Oi(15,`input`,12),Jm(`input`,function(f){return n.search.set(f.target.value)}),Nc()(),Oi(16,`button`,13),Jm(`click`,function(){return n.caseSensitive.set(!n.caseSensitive())}),Gm(17,`app-icon`,14),fk(18,` Aa `),Nc(),Oi(19,`app-level-filter`,15),vg(`chosenChange`,function(f){return Ld(d),vk(n.levels,f)||(n.levels=f),Od(f)}),Nc(),Oi(20,`div`,8)(21,`button`,16),Jm(`click`,function(){return n.filterOpen.set(!n.filterOpen())}),Gm(22,`app-icon`,17),fk(23),kE(24,ke,2,2,`span`,18),Nc(),kE(25,Ie,5,2,`div`,19),Nc(),Oi(26,`app-filter-switch`,20),vg(`onChange`,function(f){return Ld(d),vk(n.showTimestamps,f)||(n.showTimestamps=f),Od(f)}),Nc(),Oi(27,`button`,21),Jm(`click`,function(){return n.clear()}),Gm(28,`app-icon`,22),fk(29),Nc()(),kE(30,je,2,1,`p`,23),Nc(),Oi(31,`div`,24,0),Jm(`scroll`,function(f){return n.onScroll(f)}),Oi(33,`table`,25)(34,`colgroup`),kE(35,Me,1,0,`col`,26),Gm(36,`col`,27)(37,`col`),Nc(),Oi(38,`thead`,28)(39,`tr`,29),kE(40,De,2,1,`th`,30),Oi(41,`th`,30),fk(42),Nc(),Oi(43,`th`,30),fk(44),Nc()()(),Oi(45,`tbody`,31),Sc(46,Re,6,6,`tr`,32,we,!0,Ve,4,2,`tr`),Nc()()(),Oi(49,`div`,33)(50,`span`),fk(51),Nc(),kE(52,Fe,2,1,`span`),kE(53,Ae,2,1,`span`,34),Nc()()}if(t&2){let d;ec(5),pg(n.t().title),ec(2),pg(n.t().intro),ec(2),SE(n.projects().length>0?9:-1),ec(3),Wm(`size`,14),ec(2),pg(n.t().searchLabel),ec(),Wm(`placeholder`,n.t().searchPlaceholder)(`value`,n.search()),ec(),ag(`border-accent`,n.caseSensitive())(`text-accent`,n.caseSensitive()),Wm(`title`,n.t().caseSensitive),Br(`aria-pressed`,n.caseSensitive())(`aria-label`,n.t().caseSensitive),ec(),Wm(`size`,14),ec(2),hg(`chosen`,n.levels),Wm(`errors`,n.levelCounts().error)(`warnings`,n.levelCounts().warn),ec(2),ag(`border-accent`,n.hidden().size>0)(`text-accent`,n.hidden().size>0),Br(`aria-expanded`,n.filterOpen()),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().containers,` `),ec(),SE(n.hidden().size>0?24:-1),ec(),SE(n.filterOpen()?25:-1),ec(),Wm(`label`,n.t().timestamps),hg(`on`,n.showTimestamps),ec(2),Wm(`size`,14),ec(),Ac(` `,n.t().clear,` `),ec(),SE((d=n.problem())?30:-1,d),ec(5),SE(n.showTimestamps()?35:-1),ec(5),SE(n.showTimestamps()?40:-1),ec(2),pg(n.t().columns.object),ec(2),pg(n.t().columns.line),ec(2),Tc(n.rows()),ec(5),pg(n.t().lineCount(n.rows().length)),ec(),SE(n.hiddenCount()>0?52:-1),ec(),SE(n.truncated()?53:-1)}},dependencies:[My,P,T],encapsulation:2})}})();export{me as LogsPage};
@@ -1 +1 @@
1
- import{B as Kr,Nt as W,Rt as X,_r as wt,cn as f$1,w as G}from"./chunk-CpIMiI_l.js";var y;var m;var T;var u;var f=f$1(()=>{Kr();Kr();y={success:5e3,error:0},m=4,T=200,u=class o{items=wt([]);counter=0;toasts=this.items.asReadonly();add(t){this.counter+=1;let e=t.type??`success`,r={id:this.counter,title:t.title??null,description:t.description,type:e,timeout:t.timeout??y[e],closing:!1},l=this.items().filter(n=>!(n.description===r.description&&n.type===r.type));return this.items.set([...l,r].slice(-m)),r.id}success(t,e){return this.add(W({description:t,type:`success`},e===void 0?{}:{title:e}))}error(t,e){return this.add(W({description:t,type:`error`},e===void 0?{}:{title:e}))}close(t){this.items.update(e=>e.map(r=>r.id===t?G(W({},r),{closing:!0}):r)),setTimeout(()=>this.items.update(e=>e.filter(r=>r.id!==t)),T)}static ɵfac=function(e){return new(e||o)};static ɵprov=X({token:o,factory:o.ɵfac,providedIn:`root`})}});export{u as n,f as t};
1
+ import{B as Kr,Nt as W,Rt as X,_r as wt,cn as f$1,w as G}from"./chunk-C3hTwhog.js";var y;var m;var T;var u;var f=f$1(()=>{Kr();Kr();y={success:5e3,error:0},m=4,T=200,u=class o{items=wt([]);counter=0;toasts=this.items.asReadonly();add(t){this.counter+=1;let e=t.type??`success`,r={id:this.counter,title:t.title??null,description:t.description,type:e,timeout:t.timeout??y[e],closing:!1},l=this.items().filter(n=>!(n.description===r.description&&n.type===r.type));return this.items.set([...l,r].slice(-m)),r.id}success(t,e){return this.add(W({description:t,type:`success`},e===void 0?{}:{title:e}))}error(t,e){return this.add(W({description:t,type:`error`},e===void 0?{}:{title:e}))}close(t){this.items.update(e=>e.map(r=>r.id===t?G(W({},r),{closing:!0}):r)),setTimeout(()=>this.items.update(e=>e.filter(r=>r.id!==t)),T)}static ɵfac=function(e){return new(e||o)};static ɵprov=X({token:o,factory:o.ɵfac,providedIn:`root`})}});export{u as n,f as t};
@@ -1 +1 @@
1
- import{cn as f}from"./chunk-CpIMiI_l.js";function i(e,r,t){e.navigate([],{relativeTo:r,queryParams:{[t]:null},queryParamsHandling:`merge`,replaceUrl:!0})}var o=f(()=>{});export{o as n,i as t};
1
+ import{cn as f}from"./chunk-C3hTwhog.js";function i(e,r,t){e.navigate([],{relativeTo:r,queryParams:{[t]:null},queryParamsHandling:`merge`,replaceUrl:!0})}var o=f(()=>{});export{o as n,i as t};
@@ -1 +1 @@
1
- import{$n as sS,A as HE,B as Kr,Bn as oS,Cr as yk,D as Gm,Dn as kE,Et as UE,Fn as mj,Gn as pg,Gt as _m,H as Ld,K as My,Kn as pj,Nt as W,On as kc,Pn as mg,Pt as Wm,Q as OD,Qn as rg,Qt as bg,R as Jm,Rn as nk,St as Tg,Tn as jc,Zn as rf,_r as wt$1,cn as f,cr as ve,dr as vk,en as bk,er as sg,et as Od,f as C,fn as fk,gn as gj,hr as wc,ht as Sc,jn as lS,kn as ke$1,lr as vg,mt as SE,o as Ac,on as eH,q as Nc,qt as ag,rn as dS,rt as Ot$1,sn as ec,t as $E,tt as Oi,u as Br,xn as hg,xt as Tc,yt as TE}from"./chunk-CpIMiI_l.js";import{n as u,t as f$1}from"./chunk-CphQt55R.js";import"./chunk-DS3iAefP.js";import{i as h,n as N,r as d}from"./chunk-Q3Ig-PJ6.js";import{n as h$1,t as P}from"./chunk-DnY7-enP.js";import{n as o,t as i}from"./chunk-DNfiG-TG.js";import{n as p,t as M}from"./chunk-CjySsWe4.js";import"./chunk-gHmeiJFn.js";import"./chunk-xmDwFpQl.js";import{_ as pn$1,d as dn$1,f as fn$1,g as ln$1,l as an$1,m as ie,r as Je$1,u as cn$1,v as un$1}from"./chunk-DdTfHpyK.js";import{n as x,t as u$1}from"./chunk-CpNGhf9S.js";import{r as Q,s as fe,u as ra}from"./chunk-B1xjyPnV.js";import{n as P$1,t as K}from"./chunk-Cpz4zP5G.js";import{n as V,t as G}from"./chunk-C7c_wFw-.js";import{n as W$1,t as J}from"./chunk-D5njuWRz.js";import{i as z,n as oe,r as x$1}from"./chunk-Bxte2YBm.js";import{a as z$1,i as r,r as d$1,t as A}from"./chunk-D86K3m6W.js";function gt(i,t){i&1&&(Oi(0,`p`,13),fk(1),Nc()),i&2&&(ec(),pg(t))}function _t(i,t){if(i&1&&(Oi(0,`p`,14),fk(1),Nc()),i&2){let e=HE(3);ec(),pg(e.t().empty)}}function xt(i,t){if(i&1&&(Oi(0,`span`,20),fk(1),Nc()),i&2){let e=HE(5);ec(),pg(e.t().noSize)}}function ft(i,t){if(i&1){let e=$E();Oi(0,`li`,16)(1,`span`,17),fk(2),Nc(),Oi(3,`button`,18),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(4).toggle(l))}),Oi(4,`pre`,19),fk(5),Nc(),kE(6,xt,2,1,`span`,20),Nc()()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(4);ec(),nk(e.sizeBytes===0?`text-ink-600`:`text-ink-200`),ec(),Ac(` `,e.sizeBytes===0?`—`:l.size(e),` `),ec(),Br(`aria-label`,l.t().expand)(`aria-expanded`,l.isOpen(n)),ec(),ag(`line-clamp-2`,!l.isOpen(n)),ec(),pg(e.instruction),ec(),SE(e.sizeBytes===0?6:-1)}}function yt(i,t){if(i&1&&(Oi(0,`ul`,15),Sc(1,ft,7,9,`li`,16,TE),Nc()),i&2){let e=HE(3);ec(),Tc(e.layers())}}function ht(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc(),kE(2,gt,2,1,`p`,13),kE(3,_t,2,1,`p`,14)(4,yt,3,0,`ul`,15)),i&2){let e,n=HE(2);ec(),pg(n.summary()),ec(),SE((e=n.packed())?2:-1,e),ec(),SE(n.layers().length===0?3:4)}}function vt(i,t){if(i&1&&(Oi(0,`p`,7),fk(1),Nc()),i&2){let e=HE(2);ec(),Ac(` `,e.problem(),` `)}}function bt(i,t){if(i&1&&(Oi(0,`p`,8),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().loading)}}function wt(i,t){if(i&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),kE(7,ht,5,3)(8,vt,2,1,`p`,7)(9,bt,2,1,`p`,8),Oi(10,`div`,9)(11,`button`,10),Gm(12,`app-icon`,11),fk(13),Nc()()()()),i&2){let e,n=HE();ec(4),pg(n.t().title(n.reference())),ec(2),pg(n.t().description),ec(),SE((e=n.result()?.ok)===!0?7:e===!1?8:9),ec(5),Wm(`size`,14),ec(),Ac(` `,n.common().close,` `)}}var we;var Je=f(()=>{Kr();Je$1();lS();h();dS();sS();Kr();we=class i{open=mj(!1);reference=jc.required();t=Ot$1(()=>oS().images.layers);common=Ot$1(()=>oS().common);result=wt$1(null);expanded=wt$1(new Set);constructor(){rf(()=>{if(!this.open())return;let t=this.reference();Tg(()=>{this.load(t)})})}layers(){let t=this.result();return t?.ok===!0?t.layers:[]}summary(){let t=this.result();return t?.ok===!0?this.t().summary(t.layers.length,d(t.imageBytes)):``}packed(){let t=this.result();return t?.ok!==!0||t.imageBytes===0||t.layersBytes>=t.imageBytes*.95?null:this.t().packed(d(t.layersBytes))}problem(){let t=this.result();return t?.ok===!1?t.problem:``}size(t){return d(t.sizeBytes)}isOpen(t){return this.expanded().has(t)}toggle(t){this.expanded.update(e=>{let n=new Set(e);return n.delete(t)||n.add(t),n})}async load(t){this.result.set(null),this.expanded.set(new Set);try{this.result.set(await window.electron.images.history(t))}catch(e){this.result.set({ok:!1,problem:eH(e)})}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-layers-dialog`]],inputs:{open:[1,`open`],reference:[1,`reference`]},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`,`layers-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-3xl`,`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-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`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`data-testid`,`layers-summary`,1,`mt-3`,`text-[12px]`,`text-ink-500`],[`data-testid`,`layers-packed`,1,`mt-1`,`text-[12px]`,`text-ink-600`],[1,`mt-3`,`text-[13px]`,`text-ink-400`],[`data-testid`,`layer-list`,1,`mt-3`,`min-h-0`,`flex-1`,`divide-y`,`divide-ink-800`,`overflow-auto`],[1,`flex`,`gap-4`,`py-2.5`],[1,`w-24`,`shrink-0`,`text-right`,`text-[12px]`],[`type`,`button`,1,`mx-focus`,`min-w-0`,`flex-1`,`cursor-pointer`,`text-left`,3,`click`],[1,`font-mono`,`text-[12px]`,`leading-relaxed`,`whitespace-pre-wrap`,`text-ink-200`],[1,`mt-0.5`,`block`,`text-[11px]`,`text-ink-600`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,wt,14,5,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function kt(i,t){if(i&1&&(Oi(0,`span`,22),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().official)}}function Dt(i,t){if(i&1){let e=$E();Oi(0,`li`)(1,`button`,20),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE(3).choose(l))}),Oi(2,`span`,21),fk(3),Nc(),kE(4,kt,2,1,`span`,22),Oi(5,`span`,23),fk(6),Nc(),Oi(7,`span`,24),fk(8),Nc()()()}if(i&2){let e=t.$implicit,n=HE(3);ec(3),pg(e.name),ec(),SE(e.official?4:-1),ec(),Wm(`title`,e.description),ec(),pg(e.description),ec(2),pg(n.t().stars(e.stars))}}function St(i,t){if(i&1&&(Oi(0,`div`,11)(1,`p`,18),fk(2),Nc(),Oi(3,`ul`,19),Sc(4,Dt,9,5,`li`,null,Xe),Nc()()),i&2){let e=HE(2);ec(2),pg(e.t().hits),ec(2),Tc(e.hits())}}function It(i,t){if(i&1&&(Oi(0,`div`,27)(1,`span`,28),fk(2),Nc(),Oi(3,`span`,29),fk(4),Nc(),Oi(5,`span`,30),Gm(6,`span`,31),Nc(),Oi(7,`span`,32),fk(8),Nc()()),i&2){let e=t.$implicit,n=HE(4);ec(),Wm(`title`,e.id),ec(),pg(e.id),ec(),Wm(`title`,e.status),ec(),pg(e.status),ec(2),sg(`width`,n.percentOf(e),`%`),ec(2),pg(n.sizeOf(e.total))}}function Et(i,t){if(i&1&&(Oi(0,`div`,26),Sc(1,It,9,7,`div`,27,Ct),Nc()),i&2){let e=HE();ec(),Tc(e.layers)}}function Tt(i,t){if(i&1&&(Oi(0,`p`,25),fk(1),Nc(),kE(2,Et,3,0,`div`,26)),i&2){let e=t;ag(`text-danger`,e.problem)(`text-ink-300`,!e.problem),ec(),Ac(` `,e.problem??e.message,` `),ec(),SE(e.layers.length>0?2:-1)}}function Pt(i,t){if(i&1&&(Oi(0,`li`)(1,`span`,7),fk(2),Nc(),Oi(3,`span`,36),fk(4),Nc()()),i&2){let e=t.$implicit,n=HE(3);ec(2),pg(e.services.join(`, `)),ec(2),Ac(` `,n.t().inProject(e.name))}}function Mt(i,t){if(i&1&&(Oi(0,`li`)(1,`span`,7),fk(2),Nc(),Oi(3,`span`,36),fk(4),Nc()()),i&2){let e=t.$implicit,n=HE(3);ec(2),pg(e),ec(2),Ac(` — `,n.t().notCompose)}}function Rt(i,t){if(i&1&&(Oi(0,`p`,37),fk(1),Nc()),i&2){let e=HE(),n=HE(3);ec(),pg(n.t().renewed(e.renewed.join(`, `)))}}function Nt(i,t){if(i&1&&(Oi(0,`p`,38),fk(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e)}}function Vt(i,t){if(i&1&&(kE(0,Rt,2,1,`p`,37),Sc(1,Nt,2,1,`p`,38,kc)),i&2){let e=t;SE(e.renewed.length>0?0:-1),ec(),Tc(e.problems)}}function Bt(i,t){if(i&1){let e=$E();Oi(0,`div`,35)(1,`button`,39),Jm(`click`,function(){Ld(e);return Od(HE(3).renew())}),Gm(2,`app-icon`,40),fk(3),Nc(),Oi(4,`span`,41),fk(5),Nc()()}if(i&2){let e=HE(3);ec(),Wm(`disabled`,e.renewing()),ec(),Wm(`size`,14),ec(),Ac(` `,e.renewing()?e.t().renewing:e.t().renew,` `),ec(2),pg(e.t().renewHint)}}function zt(i,t){if(i&1&&(Oi(0,`div`,12)(1,`p`,33),fk(2),Nc(),Oi(3,`ul`,34),Sc(4,Pt,5,2,`li`,null,Xe),Sc(6,Mt,5,2,`li`,null,kc),Nc(),kE(8,Vt,3,1)(9,Bt,6,4,`div`,35),Nc()),i&2){let e,n=t,l=HE(2);ec(2),pg(l.t().staleHeading),ec(2),Tc(n.projects),ec(2),Tc(n.loose),ec(2),SE((e=l.renewed())?8:n.projects.length>0?9:-1,e)}}function Ot(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Oi(7,`code`,7),fk(8,`nginx:stable-alpine`),Nc(),fk(9),Oi(10,`code`,7),fk(11,`latest`),Nc(),fk(12),Nc(),Oi(13,`form`,8),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(14,`label`,9),fk(15),Nc(),Oi(16,`input`,10),Jm(`input`,function(l){Ld(e);return Od(HE().onType(l.target.value))}),Nc()(),kE(17,St,6,1,`div`,11),kE(18,Tt,3,6),kE(19,zt,10,2,`div`,12),Oi(20,`div`,13)(21,`button`,14),Gm(22,`app-icon`,15),fk(23),Nc(),Oi(24,`button`,16),Gm(25,`app-icon`,17),fk(26),Nc()()()()}if(i&2){let e,n,l=HE();ec(4),pg(l.t().title),ec(2),Ac(` `,l.t().nameAndTag,` `),ec(3),Ac(`. `,l.t().withoutTag,` `),ec(3),Ac(` `,l.t().isUsed,` `),ec(3),pg(l.t().inputLabel),ec(),Wm(`value`,l.reference())(`disabled`,l.busy()),ec(),SE(l.hits().length>0&&l.progress()===null&&!l.busy()?17:-1),ec(),SE((e=l.progress())?18:-1,e),ec(),SE((n=l.staleShown())?19:-1,n),ec(3),Wm(`size`,14),ec(),Ac(` `,l.finished()?l.common().close:l.common().cancel,` `),ec(),Wm(`disabled`,!l.canPull()),ec(),Wm(`size`,14),ec(),Ac(` `,l.t().submit,` `)}}var Xe;var Ct;var Me;var Lt;var Ce;var et=f(()=>{Kr();Je$1();h();dS();lS();sS();Kr();Xe=(i,t)=>t.name,Ct=(i,t)=>t.id;Me=class{constructor(t){this.onProgress=t}onProgress;streamId=null;unsubscribe=null;disposed=!1;async start(t){this.stop(),this.disposed=!1;let e=await window.electron.images.pull(t);return e.ok?this.disposed?(window.electron.images.close(e.streamId),null):(this.streamId=e.streamId,this.unsubscribe=window.electron.images.onPullProgress(e.streamId,this.onProgress),null):e.problem}stop(){this.disposed=!0,this.unsubscribe?.(),this.unsubscribe=null,this.streamId!==null&&(window.electron.images.close(this.streamId),this.streamId=null)}},Lt=350,Ce=class i{open=mj(!1);t=Ot$1(()=>oS().images.pullDialog);common=Ot$1(()=>oS().common);preset=jc(null);reference=wt$1(``);hits=wt$1([]);searchTimer=null;lastSearch=``;progress=wt$1(null);busy=wt$1(!1);finished=Ot$1(()=>this.progress()?.done??!1);stale=wt$1(null);renewing=wt$1(!1);renewed=wt$1(null);staleShown=Ot$1(()=>{let t=this.stale();return t!==null&&(t.projects.length>0||t.loose.length>0)?t:null});pulled=wt$1(``);canPull=Ot$1(()=>{let t=this.reference().trim();if(this.busy()||t===``)return!1;let e=this.progress();return!(e?.done===!0&&e.problem===null&&t===this.pulled())});run=new Me(t=>{this.progress.set(t),t.done&&(this.busy.set(!1),t.problem===null&&this.lookForStale(this.pulled()))});constructor(){C(ve).onDestroy(()=>{this.run.stop(),this.searchTimer!==null&&clearTimeout(this.searchTimer)}),rf(()=>{let t=this.preset();this.open()&&Tg(()=>{this.busy()||this.clear(),t!==null&&(this.reference.set(t),this.pull())})})}onType(t){this.reference.set(t),this.searchTimer!==null&&clearTimeout(this.searchTimer);let e=t.trim();if(e.length<2){this.hits.set([]);return}this.searchTimer=setTimeout(()=>{this.search(e)},Lt)}async search(t){this.lastSearch=t;try{let e=await window.electron.images.search(t);t===this.lastSearch&&t===this.reference().trim()&&this.hits.set(e)}catch{this.hits.set([])}}choose(t){this.reference.set(t.name),this.hits.set([]),this.lastSearch=``}clear(){this.hits.set([]),this.reference.set(``),this.progress.set(null),this.stale.set(null),this.renewed.set(null),this.pulled.set(``)}submit(t){t.preventDefault(),this.pull()}pull(){let t=this.reference().trim();this.canPull()&&(this.busy.set(!0),this.progress.set(null),this.stale.set(null),this.renewed.set(null),this.pulled.set(t),this.hits.set([]),this.lastSearch=``,this.searchTimer!==null&&(clearTimeout(this.searchTimer),this.searchTimer=null),this.run.start(t).then(e=>{e!==null&&this.fail(t,e)}).catch(e=>this.fail(t,eH(e))))}async lookForStale(t){try{let e=await window.electron.images.staleContainers(t);t===this.pulled()&&this.stale.set(e)}catch{this.stale.set(null)}}renew(){let t=this.pulled();this.renewing.set(!0),window.electron.images.renew(t).then(e=>this.renewed.set(e)).catch(e=>this.renewed.set({renewed:[],problems:[eH(e)]})).finally(()=>this.renewing.set(!1))}fail(t,e){this.busy.set(!1),this.progress.set({reference:t,layers:[],message:``,done:!0,problem:e})}percentOf(t){return/complete|already exists/i.test(t.status)?100:t.total<=0?0:Math.min(100,t.current/t.total*100)}sizeOf(t){return t<=0?``:d(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-pull-dialog`]],inputs:{open:[1,`open`],preset:[1,`preset`]},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`,``,1,`w-full`,`max-w-3xl`,`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,`font-mono`],[`id`,`pull-form`,1,`mt-4`,3,`submit`],[`for`,`pull-reference`,1,`sr-only`],[`id`,`pull-reference`,`type`,`text`,`placeholder`,`nginx:stable-alpine`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`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`,3,`input`,`value`,`disabled`],[`data-testid`,`pull-hits`,1,`mt-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`],[`data-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`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,`form`,`pull-form`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`download`,3,`size`],[1,`px-3`,`pt-2`,`text-[11px]`,`text-ink-500`],[1,`max-h-56`,`overflow-y-auto`,`py-1`],[`type`,`button`,1,`mx-focus`,`flex`,`w-full`,`cursor-pointer`,`items-baseline`,`gap-3`,`px-3`,`py-1.5`,`text-left`,`hover:bg-ink-700`,3,`click`],[1,`shrink-0`,`font-mono`,`text-[13px]`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-accent/50`,`px-1`,`text-[10px]`,`text-accent`],[1,`min-w-0`,`flex-1`,`truncate`,`text-[12px]`,`text-ink-400`,3,`title`],[1,`shrink-0`,`text-[11px]`,`tabular-nums`,`text-ink-500`],[1,`mt-4`,`text-[13px]`],[1,`mt-3`,`max-h-64`,`space-y-1.5`,`overflow-y-auto`,`pr-1`],[1,`flex`,`items-center`,`gap-4`,`text-[12px]`],[1,`w-28`,`shrink-0`,`truncate`,`font-mono`,`text-ink-500`,3,`title`],[1,`w-44`,`shrink-0`,`truncate`,`text-ink-400`,3,`title`],[1,`h-1.5`,`min-w-0`,`flex-1`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`block`,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-ink-500`],[1,`text-ink-200`],[1,`mt-1.5`,`space-y-0.5`,`text-ink-300`],[1,`mt-2.5`,`flex`,`items-center`,`gap-3`],[1,`text-ink-500`],[1,`mt-2`,`text-ok`],[1,`mt-2`,`text-danger`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`refresh`,3,`size`],[1,`text-[12px]`,`text-ink-500`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,Ot,27,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Wt(i,t){if(i&1&&(Oi(0,`div`,13)(1,`span`,14),fk(2),Nc(),Oi(3,`span`,15),fk(4),Nc(),Oi(5,`span`,16),Gm(6,`span`,17),Nc(),Oi(7,`span`,18),fk(8),Nc()()),i&2){let e=t.$implicit,n=HE(4);ec(),Wm(`title`,e.id),ec(),pg(e.id),ec(),Wm(`title`,e.status),ec(),pg(e.status),ec(2),sg(`width`,n.percentOf(e),`%`),ec(2),pg(n.sizeOf(e.total))}}function $t(i,t){if(i&1&&(Oi(0,`div`,12),Sc(1,Wt,9,7,`div`,13,Ft),Nc()),i&2){let e=HE();ec(),Tc(e.layers)}}function Ut(i,t){if(i&1&&(Oi(0,`p`,11),fk(1),Nc(),kE(2,$t,3,0,`div`,12)),i&2){let e=t,n=HE(2);ag(`text-danger`,e.problem)(`text-ink-300`,!e.problem),ec(),Ac(` `,e.problem??(e.done?n.t().done:e.message),` `),ec(),SE(e.layers.length>0?2:-1)}}function At(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE(3);ec(),Ac(` `,e.t().hubPublic,` `)}}function jt(i,t){if(i&1&&(kE(0,At,2,1,`p`,19),Oi(1,`p`,20),fk(2),Nc(),Oi(3,`p`,21),fk(4),Nc()),i&2){let e=HE(2);SE(e.host()===null?0:-1),ec(2),pg(e.t().final),ec(2),pg(e.t().other)}}function Ht(i,t){if(i&1){let e=$E();Oi(0,`button`,22),Jm(`click`,function(){Ld(e);return Od(HE(2).push())}),Gm(1,`app-icon`,23),fk(2),Nc()}if(i&2){let e=HE(2);Wm(`disabled`,e.busy()),ec(),Wm(`size`,14),ec(),Ac(` `,e.busy()?e.t().pushing:e.t().confirm,` `)}}function qt(i,t){if(i&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),kE(7,Ut,3,6)(8,jt,5,3),Oi(9,`div`,7)(10,`button`,8),Gm(11,`app-icon`,9),fk(12),Nc(),kE(13,Ht,3,3,`button`,10),Nc()()()),i&2){let e,n=HE();ec(4),pg(n.t().title(n.reference())),ec(2),Ac(` `,n.host()===null?n.t().hub:n.t().registry(n.host()??``),` `),ec(),SE((e=n.progress())?7:8,e),ec(4),Wm(`size`,14),ec(),Ac(` `,n.progress()?.done?n.common().close:n.common().cancel,` `),ec(),SE(n.progress()===null?13:-1)}}var Ft;var ke;var tt=f(()=>{Kr();Je$1();z$1();lS();h();sS();dS();Kr();Ft=(i,t)=>t.id;ke=class i{open=mj(!1);reference=jc.required();t=Ot$1(()=>oS().images.pushDialog);common=Ot$1(()=>oS().common);host=Ot$1(()=>A(this.reference()));progress=wt$1(null);busy=wt$1(!1);streamId=null;unsubscribe=null;constructor(){C(ve).onDestroy(()=>this.stop()),rf(()=>{this.open()&&Tg(()=>{this.busy()||(this.stop(),this.progress.set(null))})})}async push(){let t=this.reference();this.busy.set(!0);try{let e=await window.electron.images.push(t);if(!e.ok){this.fail(t,e.problem);return}this.streamId=e.streamId,this.progress.set({reference:t,layers:[],message:this.t().pushing,done:!1,problem:null}),this.unsubscribe=window.electron.images.onPullProgress(e.streamId,n=>{this.progress.set(n),n.done&&this.busy.set(!1)})}catch(e){this.fail(t,eH(e))}}fail(t,e){this.busy.set(!1),this.progress.set({reference:t,layers:[],message:``,done:!0,problem:e})}stop(){this.unsubscribe?.(),this.unsubscribe=null,this.streamId!==null&&(window.electron.images.close(this.streamId),this.streamId=null)}percentOf(t){return/pushed|already exists|mounted from/i.test(t.status)?100:t.total<=0?0:Math.min(100,t.current/t.total*100)}sizeOf(t){return t<=0?``:d(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-push-dialog`]],inputs:{open:[1,`open`],reference:[1,`reference`]},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`,`push-dialog`,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`,``,`data-testid`,`push-registry`,1,`mt-1`,`text-[13px]`,`text-ink-200`],[1,`mt-5`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`push-confirm`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`data-testid`,`push-status`,1,`mt-4`,`text-[13px]`],[1,`mt-3`,`max-h-64`,`space-y-1.5`,`overflow-y-auto`,`pr-1`],[1,`flex`,`items-center`,`gap-4`,`text-[12px]`],[1,`w-28`,`shrink-0`,`truncate`,`font-mono`,`text-ink-500`,3,`title`],[1,`w-44`,`shrink-0`,`truncate`,`text-ink-400`,3,`title`],[1,`h-1.5`,`min-w-0`,`flex-1`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`block`,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-ink-500`],[`data-testid`,`push-public`,1,`mt-3`,`rounded-md`,`border`,`border-warn/40`,`bg-warn/10`,`px-3`,`py-2`,`text-[12px]`,`text-ink-200`],[1,`mt-3`,`text-[12px]`,`text-ink-400`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`push-confirm`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`,`disabled`],[`name`,`upload`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,qt,14,6,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Kt(i,t){if(i&1&&(Oi(0,`p`,11),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().invalid)}}function Qt(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().exists(e.normalized()))}}function Yt(i,t){i&1&&(Oi(0,`p`,13),fk(1),Nc()),i&2&&(ec(),pg(t))}function Zt(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),Oi(7,`form`,7),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(8,`label`,8)(9,`span`,9),fk(10),Nc(),Oi(11,`input`,10),Jm(`input`,function(l){Ld(e);return Od(HE().target.set(l.target.value))}),Nc()(),kE(12,Kt,2,1,`p`,11)(13,Qt,2,1,`p`,12),kE(14,Yt,2,1,`p`,13),Oi(15,`div`,14)(16,`button`,15),Gm(17,`app-icon`,16),fk(18),Nc(),Oi(19,`button`,17),Gm(20,`app-icon`,18),fk(21),Nc()()()()()}if(i&2){let e,n=HE();ec(4),pg(n.t().title(n.source())),ec(2),pg(n.t().description),ec(4),pg(n.t().label),ec(),nk(n.field+` mt-1.5`),Wm(`value`,n.target()),ec(),SE(n.invalid()?12:n.exists()?13:-1),ec(2),SE((e=n.problem())?14:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().close,` `),ec(),Wm(`disabled`,!n.canSave()),ec(),Wm(`size`,14),ec(),Ac(` `,n.saving()?n.t().saving:n.t().save,` `)}}var Gt;var De;var nt=f(()=>{Kr();Je$1();z$1();lS();P();sS();dS();f$1();Kr();Gt=`mx-focus w-full rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 font-mono text-[13px] text-ink-100 placeholder:text-ink-500`,De=class i{open=mj(!1);source=jc.required();store=C(h$1);toast=C(u);t=Ot$1(()=>oS().images.tagDialog);common=Ot$1(()=>oS().common);field=Gt;target=wt$1(``);saving=wt$1(!1);problem=wt$1(null);wanted=Ot$1(()=>this.target().trim());invalid=Ot$1(()=>this.wanted()!==``&&!d$1(this.wanted()));normalized=Ot$1(()=>{let{repository:t,tag:e}=r(this.wanted());return`${t}:${e}`});exists=Ot$1(()=>this.normalized()!==this.source()&&this.store.images().some(t=>t.reference===this.normalized()));canSave=Ot$1(()=>!this.saving()&&d$1(this.wanted())&&this.normalized()!==this.source());constructor(){rf(()=>{if(!this.open())return;let t=this.source();Tg(()=>{this.target.set(t.startsWith(`sha256:`)?``:t),this.problem.set(null)})})}async submit(t){if(t.preventDefault(),!this.canSave())return;let e=this.normalized();this.saving.set(!0),this.problem.set(null);try{let n=await window.electron.images.tag(this.source(),e);n.ok?(this.toast.success(this.t().saved(e)),this.store.refresh(),this.open.set(!1)):this.problem.set(n.problem)}catch(n){this.problem.set(eH(n))}finally{this.saving.set(!1)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-tag-dialog`]],inputs:{open:[1,`open`],source:[1,`source`]},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`,`tag-dialog`,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`,3,`submit`],[1,`block`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`tag-name`,3,`input`,`value`],[`data-testid`,`tag-invalid`,1,`mt-2`,`text-[12px]`,`text-danger`],[`data-testid`,`tag-exists`,1,`mt-2`,`text-[12px]`,`text-warn`],[`role`,`alert`,1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-5`,`flex`,`items-center`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,`data-testid`,`tag-save`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`plus`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,Zt,22,13,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Xt(i,t){if(i&1&&(Oi(0,`span`,9),fk(1),Nc()),i&2){let e=t;Wm(`title`,e.folder),ec(),pg(e.folder)}}function en(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE(3);ec(),pg(e.t().none)}}function tn(i,t){if(i&1&&(Oi(0,`option`,24),fk(1),Nc()),i&2){let e=t.$implicit;Wm(`value`,e),ec(),pg(e)}}function nn(i,t){if(i&1&&(Oi(0,`p`,27),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().invalid)}}function an(i,t){if(i&1&&(Oi(0,`p`,28),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().exists(e.normalized()))}}function on(i,t){if(i&1){let e=$E();Oi(0,`form`,21),Jm(`submit`,function(l){Ld(e);return Od(HE(3).submit(l))}),Oi(1,`label`,22),fk(2),Nc(),Oi(3,`select`,23),Jm(`change`,function(l){Ld(e);let d=HE(3);return Od(d.edit(d.dockerfile,l.target.value))}),Sc(4,tn,2,2,`option`,24,kc),Nc(),Oi(6,`label`,25),fk(7),Nc(),Oi(8,`input`,26),Jm(`input`,function(l){Ld(e);let d=HE(3);return Od(d.edit(d.target,l.target.value))}),Nc(),kE(9,nn,2,1,`p`,27)(10,an,2,1,`p`,28),Nc()}if(i&2){let e=HE(),n=HE(2);ec(2),pg(n.t().file),ec(),nk(n.field),Wm(`value`,n.dockerfile()),ec(),Tc(e.dockerfiles),ec(3),pg(n.t().name),ec(),nk(n.field),Wm(`value`,n.target()),ec(),SE(n.invalid()?9:n.exists()&&n.built()===null?10:-1)}}function rn(i,t){i&1&&kE(0,en,2,1,`p`,19)(1,on,11,9,`form`,20),i&2&&SE(t.dockerfiles.length===0?0:1)}function ln(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().building)}}function sn(i,t){if(i&1&&(Oi(0,`p`,29),fk(1),Nc()),i&2){let e=HE(),n=HE(2);ec(),pg(n.t().done(e.reference))}}function dn(i,t){if(i&1&&(Oi(0,`p`,30),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.problem)}}function pn(i,t){if(i&1&&(Oi(0,`details`,31)(1,`summary`,32),fk(2),Nc(),Oi(3,`pre`,33,0),fk(5),Nc()()),i&2){let e=HE(),n=HE(2);Wm(`open`,!e.ok),ec(2),pg(n.t().output),ec(3),pg(e.output)}}function cn(i,t){if(i&1&&(Oi(0,`div`,13),kE(1,sn,2,1,`p`,29)(2,dn,2,1,`p`,30),kE(3,pn,6,3,`details`,31),Nc()),i&2){let e=t;ec(),SE(e.ok?1:2),ec(2),SE(e.output!==``?3:-1)}}function mn(i,t){if(i&1){let e=$E();Oi(0,`button`,34),Jm(`click`,function(){let l=Ld(e);return Od(HE(2).startContainer(l))}),Gm(1,`app-icon`,35),fk(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),Ac(` `,e.t().run,` `)}}function un(i,t){if(i&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).build())}),Gm(1,`app-icon`,37),fk(2),Nc()}if(i&2){let e=HE(2);Wm(`disabled`,!e.canBuild()),ec(),Wm(`size`,14),ec(),Ac(` `,e.t().build,` `)}}function gn(i,t){if(i&1){let e=$E();Gm(0,`div`,3),Oi(1,`div`,4)(2,`div`,5)(3,`h2`,6),fk(4),Nc(),Oi(5,`p`,7),fk(6),Nc(),Oi(7,`div`,8),kE(8,Xt,2,2,`span`,9),Oi(9,`button`,10),Jm(`click`,function(){Ld(e);return Od(HE().choose())}),Gm(10,`app-icon`,11),fk(11),Nc()(),kE(12,rn,2,1),kE(13,ln,2,1,`p`,12),kE(14,cn,4,2,`div`,13),Oi(15,`div`,14)(16,`button`,15),Gm(17,`app-icon`,16),fk(18),Nc(),kE(19,mn,3,2,`button`,17)(20,un,3,3,`button`,18),Nc()()()}if(i&2){let e,n,l,d,w=HE();ec(4),pg(w.t().title),ec(2),pg(w.t().description),ec(2),SE((e=w.folder())?8:-1,e),ec(),Wm(`disabled`,w.building()),ec(),Wm(`size`,14),ec(),Ac(` `,w.folder()===null?w.t().choose:w.t().other,` `),ec(),SE((n=w.folder())?12:-1,n),ec(),SE(w.building()?13:-1),ec(),SE((l=w.result())?14:-1,l),ec(3),Wm(`size`,14),ec(),Ac(` `,w.common().close,` `),ec(),SE((d=w.built())?19:20,d)}}var Jt;var _n;var Se;var it=f(()=>{Kr();Je$1();z$1();lS();P();sS();dS();Kr();Jt=[`buildOutput`];_n=`mx-focus w-full rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 font-mono text-[13px] text-ink-100 placeholder:text-ink-500`,Se=class i{open=mj(!1);run=pj();store=C(h$1);injector=C(ke$1);outputBlock=gj(`buildOutput`);t=Ot$1(()=>oS().images.buildDialog);common=Ot$1(()=>oS().common);field=_n;folder=wt$1(null);dockerfile=wt$1(``);target=wt$1(``);building=wt$1(!1);result=wt$1(null);wanted=Ot$1(()=>this.target().trim());invalid=Ot$1(()=>this.wanted()!==``&&!d$1(this.wanted()));normalized=Ot$1(()=>{let{repository:t,tag:e}=r(this.wanted());return`${t}:${e}`});exists=Ot$1(()=>this.store.images().some(t=>t.reference===this.normalized()));canBuild=Ot$1(()=>!this.building()&&this.folder()!==null&&this.dockerfile()!==``&&d$1(this.wanted()));built=Ot$1(()=>{let t=this.result();return t?.ok===!0?t.reference:null});constructor(){rf(()=>{this.open()&&Tg(()=>{this.building()||(this.folder.set(null),this.result.set(null))})})}edit(t,e){t.set(e),this.building()||this.result.set(null)}async choose(){try{let t=await window.electron.images.chooseBuildFolder();t!==null&&(this.folder.set(t),this.dockerfile.set(t.dockerfiles[0]??``),this.target.set(t.suggestion),this.result.set(null))}catch(t){this.result.set({ok:!1,problem:eH(t),output:``})}}submit(t){t.preventDefault(),this.build()}async build(){let t=this.folder();if(!(!this.canBuild()||t===null)){this.building.set(!0),this.result.set(null);try{let e=await window.electron.images.build(t.token,this.dockerfile(),this.wanted());this.result.set(e),e.ok?this.store.refresh():OD(()=>{let n=this.outputBlock()?.nativeElement;n!==void 0&&(n.scrollTop=n.scrollHeight)},{injector:this.injector})}catch(e){this.result.set({ok:!1,problem:eH(e),output:``})}finally{this.building.set(!1)}}}startContainer(t){this.open.set(!1),this.run.emit(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-build-dialog`]],viewQuery:function(e,n){e&1&&rg(n.outputBlock,Jt,5),e&2&&UE()},inputs:{open:[1,`open`]},outputs:{open:`openChange`,run:`run`},decls:2,vars:1,consts:[[`buildOutput`,``],[`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`,`build-dialog`,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`,`flex`,`items-center`,`gap-3`],[`data-testid`,`build-folder`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-[12px]`,`text-ink-200`,3,`title`],[`type`,`button`,`data-testid`,`build-choose`,1,`mx-btn`,`mx-focus`,`shrink-0`,3,`click`,`disabled`],[`name`,`folder`,3,`size`],[`data-testid`,`build-busy`,1,`mt-4`,`text-[13px]`,`text-ink-300`],[`data-testid`,`build-result`,1,`mt-4`,`text-[13px]`],[1,`mt-5`,`flex`,`items-center`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`build-run`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`],[`type`,`button`,`data-testid`,`build-start`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`data-testid`,`build-none`,1,`mt-3`,`text-[13px]`,`text-warn`],[1,`mt-4`,`grid`,`grid-cols-[auto_1fr]`,`items-center`,`gap-x-3`,`gap-y-2`],[1,`mt-4`,`grid`,`grid-cols-[auto_1fr]`,`items-center`,`gap-x-3`,`gap-y-2`,3,`submit`],[`for`,`build-file`,1,`text-[13px]`,`text-ink-300`],[`id`,`build-file`,`data-testid`,`build-file`,3,`change`,`value`],[3,`value`],[`for`,`build-name`,1,`text-[13px]`,`text-ink-300`],[`id`,`build-name`,`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`build-name`,3,`input`,`value`],[`data-testid`,`build-invalid`,1,`col-start-2`,`text-[12px]`,`text-danger`],[`data-testid`,`build-exists`,1,`col-start-2`,`text-[12px]`,`text-warn`],[1,`text-ok`],[`role`,`alert`,1,`text-danger`],[1,`mt-1.5`,3,`open`],[1,`cursor-pointer`,`text-[12px]`,`text-ink-400`,`hover:text-ink-200`],[1,`mt-1`,`max-h-72`,`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`],[`type`,`button`,`data-testid`,`build-run`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,`data-testid`,`build-start`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`,`disabled`],[`name`,`images`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,1),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,gn,21,12,`ng-template`,2),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function fn(i,t){if(i&1&&(Oi(0,`option`,22),fk(1),Nc()),i&2){let e=t.$implicit,n=HE(2);Wm(`value`,e.name)(`selected`,n.network()===e.name),ec(),pg(e.name)}}function yn(i,t){if(i&1){let e=$E();Oi(0,`label`,23)(1,`span`,13),fk(2),Nc(),Oi(3,`input`,14),Jm(`input`,function(l){Ld(e);return Od(HE(2).networkAlias.set(l.target.value))}),Nc(),Oi(4,`span`,35),fk(5),Nc()()}if(i&2){let e=HE(2);ec(2),pg(e.t().networkAlias),ec(),nk(e.field+` mt-1.5 w-full`),Wm(`placeholder`,e.t().networkAliasPlaceholder)(`value`,e.networkAlias()),Br(`aria-label`,e.t().networkAlias),ec(2),pg(e.t().networkAliasHint)}}function hn(i,t){if(i&1){let e=$E();Oi(0,`input`,37),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{host:l.target.value}))}),Nc(),Oi(1,`span`,38),fk(2,`→`),Nc(),Oi(3,`input`,39),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{container:l.target.value}))}),Nc(),Oi(4,`select`,20),Jm(`change`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{protocol:l.target.value}))}),Oi(5,`option`,40),fk(6,`tcp`),Nc(),Oi(7,`option`,41),fk(8,`udp`),Nc()(),Oi(9,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removePort(l))}),Gm(10,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field),Wm(`placeholder`,l.t().hostPortPlaceholder)(`value`,e.host),Br(`aria-label`,l.t().hostPort(n+1)),ec(3),nk(l.field),Wm(`value`,e.container),Br(`aria-label`,l.t().containerPort(n+1)),ec(),nk(l.field),Br(`aria-label`,l.t().protocol(n+1)),ec(),Wm(`selected`,e.protocol===`tcp`),ec(2),Wm(`selected`,e.protocol===`udp`),ec(2),nk(l.removeButton),Br(`aria-label`,l.t().removePort(n+1)),ec(),Wm(`size`,14)}}function vn(i,t){if(i&1&&(Oi(0,`div`,24)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Oi(6,`span`,36),fk(7),Nc(),Gm(8,`span`),Sc(9,hn,11,18,null,null,TE),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().onThisComputer),ec(3),pg(e.t().inContainer),ec(2),pg(e.t().protocolHeader),ec(2),Tc(e.ports())}}function bn(i,t){if(i&1){let e=$E();Oi(0,`input`,45),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{source:l.target.value}))}),Nc(),Oi(1,`span`,38),fk(2,`→`),Nc(),Oi(3,`input`,46),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{target:l.target.value}))}),Nc(),Oi(4,`label`,47)(5,`input`,48),Jm(`change`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{readOnly:l.target.checked}))}),Nc(),fk(6),Nc(),Oi(7,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removeVolume(l))}),Gm(8,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field),Wm(`placeholder`,l.t().sourcePlaceholder)(`value`,e.source),Br(`aria-label`,l.t().volumeSource(n+1)),ec(3),nk(l.field),Wm(`placeholder`,l.t().targetPlaceholder)(`value`,e.target),Br(`aria-label`,l.t().volumeTarget(n+1)),ec(),Wm(`title`,l.t().readOnlyHint),ec(),Wm(`checked`,e.readOnly),ec(),Ac(` `,l.t().readOnly,` `),ec(),nk(l.removeButton),Br(`aria-label`,l.t().removeVolume(n+1)),ec(),Wm(`size`,14)}}function wn(i,t){if(i&1&&Gm(0,`option`,44),i&2){let e=t.$implicit;Wm(`value`,e)}}function Cn(i,t){if(i&1&&(Oi(0,`div`,24)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Gm(6,`span`)(7,`span`),Sc(8,bn,9,17,null,null,TE),Nc(),Oi(10,`datalist`,43),Sc(11,wn,1,1,`option`,44,kc),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().source),ec(3),pg(e.t().inContainer),ec(3),Tc(e.volumes()),ec(3),Tc(e.knownVolumes())}}function kn(i,t){if(i&1){let e=$E();Oi(0,`input`,49),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setEnvKey(d,l.target))}),Nc(),Oi(1,`span`,38),fk(2,`=`),Nc(),Oi(3,`input`,50),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setEnv(d,{value:l.target.value}))}),Nc(),Oi(4,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removeEnv(l))}),Gm(5,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field+` font-mono`),Wm(`value`,e.key),Br(`aria-label`,l.t().envName(n+1)),ec(3),nk(l.field+` font-mono`),Wm(`value`,e.value),Br(`aria-label`,l.t().envValue(n+1))(`data-env-value`,n),ec(),nk(l.removeButton),Br(`aria-label`,l.t().removeEnv(n+1)),ec(),Wm(`size`,14)}}function Dn(i,t){if(i&1&&(Oi(0,`div`,27)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Gm(6,`span`),Sc(7,kn,6,13,null,null,TE),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().envNameHeader),ec(3),pg(e.t().envValueHeader),ec(2),Tc(e.env())}}function Sn(i,t){i&1&&(Oi(0,`p`,29),fk(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function In(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`div`,5)(4,`h2`,6),fk(5),Nc(),Oi(6,`p`,7)(7,`span`),fk(8),Nc(),Oi(9,`code`,8),fk(10),Nc()()(),Oi(11,`form`,9),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(12,`div`,10)(13,`section`,11)(14,`label`,12)(15,`span`,13),fk(16),Nc(),Oi(17,`input`,14),Jm(`input`,function(l){Ld(e);return Od(HE().name.set(l.target.value))}),Nc()(),Oi(18,`label`,15)(19,`input`,16),Jm(`change`,function(l){Ld(e);return Od(HE().autoRestart.set(l.target.checked))}),Nc(),Oi(20,`span`)(21,`span`,17),fk(22),Nc(),Oi(23,`span`,18),fk(24),Nc()()()(),Oi(25,`section`)(26,`h3`,13),fk(27),Nc(),Oi(28,`p`,19),fk(29),Nc(),Oi(30,`select`,20),Jm(`change`,function(l){Ld(e);return Od(HE().setNetwork(l.target.value))}),Oi(31,`option`,21),fk(32),Nc(),Sc(33,fn,2,3,`option`,22,xn),Nc(),kE(35,yn,6,7,`label`,23),Nc(),Oi(36,`section`)(37,`h3`,13),fk(38),Nc(),Oi(39,`p`,19),fk(40),Nc(),kE(41,vn,11,3,`div`,24),Oi(42,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addPort())}),Gm(43,`app-icon`,26),fk(44),Nc()(),Oi(45,`section`)(46,`h3`,13),fk(47),Nc(),Oi(48,`p`,19),fk(49),Nc(),kE(50,Cn,13,2),Oi(51,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addVolume())}),Gm(52,`app-icon`,26),fk(53),Nc()(),Oi(54,`section`)(55,`h3`,13),fk(56),Nc(),Oi(57,`p`,19),fk(58),Nc(),kE(59,Dn,9,2,`div`,27),Oi(60,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addEnv())}),Gm(61,`app-icon`,26),fk(62),Nc()()(),Oi(63,`div`,28),kE(64,Sn,2,1,`p`,29),Oi(65,`div`,30)(66,`button`,31),Gm(67,`app-icon`,32),fk(68),Nc(),Oi(69,`button`,33),Gm(70,`app-icon`,34),fk(71),Nc()()()()()()}if(i&2){let e,n=HE();ec(5),pg(n.t().title),ec(3),pg(n.t().fromImage),ec(2),pg(n.image()),ec(6),pg(n.t().name),ec(),nk(n.field+` mt-1.5 w-full`),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(2),Wm(`checked`,n.autoRestart()),ec(3),pg(n.t().autoRestart),ec(2),pg(n.t().autoRestartHint),ec(3),pg(n.t().network),ec(2),pg(n.t().networkHint),ec(),nk(n.field+` mt-3 w-full`),Br(`aria-label`,n.t().network),ec(),Wm(`selected`,n.network()===``),ec(),pg(n.t().networkDefault),ec(),Tc(n.selectableNetworks()),ec(2),SE(n.canAlias()?35:-1),ec(3),pg(n.t().ports),ec(2),pg(n.t().portsHint),ec(),SE(n.ports().length>0?41:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addPort),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addPort,` `),ec(3),pg(n.t().volumes),ec(2),pg(n.t().volumesHint),ec(),SE(n.volumes().length>0?50:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addVolume),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addVolume,` `),ec(3),pg(n.t().env),ec(2),pg(n.t().envHint),ec(),SE(n.env().length>0?59:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addEnv),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addEnv,` `),ec(2),SE((e=n.problem())?64:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,n.busy()?n.t().starting:n.t().submit,` `)}}var xn;var En;var Tn;var Pn;var Ie;var at=f(()=>{Kr();Je$1();P();dS();lS();sS();Kr();xn=(i,t)=>t.id;En=`mx-focus min-w-0 rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,Tn=`mx-focus mt-2 inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-dashed border-ink-700 px-2.5 py-1 text-[12px] text-ink-300 hover:border-ink-500 hover:text-ink-100`,Pn=`mx-focus grid size-8 cursor-pointer place-items-center rounded text-ink-400 hover:text-danger`,Ie=class i{open=mj(!1);image=jc(``);started=pj();store=C(h$1);t=Ot$1(()=>oS().images.runDialog);common=Ot$1(()=>oS().common);field=En;addButton=Tn;removeButton=Pn;name=wt$1(``);autoRestart=wt$1(!1);knownVolumes=wt$1([]);knownNetworks=wt$1([]);network=wt$1(``);networkAlias=wt$1(``);ports=wt$1([]);volumes=wt$1([]);env=wt$1([]);problem=wt$1(null);busy=wt$1(!1);canSubmit=Ot$1(()=>!this.busy()&&this.image()!==``);selectableNetworks=Ot$1(()=>this.knownNetworks().filter(t=>t.name!==`bridge`));canAlias=Ot$1(()=>{let t=this.network();return t!==``&&this.knownNetworks().some(e=>e.name===t&&!e.builtIn)});constructor(){rf(()=>{this.open()&&(this.loadVolumes(),this.loadNetworks())})}async loadVolumes(){try{this.knownVolumes.set((await window.electron.volumes.list()).map(t=>t.name))}catch{this.knownVolumes.set([])}}async loadNetworks(){try{this.knownNetworks.set(await window.electron.networks.list())}catch{this.knownNetworks.set([])}}setNetwork(t){this.network.set(t),this.canAlias()||this.networkAlias.set(``)}addPort(){this.ports.update(t=>[...t,{host:``,container:``,protocol:`tcp`}])}addVolume(){this.volumes.update(t=>[...t,{source:``,target:``,readOnly:!1}])}addEnv(){this.env.update(t=>[...t,{key:``,value:``}])}removePort(t){this.ports.update(e=>e.filter((n,l)=>l!==t))}removeVolume(t){this.volumes.update(e=>e.filter((n,l)=>l!==t))}removeEnv(t){this.env.update(e=>e.filter((n,l)=>l!==t))}setPort(t,e){this.ports.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setVolume(t,e){this.volumes.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setEnv(t,e){this.env.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setEnvKey(t,e){let n=e.value,l=n.indexOf(`=`);if(l<=0){this.setEnv(t,{key:n});return}let d=n.slice(0,l),w=n.slice(l+1);this.setEnv(t,w===``?{key:d}:{key:d,value:w}),e.value=d,e.parentElement?.querySelector(`input[data-env-value="${String(t)}"]`)?.focus()}async submit(t){if(t.preventDefault(),!this.canSubmit())return;let e=this.collect();if(typeof e==`string`){this.problem.set(e);return}this.busy.set(!0),this.problem.set(null);try{let n=await window.electron.images.run(e);if(!n.ok){this.problem.set(n.problem);return}this.reset(),this.open.set(!1),this.started.emit(n.id),this.store.refresh()}catch(n){this.problem.set(eH(n))}finally{this.busy.set(!1)}}collect(){let t=this.t(),e=[];for(let $ of this.ports()){let U=Number($.container.trim());if(!Number.isInteger(U)||U<1||U>65535)return t.invalidContainerPort($.container);let ne=$.host.trim(),xe=ne===``?null:Number(ne);if(xe!==null&&(!Number.isInteger(xe)||xe<1||xe>65535))return t.invalidHostPort($.host);e.push({hostPort:xe,containerPort:U,protocol:$.protocol})}let n=[];for(let $ of this.volumes()){let U=$.source.trim(),ne=$.target.trim();if(U===``||ne===``)return t.volumeIncomplete;if(!ne.startsWith(`/`))return t.notAbsolute(ne);n.push({source:U,target:ne,readOnly:$.readOnly})}let l=[];for(let $ of this.env()){let U=$.key.trim();if(U===``)return t.envNameMissing;if(U.includes(`=`))return t.envNameWithEquals(U);l.push({key:U,value:$.value})}let d=this.name().trim(),w=this.network(),se=this.canAlias()?this.networkAlias().trim():``;return se!==``&&!/^[\w][\w.-]*$/.test(se)?t.invalidAlias(se):{image:this.image(),name:d===``?null:d,ports:e,volumes:n,env:l,network:w===``?null:w,networkAlias:se===``?null:se,restart:this.autoRestart()?`unless-stopped`:`no`}}reset(){this.name.set(``),this.autoRestart.set(!1),this.network.set(``),this.networkAlias.set(``),this.ports.set([]),this.volumes.set([]),this.env.set([]),this.problem.set(null)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-run-dialog`]],inputs:{open:[1,`open`],image:[1,`image`]},outputs:{open:`openChange`,started:`started`},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,`flex`,`max-h-[85vh]`,`w-full`,`max-w-2xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`shadow-2xl`],[1,`shrink-0`,`border-b`,`border-ink-800`,`px-5`,`pt-5`,`pb-4`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1.5`,`flex`,`items-center`,`gap-1.5`,`text-[13px]`,`text-ink-400`],[1,`rounded`,`bg-ink-800`,`px-1.5`,`py-0.5`,`font-mono`,`text-[12px]`,`text-ink-200`],[1,`flex`,`min-h-0`,`flex-1`,`flex-col`,3,`submit`],[1,`min-h-0`,`flex-1`,`space-y-6`,`overflow-y-auto`,`px-5`,`py-5`],[1,`space-y-3`],[1,`block`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`flex`,`cursor-pointer`,`items-start`,`gap-2.5`],[`type`,`checkbox`,1,`mx-focus`,`mt-0.5`,`accent-accent`,3,`change`,`checked`],[1,`block`,`text-[13px]`,`text-ink-100`],[1,`block`,`text-[12px]`,`text-ink-500`],[1,`mt-0.5`,`text-[12px]`,`text-ink-500`],[3,`change`],[`value`,``,3,`selected`],[3,`value`,`selected`],[1,`mt-3`,`block`],[1,`mt-3`,`grid`,`grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)_7rem_2rem]`,`items-center`,`gap-x-2`,`gap-y-2`],[`type`,`button`,3,`click`],[`name`,`plus`,3,`size`],[1,`mt-3`,`grid`,`grid-cols-[minmax(0,2fr)_auto_minmax(0,3fr)_2rem]`,`items-center`,`gap-x-2`,`gap-y-2`],[1,`shrink-0`,`border-t`,`border-ink-800`,`px-5`,`py-3`],[`role`,`alert`,1,`mb-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`play`,3,`size`],[1,`mt-1`,`block`,`text-[12px]`,`text-ink-500`],[1,`text-[11px]`,`tracking-wide`,`text-ink-500`,`uppercase`],[`type`,`text`,`inputmode`,`numeric`,3,`input`,`placeholder`,`value`],[1,`text-ink-500`],[`type`,`text`,`placeholder`,`80`,`inputmode`,`numeric`,3,`input`,`value`],[`value`,`tcp`,3,`selected`],[`value`,`udp`,3,`selected`],[`name`,`trash`,3,`size`],[`id`,`run-dialog-volumes`],[3,`value`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`list`,`run-dialog-volumes`,3,`input`,`placeholder`,`value`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`flex`,`cursor-pointer`,`items-center`,`gap-1.5`,`whitespace-nowrap`,`text-[12px]`,`text-ink-400`,3,`title`],[`type`,`checkbox`,1,`mx-focus`,`accent-accent`,3,`change`,`checked`],[`type`,`text`,`placeholder`,`TZ`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`value`],[`type`,`text`,`placeholder`,`Europe/Amsterdam`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`value`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,In,72,49,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Mn(i,t){if(i&1&&(Oi(0,`span`,38),fk(1),Nc()),i&2){let e=HE(),n=HE();ec(),mg(``,n.sizeOf(e.done),` / `,n.sizeOf(e.total))}}function Rn(i,t){if(i&1&&(Oi(0,`span`,38),fk(1),Nc()),i&2){let e=HE(),n=HE();ec(),pg(n.sizeOf(e.done))}}function Nn(i,t){if(i&1&&(Oi(0,`div`,9)(1,`div`,36)(2,`span`,37),fk(3),Nc(),kE(4,Mn,2,2,`span`,38)(5,Rn,2,1,`span`,38),Nc(),Oi(6,`div`,39),Gm(7,`div`,40),Nc()()),i&2){let e=t,n=HE();ec(3),pg(e.label),ec(),SE(e.total>0?4:e.done>0?5:-1),ec(3),sg(`width`,e.total===0?100:n.transferPercent(),`%`),ag(`animate-pulse`,e.total===0)}}function Vn(i,t){if(i&1&&(Oi(0,`span`,17),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.t().refreshing)}}function Bn(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.t().updatesHint)}}function zn(i,t){if(i&1){let e=$E();Oi(0,`div`,20)(1,`span`,41),fk(2),Nc(),Oi(3,`button`,42),Jm(`click`,function(){Ld(e);return Od(HE().askRemoveSelected())}),Gm(4,`app-icon`,43),fk(5),Nc()()}if(i&2){let e=HE();ec(2),pg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().remove,` `)}}function On(i,t){if(i&1&&(Oi(0,`span`,44),fk(1),Nc()),i&2){let e=t.$implicit;ag(`text-ink-500`,e.dangling)(`text-ink-100`,!e.dangling),Wm(`title`,e.repository),ec(),Ac(` `,e.repository,` `)}}function Ln(i,t){if(i&1&&(Oi(0,`span`,47),Gm(1,`app-icon`,50),fk(2),Nc()),i&2){let e=HE(2);ec(),Wm(`size`,12),ec(),Ac(` `,e.t().badge.newer,` `)}}function Fn(i,t){if(i&1&&(Oi(0,`span`,48),fk(1),Nc()),i&2){HE();let e=bk(0),n=HE();Wm(`title`,e?.problem??``),ec(),pg(n.t().badge.notInRegistry)}}function Wn(i,t){if(i&1&&(Oi(0,`span`,49),Gm(1,`app-icon`,51),fk(2),Nc()),i&2){HE();let e=bk(0),n=HE();Wm(`title`,e?.problem??``),ec(),Wm(`size`,12),ec(),Ac(` `,n.t().badge.uncheckable,` `)}}function $n(i,t){if(i&1&&(bg(0),Oi(1,`span`,45)(2,`span`,46),fk(3),Nc(),kE(4,Ln,3,2,`span`,47)(5,Fn,2,2,`span`,48)(6,Wn,3,3,`span`,49),Nc()),i&2){let e=t.$implicit,n=yk(HE().updateOf(e));ec(2),Wm(`title`,e.tag),ec(),pg(e.tag),ec(),SE(n?.state===`update`?4:n?.state===`unknown`?5:n?.state===`error`?6:-1)}}function Un(i,t){if(i&1&&(Oi(0,`span`,52),fk(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e.shortId)}}function An(i,t){if(i&1&&(Oi(0,`span`,53),fk(1),Nc()),i&2){let e=HE().$implicit,n=HE();ec(),pg(n.t().containerCount(e.inUseBy))}}function jn(i,t){i&1&&(Oi(0,`span`,54),fk(1,`—`),Nc())}function Hn(i,t){if(i&1&&kE(0,An,2,1,`span`,53)(1,jn,2,0,`span`,54),i&2){let e=t.$implicit;SE(e.inUseBy>0?0:1)}}function qn(i,t){if(i&1&&(Oi(0,`span`,55),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.ageOf(e.createdAt))}}function Kn(i,t){if(i&1&&(Oi(0,`span`,56),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.sizeOf(e.sizeBytes))}}function Qn(i,t){if(i&1){let e=$E();Oi(0,`div`,57)(1,`app-action-menu`,58),Jm(`picked`,function(l){let d=Ld(e).$implicit;return Od(HE().onRowMenu(l,d))}),Nc()()}if(i&2){let e=t.$implicit,n=HE();ec(),Wm(`label`,n.t().rowMenu(e.reference))(`items`,n.rowMenu(e))}}var ot;f(()=>{Kr();ra();o();P();M();h();G();Je();J();oe();K();dS();x();et();tt();nt();it();at();sS();lS();f$1();Kr();ot=class i$1{store=C(h$1);toast=C(u);router=C(fe);route=C(Q);preferences=C(p);t=Ot$1(()=>oS().images);common=Ot$1(()=>oS().common);columns=Ot$1(()=>{let t=this.t().columns;return[{key:`repository`,label:t.repository},{key:`tag`,label:t.tag,width:`230px`},{key:`shortId`,label:t.imageId,width:`120px`},{key:`inUse`,label:t.inUse,width:`110px`},{key:`created`,label:t.created,width:`150px`},{key:`size`,label:t.size,width:`100px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;pending=this.store.pending;unusedCount=this.store.unusedCount;search=wt$1(``);zoek=jc(void 0);starten=jc(void 0);lagen=jc(void 0);ophalen=jc(void 0);verwijder=jc(void 0);controleren=jc(void 0);onlyUnused=this.preferences.flag(`images.onlyUnused`);selected=wt$1(new Set);removal=wt$1(null);confirmOpen=wt$1(!1);pullOpen=wt$1(!1);tagSource=wt$1(``);tagOpen=wt$1(!1);pushReference=wt$1(``);pushOpen=wt$1(!1);buildOpen=wt$1(!1);pullPreset=wt$1(null);updates=this.store.updates;checkingUpdates=this.store.checkingUpdates;hasUpdates=Ot$1(()=>[...this.updates()?.values()??[]].some(t=>t.state===`update`));runOpen=wt$1(!1);runImage=wt$1(``);layersOpen=wt$1(!1);layersImage=wt$1(``);rows=Ot$1(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyUnused();return this.store.images().filter(n=>e&&n.inUseBy>0?!1:t===``?!0:`${n.repository}:${n.tag} ${n.shortId}`.toLowerCase().includes(t))});totalSize=Ot$1(()=>d(this.store.totalBytes()));selectedRefs=Ot$1(()=>[...this.selected()]);trackKey=t=>t.reference;transfer=wt$1(null);transferPercent(){let t=this.transfer();return t===null||t.total===0?0:Math.min(100,t.done/t.total*100)}async saveToFile(t){this.transfer.set({label:this.t().file.saving(t),done:0,total:0});try{let e=await window.electron.images.saveToFile(t);e.ok?this.toast.success(this.t().file.saved(e.path,d(e.bytes))):e.canceled||this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}finally{this.transfer.set(null)}}async loadFromFile(){this.transfer.set({label:this.t().file.loading,done:0,total:0});try{let t=await window.electron.images.loadFromFile();t.ok?(this.toast.success(t.loaded.length===0?this.t().file.loadedNothing:this.t().file.loaded(t.loaded.join(`, `))),this.store.refresh()):t.canceled||this.toast.error(t.problem)}catch(t){this.toast.error(eH(t))}finally{this.transfer.set(null)}}constructor(){C(ve).onDestroy(window.electron.images.onFileProgress(t=>this.transfer.update(e=>e===null?null:W(W({},e),t)))),rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),this.fromRoute(this.starten,`starten`,t=>{this.runImage.set(t),this.runOpen.set(!0)}),this.fromRoute(this.lagen,`lagen`,t=>{this.layersImage.set(t),this.layersOpen.set(!0)}),this.fromRoute(this.ophalen,`ophalen`,t=>this.openPull(t)),this.fromRoute(this.controleren,`controleren`,()=>this.checkUpdates()),rf(()=>{let t=this.verwijder(),e=this.store.images().find(n=>n.reference===t);t!==void 0&&e!==void 0&&Tg(()=>{this.askRemove(e),i(this.router,this.route,`verwijder`)})}),this.store.refresh()}fromRoute(t,e,n){rf(()=>{let l=t();l!==void 0&&Tg(()=>{n(l),i(this.router,this.route,e)})})}menuItems=Ot$1(()=>{let t=this.t().menu;return[{id:`pull`,label:t.pull,icon:`download`},{id:`build`,label:t.build,icon:`images`},{id:`check`,label:this.checkingUpdates()?t.checking:t.check,icon:`refresh`,disabled:this.checkingUpdates()},{id:`prune-dangling`,label:t.pruneDangling,icon:`broom`,separated:!0},{id:`prune-unused`,label:t.pruneUnused,icon:`broom`},{id:`load`,label:t.load,icon:`upload`,disabled:this.transfer()!==null,separated:!0}]});onMenu(t){switch(t){case`pull`:this.openPull(null);break;case`build`:this.buildOpen.set(!0);break;case`check`:this.checkUpdates();break;case`prune-dangling`:this.askPrune(!1);break;case`prune-unused`:this.askPrune(!0);break;case`load`:this.loadFromFile();break}}checkUpdates(){this.store.checkUpdates()}openPull(t){this.pullPreset.set(t),this.pullOpen.set(!0)}pullClosed(t){this.pullOpen.set(t),t||(this.pullPreset.set(null),this.store.recheckIfChecked())}updateOf(t){return this.updates()?.get(t.reference)??null}sizeOf(t){return d(t)}ageOf(t){return N(t)}rowMenu(t){let e=this.pending().has(t.reference),n=this.t(),l=[];return this.updateOf(t)?.state===`update`&&l.push({id:`update`,label:n.rowUpdate,icon:`download`,disabled:e,hint:n.updateTitle(t.reference)}),l.push({id:`run`,label:n.rowRun,icon:`play`,disabled:e,hint:this.runLabelOf(t)},{id:`layers`,label:n.rowLayers,icon:`images`},{id:`save`,label:n.rowSave,icon:`download`,disabled:this.transfer()!==null},{id:`tag`,label:n.rowTag,icon:`plus`,separated:!0}),t.dangling||l.push({id:`push`,label:n.rowPush,icon:`upload`,disabled:e}),!t.dangling&&(t.inUseBy>0||this.store.images().some(d=>d.id===t.id&&d.reference!==t.reference))&&l.push({id:`untag`,label:n.rowUntag,icon:`eraser`,disabled:e}),l.push({id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),l}onRowMenu(t,e){t===`save`?this.saveToFile(e.reference):t===`update`?this.openPull(e.reference):t===`run`?this.askRun(e):t===`layers`?(this.layersImage.set(e.reference),this.layersOpen.set(!0)):t===`tag`?(this.tagSource.set(e.reference),this.tagOpen.set(!0)):t===`push`?(this.pushReference.set(e.reference),this.pushOpen.set(!0)):t===`untag`?this.untag(e.reference):this.askRemove(e)}async untag(t){try{let e=await window.electron.images.untag(t);e.ok?(this.toast.success(this.t().untagged(t)),this.store.refresh()):this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}}askRun(t){this.startFrom(t.reference)}startFrom(t){this.runImage.set(t),this.runOpen.set(!0)}goToContainer(t){this.router.navigate([`/containers`,t]).catch(()=>{})}runLabelOf(t){return t.dangling?this.t().runLabelDangling:this.t().runLabel(t.reference)}askRemove(t){let e=t.inUseBy>0,n=this.t().remove;this.removal.set({references:[t.reference],title:e?n.forceTitle:n.title,description:e?n.forceDescription(t.reference,t.inUseBy):n.description(t.reference),confirmLabel:e?n.forceConfirm:this.common().remove,force:e}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedRefs(),e=this.t().remove;this.removal.set({references:t,title:e.manyTitle,description:e.manyDescription(t.length),confirmLabel:this.common().remove,force:!1}),this.confirmOpen.set(!0)}askPrune(t){let e=this.t().prune;this.removal.set({references:[],title:t?e.allTitle:e.danglingTitle,description:t?e.allDescription:e.danglingDescription,confirmLabel:e.confirm,force:t}),this.confirmOpen.set(!0)}confirm(){let t=this.removal();t!==null&&(t.references.length===0?this.store.prune(t.force):(this.store.removeMany(t.references,t.force),this.selected.set(new Set)),this.removal.set(null))}removalTitle(){return this.removal()?.title??``}removalDescription(){return this.removal()?.description??``}removalConfirmLabel(){return this.removal()?.confirmLabel??this.common().remove}removalConfirmIcon(){return this.removal()?.references.length===0?`broom`:`trash`}static ɵfac=function(e){return new(e||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-images-page`]],inputs:{zoek:[1,`zoek`],starten:[1,`starten`],lagen:[1,`lagen`],ophalen:[1,`ophalen`],verwijder:[1,`verwijder`],controleren:[1,`controleren`]},decls:48,vars:39,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-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,`ml-auto`],[3,`picked`,`label`,`items`],[`role`,`status`,`data-testid`,`image-transfer`,1,`mt-3`,`max-w-md`],[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,`text-[12px]`,`text-ink-500`],[3,`problem`],[1,`mt-2`,`text-[12px]`,`text-ink-400`],[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`,`trackKey`,`selected`,`emptyMessage`],[`appCell`,`repository`],[`appCell`,`tag`],[`appCell`,`shortId`],[`appCell`,`inUse`],[`appCell`,`created`],[`appCell`,`size`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`,`confirmIcon`],[3,`openChange`,`open`,`preset`],[3,`openChange`,`run`,`open`],[3,`openChange`,`open`,`source`],[3,`openChange`,`open`,`reference`],[3,`openChange`,`started`,`open`,`image`],[1,`flex`,`items-baseline`,`justify-between`,`text-[12px]`],[1,`text-ink-300`],[1,`text-ink-500`,`tabular-nums`],[1,`mt-1`,`h-1.5`,`w-full`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[1,`block`,`truncate`,3,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-2`],[1,`truncate`,`text-ink-300`,3,`title`],[`data-testid`,`update-badge`,1,`flex`,`shrink-0`,`items-center`,`gap-1`,`text-[11px]`,`text-warn`],[1,`shrink-0`,`text-[11px]`,`text-ink-500`,3,`title`],[1,`flex`,`shrink-0`,`items-center`,`gap-1`,`text-[11px]`,`text-ink-500`,3,`title`],[`name`,`arrow-up`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-ink-200`],[1,`text-ink-600`],[1,`text-ink-400`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`]],template:function(e,n){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),fk(5),Nc(),Oi(6,`div`,4)(7,`div`)(8,`div`,5),fk(9),Nc(),Oi(10,`div`,6),fk(11),Nc()(),Oi(12,`div`)(13,`div`,5),fk(14),Nc(),Oi(15,`div`,6),fk(16),Nc()()()(),Oi(17,`div`,7)(18,`app-action-menu`,8),Jm(`picked`,function(d){return n.onMenu(d)}),Nc()()(),kE(19,Nn,8,6,`div`,9),Oi(20,`div`,10)(21,`label`,11)(22,`span`,12),Gm(23,`app-icon`,13),Nc(),Oi(24,`span`,14),fk(25),Nc(),Oi(26,`input`,15),Jm(`input`,function(d){return n.search.set(d.target.value)}),Nc()(),Oi(27,`app-filter-switch`,16),vg(`onChange`,function(d){return vk(n.onlyUnused,d)||(n.onlyUnused=d),d}),Nc(),kE(28,Vn,2,1,`span`,17),Nc(),Gm(29,`app-page-messages`,18),kE(30,Bn,2,1,`p`,19),kE(31,zn,6,3,`div`,20),Nc(),Oi(32,`div`,21)(33,`app-data-table`,22),vg(`selectedChange`,function(d){return vk(n.selected,d)||(n.selected=d),d}),_m(34,On,2,6,`ng-template`,23)(35,$n,7,4,`ng-template`,24)(36,Un,2,1,`ng-template`,25)(37,Hn,2,1,`ng-template`,26)(38,qn,2,1,`ng-template`,27)(39,Kn,2,1,`ng-template`,28)(40,Qn,2,2,`ng-template`,29),Nc()()(),Oi(41,`app-confirm-dialog`,30),vg(`openChange`,function(d){return vk(n.confirmOpen,d)||(n.confirmOpen=d),d}),Jm(`confirmed`,function(){return n.confirm()}),Nc(),Oi(42,`app-pull-dialog`,31),Jm(`openChange`,function(d){return n.pullClosed(d)}),Nc(),Oi(43,`app-build-dialog`,32),vg(`openChange`,function(d){return vk(n.buildOpen,d)||(n.buildOpen=d),d}),Jm(`run`,function(d){return n.startFrom(d)}),Nc(),Oi(44,`app-tag-dialog`,33),vg(`openChange`,function(d){return vk(n.tagOpen,d)||(n.tagOpen=d),d}),Nc(),Oi(45,`app-push-dialog`,34),vg(`openChange`,function(d){return vk(n.pushOpen,d)||(n.pushOpen=d),d}),Nc(),Oi(46,`app-run-dialog`,35),vg(`openChange`,function(d){return vk(n.runOpen,d)||(n.runOpen=d),d}),Jm(`started`,function(d){return n.goToContainer(d)}),Nc(),Oi(47,`app-layers-dialog`,34),vg(`openChange`,function(d){return vk(n.layersOpen,d)||(n.layersOpen=d),d}),Nc()),e&2){let l;ec(5),pg(n.t().title),ec(4),pg(n.t().diskSpace),ec(2),pg(n.totalSize()),ec(3),pg(n.t().unused),ec(2),pg(n.unusedCount()),ec(2),Wm(`label`,n.t().menuLabel)(`items`,n.menuItems()),ec(),SE((l=n.transfer())?19:-1,l),ec(4),Wm(`size`,15),ec(2),pg(n.t().searchLabel),ec(),Wm(`placeholder`,n.t().searchLabel)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyUnused),hg(`on`,n.onlyUnused),ec(),SE(n.loading()?28:-1),ec(),Wm(`problem`,n.problem()),ec(),SE(n.hasUpdates()?30:-1),ec(),SE(n.selected().size>0?31:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.rows())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(8),hg(`open`,n.confirmOpen),Wm(`title`,n.removalTitle())(`description`,n.removalDescription())(`confirmLabel`,n.removalConfirmLabel())(`confirmIcon`,n.removalConfirmIcon()),ec(),Wm(`open`,n.pullOpen())(`preset`,n.pullPreset()),ec(),hg(`open`,n.buildOpen),ec(),hg(`open`,n.tagOpen),Wm(`source`,n.tagSource()),ec(),hg(`open`,n.pushOpen),Wm(`reference`,n.pushReference()),ec(),hg(`open`,n.runOpen),Wm(`image`,n.runImage()),ec(),hg(`open`,n.layersOpen),Wm(`reference`,n.layersImage())}},dependencies:[z,x$1,My,W$1,u$1,Ce,Ie,we,P$1,V,De,ke,Se],encapsulation:2})}})();export{ot as ImagesPage};
1
+ import{$n as sS,A as HE,B as Kr,Bn as oS,Cr as yk,D as Gm,Dn as kE,Et as UE,Fn as mj,Gn as pg,Gt as _m,H as Ld,K as My,Kn as pj,Nt as W,On as kc,Pn as mg,Pt as Wm,Q as OD,Qn as rg,Qt as bg,R as Jm,Rn as nk,St as Tg,Tn as jc,Zn as rf,_r as wt$1,cn as f,cr as ve,dr as vk,en as bk,er as sg,et as Od,f as C,fn as fk,gn as gj,hr as wc,ht as Sc,jn as lS,kn as ke$1,lr as vg,mt as SE,o as Ac,on as eH,q as Nc,qt as ag,rn as dS,rt as Ot$1,sn as ec,t as $E,tt as Oi,u as Br,xn as hg,xt as Tc,yt as TE}from"./chunk-C3hTwhog.js";import{n as u,t as f$1}from"./chunk-MyEYCSP-.js";import"./chunk-BG-O4Nb_.js";import{i as h,n as N,r as d}from"./chunk-DiB8MPYS.js";import{n as h$1,t as P}from"./chunk-BJsftgmt.js";import{n as o,t as i}from"./chunk-bSfpBwIa.js";import"./chunk-xPy8hpGV.js";import"./chunk-B7xGbGa9.js";import{_ as pn$1,d as dn$1,f as fn$1,g as ln$1,l as an$1,m as ie,r as Je$1,u as cn$1,v as un$1}from"./chunk-Cl4e4J9q.js";import{n as p,t as M}from"./chunk-5u_BJ6JX.js";import{n as x,t as u$1}from"./chunk-Dy3d-reD.js";import{r as Q,s as fe,u as ra}from"./chunk-BEtYD0_3.js";import{n as V,t as G}from"./chunk-eoU2TjRt.js";import{n as W$1,t as J}from"./chunk-DtY6mcWb.js";import{n as P$1,t as K}from"./chunk-CzkAHty9.js";import{i as z,n as oe,r as x$1}from"./chunk-B23Afk52.js";import{a as z$1,i as r,r as d$1,t as A}from"./chunk-DtbAIphi.js";function gt(i,t){i&1&&(Oi(0,`p`,13),fk(1),Nc()),i&2&&(ec(),pg(t))}function _t(i,t){if(i&1&&(Oi(0,`p`,14),fk(1),Nc()),i&2){let e=HE(3);ec(),pg(e.t().empty)}}function xt(i,t){if(i&1&&(Oi(0,`span`,20),fk(1),Nc()),i&2){let e=HE(5);ec(),pg(e.t().noSize)}}function ft(i,t){if(i&1){let e=$E();Oi(0,`li`,16)(1,`span`,17),fk(2),Nc(),Oi(3,`button`,18),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(4).toggle(l))}),Oi(4,`pre`,19),fk(5),Nc(),kE(6,xt,2,1,`span`,20),Nc()()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(4);ec(),nk(e.sizeBytes===0?`text-ink-600`:`text-ink-200`),ec(),Ac(` `,e.sizeBytes===0?`—`:l.size(e),` `),ec(),Br(`aria-label`,l.t().expand)(`aria-expanded`,l.isOpen(n)),ec(),ag(`line-clamp-2`,!l.isOpen(n)),ec(),pg(e.instruction),ec(),SE(e.sizeBytes===0?6:-1)}}function yt(i,t){if(i&1&&(Oi(0,`ul`,15),Sc(1,ft,7,9,`li`,16,TE),Nc()),i&2){let e=HE(3);ec(),Tc(e.layers())}}function ht(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc(),kE(2,gt,2,1,`p`,13),kE(3,_t,2,1,`p`,14)(4,yt,3,0,`ul`,15)),i&2){let e,n=HE(2);ec(),pg(n.summary()),ec(),SE((e=n.packed())?2:-1,e),ec(),SE(n.layers().length===0?3:4)}}function vt(i,t){if(i&1&&(Oi(0,`p`,7),fk(1),Nc()),i&2){let e=HE(2);ec(),Ac(` `,e.problem(),` `)}}function bt(i,t){if(i&1&&(Oi(0,`p`,8),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().loading)}}function wt(i,t){if(i&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),kE(7,ht,5,3)(8,vt,2,1,`p`,7)(9,bt,2,1,`p`,8),Oi(10,`div`,9)(11,`button`,10),Gm(12,`app-icon`,11),fk(13),Nc()()()()),i&2){let e,n=HE();ec(4),pg(n.t().title(n.reference())),ec(2),pg(n.t().description),ec(),SE((e=n.result()?.ok)===!0?7:e===!1?8:9),ec(5),Wm(`size`,14),ec(),Ac(` `,n.common().close,` `)}}var we;var Je=f(()=>{Kr();Je$1();lS();h();dS();sS();Kr();we=class i{open=mj(!1);reference=jc.required();t=Ot$1(()=>oS().images.layers);common=Ot$1(()=>oS().common);result=wt$1(null);expanded=wt$1(new Set);constructor(){rf(()=>{if(!this.open())return;let t=this.reference();Tg(()=>{this.load(t)})})}layers(){let t=this.result();return t?.ok===!0?t.layers:[]}summary(){let t=this.result();return t?.ok===!0?this.t().summary(t.layers.length,d(t.imageBytes)):``}packed(){let t=this.result();return t?.ok!==!0||t.imageBytes===0||t.layersBytes>=t.imageBytes*.95?null:this.t().packed(d(t.layersBytes))}problem(){let t=this.result();return t?.ok===!1?t.problem:``}size(t){return d(t.sizeBytes)}isOpen(t){return this.expanded().has(t)}toggle(t){this.expanded.update(e=>{let n=new Set(e);return n.delete(t)||n.add(t),n})}async load(t){this.result.set(null),this.expanded.set(new Set);try{this.result.set(await window.electron.images.history(t))}catch(e){this.result.set({ok:!1,problem:eH(e)})}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-layers-dialog`]],inputs:{open:[1,`open`],reference:[1,`reference`]},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`,`layers-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-3xl`,`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-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`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`data-testid`,`layers-summary`,1,`mt-3`,`text-[12px]`,`text-ink-500`],[`data-testid`,`layers-packed`,1,`mt-1`,`text-[12px]`,`text-ink-600`],[1,`mt-3`,`text-[13px]`,`text-ink-400`],[`data-testid`,`layer-list`,1,`mt-3`,`min-h-0`,`flex-1`,`divide-y`,`divide-ink-800`,`overflow-auto`],[1,`flex`,`gap-4`,`py-2.5`],[1,`w-24`,`shrink-0`,`text-right`,`text-[12px]`],[`type`,`button`,1,`mx-focus`,`min-w-0`,`flex-1`,`cursor-pointer`,`text-left`,3,`click`],[1,`font-mono`,`text-[12px]`,`leading-relaxed`,`whitespace-pre-wrap`,`text-ink-200`],[1,`mt-0.5`,`block`,`text-[11px]`,`text-ink-600`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,wt,14,5,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function kt(i,t){if(i&1&&(Oi(0,`span`,22),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().official)}}function Dt(i,t){if(i&1){let e=$E();Oi(0,`li`)(1,`button`,20),Jm(`click`,function(){let l=Ld(e).$implicit;return Od(HE(3).choose(l))}),Oi(2,`span`,21),fk(3),Nc(),kE(4,kt,2,1,`span`,22),Oi(5,`span`,23),fk(6),Nc(),Oi(7,`span`,24),fk(8),Nc()()()}if(i&2){let e=t.$implicit,n=HE(3);ec(3),pg(e.name),ec(),SE(e.official?4:-1),ec(),Wm(`title`,e.description),ec(),pg(e.description),ec(2),pg(n.t().stars(e.stars))}}function St(i,t){if(i&1&&(Oi(0,`div`,11)(1,`p`,18),fk(2),Nc(),Oi(3,`ul`,19),Sc(4,Dt,9,5,`li`,null,Xe),Nc()()),i&2){let e=HE(2);ec(2),pg(e.t().hits),ec(2),Tc(e.hits())}}function It(i,t){if(i&1&&(Oi(0,`div`,27)(1,`span`,28),fk(2),Nc(),Oi(3,`span`,29),fk(4),Nc(),Oi(5,`span`,30),Gm(6,`span`,31),Nc(),Oi(7,`span`,32),fk(8),Nc()()),i&2){let e=t.$implicit,n=HE(4);ec(),Wm(`title`,e.id),ec(),pg(e.id),ec(),Wm(`title`,e.status),ec(),pg(e.status),ec(2),sg(`width`,n.percentOf(e),`%`),ec(2),pg(n.sizeOf(e.total))}}function Et(i,t){if(i&1&&(Oi(0,`div`,26),Sc(1,It,9,7,`div`,27,Ct),Nc()),i&2){let e=HE();ec(),Tc(e.layers)}}function Tt(i,t){if(i&1&&(Oi(0,`p`,25),fk(1),Nc(),kE(2,Et,3,0,`div`,26)),i&2){let e=t;ag(`text-danger`,e.problem)(`text-ink-300`,!e.problem),ec(),Ac(` `,e.problem??e.message,` `),ec(),SE(e.layers.length>0?2:-1)}}function Pt(i,t){if(i&1&&(Oi(0,`li`)(1,`span`,7),fk(2),Nc(),Oi(3,`span`,36),fk(4),Nc()()),i&2){let e=t.$implicit,n=HE(3);ec(2),pg(e.services.join(`, `)),ec(2),Ac(` `,n.t().inProject(e.name))}}function Mt(i,t){if(i&1&&(Oi(0,`li`)(1,`span`,7),fk(2),Nc(),Oi(3,`span`,36),fk(4),Nc()()),i&2){let e=t.$implicit,n=HE(3);ec(2),pg(e),ec(2),Ac(` — `,n.t().notCompose)}}function Rt(i,t){if(i&1&&(Oi(0,`p`,37),fk(1),Nc()),i&2){let e=HE(),n=HE(3);ec(),pg(n.t().renewed(e.renewed.join(`, `)))}}function Nt(i,t){if(i&1&&(Oi(0,`p`,38),fk(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e)}}function Vt(i,t){if(i&1&&(kE(0,Rt,2,1,`p`,37),Sc(1,Nt,2,1,`p`,38,kc)),i&2){let e=t;SE(e.renewed.length>0?0:-1),ec(),Tc(e.problems)}}function Bt(i,t){if(i&1){let e=$E();Oi(0,`div`,35)(1,`button`,39),Jm(`click`,function(){Ld(e);return Od(HE(3).renew())}),Gm(2,`app-icon`,40),fk(3),Nc(),Oi(4,`span`,41),fk(5),Nc()()}if(i&2){let e=HE(3);ec(),Wm(`disabled`,e.renewing()),ec(),Wm(`size`,14),ec(),Ac(` `,e.renewing()?e.t().renewing:e.t().renew,` `),ec(2),pg(e.t().renewHint)}}function zt(i,t){if(i&1&&(Oi(0,`div`,12)(1,`p`,33),fk(2),Nc(),Oi(3,`ul`,34),Sc(4,Pt,5,2,`li`,null,Xe),Sc(6,Mt,5,2,`li`,null,kc),Nc(),kE(8,Vt,3,1)(9,Bt,6,4,`div`,35),Nc()),i&2){let e,n=t,l=HE(2);ec(2),pg(l.t().staleHeading),ec(2),Tc(n.projects),ec(2),Tc(n.loose),ec(2),SE((e=l.renewed())?8:n.projects.length>0?9:-1,e)}}function Ot(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Oi(7,`code`,7),fk(8,`nginx:stable-alpine`),Nc(),fk(9),Oi(10,`code`,7),fk(11,`latest`),Nc(),fk(12),Nc(),Oi(13,`form`,8),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(14,`label`,9),fk(15),Nc(),Oi(16,`input`,10),Jm(`input`,function(l){Ld(e);return Od(HE().onType(l.target.value))}),Nc()(),kE(17,St,6,1,`div`,11),kE(18,Tt,3,6),kE(19,zt,10,2,`div`,12),Oi(20,`div`,13)(21,`button`,14),Gm(22,`app-icon`,15),fk(23),Nc(),Oi(24,`button`,16),Gm(25,`app-icon`,17),fk(26),Nc()()()()}if(i&2){let e,n,l=HE();ec(4),pg(l.t().title),ec(2),Ac(` `,l.t().nameAndTag,` `),ec(3),Ac(`. `,l.t().withoutTag,` `),ec(3),Ac(` `,l.t().isUsed,` `),ec(3),pg(l.t().inputLabel),ec(),Wm(`value`,l.reference())(`disabled`,l.busy()),ec(),SE(l.hits().length>0&&l.progress()===null&&!l.busy()?17:-1),ec(),SE((e=l.progress())?18:-1,e),ec(),SE((n=l.staleShown())?19:-1,n),ec(3),Wm(`size`,14),ec(),Ac(` `,l.finished()?l.common().close:l.common().cancel,` `),ec(),Wm(`disabled`,!l.canPull()),ec(),Wm(`size`,14),ec(),Ac(` `,l.t().submit,` `)}}var Xe;var Ct;var Me;var Lt;var Ce;var et=f(()=>{Kr();Je$1();h();dS();lS();sS();Kr();Xe=(i,t)=>t.name,Ct=(i,t)=>t.id;Me=class{constructor(t){this.onProgress=t}onProgress;streamId=null;unsubscribe=null;disposed=!1;async start(t){this.stop(),this.disposed=!1;let e=await window.electron.images.pull(t);return e.ok?this.disposed?(window.electron.images.close(e.streamId),null):(this.streamId=e.streamId,this.unsubscribe=window.electron.images.onPullProgress(e.streamId,this.onProgress),null):e.problem}stop(){this.disposed=!0,this.unsubscribe?.(),this.unsubscribe=null,this.streamId!==null&&(window.electron.images.close(this.streamId),this.streamId=null)}},Lt=350,Ce=class i{open=mj(!1);t=Ot$1(()=>oS().images.pullDialog);common=Ot$1(()=>oS().common);preset=jc(null);reference=wt$1(``);hits=wt$1([]);searchTimer=null;lastSearch=``;progress=wt$1(null);busy=wt$1(!1);finished=Ot$1(()=>this.progress()?.done??!1);stale=wt$1(null);renewing=wt$1(!1);renewed=wt$1(null);staleShown=Ot$1(()=>{let t=this.stale();return t!==null&&(t.projects.length>0||t.loose.length>0)?t:null});pulled=wt$1(``);canPull=Ot$1(()=>{let t=this.reference().trim();if(this.busy()||t===``)return!1;let e=this.progress();return!(e?.done===!0&&e.problem===null&&t===this.pulled())});run=new Me(t=>{this.progress.set(t),t.done&&(this.busy.set(!1),t.problem===null&&this.lookForStale(this.pulled()))});constructor(){C(ve).onDestroy(()=>{this.run.stop(),this.searchTimer!==null&&clearTimeout(this.searchTimer)}),rf(()=>{let t=this.preset();this.open()&&Tg(()=>{this.busy()||this.clear(),t!==null&&(this.reference.set(t),this.pull())})})}onType(t){this.reference.set(t),this.searchTimer!==null&&clearTimeout(this.searchTimer);let e=t.trim();if(e.length<2){this.hits.set([]);return}this.searchTimer=setTimeout(()=>{this.search(e)},Lt)}async search(t){this.lastSearch=t;try{let e=await window.electron.images.search(t);t===this.lastSearch&&t===this.reference().trim()&&this.hits.set(e)}catch{this.hits.set([])}}choose(t){this.reference.set(t.name),this.hits.set([]),this.lastSearch=``}clear(){this.hits.set([]),this.reference.set(``),this.progress.set(null),this.stale.set(null),this.renewed.set(null),this.pulled.set(``)}submit(t){t.preventDefault(),this.pull()}pull(){let t=this.reference().trim();this.canPull()&&(this.busy.set(!0),this.progress.set(null),this.stale.set(null),this.renewed.set(null),this.pulled.set(t),this.hits.set([]),this.lastSearch=``,this.searchTimer!==null&&(clearTimeout(this.searchTimer),this.searchTimer=null),this.run.start(t).then(e=>{e!==null&&this.fail(t,e)}).catch(e=>this.fail(t,eH(e))))}async lookForStale(t){try{let e=await window.electron.images.staleContainers(t);t===this.pulled()&&this.stale.set(e)}catch{this.stale.set(null)}}renew(){let t=this.pulled();this.renewing.set(!0),window.electron.images.renew(t).then(e=>this.renewed.set(e)).catch(e=>this.renewed.set({renewed:[],problems:[eH(e)]})).finally(()=>this.renewing.set(!1))}fail(t,e){this.busy.set(!1),this.progress.set({reference:t,layers:[],message:``,done:!0,problem:e})}percentOf(t){return/complete|already exists/i.test(t.status)?100:t.total<=0?0:Math.min(100,t.current/t.total*100)}sizeOf(t){return t<=0?``:d(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-pull-dialog`]],inputs:{open:[1,`open`],preset:[1,`preset`]},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`,``,1,`w-full`,`max-w-3xl`,`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,`font-mono`],[`id`,`pull-form`,1,`mt-4`,3,`submit`],[`for`,`pull-reference`,1,`sr-only`],[`id`,`pull-reference`,`type`,`text`,`placeholder`,`nginx:stable-alpine`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`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`,3,`input`,`value`,`disabled`],[`data-testid`,`pull-hits`,1,`mt-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`],[`data-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`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,`form`,`pull-form`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`download`,3,`size`],[1,`px-3`,`pt-2`,`text-[11px]`,`text-ink-500`],[1,`max-h-56`,`overflow-y-auto`,`py-1`],[`type`,`button`,1,`mx-focus`,`flex`,`w-full`,`cursor-pointer`,`items-baseline`,`gap-3`,`px-3`,`py-1.5`,`text-left`,`hover:bg-ink-700`,3,`click`],[1,`shrink-0`,`font-mono`,`text-[13px]`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-accent/50`,`px-1`,`text-[10px]`,`text-accent`],[1,`min-w-0`,`flex-1`,`truncate`,`text-[12px]`,`text-ink-400`,3,`title`],[1,`shrink-0`,`text-[11px]`,`tabular-nums`,`text-ink-500`],[1,`mt-4`,`text-[13px]`],[1,`mt-3`,`max-h-64`,`space-y-1.5`,`overflow-y-auto`,`pr-1`],[1,`flex`,`items-center`,`gap-4`,`text-[12px]`],[1,`w-28`,`shrink-0`,`truncate`,`font-mono`,`text-ink-500`,3,`title`],[1,`w-44`,`shrink-0`,`truncate`,`text-ink-400`,3,`title`],[1,`h-1.5`,`min-w-0`,`flex-1`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`block`,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-ink-500`],[1,`text-ink-200`],[1,`mt-1.5`,`space-y-0.5`,`text-ink-300`],[1,`mt-2.5`,`flex`,`items-center`,`gap-3`],[1,`text-ink-500`],[1,`mt-2`,`text-ok`],[1,`mt-2`,`text-danger`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`name`,`refresh`,3,`size`],[1,`text-[12px]`,`text-ink-500`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,Ot,27,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Wt(i,t){if(i&1&&(Oi(0,`div`,13)(1,`span`,14),fk(2),Nc(),Oi(3,`span`,15),fk(4),Nc(),Oi(5,`span`,16),Gm(6,`span`,17),Nc(),Oi(7,`span`,18),fk(8),Nc()()),i&2){let e=t.$implicit,n=HE(4);ec(),Wm(`title`,e.id),ec(),pg(e.id),ec(),Wm(`title`,e.status),ec(),pg(e.status),ec(2),sg(`width`,n.percentOf(e),`%`),ec(2),pg(n.sizeOf(e.total))}}function $t(i,t){if(i&1&&(Oi(0,`div`,12),Sc(1,Wt,9,7,`div`,13,Ft),Nc()),i&2){let e=HE();ec(),Tc(e.layers)}}function Ut(i,t){if(i&1&&(Oi(0,`p`,11),fk(1),Nc(),kE(2,$t,3,0,`div`,12)),i&2){let e=t,n=HE(2);ag(`text-danger`,e.problem)(`text-ink-300`,!e.problem),ec(),Ac(` `,e.problem??(e.done?n.t().done:e.message),` `),ec(),SE(e.layers.length>0?2:-1)}}function At(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE(3);ec(),Ac(` `,e.t().hubPublic,` `)}}function jt(i,t){if(i&1&&(kE(0,At,2,1,`p`,19),Oi(1,`p`,20),fk(2),Nc(),Oi(3,`p`,21),fk(4),Nc()),i&2){let e=HE(2);SE(e.host()===null?0:-1),ec(2),pg(e.t().final),ec(2),pg(e.t().other)}}function Ht(i,t){if(i&1){let e=$E();Oi(0,`button`,22),Jm(`click`,function(){Ld(e);return Od(HE(2).push())}),Gm(1,`app-icon`,23),fk(2),Nc()}if(i&2){let e=HE(2);Wm(`disabled`,e.busy()),ec(),Wm(`size`,14),ec(),Ac(` `,e.busy()?e.t().pushing:e.t().confirm,` `)}}function qt(i,t){if(i&1&&(Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),kE(7,Ut,3,6)(8,jt,5,3),Oi(9,`div`,7)(10,`button`,8),Gm(11,`app-icon`,9),fk(12),Nc(),kE(13,Ht,3,3,`button`,10),Nc()()()),i&2){let e,n=HE();ec(4),pg(n.t().title(n.reference())),ec(2),Ac(` `,n.host()===null?n.t().hub:n.t().registry(n.host()??``),` `),ec(),SE((e=n.progress())?7:8,e),ec(4),Wm(`size`,14),ec(),Ac(` `,n.progress()?.done?n.common().close:n.common().cancel,` `),ec(),SE(n.progress()===null?13:-1)}}var Ft;var ke;var tt=f(()=>{Kr();Je$1();z$1();lS();h();sS();dS();Kr();Ft=(i,t)=>t.id;ke=class i{open=mj(!1);reference=jc.required();t=Ot$1(()=>oS().images.pushDialog);common=Ot$1(()=>oS().common);host=Ot$1(()=>A(this.reference()));progress=wt$1(null);busy=wt$1(!1);streamId=null;unsubscribe=null;constructor(){C(ve).onDestroy(()=>this.stop()),rf(()=>{this.open()&&Tg(()=>{this.busy()||(this.stop(),this.progress.set(null))})})}async push(){let t=this.reference();this.busy.set(!0);try{let e=await window.electron.images.push(t);if(!e.ok){this.fail(t,e.problem);return}this.streamId=e.streamId,this.progress.set({reference:t,layers:[],message:this.t().pushing,done:!1,problem:null}),this.unsubscribe=window.electron.images.onPullProgress(e.streamId,n=>{this.progress.set(n),n.done&&this.busy.set(!1)})}catch(e){this.fail(t,eH(e))}}fail(t,e){this.busy.set(!1),this.progress.set({reference:t,layers:[],message:``,done:!0,problem:e})}stop(){this.unsubscribe?.(),this.unsubscribe=null,this.streamId!==null&&(window.electron.images.close(this.streamId),this.streamId=null)}percentOf(t){return/pushed|already exists|mounted from/i.test(t.status)?100:t.total<=0?0:Math.min(100,t.current/t.total*100)}sizeOf(t){return t<=0?``:d(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-push-dialog`]],inputs:{open:[1,`open`],reference:[1,`reference`]},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`,`push-dialog`,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`,``,`data-testid`,`push-registry`,1,`mt-1`,`text-[13px]`,`text-ink-200`],[1,`mt-5`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`push-confirm`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`data-testid`,`push-status`,1,`mt-4`,`text-[13px]`],[1,`mt-3`,`max-h-64`,`space-y-1.5`,`overflow-y-auto`,`pr-1`],[1,`flex`,`items-center`,`gap-4`,`text-[12px]`],[1,`w-28`,`shrink-0`,`truncate`,`font-mono`,`text-ink-500`,3,`title`],[1,`w-44`,`shrink-0`,`truncate`,`text-ink-400`,3,`title`],[1,`h-1.5`,`min-w-0`,`flex-1`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`block`,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-ink-500`],[`data-testid`,`push-public`,1,`mt-3`,`rounded-md`,`border`,`border-warn/40`,`bg-warn/10`,`px-3`,`py-2`,`text-[12px]`,`text-ink-200`],[1,`mt-3`,`text-[12px]`,`text-ink-400`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`push-confirm`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`,`disabled`],[`name`,`upload`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,qt,14,6,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Kt(i,t){if(i&1&&(Oi(0,`p`,11),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().invalid)}}function Qt(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().exists(e.normalized()))}}function Yt(i,t){i&1&&(Oi(0,`p`,13),fk(1),Nc()),i&2&&(ec(),pg(t))}function Zt(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`h2`,5),fk(4),Nc(),Oi(5,`p`,6),fk(6),Nc(),Oi(7,`form`,7),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(8,`label`,8)(9,`span`,9),fk(10),Nc(),Oi(11,`input`,10),Jm(`input`,function(l){Ld(e);return Od(HE().target.set(l.target.value))}),Nc()(),kE(12,Kt,2,1,`p`,11)(13,Qt,2,1,`p`,12),kE(14,Yt,2,1,`p`,13),Oi(15,`div`,14)(16,`button`,15),Gm(17,`app-icon`,16),fk(18),Nc(),Oi(19,`button`,17),Gm(20,`app-icon`,18),fk(21),Nc()()()()()}if(i&2){let e,n=HE();ec(4),pg(n.t().title(n.source())),ec(2),pg(n.t().description),ec(4),pg(n.t().label),ec(),nk(n.field+` mt-1.5`),Wm(`value`,n.target()),ec(),SE(n.invalid()?12:n.exists()?13:-1),ec(2),SE((e=n.problem())?14:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().close,` `),ec(),Wm(`disabled`,!n.canSave()),ec(),Wm(`size`,14),ec(),Ac(` `,n.saving()?n.t().saving:n.t().save,` `)}}var Gt;var De;var nt=f(()=>{Kr();Je$1();z$1();lS();P();sS();dS();f$1();Kr();Gt=`mx-focus w-full rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 font-mono text-[13px] text-ink-100 placeholder:text-ink-500`,De=class i{open=mj(!1);source=jc.required();store=C(h$1);toast=C(u);t=Ot$1(()=>oS().images.tagDialog);common=Ot$1(()=>oS().common);field=Gt;target=wt$1(``);saving=wt$1(!1);problem=wt$1(null);wanted=Ot$1(()=>this.target().trim());invalid=Ot$1(()=>this.wanted()!==``&&!d$1(this.wanted()));normalized=Ot$1(()=>{let{repository:t,tag:e}=r(this.wanted());return`${t}:${e}`});exists=Ot$1(()=>this.normalized()!==this.source()&&this.store.images().some(t=>t.reference===this.normalized()));canSave=Ot$1(()=>!this.saving()&&d$1(this.wanted())&&this.normalized()!==this.source());constructor(){rf(()=>{if(!this.open())return;let t=this.source();Tg(()=>{this.target.set(t.startsWith(`sha256:`)?``:t),this.problem.set(null)})})}async submit(t){if(t.preventDefault(),!this.canSave())return;let e=this.normalized();this.saving.set(!0),this.problem.set(null);try{let n=await window.electron.images.tag(this.source(),e);n.ok?(this.toast.success(this.t().saved(e)),this.store.refresh(),this.open.set(!1)):this.problem.set(n.problem)}catch(n){this.problem.set(eH(n))}finally{this.saving.set(!1)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-tag-dialog`]],inputs:{open:[1,`open`],source:[1,`source`]},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`,`tag-dialog`,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`,3,`submit`],[1,`block`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`tag-name`,3,`input`,`value`],[`data-testid`,`tag-invalid`,1,`mt-2`,`text-[12px]`,`text-danger`],[`data-testid`,`tag-exists`,1,`mt-2`,`text-[12px]`,`text-warn`],[`role`,`alert`,1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-5`,`flex`,`items-center`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,`data-testid`,`tag-save`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`plus`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,Zt,22,13,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Xt(i,t){if(i&1&&(Oi(0,`span`,9),fk(1),Nc()),i&2){let e=t;Wm(`title`,e.folder),ec(),pg(e.folder)}}function en(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE(3);ec(),pg(e.t().none)}}function tn(i,t){if(i&1&&(Oi(0,`option`,24),fk(1),Nc()),i&2){let e=t.$implicit;Wm(`value`,e),ec(),pg(e)}}function nn(i,t){if(i&1&&(Oi(0,`p`,27),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().invalid)}}function an(i,t){if(i&1&&(Oi(0,`p`,28),fk(1),Nc()),i&2){let e=HE(4);ec(),pg(e.t().exists(e.normalized()))}}function on(i,t){if(i&1){let e=$E();Oi(0,`form`,21),Jm(`submit`,function(l){Ld(e);return Od(HE(3).submit(l))}),Oi(1,`label`,22),fk(2),Nc(),Oi(3,`select`,23),Jm(`change`,function(l){Ld(e);let d=HE(3);return Od(d.edit(d.dockerfile,l.target.value))}),Sc(4,tn,2,2,`option`,24,kc),Nc(),Oi(6,`label`,25),fk(7),Nc(),Oi(8,`input`,26),Jm(`input`,function(l){Ld(e);let d=HE(3);return Od(d.edit(d.target,l.target.value))}),Nc(),kE(9,nn,2,1,`p`,27)(10,an,2,1,`p`,28),Nc()}if(i&2){let e=HE(),n=HE(2);ec(2),pg(n.t().file),ec(),nk(n.field),Wm(`value`,n.dockerfile()),ec(),Tc(e.dockerfiles),ec(3),pg(n.t().name),ec(),nk(n.field),Wm(`value`,n.target()),ec(),SE(n.invalid()?9:n.exists()&&n.built()===null?10:-1)}}function rn(i,t){i&1&&kE(0,en,2,1,`p`,19)(1,on,11,9,`form`,20),i&2&&SE(t.dockerfiles.length===0?0:1)}function ln(i,t){if(i&1&&(Oi(0,`p`,12),fk(1),Nc()),i&2){let e=HE(2);ec(),pg(e.t().building)}}function sn(i,t){if(i&1&&(Oi(0,`p`,29),fk(1),Nc()),i&2){let e=HE(),n=HE(2);ec(),pg(n.t().done(e.reference))}}function dn(i,t){if(i&1&&(Oi(0,`p`,30),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.problem)}}function pn(i,t){if(i&1&&(Oi(0,`details`,31)(1,`summary`,32),fk(2),Nc(),Oi(3,`pre`,33,0),fk(5),Nc()()),i&2){let e=HE(),n=HE(2);Wm(`open`,!e.ok),ec(2),pg(n.t().output),ec(3),pg(e.output)}}function cn(i,t){if(i&1&&(Oi(0,`div`,13),kE(1,sn,2,1,`p`,29)(2,dn,2,1,`p`,30),kE(3,pn,6,3,`details`,31),Nc()),i&2){let e=t;ec(),SE(e.ok?1:2),ec(2),SE(e.output!==``?3:-1)}}function mn(i,t){if(i&1){let e=$E();Oi(0,`button`,34),Jm(`click`,function(){let l=Ld(e);return Od(HE(2).startContainer(l))}),Gm(1,`app-icon`,35),fk(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),Ac(` `,e.t().run,` `)}}function un(i,t){if(i&1){let e=$E();Oi(0,`button`,36),Jm(`click`,function(){Ld(e);return Od(HE(2).build())}),Gm(1,`app-icon`,37),fk(2),Nc()}if(i&2){let e=HE(2);Wm(`disabled`,!e.canBuild()),ec(),Wm(`size`,14),ec(),Ac(` `,e.t().build,` `)}}function gn(i,t){if(i&1){let e=$E();Gm(0,`div`,3),Oi(1,`div`,4)(2,`div`,5)(3,`h2`,6),fk(4),Nc(),Oi(5,`p`,7),fk(6),Nc(),Oi(7,`div`,8),kE(8,Xt,2,2,`span`,9),Oi(9,`button`,10),Jm(`click`,function(){Ld(e);return Od(HE().choose())}),Gm(10,`app-icon`,11),fk(11),Nc()(),kE(12,rn,2,1),kE(13,ln,2,1,`p`,12),kE(14,cn,4,2,`div`,13),Oi(15,`div`,14)(16,`button`,15),Gm(17,`app-icon`,16),fk(18),Nc(),kE(19,mn,3,2,`button`,17)(20,un,3,3,`button`,18),Nc()()()}if(i&2){let e,n,l,d,w=HE();ec(4),pg(w.t().title),ec(2),pg(w.t().description),ec(2),SE((e=w.folder())?8:-1,e),ec(),Wm(`disabled`,w.building()),ec(),Wm(`size`,14),ec(),Ac(` `,w.folder()===null?w.t().choose:w.t().other,` `),ec(),SE((n=w.folder())?12:-1,n),ec(),SE(w.building()?13:-1),ec(),SE((l=w.result())?14:-1,l),ec(3),Wm(`size`,14),ec(),Ac(` `,w.common().close,` `),ec(),SE((d=w.built())?19:20,d)}}var Jt;var _n;var Se;var it=f(()=>{Kr();Je$1();z$1();lS();P();sS();dS();Kr();Jt=[`buildOutput`];_n=`mx-focus w-full rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 font-mono text-[13px] text-ink-100 placeholder:text-ink-500`,Se=class i{open=mj(!1);run=pj();store=C(h$1);injector=C(ke$1);outputBlock=gj(`buildOutput`);t=Ot$1(()=>oS().images.buildDialog);common=Ot$1(()=>oS().common);field=_n;folder=wt$1(null);dockerfile=wt$1(``);target=wt$1(``);building=wt$1(!1);result=wt$1(null);wanted=Ot$1(()=>this.target().trim());invalid=Ot$1(()=>this.wanted()!==``&&!d$1(this.wanted()));normalized=Ot$1(()=>{let{repository:t,tag:e}=r(this.wanted());return`${t}:${e}`});exists=Ot$1(()=>this.store.images().some(t=>t.reference===this.normalized()));canBuild=Ot$1(()=>!this.building()&&this.folder()!==null&&this.dockerfile()!==``&&d$1(this.wanted()));built=Ot$1(()=>{let t=this.result();return t?.ok===!0?t.reference:null});constructor(){rf(()=>{this.open()&&Tg(()=>{this.building()||(this.folder.set(null),this.result.set(null))})})}edit(t,e){t.set(e),this.building()||this.result.set(null)}async choose(){try{let t=await window.electron.images.chooseBuildFolder();t!==null&&(this.folder.set(t),this.dockerfile.set(t.dockerfiles[0]??``),this.target.set(t.suggestion),this.result.set(null))}catch(t){this.result.set({ok:!1,problem:eH(t),output:``})}}submit(t){t.preventDefault(),this.build()}async build(){let t=this.folder();if(!(!this.canBuild()||t===null)){this.building.set(!0),this.result.set(null);try{let e=await window.electron.images.build(t.token,this.dockerfile(),this.wanted());this.result.set(e),e.ok?this.store.refresh():OD(()=>{let n=this.outputBlock()?.nativeElement;n!==void 0&&(n.scrollTop=n.scrollHeight)},{injector:this.injector})}catch(e){this.result.set({ok:!1,problem:eH(e),output:``})}finally{this.building.set(!1)}}}startContainer(t){this.open.set(!1),this.run.emit(t)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-build-dialog`]],viewQuery:function(e,n){e&1&&rg(n.outputBlock,Jt,5),e&2&&UE()},inputs:{open:[1,`open`]},outputs:{open:`openChange`,run:`run`},decls:2,vars:1,consts:[[`buildOutput`,``],[`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`,`build-dialog`,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`,`flex`,`items-center`,`gap-3`],[`data-testid`,`build-folder`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-[12px]`,`text-ink-200`,3,`title`],[`type`,`button`,`data-testid`,`build-choose`,1,`mx-btn`,`mx-focus`,`shrink-0`,3,`click`,`disabled`],[`name`,`folder`,3,`size`],[`data-testid`,`build-busy`,1,`mt-4`,`text-[13px]`,`text-ink-300`],[`data-testid`,`build-result`,1,`mt-4`,`text-[13px]`],[1,`mt-5`,`flex`,`items-center`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`button`,`data-testid`,`build-run`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`],[`type`,`button`,`data-testid`,`build-start`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`data-testid`,`build-none`,1,`mt-3`,`text-[13px]`,`text-warn`],[1,`mt-4`,`grid`,`grid-cols-[auto_1fr]`,`items-center`,`gap-x-3`,`gap-y-2`],[1,`mt-4`,`grid`,`grid-cols-[auto_1fr]`,`items-center`,`gap-x-3`,`gap-y-2`,3,`submit`],[`for`,`build-file`,1,`text-[13px]`,`text-ink-300`],[`id`,`build-file`,`data-testid`,`build-file`,3,`change`,`value`],[3,`value`],[`for`,`build-name`,1,`text-[13px]`,`text-ink-300`],[`id`,`build-name`,`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`data-testid`,`build-name`,3,`input`,`value`],[`data-testid`,`build-invalid`,1,`col-start-2`,`text-[12px]`,`text-danger`],[`data-testid`,`build-exists`,1,`col-start-2`,`text-[12px]`,`text-warn`],[1,`text-ok`],[`role`,`alert`,1,`text-danger`],[1,`mt-1.5`,3,`open`],[1,`cursor-pointer`,`text-[12px]`,`text-ink-400`,`hover:text-ink-200`],[1,`mt-1`,`max-h-72`,`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`],[`type`,`button`,`data-testid`,`build-run`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,`data-testid`,`build-start`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`click`,`disabled`],[`name`,`images`,3,`size`]],template:function(e,n){e&1&&(Oi(0,`div`,1),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,gn,21,12,`ng-template`,2),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function fn(i,t){if(i&1&&(Oi(0,`option`,22),fk(1),Nc()),i&2){let e=t.$implicit,n=HE(2);Wm(`value`,e.name)(`selected`,n.network()===e.name),ec(),pg(e.name)}}function yn(i,t){if(i&1){let e=$E();Oi(0,`label`,23)(1,`span`,13),fk(2),Nc(),Oi(3,`input`,14),Jm(`input`,function(l){Ld(e);return Od(HE(2).networkAlias.set(l.target.value))}),Nc(),Oi(4,`span`,35),fk(5),Nc()()}if(i&2){let e=HE(2);ec(2),pg(e.t().networkAlias),ec(),nk(e.field+` mt-1.5 w-full`),Wm(`placeholder`,e.t().networkAliasPlaceholder)(`value`,e.networkAlias()),Br(`aria-label`,e.t().networkAlias),ec(2),pg(e.t().networkAliasHint)}}function hn(i,t){if(i&1){let e=$E();Oi(0,`input`,37),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{host:l.target.value}))}),Nc(),Oi(1,`span`,38),fk(2,`→`),Nc(),Oi(3,`input`,39),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{container:l.target.value}))}),Nc(),Oi(4,`select`,20),Jm(`change`,function(l){let d=Ld(e).$index;return Od(HE(3).setPort(d,{protocol:l.target.value}))}),Oi(5,`option`,40),fk(6,`tcp`),Nc(),Oi(7,`option`,41),fk(8,`udp`),Nc()(),Oi(9,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removePort(l))}),Gm(10,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field),Wm(`placeholder`,l.t().hostPortPlaceholder)(`value`,e.host),Br(`aria-label`,l.t().hostPort(n+1)),ec(3),nk(l.field),Wm(`value`,e.container),Br(`aria-label`,l.t().containerPort(n+1)),ec(),nk(l.field),Br(`aria-label`,l.t().protocol(n+1)),ec(),Wm(`selected`,e.protocol===`tcp`),ec(2),Wm(`selected`,e.protocol===`udp`),ec(2),nk(l.removeButton),Br(`aria-label`,l.t().removePort(n+1)),ec(),Wm(`size`,14)}}function vn(i,t){if(i&1&&(Oi(0,`div`,24)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Oi(6,`span`,36),fk(7),Nc(),Gm(8,`span`),Sc(9,hn,11,18,null,null,TE),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().onThisComputer),ec(3),pg(e.t().inContainer),ec(2),pg(e.t().protocolHeader),ec(2),Tc(e.ports())}}function bn(i,t){if(i&1){let e=$E();Oi(0,`input`,45),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{source:l.target.value}))}),Nc(),Oi(1,`span`,38),fk(2,`→`),Nc(),Oi(3,`input`,46),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{target:l.target.value}))}),Nc(),Oi(4,`label`,47)(5,`input`,48),Jm(`change`,function(l){let d=Ld(e).$index;return Od(HE(3).setVolume(d,{readOnly:l.target.checked}))}),Nc(),fk(6),Nc(),Oi(7,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removeVolume(l))}),Gm(8,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field),Wm(`placeholder`,l.t().sourcePlaceholder)(`value`,e.source),Br(`aria-label`,l.t().volumeSource(n+1)),ec(3),nk(l.field),Wm(`placeholder`,l.t().targetPlaceholder)(`value`,e.target),Br(`aria-label`,l.t().volumeTarget(n+1)),ec(),Wm(`title`,l.t().readOnlyHint),ec(),Wm(`checked`,e.readOnly),ec(),Ac(` `,l.t().readOnly,` `),ec(),nk(l.removeButton),Br(`aria-label`,l.t().removeVolume(n+1)),ec(),Wm(`size`,14)}}function wn(i,t){if(i&1&&Gm(0,`option`,44),i&2){let e=t.$implicit;Wm(`value`,e)}}function Cn(i,t){if(i&1&&(Oi(0,`div`,24)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Gm(6,`span`)(7,`span`),Sc(8,bn,9,17,null,null,TE),Nc(),Oi(10,`datalist`,43),Sc(11,wn,1,1,`option`,44,kc),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().source),ec(3),pg(e.t().inContainer),ec(3),Tc(e.volumes()),ec(3),Tc(e.knownVolumes())}}function kn(i,t){if(i&1){let e=$E();Oi(0,`input`,49),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setEnvKey(d,l.target))}),Nc(),Oi(1,`span`,38),fk(2,`=`),Nc(),Oi(3,`input`,50),Jm(`input`,function(l){let d=Ld(e).$index;return Od(HE(3).setEnv(d,{value:l.target.value}))}),Nc(),Oi(4,`button`,25),Jm(`click`,function(){let l=Ld(e).$index;return Od(HE(3).removeEnv(l))}),Gm(5,`app-icon`,42),Nc()}if(i&2){let e=t.$implicit,n=t.$index,l=HE(3);nk(l.field+` font-mono`),Wm(`value`,e.key),Br(`aria-label`,l.t().envName(n+1)),ec(3),nk(l.field+` font-mono`),Wm(`value`,e.value),Br(`aria-label`,l.t().envValue(n+1))(`data-env-value`,n),ec(),nk(l.removeButton),Br(`aria-label`,l.t().removeEnv(n+1)),ec(),Wm(`size`,14)}}function Dn(i,t){if(i&1&&(Oi(0,`div`,27)(1,`span`,36),fk(2),Nc(),Gm(3,`span`),Oi(4,`span`,36),fk(5),Nc(),Gm(6,`span`),Sc(7,kn,6,13,null,null,TE),Nc()),i&2){let e=HE(2);ec(2),pg(e.t().envNameHeader),ec(3),pg(e.t().envValueHeader),ec(2),Tc(e.env())}}function Sn(i,t){i&1&&(Oi(0,`p`,29),fk(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function In(i,t){if(i&1){let e=$E();Gm(0,`div`,2),Oi(1,`div`,3)(2,`div`,4)(3,`div`,5)(4,`h2`,6),fk(5),Nc(),Oi(6,`p`,7)(7,`span`),fk(8),Nc(),Oi(9,`code`,8),fk(10),Nc()()(),Oi(11,`form`,9),Jm(`submit`,function(l){Ld(e);return Od(HE().submit(l))}),Oi(12,`div`,10)(13,`section`,11)(14,`label`,12)(15,`span`,13),fk(16),Nc(),Oi(17,`input`,14),Jm(`input`,function(l){Ld(e);return Od(HE().name.set(l.target.value))}),Nc()(),Oi(18,`label`,15)(19,`input`,16),Jm(`change`,function(l){Ld(e);return Od(HE().autoRestart.set(l.target.checked))}),Nc(),Oi(20,`span`)(21,`span`,17),fk(22),Nc(),Oi(23,`span`,18),fk(24),Nc()()()(),Oi(25,`section`)(26,`h3`,13),fk(27),Nc(),Oi(28,`p`,19),fk(29),Nc(),Oi(30,`select`,20),Jm(`change`,function(l){Ld(e);return Od(HE().setNetwork(l.target.value))}),Oi(31,`option`,21),fk(32),Nc(),Sc(33,fn,2,3,`option`,22,xn),Nc(),kE(35,yn,6,7,`label`,23),Nc(),Oi(36,`section`)(37,`h3`,13),fk(38),Nc(),Oi(39,`p`,19),fk(40),Nc(),kE(41,vn,11,3,`div`,24),Oi(42,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addPort())}),Gm(43,`app-icon`,26),fk(44),Nc()(),Oi(45,`section`)(46,`h3`,13),fk(47),Nc(),Oi(48,`p`,19),fk(49),Nc(),kE(50,Cn,13,2),Oi(51,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addVolume())}),Gm(52,`app-icon`,26),fk(53),Nc()(),Oi(54,`section`)(55,`h3`,13),fk(56),Nc(),Oi(57,`p`,19),fk(58),Nc(),kE(59,Dn,9,2,`div`,27),Oi(60,`button`,25),Jm(`click`,function(){Ld(e);return Od(HE().addEnv())}),Gm(61,`app-icon`,26),fk(62),Nc()()(),Oi(63,`div`,28),kE(64,Sn,2,1,`p`,29),Oi(65,`div`,30)(66,`button`,31),Gm(67,`app-icon`,32),fk(68),Nc(),Oi(69,`button`,33),Gm(70,`app-icon`,34),fk(71),Nc()()()()()()}if(i&2){let e,n=HE();ec(5),pg(n.t().title),ec(3),pg(n.t().fromImage),ec(2),pg(n.image()),ec(6),pg(n.t().name),ec(),nk(n.field+` mt-1.5 w-full`),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(2),Wm(`checked`,n.autoRestart()),ec(3),pg(n.t().autoRestart),ec(2),pg(n.t().autoRestartHint),ec(3),pg(n.t().network),ec(2),pg(n.t().networkHint),ec(),nk(n.field+` mt-3 w-full`),Br(`aria-label`,n.t().network),ec(),Wm(`selected`,n.network()===``),ec(),pg(n.t().networkDefault),ec(),Tc(n.selectableNetworks()),ec(2),SE(n.canAlias()?35:-1),ec(3),pg(n.t().ports),ec(2),pg(n.t().portsHint),ec(),SE(n.ports().length>0?41:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addPort),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addPort,` `),ec(3),pg(n.t().volumes),ec(2),pg(n.t().volumesHint),ec(),SE(n.volumes().length>0?50:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addVolume),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addVolume,` `),ec(3),pg(n.t().env),ec(2),pg(n.t().envHint),ec(),SE(n.env().length>0?59:-1),ec(),nk(n.addButton),Br(`aria-label`,n.t().addEnv),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().addEnv,` `),ec(2),SE((e=n.problem())?64:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,n.busy()?n.t().starting:n.t().submit,` `)}}var xn;var En;var Tn;var Pn;var Ie;var at=f(()=>{Kr();Je$1();P();dS();lS();sS();Kr();xn=(i,t)=>t.id;En=`mx-focus min-w-0 rounded-md border border-ink-700 bg-ink-800 px-2.5 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,Tn=`mx-focus mt-2 inline-flex cursor-pointer items-center gap-1.5 rounded-md border border-dashed border-ink-700 px-2.5 py-1 text-[12px] text-ink-300 hover:border-ink-500 hover:text-ink-100`,Pn=`mx-focus grid size-8 cursor-pointer place-items-center rounded text-ink-400 hover:text-danger`,Ie=class i{open=mj(!1);image=jc(``);started=pj();store=C(h$1);t=Ot$1(()=>oS().images.runDialog);common=Ot$1(()=>oS().common);field=En;addButton=Tn;removeButton=Pn;name=wt$1(``);autoRestart=wt$1(!1);knownVolumes=wt$1([]);knownNetworks=wt$1([]);network=wt$1(``);networkAlias=wt$1(``);ports=wt$1([]);volumes=wt$1([]);env=wt$1([]);problem=wt$1(null);busy=wt$1(!1);canSubmit=Ot$1(()=>!this.busy()&&this.image()!==``);selectableNetworks=Ot$1(()=>this.knownNetworks().filter(t=>t.name!==`bridge`));canAlias=Ot$1(()=>{let t=this.network();return t!==``&&this.knownNetworks().some(e=>e.name===t&&!e.builtIn)});constructor(){rf(()=>{this.open()&&(this.loadVolumes(),this.loadNetworks())})}async loadVolumes(){try{this.knownVolumes.set((await window.electron.volumes.list()).map(t=>t.name))}catch{this.knownVolumes.set([])}}async loadNetworks(){try{this.knownNetworks.set(await window.electron.networks.list())}catch{this.knownNetworks.set([])}}setNetwork(t){this.network.set(t),this.canAlias()||this.networkAlias.set(``)}addPort(){this.ports.update(t=>[...t,{host:``,container:``,protocol:`tcp`}])}addVolume(){this.volumes.update(t=>[...t,{source:``,target:``,readOnly:!1}])}addEnv(){this.env.update(t=>[...t,{key:``,value:``}])}removePort(t){this.ports.update(e=>e.filter((n,l)=>l!==t))}removeVolume(t){this.volumes.update(e=>e.filter((n,l)=>l!==t))}removeEnv(t){this.env.update(e=>e.filter((n,l)=>l!==t))}setPort(t,e){this.ports.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setVolume(t,e){this.volumes.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setEnv(t,e){this.env.update(n=>n.map((l,d)=>d===t?W(W({},l),e):l))}setEnvKey(t,e){let n=e.value,l=n.indexOf(`=`);if(l<=0){this.setEnv(t,{key:n});return}let d=n.slice(0,l),w=n.slice(l+1);this.setEnv(t,w===``?{key:d}:{key:d,value:w}),e.value=d,e.parentElement?.querySelector(`input[data-env-value="${String(t)}"]`)?.focus()}async submit(t){if(t.preventDefault(),!this.canSubmit())return;let e=this.collect();if(typeof e==`string`){this.problem.set(e);return}this.busy.set(!0),this.problem.set(null);try{let n=await window.electron.images.run(e);if(!n.ok){this.problem.set(n.problem);return}this.reset(),this.open.set(!1),this.started.emit(n.id),this.store.refresh()}catch(n){this.problem.set(eH(n))}finally{this.busy.set(!1)}}collect(){let t=this.t(),e=[];for(let $ of this.ports()){let U=Number($.container.trim());if(!Number.isInteger(U)||U<1||U>65535)return t.invalidContainerPort($.container);let ne=$.host.trim(),xe=ne===``?null:Number(ne);if(xe!==null&&(!Number.isInteger(xe)||xe<1||xe>65535))return t.invalidHostPort($.host);e.push({hostPort:xe,containerPort:U,protocol:$.protocol})}let n=[];for(let $ of this.volumes()){let U=$.source.trim(),ne=$.target.trim();if(U===``||ne===``)return t.volumeIncomplete;if(!ne.startsWith(`/`))return t.notAbsolute(ne);n.push({source:U,target:ne,readOnly:$.readOnly})}let l=[];for(let $ of this.env()){let U=$.key.trim();if(U===``)return t.envNameMissing;if(U.includes(`=`))return t.envNameWithEquals(U);l.push({key:U,value:$.value})}let d=this.name().trim(),w=this.network(),se=this.canAlias()?this.networkAlias().trim():``;return se!==``&&!/^[\w][\w.-]*$/.test(se)?t.invalidAlias(se):{image:this.image(),name:d===``?null:d,ports:e,volumes:n,env:l,network:w===``?null:w,networkAlias:se===``?null:se,restart:this.autoRestart()?`unless-stopped`:`no`}}reset(){this.name.set(``),this.autoRestart.set(!1),this.network.set(``),this.networkAlias.set(``),this.ports.set([]),this.volumes.set([]),this.env.set([]),this.problem.set(null)}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-run-dialog`]],inputs:{open:[1,`open`],image:[1,`image`]},outputs:{open:`openChange`,started:`started`},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,`flex`,`max-h-[85vh]`,`w-full`,`max-w-2xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`shadow-2xl`],[1,`shrink-0`,`border-b`,`border-ink-800`,`px-5`,`pt-5`,`pb-4`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1.5`,`flex`,`items-center`,`gap-1.5`,`text-[13px]`,`text-ink-400`],[1,`rounded`,`bg-ink-800`,`px-1.5`,`py-0.5`,`font-mono`,`text-[12px]`,`text-ink-200`],[1,`flex`,`min-h-0`,`flex-1`,`flex-col`,3,`submit`],[1,`min-h-0`,`flex-1`,`space-y-6`,`overflow-y-auto`,`px-5`,`py-5`],[1,`space-y-3`],[1,`block`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`flex`,`cursor-pointer`,`items-start`,`gap-2.5`],[`type`,`checkbox`,1,`mx-focus`,`mt-0.5`,`accent-accent`,3,`change`,`checked`],[1,`block`,`text-[13px]`,`text-ink-100`],[1,`block`,`text-[12px]`,`text-ink-500`],[1,`mt-0.5`,`text-[12px]`,`text-ink-500`],[3,`change`],[`value`,``,3,`selected`],[3,`value`,`selected`],[1,`mt-3`,`block`],[1,`mt-3`,`grid`,`grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)_7rem_2rem]`,`items-center`,`gap-x-2`,`gap-y-2`],[`type`,`button`,3,`click`],[`name`,`plus`,3,`size`],[1,`mt-3`,`grid`,`grid-cols-[minmax(0,2fr)_auto_minmax(0,3fr)_2rem]`,`items-center`,`gap-x-2`,`gap-y-2`],[1,`shrink-0`,`border-t`,`border-ink-800`,`px-5`,`py-3`],[`role`,`alert`,1,`mb-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,`border-accent`,`text-accent`,3,`disabled`],[`name`,`play`,3,`size`],[1,`mt-1`,`block`,`text-[12px]`,`text-ink-500`],[1,`text-[11px]`,`tracking-wide`,`text-ink-500`,`uppercase`],[`type`,`text`,`inputmode`,`numeric`,3,`input`,`placeholder`,`value`],[1,`text-ink-500`],[`type`,`text`,`placeholder`,`80`,`inputmode`,`numeric`,3,`input`,`value`],[`value`,`tcp`,3,`selected`],[`value`,`udp`,3,`selected`],[`name`,`trash`,3,`size`],[`id`,`run-dialog-volumes`],[3,`value`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,`list`,`run-dialog-volumes`,3,`input`,`placeholder`,`value`],[`type`,`text`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`flex`,`cursor-pointer`,`items-center`,`gap-1.5`,`whitespace-nowrap`,`text-[12px]`,`text-ink-400`,3,`title`],[`type`,`checkbox`,1,`mx-focus`,`accent-accent`,3,`change`,`checked`],[`type`,`text`,`placeholder`,`TZ`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`value`],[`type`,`text`,`placeholder`,`Europe/Amsterdam`,`spellcheck`,`false`,`autocomplete`,`off`,3,`input`,`value`]],template:function(e,n){e&1&&(Oi(0,`div`,0),vg(`openChange`,function(d){return vk(n.open,d)||(n.open=d),d}),_m(1,In,72,49,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln$1,an$1,pn$1,cn$1,fn$1,dn$1,un$1,My],encapsulation:2})}});function Mn(i,t){if(i&1&&(Oi(0,`span`,38),fk(1),Nc()),i&2){let e=HE(),n=HE();ec(),mg(``,n.sizeOf(e.done),` / `,n.sizeOf(e.total))}}function Rn(i,t){if(i&1&&(Oi(0,`span`,38),fk(1),Nc()),i&2){let e=HE(),n=HE();ec(),pg(n.sizeOf(e.done))}}function Nn(i,t){if(i&1&&(Oi(0,`div`,9)(1,`div`,36)(2,`span`,37),fk(3),Nc(),kE(4,Mn,2,2,`span`,38)(5,Rn,2,1,`span`,38),Nc(),Oi(6,`div`,39),Gm(7,`div`,40),Nc()()),i&2){let e=t,n=HE();ec(3),pg(e.label),ec(),SE(e.total>0?4:e.done>0?5:-1),ec(3),sg(`width`,e.total===0?100:n.transferPercent(),`%`),ag(`animate-pulse`,e.total===0)}}function Vn(i,t){if(i&1&&(Oi(0,`span`,17),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.t().refreshing)}}function Bn(i,t){if(i&1&&(Oi(0,`p`,19),fk(1),Nc()),i&2){let e=HE();ec(),pg(e.t().updatesHint)}}function zn(i,t){if(i&1){let e=$E();Oi(0,`div`,20)(1,`span`,41),fk(2),Nc(),Oi(3,`button`,42),Jm(`click`,function(){Ld(e);return Od(HE().askRemoveSelected())}),Gm(4,`app-icon`,43),fk(5),Nc()()}if(i&2){let e=HE();ec(2),pg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().remove,` `)}}function On(i,t){if(i&1&&(Oi(0,`span`,44),fk(1),Nc()),i&2){let e=t.$implicit;ag(`text-ink-500`,e.dangling)(`text-ink-100`,!e.dangling),Wm(`title`,e.repository),ec(),Ac(` `,e.repository,` `)}}function Ln(i,t){if(i&1&&(Oi(0,`span`,47),Gm(1,`app-icon`,50),fk(2),Nc()),i&2){let e=HE(2);ec(),Wm(`size`,12),ec(),Ac(` `,e.t().badge.newer,` `)}}function Fn(i,t){if(i&1&&(Oi(0,`span`,48),fk(1),Nc()),i&2){HE();let e=bk(0),n=HE();Wm(`title`,e?.problem??``),ec(),pg(n.t().badge.notInRegistry)}}function Wn(i,t){if(i&1&&(Oi(0,`span`,49),Gm(1,`app-icon`,51),fk(2),Nc()),i&2){HE();let e=bk(0),n=HE();Wm(`title`,e?.problem??``),ec(),Wm(`size`,12),ec(),Ac(` `,n.t().badge.uncheckable,` `)}}function $n(i,t){if(i&1&&(bg(0),Oi(1,`span`,45)(2,`span`,46),fk(3),Nc(),kE(4,Ln,3,2,`span`,47)(5,Fn,2,2,`span`,48)(6,Wn,3,3,`span`,49),Nc()),i&2){let e=t.$implicit,n=yk(HE().updateOf(e));ec(2),Wm(`title`,e.tag),ec(),pg(e.tag),ec(),SE(n?.state===`update`?4:n?.state===`unknown`?5:n?.state===`error`?6:-1)}}function Un(i,t){if(i&1&&(Oi(0,`span`,52),fk(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e.shortId)}}function An(i,t){if(i&1&&(Oi(0,`span`,53),fk(1),Nc()),i&2){let e=HE().$implicit,n=HE();ec(),pg(n.t().containerCount(e.inUseBy))}}function jn(i,t){i&1&&(Oi(0,`span`,54),fk(1,`—`),Nc())}function Hn(i,t){if(i&1&&kE(0,An,2,1,`span`,53)(1,jn,2,0,`span`,54),i&2){let e=t.$implicit;SE(e.inUseBy>0?0:1)}}function qn(i,t){if(i&1&&(Oi(0,`span`,55),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.ageOf(e.createdAt))}}function Kn(i,t){if(i&1&&(Oi(0,`span`,56),fk(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.sizeOf(e.sizeBytes))}}function Qn(i,t){if(i&1){let e=$E();Oi(0,`div`,57)(1,`app-action-menu`,58),Jm(`picked`,function(l){let d=Ld(e).$implicit;return Od(HE().onRowMenu(l,d))}),Nc()()}if(i&2){let e=t.$implicit,n=HE();ec(),Wm(`label`,n.t().rowMenu(e.reference))(`items`,n.rowMenu(e))}}var ot;f(()=>{Kr();ra();o();P();M();h();G();Je();J();oe();K();dS();x();et();tt();nt();it();at();sS();lS();f$1();Kr();ot=class i$1{store=C(h$1);toast=C(u);router=C(fe);route=C(Q);preferences=C(p);t=Ot$1(()=>oS().images);common=Ot$1(()=>oS().common);columns=Ot$1(()=>{let t=this.t().columns;return[{key:`repository`,label:t.repository},{key:`tag`,label:t.tag,width:`230px`},{key:`shortId`,label:t.imageId,width:`120px`},{key:`inUse`,label:t.inUse,width:`110px`},{key:`created`,label:t.created,width:`150px`},{key:`size`,label:t.size,width:`100px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;pending=this.store.pending;unusedCount=this.store.unusedCount;search=wt$1(``);zoek=jc(void 0);starten=jc(void 0);lagen=jc(void 0);ophalen=jc(void 0);verwijder=jc(void 0);controleren=jc(void 0);taggen=jc(void 0);pushen=jc(void 0);bouwen=jc(void 0);onlyUnused=this.preferences.flag(`images.onlyUnused`);selected=wt$1(new Set);removal=wt$1(null);confirmOpen=wt$1(!1);pullOpen=wt$1(!1);tagSource=wt$1(``);tagOpen=wt$1(!1);pushReference=wt$1(``);pushOpen=wt$1(!1);buildOpen=wt$1(!1);pullPreset=wt$1(null);updates=this.store.updates;checkingUpdates=this.store.checkingUpdates;hasUpdates=Ot$1(()=>[...this.updates()?.values()??[]].some(t=>t.state===`update`));runOpen=wt$1(!1);runImage=wt$1(``);layersOpen=wt$1(!1);layersImage=wt$1(``);rows=Ot$1(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyUnused();return this.store.images().filter(n=>e&&n.inUseBy>0?!1:t===``?!0:`${n.repository}:${n.tag} ${n.shortId}`.toLowerCase().includes(t))});totalSize=Ot$1(()=>d(this.store.totalBytes()));selectedRefs=Ot$1(()=>[...this.selected()]);trackKey=t=>t.reference;transfer=wt$1(null);transferPercent(){let t=this.transfer();return t===null||t.total===0?0:Math.min(100,t.done/t.total*100)}async saveToFile(t){this.transfer.set({label:this.t().file.saving(t),done:0,total:0});try{let e=await window.electron.images.saveToFile(t);e.ok?this.toast.success(this.t().file.saved(e.path,d(e.bytes))):e.canceled||this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}finally{this.transfer.set(null)}}async loadFromFile(){this.transfer.set({label:this.t().file.loading,done:0,total:0});try{let t=await window.electron.images.loadFromFile();t.ok?(this.toast.success(t.loaded.length===0?this.t().file.loadedNothing:this.t().file.loaded(t.loaded.join(`, `))),this.store.refresh()):t.canceled||this.toast.error(t.problem)}catch(t){this.toast.error(eH(t))}finally{this.transfer.set(null)}}constructor(){C(ve).onDestroy(window.electron.images.onFileProgress(t=>this.transfer.update(e=>e===null?null:W(W({},e),t)))),rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),this.fromRoute(this.starten,`starten`,t=>{this.runImage.set(t),this.runOpen.set(!0)}),this.fromRoute(this.lagen,`lagen`,t=>{this.layersImage.set(t),this.layersOpen.set(!0)}),this.fromRoute(this.ophalen,`ophalen`,t=>this.openPull(t)),this.fromRoute(this.controleren,`controleren`,()=>this.checkUpdates()),this.fromRoute(this.taggen,`taggen`,t=>{this.tagSource.set(t),this.tagOpen.set(!0)}),this.fromRoute(this.pushen,`pushen`,t=>{this.pushReference.set(t),this.pushOpen.set(!0)}),this.fromRoute(this.bouwen,`bouwen`,()=>this.buildOpen.set(!0)),rf(()=>{let t=this.verwijder(),e=this.store.images().find(n=>n.reference===t);t!==void 0&&e!==void 0&&Tg(()=>{this.askRemove(e),i(this.router,this.route,`verwijder`)})}),this.store.refresh()}fromRoute(t,e,n){rf(()=>{let l=t();l!==void 0&&Tg(()=>{n(l),i(this.router,this.route,e)})})}menuItems=Ot$1(()=>{let t=this.t().menu;return[{id:`pull`,label:t.pull,icon:`download`},{id:`build`,label:t.build,icon:`images`},{id:`check`,label:this.checkingUpdates()?t.checking:t.check,icon:`refresh`,disabled:this.checkingUpdates()},{id:`prune-dangling`,label:t.pruneDangling,icon:`broom`,separated:!0},{id:`prune-unused`,label:t.pruneUnused,icon:`broom`},{id:`load`,label:t.load,icon:`upload`,disabled:this.transfer()!==null,separated:!0}]});onMenu(t){switch(t){case`pull`:this.openPull(null);break;case`build`:this.buildOpen.set(!0);break;case`check`:this.checkUpdates();break;case`prune-dangling`:this.askPrune(!1);break;case`prune-unused`:this.askPrune(!0);break;case`load`:this.loadFromFile();break}}checkUpdates(){this.store.checkUpdates()}openPull(t){this.pullPreset.set(t),this.pullOpen.set(!0)}pullClosed(t){this.pullOpen.set(t),t||(this.pullPreset.set(null),this.store.recheckIfChecked())}updateOf(t){return this.updates()?.get(t.reference)??null}sizeOf(t){return d(t)}ageOf(t){return N(t)}rowMenu(t){let e=this.pending().has(t.reference),n=this.t(),l=[];return this.updateOf(t)?.state===`update`&&l.push({id:`update`,label:n.rowUpdate,icon:`download`,disabled:e,hint:n.updateTitle(t.reference)}),l.push({id:`run`,label:n.rowRun,icon:`play`,disabled:e,hint:this.runLabelOf(t)},{id:`layers`,label:n.rowLayers,icon:`images`},{id:`save`,label:n.rowSave,icon:`download`,disabled:this.transfer()!==null},{id:`tag`,label:n.rowTag,icon:`plus`,separated:!0}),t.dangling||l.push({id:`push`,label:n.rowPush,icon:`upload`,disabled:e}),!t.dangling&&(t.inUseBy>0||this.store.images().some(d=>d.id===t.id&&d.reference!==t.reference))&&l.push({id:`untag`,label:n.rowUntag,icon:`eraser`,disabled:e}),l.push({id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),l}onRowMenu(t,e){t===`save`?this.saveToFile(e.reference):t===`update`?this.openPull(e.reference):t===`run`?this.askRun(e):t===`layers`?(this.layersImage.set(e.reference),this.layersOpen.set(!0)):t===`tag`?(this.tagSource.set(e.reference),this.tagOpen.set(!0)):t===`push`?(this.pushReference.set(e.reference),this.pushOpen.set(!0)):t===`untag`?this.untag(e.reference):this.askRemove(e)}async untag(t){try{let e=await window.electron.images.untag(t);e.ok?(this.toast.success(this.t().untagged(t)),this.store.refresh()):this.toast.error(e.problem)}catch(e){this.toast.error(eH(e))}}askRun(t){this.startFrom(t.reference)}startFrom(t){this.runImage.set(t),this.runOpen.set(!0)}goToContainer(t){this.router.navigate([`/containers`,t]).catch(()=>{})}runLabelOf(t){return t.dangling?this.t().runLabelDangling:this.t().runLabel(t.reference)}askRemove(t){let e=t.inUseBy>0,n=this.t().remove;this.removal.set({references:[t.reference],title:e?n.forceTitle:n.title,description:e?n.forceDescription(t.reference,t.inUseBy):n.description(t.reference),confirmLabel:e?n.forceConfirm:this.common().remove,force:e}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedRefs(),e=this.t().remove;this.removal.set({references:t,title:e.manyTitle,description:e.manyDescription(t.length),confirmLabel:this.common().remove,force:!1}),this.confirmOpen.set(!0)}askPrune(t){let e=this.t().prune;this.removal.set({references:[],title:t?e.allTitle:e.danglingTitle,description:t?e.allDescription:e.danglingDescription,confirmLabel:e.confirm,force:t}),this.confirmOpen.set(!0)}confirm(){let t=this.removal();t!==null&&(t.references.length===0?this.store.prune(t.force):(this.store.removeMany(t.references,t.force),this.selected.set(new Set)),this.removal.set(null))}removalTitle(){return this.removal()?.title??``}removalDescription(){return this.removal()?.description??``}removalConfirmLabel(){return this.removal()?.confirmLabel??this.common().remove}removalConfirmIcon(){return this.removal()?.references.length===0?`broom`:`trash`}static ɵfac=function(e){return new(e||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-images-page`]],inputs:{zoek:[1,`zoek`],starten:[1,`starten`],lagen:[1,`lagen`],ophalen:[1,`ophalen`],verwijder:[1,`verwijder`],controleren:[1,`controleren`],taggen:[1,`taggen`],pushen:[1,`pushen`],bouwen:[1,`bouwen`]},decls:48,vars:39,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-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,`ml-auto`],[3,`picked`,`label`,`items`],[`role`,`status`,`data-testid`,`image-transfer`,1,`mt-3`,`max-w-md`],[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,`text-[12px]`,`text-ink-500`],[3,`problem`],[1,`mt-2`,`text-[12px]`,`text-ink-400`],[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`,`trackKey`,`selected`,`emptyMessage`],[`appCell`,`repository`],[`appCell`,`tag`],[`appCell`,`shortId`],[`appCell`,`inUse`],[`appCell`,`created`],[`appCell`,`size`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`,`confirmIcon`],[3,`openChange`,`open`,`preset`],[3,`openChange`,`run`,`open`],[3,`openChange`,`open`,`source`],[3,`openChange`,`open`,`reference`],[3,`openChange`,`started`,`open`,`image`],[1,`flex`,`items-baseline`,`justify-between`,`text-[12px]`],[1,`text-ink-300`],[1,`text-ink-500`,`tabular-nums`],[1,`mt-1`,`h-1.5`,`w-full`,`overflow-hidden`,`rounded-full`,`bg-ink-800`],[1,`h-full`,`rounded-full`,`bg-accent`,`transition-[width]`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[1,`block`,`truncate`,3,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-2`],[1,`truncate`,`text-ink-300`,3,`title`],[`data-testid`,`update-badge`,1,`flex`,`shrink-0`,`items-center`,`gap-1`,`text-[11px]`,`text-warn`],[1,`shrink-0`,`text-[11px]`,`text-ink-500`,3,`title`],[1,`flex`,`shrink-0`,`items-center`,`gap-1`,`text-[11px]`,`text-ink-500`,3,`title`],[`name`,`arrow-up`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-ink-200`],[1,`text-ink-600`],[1,`text-ink-400`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`]],template:function(e,n){if(e&1&&(Oi(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),fk(5),Nc(),Oi(6,`div`,4)(7,`div`)(8,`div`,5),fk(9),Nc(),Oi(10,`div`,6),fk(11),Nc()(),Oi(12,`div`)(13,`div`,5),fk(14),Nc(),Oi(15,`div`,6),fk(16),Nc()()()(),Oi(17,`div`,7)(18,`app-action-menu`,8),Jm(`picked`,function(d){return n.onMenu(d)}),Nc()()(),kE(19,Nn,8,6,`div`,9),Oi(20,`div`,10)(21,`label`,11)(22,`span`,12),Gm(23,`app-icon`,13),Nc(),Oi(24,`span`,14),fk(25),Nc(),Oi(26,`input`,15),Jm(`input`,function(d){return n.search.set(d.target.value)}),Nc()(),Oi(27,`app-filter-switch`,16),vg(`onChange`,function(d){return vk(n.onlyUnused,d)||(n.onlyUnused=d),d}),Nc(),kE(28,Vn,2,1,`span`,17),Nc(),Gm(29,`app-page-messages`,18),kE(30,Bn,2,1,`p`,19),kE(31,zn,6,3,`div`,20),Nc(),Oi(32,`div`,21)(33,`app-data-table`,22),vg(`selectedChange`,function(d){return vk(n.selected,d)||(n.selected=d),d}),_m(34,On,2,6,`ng-template`,23)(35,$n,7,4,`ng-template`,24)(36,Un,2,1,`ng-template`,25)(37,Hn,2,1,`ng-template`,26)(38,qn,2,1,`ng-template`,27)(39,Kn,2,1,`ng-template`,28)(40,Qn,2,2,`ng-template`,29),Nc()()(),Oi(41,`app-confirm-dialog`,30),vg(`openChange`,function(d){return vk(n.confirmOpen,d)||(n.confirmOpen=d),d}),Jm(`confirmed`,function(){return n.confirm()}),Nc(),Oi(42,`app-pull-dialog`,31),Jm(`openChange`,function(d){return n.pullClosed(d)}),Nc(),Oi(43,`app-build-dialog`,32),vg(`openChange`,function(d){return vk(n.buildOpen,d)||(n.buildOpen=d),d}),Jm(`run`,function(d){return n.startFrom(d)}),Nc(),Oi(44,`app-tag-dialog`,33),vg(`openChange`,function(d){return vk(n.tagOpen,d)||(n.tagOpen=d),d}),Nc(),Oi(45,`app-push-dialog`,34),vg(`openChange`,function(d){return vk(n.pushOpen,d)||(n.pushOpen=d),d}),Nc(),Oi(46,`app-run-dialog`,35),vg(`openChange`,function(d){return vk(n.runOpen,d)||(n.runOpen=d),d}),Jm(`started`,function(d){return n.goToContainer(d)}),Nc(),Oi(47,`app-layers-dialog`,34),vg(`openChange`,function(d){return vk(n.layersOpen,d)||(n.layersOpen=d),d}),Nc()),e&2){let l;ec(5),pg(n.t().title),ec(4),pg(n.t().diskSpace),ec(2),pg(n.totalSize()),ec(3),pg(n.t().unused),ec(2),pg(n.unusedCount()),ec(2),Wm(`label`,n.t().menuLabel)(`items`,n.menuItems()),ec(),SE((l=n.transfer())?19:-1,l),ec(4),Wm(`size`,15),ec(2),pg(n.t().searchLabel),ec(),Wm(`placeholder`,n.t().searchLabel)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyUnused),hg(`on`,n.onlyUnused),ec(),SE(n.loading()?28:-1),ec(),Wm(`problem`,n.problem()),ec(),SE(n.hasUpdates()?30:-1),ec(),SE(n.selected().size>0?31:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.rows())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(8),hg(`open`,n.confirmOpen),Wm(`title`,n.removalTitle())(`description`,n.removalDescription())(`confirmLabel`,n.removalConfirmLabel())(`confirmIcon`,n.removalConfirmIcon()),ec(),Wm(`open`,n.pullOpen())(`preset`,n.pullPreset()),ec(),hg(`open`,n.buildOpen),ec(),hg(`open`,n.tagOpen),Wm(`source`,n.tagSource()),ec(),hg(`open`,n.pushOpen),Wm(`reference`,n.pushReference()),ec(),hg(`open`,n.runOpen),Wm(`image`,n.runImage()),ec(),hg(`open`,n.layersOpen),Wm(`reference`,n.layersImage())}},dependencies:[z,x$1,My,W$1,u$1,Ce,Ie,we,P$1,V,De,ke,Se],encapsulation:2})}})();export{ot as ImagesPage};
@@ -1 +1 @@
1
- import{$n as sS,A as HE,B as Kr,Bn as oS,D as Gm,Dn as kE,Et as UE,H as Ld,K as My,Kn as pj,Pt as Wm,Qn as rg,R as Jm,Rn as nk,Tn as jc,_r as wt,cn as f,et as Od,f as C,fn as fk,gn as gj,hr as wc,ht as Sc,mt as SE,o as Ac,pr as wD,q as Nc,rn as dS,rt as Ot,sn as ec,st as Pr,t as $E,tt as Oi,u as Br,xt as Tc,y as Dj}from"./chunk-CpIMiI_l.js";function $(i,e){i&1&&Gm(0,`li`,6)}function j(i,e){if(i&1){let t=$E();kE(0,$,1,0,`li`,6),Oi(1,`li`,7)(2,`button`,8),Jm(`click`,function(){let o=Ld(t).$implicit;return Od(HE(2).pick(o))})(`keydown`,function(o){Ld(t);return Od(HE(2).onItemKey(o))}),Gm(3,`app-icon`,9),fk(4),Nc()()}if(i&2){let t=e.$implicit,n=HE(2);SE(t.separated?0:-1),ec(),Br(`title`,t.hint??null),ec(),nk(t.danger?n.dangerClass:n.normalClass),Wm(`disabled`,t.disabled===!0),Br(`data-testid`,`menu-`+t.id),ec(),Wm(`name`,t.icon)(`size`,14),ec(),Ac(` `,t.label,` `)}}function P(i,e){if(i&1&&(Oi(0,`ul`,5),Sc(1,j,5,9,null,null,U),Nc()),i&2){let t=HE();nk(t.upward()?`bottom-full mb-1.5`:`top-full mt-1.5`),Br(`aria-label`,t.shownLabel()),ec(),Tc(t.items())}}var Q;var U;var V;var G=f(()=>{Kr();sS();dS();Kr();Q=[`trigger`],U=(i,e)=>e.id;V=class i{items=jc.required();label=jc(null);compact=jc(!1,{transform:Dj});picked=pj();shownLabel=Ot(()=>this.label()??oS().shell.actionMenu.label);host=C(Pr);trigger=gj(`trigger`);open=wt(!1);upward=wt(!1);compactTriggerClass=`mx-focus cursor-pointer rounded p-1 text-ink-400 transition-colors hover:bg-ink-800 hover:text-ink-100`;normalClass=`text-ink-200 hover:bg-ink-750 hover:text-ink-100 focus-visible:bg-ink-750 focus-visible:text-ink-100`;dangerClass=`text-danger hover:bg-danger/15 focus-visible:bg-danger/15`;toggle(){let e=!this.open();e&&this.placeMenu(),this.open.set(e),e&&setTimeout(()=>this.focusItem(0))}onOutside(e){this.open()&&!this.host.nativeElement.contains(e.target)&&this.open.set(!1)}onTriggerKey(e){e.key!==`ArrowDown`&&e.key!==`ArrowUp`||(e.preventDefault(),this.placeMenu(),this.open.set(!0),setTimeout(()=>this.focusItem(e.key===`ArrowUp`?-1:0)))}onItemKey(e){if(e.key===`Escape`||e.key===`Tab`){e.key===`Escape`&&e.preventDefault(),this.close();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;e.preventDefault();let n=this.enabledItems().indexOf(document.activeElement);this.focusItem(n===-1?0:n+(e.key===`ArrowDown`?1:-1))}pick(e){this.close(),this.picked.emit(e.id)}placeMenu(){let e=this.trigger()?.nativeElement;if(e===void 0)return;let t=e.getBoundingClientRect(),n=this.items().length*32+24,o=window.innerHeight-t.bottom;this.upward.set(o<n&&t.top>o)}close(){this.open.set(!1),this.trigger()?.nativeElement.focus()}enabledItems(){return[...this.host.nativeElement.querySelectorAll(`[role="menuitem"]:not(:disabled)`)]}focusItem(e){let t=this.enabledItems();t.length!==0&&t[(e+t.length)%t.length].focus()}static ɵfac=function(t){return new(t||i)};static ɵcmp=wc({type:i,selectors:[[`app-action-menu`]],viewQuery:function(t,n){t&1&&rg(n.trigger,Q,5),t&2&&UE()},hostBindings:function(t,n){t&1&&Jm(`pointerdown`,function(a){return n.onOutside(a)},wD)},inputs:{items:[1,`items`],label:[1,`label`],compact:[1,`compact`]},outputs:{picked:`picked`},decls:5,vars:7,consts:[[`trigger`,``],[1,`relative`],[`type`,`button`,`aria-haspopup`,`menu`,`data-testid`,`action-menu`,3,`click`,`keydown`,`title`],[`name`,`menu`,3,`size`],[`role`,`menu`,1,`absolute`,`right-0`,`z-50`,`w-56`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`py-1`,`shadow-2xl`,3,`class`],[`role`,`menu`,1,`absolute`,`right-0`,`z-50`,`w-56`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`py-1`,`shadow-2xl`],[`role`,`separator`,1,`my-1`,`border-t`,`border-ink-700`],[`role`,`none`],[`type`,`button`,`role`,`menuitem`,1,`mx-focus`,`flex`,`w-full`,`cursor-pointer`,`items-center`,`gap-2`,`px-3`,`py-1.5`,`text-left`,`text-[13px]`,`transition-colors`,`focus-visible:outline-none`,`disabled:cursor-not-allowed`,`disabled:opacity-40`,`disabled:hover:bg-transparent`,3,`click`,`keydown`,`disabled`],[3,`name`,`size`]],template:function(t,n){t&1&&(Oi(0,`div`,1)(1,`button`,2,0),Jm(`click`,function(){return n.toggle()})(`keydown`,function(a){return n.onTriggerKey(a)}),Gm(3,`app-icon`,3),Nc(),kE(4,P,3,3,`ul`,4),Nc()),t&2&&(ec(),nk(n.compact()?n.compactTriggerClass:`mx-btn mx-focus`),Wm(`title`,n.shownLabel()),Br(`aria-expanded`,n.open())(`aria-label`,n.shownLabel()),ec(2),Wm(`size`,n.compact()?15:16),ec(),SE(n.open()?4:-1))},dependencies:[My],encapsulation:2})}});export{V as n,G as t};
1
+ import{$n as sS,A as HE,B as Kr,Bn as oS,D as Gm,Dn as kE,Et as UE,H as Ld,K as My,Kn as pj,Pt as Wm,Qn as rg,R as Jm,Rn as nk,Tn as jc,_r as wt,cn as f,et as Od,f as C,fn as fk,gn as gj,hr as wc,ht as Sc,mt as SE,o as Ac,pr as wD,q as Nc,rn as dS,rt as Ot,sn as ec,st as Pr,t as $E,tt as Oi,u as Br,xt as Tc,y as Dj}from"./chunk-C3hTwhog.js";function $(i,e){i&1&&Gm(0,`li`,6)}function j(i,e){if(i&1){let t=$E();kE(0,$,1,0,`li`,6),Oi(1,`li`,7)(2,`button`,8),Jm(`click`,function(){let o=Ld(t).$implicit;return Od(HE(2).pick(o))})(`keydown`,function(o){Ld(t);return Od(HE(2).onItemKey(o))}),Gm(3,`app-icon`,9),fk(4),Nc()()}if(i&2){let t=e.$implicit,n=HE(2);SE(t.separated?0:-1),ec(),Br(`title`,t.hint??null),ec(),nk(t.danger?n.dangerClass:n.normalClass),Wm(`disabled`,t.disabled===!0),Br(`data-testid`,`menu-`+t.id),ec(),Wm(`name`,t.icon)(`size`,14),ec(),Ac(` `,t.label,` `)}}function P(i,e){if(i&1&&(Oi(0,`ul`,5),Sc(1,j,5,9,null,null,U),Nc()),i&2){let t=HE();nk(t.upward()?`bottom-full mb-1.5`:`top-full mt-1.5`),Br(`aria-label`,t.shownLabel()),ec(),Tc(t.items())}}var Q;var U;var V;var G=f(()=>{Kr();sS();dS();Kr();Q=[`trigger`],U=(i,e)=>e.id;V=class i{items=jc.required();label=jc(null);compact=jc(!1,{transform:Dj});picked=pj();shownLabel=Ot(()=>this.label()??oS().shell.actionMenu.label);host=C(Pr);trigger=gj(`trigger`);open=wt(!1);upward=wt(!1);compactTriggerClass=`mx-focus cursor-pointer rounded p-1 text-ink-400 transition-colors hover:bg-ink-800 hover:text-ink-100`;normalClass=`text-ink-200 hover:bg-ink-750 hover:text-ink-100 focus-visible:bg-ink-750 focus-visible:text-ink-100`;dangerClass=`text-danger hover:bg-danger/15 focus-visible:bg-danger/15`;toggle(){let e=!this.open();e&&this.placeMenu(),this.open.set(e),e&&setTimeout(()=>this.focusItem(0))}onOutside(e){this.open()&&!this.host.nativeElement.contains(e.target)&&this.open.set(!1)}onTriggerKey(e){e.key!==`ArrowDown`&&e.key!==`ArrowUp`||(e.preventDefault(),this.placeMenu(),this.open.set(!0),setTimeout(()=>this.focusItem(e.key===`ArrowUp`?-1:0)))}onItemKey(e){if(e.key===`Escape`||e.key===`Tab`){e.key===`Escape`&&e.preventDefault(),this.close();return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`)return;e.preventDefault();let n=this.enabledItems().indexOf(document.activeElement);this.focusItem(n===-1?0:n+(e.key===`ArrowDown`?1:-1))}pick(e){this.close(),this.picked.emit(e.id)}placeMenu(){let e=this.trigger()?.nativeElement;if(e===void 0)return;let t=e.getBoundingClientRect(),n=this.items().length*32+24,o=window.innerHeight-t.bottom;this.upward.set(o<n&&t.top>o)}close(){this.open.set(!1),this.trigger()?.nativeElement.focus()}enabledItems(){return[...this.host.nativeElement.querySelectorAll(`[role="menuitem"]:not(:disabled)`)]}focusItem(e){let t=this.enabledItems();t.length!==0&&t[(e+t.length)%t.length].focus()}static ɵfac=function(t){return new(t||i)};static ɵcmp=wc({type:i,selectors:[[`app-action-menu`]],viewQuery:function(t,n){t&1&&rg(n.trigger,Q,5),t&2&&UE()},hostBindings:function(t,n){t&1&&Jm(`pointerdown`,function(a){return n.onOutside(a)},wD)},inputs:{items:[1,`items`],label:[1,`label`],compact:[1,`compact`]},outputs:{picked:`picked`},decls:5,vars:7,consts:[[`trigger`,``],[1,`relative`],[`type`,`button`,`aria-haspopup`,`menu`,`data-testid`,`action-menu`,3,`click`,`keydown`,`title`],[`name`,`menu`,3,`size`],[`role`,`menu`,1,`absolute`,`right-0`,`z-50`,`w-56`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`py-1`,`shadow-2xl`,3,`class`],[`role`,`menu`,1,`absolute`,`right-0`,`z-50`,`w-56`,`rounded-md`,`border`,`border-ink-700`,`bg-panel`,`py-1`,`shadow-2xl`],[`role`,`separator`,1,`my-1`,`border-t`,`border-ink-700`],[`role`,`none`],[`type`,`button`,`role`,`menuitem`,1,`mx-focus`,`flex`,`w-full`,`cursor-pointer`,`items-center`,`gap-2`,`px-3`,`py-1.5`,`text-left`,`text-[13px]`,`transition-colors`,`focus-visible:outline-none`,`disabled:cursor-not-allowed`,`disabled:opacity-40`,`disabled:hover:bg-transparent`,3,`click`,`keydown`,`disabled`],[3,`name`,`size`]],template:function(t,n){t&1&&(Oi(0,`div`,1)(1,`button`,2,0),Jm(`click`,function(){return n.toggle()})(`keydown`,function(a){return n.onTriggerKey(a)}),Gm(3,`app-icon`,3),Nc(),kE(4,P,3,3,`ul`,4),Nc()),t&2&&(ec(),nk(n.compact()?n.compactTriggerClass:`mx-btn mx-focus`),Wm(`title`,n.shownLabel()),Br(`aria-expanded`,n.open())(`aria-label`,n.shownLabel()),ec(2),Wm(`size`,n.compact()?15:16),ec(),SE(n.open()?4:-1))},dependencies:[My],encapsulation:2})}});export{V as n,G as t};