daimon 0.8.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +152 -0
- package/README.md +48 -1
- package/dist/cli.js +100 -85
- package/dist/dashboard/browser/chunk-2LMH5KDX.js +5 -0
- package/dist/dashboard/browser/chunk-2QORICNU.js +1 -0
- package/dist/dashboard/browser/chunk-36JZZZCV.js +3 -0
- package/dist/dashboard/browser/{chunk-QSBOKS53.js → chunk-3S7OJ77P.js} +1 -1
- package/dist/dashboard/browser/chunk-42QQHEGP.js +2 -0
- package/dist/dashboard/browser/chunk-4L223A7A.js +1 -0
- package/dist/dashboard/browser/chunk-532NB4ME.js +1 -0
- package/dist/dashboard/browser/chunk-6CP6NCA6.js +4 -0
- package/dist/dashboard/browser/chunk-6OMBXV4F.js +1 -0
- package/dist/dashboard/browser/chunk-6YXOOFGY.js +1 -0
- package/dist/dashboard/browser/{chunk-6WZJCF24.js → chunk-AHO3BCLI.js} +1 -1
- package/dist/dashboard/browser/chunk-ASK7FG27.js +1 -0
- package/dist/dashboard/browser/{chunk-OHX55ZU4.js → chunk-BCGQJHY3.js} +1 -1
- package/dist/dashboard/browser/chunk-BDTAVYPH.js +1 -0
- package/dist/dashboard/browser/chunk-BFBXHJEF.js +1 -0
- package/dist/dashboard/browser/chunk-BKYXU3OY.js +1 -0
- package/dist/dashboard/browser/chunk-BPUIUSAU.js +2 -0
- package/dist/dashboard/browser/chunk-C6SNIY22.js +2 -0
- package/dist/dashboard/browser/{chunk-PJPGLT4T.js → chunk-CCRYWDXZ.js} +1 -1
- package/dist/dashboard/browser/chunk-DNHNU64I.js +2 -0
- package/dist/dashboard/browser/chunk-DRBVSI3B.js +1 -0
- package/dist/dashboard/browser/{chunk-7NRE3SNA.js → chunk-EXOJOB6H.js} +2 -2
- package/dist/dashboard/browser/chunk-EYOED3X7.js +2 -0
- package/dist/dashboard/browser/chunk-G3IBZZQH.js +2 -0
- package/dist/dashboard/browser/chunk-H3HRZLHG.js +4 -0
- package/dist/dashboard/browser/chunk-H5GKWN4K.js +1 -0
- package/dist/dashboard/browser/{chunk-NDSAQ2HK.js → chunk-HVK4GEK7.js} +1 -1
- package/dist/dashboard/browser/{chunk-7NPLP3QD.js → chunk-HYIZY5FQ.js} +1 -1
- package/dist/dashboard/browser/chunk-ITSOVQEA.js +1 -0
- package/dist/dashboard/browser/{chunk-Q772THBA.js → chunk-JODWQVMA.js} +1 -2
- package/dist/dashboard/browser/chunk-LAMOHX23.js +1 -0
- package/dist/dashboard/browser/chunk-NMKAKRON.js +1 -0
- package/dist/dashboard/browser/{chunk-LBRCWYRN.js → chunk-NY5IR366.js} +1 -1
- package/dist/dashboard/browser/chunk-OOQPWG6B.js +1 -0
- package/dist/dashboard/browser/chunk-P3Q7RWT5.js +2 -0
- package/dist/dashboard/browser/{chunk-P5IU57TV.js → chunk-PVPELZPO.js} +1 -1
- package/dist/dashboard/browser/{chunk-V2KNRAE4.js → chunk-QHXOUNPA.js} +1 -1
- package/dist/dashboard/browser/chunk-RMV7CR6Y.js +2 -0
- package/dist/dashboard/browser/chunk-RQSDQXNY.js +1 -0
- package/dist/dashboard/browser/chunk-RWX5JIT4.js +1 -0
- package/dist/dashboard/browser/{chunk-UC3XMN2Y.js → chunk-SXE7REUK.js} +1 -1
- package/dist/dashboard/browser/chunk-TLCLILNG.js +4 -0
- package/dist/dashboard/browser/chunk-UAIWZYHN.js +1 -0
- package/dist/dashboard/browser/chunk-UFTWVSEC.js +2 -0
- package/dist/dashboard/browser/{chunk-2BXIFQGQ.js → chunk-UXLEE3F2.js} +1 -1
- package/dist/dashboard/browser/chunk-XPP3TYS2.js +2 -0
- package/dist/dashboard/browser/{chunk-EIWOTZT3.js → chunk-YFYMS5EE.js} +1 -1
- package/dist/dashboard/browser/chunk-YPVVBWNF.js +1 -0
- package/dist/dashboard/browser/{chunk-3WKRVGPT.js → chunk-Z3XFJOYG.js} +1 -1
- package/dist/dashboard/browser/index.html +2 -2
- package/dist/dashboard/browser/main-EENULCI5.js +1 -0
- package/dist/main.js +55 -50
- package/dist/mcp.js +3 -3
- package/package.json +8 -3
- package/dist/dashboard/browser/chunk-44JIQO3X.js +0 -1
- package/dist/dashboard/browser/chunk-4BAKWDAV.js +0 -1
- package/dist/dashboard/browser/chunk-4OCNYL7T.js +0 -1
- package/dist/dashboard/browser/chunk-7C772RJ3.js +0 -3
- package/dist/dashboard/browser/chunk-A4BNXJUT.js +0 -1
- package/dist/dashboard/browser/chunk-CILFSVSP.js +0 -2
- package/dist/dashboard/browser/chunk-CM4RQF3A.js +0 -5
- package/dist/dashboard/browser/chunk-CY5YRTQK.js +0 -1
- package/dist/dashboard/browser/chunk-GYWEXV2L.js +0 -3
- package/dist/dashboard/browser/chunk-H2N3RBHF.js +0 -1
- package/dist/dashboard/browser/chunk-H3L4MTG4.js +0 -5
- package/dist/dashboard/browser/chunk-I65I7J5Q.js +0 -2
- package/dist/dashboard/browser/chunk-K43KW4K2.js +0 -4
- package/dist/dashboard/browser/chunk-K7S4ITPJ.js +0 -2
- package/dist/dashboard/browser/chunk-KL6X73FV.js +0 -1
- package/dist/dashboard/browser/chunk-KLH6B22T.js +0 -1
- package/dist/dashboard/browser/chunk-LBL7Z5BE.js +0 -5
- package/dist/dashboard/browser/chunk-LHAMBNO6.js +0 -1
- package/dist/dashboard/browser/chunk-NX6DTO32.js +0 -1
- package/dist/dashboard/browser/chunk-P5IE6DI6.js +0 -2
- package/dist/dashboard/browser/chunk-PMAG4W5W.js +0 -1
- package/dist/dashboard/browser/chunk-VM2FOT77.js +0 -1
- package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +0 -2
- package/dist/dashboard/browser/chunk-YYAZGY5M.js +0 -1
- package/dist/dashboard/browser/main-O76X7RMS.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as U}from"./chunk-WAN7TQQW.js";import{a as W,b as j}from"./chunk-G3IBZZQH.js";import{a as pt}from"./chunk-HYIZY5FQ.js";import"./chunk-2LMH5KDX.js";import"./chunk-6YXOOFGY.js";import"./chunk-BCGQJHY3.js";import"./chunk-P3Q7RWT5.js";import{a as q,b as dt,c as mt,d as B}from"./chunk-JODWQVMA.js";import{a as L,b as F}from"./chunk-RMV7CR6Y.js";import"./chunk-YNQPX5G6.js";import"./chunk-C6SNIY22.js";import"./chunk-42QQHEGP.js";import"./chunk-AHO3BCLI.js";import"./chunk-DRBVSI3B.js";import"./chunk-BKYXU3OY.js";import{b as st,c as lt}from"./chunk-YFYMS5EE.js";import{f as ct}from"./chunk-BPUIUSAU.js";import{d as K}from"./chunk-6CP6NCA6.js";import"./chunk-DNHNU64I.js";import"./chunk-532NB4ME.js";import{$b as nt,Ac as I,Bc as at,Db as V,Fb as _,Gb as u,Hb as et,Ib as D,Jb as h,Kb as M,Lb as x,Mb as o,Nb as r,Ob as C,Tb as v,Vb as g,Wa as N,Xb as p,Ya as tt,_a as s,a as R,ac as it,b as $,bc as ot,db as P,ea as O,gc as z,hc as k,ja as d,jc as c,ka as m,kc as f,lc as E,mc as A,pa as Z,pb as T,ta as w,vc as rt}from"./chunk-H3HRZLHG.js";var G=(n,e)=>e.name;function ft(n,e){if(n&1&&C(0,"span",5),n&2){let t=e.$implicit;V("data-k",t)}}function xt(n,e){if(n&1&&(o(0,"span",8)(1,"span",22),c(2,"error"),r(),c(3),r()),n&2){let t=p().$implicit;x("matTooltip",t.errorCount+" errors"),s(3),E("",t.errorCount," ")}}function Ct(n,e){if(n&1&&(o(0,"span",11)(1,"span",22),c(2,"lan"),r(),o(3,"dm-mono"),c(4),r()()),n&2){let t=p().$implicit;s(4),f(t.port)}}function vt(n,e){if(n&1){let t=v();o(0,"a",23),g("click",function(a){return d(t),m(a.stopPropagation())}),o(1,"span",22),c(2,"open_in_new"),r(),o(3,"dm-mono"),c(4),r()()}if(n&2){let t=p().$implicit;x("href",t.url,N),s(4),f(t.url)}}function bt(n,e){if(n&1&&(o(0,"span",15)(1,"span",22),c(2,"folder_open"),r(),c(3),r()),n&2){let t=p().$implicit;s(3),f(t.workspaceLabel)}}function yt(n,e){if(n&1&&(o(0,"span",16),c(1),r()),n&2){let t=p().$implicit,i=p();s(),f(i.fmtSince(t.lastChangeMs))}}function wt(n,e){n&1&&C(0,"mat-spinner",21)}function ht(n,e){n&1&&(o(0,"span",22),c(1,"play_arrow"),r())}function Mt(n,e){if(n&1){let t=v();o(0,"button",24),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"start"}))}),_(1,wt,1,0,"mat-spinner",21)(2,ht,2,0,"span",22),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"start")),s(),u(i.isBusy(t.name,"start")?1:2)}}function kt(n,e){n&1&&C(0,"mat-spinner",21)}function Pt(n,e){n&1&&(o(0,"span",22),c(1,"stop"),r())}function Ot(n,e){if(n&1){let t=v();o(0,"button",25),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"stop"}))}),_(1,kt,1,0,"mat-spinner",21)(2,Pt,2,0,"span",22),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"stop")),s(),u(i.isBusy(t.name,"stop")?1:2)}}function St(n,e){n&1&&C(0,"mat-spinner",21)}function Tt(n,e){n&1&&(o(0,"span",22),c(1,"restart_alt"),r())}function Vt(n,e){if(n&1){let t=v();o(0,"article",2),g("click",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))})("mouseenter",function(){let a=d(t).$index,l=p();return m(l.focus.emit(a))})("keydown.enter",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))}),C(1,"div",3),o(2,"div",4),h(3,ft,1,1,"span",5,et),r(),o(5,"div",6),C(6,"dm-status-pill",7),_(7,xt,4,2,"span",8),r(),o(8,"div",9)(9,"dm-mono"),c(10),r()(),o(11,"div",10),_(12,Ct,5,1,"span",11),_(13,vt,5,2,"a",12),r(),o(14,"div",13)(15,"div",14),_(16,bt,4,1,"span",15),_(17,yt,2,1,"span",16),r(),o(18,"div",17),g("click",function(a){return d(t),m(a.stopPropagation())}),_(19,Mt,3,2,"button",18)(20,Ot,3,2,"button",19),o(21,"button",20),g("click",function(){let a=d(t).$implicit,l=p();return m(l.act.emit({name:a.name,kind:"restart"}))}),_(22,St,1,0,"mat-spinner",21)(23,Tt,2,0,"span",22),r()()()()}if(n&2){let t=e.$implicit,i=e.$index,a=p();z("--dm-tone",a.tone(t.workspaceLabel)),k("f",i===a.focusedIndex),s(2),x("matTooltip",a.ribbonTooltip(t.name)),s(),M(a.ribbonTicks(t.name)),s(3),x("status",t.status)("health",t.health),s(),u(t.errorCount>0?7:-1),s(3),f(t.name),s(2),u(t.port!=null?12:-1),s(),u(t.url?13:-1),s(3),u(t.workspaceLabel?16:-1),s(),u(t.lastChangeMs?17:-1),s(2),u(t.status==="stopped"||t.status==="error"?19:20),s(2),x("disabled",a.isBusy(t.name,"restart")),s(),u(a.isBusy(t.name,"restart")?22:23)}}function Et(n,e){if(n&1&&(o(0,"span",10),c(1),r()),n&2){let t=p().$implicit;s(),f(t.errorCount)}}function At(n,e){n&1&&(o(0,"span",11),c(1,"0"),r())}function It(n,e){n&1&&C(0,"mat-spinner",16)}function Lt(n,e){n&1&&(o(0,"span",17),c(1,"play_arrow"),r())}function Ft(n,e){if(n&1){let t=v();o(0,"button",19),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"start"}))}),_(1,It,1,0,"mat-spinner",16)(2,Lt,2,0,"span",17),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"start")),s(),u(i.isBusy(t.name,"start")?1:2)}}function Bt(n,e){n&1&&C(0,"mat-spinner",16)}function Rt(n,e){n&1&&(o(0,"span",17),c(1,"stop"),r())}function $t(n,e){if(n&1){let t=v();o(0,"button",20),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"stop"}))}),_(1,Bt,1,0,"mat-spinner",16)(2,Rt,2,0,"span",17),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"stop")),s(),u(i.isBusy(t.name,"stop")?1:2)}}function Nt(n,e){n&1&&C(0,"mat-spinner",16)}function Dt(n,e){n&1&&(o(0,"span",17),c(1,"restart_alt"),r())}function zt(n,e){if(n&1&&(o(0,"a",18)(1,"span",17),c(2,"open_in_new"),r()()),n&2){let t=p().$implicit;x("href",t.url,N)}}function Kt(n,e){if(n&1){let t=v();o(0,"div",4),g("click",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))})("mouseenter",function(){let a=d(t).$index,l=p();return m(l.focus.emit(a))})("keydown.enter",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))}),o(1,"div"),C(2,"dm-status-pill",5),r(),o(3,"div",6),C(4,"span",7),o(5,"dm-mono"),c(6),r()(),o(7,"div",8),c(8),r(),o(9,"div",9)(10,"dm-mono"),c(11),r()(),o(12,"div",9)(13,"dm-mono"),c(14),r()(),o(15,"div",9)(16,"dm-mono"),c(17),r()(),o(18,"div",9)(19,"dm-mono"),c(20),r()(),o(21,"div"),_(22,Et,2,1,"span",10)(23,At,2,0,"span",11),r(),o(24,"div",12),g("click",function(a){return d(t),m(a.stopPropagation())}),_(25,Ft,3,2,"button",13)(26,$t,3,2,"button",14),o(27,"button",15),g("click",function(){let a=d(t).$implicit,l=p();return m(l.act.emit({name:a.name,kind:"restart"}))}),_(28,Nt,1,0,"mat-spinner",16)(29,Dt,2,0,"span",17),r(),_(30,zt,3,1,"a",18),r()()}if(n&2){let t=e.$implicit,i=e.$index,a=p();z("--dm-tone",a.tone(t.workspaceLabel)),k("f",i===a.focusedIndex),s(2),x("status",t.status)("health",t.health),s(4),f(t.name),s(2),f(t.workspaceLabel||"\u2014"),s(3),f(t.port??"\u2014"),s(3),f(a.fmtUptime(t.uptimeMs)),s(3),f(a.fmtPct(t.cpu)),s(3),f(a.fmtMem(t.memMB)),s(2),u(t.errorCount>0?22:23),s(3),u(t.status==="stopped"||t.status==="error"?25:26),s(2),x("disabled",a.isBusy(t.name,"restart")),s(),u(a.isBusy(t.name,"restart")?28:29),s(2),u(t.url?30:-1)}}var Wt=["searchInput"],jt=n=>["/apps",n],qt=(n,e)=>e.key;function Ut(n,e){if(n&1&&(o(0,"div",27)(1,"span",24),c(2),r(),o(3,"span",25),c(4,"errors"),r()()),n&2){let t=p();s(2),f(t.totals.totalErrCount)}}function Qt(n,e){if(n&1&&(o(0,"span",34),c(1),r()),n&2){let t=p(2).$implicit;s(),E(" ",t.firstError.code)}}function Ht(n,e){if(n&1&&(o(0,"dm-mono")(1,"span",33),c(2),r(),_(3,Qt,2,1,"span",34),r()),n&2){let t=p().$implicit;s(2),A("",t.firstError.file,":",t.firstError.line),s(),u(t.firstError.code?3:-1)}}function Yt(n,e){if(n&1&&(o(0,"a",31)(1,"strong"),c(2),r(),o(3,"span",32),c(4),r(),_(5,Ht,4,3,"dm-mono"),r()),n&2){let t=e.$implicit;x("routerLink",rt(5,jt,t.name)),s(2),f(t.name),s(2),A("",t.errCount," ",t.errCount===1?"error":"errors"),s(),u(t.firstError?5:-1)}}function Gt(n,e){if(n&1&&(o(0,"div",28)(1,"div",29)(2,"span",8),c(3,"priority_high"),r(),c(4,"Needs attention "),r(),o(5,"div",30),h(6,Yt,6,7,"a",31,G),r()()),n&2){let t=p();s(6),M(t.needsAttention)}}function Jt(n,e){if(n&1&&(o(0,"section",2)(1,"div",22)(2,"div",23)(3,"span",24),c(4),r(),o(5,"span",25),c(6,"apps"),r()(),o(7,"div",26)(8,"span",24),c(9),r(),o(10,"span",25),c(11,"serving"),r()(),o(12,"div",27)(13,"span",24),c(14),r(),o(15,"span",25),c(16,"errored"),r()(),o(17,"div",23)(18,"span",24),c(19),r(),o(20,"span",25),c(21,"stopped"),r()(),_(22,Ut,5,1,"div",27),r(),_(23,Gt,8,0,"div",28),r()),n&2){let t=e;s(4),f(t.totals.apps),s(5),f(t.totals.serving),s(3),k("dm-zero",!t.totals.errors),s(2),f(t.totals.errors),s(5),f(t.totals.stopped),s(3),u(t.totals.totalErrCount>0?22:-1),s(),u(t.needsAttention.length?23:-1)}}function Xt(n,e){if(n&1&&(c(0," \xB7 workspace "),o(1,"dm-mono"),c(2),r()),n&2){let t=p();s(2),f(t.workspace())}}function Zt(n,e){if(n&1){let t=v();o(0,"button",35),g("click",function(){d(t);let a=p();return m(a.onQuery(""))}),o(1,"span",8),c(2,"close"),r()()}}function te(n,e){if(n&1){let t=v();o(0,"button",36),g("click",function(){let a=d(t).$implicit,l=p();return m(l.setStatus(a.key))}),c(1),o(2,"span",37),c(3),r()()}if(n&2){let t=e.$implicit,i=p();k("active",i.status()===t.key),V("aria-selected",i.status()===t.key),s(),E(" ",t.label),s(2),f(i.countFor(t.key))}}function ee(n,e){if(n&1){let t=v();o(0,"button",40),g("click",function(){let a=d(t).$implicit,l=p(2);return m(l.toggleTag(a))}),c(1),r()}if(n&2){let t=e.$implicit,i=p(2);k("active",i.isTagSelected(t)),V("aria-pressed",i.isTagSelected(t)),s(),f(t)}}function ne(n,e){if(n&1){let t=v();o(0,"button",41),g("click",function(){d(t);let a=p(2);return m(a.clearTags())}),o(1,"span",8),c(2,"close"),r()()}}function ie(n,e){if(n&1&&(o(0,"div",17),h(1,ee,2,4,"button",38,D),_(3,ne,3,0,"button",39),r()),n&2){let t=p();s(),M(t.allTags()),s(2),u(t.selectedTags().size?3:-1)}}function oe(n,e){n&1&&(o(0,"article",42),C(1,"div",43),o(2,"div",44),C(3,"dm-skeleton",45)(4,"dm-skeleton",46)(5,"dm-skeleton",47),r()())}function re(n,e){if(n&1&&(o(0,"div",18),h(1,oe,6,0,"article",42,D),r()),n&2){let t=p();s(),M(t.skeletonItems)}}function ae(n,e){n&1&&(o(0,"dm-empty",19)(1,"div",48)(2,"a",49)(3,"span",8),c(4,"stethoscope"),r(),c(5,"Open Doctor "),r()()())}function se(n,e){n&1&&C(0,"dm-empty",20)}function le(n,e){if(n&1){let t=v();o(0,"dm-apps-cards",50),g("open",function(a){d(t);let l=p();return m(l.open(a))})("focus",function(a){d(t);let l=p();return m(l.focusedIndex.set(a))})("act",function(a){d(t);let l=p();return m(l.act(a.name,a.kind))}),r()}if(n&2){let t=p();x("items",t.filtered())("focusedIndex",t.focusedIndex())("busy",t.busyMap())}}function ce(n,e){if(n&1){let t=v();o(0,"dm-apps-list-view",50),g("open",function(a){d(t);let l=p();return m(l.open(a))})("focus",function(a){d(t);let l=p();return m(l.focusedIndex.set(a))})("act",function(a){d(t);let l=p();return m(l.act(a.name,a.kind))}),r()}if(n&2){let t=p();x("items",t.filtered())("focusedIndex",t.focusedIndex())("busy",t.busyMap())}}var _t="daimon.apps.view",ut="daimon.workspace",Q="daimon.apps.tags",H=class n{items=[];focusedIndex=0;busy={};open=new P;focus=new P;act=new P;tone=U;api=O(K);RIBBON_BUCKETS=20;RIBBON_WINDOW_MS=3600*1e3;perAppTicks=I(()=>{let e=this.api.events(),i=Date.now()-this.RIBBON_WINDOW_MS,a=this.RIBBON_WINDOW_MS/this.RIBBON_BUCKETS,l=new Map,y={stopped:1,serving:2,compiling:3,starting:3,error:4};for(let b of e){if(b.type!=="status"||!b.app||!b.to||b.ts<i)continue;let J=Math.min(this.RIBBON_BUCKETS-1,Math.floor((b.ts-i)/a)),S=l.get(b.app);S||(S=new Array(this.RIBBON_BUCKETS).fill(""),l.set(b.app,S));let X=S[J];(!X||(y[b.to]??0)>(y[X]??0))&&(S[J]=b.to)}return l});isBusy(e,t){return!!this.busy[e]?.[t]}ribbonTicks(e){return this.perAppTicks().get(e)??new Array(this.RIBBON_BUCKETS).fill("")}ribbonTooltip(e){let t=this.perAppTicks().get(e);if(!t)return"no status events in the last 60 min";let i={};for(let l of t)l&&(i[l]=(i[l]??0)+1);let a=Object.entries(i).map(([l,y])=>`${y} ${l}`).join(" \xB7 ");return a?`last 60 min: ${a}`:"no status events in the last 60 min"}fmtSince(e){if(!e||e<=0)return"";let t=Math.floor(e/1e3);return t<60?t+"s ago":t<3600?Math.floor(t/60)+"m ago":t<86400?Math.floor(t/3600)+"h ago":Math.floor(t/86400)+"d ago"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-cards"]],inputs:{items:"items",focusedIndex:"focusedIndex",busy:"busy"},outputs:{open:"open",focus:"focus",act:"act"},decls:3,vars:0,consts:[[1,"g"],["role","button","tabindex","0",1,"c",3,"f","--dm-tone"],["role","button","tabindex","0",1,"c",3,"click","mouseenter","keydown.enter"],[1,"ac"],["aria-hidden","true",1,"rb",3,"matTooltip"],[1,"tk"],[1,"h"],[3,"status","health"],[1,"eb",3,"matTooltip"],[1,"n"],[1,"m"],["matTooltip","Port",1,"mi"],["target","_blank","rel","noopener",1,"mi","ml",3,"href"],[1,"ft"],[1,"tg"],[1,"ws"],[1,"sn"],[1,"ax",3,"click"],["matTooltip","Start (s)","aria-label","Start",1,"ib",3,"disabled"],["matTooltip","Stop (x)","aria-label","Stop",1,"ib",3,"disabled"],["matTooltip","Restart (r)","aria-label","Restart",1,"ib",3,"click","disabled"],["diameter","16"],[1,"material-symbols-outlined"],["target","_blank","rel","noopener",1,"mi","ml",3,"click","href"],["matTooltip","Start (s)","aria-label","Start",1,"ib",3,"click","disabled"],["matTooltip","Stop (x)","aria-label","Stop",1,"ib",3,"click","disabled"]],template:function(t,i){t&1&&(o(0,"div",0),h(1,Vt,24,16,"article",1,G),r()),t&2&&(s(),M(i.items))},dependencies:[F,L,j,W,q,B],styles:["[_nghost-%COMP%]{display:block}.g[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.c[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow var(--dm-motion-short) var(--dm-motion-easing),transform var(--dm-motion-short) var(--dm-motion-easing),border-color var(--dm-motion-short) var(--dm-motion-easing)}.c[_ngcontent-%COMP%]:hover{box-shadow:var(--mat-sys-level2);transform:translateY(-1px)}.c.f[_ngcontent-%COMP%]{border-color:var(--mat-sys-primary);box-shadow:0 0 0 2px color-mix(in oklch,var(--mat-sys-primary) 25%,transparent)}.ac[_ngcontent-%COMP%]{height:4px;background:var(--dm-tone,var(--mat-sys-surface-container))}.rb[_ngcontent-%COMP%]{display:flex;gap:1px;height:6px;padding:0 .75rem;align-items:center;background:var(--mat-sys-surface-container-lowest)}.rb[_ngcontent-%COMP%] .tk[_ngcontent-%COMP%]{flex:1;height:6px;border-radius:1px;background:var(--mat-sys-surface-container)}.rb[_ngcontent-%COMP%] .tk[data-k=serving][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 60%,transparent)}.rb[_ngcontent-%COMP%] .tk[data-k=error][_ngcontent-%COMP%]{background:var(--mat-sys-error)}.rb[_ngcontent-%COMP%] .tk[data-k=starting][_ngcontent-%COMP%], .rb[_ngcontent-%COMP%] .tk[data-k=compiling][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 70%,transparent)}.rb[_ngcontent-%COMP%] .tk[data-k=stopped][_ngcontent-%COMP%]{background:var(--mat-sys-outline-variant)}.h[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem 0}.n[_ngcontent-%COMP%]{padding:.375rem .875rem 0;font:500 1.05rem/1.5rem Roboto}.n[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{font-size:1.05rem;font-weight:500}.m[_ngcontent-%COMP%]{padding:.25rem .875rem .5rem;display:flex;flex-wrap:wrap;gap:.75rem;color:var(--mat-sys-on-surface-variant)}.mi[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem}.mi[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:14px}.ml[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none}.ml[_ngcontent-%COMP%]:hover{text-decoration:underline}.ft[_ngcontent-%COMP%]{margin-top:auto;padding:.5rem .75rem .5rem .875rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--mat-sys-outline-variant)}.tg[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.ws[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:2px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto;background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border:1px solid var(--mat-sys-outline-variant)}.ws[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:12px}.sn[_ngcontent-%COMP%]{font:400 .6875rem/1rem Roboto;color:var(--mat-sys-on-surface-variant)}.ax[_ngcontent-%COMP%]{display:inline-flex;gap:.25rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:0;border-radius:8px;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing),color var(--dm-motion-short) var(--dm-motion-easing)}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:1px 8px;border-radius:999px;font:600 .75rem/1rem var(--dm-mono);background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent)}.eb[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:14px}"],changeDetection:0})},Y=class n{items=[];focusedIndex=0;busy={};open=new P;focus=new P;act=new P;tone=U;isBusy(e,t){return!!this.busy[e]?.[t]}fmtUptime(e){if(!e||e<0)return"\u2014";let t=Math.floor(e/1e3);return t<60?t+"s":t<3600?Math.floor(t/60)+"m":t<86400?Math.floor(t/3600)+"h":Math.floor(t/86400)+"d"}fmtPct(e){return e==null||isNaN(e)?"\u2014":e.toFixed(0)+"%"}fmtMem(e){return e==null||isNaN(e)?"\u2014":e>=1024?(e/1024).toFixed(1)+"G":Math.round(e)+"M"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-list-view"]],inputs:{items:"items",focusedIndex:"focusedIndex",busy:"busy"},outputs:{open:"open",focus:"focus",act:"act"},decls:22,vars:0,consts:[["role","table",1,"ls"],["role","row",1,"rw","rh"],[1,"ar"],["role","row","tabindex","0",1,"rw",3,"f","--dm-tone"],["role","row","tabindex","0",1,"rw",3,"click","mouseenter","keydown.enter"],[3,"status","health"],[1,"nm"],[1,"tn"],[1,"ws"],[1,"sm"],[1,"eb"],[1,"dm"],[1,"ax",3,"click"],["matTooltip","Start","aria-label","Start",1,"ib",3,"disabled"],["matTooltip","Stop","aria-label","Stop",1,"ib",3,"disabled"],["matTooltip","Restart","aria-label","Restart",1,"ib",3,"click","disabled"],["diameter","14"],[1,"material-symbols-outlined"],["target","_blank","rel","noopener","matTooltip","Open","aria-label","Open",1,"ib",3,"href"],["matTooltip","Start","aria-label","Start",1,"ib",3,"click","disabled"],["matTooltip","Stop","aria-label","Stop",1,"ib",3,"click","disabled"]],template:function(t,i){t&1&&(o(0,"div",0)(1,"div",1)(2,"div"),c(3,"status"),r(),o(4,"div"),c(5,"name"),r(),o(6,"div"),c(7,"workspace"),r(),o(8,"div"),c(9,"port"),r(),o(10,"div"),c(11,"uptime"),r(),o(12,"div"),c(13,"cpu"),r(),o(14,"div"),c(15,"mem"),r(),o(16,"div"),c(17,"err"),r(),o(18,"div",2),c(19,"actions"),r()(),h(20,Kt,31,17,"div",3,G),r()),t&2&&(s(20),M(i.items))},dependencies:[F,L,j,W,q,B],styles:['[_nghost-%COMP%]{display:block}.ls[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:12px;overflow:hidden}.rw[_ngcontent-%COMP%]{display:grid;align-items:center;gap:.75rem;grid-template-columns:110px minmax(160px,1.5fr) minmax(100px,1fr) 70px 80px 70px 80px 60px 140px;padding:0 .875rem;min-height:36px;cursor:pointer;position:relative;border-bottom:1px solid var(--mat-sys-outline-variant);transition:background var(--dm-motion-short) var(--dm-motion-easing)}.rw[_ngcontent-%COMP%]:last-child{border-bottom:0}.rw[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.rw.f[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 8%,transparent)}.rw.f[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mat-sys-primary)}.rh[_ngcontent-%COMP%]{min-height:30px;background:var(--mat-sys-surface-container);cursor:default;font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.rh[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.nm[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.nm[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tn[_ngcontent-%COMP%]{width:3px;height:18px;border-radius:2px;background:var(--dm-tone,var(--mat-sys-surface-container));flex-shrink:0}.ws[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--mat-sys-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm[_ngcontent-%COMP%]{font-size:.8125rem}.ar[_ngcontent-%COMP%], .ax[_ngcontent-%COMP%]{display:inline-flex;gap:.125rem;justify-content:flex-end}.dm[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.8125rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:0;border-radius:6px;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing),color var(--dm-motion-short) var(--dm-motion-easing);text-decoration:none}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:0 6px;border-radius:999px;font:600 .75rem/1rem var(--dm-mono);background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent)}@media(max-width:1000px){.rw[_ngcontent-%COMP%]{grid-template-columns:100px minmax(120px,1fr) 70px 70px 60px 110px}.rw[_ngcontent-%COMP%] .ws[_ngcontent-%COMP%], .rw[_ngcontent-%COMP%] .sm[_ngcontent-%COMP%]:nth-of-type(3), .rw[_ngcontent-%COMP%] .sm[_ngcontent-%COMP%]:nth-of-type(4){display:none}}'],changeDetection:0})},gt=class n{api=O(K);router=O(st);snack=O(pt);destroyRef=O(Z);searchInput;view=w("cards");query=w("");status=w("all");workspace=w(null);focusedIndex=w(0);busyMap=w({});selectedTags=w(new Set);allTags=I(()=>{let e=new Set;for(let t of this.api.apps())for(let i of t.tags??[])e.add(i);return Array.from(e).sort()});skeletonItems=Array.from({length:6},(e,t)=>t);statusFilters=[{key:"all",label:"All"},{key:"serving",label:"Serving"},{key:"errors",label:"Errors"},{key:"stopped",label:"Stopped"}];filtered=I(()=>{let e=this.query().trim().toLowerCase(),t=this.status(),i=this.workspace(),a=this.selectedTags();return this.api.apps().filter(l=>{if(i&&l.workspaceLabel!==i||t==="serving"&&l.status!=="serving"||t==="errors"&&l.status!=="error"&&l.errorCount===0||t==="stopped"&&l.status!=="stopped")return!1;if(a.size){let y=l.tags??[];for(let b of a)if(!y.includes(b))return!1}return!(e&&![l.name,l.workspaceLabel??"",...l.tags??[]].join(" ").toLowerCase().includes(e))})});constructor(){this.view.set(localStorage.getItem(_t)==="list"?"list":"cards"),this.workspace.set(localStorage.getItem(ut));let e=(localStorage.getItem(Q)??"").split(",").map(t=>t.trim()).filter(Boolean);e.length&&this.selectedTags.set(new Set(e)),at(()=>{let t=this.filtered().length;this.focusedIndex()>=t&&this.focusedIndex.set(Math.max(0,t-1))}),this.bindWindow("daimon:toggle-density",()=>this.setView(this.view()==="cards"?"list":"cards")),this.bindWindow("daimon:focus-filter",()=>queueMicrotask(()=>this.searchInput?.nativeElement.focus())),this.bindWindow("daimon:workspace",t=>{let i=t.detail;this.workspace.set(i??null)}),this.bindWindow("daimon:key",t=>this.onKey(t.detail))}async ngAfterViewInit(){this.api.ready()||await this.api.refresh()}onStorage(e){e.key===ut&&this.workspace.set(e.newValue)}bindWindow(e,t){window.addEventListener(e,t),this.destroyRef.onDestroy(()=>window.removeEventListener(e,t))}setView(e){this.view.set(e),localStorage.setItem(_t,e)}setStatus(e){this.status.set(e),this.focusedIndex.set(0)}isTagSelected(e){return this.selectedTags().has(e)}toggleTag(e){let t=new Set(this.selectedTags());t.has(e)?t.delete(e):t.add(e),this.selectedTags.set(t),this.persistTags(t),this.focusedIndex.set(0)}clearTags(){this.selectedTags.set(new Set),this.persistTags(new Set),this.focusedIndex.set(0)}persistTags(e){e.size?localStorage.setItem(Q,Array.from(e).join(",")):localStorage.removeItem(Q)}onQuery(e){this.query.set(e),this.focusedIndex.set(0)}open(e){this.router.navigate(["/apps",e])}countFor(e){return this.api.apps().filter(t=>e==="all"?!0:e==="serving"?t.status==="serving":e==="errors"?t.status==="error"||t.errorCount>0:e==="stopped"?t.status==="stopped":!1).length}async act(e,t){if(!this.busyMap()[e]?.[t]){this.setBusy(e,t,!0);try{t==="start"?await this.api.startApp(e):t==="stop"?await this.api.stopApp(e):await this.api.restartApp(e)}catch(i){this.snack.open(`${t} ${e} failed: ${i?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy(e,t,!1)}}}setBusy(e,t,i){this.busyMap.update(a=>$(R({},a),{[e]:$(R({},a[e]??{}),{[t]:i})}))}onKey(e){let t=this.filtered();if(!t.length)return;let i=Math.max(0,Math.min(this.focusedIndex(),t.length-1));if(e==="j")this.focusedIndex.set((i+1)%t.length);else if(e==="k")this.focusedIndex.set((i-1+t.length)%t.length);else if(e==="s")this.act(t[i].name,"start");else if(e==="x")this.act(t[i].name,"stop");else if(e==="r"){let a=t[i].name;this.snack.open(`Restart ${a}? Press R again or click confirm.`,"Confirm",{duration:4e3}).onAction().subscribe(()=>{this.act(a,"restart")})}}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-list"]],viewQuery:function(t,i){if(t&1&&nt(Wt,5),t&2){let a;it(a=ot())&&(i.searchInput=a.first)}},hostBindings:function(t,i){t&1&&g("storage",function(l){return i.onStorage(l)},tt)},decls:33,vars:12,consts:[["searchInput",""],[1,"dm-page"],[1,"dm-overview"],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-header-actions"],["role","group","aria-label","View mode",1,"dm-toggle"],["type","button","matTooltip","Cards (.)","aria-label","Cards view",3,"click"],[1,"material-symbols-outlined"],["type","button","matTooltip","Dense list (.)","aria-label","List view",3,"click"],[1,"dm-filterbar"],[1,"dm-search"],[1,"material-symbols-outlined","dm-search-icon"],["type","search","placeholder","Filter apps by name, tag, workspace\u2026","aria-label","Filter apps",3,"input","value"],["type","button","aria-label","Clear",1,"dm-search-clear"],["role","tablist","aria-label","Status filter",1,"dm-chips"],["type","button","role","tab",1,"dm-chip",3,"active"],["role","group","aria-label","Tag filter",1,"dm-chips","dm-tag-row"],[1,"dm-grid-sk"],["icon","rocket_launch","title","No apps discovered yet","hint","Run daimon init --auto in your workspace to discover apps, or run /discover. The doctor page can help diagnose missing apps."],["icon","search_off","title","No matches","hint","No apps match the current filters. Clear them or try a different query."],[3,"items","focusedIndex","busy"],[1,"dm-totals-row"],[1,"dm-total"],[1,"dm-total-num"],[1,"dm-total-label"],[1,"dm-total","dm-total-serving"],[1,"dm-total","dm-total-error"],[1,"dm-attention"],[1,"dm-att-title"],[1,"dm-att-list"],[1,"dm-att-row",3,"routerLink"],[1,"dm-att-meta"],[1,"dm-att-where"],[1,"dm-att-code"],["type","button","aria-label","Clear",1,"dm-search-clear",3,"click"],["type","button","role","tab",1,"dm-chip",3,"click"],[1,"dm-chip-count"],["type","button",1,"dm-chip",3,"active"],["type","button","aria-label","Clear tag filter",1,"dm-chip","dm-chip-clear"],["type","button",1,"dm-chip",3,"click"],["type","button","aria-label","Clear tag filter",1,"dm-chip","dm-chip-clear",3,"click"],[1,"dm-card-sk"],[1,"dm-sk-accent"],[1,"dm-sk-body"],["width","60%","height","1.25rem"],["width","40%","height",".875rem"],["width","80%","height",".875rem"],[1,"dm-empty-actions"],["routerLink","/doctor",1,"dm-link-btn"],[3,"open","focus","act","items","focusedIndex","busy"]],template:function(t,i){if(t&1){let a=v();o(0,"div",1),_(1,Jt,24,8,"section",2),o(2,"header",3)(3,"div")(4,"h1"),c(5,"Apps"),r(),o(6,"div",4),c(7),_(8,Xt,3,1),r()(),o(9,"div",5)(10,"div",6)(11,"button",7),g("click",function(){return d(a),m(i.setView("cards"))}),o(12,"span",8),c(13,"grid_view"),r()(),o(14,"button",9),g("click",function(){return d(a),m(i.setView("list"))}),o(15,"span",8),c(16,"view_list"),r()()()()(),o(17,"div",10)(18,"div",11)(19,"span",12),c(20,"search"),r(),o(21,"input",13,0),g("input",function(y){return d(a),m(i.onQuery(y.target.value))}),r(),_(23,Zt,3,0,"button",14),r(),o(24,"div",15),h(25,te,4,5,"button",16,qt),r(),_(27,ie,4,1,"div",17),r(),_(28,re,3,0,"div",18)(29,ae,6,0,"dm-empty",19)(30,se,1,0,"dm-empty",20)(31,le,1,3,"dm-apps-cards",21)(32,ce,1,3,"dm-apps-list-view",21),r()}if(t&2){let a;s(),u((a=i.api.overview())?1:-1,a),s(6),A(" ",i.filtered().length," of ",i.api.apps().length," visible "),s(),u(i.workspace()?8:-1),s(3),k("active",i.view()==="cards"),s(3),k("active",i.view()==="list"),s(7),x("value",i.query()),s(2),u(i.query()?23:-1),s(2),M(i.statusFilters),s(2),u(i.allTags().length?27:-1),s(),u(i.api.ready()?i.api.apps().length===0?29:i.filtered().length===0?30:i.view()==="cards"?31:32:28)}},dependencies:[lt,ct,F,L,dt,mt,B,H,Y],styles:["[_nghost-%COMP%]{display:block}.dm-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.dm-overview[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:1rem;padding:1rem 1.25rem;border-radius:14px;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant)}@media(max-width:760px){.dm-overview[_ngcontent-%COMP%]{grid-template-columns:1fr}}.dm-totals-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem}.dm-total[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:.5rem .875rem;border-radius:10px;background:var(--mat-sys-surface-container);min-width:70px}.dm-total-num[_ngcontent-%COMP%]{font:600 1.5rem/1.75rem Roboto;color:var(--mat-sys-on-surface)}.dm-total-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-total-serving[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-total-error[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-total-error.dm-zero[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-attention[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;min-width:0}.dm-att-title[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font:500 .8125rem/1.25rem Roboto;color:var(--mat-sys-error)}.dm-att-title[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-att-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.dm-att-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.375rem .625rem;border-radius:8px;text-decoration:none;color:var(--mat-sys-on-surface);background:var(--mat-sys-surface-container);border-left:3px solid var(--mat-sys-error)}.dm-att-row[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-att-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:500;font-size:.875rem}.dm-att-meta[_ngcontent-%COMP%]{font-size:.75rem;color:var(--mat-sys-on-surface-variant);white-space:nowrap}.dm-att-where[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-att-code[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);margin-left:.25rem}.dm-page-header[_ngcontent-%COMP%]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font:400 1.5rem/2rem Roboto}.dm-page-sub[_ngcontent-%COMP%]{font:400 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface-variant);margin-top:.25rem;display:flex;gap:.25rem;flex-wrap:wrap}.dm-header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.dm-toggle[_ngcontent-%COMP%], .dm-chips[_ngcontent-%COMP%]{display:inline-flex;padding:2px;border-radius:10px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant)}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .dm-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:5px 10px;border-radius:8px;background:transparent;border:0;color:var(--mat-sys-on-surface-variant);cursor:pointer;font:500 .8125rem/1rem Roboto}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, .dm-chip[_ngcontent-%COMP%]:hover{color:var(--mat-sys-on-surface)}.dm-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%], .dm-chip.active[_ngcontent-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-primary)}.dm-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{box-shadow:var(--mat-sys-level1)}.dm-chip-count[_ngcontent-%COMP%]{font:500 .6875rem/1rem var(--dm-mono);padding:0 5px;border-radius:999px;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant)}.dm-chip.active[_ngcontent-%COMP%] .dm-chip-count[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 16%,transparent);color:var(--mat-sys-primary)}.dm-filterbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dm-search[_ngcontent-%COMP%]{position:relative;flex:1;min-width:220px;display:inline-flex;align-items:center;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px}.dm-search[_ngcontent-%COMP%]:focus-within{border-color:var(--mat-sys-primary)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;border:0;outline:0;background:transparent;padding:8px 36px;font:400 .875rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--mat-sys-on-surface-variant)}.dm-search-icon[_ngcontent-%COMP%]{position:absolute;left:10px;pointer-events:none;font-size:18px;color:var(--mat-sys-on-surface-variant)}.dm-search-clear[_ngcontent-%COMP%]{position:absolute;right:6px;background:transparent;border:0;cursor:pointer;color:var(--mat-sys-on-surface-variant);width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.dm-search-clear[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-search-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.dm-grid-sk[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.dm-card-sk[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden}.dm-sk-accent[_ngcontent-%COMP%]{height:4px;background:var(--mat-sys-surface-container)}.dm-sk-body[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.dm-empty-actions[_ngcontent-%COMP%]{margin-top:.75rem}.dm-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:6px 14px;border-radius:10px;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);text-decoration:none;font:500 .875rem/1.25rem Roboto}.dm-link-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-tag-row[_ngcontent-%COMP%]{flex-wrap:wrap;gap:4px;max-width:100%}.dm-chip-clear[_ngcontent-%COMP%]{padding:5px 6px;color:var(--mat-sys-on-surface-variant)}.dm-chip-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}"],changeDetection:0})};export{H as AppsCardsViewComponent,gt as AppsListComponent,Y as AppsListViewComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as o,Ca as h,Ha as L,aa as l,ca as f,da as u,db as M,ea as s,i as v,ib as T,jb as g,lb as R,oa as c,qb as D,rb as p,ta as b,za as I}from"./chunk-H3HRZLHG.js";var N=null;function m(){return N}function G(t){N??=t}var E=class{},w=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=o({token:t,factory:()=>s(P),providedIn:"platform"})}return t})();var P=(()=>{class t extends w{_location;_history;_doc=s(c);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return m().getBaseHref(this._doc)}onPopState(e){let n=m().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",e,!1),()=>n.removeEventListener("popstate",e)}onHashChange(e){let n=m().getGlobalEventTarget(this._doc,"window");return n.addEventListener("hashchange",e,!1),()=>n.removeEventListener("hashchange",e)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(e){this._location.pathname=e}pushState(e,n,i){this._history.pushState(e,n,i)}replaceState(e,n,i){this._history.replaceState(e,n,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(n){return new(n||t)};static \u0275prov=o({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function k(t,r){return t?r?t.endsWith("/")?r.startsWith("/")?t+r.slice(1):t+r:r.startsWith("/")?t+r:`${t}/${r}`:t:r}function O(t){let r=t.search(/#|\?|$/);return t[r-1]==="/"?t.slice(0,r-1)+t.slice(r):t}function a(t){return t&&t[0]!=="?"?`?${t}`:t}var y=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=o({token:t,factory:()=>s($),providedIn:"root"})}return t})(),x=new f(""),$=(()=>{class t extends y{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??s(c).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return k(this._baseHref,e)}path(e=!1){let n=this._platformLocation.pathname+a(this._platformLocation.search),i=this._platformLocation.hash;return i&&e?`${n}${i}`:n}pushState(e,n,i,d){let F=this.prepareExternalUrl(i+a(d));this._platformLocation.pushState(e,n,F)}replaceState(e,n,i,d){let F=this.prepareExternalUrl(i+a(d));this._platformLocation.replaceState(e,n,F)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(n){return new(n||t)(u(w),u(x,8))};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),U=(()=>{class t{_subject=new v;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let n=this._locationStrategy.getBaseHref();this._basePath=Z(O(B(n))),this._locationStrategy.onPopState(i=>{this._subject.next({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,n=""){return this.path()==this.normalize(e+a(n))}normalize(e){return t.stripTrailingSlash(W(this._basePath,B(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,n="",i=null){this._locationStrategy.pushState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+a(n)),i)}replaceState(e,n="",i=null){this._locationStrategy.replaceState(i,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+a(n)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription??=this.subscribe(n=>{this._notifyUrlChangeListeners(n.url,n.state)}),()=>{let n=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(n,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",n){this._urlChangeListeners.forEach(i=>i(e,n))}subscribe(e,n,i){return this._subject.subscribe({next:e,error:n??void 0,complete:i??void 0})}static normalizeQueryParams=a;static joinWithSlash=k;static stripTrailingSlash=O;static \u0275fac=function(n){return new(n||t)(u(y))};static \u0275prov=o({token:t,factory:()=>H(),providedIn:"root"})}return t})();function H(){return new U(u(y))}function W(t,r){if(!t||!r.startsWith(t))return r;let e=r.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:r}function B(t){return t.replace(/\/index.html$/,"")}function Z(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var A=/\s+/,z=[],Y=(()=>{class t{_ngEl;_renderer;initialClasses=z;rawClass;stateMap=new Map;constructor(e,n){this._ngEl=e,this._renderer=n}set klass(e){this.initialClasses=e!=null?e.trim().split(A):z}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(A):e}ngDoCheck(){for(let n of this.initialClasses)this._updateState(n,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let n of e)this._updateState(n,!0);else if(e!=null)for(let n of Object.keys(e))this._updateState(n,!!e[n]);this._applyStateDiff()}_updateState(e,n){let i=this.stateMap.get(e);i!==void 0?(i.enabled!==n&&(i.changed=!0,i.enabled=n),i.touched=!0):this.stateMap.set(e,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let n=e[0],i=e[1];i.changed?(this._toggleClass(n,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),i.touched=!1}}_toggleClass(e,n){e=e.trim(),e.length>0&&e.split(A).forEach(i=>{n?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static \u0275fac=function(n){return new(n||t)(g(h),g(T))};static \u0275dir=p({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var K=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let n=this._viewContainerRef;if(this._viewRef&&n.remove(n.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let i=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,i,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,n,i)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,i):!1,get:(e,n,i)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,i)}})}static \u0275fac=function(n){return new(n||t)(g(R))};static \u0275dir=p({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[I]})}return t})();var X=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=D({type:t});static \u0275inj=l({})}return t})();function q(t,r){r=encodeURIComponent(r);for(let e of t.split(";")){let n=e.indexOf("="),[i,d]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(i.trim()===r)return decodeURIComponent(d)}return null}var S=class{};var Q="browser";function j(t){return t===Q}var ee=new f("cdk-dir-doc",{providedIn:"root",factory:te});function te(){return s(c)}var ne=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function V(t){let r=t?.toLowerCase()||"";return r==="auto"&&typeof navigator<"u"&&navigator?.language?ne.test(navigator.language)?"rtl":"ltr":r==="rtl"?"rtl":"ltr"}var ie=(()=>{class t{get value(){return this.valueSignal()}valueSignal=b("ltr");change=new M;constructor(){let e=s(ee,{optional:!0});if(e){let n=e.body?e.body.dir:null,i=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(V(n||i||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var zt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=D({type:t});static \u0275inj=l({})}return t})();var _;try{_=typeof Intl<"u"&&Intl.v8BreakIterator}catch{_=!1}var Wt=(()=>{class t{_platformId=s(L);isBrowser=this._platformId?j(this._platformId):typeof document=="object"&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||_)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(){}static \u0275fac=function(n){return new(n||t)};static \u0275prov=o({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Kt(t,r=0){return re(t)?Number(t):arguments.length===2?r:0}function re(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function Xt(t){return t instanceof h?t.nativeElement:t}export{m as a,G as b,E as c,y as d,U as e,Y as f,K as g,X as h,q as i,S as j,Q as k,Wt as l,Kt as m,Xt as n,ie as o,zt as p};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as Te,j as Re}from"./chunk-532NB4ME.js";import{$ as O,Ac as be,C as le,F as de,K as ue,U as he,Y as k,a as C,b as ce,ca as I,da as U,ea as v,eb as we,f as H,fa as pe,ha as fe,ia as me,o as ee,oa as ye,pa as ge,s as u,t as $,ta as R,wa as ve}from"./chunk-H3HRZLHG.js";var L=class{},j=class{},P=class r{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(e){e?typeof e=="string"?this.lazyInit=()=>{this.headers=new Map,e.split(`
|
|
2
|
+
`).forEach(t=>{let n=t.indexOf(":");if(n>0){let s=t.slice(0,n),i=t.slice(n+1).trim();this.addHeaderEntry(s,i)}})}:typeof Headers<"u"&&e instanceof Headers?(this.headers=new Map,e.forEach((t,n)=>{this.addHeaderEntry(n,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(e).forEach(([t,n])=>{this.setHeaderEntries(t,n)})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();let t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){let t=new r;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof r?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){let t=e.name.toLowerCase();switch(e.op){case"a":case"s":let n=e.value;if(typeof n=="string"&&(n=[n]),n.length===0)return;this.maybeSetNormalizedName(e.name,t);let s=(e.op==="a"?this.headers.get(t):void 0)||[];s.push(...n),this.headers.set(t,s);break;case"d":let i=e.value;if(!i)this.headers.delete(t),this.normalizedNames.delete(t);else{let o=this.headers.get(t);if(!o)return;o=o.filter(c=>i.indexOf(c)===-1),o.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}break}}addHeaderEntry(e,t){let n=e.toLowerCase();this.maybeSetNormalizedName(e,n),this.headers.has(n)?this.headers.get(n).push(t):this.headers.set(n,[t])}setHeaderEntries(e,t){let n=(Array.isArray(t)?t:[t]).map(i=>i.toString()),s=e.toLowerCase();this.headers.set(s,n),this.maybeSetNormalizedName(e,s)}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}};var W=class{encodeKey(e){return Ee(e)}encodeValue(e){return Ee(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}};function Be(r,e){let t=new Map;return r.length>0&&r.replace(/^\?/,"").split("&").forEach(s=>{let i=s.indexOf("="),[o,c]=i==-1?[e.decodeKey(s),""]:[e.decodeKey(s.slice(0,i)),e.decodeValue(s.slice(i+1))],a=t.get(o)||[];a.push(c),t.set(o,a)}),t}var $e=/%(\d[a-f0-9])/gi,Xe={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Ee(r){return encodeURIComponent(r).replace($e,(e,t)=>Xe[t]??e)}function V(r){return`${r}`}var A=class r{map;encoder;updates=null;cloneFrom=null;constructor(e={}){if(this.encoder=e.encoder||new W,e.fromString){if(e.fromObject)throw new k(2805,!1);this.map=Be(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{let n=e.fromObject[t],s=Array.isArray(n)?n.map(V):[V(n)];this.map.set(t,s)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();let t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){let t=[];return Object.keys(e).forEach(n=>{let s=e[n];Array.isArray(s)?s.forEach(i=>{t.push({param:n,value:i,op:"a"})}):t.push({param:n,value:s,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{let t=this.encoder.encodeKey(e);return this.map.get(e).map(n=>t+"="+this.encoder.encodeValue(n)).join("&")}).filter(e=>e!=="").join("&")}clone(e){let t=new r({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":let t=(e.op==="a"?this.map.get(e.param):void 0)||[];t.push(V(e.value)),this.map.set(e.param,t);break;case"d":if(e.value!==void 0){let n=this.map.get(e.param)||[],s=n.indexOf(V(e.value));s!==-1&&n.splice(s,1),n.length>0?this.map.set(e.param,n):this.map.delete(e.param)}else{this.map.delete(e.param);break}}}),this.cloneFrom=this.updates=null)}};var G=class{map=new Map;set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}};function ze(r){switch(r){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Pe(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer}function Me(r){return typeof Blob<"u"&&r instanceof Blob}function Ae(r){return typeof FormData<"u"&&r instanceof FormData}function Je(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams}var X="Content-Type",q="Accept",ie="X-Request-URL",ke="text/plain",Oe="application/json",Ie=`${Oe}, ${ke}, */*`,F=class r{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;credentials;keepalive=!1;cache;priority;mode;redirect;referrer;integrity;responseType="json";method;params;urlWithParams;transferCache;timeout;constructor(e,t,n,s){this.url=t,this.method=e.toUpperCase();let i;if(ze(this.method)||s?(this.body=n!==void 0?n:null,i=s):i=n,i){if(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,this.keepalive=!!i.keepalive,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params),i.priority&&(this.priority=i.priority),i.cache&&(this.cache=i.cache),i.credentials&&(this.credentials=i.credentials),typeof i.timeout=="number"){if(i.timeout<1||!Number.isInteger(i.timeout))throw new k(2822,"");this.timeout=i.timeout}i.mode&&(this.mode=i.mode),i.redirect&&(this.redirect=i.redirect),i.integrity&&(this.integrity=i.integrity),i.referrer&&(this.referrer=i.referrer),this.transferCache=i.transferCache}if(this.headers??=new P,this.context??=new G,!this.params)this.params=new A,this.urlWithParams=t;else{let o=this.params.toString();if(o.length===0)this.urlWithParams=t;else{let c=t.indexOf("?"),a=c===-1?"?":c<t.length-1?"&":"";this.urlWithParams=t+a+o}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Pe(this.body)||Me(this.body)||Ae(this.body)||Je(this.body)?this.body:this.body instanceof A?this.body.toString():typeof this.body=="object"||typeof this.body=="boolean"||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return this.body===null||Ae(this.body)?null:Me(this.body)?this.body.type||null:Pe(this.body)?null:typeof this.body=="string"?ke:this.body instanceof A?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Oe:null}clone(e={}){let t=e.method||this.method,n=e.url||this.url,s=e.responseType||this.responseType,i=e.keepalive??this.keepalive,o=e.priority||this.priority,c=e.cache||this.cache,a=e.mode||this.mode,h=e.redirect||this.redirect,f=e.credentials||this.credentials,m=e.referrer||this.referrer,w=e.integrity||this.integrity,D=e.transferCache??this.transferCache,y=e.timeout??this.timeout,_=e.body!==void 0?e.body:this.body,l=e.withCredentials??this.withCredentials,d=e.reportProgress??this.reportProgress,g=e.headers||this.headers,b=e.params||this.params,p=e.context??this.context;return e.setHeaders!==void 0&&(g=Object.keys(e.setHeaders).reduce((T,M)=>T.set(M,e.setHeaders[M]),g)),e.setParams&&(b=Object.keys(e.setParams).reduce((T,M)=>T.set(M,e.setParams[M]),b)),new r(t,n,_,{params:b,headers:g,context:p,reportProgress:d,responseType:s,withCredentials:l,transferCache:D,keepalive:i,cache:c,priority:o,timeout:y,mode:a,redirect:h,credentials:f,referrer:m,integrity:w})}},N=(function(r){return r[r.Sent=0]="Sent",r[r.UploadProgress=1]="UploadProgress",r[r.ResponseHeader=2]="ResponseHeader",r[r.DownloadProgress=3]="DownloadProgress",r[r.Response=4]="Response",r[r.User=5]="User",r})(N||{}),S=class{headers;status;statusText;url;ok;type;redirected;constructor(e,t=200,n="OK"){this.headers=e.headers||new P,this.status=e.status!==void 0?e.status:t,this.statusText=e.statusText||n,this.url=e.url||null,this.redirected=e.redirected,this.ok=this.status>=200&&this.status<300}},z=class r extends S{constructor(e={}){super(e)}type=N.ResponseHeader;clone(e={}){return new r({headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}},B=class r extends S{body;constructor(e={}){super(e),this.body=e.body!==void 0?e.body:null}type=N.Response;clone(e={}){return new r({body:e.body!==void 0?e.body:this.body,headers:e.headers||this.headers,status:e.status!==void 0?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0,redirected:e.redirected??this.redirected})}},E=class extends S{name="HttpErrorResponse";message;error;ok=!1;constructor(e){super(e,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${e.url||"(unknown url)"}`:this.message=`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}},De=200,Ve=204;function te(r,e){return{body:e,headers:r.headers,context:r.context,observe:r.observe,params:r.params,reportProgress:r.reportProgress,responseType:r.responseType,withCredentials:r.withCredentials,credentials:r.credentials,transferCache:r.transferCache,timeout:r.timeout,keepalive:r.keepalive,priority:r.priority,cache:r.cache,mode:r.mode,redirect:r.redirect,integrity:r.integrity,referrer:r.referrer}}var Q=(()=>{class r{handler;constructor(t){this.handler=t}request(t,n,s={}){let i;if(t instanceof F)i=t;else{let a;s.headers instanceof P?a=s.headers:a=new P(s.headers);let h;s.params&&(s.params instanceof A?h=s.params:h=new A({fromObject:s.params})),i=new F(t,n,s.body!==void 0?s.body:null,{headers:a,context:s.context,params:h,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials,transferCache:s.transferCache,keepalive:s.keepalive,priority:s.priority,cache:s.cache,mode:s.mode,redirect:s.redirect,credentials:s.credentials,referrer:s.referrer,integrity:s.integrity,timeout:s.timeout})}let o=ee(i).pipe(de(a=>this.handler.handle(a)));if(t instanceof F||s.observe==="events")return o;let c=o.pipe(le(a=>a instanceof B));switch(s.observe||"body"){case"body":switch(i.responseType){case"arraybuffer":return c.pipe($(a=>{if(a.body!==null&&!(a.body instanceof ArrayBuffer))throw new k(2806,!1);return a.body}));case"blob":return c.pipe($(a=>{if(a.body!==null&&!(a.body instanceof Blob))throw new k(2807,!1);return a.body}));case"text":return c.pipe($(a=>{if(a.body!==null&&typeof a.body!="string")throw new k(2808,!1);return a.body}));default:return c.pipe($(a=>a.body))}case"response":return c;default:throw new k(2809,!1)}}delete(t,n={}){return this.request("DELETE",t,n)}get(t,n={}){return this.request("GET",t,n)}head(t,n={}){return this.request("HEAD",t,n)}jsonp(t,n){return this.request("JSONP",t,{params:new A().append(n,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,n={}){return this.request("OPTIONS",t,n)}patch(t,n,s={}){return this.request("PATCH",t,te(s,n))}post(t,n,s={}){return this.request("POST",t,te(s,n))}put(t,n,s={}){return this.request("PUT",t,te(s,n))}static \u0275fac=function(n){return new(n||r)(U(L))};static \u0275prov=O({token:r,factory:r.\u0275fac})}return r})(),Ke=/^\)\]\}',?\n/;function Ne(r){if(r.url)return r.url;let e=ie.toLocaleLowerCase();return r.headers.get(e)}var _e=new I(""),K=(()=>{class r{fetchImpl=v(re,{optional:!0})?.fetch??((...t)=>globalThis.fetch(...t));ngZone=v(we);destroyRef=v(ge);handle(t){return new H(n=>{let s=new AbortController;this.doRequest(t,s.signal,n).then(ne,o=>n.error(new E({error:o})));let i;return t.timeout&&(i=this.ngZone.runOutsideAngular(()=>setTimeout(()=>{s.signal.aborted||s.abort(new DOMException("signal timed out","TimeoutError"))},t.timeout))),()=>{i!==void 0&&clearTimeout(i),s.abort()}})}async doRequest(t,n,s){let i=this.createRequestInit(t),o;try{let y=this.ngZone.runOutsideAngular(()=>this.fetchImpl(t.urlWithParams,C({signal:n},i)));We(y),s.next({type:N.Sent}),o=await y}catch(y){s.error(new E({error:y,status:y.status??0,statusText:y.statusText,url:t.urlWithParams,headers:y.headers}));return}let c=new P(o.headers),a=o.statusText,h=Ne(o)??t.urlWithParams,f=o.status,m=null;if(t.reportProgress&&s.next(new z({headers:c,status:f,statusText:a,url:h})),o.body){let y=o.headers.get("content-length"),_=[],l=o.body.getReader(),d=0,g,b,p=typeof Zone<"u"&&Zone.current,T=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyRef.destroyed){await l.cancel(),T=!0;break}let{done:x,value:Z}=await l.read();if(x)break;if(_.push(Z),d+=Z.length,t.reportProgress){b=t.responseType==="text"?(b??"")+(g??=new TextDecoder).decode(Z,{stream:!0}):void 0;let ae=()=>s.next({type:N.DownloadProgress,total:y?+y:void 0,loaded:d,partialText:b});p?p.run(ae):ae()}}}),T){s.complete();return}let M=this.concatChunks(_,d);try{let x=o.headers.get(X)??"";m=this.parseBody(t,M,x,f)}catch(x){s.error(new E({error:x,headers:new P(o.headers),status:o.status,statusText:o.statusText,url:Ne(o)??t.urlWithParams}));return}}f===0&&(f=m?De:0);let w=f>=200&&f<300,D=o.redirected;w?(s.next(new B({body:m,headers:c,status:f,statusText:a,url:h,redirected:D})),s.complete()):s.error(new E({error:m,headers:c,status:f,statusText:a,url:h,redirected:D}))}parseBody(t,n,s,i){switch(t.responseType){case"json":let o=new TextDecoder().decode(n).replace(Ke,"");if(o==="")return null;try{return JSON.parse(o)}catch(c){if(i<200||i>=300)return o;throw c}case"text":return new TextDecoder().decode(n);case"blob":return new Blob([n],{type:s});case"arraybuffer":return n.buffer}}createRequestInit(t){let n={},s;if(s=t.credentials,t.withCredentials&&(s="include"),t.headers.forEach((i,o)=>n[i]=o.join(",")),t.headers.has(q)||(n[q]=Ie),!t.headers.has(X)){let i=t.detectContentTypeHeader();i!==null&&(n[X]=i)}return{body:t.serializeBody(),method:t.method,headers:n,credentials:s,keepalive:t.keepalive,cache:t.cache,priority:t.priority,mode:t.mode,redirect:t.redirect,referrer:t.referrer,integrity:t.integrity}}concatChunks(t,n){let s=new Uint8Array(n),i=0;for(let o of t)s.set(o,i),i+=o.length;return s}static \u0275fac=function(n){return new(n||r)};static \u0275prov=O({token:r,factory:r.\u0275fac})}return r})(),re=class{};function ne(){}function We(r){r.then(ne,ne)}function Ge(r,e){return e(r)}function qe(r,e,t){return(n,s)=>me(t,()=>e(n,i=>r(i,s)))}var xe=new I(""),Ce=new I(""),Ue=new I("",{providedIn:"root",factory:()=>!0});var Y=(()=>{class r extends L{backend;injector;chain=null;pendingTasks=v(ve);contributeToStability=v(Ue);constructor(t,n){super(),this.backend=t,this.injector=n}handle(t){if(this.chain===null){let n=Array.from(new Set([...this.injector.get(xe),...this.injector.get(Ce,[])]));this.chain=n.reduceRight((s,i)=>qe(s,i,this.injector),Ge)}if(this.contributeToStability){let n=this.pendingTasks.add();return this.chain(t,s=>this.backend.handle(s)).pipe(ue(n))}else return this.chain(t,n=>this.backend.handle(n))}static \u0275fac=function(n){return new(n||r)(U(j),U(fe))};static \u0275prov=O({token:r,factory:r.\u0275fac})}return r})();var Ye=/^\)\]\}',?\n/,Qe=RegExp(`^${ie}:`,"m");function Ze(r){return"responseURL"in r&&r.responseURL?r.responseURL:Qe.test(r.getAllResponseHeaders())?r.getResponseHeader(ie):null}var se=(()=>{class r{xhrFactory;constructor(t){this.xhrFactory=t}handle(t){if(t.method==="JSONP")throw new k(-2800,!1);let n=this.xhrFactory;return ee(null).pipe(he(()=>new H(i=>{let o=n.build();if(o.open(t.method,t.urlWithParams),t.withCredentials&&(o.withCredentials=!0),t.headers.forEach((l,d)=>o.setRequestHeader(l,d.join(","))),t.headers.has(q)||o.setRequestHeader(q,Ie),!t.headers.has(X)){let l=t.detectContentTypeHeader();l!==null&&o.setRequestHeader(X,l)}if(t.timeout&&(o.timeout=t.timeout),t.responseType){let l=t.responseType.toLowerCase();o.responseType=l!=="json"?l:"text"}let c=t.serializeBody(),a=null,h=()=>{if(a!==null)return a;let l=o.statusText||"OK",d=new P(o.getAllResponseHeaders()),g=Ze(o)||t.url;return a=new z({headers:d,status:o.status,statusText:l,url:g}),a},f=()=>{let{headers:l,status:d,statusText:g,url:b}=h(),p=null;d!==Ve&&(p=typeof o.response>"u"?o.responseText:o.response),d===0&&(d=p?De:0);let T=d>=200&&d<300;if(t.responseType==="json"&&typeof p=="string"){let M=p;p=p.replace(Ye,"");try{p=p!==""?JSON.parse(p):null}catch(x){p=M,T&&(T=!1,p={error:x,text:p})}}T?(i.next(new B({body:p,headers:l,status:d,statusText:g,url:b||void 0})),i.complete()):i.error(new E({error:p,headers:l,status:d,statusText:g,url:b||void 0}))},m=l=>{let{url:d}=h(),g=new E({error:l,status:o.status||0,statusText:o.statusText||"Unknown Error",url:d||void 0});i.error(g)},w=m;t.timeout&&(w=l=>{let{url:d}=h(),g=new E({error:new DOMException("Request timed out","TimeoutError"),status:o.status||0,statusText:o.statusText||"Request timeout",url:d||void 0});i.error(g)});let D=!1,y=l=>{D||(i.next(h()),D=!0);let d={type:N.DownloadProgress,loaded:l.loaded};l.lengthComputable&&(d.total=l.total),t.responseType==="text"&&o.responseText&&(d.partialText=o.responseText),i.next(d)},_=l=>{let d={type:N.UploadProgress,loaded:l.loaded};l.lengthComputable&&(d.total=l.total),i.next(d)};return o.addEventListener("load",f),o.addEventListener("error",m),o.addEventListener("timeout",w),o.addEventListener("abort",m),t.reportProgress&&(o.addEventListener("progress",y),c!==null&&o.upload&&o.upload.addEventListener("progress",_)),o.send(c),i.next({type:N.Sent}),()=>{o.removeEventListener("error",m),o.removeEventListener("abort",m),o.removeEventListener("load",f),o.removeEventListener("timeout",w),t.reportProgress&&(o.removeEventListener("progress",y),c!==null&&o.upload&&o.upload.removeEventListener("progress",_)),o.readyState!==o.DONE&&o.abort()}})))}static \u0275fac=function(n){return new(n||r)(U(Re))};static \u0275prov=O({token:r,factory:r.\u0275fac})}return r})(),Fe=new I(""),He="XSRF-TOKEN",et=new I("",{providedIn:"root",factory:()=>He}),tt="X-XSRF-TOKEN",rt=new I("",{providedIn:"root",factory:()=>tt}),J=class{},nt=(()=>{class r{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(t,n){this.doc=t,this.cookieName=n}getToken(){let t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=Te(t,this.cookieName),this.lastCookieString=t),this.lastToken}static \u0275fac=function(n){return new(n||r)(U(ye),U(et))};static \u0275prov=O({token:r,factory:r.\u0275fac})}return r})(),st=/^(?:https?:)?\/\//i;function it(r,e){if(!v(Fe)||r.method==="GET"||r.method==="HEAD"||st.test(r.url))return e(r);let t=v(J).getToken(),n=v(rt);return t!=null&&!r.headers.has(n)&&(r=r.clone({headers:r.headers.set(n,t)})),e(r)}var oe=(function(r){return r[r.Interceptors=0]="Interceptors",r[r.LegacyInterceptors=1]="LegacyInterceptors",r[r.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",r[r.NoXsrfProtection=3]="NoXsrfProtection",r[r.JsonpSupport=4]="JsonpSupport",r[r.RequestsMadeViaParent=5]="RequestsMadeViaParent",r[r.Fetch=6]="Fetch",r})(oe||{});function ot(r,e){return{\u0275kind:r,\u0275providers:e}}function at(...r){let e=[Q,se,Y,{provide:L,useExisting:Y},{provide:j,useFactory:()=>v(_e,{optional:!0})??v(se)},{provide:xe,useValue:it,multi:!0},{provide:Fe,useValue:!0},{provide:J,useClass:nt}];for(let t of r)e.push(...t.\u0275providers);return pe(e)}function ct(){return ot(oe.Fetch,[K,{provide:_e,useExisting:K},{provide:j,useExisting:K}])}var Le=200,lt=5e3,je=class r{http=v(Q);apps=R([]);overview=R(null);events=R([]);connected=R(!1);ready=R(!1);cwdHint=R(null);cwdResolved=R(null);cwdUnknown=R(!1);workspaceRows=R([]);workspaces=be(()=>{let e=new Set;for(let t of this.apps())t.workspaceLabel&&e.add(t.workspaceLabel);return Array.from(e).sort()});byName(e){return this.apps().find(t=>t.name===e)}streamStop;pollTimer;start(){this.streamStop||(this.refresh(),this.streamStop=this.openEventStream(),this.pollTimer=setInterval(()=>{this.refresh()},lt))}stop(){this.streamStop?.(),this.streamStop=void 0,this.pollTimer&&clearInterval(this.pollTimer),this.pollTimer=void 0}async refresh(){try{let[e,t]=await Promise.all([u(this.http.get("/api/apps?format=full")),u(this.http.get("/api/overview"))]);this.apps.set(Array.isArray(e)?e:[]),this.overview.set(t??null),this.connected.set(!0),this.ready.set(!0)}catch{this.connected.set(!1)}}async appDetail(e){try{return await u(this.http.get(`/api/apps/${encodeURIComponent(e)}?format=full`))}catch{return null}}async appErrors(e){try{let t=await u(this.http.get(`/api/apps/${encodeURIComponent(e)}/errors?format=full&level=all`));return Array.isArray(t)?t:[]}catch{return[]}}async startApp(e){this.patch(e,{status:"starting"}),await u(this.http.post(`/api/apps/${encodeURIComponent(e)}/start`,{})),await this.refresh()}async stopApp(e){this.patch(e,{status:"stopped"}),await u(this.http.post(`/api/apps/${encodeURIComponent(e)}/stop`,{})),await this.refresh()}async restartApp(e){this.patch(e,{status:"starting"}),await u(this.http.post(`/api/apps/${encodeURIComponent(e)}/restart`,{})),await this.refresh()}async ensureApp(e,t="healthy",n=18e4){return u(this.http.post(`/api/apps/${encodeURIComponent(e)}/ensure?until=${t}&timeoutMs=${n}`,{}))}async ensureUp(e,t="healthy",n=3e5){return u(this.http.post(`/api/profiles/${encodeURIComponent(e)}/ensure-up?until=${t}&timeoutMs=${n}`,{}))}async discoveryExplain(){try{return await u(this.http.get("/api/discovery/explain"))}catch{return null}}async getConfig(){try{return await u(this.http.get("/api/config"))}catch{return null}}async patchConfig(e,t){return u(this.http.patch("/api/config",t,{headers:{"if-match":e}}))}async reloadConfig(){return u(this.http.post("/api/config/reload",{}))}async runAutoFix(e={}){return u(this.http.post("/api/doctor/auto-fix",e))}async getCompileTimes(e,t=100){try{let n=await u(this.http.get(`/api/history/compile-times?app=${encodeURIComponent(e)}&limit=${t}`));return Array.isArray(n)?n:[]}catch{return[]}}async getTrends(e){try{let t=new URLSearchParams;return e.app&&t.set("app",e.app),t.set("metric",e.metric),t.set("since",e.since),await u(this.http.get(`/api/history/trends?${t.toString()}`))}catch{return null}}async getTrendsMulti(e){try{let t=new URLSearchParams;return e.app&&t.set("app",e.app),t.set("metrics",e.metrics.join(",")),t.set("since",e.since),await u(this.http.get(`/api/history/trends?${t.toString()}`))}catch{return null}}async getSelf(){try{return await u(this.http.get("/api/self"))}catch{return null}}async listWorkspaces(){try{let e=await u(this.http.get("/api/workspaces")),t=Array.isArray(e)?e:[];return this.workspaceRows.set(t),t}catch{return[]}}async resolveCwd(e){try{return await u(this.http.get(`/api/workspaces/resolve?cwd=${encodeURIComponent(e)}`))}catch{return null}}async registerWorkspace(e,t){let n={path:e};return t&&(n.label=t),u(this.http.post("/api/workspaces/ensure",n))}async getTimeline(e={}){try{let t=new URLSearchParams;e.since&&t.set("since",e.since),e.app&&t.set("app",e.app),e.kinds&&t.set("kinds",e.kinds);let n=t.toString(),s=await u(this.http.get("/api/history/timeline"+(n?"?"+n:"")));return Array.isArray(s)?s:[]}catch{return[]}}async getSelfHistory(e="6h"){try{let t=await u(this.http.get(`/api/self/history?since=${e}`));return Array.isArray(t)?t:[]}catch{return[]}}async getBundles(e,t=100){try{let n=await u(this.http.get(`/api/history/bundles?app=${encodeURIComponent(e)}&limit=${t}`));return Array.isArray(n)?n:[]}catch{return[]}}async getHistoryWhy(e){try{return await u(this.http.get(`/api/history/why/${encodeURIComponent(e)}`))}catch{return null}}async getAgents(){try{let e=await u(this.http.get("/api/agents"));return{agents:Array.isArray(e?.agents)?e.agents:[],locks:e?.locks&&typeof e.locks=="object"?e.locks:{},self:typeof e?.self=="string"?e.self:null}}catch{return{agents:[],locks:{},self:null}}}async getHistoryEvents(e={}){try{let t=new URLSearchParams;e.type&&t.set("type",e.type),e.app&&t.set("app",e.app),e.since&&t.set("since",e.since),e.limit&&t.set("limit",String(e.limit));let n=t.toString(),s=await u(this.http.get("/api/history/events"+(n?"?"+n:"")));return Array.isArray(s)?s.map(i=>({ts:i.ts,app:i.app,type:i.type,from:i.from_state??i.from,to:i.to_state??i.to,message:i.message})):[]}catch{return[]}}openLogStream(e,t){let n=new AbortController;return(async()=>{try{let i=(await fetch(`/api/apps/${encodeURIComponent(e)}/logs/stream`,{signal:n.signal})).body?.getReader();if(!i)return;let o=new TextDecoder,c="";for(;;){let{done:a,value:h}=await i.read();if(a)break;c+=o.decode(h,{stream:!0});let f=c.split(`
|
|
3
|
+
`);c=f.pop()??"";for(let m of f){let w=m.startsWith("data: ")?m.slice(6):m;if(w.trim())try{t(JSON.parse(w))}catch{}}}}catch{}})(),()=>n.abort()}patch(e,t){this.apps.update(n=>n.map(s=>s.name===e?C(C({},s),t):s))}appendEvent(e){this.events.update(t=>{let n=t.concat(e);return n.length>Le?n.slice(n.length-Le):n})}applyEvent(e){this.appendEvent(e),e.app&&(e.type==="status"&&e.to?this.patch(e.app,{status:e.to,lastChangeMs:0}):e.type==="health"&&e.to?this.patch(e.app,{health:e.to}):e.type==="error"&&this.apps.update(t=>t.map(n=>n.name===e.app?ce(C({},n),{errorCount:(n.errorCount??0)+1}):n)))}openEventStream(){let e=new AbortController;return(async()=>{try{let t=await fetch("/api/events?stream=ndjson",{signal:e.signal});this.connected.set(!0);let n=t.body?.getReader();if(!n)return;let s=new TextDecoder,i="";for(;;){let{done:o,value:c}=await n.read();if(o)break;i+=s.decode(c,{stream:!0});let a=i.split(`
|
|
4
|
+
`);i=a.pop()??"";for(let h of a)if(h.trim())try{this.applyEvent(JSON.parse(h))}catch{}}}catch{this.connected.set(!1)}})(),()=>e.abort()}static \u0275fac=function(t){return new(t||r)};static \u0275prov=O({token:r,factory:r.\u0275fac,providedIn:"root"})};function Wt(r){switch(r.status){case"serving":return{color:"var(--mat-sys-primary)",label:r.health==="healthy"?"healthy":"serving",kind:"serving"};case"compiling":return{color:"var(--mat-sys-tertiary)",label:"compiling",kind:"compiling"};case"starting":return{color:"var(--mat-sys-secondary)",label:"starting",kind:"starting"};case"error":return{color:"var(--mat-sys-error)",label:"error",kind:"error"};default:return{color:"var(--mat-sys-outline)",label:"stopped",kind:"stopped"}}}export{Q as a,at as b,ct as c,je as d,Wt as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A,b as $,c as j,f as L,h as z}from"./chunk-EXOJOB6H.js";import{a as I}from"./chunk-HYIZY5FQ.js";import{b as D,c as T}from"./chunk-2LMH5KDX.js";import"./chunk-6YXOOFGY.js";import"./chunk-BCGQJHY3.js";import"./chunk-P3Q7RWT5.js";import{b as N,d as R}from"./chunk-JODWQVMA.js";import"./chunk-YNQPX5G6.js";import"./chunk-C6SNIY22.js";import"./chunk-42QQHEGP.js";import"./chunk-AHO3BCLI.js";import"./chunk-DRBVSI3B.js";import"./chunk-BKYXU3OY.js";import{e as E,f as w}from"./chunk-BPUIUSAU.js";import{a as k}from"./chunk-6CP6NCA6.js";import"./chunk-DNHNU64I.js";import"./chunk-532NB4ME.js";import{Ac as O,Fb as m,Gb as l,Lb as y,Mb as t,Nb as e,Ob as g,Tb as S,Vb as b,Xb as c,_a as r,ea as C,hc as M,ja as _,jc as i,ka as h,kc as f,lc as v,mc as P,pb as x,s as u,ta as d}from"./chunk-H3HRZLHG.js";function V(a,o){a&1&&g(0,"dm-skeleton",2)}function F(a,o){if(a&1&&(t(0,"span"),i(1),e()),a&2){let n=c();r(),v("Recording in progress \xB7 ",n.elapsedLabel())}}function H(a,o){a&1&&(t(0,"span"),i(1,"Not recording"),e())}function J(a,o){a&1&&(t(0,"div",3),g(1,"dm-skeleton",4)(2,"dm-skeleton",4)(3,"dm-skeleton",4),e())}function W(a,o){a&1&&(g(0,"span",20),t(1,"span",21),i(2,"REC"),e())}function q(a,o){a&1&&(t(0,"span",8),i(1,"Idle"),e())}function G(a,o){if(a&1&&(t(0,"div",22)(1,"span",23),i(2,"Path"),e(),t(3,"dm-mono")(4,"span",25),i(5),e()()()),a&2){let n=c(3);r(5),f(n.path())}}function K(a,o){if(a&1&&(t(0,"div",10)(1,"div",22)(2,"span",23),i(3,"Elapsed"),e(),t(4,"dm-mono")(5,"span",24),i(6),e()()(),m(7,G,6,1,"div",22),e()),a&2){let n=c(2);r(6),f(n.elapsedLabel()),r(),l(n.path()?7:-1)}}function Q(a,o){if(a&1){let n=S();t(0,"mat-card",5)(1,"mat-card-content")(2,"div",6)(3,"div",7),m(4,W,3,0)(5,q,2,0,"span",8),e(),t(6,"button",9),b("click",function(){_(n);let p=c();return h(p.toggle())}),t(7,"mat-icon"),i(8),e(),i(9),e()(),m(10,K,8,2,"div",10),e()(),t(11,"div",11)(12,"mat-card",12)(13,"mat-card-header")(14,"mat-card-title"),i(15,"What gets recorded"),e()(),t(16,"mat-card-content")(17,"ul",13)(18,"li"),i(19,"App lifecycle events (start, stop, restart)"),e(),t(20,"li"),i(21,"Task invocations"),e(),t(22,"li"),i(23,"Config changes"),e()(),t(24,"div",14)(25,"span",15),i(26,"Saved as"),e(),t(27,"dm-mono")(28,"span",16),i(29,"~/.daimon/sessions/session-<timestamp>.jsonl"),e()()(),t(30,"div",14)(31,"span",15),i(32,"Replay"),e(),t(33,"dm-mono")(34,"span",16),i(35,"daimon replay session.jsonl --speed 1"),e()()(),t(36,"div",17),i(37," Each JSONL line is "),t(38,"dm-mono")(39,"span",16),i(40),e()(),i(41,". "),e()()(),t(42,"mat-card",12)(43,"mat-card-header")(44,"mat-card-title"),i(45,"Replay primer"),e()(),t(46,"mat-card-content")(47,"div",18)(48,"dm-mono")(49,"span",16),i(50,"daimon replay <file.jsonl>"),e()(),t(51,"span",19),i(52,"play at default speed"),e()(),t(53,"div",18)(54,"dm-mono")(55,"span",16),i(56,"daimon replay <file.jsonl> --speed 2"),e()(),t(57,"span",19),i(58,"2x faster"),e()(),t(59,"div",17),i(60," Replay runs from the CLI. The dashboard doesn't trigger replays. "),e()()()()}if(a&2){let n=c();r(3),M("dm-state-rec",n.recording()),r(),l(n.recording()?4:5),r(2),y("disabled",n.busy()),r(2),f(n.recording()?"stop_circle":"radio_button_checked"),r(),v(" ",n.recording()?"Stop recording":"Start recording"," "),r(),l(n.recording()?10:-1),r(30),P("","{"," ts, kind, app?, task?, args? ","}")}}function U(a){let o=Math.max(0,Math.floor(a/1e3)),n=Math.floor(o/3600),s=Math.floor(o%3600/60),p=o%60;return n>0?`${n}h ${s}m ${p}s`:s>0?`${s}m ${p}s`:`${p}s`}var B=class a{http=C(k);snack=C(I);loading=d(!0);recording=d(!1);path=d(void 0);busy=d(!1);startedAt=d(null);tick=d(0);elapsedLabel=O(()=>{this.tick();let o=this.startedAt();return o?U(Date.now()-o):"0s"});tickTimer;ngOnInit(){this.loadStatus(),this.tickTimer=setInterval(()=>{this.recording()&&this.tick.update(o=>o+1)},1e3)}ngOnDestroy(){this.tickTimer&&clearInterval(this.tickTimer)}async loadStatus(){this.loading.set(!0);try{let o=await u(this.http.get("/api/session/status"));this.recording.set(!!o?.recording),this.path.set(o?.path),o?.recording?this.startedAt.set(Date.now()):this.startedAt.set(null)}catch{this.recording.set(!1),this.startedAt.set(null)}finally{this.loading.set(!1)}}async toggle(){if(this.busy())return;this.busy.set(!0);let o=this.recording();try{let n=await u(this.http.post("/api/session/record?action=toggle",{})),s=!!n?.recording;this.recording.set(s),this.path.set(n?.path),s&&!o?(this.startedAt.set(Date.now()),this.snack.open(n?.path?`Started session at ${n.path}`:"Started session","",{duration:2500})):!s&&o&&(this.startedAt.set(null),this.snack.open("Stopped session","",{duration:2500}))}catch(n){this.snack.open(`Session toggle failed: ${n?.message??"error"}`,"Dismiss",{duration:4e3,panelClass:"dm-snack-error"})}finally{this.busy.set(!1)}}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=x({type:a,selectors:[["dm-sessions-page"]],decls:10,vars:2,consts:[[1,"dm-page-header"],[1,"dm-page-sub"],["width","12rem","height","1rem"],[1,"dm-skel-grid"],["height","9rem"],[1,"dm-status-card"],[1,"dm-status-row"],[1,"dm-state"],[1,"dm-idle-label"],["mat-flat-button","","color","primary",1,"dm-toggle-btn",3,"click","disabled"],[1,"dm-rec-meta"],[1,"dm-info-grid"],[1,"dm-info-card"],[1,"dm-info-list"],[1,"dm-info-row"],[1,"dm-info-label"],[1,"dm-info-mono"],[1,"dm-info-hint"],[1,"dm-replay-row"],[1,"dm-replay-desc"],[1,"dm-rec-dot"],[1,"dm-rec-label"],[1,"dm-meta-row"],[1,"dm-meta-label"],[1,"dm-meta-value"],[1,"dm-meta-value","dm-path"]],template:function(n,s){n&1&&(t(0,"div",0)(1,"div")(2,"h1"),i(3,"Sessions"),e(),t(4,"div",1),m(5,V,1,0,"dm-skeleton",2)(6,F,2,1,"span")(7,H,2,0,"span"),e()()(),m(8,J,4,0,"div",3)(9,Q,61,9)),n&2&&(r(5),l(s.loading()?5:s.recording()?6:7),r(3),l(s.loading()?8:9))},dependencies:[z,A,j,L,$,T,D,w,E,N,R],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.dm-page-sub[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);margin-top:.25rem;font-size:.875rem}.dm-skel-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.dm-status-card[_ngcontent-%COMP%]{margin-bottom:1rem;border:1px solid var(--mat-sys-outline-variant)}.dm-status-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.dm-state[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.65rem;font:500 1.5rem/2rem Roboto;color:var(--mat-sys-on-surface-variant)}.dm-state-rec[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-rec-dot[_ngcontent-%COMP%]{width:14px;height:14px;border-radius:999px;background:var(--mat-sys-error);box-shadow:0 0 0 4px color-mix(in oklch,var(--mat-sys-error) 22%,transparent);animation:_ngcontent-%COMP%_dm-pulse 1.4s ease-in-out infinite}@keyframes _ngcontent-%COMP%_dm-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.dm-rec-dot[_ngcontent-%COMP%]{animation:none}}.dm-rec-label[_ngcontent-%COMP%]{letter-spacing:.05rem}.dm-idle-label[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-toggle-btn[_ngcontent-%COMP%]{min-height:48px;padding:0 1.25rem;font-size:1rem}.dm-rec-meta[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--mat-sys-outline-variant);display:flex;flex-direction:column;gap:.5rem}.dm-meta-row[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.75rem}.dm-meta-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant);min-width:4.5rem}.dm-meta-value[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-path[_ngcontent-%COMP%]{word-break:break-all}.dm-info-grid[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.dm-info-card[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-outline-variant)}.dm-info-list[_ngcontent-%COMP%]{margin:0 0 1rem;padding-left:1.25rem;color:var(--mat-sys-on-surface);font-size:.875rem}.dm-info-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:.25rem}.dm-info-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.65rem}.dm-info-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-info-mono[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);word-break:break-all}.dm-info-hint[_ngcontent-%COMP%]{margin-top:.5rem;font-size:.8125rem;color:var(--mat-sys-on-surface-variant)}.dm-replay-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem;margin-bottom:.65rem}.dm-replay-desc[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--mat-sys-on-surface-variant)}"],changeDetection:0})};export{B as SessionsPageComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o,b as D,c as R}from"./chunk-BCGQJHY3.js";import{f as v}from"./chunk-DRBVSI3B.js";import{d as g}from"./chunk-DNHNU64I.js";import{l as h}from"./chunk-532NB4ME.js";import{$ as d,ea as n,eb as f,hb as b,na as u,oa as _}from"./chunk-H3HRZLHG.js";var y={capture:!0},I=["focus","mousedown","mouseenter","touchstart"],p="mat-ripple-loader-uninitialized",l="mat-ripple-loader-class-name",A="mat-ripple-loader-centered",s="mat-ripple-loader-disabled",N=(()=>{class r{_document=n(_);_animationsDisabled=v();_globalRippleOptions=n(R,{optional:!0});_platform=n(h);_ngZone=n(f);_injector=n(u);_eventCleanups;_hosts=new Map;constructor(){let e=n(b).createRenderer(null,null);this._eventCleanups=this._ngZone.runOutsideAngular(()=>I.map(t=>e.listen(this._document,t,this._onInteraction,y)))}ngOnDestroy(){let e=this._hosts.keys();for(let t of e)this.destroyRipple(t);this._eventCleanups.forEach(t=>t())}configureRipple(e,t){e.setAttribute(p,this._globalRippleOptions?.namespace??""),(t.className||!e.hasAttribute(l))&&e.setAttribute(l,t.className||""),t.centered&&e.setAttribute(A,""),t.disabled&&e.setAttribute(s,"")}setDisabled(e,t){let i=this._hosts.get(e);i?(i.target.rippleDisabled=t,!t&&!i.hasSetUpEvents&&(i.hasSetUpEvents=!0,i.renderer.setupTriggerEvents(e))):t?e.setAttribute(s,""):e.removeAttribute(s)}_onInteraction=e=>{let t=g(e);if(t instanceof HTMLElement){let i=t.closest(`[${p}="${this._globalRippleOptions?.namespace??""}"]`);i&&this._createRipple(i)}};_createRipple(e){if(!this._document||this._hosts.has(e))return;e.querySelector(".mat-ripple")?.remove();let t=this._document.createElement("span");t.classList.add("mat-ripple",e.getAttribute(l)),e.append(t);let i=this._globalRippleOptions,E=this._animationsDisabled?0:i?.animation?.enterDuration??o.enterDuration,O=this._animationsDisabled?0:i?.animation?.exitDuration??o.exitDuration,a={rippleDisabled:this._animationsDisabled||i?.disabled||e.hasAttribute(s),rippleConfig:{centered:e.hasAttribute(A),terminateOnPointerUp:i?.terminateOnPointerUp,animation:{enterDuration:E,exitDuration:O}}},c=new D(a,this._ngZone,t,this._platform,this._injector),m=!a.rippleDisabled;m&&c.setupTriggerEvents(e),this._hosts.set(e,{target:a,renderer:c,hasSetUpEvents:m}),e.removeAttribute(p)}destroyRipple(e){let t=this._hosts.get(e);t&&(t.renderer._removeTriggerEvents(),this._hosts.delete(e))}static \u0275fac=function(t){return new(t||r)};static \u0275prov=d({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();export{N as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ca as _,
|
|
1
|
+
import{Ca as _,Nc as E,aa as m,db as P,ea as r,gb as R,ha as v,lb as c,mb as h,na as w,oa as D,qb as g,rb as l,sb as u}from"./chunk-H3HRZLHG.js";var a=class{_attachedHost;attach(e){return this._attachedHost=e,e.attach(this)}detach(){let e=this._attachedHost;e!=null&&(this._attachedHost=null,e.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(e){this._attachedHost=e}},f=class extends a{component;viewContainerRef;injector;projectableNodes;constructor(e,t,o,n){super(),this.component=e,this.viewContainerRef=t,this.injector=o,this.projectableNodes=n}},s=class extends a{templateRef;viewContainerRef;context;injector;constructor(e,t,o,n){super(),this.templateRef=e,this.viewContainerRef=t,this.context=o,this.injector=n}get origin(){return this.templateRef.elementRef}attach(e,t=this.context){return this.context=t,super.attach(e)}detach(){return this.context=void 0,super.detach()}},p=class extends a{element;constructor(e){super(),this.element=e instanceof _?e.nativeElement:e}},d=class{_attachedPortal;_disposeFn;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(e){if(e instanceof f)return this._attachedPortal=e,this.attachComponentPortal(e);if(e instanceof s)return this._attachedPortal=e,this.attachTemplatePortal(e);if(this.attachDomPortal&&e instanceof p)return this._attachedPortal=e,this.attachDomPortal(e)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(e){this._disposeFn=e}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},C=class extends d{outletElement;_appRef;_defaultInjector;constructor(e,t,o){super(),this.outletElement=e,this._appRef=t,this._defaultInjector=o}attachComponentPortal(e){let t;if(e.viewContainerRef){let o=e.injector||e.viewContainerRef.injector,n=o.get(h,null,{optional:!0})||void 0;t=e.viewContainerRef.createComponent(e.component,{index:e.viewContainerRef.length,injector:o,ngModuleRef:n,projectableNodes:e.projectableNodes||void 0}),this.setDisposeFn(()=>t.destroy())}else{let o=this._appRef,n=e.injector||this._defaultInjector||w.NULL,y=n.get(v,o.injector);t=E(e.component,{elementInjector:n,environmentInjector:y,projectableNodes:e.projectableNodes||void 0}),o.attachView(t.hostView),this.setDisposeFn(()=>{o.viewCount>0&&o.detachView(t.hostView),t.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=e,t}attachTemplatePortal(e){let t=e.viewContainerRef,o=t.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return o.rootNodes.forEach(n=>this.outletElement.appendChild(n)),o.detectChanges(),this.setDisposeFn(()=>{let n=t.indexOf(o);n!==-1&&t.remove(n)}),this._attachedPortal=e,o}attachDomPortal=e=>{let t=e.element;t.parentNode;let o=this.outletElement.ownerDocument.createComment("dom-portal");t.parentNode.insertBefore(o,t),this.outletElement.appendChild(t),this._attachedPortal=e,super.setDisposeFn(()=>{o.parentNode&&o.parentNode.replaceChild(t,o)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(e){return e.hostView.rootNodes[0]}},O=(()=>{class i extends s{constructor(){let t=r(R),o=r(c);super(t,o)}static \u0275fac=function(o){return new(o||i)};static \u0275dir=l({type:i,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[u]})}return i})();var H=(()=>{class i extends d{_moduleRef=r(h,{optional:!0});_document=r(D);_viewContainerRef=r(c);_isInitialized=!1;_attachedRef;constructor(){super()}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t||null)}attached=new P;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(t){t.setAttachedHost(this);let o=t.viewContainerRef!=null?t.viewContainerRef:this._viewContainerRef,n=o.createComponent(t.component,{index:o.length,injector:t.injector||o.injector,projectableNodes:t.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return o!==this._viewContainerRef&&this._getRootNode().appendChild(n.hostView.rootNodes[0]),super.setDisposeFn(()=>n.destroy()),this._attachedPortal=t,this._attachedRef=n,this.attached.emit(n),n}attachTemplatePortal(t){t.setAttachedHost(this);let o=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context,{injector:t.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachDomPortal=t=>{let o=t.element;o.parentNode;let n=this._document.createComment("dom-portal");t.setAttachedHost(this),o.parentNode.insertBefore(n,o),this._getRootNode().appendChild(o),this._attachedPortal=t,super.setDisposeFn(()=>{n.parentNode&&n.parentNode.replaceChild(o,n)})};_getRootNode(){let t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}static \u0275fac=function(o){return new(o||i)};static \u0275dir=l({type:i,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[u]})}return i})();var b=(()=>{class i{static \u0275fac=function(o){return new(o||i)};static \u0275mod=g({type:i});static \u0275inj=m({})}return i})();export{f as a,s as b,d as c,C as d,O as e,H as f,b as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as N,f as R,h as A,m as F}from"./chunk-2QORICNU.js";import{b as T}from"./chunk-YFYMS5EE.js";import{e as $,f as q}from"./chunk-BPUIUSAU.js";import{d as L}from"./chunk-6CP6NCA6.js";import"./chunk-DNHNU64I.js";import"./chunk-532NB4ME.js";import{$b as M,Ac as x,Fb as h,Gb as f,Hb as k,Jb as w,Kb as P,Mb as a,Nb as r,Tb as C,Vb as u,Xb as l,Ya as y,_a as m,ac as I,bc as E,ea as v,hc as O,ja as c,jc as d,ka as p,kc as g,pb as b,qc as D,rc as S,sc as V,ta as _}from"./chunk-H3HRZLHG.js";var B=["input"];function H(i,t){if(i&1&&(a(0,"span",12),d(1),r()),i&2){let e=l().$implicit;m(),g(e.hint)}}function Q(i,t){if(i&1){let e=C();a(0,"li",10),u("mouseenter",function(){let n=c(e).$index,s=l(2);return p(s.active.set(n))})("click",function(){let n=c(e).$index,s=l(2);return p(s.runIdx(n))}),a(1,"mat-icon",5),d(2),r(),a(3,"span",11),d(4),r(),h(5,H,2,1,"span",12),a(6,"span",13),d(7),r()()}if(i&2){let e=t.$implicit,o=t.$index,n=l(2);O("active",o===n.active()),m(2),g(e.icon),m(2),g(e.label),m(),f(e.hint?5:-1),m(2),g(e.kind)}}function K(i,t){i&1&&(a(0,"li",9),d(1,"No matches."),r())}function z(i,t){if(i&1){let e=C();a(0,"div",2),u("click",function(){c(e);let n=l();return p(n.close())}),r(),a(1,"div",3)(2,"div",4)(3,"mat-icon",5),d(4,"search"),r(),a(5,"input",6,0),V("ngModelChange",function(n){c(e);let s=l();return S(s.query,n)||(s.query=n),p(n)}),u("ngModelChange",function(n){c(e);let s=l();return p(s.onQuery(n))}),r(),a(7,"kbd"),d(8,"esc"),r()(),a(9,"ul",7,1),w(11,Q,8,6,"li",8,k,!1,K,2,0,"li",9),r()()}if(i&2){let e=l();m(5),D("ngModel",e.query),m(6),P(e.visible())}}var G=class i{api=v(L);router=v(T);input;open=_(!1);query="";active=_(0);allItems=x(()=>{let t=[];t.push({kind:"nav",icon:"apps",label:"Go to Apps",hint:"g a",run:()=>this.go("/")}),t.push({kind:"nav",icon:"timeline",label:"Go to Events",hint:"g e",run:()=>this.go("/events")}),t.push({kind:"nav",icon:"terminal",label:"Go to Logs",hint:"g l",run:()=>this.go("/logs")}),t.push({kind:"nav",icon:"error",label:"Go to Errors",hint:"g r",run:()=>this.go("/errors")}),t.push({kind:"nav",icon:"medical_services",label:"Go to Doctor",hint:"g d",run:()=>this.go("/doctor")}),t.push({kind:"nav",icon:"tune",label:"Go to Config",hint:"g c",run:()=>this.go("/config")}),t.push({kind:"nav",icon:"query_stats",label:"Go to History",hint:"g h",run:()=>this.go("/history")});for(let e of this.api.apps())t.push({kind:"app",icon:"app_registration",label:e.name,hint:e.status,run:()=>this.go(`/apps/${e.name}`)}),t.push({kind:"action",icon:"play_arrow",label:`Start ${e.name}`,run:()=>{this.api.startApp(e.name)}}),t.push({kind:"action",icon:"restart_alt",label:`Restart ${e.name}`,run:()=>{this.api.restartApp(e.name)}}),t.push({kind:"action",icon:"stop",label:`Stop ${e.name}`,run:()=>{this.api.stopApp(e.name)}}),t.push({kind:"action",icon:"terminal",label:`Logs for ${e.name}`,run:()=>this.go(`/logs/${e.name}`)});return t});visible=x(()=>{let t=this.query.trim().toLowerCase();return t?this.allItems().filter(e=>e.label.toLowerCase().includes(t)||(e.hint??"").toLowerCase().includes(t)).slice(0,30):this.allItems().slice(0,12)});listener=()=>this.openPalette();ngOnInit(){window.addEventListener("daimon:cmdk",this.listener)}ngOnDestroy(){window.removeEventListener("daimon:cmdk",this.listener)}openPalette(){this.open.set(!0),this.query="",this.active.set(0),setTimeout(()=>this.input?.nativeElement.focus(),0)}close(){this.open.set(!1)}onQuery(t){this.active.set(0)}runIdx(t){let e=this.visible()[t];e&&(this.close(),e.run())}go(t){this.router.navigateByUrl(t)}onKey(t){if(this.open()){if(t.key==="Escape"){t.preventDefault(),this.close();return}t.key==="ArrowDown"||t.ctrlKey&&t.key==="n"?(t.preventDefault(),this.active.update(e=>Math.min(this.visible().length-1,e+1))):t.key==="ArrowUp"||t.ctrlKey&&t.key==="p"?(t.preventDefault(),this.active.update(e=>Math.max(0,e-1))):t.key==="Enter"&&(t.preventDefault(),this.runIdx(this.active()))}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=b({type:i,selectors:[["dm-command-palette"]],viewQuery:function(e,o){if(e&1&&M(B,5),e&2){let n;I(n=E())&&(o.input=n.first)}},hostBindings:function(e,o){e&1&&u("keydown",function(s){return o.onKey(s)},y)},decls:1,vars:1,consts:[["input",""],["list",""],[1,"dm-palette-backdrop",3,"click"],["role","dialog","aria-label","Command palette",1,"dm-palette"],[1,"dm-palette-search"],["fontSet","material-symbols-outlined"],["placeholder","Jump to app, run action, navigate\u2026","autocomplete","off","spellcheck","false",3,"ngModelChange","ngModel"],[1,"dm-palette-list"],[1,"dm-palette-item",3,"active"],[1,"dm-palette-empty"],[1,"dm-palette-item",3,"mouseenter","click"],[1,"dm-palette-label"],[1,"dm-palette-hint"],[1,"dm-palette-kind"]],template:function(e,o){e&1&&h(0,z,14,2),e&2&&f(o.open()?0:-1)},dependencies:[F,N,R,A,q,$],styles:["[_nghost-%COMP%]{position:fixed;inset:0;z-index:1000;pointer-events:none}[_nghost-%COMP%]:has(.dm-palette){pointer-events:auto}.dm-palette-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;background:color-mix(in oklch,var(--mat-sys-scrim) 50%,transparent)}.dm-palette[_ngcontent-%COMP%]{position:absolute;top:12vh;left:50%;transform:translate(-50%);width:min(640px,92vw);background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface);border-radius:16px;box-shadow:var(--mat-sys-level4);overflow:hidden;border:1px solid var(--mat-sys-outline-variant)}.dm-palette-search[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--mat-sys-outline-variant)}.dm-palette-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;background:transparent;border:0;outline:0;color:inherit;font:400 1rem/1.5rem Roboto}.dm-palette-search[_ngcontent-%COMP%] kbd[_ngcontent-%COMP%]{font-family:Roboto Mono,ui-monospace,monospace;font-size:.6875rem;padding:2px 6px;border-radius:4px;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface-variant)}.dm-palette-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:6px;max-height:60vh;overflow-y:auto}.dm-palette-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:10px 12px;border-radius:10px;cursor:pointer;font:500 .875rem/1.25rem Roboto}.dm-palette-item.active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent)}.dm-palette-label[_ngcontent-%COMP%]{flex:1}.dm-palette-hint[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-family:Roboto Mono,monospace;font-size:.75rem}.dm-palette-kind[_ngcontent-%COMP%]{font-size:.6875rem;padding:2px 8px;border-radius:999px;background:var(--mat-sys-surface-container-low);color:var(--mat-sys-on-surface-variant);text-transform:uppercase;letter-spacing:.05em}.dm-palette-empty[_ngcontent-%COMP%]{padding:1.5rem;color:var(--mat-sys-on-surface-variant);text-align:center}"],changeDetection:0})};export{G as CommandPaletteComponent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{f as G}from"./chunk-DRBVSI3B.js";import{a as U,b as S,d as k,e as _,h as H,z as v}from"./chunk-DNHNU64I.js";import{l as x,n as f}from"./chunk-532NB4ME.js";import{Ca as A,a,aa as O,ca as w,ea as p,eb as F,hc as L,na as M,pb as C,qb as N,rb as P}from"./chunk-H3HRZLHG.js";var l=(function(s){return s[s.FADING_IN=0]="FADING_IN",s[s.VISIBLE=1]="VISIBLE",s[s.FADING_OUT=2]="FADING_OUT",s[s.HIDDEN=3]="HIDDEN",s})(l||{}),E=class{_renderer;element;config;_animationForciblyDisabledThroughCss;state=l.HIDDEN;constructor(t,e,i,n=!1){this._renderer=t,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=n}fadeOut(){this._renderer.fadeOutRipple(this)}},B=_({passive:!0,capture:!0}),D=class{_events=new Map;addHandler(t,e,i,n){let r=this._events.get(e);if(r){let d=r.get(i);d?d.add(n):r.set(i,new Set([n]))}else this._events.set(e,new Map([[i,new Set([n])]])),t.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,B)})}removeHandler(t,e,i){let n=this._events.get(t);if(!n)return;let r=n.get(e);r&&(r.delete(i),r.size===0&&n.delete(e),n.size===0&&(this._events.delete(t),document.removeEventListener(t,this._delegateEventHandler,B)))}_delegateEventHandler=t=>{let e=k(t);e&&this._events.get(t.type)?.forEach((i,n)=>{(n===e||n.contains(e))&&i.forEach(r=>r.handleEvent(t))})}},z={enterDuration:225,exitDuration:150},J=800,Z=_({passive:!0,capture:!0}),V=["mousedown","touchstart"],$=["mouseup","mouseleave","touchend","touchcancel"],K=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275cmp=C({type:s,selectors:[["ng-component"]],hostAttrs:["mat-ripple-style-loader",""],decls:0,vars:0,template:function(i,n){},styles:[`.mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale3d(0, 0, 0);background-color:var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent))}@media(forced-colors: active){.mat-ripple-element{display:none}}.cdk-drag-preview .mat-ripple-element,.cdk-drag-placeholder .mat-ripple-element{display:none}
|
|
2
2
|
`],encapsulation:2,changeDetection:0})}return s})(),b=class s{_target;_ngZone;_platform;_containerElement;_triggerElement;_isPointerDown=!1;_activeRipples=new Map;_mostRecentTransientRipple;_lastTouchStartEvent;_pointerUpEventsRegistered=!1;_containerRect;static _eventManager=new D;constructor(t,e,i,n,r){this._target=t,this._ngZone=e,this._platform=n,n.isBrowser&&(this._containerElement=f(i)),r&&r.get(H).load(K)}fadeInRipple(t,e,i={}){let n=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),r=a(a({},z),i.animation);i.centered&&(t=n.left+n.width/2,e=n.top+n.height/2);let d=i.radius||Q(t,e,n),j=t-n.left,Y=e-n.top,h=r.enterDuration,o=document.createElement("div");o.classList.add("mat-ripple-element"),o.style.left=`${j-d}px`,o.style.top=`${Y-d}px`,o.style.height=`${d*2}px`,o.style.width=`${d*2}px`,i.color!=null&&(o.style.backgroundColor=i.color),o.style.transitionDuration=`${h}ms`,this._containerElement.appendChild(o);let T=window.getComputedStyle(o),X=T.transitionProperty,R=T.transitionDuration,m=X==="none"||R==="0s"||R==="0s, 0s"||n.width===0&&n.height===0,c=new E(this,o,i,m);o.style.transform="scale3d(1, 1, 1)",c.state=l.FADING_IN,i.persistent||(this._mostRecentTransientRipple=c);let u=null;return!m&&(h||r.exitDuration)&&this._ngZone.runOutsideAngular(()=>{let I=()=>{u&&(u.fallbackTimer=null),clearTimeout(y),this._finishRippleTransition(c)},g=()=>this._destroyRipple(c),y=setTimeout(g,h+100);o.addEventListener("transitionend",I),o.addEventListener("transitioncancel",g),u={onTransitionEnd:I,onTransitionCancel:g,fallbackTimer:y}}),this._activeRipples.set(c,u),(m||!h)&&this._finishRippleTransition(c),c}fadeOutRipple(t){if(t.state===l.FADING_OUT||t.state===l.HIDDEN)return;let e=t.element,i=a(a({},z),t.config.animation);e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",t.state=l.FADING_OUT,(t._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(t)}fadeOutAll(){this._getActiveRipples().forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){let e=f(t);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,V.forEach(i=>{s._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(t){t.type==="mousedown"?this._onMousedown(t):t.type==="touchstart"?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{$.forEach(e=>{this._triggerElement.addEventListener(e,this,Z)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(t){t.state===l.FADING_IN?this._startFadeOutTransition(t):t.state===l.FADING_OUT&&this._destroyRipple(t)}_startFadeOutTransition(t){let e=t===this._mostRecentTransientRipple,{persistent:i}=t.config;t.state=l.VISIBLE,!i&&(!e||!this._isPointerDown)&&t.fadeOut()}_destroyRipple(t){let e=this._activeRipples.get(t)??null;this._activeRipples.delete(t),this._activeRipples.size||(this._containerRect=null),t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),t.state=l.HIDDEN,e!==null&&(t.element.removeEventListener("transitionend",e.onTransitionEnd),t.element.removeEventListener("transitioncancel",e.onTransitionCancel),e.fallbackTimer!==null&&clearTimeout(e.fallbackTimer)),t.element.remove()}_onMousedown(t){let e=U(t),i=this._lastTouchStartEvent&&Date.now()<this._lastTouchStartEvent+J;!this._target.rippleDisabled&&!e&&!i&&(this._isPointerDown=!0,this.fadeInRipple(t.clientX,t.clientY,this._target.rippleConfig))}_onTouchStart(t){if(!this._target.rippleDisabled&&!S(t)){this._lastTouchStartEvent=Date.now(),this._isPointerDown=!0;let e=t.changedTouches;if(e)for(let i=0;i<e.length;i++)this.fadeInRipple(e[i].clientX,e[i].clientY,this._target.rippleConfig)}}_onPointerUp(){this._isPointerDown&&(this._isPointerDown=!1,this._getActiveRipples().forEach(t=>{let e=t.state===l.VISIBLE||t.config.terminateOnPointerUp&&t.state===l.FADING_IN;!t.config.persistent&&e&&t.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){let t=this._triggerElement;t&&(V.forEach(e=>s._eventManager.removeHandler(e,t,this)),this._pointerUpEventsRegistered&&($.forEach(e=>t.removeEventListener(e,this,Z)),this._pointerUpEventsRegistered=!1))}};function Q(s,t,e){let i=Math.max(Math.abs(s-e.left),Math.abs(s-e.right)),n=Math.max(Math.abs(t-e.top),Math.abs(t-e.bottom));return Math.sqrt(i*i+n*n)}var W=new w("mat-ripple-global-options"),pt=(()=>{class s{_elementRef=p(A);_animationsDisabled=G();color;unbounded;centered;radius=0;animation;get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}_disabled=!1;get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}_trigger;_rippleRenderer;_globalOptions;_isInitialized=!1;constructor(){let e=p(F),i=p(x),n=p(W,{optional:!0}),r=p(M);this._globalOptions=n||{},this._rippleRenderer=new b(this,e,this._elementRef,i,r)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:a(a(a({},this._globalOptions.animation),this._animationsDisabled?{enterDuration:0,exitDuration:0}:{}),this.animation),terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,n){return typeof e=="number"?this._rippleRenderer.fadeInRipple(e,i,a(a({},this.rippleConfig),n)):this._rippleRenderer.fadeInRipple(0,0,a(a({},this.rippleConfig),e))}static \u0275fac=function(i){return new(i||s)};static \u0275dir=P({type:s,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(i,n){i&2&&L("mat-ripple-unbounded",n.unbounded)},inputs:{color:[0,"matRippleColor","color"],unbounded:[0,"matRippleUnbounded","unbounded"],centered:[0,"matRippleCentered","centered"],radius:[0,"matRippleRadius","radius"],animation:[0,"matRippleAnimation","animation"],disabled:[0,"matRippleDisabled","disabled"],trigger:[0,"matRippleTrigger","trigger"]},exportAs:["matRipple"]})}return s})();var gt=(()=>{class s{static \u0275fac=function(i){return new(i||s)};static \u0275mod=N({type:s});static \u0275inj=O({imports:[v,v]})}return s})();export{z as a,b,W as c,pt as d,gt as e};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as J,b as X,c as Z,d as ee,e as te}from"./chunk-Z3XFJOYG.js";import{a as Y}from"./chunk-WAN7TQQW.js";import"./chunk-HVK4GEK7.js";import"./chunk-P3Q7RWT5.js";import{a as q,b as H,c as K,d as Q}from"./chunk-JODWQVMA.js";import{a as j,b as G}from"./chunk-RMV7CR6Y.js";import"./chunk-YNQPX5G6.js";import"./chunk-C6SNIY22.js";import"./chunk-42QQHEGP.js";import"./chunk-AHO3BCLI.js";import"./chunk-DRBVSI3B.js";import"./chunk-BKYXU3OY.js";import{c as z}from"./chunk-YFYMS5EE.js";import{f as W}from"./chunk-BPUIUSAU.js";import{d as U}from"./chunk-6CP6NCA6.js";import"./chunk-DNHNU64I.js";import"./chunk-532NB4ME.js";import{Ac as f,Bc as D,Db as S,Fb as p,Gb as d,Hb as O,Ib as R,Jb as h,Kb as b,Lb as g,Mb as r,Nb as l,Ob as w,Tb as P,Vb as C,Wa as F,Xb as c,Ya as N,_a as o,ea as $,gc as L,hc as E,ja as x,jc as s,ka as y,kc as m,lc as v,pa as V,pb as B,pc as A,ta as k,vc as T}from"./chunk-H3HRZLHG.js";var I=t=>["/apps",t],M=(t,n)=>n.key;function se(t,n){t&1&&w(0,"dm-skeleton",3)}function ce(t,n){if(t&1&&(s(0," \xB7 workspace "),r(1,"dm-mono"),s(2),l()),t&2){let e=c(2);o(2),m(e.workspace())}}function pe(t,n){if(t&1&&(s(0),p(1,ce,3,1)),t&2){let e=c();A(" ",e.totalErrors()," ",e.totalErrors()===1?"error":"errors"," \xB7 ",e.totalWarnings()," ",e.totalWarnings()===1?"warning":"warnings"," \xB7 ",e.totalLint()," lint across ",e.appsWithErrors()," ",e.appsWithErrors()===1?"app":"apps"," "),o(),d(e.workspace()?1:-1)}}function de(t,n){if(t&1){let e=P();r(0,"button",20),C("click",function(){x(e);let a=c();return y(a.onQuery(""))}),r(1,"span",6),s(2,"close"),l()()}}function me(t,n){if(t&1){let e=P();r(0,"button",21),C("click",function(){let a=x(e).$implicit,_=c();return y(_.setSeverity(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();E("active",i.severity()===e.key),S("aria-selected",i.severity()===e.key),o(),m(e.label)}}function _e(t,n){if(t&1){let e=P();r(0,"button",21),C("click",function(){let a=x(e).$implicit,_=c();return y(_.setGroupBy(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();E("active",i.groupBy()===e.key),S("aria-selected",i.groupBy()===e.key),o(),m(e.label)}}function ue(t,n){t&1&&(r(0,"article",22),w(1,"div",23),r(2,"div",24),w(3,"dm-skeleton",25)(4,"dm-skeleton",26)(5,"dm-skeleton",27),l()())}function ge(t,n){if(t&1&&(r(0,"div",16),h(1,ue,6,0,"article",22,R),l()),t&2){let e=c();o(),b(e.skeletonItems)}}function Ce(t,n){t&1&&(r(0,"dm-empty",17)(1,"div",28)(2,"a",29)(3,"span",6),s(4,"home"),l(),s(5,"Go home "),l()()())}function fe(t,n){if(t&1&&w(0,"dm-empty",18),t&2){let e=c();g("title","Clean \u2014 0 errors across "+e.api.apps().length+" apps")}}function xe(t,n){t&1&&w(0,"dm-empty",19)}function ye(t,n){if(t&1){let e=P();r(0,"div",30)(1,"span",6),s(2,"info"),l(),r(3,"span"),s(4,"None of these errors include a file path on the same line as the error. Try "),r(5,"button",31),C("click",function(){x(e);let a=c(2);return y(a.setGroupBy("app"))}),s(6,"group by app"),l(),s(7,"."),l()()}}function ve(t,n){if(t&1&&w(0,"dm-status-pill",35),t&2){let e=c().$implicit;g("status",e.app.status)("health",e.app.health)}}function he(t,n){if(t&1&&s(0),t&2){let e=c(3).$implicit;v(":",e.col)}}function be(t,n){if(t&1&&(r(0,"span",47),s(1),p(2,he,1,1),l()),t&2){let e=c(2).$implicit;o(),v(":",e.line),o(),d(e.col?2:-1)}}function Pe(t,n){if(t&1){let e=P();r(0,"a",46),C("click",function(a){x(e);let _=c().$implicit,u=c(4);return y(u.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,be,3,2,"span",47),l()()}if(t&2){let e=c().$implicit,i=c(4);g("href",i.editorUrl(e),F)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?3:-1)}}function Ee(t,n){t&1&&(r(0,"span",42)(1,"dm-mono"),s(2,"\u2014"),l()())}function we(t,n){if(t&1&&(r(0,"span",43)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),m(e.code)}}function ke(t,n){if(t&1&&(r(0,"span",45),s(1),l()),t&2){let e=c().$implicit;o(),v("\xD7",e.count)}}function Me(t,n){if(t&1&&(r(0,"div",40),p(1,Pe,4,4,"a",41)(2,Ee,3,0,"span",42),p(3,we,3,1,"span",43),r(4,"span",44),s(5),l(),p(6,ke,2,1,"span",45),l()),t&2){let e=n.$implicit,i=c().$implicit;E("is-warning",e.level==="warning")("is-lint",e.level==="lint"),o(),d(e.file?1:i.allMissingFile?-1:2),o(2),d(e.code?3:-1),o(),g("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?6:-1)}}function Fe(t,n){if(t&1){let e=P();r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),w(3,"div",33),r(4,"span",34)(5,"dm-mono"),s(6),l()(),p(7,ve,1,2,"dm-status-pill",35),r(8,"span",36),s(9),l()(),r(10,"mat-panel-description")(11,"a",37),C("click",function(a){return x(e),y(a.stopPropagation())}),s(12," Open app"),r(13,"span",6),s(14,"chevron_right"),l()()()(),r(15,"div",38),h(16,Me,7,9,"div",39,O),l()()}if(t&2){let e=n.$implicit,i=c(3);o(3),L("background",i.tone(e.workspaceLabel)),o(3),m(e.key),o(),d(e.app?7:-1),o(2),m(e.errors.length),o(2),g("routerLink",T(8,I,e.key)),o(4),E("rows-nofile",e.allMissingFile),o(),b(e.errors)}}function Oe(t,n){if(t&1&&h(0,Fe,18,10,"mat-expansion-panel",32,M),t&2){let e=c(2);b(e.byApp())}}function Te(t,n){if(t&1&&(r(0,"span",43)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),m(e.code)}}function Se(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;v(":",e.col)}}function Ie(t,n){if(t&1){let e=P();r(0,"a",50),C("click",function(a){x(e);let _=c().$implicit,u=c(4);return y(u.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,Se,1,1),l()()}if(t&2){let e=c().$implicit,i=c(4);g("href",i.editorUrl(e),F),o(2),v(":",e.line),o(),d(e.col?3:-1)}}function $e(t,n){if(t&1&&(r(0,"span",45),s(1),l()),t&2){let e=c().$implicit;o(),v("\xD7",e.count)}}function De(t,n){if(t&1){let e=P();r(0,"div",40)(1,"a",48),C("click",function(a){return x(e),y(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),p(4,Te,3,1,"span",43),r(5,"span",44),s(6),l(),p(7,Ie,4,3,"a",49),p(8,$e,2,1,"span",45),l()}if(t&2){let e=n.$implicit;E("is-warning",e.level==="warning")("is-lint",e.level==="lint"),o(),g("routerLink",T(11,I,e.app)),o(2),m(e.app),o(),d(e.code?4:-1),o(),g("matTooltip",e.message),o(),m(e.message),o(),d(e.line?7:-1),o(),d(e.count>1?8:-1)}}function Ve(t,n){if(t&1&&(r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",34)(4,"dm-mono"),s(5),l()(),r(6,"span",36),s(7),l()()(),r(8,"div",38),h(9,De,9,13,"div",39,O),l()()),t&2){let e=n.$implicit,i=c(3);o(5),m(i.shortPath(e.key)),o(2),m(e.errors.length),o(2),b(e.errors)}}function Ne(t,n){if(t&1&&h(0,Ve,11,2,"mat-expansion-panel",32,M),t&2){let e=c(2);b(e.byFile())}}function Be(t,n){t&1&&(r(0,"span",51),s(1),l()),t&2&&(o(),m(n))}function Re(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;v(":",e.col)}}function Le(t,n){if(t&1&&(r(0,"span",47),s(1),p(2,Re,1,1),l()),t&2){let e=c().$implicit;o(),v(":",e.line),o(),d(e.col?2:-1)}}function Ae(t,n){if(t&1&&(r(0,"span",45),s(1),l()),t&2){let e=c().$implicit;o(),v("\xD7",e.count)}}function ze(t,n){if(t&1){let e=P();r(0,"div",40)(1,"a",48),C("click",function(a){return x(e),y(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),r(4,"a",46),C("click",function(a){let _=x(e).$implicit,u=c(4);return y(u.openEditor(a,_))}),r(5,"dm-mono"),s(6),p(7,Le,3,2,"span",47),l()(),r(8,"span",44),s(9),l(),p(10,Ae,2,1,"span",45),l()}if(t&2){let e=n.$implicit,i=c(4);E("is-warning",e.level==="warning")("is-lint",e.level==="lint"),o(),g("routerLink",T(13,I,e.app)),o(2),m(e.app),o(),g("href",i.editorUrl(e),F)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?7:-1),o(),g("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?10:-1)}}function We(t,n){if(t&1&&(r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",34)(4,"dm-mono"),s(5),l()(),p(6,Be,2,1,"span",51),r(7,"span",36),s(8),l()()(),r(9,"div",38),h(10,ze,11,15,"div",39,O),l()()),t&2){let e,i=n.$implicit,a=c(3);o(5),m(i.key),o(),d((e=a.codeHint(i.key))?6:-1,e),o(2),m(i.errors.length),o(2),b(i.errors)}}function je(t,n){if(t&1&&h(0,We,12,3,"mat-expansion-panel",32,M),t&2){let e=c(2);b(e.byCode())}}function Ge(t,n){if(t&1&&s(0),t&2){let e=c(3).$implicit;v(":",e.col)}}function Ue(t,n){if(t&1&&(r(0,"span",47),s(1),p(2,Ge,1,1),l()),t&2){let e=c(2).$implicit;o(),v(":",e.line),o(),d(e.col?2:-1)}}function qe(t,n){if(t&1){let e=P();r(0,"a",46),C("click",function(a){x(e);let _=c().$implicit,u=c(4);return y(u.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,Ue,3,2,"span",47),l()()}if(t&2){let e=c().$implicit,i=c(4);g("href",i.editorUrl(e),F)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?3:-1)}}function He(t,n){t&1&&(r(0,"span",42)(1,"dm-mono"),s(2,"\u2014"),l()())}function Ke(t,n){if(t&1&&(r(0,"span",43)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),m(e.code)}}function Qe(t,n){if(t&1&&(r(0,"span",45),s(1),l()),t&2){let e=c().$implicit;o(),v("\xD7",e.count)}}function Ye(t,n){if(t&1){let e=P();r(0,"div",40)(1,"a",48),C("click",function(a){return x(e),y(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),p(4,qe,4,4,"a",41)(5,He,3,0,"span",42),p(6,Ke,3,1,"span",43),r(7,"span",44),s(8),l(),p(9,Qe,2,1,"span",45),l()}if(t&2){let e=n.$implicit;E("is-warning",e.level==="warning")("is-lint",e.level==="lint"),o(),g("routerLink",T(11,I,e.app)),o(2),m(e.app),o(),d(e.file?4:5),o(2),d(e.code?6:-1),o(),g("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?9:-1)}}function Je(t,n){if(t&1&&(r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title")(3,"span",52),s(4),l(),r(5,"span",36),s(6),l()()(),r(7,"div",38),h(8,Ye,10,13,"div",39,O),l()()),t&2){let e=n.$implicit;o(3),S("data-tool",e.key),o(),m(e.key),o(2),m(e.errors.length),o(2),b(e.errors)}}function Xe(t,n){if(t&1&&h(0,Je,10,3,"mat-expansion-panel",32,M),t&2){let e=c(2);b(e.byTool())}}function Ze(t,n){if(t&1&&(p(0,ye,8,0,"div",30),r(1,"div",16),p(2,Oe,2,0)(3,Ne,2,0)(4,je,2,0)(5,Xe,2,0),l()),t&2){let e,i=c();d(i.groupBy()==="file"&&i.allFilesMissing()?0:-1),o(2),d((e=i.groupBy())==="app"?2:e==="file"?3:e==="code"?4:e==="tool"?5:-1)}}var ne="daimon.workspace",et={TS2322:"Type is not assignable to target type",TS2345:"Argument type mismatch",TS2339:"Property does not exist on type",TS18046:"Variable is of type unknown",TS2304:"Cannot find name",TS7006:"Parameter implicitly has an any type",TS6133:"Declared but never used",TS2769:"No overload matches this call"},ie=class t{api=$(U);destroyRef=$(V);raw=k(new Map);loading=k(!1);query=k("");severity=k("errors");groupBy=k("app");workspace=k(null);skeletonItems=[0,1,2];totalLint=f(()=>this.flat().reduce((n,e)=>n+(e.level==="lint"?e.count:0),0));severityFilters=[{key:"errors",label:"errors"},{key:"warnings",label:"warnings"},{key:"lint",label:"lint"},{key:"all",label:"all"}];groupOptions=[{key:"app",label:"app"},{key:"file",label:"file"},{key:"code",label:"code"},{key:"tool",label:"tool"}];tone=Y;appsByName=f(()=>{let n=new Map;for(let e of this.api.apps())n.set(e.name,e);return n});flat=f(()=>{let n=[],e=this.appsByName();for(let[i,a]of this.raw()){let _=e.get(i);for(let u of a){let oe=u.parsed?.file??u.file??"",re=u.parsed?.line??u.line??null,ae=u.parsed?.col??u.col??null,le=u.parsed?.code??u.code??"";n.push({app:i,workspaceLabel:_?.workspaceLabel??null,file:oe??"",line:re??null,col:ae??null,code:le??"",message:u.parsed?.message??u.message??"",count:u.count??1,tool:u.parsed?.tool??"",level:u.level??"error"})}}return n});totalErrors=f(()=>this.flat().reduce((n,e)=>n+(e.level==="error"?e.count:0),0));totalWarnings=f(()=>this.flat().reduce((n,e)=>n+(e.level==="warning"?e.count:0),0));appsWithErrors=f(()=>{let n=new Set;for(let e of this.flat())e.level==="error"&&n.add(e.app);return n.size});filteredFlat=f(()=>{let n=this.query().trim().toLowerCase(),e=this.severity(),i=this.workspace();return this.flat().filter(a=>!(i&&a.workspaceLabel!==i||e==="errors"&&a.level!=="error"||e==="warnings"&&a.level!=="warning"||e==="lint"&&a.level!=="lint"||n&&!`${a.file} ${a.code} ${a.message}`.toLowerCase().includes(n)))});byApp=f(()=>{let n=new Map;for(let i of this.filteredFlat()){let a=n.get(i.app);a?a.push(i):n.set(i.app,[i])}let e=this.appsByName();return Array.from(n.entries()).map(([i,a])=>({key:i,app:e.get(i)??null,workspaceLabel:e.get(i)?.workspaceLabel??null,errors:a,allMissingFile:a.every(_=>!_.file)})).sort((i,a)=>a.errors.length-i.errors.length)});byFile=f(()=>{let n=new Map;for(let e of this.filteredFlat()){let i=e.file||"(no file detected)",a=n.get(i);a?a.push(e):n.set(i,[e])}return Array.from(n.entries()).map(([e,i])=>({key:e,errors:i})).sort((e,i)=>i.errors.length-e.errors.length)});allFilesMissing=f(()=>{let n=this.filteredFlat();return n.length?n.every(e=>!e.file):!1});byCode=f(()=>{let n=new Map;for(let e of this.filteredFlat()){let i=e.code||"(no-code)",a=n.get(i);a?a.push(e):n.set(i,[e])}return Array.from(n.entries()).map(([e,i])=>({key:e,errors:i})).sort((e,i)=>i.errors.length-e.errors.length)});byTool=f(()=>{let n=new Map;for(let e of this.filteredFlat()){let i=e.tool||"(unknown)",a=n.get(i);a?a.push(e):n.set(i,[e])}return Array.from(n.entries()).map(([e,i])=>({key:e,errors:i})).sort((e,i)=>i.errors.length-e.errors.length)});appsKey=f(()=>this.api.apps().map(n=>n.name).sort().join("|"));lastEventCount=0;busy=!1;constructor(){this.workspace.set(localStorage.getItem(ne));let n=e=>this.workspace.set(e.detail??null);window.addEventListener("daimon:workspace",n),this.destroyRef.onDestroy(()=>window.removeEventListener("daimon:workspace",n)),D(()=>{this.appsKey()&&this.fetchAll()}),D(()=>{let e=this.api.events(),i=e.slice(this.lastEventCount);this.lastEventCount=e.length,i.some(a=>a.type==="error-new"||a.type==="error-recur"||a.type==="warning-new"||a.type==="warning-recur"||a.type==="lint-new"||a.type==="lint-recur"||a.type==="status")&&this.fetchAll()})}async ngOnInit(){this.api.apps().length===0&&!this.api.ready()?await this.api.refresh():await this.fetchAll()}ngOnDestroy(){}onStorage(n){n.key===ne&&this.workspace.set(n.newValue)}refresh(){this.fetchAll()}onQuery(n){this.query.set(n)}setSeverity(n){this.severity.set(n)}setGroupBy(n){this.groupBy.set(n)}codeHint(n){return et[n]??""}shortPath(n){if(!n)return"\u2014";let e=n.split(/[\\/]/);return e.length<=3?n:"\u2026/"+e.slice(-2).join("/")}editorUrl(n){if(!n.file)return"#";let e=n.line??1,i=n.col??1;return`vscode://file/${n.file}:${e}:${i}`}openEditor(n,e){if(!e.file){n.preventDefault();return}n.preventDefault(),window.open(this.editorUrl(e),"_self")}async fetchAll(){if(!this.busy){this.busy=!0,this.loading.set(!0);try{let n=this.api.apps(),e=await Promise.all(n.map(async a=>[a.name,await this.api.appErrors(a.name)])),i=new Map;for(let[a,_]of e)i.set(a,_);this.raw.set(i)}finally{this.busy=!1,this.loading.set(!1)}}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=B({type:t,selectors:[["dm-errors-panel"]],hostBindings:function(e,i){e&1&&C("storage",function(_){return i.onStorage(_)},N)},decls:31,vars:7,consts:[[1,"dm-page"],[1,"dm-page-header"],[1,"dm-page-sub"],["width","14rem","height",".875rem"],[1,"dm-header-actions"],["type","button","matTooltip","Refresh","aria-label","Refresh",1,"ib",3,"click","disabled"],[1,"material-symbols-outlined"],[1,"dm-filterbar"],[1,"dm-search"],[1,"material-symbols-outlined","dm-search-icon"],["type","search","placeholder","Filter by file, code, or message\u2026","aria-label","Filter errors",3,"input","value"],["type","button","aria-label","Clear",1,"dm-search-clear"],["role","tablist","aria-label","Severity filter",1,"dm-chips"],["type","button","role","tab",1,"dm-chip",3,"active"],["role","tablist","aria-label","Group by",1,"dm-chips"],[1,"dm-chips-label"],[1,"dm-cards"],["icon","error","title","No apps to scan","hint","Discover some apps first"],["icon","check_circle","hint","The last build was clean. Keep going.",3,"title"],["icon","filter_alt_off","title","No matches","hint","Try clearing the search or severity filter"],["type","button","aria-label","Clear",1,"dm-search-clear",3,"click"],["type","button","role","tab",1,"dm-chip",3,"click"],[1,"dm-card-sk"],[1,"dm-sk-accent"],[1,"dm-sk-body"],["width","40%","height","1.125rem"],["width","70%","height",".875rem"],["width","55%","height",".875rem"],[1,"dm-empty-actions"],["routerLink","/",1,"dm-link-btn"],[1,"dm-hint"],["type","button",1,"dm-link",3,"click"],["expanded","",1,"dm-panel"],[1,"ac"],[1,"ttl"],[3,"status","health"],[1,"eb"],[1,"lnk",3,"click","routerLink"],[1,"rows"],[1,"row",3,"is-warning","is-lint"],[1,"row"],[1,"loc",3,"href","matTooltip"],[1,"loc","dim"],[1,"code"],[1,"msg",3,"matTooltip"],[1,"cnt"],[1,"loc",3,"click","href","matTooltip"],[1,"dim"],[1,"loc",3,"click","routerLink"],[1,"dim","ln",3,"href"],[1,"dim","ln",3,"click","href"],[1,"hint"],[1,"tool-chip"]],template:function(e,i){e&1&&(r(0,"div",0)(1,"header",1)(2,"div")(3,"h1"),s(4,"Errors"),l(),r(5,"div",2),p(6,se,1,0,"dm-skeleton",3)(7,pe,2,8),l()(),r(8,"div",4)(9,"button",5),C("click",function(){return i.refresh()}),r(10,"span",6),s(11,"refresh"),l()()()(),r(12,"div",7)(13,"div",8)(14,"span",9),s(15,"search"),l(),r(16,"input",10),C("input",function(_){return i.onQuery(_.target.value)}),l(),p(17,de,3,0,"button",11),l(),r(18,"div",12),h(19,me,2,4,"button",13,M),l(),r(21,"div",14)(22,"span",15),s(23,"Group by"),l(),h(24,_e,2,4,"button",13,M),l()(),p(26,ge,3,0,"div",16)(27,Ce,6,0,"dm-empty",17)(28,fe,1,1,"dm-empty",18)(29,xe,1,0,"dm-empty",19)(30,Ze,6,2),l()),e&2&&(o(6),d(i.loading()?6:7),o(3),g("disabled",i.loading()),o(),E("spin",i.loading()),o(6),g("value",i.query()),o(),d(i.query()?17:-1),o(2),b(i.severityFilters),o(5),b(i.groupOptions),o(2),d(i.loading()&&!i.raw().size?26:i.api.apps().length===0?27:i.totalErrors()===0&&i.totalWarnings()===0?28:i.filteredFlat().length===0?29:30))},dependencies:[z,te,J,X,ee,Z,W,G,j,q,H,K,Q],styles:["[_nghost-%COMP%]{display:block}.dm-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.dm-page-header[_ngcontent-%COMP%]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font:400 1.5rem/2rem Roboto}.dm-page-sub[_ngcontent-%COMP%]{font:400 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface-variant);margin-top:.25rem;display:flex;gap:.25rem;flex-wrap:wrap;align-items:center}.dm-header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;color:var(--mat-sys-on-surface-variant);cursor:pointer}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:20px}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dm-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_dm-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spin[_ngcontent-%COMP%]{animation:none}}.dm-filterbar[_ngcontent-%COMP%]{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem;background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:12px}.dm-search[_ngcontent-%COMP%]{position:relative;flex:1;min-width:220px;display:inline-flex;align-items:center;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px}.dm-search[_ngcontent-%COMP%]:focus-within{border-color:var(--mat-sys-primary)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;border:0;outline:0;background:transparent;padding:8px 36px;font:400 .875rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--mat-sys-on-surface-variant)}.dm-search-icon[_ngcontent-%COMP%]{position:absolute;left:10px;pointer-events:none;font-size:18px;color:var(--mat-sys-on-surface-variant)}.dm-search-clear[_ngcontent-%COMP%]{position:absolute;right:6px;background:transparent;border:0;cursor:pointer;color:var(--mat-sys-on-surface-variant);width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.dm-search-clear[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-search-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.dm-chips[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:2px;border-radius:10px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);gap:2px}.dm-chips-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant);padding:0 .5rem 0 .25rem}.dm-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:5px 10px;border-radius:8px;background:transparent;border:0;color:var(--mat-sys-on-surface-variant);cursor:pointer;font:500 .8125rem/1rem Roboto}.dm-chip[_ngcontent-%COMP%]:hover{color:var(--mat-sys-on-surface)}.dm-chip.active[_ngcontent-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-primary);box-shadow:var(--mat-sys-level1)}.dm-cards[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.dm-hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:10px;background:color-mix(in oklch,var(--mat-sys-tertiary) 10%,transparent);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 24%,transparent);color:var(--mat-sys-on-surface);font:400 .8125rem/1.25rem Roboto}.dm-hint[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px;color:var(--mat-sys-tertiary)}.dm-hint[_ngcontent-%COMP%] .dm-link[_ngcontent-%COMP%]{background:transparent;border:0;padding:0;color:var(--mat-sys-primary);cursor:pointer;font:500 .8125rem/1.25rem Roboto;text-decoration:underline}.dm-panel[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low)!important;border:1px solid var(--mat-sys-outline-variant);border-radius:14px!important;overflow:hidden;box-shadow:none!important}.dm-panel.mat-expanded[_ngcontent-%COMP%]{box-shadow:var(--mat-sys-level1)!important} .dm-panel .mat-expansion-panel-header{padding:0 1rem;height:56px;background:var(--mat-sys-surface-container-low)} .dm-panel .mat-expansion-panel-header:hover{background:var(--mat-sys-surface-container)!important} .dm-panel .mat-expansion-panel-body{padding:0 1rem 1rem} .dm-panel .mat-expansion-panel-content{background:var(--mat-sys-surface-container-low)}.ac[_ngcontent-%COMP%]{width:4px;height:24px;border-radius:2px;margin-right:.5rem}.ttl[_ngcontent-%COMP%]{font:500 .9375rem/1.25rem Roboto;display:inline-flex;align-items:center;gap:.5rem}.hint[_ngcontent-%COMP%]{font:400 .75rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);margin-left:.5rem}mat-panel-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}mat-panel-description[_ngcontent-%COMP%]{justify-content:flex-end;color:var(--mat-sys-on-surface-variant)}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;font:600 .75rem/1rem Roboto;background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent);margin-left:.25rem}.lnk[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.125rem;color:var(--mat-sys-primary);text-decoration:none;font:500 .8125rem/1.25rem Roboto}.lnk[_ngcontent-%COMP%]:hover{text-decoration:underline}.lnk[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.rows[_ngcontent-%COMP%]{display:flex;flex-direction:column}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,2fr) auto;align-items:center;gap:.75rem;border-bottom:1px solid var(--mat-sys-outline-variant);border-left:3px solid transparent;padding:.5rem .25rem .5rem .5rem}.row.is-warning[_ngcontent-%COMP%]{border-left-color:color-mix(in oklch,var(--mat-sys-tertiary) 70%,transparent);background:color-mix(in oklch,var(--mat-sys-tertiary) 4%,transparent)}.row.is-warning[_ngcontent-%COMP%] .code[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 18%,transparent);color:var(--mat-sys-tertiary)}.row.is-lint[_ngcontent-%COMP%]{border-left-color:color-mix(in oklch,var(--mat-sys-secondary) 70%,transparent);background:color-mix(in oklch,var(--mat-sys-secondary) 4%,transparent)}.row.is-lint[_ngcontent-%COMP%] .code[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 18%,transparent);color:var(--mat-sys-secondary)}.rows-nofile[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{grid-template-columns:auto minmax(0,1fr) auto}.row[_ngcontent-%COMP%]:last-child{border-bottom:0}.row[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.loc[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.loc[_ngcontent-%COMP%]:hover{text-decoration:underline}.dim[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.ln[_ngcontent-%COMP%]{justify-self:end}.code[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:1px 8px;border-radius:6px;background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);color:var(--mat-sys-tertiary);border:1px solid color-mix(in oklch,var(--mat-sys-tertiary) 28%,transparent);font-weight:500}.tool-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:2px 10px;border-radius:6px;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface);border:1px solid var(--mat-sys-outline-variant);font:600 .8125rem/1.125rem Roboto;text-transform:lowercase;letter-spacing:.02rem}.tool-chip[data-tool=esbuild][_ngcontent-%COMP%], .tool-chip[data-tool=vite][_ngcontent-%COMP%]{color:var(--mat-sys-primary);border-color:color-mix(in oklch,var(--mat-sys-primary) 36%,transparent)}.tool-chip[data-tool=jest][_ngcontent-%COMP%], .tool-chip[data-tool=nx][_ngcontent-%COMP%]{color:var(--mat-sys-secondary);border-color:color-mix(in oklch,var(--mat-sys-secondary) 36%,transparent)}.tool-chip[data-tool=storybook][_ngcontent-%COMP%], .tool-chip[data-tool=webpack][_ngcontent-%COMP%]{color:var(--mat-sys-tertiary);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 36%,transparent)}.tool-chip[data-tool=node][_ngcontent-%COMP%], .tool-chip[data-tool=typescript][_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cnt[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:500 .75rem/1rem Roboto;justify-self:end}.dm-card-sk[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden}.dm-sk-accent[_ngcontent-%COMP%]{height:4px;background:var(--mat-sys-surface-container)}.dm-sk-body[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.dm-empty-actions[_ngcontent-%COMP%]{margin-top:.75rem}.dm-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:6px 14px;border-radius:10px;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);text-decoration:none;font:500 .875rem/1.25rem Roboto}.dm-link-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}@media(max-width:760px){.row[_ngcontent-%COMP%]{grid-template-columns:1fr;gap:.25rem}.ln[_ngcontent-%COMP%], .cnt[_ngcontent-%COMP%]{justify-self:start}}"],changeDetection:0})};export{ie as ErrorsPanelComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as $,h as A,j as L,k as B,l as K,m as j}from"./chunk-2QORICNU.js";import{c as z}from"./chunk-JODWQVMA.js";import{a as I,e as N,f as D,h as R}from"./chunk-42QQHEGP.js";import"./chunk-BKYXU3OY.js";import{d as F}from"./chunk-6CP6NCA6.js";import"./chunk-532NB4ME.js";import{Ac as E,Db as y,Fb as x,Gb as C,Ib as O,Jb as f,Kb as h,Lb as g,Mb as a,Nb as o,Ob as T,Tb as k,Vb as u,Xb as d,_a as r,ea as w,hc as b,ja as v,jc as l,ka as _,kc as c,mc as S,oc as V,pb as M,ta as p,ub as P}from"./chunk-H3HRZLHG.js";var G=(i,t)=>t.key,H=(i,t)=>t.name;function Q(i,t){if(i&1){let e=k();a(0,"button",17),u("click",function(){let s=v(e).$implicit,m=d();return _(m.setSince(s.key))}),l(1),o()}if(i&2){let e=t.$implicit,n=d();b("active",n.since()===e.key),r(),c(e.label)}}function U(i,t){if(i&1&&(a(0,"option",11),l(1),o()),i&2){let e=t.$implicit;g("ngValue",e.name),r(),c(e.name)}}function X(i,t){if(i&1){let e=k();a(0,"button",18),u("click",function(){let s=v(e).$implicit,m=d();return _(m.toggleKind(s))}),l(1),o()}if(i&2){let e=t.$implicit,n=d();b("active",n.kinds().has(e)),y("data-kind",e),r(),c(n.kindLabel[e])}}function Y(i,t){i&1&&T(0,"dm-empty",14)}function Z(i,t){if(i&1){let e=k();a(0,"div",20),u("click",function(){let s=v(e).$implicit,m=d(2);return _(m.select(s))}),a(1,"span",21),l(2),o(),a(3,"span",22),l(4),o(),a(5,"span",23),l(6),o(),a(7,"span",24),l(8),o()()}if(i&2){let e=t.$implicit,n=d(2);y("data-kind",e.kind),r(),g("title",n.fullTs(e.ts)),r(),c(n.rel(e.ts)),r(),y("data-kind",e.kind),r(),c(n.kindLabel[e.kind]||e.kind),r(2),c(e.app),r(2),c(e.summary)}}function ee(i,t){if(i&1&&(a(0,"cdk-virtual-scroll-viewport",15),P(1,Z,9,7,"div",19),o()),i&2){let e=d();r(),g("cdkVirtualForOf",e.filtered())("cdkVirtualForTrackBy",e.trackTs)}}function te(i,t){if(i&1){let e=k();a(0,"aside",16)(1,"header")(2,"div")(3,"h2"),l(4),o(),a(5,"div",25),l(6),o()(),a(7,"button",26),u("click",function(){v(e);let s=d();return _(s.select(null))}),a(8,"span",5),l(9,"close"),o()()(),a(10,"pre"),l(11),o()()}if(i&2){let e=t,n=d();r(4),S("",e.app," \xB7 ",n.kindLabel[e.kind]||e.kind),r(2),c(n.fullTs(e.ts)),r(5),c(n.payloadJson(e.payload))}}var q={status:"status",error:"error",warning:"warning",lint:"lint",health:"health",bundle:"bundle",compile:"compile",task:"task",restart:"restart"},J=Object.keys(q),ne=[{key:"1h",label:"1h"},{key:"24h",label:"24h"},{key:"7d",label:"7d"}],W=class i{api=w(F);allKinds=J;kindLabel=q;sinceOpts=ne;rows=p([]);loading=p(!1);since=p("24h");app=p("");kinds=p(new Set(J));selected=p(null);filtered=E(()=>{let t=this.kinds();return this.rows().filter(e=>t.has(e.kind))});ngOnInit(){this.refresh()}async refresh(){this.loading.set(!0);try{let t=await this.api.getTimeline({since:this.since(),app:this.app()||void 0});this.rows.set(t)}finally{this.loading.set(!1)}}setSince(t){this.since.set(t),this.refresh()}setApp(t){this.app.set(t),this.refresh()}toggleKind(t){let e=new Set(this.kinds());e.has(t)?e.delete(t):e.add(t),this.kinds.set(e)}select(t){this.selected.set(t)}rel(t){let e=Math.max(0,Math.floor((Date.now()-t)/1e3));if(e<60)return`${e}s ago`;let n=Math.floor(e/60);if(n<60)return`${n}m ago`;let s=Math.floor(n/60);return s<24?`${s}h ago`:`${Math.floor(s/24)}d ago`}fullTs(t){return new Date(t).toISOString()}payloadJson(t){try{return JSON.stringify(t,null,2)}catch{return String(t)}}trackTs=(t,e)=>e.ts;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=M({type:i,selectors:[["dm-timeline-page"]],decls:28,vars:11,consts:[[1,"dm-page"],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-header-actions"],["type","button","title","Refresh",1,"ib",3,"click","disabled"],[1,"material-symbols-outlined"],[1,"dm-toolbar"],["role","tablist","aria-label","Time window",1,"dm-chips"],["type","button",1,"dm-chip",3,"active"],[1,"dm-app-pick"],[3,"ngModelChange","ngModel"],[3,"ngValue"],["role","group","aria-label","Kinds",1,"dm-chips"],["type","button",1,"dm-chip","dm-kind-chip",3,"active"],["title","No events in window","hint","Widen the window or pick different kinds. Status / error / lint / bundle / task all live here."],["itemSize","44",1,"dm-tl-viewport"],[1,"dm-tl-drawer"],["type","button",1,"dm-chip",3,"click"],["type","button",1,"dm-chip","dm-kind-chip",3,"click"],["class","dm-tl-row",3,"click",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy"],[1,"dm-tl-row",3,"click"],[1,"dm-tl-ts",3,"title"],[1,"dm-tl-kind","dm-kind-chip"],[1,"dm-tl-app"],[1,"dm-tl-summary"],[1,"dm-tl-drawer-ts"],["type","button","title","Close",1,"ib",3,"click"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"header",1)(2,"div")(3,"h1"),l(4,"Timeline"),o(),a(5,"div",2),l(6),o()(),a(7,"div",3)(8,"button",4),u("click",function(){return n.refresh()}),a(9,"span",5),l(10,"refresh"),o()()()(),a(11,"div",6)(12,"div",7),f(13,Q,2,3,"button",8,G),o(),a(15,"label",9),l(16," App "),a(17,"select",10),u("ngModelChange",function(m){return n.setApp(m)}),a(18,"option",11),l(19,"All"),o(),f(20,U,2,2,"option",11,H),o()(),a(22,"div",12),f(23,X,2,4,"button",13,O),o()(),x(25,Y,1,0,"dm-empty",14)(26,ee,2,2,"cdk-virtual-scroll-viewport",15),x(27,te,12,4,"aside",16),o()),e&2){let s;r(6),V(" ",n.filtered().length," of ",n.rows().length," events \xB7 window ",n.since()," \xB7 app ",n.app()||"all"," "),r(2),g("disabled",n.loading()),r(),b("spin",n.loading()),r(4),h(n.sinceOpts),r(4),g("ngModel",n.app()),r(),g("ngValue",""),r(2),h(n.api.apps()),r(3),h(n.allKinds),r(2),C(n.filtered().length===0&&!n.loading()?25:26),r(2),C((s=n.selected())?27:-1,s)}},dependencies:[j,B,K,L,$,A,R,I,D,N,z],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.dm-page-sub[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:500 .8125rem/1.25rem Roboto}.dm-toolbar[_ngcontent-%COMP%]{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-bottom:1rem}.dm-chips[_ngcontent-%COMP%]{display:inline-flex;gap:4px;flex-wrap:wrap}.dm-chip[_ngcontent-%COMP%]{padding:4px 12px;border-radius:999px;background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border:1px solid var(--mat-sys-outline-variant);cursor:pointer;font:500 .75rem/1rem Roboto}.dm-chip.active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,var(--mat-sys-surface));color:var(--mat-sys-primary);border-color:color-mix(in oklch,var(--mat-sys-primary) 40%,transparent)}.dm-app-pick[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;font:500 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface-variant)}.dm-app-pick[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{padding:4px 8px;border-radius:8px;background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface);border:1px solid var(--mat-sys-outline-variant);font:500 .8125rem/1.25rem Roboto}.dm-tl-viewport[_ngcontent-%COMP%]{height:calc(100vh - 240px);border:1px solid var(--mat-sys-outline-variant);border-radius:12px;background:var(--mat-sys-surface-container-lowest)}.dm-tl-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:80px 90px 160px 1fr;align-items:center;gap:.75rem;padding:10px 14px;border-bottom:1px solid color-mix(in oklch,var(--mat-sys-outline-variant) 50%,transparent);cursor:pointer;font:500 .8125rem/1.25rem Roboto Mono,ui-monospace,monospace}.dm-tl-row[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.dm-tl-ts[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-tl-kind[_ngcontent-%COMP%]{width:max-content;padding:2px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto}.dm-tl-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-tl-summary[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-kind-chip[data-kind=status][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);color:var(--mat-sys-primary)}.dm-kind-chip[data-kind=error][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 18%,transparent);color:var(--mat-sys-error)}.dm-kind-chip[data-kind=warning][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 18%,transparent);color:var(--mat-sys-tertiary)}.dm-kind-chip[data-kind=lint][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 18%,transparent);color:var(--mat-sys-secondary)}.dm-kind-chip[data-kind=health][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 10%,transparent);color:var(--mat-sys-primary)}.dm-kind-chip[data-kind=bundle][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 10%,transparent);color:var(--mat-sys-tertiary)}.dm-kind-chip[data-kind=compile][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 10%,transparent);color:var(--mat-sys-secondary)}.dm-kind-chip[data-kind=task][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-outline) 12%,transparent);color:var(--mat-sys-on-surface-variant)}.dm-kind-chip[data-kind=restart][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 10%,transparent);color:var(--mat-sys-error)}.dm-tl-drawer[_ngcontent-%COMP%]{position:fixed;right:1rem;top:80px;bottom:1rem;width:420px;background:var(--mat-sys-surface-container-high);border:1px solid var(--mat-sys-outline-variant);border-radius:12px;padding:1rem;overflow:auto;box-shadow:var(--mat-sys-level3);z-index:20}.dm-tl-drawer[_ngcontent-%COMP%] header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.dm-tl-drawer[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font:500 1rem/1.5rem Roboto;margin:0}.dm-tl-drawer-ts[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:500 .75rem/1rem Roboto}.dm-tl-drawer[_ngcontent-%COMP%] pre[_ngcontent-%COMP%]{white-space:pre-wrap;word-break:break-word;font:500 .75rem/1.1rem Roboto Mono,ui-monospace,monospace;color:var(--mat-sys-on-surface);margin:0}.ib[_ngcontent-%COMP%]{width:32px;height:32px;background:transparent;border:0;border-radius:999px;color:var(--mat-sys-on-surface-variant);cursor:pointer}.ib[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-highest)}.spin[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dm-spin 1s linear infinite}@keyframes _ngcontent-%COMP%_dm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"],changeDetection:0})};export{W as TimelinePageComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{ca as _,h as p,o as v,q as D}from"./chunk-H3HRZLHG.js";var h=(function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t})(h||{}),m,s;function b(){if(s==null){if(typeof document!="object"||!document||typeof Element!="function"||!Element)return s=!1,s;if(document.documentElement?.style&&"scrollBehavior"in document.documentElement.style)s=!0;else{let t=Element.prototype.scrollTo;t?s=!/\{\s*\[native code\]\s*\}/.test(t.toString()):s=!1}}return s}function y(){if(typeof document!="object"||!document)return h.NORMAL;if(m==null){let t=document.createElement("div"),e=t.style;t.dir="rtl",e.width="1px",e.overflow="auto",e.visibility="hidden",e.pointerEvents="none",e.position="absolute";let o=document.createElement("div"),n=o.style;n.width="2px",n.height="1px",t.appendChild(o),document.body.appendChild(t),m=h.NORMAL,t.scrollLeft===0&&(t.scrollLeft=1,m=t.scrollLeft===0?h.NEGATED:h.INVERTED),t.remove()}return m}var a=class{};function T(t){return t&&typeof t.connect=="function"&&!(t instanceof p)}var w=class extends a{_data;constructor(e){super(),this._data=e}connect(){return D(this._data)?this._data:v(this._data)}disconnect(){}},E=(function(t){return t[t.REPLACED=0]="REPLACED",t[t.INSERTED=1]="INSERTED",t[t.MOVED=2]="MOVED",t[t.REMOVED=3]="REMOVED",t})(E||{}),S=new _("_ViewRepeater"),C=class{viewCacheSize=20;_viewCache=[];applyChanges(e,o,n,l,c){e.forEachOperation((i,u,r)=>{let d,f;if(i.previousIndex==null){let V=()=>n(i,u,r);d=this._insertView(V,r,o,l(i)),f=d?E.INSERTED:E.REPLACED}else r==null?(this._detachAndCacheView(u,o),f=E.REMOVED):(d=this._moveView(u,r,o,l(i)),f=E.MOVED);c&&c({context:d?.context,operation:f,record:i})})}detach(){for(let e of this._viewCache)e.destroy();this._viewCache=[]}_insertView(e,o,n,l){let c=this._insertViewFromCache(o,n);if(c){c.context.$implicit=l;return}let i=e();return n.createEmbeddedView(i.templateRef,i.context,i.index)}_detachAndCacheView(e,o){let n=o.detach(e);this._maybeCacheView(n,o)}_moveView(e,o,n,l){let c=n.get(e);return n.move(c,o),c.context.$implicit=l,c}_maybeCacheView(e,o){if(this._viewCache.length<this.viewCacheSize)this._viewCache.push(e);else{let n=o.indexOf(e);n===-1?e.destroy():o.remove(n)}}_insertViewFromCache(e,o){let n=this._viewCache.pop();return n&&o.insert(n,e),n||null}};export{h as a,b,y as c,T as d,w as e,S as f,C as g};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Be}from"./chunk-6CP6NCA6.js";import{z as K}from"./chunk-DNHNU64I.js";import{a as A,b as He,c as Ue,i as ke,j as xe,k as je}from"./chunk-532NB4ME.js";import{$ as h,$a as R,Ca as pe,Cc as Le,Db as De,E as le,Ea as me,Fa as Y,Ga as ge,Ha as U,I as ue,Ja as Z,Jc as Fe,K as de,Ka as q,Kc as Pe,La as M,Ma as T,Na as ve,Oa as _e,Pa as Ee,Q as fe,Qa as Se,Ra as ye,Sa as Ie,Ta as we,Ua as p,X as P,Y as m,Yb as Ae,Zb as be,a as W,aa as H,ab as Ce,bb as Me,ca as E,d as se,da as c,ea as g,eb as D,ga as he,hb as Te,hc as Oe,ic as Ne,o as w,oa as f,p as ae,pb as Re,qa as S,qb as k,t as C,z as ce}from"./chunk-H3HRZLHG.js";var b=class{_doc;constructor(o){this._doc=o}manager},x=(()=>{class r extends b{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,n,i){return e.addEventListener(t,n,i),()=>this.removeEventListener(e,t,n,i)}removeEventListener(e,t,n,i){return e.removeEventListener(t,n,i)}static \u0275fac=function(t){return new(t||r)(c(f))};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})(),z=new E(""),te=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(s=>{s.manager=this});let n=e.filter(s=>!(s instanceof x));this._plugins=n.slice().reverse();let i=e.find(s=>s instanceof x);i&&this._plugins.push(i)}addEventListener(e,t,n,i){return this._findPluginFor(t).addEventListener(e,t,n,i)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(i=>i.supports(e)),!t)throw new m(5101,!1);return this._eventNameToPlugin.set(e,t),t}static \u0275fac=function(t){return new(t||r)(c(z),c(D))};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})(),X="ng-app-id";function ze(r){for(let o of r)o.remove()}function Ve(r,o){let e=o.createElement("style");return e.textContent=r,e}function tt(r,o,e,t){let n=r.head?.querySelectorAll(`style[${X}="${o}"],link[${X}="${o}"]`);if(n)for(let i of n)i.removeAttribute(X),i instanceof HTMLLinkElement?t.set(i.href.slice(i.href.lastIndexOf("/")+1),{usage:0,elements:[i]}):i.textContent&&e.set(i.textContent,{usage:0,elements:[i]})}function Q(r,o){let e=o.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var ne=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,n,i={}){this.doc=e,this.appId=t,this.nonce=n,tt(e,t,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,t){for(let n of e)this.addUsage(n,this.inline,Ve);t?.forEach(n=>this.addUsage(n,this.external,Q))}removeStyles(e,t){for(let n of e)this.removeUsage(n,this.inline);t?.forEach(n=>this.removeUsage(n,this.external))}addUsage(e,t,n){let i=t.get(e);i?i.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,n(e,this.doc)))})}removeUsage(e,t){let n=t.get(e);n&&(n.usage--,n.usage<=0&&(ze(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])ze(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[t,{elements:n}]of this.inline)n.push(this.addElement(e,Ve(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,Q(t,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,t){return this.nonce&&t.setAttribute("nonce",this.nonce),e.appendChild(t)}static \u0275fac=function(t){return new(t||r)(c(f),c(Y),c(Z,8),c(U))};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})(),J={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/Math/MathML"},re=/%COMP%/g;var Ge="%COMP%",nt=`_nghost-${Ge}`,rt=`_ngcontent-${Ge}`,ot=!0,it=new E("",{providedIn:"root",factory:()=>ot});function st(r){return rt.replace(re,r)}function at(r){return nt.replace(re,r)}function We(r,o){return o.map(e=>e.replace(re,r))}var oe=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,t,n,i,s,a,u=null,l=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=n,this.removeStylesOnCompDestroy=i,this.doc=s,this.ngZone=a,this.nonce=u,this.tracingService=l,this.platformIsServer=!1,this.defaultRenderer=new O(e,s,a,this.platformIsServer,this.tracingService)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let n=this.getOrCreateRenderer(e,t);return n instanceof j?n.applyToHost(e):n instanceof N&&n.applyStyles(),n}getOrCreateRenderer(e,t){let n=this.rendererByCompId,i=n.get(t.id);if(!i){let s=this.doc,a=this.ngZone,u=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,y=this.platformIsServer,_=this.tracingService;switch(t.encapsulation){case q.Emulated:i=new j(u,l,t,this.appId,d,s,a,y,_);break;case q.ShadowDom:return new ee(u,l,e,t,s,a,this.nonce,y,_);default:i=new N(u,l,t,d,s,a,y,_);break}n.set(t.id,i)}return i}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(t){return new(t||r)(c(te),c(ne),c(Y),c(it),c(f),c(D),c(Z),c(Me,8))};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})(),O=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(o,e,t,n,i){this.eventManager=o,this.doc=e,this.ngZone=t,this.platformIsServer=n,this.tracingService=i}destroy(){}destroyNode=null;createElement(o,e){return e?this.doc.createElementNS(J[e]||e,o):this.doc.createElement(o)}createComment(o){return this.doc.createComment(o)}createText(o){return this.doc.createTextNode(o)}appendChild(o,e){($e(o)?o.content:o).appendChild(e)}insertBefore(o,e,t){o&&($e(o)?o.content:o).insertBefore(e,t)}removeChild(o,e){e.remove()}selectRootElement(o,e){let t=typeof o=="string"?this.doc.querySelector(o):o;if(!t)throw new m(-5104,!1);return e||(t.textContent=""),t}parentNode(o){return o.parentNode}nextSibling(o){return o.nextSibling}setAttribute(o,e,t,n){if(n){e=n+":"+e;let i=J[n];i?o.setAttributeNS(i,e,t):o.setAttribute(e,t)}else o.setAttribute(e,t)}removeAttribute(o,e,t){if(t){let n=J[t];n?o.removeAttributeNS(n,e):o.removeAttribute(`${t}:${e}`)}else o.removeAttribute(e)}addClass(o,e){o.classList.add(e)}removeClass(o,e){o.classList.remove(e)}setStyle(o,e,t,n){n&(R.DashCase|R.Important)?o.style.setProperty(e,t,n&R.Important?"important":""):o.style[e]=t}removeStyle(o,e,t){t&R.DashCase?o.style.removeProperty(e):o.style[e]=""}setProperty(o,e,t){o!=null&&(o[e]=t)}setValue(o,e){o.nodeValue=e}listen(o,e,t,n){if(typeof o=="string"&&(o=A().getGlobalEventTarget(this.doc,o),!o))throw new m(5102,!1);let i=this.decoratePreventDefault(t);return this.tracingService?.wrapEventListener&&(i=this.tracingService.wrapEventListener(o,e,i)),this.eventManager.addEventListener(o,e,i,n)}decoratePreventDefault(o){return e=>{if(e==="__ngUnwrap__")return o;o(e)===!1&&e.preventDefault()}}};function $e(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var ee=class extends O{sharedStylesHost;hostEl;shadowRoot;constructor(o,e,t,n,i,s,a,u,l){super(o,i,s,u,l),this.sharedStylesHost=e,this.hostEl=t,this.shadowRoot=t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let d=n.styles;d=We(n.id,d);for(let _ of d){let I=document.createElement("style");a&&I.setAttribute("nonce",a),I.textContent=_,this.shadowRoot.appendChild(I)}let y=n.getExternalStyles?.();if(y)for(let _ of y){let I=Q(_,i);a&&I.setAttribute("nonce",a),this.shadowRoot.appendChild(I)}}nodeOrShadowRoot(o){return o===this.hostEl?this.shadowRoot:o}appendChild(o,e){return super.appendChild(this.nodeOrShadowRoot(o),e)}insertBefore(o,e,t){return super.insertBefore(this.nodeOrShadowRoot(o),e,t)}removeChild(o,e){return super.removeChild(null,e)}parentNode(o){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(o)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},N=class extends O{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(o,e,t,n,i,s,a,u,l){super(o,i,s,a,u),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=n;let d=t.styles;this.styles=l?We(l,d):d,this.styleUrls=t.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&Ce.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},j=class extends N{contentAttr;hostAttr;constructor(o,e,t,n,i,s,a,u,l){let d=n+"-"+t.id;super(o,e,t,i,s,a,u,l,d),this.contentAttr=st(d),this.hostAttr=at(d)}applyToHost(o){this.applyStyles(),this.setAttribute(o,this.hostAttr,"")}createElement(o,e){let t=super.createElement(o,e);return super.setAttribute(t,this.contentAttr,""),t}};var V=class r extends Ue{supportsDOMEvents=!0;static makeCurrent(){He(new r)}onAndCancel(o,e,t,n){return o.addEventListener(e,t,n),()=>{o.removeEventListener(e,t,n)}}dispatchEvent(o,e){o.dispatchEvent(e)}remove(o){o.remove()}createElement(o,e){return e=e||this.getDefaultDocument(),e.createElement(o)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(o){return o.nodeType===Node.ELEMENT_NODE}isShadowRoot(o){return o instanceof DocumentFragment}getGlobalEventTarget(o,e){return e==="window"?window:e==="document"?o:e==="body"?o.body:null}getBaseHref(o){let e=lt();return e==null?null:ut(e)}resetBaseElement(){L=null}getUserAgent(){return window.navigator.userAgent}getCookie(o){return ke(document.cookie,o)}},L=null;function lt(){return L=L||document.head.querySelector("base"),L?L.getAttribute("href"):null}function ut(r){return new URL(r,document.baseURI).pathname}var dt=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})(),Ye=["alt","control","meta","shift"],ft={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ht={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},Ze=(()=>{class r extends b{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,t,n,i){let s=r.parseEventName(t),a=r.eventCallback(s.fullKey,n,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>A().onAndCancel(e,s.domEventName,a,i))}static parseEventName(e){let t=e.toLowerCase().split("."),n=t.shift();if(t.length===0||!(n==="keydown"||n==="keyup"))return null;let i=r._normalizeKey(t.pop()),s="",a=t.indexOf("code");if(a>-1&&(t.splice(a,1),s="code."),Ye.forEach(l=>{let d=t.indexOf(l);d>-1&&(t.splice(d,1),s+=l+".")}),s+=i,t.length!=0||i.length===0)return null;let u={};return u.domEventName=n,u.fullKey=s,u}static matchEventFullKeyCode(e,t){let n=ft[e.key]||e.key,i="";return t.indexOf("code.")>-1&&(n=e.code,i="code."),n==null||!n?!1:(n=n.toLowerCase(),n===" "?n="space":n==="."&&(n="dot"),Ye.forEach(s=>{if(s!==n){let a=ht[s];a(e)&&(i+=s+".")}}),i+=n,i===t)}static eventCallback(e,t,n){return i=>{r.matchEventFullKeyCode(i,e)&&n.runGuarded(()=>t(i))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(t){return new(t||r)(c(f))};static \u0275prov=h({token:r,factory:r.\u0275fac})}return r})();function pt(r,o,e){let t=W({rootComponent:r,platformRef:e?.platformRef},mt(o));return Fe(t)}function mt(r){return{appProviders:[...St,...r?.providers??[]],platformProviders:Et}}function gt(){V.makeCurrent()}function vt(){return new S}function _t(){return me(document),document}var Et=[{provide:U,useValue:je},{provide:ge,useValue:gt,multi:!0},{provide:f,useFactory:_t}];var St=[{provide:he,useValue:"root"},{provide:S,useFactory:vt},{provide:z,useClass:x,multi:!0,deps:[f]},{provide:z,useClass:Ze,multi:!0,deps:[f]},oe,ne,te,{provide:Te,useExisting:oe},{provide:xe,useClass:dt},[]];var On=(()=>{class r{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(t){return new(t||r)(c(f))};static \u0275prov=h({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var ie=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275prov=h({token:r,factory:function(t){let n=null;return t?n=new(t||r):n=c(wt),n},providedIn:"root"})}return r})(),wt=(()=>{class r extends ie{_doc;constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case p.NONE:return t;case p.HTML:return T(t,"HTML")?M(t):we(this._doc,String(t)).toString();case p.STYLE:return T(t,"Style")?M(t):t;case p.SCRIPT:if(T(t,"Script"))return M(t);throw new m(5200,!1);case p.URL:return T(t,"URL")?M(t):Ie(String(t));case p.RESOURCE_URL:if(T(t,"ResourceURL"))return M(t);throw new m(5201,!1);default:throw new m(5202,!1)}}bypassSecurityTrustHtml(e){return ve(e)}bypassSecurityTrustStyle(e){return _e(e)}bypassSecurityTrustScript(e){return Ee(e)}bypassSecurityTrustUrl(e){return Se(e)}bypassSecurityTrustResourceUrl(e){return ye(e)}static \u0275fac=function(t){return new(t||r)(c(f))};static \u0275prov=h({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var $;function Mt(){if($===void 0&&($=null,typeof window<"u")){let r=window;r.trustedTypes!==void 0&&($=r.trustedTypes.createPolicy("angular#components",{createHTML:o=>o}))}return $}function F(r){return Mt()?.createHTML(r)||r}function qe(r){return Error(`Unable to find icon with the name "${r}"`)}function Tt(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function Ke(r){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${r}".`)}function Xe(r){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${r}".`)}var v=class{url;svgText;options;svgElement;constructor(o,e,t){this.url=o,this.svgText=e,this.options=t}},Qe=(()=>{class r{_httpClient;_sanitizer;_errorHandler;_document;_svgIconConfigs=new Map;_iconSetConfigs=new Map;_cachedIconsByUrl=new Map;_inProgressUrlFetches=new Map;_fontCssClassesByAlias=new Map;_resolvers=[];_defaultFontSetClass=["material-icons","mat-ligature-font"];constructor(e,t,n,i){this._httpClient=e,this._sanitizer=t,this._errorHandler=i,this._document=n}addSvgIcon(e,t,n){return this.addSvgIconInNamespace("",e,t,n)}addSvgIconLiteral(e,t,n){return this.addSvgIconLiteralInNamespace("",e,t,n)}addSvgIconInNamespace(e,t,n,i){return this._addSvgIconConfig(e,t,new v(n,null,i))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,t,n,i){let s=this._sanitizer.sanitize(p.HTML,n);if(!s)throw Xe(n);let a=F(s);return this._addSvgIconConfig(e,t,new v("",a,i))}addSvgIconSet(e,t){return this.addSvgIconSetInNamespace("",e,t)}addSvgIconSetLiteral(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}addSvgIconSetInNamespace(e,t,n){return this._addSvgIconSetConfig(e,new v(t,null,n))}addSvgIconSetLiteralInNamespace(e,t,n){let i=this._sanitizer.sanitize(p.HTML,t);if(!i)throw Xe(t);let s=F(i);return this._addSvgIconSetConfig(e,new v("",s,n))}registerFontClassAlias(e,t=e){return this._fontCssClassesByAlias.set(e,t),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){let t=this._sanitizer.sanitize(p.RESOURCE_URL,e);if(!t)throw Ke(e);let n=this._cachedIconsByUrl.get(t);return n?w(G(n)):this._loadSvgIconFromConfig(new v(e,null)).pipe(P(i=>this._cachedIconsByUrl.set(t,i)),C(i=>G(i)))}getNamedSvgIcon(e,t=""){let n=Je(t,e),i=this._svgIconConfigs.get(n);if(i)return this._getSvgFromConfig(i);if(i=this._getIconConfigFromResolvers(t,e),i)return this._svgIconConfigs.set(n,i),this._getSvgFromConfig(i);let s=this._iconSetConfigs.get(t);return s?this._getSvgFromIconSetConfigs(e,s):ae(qe(n))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?w(G(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(C(t=>G(t)))}_getSvgFromIconSetConfigs(e,t){let n=this._extractIconWithNameFromAnySet(e,t);if(n)return w(n);let i=t.filter(s=>!s.svgText).map(s=>this._loadSvgIconSetFromConfig(s).pipe(le(a=>{let l=`Loading icon set URL: ${this._sanitizer.sanitize(p.RESOURCE_URL,s.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(l)),w(null)})));return ce(i).pipe(C(()=>{let s=this._extractIconWithNameFromAnySet(e,t);if(!s)throw qe(e);return s}))}_extractIconWithNameFromAnySet(e,t){for(let n=t.length-1;n>=0;n--){let i=t[n];if(i.svgText&&i.svgText.toString().indexOf(e)>-1){let s=this._svgElementFromConfig(i),a=this._extractSvgIconFromSet(s,e,i.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(P(t=>e.svgText=t),C(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?w(null):this._fetchIcon(e).pipe(P(t=>e.svgText=t))}_extractSvgIconFromSet(e,t,n){let i=e.querySelector(`[id="${t}"]`);if(!i)return null;let s=i.cloneNode(!0);if(s.removeAttribute("id"),s.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(s,n);if(s.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(s),n);let a=this._svgElementFromString(F("<svg></svg>"));return a.appendChild(s),this._setSvgAttributes(a,n)}_svgElementFromString(e){let t=this._document.createElement("DIV");t.innerHTML=e;let n=t.querySelector("svg");if(!n)throw Error("<svg> tag not found");return n}_toSvgElement(e){let t=this._svgElementFromString(F("<svg></svg>")),n=e.attributes;for(let i=0;i<n.length;i++){let{name:s,value:a}=n[i];s!=="id"&&t.setAttribute(s,a)}for(let i=0;i<e.childNodes.length;i++)e.childNodes[i].nodeType===this._document.ELEMENT_NODE&&t.appendChild(e.childNodes[i].cloneNode(!0));return t}_setSvgAttributes(e,t){return e.setAttribute("fit",""),e.setAttribute("height","100%"),e.setAttribute("width","100%"),e.setAttribute("preserveAspectRatio","xMidYMid meet"),e.setAttribute("focusable","false"),t&&t.viewBox&&e.setAttribute("viewBox",t.viewBox),e}_fetchIcon(e){let{url:t,options:n}=e,i=n?.withCredentials??!1;if(!this._httpClient)throw Tt();if(t==null)throw Error(`Cannot fetch icon from URL "${t}".`);let s=this._sanitizer.sanitize(p.RESOURCE_URL,t);if(!s)throw Ke(t);let a=this._inProgressUrlFetches.get(s);if(a)return a;let u=this._httpClient.get(s,{responseType:"text",withCredentials:i}).pipe(C(l=>F(l)),de(()=>this._inProgressUrlFetches.delete(s)),fe());return this._inProgressUrlFetches.set(s,u),u}_addSvgIconConfig(e,t,n){return this._svgIconConfigs.set(Je(e,t),n),this}_addSvgIconSetConfig(e,t){let n=this._iconSetConfigs.get(e);return n?n.push(t):this._iconSetConfigs.set(e,[t]),this}_svgElementFromConfig(e){if(!e.svgElement){let t=this._svgElementFromString(e.svgText);this._setSvgAttributes(t,e.options),e.svgElement=t}return e.svgElement}_getIconConfigFromResolvers(e,t){for(let n=0;n<this._resolvers.length;n++){let i=this._resolvers[n](t,e);if(i)return Rt(i)?new v(i.url,null,i.options):new v(i,null)}}static \u0275fac=function(t){return new(t||r)(c(Be,8),c(ie),c(f,8),c(S))};static \u0275prov=h({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();function G(r){return r.cloneNode(!0)}function Je(r,o){return r+":"+o}function Rt(r){return!!(r.url&&r.options)}var Dt=["*"],At=new E("MAT_ICON_DEFAULT_OPTIONS"),bt=new E("mat-icon-location",{providedIn:"root",factory:Ot});function Ot(){let r=g(f),o=r?r.location:null;return{getPathname:()=>o?o.pathname+o.search:""}}var et=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Nt=et.map(r=>`[${r}]`).join(", "),Lt=/^url\(['"]?#(.*?)['"]?\)$/,Xn=(()=>{class r{_elementRef=g(pe);_iconRegistry=g(Qe);_location=g(bt);_errorHandler=g(S);_defaultColor;get color(){return this._color||this._defaultColor}set color(e){this._color=e}_color;inline=!1;get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}_svgIcon;get fontSet(){return this._fontSet}set fontSet(e){let t=this._cleanupFontValue(e);t!==this._fontSet&&(this._fontSet=t,this._updateFontIconClasses())}_fontSet;get fontIcon(){return this._fontIcon}set fontIcon(e){let t=this._cleanupFontValue(e);t!==this._fontIcon&&(this._fontIcon=t,this._updateFontIconClasses())}_fontIcon;_previousFontSetClass=[];_previousFontIconClass;_svgName;_svgNamespace;_previousPath;_elementsWithExternalReferences;_currentIconFetch=se.EMPTY;constructor(){let e=g(new Le("aria-hidden"),{optional:!0}),t=g(At,{optional:!0});t&&(t.color&&(this.color=this._defaultColor=t.color),t.fontSet&&(this.fontSet=t.fontSet)),e||this._elementRef.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];let t=e.split(":");switch(t.length){case 1:return["",t[0]];case 2:return t;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){let e=this._elementsWithExternalReferences;if(e&&e.size){let t=this._location.getPathname();t!==this._previousPath&&(this._previousPath=t,this._prependPathToReferences(t))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();let t=this._location.getPathname();this._previousPath=t,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(t),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){let e=this._elementRef.nativeElement,t=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();t--;){let n=e.childNodes[t];(n.nodeType!==1||n.nodeName.toLowerCase()==="svg")&&n.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let e=this._elementRef.nativeElement,t=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(n=>n.length>0);this._previousFontSetClass.forEach(n=>e.classList.remove(n)),t.forEach(n=>e.classList.add(n)),this._previousFontSetClass=t,this.fontIcon!==this._previousFontIconClass&&!t.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return typeof e=="string"?e.trim().split(" ")[0]:e}_prependPathToReferences(e){let t=this._elementsWithExternalReferences;t&&t.forEach((n,i)=>{n.forEach(s=>{i.setAttribute(s.name,`url('${e}#${s.value}')`)})})}_cacheChildrenWithExternalReferences(e){let t=e.querySelectorAll(Nt),n=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let i=0;i<t.length;i++)et.forEach(s=>{let a=t[i],u=a.getAttribute(s),l=u?u.match(Lt):null;if(l){let d=n.get(a);d||(d=[],n.set(a,d)),d.push({name:s,value:l[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){let[t,n]=this._splitIconName(e);t&&(this._svgNamespace=t),n&&(this._svgName=n),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(n,t).pipe(ue(1)).subscribe(i=>this._setSvgElement(i),i=>{let s=`Error retrieving icon ${t}:${n}! ${i.message}`;this._errorHandler.handleError(new Error(s))})}}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=Re({type:r,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(t,n){t&2&&(De("data-mat-icon-type",n._usingFontIcon()?"font":"svg")("data-mat-icon-name",n._svgName||n.fontIcon)("data-mat-icon-namespace",n._svgNamespace||n.fontSet)("fontIcon",n._usingFontIcon()?n.fontIcon:null),Ne(n.color?"mat-"+n.color:""),Oe("mat-icon-inline",n.inline)("mat-icon-no-color",n.color!=="primary"&&n.color!=="accent"&&n.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",Pe],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:Dt,decls:1,vars:0,template:function(t,n){t&1&&(Ae(),be(0))},styles:[`mat-icon,mat-icon.mat-primary,mat-icon.mat-accent,mat-icon.mat-warn{color:var(--mat-icon-color, inherit)}.mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return r})(),Jn=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=k({type:r});static \u0275inj=H({imports:[K,K]})}return r})();export{oe as a,pt as b,On as c,At as d,Xn as e,Jn as f};
|