daimon 0.8.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/README.md +48 -1
  3. package/dist/cli.js +91 -86
  4. package/dist/dashboard/browser/chunk-3EPFSBJ2.js +2 -0
  5. package/dist/dashboard/browser/{chunk-PJPGLT4T.js → chunk-3ZFFKHPU.js} +1 -1
  6. package/dist/dashboard/browser/{chunk-QSBOKS53.js → chunk-4KVYA2AQ.js} +1 -1
  7. package/dist/dashboard/browser/chunk-55AO3FMG.js +1 -0
  8. package/dist/dashboard/browser/{chunk-V2KNRAE4.js → chunk-66VYPESU.js} +1 -1
  9. package/dist/dashboard/browser/chunk-6MTVWBQQ.js +2 -0
  10. package/dist/dashboard/browser/chunk-6Z4FDREI.js +1 -0
  11. package/dist/dashboard/browser/{chunk-7NPLP3QD.js → chunk-7LKM244H.js} +1 -1
  12. package/dist/dashboard/browser/chunk-ACPSBF55.js +1 -0
  13. package/dist/dashboard/browser/{chunk-OHX55ZU4.js → chunk-AGN2F6JP.js} +1 -1
  14. package/dist/dashboard/browser/chunk-B2DPS6BL.js +1 -0
  15. package/dist/dashboard/browser/{chunk-3WKRVGPT.js → chunk-BBTQXZIS.js} +1 -1
  16. package/dist/dashboard/browser/chunk-CIQNXWDY.js +1 -0
  17. package/dist/dashboard/browser/chunk-EBGPIJ7S.js +1 -0
  18. package/dist/dashboard/browser/{chunk-LBRCWYRN.js → chunk-F3FCHBFQ.js} +1 -1
  19. package/dist/dashboard/browser/chunk-FD3BW2ZN.js +1 -0
  20. package/dist/dashboard/browser/chunk-FRKUCFVI.js +1 -0
  21. package/dist/dashboard/browser/chunk-FZLMX6EY.js +1 -0
  22. package/dist/dashboard/browser/chunk-GMEW64AS.js +1 -0
  23. package/dist/dashboard/browser/chunk-HXX2OUOE.js +1 -0
  24. package/dist/dashboard/browser/chunk-HZNVO3JE.js +1 -0
  25. package/dist/dashboard/browser/chunk-JWXROQJJ.js +2 -0
  26. package/dist/dashboard/browser/chunk-K2SFF47Z.js +5 -0
  27. package/dist/dashboard/browser/chunk-K5WKBG55.js +1 -0
  28. package/dist/dashboard/browser/chunk-K6PUQAFE.js +2 -0
  29. package/dist/dashboard/browser/{chunk-NDSAQ2HK.js → chunk-KRC72WWY.js} +1 -1
  30. package/dist/dashboard/browser/{chunk-H3L4MTG4.js → chunk-LBWOIG7N.js} +1 -1
  31. package/dist/dashboard/browser/chunk-NVL5HFLU.js +1 -0
  32. package/dist/dashboard/browser/chunk-O76B43BY.js +4 -0
  33. package/dist/dashboard/browser/{chunk-EIWOTZT3.js → chunk-PRLUGTKR.js} +1 -1
  34. package/dist/dashboard/browser/chunk-QYIYT4YU.js +1 -0
  35. package/dist/dashboard/browser/{chunk-UC3XMN2Y.js → chunk-R7VSXL63.js} +1 -1
  36. package/dist/dashboard/browser/{chunk-7NRE3SNA.js → chunk-RNUJZTKS.js} +1 -1
  37. package/dist/dashboard/browser/{chunk-2BXIFQGQ.js → chunk-RWXAGDGT.js} +1 -1
  38. package/dist/dashboard/browser/chunk-RXOAYCKI.js +2 -0
  39. package/dist/dashboard/browser/chunk-SR4HVFOB.js +2 -0
  40. package/dist/dashboard/browser/chunk-TGSV7ZHM.js +2 -0
  41. package/dist/dashboard/browser/chunk-UC7AWK4C.js +2 -0
  42. package/dist/dashboard/browser/chunk-UUJWPV5O.js +3 -0
  43. package/dist/dashboard/browser/chunk-VHALTUPL.js +2 -0
  44. package/dist/dashboard/browser/{chunk-6WZJCF24.js → chunk-VMW35ZNT.js} +1 -1
  45. package/dist/dashboard/browser/{chunk-Q772THBA.js → chunk-WOMCRDMJ.js} +1 -2
  46. package/dist/dashboard/browser/chunk-WRX32YWH.js +1 -0
  47. package/dist/dashboard/browser/chunk-X4RGWMLE.js +4 -0
  48. package/dist/dashboard/browser/{chunk-P5IU57TV.js → chunk-YHBNUNU3.js} +1 -1
  49. package/dist/dashboard/browser/index.html +1 -1
  50. package/dist/dashboard/browser/main-YAROJLJV.js +1 -0
  51. package/dist/main.js +49 -48
  52. package/dist/mcp.js +3 -3
  53. package/package.json +6 -3
  54. package/dist/dashboard/browser/chunk-44JIQO3X.js +0 -1
  55. package/dist/dashboard/browser/chunk-4BAKWDAV.js +0 -1
  56. package/dist/dashboard/browser/chunk-4OCNYL7T.js +0 -1
  57. package/dist/dashboard/browser/chunk-7C772RJ3.js +0 -3
  58. package/dist/dashboard/browser/chunk-A4BNXJUT.js +0 -1
  59. package/dist/dashboard/browser/chunk-CILFSVSP.js +0 -2
  60. package/dist/dashboard/browser/chunk-CM4RQF3A.js +0 -5
  61. package/dist/dashboard/browser/chunk-CY5YRTQK.js +0 -1
  62. package/dist/dashboard/browser/chunk-GYWEXV2L.js +0 -3
  63. package/dist/dashboard/browser/chunk-H2N3RBHF.js +0 -1
  64. package/dist/dashboard/browser/chunk-I65I7J5Q.js +0 -2
  65. package/dist/dashboard/browser/chunk-K43KW4K2.js +0 -4
  66. package/dist/dashboard/browser/chunk-K7S4ITPJ.js +0 -2
  67. package/dist/dashboard/browser/chunk-KL6X73FV.js +0 -1
  68. package/dist/dashboard/browser/chunk-KLH6B22T.js +0 -1
  69. package/dist/dashboard/browser/chunk-LBL7Z5BE.js +0 -5
  70. package/dist/dashboard/browser/chunk-LHAMBNO6.js +0 -1
  71. package/dist/dashboard/browser/chunk-NX6DTO32.js +0 -1
  72. package/dist/dashboard/browser/chunk-P5IE6DI6.js +0 -2
  73. package/dist/dashboard/browser/chunk-PMAG4W5W.js +0 -1
  74. package/dist/dashboard/browser/chunk-VM2FOT77.js +0 -1
  75. package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +0 -2
  76. package/dist/dashboard/browser/chunk-YYAZGY5M.js +0 -1
  77. package/dist/dashboard/browser/main-O76X7RMS.js +0 -1
@@ -1,5 +0,0 @@
1
- import{P as Le,a as te,b as Lt,c as kt,i as fe,j as pe,k as xt}from"./chunk-Y6B6X4Y6.js";import{$ as m,$a as Q,C as et,Ca as ut,Db as It,E as tt,Ea as ht,F as nt,Fa as Ne,Ga as ft,Gc as Ot,Ha as he,Hc as Pt,I as rt,Ja as Oe,K as de,Ka as Pe,La as $,Ma as V,Na as pt,Oa as mt,Pa as gt,Q as ot,Qa as yt,Ra as vt,Sa as Et,Ta as wt,U as st,Ua as M,X as ue,Xb as Mt,Y as _,Yb as St,a as D,aa as q,ab as _t,b as Ae,bb as Tt,ca as T,d as Ze,da as u,ea as g,eb as z,f as Ce,fa as De,ga as it,gc as At,ha as at,hb as Rt,hc as Ct,ia as ct,o as L,oa as w,p as qe,pa as lt,pb as bt,qa as U,qb as ee,s as y,t as S,ta as H,wa as dt,xc as Dt,z as Qe,zc as Nt}from"./chunk-K43KW4K2.js";var ne=class{_doc;constructor(n){this._doc=n}manager},me=(()=>{class r extends ne{constructor(e){super(e)}supports(e){return!0}addEventListener(e,t,o,s){return e.addEventListener(t,o,s),()=>this.removeEventListener(e,t,o,s)}removeEventListener(e,t,o,s){return e.removeEventListener(t,o,s)}static \u0275fac=function(t){return new(t||r)(u(w))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),ye=new T(""),je=(()=>{class r{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,t){this._zone=t,e.forEach(i=>{i.manager=this});let o=e.filter(i=>!(i instanceof me));this._plugins=o.slice().reverse();let s=e.find(i=>i instanceof me);s&&this._plugins.push(s)}addEventListener(e,t,o,s){return this._findPluginFor(t).addEventListener(e,t,o,s)}getZone(){return this._zone}_findPluginFor(e){let t=this._eventNameToPlugin.get(e);if(t)return t;if(t=this._plugins.find(s=>s.supports(e)),!t)throw new _(5101,!1);return this._eventNameToPlugin.set(e,t),t}static \u0275fac=function(t){return new(t||r)(u(ye),u(z))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),ke="ng-app-id";function Ft(r){for(let n of r)n.remove()}function Ut(r,n){let e=n.createElement("style");return e.textContent=r,e}function fn(r,n,e,t){let o=r.head?.querySelectorAll(`style[${ke}="${n}"],link[${ke}="${n}"]`);if(o)for(let s of o)s.removeAttribute(ke),s instanceof HTMLLinkElement?t.set(s.href.slice(s.href.lastIndexOf("/")+1),{usage:0,elements:[s]}):s.textContent&&e.set(s.textContent,{usage:0,elements:[s]})}function Fe(r,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",r),e}var Be=(()=>{class r{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;constructor(e,t,o,s={}){this.doc=e,this.appId=t,this.nonce=o,fn(e,t,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,t){for(let o of e)this.addUsage(o,this.inline,Ut);t?.forEach(o=>this.addUsage(o,this.external,Fe))}removeStyles(e,t){for(let o of e)this.removeUsage(o,this.inline);t?.forEach(o=>this.removeUsage(o,this.external))}addUsage(e,t,o){let s=t.get(e);s?s.usage++:t.set(e,{usage:1,elements:[...this.hosts].map(i=>this.addElement(i,o(e,this.doc)))})}removeUsage(e,t){let o=t.get(e);o&&(o.usage--,o.usage<=0&&(Ft(o.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])Ft(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[t,{elements:o}]of this.inline)o.push(this.addElement(e,Ut(t,this.doc)));for(let[t,{elements:o}]of this.external)o.push(this.addElement(e,Fe(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)(u(w),u(Ne),u(Oe,8),u(he))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),xe={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"},ze=/%COMP%/g;var Bt="%COMP%",pn=`_nghost-${Bt}`,mn=`_ngcontent-${Bt}`,gn=!0,yn=new T("",{providedIn:"root",factory:()=>gn});function vn(r){return mn.replace(ze,r)}function En(r){return pn.replace(ze,r)}function zt(r,n){return n.map(e=>e.replace(ze,r))}var He=(()=>{class r{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,t,o,s,i,a,c=null,l=null){this.eventManager=e,this.sharedStylesHost=t,this.appId=o,this.removeStylesOnCompDestroy=s,this.doc=i,this.ngZone=a,this.nonce=c,this.tracingService=l,this.platformIsServer=!1,this.defaultRenderer=new re(e,i,a,this.platformIsServer,this.tracingService)}createRenderer(e,t){if(!e||!t)return this.defaultRenderer;let o=this.getOrCreateRenderer(e,t);return o instanceof ge?o.applyToHost(e):o instanceof oe&&o.applyStyles(),o}getOrCreateRenderer(e,t){let o=this.rendererByCompId,s=o.get(t.id);if(!s){let i=this.doc,a=this.ngZone,c=this.eventManager,l=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,p=this.platformIsServer,v=this.tracingService;switch(t.encapsulation){case Pe.Emulated:s=new ge(c,l,t,this.appId,d,i,a,p,v);break;case Pe.ShadowDom:return new Ue(c,l,e,t,i,a,this.nonce,p,v);default:s=new oe(c,l,t,d,i,a,p,v);break}o.set(t.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(t){return new(t||r)(u(je),u(Be),u(Ne),u(yn),u(w),u(z),u(Oe),u(Tt,8))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),re=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,t,o,s){this.eventManager=n,this.doc=e,this.ngZone=t,this.platformIsServer=o,this.tracingService=s}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(xe[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(jt(n)?n.content:n).appendChild(e)}insertBefore(n,e,t){n&&(jt(n)?n.content:n).insertBefore(e,t)}removeChild(n,e){e.remove()}selectRootElement(n,e){let t=typeof n=="string"?this.doc.querySelector(n):n;if(!t)throw new _(-5104,!1);return e||(t.textContent=""),t}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,t,o){if(o){e=o+":"+e;let s=xe[o];s?n.setAttributeNS(s,e,t):n.setAttribute(e,t)}else n.setAttribute(e,t)}removeAttribute(n,e,t){if(t){let o=xe[t];o?n.removeAttributeNS(o,e):n.removeAttribute(`${t}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,t,o){o&(Q.DashCase|Q.Important)?n.style.setProperty(e,t,o&Q.Important?"important":""):n.style[e]=t}removeStyle(n,e,t){t&Q.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,t){n!=null&&(n[e]=t)}setValue(n,e){n.nodeValue=e}listen(n,e,t,o){if(typeof n=="string"&&(n=te().getGlobalEventTarget(this.doc,n),!n))throw new _(5102,!1);let s=this.decoratePreventDefault(t);return this.tracingService?.wrapEventListener&&(s=this.tracingService.wrapEventListener(n,e,s)),this.eventManager.addEventListener(n,e,s,o)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;n(e)===!1&&e.preventDefault()}}};function jt(r){return r.tagName==="TEMPLATE"&&r.content!==void 0}var Ue=class extends re{sharedStylesHost;hostEl;shadowRoot;constructor(n,e,t,o,s,i,a,c,l){super(n,s,i,c,l),this.sharedStylesHost=e,this.hostEl=t,this.shadowRoot=t.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let d=o.styles;d=zt(o.id,d);for(let v of d){let b=document.createElement("style");a&&b.setAttribute("nonce",a),b.textContent=v,this.shadowRoot.appendChild(b)}let p=o.getExternalStyles?.();if(p)for(let v of p){let b=Fe(v,s);a&&b.setAttribute("nonce",a),this.shadowRoot.appendChild(b)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,t){return super.insertBefore(this.nodeOrShadowRoot(n),e,t)}removeChild(n,e){return super.removeChild(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},oe=class extends re{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,t,o,s,i,a,c,l){super(n,s,i,a,c),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=o;let d=t.styles;this.styles=l?zt(l,d):d,this.styleUrls=t.getExternalStyles?.(l)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&_t.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},ge=class extends oe{contentAttr;hostAttr;constructor(n,e,t,o,s,i,a,c,l){let d=o+"-"+t.id;super(n,e,t,s,i,a,c,l,d),this.contentAttr=vn(d),this.hostAttr=En(d)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let t=super.createElement(n,e);return super.setAttribute(t,this.contentAttr,""),t}};var ve=class r extends kt{supportsDOMEvents=!0;static makeCurrent(){Lt(new r)}onAndCancel(n,e,t,o){return n.addEventListener(e,t,o),()=>{n.removeEventListener(e,t,o)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=_n();return e==null?null:Tn(e)}resetBaseElement(){se=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return fe(document.cookie,n)}},se=null;function _n(){return se=se||document.head.querySelector("base"),se?se.getAttribute("href"):null}function Tn(r){return new URL(r,document.baseURI).pathname}var Rn=(()=>{class r{build(){return new XMLHttpRequest}static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Ht=["alt","control","meta","shift"],bn={"\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"},In={alt:r=>r.altKey,control:r=>r.ctrlKey,meta:r=>r.metaKey,shift:r=>r.shiftKey},$t=(()=>{class r extends ne{constructor(e){super(e)}supports(e){return r.parseEventName(e)!=null}addEventListener(e,t,o,s){let i=r.parseEventName(t),a=r.eventCallback(i.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>te().onAndCancel(e,i.domEventName,a,s))}static parseEventName(e){let t=e.toLowerCase().split("."),o=t.shift();if(t.length===0||!(o==="keydown"||o==="keyup"))return null;let s=r._normalizeKey(t.pop()),i="",a=t.indexOf("code");if(a>-1&&(t.splice(a,1),i="code."),Ht.forEach(l=>{let d=t.indexOf(l);d>-1&&(t.splice(d,1),i+=l+".")}),i+=s,t.length!=0||s.length===0)return null;let c={};return c.domEventName=o,c.fullKey=i,c}static matchEventFullKeyCode(e,t){let o=bn[e.key]||e.key,s="";return t.indexOf("code.")>-1&&(o=e.code,s="code."),o==null||!o?!1:(o=o.toLowerCase(),o===" "?o="space":o==="."&&(o="dot"),Ht.forEach(i=>{if(i!==o){let a=In[i];a(e)&&(s+=i+".")}}),s+=o,s===t)}static eventCallback(e,t,o){return s=>{r.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>t(s))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(t){return new(t||r)(u(w))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})();function Mn(r,n,e){let t=D({rootComponent:r,platformRef:e?.platformRef},Sn(n));return Ot(t)}function Sn(r){return{appProviders:[...On,...r?.providers??[]],platformProviders:Nn}}function An(){ve.makeCurrent()}function Cn(){return new U}function Dn(){return ht(document),document}var Nn=[{provide:he,useValue:xt},{provide:ft,useValue:An,multi:!0},{provide:w,useFactory:Dn}];var On=[{provide:it,useValue:"root"},{provide:U,useFactory:Cn},{provide:ye,useClass:me,multi:!0,deps:[w]},{provide:ye,useClass:$t,multi:!0,deps:[w]},He,Be,je,{provide:Rt,useExisting:He},{provide:pe,useClass:Rn},[]];var J=class{},W=class{},O=class r{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(`
2
- `).forEach(e=>{let t=e.indexOf(":");if(t>0){let o=e.slice(0,t),s=e.slice(t+1).trim();this.addHeaderEntry(o,s)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,t)=>{this.addHeaderEntry(t,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,t])=>{this.setHeaderEntries(e,t)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){let e=new r;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof r?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let t=n.value;if(typeof t=="string"&&(t=[t]),t.length===0)return;this.maybeSetNormalizedName(n.name,e);let o=(n.op==="a"?this.headers.get(e):void 0)||[];o.push(...t),this.headers.set(e,o);break;case"d":let s=n.value;if(!s)this.headers.delete(e),this.normalizedNames.delete(e);else{let i=this.headers.get(e);if(!i)return;i=i.filter(a=>s.indexOf(a)===-1),i.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,i)}break}}addHeaderEntry(n,e){let t=n.toLowerCase();this.maybeSetNormalizedName(n,t),this.headers.has(t)?this.headers.get(t).push(e):this.headers.set(t,[e])}setHeaderEntries(n,e){let t=(Array.isArray(e)?e:[e]).map(s=>s.toString()),o=n.toLowerCase();this.headers.set(o,t),this.maybeSetNormalizedName(n,o)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var _e=class{encodeKey(n){return Vt(n)}encodeValue(n){return Vt(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function Ln(r,n){let e=new Map;return r.length>0&&r.replace(/^\?/,"").split("&").forEach(o=>{let s=o.indexOf("="),[i,a]=s==-1?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,s)),n.decodeValue(o.slice(s+1))],c=e.get(i)||[];c.push(a),e.set(i,c)}),e}var kn=/%(\d[a-f0-9])/gi,xn={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Vt(r){return encodeURIComponent(r).replace(kn,(n,e)=>xn[e]??n)}function Ee(r){return`${r}`}var k=class r{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new _e,n.fromString){if(n.fromObject)throw new _(2805,!1);this.map=Ln(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let t=n.fromObject[e],o=Array.isArray(t)?t.map(Ee):[Ee(t)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){let e=[];return Object.keys(n).forEach(t=>{let o=n[t];Array.isArray(o)?o.forEach(s=>{e.push({param:t,value:s,op:"a"})}):e.push({param:t,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(t=>e+"="+this.encoder.encodeValue(t)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new r({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(Ee(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let t=this.map.get(n.param)||[],o=t.indexOf(Ee(n.value));o!==-1&&t.splice(o,1),t.length>0?this.map.set(n.param,t):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var Te=class{map=new Map;set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}};function Fn(r){switch(r){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function Gt(r){return typeof ArrayBuffer<"u"&&r instanceof ArrayBuffer}function Xt(r){return typeof Blob<"u"&&r instanceof Blob}function Jt(r){return typeof FormData<"u"&&r instanceof FormData}function Un(r){return typeof URLSearchParams<"u"&&r instanceof URLSearchParams}var ie="Content-Type",Re="Accept",Je="X-Request-URL",Yt="text/plain",Kt="application/json",Zt=`${Kt}, ${Yt}, */*`,X=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(n,e,t,o){this.url=e,this.method=n.toUpperCase();let s;if(Fn(this.method)||o?(this.body=t!==void 0?t:null,s=o):s=t,s){if(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,this.keepalive=!!s.keepalive,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params),s.priority&&(this.priority=s.priority),s.cache&&(this.cache=s.cache),s.credentials&&(this.credentials=s.credentials),typeof s.timeout=="number"){if(s.timeout<1||!Number.isInteger(s.timeout))throw new _(2822,"");this.timeout=s.timeout}s.mode&&(this.mode=s.mode),s.redirect&&(this.redirect=s.redirect),s.integrity&&(this.integrity=s.integrity),s.referrer&&(this.referrer=s.referrer),this.transferCache=s.transferCache}if(this.headers??=new O,this.context??=new Te,!this.params)this.params=new k,this.urlWithParams=e;else{let i=this.params.toString();if(i.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),c=a===-1?"?":a<e.length-1?"&":"";this.urlWithParams=e+c+i}}}serializeBody(){return this.body===null?null:typeof this.body=="string"||Gt(this.body)||Xt(this.body)||Jt(this.body)||Un(this.body)?this.body:this.body instanceof k?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||Jt(this.body)?null:Xt(this.body)?this.body.type||null:Gt(this.body)?null:typeof this.body=="string"?Yt:this.body instanceof k?"application/x-www-form-urlencoded;charset=UTF-8":typeof this.body=="object"||typeof this.body=="number"||typeof this.body=="boolean"?Kt:null}clone(n={}){let e=n.method||this.method,t=n.url||this.url,o=n.responseType||this.responseType,s=n.keepalive??this.keepalive,i=n.priority||this.priority,a=n.cache||this.cache,c=n.mode||this.mode,l=n.redirect||this.redirect,d=n.credentials||this.credentials,p=n.referrer||this.referrer,v=n.integrity||this.integrity,b=n.transferCache??this.transferCache,R=n.timeout??this.timeout,j=n.body!==void 0?n.body:this.body,h=n.withCredentials??this.withCredentials,f=n.reportProgress??this.reportProgress,I=n.headers||this.headers,A=n.params||this.params,E=n.context??this.context;return n.setHeaders!==void 0&&(I=Object.keys(n.setHeaders).reduce((C,P)=>C.set(P,n.setHeaders[P]),I)),n.setParams&&(A=Object.keys(n.setParams).reduce((C,P)=>C.set(P,n.setParams[P]),A)),new r(e,t,j,{params:A,headers:I,context:E,reportProgress:f,responseType:o,withCredentials:h,transferCache:b,keepalive:s,cache:a,priority:i,timeout:R,mode:c,redirect:l,credentials:d,referrer:p,integrity:v})}},x=(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})(x||{}),Y=class{headers;status;statusText;url;ok;type;redirected;constructor(n,e=200,t="OK"){this.headers=n.headers||new O,this.status=n.status!==void 0?n.status:e,this.statusText=n.statusText||t,this.url=n.url||null,this.redirected=n.redirected,this.ok=this.status>=200&&this.status<300}},ae=class r extends Y{constructor(n={}){super(n)}type=x.ResponseHeader;clone(n={}){return new r({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},K=class r extends Y{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=x.Response;clone(n={}){return new r({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0,redirected:n.redirected??this.redirected})}},N=class extends Y{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},qt=200,jn=204;function $e(r,n){return{body:n,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 Z=(()=>{class r{handler;constructor(e){this.handler=e}request(e,t,o={}){let s;if(e instanceof X)s=e;else{let c;o.headers instanceof O?c=o.headers:c=new O(o.headers);let l;o.params&&(o.params instanceof k?l=o.params:l=new k({fromObject:o.params})),s=new X(e,t,o.body!==void 0?o.body:null,{headers:c,context:o.context,params:l,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials,transferCache:o.transferCache,keepalive:o.keepalive,priority:o.priority,cache:o.cache,mode:o.mode,redirect:o.redirect,credentials:o.credentials,referrer:o.referrer,integrity:o.integrity,timeout:o.timeout})}let i=L(s).pipe(nt(c=>this.handler.handle(c)));if(e instanceof X||o.observe==="events")return i;let a=i.pipe(et(c=>c instanceof K));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof ArrayBuffer))throw new _(2806,!1);return c.body}));case"blob":return a.pipe(S(c=>{if(c.body!==null&&!(c.body instanceof Blob))throw new _(2807,!1);return c.body}));case"text":return a.pipe(S(c=>{if(c.body!==null&&typeof c.body!="string")throw new _(2808,!1);return c.body}));default:return a.pipe(S(c=>c.body))}case"response":return a;default:throw new _(2809,!1)}}delete(e,t={}){return this.request("DELETE",e,t)}get(e,t={}){return this.request("GET",e,t)}head(e,t={}){return this.request("HEAD",e,t)}jsonp(e,t){return this.request("JSONP",e,{params:new k().append(t,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,t={}){return this.request("OPTIONS",e,t)}patch(e,t,o={}){return this.request("PATCH",e,$e(o,t))}post(e,t,o={}){return this.request("POST",e,$e(o,t))}put(e,t,o={}){return this.request("PUT",e,$e(o,t))}static \u0275fac=function(t){return new(t||r)(u(J))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Bn=/^\)\]\}',?\n/;function Wt(r){if(r.url)return r.url;let n=Je.toLocaleLowerCase();return r.headers.get(n)}var Qt=new T(""),we=(()=>{class r{fetchImpl=g(Ve,{optional:!0})?.fetch??((...e)=>globalThis.fetch(...e));ngZone=g(z);destroyRef=g(lt);handle(e){return new Ce(t=>{let o=new AbortController;this.doRequest(e,o.signal,t).then(Ge,i=>t.error(new N({error:i})));let s;return e.timeout&&(s=this.ngZone.runOutsideAngular(()=>setTimeout(()=>{o.signal.aborted||o.abort(new DOMException("signal timed out","TimeoutError"))},e.timeout))),()=>{s!==void 0&&clearTimeout(s),o.abort()}})}async doRequest(e,t,o){let s=this.createRequestInit(e),i;try{let R=this.ngZone.runOutsideAngular(()=>this.fetchImpl(e.urlWithParams,D({signal:t},s)));zn(R),o.next({type:x.Sent}),i=await R}catch(R){o.error(new N({error:R,status:R.status??0,statusText:R.statusText,url:e.urlWithParams,headers:R.headers}));return}let a=new O(i.headers),c=i.statusText,l=Wt(i)??e.urlWithParams,d=i.status,p=null;if(e.reportProgress&&o.next(new ae({headers:a,status:d,statusText:c,url:l})),i.body){let R=i.headers.get("content-length"),j=[],h=i.body.getReader(),f=0,I,A,E=typeof Zone<"u"&&Zone.current,C=!1;if(await this.ngZone.runOutsideAngular(async()=>{for(;;){if(this.destroyRef.destroyed){await h.cancel(),C=!0;break}let{done:B,value:Se}=await h.read();if(B)break;if(j.push(Se),f+=Se.length,e.reportProgress){A=e.responseType==="text"?(A??"")+(I??=new TextDecoder).decode(Se,{stream:!0}):void 0;let Ke=()=>o.next({type:x.DownloadProgress,total:R?+R:void 0,loaded:f,partialText:A});E?E.run(Ke):Ke()}}}),C){o.complete();return}let P=this.concatChunks(j,f);try{let B=i.headers.get(ie)??"";p=this.parseBody(e,P,B,d)}catch(B){o.error(new N({error:B,headers:new O(i.headers),status:i.status,statusText:i.statusText,url:Wt(i)??e.urlWithParams}));return}}d===0&&(d=p?qt:0);let v=d>=200&&d<300,b=i.redirected;v?(o.next(new K({body:p,headers:a,status:d,statusText:c,url:l,redirected:b})),o.complete()):o.error(new N({error:p,headers:a,status:d,statusText:c,url:l,redirected:b}))}parseBody(e,t,o,s){switch(e.responseType){case"json":let i=new TextDecoder().decode(t).replace(Bn,"");if(i==="")return null;try{return JSON.parse(i)}catch(a){if(s<200||s>=300)return i;throw a}case"text":return new TextDecoder().decode(t);case"blob":return new Blob([t],{type:o});case"arraybuffer":return t.buffer}}createRequestInit(e){let t={},o;if(o=e.credentials,e.withCredentials&&(o="include"),e.headers.forEach((s,i)=>t[s]=i.join(",")),e.headers.has(Re)||(t[Re]=Zt),!e.headers.has(ie)){let s=e.detectContentTypeHeader();s!==null&&(t[ie]=s)}return{body:e.serializeBody(),method:e.method,headers:t,credentials:o,keepalive:e.keepalive,cache:e.cache,priority:e.priority,mode:e.mode,redirect:e.redirect,referrer:e.referrer,integrity:e.integrity}}concatChunks(e,t){let o=new Uint8Array(t),s=0;for(let i of e)o.set(i,s),s+=i.length;return o}static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),Ve=class{};function Ge(){}function zn(r){r.then(Ge,Ge)}function Hn(r,n){return n(r)}function $n(r,n,e){return(t,o)=>ct(e,()=>n(t,s=>r(s,o)))}var en=new T(""),tn=new T(""),nn=new T("",{providedIn:"root",factory:()=>!0});var be=(()=>{class r extends J{backend;injector;chain=null;pendingTasks=g(dt);contributeToStability=g(nn);constructor(e,t){super(),this.backend=e,this.injector=t}handle(e){if(this.chain===null){let t=Array.from(new Set([...this.injector.get(en),...this.injector.get(tn,[])]));this.chain=t.reduceRight((o,s)=>$n(o,s,this.injector),Hn)}if(this.contributeToStability){let t=this.pendingTasks.add();return this.chain(e,o=>this.backend.handle(o)).pipe(de(t))}else return this.chain(e,t=>this.backend.handle(t))}static \u0275fac=function(t){return new(t||r)(u(W),u(at))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})();var Vn=/^\)\]\}',?\n/,Gn=RegExp(`^${Je}:`,"m");function Xn(r){return"responseURL"in r&&r.responseURL?r.responseURL:Gn.test(r.getAllResponseHeaders())?r.getResponseHeader(Je):null}var Xe=(()=>{class r{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new _(-2800,!1);let t=this.xhrFactory;return L(null).pipe(st(()=>new Ce(s=>{let i=t.build();if(i.open(e.method,e.urlWithParams),e.withCredentials&&(i.withCredentials=!0),e.headers.forEach((h,f)=>i.setRequestHeader(h,f.join(","))),e.headers.has(Re)||i.setRequestHeader(Re,Zt),!e.headers.has(ie)){let h=e.detectContentTypeHeader();h!==null&&i.setRequestHeader(ie,h)}if(e.timeout&&(i.timeout=e.timeout),e.responseType){let h=e.responseType.toLowerCase();i.responseType=h!=="json"?h:"text"}let a=e.serializeBody(),c=null,l=()=>{if(c!==null)return c;let h=i.statusText||"OK",f=new O(i.getAllResponseHeaders()),I=Xn(i)||e.url;return c=new ae({headers:f,status:i.status,statusText:h,url:I}),c},d=()=>{let{headers:h,status:f,statusText:I,url:A}=l(),E=null;f!==jn&&(E=typeof i.response>"u"?i.responseText:i.response),f===0&&(f=E?qt:0);let C=f>=200&&f<300;if(e.responseType==="json"&&typeof E=="string"){let P=E;E=E.replace(Vn,"");try{E=E!==""?JSON.parse(E):null}catch(B){E=P,C&&(C=!1,E={error:B,text:E})}}C?(s.next(new K({body:E,headers:h,status:f,statusText:I,url:A||void 0})),s.complete()):s.error(new N({error:E,headers:h,status:f,statusText:I,url:A||void 0}))},p=h=>{let{url:f}=l(),I=new N({error:h,status:i.status||0,statusText:i.statusText||"Unknown Error",url:f||void 0});s.error(I)},v=p;e.timeout&&(v=h=>{let{url:f}=l(),I=new N({error:new DOMException("Request timed out","TimeoutError"),status:i.status||0,statusText:i.statusText||"Request timeout",url:f||void 0});s.error(I)});let b=!1,R=h=>{b||(s.next(l()),b=!0);let f={type:x.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),e.responseType==="text"&&i.responseText&&(f.partialText=i.responseText),s.next(f)},j=h=>{let f={type:x.UploadProgress,loaded:h.loaded};h.lengthComputable&&(f.total=h.total),s.next(f)};return i.addEventListener("load",d),i.addEventListener("error",p),i.addEventListener("timeout",v),i.addEventListener("abort",p),e.reportProgress&&(i.addEventListener("progress",R),a!==null&&i.upload&&i.upload.addEventListener("progress",j)),i.send(a),s.next({type:x.Sent}),()=>{i.removeEventListener("error",p),i.removeEventListener("abort",p),i.removeEventListener("load",d),i.removeEventListener("timeout",v),e.reportProgress&&(i.removeEventListener("progress",R),a!==null&&i.upload&&i.upload.removeEventListener("progress",j)),i.readyState!==i.DONE&&i.abort()}})))}static \u0275fac=function(t){return new(t||r)(u(pe))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),rn=new T(""),Jn="XSRF-TOKEN",Wn=new T("",{providedIn:"root",factory:()=>Jn}),Yn="X-XSRF-TOKEN",Kn=new T("",{providedIn:"root",factory:()=>Yn}),ce=class{},Zn=(()=>{class r{doc;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,t){this.doc=e,this.cookieName=t}getToken(){let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=fe(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(t){return new(t||r)(u(w),u(Wn))};static \u0275prov=m({token:r,factory:r.\u0275fac})}return r})(),qn=/^(?:https?:)?\/\//i;function Qn(r,n){if(!g(rn)||r.method==="GET"||r.method==="HEAD"||qn.test(r.url))return n(r);let e=g(ce).getToken(),t=g(Kn);return e!=null&&!r.headers.has(t)&&(r=r.clone({headers:r.headers.set(t,e)})),n(r)}var We=(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})(We||{});function er(r,n){return{\u0275kind:r,\u0275providers:n}}function tr(...r){let n=[Z,Xe,be,{provide:J,useExisting:be},{provide:W,useFactory:()=>g(Qt,{optional:!0})??g(Xe)},{provide:en,useValue:Qn,multi:!0},{provide:rn,useValue:!0},{provide:ce,useClass:Zn}];for(let e of r)n.push(...e.\u0275providers);return De(n)}function nr(){return er(We.Fetch,[we,{provide:Qt,useExisting:we},{provide:W,useExisting:we}])}var zo=(()=>{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)(u(w))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ye=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275prov=m({token:r,factory:function(t){let o=null;return t?o=new(t||r):o=u(ir),o},providedIn:"root"})}return r})(),ir=(()=>{class r extends Ye{_doc;constructor(e){super(),this._doc=e}sanitize(e,t){if(t==null)return null;switch(e){case M.NONE:return t;case M.HTML:return V(t,"HTML")?$(t):wt(this._doc,String(t)).toString();case M.STYLE:return V(t,"Style")?$(t):t;case M.SCRIPT:if(V(t,"Script"))return $(t);throw new _(5200,!1);case M.URL:return V(t,"URL")?$(t):Et(String(t));case M.RESOURCE_URL:if(V(t,"ResourceURL"))return $(t);throw new _(5201,!1);default:throw new _(5202,!1)}}bypassSecurityTrustHtml(e){return pt(e)}bypassSecurityTrustStyle(e){return mt(e)}bypassSecurityTrustScript(e){return gt(e)}bypassSecurityTrustUrl(e){return yt(e)}bypassSecurityTrustResourceUrl(e){return vt(e)}static \u0275fac=function(t){return new(t||r)(u(w))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();var Ie;function cr(){if(Ie===void 0&&(Ie=null,typeof window<"u")){let r=window;r.trustedTypes!==void 0&&(Ie=r.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return Ie}function le(r){return cr()?.createHTML(r)||r}function on(r){return Error(`Unable to find icon with the name "${r}"`)}function lr(){return Error("Could not find HttpClient for use with Angular Material icons. Please add provideHttpClient() to your providers.")}function sn(r){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${r}".`)}function an(r){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${r}".`)}var F=class{url;svgText;options;svgElement;constructor(n,e,t){this.url=n,this.svgText=e,this.options=t}},ln=(()=>{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,o,s){this._httpClient=e,this._sanitizer=t,this._errorHandler=s,this._document=o}addSvgIcon(e,t,o){return this.addSvgIconInNamespace("",e,t,o)}addSvgIconLiteral(e,t,o){return this.addSvgIconLiteralInNamespace("",e,t,o)}addSvgIconInNamespace(e,t,o,s){return this._addSvgIconConfig(e,t,new F(o,null,s))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,t,o,s){let i=this._sanitizer.sanitize(M.HTML,o);if(!i)throw an(o);let a=le(i);return this._addSvgIconConfig(e,t,new F("",a,s))}addSvgIconSet(e,t){return this.addSvgIconSetInNamespace("",e,t)}addSvgIconSetLiteral(e,t){return this.addSvgIconSetLiteralInNamespace("",e,t)}addSvgIconSetInNamespace(e,t,o){return this._addSvgIconSetConfig(e,new F(t,null,o))}addSvgIconSetLiteralInNamespace(e,t,o){let s=this._sanitizer.sanitize(M.HTML,t);if(!s)throw an(t);let i=le(s);return this._addSvgIconSetConfig(e,new F("",i,o))}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(M.RESOURCE_URL,e);if(!t)throw sn(e);let o=this._cachedIconsByUrl.get(t);return o?L(Me(o)):this._loadSvgIconFromConfig(new F(e,null)).pipe(ue(s=>this._cachedIconsByUrl.set(t,s)),S(s=>Me(s)))}getNamedSvgIcon(e,t=""){let o=cn(t,e),s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(t,e),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);let i=this._iconSetConfigs.get(t);return i?this._getSvgFromIconSetConfigs(e,i):qe(on(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?L(Me(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(S(t=>Me(t)))}_getSvgFromIconSetConfigs(e,t){let o=this._extractIconWithNameFromAnySet(e,t);if(o)return L(o);let s=t.filter(i=>!i.svgText).map(i=>this._loadSvgIconSetFromConfig(i).pipe(tt(a=>{let l=`Loading icon set URL: ${this._sanitizer.sanitize(M.RESOURCE_URL,i.url)} failed: ${a.message}`;return this._errorHandler.handleError(new Error(l)),L(null)})));return Qe(s).pipe(S(()=>{let i=this._extractIconWithNameFromAnySet(e,t);if(!i)throw on(e);return i}))}_extractIconWithNameFromAnySet(e,t){for(let o=t.length-1;o>=0;o--){let s=t[o];if(s.svgText&&s.svgText.toString().indexOf(e)>-1){let i=this._svgElementFromConfig(s),a=this._extractSvgIconFromSet(i,e,s.options);if(a)return a}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(ue(t=>e.svgText=t),S(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?L(null):this._fetchIcon(e).pipe(ue(t=>e.svgText=t))}_extractSvgIconFromSet(e,t,o){let s=e.querySelector(`[id="${t}"]`);if(!s)return null;let i=s.cloneNode(!0);if(i.removeAttribute("id"),i.nodeName.toLowerCase()==="svg")return this._setSvgAttributes(i,o);if(i.nodeName.toLowerCase()==="symbol")return this._setSvgAttributes(this._toSvgElement(i),o);let a=this._svgElementFromString(le("<svg></svg>"));return a.appendChild(i),this._setSvgAttributes(a,o)}_svgElementFromString(e){let t=this._document.createElement("DIV");t.innerHTML=e;let o=t.querySelector("svg");if(!o)throw Error("<svg> tag not found");return o}_toSvgElement(e){let t=this._svgElementFromString(le("<svg></svg>")),o=e.attributes;for(let s=0;s<o.length;s++){let{name:i,value:a}=o[s];i!=="id"&&t.setAttribute(i,a)}for(let s=0;s<e.childNodes.length;s++)e.childNodes[s].nodeType===this._document.ELEMENT_NODE&&t.appendChild(e.childNodes[s].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:o}=e,s=o?.withCredentials??!1;if(!this._httpClient)throw lr();if(t==null)throw Error(`Cannot fetch icon from URL "${t}".`);let i=this._sanitizer.sanitize(M.RESOURCE_URL,t);if(!i)throw sn(t);let a=this._inProgressUrlFetches.get(i);if(a)return a;let c=this._httpClient.get(i,{responseType:"text",withCredentials:s}).pipe(S(l=>le(l)),de(()=>this._inProgressUrlFetches.delete(i)),ot());return this._inProgressUrlFetches.set(i,c),c}_addSvgIconConfig(e,t,o){return this._svgIconConfigs.set(cn(e,t),o),this}_addSvgIconSetConfig(e,t){let o=this._iconSetConfigs.get(e);return o?o.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 o=0;o<this._resolvers.length;o++){let s=this._resolvers[o](t,e);if(s)return dr(s)?new F(s.url,null,s.options):new F(s,null)}}static \u0275fac=function(t){return new(t||r)(u(Z,8),u(Ye),u(w,8),u(U))};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})}return r})();function Me(r){return r.cloneNode(!0)}function cn(r,n){return r+":"+n}function dr(r){return!!(r.url&&r.options)}var ur=["*"],hr=new T("MAT_ICON_DEFAULT_OPTIONS"),fr=new T("mat-icon-location",{providedIn:"root",factory:pr});function pr(){let r=g(w),n=r?r.location:null;return{getPathname:()=>n?n.pathname+n.search:""}}var dn=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],mr=dn.map(r=>`[${r}]`).join(", "),gr=/^url\(['"]?#(.*?)['"]?\)$/,is=(()=>{class r{_elementRef=g(ut);_iconRegistry=g(ln);_location=g(fr);_errorHandler=g(U);_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=Ze.EMPTY;constructor(){let e=g(new Nt("aria-hidden"),{optional:!0}),t=g(hr,{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 o=e.childNodes[t];(o.nodeType!==1||o.nodeName.toLowerCase()==="svg")&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;let e=this._elementRef.nativeElement,t=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>e.classList.remove(o)),t.forEach(o=>e.classList.add(o)),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((o,s)=>{o.forEach(i=>{s.setAttribute(i.name,`url('${e}#${i.value}')`)})})}_cacheChildrenWithExternalReferences(e){let t=e.querySelectorAll(mr),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s<t.length;s++)dn.forEach(i=>{let a=t[s],c=a.getAttribute(i),l=c?c.match(gr):null;if(l){let d=o.get(a);d||(d=[],o.set(a,d)),d.push({name:i,value:l[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){let[t,o]=this._splitIconName(e);t&&(this._svgNamespace=t),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,t).pipe(rt(1)).subscribe(s=>this._setSvgElement(s),s=>{let i=`Error retrieving icon ${t}:${o}! ${s.message}`;this._errorHandler.handleError(new Error(i))})}}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=bt({type:r,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:10,hostBindings:function(t,o){t&2&&(It("data-mat-icon-type",o._usingFontIcon()?"font":"svg")("data-mat-icon-name",o._svgName||o.fontIcon)("data-mat-icon-namespace",o._svgNamespace||o.fontSet)("fontIcon",o._usingFontIcon()?o.fontIcon:null),Ct(o.color?"mat-"+o.color:""),At("mat-icon-inline",o.inline)("mat-icon-no-color",o.color!=="primary"&&o.color!=="accent"&&o.color!=="warn"))},inputs:{color:"color",inline:[2,"inline","inline",Pt],svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],ngContentSelectors:ur,decls:1,vars:0,template:function(t,o){t&1&&(Mt(),St(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}
3
- `],encapsulation:2,changeDetection:0})}return r})(),as=(()=>{class r{static \u0275fac=function(t){return new(t||r)};static \u0275mod=ee({type:r});static \u0275inj=q({imports:[Le,Le]})}return r})();var un=200,yr=5e3,hn=class r{http=g(Z);apps=H([]);overview=H(null);events=H([]);connected=H(!1);ready=H(!1);workspaces=Dt(()=>{let n=new Set;for(let e of this.apps())e.workspaceLabel&&n.add(e.workspaceLabel);return Array.from(n).sort()});byName(n){return this.apps().find(e=>e.name===n)}streamStop;pollTimer;start(){this.streamStop||(this.refresh(),this.streamStop=this.openEventStream(),this.pollTimer=setInterval(()=>{this.refresh()},yr))}stop(){this.streamStop?.(),this.streamStop=void 0,this.pollTimer&&clearInterval(this.pollTimer),this.pollTimer=void 0}async refresh(){try{let[n,e]=await Promise.all([y(this.http.get("/api/apps?format=full")),y(this.http.get("/api/overview"))]);this.apps.set(Array.isArray(n)?n:[]),this.overview.set(e??null),this.connected.set(!0),this.ready.set(!0)}catch{this.connected.set(!1)}}async appDetail(n){try{return await y(this.http.get(`/api/apps/${encodeURIComponent(n)}?format=full`))}catch{return null}}async appErrors(n){try{let e=await y(this.http.get(`/api/apps/${encodeURIComponent(n)}/errors?format=full`));return Array.isArray(e)?e:[]}catch{return[]}}async startApp(n){this.patch(n,{status:"starting"}),await y(this.http.post(`/api/apps/${encodeURIComponent(n)}/start`,{})),await this.refresh()}async stopApp(n){this.patch(n,{status:"stopped"}),await y(this.http.post(`/api/apps/${encodeURIComponent(n)}/stop`,{})),await this.refresh()}async restartApp(n){this.patch(n,{status:"starting"}),await y(this.http.post(`/api/apps/${encodeURIComponent(n)}/restart`,{})),await this.refresh()}async ensureApp(n,e="healthy",t=18e4){return y(this.http.post(`/api/apps/${encodeURIComponent(n)}/ensure?until=${e}&timeoutMs=${t}`,{}))}async ensureUp(n,e="healthy",t=3e5){return y(this.http.post(`/api/profiles/${encodeURIComponent(n)}/ensure-up?until=${e}&timeoutMs=${t}`,{}))}async discoveryExplain(){try{return await y(this.http.get("/api/discovery/explain"))}catch{return null}}async getConfig(){try{return await y(this.http.get("/api/config"))}catch{return null}}async patchConfig(n,e){return y(this.http.patch("/api/config",e,{headers:{"if-match":n}}))}async reloadConfig(){return y(this.http.post("/api/config/reload",{}))}async runAutoFix(n={}){return y(this.http.post("/api/doctor/auto-fix",n))}async getCompileTimes(n,e=100){try{let t=await y(this.http.get(`/api/history/compile-times?app=${encodeURIComponent(n)}&limit=${e}`));return Array.isArray(t)?t:[]}catch{return[]}}async getTrends(n){try{let e=new URLSearchParams;return n.app&&e.set("app",n.app),e.set("metric",n.metric),e.set("since",n.since),await y(this.http.get(`/api/history/trends?${e.toString()}`))}catch{return null}}async getSelf(){try{return await y(this.http.get("/api/self"))}catch{return null}}async getSelfHistory(n="6h"){try{let e=await y(this.http.get(`/api/self/history?since=${n}`));return Array.isArray(e)?e:[]}catch{return[]}}async getBundles(n,e=100){try{let t=await y(this.http.get(`/api/history/bundles?app=${encodeURIComponent(n)}&limit=${e}`));return Array.isArray(t)?t:[]}catch{return[]}}async getHistoryWhy(n){try{return await y(this.http.get(`/api/history/why/${encodeURIComponent(n)}`))}catch{return null}}openLogStream(n,e){let t=new AbortController;return(async()=>{try{let s=(await fetch(`/api/apps/${encodeURIComponent(n)}/logs/stream`,{signal:t.signal})).body?.getReader();if(!s)return;let i=new TextDecoder,a="";for(;;){let{done:c,value:l}=await s.read();if(c)break;a+=i.decode(l,{stream:!0});let d=a.split(`
4
- `);a=d.pop()??"";for(let p of d){let v=p.startsWith("data: ")?p.slice(6):p;if(v.trim())try{e(JSON.parse(v))}catch{}}}}catch{}})(),()=>t.abort()}patch(n,e){this.apps.update(t=>t.map(o=>o.name===n?D(D({},o),e):o))}appendEvent(n){this.events.update(e=>{let t=e.concat(n);return t.length>un?t.slice(t.length-un):t})}applyEvent(n){this.appendEvent(n),n.app&&(n.type==="status"&&n.to?this.patch(n.app,{status:n.to,lastChangeMs:0}):n.type==="health"&&n.to?this.patch(n.app,{health:n.to}):n.type==="error"&&this.apps.update(e=>e.map(t=>t.name===n.app?Ae(D({},t),{errorCount:(t.errorCount??0)+1}):t)))}openEventStream(){let n=new AbortController;return(async()=>{try{let e=await fetch("/api/events?stream=ndjson",{signal:n.signal});this.connected.set(!0);let t=e.body?.getReader();if(!t)return;let o=new TextDecoder,s="";for(;;){let{done:i,value:a}=await t.read();if(i)break;s+=o.decode(a,{stream:!0});let c=s.split(`
5
- `);s=c.pop()??"";for(let l of c)if(l.trim())try{this.applyEvent(JSON.parse(l))}catch{}}}catch{this.connected.set(!1)}})(),()=>n.abort()}static \u0275fac=function(e){return new(e||r)};static \u0275prov=m({token:r,factory:r.\u0275fac,providedIn:"root"})};function fs(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{He as a,Mn as b,Z as c,tr as d,nr as e,zo as f,hr as g,is as h,as as i,hn as j,fs as k};
@@ -1 +0,0 @@
1
- import{a as U}from"./chunk-WAN7TQQW.js";import{a as W,b as j}from"./chunk-CILFSVSP.js";import{a as pt}from"./chunk-7NPLP3QD.js";import"./chunk-H3L4MTG4.js";import"./chunk-OHX55ZU4.js";import{b as q,c as dt,d as mt,e as B}from"./chunk-Q772THBA.js";import{a as L,b as F}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import"./chunk-7C772RJ3.js";import"./chunk-6WZJCF24.js";import"./chunk-KLH6B22T.js";import{b as st,c as lt}from"./chunk-EIWOTZT3.js";import{i as ct,j as K}from"./chunk-LBL7Z5BE.js";import"./chunk-Y6B6X4Y6.js";import{$b as it,Db as V,Eb as _,Fb as u,Gb as et,Hb as D,Ib as h,Jb as M,Kb as x,Lb as o,Mb as r,Nb as C,Sb as v,Ub as g,Wa as N,Wb as p,Ya as tt,_a as s,_b as nt,a as R,ac as ot,b as $,db as P,ea as O,fc as z,gc as k,ic as c,ja as d,jc as f,ka as m,kc as E,lc as A,pa as Z,pb as T,sc as rt,ta as w,xc as I,yc as at}from"./chunk-K43KW4K2.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};
@@ -1 +0,0 @@
1
- import{d as de}from"./chunk-GYWEXV2L.js";import{a as ee,b as te,c as ne,d as ie,e as oe,g as ae,h as re,k as se,l as le}from"./chunk-CM4RQF3A.js";import"./chunk-P5IU57TV.js";import"./chunk-NDSAQ2HK.js";import{b as Y,f as Q,h as q,j as G}from"./chunk-YYAZGY5M.js";import"./chunk-PJPGLT4T.js";import{b as H,c as J,d as U}from"./chunk-H3L4MTG4.js";import"./chunk-OHX55ZU4.js";import{d as X,e as Z}from"./chunk-Q772THBA.js";import{a as z,b as K}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import"./chunk-7C772RJ3.js";import"./chunk-6WZJCF24.js";import"./chunk-KLH6B22T.js";import{c as B}from"./chunk-EIWOTZT3.js";import{h as j,i as A,j as W}from"./chunk-LBL7Z5BE.js";import{h as V}from"./chunk-Y6B6X4Y6.js";import{Db as b,Eb as c,Fb as p,Hb as L,Ib as E,Jb as k,Kb as _,Lb as a,Mb as r,Nb as F,Sb as T,Ub as h,Wb as m,_a as o,ea as D,gc as w,ic as s,ja as x,jc as u,ka as M,kc as y,pb as N,sc as R,ta as g,xc as P}from"./chunk-K43KW4K2.js";var ce=t=>["/apps",t],pe=(t,n)=>n.name,ue=(t,n)=>n.key;function ve(t,n){t&1&&(a(0,"span",18),s(1,"\xB7"),r(),a(2,"span",19),s(3,"paused"),r())}function ge(t,n){if(t&1&&(a(0,"span",18),s(1,"\xB7"),r(),a(2,"span"),s(3),r()),t&2){let e=m();o(3),y("",e.pendingCount()," new while paused")}}function _e(t,n){if(t&1&&(a(0,"mat-option",10),s(1),r()),t&2){let e=n.$implicit;_("value",e.name),o(),u(e.name)}}function fe(t,n){if(t&1){let e=T();a(0,"button",20),h("click",function(){x(e);let d=m();return M(d.textFilter.set(""))}),a(1,"mat-icon"),s(2,"close"),r()()}}function he(t,n){if(t&1){let e=T();a(0,"button",21),h("click",function(){let d=x(e).$implicit,v=m();return M(v.toggleType(d))}),s(1),r()}if(t&2){let e=n.$implicit,i=m();w("dm-chip-active",i.typeFilter().has(e)),b("data-kind",e),o(),y(" ",e," ")}}function ye(t,n){if(t&1){let e=T();a(0,"button",22),h("click",function(){x(e);let d=m();return M(d.clearTypes())}),a(1,"mat-icon"),s(2,"close"),r()()}}function Ce(t,n){t&1&&F(0,"dm-empty",23)}function xe(t,n){t&1&&F(0,"dm-empty",24)}function Me(t,n){if(t&1&&c(0,Ce,1,0,"dm-empty",23)(1,xe,1,0,"dm-empty",24),t&2){let e=m();p(e.liveEvents().length===0?0:1)}}function be(t,n){if(t&1&&(a(0,"li",25)(1,"span",32),s(2),r()()),t&2){let e=m().$implicit;o(2),u(e.gapLabel)}}function Ee(t,n){if(t&1&&(a(0,"a",29)(1,"dm-mono"),s(2),r()()),t&2){let e=m().$implicit;_("routerLink",R(2,ce,e.ev.app)),o(2),u(e.ev.app)}}function ke(t,n){t&1&&(a(0,"span",30),s(1,"\u2014"),r())}function Fe(t,n){if(t&1&&(a(0,"dm-mono"),s(1),r(),a(2,"span",33),s(3,"\u2192"),r(),a(4,"dm-mono"),s(5),r()),t&2){let e=m().$implicit;o(),u(e.ev.from??"?"),o(4),u(e.ev.to??"?")}}function Te(t,n){if(t&1&&s(0),t&2){let e=m().$implicit;y(" ",e.ev.message??""," ")}}function we(t,n){if(t&1&&(c(0,be,3,1,"li",25),a(1,"li",26)(2,"span",27)(3,"dm-mono"),s(4),r()(),a(5,"span",28),s(6),r(),c(7,Ee,3,4,"a",29)(8,ke,2,0,"span",30),a(9,"span",31),c(10,Fe,6,2)(11,Te,1,1),r()()),t&2){let e=n.$implicit,i=m(2);p(e.divider?0:-1),o(),w("dm-flash",e.flash),b("data-kind",e.ev.type),o(),_("matTooltip",i.absTime(e.ev.ts)),o(2),u(i.rel(e.ev.ts)),o(),b("data-kind",e.ev.type),o(),u(e.ev.type),o(),p(e.ev.app?7:8),o(3),p(e.ev.type==="status"&&(e.ev.from||e.ev.to)?10:11)}}function Pe(t,n){if(t&1&&(a(0,"ol",17),E(1,we,12,10,null,null,ue),r()),t&2){let e=m();o(),k(e.rendered())}}var Oe=["status","health","error","compile","log"];function Se(t,n){let e=Math.max(0,Math.floor((n-t)/1e3));if(e<1)return"just now";if(e<60)return`${e}s ago`;let i=Math.floor(e/60),d=e%60;return i<60?d?`${i}m ${d}s ago`:`${i}m ago`:`${Math.floor(i/60)}h ${i%60}m ago`}var me=class t{api=D(W);types=Oe;paused=g(!1);appFilter=g("");textFilter=g("");typeFilter=g(new Set);now=g(Date.now());snapshot=g(null);lastSeenTs=g(0);tickTimer;liveEvents=P(()=>this.snapshot()??this.api.events());pendingCount=P(()=>{let n=this.snapshot();if(!n)return 0;let e=this.api.events();return Math.max(0,e.length-n.length)});rendered=P(()=>{let n=this.liveEvents(),e=this.appFilter(),i=this.textFilter().toLowerCase(),d=this.typeFilter(),v=this.lastSeenTs(),C=[];for(let l of n)e&&l.app!==e||d.size&&!d.has(l.type)||i&&!`${l.app??""} ${l.type} ${l.message??""} ${l.from??""} ${l.to??""}`.toLowerCase().includes(i)||C.push(l);let S=[];for(let l=0;l<C.length;l++){let f=C[l],O=C[l+1],I=O?f.ts-O.ts:0,$=!!O&&I>3e4;S.push({key:`${f.ts}:${l}`,ev:f,divider:$,gapLabel:$?Ie(I):"",flash:f.ts>v})}return S.sort((l,f)=>f.ev.ts-l.ev.ts)});ngOnInit(){this.lastSeenTs.set(Date.now()),this.tickTimer=setInterval(()=>{this.now.set(Date.now());let n=this.api.events();n.length&&this.lastSeenTs.set(n[n.length-1].ts)},1e3)}ngOnDestroy(){this.tickTimer&&clearInterval(this.tickTimer)}togglePause(){this.paused()?(this.paused.set(!1),this.snapshot.set(null)):(this.snapshot.set(this.api.events().slice()),this.paused.set(!0))}toggleType(n){this.typeFilter.update(e=>{let i=new Set(e);return i.has(n)?i.delete(n):i.add(n),i})}clearTypes(){this.typeFilter.set(new Set)}rel(n){return Se(n,this.now())}absTime(n){return new Date(n).toLocaleString()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=N({type:t,selectors:[["dm-events-feed"]],decls:37,vars:15,consts:[[1,"dm-page-header"],[1,"dm-count"],[1,"dm-page-sub"],[1,"dm-conn"],[1,"dm-conn-dot"],[1,"dm-header-actions"],["mat-stroked-button","",3,"click","matTooltip"],[1,"dm-toolbar"],["appearance","outline",1,"dm-app-filter"],[3,"ngModelChange","ngModel"],[3,"value"],["appearance","outline",1,"dm-text-filter"],["matInput","","placeholder","filter message / app",3,"ngModelChange","ngModel"],["matSuffix","","mat-icon-button",""],[1,"dm-type-chips"],[1,"dm-chip",3,"dm-chip-active"],[1,"dm-chip","dm-chip-clear"],[1,"dm-list"],[1,"dm-sep"],[1,"dm-paused-tag"],["matSuffix","","mat-icon-button","",3,"click"],[1,"dm-chip",3,"click"],[1,"dm-chip","dm-chip-clear",3,"click"],["icon","timeline","title","Quiet","hint","No events in this session \u2014 start an app to see status transitions, errors, and compiles"],["icon","filter_alt_off","title","No matches","hint","Adjust filters to see events"],[1,"dm-divider"],[1,"dm-event"],[1,"dm-time",3,"matTooltip"],[1,"dm-type"],[1,"dm-app",3,"routerLink"],[1,"dm-app","dm-app-empty"],[1,"dm-msg"],[1,"dm-divider-label"],[1,"dm-arrow"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div")(2,"h1"),s(3,"Events "),a(4,"span",1),s(5),r()(),a(6,"div",2)(7,"span",3),F(8,"span",4),s(9),r(),c(10,ve,4,0),c(11,ge,4,1),r()(),a(12,"div",5)(13,"button",6),h("click",function(){return i.togglePause()}),a(14,"mat-icon"),s(15),r(),s(16),r()()(),a(17,"div",7)(18,"mat-form-field",8)(19,"mat-label"),s(20,"App"),r(),a(21,"mat-select",9),h("ngModelChange",function(v){return i.appFilter.set(v)}),a(22,"mat-option",10),s(23,"All apps"),r(),E(24,_e,2,2,"mat-option",10,pe),r()(),a(26,"mat-form-field",11)(27,"mat-label"),s(28,"Search"),r(),a(29,"input",12),h("ngModelChange",function(v){return i.textFilter.set(v)}),r(),c(30,fe,3,0,"button",13),r(),a(31,"div",14),E(32,he,2,4,"button",15,L),c(34,ye,3,0,"button",16),r()(),c(35,Me,2,1)(36,Pe,3,0,"ol",17)),e&2&&(o(5),y("\xB7 ",i.liveEvents().length),o(2),w("dm-conn-on",i.api.connected()),o(2),y(" ",i.api.connected()?"live":"disconnected"," "),o(),p(i.paused()?10:-1),o(),p(i.paused()&&i.pendingCount()>0?11:-1),o(2),_("matTooltip",i.paused()?"Resume feed":"Pause feed"),o(2),u(i.paused()?"play_arrow":"pause"),o(),y(" ",i.paused()?"Resume":"Pause"," "),o(5),_("ngModel",i.appFilter()),o(),_("value",""),o(2),k(i.api.apps()),o(5),_("ngModel",i.textFilter()),o(),p(i.textFilter()?30:-1),o(2),k(i.types),o(2),p(i.typeFilter().size>0?34:-1),o(),p(i.rendered().length===0?35:36))},dependencies:[V,G,Y,Q,q,B,ie,ne,ee,te,re,ae,oe,le,se,de,U,J,H,A,j,K,z,X,Z],styles:["[_nghost-%COMP%]{display:block}.dm-count[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-weight:400}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem}.dm-conn-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn-on[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-paused-tag[_ngcontent-%COMP%]{color:var(--mat-sys-tertiary);font-weight:500}.dm-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem}.dm-app-filter[_ngcontent-%COMP%]{width:12rem}.dm-text-filter[_ngcontent-%COMP%]{flex:1;min-width:14rem;max-width:28rem}.dm-type-chips[_ngcontent-%COMP%]{display:flex;gap:.35rem;flex-wrap:wrap}.dm-chip[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border-radius:999px;padding:4px 12px;font:500 .75rem/1rem Roboto;cursor:pointer;letter-spacing:.025rem}.dm-chip[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-chip-active[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-chip-clear[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:2px 8px}.dm-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-lowest);overflow:hidden}.dm-event[_ngcontent-%COMP%]{display:grid;grid-template-columns:7.5rem max-content 10rem 1fr;gap:.75rem;align-items:center;height:28px;padding:0 .75rem;border-top:1px solid var(--mat-sys-outline-variant);font-size:.8125rem;color:var(--mat-sys-on-surface)}.dm-event[_ngcontent-%COMP%]:first-child{border-top:0}.dm-time[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-type[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto;letter-spacing:.03rem;border:1px solid var(--mat-sys-outline-variant);text-transform:lowercase;white-space:nowrap}.dm-type[data-kind=status][_ngcontent-%COMP%], .dm-chip[data-kind=status].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-primary) 30%,transparent);color:var(--mat-sys-primary)}.dm-type[data-kind=health][_ngcontent-%COMP%], .dm-chip[data-kind=health].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-secondary) 30%,transparent);color:var(--mat-sys-secondary)}.dm-type[data-kind=error][_ngcontent-%COMP%], .dm-chip[data-kind=error].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-error) 32%,transparent);color:var(--mat-sys-error)}.dm-type[data-kind=compile][_ngcontent-%COMP%], .dm-chip[data-kind=compile].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 30%,transparent);color:var(--mat-sys-tertiary)}.dm-type[data-kind=log][_ngcontent-%COMP%], .dm-chip[data-kind=log].dm-chip-active[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant)}.dm-app[_ngcontent-%COMP%]{text-decoration:none;color:var(--mat-sys-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-app[_ngcontent-%COMP%]:hover{text-decoration:underline}.dm-app-empty[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}.dm-msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.35rem}.dm-arrow[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-divider[_ngcontent-%COMP%]{height:18px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container)}.dm-divider-label[_ngcontent-%COMP%]{font:400 .6875rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);letter-spacing:.04rem}.dm-flash[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dm-event-pulse .6s var(--dm-motion-easing)}@keyframes _ngcontent-%COMP%_dm-event-pulse{0%{background:color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.dm-flash[_ngcontent-%COMP%]{animation:none}}"],changeDetection:0})};function Ie(t){let n=Math.floor(t/1e3);if(n<60)return`${n}s gap`;let e=Math.floor(n/60);return e<60?`${e}m gap`:`${Math.floor(e/60)}h ${e%60}m gap`}export{me as EventsFeedComponent};
@@ -1,2 +0,0 @@
1
- import{d as ge}from"./chunk-GYWEXV2L.js";import{a as re,b as ae,c as le,d as se,e as me,g as ce,h as de,k as pe,l as ue}from"./chunk-CM4RQF3A.js";import"./chunk-P5IU57TV.js";import"./chunk-NDSAQ2HK.js";import{b as X,f as G,h as K,j as Y}from"./chunk-YYAZGY5M.js";import"./chunk-PJPGLT4T.js";import{b as Z,c as ee,d as te}from"./chunk-H3L4MTG4.js";import"./chunk-OHX55ZU4.js";import{b as ne,d as ie,e as oe}from"./chunk-Q772THBA.js";import{a as J,b as U}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import{a as z,e as H,f as Q,h as q}from"./chunk-7C772RJ3.js";import"./chunk-6WZJCF24.js";import"./chunk-KLH6B22T.js";import{b as B}from"./chunk-EIWOTZT3.js";import{h as $,i as j,j as W}from"./chunk-LBL7Z5BE.js";import{h as A}from"./chunk-Y6B6X4Y6.js";import{$b as I,Db as V,Eb as g,Fb as _,Ib as O,Jb as R,Kb as f,Lb as a,Mb as r,Nb as h,Sb as x,Ub as u,Va as T,Wb as c,_a as l,_b as N,ac as D,ea as S,gc as M,ic as s,ja as d,jc as y,ka as p,kc as b,lc as k,pb as E,ta as C,ub as L,xc as v,yc as F,za as P}from"./chunk-K43KW4K2.js";var xe=["viewport"],Ce=(i,t)=>t.name;function he(i,t){if(i&1&&(a(0,"span",7),s(1,"\xB7"),r(),a(2,"dm-mono")(3,"span",8),s(4),r()(),h(5,"dm-status-pill",9)),i&2){let e=t;l(4),y(e.name),l(),f("status",e.status)("health",e.health)}}function ve(i,t){if(i&1&&(a(0,"span",7),s(1,"\xB7"),r(),a(2,"span"),s(3),r()),i&2){let e=c();l(3),k("",e.filtered().length," / ",e.lines().length," lines")}}function ye(i,t){if(i&1){let e=x();a(0,"div",5)(1,"button",10),u("click",function(){d(e);let o=c();return p(o.togglePause())}),a(2,"mat-icon"),s(3),r(),s(4),r(),a(5,"button",11),u("click",function(){d(e);let o=c();return p(o.copyAll())}),a(6,"mat-icon"),s(7,"content_copy"),r(),s(8," Copy "),r(),a(9,"button",12),u("click",function(){d(e);let o=c();return p(o.clear())}),a(10,"mat-icon"),s(11,"delete_sweep"),r(),s(12," Clear "),r()()}if(i&2){let e=c();l(),f("matTooltip",e.paused()?"Resume":"Pause"),l(2),y(e.paused()?"play_arrow":"pause"),l(),b(" ",e.paused()?"Resume":"Pause"," ")}}function be(i,t){i&1&&h(0,"dm-empty",13)}function we(i,t){if(i&1&&(a(0,"mat-option",16),s(1),r()),i&2){let e=t.$implicit;f("value",e.name),l(),k("",e.name," (",e.status,")")}}function Se(i,t){if(i&1){let e=x();a(0,"mat-form-field",14)(1,"mat-label"),s(2,"Application"),r(),a(3,"mat-select",15),u("selectionChange",function(o){d(e);let m=c(2);return p(m.goto(o.value))}),O(4,we,2,3,"mat-option",16,Ce),r()()}if(i&2){let e=c(2);l(4),R(e.api.apps())}}function Me(i,t){if(i&1&&(a(0,"div",6)(1,"h3"),s(2,"Pick an app to tail"),r(),g(3,be,1,0,"dm-empty",13)(4,Se,6,0,"mat-form-field",14),r()),i&2){let e=c();l(3),_(e.api.apps().length===0?3:4)}}function ke(i,t){if(i&1){let e=x();a(0,"button",27),u("click",function(){d(e);let o=c(2);return p(o.filter.set(""))}),a(1,"mat-icon"),s(2,"close"),r()()}}function Pe(i,t){i&1&&(a(0,"span",22)(1,"mat-icon"),s(2,"warning"),r(),s(3),r()),i&2&&(l(3),b(" ",t," "))}function Te(i,t){if(i&1){let e=x();a(0,"button",28),u("click",function(){d(e);let o=c(2);return p(o.jumpToLatest())}),a(1,"mat-icon"),s(2,"arrow_downward"),r(),s(3," Jump to latest "),r()}}function Ee(i,t){if(i&1){let e=x();a(0,"button",30),u("click",function(){d(e);let o=c(3);return p(o.startApp())}),a(1,"mat-icon"),s(2,"play_arrow"),r(),s(3," Start app "),r()}}function Le(i,t){if(i&1&&(a(0,"dm-empty",24),g(1,Ee,4,0,"button",29),r()),i&2){let e,n=c(2);l(),_(((e=n.currentApp())==null?null:e.status)==="stopped"?1:-1)}}function Ve(i,t){i&1&&h(0,"dm-empty",25)}function Oe(i,t){if(i&1&&(a(0,"div",33)(1,"span",34),s(2),r(),h(3,"span",35),r()),i&2){let e=t.$implicit,n=c(3);V("data-sev",e.severity),l(2),y(n.fmtTs(e.ts)),l(),f("innerHTML",n.render(e.line),T)}}function Re(i,t){if(i&1){let e=x();a(0,"cdk-virtual-scroll-viewport",31,0),u("scrolledIndexChange",function(){d(e);let o=c(2);return p(o.onScroll())}),L(2,Oe,4,3,"div",32),r()}if(i&2){let e=c(2);l(2),f("cdkVirtualForOf",e.filtered())("cdkVirtualForTrackBy",e.trackTs)("cdkVirtualForTemplateCacheSize",0)}}function Ne(i,t){if(i&1){let e=x();a(0,"div",17)(1,"mat-form-field",18)(2,"mat-label"),s(3,"Filter"),r(),a(4,"input",19),u("ngModelChange",function(o){d(e);let m=c();return p(m.filter.set(o))}),r(),g(5,ke,3,0,"button",20),r(),a(6,"button",10),u("click",function(){d(e);let o=c();return p(o.useRegex.set(!o.useRegex()))}),a(7,"mat-icon"),s(8),r(),s(9," .* regex "),r(),a(10,"button",21),u("click",function(){d(e);let o=c();return p(o.jumpToNextError())}),a(11,"mat-icon"),s(12,"error"),r(),s(13," Next error "),r(),g(14,Pe,4,1,"span",22),g(15,Te,4,0,"button",23),r(),g(16,Le,2,1,"dm-empty",24)(17,Ve,1,0,"dm-empty",25)(18,Re,3,3,"cdk-virtual-scroll-viewport",26)}if(i&2){let e,n=c();l(4),f("ngModel",n.filter())("placeholder",n.useRegex()?"regex (case-insensitive)":"case-insensitive substring"),l(),_(n.filter()?5:-1),l(),M("dm-on",n.useRegex()),f("matTooltip",n.useRegex()?"Regex on \u2014 click to use substring":"Substring \u2014 click to use regex"),l(2),y(n.useRegex()?"check_circle":"pattern"),l(2),f("disabled",!n.hasNextError()),l(4),_((e=n.regexError())?14:-1,e),l(),_(n.stuckToBottom()?-1:15),l(),_(n.filtered().length===0&&n.lines().length===0?16:n.filtered().length===0?17:18)}}var w=1e3,Ie=/\x1b\[[0-9;]*m/g;function De(i){return/\berror:|\bERROR\b|\bError\b/.test(i)?"error":/\bWARN\b|\bWarning\b/.test(i)?"warn":"info"}function _e(i){let t=new Date(i),e=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0"),o=String(t.getSeconds()).padStart(2,"0"),m=String(t.getMilliseconds()).padStart(3,"0");return`${e}:${n}:${o}.${m}`}function Fe(i){return i.replace(/[&<>"']/g,t=>t==="&"?"&amp;":t==="<"?"&lt;":t===">"?"&gt;":t==='"'?"&quot;":"&#39;")}function Ae(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var fe=class i{name="";api=S(W);router=S(B);viewport;lines=C([]);filter=C("");useRegex=C(!1);paused=C(!1);stuckToBottom=C(!0);buffered=[];stop;rafScheduled=!1;currentApp=v(()=>this.name?this.api.byName(this.name):void 0);filterState=v(()=>{let t=this.filter();if(!t)return{pred:null,error:null};if(!this.useRegex()){let e=t.toLowerCase();return{pred:n=>n.toLowerCase().includes(e),error:null}}try{let e=new RegExp(t,"i");return{pred:n=>e.test(n),error:null}}catch(e){return{pred:null,error:e?.message??"invalid regex"}}});regexError=v(()=>this.filterState().error);filtered=v(()=>{let{pred:t}=this.filterState(),e=this.lines();return t?e.filter(n=>t(n.line)):e});hasNextError=v(()=>this.filtered().some(t=>t.severity==="error"));constructor(){F(()=>{this.filtered(),this.stuckToBottom()&&this.scrollSoon()})}ngOnChanges(t){"name"in t&&(this.teardown(),this.lines.set([]),this.buffered=[],this.filter.set(""),this.stuckToBottom.set(!0),this.name&&this.openStream())}ngOnDestroy(){this.teardown()}openStream(){let t=this.name;this.stop=this.api.openLogStream(t,({ts:e,line:n})=>{let o=(n??"").replace(Ie,""),m={ts:e,line:o,severity:De(o)};if(this.paused()){this.buffered.push(m),this.buffered.length>w&&this.buffered.splice(0,this.buffered.length-w);return}this.append([m])})}append(t){this.lines.update(e=>{let n=e.concat(t);return n.length>w?n.slice(n.length-w):n})}teardown(){this.stop?.(),this.stop=void 0}togglePause(){let t=!this.paused();if(this.paused.set(t),!t&&this.buffered.length){let e=this.buffered;this.buffered=[],this.append(e)}}clear(){this.lines.set([]),this.buffered=[]}async copyAll(){let t=this.lines().map(e=>`${_e(e.ts)} ${e.line}`).join(`
2
- `);try{await navigator.clipboard.writeText(t)}catch{}}onScroll(){let t=this.viewport;if(!t)return;let e=t.getRenderedRange().end,n=t.getDataLength();this.stuckToBottom.set(n===0||e>=n-1)}jumpToLatest(){this.stuckToBottom.set(!0),this.scrollSoon()}jumpToNextError(){let t=this.viewport;if(!t)return;let e=this.filtered();if(e.length===0)return;let n=Math.max(0,t.getRenderedRange().end),o=-1;for(let m=n;m<e.length;m++)if(e[m].severity==="error"){o=m;break}if(o===-1){for(let m=0;m<Math.min(n,e.length);m++)if(e[m].severity==="error"){o=m;break}}o!==-1&&(this.stuckToBottom.set(!1),t.scrollToIndex(o,"smooth"))}scrollSoon(){this.rafScheduled||(this.rafScheduled=!0,requestAnimationFrame(()=>{this.rafScheduled=!1;let t=this.viewport;if(!t)return;let e=t.getDataLength();e>0&&t.scrollToIndex(e,"auto")}))}goto(t){this.router.navigateByUrl(`/logs/${encodeURIComponent(t)}`)}startApp(){this.name&&this.api.startApp(this.name)}fmtTs(t){return _e(t)}trackTs=(t,e)=>e.ts+":"+e.line.length;render(t){let e=this.filter(),n=Fe(t);if(!e)return n;try{let o=this.useRegex()?new RegExp(e,"gi"):new RegExp(Ae(e),"gi");return n.replace(o,m=>`<mark>${m}</mark>`)}catch{return n}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=E({type:i,selectors:[["dm-logs-page"]],viewQuery:function(e,n){if(e&1&&N(xe,5),e&2){let o;I(o=D())&&(n.viewport=o.first)}},inputs:{name:"name"},features:[P],decls:13,vars:7,consts:[["viewport",""],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-conn"],[1,"dm-conn-dot"],[1,"dm-actions"],[1,"dm-picker"],[1,"dm-sep"],[1,"dm-app"],[3,"status","health"],["mat-stroked-button","",3,"click","matTooltip"],["mat-stroked-button","","matTooltip","Copy buffer",3,"click"],["mat-stroked-button","","matTooltip","Clear buffer",3,"click"],["icon","apps","title","No apps registered","hint","Add apps to your daimon config to see logs"],["appearance","outline",1,"dm-picker-field"],[3,"selectionChange"],[3,"value"],[1,"dm-toolbar"],["appearance","outline",1,"dm-filter"],["matInput","",3,"ngModelChange","ngModel","placeholder"],["matSuffix","","mat-icon-button",""],["mat-stroked-button","","matTooltip","Jump to next error",3,"click","disabled"],["matTooltip","Invalid regex",1,"dm-rxerr"],["mat-flat-button","","color","primary",1,"dm-jump"],["icon","terminal","title","No logs yet","hint","Start the app or wait for output"],["icon","filter_alt_off","title","No matches","hint","Adjust your filter to see lines"],["itemSize","22",1,"dm-viewport"],["matSuffix","","mat-icon-button","",3,"click"],["mat-flat-button","","color","primary",1,"dm-jump",3,"click"],["mat-flat-button","","color","primary"],["mat-flat-button","","color","primary",3,"click"],["itemSize","22",1,"dm-viewport",3,"scrolledIndexChange"],["class","dm-row",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy","cdkVirtualForTemplateCacheSize"],[1,"dm-row"],[1,"dm-ts"],[1,"dm-line",3,"innerHTML"]],template:function(e,n){if(e&1&&(a(0,"div",1)(1,"div")(2,"h1"),s(3," Logs "),g(4,he,6,3),r(),a(5,"div",2)(6,"span",3),h(7,"span",4),s(8),r(),g(9,ve,4,2),r()(),g(10,ye,13,3,"div",5),r(),g(11,Me,5,1,"div",6)(12,Ne,19,11)),e&2){let o;l(4),_((o=n.currentApp())?4:-1,o),l(2),M("dm-conn-on",n.api.connected()),l(2),b(" ",n.api.connected()?"stream connected":"disconnected"," "),l(),_(n.name?9:-1),l(),_(n.name?10:-1),l(),_(n.name?12:11)}},dependencies:[A,Y,X,G,K,q,z,Q,H,se,le,re,ae,de,ce,me,ue,pe,te,ee,Z,j,$,ge,U,J,ne,ie,oe],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-weight:500}.dm-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem}.dm-conn-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn-on[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}.dm-picker[_ngcontent-%COMP%]{max-width:32rem;margin:2rem auto;text-align:center}.dm-picker[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:400;color:var(--mat-sys-on-surface-variant)}.dm-picker-field[_ngcontent-%COMP%]{width:100%}.dm-toolbar[_ngcontent-%COMP%]{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.dm-filter[_ngcontent-%COMP%]{flex:1;max-width:28rem}.dm-jump[_ngcontent-%COMP%]{margin-left:auto}button.dm-on[_ngcontent-%COMP%]{color:var(--mat-sys-primary);border-color:var(--mat-sys-primary)}.dm-rxerr[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:var(--mat-sys-error);font:500 .8125rem/1rem Roboto}.dm-rxerr[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-viewport[_ngcontent-%COMP%]{height:calc(100vh - 13rem);min-height:24rem;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-lowest);contain:strict}.dm-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;height:22px;padding:0 .75rem;font-family:var(--dm-mono);font-size:.8125rem;line-height:22px;white-space:pre;border-left:3px solid transparent;color:var(--mat-sys-on-surface)}.dm-row[data-sev=error][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-error);background:color-mix(in oklch,var(--mat-sys-error) 6%,transparent)}.dm-row[data-sev=warn][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-tertiary);background:color-mix(in oklch,var(--mat-sys-tertiary) 5%,transparent)}.dm-ts[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);flex:0 0 auto}.dm-line[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.dm-line[_ngcontent-%COMP%] mark{background:color-mix(in oklch,var(--mat-sys-tertiary) 35%,transparent);color:var(--mat-sys-on-tertiary-container);padding:0 2px;border-radius:3px}"],changeDetection:0})};export{fe as LogsPageComponent};
@@ -1 +0,0 @@
1
- import{a as J,b as X,c as Z,d as ee,e as te}from"./chunk-3WKRVGPT.js";import{a as Y}from"./chunk-WAN7TQQW.js";import"./chunk-NDSAQ2HK.js";import{b as H,c as W,d as K,e as Q}from"./chunk-Q772THBA.js";import{a as G,b as U}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import"./chunk-7C772RJ3.js";import"./chunk-6WZJCF24.js";import"./chunk-KLH6B22T.js";import{c as z}from"./chunk-EIWOTZT3.js";import{i as j,j as q}from"./chunk-LBL7Z5BE.js";import"./chunk-Y6B6X4Y6.js";import{Db as O,Eb as p,Fb as d,Gb as F,Hb as B,Ib as v,Jb as h,Kb as u,Lb as r,Mb as l,Nb as P,Sb as b,Ub as f,Wa as M,Wb as c,Ya as R,_a as o,ea as $,fc as L,gc as T,ic as s,ja as x,jc as m,ka as g,kc as y,mc as A,pa as V,pb as N,sc as S,ta as k,xc as E,yc as D}from"./chunk-K43KW4K2.js";var I=t=>["/apps",t],w=(t,n)=>n.key;function oe(t,n){t&1&&P(0,"dm-skeleton",3)}function re(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 ae(t,n){if(t&1&&(s(0),p(1,re,3,1)),t&2){let e=c();A(" ",e.totalErrors()," ",e.totalErrors()===1?"error":"errors"," across ",e.appsWithErrors()," ",e.appsWithErrors()===1?"app":"apps"," "),o(),d(e.workspace()?1:-1)}}function le(t,n){if(t&1){let e=b();r(0,"button",20),f("click",function(){x(e);let a=c();return g(a.onQuery(""))}),r(1,"span",6),s(2,"close"),l()()}}function se(t,n){if(t&1){let e=b();r(0,"button",21),f("click",function(){let a=x(e).$implicit,_=c();return g(_.setSeverity(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();T("active",i.severity()===e.key),O("aria-selected",i.severity()===e.key),o(),m(e.label)}}function ce(t,n){if(t&1){let e=b();r(0,"button",21),f("click",function(){let a=x(e).$implicit,_=c();return g(_.setGroupBy(a.key))}),s(1),l()}if(t&2){let e=n.$implicit,i=c();T("active",i.groupBy()===e.key),O("aria-selected",i.groupBy()===e.key),o(),m(e.label)}}function pe(t,n){t&1&&(r(0,"article",22),P(1,"div",23),r(2,"div",24),P(3,"dm-skeleton",25)(4,"dm-skeleton",26)(5,"dm-skeleton",27),l()())}function de(t,n){if(t&1&&(r(0,"div",16),v(1,pe,6,0,"article",22,B),l()),t&2){let e=c();o(),h(e.skeletonItems)}}function me(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 _e(t,n){if(t&1&&P(0,"dm-empty",18),t&2){let e=c();u("title","Clean \u2014 0 errors across "+e.api.apps().length+" apps")}}function ue(t,n){t&1&&P(0,"dm-empty",19)}function Ce(t,n){if(t&1){let e=b();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),f("click",function(){x(e);let a=c(2);return g(a.setGroupBy("app"))}),s(6,"group by app"),l(),s(7,"."),l()()}}function fe(t,n){if(t&1&&P(0,"dm-status-pill",35),t&2){let e=c().$implicit;u("status",e.app.status)("health",e.app.health)}}function xe(t,n){if(t&1&&s(0),t&2){let e=c(3).$implicit;y(":",e.col)}}function ge(t,n){if(t&1&&(r(0,"span",46),s(1),p(2,xe,1,1),l()),t&2){let e=c(2).$implicit;o(),y(":",e.line),o(),d(e.col?2:-1)}}function ye(t,n){if(t&1){let e=b();r(0,"a",45),f("click",function(a){x(e);let _=c().$implicit,C=c(4);return g(C.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,ge,3,2,"span",46),l()()}if(t&2){let e=c().$implicit,i=c(4);u("href",i.editorUrl(e),M)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?3:-1)}}function ve(t,n){t&1&&(r(0,"span",41)(1,"dm-mono"),s(2,"\u2014"),l()())}function he(t,n){if(t&1&&(r(0,"span",42)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),m(e.code)}}function be(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),y("\xD7",e.count)}}function Ee(t,n){if(t&1&&(r(0,"div",39),p(1,ye,4,4,"a",40)(2,ve,3,0,"span",41),p(3,he,3,1,"span",42),r(4,"span",43),s(5),l(),p(6,be,2,1,"span",44),l()),t&2){let e=n.$implicit,i=c().$implicit;o(),d(e.file?1:i.allMissingFile?-1:2),o(2),d(e.code?3:-1),o(),u("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?6:-1)}}function Pe(t,n){if(t&1){let e=b();r(0,"mat-expansion-panel",32)(1,"mat-expansion-panel-header")(2,"mat-panel-title"),P(3,"div",33),r(4,"span",34)(5,"dm-mono"),s(6),l()(),p(7,fe,1,2,"dm-status-pill",35),r(8,"span",36),s(9),l()(),r(10,"mat-panel-description")(11,"a",37),f("click",function(a){return x(e),g(a.stopPropagation())}),s(12," Open app"),r(13,"span",6),s(14,"chevron_right"),l()()()(),r(15,"div",38),v(16,Ee,7,5,"div",39,F),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),u("routerLink",S(8,I,e.key)),o(4),T("rows-nofile",e.allMissingFile),o(),h(e.errors)}}function ke(t,n){if(t&1&&v(0,Pe,18,10,"mat-expansion-panel",32,w),t&2){let e=c(2);h(e.byApp())}}function we(t,n){if(t&1&&(r(0,"span",42)(1,"dm-mono"),s(2),l()()),t&2){let e=c().$implicit;o(2),m(e.code)}}function Me(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;y(":",e.col)}}function Fe(t,n){if(t&1){let e=b();r(0,"a",49),f("click",function(a){x(e);let _=c().$implicit,C=c(4);return g(C.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,Me,1,1),l()()}if(t&2){let e=c().$implicit,i=c(4);u("href",i.editorUrl(e),M),o(2),y(":",e.line),o(),d(e.col?3:-1)}}function Te(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),y("\xD7",e.count)}}function Se(t,n){if(t&1){let e=b();r(0,"div",39)(1,"a",47),f("click",function(a){return x(e),g(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),p(4,we,3,1,"span",42),r(5,"span",43),s(6),l(),p(7,Fe,4,3,"a",48),p(8,Te,2,1,"span",44),l()}if(t&2){let e=n.$implicit;o(),u("routerLink",S(7,I,e.app)),o(2),m(e.app),o(),d(e.code?4:-1),o(),u("matTooltip",e.message),o(),m(e.message),o(),d(e.line?7:-1),o(),d(e.count>1?8:-1)}}function Oe(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),v(9,Se,9,9,"div",39,F),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),h(e.errors)}}function Ie(t,n){if(t&1&&v(0,Oe,11,2,"mat-expansion-panel",32,w),t&2){let e=c(2);h(e.byFile())}}function $e(t,n){t&1&&(r(0,"span",50),s(1),l()),t&2&&(o(),m(n))}function De(t,n){if(t&1&&s(0),t&2){let e=c(2).$implicit;y(":",e.col)}}function Ve(t,n){if(t&1&&(r(0,"span",46),s(1),p(2,De,1,1),l()),t&2){let e=c().$implicit;o(),y(":",e.line),o(),d(e.col?2:-1)}}function Re(t,n){if(t&1&&(r(0,"span",44),s(1),l()),t&2){let e=c().$implicit;o(),y("\xD7",e.count)}}function Ne(t,n){if(t&1){let e=b();r(0,"div",39)(1,"a",47),f("click",function(a){return x(e),g(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),r(4,"a",45),f("click",function(a){let _=x(e).$implicit,C=c(4);return g(C.openEditor(a,_))}),r(5,"dm-mono"),s(6),p(7,Ve,3,2,"span",46),l()(),r(8,"span",43),s(9),l(),p(10,Re,2,1,"span",44),l()}if(t&2){let e=n.$implicit,i=c(4);o(),u("routerLink",S(9,I,e.app)),o(2),m(e.app),o(),u("href",i.editorUrl(e),M)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?7:-1),o(),u("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?10:-1)}}function Be(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,$e,2,1,"span",50),r(7,"span",36),s(8),l()()(),r(9,"div",38),v(10,Ne,11,11,"div",39,F),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),h(i.errors)}}function Le(t,n){if(t&1&&v(0,Be,12,3,"mat-expansion-panel",32,w),t&2){let e=c(2);h(e.byCode())}}function Ae(t,n){if(t&1&&s(0),t&2){let e=c(3).$implicit;y(":",e.col)}}function ze(t,n){if(t&1&&(r(0,"span",46),s(1),p(2,Ae,1,1),l()),t&2){let e=c(2).$implicit;o(),y(":",e.line),o(),d(e.col?2:-1)}}function je(t,n){if(t&1){let e=b();r(0,"a",45),f("click",function(a){x(e);let _=c().$implicit,C=c(4);return g(C.openEditor(a,_))}),r(1,"dm-mono"),s(2),p(3,ze,3,2,"span",46),l()()}if(t&2){let e=c().$implicit,i=c(4);u("href",i.editorUrl(e),M)("matTooltip",e.file),o(2),m(i.shortPath(e.file)),o(),d(e.line?3:-1)}}function Ge(t,n){t&1&&(r(0,"span",41)(1,"dm-mono"),s(2,"\u2014"),l()())}function Ue(t,n){if(t&1&&(r(0,"span",42)(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",44),s(1),l()),t&2){let e=c().$implicit;o(),y("\xD7",e.count)}}function He(t,n){if(t&1){let e=b();r(0,"div",39)(1,"a",47),f("click",function(a){return x(e),g(a.stopPropagation())}),r(2,"dm-mono"),s(3),l()(),p(4,je,4,4,"a",40)(5,Ge,3,0,"span",41),p(6,Ue,3,1,"span",42),r(7,"span",43),s(8),l(),p(9,qe,2,1,"span",44),l()}if(t&2){let e=n.$implicit;o(),u("routerLink",S(7,I,e.app)),o(2),m(e.app),o(),d(e.file?4:5),o(2),d(e.code?6:-1),o(),u("matTooltip",e.message),o(),m(e.message),o(),d(e.count>1?9:-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",51),s(4),l(),r(5,"span",36),s(6),l()()(),r(7,"div",38),v(8,He,10,9,"div",39,F),l()()),t&2){let e=n.$implicit;o(3),O("data-tool",e.key),o(),m(e.key),o(2),m(e.errors.length),o(2),h(e.errors)}}function Ke(t,n){if(t&1&&v(0,We,10,3,"mat-expansion-panel",32,w),t&2){let e=c(2);h(e.byTool())}}function Qe(t,n){if(t&1&&(p(0,Ce,8,0,"div",30),r(1,"div",16),p(2,ke,2,0)(3,Ie,2,0)(4,Le,2,0)(5,Ke,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",Ye={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=$(q);destroyRef=$(V);raw=k(new Map);loading=k(!1);query=k("");severity=k("with-errors");groupBy=k("app");workspace=k(null);skeletonItems=[0,1,2];severityFilters=[{key:"all",label:"all"},{key:"with-errors",label:"with-errors"},{key:"code:TS",label:"code:TS*"},{key:"code:other",label:"code:other"}];groupOptions=[{key:"app",label:"app"},{key:"file",label:"file"},{key:"code",label:"code"},{key:"tool",label:"tool"}];tone=Y;appsByName=E(()=>{let n=new Map;for(let e of this.api.apps())n.set(e.name,e);return n});flat=E(()=>{let n=[],e=this.appsByName();for(let[i,a]of this.raw()){let _=e.get(i);for(let C of a)n.push({app:i,workspaceLabel:_?.workspaceLabel??null,file:C.parsed?.file??"",line:C.parsed?.line??null,col:C.parsed?.col??null,code:C.parsed?.code??"",message:C.parsed?.message??C.message??"",count:C.count??1,tool:C.parsed?.tool??""})}return n});totalErrors=E(()=>this.flat().reduce((n,e)=>n+e.count,0));appsWithErrors=E(()=>{let n=new Set;for(let e of this.flat())n.add(e.app);return n.size});filteredFlat=E(()=>{let n=this.query().trim().toLowerCase(),e=this.severity(),i=this.workspace();return this.flat().filter(a=>!(i&&a.workspaceLabel!==i||(e==="with-errors"&&!a.code&&a.file,e==="code:TS"&&!/^TS\d+/i.test(a.code))||e==="code:other"&&/^TS\d+/i.test(a.code)||n&&!`${a.file} ${a.code} ${a.message}`.toLowerCase().includes(n)))});byApp=E(()=>{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=E(()=>{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=E(()=>{let n=this.filteredFlat();return n.length?n.every(e=>!e.file):!1});byCode=E(()=>{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=E(()=>{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=E(()=>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==="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 Ye[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=N({type:t,selectors:[["dm-errors-panel"]],hostBindings:function(e,i){e&1&&f("storage",function(_){return i.onStorage(_)},R)},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"],[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,oe,1,0,"dm-skeleton",3)(7,ae,2,5),l()(),r(8,"div",4)(9,"button",5),f("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),f("input",function(_){return i.onQuery(_.target.value)}),l(),p(17,le,3,0,"button",11),l(),r(18,"div",12),v(19,se,2,4,"button",13,w),l(),r(21,"div",14)(22,"span",15),s(23,"Group by"),l(),v(24,ce,2,4,"button",13,w),l()(),p(26,de,3,0,"div",16)(27,me,6,0,"dm-empty",17)(28,_e,1,1,"dm-empty",18)(29,ue,1,0,"dm-empty",19)(30,Qe,6,2),l()),e&2&&(o(6),d(i.loading()?6:7),o(3),u("disabled",i.loading()),o(),T("spin",i.loading()),o(6),u("value",i.query()),o(),d(i.query()?17:-1),o(2),h(i.severityFilters),o(5),h(i.groupOptions),o(2),d(i.loading()&&!i.raw().size?26:i.api.apps().length===0?27:i.totalErrors()===0?28:i.filteredFlat().length===0?29:30))},dependencies:[z,te,J,X,ee,Z,j,U,G,H,W,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;padding:.5rem .25rem;border-bottom:1px solid var(--mat-sys-outline-variant)}.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};
@@ -1 +0,0 @@
1
- import{b as N,f as R,h as A,j as F}from"./chunk-YYAZGY5M.js";import{b as T}from"./chunk-EIWOTZT3.js";import{h as $,i as q,j as L}from"./chunk-LBL7Z5BE.js";import"./chunk-Y6B6X4Y6.js";import{$b as I,Eb as h,Fb as f,Gb as k,Ib as w,Jb as P,Lb as a,Mb as r,Sb as C,Ub as u,Wb as l,Ya as y,_a as m,_b as M,ac as E,ea as v,gc as O,ic as d,ja as c,jc as g,ka as p,nc as D,oc as S,pb as b,pc as V,ta as _,xc as x}from"./chunk-K43KW4K2.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 +0,0 @@
1
- import{$ as u,C as x,Ca as _,Da as ee,Fa as j,G as w,Ha as Me,Hc as te,I as Fe,J as we,Ja as Le,Kc as Ue,S as U,T as Ie,V as $,X as Se,a as P,aa as m,ca as f,d as Ee,da as v,db as I,ea as o,eb as g,f as B,fb as Oe,ha as Te,hb as Ne,i as d,ib as Re,j as be,jb as V,lb as ke,na as L,o as Ce,oa as l,pb as Pe,qb as p,rb as y,sa as Q,t as A,ta as O,u as Ae,x as ve,yc as xe,za as J,zb as Be}from"./chunk-K43KW4K2.js";var Ve=null;function H(){return Ve}function vt(t){Ve??=t}var ne=class{},ie=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:()=>o(He),providedIn:"platform"})}return t})();var He=(()=>{class t extends ie{_location;_history;_doc=o(l);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return H().getBaseHref(this._doc)}onPopState(e){let n=H().getGlobalEventTarget(this._doc,"window");return n.addEventListener("popstate",e,!1),()=>n.removeEventListener("popstate",e)}onHashChange(e){let n=H().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,r){this._history.pushState(e,n,r)}replaceState(e,n,r){this._history.replaceState(e,n,r)}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=u({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function ze(t,i){return t?i?t.endsWith("/")?i.startsWith("/")?t+i.slice(1):t+i:i.startsWith("/")?t+i:`${t}/${i}`:t:i}function $e(t){let i=t.search(/#|\?|$/);return t[i-1]==="/"?t.slice(0,i-1)+t.slice(i):t}function b(t){return t&&t[0]!=="?"?`?${t}`:t}var z=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:()=>o(Ke),providedIn:"root"})}return t})(),Ge=new f(""),Ke=(()=>{class t extends z{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,n){super(),this._platformLocation=e,this._baseHref=n??this._platformLocation.getBaseHrefFromDOM()??o(l).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 ze(this._baseHref,e)}path(e=!1){let n=this._platformLocation.pathname+b(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${n}${r}`:n}pushState(e,n,r,s){let a=this.prepareExternalUrl(r+b(s));this._platformLocation.pushState(e,n,a)}replaceState(e,n,r,s){let a=this.prepareExternalUrl(r+b(s));this._platformLocation.replaceState(e,n,a)}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)(v(ie),v(Ge,8))};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),We=(()=>{class t{_subject=new d;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let n=this._locationStrategy.getBaseHref();this._basePath=It($e(je(n))),this._locationStrategy.onPopState(r=>{this._subject.next({url:this.path(!0),pop:!0,state:r.state,type:r.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+b(n))}normalize(e){return t.stripTrailingSlash(wt(this._basePath,je(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,n="",r=null){this._locationStrategy.pushState(r,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+b(n)),r)}replaceState(e,n="",r=null){this._locationStrategy.replaceState(r,"",e,n),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+b(n)),r)}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(r=>r(e,n))}subscribe(e,n,r){return this._subject.subscribe({next:e,error:n??void 0,complete:r??void 0})}static normalizeQueryParams=b;static joinWithSlash=ze;static stripTrailingSlash=$e;static \u0275fac=function(n){return new(n||t)(v(z))};static \u0275prov=u({token:t,factory:()=>Ft(),providedIn:"root"})}return t})();function Ft(){return new We(v(z))}function wt(t,i){if(!t||!i.startsWith(t))return i;let e=i.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:i}function je(t){return t.replace(/\/index.html$/,"")}function It(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var re=/\s+/,Ze=[],St=(()=>{class t{_ngEl;_renderer;initialClasses=Ze;rawClass;stateMap=new Map;constructor(e,n){this._ngEl=e,this._renderer=n}set klass(e){this.initialClasses=e!=null?e.trim().split(re):Ze}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(re):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 r=this.stateMap.get(e);r!==void 0?(r.enabled!==n&&(r.changed=!0,r.enabled=n),r.touched=!0):this.stateMap.set(e,{enabled:n,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let n=e[0],r=e[1];r.changed?(this._toggleClass(n,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(n,!1),this.stateMap.delete(n)),r.touched=!1}}_toggleClass(e,n){e=e.trim(),e.length>0&&e.split(re).forEach(r=>{n?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static \u0275fac=function(n){return new(n||t)(V(_),V(Re))};static \u0275dir=y({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var Tt=(()=>{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 r=this._createContextForwardProxy();this._viewRef=n.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,n,r)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,n,r):!1,get:(e,n,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,n,r)}})}static \u0275fac=function(n){return new(n||t)(V(ke))};static \u0275dir=y({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[J]})}return t})();var Mt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=p({type:t});static \u0275inj=m({})}return t})();function Lt(t,i){i=encodeURIComponent(i);for(let e of t.split(";")){let n=e.indexOf("="),[r,s]=n==-1?[e,""]:[e.slice(0,n),e.slice(n+1)];if(r.trim()===i)return decodeURIComponent(s)}return null}var se=class{};var Nt="browser";function Ye(t){return t===Nt}function Xe(t,...i){return i.length?i.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}function oe(t){return t.buttons===0||t.detail===0}function ae(t){let i=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!!i&&i.identifier===-1&&(i.radiusX==null||i.radiusX===1)&&(i.radiusY==null||i.radiusY===1)}var ue;function Rt(){if(ue==null){let t=typeof document<"u"?document.head:null;ue=!!(t&&(t.createShadowRoot||t.attachShadow))}return ue}function qe(t){if(Rt()){let i=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&i instanceof ShadowRoot)return i}return null}function Hi(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){let i=t.shadowRoot.activeElement;if(i===t)break;t=i}return t}function S(t){return t.composedPath?t.composedPath()[0]:t.target}var ce;try{ce=typeof Intl<"u"&&Intl.v8BreakIterator}catch{ce=!1}var D=(()=>{class t{_platformId=o(Me);isBrowser=this._platformId?Ye(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||ce)&&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=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var N;function kt(){if(N==null&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>N=!0}))}finally{N=N||!1}return N}function Qe(t){return kt()?t:!!t.capture}function Je(t,i=0){return Pt(t)?Number(t):arguments.length===2?i:0}function Pt(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}function T(t){return t instanceof _?t.nativeElement:t}var et=new f("cdk-input-modality-detector-options"),tt={ignoreKeys:[18,17,224,91,16]},nt=650,de={passive:!0,capture:!0},it=(()=>{class t{_platform=o(D);_listenerCleanups;modalityDetected;modalityChanged;get mostRecentModality(){return this._modality.value}_mostRecentTarget=null;_modality=new be(null);_options;_lastTouchMs=0;_onKeydown=e=>{this._options?.ignoreKeys?.some(n=>n===e.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=S(e))};_onMousedown=e=>{Date.now()-this._lastTouchMs<nt||(this._modality.next(oe(e)?"keyboard":"mouse"),this._mostRecentTarget=S(e))};_onTouchstart=e=>{if(ae(e)){this._modality.next("keyboard");return}this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=S(e)};constructor(){let e=o(g),n=o(l),r=o(et,{optional:!0});if(this._options=P(P({},tt),r),this.modalityDetected=this._modality.pipe(U(1)),this.modalityChanged=this.modalityDetected.pipe(we()),this._platform.isBrowser){let s=o(Ne).createRenderer(null,null);this._listenerCleanups=e.runOutsideAngular(()=>[s.listen(n,"keydown",this._onKeydown,de),s.listen(n,"mousedown",this._onMousedown,de),s.listen(n,"touchstart",this._onTouchstart,de)])}}ngOnDestroy(){this._modality.complete(),this._listenerCleanups?.forEach(e=>e())}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),R=(function(t){return t[t.IMMEDIATE=0]="IMMEDIATE",t[t.EVENTUAL=1]="EVENTUAL",t})(R||{}),rt=new f("cdk-focus-monitor-default-options"),G=Qe({passive:!0,capture:!0}),st=(()=>{class t{_ngZone=o(g);_platform=o(D);_inputModalityDetector=o(it);_origin=null;_lastFocusOrigin;_windowFocused=!1;_windowFocusTimeoutId;_originTimeoutId;_originFromTouchInteraction=!1;_elementInfo=new Map;_monitoredElementCount=0;_rootNodeFocusListenerCount=new Map;_detectionMode;_windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=setTimeout(()=>this._windowFocused=!1)};_document=o(l);_stopInputModalityDetector=new d;constructor(){let e=o(rt,{optional:!0});this._detectionMode=e?.detectionMode||R.IMMEDIATE}_rootNodeFocusAndBlurListener=e=>{let n=S(e);for(let r=n;r;r=r.parentElement)e.type==="focus"?this._onFocus(e,r):this._onBlur(e,r)};monitor(e,n=!1){let r=T(e);if(!this._platform.isBrowser||r.nodeType!==1)return Ce();let s=qe(r)||this._document,a=this._elementInfo.get(r);if(a)return n&&(a.checkChildren=!0),a.subject;let c={checkChildren:n,subject:new d,rootNode:s};return this._elementInfo.set(r,c),this._registerGlobalListeners(c),c.subject}stopMonitoring(e){let n=T(e),r=this._elementInfo.get(n);r&&(r.subject.complete(),this._setClasses(n),this._elementInfo.delete(n),this._removeGlobalListeners(r))}focusVia(e,n,r){let s=T(e),a=this._document.activeElement;s===a?this._getClosestElementsInfo(s).forEach(([c,E])=>this._originChanged(c,n,E)):(this._setOrigin(n),typeof s.focus=="function"&&s.focus(r))}ngOnDestroy(){this._elementInfo.forEach((e,n)=>this.stopMonitoring(n))}_getWindow(){return this._document.defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return this._detectionMode===R.EVENTUAL||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,n){e.classList.toggle("cdk-focused",!!n),e.classList.toggle("cdk-touch-focused",n==="touch"),e.classList.toggle("cdk-keyboard-focused",n==="keyboard"),e.classList.toggle("cdk-mouse-focused",n==="mouse"),e.classList.toggle("cdk-program-focused",n==="program")}_setOrigin(e,n=!1){this._ngZone.runOutsideAngular(()=>{if(this._origin=e,this._originFromTouchInteraction=e==="touch"&&n,this._detectionMode===R.IMMEDIATE){clearTimeout(this._originTimeoutId);let r=this._originFromTouchInteraction?nt:1;this._originTimeoutId=setTimeout(()=>this._origin=null,r)}})}_onFocus(e,n){let r=this._elementInfo.get(n),s=S(e);!r||!r.checkChildren&&n!==s||this._originChanged(n,this._getFocusOrigin(s),r)}_onBlur(e,n){let r=this._elementInfo.get(n);!r||r.checkChildren&&e.relatedTarget instanceof Node&&n.contains(e.relatedTarget)||(this._setClasses(n),this._emitOrigin(r,null))}_emitOrigin(e,n){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(n))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;let n=e.rootNode,r=this._rootNodeFocusListenerCount.get(n)||0;r||this._ngZone.runOutsideAngular(()=>{n.addEventListener("focus",this._rootNodeFocusAndBlurListener,G),n.addEventListener("blur",this._rootNodeFocusAndBlurListener,G)}),this._rootNodeFocusListenerCount.set(n,r+1),++this._monitoredElementCount===1&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe($(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(e){let n=e.rootNode;if(this._rootNodeFocusListenerCount.has(n)){let r=this._rootNodeFocusListenerCount.get(n);r>1?this._rootNodeFocusListenerCount.set(n,r-1):(n.removeEventListener("focus",this._rootNodeFocusAndBlurListener,G),n.removeEventListener("blur",this._rootNodeFocusAndBlurListener,G),this._rootNodeFocusListenerCount.delete(n))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,n,r){this._setClasses(e,n),this._emitOrigin(r,n),this._lastFocusOrigin=n}_getClosestElementsInfo(e){let n=[];return this._elementInfo.forEach((r,s)=>{(s===e||r.checkChildren&&s.contains(e))&&n.push([s,r])}),n}_isLastInteractionFromInputLabel(e){let{_mostRecentTarget:n,mostRecentModality:r}=this._inputModalityDetector;if(r!=="mouse"||!n||n===e||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA"||e.disabled)return!1;let s=e.labels;if(s){for(let a=0;a<s.length;a++)if(s[a].contains(n))return!0}return!1}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Bt=(()=>{class t{_elementRef=o(_);_focusMonitor=o(st);_monitorSubscription;_focusOrigin=null;cdkFocusChange=new I;constructor(){}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){let e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,e.nodeType===1&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(n=>{this._focusOrigin=n,this.cdkFocusChange.emit(n)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=y({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]})}return t})();var K=new WeakMap,k=(()=>{class t{_appRef;_injector=o(L);_environmentInjector=o(Te);load(e){let n=this._appRef=this._appRef||this._injector.get(Be),r=K.get(n);r||(r={loaders:new Set,refs:[]},K.set(n,r),n.onDestroy(()=>{K.get(n)?.refs.forEach(s=>s.destroy()),K.delete(n)})),r.loaders.has(e)||(r.loaders.add(e),r.refs.push(Ue(e,{environmentInjector:this._environmentInjector})))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var W=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275cmp=Pe({type:t,selectors:[["ng-component"]],exportAs:["cdkVisuallyHidden"],decls:0,vars:0,template:function(n,r){},styles:[`.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}
2
- `],encapsulation:2,changeDetection:0})}return t})();function le(t){return Array.isArray(t)?t:[t]}var ot=new Set,F,xt=(()=>{class t{_platform=o(D);_nonce=o(Le,{optional:!0});_matchMedia;constructor(){this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):$t}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&Ut(e,this._nonce),this._matchMedia(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ut(t,i){if(!ot.has(t))try{F||(F=document.createElement("style"),i&&F.setAttribute("nonce",i),F.setAttribute("type","text/css"),document.head.appendChild(F)),F.sheet&&(F.sheet.insertRule(`@media ${t} {body{ }}`,0),ot.add(t))}catch(e){console.error(e)}}function $t(t){return{matches:t==="all"||t==="",media:t,addListener:()=>{},removeListener:()=>{}}}var ut=(()=>{class t{_mediaMatcher=o(xt);_zone=o(g);_queries=new Map;_destroySubject=new d;constructor(){}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return at(le(e)).some(r=>this._registerQuery(r).mql.matches)}observe(e){let r=at(le(e)).map(a=>this._registerQuery(a).observable),s=Ae(r);return s=ve(s.pipe(Fe(1)),s.pipe(U(1),w(0))),s.pipe(A(a=>{let c={matches:!1,breakpoints:{}};return a.forEach(({matches:E,query:At})=>{c.matches=c.matches||E,c.breakpoints[At]=E}),c}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);let n=this._mediaMatcher.matchMedia(e),s={observable:new B(a=>{let c=E=>this._zone.run(()=>a.next(E));return n.addListener(c),()=>{n.removeListener(c)}}).pipe(Ie(n),A(({matches:a})=>({query:e,matches:a})),$(this._destroySubject)),mql:n};return this._queries.set(e,s),s}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function at(t){return t.map(i=>i.split(",")).reduce((i,e)=>i.concat(e)).map(i=>i.trim())}function jt(t){if(t.type==="characterData"&&t.target instanceof Comment)return!0;if(t.type==="childList"){for(let i=0;i<t.addedNodes.length;i++)if(!(t.addedNodes[i]instanceof Comment))return!1;for(let i=0;i<t.removedNodes.length;i++)if(!(t.removedNodes[i]instanceof Comment))return!1;return!0}return!1}var ct=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),dt=(()=>{class t{_mutationObserverFactory=o(ct);_observedElements=new Map;_ngZone=o(g);constructor(){}ngOnDestroy(){this._observedElements.forEach((e,n)=>this._cleanupObserver(n))}observe(e){let n=T(e);return new B(r=>{let a=this._observeElement(n).pipe(A(c=>c.filter(E=>!jt(E))),x(c=>!!c.length)).subscribe(c=>{this._ngZone.run(()=>{r.next(c)})});return()=>{a.unsubscribe(),this._unobserveElement(n)}})}_observeElement(e){return this._ngZone.runOutsideAngular(()=>{if(this._observedElements.has(e))this._observedElements.get(e).count++;else{let n=new d,r=this._mutationObserverFactory.create(s=>n.next(s));r&&r.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:r,stream:n,count:1})}return this._observedElements.get(e).stream})}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){let{observer:n,stream:r}=this._observedElements.get(e);n&&n.disconnect(),r.complete(),this._observedElements.delete(e)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),xr=(()=>{class t{_contentObserver=o(dt);_elementRef=o(_);event=new I;get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._disabled?this._unsubscribe():this._subscribe()}_disabled=!1;get debounce(){return this._debounce}set debounce(e){this._debounce=Je(e),this._subscribe()}_debounce;_currentSubscription=null;constructor(){}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();let e=this._contentObserver.observe(this._elementRef);this._currentSubscription=(this.debounce?e.pipe(w(this.debounce)):e).subscribe(this.event)}_unsubscribe(){this._currentSubscription?.unsubscribe()}static \u0275fac=function(n){return new(n||t)};static \u0275dir=y({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:[2,"cdkObserveContentDisabled","disabled",te],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]})}return t})(),lt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=p({type:t});static \u0275inj=m({providers:[ct]})}return t})();var Vt=(()=>{class t{_platform=o(D);constructor(){}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return zt(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let n=Ht(Qt(e));if(n&&(ht(n)===-1||!this.isVisible(n)))return!1;let r=e.nodeName.toLowerCase(),s=ht(e);return e.hasAttribute("contenteditable")?s!==-1:r==="iframe"||r==="object"||this._platform.WEBKIT&&this._platform.IOS&&!Xt(e)?!1:r==="audio"?e.hasAttribute("controls")?s!==-1:!1:r==="video"?s===-1?!1:s!==null?!0:this._platform.FIREFOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,n){return qt(e)&&!this.isDisabled(e)&&(n?.ignoreVisibility||this.isVisible(e))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Ht(t){try{return t.frameElement}catch{return null}}function zt(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function Gt(t){let i=t.nodeName.toLowerCase();return i==="input"||i==="select"||i==="button"||i==="textarea"}function Kt(t){return Zt(t)&&t.type=="hidden"}function Wt(t){return Yt(t)&&t.hasAttribute("href")}function Zt(t){return t.nodeName.toLowerCase()=="input"}function Yt(t){return t.nodeName.toLowerCase()=="a"}function mt(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let i=t.getAttribute("tabindex");return!!(i&&!isNaN(parseInt(i,10)))}function ht(t){if(!mt(t))return null;let i=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(i)?-1:i}function Xt(t){let i=t.nodeName.toLowerCase(),e=i==="input"&&t.type;return e==="text"||e==="password"||i==="select"||i==="textarea"}function qt(t){return Kt(t)?!1:Gt(t)||Wt(t)||t.hasAttribute("contenteditable")||mt(t)}function Qt(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var fe=class{_element;_checker;_ngZone;_document;_injector;_startAnchor;_endAnchor;_hasAttached=!1;startAnchorListener=()=>this.focusLastTabbableElement();endAnchorListener=()=>this.focusFirstTabbableElement();get enabled(){return this._enabled}set enabled(i){this._enabled=i,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(i,this._startAnchor),this._toggleAnchorTabIndex(i,this._endAnchor))}_enabled=!0;constructor(i,e,n,r,s=!1,a){this._element=i,this._checker=e,this._ngZone=n,this._document=r,this._injector=a,s||this.attachAnchors()}destroy(){let i=this._startAnchor,e=this._endAnchor;i&&(i.removeEventListener("focus",this.startAnchorListener),i.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(i)))})}focusFirstTabbableElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(i)))})}focusLastTabbableElementWhenReady(i){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(i)))})}_getRegionBoundary(i){let e=this._element.querySelectorAll(`[cdk-focus-region-${i}], [cdkFocusRegion${i}], [cdk-focus-${i}]`);return i=="start"?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(i){let e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){let n=this._getFirstTabbableElement(e);return n?.focus(i),!!n}return e.focus(i),!0}return this.focusFirstTabbableElement(i)}focusFirstTabbableElement(i){let e=this._getRegionBoundary("start");return e&&e.focus(i),!!e}focusLastTabbableElement(i){let e=this._getRegionBoundary("end");return e&&e.focus(i),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(i){if(this._checker.isFocusable(i)&&this._checker.isTabbable(i))return i;let e=i.children;for(let n=0;n<e.length;n++){let r=e[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(e[n]):null;if(r)return r}return null}_getLastTabbableElement(i){if(this._checker.isFocusable(i)&&this._checker.isTabbable(i))return i;let e=i.children;for(let n=e.length-1;n>=0;n--){let r=e[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[n]):null;if(r)return r}return null}_createAnchor(){let i=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,i),i.classList.add("cdk-visually-hidden"),i.classList.add("cdk-focus-trap-anchor"),i.setAttribute("aria-hidden","true"),i}_toggleAnchorTabIndex(i,e){i?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(i){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(i,this._startAnchor),this._toggleAnchorTabIndex(i,this._endAnchor))}_executeOnStable(i){this._injector?Oe(i,{injector:this._injector}):setTimeout(i)}},Jt=(()=>{class t{_checker=o(Vt);_ngZone=o(g);_document=o(l);_injector=o(L);constructor(){o(k).load(W)}create(e,n=!1){return new fe(e,this._checker,this._ngZone,this._document,n,this._injector)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var pt=new f("liveAnnouncerElement",{providedIn:"root",factory:Dt});function Dt(){return null}var _t=new f("LIVE_ANNOUNCER_DEFAULT_OPTIONS"),en=0,tn=(()=>{class t{_ngZone=o(g);_defaultOptions=o(_t,{optional:!0});_liveElement;_document=o(l);_previousTimeout;_currentPromise;_currentResolve;constructor(){let e=o(pt,{optional:!0});this._liveElement=e||this._createLiveElement()}announce(e,...n){let r=this._defaultOptions,s,a;return n.length===1&&typeof n[0]=="number"?a=n[0]:[s,a]=n,this.clear(),clearTimeout(this._previousTimeout),s||(s=r&&r.politeness?r.politeness:"polite"),a==null&&r&&(a=r.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(c=>this._currentResolve=c)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,typeof a=="number"&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){let e="cdk-live-announcer-element",n=this._document.getElementsByClassName(e),r=this._document.createElement("div");for(let s=0;s<n.length;s++)n[s].remove();return r.classList.add(e),r.classList.add("cdk-visually-hidden"),r.setAttribute("aria-atomic","true"),r.setAttribute("aria-live","polite"),r.id=`cdk-live-announcer-${en++}`,this._document.body.appendChild(r),r}_exposeAnnouncerToModals(e){let n=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let r=0;r<n.length;r++){let s=n[r],a=s.getAttribute("aria-owns");a?a.indexOf(e)===-1&&s.setAttribute("aria-owns",a+" "+e):s.setAttribute("aria-owns",e)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var C=(function(t){return t[t.NONE=0]="NONE",t[t.BLACK_ON_WHITE=1]="BLACK_ON_WHITE",t[t.WHITE_ON_BLACK=2]="WHITE_ON_BLACK",t})(C||{}),ft="cdk-high-contrast-black-on-white",gt="cdk-high-contrast-white-on-black",he="cdk-high-contrast-active",Z=(()=>{class t{_platform=o(D);_hasCheckedHighContrastMode;_document=o(l);_breakpointSubscription;constructor(){this._breakpointSubscription=o(ut).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return C.NONE;let e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);let n=this._document.defaultView||window,r=n&&n.getComputedStyle?n.getComputedStyle(e):null,s=(r&&r.backgroundColor||"").replace(/ /g,"");switch(e.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return C.WHITE_ON_BLACK;case"rgb(255,255,255)":case"rgb(255,250,239)":return C.BLACK_ON_WHITE}return C.NONE}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){let e=this._document.body.classList;e.remove(he,ft,gt),this._hasCheckedHighContrastMode=!0;let n=this.getHighContrastMode();n===C.BLACK_ON_WHITE?e.add(he,ft):n===C.WHITE_ON_BLACK&&e.add(he,gt)}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),nn=(()=>{class t{constructor(){o(Z)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(n){return new(n||t)};static \u0275mod=p({type:t});static \u0275inj=m({imports:[lt]})}return t})();var ge={},rn=(()=>{class t{_appId=o(j);getId(e){return this._appId!=="ng"&&(e+=this._appId),ge.hasOwnProperty(e)||(ge[e]=0),`${e}${ge[e]++}`}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var sn=200,Y=class{_letterKeyStream=new d;_items=[];_selectedItemIndex=-1;_pressedLetters=[];_skipPredicateFn;_selectedItem=new d;selectedItem=this._selectedItem;constructor(i,e){let n=typeof e?.debounceInterval=="number"?e.debounceInterval:sn;e?.skipPredicate&&(this._skipPredicateFn=e.skipPredicate),this.setItems(i),this._setupKeyHandler(n)}destroy(){this._pressedLetters=[],this._letterKeyStream.complete(),this._selectedItem.complete()}setCurrentSelectedItemIndex(i){this._selectedItemIndex=i}setItems(i){this._items=i}handleKey(i){let e=i.keyCode;i.key&&i.key.length===1?this._letterKeyStream.next(i.key.toLocaleUpperCase()):(e>=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))}isTyping(){return this._pressedLetters.length>0}reset(){this._pressedLetters=[]}_setupKeyHandler(i){this._letterKeyStream.pipe(Se(e=>this._pressedLetters.push(e)),w(i),x(()=>this._pressedLetters.length>0),A(()=>this._pressedLetters.join("").toLocaleUpperCase())).subscribe(e=>{for(let n=1;n<this._items.length+1;n++){let r=(this._selectedItemIndex+n)%this._items.length,s=this._items[r];if(!this._skipPredicateFn?.(s)&&s.getLabel?.().toLocaleUpperCase().trim().indexOf(e)===0){this._selectedItem.next(s);break}}this._pressedLetters=[]})}};var M=class{_items;_activeItemIndex=O(-1);_activeItem=O(null);_wrap=!1;_typeaheadSubscription=Ee.EMPTY;_itemChangesSubscription;_vertical=!0;_horizontal;_allowedModifierKeys=[];_homeAndEnd=!1;_pageUpAndDown={enabled:!1,delta:10};_effectRef;_typeahead;_skipPredicateFn=i=>i.disabled;constructor(i,e){this._items=i,i instanceof ee?this._itemChangesSubscription=i.changes.subscribe(n=>this._itemsChanged(n.toArray())):Q(i)&&(this._effectRef=xe(()=>this._itemsChanged(i()),{injector:e}))}tabOut=new d;change=new d;skipPredicate(i){return this._skipPredicateFn=i,this}withWrap(i=!0){return this._wrap=i,this}withVerticalOrientation(i=!0){return this._vertical=i,this}withHorizontalOrientation(i){return this._horizontal=i,this}withAllowedModifierKeys(i){return this._allowedModifierKeys=i,this}withTypeAhead(i=200){this._typeaheadSubscription.unsubscribe();let e=this._getItemsArray();return this._typeahead=new Y(e,{debounceInterval:typeof i=="number"?i:void 0,skipPredicate:n=>this._skipPredicateFn(n)}),this._typeaheadSubscription=this._typeahead.selectedItem.subscribe(n=>{this.setActiveItem(n)}),this}cancelTypeahead(){return this._typeahead?.reset(),this}withHomeAndEnd(i=!0){return this._homeAndEnd=i,this}withPageUpDown(i=!0,e=10){return this._pageUpAndDown={enabled:i,delta:e},this}setActiveItem(i){let e=this._activeItem();this.updateActiveItem(i),this._activeItem()!==e&&this.change.next(this._activeItemIndex())}onKeydown(i){let e=i.keyCode,r=["altKey","ctrlKey","metaKey","shiftKey"].every(s=>!i[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(e){case 9:this.tabOut.next();return;case 40:if(this._vertical&&r){this.setNextItemActive();break}else return;case 38:if(this._vertical&&r){this.setPreviousItemActive();break}else return;case 39:if(this._horizontal&&r){this._horizontal==="rtl"?this.setPreviousItemActive():this.setNextItemActive();break}else return;case 37:if(this._horizontal&&r){this._horizontal==="rtl"?this.setNextItemActive():this.setPreviousItemActive();break}else return;case 36:if(this._homeAndEnd&&r){this.setFirstItemActive();break}else return;case 35:if(this._homeAndEnd&&r){this.setLastItemActive();break}else return;case 33:if(this._pageUpAndDown.enabled&&r){let s=this._activeItemIndex()-this._pageUpAndDown.delta;this._setActiveItemByIndex(s>0?s:0,1);break}else return;case 34:if(this._pageUpAndDown.enabled&&r){let s=this._activeItemIndex()+this._pageUpAndDown.delta,a=this._getItemsArray().length;this._setActiveItemByIndex(s<a?s:a-1,-1);break}else return;default:(r||Xe(i,"shiftKey"))&&this._typeahead?.handleKey(i);return}this._typeahead?.reset(),i.preventDefault()}get activeItemIndex(){return this._activeItemIndex()}get activeItem(){return this._activeItem()}isTyping(){return!!this._typeahead&&this._typeahead.isTyping()}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._getItemsArray().length-1,-1)}setNextItemActive(){this._activeItemIndex()<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex()<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(i){let e=this._getItemsArray(),n=typeof i=="number"?i:e.indexOf(i),r=e[n];this._activeItem.set(r??null),this._activeItemIndex.set(n),this._typeahead?.setCurrentSelectedItemIndex(n)}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._effectRef?.destroy(),this._typeahead?.destroy(),this.tabOut.complete(),this.change.complete()}_setActiveItemByDelta(i){this._wrap?this._setActiveInWrapMode(i):this._setActiveInDefaultMode(i)}_setActiveInWrapMode(i){let e=this._getItemsArray();for(let n=1;n<=e.length;n++){let r=(this._activeItemIndex()+i*n+e.length)%e.length,s=e[r];if(!this._skipPredicateFn(s)){this.setActiveItem(r);return}}}_setActiveInDefaultMode(i){this._setActiveItemByIndex(this._activeItemIndex()+i,i)}_setActiveItemByIndex(i,e){let n=this._getItemsArray();if(n[i]){for(;this._skipPredicateFn(n[i]);)if(i+=e,!n[i])return;this.setActiveItem(i)}}_getItemsArray(){return Q(this._items)?this._items():this._items instanceof ee?this._items.toArray():this._items}_itemsChanged(i){this._typeahead?.setItems(i);let e=this._activeItem();if(e){let n=i.indexOf(e);n>-1&&n!==this._activeItemIndex()&&(this._activeItemIndex.set(n),this._typeahead?.setCurrentSelectedItemIndex(n))}}};var me=class extends M{setActiveItem(i){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(i),this.activeItem&&this.activeItem.setActiveStyles()}};var pe=class extends M{_origin="program";setFocusOrigin(i){return this._origin=i,this}setActiveItem(i){super.setActiveItem(i),this.activeItem&&this.activeItem.focus(this._origin)}};var Et=" ";function on(t,i,e){let n=q(t,i);e=e.trim(),!n.some(r=>r.trim()===e)&&(n.push(e),t.setAttribute(i,n.join(Et)))}function an(t,i,e){let n=q(t,i);e=e.trim();let r=n.filter(s=>s!==e);r.length?t.setAttribute(i,r.join(Et)):t.removeAttribute(i)}function q(t,i){return t.getAttribute(i)?.match(/\S+/g)??[]}var bt="cdk-describedby-message",X="cdk-describedby-host",_e=0,Ns=(()=>{class t{_platform=o(D);_document=o(l);_messageRegistry=new Map;_messagesContainer=null;_id=`${_e++}`;constructor(){o(k).load(W),this._id=o(j)+"-"+_e++}describe(e,n,r){if(!this._canBeDescribed(e,n))return;let s=De(n,r);typeof n!="string"?(yt(n,this._id),this._messageRegistry.set(s,{messageElement:n,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(n,r),this._isElementDescribedByMessage(e,s)||this._addMessageReference(e,s)}removeDescription(e,n,r){if(!n||!this._isElementNode(e))return;let s=De(n,r);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),typeof n=="string"){let a=this._messageRegistry.get(s);a&&a.referenceCount===0&&this._deleteMessageElement(s)}this._messagesContainer?.childNodes.length===0&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){let e=this._document.querySelectorAll(`[${X}="${this._id}"]`);for(let n=0;n<e.length;n++)this._removeCdkDescribedByReferenceIds(e[n]),e[n].removeAttribute(X);this._messagesContainer?.remove(),this._messagesContainer=null,this._messageRegistry.clear()}_createMessageElement(e,n){let r=this._document.createElement("div");yt(r,this._id),r.textContent=e,n&&r.setAttribute("role",n),this._createMessagesContainer(),this._messagesContainer.appendChild(r),this._messageRegistry.set(De(e,n),{messageElement:r,referenceCount:0})}_deleteMessageElement(e){this._messageRegistry.get(e)?.messageElement?.remove(),this._messageRegistry.delete(e)}_createMessagesContainer(){if(this._messagesContainer)return;let e="cdk-describedby-message-container",n=this._document.querySelectorAll(`.${e}[platform="server"]`);for(let s=0;s<n.length;s++)n[s].remove();let r=this._document.createElement("div");r.style.visibility="hidden",r.classList.add(e),r.classList.add("cdk-visually-hidden"),this._platform.isBrowser||r.setAttribute("platform","server"),this._document.body.appendChild(r),this._messagesContainer=r}_removeCdkDescribedByReferenceIds(e){let n=q(e,"aria-describedby").filter(r=>r.indexOf(bt)!=0);e.setAttribute("aria-describedby",n.join(" "))}_addMessageReference(e,n){let r=this._messageRegistry.get(n);on(e,"aria-describedby",r.messageElement.id),e.setAttribute(X,this._id),r.referenceCount++}_removeMessageReference(e,n){let r=this._messageRegistry.get(n);r.referenceCount--,an(e,"aria-describedby",r.messageElement.id),e.removeAttribute(X)}_isElementDescribedByMessage(e,n){let r=q(e,"aria-describedby"),s=this._messageRegistry.get(n),a=s&&s.messageElement.id;return!!a&&r.indexOf(a)!=-1}_canBeDescribed(e,n){if(!this._isElementNode(e))return!1;if(n&&typeof n=="object")return!0;let r=n==null?"":`${n}`.trim(),s=e.getAttribute("aria-label");return r?!s||s.trim()!==r:!1}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function De(t,i){return typeof t=="string"?`${i||""}/${t}`:t}function yt(t,i){t.id||(t.id=`${bt}-${i}-${_e++}`)}var un=new f("cdk-dir-doc",{providedIn:"root",factory:cn});function cn(){return o(l)}var dn=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function Ct(t){let i=t?.toLowerCase()||"";return i==="auto"&&typeof navigator<"u"&&navigator?.language?dn.test(navigator.language)?"rtl":"ltr":i==="rtl"?"rtl":"ltr"}var ln=(()=>{class t{get value(){return this.valueSignal()}valueSignal=O("ltr");change=new I;constructor(){let e=o(un,{optional:!0});if(e){let n=e.body?e.body.dir:null,r=e.documentElement?e.documentElement.dir:null;this.valueSignal.set(Ct(n||r||"ltr"))}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=u({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ye=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=p({type:t});static \u0275inj=m({})}return t})();var Qs=(()=>{class t{constructor(){o(Z)._applyBodyHighContrastModeCssClasses()}static \u0275fac=function(n){return new(n||t)};static \u0275mod=p({type:t});static \u0275inj=m({imports:[ye,ye]})}return t})();export{H as a,vt as b,ne as c,z as d,We as e,St as f,Tt as g,Mt as h,Lt as i,se as j,Nt as k,oe as l,ae as m,Hi as n,S as o,D as p,Qe as q,Je as r,T as s,st as t,Bt as u,k as v,W as w,le as x,xt as y,ut as z,xr as A,lt as B,Vt as C,Jt as D,tn as E,nn as F,rn as G,Xe as H,me as I,pe as J,on as K,an as L,Ns as M,ln as N,ye as O,Qs as P};