daimon 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +106 -0
- package/README.md +43 -29
- package/dist/cli.js +79 -66
- package/dist/dashboard/3rdpartylicenses.txt +4 -4
- package/dist/dashboard/browser/{chunk-HFJ25UTJ.js → chunk-25VLDASM.js} +4 -4
- package/dist/dashboard/browser/chunk-5PAHWCG5.js +1 -0
- package/dist/dashboard/browser/chunk-6BDWIJ3G.js +3 -0
- package/dist/dashboard/browser/chunk-6C6GHU3A.js +1 -0
- package/dist/dashboard/browser/{chunk-JX3IOOXU.js → chunk-7NRE3SNA.js} +3 -3
- package/dist/dashboard/browser/chunk-BDYOKQF3.js +1 -0
- package/dist/dashboard/browser/chunk-CILFSVSP.js +2 -0
- package/dist/dashboard/browser/chunk-GDJOSLWM.js +1 -0
- package/dist/dashboard/browser/chunk-HYGMRGYR.js +4 -0
- package/dist/dashboard/browser/chunk-HYIZMKSF.js +1 -0
- package/dist/dashboard/browser/chunk-IQZZO5IM.js +3 -0
- package/dist/dashboard/browser/chunk-J5UK77OJ.js +1 -0
- package/dist/dashboard/browser/chunk-JI63U3KC.js +2 -0
- package/dist/dashboard/browser/chunk-K43KW4K2.js +4 -0
- package/dist/dashboard/browser/chunk-KLH6B22T.js +1 -0
- package/dist/dashboard/browser/chunk-L2PHC6DL.js +1 -0
- package/dist/dashboard/browser/{chunk-Q7R63OUT.js → chunk-LBRCWYRN.js} +1 -1
- package/dist/dashboard/browser/chunk-MHYQENOC.js +1 -0
- package/dist/dashboard/browser/{chunk-AEERNAF7.js → chunk-NDSAQ2HK.js} +1 -1
- package/dist/dashboard/browser/chunk-OHX55ZU4.js +2 -0
- package/dist/dashboard/browser/chunk-OUXULJ3Z.js +3 -0
- package/dist/dashboard/browser/chunk-P5IU57TV.js +2 -0
- package/dist/dashboard/browser/{chunk-3TYCIBMV.js → chunk-PJPGLT4T.js} +1 -1
- package/dist/dashboard/browser/chunk-Q3N4MMWW.js +5 -0
- package/dist/dashboard/browser/chunk-RIDV4B55.js +5 -0
- package/dist/dashboard/browser/chunk-SR5JAOLW.js +2 -0
- package/dist/dashboard/browser/{chunk-ZVU34B5S.js → chunk-UC3XMN2Y.js} +1 -1
- package/dist/dashboard/browser/chunk-UU5K6ZPO.js +1 -0
- package/dist/dashboard/browser/chunk-XXIJQBCQ.js +2 -0
- package/dist/dashboard/browser/chunk-Y6B6X4Y6.js +2 -0
- package/dist/dashboard/browser/chunk-YA4AZONZ.js +5 -0
- package/dist/dashboard/browser/chunk-YNCTXEXX.js +3 -0
- package/dist/dashboard/browser/chunk-YNQPX5G6.js +1 -0
- package/dist/dashboard/browser/{chunk-SLQ2WBUA.js → chunk-YYAZGY5M.js} +1 -1
- package/dist/dashboard/browser/chunk-ZDNBWNU5.js +1 -0
- package/dist/dashboard/browser/chunk-ZEO5YLWG.js +3 -0
- package/dist/dashboard/browser/chunk-ZVUH3ISD.js +2 -0
- package/dist/dashboard/browser/index.html +1 -1
- package/dist/dashboard/browser/main-IDF27PFI.js +1 -0
- package/dist/main.js +57 -44
- package/dist/mcp.js +3 -2
- package/package.json +2 -2
- package/dist/dashboard/browser/chunk-5UAN6ETO.js +0 -1
- package/dist/dashboard/browser/chunk-AX3RJNG4.js +0 -1
- package/dist/dashboard/browser/chunk-BADBUP5C.js +0 -3
- package/dist/dashboard/browser/chunk-BF6RQFHS.js +0 -2
- package/dist/dashboard/browser/chunk-C65CUT7O.js +0 -4
- package/dist/dashboard/browser/chunk-CNIZYK4A.js +0 -1
- package/dist/dashboard/browser/chunk-D4BFRQ63.js +0 -4
- package/dist/dashboard/browser/chunk-E235WGFQ.js +0 -3
- package/dist/dashboard/browser/chunk-F2EDJ6FT.js +0 -4
- package/dist/dashboard/browser/chunk-HFAARBWL.js +0 -1
- package/dist/dashboard/browser/chunk-LQNYSOSZ.js +0 -1
- package/dist/dashboard/browser/chunk-MBVVV35N.js +0 -1
- package/dist/dashboard/browser/chunk-NC2VPB4Y.js +0 -2
- package/dist/dashboard/browser/chunk-NXNVIINH.js +0 -1
- package/dist/dashboard/browser/chunk-QLKOKZDG.js +0 -9
- package/dist/dashboard/browser/chunk-QQSPJIPQ.js +0 -1
- package/dist/dashboard/browser/chunk-SCAIGUJL.js +0 -6
- package/dist/dashboard/browser/chunk-TSB6OOH2.js +0 -6
- package/dist/dashboard/browser/chunk-WWUKM5OG.js +0 -1
- package/dist/dashboard/browser/chunk-ZYE3XQS4.js +0 -2
- package/dist/dashboard/browser/main-Z6L5VPBT.js +0 -4
|
@@ -0,0 +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}}
|
|
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
|
+
`],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
|
+
`],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};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as de}from"./chunk-ZEO5YLWG.js";import{a as ee,b as te,c as ne,d as ie,e as oe,g as ae,h as re,k as se,l as le}from"./chunk-YA4AZONZ.js";import"./chunk-P5IU57TV.js";import"./chunk-NDSAQ2HK.js";import{b as Y,f as Q,h as q,j as G}from"./chunk-YYAZGY5M.js";import"./chunk-PJPGLT4T.js";import{b as H,c as J,d as U}from"./chunk-RIDV4B55.js";import"./chunk-OHX55ZU4.js";import{d as X,e as Z}from"./chunk-SR5JAOLW.js";import{a as z,b as K}from"./chunk-XXIJQBCQ.js";import"./chunk-YNQPX5G6.js";import"./chunk-IQZZO5IM.js";import"./chunk-KLH6B22T.js";import{c as B}from"./chunk-5PAHWCG5.js";import{h as j,i as A,j as W}from"./chunk-Q3N4MMWW.js";import{h as V}from"./chunk-Y6B6X4Y6.js";import{Db as b,Eb as c,Fb as p,Hb as L,Ib as E,Jb as k,Kb as _,Lb as a,Mb as r,Nb as F,Sb as T,Ub as h,Wb as m,_a as o,ea as D,gc as w,ic as s,ja as x,jc as u,ka as M,kc as y,pb as N,sc as R,ta as g,xc as P}from"./chunk-K43KW4K2.js";var ce=t=>["/apps",t],pe=(t,n)=>n.name,ue=(t,n)=>n.key;function ve(t,n){t&1&&(a(0,"span",18),s(1,"\xB7"),r(),a(2,"span",19),s(3,"paused"),r())}function ge(t,n){if(t&1&&(a(0,"span",18),s(1,"\xB7"),r(),a(2,"span"),s(3),r()),t&2){let e=m();o(3),y("",e.pendingCount()," new while paused")}}function _e(t,n){if(t&1&&(a(0,"mat-option",10),s(1),r()),t&2){let e=n.$implicit;_("value",e.name),o(),u(e.name)}}function fe(t,n){if(t&1){let e=T();a(0,"button",20),h("click",function(){x(e);let d=m();return M(d.textFilter.set(""))}),a(1,"mat-icon"),s(2,"close"),r()()}}function he(t,n){if(t&1){let e=T();a(0,"button",21),h("click",function(){let d=x(e).$implicit,v=m();return M(v.toggleType(d))}),s(1),r()}if(t&2){let e=n.$implicit,i=m();w("dm-chip-active",i.typeFilter().has(e)),b("data-kind",e),o(),y(" ",e," ")}}function ye(t,n){if(t&1){let e=T();a(0,"button",22),h("click",function(){x(e);let d=m();return M(d.clearTypes())}),a(1,"mat-icon"),s(2,"close"),r()()}}function Ce(t,n){t&1&&F(0,"dm-empty",23)}function xe(t,n){t&1&&F(0,"dm-empty",24)}function Me(t,n){if(t&1&&c(0,Ce,1,0,"dm-empty",23)(1,xe,1,0,"dm-empty",24),t&2){let e=m();p(e.liveEvents().length===0?0:1)}}function be(t,n){if(t&1&&(a(0,"li",25)(1,"span",32),s(2),r()()),t&2){let e=m().$implicit;o(2),u(e.gapLabel)}}function Ee(t,n){if(t&1&&(a(0,"a",29)(1,"dm-mono"),s(2),r()()),t&2){let e=m().$implicit;_("routerLink",R(2,ce,e.ev.app)),o(2),u(e.ev.app)}}function ke(t,n){t&1&&(a(0,"span",30),s(1,"\u2014"),r())}function Fe(t,n){if(t&1&&(a(0,"dm-mono"),s(1),r(),a(2,"span",33),s(3,"\u2192"),r(),a(4,"dm-mono"),s(5),r()),t&2){let e=m().$implicit;o(),u(e.ev.from??"?"),o(4),u(e.ev.to??"?")}}function Te(t,n){if(t&1&&s(0),t&2){let e=m().$implicit;y(" ",e.ev.message??""," ")}}function we(t,n){if(t&1&&(c(0,be,3,1,"li",25),a(1,"li",26)(2,"span",27)(3,"dm-mono"),s(4),r()(),a(5,"span",28),s(6),r(),c(7,Ee,3,4,"a",29)(8,ke,2,0,"span",30),a(9,"span",31),c(10,Fe,6,2)(11,Te,1,1),r()()),t&2){let e=n.$implicit,i=m(2);p(e.divider?0:-1),o(),w("dm-flash",e.flash),b("data-kind",e.ev.type),o(),_("matTooltip",i.absTime(e.ev.ts)),o(2),u(i.rel(e.ev.ts)),o(),b("data-kind",e.ev.type),o(),u(e.ev.type),o(),p(e.ev.app?7:8),o(3),p(e.ev.type==="status"&&(e.ev.from||e.ev.to)?10:11)}}function Pe(t,n){if(t&1&&(a(0,"ol",17),E(1,we,12,10,null,null,ue),r()),t&2){let e=m();o(),k(e.rendered())}}var Oe=["status","health","error","compile","log"];function Se(t,n){let e=Math.max(0,Math.floor((n-t)/1e3));if(e<1)return"just now";if(e<60)return`${e}s ago`;let i=Math.floor(e/60),d=e%60;return i<60?d?`${i}m ${d}s ago`:`${i}m ago`:`${Math.floor(i/60)}h ${i%60}m ago`}var me=class t{api=D(W);types=Oe;paused=g(!1);appFilter=g("");textFilter=g("");typeFilter=g(new Set);now=g(Date.now());snapshot=g(null);lastSeenTs=g(0);tickTimer;liveEvents=P(()=>this.snapshot()??this.api.events());pendingCount=P(()=>{let n=this.snapshot();if(!n)return 0;let e=this.api.events();return Math.max(0,e.length-n.length)});rendered=P(()=>{let n=this.liveEvents(),e=this.appFilter(),i=this.textFilter().toLowerCase(),d=this.typeFilter(),v=this.lastSeenTs(),C=[];for(let l of n)e&&l.app!==e||d.size&&!d.has(l.type)||i&&!`${l.app??""} ${l.type} ${l.message??""} ${l.from??""} ${l.to??""}`.toLowerCase().includes(i)||C.push(l);let S=[];for(let l=0;l<C.length;l++){let f=C[l],O=C[l+1],I=O?f.ts-O.ts:0,$=!!O&&I>3e4;S.push({key:`${f.ts}:${l}`,ev:f,divider:$,gapLabel:$?Ie(I):"",flash:f.ts>v})}return S.sort((l,f)=>f.ev.ts-l.ev.ts)});ngOnInit(){this.lastSeenTs.set(Date.now()),this.tickTimer=setInterval(()=>{this.now.set(Date.now());let n=this.api.events();n.length&&this.lastSeenTs.set(n[n.length-1].ts)},1e3)}ngOnDestroy(){this.tickTimer&&clearInterval(this.tickTimer)}togglePause(){this.paused()?(this.paused.set(!1),this.snapshot.set(null)):(this.snapshot.set(this.api.events().slice()),this.paused.set(!0))}toggleType(n){this.typeFilter.update(e=>{let i=new Set(e);return i.has(n)?i.delete(n):i.add(n),i})}clearTypes(){this.typeFilter.set(new Set)}rel(n){return Se(n,this.now())}absTime(n){return new Date(n).toLocaleString()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=N({type:t,selectors:[["dm-events-feed"]],decls:37,vars:15,consts:[[1,"dm-page-header"],[1,"dm-count"],[1,"dm-page-sub"],[1,"dm-conn"],[1,"dm-conn-dot"],[1,"dm-header-actions"],["mat-stroked-button","",3,"click","matTooltip"],[1,"dm-toolbar"],["appearance","outline",1,"dm-app-filter"],[3,"ngModelChange","ngModel"],[3,"value"],["appearance","outline",1,"dm-text-filter"],["matInput","","placeholder","filter message / app",3,"ngModelChange","ngModel"],["matSuffix","","mat-icon-button",""],[1,"dm-type-chips"],[1,"dm-chip",3,"dm-chip-active"],[1,"dm-chip","dm-chip-clear"],[1,"dm-list"],[1,"dm-sep"],[1,"dm-paused-tag"],["matSuffix","","mat-icon-button","",3,"click"],[1,"dm-chip",3,"click"],[1,"dm-chip","dm-chip-clear",3,"click"],["icon","timeline","title","Quiet","hint","No events in this session \u2014 start an app to see status transitions, errors, and compiles"],["icon","filter_alt_off","title","No matches","hint","Adjust filters to see events"],[1,"dm-divider"],[1,"dm-event"],[1,"dm-time",3,"matTooltip"],[1,"dm-type"],[1,"dm-app",3,"routerLink"],[1,"dm-app","dm-app-empty"],[1,"dm-msg"],[1,"dm-divider-label"],[1,"dm-arrow"]],template:function(e,i){e&1&&(a(0,"div",0)(1,"div")(2,"h1"),s(3,"Events "),a(4,"span",1),s(5),r()(),a(6,"div",2)(7,"span",3),F(8,"span",4),s(9),r(),c(10,ve,4,0),c(11,ge,4,1),r()(),a(12,"div",5)(13,"button",6),h("click",function(){return i.togglePause()}),a(14,"mat-icon"),s(15),r(),s(16),r()()(),a(17,"div",7)(18,"mat-form-field",8)(19,"mat-label"),s(20,"App"),r(),a(21,"mat-select",9),h("ngModelChange",function(v){return i.appFilter.set(v)}),a(22,"mat-option",10),s(23,"All apps"),r(),E(24,_e,2,2,"mat-option",10,pe),r()(),a(26,"mat-form-field",11)(27,"mat-label"),s(28,"Search"),r(),a(29,"input",12),h("ngModelChange",function(v){return i.textFilter.set(v)}),r(),c(30,fe,3,0,"button",13),r(),a(31,"div",14),E(32,he,2,4,"button",15,L),c(34,ye,3,0,"button",16),r()(),c(35,Me,2,1)(36,Pe,3,0,"ol",17)),e&2&&(o(5),y("\xB7 ",i.liveEvents().length),o(2),w("dm-conn-on",i.api.connected()),o(2),y(" ",i.api.connected()?"live":"disconnected"," "),o(),p(i.paused()?10:-1),o(),p(i.paused()&&i.pendingCount()>0?11:-1),o(2),_("matTooltip",i.paused()?"Resume feed":"Pause feed"),o(2),u(i.paused()?"play_arrow":"pause"),o(),y(" ",i.paused()?"Resume":"Pause"," "),o(5),_("ngModel",i.appFilter()),o(),_("value",""),o(2),k(i.api.apps()),o(5),_("ngModel",i.textFilter()),o(),p(i.textFilter()?30:-1),o(2),k(i.types),o(2),p(i.typeFilter().size>0?34:-1),o(),p(i.rendered().length===0?35:36))},dependencies:[V,G,Y,Q,q,B,ie,ne,ee,te,re,ae,oe,le,se,de,U,J,H,A,j,K,z,X,Z],styles:["[_nghost-%COMP%]{display:block}.dm-count[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-weight:400}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem}.dm-conn-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn-on[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-paused-tag[_ngcontent-%COMP%]{color:var(--mat-sys-tertiary);font-weight:500}.dm-toolbar[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:.5rem}.dm-app-filter[_ngcontent-%COMP%]{width:12rem}.dm-text-filter[_ngcontent-%COMP%]{flex:1;min-width:14rem;max-width:28rem}.dm-type-chips[_ngcontent-%COMP%]{display:flex;gap:.35rem;flex-wrap:wrap}.dm-chip[_ngcontent-%COMP%]{border:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border-radius:999px;padding:4px 12px;font:500 .75rem/1rem Roboto;cursor:pointer;letter-spacing:.025rem}.dm-chip[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-chip-active[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface)}.dm-chip-clear[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:2px 8px}.dm-chip-clear[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-lowest);overflow:hidden}.dm-event[_ngcontent-%COMP%]{display:grid;grid-template-columns:7.5rem max-content 10rem 1fr;gap:.75rem;align-items:center;height:28px;padding:0 .75rem;border-top:1px solid var(--mat-sys-outline-variant);font-size:.8125rem;color:var(--mat-sys-on-surface)}.dm-event[_ngcontent-%COMP%]:first-child{border-top:0}.dm-time[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-type[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto;letter-spacing:.03rem;border:1px solid var(--mat-sys-outline-variant);text-transform:lowercase;white-space:nowrap}.dm-type[data-kind=status][_ngcontent-%COMP%], .dm-chip[data-kind=status].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-primary) 30%,transparent);color:var(--mat-sys-primary)}.dm-type[data-kind=health][_ngcontent-%COMP%], .dm-chip[data-kind=health].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-secondary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-secondary) 30%,transparent);color:var(--mat-sys-secondary)}.dm-type[data-kind=error][_ngcontent-%COMP%], .dm-chip[data-kind=error].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-error) 32%,transparent);color:var(--mat-sys-error)}.dm-type[data-kind=compile][_ngcontent-%COMP%], .dm-chip[data-kind=compile].dm-chip-active[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 14%,transparent);border-color:color-mix(in oklch,var(--mat-sys-tertiary) 30%,transparent);color:var(--mat-sys-tertiary)}.dm-type[data-kind=log][_ngcontent-%COMP%], .dm-chip[data-kind=log].dm-chip-active[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant)}.dm-app[_ngcontent-%COMP%]{text-decoration:none;color:var(--mat-sys-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-app[_ngcontent-%COMP%]:hover{text-decoration:underline}.dm-app-empty[_ngcontent-%COMP%]{color:var(--mat-sys-outline)}.dm-msg[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.35rem}.dm-arrow[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-divider[_ngcontent-%COMP%]{height:18px;display:flex;align-items:center;justify-content:center;border-top:1px solid var(--mat-sys-outline-variant);background:var(--mat-sys-surface-container)}.dm-divider-label[_ngcontent-%COMP%]{font:400 .6875rem/1rem Roboto;color:var(--mat-sys-on-surface-variant);letter-spacing:.04rem}.dm-flash[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_dm-event-pulse .6s var(--dm-motion-easing)}@keyframes _ngcontent-%COMP%_dm-event-pulse{0%{background:color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}to{background:transparent}}@media(prefers-reduced-motion:reduce){.dm-flash[_ngcontent-%COMP%]{animation:none}}"],changeDetection:0})};function Ie(t){let n=Math.floor(t/1e3);if(n<60)return`${n}s gap`;let e=Math.floor(n/60);return e<60?`${e}m gap`:`${Math.floor(e/60)}h ${e%60}m gap`}export{me as EventsFeedComponent};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{a as u,c as I,d as lt,e as z,f as kt,g as ye,h as we,i as Ot,j as be}from"./chunk-KLH6B22T.js";import{G as me,H as ve,N as W,O as X,e as _e,o as at,p as E,r as H,s as ge,v as St,x as Rt}from"./chunk-Y6B6X4Y6.js";import{$ as v,$b as se,Aa as ot,C as q,Ca as k,D as Q,Ec as fe,Fc as ue,Hc as x,Ia as Qt,J as Ht,Kc as pe,O as Wt,Ob as te,Pb as ee,Qb as ie,R as Xt,T as bt,U as Zt,V as J,W as Gt,Xb as oe,Yb as ne,_ as Ut,_a as Jt,_b as re,a as K,aa as D,ac as ae,b as Nt,ca as L,d as R,db as O,ea as l,eb as m,f as yt,fb as Y,fc as le,gb as V,gc as he,ha as tt,hb as P,i as p,ib as nt,k as Lt,l as Yt,lb as M,mb as Ct,na as y,o as wt,oa as C,pa as $t,pb as rt,q as jt,qb as B,rb as w,rc as j,sb as T,ta as et,wc as ce,xa as Kt,ya as qt,yc as de,za as it,zb as st}from"./chunk-K43KW4K2.js";var Ge=["contentWrapper"],Ue=["*"],ke=new L("VIRTUAL_SCROLL_STRATEGY"),xt=class{_scrolledIndexChange=new p;scrolledIndexChange=this._scrolledIndexChange.pipe(Ht());_viewport=null;_itemSize;_minBufferPx;_maxBufferPx;constructor(i,t,e){this._itemSize=i,this._minBufferPx=t,this._maxBufferPx=e}attach(i){this._viewport=i,this._updateTotalContentSize(),this._updateRenderedRange()}detach(){this._scrolledIndexChange.complete(),this._viewport=null}updateItemAndBufferSize(i,t,e){e<t,this._itemSize=i,this._minBufferPx=t,this._maxBufferPx=e,this._updateTotalContentSize(),this._updateRenderedRange()}onContentScrolled(){this._updateRenderedRange()}onDataLengthChanged(){this._updateTotalContentSize(),this._updateRenderedRange()}onContentRendered(){}onRenderedOffsetChanged(){}scrollToIndex(i,t){this._viewport&&this._viewport.scrollToOffset(i*this._itemSize,t)}_updateTotalContentSize(){this._viewport&&this._viewport.setTotalContentSize(this._viewport.getDataLength()*this._itemSize)}_updateRenderedRange(){if(!this._viewport)return;let i=this._viewport.getRenderedRange(),t={start:i.start,end:i.end},e=this._viewport.getViewportSize(),o=this._viewport.getDataLength(),r=this._viewport.measureScrollOffset(),s=this._itemSize>0?r/this._itemSize:0;if(t.end>o){let h=Math.ceil(e/this._itemSize),c=Math.max(0,Math.min(s,o-h));s!=c&&(s=c,r=c*this._itemSize,t.start=Math.floor(s)),t.end=Math.max(0,Math.min(o,t.start+h))}let a=r-t.start*this._itemSize;if(a<this._minBufferPx&&t.start!=0){let h=Math.ceil((this._maxBufferPx-a)/this._itemSize);t.start=Math.max(0,t.start-h),t.end=Math.min(o,Math.ceil(s+(e+this._minBufferPx)/this._itemSize))}else{let h=t.end*this._itemSize-(r+e);if(h<this._minBufferPx&&t.end!=o){let c=Math.ceil((this._maxBufferPx-h)/this._itemSize);c>0&&(t.end=Math.min(o,t.end+c),t.start=Math.max(0,Math.floor(s-this._minBufferPx/this._itemSize)))}}this._viewport.setRenderedRange(t),this._viewport.setRenderedContentOffset(Math.round(this._itemSize*t.start)),this._scrolledIndexChange.next(Math.floor(s))}};function $e(n){return n._scrollStrategy}var Ke=(()=>{class n{get itemSize(){return this._itemSize}set itemSize(t){this._itemSize=H(t)}_itemSize=20;get minBufferPx(){return this._minBufferPx}set minBufferPx(t){this._minBufferPx=H(t)}_minBufferPx=100;get maxBufferPx(){return this._maxBufferPx}set maxBufferPx(t){this._maxBufferPx=H(t)}_maxBufferPx=200;_scrollStrategy=new xt(this.itemSize,this.minBufferPx,this.maxBufferPx);ngOnChanges(){this._scrollStrategy.updateItemAndBufferSize(this.itemSize,this.minBufferPx,this.maxBufferPx)}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["cdk-virtual-scroll-viewport","itemSize",""]],inputs:{itemSize:"itemSize",minBufferPx:"minBufferPx",maxBufferPx:"maxBufferPx"},features:[j([{provide:ke,useFactory:$e,deps:[Ut(()=>n)]}]),it]})}return n})(),qe=20,Z=(()=>{class n{_ngZone=l(m);_platform=l(E);_renderer=l(P).createRenderer(null,null);_cleanupGlobalListener;constructor(){}_scrolled=new p;_scrolledCount=0;scrollContainers=new Map;register(t){this.scrollContainers.has(t)||this.scrollContainers.set(t,t.elementScrolled().subscribe(()=>this._scrolled.next(t)))}deregister(t){let e=this.scrollContainers.get(t);e&&(e.unsubscribe(),this.scrollContainers.delete(t))}scrolled(t=qe){return this._platform.isBrowser?new yt(e=>{this._cleanupGlobalListener||(this._cleanupGlobalListener=this._ngZone.runOutsideAngular(()=>this._renderer.listen("document","scroll",()=>this._scrolled.next())));let o=t>0?this._scrolled.pipe(Q(t)).subscribe(e):this._scrolled.subscribe(e);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||(this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0)}}):wt()}ngOnDestroy(){this._cleanupGlobalListener?.(),this._cleanupGlobalListener=void 0,this.scrollContainers.forEach((t,e)=>this.deregister(e)),this._scrolled.complete()}ancestorScrolled(t,e){let o=this.getAncestorScrollContainers(t);return this.scrolled(e).pipe(q(r=>!r||o.indexOf(r)>-1))}getAncestorScrollContainers(t){let e=[];return this.scrollContainers.forEach((o,r)=>{this._scrollableContainsElement(r,t)&&e.push(r)}),e}_scrollableContainsElement(t,e){let o=ge(e),r=t.getElementRef().nativeElement;do if(o==r)return!0;while(o=o.parentElement);return!1}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Dt=(()=>{class n{elementRef=l(k);scrollDispatcher=l(Z);ngZone=l(m);dir=l(W,{optional:!0});_scrollElement=this.elementRef.nativeElement;_destroyed=new p;_renderer=l(nt);_cleanupScroll;_elementScrolled=new p;constructor(){}ngOnInit(){this._cleanupScroll=this.ngZone.runOutsideAngular(()=>this._renderer.listen(this._scrollElement,"scroll",t=>this._elementScrolled.next(t))),this.scrollDispatcher.register(this)}ngOnDestroy(){this._cleanupScroll?.(),this._elementScrolled.complete(),this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(t){let e=this.elementRef.nativeElement,o=this.dir&&this.dir.value=="rtl";t.left==null&&(t.left=o?t.end:t.start),t.right==null&&(t.right=o?t.start:t.end),t.bottom!=null&&(t.top=e.scrollHeight-e.clientHeight-t.bottom),o&&z()!=I.NORMAL?(t.left!=null&&(t.right=e.scrollWidth-e.clientWidth-t.left),z()==I.INVERTED?t.left=t.right:z()==I.NEGATED&&(t.left=t.right?-t.right:t.right)):t.right!=null&&(t.left=e.scrollWidth-e.clientWidth-t.right),this._applyScrollToOptions(t)}_applyScrollToOptions(t){let e=this.elementRef.nativeElement;lt()?e.scrollTo(t):(t.top!=null&&(e.scrollTop=t.top),t.left!=null&&(e.scrollLeft=t.left))}measureScrollOffset(t){let e="left",o="right",r=this.elementRef.nativeElement;if(t=="top")return r.scrollTop;if(t=="bottom")return r.scrollHeight-r.clientHeight-r.scrollTop;let s=this.dir&&this.dir.value=="rtl";return t=="start"?t=s?o:e:t=="end"&&(t=s?e:o),s&&z()==I.INVERTED?t==e?r.scrollWidth-r.clientWidth-r.scrollLeft:r.scrollLeft:s&&z()==I.NEGATED?t==e?r.scrollLeft+r.scrollWidth-r.clientWidth:-r.scrollLeft:t==e?r.scrollLeft:r.scrollWidth-r.clientWidth-r.scrollLeft}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]]})}return n})(),Qe=20,F=(()=>{class n{_platform=l(E);_listeners;_viewportSize;_change=new p;_document=l(C);constructor(){let t=l(m),e=l(P).createRenderer(null,null);t.runOutsideAngular(()=>{if(this._platform.isBrowser){let o=r=>this._change.next(r);this._listeners=[e.listen("window","resize",o),e.listen("window","orientationchange",o)]}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){this._listeners?.forEach(t=>t()),this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();let t={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),t}getViewportRect(){let t=this.getViewportScrollPosition(),{width:e,height:o}=this.getViewportSize();return{top:t.top,left:t.left,bottom:t.top+o,right:t.left+e,height:o,width:e}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};let t=this._document,e=this._getWindow(),o=t.documentElement,r=o.getBoundingClientRect(),s=-r.top||t.body.scrollTop||e.scrollY||o.scrollTop||0,a=-r.left||t.body.scrollLeft||e.scrollX||o.scrollLeft||0;return{top:s,left:a}}change(t=Qe){return t>0?this._change.pipe(Q(t)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){let t=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:t.innerWidth,height:t.innerHeight}:{width:0,height:0}}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Ce=new L("VIRTUAL_SCROLLABLE"),Je=(()=>{class n extends Dt{constructor(){super()}measureViewportSize(t){let e=this.elementRef.nativeElement;return t==="horizontal"?e.clientWidth:e.clientHeight}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,features:[T]})}return n})();function ti(n,i){return n.start==i.start&&n.end==i.end}var ei=typeof requestAnimationFrame<"u"?Yt:Lt,Oe=(()=>{class n extends Je{elementRef=l(k);_changeDetectorRef=l(fe);_scrollStrategy=l(ke,{optional:!0});scrollable=l(Ce,{optional:!0});_platform=l(E);_detachedSubject=new p;_renderedRangeSubject=new p;get orientation(){return this._orientation}set orientation(t){this._orientation!==t&&(this._orientation=t,this._calculateSpacerSize())}_orientation="vertical";appendOnly=!1;scrolledIndexChange=new yt(t=>this._scrollStrategy.scrolledIndexChange.subscribe(e=>Promise.resolve().then(()=>this.ngZone.run(()=>t.next(e)))));_contentWrapper;renderedRangeStream=this._renderedRangeSubject;_totalContentSize=0;_totalContentWidth=et("");_totalContentHeight=et("");_renderedContentTransform;_renderedRange={start:0,end:0};_dataLength=0;_viewportSize=0;_forOf;_renderedContentOffset=0;_renderedContentOffsetNeedsRewrite=!1;_changeDetectionNeeded=et(!1);_runAfterChangeDetection=[];_viewportChanges=R.EMPTY;_injector=l(y);_isDestroyed=!1;constructor(){super();let t=l(F);this._scrollStrategy,this._viewportChanges=t.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this);let e=de(()=>{this._changeDetectionNeeded()&&this._doChangeDetection()},{injector:l(st).injector});l($t).onDestroy(()=>{e.destroy()})}ngOnInit(){this._platform.isBrowser&&(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(bt(null),Q(0,ei),J(this._destroyed)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),this._isDestroyed=!0,super.ngOnDestroy()}attach(t){this._forOf,this.ngZone.runOutsideAngular(()=>{this._forOf=t,this._forOf.dataStream.pipe(J(this._detachedSubject)).subscribe(e=>{let o=e.length;o!==this._dataLength&&(this._dataLength=o,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(t){return this.getElementRef().nativeElement.getBoundingClientRect()[t]}setTotalContentSize(t){this._totalContentSize!==t&&(this._totalContentSize=t,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(t){ti(this._renderedRange,t)||(this.appendOnly&&(t={start:0,end:Math.max(this._renderedRange.end,t.end)}),this._renderedRangeSubject.next(this._renderedRange=t),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(t,e="to-start"){t=this.appendOnly&&e==="to-start"?0:t;let o=this.dir&&this.dir.value=="rtl",r=this.orientation=="horizontal",s=r?"X":"Y",h=`translate${s}(${Number((r&&o?-1:1)*t)}px)`;this._renderedContentOffset=t,e==="to-end"&&(h+=` translate${s}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=h&&(this._renderedContentTransform=h,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(t,e="auto"){let o={behavior:e};this.orientation==="horizontal"?o.start=t:o.top=t,this.scrollable.scrollTo(o)}scrollToIndex(t,e="auto"){this._scrollStrategy.scrollToIndex(t,e)}measureScrollOffset(t){let e;return this.scrollable==this?e=o=>super.measureScrollOffset(o):e=o=>this.scrollable.measureScrollOffset(o),Math.max(0,e(t??(this.orientation==="horizontal"?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(t){let e,o="left",r="right",s=this.dir?.value=="rtl";t=="start"?e=s?r:o:t=="end"?e=s?o:r:t?e=t:e=this.orientation==="horizontal"?"left":"top";let a=this.scrollable.measureBoundingClientRectWithScrollOffset(e);return this.elementRef.nativeElement.getBoundingClientRect()[e]-a}measureRenderedContentSize(){let t=this._contentWrapper.nativeElement;return this.orientation==="horizontal"?t.offsetWidth:t.offsetHeight}measureRangeSize(t){return this._forOf?this._forOf.measureRangeSize(t,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(t){t&&this._runAfterChangeDetection.push(t),!ce(this._changeDetectionNeeded)&&this.ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this.ngZone.run(()=>{this._changeDetectionNeeded.set(!0)})})})}_doChangeDetection(){this._isDestroyed||this.ngZone.run(()=>{this._changeDetectorRef.markForCheck(),this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,Y(()=>{this._changeDetectionNeeded.set(!1);let t=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(let e of t)e()},{injector:this._injector})})}_calculateSpacerSize(){this._totalContentHeight.set(this.orientation==="horizontal"?"":`${this._totalContentSize}px`),this._totalContentWidth.set(this.orientation==="horizontal"?`${this._totalContentSize}px`:"")}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=rt({type:n,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(e,o){if(e&1&&re(Ge,7),e&2){let r;se(r=ae())&&(o._contentWrapper=r.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(e,o){e&2&&he("cdk-virtual-scroll-orientation-horizontal",o.orientation==="horizontal")("cdk-virtual-scroll-orientation-vertical",o.orientation!=="horizontal")},inputs:{orientation:"orientation",appendOnly:[2,"appendOnly","appendOnly",x]},outputs:{scrolledIndexChange:"scrolledIndexChange"},features:[j([{provide:Dt,useFactory:(t,e)=>t||e,deps:[[new qt,new Kt(Ce)],n]}]),T],ngContentSelectors:Ue,decls:4,vars:4,consts:[["contentWrapper",""],[1,"cdk-virtual-scroll-content-wrapper"],[1,"cdk-virtual-scroll-spacer"]],template:function(e,o){e&1&&(oe(),te(0,"div",1,0),ne(2),ee(),ie(3,"div",2)),e&2&&(Jt(3),le("width",o._totalContentWidth())("height",o._totalContentHeight()))},styles:[`cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}
|
|
2
|
+
`],encapsulation:2,changeDetection:0})}return n})();function Se(n,i,t){let e=t;if(!e.getBoundingClientRect)return 0;let o=e.getBoundingClientRect();return n==="horizontal"?i==="start"?o.left:o.right:i==="start"?o.top:o.bottom}var ii=(()=>{class n{_viewContainerRef=l(M);_template=l(V);_differs=l(ue);_viewRepeater=l(Ot);_viewport=l(Oe,{skipSelf:!0});viewChange=new p;_dataSourceChanges=new p;get cdkVirtualForOf(){return this._cdkVirtualForOf}set cdkVirtualForOf(t){this._cdkVirtualForOf=t,ye(t)?this._dataSourceChanges.next(t):this._dataSourceChanges.next(new we(jt(t)?t:Array.from(t||[])))}_cdkVirtualForOf;get cdkVirtualForTrackBy(){return this._cdkVirtualForTrackBy}set cdkVirtualForTrackBy(t){this._needsUpdate=!0,this._cdkVirtualForTrackBy=t?(e,o)=>t(e+(this._renderedRange?this._renderedRange.start:0),o):void 0}_cdkVirtualForTrackBy;set cdkVirtualForTemplate(t){t&&(this._needsUpdate=!0,this._template=t)}get cdkVirtualForTemplateCacheSize(){return this._viewRepeater.viewCacheSize}set cdkVirtualForTemplateCacheSize(t){this._viewRepeater.viewCacheSize=H(t)}dataStream=this._dataSourceChanges.pipe(bt(null),Wt(),Zt(([t,e])=>this._changeDataSource(t,e)),Xt(1));_differ=null;_data;_renderedItems;_renderedRange;_needsUpdate=!1;_destroyed=new p;constructor(){let t=l(m);this.dataStream.subscribe(e=>{this._data=e,this._onRenderedDataChange()}),this._viewport.renderedRangeStream.pipe(J(this._destroyed)).subscribe(e=>{this._renderedRange=e,this.viewChange.observers.length&&t.run(()=>this.viewChange.next(this._renderedRange)),this._onRenderedDataChange()}),this._viewport.attach(this)}measureRangeSize(t,e){if(t.start>=t.end)return 0;t.start<this._renderedRange.start||t.end>this._renderedRange.end;let o=t.start-this._renderedRange.start,r=t.end-t.start,s,a;for(let h=0;h<r;h++){let c=this._viewContainerRef.get(h+o);if(c&&c.rootNodes.length){s=a=c.rootNodes[0];break}}for(let h=r-1;h>-1;h--){let c=this._viewContainerRef.get(h+o);if(c&&c.rootNodes.length){a=c.rootNodes[c.rootNodes.length-1];break}}return s&&a?Se(e,"end",a)-Se(e,"start",s):0}ngDoCheck(){if(this._differ&&this._needsUpdate){let t=this._differ.diff(this._renderedItems);t?this._applyChanges(t):this._updateContext(),this._needsUpdate=!1}}ngOnDestroy(){this._viewport.detach(),this._dataSourceChanges.next(void 0),this._dataSourceChanges.complete(),this.viewChange.complete(),this._destroyed.next(),this._destroyed.complete(),this._viewRepeater.detach()}_onRenderedDataChange(){this._renderedRange&&(this._renderedItems=this._data.slice(this._renderedRange.start,this._renderedRange.end),this._differ||(this._differ=this._differs.find(this._renderedItems).create((t,e)=>this.cdkVirtualForTrackBy?this.cdkVirtualForTrackBy(t,e):e)),this._needsUpdate=!0)}_changeDataSource(t,e){return t&&t.disconnect(this),this._needsUpdate=!0,e?e.connect(this):wt()}_updateContext(){let t=this._data.length,e=this._viewContainerRef.length;for(;e--;){let o=this._viewContainerRef.get(e);o.context.index=this._renderedRange.start+e,o.context.count=t,this._updateComputedContextProperties(o.context),o.detectChanges()}}_applyChanges(t){this._viewRepeater.applyChanges(t,this._viewContainerRef,(r,s,a)=>this._getEmbeddedViewArgs(r,a),r=>r.item),t.forEachIdentityChange(r=>{let s=this._viewContainerRef.get(r.currentIndex);s.context.$implicit=r.item});let e=this._data.length,o=this._viewContainerRef.length;for(;o--;){let r=this._viewContainerRef.get(o);r.context.index=this._renderedRange.start+o,r.context.count=e,this._updateComputedContextProperties(r.context)}}_updateComputedContextProperties(t){t.first=t.index===0,t.last=t.index===t.count-1,t.even=t.index%2===0,t.odd=!t.even}_getEmbeddedViewArgs(t,e){return{templateRef:this._template,context:{$implicit:t.item,cdkVirtualForOf:this._cdkVirtualForOf,index:-1,count:-1,first:!1,last:!1,odd:!1,even:!1},index:e}}static ngTemplateContextGuard(t,e){return!0}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdkVirtualFor","","cdkVirtualForOf",""]],inputs:{cdkVirtualForOf:"cdkVirtualForOf",cdkVirtualForTrackBy:"cdkVirtualForTrackBy",cdkVirtualForTemplate:"cdkVirtualForTemplate",cdkVirtualForTemplateCacheSize:"cdkVirtualForTemplateCacheSize"},features:[j([{provide:Ot,useClass:be}])]})}return n})();var Et=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275mod=B({type:n});static \u0275inj=D({})}return n})(),Pt=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275mod=B({type:n});static \u0275inj=D({imports:[X,Et,X,Et]})}return n})();var G=class{_attachedHost;attach(i){return this._attachedHost=i,i.attach(this)}detach(){let i=this._attachedHost;i!=null&&(this._attachedHost=null,i.detach())}get isAttached(){return this._attachedHost!=null}setAttachedHost(i){this._attachedHost=i}},Mt=class extends G{component;viewContainerRef;injector;projectableNodes;constructor(i,t,e,o){super(),this.component=i,this.viewContainerRef=t,this.injector=e,this.projectableNodes=o}},N=class extends G{templateRef;viewContainerRef;context;injector;constructor(i,t,e,o){super(),this.templateRef=i,this.viewContainerRef=t,this.context=e,this.injector=o}get origin(){return this.templateRef.elementRef}attach(i,t=this.context){return this.context=t,super.attach(i)}detach(){return this.context=void 0,super.detach()}},Bt=class extends G{element;constructor(i){super(),this.element=i instanceof k?i.nativeElement:i}},ht=class{_attachedPortal;_disposeFn;_isDisposed=!1;hasAttached(){return!!this._attachedPortal}attach(i){if(i instanceof Mt)return this._attachedPortal=i,this.attachComponentPortal(i);if(i instanceof N)return this._attachedPortal=i,this.attachTemplatePortal(i);if(this.attachDomPortal&&i instanceof Bt)return this._attachedPortal=i,this.attachDomPortal(i)}attachDomPortal=null;detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(i){this._disposeFn=i}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}},ct=class extends ht{outletElement;_appRef;_defaultInjector;constructor(i,t,e){super(),this.outletElement=i,this._appRef=t,this._defaultInjector=e}attachComponentPortal(i){let t;if(i.viewContainerRef){let e=i.injector||i.viewContainerRef.injector,o=e.get(Ct,null,{optional:!0})||void 0;t=i.viewContainerRef.createComponent(i.component,{index:i.viewContainerRef.length,injector:e,ngModuleRef:o,projectableNodes:i.projectableNodes||void 0}),this.setDisposeFn(()=>t.destroy())}else{let e=this._appRef,o=i.injector||this._defaultInjector||y.NULL,r=o.get(tt,e.injector);t=pe(i.component,{elementInjector:o,environmentInjector:r,projectableNodes:i.projectableNodes||void 0}),e.attachView(t.hostView),this.setDisposeFn(()=>{e.viewCount>0&&e.detachView(t.hostView),t.destroy()})}return this.outletElement.appendChild(this._getComponentRootNode(t)),this._attachedPortal=i,t}attachTemplatePortal(i){let t=i.viewContainerRef,e=t.createEmbeddedView(i.templateRef,i.context,{injector:i.injector});return e.rootNodes.forEach(o=>this.outletElement.appendChild(o)),e.detectChanges(),this.setDisposeFn(()=>{let o=t.indexOf(e);o!==-1&&t.remove(o)}),this._attachedPortal=i,e}attachDomPortal=i=>{let t=i.element;t.parentNode;let e=this.outletElement.ownerDocument.createComment("dom-portal");t.parentNode.insertBefore(e,t),this.outletElement.appendChild(t),this._attachedPortal=i,super.setDisposeFn(()=>{e.parentNode&&e.parentNode.replaceChild(t,e)})};dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(i){return i.hostView.rootNodes[0]}},Vi=(()=>{class n extends N{constructor(){let t=l(V),e=l(M);super(t,e)}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[T]})}return n})();var Ti=(()=>{class n extends ht{_moduleRef=l(Ct,{optional:!0});_document=l(C);_viewContainerRef=l(M);_isInitialized=!1;_attachedRef;constructor(){super()}get portal(){return this._attachedPortal}set portal(t){this.hasAttached()&&!t&&!this._isInitialized||(this.hasAttached()&&super.detach(),t&&super.attach(t),this._attachedPortal=t||null)}attached=new O;get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(t){t.setAttachedHost(this);let e=t.viewContainerRef!=null?t.viewContainerRef:this._viewContainerRef,o=e.createComponent(t.component,{index:e.length,injector:t.injector||e.injector,projectableNodes:t.projectableNodes||void 0,ngModuleRef:this._moduleRef||void 0});return e!==this._viewContainerRef&&this._getRootNode().appendChild(o.hostView.rootNodes[0]),super.setDisposeFn(()=>o.destroy()),this._attachedPortal=t,this._attachedRef=o,this.attached.emit(o),o}attachTemplatePortal(t){t.setAttachedHost(this);let e=this._viewContainerRef.createEmbeddedView(t.templateRef,t.context,{injector:t.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=t,this._attachedRef=e,this.attached.emit(e),e}attachDomPortal=t=>{let e=t.element;e.parentNode;let o=this._document.createComment("dom-portal");t.setAttachedHost(this),e.parentNode.insertBefore(o,e),this._getRootNode().appendChild(e),this._attachedPortal=t,super.setDisposeFn(()=>{o.parentNode&&o.parentNode.replaceChild(e,o)})};_getRootNode(){let t=this._viewContainerRef.element.nativeElement;return t.nodeType===t.ELEMENT_NODE?t:t.parentNode}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:[0,"cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[T]})}return n})();var xe=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275mod=B({type:n});static \u0275inj=D({})}return n})();var Ee=lt();function Ve(n){return new dt(n.get(F),n.get(C))}var dt=class{_viewportRuler;_previousHTMLStyles={top:"",left:""};_previousScrollPosition;_isEnabled=!1;_document;constructor(i,t){this._viewportRuler=i,this._document=t}attach(){}enable(){if(this._canBeEnabled()){let i=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=i.style.left||"",this._previousHTMLStyles.top=i.style.top||"",i.style.left=u(-this._previousScrollPosition.left),i.style.top=u(-this._previousScrollPosition.top),i.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){let i=this._document.documentElement,t=this._document.body,e=i.style,o=t.style,r=e.scrollBehavior||"",s=o.scrollBehavior||"";this._isEnabled=!1,e.left=this._previousHTMLStyles.left,e.top=this._previousHTMLStyles.top,i.classList.remove("cdk-global-scrollblock"),Ee&&(e.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Ee&&(e.scrollBehavior=r,o.scrollBehavior=s)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;let t=this._document.documentElement,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width}};function Te(n,i){return new ft(n.get(Z),n.get(m),n.get(F),i)}var ft=class{_scrollDispatcher;_ngZone;_viewportRuler;_config;_scrollSubscription=null;_overlayRef;_initialScrollPosition;constructor(i,t,e,o){this._scrollDispatcher=i,this._ngZone=t,this._viewportRuler=e,this._config=o}attach(i){this._overlayRef,this._overlayRef=i}enable(){if(this._scrollSubscription)return;let i=this._scrollDispatcher.scrolled(0).pipe(q(t=>!t||!this._overlayRef.overlayElement.contains(t.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=i.subscribe(()=>{let t=this._viewportRuler.getViewportScrollPosition().top;Math.abs(t-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=i.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}_detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}};var U=class{enable(){}disable(){}attach(){}};function Ft(n,i){return i.some(t=>{let e=n.bottom<t.top,o=n.top>t.bottom,r=n.right<t.left,s=n.left>t.right;return e||o||r||s})}function De(n,i){return i.some(t=>{let e=n.top<t.top,o=n.bottom>t.bottom,r=n.left<t.left,s=n.right>t.right;return e||o||r||s})}function vt(n,i){return new ut(n.get(Z),n.get(F),n.get(m),i)}var ut=class{_scrollDispatcher;_viewportRuler;_ngZone;_config;_scrollSubscription=null;_overlayRef;constructor(i,t,e,o){this._scrollDispatcher=i,this._viewportRuler=t,this._ngZone=e,this._config=o}attach(i){this._overlayRef,this._overlayRef=i}enable(){if(!this._scrollSubscription){let i=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(i).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){let t=this._overlayRef.overlayElement.getBoundingClientRect(),{width:e,height:o}=this._viewportRuler.getViewportSize();Ft(t,[{width:e,height:o,bottom:o,right:e,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}})}}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}},Ie=(()=>{class n{_injector=l(y);constructor(){}noop=()=>new U;close=t=>Te(this._injector,t);block=()=>Ve(this._injector);reposition=t=>vt(this._injector,t);static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),$=class{positionStrategy;scrollStrategy=new U;panelClass="";hasBackdrop=!1;backdropClass="cdk-overlay-dark-backdrop";disableAnimations;width;height;minWidth;minHeight;maxWidth;maxHeight;direction;disposeOnNavigation=!1;constructor(i){if(i){let t=Object.keys(i);for(let e of t)i[e]!==void 0&&(this[e]=i[e])}}};var pt=class{connectionPair;scrollableViewProperties;constructor(i,t){this.connectionPair=i,this.scrollableViewProperties=t}};var ze=(()=>{class n{_attachedOverlays=[];_document=l(C);_isAttached;constructor(){}ngOnDestroy(){this.detach()}add(t){this.remove(t),this._attachedOverlays.push(t)}remove(t){let e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),this._attachedOverlays.length===0&&this.detach()}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Ne=(()=>{class n extends ze{_ngZone=l(m);_renderer=l(P).createRenderer(null,null);_cleanupKeydown;add(t){super.add(t),this._isAttached||(this._ngZone.runOutsideAngular(()=>{this._cleanupKeydown=this._renderer.listen("body","keydown",this._keydownListener)}),this._isAttached=!0)}detach(){this._isAttached&&(this._cleanupKeydown?.(),this._isAttached=!1)}_keydownListener=t=>{let e=this._attachedOverlays;for(let o=e.length-1;o>-1;o--)if(e[o]._keydownEvents.observers.length>0){this._ngZone.run(()=>e[o]._keydownEvents.next(t));break}};static \u0275fac=(()=>{let t;return function(o){return(t||(t=ot(n)))(o||n)}})();static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),Le=(()=>{class n extends ze{_platform=l(E);_ngZone=l(m);_renderer=l(P).createRenderer(null,null);_cursorOriginalValue;_cursorStyleIsSet=!1;_pointerDownEventTarget;_cleanups;add(t){if(super.add(t),!this._isAttached){let e=this._document.body,o={capture:!0},r=this._renderer;this._cleanups=this._ngZone.runOutsideAngular(()=>[r.listen(e,"pointerdown",this._pointerDownListener,o),r.listen(e,"click",this._clickListener,o),r.listen(e,"auxclick",this._clickListener,o),r.listen(e,"contextmenu",this._clickListener,o)]),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=e.style.cursor,e.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){this._isAttached&&(this._cleanups?.forEach(t=>t()),this._cleanups=void 0,this._platform.IOS&&this._cursorStyleIsSet&&(this._document.body.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1)}_pointerDownListener=t=>{this._pointerDownEventTarget=at(t)};_clickListener=t=>{let e=at(t),o=t.type==="click"&&this._pointerDownEventTarget?this._pointerDownEventTarget:e;this._pointerDownEventTarget=null;let r=this._attachedOverlays.slice();for(let s=r.length-1;s>-1;s--){let a=r[s];if(a._outsidePointerEvents.observers.length<1||!a.hasAttached())continue;if(Pe(a.overlayElement,e)||Pe(a.overlayElement,o))break;let h=a._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>h.next(t)):h.next(t)}};static \u0275fac=(()=>{let t;return function(o){return(t||(t=ot(n)))(o||n)}})();static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function Pe(n,i){let t=typeof ShadowRoot<"u"&&ShadowRoot,e=i;for(;e;){if(e===n)return!0;e=t&&e instanceof ShadowRoot?e.host:e.parentNode}return!1}var Ye=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=rt({type:n,selectors:[["ng-component"]],hostAttrs:["cdk-overlay-style-loader",""],decls:0,vars:0,template:function(e,o){},styles:[`.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed}@layer cdk-overlay{.cdk-overlay-container{z-index:1000}}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute}@layer cdk-overlay{.cdk-global-overlay-wrapper{z-index:1000}}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%}@layer cdk-overlay{.cdk-overlay-pane{z-index:1000}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);opacity:0;touch-action:manipulation}@layer cdk-overlay{.cdk-overlay-backdrop{z-index:1000;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors: active){.cdk-overlay-backdrop-showing{opacity:.6}}@layer cdk-overlay{.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px}@layer cdk-overlay{.cdk-overlay-connected-position-bounding-box{z-index:1000}}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}
|
|
3
|
+
`],encapsulation:2,changeDetection:0})}return n})(),je=(()=>{class n{_platform=l(E);_containerElement;_document=l(C);_styleLoader=l(St);constructor(){}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._loadStyles(),this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let t="cdk-overlay-container";if(this._platform.isBrowser||kt()){let o=this._document.querySelectorAll(`.${t}[platform="server"], .${t}[platform="test"]`);for(let r=0;r<o.length;r++)o[r].remove()}let e=this._document.createElement("div");e.classList.add(t),kt()?e.setAttribute("platform","test"):this._platform.isBrowser||e.setAttribute("platform","server"),this._document.body.appendChild(e),this._containerElement=e}_loadStyles(){this._styleLoader.load(Ye)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),At=class{_renderer;_ngZone;element;_cleanupClick;_cleanupTransitionEnd;_fallbackTimeout;constructor(i,t,e,o){this._renderer=t,this._ngZone=e,this.element=i.createElement("div"),this.element.classList.add("cdk-overlay-backdrop"),this._cleanupClick=t.listen(this.element,"click",o)}detach(){this._ngZone.runOutsideAngular(()=>{let i=this.element;clearTimeout(this._fallbackTimeout),this._cleanupTransitionEnd?.(),this._cleanupTransitionEnd=this._renderer.listen(i,"transitionend",this.dispose),this._fallbackTimeout=setTimeout(this.dispose,500),i.style.pointerEvents="none",i.classList.remove("cdk-overlay-backdrop-showing")})}dispose=()=>{clearTimeout(this._fallbackTimeout),this._cleanupClick?.(),this._cleanupTransitionEnd?.(),this._cleanupClick=this._cleanupTransitionEnd=this._fallbackTimeout=void 0,this.element.remove()}},_t=class{_portalOutlet;_host;_pane;_config;_ngZone;_keyboardDispatcher;_document;_location;_outsideClickDispatcher;_animationsDisabled;_injector;_renderer;_backdropClick=new p;_attachments=new p;_detachments=new p;_positionStrategy;_scrollStrategy;_locationChanges=R.EMPTY;_backdropRef=null;_detachContentMutationObserver;_detachContentAfterRenderRef;_previousHostParent;_keydownEvents=new p;_outsidePointerEvents=new p;_afterNextRenderRef;constructor(i,t,e,o,r,s,a,h,c,d=!1,f,S){this._portalOutlet=i,this._host=t,this._pane=e,this._config=o,this._ngZone=r,this._keyboardDispatcher=s,this._document=a,this._location=h,this._outsideClickDispatcher=c,this._animationsDisabled=d,this._injector=f,this._renderer=S,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropRef?.element||null}get hostElement(){return this._host}attach(i){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);let t=this._portalOutlet.attach(i);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._afterNextRenderRef?.destroy(),this._afterNextRenderRef=Y(()=>{this.hasAttached()&&this.updatePosition()},{injector:this._injector}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._completeDetachContent(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),typeof t?.onDestroy=="function"&&t.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),t}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();let i=this._portalOutlet.detach();return this._detachments.next(),this._completeDetachContent(),this._keyboardDispatcher.remove(this),this._detachContentWhenEmpty(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),i}dispose(){let i=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._backdropRef?.dispose(),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._afterNextRenderRef?.destroy(),this._previousHostParent=this._pane=this._host=this._backdropRef=null,i&&this._detachments.next(),this._detachments.complete(),this._completeDetachContent()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(i){i!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=i,this.hasAttached()&&(i.attach(this),this.updatePosition()))}updateSize(i){this._config=K(K({},this._config),i),this._updateElementSize()}setDirection(i){this._config=Nt(K({},this._config),{direction:i}),this._updateElementDirection()}addPanelClass(i){this._pane&&this._toggleClasses(this._pane,i,!0)}removePanelClass(i){this._pane&&this._toggleClasses(this._pane,i,!1)}getDirection(){let i=this._config.direction;return i?typeof i=="string"?i:i.value:"ltr"}updateScrollStrategy(i){i!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=i,this.hasAttached()&&(i.attach(this),i.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;let i=this._pane.style;i.width=u(this._config.width),i.height=u(this._config.height),i.minWidth=u(this._config.minWidth),i.minHeight=u(this._config.minHeight),i.maxWidth=u(this._config.maxWidth),i.maxHeight=u(this._config.maxHeight)}_togglePointerEvents(i){this._pane.style.pointerEvents=i?"":"none"}_attachBackdrop(){let i="cdk-overlay-backdrop-showing";this._backdropRef?.dispose(),this._backdropRef=new At(this._document,this._renderer,this._ngZone,t=>{this._backdropClick.next(t)}),this._animationsDisabled&&this._backdropRef.element.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropRef.element,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropRef.element,this._host),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>this._backdropRef?.element.classList.add(i))}):this._backdropRef.element.classList.add(i)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){this._animationsDisabled?(this._backdropRef?.dispose(),this._backdropRef=null):this._backdropRef?.detach()}_toggleClasses(i,t,e){let o=Rt(t||[]).filter(r=>!!r);o.length&&(e?i.classList.add(...o):i.classList.remove(...o))}_detachContentWhenEmpty(){let i=!1;try{this._detachContentAfterRenderRef=Y(()=>{i=!0,this._detachContent()},{injector:this._injector})}catch(t){if(i)throw t;this._detachContent()}globalThis.MutationObserver&&this._pane&&(this._detachContentMutationObserver||=new globalThis.MutationObserver(()=>{this._detachContent()}),this._detachContentMutationObserver.observe(this._pane,{childList:!0}))}_detachContent(){(!this._pane||!this._host||this._pane.children.length===0)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),this._completeDetachContent())}_completeDetachContent(){this._detachContentAfterRenderRef?.destroy(),this._detachContentAfterRenderRef=void 0,this._detachContentMutationObserver?.disconnect()}_disposeScrollStrategy(){let i=this._scrollStrategy;i?.disable(),i?.detach?.()}},Me="cdk-overlay-connected-position-bounding-box",oi=/([A-Za-z%]+)$/;function Tt(n,i){return new gt(i,n.get(F),n.get(C),n.get(E),n.get(je))}var gt=class{_viewportRuler;_document;_platform;_overlayContainer;_overlayRef;_isInitialRender;_lastBoundingBoxSize={width:0,height:0};_isPushed=!1;_canPush=!0;_growAfterOpen=!1;_hasFlexibleDimensions=!0;_positionLocked=!1;_originRect;_overlayRect;_viewportRect;_containerRect;_viewportMargin=0;_scrollables=[];_preferredPositions=[];_origin;_pane;_isDisposed;_boundingBox;_lastPosition;_lastScrollVisibility;_positionChanges=new p;_resizeSubscription=R.EMPTY;_offsetX=0;_offsetY=0;_transformOriginSelector;_appliedPanelClasses=[];_previousPushAmount;positionChanges=this._positionChanges;get positions(){return this._preferredPositions}constructor(i,t,e,o,r){this._viewportRuler=t,this._document=e,this._platform=o,this._overlayContainer=r,this.setOrigin(i)}attach(i){this._overlayRef&&this._overlayRef,this._validatePositions(),i.hostElement.classList.add(Me),this._overlayRef=i,this._boundingBox=i.hostElement,this._pane=i.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition){this.reapplyLastPosition();return}this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let i=this._originRect,t=this._overlayRect,e=this._viewportRect,o=this._containerRect,r=[],s;for(let a of this._preferredPositions){let h=this._getOriginPoint(i,o,a),c=this._getOverlayPoint(h,t,a),d=this._getOverlayFit(c,t,e,a);if(d.isCompletelyWithinViewport){this._isPushed=!1,this._applyPosition(a,h);return}if(this._canFitWithFlexibleDimensions(d,c,e)){r.push({position:a,origin:h,overlayRect:t,boundingBoxRect:this._calculateBoundingBoxRect(h,a)});continue}(!s||s.overlayFit.visibleArea<d.visibleArea)&&(s={overlayFit:d,overlayPoint:c,originPoint:h,position:a,overlayRect:t})}if(r.length){let a=null,h=-1;for(let c of r){let d=c.boundingBoxRect.width*c.boundingBoxRect.height*(c.position.weight||1);d>h&&(h=d,a=c)}this._isPushed=!1,this._applyPosition(a.position,a.origin);return}if(this._canPush){this._isPushed=!0,this._applyPosition(s.position,s.originPoint);return}this._applyPosition(s.position,s.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&A(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(Me),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;let i=this._lastPosition;if(i){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();let t=this._getOriginPoint(this._originRect,this._containerRect,i);this._applyPosition(i,t)}else this.apply()}withScrollableContainers(i){return this._scrollables=i,this}withPositions(i){return this._preferredPositions=i,i.indexOf(this._lastPosition)===-1&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(i){return this._viewportMargin=i,this}withFlexibleDimensions(i=!0){return this._hasFlexibleDimensions=i,this}withGrowAfterOpen(i=!0){return this._growAfterOpen=i,this}withPush(i=!0){return this._canPush=i,this}withLockedPosition(i=!0){return this._positionLocked=i,this}setOrigin(i){return this._origin=i,this}withDefaultOffsetX(i){return this._offsetX=i,this}withDefaultOffsetY(i){return this._offsetY=i,this}withTransformOriginOn(i){return this._transformOriginSelector=i,this}_getOriginPoint(i,t,e){let o;if(e.originX=="center")o=i.left+i.width/2;else{let s=this._isRtl()?i.right:i.left,a=this._isRtl()?i.left:i.right;o=e.originX=="start"?s:a}t.left<0&&(o-=t.left);let r;return e.originY=="center"?r=i.top+i.height/2:r=e.originY=="top"?i.top:i.bottom,t.top<0&&(r-=t.top),{x:o,y:r}}_getOverlayPoint(i,t,e){let o;e.overlayX=="center"?o=-t.width/2:e.overlayX==="start"?o=this._isRtl()?-t.width:0:o=this._isRtl()?0:-t.width;let r;return e.overlayY=="center"?r=-t.height/2:r=e.overlayY=="top"?0:-t.height,{x:i.x+o,y:i.y+r}}_getOverlayFit(i,t,e,o){let r=Fe(t),{x:s,y:a}=i,h=this._getOffset(o,"x"),c=this._getOffset(o,"y");h&&(s+=h),c&&(a+=c);let d=0-s,f=s+r.width-e.width,S=0-a,g=a+r.height-e.height,_=this._subtractOverflows(r.width,d,f),b=this._subtractOverflows(r.height,S,g),zt=_*b;return{visibleArea:zt,isCompletelyWithinViewport:r.width*r.height===zt,fitsInViewportVertically:b===r.height,fitsInViewportHorizontally:_==r.width}}_canFitWithFlexibleDimensions(i,t,e){if(this._hasFlexibleDimensions){let o=e.bottom-t.y,r=e.right-t.x,s=Be(this._overlayRef.getConfig().minHeight),a=Be(this._overlayRef.getConfig().minWidth),h=i.fitsInViewportVertically||s!=null&&s<=o,c=i.fitsInViewportHorizontally||a!=null&&a<=r;return h&&c}return!1}_pushOverlayOnScreen(i,t,e){if(this._previousPushAmount&&this._positionLocked)return{x:i.x+this._previousPushAmount.x,y:i.y+this._previousPushAmount.y};let o=Fe(t),r=this._viewportRect,s=Math.max(i.x+o.width-r.width,0),a=Math.max(i.y+o.height-r.height,0),h=Math.max(r.top-e.top-i.y,0),c=Math.max(r.left-e.left-i.x,0),d=0,f=0;return o.width<=r.width?d=c||-s:d=i.x<this._viewportMargin?r.left-e.left-i.x:0,o.height<=r.height?f=h||-a:f=i.y<this._viewportMargin?r.top-e.top-i.y:0,this._previousPushAmount={x:d,y:f},{x:i.x+d,y:i.y+f}}_applyPosition(i,t){if(this._setTransformOrigin(i),this._setOverlayElementStyles(t,i),this._setBoundingBoxStyles(t,i),i.panelClass&&this._addPanelClasses(i.panelClass),this._positionChanges.observers.length){let e=this._getScrollVisibility();if(i!==this._lastPosition||!this._lastScrollVisibility||!ni(this._lastScrollVisibility,e)){let o=new pt(i,e);this._positionChanges.next(o)}this._lastScrollVisibility=e}this._lastPosition=i,this._isInitialRender=!1}_setTransformOrigin(i){if(!this._transformOriginSelector)return;let t=this._boundingBox.querySelectorAll(this._transformOriginSelector),e,o=i.overlayY;i.overlayX==="center"?e="center":this._isRtl()?e=i.overlayX==="start"?"right":"left":e=i.overlayX==="start"?"left":"right";for(let r=0;r<t.length;r++)t[r].style.transformOrigin=`${e} ${o}`}_calculateBoundingBoxRect(i,t){let e=this._viewportRect,o=this._isRtl(),r,s,a;if(t.overlayY==="top")s=i.y,r=e.height-s+this._viewportMargin;else if(t.overlayY==="bottom")a=e.height-i.y+this._viewportMargin*2,r=e.height-a+this._viewportMargin;else{let g=Math.min(e.bottom-i.y+e.top,i.y),_=this._lastBoundingBoxSize.height;r=g*2,s=i.y-g,r>_&&!this._isInitialRender&&!this._growAfterOpen&&(s=i.y-_/2)}let h=t.overlayX==="start"&&!o||t.overlayX==="end"&&o,c=t.overlayX==="end"&&!o||t.overlayX==="start"&&o,d,f,S;if(c)S=e.width-i.x+this._viewportMargin*2,d=i.x-this._viewportMargin;else if(h)f=i.x,d=e.right-i.x;else{let g=Math.min(e.right-i.x+e.left,i.x),_=this._lastBoundingBoxSize.width;d=g*2,f=i.x-g,d>_&&!this._isInitialRender&&!this._growAfterOpen&&(f=i.x-_/2)}return{top:s,left:f,bottom:a,right:S,width:d,height:r}}_setBoundingBoxStyles(i,t){let e=this._calculateBoundingBoxRect(i,t);!this._isInitialRender&&!this._growAfterOpen&&(e.height=Math.min(e.height,this._lastBoundingBoxSize.height),e.width=Math.min(e.width,this._lastBoundingBoxSize.width));let o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{let r=this._overlayRef.getConfig().maxHeight,s=this._overlayRef.getConfig().maxWidth;o.height=u(e.height),o.top=u(e.top),o.bottom=u(e.bottom),o.width=u(e.width),o.left=u(e.left),o.right=u(e.right),t.overlayX==="center"?o.alignItems="center":o.alignItems=t.overlayX==="end"?"flex-end":"flex-start",t.overlayY==="center"?o.justifyContent="center":o.justifyContent=t.overlayY==="bottom"?"flex-end":"flex-start",r&&(o.maxHeight=u(r)),s&&(o.maxWidth=u(s))}this._lastBoundingBoxSize=e,A(this._boundingBox.style,o)}_resetBoundingBoxStyles(){A(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){A(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(i,t){let e={},o=this._hasExactPosition(),r=this._hasFlexibleDimensions,s=this._overlayRef.getConfig();if(o){let d=this._viewportRuler.getViewportScrollPosition();A(e,this._getExactOverlayY(t,i,d)),A(e,this._getExactOverlayX(t,i,d))}else e.position="static";let a="",h=this._getOffset(t,"x"),c=this._getOffset(t,"y");h&&(a+=`translateX(${h}px) `),c&&(a+=`translateY(${c}px)`),e.transform=a.trim(),s.maxHeight&&(o?e.maxHeight=u(s.maxHeight):r&&(e.maxHeight="")),s.maxWidth&&(o?e.maxWidth=u(s.maxWidth):r&&(e.maxWidth="")),A(this._pane.style,e)}_getExactOverlayY(i,t,e){let o={top:"",bottom:""},r=this._getOverlayPoint(t,this._overlayRect,i);if(this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,e)),i.overlayY==="bottom"){let s=this._document.documentElement.clientHeight;o.bottom=`${s-(r.y+this._overlayRect.height)}px`}else o.top=u(r.y);return o}_getExactOverlayX(i,t,e){let o={left:"",right:""},r=this._getOverlayPoint(t,this._overlayRect,i);this._isPushed&&(r=this._pushOverlayOnScreen(r,this._overlayRect,e));let s;if(this._isRtl()?s=i.overlayX==="end"?"left":"right":s=i.overlayX==="end"?"right":"left",s==="right"){let a=this._document.documentElement.clientWidth;o.right=`${a-(r.x+this._overlayRect.width)}px`}else o.left=u(r.x);return o}_getScrollVisibility(){let i=this._getOriginRect(),t=this._pane.getBoundingClientRect(),e=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:De(i,e),isOriginOutsideView:Ft(i,e),isOverlayClipped:De(t,e),isOverlayOutsideView:Ft(t,e)}}_subtractOverflows(i,...t){return t.reduce((e,o)=>e-Math.max(o,0),i)}_getNarrowedViewportRect(){let i=this._document.documentElement.clientWidth,t=this._document.documentElement.clientHeight,e=this._viewportRuler.getViewportScrollPosition();return{top:e.top+this._viewportMargin,left:e.left+this._viewportMargin,right:e.left+i-this._viewportMargin,bottom:e.top+t-this._viewportMargin,width:i-2*this._viewportMargin,height:t-2*this._viewportMargin}}_isRtl(){return this._overlayRef.getDirection()==="rtl"}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(i,t){return t==="x"?i.offsetX==null?this._offsetX:i.offsetX:i.offsetY==null?this._offsetY:i.offsetY}_validatePositions(){}_addPanelClasses(i){this._pane&&Rt(i).forEach(t=>{t!==""&&this._appliedPanelClasses.indexOf(t)===-1&&(this._appliedPanelClasses.push(t),this._pane.classList.add(t))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(i=>{this._pane.classList.remove(i)}),this._appliedPanelClasses=[])}_getOriginRect(){let i=this._origin;if(i instanceof k)return i.nativeElement.getBoundingClientRect();if(i instanceof Element)return i.getBoundingClientRect();let t=i.width||0,e=i.height||0;return{top:i.y,bottom:i.y+e,left:i.x,right:i.x+t,height:e,width:t}}};function A(n,i){for(let t in i)i.hasOwnProperty(t)&&(n[t]=i[t]);return n}function Be(n){if(typeof n!="number"&&n!=null){let[i,t]=n.split(oi);return!t||t==="px"?parseFloat(i):null}return n||null}function Fe(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}function ni(n,i){return n===i?!0:n.isOriginClipped===i.isOriginClipped&&n.isOriginOutsideView===i.isOriginOutsideView&&n.isOverlayClipped===i.isOverlayClipped&&n.isOverlayOutsideView===i.isOverlayOutsideView}var Ae="cdk-global-overlay-wrapper";function He(n){return new mt}var mt=class{_overlayRef;_cssPosition="static";_topOffset="";_bottomOffset="";_alignItems="";_xPosition="";_xOffset="";_width="";_height="";_isDisposed=!1;attach(i){let t=i.getConfig();this._overlayRef=i,this._width&&!t.width&&i.updateSize({width:this._width}),this._height&&!t.height&&i.updateSize({height:this._height}),i.hostElement.classList.add(Ae),this._isDisposed=!1}top(i=""){return this._bottomOffset="",this._topOffset=i,this._alignItems="flex-start",this}left(i=""){return this._xOffset=i,this._xPosition="left",this}bottom(i=""){return this._topOffset="",this._bottomOffset=i,this._alignItems="flex-end",this}right(i=""){return this._xOffset=i,this._xPosition="right",this}start(i=""){return this._xOffset=i,this._xPosition="start",this}end(i=""){return this._xOffset=i,this._xPosition="end",this}width(i=""){return this._overlayRef?this._overlayRef.updateSize({width:i}):this._width=i,this}height(i=""){return this._overlayRef?this._overlayRef.updateSize({height:i}):this._height=i,this}centerHorizontally(i=""){return this.left(i),this._xPosition="center",this}centerVertically(i=""){return this.top(i),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;let i=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement.style,e=this._overlayRef.getConfig(),{width:o,height:r,maxWidth:s,maxHeight:a}=e,h=(o==="100%"||o==="100vw")&&(!s||s==="100%"||s==="100vw"),c=(r==="100%"||r==="100vh")&&(!a||a==="100%"||a==="100vh"),d=this._xPosition,f=this._xOffset,S=this._overlayRef.getConfig().direction==="rtl",g="",_="",b="";h?b="flex-start":d==="center"?(b="center",S?_=f:g=f):S?d==="left"||d==="end"?(b="flex-end",g=f):(d==="right"||d==="start")&&(b="flex-start",_=f):d==="left"||d==="start"?(b="flex-start",g=f):(d==="right"||d==="end")&&(b="flex-end",_=f),i.position=this._cssPosition,i.marginLeft=h?"0":g,i.marginTop=c?"0":this._topOffset,i.marginBottom=this._bottomOffset,i.marginRight=h?"0":_,t.justifyContent=b,t.alignItems=c?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;let i=this._overlayRef.overlayElement.style,t=this._overlayRef.hostElement,e=t.style;t.classList.remove(Ae),e.justifyContent=e.alignItems=i.marginTop=i.marginBottom=i.marginLeft=i.marginRight=i.position="",this._overlayRef=null,this._isDisposed=!0}},We=(()=>{class n{_injector=l(y);constructor(){}global(){return He()}flexibleConnectedTo(t){return Tt(this._injector,t)}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();function It(n,i){n.get(St).load(Ye);let t=n.get(je),e=n.get(C),o=n.get(me),r=n.get(st),s=n.get(W),a=e.createElement("div"),h=e.createElement("div");h.id=o.getId("cdk-overlay-"),h.classList.add("cdk-overlay-pane"),a.appendChild(h),t.getContainerElement().appendChild(a);let c=new ct(h,r,n),d=new $(i),f=n.get(nt,null,{optional:!0})||n.get(P).createRenderer(null,null);return d.direction=d.direction||s.value,new _t(c,a,h,d,n.get(m),n.get(Ne),e,n.get(_e),n.get(Le),i?.disableAnimations??n.get(Qt,null,{optional:!0})==="NoopAnimations",n.get(tt),f)}var Xe=(()=>{class n{scrollStrategies=l(Ie);_positionBuilder=l(We);_injector=l(y);constructor(){}create(t){return It(this._injector,t)}position(){return this._positionBuilder}static \u0275fac=function(e){return new(e||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})(),ri=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],Ze=new L("cdk-connected-overlay-scroll-strategy",{providedIn:"root",factory:()=>{let n=l(y);return()=>vt(n)}}),Vt=(()=>{class n{elementRef=l(k);constructor(){}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]})}return n})(),si=(()=>{class n{_dir=l(W,{optional:!0});_injector=l(y);_overlayRef;_templatePortal;_backdropSubscription=R.EMPTY;_attachSubscription=R.EMPTY;_detachSubscription=R.EMPTY;_positionSubscription=R.EMPTY;_offsetX;_offsetY;_position;_scrollStrategyFactory=l(Ze);_disposeOnNavigation=!1;_ngZone=l(m);origin;positions;positionStrategy;get offsetX(){return this._offsetX}set offsetX(t){this._offsetX=t,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(t){this._offsetY=t,this._position&&this._updatePositionStrategy(this._position)}width;height;minWidth;minHeight;backdropClass;panelClass;viewportMargin=0;scrollStrategy;open=!1;disableClose=!1;transformOriginSelector;hasBackdrop=!1;lockPosition=!1;flexibleDimensions=!1;growAfterOpen=!1;push=!1;get disposeOnNavigation(){return this._disposeOnNavigation}set disposeOnNavigation(t){this._disposeOnNavigation=t}backdropClick=new O;positionChange=new O;attach=new O;detach=new O;overlayKeydown=new O;overlayOutsideClick=new O;constructor(){let t=l(V),e=l(M);this._templatePortal=new N(t,e),this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef?.dispose()}ngOnChanges(t){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef?.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),t.origin&&this.open&&this._position.apply()),t.open&&(this.open?this.attachOverlay():this.detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=ri);let t=this._overlayRef=It(this._injector,this._buildConfig());this._attachSubscription=t.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=t.detachments().subscribe(()=>this.detach.emit()),t.keydownEvents().subscribe(e=>{this.overlayKeydown.next(e),e.keyCode===27&&!this.disableClose&&!ve(e)&&(e.preventDefault(),this.detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(e=>{let o=this._getOriginElement(),r=at(e);(!o||o!==r&&!o.contains(r))&&this.overlayOutsideClick.next(e)})}_buildConfig(){let t=this._position=this.positionStrategy||this._createPositionStrategy(),e=new $({direction:this._dir||"ltr",positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop,disposeOnNavigation:this.disposeOnNavigation});return(this.width||this.width===0)&&(e.width=this.width),(this.height||this.height===0)&&(e.height=this.height),(this.minWidth||this.minWidth===0)&&(e.minWidth=this.minWidth),(this.minHeight||this.minHeight===0)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),this.panelClass&&(e.panelClass=this.panelClass),e}_updatePositionStrategy(t){let e=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return t.setOrigin(this._getOrigin()).withPositions(e).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){let t=Tt(this._injector,this._getOrigin());return this._updatePositionStrategy(t),t}_getOrigin(){return this.origin instanceof Vt?this.origin.elementRef:this.origin}_getOriginElement(){return this.origin instanceof Vt?this.origin.elementRef.nativeElement:this.origin instanceof k?this.origin.nativeElement:typeof Element<"u"&&this.origin instanceof Element?this.origin:null}attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(t=>{this.backdropClick.emit(t)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(Gt(()=>this.positionChange.observers.length>0)).subscribe(t=>{this._ngZone.run(()=>this.positionChange.emit(t)),this.positionChange.observers.length===0&&this._positionSubscription.unsubscribe()})),this.open=!0}detachOverlay(){this._overlayRef?.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.open=!1}static \u0275fac=function(e){return new(e||n)};static \u0275dir=w({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:[0,"cdkConnectedOverlayOrigin","origin"],positions:[0,"cdkConnectedOverlayPositions","positions"],positionStrategy:[0,"cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:[0,"cdkConnectedOverlayOffsetX","offsetX"],offsetY:[0,"cdkConnectedOverlayOffsetY","offsetY"],width:[0,"cdkConnectedOverlayWidth","width"],height:[0,"cdkConnectedOverlayHeight","height"],minWidth:[0,"cdkConnectedOverlayMinWidth","minWidth"],minHeight:[0,"cdkConnectedOverlayMinHeight","minHeight"],backdropClass:[0,"cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:[0,"cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:[0,"cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:[0,"cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:[0,"cdkConnectedOverlayOpen","open"],disableClose:[0,"cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:[0,"cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:[2,"cdkConnectedOverlayHasBackdrop","hasBackdrop",x],lockPosition:[2,"cdkConnectedOverlayLockPosition","lockPosition",x],flexibleDimensions:[2,"cdkConnectedOverlayFlexibleDimensions","flexibleDimensions",x],growAfterOpen:[2,"cdkConnectedOverlayGrowAfterOpen","growAfterOpen",x],push:[2,"cdkConnectedOverlayPush","push",x],disposeOnNavigation:[2,"cdkConnectedOverlayDisposeOnNavigation","disposeOnNavigation",x]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[it]})}return n})();function ai(n){let i=l(y);return()=>vt(i)}var li={provide:Ze,useFactory:ai},hi=(()=>{class n{static \u0275fac=function(e){return new(e||n)};static \u0275mod=B({type:n});static \u0275inj=D({providers:[Xe,li],imports:[X,xe,Pt,Pt]})}return n})();export{Ke as a,Z as b,Dt as c,F as d,Oe as e,ii as f,Et as g,Pt as h,Mt as i,N as j,ht as k,Vi as l,Ti as m,xe as n,Ve as o,vt as p,$ as q,je as r,_t as s,Tt as t,He as u,It as v,Vt as w,si as x,hi as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as U}from"./chunk-WAN7TQQW.js";import{a as W,b as j}from"./chunk-CILFSVSP.js";import{a as pt}from"./chunk-25VLDASM.js";import"./chunk-RIDV4B55.js";import"./chunk-OHX55ZU4.js";import{b as q,c as dt,d as mt,e as B}from"./chunk-SR5JAOLW.js";import{a as L,b as F}from"./chunk-XXIJQBCQ.js";import"./chunk-YNQPX5G6.js";import"./chunk-IQZZO5IM.js";import"./chunk-KLH6B22T.js";import{b as st,c as lt}from"./chunk-5PAHWCG5.js";import{i as ct,j as K}from"./chunk-Q3N4MMWW.js";import"./chunk-Y6B6X4Y6.js";import{$b as it,Db as V,Eb as _,Fb as u,Gb as et,Hb as D,Ib as h,Jb as M,Kb as x,Lb as o,Mb as r,Nb as C,Sb as v,Ub as g,Wa as N,Wb as p,Ya as tt,_a as s,_b as nt,a as R,ac as ot,b as $,db as P,ea as O,fc as z,gc as k,ic as c,ja as d,jc as f,ka as m,kc as E,lc as A,pa as Z,pb as T,sc as rt,ta as w,xc as I,yc as at}from"./chunk-K43KW4K2.js";var G=(n,e)=>e.name;function ft(n,e){if(n&1&&C(0,"span",5),n&2){let t=e.$implicit;V("data-k",t)}}function xt(n,e){if(n&1&&(o(0,"span",8)(1,"span",22),c(2,"error"),r(),c(3),r()),n&2){let t=p().$implicit;x("matTooltip",t.errorCount+" errors"),s(3),E("",t.errorCount," ")}}function Ct(n,e){if(n&1&&(o(0,"span",11)(1,"span",22),c(2,"lan"),r(),o(3,"dm-mono"),c(4),r()()),n&2){let t=p().$implicit;s(4),f(t.port)}}function vt(n,e){if(n&1){let t=v();o(0,"a",23),g("click",function(a){return d(t),m(a.stopPropagation())}),o(1,"span",22),c(2,"open_in_new"),r(),o(3,"dm-mono"),c(4),r()()}if(n&2){let t=p().$implicit;x("href",t.url,N),s(4),f(t.url)}}function bt(n,e){if(n&1&&(o(0,"span",15)(1,"span",22),c(2,"folder_open"),r(),c(3),r()),n&2){let t=p().$implicit;s(3),f(t.workspaceLabel)}}function yt(n,e){if(n&1&&(o(0,"span",16),c(1),r()),n&2){let t=p().$implicit,i=p();s(),f(i.fmtSince(t.lastChangeMs))}}function wt(n,e){n&1&&C(0,"mat-spinner",21)}function ht(n,e){n&1&&(o(0,"span",22),c(1,"play_arrow"),r())}function Mt(n,e){if(n&1){let t=v();o(0,"button",24),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"start"}))}),_(1,wt,1,0,"mat-spinner",21)(2,ht,2,0,"span",22),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"start")),s(),u(i.isBusy(t.name,"start")?1:2)}}function kt(n,e){n&1&&C(0,"mat-spinner",21)}function Pt(n,e){n&1&&(o(0,"span",22),c(1,"stop"),r())}function Ot(n,e){if(n&1){let t=v();o(0,"button",25),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"stop"}))}),_(1,kt,1,0,"mat-spinner",21)(2,Pt,2,0,"span",22),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"stop")),s(),u(i.isBusy(t.name,"stop")?1:2)}}function St(n,e){n&1&&C(0,"mat-spinner",21)}function Tt(n,e){n&1&&(o(0,"span",22),c(1,"restart_alt"),r())}function Vt(n,e){if(n&1){let t=v();o(0,"article",2),g("click",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))})("mouseenter",function(){let a=d(t).$index,l=p();return m(l.focus.emit(a))})("keydown.enter",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))}),C(1,"div",3),o(2,"div",4),h(3,ft,1,1,"span",5,et),r(),o(5,"div",6),C(6,"dm-status-pill",7),_(7,xt,4,2,"span",8),r(),o(8,"div",9)(9,"dm-mono"),c(10),r()(),o(11,"div",10),_(12,Ct,5,1,"span",11),_(13,vt,5,2,"a",12),r(),o(14,"div",13)(15,"div",14),_(16,bt,4,1,"span",15),_(17,yt,2,1,"span",16),r(),o(18,"div",17),g("click",function(a){return d(t),m(a.stopPropagation())}),_(19,Mt,3,2,"button",18)(20,Ot,3,2,"button",19),o(21,"button",20),g("click",function(){let a=d(t).$implicit,l=p();return m(l.act.emit({name:a.name,kind:"restart"}))}),_(22,St,1,0,"mat-spinner",21)(23,Tt,2,0,"span",22),r()()()()}if(n&2){let t=e.$implicit,i=e.$index,a=p();z("--dm-tone",a.tone(t.workspaceLabel)),k("f",i===a.focusedIndex),s(2),x("matTooltip",a.ribbonTooltip(t.name)),s(),M(a.ribbonTicks(t.name)),s(3),x("status",t.status)("health",t.health),s(),u(t.errorCount>0?7:-1),s(3),f(t.name),s(2),u(t.port!=null?12:-1),s(),u(t.url?13:-1),s(3),u(t.workspaceLabel?16:-1),s(),u(t.lastChangeMs?17:-1),s(2),u(t.status==="stopped"||t.status==="error"?19:20),s(2),x("disabled",a.isBusy(t.name,"restart")),s(),u(a.isBusy(t.name,"restart")?22:23)}}function Et(n,e){if(n&1&&(o(0,"span",10),c(1),r()),n&2){let t=p().$implicit;s(),f(t.errorCount)}}function At(n,e){n&1&&(o(0,"span",11),c(1,"0"),r())}function It(n,e){n&1&&C(0,"mat-spinner",16)}function Lt(n,e){n&1&&(o(0,"span",17),c(1,"play_arrow"),r())}function Ft(n,e){if(n&1){let t=v();o(0,"button",19),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"start"}))}),_(1,It,1,0,"mat-spinner",16)(2,Lt,2,0,"span",17),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"start")),s(),u(i.isBusy(t.name,"start")?1:2)}}function Bt(n,e){n&1&&C(0,"mat-spinner",16)}function Rt(n,e){n&1&&(o(0,"span",17),c(1,"stop"),r())}function $t(n,e){if(n&1){let t=v();o(0,"button",20),g("click",function(){d(t);let a=p().$implicit,l=p();return m(l.act.emit({name:a.name,kind:"stop"}))}),_(1,Bt,1,0,"mat-spinner",16)(2,Rt,2,0,"span",17),r()}if(n&2){let t=p().$implicit,i=p();x("disabled",i.isBusy(t.name,"stop")),s(),u(i.isBusy(t.name,"stop")?1:2)}}function Nt(n,e){n&1&&C(0,"mat-spinner",16)}function Dt(n,e){n&1&&(o(0,"span",17),c(1,"restart_alt"),r())}function zt(n,e){if(n&1&&(o(0,"a",18)(1,"span",17),c(2,"open_in_new"),r()()),n&2){let t=p().$implicit;x("href",t.url,N)}}function Kt(n,e){if(n&1){let t=v();o(0,"div",4),g("click",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))})("mouseenter",function(){let a=d(t).$index,l=p();return m(l.focus.emit(a))})("keydown.enter",function(){let a=d(t).$implicit,l=p();return m(l.open.emit(a.name))}),o(1,"div"),C(2,"dm-status-pill",5),r(),o(3,"div",6),C(4,"span",7),o(5,"dm-mono"),c(6),r()(),o(7,"div",8),c(8),r(),o(9,"div",9)(10,"dm-mono"),c(11),r()(),o(12,"div",9)(13,"dm-mono"),c(14),r()(),o(15,"div",9)(16,"dm-mono"),c(17),r()(),o(18,"div",9)(19,"dm-mono"),c(20),r()(),o(21,"div"),_(22,Et,2,1,"span",10)(23,At,2,0,"span",11),r(),o(24,"div",12),g("click",function(a){return d(t),m(a.stopPropagation())}),_(25,Ft,3,2,"button",13)(26,$t,3,2,"button",14),o(27,"button",15),g("click",function(){let a=d(t).$implicit,l=p();return m(l.act.emit({name:a.name,kind:"restart"}))}),_(28,Nt,1,0,"mat-spinner",16)(29,Dt,2,0,"span",17),r(),_(30,zt,3,1,"a",18),r()()}if(n&2){let t=e.$implicit,i=e.$index,a=p();z("--dm-tone",a.tone(t.workspaceLabel)),k("f",i===a.focusedIndex),s(2),x("status",t.status)("health",t.health),s(4),f(t.name),s(2),f(t.workspaceLabel||"\u2014"),s(3),f(t.port??"\u2014"),s(3),f(a.fmtUptime(t.uptimeMs)),s(3),f(a.fmtPct(t.cpu)),s(3),f(a.fmtMem(t.memMB)),s(2),u(t.errorCount>0?22:23),s(3),u(t.status==="stopped"||t.status==="error"?25:26),s(2),x("disabled",a.isBusy(t.name,"restart")),s(),u(a.isBusy(t.name,"restart")?28:29),s(2),u(t.url?30:-1)}}var Wt=["searchInput"],jt=n=>["/apps",n],qt=(n,e)=>e.key;function Ut(n,e){if(n&1&&(o(0,"div",27)(1,"span",24),c(2),r(),o(3,"span",25),c(4,"errors"),r()()),n&2){let t=p();s(2),f(t.totals.totalErrCount)}}function Qt(n,e){if(n&1&&(o(0,"span",34),c(1),r()),n&2){let t=p(2).$implicit;s(),E(" ",t.firstError.code)}}function Ht(n,e){if(n&1&&(o(0,"dm-mono")(1,"span",33),c(2),r(),_(3,Qt,2,1,"span",34),r()),n&2){let t=p().$implicit;s(2),A("",t.firstError.file,":",t.firstError.line),s(),u(t.firstError.code?3:-1)}}function Yt(n,e){if(n&1&&(o(0,"a",31)(1,"strong"),c(2),r(),o(3,"span",32),c(4),r(),_(5,Ht,4,3,"dm-mono"),r()),n&2){let t=e.$implicit;x("routerLink",rt(5,jt,t.name)),s(2),f(t.name),s(2),A("",t.errCount," ",t.errCount===1?"error":"errors"),s(),u(t.firstError?5:-1)}}function Gt(n,e){if(n&1&&(o(0,"div",28)(1,"div",29)(2,"span",8),c(3,"priority_high"),r(),c(4,"Needs attention "),r(),o(5,"div",30),h(6,Yt,6,7,"a",31,G),r()()),n&2){let t=p();s(6),M(t.needsAttention)}}function Jt(n,e){if(n&1&&(o(0,"section",2)(1,"div",22)(2,"div",23)(3,"span",24),c(4),r(),o(5,"span",25),c(6,"apps"),r()(),o(7,"div",26)(8,"span",24),c(9),r(),o(10,"span",25),c(11,"serving"),r()(),o(12,"div",27)(13,"span",24),c(14),r(),o(15,"span",25),c(16,"errored"),r()(),o(17,"div",23)(18,"span",24),c(19),r(),o(20,"span",25),c(21,"stopped"),r()(),_(22,Ut,5,1,"div",27),r(),_(23,Gt,8,0,"div",28),r()),n&2){let t=e;s(4),f(t.totals.apps),s(5),f(t.totals.serving),s(3),k("dm-zero",!t.totals.errors),s(2),f(t.totals.errors),s(5),f(t.totals.stopped),s(3),u(t.totals.totalErrCount>0?22:-1),s(),u(t.needsAttention.length?23:-1)}}function Xt(n,e){if(n&1&&(c(0," \xB7 workspace "),o(1,"dm-mono"),c(2),r()),n&2){let t=p();s(2),f(t.workspace())}}function Zt(n,e){if(n&1){let t=v();o(0,"button",35),g("click",function(){d(t);let a=p();return m(a.onQuery(""))}),o(1,"span",8),c(2,"close"),r()()}}function te(n,e){if(n&1){let t=v();o(0,"button",36),g("click",function(){let a=d(t).$implicit,l=p();return m(l.setStatus(a.key))}),c(1),o(2,"span",37),c(3),r()()}if(n&2){let t=e.$implicit,i=p();k("active",i.status()===t.key),V("aria-selected",i.status()===t.key),s(),E(" ",t.label),s(2),f(i.countFor(t.key))}}function ee(n,e){if(n&1){let t=v();o(0,"button",40),g("click",function(){let a=d(t).$implicit,l=p(2);return m(l.toggleTag(a))}),c(1),r()}if(n&2){let t=e.$implicit,i=p(2);k("active",i.isTagSelected(t)),V("aria-pressed",i.isTagSelected(t)),s(),f(t)}}function ne(n,e){if(n&1){let t=v();o(0,"button",41),g("click",function(){d(t);let a=p(2);return m(a.clearTags())}),o(1,"span",8),c(2,"close"),r()()}}function ie(n,e){if(n&1&&(o(0,"div",17),h(1,ee,2,4,"button",38,D),_(3,ne,3,0,"button",39),r()),n&2){let t=p();s(),M(t.allTags()),s(2),u(t.selectedTags().size?3:-1)}}function oe(n,e){n&1&&(o(0,"article",42),C(1,"div",43),o(2,"div",44),C(3,"dm-skeleton",45)(4,"dm-skeleton",46)(5,"dm-skeleton",47),r()())}function re(n,e){if(n&1&&(o(0,"div",18),h(1,oe,6,0,"article",42,D),r()),n&2){let t=p();s(),M(t.skeletonItems)}}function ae(n,e){n&1&&(o(0,"dm-empty",19)(1,"div",48)(2,"a",49)(3,"span",8),c(4,"stethoscope"),r(),c(5,"Open Doctor "),r()()())}function se(n,e){n&1&&C(0,"dm-empty",20)}function le(n,e){if(n&1){let t=v();o(0,"dm-apps-cards",50),g("open",function(a){d(t);let l=p();return m(l.open(a))})("focus",function(a){d(t);let l=p();return m(l.focusedIndex.set(a))})("act",function(a){d(t);let l=p();return m(l.act(a.name,a.kind))}),r()}if(n&2){let t=p();x("items",t.filtered())("focusedIndex",t.focusedIndex())("busy",t.busyMap())}}function ce(n,e){if(n&1){let t=v();o(0,"dm-apps-list-view",50),g("open",function(a){d(t);let l=p();return m(l.open(a))})("focus",function(a){d(t);let l=p();return m(l.focusedIndex.set(a))})("act",function(a){d(t);let l=p();return m(l.act(a.name,a.kind))}),r()}if(n&2){let t=p();x("items",t.filtered())("focusedIndex",t.focusedIndex())("busy",t.busyMap())}}var _t="daimon.apps.view",ut="daimon.workspace",Q="daimon.apps.tags",H=class n{items=[];focusedIndex=0;busy={};open=new P;focus=new P;act=new P;tone=U;api=O(K);RIBBON_BUCKETS=20;RIBBON_WINDOW_MS=3600*1e3;perAppTicks=I(()=>{let e=this.api.events(),i=Date.now()-this.RIBBON_WINDOW_MS,a=this.RIBBON_WINDOW_MS/this.RIBBON_BUCKETS,l=new Map,y={stopped:1,serving:2,compiling:3,starting:3,error:4};for(let b of e){if(b.type!=="status"||!b.app||!b.to||b.ts<i)continue;let J=Math.min(this.RIBBON_BUCKETS-1,Math.floor((b.ts-i)/a)),S=l.get(b.app);S||(S=new Array(this.RIBBON_BUCKETS).fill(""),l.set(b.app,S));let X=S[J];(!X||(y[b.to]??0)>(y[X]??0))&&(S[J]=b.to)}return l});isBusy(e,t){return!!this.busy[e]?.[t]}ribbonTicks(e){return this.perAppTicks().get(e)??new Array(this.RIBBON_BUCKETS).fill("")}ribbonTooltip(e){let t=this.perAppTicks().get(e);if(!t)return"no status events in the last 60 min";let i={};for(let l of t)l&&(i[l]=(i[l]??0)+1);let a=Object.entries(i).map(([l,y])=>`${y} ${l}`).join(" \xB7 ");return a?`last 60 min: ${a}`:"no status events in the last 60 min"}fmtSince(e){if(!e||e<=0)return"";let t=Math.floor(e/1e3);return t<60?t+"s ago":t<3600?Math.floor(t/60)+"m ago":t<86400?Math.floor(t/3600)+"h ago":Math.floor(t/86400)+"d ago"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-cards"]],inputs:{items:"items",focusedIndex:"focusedIndex",busy:"busy"},outputs:{open:"open",focus:"focus",act:"act"},decls:3,vars:0,consts:[[1,"g"],["role","button","tabindex","0",1,"c",3,"f","--dm-tone"],["role","button","tabindex","0",1,"c",3,"click","mouseenter","keydown.enter"],[1,"ac"],["aria-hidden","true",1,"rb",3,"matTooltip"],[1,"tk"],[1,"h"],[3,"status","health"],[1,"eb",3,"matTooltip"],[1,"n"],[1,"m"],["matTooltip","Port",1,"mi"],["target","_blank","rel","noopener",1,"mi","ml",3,"href"],[1,"ft"],[1,"tg"],[1,"ws"],[1,"sn"],[1,"ax",3,"click"],["matTooltip","Start (s)","aria-label","Start",1,"ib",3,"disabled"],["matTooltip","Stop (x)","aria-label","Stop",1,"ib",3,"disabled"],["matTooltip","Restart (r)","aria-label","Restart",1,"ib",3,"click","disabled"],["diameter","16"],[1,"material-symbols-outlined"],["target","_blank","rel","noopener",1,"mi","ml",3,"click","href"],["matTooltip","Start (s)","aria-label","Start",1,"ib",3,"click","disabled"],["matTooltip","Stop (x)","aria-label","Stop",1,"ib",3,"click","disabled"]],template:function(t,i){t&1&&(o(0,"div",0),h(1,Vt,24,16,"article",1,G),r()),t&2&&(s(),M(i.items))},dependencies:[F,L,j,W,q,B],styles:["[_nghost-%COMP%]{display:block}.g[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.c[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden;cursor:pointer;transition:box-shadow var(--dm-motion-short) var(--dm-motion-easing),transform var(--dm-motion-short) var(--dm-motion-easing),border-color var(--dm-motion-short) var(--dm-motion-easing)}.c[_ngcontent-%COMP%]:hover{box-shadow:var(--mat-sys-level2);transform:translateY(-1px)}.c.f[_ngcontent-%COMP%]{border-color:var(--mat-sys-primary);box-shadow:0 0 0 2px color-mix(in oklch,var(--mat-sys-primary) 25%,transparent)}.ac[_ngcontent-%COMP%]{height:4px;background:var(--dm-tone,var(--mat-sys-surface-container))}.rb[_ngcontent-%COMP%]{display:flex;gap:1px;height:6px;padding:0 .75rem;align-items:center;background:var(--mat-sys-surface-container-lowest)}.rb[_ngcontent-%COMP%] .tk[_ngcontent-%COMP%]{flex:1;height:6px;border-radius:1px;background:var(--mat-sys-surface-container)}.rb[_ngcontent-%COMP%] .tk[data-k=serving][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 60%,transparent)}.rb[_ngcontent-%COMP%] .tk[data-k=error][_ngcontent-%COMP%]{background:var(--mat-sys-error)}.rb[_ngcontent-%COMP%] .tk[data-k=starting][_ngcontent-%COMP%], .rb[_ngcontent-%COMP%] .tk[data-k=compiling][_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-tertiary) 70%,transparent)}.rb[_ngcontent-%COMP%] .tk[data-k=stopped][_ngcontent-%COMP%]{background:var(--mat-sys-outline-variant)}.h[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.75rem .875rem 0}.n[_ngcontent-%COMP%]{padding:.375rem .875rem 0;font:500 1.05rem/1.5rem Roboto}.n[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{font-size:1.05rem;font-weight:500}.m[_ngcontent-%COMP%]{padding:.25rem .875rem .5rem;display:flex;flex-wrap:wrap;gap:.75rem;color:var(--mat-sys-on-surface-variant)}.mi[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.8125rem}.mi[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:14px}.ml[_ngcontent-%COMP%]{color:var(--mat-sys-primary);text-decoration:none}.ml[_ngcontent-%COMP%]:hover{text-decoration:underline}.ft[_ngcontent-%COMP%]{margin-top:auto;padding:.5rem .75rem .5rem .875rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--mat-sys-outline-variant)}.tg[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.ws[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:2px 8px;border-radius:999px;font:500 .6875rem/1rem Roboto;background:var(--mat-sys-surface-container);color:var(--mat-sys-on-surface-variant);border:1px solid var(--mat-sys-outline-variant)}.ws[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:12px}.sn[_ngcontent-%COMP%]{font:400 .6875rem/1rem Roboto;color:var(--mat-sys-on-surface-variant)}.ax[_ngcontent-%COMP%]{display:inline-flex;gap:.25rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:0;border-radius:8px;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing),color var(--dm-motion-short) var(--dm-motion-easing)}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:1px 8px;border-radius:999px;font:600 .75rem/1rem var(--dm-mono);background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent)}.eb[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:14px}"],changeDetection:0})},Y=class n{items=[];focusedIndex=0;busy={};open=new P;focus=new P;act=new P;tone=U;isBusy(e,t){return!!this.busy[e]?.[t]}fmtUptime(e){if(!e||e<0)return"\u2014";let t=Math.floor(e/1e3);return t<60?t+"s":t<3600?Math.floor(t/60)+"m":t<86400?Math.floor(t/3600)+"h":Math.floor(t/86400)+"d"}fmtPct(e){return e==null||isNaN(e)?"\u2014":e.toFixed(0)+"%"}fmtMem(e){return e==null||isNaN(e)?"\u2014":e>=1024?(e/1024).toFixed(1)+"G":Math.round(e)+"M"}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-list-view"]],inputs:{items:"items",focusedIndex:"focusedIndex",busy:"busy"},outputs:{open:"open",focus:"focus",act:"act"},decls:22,vars:0,consts:[["role","table",1,"ls"],["role","row",1,"rw","rh"],[1,"ar"],["role","row","tabindex","0",1,"rw",3,"f","--dm-tone"],["role","row","tabindex","0",1,"rw",3,"click","mouseenter","keydown.enter"],[3,"status","health"],[1,"nm"],[1,"tn"],[1,"ws"],[1,"sm"],[1,"eb"],[1,"dm"],[1,"ax",3,"click"],["matTooltip","Start","aria-label","Start",1,"ib",3,"disabled"],["matTooltip","Stop","aria-label","Stop",1,"ib",3,"disabled"],["matTooltip","Restart","aria-label","Restart",1,"ib",3,"click","disabled"],["diameter","14"],[1,"material-symbols-outlined"],["target","_blank","rel","noopener","matTooltip","Open","aria-label","Open",1,"ib",3,"href"],["matTooltip","Start","aria-label","Start",1,"ib",3,"click","disabled"],["matTooltip","Stop","aria-label","Stop",1,"ib",3,"click","disabled"]],template:function(t,i){t&1&&(o(0,"div",0)(1,"div",1)(2,"div"),c(3,"status"),r(),o(4,"div"),c(5,"name"),r(),o(6,"div"),c(7,"workspace"),r(),o(8,"div"),c(9,"port"),r(),o(10,"div"),c(11,"uptime"),r(),o(12,"div"),c(13,"cpu"),r(),o(14,"div"),c(15,"mem"),r(),o(16,"div"),c(17,"err"),r(),o(18,"div",2),c(19,"actions"),r()(),h(20,Kt,31,17,"div",3,G),r()),t&2&&(s(20),M(i.items))},dependencies:[F,L,j,W,q,B],styles:['[_nghost-%COMP%]{display:block}.ls[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:12px;overflow:hidden}.rw[_ngcontent-%COMP%]{display:grid;align-items:center;gap:.75rem;grid-template-columns:110px minmax(160px,1.5fr) minmax(100px,1fr) 70px 80px 70px 80px 60px 140px;padding:0 .875rem;min-height:36px;cursor:pointer;position:relative;border-bottom:1px solid var(--mat-sys-outline-variant);transition:background var(--dm-motion-short) var(--dm-motion-easing)}.rw[_ngcontent-%COMP%]:last-child{border-bottom:0}.rw[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.rw.f[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 8%,transparent)}.rw.f[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mat-sys-primary)}.rh[_ngcontent-%COMP%]{min-height:30px;background:var(--mat-sys-surface-container);cursor:default;font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.rh[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container)}.nm[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:0;overflow:hidden}.nm[_ngcontent-%COMP%] .dm-mono[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tn[_ngcontent-%COMP%]{width:3px;height:18px;border-radius:2px;background:var(--dm-tone,var(--mat-sys-surface-container));flex-shrink:0}.ws[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--mat-sys-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sm[_ngcontent-%COMP%]{font-size:.8125rem}.ar[_ngcontent-%COMP%], .ax[_ngcontent-%COMP%]{display:inline-flex;gap:.125rem;justify-content:flex-end}.dm[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);font-size:.8125rem}.ib[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:transparent;border:0;border-radius:6px;color:var(--mat-sys-on-surface-variant);cursor:pointer;transition:background var(--dm-motion-short) var(--dm-motion-easing),color var(--dm-motion-short) var(--dm-motion-easing);text-decoration:none}.ib[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface)}.ib[_ngcontent-%COMP%]:disabled{opacity:.55;cursor:not-allowed}.ib[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.eb[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:0 6px;border-radius:999px;font:600 .75rem/1rem var(--dm-mono);background:color-mix(in oklch,var(--mat-sys-error) 14%,transparent);color:var(--mat-sys-error);border:1px solid color-mix(in oklch,var(--mat-sys-error) 30%,transparent)}@media(max-width:1000px){.rw[_ngcontent-%COMP%]{grid-template-columns:100px minmax(120px,1fr) 70px 70px 60px 110px}.rw[_ngcontent-%COMP%] .ws[_ngcontent-%COMP%], .rw[_ngcontent-%COMP%] .sm[_ngcontent-%COMP%]:nth-of-type(3), .rw[_ngcontent-%COMP%] .sm[_ngcontent-%COMP%]:nth-of-type(4){display:none}}'],changeDetection:0})},gt=class n{api=O(K);router=O(st);snack=O(pt);destroyRef=O(Z);searchInput;view=w("cards");query=w("");status=w("all");workspace=w(null);focusedIndex=w(0);busyMap=w({});selectedTags=w(new Set);allTags=I(()=>{let e=new Set;for(let t of this.api.apps())for(let i of t.tags??[])e.add(i);return Array.from(e).sort()});skeletonItems=Array.from({length:6},(e,t)=>t);statusFilters=[{key:"all",label:"All"},{key:"serving",label:"Serving"},{key:"errors",label:"Errors"},{key:"stopped",label:"Stopped"}];filtered=I(()=>{let e=this.query().trim().toLowerCase(),t=this.status(),i=this.workspace(),a=this.selectedTags();return this.api.apps().filter(l=>{if(i&&l.workspaceLabel!==i||t==="serving"&&l.status!=="serving"||t==="errors"&&l.status!=="error"&&l.errorCount===0||t==="stopped"&&l.status!=="stopped")return!1;if(a.size){let y=l.tags??[];for(let b of a)if(!y.includes(b))return!1}return!(e&&![l.name,l.workspaceLabel??"",...l.tags??[]].join(" ").toLowerCase().includes(e))})});constructor(){this.view.set(localStorage.getItem(_t)==="list"?"list":"cards"),this.workspace.set(localStorage.getItem(ut));let e=(localStorage.getItem(Q)??"").split(",").map(t=>t.trim()).filter(Boolean);e.length&&this.selectedTags.set(new Set(e)),at(()=>{let t=this.filtered().length;this.focusedIndex()>=t&&this.focusedIndex.set(Math.max(0,t-1))}),this.bindWindow("daimon:toggle-density",()=>this.setView(this.view()==="cards"?"list":"cards")),this.bindWindow("daimon:focus-filter",()=>queueMicrotask(()=>this.searchInput?.nativeElement.focus())),this.bindWindow("daimon:workspace",t=>{let i=t.detail;this.workspace.set(i??null)}),this.bindWindow("daimon:key",t=>this.onKey(t.detail))}async ngAfterViewInit(){this.api.ready()||await this.api.refresh()}onStorage(e){e.key===ut&&this.workspace.set(e.newValue)}bindWindow(e,t){window.addEventListener(e,t),this.destroyRef.onDestroy(()=>window.removeEventListener(e,t))}setView(e){this.view.set(e),localStorage.setItem(_t,e)}setStatus(e){this.status.set(e),this.focusedIndex.set(0)}isTagSelected(e){return this.selectedTags().has(e)}toggleTag(e){let t=new Set(this.selectedTags());t.has(e)?t.delete(e):t.add(e),this.selectedTags.set(t),this.persistTags(t),this.focusedIndex.set(0)}clearTags(){this.selectedTags.set(new Set),this.persistTags(new Set),this.focusedIndex.set(0)}persistTags(e){e.size?localStorage.setItem(Q,Array.from(e).join(",")):localStorage.removeItem(Q)}onQuery(e){this.query.set(e),this.focusedIndex.set(0)}open(e){this.router.navigate(["/apps",e])}countFor(e){return this.api.apps().filter(t=>e==="all"?!0:e==="serving"?t.status==="serving":e==="errors"?t.status==="error"||t.errorCount>0:e==="stopped"?t.status==="stopped":!1).length}async act(e,t){if(!this.busyMap()[e]?.[t]){this.setBusy(e,t,!0);try{t==="start"?await this.api.startApp(e):t==="stop"?await this.api.stopApp(e):await this.api.restartApp(e)}catch(i){this.snack.open(`${t} ${e} failed: ${i?.message??"error"}`,"Dismiss",{duration:4e3})}finally{this.setBusy(e,t,!1)}}}setBusy(e,t,i){this.busyMap.update(a=>$(R({},a),{[e]:$(R({},a[e]??{}),{[t]:i})}))}onKey(e){let t=this.filtered();if(!t.length)return;let i=Math.max(0,Math.min(this.focusedIndex(),t.length-1));if(e==="j")this.focusedIndex.set((i+1)%t.length);else if(e==="k")this.focusedIndex.set((i-1+t.length)%t.length);else if(e==="s")this.act(t[i].name,"start");else if(e==="x")this.act(t[i].name,"stop");else if(e==="r"){let a=t[i].name;this.snack.open(`Restart ${a}? Press R again or click confirm.`,"Confirm",{duration:4e3}).onAction().subscribe(()=>{this.act(a,"restart")})}}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["dm-apps-list"]],viewQuery:function(t,i){if(t&1&&nt(Wt,5),t&2){let a;it(a=ot())&&(i.searchInput=a.first)}},hostBindings:function(t,i){t&1&&g("storage",function(l){return i.onStorage(l)},tt)},decls:33,vars:12,consts:[["searchInput",""],[1,"dm-page"],[1,"dm-overview"],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-header-actions"],["role","group","aria-label","View mode",1,"dm-toggle"],["type","button","matTooltip","Cards (.)","aria-label","Cards view",3,"click"],[1,"material-symbols-outlined"],["type","button","matTooltip","Dense list (.)","aria-label","List view",3,"click"],[1,"dm-filterbar"],[1,"dm-search"],[1,"material-symbols-outlined","dm-search-icon"],["type","search","placeholder","Filter apps by name, tag, workspace\u2026","aria-label","Filter apps",3,"input","value"],["type","button","aria-label","Clear",1,"dm-search-clear"],["role","tablist","aria-label","Status filter",1,"dm-chips"],["type","button","role","tab",1,"dm-chip",3,"active"],["role","group","aria-label","Tag filter",1,"dm-chips","dm-tag-row"],[1,"dm-grid-sk"],["icon","rocket_launch","title","No apps discovered yet","hint","Run daimon init --auto in your workspace to discover apps, or run /discover. The doctor page can help diagnose missing apps."],["icon","search_off","title","No matches","hint","No apps match the current filters. Clear them or try a different query."],[3,"items","focusedIndex","busy"],[1,"dm-totals-row"],[1,"dm-total"],[1,"dm-total-num"],[1,"dm-total-label"],[1,"dm-total","dm-total-serving"],[1,"dm-total","dm-total-error"],[1,"dm-attention"],[1,"dm-att-title"],[1,"dm-att-list"],[1,"dm-att-row",3,"routerLink"],[1,"dm-att-meta"],[1,"dm-att-where"],[1,"dm-att-code"],["type","button","aria-label","Clear",1,"dm-search-clear",3,"click"],["type","button","role","tab",1,"dm-chip",3,"click"],[1,"dm-chip-count"],["type","button",1,"dm-chip",3,"active"],["type","button","aria-label","Clear tag filter",1,"dm-chip","dm-chip-clear"],["type","button",1,"dm-chip",3,"click"],["type","button","aria-label","Clear tag filter",1,"dm-chip","dm-chip-clear",3,"click"],[1,"dm-card-sk"],[1,"dm-sk-accent"],[1,"dm-sk-body"],["width","60%","height","1.25rem"],["width","40%","height",".875rem"],["width","80%","height",".875rem"],[1,"dm-empty-actions"],["routerLink","/doctor",1,"dm-link-btn"],[3,"open","focus","act","items","focusedIndex","busy"]],template:function(t,i){if(t&1){let a=v();o(0,"div",1),_(1,Jt,24,8,"section",2),o(2,"header",3)(3,"div")(4,"h1"),c(5,"Apps"),r(),o(6,"div",4),c(7),_(8,Xt,3,1),r()(),o(9,"div",5)(10,"div",6)(11,"button",7),g("click",function(){return d(a),m(i.setView("cards"))}),o(12,"span",8),c(13,"grid_view"),r()(),o(14,"button",9),g("click",function(){return d(a),m(i.setView("list"))}),o(15,"span",8),c(16,"view_list"),r()()()()(),o(17,"div",10)(18,"div",11)(19,"span",12),c(20,"search"),r(),o(21,"input",13,0),g("input",function(y){return d(a),m(i.onQuery(y.target.value))}),r(),_(23,Zt,3,0,"button",14),r(),o(24,"div",15),h(25,te,4,5,"button",16,qt),r(),_(27,ie,4,1,"div",17),r(),_(28,re,3,0,"div",18)(29,ae,6,0,"dm-empty",19)(30,se,1,0,"dm-empty",20)(31,le,1,3,"dm-apps-cards",21)(32,ce,1,3,"dm-apps-list-view",21),r()}if(t&2){let a;s(),u((a=i.api.overview())?1:-1,a),s(6),A(" ",i.filtered().length," of ",i.api.apps().length," visible "),s(),u(i.workspace()?8:-1),s(3),k("active",i.view()==="cards"),s(3),k("active",i.view()==="list"),s(7),x("value",i.query()),s(2),u(i.query()?23:-1),s(2),M(i.statusFilters),s(2),u(i.allTags().length?27:-1),s(),u(i.api.ready()?i.api.apps().length===0?29:i.filtered().length===0?30:i.view()==="cards"?31:32:28)}},dependencies:[lt,ct,F,L,dt,mt,B,H,Y],styles:["[_nghost-%COMP%]{display:block}.dm-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.dm-overview[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,2fr);gap:1rem;padding:1rem 1.25rem;border-radius:14px;background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant)}@media(max-width:760px){.dm-overview[_ngcontent-%COMP%]{grid-template-columns:1fr}}.dm-totals-row[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.75rem}.dm-total[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:.5rem .875rem;border-radius:10px;background:var(--mat-sys-surface-container);min-width:70px}.dm-total-num[_ngcontent-%COMP%]{font:600 1.5rem/1.75rem Roboto;color:var(--mat-sys-on-surface)}.dm-total-label[_ngcontent-%COMP%]{font:500 .6875rem/1rem Roboto;text-transform:uppercase;letter-spacing:.04rem;color:var(--mat-sys-on-surface-variant)}.dm-total-serving[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-primary)}.dm-total-error[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-total-error.dm-zero[_ngcontent-%COMP%] .dm-total-num[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant)}.dm-attention[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem;min-width:0}.dm-att-title[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font:500 .8125rem/1.25rem Roboto;color:var(--mat-sys-error)}.dm-att-title[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-att-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.dm-att-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.375rem .625rem;border-radius:8px;text-decoration:none;color:var(--mat-sys-on-surface);background:var(--mat-sys-surface-container);border-left:3px solid var(--mat-sys-error)}.dm-att-row[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-att-row[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-weight:500;font-size:.875rem}.dm-att-meta[_ngcontent-%COMP%]{font-size:.75rem;color:var(--mat-sys-on-surface-variant);white-space:nowrap}.dm-att-where[_ngcontent-%COMP%]{color:var(--mat-sys-error)}.dm-att-code[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);margin-left:.25rem}.dm-page-header[_ngcontent-%COMP%]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font:400 1.5rem/2rem Roboto}.dm-page-sub[_ngcontent-%COMP%]{font:400 .8125rem/1.25rem Roboto;color:var(--mat-sys-on-surface-variant);margin-top:.25rem;display:flex;gap:.25rem;flex-wrap:wrap}.dm-header-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.dm-toggle[_ngcontent-%COMP%], .dm-chips[_ngcontent-%COMP%]{display:inline-flex;padding:2px;border-radius:10px;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant)}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%], .dm-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:5px 10px;border-radius:8px;background:transparent;border:0;color:var(--mat-sys-on-surface-variant);cursor:pointer;font:500 .8125rem/1rem Roboto}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover, .dm-chip[_ngcontent-%COMP%]:hover{color:var(--mat-sys-on-surface)}.dm-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%], .dm-chip.active[_ngcontent-%COMP%]{background:var(--mat-sys-surface);color:var(--mat-sys-primary)}.dm-toggle[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%]{box-shadow:var(--mat-sys-level1)}.dm-chip-count[_ngcontent-%COMP%]{font:500 .6875rem/1rem var(--dm-mono);padding:0 5px;border-radius:999px;background:var(--mat-sys-surface-container-high);color:var(--mat-sys-on-surface-variant)}.dm-chip.active[_ngcontent-%COMP%] .dm-chip-count[_ngcontent-%COMP%]{background:color-mix(in oklch,var(--mat-sys-primary) 16%,transparent);color:var(--mat-sys-primary)}.dm-filterbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dm-search[_ngcontent-%COMP%]{position:relative;flex:1;min-width:220px;display:inline-flex;align-items:center;background:var(--mat-sys-surface-container);border:1px solid var(--mat-sys-outline-variant);border-radius:10px}.dm-search[_ngcontent-%COMP%]:focus-within{border-color:var(--mat-sys-primary)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;border:0;outline:0;background:transparent;padding:8px 36px;font:400 .875rem/1.25rem Roboto;color:var(--mat-sys-on-surface)}.dm-search[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder{color:var(--mat-sys-on-surface-variant)}.dm-search-icon[_ngcontent-%COMP%]{position:absolute;left:10px;pointer-events:none;font-size:18px;color:var(--mat-sys-on-surface-variant)}.dm-search-clear[_ngcontent-%COMP%]{position:absolute;right:6px;background:transparent;border:0;cursor:pointer;color:var(--mat-sys-on-surface-variant);width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.dm-search-clear[_ngcontent-%COMP%]:hover{background:var(--mat-sys-surface-container-high)}.dm-search-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}.dm-grid-sk[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.dm-card-sk[_ngcontent-%COMP%]{background:var(--mat-sys-surface-container-low);border:1px solid var(--mat-sys-outline-variant);border-radius:14px;overflow:hidden}.dm-sk-accent[_ngcontent-%COMP%]{height:4px;background:var(--mat-sys-surface-container)}.dm-sk-body[_ngcontent-%COMP%]{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.dm-empty-actions[_ngcontent-%COMP%]{margin-top:.75rem}.dm-link-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:6px 14px;border-radius:10px;background:var(--mat-sys-primary);color:var(--mat-sys-on-primary);text-decoration:none;font:500 .875rem/1.25rem Roboto}.dm-link-btn[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:18px}.dm-tag-row[_ngcontent-%COMP%]{flex-wrap:wrap;gap:4px;max-width:100%}.dm-chip-clear[_ngcontent-%COMP%]{padding:5px 6px;color:var(--mat-sys-on-surface-variant)}.dm-chip-clear[_ngcontent-%COMP%] .material-symbols-outlined[_ngcontent-%COMP%]{font-size:16px}"],changeDetection:0})};export{H as AppsCardsViewComponent,gt as AppsListComponent,Y as AppsListViewComponent};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as ge}from"./chunk-ZEO5YLWG.js";import{a as re,b as ae,c as le,d as se,e as me,g as ce,h as de,k as pe,l as ue}from"./chunk-YA4AZONZ.js";import"./chunk-P5IU57TV.js";import"./chunk-NDSAQ2HK.js";import{b as X,f as G,h as K,j as Y}from"./chunk-YYAZGY5M.js";import"./chunk-PJPGLT4T.js";import{b as Z,c as ee,d as te}from"./chunk-RIDV4B55.js";import"./chunk-OHX55ZU4.js";import{b as ne,d as ie,e as oe}from"./chunk-SR5JAOLW.js";import{a as J,b as U}from"./chunk-XXIJQBCQ.js";import"./chunk-YNQPX5G6.js";import{a as z,e as H,f as Q,h as q}from"./chunk-IQZZO5IM.js";import"./chunk-KLH6B22T.js";import{b as B}from"./chunk-5PAHWCG5.js";import{h as $,i as j,j as W}from"./chunk-Q3N4MMWW.js";import{h as A}from"./chunk-Y6B6X4Y6.js";import{$b as I,Db as V,Eb as g,Fb as _,Ib as O,Jb as R,Kb as f,Lb as a,Mb as r,Nb as h,Sb as x,Ub as u,Va as T,Wb as c,_a as l,_b as N,ac as D,ea as S,gc as M,ic as s,ja as d,jc as y,ka as p,kc as b,lc as k,pb as E,ta as C,ub as L,xc as v,yc as F,za as P}from"./chunk-K43KW4K2.js";var xe=["viewport"],Ce=(i,t)=>t.name;function he(i,t){if(i&1&&(a(0,"span",7),s(1,"\xB7"),r(),a(2,"dm-mono")(3,"span",8),s(4),r()(),h(5,"dm-status-pill",9)),i&2){let e=t;l(4),y(e.name),l(),f("status",e.status)("health",e.health)}}function ve(i,t){if(i&1&&(a(0,"span",7),s(1,"\xB7"),r(),a(2,"span"),s(3),r()),i&2){let e=c();l(3),k("",e.filtered().length," / ",e.lines().length," lines")}}function ye(i,t){if(i&1){let e=x();a(0,"div",5)(1,"button",10),u("click",function(){d(e);let o=c();return p(o.togglePause())}),a(2,"mat-icon"),s(3),r(),s(4),r(),a(5,"button",11),u("click",function(){d(e);let o=c();return p(o.copyAll())}),a(6,"mat-icon"),s(7,"content_copy"),r(),s(8," Copy "),r(),a(9,"button",12),u("click",function(){d(e);let o=c();return p(o.clear())}),a(10,"mat-icon"),s(11,"delete_sweep"),r(),s(12," Clear "),r()()}if(i&2){let e=c();l(),f("matTooltip",e.paused()?"Resume":"Pause"),l(2),y(e.paused()?"play_arrow":"pause"),l(),b(" ",e.paused()?"Resume":"Pause"," ")}}function be(i,t){i&1&&h(0,"dm-empty",13)}function we(i,t){if(i&1&&(a(0,"mat-option",16),s(1),r()),i&2){let e=t.$implicit;f("value",e.name),l(),k("",e.name," (",e.status,")")}}function Se(i,t){if(i&1){let e=x();a(0,"mat-form-field",14)(1,"mat-label"),s(2,"Application"),r(),a(3,"mat-select",15),u("selectionChange",function(o){d(e);let m=c(2);return p(m.goto(o.value))}),O(4,we,2,3,"mat-option",16,Ce),r()()}if(i&2){let e=c(2);l(4),R(e.api.apps())}}function Me(i,t){if(i&1&&(a(0,"div",6)(1,"h3"),s(2,"Pick an app to tail"),r(),g(3,be,1,0,"dm-empty",13)(4,Se,6,0,"mat-form-field",14),r()),i&2){let e=c();l(3),_(e.api.apps().length===0?3:4)}}function ke(i,t){if(i&1){let e=x();a(0,"button",27),u("click",function(){d(e);let o=c(2);return p(o.filter.set(""))}),a(1,"mat-icon"),s(2,"close"),r()()}}function Pe(i,t){i&1&&(a(0,"span",22)(1,"mat-icon"),s(2,"warning"),r(),s(3),r()),i&2&&(l(3),b(" ",t," "))}function Te(i,t){if(i&1){let e=x();a(0,"button",28),u("click",function(){d(e);let o=c(2);return p(o.jumpToLatest())}),a(1,"mat-icon"),s(2,"arrow_downward"),r(),s(3," Jump to latest "),r()}}function Ee(i,t){if(i&1){let e=x();a(0,"button",30),u("click",function(){d(e);let o=c(3);return p(o.startApp())}),a(1,"mat-icon"),s(2,"play_arrow"),r(),s(3," Start app "),r()}}function Le(i,t){if(i&1&&(a(0,"dm-empty",24),g(1,Ee,4,0,"button",29),r()),i&2){let e,n=c(2);l(),_(((e=n.currentApp())==null?null:e.status)==="stopped"?1:-1)}}function Ve(i,t){i&1&&h(0,"dm-empty",25)}function Oe(i,t){if(i&1&&(a(0,"div",33)(1,"span",34),s(2),r(),h(3,"span",35),r()),i&2){let e=t.$implicit,n=c(3);V("data-sev",e.severity),l(2),y(n.fmtTs(e.ts)),l(),f("innerHTML",n.render(e.line),T)}}function Re(i,t){if(i&1){let e=x();a(0,"cdk-virtual-scroll-viewport",31,0),u("scrolledIndexChange",function(){d(e);let o=c(2);return p(o.onScroll())}),L(2,Oe,4,3,"div",32),r()}if(i&2){let e=c(2);l(2),f("cdkVirtualForOf",e.filtered())("cdkVirtualForTrackBy",e.trackTs)("cdkVirtualForTemplateCacheSize",0)}}function Ne(i,t){if(i&1){let e=x();a(0,"div",17)(1,"mat-form-field",18)(2,"mat-label"),s(3,"Filter"),r(),a(4,"input",19),u("ngModelChange",function(o){d(e);let m=c();return p(m.filter.set(o))}),r(),g(5,ke,3,0,"button",20),r(),a(6,"button",10),u("click",function(){d(e);let o=c();return p(o.useRegex.set(!o.useRegex()))}),a(7,"mat-icon"),s(8),r(),s(9," .* regex "),r(),a(10,"button",21),u("click",function(){d(e);let o=c();return p(o.jumpToNextError())}),a(11,"mat-icon"),s(12,"error"),r(),s(13," Next error "),r(),g(14,Pe,4,1,"span",22),g(15,Te,4,0,"button",23),r(),g(16,Le,2,1,"dm-empty",24)(17,Ve,1,0,"dm-empty",25)(18,Re,3,3,"cdk-virtual-scroll-viewport",26)}if(i&2){let e,n=c();l(4),f("ngModel",n.filter())("placeholder",n.useRegex()?"regex (case-insensitive)":"case-insensitive substring"),l(),_(n.filter()?5:-1),l(),M("dm-on",n.useRegex()),f("matTooltip",n.useRegex()?"Regex on \u2014 click to use substring":"Substring \u2014 click to use regex"),l(2),y(n.useRegex()?"check_circle":"pattern"),l(2),f("disabled",!n.hasNextError()),l(4),_((e=n.regexError())?14:-1,e),l(),_(n.stuckToBottom()?-1:15),l(),_(n.filtered().length===0&&n.lines().length===0?16:n.filtered().length===0?17:18)}}var w=1e3,Ie=/\x1b\[[0-9;]*m/g;function De(i){return/\berror:|\bERROR\b|\bError\b/.test(i)?"error":/\bWARN\b|\bWarning\b/.test(i)?"warn":"info"}function _e(i){let t=new Date(i),e=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0"),o=String(t.getSeconds()).padStart(2,"0"),m=String(t.getMilliseconds()).padStart(3,"0");return`${e}:${n}:${o}.${m}`}function Fe(i){return i.replace(/[&<>"']/g,t=>t==="&"?"&":t==="<"?"<":t===">"?">":t==='"'?""":"'")}function Ae(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var fe=class i{name="";api=S(W);router=S(B);viewport;lines=C([]);filter=C("");useRegex=C(!1);paused=C(!1);stuckToBottom=C(!0);buffered=[];stop;rafScheduled=!1;currentApp=v(()=>this.name?this.api.byName(this.name):void 0);filterState=v(()=>{let t=this.filter();if(!t)return{pred:null,error:null};if(!this.useRegex()){let e=t.toLowerCase();return{pred:n=>n.toLowerCase().includes(e),error:null}}try{let e=new RegExp(t,"i");return{pred:n=>e.test(n),error:null}}catch(e){return{pred:null,error:e?.message??"invalid regex"}}});regexError=v(()=>this.filterState().error);filtered=v(()=>{let{pred:t}=this.filterState(),e=this.lines();return t?e.filter(n=>t(n.line)):e});hasNextError=v(()=>this.filtered().some(t=>t.severity==="error"));constructor(){F(()=>{this.filtered(),this.stuckToBottom()&&this.scrollSoon()})}ngOnChanges(t){"name"in t&&(this.teardown(),this.lines.set([]),this.buffered=[],this.filter.set(""),this.stuckToBottom.set(!0),this.name&&this.openStream())}ngOnDestroy(){this.teardown()}openStream(){let t=this.name;this.stop=this.api.openLogStream(t,({ts:e,line:n})=>{let o=(n??"").replace(Ie,""),m={ts:e,line:o,severity:De(o)};if(this.paused()){this.buffered.push(m),this.buffered.length>w&&this.buffered.splice(0,this.buffered.length-w);return}this.append([m])})}append(t){this.lines.update(e=>{let n=e.concat(t);return n.length>w?n.slice(n.length-w):n})}teardown(){this.stop?.(),this.stop=void 0}togglePause(){let t=!this.paused();if(this.paused.set(t),!t&&this.buffered.length){let e=this.buffered;this.buffered=[],this.append(e)}}clear(){this.lines.set([]),this.buffered=[]}async copyAll(){let t=this.lines().map(e=>`${_e(e.ts)} ${e.line}`).join(`
|
|
2
|
+
`);try{await navigator.clipboard.writeText(t)}catch{}}onScroll(){let t=this.viewport;if(!t)return;let e=t.getRenderedRange().end,n=t.getDataLength();this.stuckToBottom.set(n===0||e>=n-1)}jumpToLatest(){this.stuckToBottom.set(!0),this.scrollSoon()}jumpToNextError(){let t=this.viewport;if(!t)return;let e=this.filtered();if(e.length===0)return;let n=Math.max(0,t.getRenderedRange().end),o=-1;for(let m=n;m<e.length;m++)if(e[m].severity==="error"){o=m;break}if(o===-1){for(let m=0;m<Math.min(n,e.length);m++)if(e[m].severity==="error"){o=m;break}}o!==-1&&(this.stuckToBottom.set(!1),t.scrollToIndex(o,"smooth"))}scrollSoon(){this.rafScheduled||(this.rafScheduled=!0,requestAnimationFrame(()=>{this.rafScheduled=!1;let t=this.viewport;if(!t)return;let e=t.getDataLength();e>0&&t.scrollToIndex(e,"auto")}))}goto(t){this.router.navigateByUrl(`/logs/${encodeURIComponent(t)}`)}startApp(){this.name&&this.api.startApp(this.name)}fmtTs(t){return _e(t)}trackTs=(t,e)=>e.ts+":"+e.line.length;render(t){let e=this.filter(),n=Fe(t);if(!e)return n;try{let o=this.useRegex()?new RegExp(e,"gi"):new RegExp(Ae(e),"gi");return n.replace(o,m=>`<mark>${m}</mark>`)}catch{return n}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=E({type:i,selectors:[["dm-logs-page"]],viewQuery:function(e,n){if(e&1&&N(xe,5),e&2){let o;I(o=D())&&(n.viewport=o.first)}},inputs:{name:"name"},features:[P],decls:13,vars:7,consts:[["viewport",""],[1,"dm-page-header"],[1,"dm-page-sub"],[1,"dm-conn"],[1,"dm-conn-dot"],[1,"dm-actions"],[1,"dm-picker"],[1,"dm-sep"],[1,"dm-app"],[3,"status","health"],["mat-stroked-button","",3,"click","matTooltip"],["mat-stroked-button","","matTooltip","Copy buffer",3,"click"],["mat-stroked-button","","matTooltip","Clear buffer",3,"click"],["icon","apps","title","No apps registered","hint","Add apps to your daimon config to see logs"],["appearance","outline",1,"dm-picker-field"],[3,"selectionChange"],[3,"value"],[1,"dm-toolbar"],["appearance","outline",1,"dm-filter"],["matInput","",3,"ngModelChange","ngModel","placeholder"],["matSuffix","","mat-icon-button",""],["mat-stroked-button","","matTooltip","Jump to next error",3,"click","disabled"],["matTooltip","Invalid regex",1,"dm-rxerr"],["mat-flat-button","","color","primary",1,"dm-jump"],["icon","terminal","title","No logs yet","hint","Start the app or wait for output"],["icon","filter_alt_off","title","No matches","hint","Adjust your filter to see lines"],["itemSize","22",1,"dm-viewport"],["matSuffix","","mat-icon-button","",3,"click"],["mat-flat-button","","color","primary",1,"dm-jump",3,"click"],["mat-flat-button","","color","primary"],["mat-flat-button","","color","primary",3,"click"],["itemSize","22",1,"dm-viewport",3,"scrolledIndexChange"],["class","dm-row",4,"cdkVirtualFor","cdkVirtualForOf","cdkVirtualForTrackBy","cdkVirtualForTemplateCacheSize"],[1,"dm-row"],[1,"dm-ts"],[1,"dm-line",3,"innerHTML"]],template:function(e,n){if(e&1&&(a(0,"div",1)(1,"div")(2,"h1"),s(3," Logs "),g(4,he,6,3),r(),a(5,"div",2)(6,"span",3),h(7,"span",4),s(8),r(),g(9,ve,4,2),r()(),g(10,ye,13,3,"div",5),r(),g(11,Me,5,1,"div",6)(12,Ne,19,11)),e&2){let o;l(4),_((o=n.currentApp())?4:-1,o),l(2),M("dm-conn-on",n.api.connected()),l(2),b(" ",n.api.connected()?"stream connected":"disconnected"," "),l(),_(n.name?9:-1),l(),_(n.name?10:-1),l(),_(n.name?12:11)}},dependencies:[A,Y,X,G,K,q,z,Q,H,se,le,re,ae,de,ce,me,ue,pe,te,ee,Z,j,$,ge,U,J,ne,ie,oe],styles:["[_nghost-%COMP%]{display:block}.dm-page-header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.dm-sep[_ngcontent-%COMP%]{color:var(--mat-sys-outline);margin:0 .15rem}.dm-app[_ngcontent-%COMP%]{color:var(--mat-sys-primary);font-weight:500}.dm-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end}.dm-conn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.35rem}.dm-conn-dot[_ngcontent-%COMP%]{width:7px;height:7px;border-radius:999px;background:var(--mat-sys-outline)}.dm-conn-on[_ngcontent-%COMP%] .dm-conn-dot[_ngcontent-%COMP%]{background:var(--mat-sys-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--mat-sys-primary) 24%,transparent)}.dm-picker[_ngcontent-%COMP%]{max-width:32rem;margin:2rem auto;text-align:center}.dm-picker[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{font-weight:400;color:var(--mat-sys-on-surface-variant)}.dm-picker-field[_ngcontent-%COMP%]{width:100%}.dm-toolbar[_ngcontent-%COMP%]{display:flex;gap:1rem;align-items:center;margin-bottom:.75rem}.dm-filter[_ngcontent-%COMP%]{flex:1;max-width:28rem}.dm-jump[_ngcontent-%COMP%]{margin-left:auto}button.dm-on[_ngcontent-%COMP%]{color:var(--mat-sys-primary);border-color:var(--mat-sys-primary)}.dm-rxerr[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;color:var(--mat-sys-error);font:500 .8125rem/1rem Roboto}.dm-rxerr[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.dm-viewport[_ngcontent-%COMP%]{height:calc(100vh - 13rem);min-height:24rem;border:1px solid var(--mat-sys-outline-variant);border-radius:10px;background:var(--mat-sys-surface-container-lowest);contain:strict}.dm-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;height:22px;padding:0 .75rem;font-family:var(--dm-mono);font-size:.8125rem;line-height:22px;white-space:pre;border-left:3px solid transparent;color:var(--mat-sys-on-surface)}.dm-row[data-sev=error][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-error);background:color-mix(in oklch,var(--mat-sys-error) 6%,transparent)}.dm-row[data-sev=warn][_ngcontent-%COMP%]{border-left-color:var(--mat-sys-tertiary);background:color-mix(in oklch,var(--mat-sys-tertiary) 5%,transparent)}.dm-ts[_ngcontent-%COMP%]{color:var(--mat-sys-on-surface-variant);flex:0 0 auto}.dm-line[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.dm-line[_ngcontent-%COMP%] mark{background:color-mix(in oklch,var(--mat-sys-tertiary) 35%,transparent);color:var(--mat-sys-on-tertiary-container);padding:0 2px;border-radius:3px}"],changeDetection:0})};export{fe as LogsPageComponent};
|