daimon 0.7.0 → 0.8.1

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 (48) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/dist/cli.js +178 -74
  3. package/dist/dashboard/browser/{chunk-YNCTXEXX.js → chunk-2BXIFQGQ.js} +1 -1
  4. package/dist/dashboard/browser/{chunk-6BDWIJ3G.js → chunk-3WKRVGPT.js} +1 -1
  5. package/dist/dashboard/browser/chunk-44JIQO3X.js +1 -0
  6. package/dist/dashboard/browser/chunk-4BAKWDAV.js +1 -0
  7. package/dist/dashboard/browser/chunk-4OCNYL7T.js +1 -0
  8. package/dist/dashboard/browser/chunk-6WZJCF24.js +1 -0
  9. package/dist/dashboard/browser/chunk-7C772RJ3.js +3 -0
  10. package/dist/dashboard/browser/{chunk-25VLDASM.js → chunk-7NPLP3QD.js} +1 -1
  11. package/dist/dashboard/browser/chunk-A4BNXJUT.js +1 -0
  12. package/dist/dashboard/browser/{chunk-YA4AZONZ.js → chunk-CM4RQF3A.js} +1 -1
  13. package/dist/dashboard/browser/chunk-CY5YRTQK.js +1 -0
  14. package/dist/dashboard/browser/{chunk-5PAHWCG5.js → chunk-EIWOTZT3.js} +1 -1
  15. package/dist/dashboard/browser/{chunk-ZEO5YLWG.js → chunk-GYWEXV2L.js} +1 -1
  16. package/dist/dashboard/browser/chunk-H2N3RBHF.js +1 -0
  17. package/dist/dashboard/browser/{chunk-RIDV4B55.js → chunk-H3L4MTG4.js} +1 -1
  18. package/dist/dashboard/browser/{chunk-ZVUH3ISD.js → chunk-I65I7J5Q.js} +1 -1
  19. package/dist/dashboard/browser/chunk-K7S4ITPJ.js +2 -0
  20. package/dist/dashboard/browser/chunk-KL6X73FV.js +1 -0
  21. package/dist/dashboard/browser/{chunk-Q3N4MMWW.js → chunk-LBL7Z5BE.js} +4 -4
  22. package/dist/dashboard/browser/chunk-LHAMBNO6.js +1 -0
  23. package/dist/dashboard/browser/chunk-NX6DTO32.js +1 -0
  24. package/dist/dashboard/browser/chunk-P5IE6DI6.js +2 -0
  25. package/dist/dashboard/browser/chunk-PMAG4W5W.js +1 -0
  26. package/dist/dashboard/browser/{chunk-SR5JAOLW.js → chunk-Q772THBA.js} +1 -1
  27. package/dist/dashboard/browser/{chunk-OUXULJ3Z.js → chunk-QSBOKS53.js} +1 -1
  28. package/dist/dashboard/browser/{chunk-HYGMRGYR.js → chunk-V2KNRAE4.js} +1 -1
  29. package/dist/dashboard/browser/{chunk-GDJOSLWM.js → chunk-VM2FOT77.js} +1 -1
  30. package/dist/dashboard/browser/index.html +1 -1
  31. package/dist/dashboard/browser/main-O76X7RMS.js +1 -0
  32. package/dist/main.js +58 -48
  33. package/dist/mcp.js +3 -3
  34. package/package.json +2 -2
  35. package/src/templates/claude/skill.md.tmpl +4 -1
  36. package/src/templates/plugins/example-doctor.mjs +45 -0
  37. package/dist/dashboard/browser/chunk-6C6GHU3A.js +0 -1
  38. package/dist/dashboard/browser/chunk-BDYOKQF3.js +0 -1
  39. package/dist/dashboard/browser/chunk-HYIZMKSF.js +0 -1
  40. package/dist/dashboard/browser/chunk-IQZZO5IM.js +0 -3
  41. package/dist/dashboard/browser/chunk-J5UK77OJ.js +0 -1
  42. package/dist/dashboard/browser/chunk-JI63U3KC.js +0 -2
  43. package/dist/dashboard/browser/chunk-L2PHC6DL.js +0 -1
  44. package/dist/dashboard/browser/chunk-MHYQENOC.js +0 -1
  45. package/dist/dashboard/browser/chunk-UU5K6ZPO.js +0 -1
  46. package/dist/dashboard/browser/chunk-XXIJQBCQ.js +0 -2
  47. package/dist/dashboard/browser/chunk-ZDNBWNU5.js +0 -1
  48. package/dist/dashboard/browser/main-IDF27PFI.js +0 -1
@@ -1,4 +1,4 @@
1
- import{a as W,b as mt}from"./chunk-LBRCWYRN.js";import{a as we}from"./chunk-WAN7TQQW.js";import{a as ue,b as he}from"./chunk-CILFSVSP.js";import{a as ve,b as ye}from"./chunk-25VLDASM.js";import{a as Me}from"./chunk-PJPGLT4T.js";import{d as ge}from"./chunk-RIDV4B55.js";import{d as wt}from"./chunk-OHX55ZU4.js";import{a as fe,b as Ce,c as xe,d as ke,e as Te}from"./chunk-SR5JAOLW.js";import{a as pe,b as be}from"./chunk-XXIJQBCQ.js";import"./chunk-YNQPX5G6.js";import{c as le,d as de,j as ce,l as me,m as Tt}from"./chunk-IQZZO5IM.js";import{m as ct}from"./chunk-KLH6B22T.js";import{c as te}from"./chunk-5PAHWCG5.js";import{c as dt,i as se,j as _e}from"./chunk-Q3N4MMWW.js";import{A as ie,G as ae,H as oe,J as re,N as xt,P as kt,p as Ct,u as ee,v as ne}from"./chunk-Y6B6X4Y6.js";import{$b as v,A as Ft,Aa as J,B as Y,C as Vt,Ca as Q,Cb as Ut,Da as jt,Db as O,Eb as b,Ec as st,Fb as _,G as Nt,Gb as nt,Hb as $,Hc as I,Ib as E,Ic as lt,Jb as S,Kb as g,Lb as o,Mb as r,Nb as x,Ob as Zt,Pb as Yt,Qb as Xt,S as Ht,Sb as P,T as X,U as zt,Ub as k,V as j,Wa as ft,Wb as c,Xb as it,Yb as at,Zb as K,_a as d,_b as T,a as _t,aa as Qt,ac as y,b as ut,ca as z,d as V,db as D,ea as m,eb as G,ec as vt,f as Bt,fb as tt,fc as ot,gb as et,gc as w,hc as rt,i as Z,ib as gt,ic as l,ja as u,jc as f,ka as h,kc as L,lb as Gt,m as Lt,na as ht,o as Ot,pa as $t,pb as A,qb as qt,rb as H,rc as U,s as N,sb as q,sc as Jt,ta as R,ub as B,vb as Kt,xc as M,yc as yt,za as Wt}from"./chunk-K43KW4K2.js";var Et=["*"];function Ne(n,a){n&1&&at(0)}var He=["tabListContainer"],ze=["tabList"],Qe=["tabListInner"],$e=["nextPaginator"],We=["previousPaginator"],je=["content"];function Ge(n,a){}var qe=["tabBodyWrapper"],Ke=["tabHeader"];function Ue(n,a){}function Ze(n,a){if(n&1&&B(0,Ue,0,0,"ng-template",12),n&2){let t=c().$implicit;g("cdkPortalOutlet",t.templateLabel)}}function Ye(n,a){if(n&1&&l(0),n&2){let t=c().$implicit;f(t.textLabel)}}function Xe(n,a){if(n&1){let t=P();o(0,"div",7,2),k("click",function(){let i=u(t),s=i.$implicit,p=i.$index,C=c(),F=vt(1);return h(C._handleClick(s,F,p))})("cdkFocusChange",function(i){let s=u(t).$index,p=c();return h(p._tabFocusChanged(i,s))}),x(2,"span",8)(3,"div",9),o(4,"span",10)(5,"span",11),b(6,Ze,1,1,null,12)(7,Ye,1,1),r()()()}if(n&2){let t=a.$implicit,e=a.$index,i=vt(1),s=c();rt(t.labelClass),w("mdc-tab--active",s.selectedIndex===e),g("id",s._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",s.fitInkBarToContent),O("tabIndex",s._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",s._tabs.length)("aria-controls",s._getTabContentId(e))("aria-selected",s.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),d(3),g("matRippleTrigger",i)("matRippleDisabled",t.disabled||s.disableRipple),d(3),_(t.templateLabel?6:7)}}function Je(n,a){n&1&&at(0)}function tn(n,a){if(n&1){let t=P();o(0,"mat-tab-body",13),k("_onCentered",function(){u(t);let i=c();return h(i._removeTabBodyWrapperHeight())})("_onCentering",function(i){u(t);let s=c();return h(s._setTabBodyWrapperHeight(i))})("_beforeCentering",function(i){u(t);let s=c();return h(s._bodyCentered(i))}),r()}if(n&2){let t=a.$implicit,e=a.$index,i=c();rt(t.bodyClass),g("id",i._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",i.animationDuration)("preserveContent",i.preserveContent),O("tabindex",i.contentTabIndex!=null&&i.selectedIndex===e?i.contentTabIndex:null)("aria-labelledby",i._getTabLabelId(t,e))("aria-hidden",i.selectedIndex!==e)}}var en=new z("MatTabContent"),nn=(()=>{class n{template=m(et);constructor(){}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,selectors:[["","matTabContent",""]],features:[U([{provide:en,useExisting:n}])]})}return n})(),an=new z("MatTabLabel"),Se=new z("MAT_TAB"),St=(()=>{class n extends me{_closestTab=m(Se,{optional:!0});static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275dir=H({type:n,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[U([{provide:an,useExisting:n}]),q]})}return n})(),Re=new z("MAT_TAB_GROUP"),Rt=(()=>{class n{_viewContainerRef=m(Gt);_closestTabGroup=m(Re,{optional:!0});disabled=!1;get templateLabel(){return this._templateLabel}set templateLabel(t){this._setTemplateLabelInput(t)}_templateLabel;_explicitContent=void 0;_implicitContent;textLabel="";ariaLabel;ariaLabelledby;labelClass;bodyClass;id=null;_contentPortal=null;get content(){return this._contentPortal}_stateChanges=new Z;position=null;origin=null;isActive=!1;constructor(){m(ne).load(fe)}ngOnChanges(t){(t.hasOwnProperty("textLabel")||t.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new ce(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(t){t&&t._closestTab===this&&(this._templateLabel=t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["mat-tab"]],contentQueries:function(e,i,s){if(e&1&&(K(s,St,5),K(s,nn,7,et)),e&2){let p;v(p=y())&&(i.templateLabel=p.first),v(p=y())&&(i._explicitContent=p.first)}},viewQuery:function(e,i){if(e&1&&T(et,7),e&2){let s;v(s=y())&&(i._implicitContent=s.first)}},hostAttrs:["hidden",""],hostVars:1,hostBindings:function(e,i){e&2&&O("id",null)},inputs:{disabled:[2,"disabled","disabled",I],textLabel:[0,"label","textLabel"],ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass",id:"id"},exportAs:["matTab"],features:[U([{provide:Se,useExisting:n}]),Wt],ngContentSelectors:Et,decls:1,vars:0,template:function(e,i){e&1&&(it(),Kt(0,Ne,1,0,"ng-template"))},encapsulation:2})}return n})(),Mt="mdc-tab-indicator--active",Ie="mdc-tab-indicator--no-transition",It=class{_items;_currentItem;constructor(a){this._items=a}hide(){this._items.forEach(a=>a.deactivateInkBar()),this._currentItem=void 0}alignToElement(a){let t=this._items.find(i=>i.elementRef.nativeElement===a),e=this._currentItem;if(t!==e&&(e?.deactivateInkBar(),t)){let i=e?.elementRef.nativeElement.getBoundingClientRect?.();t.activateInkBar(i),this._currentItem=t}}},on=(()=>{class n{_elementRef=m(Q);_inkBarElement;_inkBarContentElement;_fitToContent=!1;get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(t){this._fitToContent!==t&&(this._fitToContent=t,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(t){let e=this._elementRef.nativeElement;if(!t||!e.getBoundingClientRect||!this._inkBarContentElement){e.classList.add(Mt);return}let i=e.getBoundingClientRect(),s=t.width/i.width,p=t.left-i.left;e.classList.add(Ie),this._inkBarContentElement.style.setProperty("transform",`translateX(${p}px) scaleX(${s})`),e.getBoundingClientRect(),e.classList.remove(Ie),e.classList.add(Mt),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this._elementRef.nativeElement.classList.remove(Mt)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){let t=this._elementRef.nativeElement.ownerDocument||document,e=this._inkBarElement=t.createElement("span"),i=this._inkBarContentElement=t.createElement("span");e.className="mdc-tab-indicator",i.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",e.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){this._inkBarElement;let t=this._fitToContent?this._elementRef.nativeElement.querySelector(".mdc-tab__content"):this._elementRef.nativeElement;t.appendChild(this._inkBarElement)}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",I]}})}return n})();var Ae=(()=>{class n extends on{elementRef=m(Q);disabled=!1;focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275dir=H({type:n,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){e&2&&(O("aria-disabled",!!i.disabled),w("mat-mdc-tab-disabled",i.disabled))},inputs:{disabled:[2,"disabled","disabled",I]},features:[q]})}return n})(),De={passive:!0},rn=650,sn=100,ln=(()=>{class n{_elementRef=m(Q);_changeDetectorRef=m(st);_viewportRuler=m(de);_dir=m(xt,{optional:!0});_ngZone=m(G);_platform=m(Ct);_sharedResizeObserver=m(Me);_injector=m(ht);_renderer=m(gt);_animationsDisabled=ct();_eventCleanups;_scrollDistance=0;_selectedIndexChanged=!1;_destroyed=new Z;_showPaginationControls=!1;_disableScrollAfter=!0;_disableScrollBefore=!0;_tabLabelCount;_scrollDistanceChanged;_keyManager;_currentTextContent;_stopScrolling=new Z;disablePagination=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){let e=isNaN(t)?0:t;this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}_selectedIndex=0;selectFocusedIndex=new D;indexFocused=new D;constructor(){this._eventCleanups=this._ngZone.runOutsideAngular(()=>[this._renderer.listen(this._elementRef.nativeElement,"mouseleave",()=>this._stopInterval())])}ngAfterViewInit(){this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("before"),De),this._renderer.listen(this._nextPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("after"),De))}ngAfterContentInit(){let t=this._dir?this._dir.change:Ot("ltr"),e=this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(Nt(32),j(this._destroyed)),i=this._viewportRuler.change(150).pipe(j(this._destroyed)),s=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new re(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(Math.max(this._selectedIndex,0)),tt(s,{injector:this._injector}),Y(t,i,e,this._items.changes,this._itemsResized()).pipe(j(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),s()})}),this._keyManager?.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(p=>{this.indexFocused.emit(p),this._setTabFocus(p)})}_itemsResized(){return typeof ResizeObserver!="function"?Lt:this._items.changes.pipe(X(this._items),zt(t=>new Bt(e=>this._ngZone.runOutsideAngular(()=>{let i=new ResizeObserver(s=>e.next(s));return t.forEach(s=>i.observe(s.elementRef.nativeElement)),()=>{i.disconnect()}}))),Ht(1),Vt(t=>t.some(e=>e.contentRect.width>0&&e.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._eventCleanups.forEach(t=>t()),this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(t){if(!oe(t))switch(t.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){let e=this._items.get(this.focusIndex);e&&!e.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(t))}break;default:this._keyManager?.onKeydown(t)}}_onContentChanges(){let t=this._elementRef.nativeElement.textContent;t!==this._currentTextContent&&(this._currentTextContent=t||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(t){!this._isValidIndex(t)||this.focusIndex===t||!this._keyManager||this._keyManager.setActiveItem(t)}_isValidIndex(t){return this._items?!!this._items.toArray()[t]:!0}_setTabFocus(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._items&&this._items.length){this._items.toArray()[t].focus();let e=this._tabListContainer.nativeElement;this._getLayoutDirection()=="ltr"?e.scrollLeft=0:e.scrollLeft=e.scrollWidth-e.offsetWidth}}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;let t=this.scrollDistance,e=this._getLayoutDirection()==="ltr"?-t:t;this._tabList.nativeElement.style.transform=`translateX(${Math.round(e)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(t){this._scrollTo(t)}_scrollHeader(t){let e=this._tabListContainer.nativeElement.offsetWidth,i=(t=="before"?-1:1)*e/3;return this._scrollTo(this._scrollDistance+i)}_handlePaginatorClick(t){this._stopInterval(),this._scrollHeader(t)}_scrollToLabel(t){if(this.disablePagination)return;let e=this._items?this._items.toArray()[t]:null;if(!e)return;let i=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:s,offsetWidth:p}=e.elementRef.nativeElement,C,F;this._getLayoutDirection()=="ltr"?(C=s,F=C+p):(F=this._tabListInner.nativeElement.offsetWidth-s,C=F-p);let bt=this.scrollDistance,At=this.scrollDistance+i;C<bt?this.scrollDistance-=bt-C:F>At&&(this.scrollDistance+=Math.min(F-At,C-bt))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{let t=this._tabListInner.nativeElement.scrollWidth,e=this._elementRef.nativeElement.offsetWidth,i=t-e>=5;i||(this.scrollDistance=0),i!==this._showPaginationControls&&(this._showPaginationControls=i,this._changeDetectorRef.markForCheck())}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=this.scrollDistance==0,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){let t=this._tabListInner.nativeElement.scrollWidth,e=this._tabListContainer.nativeElement.offsetWidth;return t-e||0}_alignInkBarToSelectedTab(){let t=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,e=t?t.elementRef.nativeElement:null;e?this._inkBar.alignToElement(e):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(t,e){e&&e.button!=null&&e.button!==0||(this._stopInterval(),Ft(rn,sn).pipe(j(Y(this._stopScrolling,this._destroyed))).subscribe(()=>{let{maxScrollDistance:i,distance:s}=this._scrollHeader(t);(s===0||s>=i)&&this._stopInterval()}))}_scrollTo(t){if(this.disablePagination)return{maxScrollDistance:0,distance:0};let e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,inputs:{disablePagination:[2,"disablePagination","disablePagination",I],selectedIndex:[2,"selectedIndex","selectedIndex",lt]},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"}})}return n})(),dn=(()=>{class n extends ln{_items;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;ariaLabel;ariaLabelledby;disableRipple=!1;ngAfterContentInit(){this._inkBar=new It(this._items),super.ngAfterContentInit()}_itemSelected(t){t.preventDefault()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275cmp=A({type:n,selectors:[["mat-tab-header"]],contentQueries:function(e,i,s){if(e&1&&K(s,Ae,4),e&2){let p;v(p=y())&&(i._items=p)}},viewQuery:function(e,i){if(e&1&&(T(He,7),T(ze,7),T(Qe,7),T($e,5),T(We,5)),e&2){let s;v(s=y())&&(i._tabListContainer=s.first),v(s=y())&&(i._tabList=s.first),v(s=y())&&(i._tabListInner=s.first),v(s=y())&&(i._nextPaginator=s.first),v(s=y())&&(i._previousPaginator=s.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,i){e&2&&w("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl",i._getLayoutDirection()=="rtl")},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],disableRipple:[2,"disableRipple","disableRipple",I]},features:[q],ngContentSelectors:Et,decls:13,vars:10,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-labels"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(e,i){if(e&1){let s=P();it(),o(0,"div",5,0),k("click",function(){return u(s),h(i._handlePaginatorClick("before"))})("mousedown",function(C){return u(s),h(i._handlePaginatorPress("before",C))})("touchend",function(){return u(s),h(i._stopInterval())}),x(2,"div",6),r(),o(3,"div",7,1),k("keydown",function(C){return u(s),h(i._handleKeydown(C))}),o(5,"div",8,2),k("cdkObserveContent",function(){return u(s),h(i._onContentChanges())}),o(7,"div",9,3),at(9),r()()(),o(10,"div",10,4),k("mousedown",function(C){return u(s),h(i._handlePaginatorPress("after",C))})("click",function(){return u(s),h(i._handlePaginatorClick("after"))})("touchend",function(){return u(s),h(i._stopInterval())}),x(12,"div",6),r()}e&2&&(w("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),g("matRippleDisabled",i._disableScrollBefore||i.disableRipple),d(3),w("_mat-animation-noopable",i._animationsDisabled),d(2),O("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby||null),d(5),w("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),g("matRippleDisabled",i._disableScrollAfter||i.disableRipple))},dependencies:[wt,ie],styles:[`.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-divider-height, 1px);border-bottom-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-divider-height, 1px);border-top-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mat-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}}
1
+ import{a as W,b as mt}from"./chunk-LBRCWYRN.js";import{a as we}from"./chunk-WAN7TQQW.js";import{a as ue,b as he}from"./chunk-CILFSVSP.js";import{a as ve,b as ye}from"./chunk-7NPLP3QD.js";import{a as Me}from"./chunk-PJPGLT4T.js";import{d as ge}from"./chunk-H3L4MTG4.js";import{d as wt}from"./chunk-OHX55ZU4.js";import{a as fe,b as Ce,c as xe,d as ke,e as Te}from"./chunk-Q772THBA.js";import{a as pe,b as be}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import{c as le,d as de}from"./chunk-7C772RJ3.js";import{b as ce,e as me,f as Tt}from"./chunk-6WZJCF24.js";import{m as ct}from"./chunk-KLH6B22T.js";import{c as te}from"./chunk-EIWOTZT3.js";import{c as dt,i as se,j as _e}from"./chunk-LBL7Z5BE.js";import{A as ie,G as ae,H as oe,J as re,N as xt,P as kt,p as Ct,u as ee,v as ne}from"./chunk-Y6B6X4Y6.js";import{$b as v,A as Ft,Aa as J,B as Y,C as Vt,Ca as Q,Cb as Ut,Da as jt,Db as O,Eb as b,Ec as st,Fb as _,G as Nt,Gb as nt,Hb as $,Hc as I,Ib as E,Ic as lt,Jb as S,Kb as g,Lb as o,Mb as r,Nb as x,Ob as Zt,Pb as Yt,Qb as Xt,S as Ht,Sb as P,T as X,U as zt,Ub as k,V as j,Wa as ft,Wb as c,Xb as it,Yb as at,Zb as K,_a as d,_b as T,a as _t,aa as Qt,ac as y,b as ut,ca as z,d as V,db as D,ea as m,eb as G,ec as vt,f as Bt,fb as tt,fc as ot,gb as et,gc as w,hc as rt,i as Z,ib as gt,ic as l,ja as u,jc as f,ka as h,kc as L,lb as Gt,m as Lt,na as ht,o as Ot,pa as $t,pb as A,qb as qt,rb as H,rc as U,s as N,sb as q,sc as Jt,ta as R,ub as B,vb as Kt,xc as M,yc as yt,za as Wt}from"./chunk-K43KW4K2.js";var Et=["*"];function Ne(n,a){n&1&&at(0)}var He=["tabListContainer"],ze=["tabList"],Qe=["tabListInner"],$e=["nextPaginator"],We=["previousPaginator"],je=["content"];function Ge(n,a){}var qe=["tabBodyWrapper"],Ke=["tabHeader"];function Ue(n,a){}function Ze(n,a){if(n&1&&B(0,Ue,0,0,"ng-template",12),n&2){let t=c().$implicit;g("cdkPortalOutlet",t.templateLabel)}}function Ye(n,a){if(n&1&&l(0),n&2){let t=c().$implicit;f(t.textLabel)}}function Xe(n,a){if(n&1){let t=P();o(0,"div",7,2),k("click",function(){let i=u(t),s=i.$implicit,p=i.$index,C=c(),F=vt(1);return h(C._handleClick(s,F,p))})("cdkFocusChange",function(i){let s=u(t).$index,p=c();return h(p._tabFocusChanged(i,s))}),x(2,"span",8)(3,"div",9),o(4,"span",10)(5,"span",11),b(6,Ze,1,1,null,12)(7,Ye,1,1),r()()()}if(n&2){let t=a.$implicit,e=a.$index,i=vt(1),s=c();rt(t.labelClass),w("mdc-tab--active",s.selectedIndex===e),g("id",s._getTabLabelId(t,e))("disabled",t.disabled)("fitInkBarToContent",s.fitInkBarToContent),O("tabIndex",s._getTabIndex(e))("aria-posinset",e+1)("aria-setsize",s._tabs.length)("aria-controls",s._getTabContentId(e))("aria-selected",s.selectedIndex===e)("aria-label",t.ariaLabel||null)("aria-labelledby",!t.ariaLabel&&t.ariaLabelledby?t.ariaLabelledby:null),d(3),g("matRippleTrigger",i)("matRippleDisabled",t.disabled||s.disableRipple),d(3),_(t.templateLabel?6:7)}}function Je(n,a){n&1&&at(0)}function tn(n,a){if(n&1){let t=P();o(0,"mat-tab-body",13),k("_onCentered",function(){u(t);let i=c();return h(i._removeTabBodyWrapperHeight())})("_onCentering",function(i){u(t);let s=c();return h(s._setTabBodyWrapperHeight(i))})("_beforeCentering",function(i){u(t);let s=c();return h(s._bodyCentered(i))}),r()}if(n&2){let t=a.$implicit,e=a.$index,i=c();rt(t.bodyClass),g("id",i._getTabContentId(e))("content",t.content)("position",t.position)("animationDuration",i.animationDuration)("preserveContent",i.preserveContent),O("tabindex",i.contentTabIndex!=null&&i.selectedIndex===e?i.contentTabIndex:null)("aria-labelledby",i._getTabLabelId(t,e))("aria-hidden",i.selectedIndex!==e)}}var en=new z("MatTabContent"),nn=(()=>{class n{template=m(et);constructor(){}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,selectors:[["","matTabContent",""]],features:[U([{provide:en,useExisting:n}])]})}return n})(),an=new z("MatTabLabel"),Se=new z("MAT_TAB"),St=(()=>{class n extends me{_closestTab=m(Se,{optional:!0});static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275dir=H({type:n,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[U([{provide:an,useExisting:n}]),q]})}return n})(),Re=new z("MAT_TAB_GROUP"),Rt=(()=>{class n{_viewContainerRef=m(Gt);_closestTabGroup=m(Re,{optional:!0});disabled=!1;get templateLabel(){return this._templateLabel}set templateLabel(t){this._setTemplateLabelInput(t)}_templateLabel;_explicitContent=void 0;_implicitContent;textLabel="";ariaLabel;ariaLabelledby;labelClass;bodyClass;id=null;_contentPortal=null;get content(){return this._contentPortal}_stateChanges=new Z;position=null;origin=null;isActive=!1;constructor(){m(ne).load(fe)}ngOnChanges(t){(t.hasOwnProperty("textLabel")||t.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new ce(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(t){t&&t._closestTab===this&&(this._templateLabel=t)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["mat-tab"]],contentQueries:function(e,i,s){if(e&1&&(K(s,St,5),K(s,nn,7,et)),e&2){let p;v(p=y())&&(i.templateLabel=p.first),v(p=y())&&(i._explicitContent=p.first)}},viewQuery:function(e,i){if(e&1&&T(et,7),e&2){let s;v(s=y())&&(i._implicitContent=s.first)}},hostAttrs:["hidden",""],hostVars:1,hostBindings:function(e,i){e&2&&O("id",null)},inputs:{disabled:[2,"disabled","disabled",I],textLabel:[0,"label","textLabel"],ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass",id:"id"},exportAs:["matTab"],features:[U([{provide:Se,useExisting:n}]),Wt],ngContentSelectors:Et,decls:1,vars:0,template:function(e,i){e&1&&(it(),Kt(0,Ne,1,0,"ng-template"))},encapsulation:2})}return n})(),Mt="mdc-tab-indicator--active",Ie="mdc-tab-indicator--no-transition",It=class{_items;_currentItem;constructor(a){this._items=a}hide(){this._items.forEach(a=>a.deactivateInkBar()),this._currentItem=void 0}alignToElement(a){let t=this._items.find(i=>i.elementRef.nativeElement===a),e=this._currentItem;if(t!==e&&(e?.deactivateInkBar(),t)){let i=e?.elementRef.nativeElement.getBoundingClientRect?.();t.activateInkBar(i),this._currentItem=t}}},on=(()=>{class n{_elementRef=m(Q);_inkBarElement;_inkBarContentElement;_fitToContent=!1;get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(t){this._fitToContent!==t&&(this._fitToContent=t,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(t){let e=this._elementRef.nativeElement;if(!t||!e.getBoundingClientRect||!this._inkBarContentElement){e.classList.add(Mt);return}let i=e.getBoundingClientRect(),s=t.width/i.width,p=t.left-i.left;e.classList.add(Ie),this._inkBarContentElement.style.setProperty("transform",`translateX(${p}px) scaleX(${s})`),e.getBoundingClientRect(),e.classList.remove(Ie),e.classList.add(Mt),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this._elementRef.nativeElement.classList.remove(Mt)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){let t=this._elementRef.nativeElement.ownerDocument||document,e=this._inkBarElement=t.createElement("span"),i=this._inkBarContentElement=t.createElement("span");e.className="mdc-tab-indicator",i.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",e.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){this._inkBarElement;let t=this._fitToContent?this._elementRef.nativeElement.querySelector(".mdc-tab__content"):this._elementRef.nativeElement;t.appendChild(this._inkBarElement)}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,inputs:{fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",I]}})}return n})();var Ae=(()=>{class n extends on{elementRef=m(Q);disabled=!1;focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275dir=H({type:n,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){e&2&&(O("aria-disabled",!!i.disabled),w("mat-mdc-tab-disabled",i.disabled))},inputs:{disabled:[2,"disabled","disabled",I]},features:[q]})}return n})(),De={passive:!0},rn=650,sn=100,ln=(()=>{class n{_elementRef=m(Q);_changeDetectorRef=m(st);_viewportRuler=m(de);_dir=m(xt,{optional:!0});_ngZone=m(G);_platform=m(Ct);_sharedResizeObserver=m(Me);_injector=m(ht);_renderer=m(gt);_animationsDisabled=ct();_eventCleanups;_scrollDistance=0;_selectedIndexChanged=!1;_destroyed=new Z;_showPaginationControls=!1;_disableScrollAfter=!0;_disableScrollBefore=!0;_tabLabelCount;_scrollDistanceChanged;_keyManager;_currentTextContent;_stopScrolling=new Z;disablePagination=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){let e=isNaN(t)?0:t;this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}_selectedIndex=0;selectFocusedIndex=new D;indexFocused=new D;constructor(){this._eventCleanups=this._ngZone.runOutsideAngular(()=>[this._renderer.listen(this._elementRef.nativeElement,"mouseleave",()=>this._stopInterval())])}ngAfterViewInit(){this._eventCleanups.push(this._renderer.listen(this._previousPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("before"),De),this._renderer.listen(this._nextPaginator.nativeElement,"touchstart",()=>this._handlePaginatorPress("after"),De))}ngAfterContentInit(){let t=this._dir?this._dir.change:Ot("ltr"),e=this._sharedResizeObserver.observe(this._elementRef.nativeElement).pipe(Nt(32),j(this._destroyed)),i=this._viewportRuler.change(150).pipe(j(this._destroyed)),s=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new re(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(Math.max(this._selectedIndex,0)),tt(s,{injector:this._injector}),Y(t,i,e,this._items.changes,this._itemsResized()).pipe(j(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),s()})}),this._keyManager?.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(p=>{this.indexFocused.emit(p),this._setTabFocus(p)})}_itemsResized(){return typeof ResizeObserver!="function"?Lt:this._items.changes.pipe(X(this._items),zt(t=>new Bt(e=>this._ngZone.runOutsideAngular(()=>{let i=new ResizeObserver(s=>e.next(s));return t.forEach(s=>i.observe(s.elementRef.nativeElement)),()=>{i.disconnect()}}))),Ht(1),Vt(t=>t.some(e=>e.contentRect.width>0&&e.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._eventCleanups.forEach(t=>t()),this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(t){if(!oe(t))switch(t.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){let e=this._items.get(this.focusIndex);e&&!e.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(t))}break;default:this._keyManager?.onKeydown(t)}}_onContentChanges(){let t=this._elementRef.nativeElement.textContent;t!==this._currentTextContent&&(this._currentTextContent=t||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(t){!this._isValidIndex(t)||this.focusIndex===t||!this._keyManager||this._keyManager.setActiveItem(t)}_isValidIndex(t){return this._items?!!this._items.toArray()[t]:!0}_setTabFocus(t){if(this._showPaginationControls&&this._scrollToLabel(t),this._items&&this._items.length){this._items.toArray()[t].focus();let e=this._tabListContainer.nativeElement;this._getLayoutDirection()=="ltr"?e.scrollLeft=0:e.scrollLeft=e.scrollWidth-e.offsetWidth}}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;let t=this.scrollDistance,e=this._getLayoutDirection()==="ltr"?-t:t;this._tabList.nativeElement.style.transform=`translateX(${Math.round(e)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(t){this._scrollTo(t)}_scrollHeader(t){let e=this._tabListContainer.nativeElement.offsetWidth,i=(t=="before"?-1:1)*e/3;return this._scrollTo(this._scrollDistance+i)}_handlePaginatorClick(t){this._stopInterval(),this._scrollHeader(t)}_scrollToLabel(t){if(this.disablePagination)return;let e=this._items?this._items.toArray()[t]:null;if(!e)return;let i=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:s,offsetWidth:p}=e.elementRef.nativeElement,C,F;this._getLayoutDirection()=="ltr"?(C=s,F=C+p):(F=this._tabListInner.nativeElement.offsetWidth-s,C=F-p);let bt=this.scrollDistance,At=this.scrollDistance+i;C<bt?this.scrollDistance-=bt-C:F>At&&(this.scrollDistance+=Math.min(F-At,C-bt))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{let t=this._tabListInner.nativeElement.scrollWidth,e=this._elementRef.nativeElement.offsetWidth,i=t-e>=5;i||(this.scrollDistance=0),i!==this._showPaginationControls&&(this._showPaginationControls=i,this._changeDetectorRef.markForCheck())}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=this.scrollDistance==0,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){let t=this._tabListInner.nativeElement.scrollWidth,e=this._tabListContainer.nativeElement.offsetWidth;return t-e||0}_alignInkBarToSelectedTab(){let t=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,e=t?t.elementRef.nativeElement:null;e?this._inkBar.alignToElement(e):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(t,e){e&&e.button!=null&&e.button!==0||(this._stopInterval(),Ft(rn,sn).pipe(j(Y(this._stopScrolling,this._destroyed))).subscribe(()=>{let{maxScrollDistance:i,distance:s}=this._scrollHeader(t);(s===0||s>=i)&&this._stopInterval()}))}_scrollTo(t){if(this.disablePagination)return{maxScrollDistance:0,distance:0};let e=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(e,t)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:e,distance:this._scrollDistance}}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,inputs:{disablePagination:[2,"disablePagination","disablePagination",I],selectedIndex:[2,"selectedIndex","selectedIndex",lt]},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"}})}return n})(),dn=(()=>{class n extends ln{_items;_tabListContainer;_tabList;_tabListInner;_nextPaginator;_previousPaginator;_inkBar;ariaLabel;ariaLabelledby;disableRipple=!1;ngAfterContentInit(){this._inkBar=new It(this._items),super.ngAfterContentInit()}_itemSelected(t){t.preventDefault()}static \u0275fac=(()=>{let t;return function(i){return(t||(t=J(n)))(i||n)}})();static \u0275cmp=A({type:n,selectors:[["mat-tab-header"]],contentQueries:function(e,i,s){if(e&1&&K(s,Ae,4),e&2){let p;v(p=y())&&(i._items=p)}},viewQuery:function(e,i){if(e&1&&(T(He,7),T(ze,7),T(Qe,7),T($e,5),T(We,5)),e&2){let s;v(s=y())&&(i._tabListContainer=s.first),v(s=y())&&(i._tabList=s.first),v(s=y())&&(i._tabListInner=s.first),v(s=y())&&(i._nextPaginator=s.first),v(s=y())&&(i._previousPaginator=s.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,i){e&2&&w("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl",i._getLayoutDirection()=="rtl")},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],disableRipple:[2,"disableRipple","disableRipple",I]},features:[q],ngContentSelectors:Et,decls:13,vars:10,consts:[["previousPaginator",""],["tabListContainer",""],["tabList",""],["tabListInner",""],["nextPaginator",""],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"click","mousedown","touchend","matRippleDisabled"],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],[1,"mat-mdc-tab-labels"],["mat-ripple","",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"mousedown","click","touchend","matRippleDisabled"]],template:function(e,i){if(e&1){let s=P();it(),o(0,"div",5,0),k("click",function(){return u(s),h(i._handlePaginatorClick("before"))})("mousedown",function(C){return u(s),h(i._handlePaginatorPress("before",C))})("touchend",function(){return u(s),h(i._stopInterval())}),x(2,"div",6),r(),o(3,"div",7,1),k("keydown",function(C){return u(s),h(i._handleKeydown(C))}),o(5,"div",8,2),k("cdkObserveContent",function(){return u(s),h(i._onContentChanges())}),o(7,"div",9,3),at(9),r()()(),o(10,"div",10,4),k("mousedown",function(C){return u(s),h(i._handlePaginatorPress("after",C))})("click",function(){return u(s),h(i._handlePaginatorClick("after"))})("touchend",function(){return u(s),h(i._stopInterval())}),x(12,"div",6),r()}e&2&&(w("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),g("matRippleDisabled",i._disableScrollBefore||i.disableRipple),d(3),w("_mat-animation-noopable",i._animationsDisabled),d(2),O("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby||null),d(5),w("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),g("matRippleDisabled",i._disableScrollAfter||i.disableRipple))},dependencies:[wt,ie],styles:[`.mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mdc-tab-indicator .mdc-tab-indicator__content{transition-duration:var(--mat-tab-animation-duration, 250ms)}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;outline:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-pagination-icon-color, var(--mat-sys-on-surface))}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1;border-bottom-style:solid;border-bottom-width:var(--mat-tab-divider-height, 1px);border-bottom-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-group-inverted-header .mat-mdc-tab-label-container{border-bottom:none;border-top-style:solid;border-top-width:var(--mat-tab-divider-height, 1px);border-top-color:var(--mat-tab-divider-color, var(--mat-sys-surface-variant))}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.cdk-drop-list .mat-mdc-tab-labels,.mat-mdc-tab-labels.cdk-drop-list{min-height:var(--mat-tab-container-height, 48px)}.mat-mdc-tab::before{margin:5px}@media(forced-colors: active){.mat-mdc-tab[aria-disabled=true]{color:GrayText}}
2
2
  `],encapsulation:2})}return n})(),cn=new z("MAT_TABS_CONFIG"),Pe=(()=>{class n extends Tt{_host=m(Dt);_ngZone=m(G);_centeringSub=V.EMPTY;_leavingSub=V.EMPTY;constructor(){super()}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(X(this._host._isCenterPosition())).subscribe(t=>{this._host._content&&t&&!this.hasAttached()&&this._ngZone.run(()=>{Promise.resolve().then(),this.attach(this._host._content)})}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this._ngZone.run(()=>this.detach())})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}static \u0275fac=function(e){return new(e||n)};static \u0275dir=H({type:n,selectors:[["","matTabBodyHost",""]],features:[q]})}return n})(),Dt=(()=>{class n{_elementRef=m(Q);_dir=m(xt,{optional:!0});_ngZone=m(G);_injector=m(ht);_renderer=m(gt);_diAnimationsDisabled=ct();_eventCleanups;_initialized;_fallbackTimer;_positionIndex;_dirChangeSubscription=V.EMPTY;_position;_previousPosition;_onCentering=new D;_beforeCentering=new D;_afterLeavingCenter=new D;_onCentered=new D(!0);_portalHost;_contentElement;_content;animationDuration="500ms";preserveContent=!1;set position(t){this._positionIndex=t,this._computePositionAnimationState()}constructor(){if(this._dir){let t=m(st);this._dirChangeSubscription=this._dir.change.subscribe(e=>{this._computePositionAnimationState(e),t.markForCheck()})}}ngOnInit(){this._bindTransitionEvents(),this._position==="center"&&(this._setActiveClass(!0),tt(()=>this._onCentering.emit(this._elementRef.nativeElement.clientHeight),{injector:this._injector})),this._initialized=!0}ngOnDestroy(){clearTimeout(this._fallbackTimer),this._eventCleanups?.forEach(t=>t()),this._dirChangeSubscription.unsubscribe()}_bindTransitionEvents(){this._ngZone.runOutsideAngular(()=>{let t=this._elementRef.nativeElement,e=i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.remove("mat-tab-body-animating"),i.type==="transitionend"&&this._transitionDone())};this._eventCleanups=[this._renderer.listen(t,"transitionstart",i=>{i.target===this._contentElement?.nativeElement&&(this._elementRef.nativeElement.classList.add("mat-tab-body-animating"),this._transitionStarted())}),this._renderer.listen(t,"transitionend",e),this._renderer.listen(t,"transitioncancel",e)]})}_transitionStarted(){clearTimeout(this._fallbackTimer);let t=this._position==="center";this._beforeCentering.emit(t),t&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_transitionDone(){this._position==="center"?this._onCentered.emit():this._previousPosition==="center"&&this._afterLeavingCenter.emit()}_setActiveClass(t){this._elementRef.nativeElement.classList.toggle("mat-mdc-tab-body-active",t)}_getLayoutDirection(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_isCenterPosition(){return this._positionIndex===0}_computePositionAnimationState(t=this._getLayoutDirection()){this._previousPosition=this._position,this._positionIndex<0?this._position=t=="ltr"?"left":"right":this._positionIndex>0?this._position=t=="ltr"?"right":"left":this._position="center",this._animationsDisabled()?this._simulateTransitionEvents():this._initialized&&(this._position==="center"||this._previousPosition==="center")&&(clearTimeout(this._fallbackTimer),this._fallbackTimer=this._ngZone.runOutsideAngular(()=>setTimeout(()=>this._simulateTransitionEvents(),100)))}_simulateTransitionEvents(){this._transitionStarted(),tt(()=>this._transitionDone(),{injector:this._injector})}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0ms"||this.animationDuration==="0s"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(e&1&&(T(Pe,5),T(je,5)),e&2){let s;v(s=y())&&(i._portalHost=s.first),v(s=y())&&(i._contentElement=s.first)}},hostAttrs:[1,"mat-mdc-tab-body"],hostVars:1,hostBindings:function(e,i){e&2&&O("inert",i._position==="center"?null:"")},inputs:{_content:[0,"content","_content"],animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_onCentered:"_onCentered"},decls:3,vars:6,consts:[["content",""],["cdkScrollable","",1,"mat-mdc-tab-body-content"],["matTabBodyHost",""]],template:function(e,i){e&1&&(o(0,"div",1,0),B(2,Ge,0,0,"ng-template",2),r()),e&2&&w("mat-tab-body-content-left",i._position==="left")("mat-tab-body-content-right",i._position==="right")("mat-tab-body-content-can-animate",i._position==="center"||i._previousPosition==="center")},dependencies:[Pe,le],styles:[`.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto;transform:none;visibility:hidden}.mat-tab-body-animating>.mat-mdc-tab-body-content,.mat-mdc-tab-body-active>.mat-mdc-tab-body-content{visibility:visible}.mat-tab-body-animating>.mat-mdc-tab-body-content{min-height:1px}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-tab-body-content-can-animate{transition:transform var(--mat-tab-animation-duration) 1ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable .mat-tab-body-content-can-animate{transition:none}.mat-tab-body-content-left{transform:translate3d(-100%, 0, 0)}.mat-tab-body-content-right{transform:translate3d(100%, 0, 0)}
3
3
  `],encapsulation:2})}return n})(),Be=(()=>{class n{_elementRef=m(Q);_changeDetectorRef=m(st);_ngZone=m(G);_tabsSubscription=V.EMPTY;_tabLabelSubscription=V.EMPTY;_tabBodySubscription=V.EMPTY;_diAnimationsDisabled=ct();_allTabs;_tabBodies;_tabBodyWrapper;_tabHeader;_tabs=new jt;_indexToSelect=0;_lastFocusedTabIndex=null;_tabBodyWrapperHeight=0;color;get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(t){this._fitInkBarToContent=t,this._changeDetectorRef.markForCheck()}_fitInkBarToContent=!1;stretchTabs=!0;alignTabs=null;dynamicHeight=!1;get selectedIndex(){return this._selectedIndex}set selectedIndex(t){this._indexToSelect=isNaN(t)?null:t}_selectedIndex=null;headerPosition="above";get animationDuration(){return this._animationDuration}set animationDuration(t){let e=t+"";this._animationDuration=/^\d+$/.test(e)?t+"ms":e}_animationDuration;get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(t){this._contentTabIndex=isNaN(t)?null:t}_contentTabIndex;disablePagination=!1;disableRipple=!1;preserveContent=!1;get backgroundColor(){return this._backgroundColor}set backgroundColor(t){let e=this._elementRef.nativeElement.classList;e.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),t&&e.add("mat-tabs-with-background",`mat-background-${t}`),this._backgroundColor=t}_backgroundColor;ariaLabel;ariaLabelledby;selectedIndexChange=new D;focusChange=new D;animationDone=new D;selectedTabChange=new D(!0);_groupId;_isServer=!m(Ct).isBrowser;constructor(){let t=m(cn,{optional:!0});this._groupId=m(ae).getId("mat-tab-group-"),this.animationDuration=t&&t.animationDuration?t.animationDuration:"500ms",this.disablePagination=t&&t.disablePagination!=null?t.disablePagination:!1,this.dynamicHeight=t&&t.dynamicHeight!=null?t.dynamicHeight:!1,t?.contentTabIndex!=null&&(this.contentTabIndex=t.contentTabIndex),this.preserveContent=!!t?.preserveContent,this.fitInkBarToContent=t&&t.fitInkBarToContent!=null?t.fitInkBarToContent:!1,this.stretchTabs=t&&t.stretchTabs!=null?t.stretchTabs:!0,this.alignTabs=t&&t.alignTabs!=null?t.alignTabs:null}ngAfterContentChecked(){let t=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=t){let e=this._selectedIndex==null;if(!e){this.selectedTabChange.emit(this._createChangeEvent(t));let i=this._tabBodyWrapper.nativeElement;i.style.minHeight=i.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((i,s)=>i.isActive=s===t),e||(this.selectedIndexChange.emit(t),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((e,i)=>{e.position=i-t,this._selectedIndex!=null&&e.position==0&&!e.origin&&(e.origin=t-this._selectedIndex)}),this._selectedIndex!==t&&(this._selectedIndex=t,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{let t=this._clampTabIndex(this._indexToSelect);if(t===this._selectedIndex){let e=this._tabs.toArray(),i;for(let s=0;s<e.length;s++)if(e[s].isActive){this._indexToSelect=this._selectedIndex=s,this._lastFocusedTabIndex=null,i=e[s];break}!i&&e[t]&&Promise.resolve().then(()=>{e[t].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(t))})}this._changeDetectorRef.markForCheck()})}ngAfterViewInit(){this._tabBodySubscription=this._tabBodies.changes.subscribe(()=>this._bodyCentered(!0))}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(X(this._allTabs)).subscribe(t=>{this._tabs.reset(t.filter(e=>e._closestTabGroup===this||!e._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe(),this._tabBodySubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(t){let e=this._tabHeader;e&&(e.focusIndex=t)}_focusChanged(t){this._lastFocusedTabIndex=t,this.focusChange.emit(this._createChangeEvent(t))}_createChangeEvent(t){let e=new Pt;return e.index=t,this._tabs&&this._tabs.length&&(e.tab=this._tabs.toArray()[t]),e}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=Y(...this._tabs.map(t=>t._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(t){return Math.min(this._tabs.length-1,Math.max(t||0,0))}_getTabLabelId(t,e){return t.id||`${this._groupId}-label-${e}`}_getTabContentId(t){return`${this._groupId}-content-${t}`}_setTabBodyWrapperHeight(t){if(!this.dynamicHeight||!this._tabBodyWrapperHeight){this._tabBodyWrapperHeight=t;return}let e=this._tabBodyWrapper.nativeElement;e.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(e.style.height=t+"px")}_removeTabBodyWrapperHeight(){let t=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=t.clientHeight,t.style.height="",this._ngZone.run(()=>this.animationDone.emit())}_handleClick(t,e,i){e.focusIndex=i,t.disabled||(this.selectedIndex=i)}_getTabIndex(t){let e=this._lastFocusedTabIndex??this.selectedIndex;return t===e?0:-1}_tabFocusChanged(t,e){t&&t!=="mouse"&&t!=="touch"&&(this._tabHeader.focusIndex=e)}_bodyCentered(t){t&&this._tabBodies?.forEach((e,i)=>e._setActiveClass(i===this._selectedIndex))}_animationsDisabled(){return this._diAnimationsDisabled||this.animationDuration==="0"||this.animationDuration==="0ms"}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=A({type:n,selectors:[["mat-tab-group"]],contentQueries:function(e,i,s){if(e&1&&K(s,Rt,5),e&2){let p;v(p=y())&&(i._allTabs=p)}},viewQuery:function(e,i){if(e&1&&(T(qe,5),T(Ke,5),T(Dt,5)),e&2){let s;v(s=y())&&(i._tabBodyWrapper=s.first),v(s=y())&&(i._tabHeader=s.first),v(s=y())&&(i._tabBodies=s)}},hostAttrs:[1,"mat-mdc-tab-group"],hostVars:11,hostBindings:function(e,i){e&2&&(O("mat-align-tabs",i.alignTabs),rt("mat-"+(i.color||"primary")),ot("--mat-tab-animation-duration",i.animationDuration),w("mat-mdc-tab-group-dynamic-height",i.dynamicHeight)("mat-mdc-tab-group-inverted-header",i.headerPosition==="below")("mat-mdc-tab-group-stretch-tabs",i.stretchTabs))},inputs:{color:"color",fitInkBarToContent:[2,"fitInkBarToContent","fitInkBarToContent",I],stretchTabs:[2,"mat-stretch-tabs","stretchTabs",I],alignTabs:[0,"mat-align-tabs","alignTabs"],dynamicHeight:[2,"dynamicHeight","dynamicHeight",I],selectedIndex:[2,"selectedIndex","selectedIndex",lt],headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:[2,"contentTabIndex","contentTabIndex",lt],disablePagination:[2,"disablePagination","disablePagination",I],disableRipple:[2,"disableRipple","disableRipple",I],preserveContent:[2,"preserveContent","preserveContent",I],backgroundColor:"backgroundColor",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"]},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},exportAs:["matTabGroup"],features:[U([{provide:Re,useExisting:n}])],ngContentSelectors:Et,decls:9,vars:8,consts:[["tabHeader",""],["tabBodyWrapper",""],["tabNode",""],[3,"indexFocused","selectFocusedIndex","selectedIndex","disableRipple","disablePagination","aria-label","aria-labelledby"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"id","mdc-tab--active","class","disabled","fitInkBarToContent"],[1,"mat-mdc-tab-body-wrapper"],["role","tabpanel",3,"id","class","content","position","animationDuration","preserveContent"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-focus-indicator",3,"click","cdkFocusChange","id","disabled","fitInkBarToContent"],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"cdkPortalOutlet"],["role","tabpanel",3,"_onCentered","_onCentering","_beforeCentering","id","content","position","animationDuration","preserveContent"]],template:function(e,i){if(e&1){let s=P();it(),o(0,"mat-tab-header",3,0),k("indexFocused",function(C){return u(s),h(i._focusChanged(C))})("selectFocusedIndex",function(C){return u(s),h(i.selectedIndex=C)}),E(2,Xe,8,17,"div",4,$),r(),b(4,Je,1,0),o(5,"div",5,1),E(7,tn,1,10,"mat-tab-body",6,$),r()}e&2&&(g("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple)("disablePagination",i.disablePagination),Ut("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledby),d(2),S(i._tabs),d(2),_(i._isServer?4:-1),d(),w("_mat-animation-noopable",i._animationsDisabled()),d(2),S(i._tabs))},dependencies:[dn,Ae,ee,wt,Tt,Dt],styles:[`.mdc-tab{min-width:90px;padding:0 24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;z-index:1;touch-action:manipulation}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab--active .mdc-tab__text-label{transition-delay:100ms}._mat-animation-noopable .mdc-tab__text-label{transition:none}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transition:var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}._mat-animation-noopable .mdc-tab-indicator__content,.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mat-mdc-tab-ripple.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;height:var(--mat-tab-container-height, 48px);font-family:var(--mat-tab-label-text-font, var(--mat-sys-title-small-font));font-size:var(--mat-tab-label-text-size, var(--mat-sys-title-small-size));letter-spacing:var(--mat-tab-label-text-tracking, var(--mat-sys-title-small-tracking));line-height:var(--mat-tab-label-text-line-height, var(--mat-sys-title-small-line-height));font-weight:var(--mat-tab-label-text-weight, var(--mat-sys-title-small-weight))}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-indicator-color, var(--mat-sys-primary));border-top-width:var(--mat-tab-active-indicator-height, 2px);border-radius:var(--mat-tab-active-indicator-shape, 0)}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-inactive-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-inactive-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-active-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-active-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-active-hover-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-hover-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-active-focus-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-active-focus-indicator-color, var(--mat-sys-primary))}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__content{pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-disabled-ripple-color, var(--mat-sys-on-surface-variant))}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-inactive-label-text-color, var(--mat-sys-on-surface));display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-inactive-ripple-color, var(--mat-sys-on-surface))}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-focus-indicator::before{border-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}
4
4
  `],encapsulation:2})}return n})(),Pt=class{index;tab};var Le=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275mod=qt({type:n});static \u0275inj=Qt({imports:[kt,kt]})}return n})();var bn=["canvas"];W.register(...mt);var pt=class n{name="";canvasRef;chart;samples=[];timer;http=m(dt);ngAfterViewInit(){let a=matchMedia("(prefers-reduced-motion: reduce)").matches,t={type:"line",data:{labels:[],datasets:[{label:"CPU %",data:[],yAxisID:"y1",borderColor:"rgb(96, 165, 250)",backgroundColor:"rgba(96, 165, 250, 0.12)",tension:.25,pointRadius:0,fill:!0},{label:"Mem MB",data:[],yAxisID:"y2",borderColor:"rgb(168, 85, 247)",backgroundColor:"rgba(168, 85, 247, 0.10)",tension:.25,pointRadius:0,fill:!0}]},options:{responsive:!0,maintainAspectRatio:!1,animation:a?!1:{duration:200},plugins:{legend:{position:"bottom",labels:{boxWidth:12}}},scales:{x:{ticks:{maxTicksLimit:6,autoSkip:!0}},y1:{position:"left",beginAtZero:!0,title:{display:!0,text:"CPU %"}},y2:{position:"right",beginAtZero:!0,title:{display:!0,text:"Mem MB"},grid:{display:!1}}}}};this.chart=new W(this.canvasRef.nativeElement,t),this.tick(),this.timer=setInterval(()=>{this.tick()},5e3)}ngOnDestroy(){this.timer&&clearInterval(this.timer),this.chart?.destroy()}async tick(){if(!(!this.name||!this.chart))try{let a=await N(this.http.get(`/api/apps/${encodeURIComponent(this.name)}?format=full`));this.samples.push({ts:Date.now(),cpu:Number(a?.cpu??0),memMB:Number(a?.memMB??0)}),this.samples.length>60&&this.samples.shift(),this.chart.data.labels=this.samples.map(t=>new Date(t.ts).toLocaleTimeString()),this.chart.data.datasets[0].data=this.samples.map(t=>t.cpu),this.chart.data.datasets[1].data=this.samples.map(t=>t.memMB),this.chart.update("none")}catch{}}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["dm-metrics-chart"]],viewQuery:function(t,e){if(t&1&&T(bn,7),t&2){let i;v(i=y())&&(e.canvasRef=i.first)}},inputs:{name:"name"},decls:3,vars:0,consts:[["canvas",""],[2,"position","relative","height","220px"]],template:function(t,e){t&1&&(Zt(0,"div",1),Xt(1,"canvas",null,0),Yt())},encapsulation:2,changeDetection:0})};var _n=["logBox"],un=["spark"],hn=n=>["/apps",n],fn=(n,a)=>a.file;function gn(n,a){if(n&1&&(o(0,"span",20),x(1,"span",21),o(2,"span"),l(3),r()()),n&2){let t=c(),e=c();ot("--dm-tone",e.tone(t.workspaceLabel)),d(3),f(t.workspaceLabel)}}function vn(n,a){n&1&&x(0,"mat-spinner",16)}function yn(n,a){n&1&&(o(0,"span",5),l(1,"play_arrow"),r())}function Cn(n,a){if(n&1){let t=P();o(0,"button",22),k("click",function(){u(t);let i=c(2);return h(i.act("start"))}),b(1,vn,1,0,"mat-spinner",16)(2,yn,2,0,"span",5),o(3,"span"),l(4,"Start"),r()()}if(n&2){let t=c(2);g("disabled",t.busy("start")),d(),_(t.busy("start")?1:2)}}function xn(n,a){n&1&&x(0,"mat-spinner",16)}function kn(n,a){n&1&&(o(0,"span",5),l(1,"stop"),r())}function Tn(n,a){if(n&1){let t=P();o(0,"button",15),k("click",function(){u(t);let i=c(2);return h(i.act("stop"))}),b(1,xn,1,0,"mat-spinner",16)(2,kn,2,0,"span",5),o(3,"span"),l(4,"Stop"),r()()}if(n&2){let t=c(2);g("disabled",t.busy("stop")),d(),_(t.busy("stop")?1:2)}}function wn(n,a){n&1&&x(0,"mat-spinner",16)}function Mn(n,a){n&1&&(o(0,"span",5),l(1,"restart_alt"),r())}function In(n,a){n&1&&x(0,"mat-spinner",16)}function Dn(n,a){n&1&&(o(0,"span",5),l(1,"cleaning_services"),r())}function Pn(n,a){n&1&&x(0,"mat-spinner",16)}function En(n,a){n&1&&(o(0,"span",5),l(1,"photo_camera"),r())}function Sn(n,a){if(n&1&&(o(0,"a",19)(1,"span",5),l(2,"open_in_new"),r(),o(3,"span"),l(4,"Open"),r()()),n&2){let t=c();g("href",t.url,ft)}}function Rn(n,a){if(n&1){let t=P();o(0,"div",6)(1,"h1",9)(2,"dm-mono"),l(3),r()(),x(4,"dm-status-pill",10),b(5,gn,4,3,"span",11),r(),o(6,"div",12),b(7,Cn,5,2,"button",13)(8,Tn,5,2,"button",14),o(9,"button",15),k("click",function(){u(t);let i=c();return h(i.act("restart"))}),b(10,wn,1,0,"mat-spinner",16)(11,Mn,2,0,"span",5),o(12,"span"),l(13,"Restart"),r()(),o(14,"button",17),k("click",function(){u(t);let i=c();return h(i.onClean())}),b(15,In,1,0,"mat-spinner",16)(16,Dn,2,0,"span",5),o(17,"span"),l(18,"Clean"),r()(),o(19,"button",18),k("click",function(){u(t);let i=c();return h(i.onSnapshot())}),b(20,Pn,1,0,"mat-spinner",16)(21,En,2,0,"span",5),o(22,"span"),l(23,"Snapshot"),r()(),b(24,Sn,5,1,"a",19),r()}if(n&2){let t=a,e=c();d(3),f(t.name),d(),g("status",t.status)("health",t.health),d(),_(t.workspaceLabel?5:-1),d(2),_(t.status==="stopped"||t.status==="error"?7:8),d(2),g("disabled",e.busy("restart")),d(),_(e.busy("restart")?10:11),d(4),g("disabled",e.busy("clean")),d(),_(e.busy("clean")?15:16),d(4),g("disabled",e.busy("snapshot")),d(),_(e.busy("snapshot")?20:21),d(4),_(t.url?24:-1)}}function An(n,a){n&1&&(o(0,"div",6),x(1,"dm-skeleton",23),r())}function Bn(n,a){n&1&&(o(0,"span",46),l(1,"info"),r(),l(2," Overview "))}function Ln(n,a){if(n&1&&(o(0,"a",30)(1,"dm-mono"),l(2),r()()),n&2){let t=c();g("href",t.url,ft),d(2),f(t.url)}}function On(n,a){n&1&&l(0," \u2014 ")}function Fn(n,a){if(n&1&&(o(0,"dt"),l(1,"Health"),r(),o(2,"dd",47)(3,"dm-mono"),l(4),r()()),n&2){let t=c();d(4),f(t.lastHealthError)}}function Vn(n,a){if(n&1&&(o(0,"tr")(1,"td")(2,"dm-mono"),l(3),r()(),o(4,"td",48)(5,"dm-mono"),l(6),r()()()),n&2){let t=a.$implicit,e=c(3);d(3),f(t.path||t.name),d(3),f(e.fmtKb(t.sizeKb??t.kb??e.toKb(t.size)))}}function Nn(n,a){if(n&1&&(o(0,"table",33)(1,"thead")(2,"tr")(3,"th"),l(4,"file"),r(),o(5,"th",48),l(6,"size"),r()()(),o(7,"tbody"),E(8,Vn,7,2,"tr",null,nt),r()()),n&2){let t=c(2);d(8),S(t.bundleFiles())}}function Hn(n,a){n&1&&(o(0,"div",34),l(1,"No bundle information."),r())}function zn(n,a){if(n&1&&(o(0,"a",49)(1,"span",5),l(2,"link"),r(),o(3,"dm-mono"),l(4),r()()),n&2){let t=a.$implicit;g("routerLink",Jt(2,hn,t)),d(4),f(t)}}function Qn(n,a){if(n&1&&(o(0,"div",35),E(1,zn,5,4,"a",49,$),r()),n&2){let t=c(2);d(),S(t.dependsOn())}}function $n(n,a){n&1&&(o(0,"div",34),l(1,"No dependencies."),r())}function Wn(n,a){if(n&1&&(o(0,"span",50),l(1),r()),n&2){let t=c(3);d(),f(t.errors().length)}}function jn(n,a){if(n&1&&(o(0,"span",46),l(1,"error"),r(),l(2," Errors "),b(3,Wn,2,1,"span",50)),n&2){let t=c(2);d(3),_(t.errors().length?3:-1)}}function Gn(n,a){if(n&1&&(o(0,"span"),l(1),r()),n&2){let t=c(2).$implicit;d(),L(":",t.parsed==null?null:t.parsed.col)}}function qn(n,a){if(n&1&&(o(0,"dm-mono"),l(1),b(2,Gn,2,1,"span"),r()),n&2){let t=c().$implicit;d(),L(":",t.parsed==null?null:t.parsed.line),d(),_((t.parsed==null?null:t.parsed.col)!=null?2:-1)}}function Kn(n,a){if(n&1&&(o(0,"span",56)(1,"dm-mono"),l(2),r()()),n&2){let t=c().$implicit;d(2),f(t.parsed==null?null:t.parsed.code)}}function Un(n,a){if(n&1&&(o(0,"span",57),l(1),r()),n&2){let t=c().$implicit;d(),L("\xD7",t.count)}}function Zn(n,a){if(n&1&&(o(0,"li",54)(1,"div",55),b(2,qn,3,2,"dm-mono"),b(3,Kn,3,1,"span",56),b(4,Un,2,1,"span",57),r(),o(5,"dm-mono")(6,"span",58),l(7),r()()()),n&2){let t=a.$implicit;d(2),_((t.parsed==null?null:t.parsed.line)!=null?2:-1),d(),_(t.parsed!=null&&t.parsed.code?3:-1),d(),_(t.count>1?4:-1),d(3),f((t.parsed==null?null:t.parsed.message)??t.message)}}function Yn(n,a){if(n&1&&(o(0,"section",51)(1,"header",52)(2,"dm-mono")(3,"strong"),l(4),r()(),o(5,"span",50),l(6),r()(),o(7,"ul",53),E(8,Zn,8,4,"li",54,nt),r()()),n&2){let t=a.$implicit;d(4),f(t.file),d(2),f(t.items.length),d(2),S(t.items)}}function Xn(n,a){if(n&1&&E(0,Yn,10,2,"section",51,fn),n&2){let t=c(2);S(t.errorsByFile())}}function Jn(n,a){n&1&&x(0,"dm-empty",36)}function ti(n,a){n&1&&(o(0,"span",46),l(1,"terminal"),r(),l(2," Logs "))}function ei(n,a){if(n&1&&(o(0,"div",43)(1,"dm-mono"),l(2),r()()),n&2){let t=a.$implicit;d(2),f(t)}}function ni(n,a){n&1&&(o(0,"div",44),l(1,"Waiting for log lines\u2026"),r())}function ii(n,a){n&1&&(o(0,"span",46),l(1,"timeline"),r(),l(2," History "))}function ai(n,a){if(n&1&&(o(0,"div",59)(1,"div",60)(2,"span",61),l(3,"samples"),r(),o(4,"span",62),l(5),r()(),o(6,"div",60)(7,"span",61),l(8,"p50"),r(),o(9,"span",62),l(10),r()(),o(11,"div",60)(12,"span",61),l(13,"p95"),r(),o(14,"span",62),l(15),r()(),o(16,"div",60)(17,"span",61),l(18,"max"),r(),o(19,"span",62),l(20),r()()(),o(21,"div",63),x(22,"canvas",null,1),r()),n&2){let t=c(2);d(5),f(t.compileTimes().length),d(5),L("",t.p50()," ms"),d(5),L("",t.p95()," ms"),d(5),L("",t.pMax()," ms")}}function oi(n,a){n&1&&(o(0,"div",34),l(1,"No compile history yet."),r())}function ri(n,a){n&1&&(o(0,"span",46),l(1,"tune"),r(),l(2," Env "))}function si(n,a){n&1&&(o(0,"span",67),l(1,"active"),r())}function li(n,a){if(n&1){let t=P();o(0,"label",64)(1,"input",65),k("change",function(){let i=u(t).$implicit,s=c(3);return h(s.onEnvSwitch(i))}),r(),x(2,"span",66),o(3,"dm-mono"),l(4),r(),b(5,si,2,0,"span",67),r()}if(n&2){let t=a.$implicit,e=c(3);d(),g("value",t)("checked",e.envActive()===t)("disabled",e.busy("env")),d(3),f(t),d(),_(e.envActive()===t?5:-1)}}function di(n,a){if(n&1&&(o(0,"div",45),E(1,li,6,5,"label",64,$),r()),n&2){let t=c(2);d(),S(t.envFiles())}}function ci(n,a){n&1&&(o(0,"div",34),l(1,"No env files available."),r())}function mi(n,a){if(n&1){let t=P();o(0,"mat-tab-group",7)(1,"mat-tab"),B(2,Bn,3,0,"ng-template",24),o(3,"div",25)(4,"div",26)(5,"section",27)(6,"h3",28),l(7,"Runtime"),r(),o(8,"dl",29)(9,"dt"),l(10,"Port"),r(),o(11,"dd")(12,"dm-mono"),l(13),r()(),o(14,"dt"),l(15,"URL"),r(),o(16,"dd"),b(17,Ln,3,2,"a",30)(18,On,1,0),r(),o(19,"dt"),l(20,"Uptime"),r(),o(21,"dd")(22,"dm-mono"),l(23),r()(),o(24,"dt"),l(25,"Last compile"),r(),o(26,"dd")(27,"dm-mono"),l(28),r()(),o(29,"dt"),l(30,"CPU"),r(),o(31,"dd")(32,"dm-mono"),l(33),r()(),o(34,"dt"),l(35,"Mem"),r(),o(36,"dd")(37,"dm-mono"),l(38),r()(),b(39,Fn,5,1),r()(),o(40,"section",31)(41,"h3",28),l(42,"Resources"),r(),x(43,"dm-metrics-chart",32),r()(),o(44,"div",26)(45,"section",27)(46,"h3",28),l(47,"Bundle"),r(),b(48,Nn,10,0,"table",33)(49,Hn,2,0,"div",34),r(),o(50,"section",27)(51,"h3",28),l(52,"Depends on"),r(),b(53,Qn,3,0,"div",35)(54,$n,2,0,"div",34),r()()()(),o(55,"mat-tab"),B(56,jn,4,1,"ng-template",24),o(57,"div",25),b(58,Xn,2,0)(59,Jn,1,0,"dm-empty",36),r()(),o(60,"mat-tab"),B(61,ti,3,0,"ng-template",24),o(62,"div",37)(63,"div",38)(64,"span",34),l(65),r(),x(66,"span",39),o(67,"button",40),k("click",function(){u(t);let i=c();return h(i.clearLogs())}),o(68,"span",5),l(69,"delete_sweep"),r()(),o(70,"button",41),k("click",function(){u(t);let i=c();return h(i.autoScroll.set(!i.autoScroll()))}),o(71,"span",5),l(72,"vertical_align_bottom"),r()()(),o(73,"div",42,0),k("scroll",function(i){u(t);let s=c();return h(s.onLogScroll(i))}),E(75,ei,3,1,"div",43,nt,!1,ni,2,0,"div",44),r()()(),o(78,"mat-tab"),B(79,ii,3,0,"ng-template",24),o(80,"div",25)(81,"section",27)(82,"h3",28),l(83,"Compile times"),r(),b(84,ai,24,4)(85,oi,2,0,"div",34),r()()(),o(86,"mat-tab"),B(87,ri,3,0,"ng-template",24),o(88,"div",25)(89,"section",27)(90,"h3",28),l(91,"Environment file"),r(),b(92,di,3,0,"div",45)(93,ci,2,0,"div",34),r()()()()}if(n&2){let t=a,e=c();g("animationDuration","200ms"),d(13),f(t.port??"\u2014"),d(4),_(t.url?17:18),d(6),f(e.fmtUptime(t.uptimeMs)),d(5),L("",t.lastCompileMs??0," ms"),d(5),f(e.fmtPct(t.cpu)),d(5),f(e.fmtMem(t.memMB)),d(),_(t.lastHealthError?39:-1),d(4),g("name",t.name),d(5),_(e.bundleFiles().length?48:49),d(5),_(e.dependsOn().length?53:54),d(5),_(e.errorsByFile().length?58:59),d(7),L("Live tail \u2014 last ",e.logLines().length," lines"),d(5),w("active",e.autoScroll()),d(5),S(e.logLines()),d(9),_(e.compileTimes().length?84:85),d(8),_(e.envFiles().length?92:93)}}function pi(n,a){n&1&&(o(0,"div",8),x(1,"dm-skeleton",68),r())}W.register(...mt);var Oe=class n{name="";api=m(_e);http=m(dt);snack=m(ve);destroyRef=m($t);logBox;sparkRef;state=R(null);errs=R([]);logLines=R([]);autoScroll=R(!0);compileTimes=R([]);envInfo=R(null);busyMap=R({});logStop;pollTimer;spark;tone=we;summary=M(()=>this.state());errors=M(()=>this.errs());errorsByFile=M(()=>{let a=new Map;for(let t of this.errs()){let e=t.parsed?.file??"(no file)",i=a.get(e)??[];i.push(t),a.set(e,i)}return Array.from(a.entries()).map(([t,e])=>({file:t,items:e}))});bundleFiles=M(()=>{let t=this.state()?.bundle?.files??[];if(!Array.isArray(t))return[];let e=i=>i.sizeKb??i.kb??(i.size?i.size/1024:0);return[...t].sort((i,s)=>e(s)-e(i)).slice(0,8)});dependsOn=M(()=>{let a=this.state(),t=a?.dependsOn??a?.depends_on??[];return Array.isArray(t)?t:[]});envFiles=M(()=>{let a=this.envInfo();return a?a.files??a.available??[]:[]});envActive=M(()=>{let a=this.envInfo();return a?a.active??a.current??a.use??null:null});p50=M(()=>this.percentile(.5));p95=M(()=>this.percentile(.95));pMax=M(()=>{let a=this.compileTimes();return a.length?Math.max(...a.map(t=>t.ms)):0});constructor(){yt(()=>{let a=this.logLines();!this.autoScroll()||!this.logBox||a.length===0||queueMicrotask(()=>{let t=this.logBox.nativeElement;t.scrollTop=t.scrollHeight})}),yt(()=>{let a=this.compileTimes();!this.spark||!a.length||this.updateSpark(a)})}async ngOnInit(){await this.refresh(),this.pollTimer=setInterval(()=>{this.refresh()},4e3),this.logStop=this.api.openLogStream(this.name,a=>{let t=`${this.fmtTs(a.ts)} ${a.line}`;this.logLines.update(e=>{let i=e.length>=500?e.slice(e.length-499):e.slice();return i.push(t),i})}),this.loadCompile(),this.loadEnv()}ngAfterViewInit(){if(!this.sparkRef)return;let a=matchMedia("(prefers-reduced-motion: reduce)").matches,t={type:"line",data:{labels:[],datasets:[]},options:{responsive:!0,maintainAspectRatio:!1,animation:a?!1:{duration:200},plugins:{legend:{position:"bottom",labels:{boxWidth:12}}},scales:{x:{ticks:{maxTicksLimit:6,autoSkip:!0}},y:{beginAtZero:!0,title:{display:!0,text:"ms"}}}}};this.spark=new W(this.sparkRef.nativeElement,t);let e=this.compileTimes();e.length&&this.updateSpark(e)}ngOnDestroy(){this.pollTimer&&clearInterval(this.pollTimer),this.logStop?.(),this.spark?.destroy()}async refresh(){let[a,t]=await Promise.all([this.api.appDetail(this.name),this.api.appErrors(this.name)]);a&&this.state.set(a),this.errs.set(Array.isArray(t)?t:[])}async loadCompile(){let a=await this.api.getCompileTimes(this.name,100);this.compileTimes.set(a)}async loadEnv(){try{let a=await N(this.http.get(`/api/apps/${encodeURIComponent(this.name)}/env`));this.envInfo.set(a??null)}catch{this.envInfo.set(null)}}busy(a){return!!this.busyMap()[a]}setBusy(a,t){this.busyMap.update(e=>ut(_t({},e),{[a]:t}))}async act(a){if(!this.busy(a)){this.setBusy(a,!0);try{a==="start"?await this.api.startApp(this.name):a==="stop"?await this.api.stopApp(this.name):await this.api.restartApp(this.name),this.snack.open(`${a}: ok`,"",{duration:1500}),await this.refresh()}catch(t){this.snack.open(`${a} failed: ${t?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy(a,!1)}}}async onClean(){if(!this.busy("clean")&&window.confirm(`Clean caches for "${this.name}"? This may remove build artifacts.`)){this.setBusy("clean",!0);try{await N(this.http.post(`/api/apps/${encodeURIComponent(this.name)}/clean`,{})),this.snack.open(`Cleaned ${this.name}`,"",{duration:2e3}),await this.refresh()}catch(a){this.snack.open(`Clean failed: ${a?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy("clean",!1)}}}async onSnapshot(){if(!this.busy("snapshot")){this.setBusy("snapshot",!0);try{let a=await N(this.http.post(`/api/apps/${encodeURIComponent(this.name)}/snapshot?write=1`,{})),t=a?.path??a?.file??a?.snapshot??"";this.snack.open(t?`Snapshot: ${t}`:"Snapshot written","OK",{duration:5e3})}catch(a){this.snack.open(`Snapshot failed: ${a?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy("snapshot",!1)}}}async onEnvSwitch(a){if(this.busy("env"))return;this.setBusy("env",!0);let t=this.envInfo();this.envInfo.update(e=>e&&ut(_t({},e),{active:a,current:a}));try{await N(this.http.post(`/api/apps/${encodeURIComponent(this.name)}/env`,{use:a})),this.snack.open(`Env set to ${a}`,"",{duration:2e3}),await this.loadEnv()}catch(e){this.envInfo.set(t),this.snack.open(`Env switch failed: ${e?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy("env",!1)}}onLogScroll(a){let t=a.target,e=t.scrollHeight-t.scrollTop-t.clientHeight<20;this.autoScroll.set(e)}clearLogs(){this.logLines.set([])}updateSpark(a){if(!this.spark)return;let t=a.map((p,C)=>C+1),e=a.map(p=>p.ms),i=this.percentile(.5),s=this.percentile(.95);this.spark.data.labels=t,this.spark.data.datasets=[{label:"compile ms",data:e,borderColor:"rgb(96, 165, 250)",backgroundColor:"rgba(96, 165, 250, 0.15)",tension:.25,pointRadius:0,fill:!0},{label:"p50",data:t.map(()=>i),borderColor:"rgba(132, 204, 22, 0.85)",borderDash:[4,4],pointRadius:0,fill:!1},{label:"p95",data:t.map(()=>s),borderColor:"rgba(251, 146, 60, 0.85)",borderDash:[4,4],pointRadius:0,fill:!1}],this.spark.update("none")}percentile(a){let t=this.compileTimes().map(i=>i.ms).slice().sort((i,s)=>i-s);if(!t.length)return 0;let e=Math.min(t.length-1,Math.max(0,Math.floor(a*(t.length-1))));return Math.round(t[e])}fmtUptime(a){if(!a||a<0)return"\u2014";let t=Math.floor(a/1e3);return t<60?t+"s":t<3600?Math.floor(t/60)+"m "+t%60+"s":Math.floor(t/3600)+"h "+Math.floor(t%3600/60)+"m"}fmtPct(a){return a==null||isNaN(a)?"\u2014":a.toFixed(0)+"%"}fmtMem(a){return a==null||isNaN(a)?"\u2014":a>=1024?(a/1024).toFixed(1)+" GB":Math.round(a)+" MB"}fmtKb(a){return a==null||isNaN(a)?"\u2014":a>=1024?(a/1024).toFixed(2)+" MB":a.toFixed(1)+" KB"}toKb(a){if(a!=null)return a/1024}fmtTs(a){if(!a)return"";let t=new Date(a);return`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}`}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=A({type:n,selectors:[["dm-app-detail"]],viewQuery:function(t,e){if(t&1&&(T(_n,5),T(un,5)),t&2){let i;v(i=y())&&(e.logBox=i.first),v(i=y())&&(e.sparkRef=i.first)}},inputs:{name:"name"},decls:11,vars:2,consts:[["logBox",""],["spark",""],[1,"dm-detail"],[1,"dm-detail-header"],["routerLink","/","matTooltip","Back to apps",1,"dm-back"],[1,"material-symbols-outlined"],[1,"dm-title-row"],[1,"dm-tabs",3,"animationDuration"],[1,"dm-loading"],[1,"dm-title"],[3,"status","health"],[1,"dm-ws-chip",3,"--dm-tone"],[1,"dm-action-bar"],[1,"dm-action-btn","dm-action-primary",3,"disabled"],[1,"dm-action-btn",3,"disabled"],[1,"dm-action-btn",3,"click","disabled"],["diameter","14"],["matTooltip","Clean caches (confirms)",1,"dm-action-btn",3,"click","disabled"],["matTooltip","Write a snapshot of the current state",1,"dm-action-btn",3,"click","disabled"],["target","_blank","rel","noopener",1,"dm-action-btn",3,"href"],[1,"dm-ws-chip"],[1,"dm-ws-dot"],[1,"dm-action-btn","dm-action-primary",3,"click","disabled"],["width","220px","height","2rem"],["mat-tab-label",""],[1,"dm-tab-body"],[1,"dm-cards-row"],[1,"dm-panel"],[1,"dm-panel-title"],[1,"dm-kv"],["target","_blank","rel","noopener",3,"href"],[1,"dm-panel","dm-panel-wide"],[3,"name"],[1,"dm-bundle"],[1,"dm-dim"],[1,"dm-chips-row"],["icon","check_circle","title","No errors","hint","Nothing to fix right now."],[1,"dm-tab-body","dm-tab-logs"],[1,"dm-logs-toolbar"],[1,"dm-spacer"],["matTooltip","Clear",1,"dm-iconbtn",3,"click"],["matTooltip","Auto-scroll",1,"dm-iconbtn",3,"click"],[1,"dm-logbox",3,"scroll"],[1,"dm-logline"],[1,"dm-dim",2,"padding","1rem"],[1,"dm-radios"],[1,"material-symbols-outlined","dm-tab-icon"],[1,"dm-err-text"],[1,"dm-right"],[1,"dm-dep-chip",3,"routerLink"],[1,"dm-tab-count"],[1,"dm-panel","dm-err-group"],[1,"dm-err-group-head"],[1,"dm-err-list"],[1,"dm-err-item"],[1,"dm-err-meta"],[1,"dm-err-code"],[1,"dm-err-count"],[1,"dm-err-msg"],[1,"dm-history-stats"],[1,"dm-stat"],[1,"dm-stat-label"],[1,"dm-stat-num"],[1,"dm-spark-wrap"],[1,"dm-radio"],["type","radio","name","env-file",3,"change","value","checked","disabled"],[1,"dm-radio-mark"],[1,"dm-env-active"],["width","100%","height","200px"]],template:function(t,e){if(t&1&&(o(0,"div",2)(1,"header",3)(2,"a",4)(3,"span",5),l(4,"arrow_back"),r(),o(5,"span"),l(6,"Apps"),r()(),b(7,Rn,25,12)(8,An,2,0,"div",6),r(),b(9,mi,94,18,"mat-tab-group",7)(10,pi,2,0,"div",8),r()),t&2){let i,s;d(7),_((i=e.summary())?7:8,i),d(2),_((s=e.summary())?9:10,s)}},dependencies:[te,ge,se,Le,St,Rt,Be,be,pe,he,ue,ye,pt,Ce,ke,Te,xe],styles:['[_nghost-%COMP%]{display:block}.dm-detail[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.dm-detail-header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem}.dm-back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;width:max-content;color:var(--mat-sys-on-surface-variant);text-decoration:none;font:500 .8125rem/1.25rem Roboto;padding:4px 8px;border-radius:8px;transition:background var(--dm-motion-short) var(--dm-motion-easing)}.dm-back[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface)}.dm-back[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-title-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dm-title[_ngcontent-%COMP%]{margin:0;font:400 1.625rem/2rem Roboto}.dm-title[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{font-size:1.625rem;font-weight:500}.dm-ws-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:4px 10px;border-radius:999px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);font:500 .75rem/1rem Roboto;color:var(--mat-sys-on-surface-variant)}.dm-ws-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;background:var(--dm-tone, var(--mat-sys-primary))}.dm-action-bar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.375rem}.dm-action-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:6px 12px;border-radius:10px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface);font:500 .8125rem/1.25rem Roboto;cursor:pointer;text-decoration:none;transition:background var(--dm-motion-short) var(--dm-motion-easing)}.dm-action-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high)}.dm-action-btn[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.dm-action-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-action-primary[_ngcontent-%COMP%]{background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);border-color:transparent}.dm-action-primary[_ngcontent-%COMP%]:hover:not(:disabled){background:color-mix(in oklch,var(--mat-sys-primary) 88%,black)}.dm-tabs[_ngcontent-%COMP%]{background:transparent}.dm-tab-icon[_ngcontent-%COMP%]{font-size:18px;margin-right:.375rem;vertical-align:middle}.dm-tab-count[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:0 6px;margin-left:.375rem;border-radius:999px;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant);font:600 .6875rem/1rem Roboto Mono,ui-monospace,monospace}.dm-tab-body[_ngcontent-%COMP%]{padding-top:1rem;display:flex;flex-direction:column;gap:1rem}.dm-cards-row[_ngcontent-%COMP%]{display:grid;gap:1rem;grid-template-columns:minmax(260px,1fr) minmax(0,1.5fr)}@media(max-width:880px){.dm-cards-row[_ngcontent-%COMP%]{grid-template-columns:1fr}}.dm-panel[_ngcontent-%COMP%]{padding:1rem 1.125rem;border-radius:14px;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant)}.dm-panel-wide[_ngcontent-%COMP%]{min-width:0}.dm-panel-title[_ngcontent-%COMP%]{margin:0 0 .5rem;font:500 .8125rem/1.25rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-kv[_ngcontent-%COMP%]{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .75rem;margin:0}.dm-kv[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font:400 .8125rem/1.25rem Roboto}.dm-kv[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{margin:0;color:var(--mat-sys-on-surface)}.dm-kv[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none}.dm-kv[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.dm-err-text[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-bundle[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.dm-bundle[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .dm-bundle[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.375rem .5rem;font-size:.8125rem}.dm-bundle[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-weight:500;color:var(--mat-sys-on-surface-variant);border-bottom:1px solid var(--mat-sys-outline-variant)}.dm-bundle[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{border-bottom:1px solid color-mix(in oklch,var(--mat-sys-outline-variant) 50%,transparent)}.dm-bundle[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:last-child{border-bottom:0}.dm-right[_ngcontent-%COMP%]{text-align:right}.dm-chips-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.375rem}.dm-dep-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:4px 10px;border-radius:999px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface);text-decoration:none;font:500 .8125rem/1rem Roboto;transition:background var(--dm-motion-short) var(--dm-motion-easing)}.dm-dep-chip[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-dep-chip[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:14px;color:var(--mat-sys-on-surface-variant)}.dm-err-group[_ngcontent-%COMP%]{padding:0;overflow:hidden}.dm-err-group-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.625rem .875rem;background:var(--mat-sys-surface-container);border-bottom:1px solid var(--mat-sys-outline-variant)}.dm-err-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.dm-err-item[_ngcontent-%COMP%]{padding:.5rem .875rem;border-bottom:1px solid color-mix(in oklch,var(--mat-sys-outline-variant) 60%,transparent);display:flex;flex-direction:column;gap:.25rem}.dm-err-item[_ngcontent-%COMP%]:last-child{border-bottom:0}.dm-err-meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;color:var(--mat-sys-on-surface-variant);font-size:.75rem}.dm-err-code[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-err-count[_ngcontent-%COMP%]{padding:0 6px;border-radius:999px;background:color-mix(in oklch,var(--mat-sys-error) 12%,transparent);color:var(--mat-sys-error);font:600 .6875rem/1rem Roboto Mono,ui-monospace,monospace}.dm-err-msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);white-space:pre-wrap;word-break:break-word}.dm-tab-logs[_ngcontent-%COMP%]{gap:0}.dm-logs-toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-bottom:0;border-radius:12px 12px 0 0}.dm-spacer[_ngcontent-%COMP%]{flex:1}.dm-iconbtn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:transparent;border:0;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)}.dm-iconbtn[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.dm-iconbtn.active[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-iconbtn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-logbox[_ngcontent-%COMP%]{height:480px;overflow:auto;padding:.5rem .75rem;background:var(--mat-sys-surface);border:1px solid var(--mat-sys-outline-variant);border-radius:0 0 12px 12px;font-family:var(--dm-mono)}.dm-logline[_ngcontent-%COMP%]{white-space:pre-wrap;word-break:break-word;padding:1px 0;color:var(--mat-sys-on-surface)}.dm-logline[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{font-size:.8125rem}.dm-history-stats[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem}.dm-stat[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:.5rem .75rem;border-radius:10px;background:var(--mat-sys-surface-container);min-width:70px}.dm-stat-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-stat-num[_ngcontent-%COMP%]{font:600 1.125rem/1.5rem Roboto Mono,ui-monospace,monospace;color:var(--mat-sys-on-surface)}.dm-spark-wrap[_ngcontent-%COMP%]{position:relative;height:200px}.dm-radios[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.dm-radio[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:8px;cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing)}.dm-radio[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.dm-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{position:absolute;opacity:0;pointer-events:none}.dm-radio-mark[_ngcontent-%COMP%]{display:inline-block;width:16px;height:16px;border-radius:999px;border:2px solid var(--mat-sys-outline);position:relative;flex-shrink:0}.dm-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked + .dm-radio-mark[_ngcontent-%COMP%]{border-color:var(--mat-sys-primary)}.dm-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]:checked + .dm-radio-mark[_ngcontent-%COMP%]:after{content:"";position:absolute;inset:3px;border-radius:999px;background:var(--mat-sys-primary)}.dm-env-active[_ngcontent-%COMP%]{margin-left:auto;padding:2px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto;background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);color:var(--mat-sys-primary)}.dm-dim[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.875rem}.dm-loading[_ngcontent-%COMP%]{padding:2rem 0}'],changeDetection:0})};export{Oe as AppDetailComponent};
@@ -1 +1 @@
1
- import{b as N,f as R,h as A,j as F}from"./chunk-YYAZGY5M.js";import{b as T}from"./chunk-5PAHWCG5.js";import{h as $,i as q,j as L}from"./chunk-Q3N4MMWW.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
+ 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};
@@ -11,5 +11,5 @@
11
11
  <style>html{color-scheme:light dark}html{--mat-sys-background:light-dark(#faf9fd, #121316);--mat-sys-error:light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container:light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface:light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary:light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface:light-dark(#2f3033, #e3e2e6);--mat-sys-on-background:light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error:light-dark(#ffffff, #690005);--mat-sys-on-error-container:light-dark(#93000a, #ffdad6);--mat-sys-on-primary:light-dark(#ffffff, #002f65);--mat-sys-on-primary-container:light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed:light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant:light-dark(#00458f, #00458f);--mat-sys-on-secondary:light-dark(#ffffff, #283041);--mat-sys-on-secondary-container:light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed:light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant:light-dark(#3e4759, #3e4759);--mat-sys-on-surface:light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant:light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary:light-dark(#ffffff, #0001ac);--mat-sys-on-tertiary-container:light-dark(#0000ef, #e0e0ff);--mat-sys-on-tertiary-fixed:light-dark(#00006e, #00006e);--mat-sys-on-tertiary-fixed-variant:light-dark(#0000ef, #0000ef);--mat-sys-outline:light-dark(#74777f, #8e9099);--mat-sys-outline-variant:light-dark(#c4c6d0, #44474e);--mat-sys-primary:light-dark(#005cbb, #abc7ff);--mat-sys-primary-container:light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed:light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim:light-dark(#abc7ff, #abc7ff);--mat-sys-scrim:light-dark(#000000, #000000);--mat-sys-secondary:light-dark(#565e71, #bec6dc);--mat-sys-secondary-container:light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed:light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim:light-dark(#bec6dc, #bec6dc);--mat-sys-shadow:light-dark(#000000, #000000);--mat-sys-surface:light-dark(#faf9fd, #121316);--mat-sys-surface-bright:light-dark(#faf9fd, #38393c);--mat-sys-surface-container:light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high:light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest:light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low:light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest:light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim:light-dark(#dbd9dd, #121316);--mat-sys-surface-tint:light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant:light-dark(#e0e2ec, #44474e);--mat-sys-tertiary:light-dark(#343dff, #bec2ff);--mat-sys-tertiary-container:light-dark(#e0e0ff, #0000ef);--mat-sys-tertiary-fixed:light-dark(#e0e0ff, #e0e0ff);--mat-sys-tertiary-fixed-dim:light-dark(#bec2ff, #bec2ff);--mat-sys-neutral-variant20:#2d3038;--mat-sys-neutral10:#1a1b1f;--mat-sys-level0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5:0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large:400 1rem / 1.5rem Roboto;--mat-sys-body-large-font:Roboto;--mat-sys-body-large-line-height:1.5rem;--mat-sys-body-large-size:1rem;--mat-sys-body-large-tracking:.031rem;--mat-sys-body-large-weight:400;--mat-sys-body-medium:400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font:Roboto;--mat-sys-body-medium-line-height:1.25rem;--mat-sys-body-medium-size:.875rem;--mat-sys-body-medium-tracking:.016rem;--mat-sys-body-medium-weight:400;--mat-sys-body-small:400 .75rem / 1rem Roboto;--mat-sys-body-small-font:Roboto;--mat-sys-body-small-line-height:1rem;--mat-sys-body-small-size:.75rem;--mat-sys-body-small-tracking:.025rem;--mat-sys-body-small-weight:400;--mat-sys-display-large:400 3.562rem / 4rem Roboto;--mat-sys-display-large-font:Roboto;--mat-sys-display-large-line-height:4rem;--mat-sys-display-large-size:3.562rem;--mat-sys-display-large-tracking:-.016rem;--mat-sys-display-large-weight:400;--mat-sys-display-medium:400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font:Roboto;--mat-sys-display-medium-line-height:3.25rem;--mat-sys-display-medium-size:2.812rem;--mat-sys-display-medium-tracking:0;--mat-sys-display-medium-weight:400;--mat-sys-display-small:400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font:Roboto;--mat-sys-display-small-line-height:2.75rem;--mat-sys-display-small-size:2.25rem;--mat-sys-display-small-tracking:0;--mat-sys-display-small-weight:400;--mat-sys-headline-large:400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font:Roboto;--mat-sys-headline-large-line-height:2.5rem;--mat-sys-headline-large-size:2rem;--mat-sys-headline-large-tracking:0;--mat-sys-headline-large-weight:400;--mat-sys-headline-medium:400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font:Roboto;--mat-sys-headline-medium-line-height:2.25rem;--mat-sys-headline-medium-size:1.75rem;--mat-sys-headline-medium-tracking:0;--mat-sys-headline-medium-weight:400;--mat-sys-headline-small:400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font:Roboto;--mat-sys-headline-small-line-height:2rem;--mat-sys-headline-small-size:1.5rem;--mat-sys-headline-small-tracking:0;--mat-sys-headline-small-weight:400;--mat-sys-label-large:500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font:Roboto;--mat-sys-label-large-line-height:1.25rem;--mat-sys-label-large-size:.875rem;--mat-sys-label-large-tracking:.006rem;--mat-sys-label-large-weight:500;--mat-sys-label-large-weight-prominent:700;--mat-sys-label-medium:500 .75rem / 1rem Roboto;--mat-sys-label-medium-font:Roboto;--mat-sys-label-medium-line-height:1rem;--mat-sys-label-medium-size:.75rem;--mat-sys-label-medium-tracking:.031rem;--mat-sys-label-medium-weight:500;--mat-sys-label-medium-weight-prominent:700;--mat-sys-label-small:500 .688rem / 1rem Roboto;--mat-sys-label-small-font:Roboto;--mat-sys-label-small-line-height:1rem;--mat-sys-label-small-size:.688rem;--mat-sys-label-small-tracking:.031rem;--mat-sys-label-small-weight:500;--mat-sys-title-large:400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font:Roboto;--mat-sys-title-large-line-height:1.75rem;--mat-sys-title-large-size:1.375rem;--mat-sys-title-large-tracking:0;--mat-sys-title-large-weight:400;--mat-sys-title-medium:500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font:Roboto;--mat-sys-title-medium-line-height:1.5rem;--mat-sys-title-medium-size:1rem;--mat-sys-title-medium-tracking:.009rem;--mat-sys-title-medium-weight:500;--mat-sys-title-small:500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font:Roboto;--mat-sys-title-small-line-height:1.25rem;--mat-sys-title-small-size:.875rem;--mat-sys-title-small-tracking:.006rem;--mat-sys-title-small-weight:500;--mat-checkbox-touch-target-display:none;--mat-checkbox-state-layer-size:32px;--mat-chip-container-height:24px;--mat-expansion-header-collapsed-state-height:40px;--mat-expansion-header-expanded-state-height:56px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display:none;--mat-button-filled-touch-target-display:none;--mat-button-filled-container-height:32px;--mat-button-outlined-container-height:32px;--mat-button-outlined-touch-target-display:none;--mat-button-protected-touch-target-display:none;--mat-button-protected-container-height:32px;--mat-button-text-touch-target-display:none;--mat-button-text-container-height:32px;--mat-button-tonal-container-height:32px;--mat-button-tonal-touch-target-display:none;--mat-form-field-container-height:48px;--mat-form-field-filled-label-display:none;--mat-form-field-container-vertical-padding:12px;--mat-form-field-filled-with-label-container-padding-top:12px;--mat-form-field-filled-with-label-container-padding-bottom:12px;--mat-icon-button-touch-target-display:none;--mat-icon-button-state-layer-size:32px;--mat-list-list-item-leading-icon-start-space:8px;--mat-list-list-item-leading-icon-end-space:8px;--mat-list-list-item-one-line-container-height:40px;--mat-list-list-item-two-line-container-height:56px;--mat-list-list-item-three-line-container-height:80px;--mat-paginator-container-size:48px;--mat-paginator-form-field-container-height:40px;--mat-paginator-form-field-container-vertical-padding:8px;--mat-paginator-touch-target-display:none;--mat-radio-touch-target-display:none;--mat-radio-state-layer-size:32px;--mat-tab-container-height:40px;--mat-select-arrow-transform:none;--mat-button-toggle-height:40px;--mat-stepper-header-height:64px;--mat-table-header-container-height:48px;--mat-table-footer-container-height:44px;--mat-table-row-item-container-height:44px;--mat-toolbar-standard-height:56px;--mat-toolbar-mobile-height:48px;--mat-tree-node-min-height:40px;--mat-sys-corner-extra-large:28px;--mat-sys-corner-extra-large-top:28px 28px 0 0;--mat-sys-corner-extra-small:4px;--mat-sys-corner-extra-small-top:4px 4px 0 0;--mat-sys-corner-full:9999px;--mat-sys-corner-large:16px;--mat-sys-corner-large-end:0 16px 16px 0;--mat-sys-corner-large-start:16px 0 0 16px;--mat-sys-corner-large-top:16px 16px 0 0;--mat-sys-corner-medium:12px;--mat-sys-corner-none:0;--mat-sys-corner-small:8px;--mat-sys-dragged-state-layer-opacity:.16;--mat-sys-focus-state-layer-opacity:.12;--mat-sys-hover-state-layer-opacity:.08;--mat-sys-pressed-state-layer-opacity:.12}html,body{height:100%}body{margin:0;font-family:Roboto,system-ui,-apple-system,sans-serif;background:var(--mat-sys-surface);color:var(--mat-sys-on-surface)}:root{--dm-motion-easing:cubic-bezier(.2, 0, 0, 1);--dm-motion-easing-emphasized:cubic-bezier(.05, .7, .1, 1);--dm-motion-short:.2s;--dm-motion-medium:.3s;--dm-mono:"Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}</style><link rel="stylesheet" href="styles-SIPYJLMG.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-SIPYJLMG.css"></noscript></head>
12
12
  <body class="mat-typography">
13
13
  <dm-root>Loading daimon...</dm-root>
14
- <link rel="modulepreload" href="chunk-XXIJQBCQ.js"><link rel="modulepreload" href="chunk-YNQPX5G6.js"><link rel="modulepreload" href="chunk-IQZZO5IM.js"><link rel="modulepreload" href="chunk-KLH6B22T.js"><link rel="modulepreload" href="chunk-5PAHWCG5.js"><link rel="modulepreload" href="chunk-Q3N4MMWW.js"><link rel="modulepreload" href="chunk-Y6B6X4Y6.js"><link rel="modulepreload" href="chunk-K43KW4K2.js"><script src="main-IDF27PFI.js" type="module"></script></body>
14
+ <link rel="modulepreload" href="chunk-K7S4ITPJ.js"><link rel="modulepreload" href="chunk-YNQPX5G6.js"><link rel="modulepreload" href="chunk-7C772RJ3.js"><link rel="modulepreload" href="chunk-6WZJCF24.js"><link rel="modulepreload" href="chunk-KLH6B22T.js"><link rel="modulepreload" href="chunk-EIWOTZT3.js"><link rel="modulepreload" href="chunk-LBL7Z5BE.js"><link rel="modulepreload" href="chunk-Y6B6X4Y6.js"><link rel="modulepreload" href="chunk-K43KW4K2.js"><script src="main-O76X7RMS.js" type="module"></script></body>
15
15
  </html>
@@ -0,0 +1 @@
1
+ import{a as ke,b as Se}from"./chunk-K7S4ITPJ.js";import"./chunk-YNQPX5G6.js";import"./chunk-7C772RJ3.js";import"./chunk-6WZJCF24.js";import"./chunk-KLH6B22T.js";import{a as he,b as fe,c as ve,d as ye,e as xe,f as be}from"./chunk-EIWOTZT3.js";import{a as pe,b as ce,d as ue,e as ge,g as Ee,h as _e,i as Ce,j as N}from"./chunk-LBL7Z5BE.js";import"./chunk-Y6B6X4Y6.js";import{$ as D,Ab as ae,Bb as se,Ca as I,Db as S,Eb as b,Fb as E,Hb as B,Ia as ee,Ib as M,Jb as w,Kb as T,Lb as d,Mb as l,Nb as _,Ob as r,Pb as s,Sb as C,Ub as g,Vb as P,Wb as u,Y as W,Za as R,_a as m,ca as Y,cb as te,ea as c,eb as ne,fa as q,gc as A,ha as X,hb as oe,ia as Z,ic as i,ja as v,jc as f,ka as y,kb as ie,na as G,oa as J,pb as x,sc as de,ta as h,ua as Q,vb as re,vc as le,xc as me}from"./chunk-K43KW4K2.js";var Ie="@",Re=(()=>{class n{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=c(G);loadingSchedulerFn=c(Ae,{optional:!0});_engine;constructor(t,o,a,p,k){this.doc=t,this.delegate=o,this.zone=a,this.animationType=p,this.moduleImpl=k}ngOnDestroy(){this._engine?.flush()}loadImpl(){let t=()=>this.moduleImpl??import("./chunk-UC3XMN2Y.js").then(a=>a),o;return this.loadingSchedulerFn?o=this.loadingSchedulerFn(t):o=t(),o.catch(a=>{throw new W(5300,!1)}).then(({\u0275createEngine:a,\u0275AnimationRendererFactory:p})=>{this._engine=a(this.animationType,this.doc);let k=new p(this.delegate,this._engine,this.zone);return this.delegate=k,k})}createRenderer(t,o){let a=this.delegate.createRenderer(t,o);if(a.\u0275type===0)return a;typeof a.throwOnSyntheticProps=="boolean"&&(a.throwOnSyntheticProps=!1);let p=new z(a);return o?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(k=>{let De=k.createRenderer(t,o);p.use(De),this.scheduler??=this.injector.get(Q,null,{optional:!0}),this.scheduler?.notify(10)}).catch(k=>{p.use(a)}),p}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(t){this._engine?.flush(),this.delegate.componentReplaced?.(t)}static \u0275fac=function(o){ie()};static \u0275prov=D({token:n,factory:n.\u0275fac})}return n})(),z=class{delegate;replay=[];\u0275type=1;constructor(e){this.delegate=e}use(e){if(this.delegate=e,this.replay!==null){for(let t of this.replay)t(e);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}get destroyNode(){return this.delegate.destroyNode}appendChild(e,t){this.delegate.appendChild(e,t)}insertBefore(e,t,o,a){this.delegate.insertBefore(e,t,o,a)}removeChild(e,t,o,a){this.delegate.removeChild(e,t,o,a)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,o,a){this.delegate.setAttribute(e,t,o,a)}removeAttribute(e,t,o){this.delegate.removeAttribute(e,t,o)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,o,a){this.delegate.setStyle(e,t,o,a)}removeStyle(e,t,o){this.delegate.removeStyle(e,t,o)}setProperty(e,t,o){this.shouldReplay(t)&&this.replay.push(a=>a.setProperty(e,t,o)),this.delegate.setProperty(e,t,o)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,o,a){return this.shouldReplay(t)&&this.replay.push(p=>p.listen(e,t,o,a)),this.delegate.listen(e,t,o,a)}shouldReplay(e){return this.replay!==null&&e.startsWith(Ie)}},Ae=new Y("");function Te(n="animations"){return te("NgAsyncAnimations"),q([{provide:oe,useFactory:(e,t,o)=>new Re(e,t,o,n),deps:[J,pe,ne]},{provide:ee,useValue:n==="noop"?"NoopAnimations":"BrowserAnimations"}])}var Ne=n=>({exact:n}),Fe=(n,e)=>e.path;function Le(n,e){n&1&&(d(0,"span"),i(1,"daimon"),l())}function Ke(n,e){if(n&1&&(d(0,"span",7),i(1),l()),n&2){let t=u().$implicit;m(),f(t.label)}}function je(n,e){if(n&1){let t=C();d(0,"a",6),g("click",function(a){v(t);let p=u();return y(p.dismissTooltip(a))}),d(1,"mat-icon",2),i(2),l(),b(3,Ke,2,1,"span",7),l()}if(n&2){let t=e.$implicit,o=u();T("routerLink",t.path)("routerLinkActiveOptions",de(7,Ne,t.path==="/"))("matTooltip",o.expanded()?t.shortcut:t.label+" \xB7 "+t.shortcut)("matTooltipShowDelay",300)("matTooltipHideDelay",0),m(2),f(t.icon),m(),E(o.expanded()?3:-1)}}var He=[{path:"/",icon:"apps",label:"Apps",shortcut:"g a"},{path:"/errors",icon:"error",label:"Errors",shortcut:"g e"},{path:"/logs",icon:"terminal",label:"Logs",shortcut:"g l"},{path:"/config",icon:"tune",label:"Settings",shortcut:"g s"},{path:"/doctor",icon:"medical_services",label:"Doctor",shortcut:"g d"},{path:"/events",icon:"timeline",label:"Events",shortcut:"g v"},{path:"/history",icon:"query_stats",label:"History",shortcut:"g h"},{path:"/trends",icon:"show_chart",label:"Trends",shortcut:"g t"},{path:"/tests",icon:"science",label:"Tests",shortcut:"g x"},{path:"/sessions",icon:"radio_button_checked",label:"Sessions",shortcut:"g n"}],Me="daimon.nav.expanded",F=class n{entries=He;expanded=h(!0);ngOnInit(){let e=localStorage.getItem(Me);e!==null&&this.expanded.set(e==="1")}toggle(){this.expanded.update(e=>!e),localStorage.setItem(Me,this.expanded()?"1":"0")}dismissTooltip(e){e.currentTarget?.blur()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["dm-nav-rail"]],decls:11,vars:5,consts:[[1,"dm-rail"],[1,"dm-rail-toggle",3,"click"],["fontSet","material-symbols-outlined"],[1,"dm-rail-brand"],[1,"dm-rail-items"],["routerLinkActive","active","matTooltipPosition","right",1,"dm-rail-item",3,"routerLink","routerLinkActiveOptions","matTooltip","matTooltipShowDelay","matTooltipHideDelay"],["routerLinkActive","active","matTooltipPosition","right",1,"dm-rail-item",3,"click","routerLink","routerLinkActiveOptions","matTooltip","matTooltipShowDelay","matTooltipHideDelay"],[1,"dm-rail-label"]],template:function(t,o){t&1&&(d(0,"nav",0)(1,"button",1),g("click",function(){return o.toggle()}),d(2,"mat-icon",2),i(3),l()(),d(4,"div",3)(5,"mat-icon",2),i(6,"developer_board"),l(),b(7,Le,2,0,"span"),l(),d(8,"div",4),M(9,je,4,9,"a",5,Fe),l()()),t&2&&(A("expanded",o.expanded()),m(),S("aria-label",o.expanded()?"Collapse":"Expand"),m(2),f(o.expanded()?"menu_open":"menu"),m(4),E(o.expanded()?7:-1),m(2),w(o.entries))},dependencies:[ve,ye,Ce,_e,Se,ke],styles:["[_nghost-%COMP%]{display:contents}.dm-rail[_ngcontent-%COMP%]{grid-area:rail;display:flex;flex-direction:column;background:var(--mat-sys-surface-container);border-right:1px solid var(--mat-sys-outline-variant);width:64px;transition:width var(--dm-motion-medium) var(--dm-motion-easing-emphasized);overflow:hidden;-webkit-user-select:none;user-select:none}.dm-rail.expanded[_ngcontent-%COMP%]{width:240px}.dm-rail-toggle[_ngcontent-%COMP%]{border:none;background:transparent;color:var(--mat-sys-on-surface-variant);padding:12px;cursor:pointer;align-self:flex-end;display:flex;align-items:center;justify-content:center}.dm-rail-toggle[_ngcontent-%COMP%]:hover{color:var(--mat-sys-on-surface)}.dm-rail-brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:0 16px 12px 20px;color:var(--mat-sys-primary);font:500 1rem/1.5rem Roboto;letter-spacing:.009rem}.dm-rail-items[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2px;padding:8px}.dm-rail-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:10px 12px;border-radius:12px;color:var(--mat-sys-on-surface-variant);text-decoration:none;font:500 .875rem/1.25rem Roboto;transition:background var(--dm-motion-short) var(--dm-motion-easing),color var(--dm-motion-short) var(--dm-motion-easing);white-space:nowrap}.dm-rail-item[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.dm-rail-item.active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);color:var(--mat-sys-primary)}.dm-rail-label[_ngcontent-%COMP%]{flex:1}"],changeDetection:0})};function Ve(n,e){if(n&1){let t=C();r(0,"div",2)(1,"button",3),P("click",function(){v(t);let a=u();return y(a.set("auto"))}),i(2,"Auto"),s(),r(3,"button",3),P("click",function(){v(t);let a=u();return y(a.set("light"))}),i(4,"Light"),s(),r(5,"button",3),P("click",function(){v(t);let a=u();return y(a.set("dark"))}),i(6,"Dark"),s()()}}var we="daimon.theme",K=class n{theme=h("auto");host=c(I);open=h(!1);icon=()=>this.theme()==="dark"?"dark_mode":this.theme()==="light"?"light_mode":"contrast";ngOnInit(){let e=localStorage.getItem(we)||"auto";this.set(e,!1)}set(e,t=!0){this.theme.set(e),localStorage.setItem(we,e);let o=document.documentElement;e==="auto"?o.style.removeProperty("color-scheme"):o.style.setProperty("color-scheme",e),t&&this.open.set(!1)}onDocClick(e){this.open()&&(this.host.nativeElement.contains(e.target)||this.open.set(!1))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["dm-theme-toggle"]],hostBindings:function(t,o){t&1&&g("click",function(p){return o.onDocClick(p)},R)},decls:4,vars:3,consts:[["type","button","aria-label","Theme","aria-haspopup","true",1,"tt-btn",3,"click"],[1,"material-symbols-outlined"],["role","menu",1,"tt-pop"],["type","button","role","menuitem",3,"click"]],template:function(t,o){t&1&&(r(0,"button",0),P("click",function(){return o.open.set(!o.open())}),r(1,"span",1),i(2),s()(),b(3,Ve,7,0,"div",2)),t&2&&(S("aria-expanded",o.open()),m(2),f(o.icon()),m(),E(o.open()?3:-1))},styles:["[_nghost-%COMP%]{position:relative;display:inline-block}.tt-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;border-radius:999px;color:var(--mat-sys-on-surface-variant);cursor:pointer}.tt-btn[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.tt-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:20px}.tt-pop[_ngcontent-%COMP%]{position:absolute;right:0;top:calc(100% + 4px);min-width:140px;background:var(--mat-sys-surface-container-high);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:var(--mat-sys-level2);z-index:50;display:flex;flex-direction:column;gap:1px}.tt-pop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 12px;background:transparent;border:0;border-radius:6px;text-align:left;color:var(--mat-sys-on-surface);font:500 .8125rem/1.25rem Roboto;cursor:pointer}.tt-pop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-highest)}"],changeDetection:0})};function Be(n,e){if(n&1){let t=C();d(0,"button",13),g("click",function(){let a=v(t).$implicit,p=u(2);return y(p.setWorkspace(a))}),i(1),l()}if(n&2){let t=e.$implicit;m(),f(t)}}function ze(n,e){if(n&1){let t=C();d(0,"div",5)(1,"button",13),g("click",function(){v(t);let a=u();return y(a.setWorkspace(null))}),i(2,"All workspaces"),l(),M(3,Be,2,1,"button",14,B),l()}if(n&2){let t=u();m(3),w(t.api.workspaces())}}function $e(n,e){n&1&&(d(0,"div",15),i(1,"No profiles configured"),l())}function Ue(n,e){if(n&1){let t=C();d(0,"div",16)(1,"span",17),i(2),l(),d(3,"button",18),g("click",function(){let a=v(t).$implicit,p=u(2);return y(p.runProfile(a))}),d(4,"span",3),i(5,"rocket_launch"),l()()()}if(n&2){let t=e.$implicit;m(2),f(t)}}function We(n,e){if(n&1&&(d(0,"div",5),b(1,$e,2,0,"div",15),M(2,Ue,6,1,"div",16,B),l()),n&2){let t=u();m(),E(t.profiles().length?-1:1),m(),w(t.profiles())}}var $="daimon.workspace",Pe="daimon.profile",j=class n{api=c(N);host=c(I);workspace=h(null);profile=h(null);profiles=h([]);openMenu=h(null);filteredCount=me(()=>{let e=this.workspace();return e?this.api.apps().filter(t=>t.workspaceLabel===e).length:this.api.apps().length});ngOnInit(){this.workspace.set(localStorage.getItem($)),this.profile.set(localStorage.getItem(Pe)),this.loadProfiles()}toggle(e){this.openMenu.update(t=>t===e?null:e)}onDocClick(e){if(!this.openMenu())return;let t=e.target;this.host.nativeElement.contains(t)||this.openMenu.set(null)}async loadProfiles(){try{let e=await fetch("/api/config");if(!e.ok)return;let t=await e.json(),o=t?.config?.profiles?Object.keys(t.config.profiles):[];this.profiles.set(o)}catch{}}setWorkspace(e){this.workspace.set(e),e?localStorage.setItem($,e):localStorage.removeItem($),window.dispatchEvent(new CustomEvent("daimon:workspace",{detail:e})),this.openMenu.set(null)}toast(e,t=3e3){let o=document.getElementById("dm-toast-host");o||(o=document.createElement("div"),o.id="dm-toast-host",o.style.cssText="position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none",document.body.appendChild(o));let a=document.createElement("div");a.textContent=e,a.style.cssText="pointer-events:auto;padding:10px 16px;background:var(--mat-sys-inverse-surface,#322f35);color:var(--mat-sys-inverse-on-surface,#f5eff4);border-radius:8px;font:500 .8125rem/1.25rem Roboto;box-shadow:var(--mat-sys-level3,0 4px 12px rgba(0,0,0,.25))",o.appendChild(a),setTimeout(()=>{try{a.remove()}catch{}},t)}async runProfile(e){this.profile.set(e),localStorage.setItem(Pe,e),this.openMenu.set(null),this.toast(`Bringing up profile "${e}"\u2026`,2e3);try{let t=await this.api.ensureUp(e),o=Array.isArray(t?.apps)?`${t.apps.length} apps ready`:"done";this.toast(`Profile "${e}": ${o}`,3e3)}catch(t){this.toast(`Profile "${e}" failed: ${t?.message??"error"}`,5e3)}}onCmdK(){window.dispatchEvent(new CustomEvent("daimon:cmdk"))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["dm-topbar"]],hostBindings:function(t,o){t&1&&g("click",function(p){return o.onDocClick(p)},R)},decls:32,vars:12,consts:[[1,"dm-topbar"],[1,"dm-popwrap"],["type","button","aria-haspopup","true",1,"dm-chip",3,"click","title"],[1,"material-symbols-outlined"],[1,"material-symbols-outlined","dm-chip-caret"],["role","menu",1,"dm-pop"],[1,"dm-topbar-spacer"],[1,"dm-conn",3,"title"],[1,"dm-conn-dot"],[1,"dm-conn-text"],["type","button","title","Command palette",1,"dm-cmdk",3,"click"],[2,"margin","0 .5rem"],[1,"dm-kbd"],["type","button","role","menuitem",3,"click"],["type","button","role","menuitem"],[1,"dm-pop-empty"],["role","menuitem",1,"dm-pop-row"],[1,"dm-pop-label"],["type","button","title","ensure-up",1,"dm-pop-go",3,"click"]],template:function(t,o){t&1&&(d(0,"header",0)(1,"div",1)(2,"button",2),g("click",function(){return o.toggle("ws")}),d(3,"span",3),i(4,"folder_open"),l(),d(5,"span"),i(6),l(),d(7,"span",4),i(8,"expand_more"),l()(),b(9,ze,5,0,"div",5),l(),d(10,"div",1)(11,"button",2),g("click",function(){return o.toggle("profile")}),d(12,"span",3),i(13,"play_circle"),l(),d(14,"span"),i(15),l(),d(16,"span",4),i(17,"expand_more"),l()(),b(18,We,4,1,"div",5),l(),_(19,"span",6),d(20,"span",7),_(21,"span",8),d(22,"span",9),i(23),l()(),d(24,"button",10),g("click",function(){return o.onCmdK()}),d(25,"span",3),i(26,"search"),l(),d(27,"span",11),i(28,"Jump to\u2026"),l(),d(29,"kbd",12),i(30,"\u2318K"),l()(),_(31,"dm-theme-toggle"),l()),t&2&&(m(2),T("title","Filter by workspace"),S("aria-expanded",o.openMenu()==="ws"),m(4),f(o.workspace()||"All workspaces"),m(3),E(o.openMenu()==="ws"?9:-1),m(2),T("title","Run profile: ensure-up"),S("aria-expanded",o.openMenu()==="profile"),m(4),f(o.profile()||"No profile"),m(3),E(o.openMenu()==="profile"?18:-1),m(2),A("up",o.api.connected()),T("title",o.api.connected()?"Live event stream connected":"Reconnecting\u2026"),m(3),f(o.api.connected()?"live":"offline"))},dependencies:[K],styles:["[_nghost-%COMP%]{display:contents}.dm-topbar[_ngcontent-%COMP%]{grid-area:topbar;display:flex;align-items:center;gap:.5rem;padding:10px 16px;background:var(--mat-sys-surface);border-bottom:1px solid var(--mat-sys-outline-variant);min-height:56px}.dm-topbar-spacer[_ngcontent-%COMP%]{flex:1}.dm-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;padding:6px 10px;border-radius:999px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface);font:500 .8125rem/1.25rem Roboto;cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing)}.dm-chip[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-chip[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.dm-chip-caret[_ngcontent-%COMP%]{opacity:.7}.dm-cmdk[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;border-radius:12px!important}.dm-cmdk[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px}.dm-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);border:1px solid var(--mat-sys-outline-variant);color:var(--mat-sys-on-surface-variant)}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:4px 10px;border-radius:999px;font:500 .75rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);background:var(--mat-sys-surface-container)}.dm-conn-dot[_ngcontent-%COMP%]{width:8px;height:8px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn.up[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 4px color-mix(in oklch,var(--mat-sys-primary) 25%,transparent)}.dm-conn.up[_ngcontent-%COMP%] .dm-conn-text[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-popwrap[_ngcontent-%COMP%]{position:relative;display:inline-block}.dm-pop[_ngcontent-%COMP%]{position:absolute;left:0;top:calc(100% + 4px);min-width:200px;max-height:60vh;overflow-y:auto;background:var(--mat-sys-surface-container-high);border:1px solid var(--mat-sys-outline-variant);border-radius:10px;padding:4px;box-shadow:var(--mat-sys-level2);z-index:50;display:flex;flex-direction:column;gap:1px}.dm-pop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;padding:8px 12px;background:transparent;border:0;border-radius:6px;text-align:left;color:var(--mat-sys-on-surface);font:500 .8125rem/1.25rem Roboto;cursor:pointer}.dm-pop[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-highest)}.dm-pop-empty[_ngcontent-%COMP%]{padding:.5rem 1rem;color:var(--mat-sys-on-surface-variant)}.dm-pop-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:4px 8px}.dm-pop-label[_ngcontent-%COMP%]{flex:1;font:500 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-pop-go[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:0;border-radius:999px;color:var(--mat-sys-primary);cursor:pointer}.dm-pop-go[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-highest)}.dm-pop-go[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-cmdk[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:8px 14px;border-radius:12px;background:transparent;border:1px solid var(--mat-sys-outline);color:var(--mat-sys-on-surface);cursor:pointer}.dm-cmdk[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.dm-cmdk[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}"],changeDetection:0})};var U=class n{static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["dm-shortcuts-help"]],decls:138,vars:0,consts:[["mat-dialog-title",""],["mat-dialog-content",""],[1,"dm-keys"]],template:function(t,o){t&1&&(r(0,"h2",0),i(1,"Keyboard shortcuts"),s(),r(2,"div",1)(3,"table",2)(4,"tr")(5,"td")(6,"kbd"),i(7,"\u2318K"),s(),i(8," / "),r(9,"kbd"),i(10,"Ctrl+K"),s()(),r(11,"td"),i(12,"Command palette"),s()(),r(13,"tr")(14,"td")(15,"kbd"),i(16,"?"),s()(),r(17,"td"),i(18,"This help"),s()(),r(19,"tr")(20,"td")(21,"kbd"),i(22,"/"),s()(),r(23,"td"),i(24,"Focus filter"),s()(),r(25,"tr")(26,"td")(27,"kbd"),i(28,"g"),s(),r(29,"kbd"),i(30,"a"),s()(),r(31,"td"),i(32,"Apps"),s()(),r(33,"tr")(34,"td")(35,"kbd"),i(36,"g"),s(),r(37,"kbd"),i(38,"e"),s()(),r(39,"td"),i(40,"Errors"),s()(),r(41,"tr")(42,"td")(43,"kbd"),i(44,"g"),s(),r(45,"kbd"),i(46,"l"),s()(),r(47,"td"),i(48,"Logs"),s()(),r(49,"tr")(50,"td")(51,"kbd"),i(52,"g"),s(),r(53,"kbd"),i(54,"s"),s()(),r(55,"td"),i(56,"Settings"),s()(),r(57,"tr")(58,"td")(59,"kbd"),i(60,"g"),s(),r(61,"kbd"),i(62,"d"),s()(),r(63,"td"),i(64,"Doctor"),s()(),r(65,"tr")(66,"td")(67,"kbd"),i(68,"g"),s(),r(69,"kbd"),i(70,"v"),s()(),r(71,"td"),i(72,"Events"),s()(),r(73,"tr")(74,"td")(75,"kbd"),i(76,"g"),s(),r(77,"kbd"),i(78,"h"),s()(),r(79,"td"),i(80,"History"),s()(),r(81,"tr")(82,"td")(83,"kbd"),i(84,"g"),s(),r(85,"kbd"),i(86,"t"),s()(),r(87,"td"),i(88,"Trends"),s()(),r(89,"tr")(90,"td")(91,"kbd"),i(92,"g"),s(),r(93,"kbd"),i(94,"x"),s()(),r(95,"td"),i(96,"Tests"),s()(),r(97,"tr")(98,"td")(99,"kbd"),i(100,"g"),s(),r(101,"kbd"),i(102,"n"),s()(),r(103,"td"),i(104,"Sessions"),s()(),r(105,"tr")(106,"td")(107,"kbd"),i(108,"j"),s(),i(109," / "),r(110,"kbd"),i(111,"k"),s()(),r(112,"td"),i(113,"Next / prev item"),s()(),r(114,"tr")(115,"td")(116,"kbd"),i(117,"s"),s()(),r(118,"td"),i(119,"Start focused app"),s()(),r(120,"tr")(121,"td")(122,"kbd"),i(123,"r"),s()(),r(124,"td"),i(125,"Restart focused app"),s()(),r(126,"tr")(127,"td")(128,"kbd"),i(129,"x"),s()(),r(130,"td"),i(131,"Stop focused app"),s()(),r(132,"tr")(133,"td")(134,"kbd"),i(135,"."),s()(),r(136,"td"),i(137,"Toggle list / cards"),s()()()())},styles:[".dm-keys[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.dm-keys[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.375rem .5rem;vertical-align:middle}.dm-keys[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{width:9rem}kbd[_ngcontent-%COMP%]{font-family:Roboto Mono,ui-monospace,monospace;font-size:.75rem;padding:2px 6px;border-radius:4px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant)}"],changeDetection:0})},H=class n{router=c(fe);envInjector=c(X);pending=null;pendingTimer;handler=e=>this.onKey(e);async openShortcutsDialog(){let{MatDialog:e}=await import("./chunk-2BXIFQGQ.js");Z(this.envInjector,()=>{c(e).open(U,{width:"420px"})})}install(){window.addEventListener("keydown",this.handler)}uninstall(){window.removeEventListener("keydown",this.handler)}onKey(e){let t=e.target;if(!(t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable))){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="k"){e.preventDefault(),window.dispatchEvent(new CustomEvent("daimon:cmdk"));return}if(!(e.metaKey||e.ctrlKey||e.altKey)){if(this.pending==="g"){this.pending=null,this.pendingTimer&&clearTimeout(this.pendingTimer);let a={a:"/",e:"/errors",l:"/logs",s:"/config",d:"/doctor",v:"/events",h:"/history",t:"/trends",x:"/tests",n:"/sessions",r:"/errors",c:"/config"}[e.key.toLowerCase()];a&&(e.preventDefault(),this.router.navigateByUrl(a));return}if(e.key==="?"){e.preventDefault(),this.openShortcutsDialog();return}if(e.key==="/"){e.preventDefault(),window.dispatchEvent(new CustomEvent("daimon:focus-filter"));return}if(e.key==="g"){this.pending="g",this.pendingTimer=setTimeout(()=>this.pending=null,1200);return}if(e.key==="."){e.preventDefault(),window.dispatchEvent(new CustomEvent("daimon:toggle-density"));return}["j","k","s","r","x"].includes(e.key)&&window.dispatchEvent(new CustomEvent("daimon:key",{detail:e.key}))}}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=D({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ye=()=>[import("./chunk-VM2FOT77.js").then(n=>n.CommandPaletteComponent)];function qe(n,e){n&1&&_(0,"dm-command-palette")}var V=class n{api=c(N);keys=c(H);paletteActivated=h(!1);onCmdK=()=>{this.paletteActivated()||(this.paletteActivated.set(!0),setTimeout(()=>window.dispatchEvent(new CustomEvent("daimon:cmdk")),50))};ngOnInit(){this.api.start(),this.keys.install(),window.addEventListener("daimon:cmdk",this.onCmdK)}ngOnDestroy(){this.api.stop(),this.keys.uninstall(),window.removeEventListener("daimon:cmdk",this.onCmdK)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=x({type:n,selectors:[["dm-root"]],decls:8,vars:1,consts:[[1,"dm-shell"],[1,"dm-main"]],template:function(t,o){t&1&&(d(0,"div",0),_(1,"dm-nav-rail")(2,"dm-topbar"),d(3,"main",1),_(4,"router-outlet"),l()(),re(5,qe,1,0),ae(6,5,Ye)),t&2&&(m(6),se(o.paletteActivated()))},dependencies:[he,F,j],styles:['[_nghost-%COMP%]{display:block;height:100vh}.dm-shell[_ngcontent-%COMP%]{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;grid-template-areas:"rail topbar" "rail main";height:100vh;min-height:100vh}.dm-main[_ngcontent-%COMP%]{grid-area:main;overflow-y:auto;padding:1.5rem;background:var(--mat-sys-surface)}'],changeDetection:0})};var Oe=[{path:"",loadComponent:()=>import("./chunk-LHAMBNO6.js").then(n=>n.AppsListComponent)},{path:"apps/:name",loadComponent:()=>import("./chunk-V2KNRAE4.js").then(n=>n.AppDetailComponent)},{path:"events",loadComponent:()=>import("./chunk-NX6DTO32.js").then(n=>n.EventsFeedComponent)},{path:"logs",loadComponent:()=>import("./chunk-P5IE6DI6.js").then(n=>n.LogsPageComponent)},{path:"logs/:name",loadComponent:()=>import("./chunk-P5IE6DI6.js").then(n=>n.LogsPageComponent)},{path:"errors",loadComponent:()=>import("./chunk-PMAG4W5W.js").then(n=>n.ErrorsPanelComponent)},{path:"doctor",loadComponent:()=>import("./chunk-4BAKWDAV.js").then(n=>n.DoctorPageComponent)},{path:"config",loadComponent:()=>import("./chunk-QSBOKS53.js").then(n=>n.ConfigEditorComponent)},{path:"history",loadComponent:()=>import("./chunk-4OCNYL7T.js").then(n=>n.HistoryPageComponent)},{path:"history/:name",loadComponent:()=>import("./chunk-4OCNYL7T.js").then(n=>n.HistoryPageComponent)},{path:"trends",loadComponent:()=>import("./chunk-H2N3RBHF.js").then(n=>n.TrendsPageComponent)},{path:"tests",loadComponent:()=>import("./chunk-44JIQO3X.js").then(n=>n.TestsPageComponent)},{path:"sessions",loadComponent:()=>import("./chunk-KL6X73FV.js").then(n=>n.SessionsPageComponent)},{path:"requests/:name",loadComponent:()=>import("./chunk-CY5YRTQK.js").then(n=>n.RequestsPageComponent)},{path:"**",redirectTo:""}];ce(V,{providers:[le(),Te(),ue(ge()),xe(Oe,be()),{provide:Ee,useValue:{fontSet:"material-symbols-outlined"}}]}).catch(n=>console.error(n));