@whoz-oss/coday-client 0.152.0 → 0.159.8
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/browser/{chunk-74QUDUXA.js → chunk-46WAGL6T.js} +1 -1
- package/browser/{chunk-R2PDKYWK.js → chunk-4PT56FZA.js} +1 -1
- package/browser/chunk-5JACHD45.js +1 -0
- package/browser/{chunk-KDWFOH5N.js → chunk-64KUJ72Y.js} +1 -1
- package/browser/{chunk-YWWGX3OO.js → chunk-6HXHF2SN.js} +1 -1
- package/browser/chunk-AEXWYSY4.js +1 -0
- package/browser/chunk-AIC4U2MU.js +1 -0
- package/browser/chunk-DFZI6Z7W.js +1 -0
- package/browser/chunk-EC2BCDCL.js +1 -0
- package/browser/{chunk-WER6464F.js → chunk-F32VEQPY.js} +1 -1
- package/browser/chunk-FHERZTSZ.js +1 -0
- package/browser/{chunk-BPGILYXN.js → chunk-FIVJTOO5.js} +1 -1
- package/browser/chunk-FXW6JMJT.js +1 -0
- package/browser/{chunk-QBQFRY6E.js → chunk-GIMSVKQM.js} +1 -1
- package/browser/chunk-GKBRHSMN.js +1 -0
- package/browser/{chunk-FEMUXIQ5.js → chunk-GZ5XFG52.js} +1 -1
- package/browser/chunk-H7MV7NCQ.js +1 -0
- package/browser/{chunk-2LW5VXLB.js → chunk-HBPEHALV.js} +1 -1
- package/browser/{chunk-POUIHGLE.js → chunk-I5HSEFR4.js} +1 -1
- package/browser/{chunk-23T7O4RB.js → chunk-J6KC3ETK.js} +1 -1
- package/browser/{chunk-Q643KTCY.js → chunk-JLVW3WZE.js} +1 -1
- package/browser/{chunk-X6SZS62E.js → chunk-JWRID2EL.js} +1 -1
- package/browser/chunk-KRK3FNKB.js +1 -0
- package/browser/chunk-L7OS7MWE.js +1 -0
- package/browser/chunk-LMGSBI4E.js +1 -0
- package/browser/{chunk-F5UWLT3X.js → chunk-MKE7HI6X.js} +1 -1
- package/browser/{chunk-WXOL2LXZ.js → chunk-NGOS7UTY.js} +1 -1
- package/browser/{chunk-VBXWUQS7.js → chunk-NUN4WTCP.js} +1 -1
- package/browser/chunk-OAN35RIR.js +1 -0
- package/browser/{chunk-4BA742MQ.js → chunk-OD5UXNU5.js} +1 -1
- package/browser/{chunk-IBOCXMQ4.js → chunk-P7CSUKFY.js} +1 -1
- package/browser/chunk-QIURQTGU.js +1 -0
- package/browser/{chunk-AQ7HC7RU.js → chunk-SKABLB3F.js} +1 -1
- package/browser/chunk-SPSXBYO3.js +1 -0
- package/browser/{chunk-WZ5GZFOX.js → chunk-TCYPGB6P.js} +1 -1
- package/browser/{chunk-RSQZM7XG.js → chunk-TGT4RBUY.js} +1 -1
- package/browser/{chunk-A75US5OS.js → chunk-TWTJJETM.js} +1 -1
- package/browser/chunk-UOGHINOM.js +1 -0
- package/browser/{chunk-K3JZBQNI.js → chunk-UVTRXG6W.js} +1 -1
- package/browser/{chunk-GHZFCBZI.js → chunk-VKFTCAHS.js} +1 -1
- package/browser/chunk-VU5WR5CP.js +1 -0
- package/browser/{chunk-4RJ7IPTL.js → chunk-WG653S5D.js} +1 -1
- package/browser/chunk-WJFUKUVD.js +1 -0
- package/browser/chunk-WMRLIQ4E.js +1 -0
- package/browser/chunk-XHE2FLNY.js +1 -0
- package/browser/{chunk-R4YBTA4J.js → chunk-XV6SOT4A.js} +1 -1
- package/browser/chunk-ZTTTDVEL.js +1 -0
- package/browser/chunk-ZV2GXJ7Q.js +1 -0
- package/browser/index.html +1 -1
- package/browser/{main-3P5CH7OO.js → main-3RWS5R5L.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-27VMXNKO.js +0 -1
- package/browser/chunk-5FQ263AJ.js +0 -1
- package/browser/chunk-5SMSD425.js +0 -1
- package/browser/chunk-DK7CV3ER.js +0 -1
- package/browser/chunk-FH7GLF4A.js +0 -1
- package/browser/chunk-FVTEJ3CC.js +0 -1
- package/browser/chunk-FXEVP5EI.js +0 -1
- package/browser/chunk-GFM6GNN4.js +0 -1
- package/browser/chunk-M6PPDBCV.js +0 -1
- package/browser/chunk-MFP22ZDH.js +0 -1
- package/browser/chunk-MPWUESX7.js +0 -1
- package/browser/chunk-MW254KMZ.js +0 -1
- package/browser/chunk-NEH5OLEF.js +0 -1
- package/browser/chunk-TIUJWVDI.js +0 -1
- package/browser/chunk-UCFKZZMU.js +0 -1
- package/browser/chunk-XNTXJPF5.js +0 -1
- package/browser/chunk-ZFS375I4.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as tn,b as nn,e as on,f as an,i as rn,j as sn,m as xn,n as vn,s as Cn,t as Mn,u as wn,v as kn}from"./chunk-7YDOHTEK.js";import{a as be}from"./chunk-UCFKZZMU.js";import{d as Qt,f as Ae,h as $t,i as Yt,j as Wt,l as Jt,m as Gt,p as Ut,s as Xt,v as Zt}from"./chunk-2GHS5VUE.js";import{a as _e,b as en}from"./chunk-DYANOPHQ.js";import{C as yn,D as Je,b as ln,c as Ye,g as We,h as cn,j as dn,l as Re,m as mn,o as pn,r as un,s as hn,u as fn,v as gn,w as _n,x as bn}from"./chunk-N5UH5PRX.js";import{A as Kt,E as X,K as ie,M as oe,N as ge,O as $e,P as ae,a as Bt,b as Ht,h as Pe,i as he,j as zt,n as qt,t as $,u as fe,w as Qe}from"./chunk-4YLSQZJK.js";import{$a as Ee,$b as K,A as se,Ab as rt,B as ee,Bb as E,Cb as me,Db as _,Eb as Te,F as bt,Fb as d,G as Le,Gb as j,Gc as Lt,Hb as x,Ib as ne,J as yt,Jb as J,Ka as r,Kb as T,Lb as O,Ma as wt,Na as Se,Pa as qe,Pb as Oe,Qb as G,R as te,Ra as kt,Rb as w,S as we,Sa as De,Sb as pe,T as xt,Tb as u,Ub as M,Vb as ue,Wa as b,Wb as Ot,Xa as q,Ya as V,Z as vt,_ as z,_b as Pt,a as Z,aa as R,ab as de,ac as At,b as Ce,bb as It,bc as st,ca as s,db as St,e as W,ga as v,h as I,ha as C,hc as Rt,ia as Be,ib as Dt,jb as y,jc as Ft,k as _t,ka as ke,kc as Q,la as Ie,lb as h,m as Me,ma as le,mb as f,mc as Nt,nb as Et,nc as jt,oa as g,ob as Ke,oc as U,pa as He,pb as S,qb as D,rb as p,sb as l,ta as F,tb as c,tc as H,ua as Ct,ub as k,uc as A,va as ce,vb as N,vc as Vt,wa as Mt,wb as L,xb as Tt,ya as B,za as ze}from"./chunk-QPN22TF2.js";var Zn=["mat-menu-item",""],ei=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],ti=["mat-icon, [matMenuItemIcon]","*"];function ni(n,o){n&1&&(Be(),l(0,"svg",2),k(1,"polygon",3),c())}var ii=["*"];function oi(n,o){if(n&1){let e=E();N(0,"div",0),Te("click",function(){v(e);let i=d();return C(i.closed.emit("click"))})("animationstart",function(i){v(e);let a=d();return C(a._onAnimationStart(i.animationName))})("animationend",function(i){v(e);let a=d();return C(a._onAnimationDone(i.animationName))})("animationcancel",function(i){v(e);let a=d();return C(a._onAnimationDone(i.animationName))}),N(1,"div",1),x(2),L()()}if(n&2){let e=d();pe(e._classList),w("mat-menu-panel-animations-disabled",e._animationsDisabled)("mat-menu-panel-exit-animation",e._panelAnimationState==="void")("mat-menu-panel-animating",e._isAnimating()),me("id",e.panelId),y("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}var ct=new R("MAT_MENU_PANEL"),Fe=(()=>{class n{_elementRef=s(B);_document=s(Ie);_focusMonitor=s(Pe);_parentMenu=s(ct,{optional:!0});_changeDetectorRef=s(H);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new I;_focused=new I;_highlighted=!1;_triggersSubmenu=!1;constructor(){s(he).load(ge),this._parentMenu?.addItem?.(this)}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let e=this._elementRef.nativeElement.cloneNode(!0),t=e.querySelectorAll("mat-icon, .material-icons");for(let i=0;i<t.length;i++)t[i].remove();return e.textContent?.trim()||""}_setHighlighted(e){this._highlighted=e,this._changeDetectorRef.markForCheck()}_setTriggersSubmenu(e){this._triggersSubmenu=e,this._changeDetectorRef.markForCheck()}_hasFocus(){return this._document&&this._document.activeElement===this._getHostElement()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["","mat-menu-item",""]],hostAttrs:[1,"mat-mdc-menu-item","mat-focus-indicator"],hostVars:8,hostBindings:function(t,i){t&1&&_("click",function(m){return i._checkDisabled(m)})("mouseenter",function(){return i._handleMouseEnter()}),t&2&&(y("role",i.role)("tabindex",i._getTabIndex())("aria-disabled",i.disabled)("disabled",i.disabled||null),w("mat-mdc-menu-item-highlighted",i._highlighted)("mat-mdc-menu-item-submenu-trigger",i._triggersSubmenu))},inputs:{role:"role",disabled:[2,"disabled","disabled",A],disableRipple:[2,"disableRipple","disableRipple",A]},exportAs:["matMenuItem"],attrs:Zn,ngContentSelectors:ti,decls:5,vars:3,consts:[[1,"mat-mdc-menu-item-text"],["matRipple","",1,"mat-mdc-menu-ripple",3,"matRippleDisabled","matRippleTrigger"],["viewBox","0 0 5 10","focusable","false","aria-hidden","true",1,"mat-mdc-menu-submenu-icon"],["points","0,0 5,5 0,10"]],template:function(t,i){t&1&&(j(ei),x(0),l(1,"span",0),x(2,1),c(),k(3,"div",1),h(4,ni,2,0,":svg:svg",2)),t&2&&(r(3),p("matRippleDisabled",i.disableRipple||i.disabled)("matRippleTrigger",i._getHostElement()),r(),f(i._triggersSubmenu?4:-1))},dependencies:[oe],encapsulation:2,changeDetection:0})}return n})();var Dn=new R("MatMenuContent"),Zo=(()=>{class n{_template=s(Se);_appRef=s(Dt);_injector=s(ke);_viewContainerRef=s(De);_document=s(Ie);_changeDetectorRef=s(H);_portal;_outlet;_attached=new I;constructor(){}attach(e={}){this._portal||(this._portal=new Ae(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new $t(this._document.createElement("div"),this._appRef,this._injector));let t=this._template.elementRef.nativeElement;t.parentNode.insertBefore(this._outlet.outletElement,t),this._changeDetectorRef.markForCheck(),this._portal.attach(this._outlet,e),this._attached.next()}detach(){this._portal?.isAttached&&this._portal.detach()}ngOnDestroy(){this.detach(),this._outlet?.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["ng-template","matMenuContent",""]],features:[K([{provide:Dn,useExisting:n}])]})}return n})(),ai=new R("mat-menu-default-options",{providedIn:"root",factory:()=>({overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"})}),lt="_mat-menu-enter",Ge="_mat-menu-exit",xe=(()=>{class n{_elementRef=s(B);_changeDetectorRef=s(H);_injector=s(ke);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_exitFallbackTimeout;_animationsDisabled=ie();_allItems;_directDescendantItems=new ze;_classList={};_panelAnimationState="void";_animationDone=new I;_isAnimating=F(!1);parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger=!1;hasBackdrop;set panelClass(e){let t=this._previousPanelClass,i=Z({},this._classList);t&&t.length&&t.split(" ").forEach(a=>{i[a]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(a=>{i[a]=!0}),this._elementRef.nativeElement.className=""),this._classList=i}_previousPanelClass;get classList(){return this.panelClass}set classList(e){this.panelClass=e}closed=new g;close=this.closed;panelId=s($).getId("mat-menu-panel-");constructor(){let e=s(ai);this.overlayPanelClass=e.overlayPanelClass||"",this._xPosition=e.xPosition,this._yPosition=e.yPosition,this.backdropClass=e.backdropClass,this.overlapTrigger=e.overlapTrigger,this.hasBackdrop=e.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Qe(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(te(this._directDescendantItems),we(e=>se(...e.map(t=>t._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{let t=this._keyManager;if(this._panelAnimationState==="enter"&&t.activeItem?._hasFocus()){let i=e.toArray(),a=Math.max(0,Math.min(i.length-1,t.activeItemIndex||0));i[a]&&!i[a].disabled?t.setActiveItem(a):t.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy(),clearTimeout(this._exitFallbackTimeout)}_hovered(){return this._directDescendantItems.changes.pipe(te(this._directDescendantItems),we(t=>se(...t.map(i=>i._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){let t=e.keyCode,i=this._keyManager;switch(t){case 27:fe(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(t===38||t===40)&&i.setFocusOrigin("keyboard"),i.onKeydown(e);return}}focusFirstItem(e="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=wt(()=>{let t=this._resolvePanel();if(!t||!t.contains(document.activeElement)){let i=this._keyManager;i.setFocusOrigin(e).setFirstItemActive(),!i.activeItem&&t&&t.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){}setPositionClasses(e=this.xPosition,t=this.yPosition){this._classList=Ce(Z({},this._classList),{"mat-menu-before":e==="before","mat-menu-after":e==="after","mat-menu-above":t==="above","mat-menu-below":t==="below"}),this._changeDetectorRef.markForCheck()}_onAnimationDone(e){let t=e===Ge;(t||e===lt)&&(t&&(clearTimeout(this._exitFallbackTimeout),this._exitFallbackTimeout=void 0),this._animationDone.next(t?"void":"enter"),this._isAnimating.set(!1))}_onAnimationStart(e){(e===lt||e===Ge)&&this._isAnimating.set(!0)}_setIsOpen(e){if(this._panelAnimationState=e?"enter":"void",e){if(this._keyManager.activeItemIndex===0){let t=this._resolvePanel();t&&(t.scrollTop=0)}}else this._animationsDisabled||(this._exitFallbackTimeout=setTimeout(()=>this._onAnimationDone(Ge),200));this._animationsDisabled&&setTimeout(()=>{this._onAnimationDone(e?lt:Ge)}),this._changeDetectorRef.markForCheck()}_updateDirectDescendants(){this._allItems.changes.pipe(te(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}_resolvePanel(){let e=null;return this._directDescendantItems.length&&(e=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),e}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["mat-menu"]],contentQueries:function(t,i,a){if(t&1&&ne(a,Dn,5)(a,Fe,5)(a,Fe,4),t&2){let m;T(m=O())&&(i.lazyContent=m.first),T(m=O())&&(i._allItems=m),T(m=O())&&(i.items=m)}},viewQuery:function(t,i){if(t&1&&J(Se,5),t&2){let a;T(a=O())&&(i.templateRef=a.first)}},hostVars:3,hostBindings:function(t,i){t&2&&y("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",A],hasBackdrop:[2,"hasBackdrop","hasBackdrop",e=>e==null?null:A(e)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[K([{provide:ct,useExisting:n}])],ngContentSelectors:ii,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","animationstart","animationend","animationcancel","id"],[1,"mat-mdc-menu-content"]],template:function(t,i){t&1&&(j(),It(0,oi,3,12,"ng-template"))},styles:[`mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}
|
|
1
|
+
import{a as tn,b as nn,e as on,f as an,i as rn,j as sn,m as xn,n as vn,s as Cn,t as Mn,u as wn,v as kn}from"./chunk-7YDOHTEK.js";import{a as be}from"./chunk-WJFUKUVD.js";import{d as Qt,f as Ae,h as $t,i as Yt,j as Wt,l as Jt,m as Gt,p as Ut,s as Xt,v as Zt}from"./chunk-2GHS5VUE.js";import{a as _e,b as en}from"./chunk-DYANOPHQ.js";import{C as yn,D as Je,b as ln,c as Ye,g as We,h as cn,j as dn,l as Re,m as mn,o as pn,r as un,s as hn,u as fn,v as gn,w as _n,x as bn}from"./chunk-N5UH5PRX.js";import{A as Kt,E as X,K as ie,M as oe,N as ge,O as $e,P as ae,a as Bt,b as Ht,h as Pe,i as he,j as zt,n as qt,t as $,u as fe,w as Qe}from"./chunk-4YLSQZJK.js";import{$a as Ee,$b as K,A as se,Ab as rt,B as ee,Bb as E,Cb as me,Db as _,Eb as Te,F as bt,Fb as d,G as Le,Gb as j,Gc as Lt,Hb as x,Ib as ne,J as yt,Jb as J,Ka as r,Kb as T,Lb as O,Ma as wt,Na as Se,Pa as qe,Pb as Oe,Qb as G,R as te,Ra as kt,Rb as w,S as we,Sa as De,Sb as pe,T as xt,Tb as u,Ub as M,Vb as ue,Wa as b,Wb as Ot,Xa as q,Ya as V,Z as vt,_ as z,_b as Pt,a as Z,aa as R,ab as de,ac as At,b as Ce,bb as It,bc as st,ca as s,db as St,e as W,ga as v,h as I,ha as C,hc as Rt,ia as Be,ib as Dt,jb as y,jc as Ft,k as _t,ka as ke,kc as Q,la as Ie,lb as h,m as Me,ma as le,mb as f,mc as Nt,nb as Et,nc as jt,oa as g,ob as Ke,oc as U,pa as He,pb as S,qb as D,rb as p,sb as l,ta as F,tb as c,tc as H,ua as Ct,ub as k,uc as A,va as ce,vb as N,vc as Vt,wa as Mt,wb as L,xb as Tt,ya as B,za as ze}from"./chunk-QPN22TF2.js";var Zn=["mat-menu-item",""],ei=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],ti=["mat-icon, [matMenuItemIcon]","*"];function ni(n,o){n&1&&(Be(),l(0,"svg",2),k(1,"polygon",3),c())}var ii=["*"];function oi(n,o){if(n&1){let e=E();N(0,"div",0),Te("click",function(){v(e);let i=d();return C(i.closed.emit("click"))})("animationstart",function(i){v(e);let a=d();return C(a._onAnimationStart(i.animationName))})("animationend",function(i){v(e);let a=d();return C(a._onAnimationDone(i.animationName))})("animationcancel",function(i){v(e);let a=d();return C(a._onAnimationDone(i.animationName))}),N(1,"div",1),x(2),L()()}if(n&2){let e=d();pe(e._classList),w("mat-menu-panel-animations-disabled",e._animationsDisabled)("mat-menu-panel-exit-animation",e._panelAnimationState==="void")("mat-menu-panel-animating",e._isAnimating()),me("id",e.panelId),y("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}var ct=new R("MAT_MENU_PANEL"),Fe=(()=>{class n{_elementRef=s(B);_document=s(Ie);_focusMonitor=s(Pe);_parentMenu=s(ct,{optional:!0});_changeDetectorRef=s(H);role="menuitem";disabled=!1;disableRipple=!1;_hovered=new I;_focused=new I;_highlighted=!1;_triggersSubmenu=!1;constructor(){s(he).load(ge),this._parentMenu?.addItem?.(this)}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,t):this._getHostElement().focus(t),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){let e=this._elementRef.nativeElement.cloneNode(!0),t=e.querySelectorAll("mat-icon, .material-icons");for(let i=0;i<t.length;i++)t[i].remove();return e.textContent?.trim()||""}_setHighlighted(e){this._highlighted=e,this._changeDetectorRef.markForCheck()}_setTriggersSubmenu(e){this._triggersSubmenu=e,this._changeDetectorRef.markForCheck()}_hasFocus(){return this._document&&this._document.activeElement===this._getHostElement()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["","mat-menu-item",""]],hostAttrs:[1,"mat-mdc-menu-item","mat-focus-indicator"],hostVars:8,hostBindings:function(t,i){t&1&&_("click",function(m){return i._checkDisabled(m)})("mouseenter",function(){return i._handleMouseEnter()}),t&2&&(y("role",i.role)("tabindex",i._getTabIndex())("aria-disabled",i.disabled)("disabled",i.disabled||null),w("mat-mdc-menu-item-highlighted",i._highlighted)("mat-mdc-menu-item-submenu-trigger",i._triggersSubmenu))},inputs:{role:"role",disabled:[2,"disabled","disabled",A],disableRipple:[2,"disableRipple","disableRipple",A]},exportAs:["matMenuItem"],attrs:Zn,ngContentSelectors:ti,decls:5,vars:3,consts:[[1,"mat-mdc-menu-item-text"],["matRipple","",1,"mat-mdc-menu-ripple",3,"matRippleDisabled","matRippleTrigger"],["viewBox","0 0 5 10","focusable","false","aria-hidden","true",1,"mat-mdc-menu-submenu-icon"],["points","0,0 5,5 0,10"]],template:function(t,i){t&1&&(j(ei),x(0),l(1,"span",0),x(2,1),c(),k(3,"div",1),h(4,ni,2,0,":svg:svg",2)),t&2&&(r(3),p("matRippleDisabled",i.disableRipple||i.disabled)("matRippleTrigger",i._getHostElement()),r(),f(i._triggersSubmenu?4:-1))},dependencies:[oe],encapsulation:2,changeDetection:0})}return n})();var Dn=new R("MatMenuContent"),Zo=(()=>{class n{_template=s(Se);_appRef=s(Dt);_injector=s(ke);_viewContainerRef=s(De);_document=s(Ie);_changeDetectorRef=s(H);_portal;_outlet;_attached=new I;constructor(){}attach(e={}){this._portal||(this._portal=new Ae(this._template,this._viewContainerRef)),this.detach(),this._outlet||(this._outlet=new $t(this._document.createElement("div"),this._appRef,this._injector));let t=this._template.elementRef.nativeElement;t.parentNode.insertBefore(this._outlet.outletElement,t),this._changeDetectorRef.markForCheck(),this._portal.attach(this._outlet,e),this._attached.next()}detach(){this._portal?.isAttached&&this._portal.detach()}ngOnDestroy(){this.detach(),this._outlet?.dispose()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["ng-template","matMenuContent",""]],features:[K([{provide:Dn,useExisting:n}])]})}return n})(),ai=new R("mat-menu-default-options",{providedIn:"root",factory:()=>({overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"})}),lt="_mat-menu-enter",Ge="_mat-menu-exit",xe=(()=>{class n{_elementRef=s(B);_changeDetectorRef=s(H);_injector=s(ke);_keyManager;_xPosition;_yPosition;_firstItemFocusRef;_exitFallbackTimeout;_animationsDisabled=ie();_allItems;_directDescendantItems=new ze;_classList={};_panelAnimationState="void";_animationDone=new I;_isAnimating=F(!1);parentMenu;direction;overlayPanelClass;backdropClass;ariaLabel;ariaLabelledby;ariaDescribedby;get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}templateRef;items;lazyContent;overlapTrigger=!1;hasBackdrop;set panelClass(e){let t=this._previousPanelClass,i=Z({},this._classList);t&&t.length&&t.split(" ").forEach(a=>{i[a]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(a=>{i[a]=!0}),this._elementRef.nativeElement.className=""),this._classList=i}_previousPanelClass;get classList(){return this.panelClass}set classList(e){this.panelClass=e}closed=new g;close=this.closed;panelId=s($).getId("mat-menu-panel-");constructor(){let e=s(ai);this.overlayPanelClass=e.overlayPanelClass||"",this._xPosition=e.xPosition,this._yPosition=e.yPosition,this.backdropClass=e.backdropClass,this.overlapTrigger=e.overlapTrigger,this.hasBackdrop=e.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new Qe(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(te(this._directDescendantItems),we(e=>se(...e.map(t=>t._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{let t=this._keyManager;if(this._panelAnimationState==="enter"&&t.activeItem?._hasFocus()){let i=e.toArray(),a=Math.max(0,Math.min(i.length-1,t.activeItemIndex||0));i[a]&&!i[a].disabled?t.setActiveItem(a):t.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusRef?.destroy(),clearTimeout(this._exitFallbackTimeout)}_hovered(){return this._directDescendantItems.changes.pipe(te(this._directDescendantItems),we(t=>se(...t.map(i=>i._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){let t=e.keyCode,i=this._keyManager;switch(t){case 27:fe(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&this.direction==="ltr"&&this.closed.emit("keydown");break;case 39:this.parentMenu&&this.direction==="rtl"&&this.closed.emit("keydown");break;default:(t===38||t===40)&&i.setFocusOrigin("keyboard"),i.onKeydown(e);return}}focusFirstItem(e="program"){this._firstItemFocusRef?.destroy(),this._firstItemFocusRef=wt(()=>{let t=this._resolvePanel();if(!t||!t.contains(document.activeElement)){let i=this._keyManager;i.setFocusOrigin(e).setFirstItemActive(),!i.activeItem&&t&&t.focus()}},{injector:this._injector})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){}setPositionClasses(e=this.xPosition,t=this.yPosition){this._classList=Ce(Z({},this._classList),{"mat-menu-before":e==="before","mat-menu-after":e==="after","mat-menu-above":t==="above","mat-menu-below":t==="below"}),this._changeDetectorRef.markForCheck()}_onAnimationDone(e){let t=e===Ge;(t||e===lt)&&(t&&(clearTimeout(this._exitFallbackTimeout),this._exitFallbackTimeout=void 0),this._animationDone.next(t?"void":"enter"),this._isAnimating.set(!1))}_onAnimationStart(e){(e===lt||e===Ge)&&this._isAnimating.set(!0)}_setIsOpen(e){if(this._panelAnimationState=e?"enter":"void",e){if(this._keyManager.activeItemIndex===0){let t=this._resolvePanel();t&&(t.scrollTop=0)}}else this._animationsDisabled||(this._exitFallbackTimeout=setTimeout(()=>this._onAnimationDone(Ge),200));this._animationsDisabled&&setTimeout(()=>{this._onAnimationDone(e?lt:Ge)}),this._changeDetectorRef.markForCheck()}_updateDirectDescendants(){this._allItems.changes.pipe(te(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(t=>t._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}_resolvePanel(){let e=null;return this._directDescendantItems.length&&(e=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),e}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["mat-menu"]],contentQueries:function(t,i,a){if(t&1&&ne(a,Dn,5)(a,Fe,5)(a,Fe,4),t&2){let m;T(m=O())&&(i.lazyContent=m.first),T(m=O())&&(i._allItems=m),T(m=O())&&(i.items=m)}},viewQuery:function(t,i){if(t&1&&J(Se,5),t&2){let a;T(a=O())&&(i.templateRef=a.first)}},hostVars:3,hostBindings:function(t,i){t&2&&y("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},inputs:{backdropClass:"backdropClass",ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],ariaDescribedby:[0,"aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:[2,"overlapTrigger","overlapTrigger",A],hasBackdrop:[2,"hasBackdrop","hasBackdrop",e=>e==null?null:A(e)],panelClass:[0,"class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"},exportAs:["matMenu"],features:[K([{provide:ct,useExisting:n}])],ngContentSelectors:ii,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel",3,"click","animationstart","animationend","animationcancel","id"],[1,"mat-mdc-menu-content"]],template:function(t,i){t&1&&(j(),It(0,oi,3,12,"ng-template"))},styles:[`mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;outline:0}.mat-mdc-menu-content,.mat-mdc-menu-content .mat-mdc-menu-item .mat-mdc-menu-item-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;flex:1;white-space:normal;font-family:var(--mat-menu-item-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-menu-item-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-menu-item-label-text-size, var(--mat-sys-label-large-size));letter-spacing:var(--mat-menu-item-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-menu-item-label-text-weight, var(--mat-sys-label-large-weight))}@keyframes _mat-menu-enter{from{opacity:0;transform:scale(0.8)}to{opacity:1;transform:none}}@keyframes _mat-menu-exit{from{opacity:1}to{opacity:0}}.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;box-sizing:border-box;outline:0;animation:_mat-menu-enter 120ms cubic-bezier(0, 0, 0.2, 1);border-radius:var(--mat-menu-container-shape, var(--mat-sys-corner-extra-small));background-color:var(--mat-menu-container-color, var(--mat-sys-surface-container));box-shadow:var(--mat-menu-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));will-change:transform,opacity}.mat-mdc-menu-panel.mat-menu-panel-exit-animation{animation:_mat-menu-exit 100ms 25ms linear forwards}.mat-mdc-menu-panel.mat-menu-panel-animations-disabled{animation:none}.mat-mdc-menu-panel.mat-menu-panel-animating{pointer-events:none}.mat-mdc-menu-panel.mat-menu-panel-animating:has(.mat-mdc-menu-content:empty){display:none}@media(forced-colors: active){.mat-mdc-menu-panel{outline:solid 1px}}.mat-mdc-menu-panel .mat-divider{border-top-color:var(--mat-menu-divider-color, var(--mat-sys-surface-variant));margin-bottom:var(--mat-menu-divider-bottom-spacing, 8px);margin-top:var(--mat-menu-divider-top-spacing, 8px)}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px;padding-left:var(--mat-menu-item-leading-spacing, 12px);padding-right:var(--mat-menu-item-trailing-spacing, 12px);-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-menu-item::-moz-focus-inner{border:0}[dir=rtl] .mat-mdc-menu-item{padding-left:var(--mat-menu-item-trailing-spacing, 12px);padding-right:var(--mat-menu-item-leading-spacing, 12px)}.mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-leading-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-trailing-spacing, 12px)}[dir=rtl] .mat-mdc-menu-item:has(.material-icons,mat-icon,[matButtonIcon]){padding-left:var(--mat-menu-item-with-icon-trailing-spacing, 12px);padding-right:var(--mat-menu-item-with-icon-leading-spacing, 12px)}.mat-mdc-menu-item,.mat-mdc-menu-item:visited,.mat-mdc-menu-item:link{color:var(--mat-menu-item-label-text-color, var(--mat-sys-on-surface))}.mat-mdc-menu-item .mat-icon-no-color,.mat-mdc-menu-item .mat-mdc-menu-submenu-icon{color:var(--mat-menu-item-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item:focus{outline:0}.mat-mdc-menu-item .mat-icon{flex-shrink:0;margin-right:var(--mat-menu-item-spacing, 12px);height:var(--mat-menu-item-icon-size, 24px);width:var(--mat-menu-item-icon-size, 24px)}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:var(--mat-menu-item-spacing, 12px)}.mat-mdc-menu-item:not([disabled]):hover{background-color:var(--mat-menu-item-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-menu-item:not([disabled]).cdk-program-focused,.mat-mdc-menu-item:not([disabled]).cdk-keyboard-focused,.mat-mdc-menu-item:not([disabled]).mat-mdc-menu-item-highlighted{background-color:var(--mat-menu-item-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent))}@media(forced-colors: active){.mat-mdc-menu-item{margin-top:1px}}.mat-mdc-menu-submenu-icon{width:var(--mat-menu-item-icon-size, 24px);height:10px;fill:currentColor;padding-left:var(--mat-menu-item-spacing, 12px)}[dir=rtl] .mat-mdc-menu-submenu-icon{padding-right:var(--mat-menu-item-spacing, 12px);padding-left:0}[dir=rtl] .mat-mdc-menu-submenu-icon polygon{transform:scaleX(-1);transform-origin:center}@media(forced-colors: active){.mat-mdc-menu-submenu-icon{fill:CanvasText}}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}
|
|
2
2
|
`],encapsulation:2,changeDetection:0})}return n})(),ri=new R("mat-menu-scroll-strategy",{providedIn:"root",factory:()=>{let n=s(ke);return()=>Jt(n)}});var ye=new WeakMap,si=(()=>{class n{_canHaveBackdrop;_element=s(B);_viewContainerRef=s(De);_menuItemInstance=s(Fe,{optional:!0,self:!0});_dir=s(Kt,{optional:!0});_focusMonitor=s(Pe);_ngZone=s(He);_injector=s(ke);_scrollStrategy=s(ri);_changeDetectorRef=s(H);_animationsDisabled=ie();_portal;_overlayRef=null;_menuOpen=!1;_closingActionsSubscription=W.EMPTY;_menuCloseSubscription=W.EMPTY;_pendingRemoval;_parentMaterialMenu;_parentInnerPadding;_openedBy=void 0;get _menu(){return this._menuInternal}set _menu(e){e!==this._menuInternal&&(this._menuInternal=e,this._menuCloseSubscription.unsubscribe(),e&&(this._parentMaterialMenu,this._menuCloseSubscription=e.close.subscribe(t=>{this._destroyMenu(t),(t==="click"||t==="tab")&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(t)})),this._menuItemInstance?._setTriggersSubmenu(this._triggersSubmenu()))}_menuInternal=null;constructor(e){this._canHaveBackdrop=e;let t=s(ct,{optional:!0});this._parentMaterialMenu=t instanceof xe?t:void 0}ngOnDestroy(){this._menu&&this._ownsMenu(this._menu)&&ye.delete(this._menu),this._pendingRemoval?.unsubscribe(),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null)}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}_triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this._menu)}_closeMenu(){this._menu?.close.emit()}_openMenu(e){if(this._triggerIsAriaDisabled())return;let t=this._menu;if(this._menuOpen||!t)return;this._pendingRemoval?.unsubscribe();let i=ye.get(t);ye.set(t,this),i&&i!==this&&i._closeMenu();let a=this._createOverlay(t),m=a.getConfig(),Y=m.positionStrategy;this._setPosition(t,Y),this._canHaveBackdrop?m.hasBackdrop=t.hasBackdrop==null?!this._triggersSubmenu():t.hasBackdrop:m.hasBackdrop=t.hasBackdrop??!1,a.hasAttached()||(a.attach(this._getPortal(t)),t.lazyContent?.attach(this.menuData)),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this._closeMenu()),t.parentMenu=this._triggersSubmenu()?this._parentMaterialMenu:void 0,t.direction=this.dir,e&&t.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0),t instanceof xe&&(t._setIsOpen(!0),t._directDescendantItems.changes.pipe(xt(t.close)).subscribe(()=>{Y.withLockedPosition(!1).reapplyLastPosition(),Y.withLockedPosition(!0)}))}focus(e,t){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,t):this._element.nativeElement.focus(t)}_destroyMenu(e){let t=this._overlayRef,i=this._menu;!t||!this.menuOpen||(this._closingActionsSubscription.unsubscribe(),this._pendingRemoval?.unsubscribe(),i instanceof xe&&this._ownsMenu(i)?(this._pendingRemoval=i._animationDone.pipe(Le(1)).subscribe(()=>{t.detach(),ye.has(i)||i.lazyContent?.detach()}),i._setIsOpen(!1)):(t.detach(),i?.lazyContent?.detach()),i&&this._ownsMenu(i)&&ye.delete(i),this.restoreFocus&&(e==="keydown"||!this._openedBy||!this._triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,this._setIsMenuOpen(!1))}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this._triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){let t=this._getOverlayConfig(e);this._subscribeToPositions(e,t.positionStrategy),this._overlayRef=Xt(this._injector,t),this._overlayRef.keydownEvents().subscribe(i=>{this._menu instanceof xe&&this._menu._handleKeydown(i)})}return this._overlayRef}_getOverlayConfig(e){return new Gt({positionStrategy:Ut(this._injector,this._getOverlayOrigin()).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir||"ltr",disableAnimations:this._animationsDisabled})}_subscribeToPositions(e,t){e.setPositionClasses&&t.positionChanges.subscribe(i=>{this._ngZone.run(()=>{let a=i.connectionPair.overlayX==="start"?"after":"before",m=i.connectionPair.overlayY==="top"?"below":"above";e.setPositionClasses(a,m)})})}_setPosition(e,t){let[i,a]=e.xPosition==="before"?["end","start"]:["start","end"],[m,Y]=e.yPosition==="above"?["bottom","top"]:["top","bottom"],[nt,it]=[m,Y],[ot,at]=[i,a],ve=0;if(this._triggersSubmenu()){if(at=i=e.xPosition==="before"?"start":"end",a=ot=i==="end"?"start":"end",this._parentMaterialMenu){if(this._parentInnerPadding==null){let gt=this._parentMaterialMenu.items.first;this._parentInnerPadding=gt?gt._getHostElement().offsetTop:0}ve=m==="bottom"?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(nt=m==="top"?"bottom":"top",it=Y==="top"?"bottom":"top");t.withPositions([{originX:i,originY:nt,overlayX:ot,overlayY:m,offsetY:ve},{originX:a,originY:nt,overlayX:at,overlayY:m,offsetY:ve},{originX:i,originY:it,overlayX:ot,overlayY:Y,offsetY:-ve},{originX:a,originY:it,overlayX:at,overlayY:Y,offsetY:-ve}])}_menuClosingActions(){let e=this._getOutsideClickStream(this._overlayRef),t=this._overlayRef.detachments(),i=this._parentMaterialMenu?this._parentMaterialMenu.closed:Me(),a=this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(ee(m=>this._menuOpen&&m!==this._menuItemInstance)):Me();return se(e,i,a,t)}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new Ae(e.templateRef,this._viewContainerRef)),this._portal}_ownsMenu(e){return ye.get(e)===this}_triggerIsAriaDisabled(){return A(this._element.nativeElement.getAttribute("aria-disabled"))}static \u0275fac=function(t){kt()};static \u0275dir=V({type:n})}return n})(),En=(()=>{class n extends si{_cleanupTouchstart;_hoverSubscription=W.EMPTY;get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){this._menu=e}menuData;restoreFocus=!0;menuOpened=new g;onMenuOpen=this.menuOpened;menuClosed=new g;onMenuClose=this.menuClosed;constructor(){super(!0);let e=s(qe);this._cleanupTouchstart=e.listen(this._element.nativeElement,"touchstart",t=>{Ht(t)||(this._openedBy="touch")},{passive:!0})}triggersSubmenu(){return super._triggersSubmenu()}toggleMenu(){return this.menuOpen?this.closeMenu():this.openMenu()}openMenu(){this._openMenu(!0)}closeMenu(){this._closeMenu()}updatePosition(){this._overlayRef?.updatePosition()}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTouchstart(),this._hoverSubscription.unsubscribe()}_getOverlayOrigin(){return this._element}_getOutsideClickStream(e){return e.backdropClick()}_handleMousedown(e){Bt(e)||(this._openedBy=e.button===0?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){let t=e.keyCode;(t===13||t===32)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(t===39&&this.dir==="ltr"||t===37&&this.dir==="rtl")&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){this.triggersSubmenu()&&this._parentMaterialMenu&&(this._hoverSubscription=this._parentMaterialMenu._hovered().subscribe(e=>{e===this._menuItemInstance&&!e.disabled&&this._parentMaterialMenu?._panelAnimationState!=="void"&&(this._openedBy="mouse",this._openMenu(!1))}))}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],hostVars:3,hostBindings:function(t,i){t&1&&_("click",function(m){return i._handleClick(m)})("mousedown",function(m){return i._handleMousedown(m)})("keydown",function(m){return i._handleKeydown(m)}),t&2&&y("aria-haspopup",i.menu?"menu":null)("aria-expanded",i.menuOpen)("aria-controls",i.menuOpen?i.menu==null?null:i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:[0,"mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:[0,"matMenuTriggerFor","menu"],menuData:[0,"matMenuTriggerData","menuData"],restoreFocus:[0,"matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"},exportAs:["matMenuTrigger"],features:[Ee]})}return n})();var Tn=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=q({type:n});static \u0275inj=z({imports:[ae,Zt,X,Qt]})}return n})();var ci=[[["","dsDrawerSide",""]],[["","dsDrawerContent",""]]],di=["[dsDrawerSide]","[dsDrawerContent]"],On=class n{breakpointObserver=s(qt);destroyRef=s(le);open=!0;drawerWidth="280px";mobileBreakpoint=768;openChange=new g;isMobile=F(!1);drawerMode=Q(()=>this.isMobile()?"over":"side");ngOnInit(){this.breakpointObserver.observe([`(max-width: ${this.mobileBreakpoint-1}px)`]).pipe(be(this.destroyRef)).subscribe(o=>this.isMobile.set(o.matches))}onOpenedChange(o){this.openChange.emit(o)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["ds-drawer"]],inputs:{open:"open",drawerWidth:"drawerWidth",mobileBreakpoint:"mobileBreakpoint"},outputs:{openChange:"openChange"},ngContentSelectors:di,decls:5,vars:6,consts:[[1,"ds-drawer",2,"height","100%"],[1,"ds-drawer__sidenav",3,"openedChange","opened","mode"],[1,"ds-drawer__content"]],template:function(e,t){e&1&&(j(ci),l(0,"mat-sidenav-container",0)(1,"mat-sidenav",1),_("openedChange",function(a){return t.onOpenedChange(a)}),x(2),c(),l(3,"mat-sidenav-content",2),x(4,1),c()()),e&2&&(r(),G("width",t.drawerWidth),w("ds-drawer__sidenav--overlay",t.isMobile()),p("opened",t.open)("mode",t.drawerMode()))},dependencies:[kn,Mn,wn,Cn],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0}.ds-drawer[_ngcontent-%COMP%]{width:100%;flex:1;min-height:0;--mat-sidenav-container-background-color: transparent;--mat-sidenav-container-divider-color: var(--color-border, rgba(0, 0, 0, .1));--mat-sidenav-scrim-color: rgba(0, 0, 0, .2)}.ds-drawer.mat-drawer-container[_ngcontent-%COMP%]{flex:1;min-height:0}.ds-drawer__sidenav[_ngcontent-%COMP%]{background:var(--glass-bg, rgba(255, 255, 255, .92));backdrop-filter:var(--glass-backdrop-blur, blur(20px));-webkit-backdrop-filter:var(--glass-backdrop-blur, blur(20px));border-right:1px solid var(--color-border, rgba(0, 0, 0, .1));box-shadow:none;--mat-sidenav-container-shape: 0;border-radius:0}.ds-drawer__sidenav--overlay[_ngcontent-%COMP%]{background:var(--color-bg, #ffffff);backdrop-filter:none;-webkit-backdrop-filter:none}.ds-drawer__content[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}"],changeDetection:0})};var Ue=class n{icon;title="";disabled=!1;variant="default";action=new g;onClick(){this.disabled||this.action.emit()}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["ds-icon-button"]],inputs:{icon:"icon",title:"title",disabled:"disabled",variant:"variant"},outputs:{action:"action"},decls:3,vars:5,consts:[["mat-icon-button","","type","button",3,"click","disabled","title"]],template:function(e,t){e&1&&(l(0,"button",0),_("click",function(){return t.onClick()}),l(1,"mat-icon"),u(2),c()()),e&2&&(pe("icon-button variant-"+t.variant),p("disabled",t.disabled)("title",t.title),r(2),M(t.icon))},dependencies:[$e,_e],styles:['@charset "UTF-8";.icon-button[_ngcontent-%COMP%]{transition:color .2s ease,background .2s ease,transform .12s ease,opacity .2s ease}.icon-button[_ngcontent-%COMP%]:hover:not(:disabled){transform:scale(1.1)}.icon-button[_ngcontent-%COMP%]:active:not(:disabled){transform:scale(1.15)}.icon-button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}.icon-button.variant-default[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73)}.icon-button.variant-default[_ngcontent-%COMP%]:hover:not(:disabled){color:var(--color-primary, #007aff)}.icon-button.variant-primary[_ngcontent-%COMP%]:hover:not(:disabled), .icon-button.variant-danger[_ngcontent-%COMP%]:hover:not(:disabled){color:var(--color-text-inverse, #ffffff);box-shadow:0 4px 14px var(--icon-button-shadow-color);background:var(--icon-button-accent-color)}.icon-button.variant-primary[_ngcontent-%COMP%]{--icon-button-accent-color: var(--color-primary, #007aff);--icon-button-shadow-color: rgba(0, 122, 255, .3);color:var(--color-primary, #007aff)}.icon-button.variant-danger[_ngcontent-%COMP%]{--icon-button-accent-color: var(--color-error, #ff3b30);--icon-button-shadow-color: rgba(255, 59, 48, .3);color:var(--color-error, #ff3b30)}']})};var mi=(n,o)=>o.uid;function pi(n,o){n&1&&(l(0,"span",2),u(1,"*"),c())}function ui(n,o){if(n&1&&(l(0,"p",3),u(1),c()),n&2){let e=d();r(),M(e.description)}}function hi(n,o){if(n&1&&k(0,"input",4),n&2){let e=d();p("type",e.htmlInputType)("id",e.inputId)("formControl",e.control()),y("required",e.required()||null)}}function fi(n,o){if(n&1&&k(0,"input",5),n&2){let e=d();p("id",e.inputId)("formControl",e.control()),y("required",e.required()||null)}}function gi(n,o){if(n&1&&(l(0,"div",6),k(1,"input",11),l(2,"span",12),u(3),c()()),n&2){let e=d();r(),p("id",e.inputId)("formControl",e.control()),r(2),M(e.label)}}function _i(n,o){n&1&&(l(0,"option",13),u(1,"\u2014 none \u2014"),c())}function bi(n,o){if(n&1&&(l(0,"option",14),u(1),c()),n&2){let e=o.$implicit;p("value",e),r(),M(e)}}function yi(n,o){if(n&1&&(l(0,"select",7),h(1,_i,2,0,"option",13),S(2,bi,2,2,"option",14,Ke),c()),n&2){let e=d();p("id",e.inputId)("formControl",e.control()),y("required",e.required()||null),r(),f(e.required()?-1:1),r(),D(e.enumOptions)}}function xi(n,o){if(n&1){let e=E();l(0,"div",15),k(1,"input",17),l(2,"button",18),_("click",function(){let i=v(e).$index,a=d(2);return C(a.removeScalarItem(i))}),u(3," \xD7 "),c()()}if(n&2){let e=o.$index,t=d(2);r(),p("type",t.itemInputType)("formControl",t.getScalarItemControl(e)),y("aria-label",t.label+" item "+(e+1)),r(),y("aria-label","Remove "+t.label+" item "+(e+1))}}function vi(n,o){if(n&1){let e=E();l(0,"div",8),S(1,xi,4,4,"div",15,Et),l(3,"button",16),_("click",function(){v(e);let i=d();return C(i.addScalarItem())}),u(4),c()()}if(n&2){let e=d();r(),D(e.itemArray.controls),r(3),ue("+ Add ",e.label)}}function Ci(n,o){if(n&1){let e=E();l(0,"div",19)(1,"div",20)(2,"span",21),u(3),c(),l(4,"button",18),_("click",function(){let i=v(e).$implicit,a=d(2);return C(a.removeObjectItem(i.uid))}),u(5," \xD7 "),c()(),l(6,"ds-json-schema-form",22),_("valueChange",function(i){let a=v(e).$implicit,m=d(2);return C(m.onObjectItemChange(a.uid,i))}),c()()}if(n&2){let e=o.$implicit,t=o.$index,i=d(2);r(3),Ot("",(i.itemObjectSchema==null?null:i.itemObjectSchema.title)??i.label," ",t+1),r(),y("aria-label","Remove "+i.label+" item "+(t+1)),r(2),p("schema",i.itemObjectSchema)("value",e.seed)}}function Mi(n,o){if(n&1){let e=E();l(0,"div",8),S(1,Ci,7,5,"div",19,mi),l(3,"button",16),_("click",function(){v(e);let i=d();return C(i.addObjectItem())}),u(4),c()()}if(n&2){let e=d();r(),D(e.objectItems()),r(3),ue("+ Add ",e.label)}}function wi(n,o){if(n&1){let e=E();l(0,"div",9)(1,"ds-json-schema-form",22),_("valueChange",function(i){v(e);let a=d();return C(a.onNestedValueChange(i))}),c()()}if(n&2){let e=d();r(),p("schema",e.fieldSchema())("value",e.nestedInitialValue())}}function ki(n,o){if(n&1&&k(0,"textarea",10),n&2){let e=d();p("id",e.inputId)("formControl",e.control()),y("required",e.required()||null)}}var Ii=0;function Pn(n){return{uid:Ii++,seed:n,value:n}}var Xe=class n{fieldKey=U.required();fieldSchema=U.required();control=U.required();required=U(!1);itemArray=new un([]);objectItems=F([]);nestedInitialValue=F(null);ngOnInit(){if(this.fieldType==="array-scalar")this.initScalarArray();else if(this.fieldType==="array-object")this.initObjectArray();else if(this.fieldType==="nested-object"){let o=this.control().value;this.nestedInitialValue.set(o&&typeof o=="object"&&!Array.isArray(o)?o:null)}}initScalarArray(){let o=this.control().value;(Array.isArray(o)?o:[]).forEach(t=>this.itemArray.push(new Re(t))),this.itemArray.valueChanges.subscribe(t=>{this.control().setValue(t,{emitEvent:!0})})}addScalarItem(){this.itemArray.push(new Re(null))}removeScalarItem(o){this.itemArray.removeAt(o)}getScalarItemControl(o){return this.itemArray.at(o)}get itemInputType(){let o=this.fieldSchema().items;if(!o)return"text";let e=Array.isArray(o.type)?o.type[0]:o.type;return e==="number"||e==="integer"?"number":"text"}initObjectArray(){let o=this.control().value,e=Array.isArray(o)?o:[];this.objectItems.set(e.map(t=>Pn(Z({},t))))}addObjectItem(){this.objectItems.update(o=>[...o,Pn(null)]),this.syncObjectArrayToControl()}removeObjectItem(o){this.objectItems.update(e=>e.filter(t=>t.uid!==o)),this.syncObjectArrayToControl()}onObjectItemChange(o,e){this.objectItems.update(t=>t.map(i=>i.uid===o?Ce(Z({},i),{value:e}):i)),this.syncObjectArrayToControl()}get itemObjectSchema(){return this.fieldSchema().items??null}syncObjectArrayToControl(){this.control().setValue(this.objectItems().map(o=>o.value),{emitEvent:!0})}get label(){return this.fieldSchema().title??this.fieldKey()}get description(){return this.fieldSchema().description}get fieldType(){let o=this.fieldSchema();if(o.enum?.length)return"enum";switch(Array.isArray(o.type)?o.type[0]:o.type){case"number":case"integer":return"number";case"boolean":return"boolean";case"array":{let t=o.items;return(t?Array.isArray(t.type)?t.type[0]:t.type:void 0)==="object"&&t?.properties?"array-object":"array-scalar"}case"object":return o.properties?"nested-object":"textarea";default:return"text"}}get htmlInputType(){switch(this.fieldSchema().format){case"password":return"password";case"email":return"email";case"uri":case"url":return"url";case"date":return"date";case"date-time":return"datetime-local";default:return"text"}}get enumOptions(){return this.fieldSchema().enum??[]}get inputId(){return`ds-field-${this.fieldKey()}`}onNestedValueChange(o){let e=this.control().value;JSON.stringify(e)!==JSON.stringify(o)&&this.control().setValue(o,{emitEvent:!0})}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["ds-json-schema-field"]],inputs:{fieldKey:[1,"fieldKey"],fieldSchema:[1,"fieldSchema"],control:[1,"control"],required:[1,"required"]},decls:13,vars:5,consts:[[1,"ds-field"],[1,"ds-field__label",3,"for"],["aria-hidden","true",1,"ds-field__required"],[1,"ds-field__description"],[1,"ds-field__input",3,"type","id","formControl"],["type","number",1,"ds-field__input",3,"id","formControl"],[1,"ds-field__checkbox-row"],[1,"ds-field__select",3,"id","formControl"],[1,"ds-field__array"],[1,"ds-field__nested"],["rows","4","placeholder","JSON",1,"ds-field__textarea",3,"id","formControl"],["type","checkbox",1,"ds-field__checkbox",3,"id","formControl"],[1,"ds-field__checkbox-label"],["value",""],[3,"value"],[1,"ds-field__array-row"],["type","button",1,"ds-field__array-add",3,"click"],[1,"ds-field__input","ds-field__input--array-item",3,"type","formControl"],["type","button",1,"ds-field__array-remove",3,"click"],[1,"ds-field__array-object-card"],[1,"ds-field__array-object-header"],[1,"ds-field__array-object-title"],[3,"valueChange","schema","value"]],template:function(e,t){if(e&1&&(l(0,"div",0)(1,"label",1),u(2),h(3,pi,2,0,"span",2),c(),h(4,ui,2,1,"p",3),h(5,hi,1,4,"input",4)(6,fi,1,3,"input",5)(7,gi,4,3,"div",6)(8,yi,4,4,"select",7)(9,vi,5,1,"div",8)(10,Mi,5,1,"div",8)(11,wi,2,2,"div",9)(12,ki,1,3,"textarea",10),c()),e&2){let i;r(),p("for",t.inputId),r(),ue(" ",t.label," "),r(),f(t.required()?3:-1),r(),f(t.description?4:-1),r(),f((i=t.fieldType)==="text"?5:i==="number"?6:i==="boolean"?7:i==="enum"?8:i==="array-scalar"?9:i==="array-object"?10:i==="nested-object"?11:i==="textarea"?12:-1)}},dependencies:()=>[Je,_n,bn,Ye,pn,ln,gn,We,hn,Ze],styles:[".ds-field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px}.ds-field__label[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:500;color:var(--color-text, #1d1d1f)}.ds-field__required[_ngcontent-%COMP%]{color:var(--color-error, #d32f2f);margin-left:2px}.ds-field__description[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary, #6e6e73);margin:0}.ds-field__input[_ngcontent-%COMP%], .ds-field__select[_ngcontent-%COMP%], .ds-field__textarea[_ngcontent-%COMP%]{width:100%;padding:6px 10px;border:1px solid var(--color-border, #d1d1d6);border-radius:6px;background:var(--color-bg-secondary, #f5f5f7);color:var(--color-text, #1d1d1f);font-size:.875rem;font-family:inherit;box-sizing:border-box;transition:border-color .15s ease}.ds-field__input[_ngcontent-%COMP%]:focus, .ds-field__select[_ngcontent-%COMP%]:focus, .ds-field__textarea[_ngcontent-%COMP%]:focus{outline:none;border-color:var(--color-primary, #007aff)}.ds-field__textarea[_ngcontent-%COMP%]{font-family:Menlo,Monaco,Courier New,monospace;font-size:.8125rem;resize:vertical;background:var(--color-code-bg, #f5f5f7)}.ds-field__checkbox-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.ds-field__checkbox[_ngcontent-%COMP%]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary, #007aff);flex-shrink:0}.ds-field__checkbox-label[_ngcontent-%COMP%]{font-size:.875rem;color:var(--color-text, #1d1d1f)}.ds-field__array[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px}.ds-field__array-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px}.ds-field__input--array-item[_ngcontent-%COMP%]{flex:1}.ds-field__array-remove[_ngcontent-%COMP%]{flex-shrink:0;width:28px;height:28px;padding:0;border:1px solid var(--color-border, #d1d1d6);border-radius:6px;background:transparent;color:var(--color-text-secondary, #6e6e73);font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease}.ds-field__array-remove[_ngcontent-%COMP%]:hover{border-color:var(--color-error, #d32f2f);color:var(--color-error, #d32f2f)}.ds-field__array-object-card[_ngcontent-%COMP%]{border:1px solid var(--color-border-light, #e5e5ea);border-radius:8px;padding:12px;background:var(--color-bg-secondary, #f5f5f7);display:flex;flex-direction:column;gap:10px}.ds-field__array-object-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.ds-field__array-object-title[_ngcontent-%COMP%]{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary, #6e6e73)}.ds-field__array-add[_ngcontent-%COMP%]{align-self:flex-start;padding:4px 10px;border:1px dashed var(--color-border, #d1d1d6);border-radius:6px;background:transparent;color:var(--color-primary, #007aff);font-size:.8125rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease}.ds-field__array-add[_ngcontent-%COMP%]:hover{border-color:var(--color-primary, #007aff)}.ds-field__nested[_ngcontent-%COMP%]{border:1px solid var(--color-border-light, #e5e5ea);border-radius:8px;padding:12px;background:var(--color-bg-secondary, #f5f5f7)}"],changeDetection:0})};function Si(n,o){if(n&1&&k(0,"ds-json-schema-field",1),n&2){let e=o.$implicit,t=d(2);p("fieldKey",e)("fieldSchema",t.getFieldSchema(e))("control",t.getControl(e))("required",t.isRequired(e))}}function Di(n,o){if(n&1&&(l(0,"div",0),S(1,Si,1,4,"ds-json-schema-field",1,Ke),c()),n&2){let e=d();p("formGroup",e.formGroup),r(),D(e.fieldKeys())}}var Ze=class n{destroyRef=s(le);schema=U(null);value=U(null);valueChange=jt();formGroup=new dn({});fieldKeys=Q(()=>{let o=this.schema();return o?.properties?Object.keys(o.properties):[]});hasFields=Q(()=>this.fieldKeys().length>0);constructor(){Ct(()=>{let o=this.schema(),e=Ft(()=>this.value());this.rebuildForm(o,e)})}rebuildForm(o,e){if(Object.keys(this.formGroup.controls).forEach(t=>{this.formGroup.removeControl(t)}),!o?.properties){this.valueChange.emit(null);return}for(let[t,i]of Object.entries(o.properties)){let a=e?.[t]??i.default??null;this.formGroup.addControl(t,new Re(a))}this.formGroup.valueChanges.pipe(be(this.destroyRef)).subscribe(()=>this.emitValue()),this.emitValue()}emitValue(){if(!this.schema()?.properties){this.valueChange.emit(null);return}this.valueChange.emit(this.formGroup.value)}getFieldSchema(o){return this.schema()?.properties?.[o]??{}}isRequired(o){return this.schema()?.required?.includes(o)??!1}getControl(o){return this.formGroup.get(o)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["ds-json-schema-form"]],inputs:{schema:[1,"schema"],value:[1,"value"]},outputs:{valueChange:"valueChange"},decls:1,vars:1,consts:[[1,"ds-json-schema-form",3,"formGroup"],[3,"fieldKey","fieldSchema","control","required"]],template:function(e,t){e&1&&h(0,Di,3,1,"div",0),e&2&&f(t.hasFields()?0:-1)},dependencies:[Je,cn,fn,Xe],styles:[".ds-json-schema-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}"]})};var et=class n{static \u0275fac=function(e){return new(e||n)};static \u0275dir=V({type:n,selectors:[["","dsCardActions",""]]})};var Rn=(()=>{class n{_animationsDisabled=ie();state="unchecked";disabled=!1;appearance="full";constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(t,i){t&2&&w("mat-pseudo-checkbox-indeterminate",i.state==="indeterminate")("mat-pseudo-checkbox-checked",i.state==="checked")("mat-pseudo-checkbox-disabled",i.disabled)("mat-pseudo-checkbox-minimal",i.appearance==="minimal")("mat-pseudo-checkbox-full",i.appearance==="full")("_mat-animation-noopable",i._animationsDisabled)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(t,i){},styles:[`.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary))}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full{border-color:var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));border-width:2px;border-style:solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled{border-color:var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{background-color:var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{color:var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background-color:var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after{color:var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface))}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}
|
|
3
3
|
`],encapsulation:2,changeDetection:0})}return n})();var Fn=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=q({type:n});static \u0275inj=z({imports:[X]})}return n})();var Ei=["text"],Ti=[[["mat-icon"]],"*"],Oi=["mat-icon","*"];function Pi(n,o){if(n&1&&k(0,"mat-pseudo-checkbox",1),n&2){let e=d();p("disabled",e.disabled)("state",e.selected?"checked":"unchecked")}}function Ai(n,o){if(n&1&&k(0,"mat-pseudo-checkbox",3),n&2){let e=d();p("disabled",e.disabled)}}function Ri(n,o){if(n&1&&(l(0,"span",4),u(1),c()),n&2){let e=d();r(),ue("(",e.group.label,")")}}var Fi=new R("MAT_OPTION_PARENT_COMPONENT"),Ni=new R("MatOptgroup");var dt=class{source;isUserInput;constructor(o,e=!1){this.source=o,this.isUserInput=e}},Nn=(()=>{class n{_element=s(B);_changeDetectorRef=s(H);_parent=s(Fi,{optional:!0});group=s(Ni,{optional:!0});_signalDisableRipple=!1;_selected=!1;_active=!1;_mostRecentViewValue="";get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}value;id=s($).getId("mat-option-");get disabled(){return this.group&&this.group.disabled||this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=F(!1);get disableRipple(){return this._signalDisableRipple?this._parent.disableRipple():!!this._parent?.disableRipple}get hideSingleSelectionIndicator(){return!!(this._parent&&this._parent.hideSingleSelectionIndicator)}onSelectionChange=new g;_text;_stateChanges=new I;constructor(){let e=s(he);e.load(ge),e.load(zt),this._signalDisableRipple=!!this._parent&&St(this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(e=!0){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}deselect(e=!0){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),e&&this._emitSelectionChangeEvent())}focus(e,t){let i=this._getHostElement();typeof i.focus=="function"&&i.focus(t)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(e.keyCode===13||e.keyCode===32)&&!fe(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=this.multiple?!this._selected:!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){let e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new dt(this,e))}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["mat-option"]],viewQuery:function(t,i){if(t&1&&J(Ei,7),t&2){let a;T(a=O())&&(i._text=a.first)}},hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(t,i){t&1&&_("click",function(){return i._selectViaInteraction()})("keydown",function(m){return i._handleKeydown(m)}),t&2&&(me("id",i.id),y("aria-selected",i.selected)("aria-disabled",i.disabled.toString()),w("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},inputs:{value:"value",id:"id",disabled:[2,"disabled","disabled",A]},outputs:{onSelectionChange:"onSelectionChange"},exportAs:["matOption"],ngContentSelectors:Oi,decls:8,vars:5,consts:[["text",""],["aria-hidden","true",1,"mat-mdc-option-pseudo-checkbox",3,"disabled","state"],[1,"mdc-list-item__primary-text"],["state","checked","aria-hidden","true","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"],["aria-hidden","true","mat-ripple","",1,"mat-mdc-option-ripple","mat-focus-indicator",3,"matRippleTrigger","matRippleDisabled"]],template:function(t,i){t&1&&(j(Ti),h(0,Pi,1,2,"mat-pseudo-checkbox",1),x(1),l(2,"span",2,0),x(4,1),c(),h(5,Ai,1,1,"mat-pseudo-checkbox",3),h(6,Ri,2,1,"span",4),k(7,"div",5)),t&2&&(f(i.multiple?0:-1),r(5),f(!i.multiple&&i.selected&&!i.hideSingleSelectionIndicator?5:-1),r(),f(i.group&&i.group._inert?6:-1),r(),p("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[Rn,oe],styles:[`.mat-mdc-option{-webkit-user-select:none;user-select:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;min-height:48px;padding:0 16px;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);color:var(--mat-option-label-text-color, var(--mat-sys-on-surface));font-family:var(--mat-option-label-text-font, var(--mat-sys-label-large-font));line-height:var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));font-size:var(--mat-option-label-text-size, var(--mat-sys-body-large-size));letter-spacing:var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));font-weight:var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight))}.mat-mdc-option:hover:not(.mdc-list-item--disabled){background-color:var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent))}.mat-mdc-option:focus.mdc-list-item,.mat-mdc-option.mat-mdc-option-active.mdc-list-item{background-color:var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));outline:0}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover){background-color:var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container))}.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active,.mat-mdc-option-multiple,:focus,:hover) .mdc-list-item__primary-text{color:var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option .mat-pseudo-checkbox{--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container))}.mat-mdc-option.mdc-list-item{align-items:center;background:rgba(0,0,0,0)}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}@media(forced-colors: active){.mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after{right:auto;left:16px}}.mat-mdc-option-multiple{--mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent)}.mat-mdc-option-active .mat-focus-indicator::before{content:""}
|
|
4
4
|
`],encapsulation:2,changeDetection:0})}return n})();function Za(n,o,e){if(e.length){let t=o.toArray(),i=e.toArray(),a=0;for(let m=0;m<n+1;m++)t[m].group&&t[m].group===i[a]&&a++;return a}return 0}function er(n,o,e,t){return n<e?n:n+o>e+t?Math.max(0,n-t+o):e}var sr=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=q({type:n});static \u0275inj=z({imports:[ae,Fn,Nn,X]})}return n})();var Vi=[[["","dsCardActions",""]]],Li=["[dsCardActions]"],Bi=(n,o)=>o.label;function Hi(n,o){if(n&1&&(l(0,"span"),u(1),c()),n&2){let e=o.$implicit;pe(Pt("entity-card__badge badge-",e.variant)),r(),M(e.label)}}function zi(n,o){if(n&1&&(l(0,"div",3),S(1,Hi,2,4,"span",6,Bi),c()),n&2){let e=d();r(),D(e.badges)}}function qi(n,o){if(n&1&&(l(0,"span",4),u(1),c()),n&2){let e=d();p("matTooltip",e.description),r(),M(e.description)}}function Ki(n,o){n&1&&(l(0,"div",5),x(1),c())}var tt=class n{id;name;description=void 0;badges=[];selected=new g;cardActions;get hasActions(){return this.cardActions!==void 0}onClick(){this.selected.emit(this.id)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=b({type:n,selectors:[["ds-entity-card"]],contentQueries:function(e,t,i){if(e&1&&ne(i,et,5),e&2){let a;T(a=O())&&(t.cardActions=a.first)}},inputs:{id:"id",name:"name",description:"description",badges:"badges"},outputs:{selected:"selected"},ngContentSelectors:Li,decls:7,vars:8,consts:[["matRipple","",1,"entity-card",3,"click","keydown.enter","keydown.space"],[1,"entity-card__body"],[1,"entity-card__name"],[1,"entity-card__badges"],["matTooltipShowDelay","600",1,"entity-card__description",3,"matTooltip"],[1,"entity-card__actions"],[3,"class"]],template:function(e,t){e&1&&(j(Vi),l(0,"div",0),_("click",function(){return!t.hasActions&&t.onClick()})("keydown.enter",function(){return!t.hasActions&&t.onClick()})("keydown.space",function(){return!t.hasActions&&t.onClick()}),l(1,"div",1)(2,"span",2),u(3),c(),h(4,zi,3,0,"div",3),h(5,qi,2,2,"span",4),c(),h(6,Ki,2,0,"div",5),c()),e&2&&(w("entity-card--clickable",!t.hasActions),y("role",t.hasActions?null:"button")("tabindex",t.hasActions?null:"0"),r(3),M(t.name),r(),f(t.badges.length>0?4:-1),r(),f(t.description?5:-1),r(),f(t.hasActions?6:-1))},dependencies:[ae,oe,nn,tn],styles:[".entity-card[_ngcontent-%COMP%]{box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-secondary, rgba(255, 255, 255, .7));border:1px solid var(--color-border, rgba(0, 0, 0, .1));border-radius:12px;overflow:hidden;position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .12s ease}.entity-card--clickable[_ngcontent-%COMP%]{cursor:pointer}.entity-card--clickable[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .04));border-color:var(--color-primary, #007aff);box-shadow:0 2px 12px var(--color-shadow, rgba(0, 0, 0, .08));transform:translateY(-1px)}.entity-card--clickable[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--color-primary, #007aff);outline-offset:2px}.entity-card--clickable[_ngcontent-%COMP%]:active{transform:translateY(0)}.entity-card__body[_ngcontent-%COMP%]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem}.entity-card__name[_ngcontent-%COMP%]{font-size:.9375rem;font-weight:600;color:var(--color-text, #1d1d1f);line-height:1.3}.entity-card__description[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--color-text-secondary, #6e6e73);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-card__badges[_ngcontent-%COMP%]{display:flex;gap:.25rem;flex-wrap:wrap}.entity-card__badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.0625rem .3rem;border-radius:999px;font-size:.5625rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#fff}.entity-card__badge.badge-warning[_ngcontent-%COMP%]{background:var(--color-warning, #ff9500)}.entity-card__badge.badge-info[_ngcontent-%COMP%]{background:var(--color-info, #5ac8fa)}.entity-card__badge.badge-success[_ngcontent-%COMP%]{background:var(--color-success, #34c759)}.entity-card__badge.badge-error[_ngcontent-%COMP%]{background:var(--color-error, #ff3b30)}.entity-card__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;flex-shrink:0}"],changeDetection:0})};var Ve=(()=>{class n{_listeners=[];notify(e,t){for(let i of this._listeners)i(e,t)}listen(e){return this._listeners.push(e),()=>{this._listeners=this._listeners.filter(t=>e!==t)}}ngOnDestroy(){this._listeners=[]}static \u0275fac=function(t){return new(t||n)};static \u0275prov=vt({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var mt=new R("CdkAccordion"),jn=(()=>{class n{_stateChanges=new I;_openCloseAllActions=new I;id=s($).getId("cdk-accordion-");multi=!1;openAll(){this.multi&&this._openCloseAllActions.next(!0)}closeAll(){this._openCloseAllActions.next(!1)}ngOnChanges(e){this._stateChanges.next(e)}ngOnDestroy(){this._stateChanges.complete(),this._openCloseAllActions.complete()}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["cdk-accordion"],["","cdkAccordion",""]],inputs:{multi:[2,"multi","multi",A]},exportAs:["cdkAccordion"],features:[K([{provide:mt,useExisting:n}]),ce]})}return n})(),Vn=(()=>{class n{accordion=s(mt,{optional:!0,skipSelf:!0});_changeDetectorRef=s(H);_expansionDispatcher=s(Ve);_openCloseAllSubscription=W.EMPTY;closed=new g;opened=new g;destroyed=new g;expandedChange=new g;id=s($).getId("cdk-accordion-child-");get expanded(){return this._expanded}set expanded(e){if(this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();let t=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,t)}else this.closed.emit();this._changeDetectorRef.markForCheck()}}_expanded=!1;get disabled(){return this._disabled()}set disabled(e){this._disabled.set(e)}_disabled=F(!1);_removeUniqueSelectionListener=()=>{};constructor(){}ngOnInit(){this._removeUniqueSelectionListener=this._expansionDispatcher.listen((e,t)=>{this.accordion&&!this.accordion.multi&&this.accordion.id===t&&this.id!==e&&(this.expanded=!1)}),this.accordion&&(this._openCloseAllSubscription=this._subscribeToOpenCloseAllActions())}ngOnDestroy(){this.opened.complete(),this.closed.complete(),this.destroyed.emit(),this.destroyed.complete(),this._removeUniqueSelectionListener(),this._openCloseAllSubscription.unsubscribe()}toggle(){this.disabled||(this.expanded=!this.expanded)}close(){this.disabled||(this.expanded=!1)}open(){this.disabled||(this.expanded=!0)}_subscribeToOpenCloseAllActions(){return this.accordion._openCloseAllActions.subscribe(e=>{this.disabled||(this.expanded=e)})}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["cdk-accordion-item"],["","cdkAccordionItem",""]],inputs:{expanded:[2,"expanded","expanded",A],disabled:[2,"disabled","disabled",A]},outputs:{closed:"closed",opened:"opened",destroyed:"destroyed",expandedChange:"expandedChange"},exportAs:["cdkAccordionItem"],features:[K([{provide:mt,useValue:void 0}])]})}return n})(),Ln=(()=>{class n{static \u0275fac=function(t){return new(t||n)};static \u0275mod=q({type:n});static \u0275inj=z({})}return n})();var pt=class{_multiple;_emitChanges;compareWith;_selection=new Set;_deselectedToEmit=[];_selectedToEmit=[];_selected=null;get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}changed=new I;constructor(o=!1,e,t=!0,i){this._multiple=o,this._emitChanges=t,this.compareWith=i,e&&e.length&&(o?e.forEach(a=>this._markSelected(a)):this._markSelected(e[0]),this._selectedToEmit.length=0)}select(...o){this._verifyValueAssignment(o),o.forEach(t=>this._markSelected(t));let e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...o){this._verifyValueAssignment(o),o.forEach(t=>this._unmarkSelected(t));let e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...o){this._verifyValueAssignment(o);let e=this.selected,t=new Set(o.map(a=>this._getConcreteValue(a)));o.forEach(a=>this._markSelected(a)),e.filter(a=>!t.has(this._getConcreteValue(a,t))).forEach(a=>this._unmarkSelected(a));let i=this._hasQueuedChanges();return this._emitChangeEvent(),i}toggle(o){return this.isSelected(o)?this.deselect(o):this.select(o)}clear(o=!0){this._unmarkAll();let e=this._hasQueuedChanges();return o&&this._emitChangeEvent(),e}isSelected(o){return this._selection.has(this._getConcreteValue(o))}isEmpty(){return this._selection.size===0}hasValue(){return!this.isEmpty()}sort(o){this._multiple&&this.selected&&this._selected.sort(o)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(o){o=this._getConcreteValue(o),this.isSelected(o)||(this._multiple||this._unmarkAll(),this.isSelected(o)||this._selection.add(o),this._emitChanges&&this._selectedToEmit.push(o))}_unmarkSelected(o){o=this._getConcreteValue(o),this.isSelected(o)&&(this._selection.delete(o),this._emitChanges&&this._deselectedToEmit.push(o))}_unmarkAll(){this.isEmpty()||this._selection.forEach(o=>this._unmarkSelected(o))}_verifyValueAssignment(o){o.length>1&&this._multiple}_hasQueuedChanges(){return!!(this._deselectedToEmit.length||this._selectedToEmit.length)}_getConcreteValue(o,e){if(this.compareWith){e=e??this._selection;for(let t of e)if(this.compareWith(o,t))return t;return o}else return o}};var Qi=["body"],$i=["bodyWrapper"],Yi=[[["mat-expansion-panel-header"]],"*",[["mat-action-row"]]],Wi=["mat-expansion-panel-header","*","mat-action-row"];function Ji(n,o){}var Gi=[[["mat-panel-title"]],[["mat-panel-description"]],"*"],Ui=["mat-panel-title","mat-panel-description","*"];function Xi(n,o){n&1&&(N(0,"span",1),Be(),N(1,"svg",2),Tt(2,"path",3),L()())}var ut=new R("MAT_ACCORDION"),Bn=new R("MAT_EXPANSION_PANEL"),Zi=(()=>{class n{_template=s(Se);_expansionPanel=s(Bn,{optional:!0});constructor(){}static \u0275fac=function(t){return new(t||n)};static \u0275dir=V({type:n,selectors:[["ng-template","matExpansionPanelContent",""]]})}return n})(),Hn=new R("MAT_EXPANSION_PANEL_DEFAULT_OPTIONS"),ht=(()=>{class n extends Vn{_viewContainerRef=s(De);_animationsDisabled=ie();_document=s(Ie);_ngZone=s(He);_elementRef=s(B);_renderer=s(qe);_cleanupTransitionEnd;get hideToggle(){return this._hideToggle||this.accordion&&this.accordion.hideToggle}set hideToggle(e){this._hideToggle=e}_hideToggle=!1;get togglePosition(){return this._togglePosition||this.accordion&&this.accordion.togglePosition}set togglePosition(e){this._togglePosition=e}_togglePosition;afterExpand=new g;afterCollapse=new g;_inputChanges=new I;accordion=s(ut,{optional:!0,skipSelf:!0});_lazyContent;_body;_bodyWrapper;_portal;_headerId=s($).getId("mat-expansion-panel-header-");constructor(){super();let e=s(Hn,{optional:!0});this._expansionDispatcher=s(Ve),e&&(this.hideToggle=e.hideToggle)}_hasSpacing(){return this.accordion?this.expanded&&this.accordion.displayMode==="default":!1}_getExpandedState(){return this.expanded?"expanded":"collapsed"}toggle(){this.expanded=!this.expanded}close(){this.expanded=!1}open(){this.expanded=!0}ngAfterContentInit(){this._lazyContent&&this._lazyContent._expansionPanel===this&&this.opened.pipe(te(null),ee(()=>this.expanded&&!this._portal),Le(1)).subscribe(()=>{this._portal=new Ae(this._lazyContent._template,this._viewContainerRef)}),this._setupAnimationEvents()}ngOnChanges(e){this._inputChanges.next(e)}ngOnDestroy(){super.ngOnDestroy(),this._cleanupTransitionEnd?.(),this._inputChanges.complete()}_containsFocus(){if(this._body){let e=this._document.activeElement,t=this._body.nativeElement;return e===t||t.contains(e)}return!1}_transitionEndListener=({target:e,propertyName:t})=>{e===this._bodyWrapper?.nativeElement&&t==="grid-template-rows"&&this._ngZone.run(()=>{this.expanded?this.afterExpand.emit():this.afterCollapse.emit()})};_setupAnimationEvents(){this._ngZone.runOutsideAngular(()=>{this._animationsDisabled?(this.opened.subscribe(()=>this._ngZone.run(()=>this.afterExpand.emit())),this.closed.subscribe(()=>this._ngZone.run(()=>this.afterCollapse.emit()))):setTimeout(()=>{let e=this._elementRef.nativeElement;this._cleanupTransitionEnd=this._renderer.listen(e,"transitionend",this._transitionEndListener),e.classList.add("mat-expansion-panel-animations-enabled")},200)})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=b({type:n,selectors:[["mat-expansion-panel"]],contentQueries:function(t,i,a){if(t&1&&ne(a,Zi,5),t&2){let m;T(m=O())&&(i._lazyContent=m.first)}},viewQuery:function(t,i){if(t&1&&J(Qi,5)($i,5),t&2){let a;T(a=O())&&(i._body=a.first),T(a=O())&&(i._bodyWrapper=a.first)}},hostAttrs:[1,"mat-expansion-panel"],hostVars:4,hostBindings:function(t,i){t&2&&w("mat-expanded",i.expanded)("mat-expansion-panel-spacing",i._hasSpacing())},inputs:{hideToggle:[2,"hideToggle","hideToggle",A],togglePosition:"togglePosition"},outputs:{afterExpand:"afterExpand",afterCollapse:"afterCollapse"},exportAs:["matExpansionPanel"],features:[K([{provide:ut,useValue:void 0},{provide:Bn,useExisting:n}]),Ee,ce],ngContentSelectors:Wi,decls:9,vars:4,consts:[["bodyWrapper",""],["body",""],[1,"mat-expansion-panel-content-wrapper"],["role","region",1,"mat-expansion-panel-content",3,"id"],[1,"mat-expansion-panel-body"],[3,"cdkPortalOutlet"]],template:function(t,i){t&1&&(j(Yi),x(0),l(1,"div",2,0)(3,"div",3,1)(5,"div",4),x(6,1),de(7,Ji,0,0,"ng-template",5),c(),x(8,2),c()()),t&2&&(r(),y("inert",i.expanded?null:""),r(2),p("id",i.id),y("aria-labelledby",i._headerId),r(4),p("cdkPortalOutlet",i._portal))},dependencies:[Yt],styles:[`.mat-expansion-panel{box-sizing:content-box;display:block;margin:0;overflow:hidden}.mat-expansion-panel.mat-expansion-panel-animations-enabled{transition:margin 225ms cubic-bezier(0.4, 0, 0.2, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel{position:relative;background:var(--mat-expansion-container-background-color, var(--mat-sys-surface));color:var(--mat-expansion-container-text-color, var(--mat-sys-on-surface));border-radius:var(--mat-expansion-container-shape, 12px)}.mat-expansion-panel:not([class*=mat-elevation-z]){box-shadow:var(--mat-expansion-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-accordion .mat-expansion-panel:not(.mat-expanded),.mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing){border-radius:0}.mat-accordion .mat-expansion-panel:first-of-type{border-top-right-radius:var(--mat-expansion-container-shape, 12px);border-top-left-radius:var(--mat-expansion-container-shape, 12px)}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:var(--mat-expansion-container-shape, 12px);border-bottom-left-radius:var(--mat-expansion-container-shape, 12px)}@media(forced-colors: active){.mat-expansion-panel{outline:solid 1px}}.mat-expansion-panel-content-wrapper{display:grid;grid-template-rows:0fr;grid-template-columns:100%}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content-wrapper{transition:grid-template-rows 225ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{grid-template-rows:1fr}@supports not (grid-template-rows: 0fr){.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}@media print{.mat-expansion-panel-content-wrapper{height:0}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper{height:auto}}.mat-expansion-panel-content{display:flex;flex-direction:column;overflow:visible;min-height:0;visibility:hidden}.mat-expansion-panel-animations-enabled .mat-expansion-panel-content{transition:visibility 190ms linear}.mat-expansion-panel.mat-expanded>.mat-expansion-panel-content-wrapper>.mat-expansion-panel-content{visibility:visible}.mat-expansion-panel-content{font-family:var(--mat-expansion-container-text-font, var(--mat-sys-body-large-font));font-size:var(--mat-expansion-container-text-size, var(--mat-sys-body-large-size));font-weight:var(--mat-expansion-container-text-weight, var(--mat-sys-body-large-weight));line-height:var(--mat-expansion-container-text-line-height, var(--mat-sys-body-large-line-height));letter-spacing:var(--mat-expansion-container-text-tracking, var(--mat-sys-body-large-tracking))}.mat-expansion-panel-body{padding:0 24px 16px}.mat-expansion-panel-spacing{margin:16px 0}.mat-accordion>.mat-expansion-panel-spacing:first-child,.mat-accordion>*:first-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-top:0}.mat-accordion>.mat-expansion-panel-spacing:last-child,.mat-accordion>*:last-child:not(.mat-expansion-panel) .mat-expansion-panel-spacing{margin-bottom:0}.mat-action-row{border-top-style:solid;border-top-width:1px;display:flex;flex-direction:row;justify-content:flex-end;padding:16px 8px 16px 24px;border-top-color:var(--mat-expansion-actions-divider-color, var(--mat-sys-outline))}.mat-action-row .mat-button-base,.mat-action-row .mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-action-row .mat-button-base,[dir=rtl] .mat-action-row .mat-mdc-button-base{margin-left:0;margin-right:8px}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-UVTRXG6W.js";import"./chunk-ZTTTDVEL.js";import"./chunk-UARV2YUR.js";import"./chunk-F32VEQPY.js";import"./chunk-7YDOHTEK.js";import"./chunk-WJFUKUVD.js";import"./chunk-2GHS5VUE.js";import"./chunk-DYANOPHQ.js";import"./chunk-N5UH5PRX.js";import"./chunk-4YLSQZJK.js";import"./chunk-QPN22TF2.js";export{a as CaseChatComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as E}from"./chunk-YWWGX3OO.js";import{c as S,d as _,f as u,g as C}from"./chunk-QVW2GZXC.js";import{a as q,b as U,c as Y,d as Q}from"./chunk-4RJ7IPTL.js";import"./chunk-XDTTR6NK.js";import{g as I}from"./chunk-QMQRJWM2.js";import"./chunk-2NBVMKPO.js";import{a as L,w as b}from"./chunk-PK3KWLLW.js";import"./chunk-TXXZ4LMH.js";import"./chunk-4HKHCNH5.js";import{b as $,d as H}from"./chunk-UARV2YUR.js";import"./chunk-PMENB5UW.js";import"./chunk-VIPJVFGJ.js";import"./chunk-EL5IQEU5.js";import"./chunk-WER6464F.js";import"./chunk-7YDOHTEK.js";import"./chunk-UCFKZZMU.js";import"./chunk-QCGVGCBB.js";import"./chunk-2GHS5VUE.js";import"./chunk-DYANOPHQ.js";import"./chunk-N5UH5PRX.js";import"./chunk-NMGDBGR3.js";import"./chunk-4YLSQZJK.js";import{B as x,Bb as M,Db as y,Fb as s,Jb as W,Ka as m,Kb as O,Lb as P,N as A,T as p,Tb as G,Ub as z,Wa as v,Z as F,ca as a,d as k,ga as c,h as f,ha as d,lb as V,mb as j,rb as w,sb as h,tb as g,ub as R,vb as D,wb as B}from"./chunk-QPN22TF2.js";var T=class o{welcomeMessages=["Welcome to Coday","Bienvenue sur Coday","Bienvenido a Coday","Willkommen bei Coday","Benvenuto su Coday","Bem-vindo ao Coday","Welkom bij Coday","\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 Coday","Coday \u3078\u3088\u3046\u3053\u305D","\u6B22\u8FCE\u6765\u5230 Coday","Coday \uC5D0 \uC624\uC2E0 \uAC83\uC744 \uD658\uC601\uD569\uB2C8\uB2E4","\u0645\u0631\u062D\u0628\u064B\u0627 \u0628\u0643 \u0641\u064A Coday"];currentWelcomeIndex=0;currentWelcomeMessage=this.welcomeMessages[0];welcomeRotationInterval;ngOnInit(){this.startWelcomeRotation()}ngOnDestroy(){this.stopWelcomeRotation()}startWelcomeRotation(){this.welcomeRotationInterval=window.setInterval(()=>{this.currentWelcomeIndex=(this.currentWelcomeIndex+1)%this.welcomeMessages.length,this.currentWelcomeMessage=this.welcomeMessages[this.currentWelcomeIndex]},3e3)}stopWelcomeRotation(){this.welcomeRotationInterval&&(clearInterval(this.welcomeRotationInterval),this.welcomeRotationInterval=void 0)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["app-welcome-message"]],decls:2,vars:1,consts:[[1,"welcome-title"]],template:function(t,i){t&1&&(D(0,"h1",0),G(1),B()),t&2&&(m(),z(i.currentWelcomeMessage))},styles:[".welcome-title[_ngcontent-%COMP%]{font-size:clamp(1.5rem,4vw,4rem);font-weight:700;background:linear-gradient(90deg,var(--color-primary, #3b82f6) 0%,var(--color-accent, #8b5cf6) 50%,var(--color-primary, #3b82f6) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:_ngcontent-%COMP%_gradientShift 3s ease-in-out infinite;margin:0;padding:0;line-height:1.2;transition:opacity .5s ease-in-out;display:block;min-height:1.2em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes _ngcontent-%COMP%_gradientShift{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}"]})};var N=class o{destroy$=new f;isSetup=!1;codayService=a(I);preferencesService=a(b);setup(){if(this.isSetup){console.warn("[AGENT-NOTIFICATION] Service already set up");return}console.log("[AGENT-NOTIFICATION] Setting up agent notification service"),this.codayService.isThinking$.pipe(p(this.destroy$),A(),x(([e,t])=>e===!0&&t===!1)).subscribe(()=>{console.log("[AGENT-NOTIFICATION] Agent stopped thinking, notifying task finished"),this.notifyTaskFinishedIfEnabled()}),this.preferencesService.browserNotificationEnabled$.pipe(p(this.destroy$),A(),x(([e,t])=>e===!1&&t===!0)).subscribe(()=>{console.log("[AGENT-NOTIFICATION] Browser notifications enabled, checking permission"),this.handleBrowserNotificationEnabled()}),this.isSetup=!0}notifyTaskFinishedIfEnabled(){this.preferencesService.getAgentNotificationEnabled()&&(this.preferencesService.getNotificationSoundEnabled()&&this.playCompletionSound(),this.preferencesService.getBrowserNotificationEnabled()&&this.sendBrowserNotification())}playCompletionSound(){try{let e=new(window.AudioContext||window.webkitAudioContext),t=e.createOscillator(),i=e.createGain();t.connect(i),i.connect(e.destination),t.frequency.setValueAtTime(700,e.currentTime),i.gain.setValueAtTime(.1,e.currentTime),i.gain.exponentialRampToValueAtTime(.01,e.currentTime+.08),t.start(e.currentTime),t.stop(e.currentTime+.08);let n=e.createOscillator(),r=e.createGain();n.connect(r),r.connect(e.destination);let l=e.currentTime+.11;n.frequency.setValueAtTime(950,l),r.gain.setValueAtTime(.1,l),r.gain.exponentialRampToValueAtTime(.01,l+.09),n.start(l),n.stop(l+.09),console.log("[AGENT-NOTIFICATION] Completion sound played")}catch(e){console.error("[AGENT-NOTIFICATION] Failed to play completion sound:",e)}}handleBrowserNotificationEnabled(){return k(this,null,function*(){if(!("Notification"in window)){console.warn("[AGENT-NOTIFICATION] Browser does not support notifications"),this.preferencesService.setBrowserNotificationEnabled(!1);return}if(Notification.permission==="denied"){console.warn("[AGENT-NOTIFICATION] Permission denied, disabling browser notifications"),this.preferencesService.setBrowserNotificationEnabled(!1);return}if(Notification.permission==="granted"){console.log("[AGENT-NOTIFICATION] Permission already granted, showing confirmation"),this.createConfirmationNotification();return}try{(yield Notification.requestPermission())==="granted"?(console.log("[AGENT-NOTIFICATION] Permission granted, showing confirmation"),this.createConfirmationNotification()):(console.log("[AGENT-NOTIFICATION] Permission denied or dismissed"),this.preferencesService.setBrowserNotificationEnabled(!1))}catch(e){console.error("[AGENT-NOTIFICATION] Error requesting permission:",e),this.preferencesService.setBrowserNotificationEnabled(!1)}})}sendBrowserNotification(){if(!("Notification"in window)){console.warn("[AGENT-NOTIFICATION] Browser does not support notifications");return}if(document.hasFocus()){console.warn("[AGENT-NOTIFICATION] Document is focused, skipping browser notification");return}Notification.permission==="granted"?this.createTaskCompleteNotification():console.warn("[AGENT-NOTIFICATION] Permission not granted, cannot send notification")}createConfirmationNotification(){let e=new Notification("Coday - Notifications Enabled",{body:"You will be notified when the agent completes tasks",icon:"/favicon.ico",tag:"coday-notifications-enabled",requireInteraction:!1});setTimeout(()=>e.close(),4e3),e.onclick=()=>{window.focus(),e.close()},console.log("[AGENT-NOTIFICATION] Confirmation notification sent")}createTaskCompleteNotification(){let e=new Notification("Coday - Task Complete",{body:"The agent has finished and is waiting for your input",icon:"/favicon.ico",tag:"coday-task-complete",requireInteraction:!1});setTimeout(()=>e.close(),5e3),e.onclick=()=>{window.focus(),e.close()},console.log("[AGENT-NOTIFICATION] Task complete notification sent")}ngOnDestroy(){console.log("[AGENT-NOTIFICATION] Service destroyed"),this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=F({token:o,factory:o.\u0275fac,providedIn:"root"})};var Z=["inputSection"];function ee(o,e){if(o&1){let t=M();h(0,"app-thread",4),y("chatFocused",function(){c(t);let n=s();return d(n.onChatFocusedOnMobile())})("drawerStateChange",function(n){c(t);let r=s();return d(r.onDrawerStateChange(n))}),g()}if(o&2){let t=s();w("projectName",t.projectName)("threadId",t.threadId)}}function te(o,e){if(o&1){let t=M();h(0,"div",5),R(1,"app-welcome-message"),g(),h(2,"div",6,0)(4,"div",7)(5,"div",8)(6,"app-chat-textarea",9),y("messageSubmitted",function(n){c(t);let r=s();return d(r.onMessageSubmitted(n))})("voiceMessageReady",function(n){c(t);let r=s();return d(r.onVoiceMessageReady(n))})("voiceRecordingToggled",function(n){c(t);let r=s();return d(r.onVoiceToggled(n))})("heightChanged",function(n){c(t);let r=s();return d(r.onInputHeightChanged(n))})("textareaFocused",function(){c(t);let n=s();return d(n.onChatFocusedOnMobile())}),g()()()()}if(o&2){let t=s();m(6),w("isDisabled",t.isSessionInitializing)("isSessionInitializing",t.isSessionInitializing)("showWelcome",!0)("isThinking",!1)("isStarting",t.isStartingFirstMessage)}}var K=class o{destroy$=new f;inputSection;sidenav;projectName="";threadId=null;isSessionInitializing=!1;isStartingFirstMessage=!1;inputSectionHeight=80;codayService=a(I);titleService=a(U);preferencesService=a(b);route=a($);router=a(H);threadApiService=a(L);agentNotificationService=a(N);firstMessageState=a(Y);constructor(){console.log("[MAIN-APP] Using new thread-based architecture (no clientId needed)")}ngOnInit(){this.agentNotificationService.setup(),this.setupPrintHandlers(),this.route.params.pipe(p(this.destroy$)).subscribe(e=>{let t=e.projectName,i=e.threadId||null;console.log("[MAIN-APP] Route params updated:",{project:t,thread:i,previousProject:this.projectName,previousThread:this.threadId}),this.projectName=t,this.threadId=i,this.threadId?console.log("[MAIN-APP] Thread selected - ThreadComponent will display"):(console.log("[MAIN-APP] No thread selected - showing welcome view"),this.initializeWelcomeView())})}initializeWelcomeView(){this.codayService.setTabTitleService(this.titleService)}ngAfterViewInit(){setTimeout(()=>this.updateInputSectionHeight(),100)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),window.removeEventListener("beforeprint",this.handleBeforePrint),window.removeEventListener("afterprint",this.handleAfterPrint)}onMessageSubmitted(e){console.log("[MAIN-APP] First message submitted from welcome view:",e),this.isSessionInitializing=!0,this.isStartingFirstMessage=!0,this.threadApiService.createThread().subscribe({next:t=>{console.log("[MAIN-APP] Thread created:",t.thread.id),this.firstMessageState.setPendingFirstMessage(e),this.router.navigate(["project",this.projectName,"thread",t.thread.id])},error:t=>{console.error("[MAIN-APP] Failed to create thread:",t),this.isSessionInitializing=!1,this.isStartingFirstMessage=!1,alert("Failed to create conversation: "+(t.message||"Unknown error"))}})}onVoiceToggled(e){console.log("[VOICE] Recording in welcome view:",e)}onVoiceMessageReady(e){console.log("[MAIN-APP] Voice message ready from welcome view"),this.isSessionInitializing=!0,this.isStartingFirstMessage=!0,this.threadApiService.createThread().subscribe({next:t=>{console.log("[MAIN-APP] Thread created for voice message:",t.thread.id),this.firstMessageState.setPendingVoiceMessage(e),this.router.navigate(["project",this.projectName,"thread",t.thread.id])},error:t=>{console.error("[MAIN-APP] Failed to create thread for voice message:",t),this.isSessionInitializing=!1,this.isStartingFirstMessage=!1,alert("Failed to create conversation: "+(t.message||"Unknown error"))}})}isDrawerOpen=!1;onDrawerStateChange(e){this.isDrawerOpen=e}onChatFocusedOnMobile(){window.innerWidth<1024&&this.sidenav?.close()}onInputHeightChanged(e){console.log("[MAIN-APP] Input height changed:",e),this.inputSectionHeight=e}updateInputSectionHeight(){if(this.inputSection?.nativeElement){let e=this.inputSection.nativeElement.offsetHeight;e!==this.inputSectionHeight&&(console.log("[MAIN-APP] Input section height updated:",e),this.inputSectionHeight=e)}}setupPrintHandlers(){window.addEventListener("beforeprint",this.handleBeforePrint),window.addEventListener("afterprint",this.handleAfterPrint)}handleBeforePrint=()=>{console.log("[PRINT] Before print event triggered");let e=this.preferencesService.getPrintTechnicalMessages();console.log("[PRINT] Print technical messages:",e),e?document.body.classList.add("print-include-technical"):document.body.classList.remove("print-include-technical")};handleAfterPrint=()=>{console.log("[PRINT] After print event triggered"),document.body.classList.remove("print-include-technical")};static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["app-main"]],viewQuery:function(t,i){if(t&1&&W(Z,5)(E,5),t&2){let n;O(n=P())&&(i.inputSection=n.first),O(n=P())&&(i.sidenav=n.first)}},decls:4,vars:2,consts:[["inputSection",""],[3,"drawerOpen"],[1,"app",3,"mousedown","touchstart"],[3,"projectName","threadId"],[3,"chatFocused","drawerStateChange","projectName","threadId"],[1,"welcome-section"],[1,"input-section"],[1,"input-center"],[1,"input-glass"],[3,"messageSubmitted","voiceMessageReady","voiceRecordingToggled","heightChanged","textareaFocused","isDisabled","isSessionInitializing","showWelcome","isThinking","isStarting"]],template:function(t,i){t&1&&(h(0,"app-sidenav",1)(1,"div",2),y("mousedown",function(){return i.onChatFocusedOnMobile()})("touchstart",function(){return i.onChatFocusedOnMobile()}),V(2,ee,1,2,"app-thread",3)(3,te,7,5),g()()),t&2&&(w("drawerOpen",i.isDrawerOpen),m(2),j(i.threadId?2:3))},dependencies:[q,Q,T,E],styles:["[_nghost-%COMP%]{display:flex;height:100vh;width:100%;overflow:hidden;justify-content:center}.app[_ngcontent-%COMP%]{width:100%;max-width:100%;min-width:0;height:100%;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);transition:all .3s ease;position:relative;justify-content:center;overflow:hidden}.chat-wrapper[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:transparent;width:100%;padding:2.5rem 0 1.5rem;display:flex;justify-content:center}.chat-wrapper[_ngcontent-%COMP%] .chat-center[_ngcontent-%COMP%]{max-width:760px;width:100%;margin:0;padding:0 2rem}@media(max-width:768px){.chat-wrapper[_ngcontent-%COMP%] .chat-center[_ngcontent-%COMP%]{padding:0 1rem}}.welcome-section[_ngcontent-%COMP%]{flex-shrink:0;text-align:center;padding:2rem 1rem;animation:_ngcontent-%COMP%_fadeInUp .8s ease-out;display:flex;justify-content:center;align-items:center;width:100%;min-width:0;overflow:hidden}@keyframes _ngcontent-%COMP%_fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-section[_ngcontent-%COMP%]{flex-shrink:0;position:relative;border-top:none;background:transparent;box-shadow:none;padding:2.5rem 0 2rem;overflow-y:visible;max-height:none;width:100%;z-index:10;pointer-events:none;display:flex;justify-content:center}.input-center[_ngcontent-%COMP%]{max-width:760px;width:100%;margin:0;padding:0 2rem;display:flex;justify-content:center;align-items:end;position:relative;pointer-events:auto}@media(max-width:768px){.input-center[_ngcontent-%COMP%]{padding:0 1rem}}.input-glass[_ngcontent-%COMP%]{background:none;box-shadow:none;width:100%;min-height:64px;display:flex;align-items:stretch;gap:0;pointer-events:auto;position:relative;overflow:visible}.input-glass[_ngcontent-%COMP%] app-chat-textarea[_ngcontent-%COMP%]{width:100%;min-width:0;flex:1 1 auto;align-self:stretch;display:flex}body.dark[_nghost-%COMP%], body.dark [_nghost-%COMP%], [_ngcontent-%COMP%]:root[data-theme=dark] .input-glass[_ngcontent-%COMP%]{background:#24283073;border-color:#b4c8ff17;box-shadow:0 8px 32px #0000002b,0 1.5px 8px #00000012}.choice-overlay[_ngcontent-%COMP%]{z-index:10;width:100%;display:flex;justify-content:center;align-items:center}.upload-status[_ngcontent-%COMP%]{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;padding:12px 20px;background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);border-radius:16px;font-size:.9em;color:var(--color-text);box-shadow:var(--glass-shadow);max-width:300px;text-align:center}.upload-status.error[_ngcontent-%COMP%]{background:#ff3b3026;color:var(--color-error);border-color:#ff3b304d}@media(max-width:768px){.welcome-section[_ngcontent-%COMP%]{padding:1.5rem 1rem}.input-section[_ngcontent-%COMP%]{padding:1.5rem .75rem 1rem}.input-center[_ngcontent-%COMP%]{padding:0 .5rem}}@media print{[_nghost-%COMP%]{display:block!important;height:auto!important;overflow:visible!important}.app[_ngcontent-%COMP%]{height:auto!important;overflow:visible!important;display:block!important}.input-section[_ngcontent-%COMP%], .welcome-section[_ngcontent-%COMP%]{display:none!important}}"],data:{animation:[S("slideIn",[C(":enter",[u({transform:"translateY(100%)",opacity:0}),_("300ms ease-out",u({transform:"translateY(0)",opacity:1}))]),C(":leave",[_("200ms ease-in",u({transform:"translateY(100%)",opacity:0}))])])]}})};export{K as MainAppComponent};
|
|
1
|
+
import{a as E}from"./chunk-6HXHF2SN.js";import{c as S,d as _,f as u,g as C}from"./chunk-QVW2GZXC.js";import{a as q,b as U,c as Y,d as Q}from"./chunk-WG653S5D.js";import"./chunk-XDTTR6NK.js";import{g as I}from"./chunk-QMQRJWM2.js";import"./chunk-2NBVMKPO.js";import{a as L,w as b}from"./chunk-PK3KWLLW.js";import"./chunk-TXXZ4LMH.js";import"./chunk-4HKHCNH5.js";import{b as $,d as H}from"./chunk-UARV2YUR.js";import"./chunk-PMENB5UW.js";import"./chunk-VIPJVFGJ.js";import"./chunk-EL5IQEU5.js";import"./chunk-F32VEQPY.js";import"./chunk-7YDOHTEK.js";import"./chunk-WJFUKUVD.js";import"./chunk-QCGVGCBB.js";import"./chunk-2GHS5VUE.js";import"./chunk-DYANOPHQ.js";import"./chunk-N5UH5PRX.js";import"./chunk-NMGDBGR3.js";import"./chunk-4YLSQZJK.js";import{B as x,Bb as M,Db as y,Fb as s,Jb as W,Ka as m,Kb as O,Lb as P,N as A,T as p,Tb as G,Ub as z,Wa as v,Z as F,ca as a,d as k,ga as c,h as f,ha as d,lb as V,mb as j,rb as w,sb as h,tb as g,ub as R,vb as D,wb as B}from"./chunk-QPN22TF2.js";var T=class o{welcomeMessages=["Welcome to Coday","Bienvenue sur Coday","Bienvenido a Coday","Willkommen bei Coday","Benvenuto su Coday","Bem-vindo ao Coday","Welkom bij Coday","\u0414\u043E\u0431\u0440\u043E \u043F\u043E\u0436\u0430\u043B\u043E\u0432\u0430\u0442\u044C \u0432 Coday","Coday \u3078\u3088\u3046\u3053\u305D","\u6B22\u8FCE\u6765\u5230 Coday","Coday \uC5D0 \uC624\uC2E0 \uAC83\uC744 \uD658\uC601\uD569\uB2C8\uB2E4","\u0645\u0631\u062D\u0628\u064B\u0627 \u0628\u0643 \u0641\u064A Coday"];currentWelcomeIndex=0;currentWelcomeMessage=this.welcomeMessages[0];welcomeRotationInterval;ngOnInit(){this.startWelcomeRotation()}ngOnDestroy(){this.stopWelcomeRotation()}startWelcomeRotation(){this.welcomeRotationInterval=window.setInterval(()=>{this.currentWelcomeIndex=(this.currentWelcomeIndex+1)%this.welcomeMessages.length,this.currentWelcomeMessage=this.welcomeMessages[this.currentWelcomeIndex]},3e3)}stopWelcomeRotation(){this.welcomeRotationInterval&&(clearInterval(this.welcomeRotationInterval),this.welcomeRotationInterval=void 0)}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["app-welcome-message"]],decls:2,vars:1,consts:[[1,"welcome-title"]],template:function(t,i){t&1&&(D(0,"h1",0),G(1),B()),t&2&&(m(),z(i.currentWelcomeMessage))},styles:[".welcome-title[_ngcontent-%COMP%]{font-size:clamp(1.5rem,4vw,4rem);font-weight:700;background:linear-gradient(90deg,var(--color-primary, #3b82f6) 0%,var(--color-accent, #8b5cf6) 50%,var(--color-primary, #3b82f6) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:_ngcontent-%COMP%_gradientShift 3s ease-in-out infinite;margin:0;padding:0;line-height:1.2;transition:opacity .5s ease-in-out;display:block;min-height:1.2em;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes _ngcontent-%COMP%_gradientShift{0%{background-position:0% center}50%{background-position:100% center}to{background-position:0% center}}"]})};var N=class o{destroy$=new f;isSetup=!1;codayService=a(I);preferencesService=a(b);setup(){if(this.isSetup){console.warn("[AGENT-NOTIFICATION] Service already set up");return}console.log("[AGENT-NOTIFICATION] Setting up agent notification service"),this.codayService.isThinking$.pipe(p(this.destroy$),A(),x(([e,t])=>e===!0&&t===!1)).subscribe(()=>{console.log("[AGENT-NOTIFICATION] Agent stopped thinking, notifying task finished"),this.notifyTaskFinishedIfEnabled()}),this.preferencesService.browserNotificationEnabled$.pipe(p(this.destroy$),A(),x(([e,t])=>e===!1&&t===!0)).subscribe(()=>{console.log("[AGENT-NOTIFICATION] Browser notifications enabled, checking permission"),this.handleBrowserNotificationEnabled()}),this.isSetup=!0}notifyTaskFinishedIfEnabled(){this.preferencesService.getAgentNotificationEnabled()&&(this.preferencesService.getNotificationSoundEnabled()&&this.playCompletionSound(),this.preferencesService.getBrowserNotificationEnabled()&&this.sendBrowserNotification())}playCompletionSound(){try{let e=new(window.AudioContext||window.webkitAudioContext),t=e.createOscillator(),i=e.createGain();t.connect(i),i.connect(e.destination),t.frequency.setValueAtTime(700,e.currentTime),i.gain.setValueAtTime(.1,e.currentTime),i.gain.exponentialRampToValueAtTime(.01,e.currentTime+.08),t.start(e.currentTime),t.stop(e.currentTime+.08);let n=e.createOscillator(),r=e.createGain();n.connect(r),r.connect(e.destination);let l=e.currentTime+.11;n.frequency.setValueAtTime(950,l),r.gain.setValueAtTime(.1,l),r.gain.exponentialRampToValueAtTime(.01,l+.09),n.start(l),n.stop(l+.09),console.log("[AGENT-NOTIFICATION] Completion sound played")}catch(e){console.error("[AGENT-NOTIFICATION] Failed to play completion sound:",e)}}handleBrowserNotificationEnabled(){return k(this,null,function*(){if(!("Notification"in window)){console.warn("[AGENT-NOTIFICATION] Browser does not support notifications"),this.preferencesService.setBrowserNotificationEnabled(!1);return}if(Notification.permission==="denied"){console.warn("[AGENT-NOTIFICATION] Permission denied, disabling browser notifications"),this.preferencesService.setBrowserNotificationEnabled(!1);return}if(Notification.permission==="granted"){console.log("[AGENT-NOTIFICATION] Permission already granted, showing confirmation"),this.createConfirmationNotification();return}try{(yield Notification.requestPermission())==="granted"?(console.log("[AGENT-NOTIFICATION] Permission granted, showing confirmation"),this.createConfirmationNotification()):(console.log("[AGENT-NOTIFICATION] Permission denied or dismissed"),this.preferencesService.setBrowserNotificationEnabled(!1))}catch(e){console.error("[AGENT-NOTIFICATION] Error requesting permission:",e),this.preferencesService.setBrowserNotificationEnabled(!1)}})}sendBrowserNotification(){if(!("Notification"in window)){console.warn("[AGENT-NOTIFICATION] Browser does not support notifications");return}if(document.hasFocus()){console.warn("[AGENT-NOTIFICATION] Document is focused, skipping browser notification");return}Notification.permission==="granted"?this.createTaskCompleteNotification():console.warn("[AGENT-NOTIFICATION] Permission not granted, cannot send notification")}createConfirmationNotification(){let e=new Notification("Coday - Notifications Enabled",{body:"You will be notified when the agent completes tasks",icon:"/favicon.ico",tag:"coday-notifications-enabled",requireInteraction:!1});setTimeout(()=>e.close(),4e3),e.onclick=()=>{window.focus(),e.close()},console.log("[AGENT-NOTIFICATION] Confirmation notification sent")}createTaskCompleteNotification(){let e=new Notification("Coday - Task Complete",{body:"The agent has finished and is waiting for your input",icon:"/favicon.ico",tag:"coday-task-complete",requireInteraction:!1});setTimeout(()=>e.close(),5e3),e.onclick=()=>{window.focus(),e.close()},console.log("[AGENT-NOTIFICATION] Task complete notification sent")}ngOnDestroy(){console.log("[AGENT-NOTIFICATION] Service destroyed"),this.destroy$.next(),this.destroy$.complete()}static \u0275fac=function(t){return new(t||o)};static \u0275prov=F({token:o,factory:o.\u0275fac,providedIn:"root"})};var Z=["inputSection"];function ee(o,e){if(o&1){let t=M();h(0,"app-thread",4),y("chatFocused",function(){c(t);let n=s();return d(n.onChatFocusedOnMobile())})("drawerStateChange",function(n){c(t);let r=s();return d(r.onDrawerStateChange(n))}),g()}if(o&2){let t=s();w("projectName",t.projectName)("threadId",t.threadId)}}function te(o,e){if(o&1){let t=M();h(0,"div",5),R(1,"app-welcome-message"),g(),h(2,"div",6,0)(4,"div",7)(5,"div",8)(6,"app-chat-textarea",9),y("messageSubmitted",function(n){c(t);let r=s();return d(r.onMessageSubmitted(n))})("voiceMessageReady",function(n){c(t);let r=s();return d(r.onVoiceMessageReady(n))})("voiceRecordingToggled",function(n){c(t);let r=s();return d(r.onVoiceToggled(n))})("heightChanged",function(n){c(t);let r=s();return d(r.onInputHeightChanged(n))})("textareaFocused",function(){c(t);let n=s();return d(n.onChatFocusedOnMobile())}),g()()()()}if(o&2){let t=s();m(6),w("isDisabled",t.isSessionInitializing)("isSessionInitializing",t.isSessionInitializing)("showWelcome",!0)("isThinking",!1)("isStarting",t.isStartingFirstMessage)}}var K=class o{destroy$=new f;inputSection;sidenav;projectName="";threadId=null;isSessionInitializing=!1;isStartingFirstMessage=!1;inputSectionHeight=80;codayService=a(I);titleService=a(U);preferencesService=a(b);route=a($);router=a(H);threadApiService=a(L);agentNotificationService=a(N);firstMessageState=a(Y);constructor(){console.log("[MAIN-APP] Using new thread-based architecture (no clientId needed)")}ngOnInit(){this.agentNotificationService.setup(),this.setupPrintHandlers(),this.route.params.pipe(p(this.destroy$)).subscribe(e=>{let t=e.projectName,i=e.threadId||null;console.log("[MAIN-APP] Route params updated:",{project:t,thread:i,previousProject:this.projectName,previousThread:this.threadId}),this.projectName=t,this.threadId=i,this.threadId?console.log("[MAIN-APP] Thread selected - ThreadComponent will display"):(console.log("[MAIN-APP] No thread selected - showing welcome view"),this.initializeWelcomeView())})}initializeWelcomeView(){this.codayService.setTabTitleService(this.titleService)}ngAfterViewInit(){setTimeout(()=>this.updateInputSectionHeight(),100)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),window.removeEventListener("beforeprint",this.handleBeforePrint),window.removeEventListener("afterprint",this.handleAfterPrint)}onMessageSubmitted(e){console.log("[MAIN-APP] First message submitted from welcome view:",e),this.isSessionInitializing=!0,this.isStartingFirstMessage=!0,this.threadApiService.createThread().subscribe({next:t=>{console.log("[MAIN-APP] Thread created:",t.thread.id),this.firstMessageState.setPendingFirstMessage(e),this.router.navigate(["project",this.projectName,"thread",t.thread.id])},error:t=>{console.error("[MAIN-APP] Failed to create thread:",t),this.isSessionInitializing=!1,this.isStartingFirstMessage=!1,alert("Failed to create conversation: "+(t.message||"Unknown error"))}})}onVoiceToggled(e){console.log("[VOICE] Recording in welcome view:",e)}onVoiceMessageReady(e){console.log("[MAIN-APP] Voice message ready from welcome view"),this.isSessionInitializing=!0,this.isStartingFirstMessage=!0,this.threadApiService.createThread().subscribe({next:t=>{console.log("[MAIN-APP] Thread created for voice message:",t.thread.id),this.firstMessageState.setPendingVoiceMessage(e),this.router.navigate(["project",this.projectName,"thread",t.thread.id])},error:t=>{console.error("[MAIN-APP] Failed to create thread for voice message:",t),this.isSessionInitializing=!1,this.isStartingFirstMessage=!1,alert("Failed to create conversation: "+(t.message||"Unknown error"))}})}isDrawerOpen=!1;onDrawerStateChange(e){this.isDrawerOpen=e}onChatFocusedOnMobile(){window.innerWidth<1024&&this.sidenav?.close()}onInputHeightChanged(e){console.log("[MAIN-APP] Input height changed:",e),this.inputSectionHeight=e}updateInputSectionHeight(){if(this.inputSection?.nativeElement){let e=this.inputSection.nativeElement.offsetHeight;e!==this.inputSectionHeight&&(console.log("[MAIN-APP] Input section height updated:",e),this.inputSectionHeight=e)}}setupPrintHandlers(){window.addEventListener("beforeprint",this.handleBeforePrint),window.addEventListener("afterprint",this.handleAfterPrint)}handleBeforePrint=()=>{console.log("[PRINT] Before print event triggered");let e=this.preferencesService.getPrintTechnicalMessages();console.log("[PRINT] Print technical messages:",e),e?document.body.classList.add("print-include-technical"):document.body.classList.remove("print-include-technical")};handleAfterPrint=()=>{console.log("[PRINT] After print event triggered"),document.body.classList.remove("print-include-technical")};static \u0275fac=function(t){return new(t||o)};static \u0275cmp=v({type:o,selectors:[["app-main"]],viewQuery:function(t,i){if(t&1&&W(Z,5)(E,5),t&2){let n;O(n=P())&&(i.inputSection=n.first),O(n=P())&&(i.sidenav=n.first)}},decls:4,vars:2,consts:[["inputSection",""],[3,"drawerOpen"],[1,"app",3,"mousedown","touchstart"],[3,"projectName","threadId"],[3,"chatFocused","drawerStateChange","projectName","threadId"],[1,"welcome-section"],[1,"input-section"],[1,"input-center"],[1,"input-glass"],[3,"messageSubmitted","voiceMessageReady","voiceRecordingToggled","heightChanged","textareaFocused","isDisabled","isSessionInitializing","showWelcome","isThinking","isStarting"]],template:function(t,i){t&1&&(h(0,"app-sidenav",1)(1,"div",2),y("mousedown",function(){return i.onChatFocusedOnMobile()})("touchstart",function(){return i.onChatFocusedOnMobile()}),V(2,ee,1,2,"app-thread",3)(3,te,7,5),g()()),t&2&&(w("drawerOpen",i.isDrawerOpen),m(2),j(i.threadId?2:3))},dependencies:[q,Q,T,E],styles:["[_nghost-%COMP%]{display:flex;height:100vh;width:100%;overflow:hidden;justify-content:center}.app[_ngcontent-%COMP%]{width:100%;max-width:100%;min-width:0;height:100%;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);transition:all .3s ease;position:relative;justify-content:center;overflow:hidden}.chat-wrapper[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;background:transparent;width:100%;padding:2.5rem 0 1.5rem;display:flex;justify-content:center}.chat-wrapper[_ngcontent-%COMP%] .chat-center[_ngcontent-%COMP%]{max-width:760px;width:100%;margin:0;padding:0 2rem}@media(max-width:768px){.chat-wrapper[_ngcontent-%COMP%] .chat-center[_ngcontent-%COMP%]{padding:0 1rem}}.welcome-section[_ngcontent-%COMP%]{flex-shrink:0;text-align:center;padding:2rem 1rem;animation:_ngcontent-%COMP%_fadeInUp .8s ease-out;display:flex;justify-content:center;align-items:center;width:100%;min-width:0;overflow:hidden}@keyframes _ngcontent-%COMP%_fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.input-section[_ngcontent-%COMP%]{flex-shrink:0;position:relative;border-top:none;background:transparent;box-shadow:none;padding:2.5rem 0 2rem;overflow-y:visible;max-height:none;width:100%;z-index:10;pointer-events:none;display:flex;justify-content:center}.input-center[_ngcontent-%COMP%]{max-width:760px;width:100%;margin:0;padding:0 2rem;display:flex;justify-content:center;align-items:end;position:relative;pointer-events:auto}@media(max-width:768px){.input-center[_ngcontent-%COMP%]{padding:0 1rem}}.input-glass[_ngcontent-%COMP%]{background:none;box-shadow:none;width:100%;min-height:64px;display:flex;align-items:stretch;gap:0;pointer-events:auto;position:relative;overflow:visible}.input-glass[_ngcontent-%COMP%] app-chat-textarea[_ngcontent-%COMP%]{width:100%;min-width:0;flex:1 1 auto;align-self:stretch;display:flex}body.dark[_nghost-%COMP%], body.dark [_nghost-%COMP%], [_ngcontent-%COMP%]:root[data-theme=dark] .input-glass[_ngcontent-%COMP%]{background:#24283073;border-color:#b4c8ff17;box-shadow:0 8px 32px #0000002b,0 1.5px 8px #00000012}.choice-overlay[_ngcontent-%COMP%]{z-index:10;width:100%;display:flex;justify-content:center;align-items:center}.upload-status[_ngcontent-%COMP%]{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;padding:12px 20px;background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);border-radius:16px;font-size:.9em;color:var(--color-text);box-shadow:var(--glass-shadow);max-width:300px;text-align:center}.upload-status.error[_ngcontent-%COMP%]{background:#ff3b3026;color:var(--color-error);border-color:#ff3b304d}@media(max-width:768px){.welcome-section[_ngcontent-%COMP%]{padding:1.5rem 1rem}.input-section[_ngcontent-%COMP%]{padding:1.5rem .75rem 1rem}.input-center[_ngcontent-%COMP%]{padding:0 .5rem}}@media print{[_nghost-%COMP%]{display:block!important;height:auto!important;overflow:visible!important}.app[_ngcontent-%COMP%]{height:auto!important;overflow:visible!important;display:block!important}.input-section[_ngcontent-%COMP%], .welcome-section[_ngcontent-%COMP%]{display:none!important}}"],data:{animation:[S("slideIn",[C(":enter",[u({transform:"translateY(100%)",opacity:0}),_("300ms ease-out",u({transform:"translateY(0)",opacity:1}))]),C(":leave",[_("200ms ease-in",u({transform:"translateY(100%)",opacity:0}))])])]}})};export{K as MainAppComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as j}from"./chunk-UOGHINOM.js";import{a as q}from"./chunk-OAN35RIR.js";import"./chunk-L7OS7MWE.js";import{a as Y}from"./chunk-VKFTCAHS.js";import"./chunk-ZTTTDVEL.js";import{d as F}from"./chunk-UARV2YUR.js";import{a as h,c as B}from"./chunk-WJFUKUVD.js";import{D as A,c as G,g as z,h as N,i as $,l as y,n as K,t as L,u as R}from"./chunk-N5UH5PRX.js";import{Bb as x,Db as c,Dc as V,Fb as s,Ka as d,Rb as T,Tb as n,Ub as p,Vb as k,Wa as D,ca as C,ga as m,ha as u,jb as I,kb as E,lb as f,ma as U,mb as g,pb as P,qb as S,rb as w,sb as i,t as M,ta as v,tb as e,u as O,ub as b}from"./chunk-QPN22TF2.js";function J(r,o){r&1&&(i(0,"p",5),n(1,"Loading\u2026"),e())}function Q(r,o){if(r&1){let t=x();i(0,"form",8),c("ngSubmit",function(){m(t);let a=s(2);return u(a.save())}),i(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",13),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",13),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"label",14),n(19,"First name"),e(),b(20,"input",15),e(),i(21,"div",11)(22,"label",16),n(23,"Last name"),e(),b(24,"input",17),e(),i(25,"div",11)(26,"label",18),n(27,"Bio"),e(),b(28,"textarea",19),e()(),i(29,"div",20)(30,"button",21),n(31),e(),i(32,"button",22),c("click",function(){m(t);let a=s(2);return u(a.cancelEditing())}),n(33,"Cancel"),e()()()}if(r&2){let t=s(),l=s();w("formGroup",l.form),d(8),p(t.email),d(5),p(t.externalId),d(17),w("disabled",l.isSaving()),d(),k(" ",l.isSaving()?"Saving\u2026":"Save changes"," ")}}function W(r,o){r&1&&(i(0,"p",30),n(1," Aucune configuration globale. Cr\xE9e-en depuis les pages Integrations / AI Providers / AI Models de tes namespaces. "),e())}function X(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function Z(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function ee(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,X,6,0)(6,Z,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function te(r,o){if(r&1&&(i(0,"h3",31),n(1,"Integrations"),e(),i(2,"ul",32),P(3,ee,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().integrations)}}function ie(r,o){if(r&1){let t=x();i(0,"span",37),n(1,"Delete?"),e(),i(2,"button",38),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.confirmDelete(a))}),n(3," Confirm "),e(),i(4,"button",39),c("click",function(){m(t);let a=s(7);return u(a.cancelDelete())}),n(5," Cancel "),e()}}function ne(r,o){if(r&1){let t=x();i(0,"button",39),c("click",function(){m(t);let a=s().$implicit,_=s(6);return u(_.armDelete(a))}),n(1," Delete "),e()}}function oe(r,o){if(r&1&&(i(0,"li",33)(1,"span",34),n(2),e(),i(3,"span",35),n(4),e(),f(5,ie,6,0)(6,ne,2,0,"button",36),e()),r&2){let t=o.$implicit,l=s(6);d(2),p(t.name),d(2),p(t.subtitle),d(),g(l.isPendingDelete(t)?5:6)}}function re(r,o){if(r&1&&(i(0,"h3",31),n(1,"AI Providers"),e(),i(2,"ul",32),P(3,oe,7,3,"li",33,E().trackEntry,!0),e()),r&2){let t=s(5);d(3),S(t.recap().aiProviders)}}function le(r,o){if(r&1&&(f(0,te,5,0),f(1,re,5,0)),r&2){let t=s(4);g(t.recap().integrations.length>0?0:-1),d(),g(t.recap().aiProviders.length>0?1:-1)}}function ae(r,o){if(r&1&&f(0,W,2,0,"p",30)(1,le,2,2),r&2){let t=s(3);g(t.recap().total===0?0:1)}}function se(r,o){if(r&1){let t=x();i(0,"div",7)(1,"div",9)(2,"h2",10),n(3,"Identity"),e(),i(4,"div",11)(5,"span",12),n(6,"Email"),e(),i(7,"span",23),n(8),e()(),i(9,"div",11)(10,"span",12),n(11,"External ID"),e(),i(12,"span",23),n(13),e()()(),i(14,"div",9)(15,"h2",10),n(16,"Profile"),e(),i(17,"div",11)(18,"span",12),n(19,"First name"),e(),i(20,"span",23),n(21),e()(),i(22,"div",11)(23,"span",12),n(24,"Last name"),e(),i(25,"span",23),n(26),e()(),i(27,"div",24)(28,"span",12),n(29,"Bio"),e(),i(30,"span",23),n(31),e()()(),i(32,"div",20)(33,"button",25),c("click",function(){m(t);let a=s(2);return u(a.startEditing())}),n(34," Edit profile "),e()(),i(35,"div",26)(36,"button",27),c("click",function(){m(t);let a=s(2);return u(a.toggleOverrides())}),i(37,"span",28),n(38,"\u25B6"),e(),n(39," Mes configurations utilisateur globales "),i(40,"span",29),n(41),e()(),f(42,ae,2,1),e()()}if(r&2){let t=s(),l=s();d(8),p(t.email),d(5),p(t.externalId),d(8),p(t.firstname||"\u2014"),d(5),p(t.lastname||"\u2014"),d(5),p(t.bio||"\u2014"),d(5),I("aria-expanded",l.isOverridesExpanded()),d(),T("user-profile__overrides-arrow--open",l.isOverridesExpanded()),d(4),k("(",l.recap().total,")"),d(),g(l.isOverridesExpanded()?42:-1)}}function de(r,o){if(r&1&&f(0,Q,34,5,"form",6)(1,se,43,10,"div",7),r&2){let t=s();g(t.isEditing()?0:1)}}function _e(r,o){r&1&&(i(0,"p",5),n(1,"Unable to load profile."),e())}var H=class r{userState=C(Y);router=C(F);location=C(V);destroyRef=C(U);integrationState=C(j);providerState=C(q);isEditing=v(!1);isLoading=v(!1);isSaving=v(!1);isOverridesExpanded=v(!1);currentUser=this.userState.currentUser;form=new $({firstname:new y("",{nonNullable:!0}),lastname:new y("",{nonNullable:!0}),bio:new y("",{nonNullable:!0})});recap=B(O([this.integrationState.userGlobal$,this.providerState.userGlobal$]).pipe(M(([o,t])=>{let l=o.map(_=>({category:"integration",id:_.id??"",name:_.name,subtitle:_.integrationType})),a=t.map(_=>({category:"aiProvider",id:_.id??"",name:_.name,subtitle:_.apiType}));return{integrations:l,aiProviders:a,total:l.length+a.length}})),{initialValue:{integrations:[],aiProviders:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(!0),this.userState.loadMe().pipe(h(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(!1)},error:()=>this.isLoading.set(!1)})}startEditing(){this.syncFormFromState(),this.isEditing.set(!0)}cancelEditing(){this.isEditing.set(!1)}save(){this.isSaving()||(this.isSaving.set(!0),this.userState.updateMe({firstname:this.form.controls.firstname.value.trim()||void 0,lastname:this.form.controls.lastname.value.trim()||void 0,bio:this.form.controls.bio.value.trim()||void 0}).pipe(h(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(!1),this.isEditing.set(!1)},error:()=>this.isSaving.set(!1)}))}toggleOverrides(){this.isOverridesExpanded.update(o=>!o),this.pendingDeleteKey.set(null)}pendingDeleteKey=v(null);isPendingDelete(o){return this.pendingDeleteKey()===this.entryKey(o)}armDelete(o){o.id&&this.pendingDeleteKey.set(this.entryKey(o))}cancelDelete(){this.pendingDeleteKey.set(null)}confirmDelete(o){if(!o.id)return;this.pendingDeleteKey.set(null),(o.category==="integration"?this.integrationState.delete(o.id,"userGlobal"):this.providerState.delete(o.id,"userGlobal")).pipe(h(this.destroyRef)).subscribe({error:l=>{console.error(`[UserProfile] Delete failed for ${o.category}:${o.id}:`,l)}})}entryKey(o){return`${o.category}:${o.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"])}trackEntry(o,t){return this.entryKey(t)}syncFormFromState(){let o=this.currentUser();o&&this.form.setValue({firstname:o.firstname??"",lastname:o.lastname??"",bio:o.bio??""})}static \u0275fac=function(t){return new(t||r)};static \u0275cmp=D({type:r,selectors:[["agentos-user-profile"]],decls:11,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["type","button","title","Go back",1,"user-profile__back",3,"click"],[1,"user-profile__back-icon"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[1,"user-profile__value","user-profile__value--readonly"],["for","up-firstname",1,"user-profile__label"],["id","up-firstname","type","text","placeholder","Your first name","formControlName","firstname","autocomplete","given-name",1,"user-profile__input"],["for","up-lastname",1,"user-profile__label"],["id","up-lastname","type","text","placeholder","Your last name","formControlName","lastname","autocomplete","family-name",1,"user-profile__input"],["for","up-bio",1,"user-profile__label"],["id","up-bio","placeholder","A short description about yourself","formControlName","bio","rows","4",1,"user-profile__input","user-profile__input--textarea"],[1,"user-profile__actions"],["type","submit",1,"user-profile__btn","user-profile__btn--primary",3,"disabled"],["type","button",1,"user-profile__btn",3,"click"],[1,"user-profile__value"],[1,"user-profile__field","user-profile__field--bio"],["type","button",1,"user-profile__btn","user-profile__btn--primary",3,"click"],[1,"user-profile__overrides"],["type","button",1,"user-profile__overrides-toggle",3,"click"],[1,"user-profile__overrides-arrow"],[1,"user-profile__overrides-count"],[1,"user-profile__overrides-empty"],[1,"user-profile__overrides-subtitle"],[1,"user-profile__overrides-list"],[1,"user-profile__overrides-row"],[1,"user-profile__overrides-name"],[1,"user-profile__overrides-subtitle-text"],["type","button",1,"user-profile__overrides-delete"],[1,"user-profile__overrides-confirm-label"],["type","button",1,"user-profile__overrides-delete","user-profile__overrides-delete--confirm",3,"click"],["type","button",1,"user-profile__overrides-delete",3,"click"]],template:function(t,l){if(t&1&&(i(0,"div",0)(1,"header",1)(2,"button",2),c("click",function(){return l.goBack()}),i(3,"span",3),n(4,"\u2190"),e(),n(5," Back "),e(),i(6,"h1",4),n(7,"My profile"),e()(),f(8,J,2,0,"p",5)(9,de,2,1)(10,_e,2,0,"p",5),e()),t&2){let a;d(8),g(l.isLoading()?8:(a=l.currentUser())?9:10,a)}},dependencies:[A,K,G,z,N,R,L],styles:[".user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.user-profile__overrides-toggle[_ngcontent-%COMP%]{background:transparent;border:none;padding:.25rem 0;font-size:.85rem;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:.4rem}.user-profile__overrides-toggle[_ngcontent-%COMP%]:hover{color:var(--color-text)}.user-profile__overrides-arrow[_ngcontent-%COMP%]{display:inline-block;font-size:.65rem;transition:transform .15s ease}.user-profile__overrides-arrow--open[_ngcontent-%COMP%]{transform:rotate(90deg)}.user-profile__overrides-count[_ngcontent-%COMP%]{color:var(--color-text-tertiary)}.user-profile__overrides-empty[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary);font-style:italic;padding:.5rem 0 0;margin:0}.user-profile__overrides-subtitle[_ngcontent-%COMP%]{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin:.75rem 0 .25rem}.user-profile__overrides-list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.user-profile__overrides-row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;border-radius:6px}.user-profile__overrides-row[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.user-profile__overrides-name[_ngcontent-%COMP%]{flex:1;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile__overrides-subtitle-text[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary);font-family:monospace}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:none;font-size:.75rem;color:var(--color-error);cursor:pointer;padding:.2rem .4rem;border-radius:4px}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--color-error) 12%,transparent)}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.user-profile__back[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;cursor:pointer;font-size:.875rem;color:var(--color-primary, #007aff);font-family:inherit}.user-profile__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.user-profile__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.user-profile__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text, #1d1d1f);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.9rem;margin:0}.user-profile__view[_ngcontent-%COMP%], .user-profile__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem}.user-profile__section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.user-profile__section-title[_ngcontent-%COMP%]{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary, #6e6e73);border-bottom:1px solid var(--color-border-light, rgba(0, 0, 0, .06));padding-bottom:.5rem}.user-profile__field[_ngcontent-%COMP%]{display:grid;grid-template-columns:140px 1fr;align-items:baseline;gap:.75rem}.user-profile__field--bio[_ngcontent-%COMP%]{align-items:start}.user-profile__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #6e6e73);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text, #1d1d1f);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary, #6e6e73);font-size:.875rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-primary, #007aff)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-text-secondary, #6e6e73)}.user-profile__input--textarea[_ngcontent-%COMP%]{line-height:1.5;resize:vertical}.user-profile__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.user-profile__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:8px;border:1px solid var(--color-border, rgba(0, 0, 0, .1));background:transparent;color:var(--color-text, #1d1d1f);font-size:.9375rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-surface-hover, rgba(0, 0, 0, .04))}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);border-color:var(--color-primary, #007aff);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-primary-hover, #0051d5);border-color:var(--color-primary-hover, #0051d5)}"],changeDetection:0})};export{H as UserProfileComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as m}from"./chunk-
|
|
1
|
+
import{b as m}from"./chunk-XV6SOT4A.js";import{c as l}from"./chunk-UARV2YUR.js";import{Wa as a,sb as t,tb as i,ub as o}from"./chunk-QPN22TF2.js";var s=class n{static \u0275fac=function(e){return new(e||n)};static \u0275cmp=a({type:n,selectors:[["agentos-layout"]],decls:4,vars:0,consts:[[1,"layout"],[1,"layout__content"]],template:function(e,u){e&1&&(t(0,"div",0),o(1,"agentos-header"),t(2,"main",1),o(3,"router-outlet"),i()())},dependencies:[l,m],styles:[".layout[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-height:100vh}.layout__content[_ngcontent-%COMP%]{flex:1;overflow-y:auto}"]})};export{s as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as j}from"./chunk-AIC4U2MU.js";import{a as W}from"./chunk-OAN35RIR.js";import{a as U}from"./chunk-QIURQTGU.js";import"./chunk-L7OS7MWE.js";import"./chunk-VKFTCAHS.js";import"./chunk-ZTTTDVEL.js";import{b as K,d as G}from"./chunk-UARV2YUR.js";import{p as I,u as z,v as F}from"./chunk-F32VEQPY.js";import"./chunk-7YDOHTEK.js";import{a as C}from"./chunk-WJFUKUVD.js";import"./chunk-2GHS5VUE.js";import"./chunk-DYANOPHQ.js";import"./chunk-N5UH5PRX.js";import"./chunk-4YLSQZJK.js";import{Bb as f,Db as p,Fb as s,Hc as B,Ka as d,Pb as k,S as O,Tb as m,Ub as b,Vb as N,Wa as P,ab as E,ac as T,ca as u,dc as V,ec as L,ga as l,ha as c,hc as $,jb as q,kc as R,lb as v,m as M,ma as D,mb as g,nc as A,oc as x,rb as y,sb as r,t as S,ta as h,tb as a}from"./chunk-QPN22TF2.js";function Z(n,t){if(n&1&&(r(0,"span",6),m(1),a()),n&2){let e=s();d(),b(e.config().baseUrl)}}function ee(n,t){if(n&1){let e=f();r(0,"span",8),m(1,"Delete?"),a(),r(2,"ds-icon-button",9),p("action",function(){l(e);let o=s();return c(o.onDeleteConfirmed())}),a(),r(3,"ds-icon-button",10),p("action",function(){l(e);let o=s();return c(o.onDeleteCancelled())}),a()}}function te(n,t){if(n&1){let e=f();r(0,"ds-kebab-menu",13),p("itemSelected",function(o){l(e);let _=s(2);return c(_.onMenuAction(o))}),a()}if(n&2){let e=s(2);y("items",e.menuItems())}}function ie(n,t){if(n&1){let e=f();r(0,"ds-icon-button",11),p("action",function(){l(e);let o=s();return c(o.onDuplicate())}),a(),v(1,te,1,1,"ds-kebab-menu",12)}if(n&2){let e=s();d(),g(e.readOnly()?-1:1)}}var ne=Object.freeze({namespace:{label:"NS",ariaLabel:"Configuration partag\xE9e du namespace",variant:"neutral"},userOnNs:{label:"USER \xD7 NS",ariaLabel:"Configuration utilisateur sur ce namespace",variant:"info"},userGlobal:{label:"USER GLOBAL",ariaLabel:"Configuration utilisateur globale",variant:"warning"}}),w=class n{config=x.required();scope=x.required();readOnly=x(!1);editRequested=A();deleteRequested=A();duplicateRequested=A();pendingDelete=h(!1);badge=R(()=>ne[this.scope()]);menuItems=R(()=>[{key:"edit",label:"Edit provider",icon:"edit"},{key:"delete",label:"Delete provider",icon:"delete",variant:"danger"}]);onMenuAction(t){switch(t){case"edit":this.editRequested.emit(this.config());break;case"delete":this.pendingDelete.set(!0);break}}onDuplicate(){this.duplicateRequested.emit(this.config())}onDeleteConfirmed(){this.pendingDelete.set(!1),this.deleteRequested.emit(this.config())}onDeleteCancelled(){this.pendingDelete.set(!1)}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=P({type:n,selectors:[["agentos-ai-provider-item"]],inputs:{config:[1,"config"],scope:[1,"scope"],readOnly:[1,"readOnly"]},outputs:{editRequested:"editRequested",deleteRequested:"deleteRequested",duplicateRequested:"duplicateRequested"},decls:13,vars:7,consts:[["role","listitem",1,"ai-provider-item"],[1,"ai-provider-item__body"],[1,"ai-provider-item__heading"],[1,"ai-provider-item__name"],[1,"ai-provider-item__badge"],[1,"ai-provider-item__type"],[1,"ai-provider-item__url"],[1,"ai-provider-item__actions"],[1,"ai-provider-item__confirm-label"],["icon","check","variant","danger","title","Confirm deletion",3,"action"],["icon","close","title","Cancel deletion",3,"action"],["icon","content_copy","title","Duplicate this provider",3,"action"],[3,"items"],[3,"itemSelected","items"]],template:function(e,i){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),m(4),a(),r(5,"span",4),m(6),a()(),r(7,"span",5),m(8),a(),v(9,Z,2,1,"span",6),a(),r(10,"div",7),v(11,ee,4,0)(12,ie,2,1),a()()),e&2&&(d(4),b(i.config().name),d(),q("data-variant",i.badge().variant)("aria-label",i.badge().ariaLabel),d(),N(" ",i.badge().label," "),d(2),b(i.config().apiType),d(),g(i.config().baseUrl?9:-1),d(2),g(i.pendingDelete()?11:12))},dependencies:[F,I],styles:[".ai-provider-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--color-border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-backdrop-blur);backdrop-filter:var(--glass-backdrop-blur);transition:background .15s ease,border-color .15s ease}.ai-provider-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.ai-provider-item__body[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.ai-provider-item__heading[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;min-width:0}.ai-provider-item__name[_ngcontent-%COMP%]{font-size:.95rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ai-provider-item__badge[_ngcontent-%COMP%]{flex-shrink:0;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:.1rem .4rem;border-radius:4px;line-height:1.2}.ai-provider-item__badge[data-variant=neutral][_ngcontent-%COMP%]{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.ai-provider-item__badge[data-variant=info][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-info) 15%,transparent);color:var(--color-info)}.ai-provider-item__badge[data-variant=warning][_ngcontent-%COMP%]{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.ai-provider-item__type[_ngcontent-%COMP%]{font-size:.78rem;color:var(--color-text-secondary);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-item__url[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-provider-item__actions[_ngcontent-%COMP%]{flex-shrink:0;display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.ai-provider-item[_ngcontent-%COMP%]:hover .ai-provider-item__actions[_ngcontent-%COMP%], .ai-provider-item[_ngcontent-%COMP%]:focus-within .ai-provider-item__actions[_ngcontent-%COMP%]{opacity:1}.ai-provider-item__confirm-label[_ngcontent-%COMP%]{font-size:.8rem;font-weight:500;color:var(--color-error);margin-right:.25rem;white-space:nowrap}"],changeDetection:0})};var oe=()=>[];function re(n,t){if(n&1&&(r(0,"p",3),m(1),a()),n&2){let e=s().$implicit;d(),b(e.name)}}function ae(n,t){if(n&1){let e=f();r(0,"agentos-ai-provider-item",5),p("editRequested",function(){let o=l(e),_=s(2);return c(_.onEdit(o))})("deleteRequested",function(){let o=l(e),_=s(2);return c(_.onDelete(o))})("duplicateRequested",function(){let o=l(e),_=s(2);return c(_.onDuplicate(o))}),a()}if(n&2){let e=t,i=s(2);y("config",e.config)("scope",e.scope)("readOnly",e.scope==="namespace"&&!i.isAdmin())}}function se(n,t){if(n&1&&v(0,re,2,1,"p",3)(1,ae,1,3,"agentos-ai-provider-item",4),n&2){let e,i=t.$implicit,o=s();g(o.isEmptyPlaceholder(i.id)?0:(e=o.resolve(i.id))?1:-1,e)}}var X=Object.freeze({namespace:"AI Providers du namespace",userOnNs:"Mes overrides sur ce namespace",userGlobal:"Mes overrides globaux"}),Y="__empty__",H=class n{route=u(K);router=u(G);destroyRef=u(D);state=u(W);namespaceRole=u(U);namespaceId=this.route.snapshot.params.namespaceId;isAdmin=h(!1);listItems$=this.state.vm$.pipe(S(t=>this.toListItems(t)));resolved=new Map;ngOnInit(){this.route.paramMap.pipe(C(this.destroyRef)).subscribe(t=>{let e=t.get("namespaceId")??"";e&&e!==this.namespaceId&&(this.namespaceId=e),this.state.setNamespace(e)}),this.route.paramMap.pipe(S(t=>t.get("namespaceId")??""),O(t=>t?this.namespaceRole.isAdminOfNamespace$(t):M(!1)),C(this.destroyRef)).subscribe(t=>this.isAdmin.set(t)),this.state.vm$.pipe(C(this.destroyRef)).subscribe(t=>{let e=new Map;t.namespace.forEach(i=>{i.id&&e.set(this.itemKey("namespace",i.id),{config:i,scope:"namespace"})}),t.userOnNs.forEach(i=>{i.id&&e.set(this.itemKey("userOnNs",i.id),{config:i,scope:"userOnNs"})}),t.userGlobal.forEach(i=>{i.id&&e.set(this.itemKey("userGlobal",i.id),{config:i,scope:"userGlobal"})}),this.resolved=e})}isEmptyPlaceholder(t){return t.startsWith(Y)}resolve(t){return this.resolved.get(t)??null}itemKey(t,e){return`${t}:${e}`}goBack(){this.router.navigate(["/agentos","namespaces"])}openCreateForm(){this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:j(this.isAdmin())}})}onEdit(t){let e=t.config.id;e&&this.router.navigate(["/agentos",this.namespaceId,"ai-providers",e,"edit"],{queryParams:{scope:t.scope}})}onDelete(t){let e=t.config.id;e&&this.state.delete(e,t.scope).pipe(C(this.destroyRef)).subscribe({error:i=>{console.error(`[AiProvidersAllScopes] Delete failed for ${t.scope}:${e}:`,i)}})}onDuplicate(t){if(!t.config.id)return;let e=t.scope==="namespace"&&!this.isAdmin()?"userOnNs":t.scope;this.router.navigate(["/agentos",this.namespaceId,"ai-providers","new"],{queryParams:{scope:e,template:t.config.id,templateScope:t.scope}})}toListItems(t){let e=[];return e.push(...this.sectionItems("namespace",t.namespace)),e.push(...this.sectionItems("userOnNs",t.userOnNs)),e.push(...this.sectionItems("userGlobal",t.userGlobal)),e}sectionItems(t,e){return e.length===0?[{id:`${Y}${t}`,name:"Aucun AI Provider",groupKey:t,groupLabel:X[t]}]:e.filter(i=>!!i.id).map(i=>({id:this.itemKey(t,i.id),name:i.name,description:i.apiType,groupKey:t,groupLabel:X[t]}))}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=P({type:n,selectors:[["agentos-ai-providers-all-scopes"]],decls:5,vars:6,consts:[["aiProviderItemTpl",""],["title","AI Providers","emptyMessage","No AI providers available.","cardMinWidth","400px",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","icon","arrow_back","title","Back",3,"action"],[1,"ai-providers-all-scopes__empty"],[3,"config","scope","readOnly"],[3,"editRequested","deleteRequested","duplicateRequested","config","scope","readOnly"]],template:function(e,i){if(e&1&&(r(0,"ds-entity-list",1),V(1,"async"),p("createRequested",function(){return i.openCreateForm()}),r(2,"ds-icon-button",2),p("action",function(){return i.goBack()}),a()(),E(3,se,2,1,"ng-template",null,0,$)),e&2){let o=k(4);y("items",L(1,3,i.listItems$)??T(5,oe))("showCreate",!0)("itemTemplate",o)}},dependencies:[z,w,I,B],styles:[".ai-providers-all-scopes__empty[_ngcontent-%COMP%]{font-size:.85rem;color:var(--color-text-secondary);padding:.5rem .25rem;margin:0;font-style:italic}"],changeDetection:0})};export{H as AiProvidersAllScopesComponent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as Fe,b as Ke,c as Z}from"./chunk-IREZ3UJ3.js";import{a as He}from"./chunk-LHEQ6HXJ.js";import{d as Je}from"./chunk-
|
|
1
|
+
import{a as Fe,b as Ke,c as Z}from"./chunk-IREZ3UJ3.js";import{a as He}from"./chunk-LHEQ6HXJ.js";import{d as Je}from"./chunk-WG653S5D.js";import{a as Ue}from"./chunk-XDTTR6NK.js";import{a as q,b as $,c as Pe,d as je,f as Xe,h as Ze}from"./chunk-QMQRJWM2.js";import"./chunk-2NBVMKPO.js";import{a as ve,b as Ce,c as ke,e as Ie,l as Ae,o as Re,q as Ge,v as Ve,w as Qe}from"./chunk-PK3KWLLW.js";import"./chunk-TXXZ4LMH.js";import"./chunk-4HKHCNH5.js";import{d as ce,e as de}from"./chunk-UARV2YUR.js";import"./chunk-PMENB5UW.js";import{a as qe,b as $e,c as Be}from"./chunk-MKE7HI6X.js";import{a as ze,b as We}from"./chunk-TGT4RBUY.js";import"./chunk-3PF557D6.js";import"./chunk-VIPJVFGJ.js";import{c as Ye}from"./chunk-EL5IQEU5.js";import{a as Te,c as ye,d as Se,e as Me,j as Le}from"./chunk-F32VEQPY.js";import{a as xe,b as we,c as Oe,e as De,f as B,i as z,j as W,m as U,n as H}from"./chunk-7YDOHTEK.js";import{a as Ne,c as P}from"./chunk-WJFUKUVD.js";import{a as me,d as A,e as ge,f as ue,g as _e,h as he}from"./chunk-QCGVGCBB.js";import"./chunk-2GHS5VUE.js";import{a as F,b as L}from"./chunk-DYANOPHQ.js";import{C as Ee}from"./chunk-N5UH5PRX.js";import{a as be,b as V}from"./chunk-NMGDBGR3.js";import{O as fe,Q as R,S as G,n as pe}from"./chunk-4YLSQZJK.js";import{Bb as x,Db as u,Fb as p,Ja as K,Jb as oe,Ka as c,Kb as re,Lb as ae,Pb as S,Qb as se,Rb as y,Sc as le,Tb as l,Ub as b,Vb as j,Wa as N,Z as E,a as O,b as D,ca as h,ga as m,ha as g,jb as Y,kc as v,lb as C,ma as ie,mb as k,ob as I,pb as w,qb as T,rb as f,s as te,sb as o,t as ne,ta as _,tb as s,ub as M}from"./chunk-QPN22TF2.js";var lt=(r,t)=>t.name;function ct(r,t){if(r&1&&(o(0,"mat-option",11),l(1),s()),r&2){let e=t.$implicit;f("value",e),c(),b(e)}}function dt(r,t){r&1&&M(0,"mat-spinner",13)}function pt(r,t){if(r&1&&(o(0,"span",20),l(1),s()),r&2){let e=p().$implicit;c(),b(e.description)}}function mt(r,t){if(r&1&&(o(0,"mat-option",11)(1,"span",19),l(2),s(),C(3,pt,2,1,"span",20),s()),r&2){let e=t.$implicit;f("value",e.name),c(2),b(e.name),c(),k(e.description?3:-1)}}function gt(r,t){if(r&1&&(o(0,"mat-option",11),l(1),s()),r&2){let e=t.$implicit;f("value",e),c(),b(e)}}function ut(r,t){if(r&1){let e=x();o(0,"div",25)(1,"mat-form-field",8)(2,"mat-label"),l(3,"Name"),s(),o(4,"input",26),u("input",function(i){m(e);let a=p(2);return g(a.issueNumber.set(i.target.value))}),s()(),o(5,"mat-form-field",27)(6,"mat-label"),l(7,"Type"),s(),o(8,"mat-select",28),u("selectionChange",function(i){m(e);let a=p(2);return g(a.branchType.set(i.value))}),w(9,gt,2,2,"mat-option",11,I),s()()()}if(r&2){let e=p(2);c(4),f("value",e.issueNumber()),c(4),f("value",e.branchType()),c(),T(e.branchTypes)}}function _t(r,t){r&1&&M(0,"mat-spinner",13)}function ht(r,t){if(r&1&&(o(0,"mat-option",11),l(1),s()),r&2){let e=t.$implicit;f("value",e),c(),b(e)}}function ft(r,t){if(r&1){let e=x();o(0,"mat-form-field",8)(1,"mat-label"),l(2,"Source branch"),s(),o(3,"input",29,4),u("input",function(i){m(e);let a=p(2);return g(a.onBranchSearchInput(i.target.value))})("focus",function(){m(e);let i=S(4),a=p(2);return g(a.openPanel(i))}),s(),C(5,_t,1,0,"mat-spinner",13),o(6,"mat-autocomplete",10,5),u("optionSelected",function(i){m(e);let a=p(2);return g(a.selectBranch(i.option.value))}),w(8,ht,2,2,"mat-option",11,I),s()()}if(r&2){let e=S(7),n=p(2);c(3),f("value",n.branchSearch())("matAutocomplete",e)("disabled",n.isLoadingBranches()),c(2),k(n.isLoadingBranches()?5:-1),c(3),T(n.filteredBranches())}}function bt(r,t){if(r&1){let e=x();o(0,"div",21)(1,"button",22),u("click",function(){m(e);let i=p();return g(i.onModeChange("local"))}),o(2,"mat-icon"),l(3,"folder_open"),s(),o(4,"span",23),l(5,"Local"),s(),o(6,"span",24),l(7,"Work directly on the current branch"),s()(),o(8,"button",22),u("click",function(){m(e);let i=p();return g(i.onModeChange("worktree"))}),o(9,"mat-icon"),l(10,"account_tree"),s(),o(11,"span",23),l(12,"Worktree"),s(),o(13,"span",24),l(14,"Create an isolated worktree from a branch"),s()()(),C(15,ut,11,2,"div",25),C(16,ft,10,4,"mat-form-field",8)}if(r&2){let e=p();c(),y("active",e.mode()==="local"),c(7),y("active",e.mode()==="worktree"),c(7),k(e.isWorktree()?15:-1),c(),k(e.isWorktree()?16:-1)}}function vt(r,t){r&1&&M(0,"mat-spinner",18)}function Ct(r,t){r&1&&(o(0,"mat-icon"),l(1,"rocket_launch"),s())}function kt(r,t){r&1&&(o(0,"mat-icon"),l(1,"open_in_new"),s())}var Q=class r{projectApi=h(be);agentApi=h(Ue);dialogRef=h(me);projectState=h(V);forcedProject=P(this.projectState.forcedProject$,{initialValue:null});selectedProject=_("");projectSearch=_("");selectedAgent=_("");agentSearch=_("");mode=_("local");selectedBranch=_("");branchSearch=_("");issueNumber=_("");branchType=_("feature");task=_("");hasGit=_(!1);branchTypes=["feature","fix","refactor","chore","docs","build"];projects=_([]);agents=_([]);branches=_([]);filteredProjects=v(()=>{let t=this.projectSearch().toLowerCase();return t?this.projects().filter(e=>e.toLowerCase().includes(t)):this.projects()});filteredAgents=v(()=>{let t=this.agentSearch().toLowerCase();return t?this.agents().filter(e=>e.name.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)):this.agents()});filteredBranches=v(()=>{let t=this.branchSearch().toLowerCase();return t?this.branches().filter(e=>e.toLowerCase().includes(t)):this.branches()});isLoadingAgents=_(!1);isLoadingBranches=_(!1);isSubmitting=_(!1);isWorktree=v(()=>this.mode()==="worktree"&&this.hasGit());isValid=v(()=>{let t=this.projects().includes(this.selectedProject()),e=this.agents().some(i=>i.name===this.selectedAgent()),n=t&&e&&!!this.task().trim();return this.isWorktree()?n&&!!this.selectedBranch()&&!!this.issueNumber().trim()&&!!this.branchType():n});canNavigate=v(()=>this.projects().includes(this.selectedProject()));openPanel(t){t.openPanel()}onProjectSearchInput(t){this.projectSearch.set(t),this.selectedProject()&&t!==this.selectedProject()&&(this.selectedProject.set(""),this.selectedAgent.set(""),this.agentSearch.set(""),this.agents.set([]))}selectProject(t){this.selectedProject.set(t),this.projectSearch.set(t),this.selectedAgent.set(""),this.agentSearch.set(""),this.agents.set([]),this.branches.set([]),this.selectedBranch.set(""),this.branchSearch.set(""),this.hasGit.set(!1),this.mode.set("local"),this.isLoadingAgents.set(!0),this.agentApi.getAgents(t).subscribe({next:e=>{this.agents.set(e),this.isLoadingAgents.set(!1)},error:()=>{this.isLoadingAgents.set(!1)}}),this.projectApi.getGitBranches(t).subscribe({next:({branches:e})=>{this.hasGit.set(e.length>0)},error:()=>{this.hasGit.set(!1)}})}onAgentSearchInput(t){this.agentSearch.set(t),this.selectedAgent()&&t!==this.selectedAgent()&&this.selectedAgent.set("")}selectAgent(t){this.selectedAgent.set(t),this.agentSearch.set(t)}onBranchSearchInput(t){this.branchSearch.set(t),this.selectedBranch()&&t!==this.selectedBranch()&&this.selectedBranch.set("")}selectBranch(t){this.selectedBranch.set(t),this.branchSearch.set(t)}ngOnInit(){this.projectApi.listProjects().subscribe({next:({projects:t})=>{let e=t.map(n=>n.name);this.projects.set(e),e.length===1&&e[0]&&this.selectProject(e[0])}})}onProjectChange(t){this.selectProject(t)}onModeChange(t){this.mode.set(t),t==="worktree"&&this.selectedProject()&&this.branches().length===0&&this.loadBranches()}loadBranches(){this.isLoadingBranches.set(!0),this.projectApi.getGitBranches(this.selectedProject()).subscribe({next:({branches:t})=>{this.branches.set(t),this.isLoadingBranches.set(!1)},error:()=>{this.isLoadingBranches.set(!1)}})}submit(){if(!this.isSubmitting()){if(this.isValid()){this.isSubmitting.set(!0);let t=this.isWorktree()&&this.issueNumber().trim()?`${this.issueNumber().trim()} ${this.task().trim()}`:this.task().trim();this.projectApi.createTask(this.selectedProject(),this.selectedAgent(),t,this.isWorktree()?"worktree":"local",this.isWorktree()?this.selectedBranch():void 0,this.isWorktree()?this.issueNumber().trim():void 0,this.isWorktree()?this.branchType():void 0).subscribe({next:({threadId:e,projectId:n})=>{this.dialogRef.close({threadId:e,projectId:n})},error:()=>{this.isSubmitting.set(!1)}});return}if(this.canNavigate()){this.dialogRef.close({projectId:this.selectedProject(),navigate:!0});return}}}cancel(){this.dialogRef.close(null)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=N({type:r,selectors:[["app-new-task-dialog"]],decls:37,vars:12,consts:[["projectTrigger","matAutocompleteTrigger"],["projectAuto",""],["agentTrigger","matAutocompleteTrigger"],["agentAuto",""],["branchTrigger","matAutocompleteTrigger"],["branchAuto",""],["mat-dialog-title",""],[1,"ntd-content"],["appearance","outline",1,"ntd-field"],["matInput","","placeholder","Search project...",3,"input","focus","value","matAutocomplete"],[3,"optionSelected"],[3,"value"],["matInput","","placeholder","Search agent...",3,"input","focus","value","matAutocomplete","disabled"],["matSuffix","","diameter","16"],["matInput","","placeholder","Describe what the agent should accomplish...","rows","4",3,"input","value"],["align","end"],["mat-button","",3,"click","disabled"],["mat-flat-button","",1,"ntd-launch-btn",3,"click","disabled"],["diameter","16"],[1,"ntd-agent-name"],[1,"ntd-agent-desc"],[1,"ntd-radio-group"],["type","button",1,"ntd-mode-btn",3,"click"],[1,"ntd-radio-label"],[1,"ntd-radio-hint"],[1,"ntd-row"],["matInput","","type","text","placeholder","Name",3,"input","value"],["appearance","outline",1,"ntd-field","ntd-field--small"],[3,"selectionChange","value"],["matInput","","placeholder","Search branch...",3,"input","focus","value","matAutocomplete","disabled"]],template:function(e,n){if(e&1){let i=x();o(0,"h2",6)(1,"mat-icon"),l(2,"rocket_launch"),s(),l(3,` New Task
|
|
2
2
|
`),s(),o(4,"mat-dialog-content",7)(5,"mat-form-field",8)(6,"mat-label"),l(7,"Project"),s(),o(8,"input",9,0),u("input",function(d){return n.onProjectSearchInput(d.target.value)})("focus",function(){m(i);let d=S(9);return g(n.openPanel(d))}),s(),o(10,"mat-autocomplete",10,1),u("optionSelected",function(d){return n.selectProject(d.option.value)}),w(12,ct,2,2,"mat-option",11,I),s()(),o(14,"mat-form-field",8)(15,"mat-label"),l(16,"Agent"),s(),o(17,"input",12,2),u("input",function(d){return n.onAgentSearchInput(d.target.value)})("focus",function(){m(i);let d=S(18);return g(n.openPanel(d))}),s(),C(19,dt,1,0,"mat-spinner",13),o(20,"mat-autocomplete",10,3),u("optionSelected",function(d){return n.selectAgent(d.option.value)}),w(22,mt,4,3,"mat-option",11,lt),s()(),C(24,bt,17,6),o(25,"mat-form-field",8)(26,"mat-label"),l(27,"Task"),s(),o(28,"textarea",14),u("input",function(d){return n.task.set(d.target.value)}),s()()(),o(29,"mat-dialog-actions",15)(30,"button",16),u("click",function(){return n.cancel()}),l(31,"Cancel"),s(),o(32,"button",17),u("click",function(){return n.submit()}),C(33,vt,1,0,"mat-spinner",18)(34,Ct,2,0,"mat-icon")(35,kt,2,0,"mat-icon"),l(36),s()()}if(e&2){let i=S(11),a=S(21);c(8),f("value",n.projectSearch())("matAutocomplete",i),c(4),T(n.filteredProjects()),c(5),f("value",n.agentSearch())("matAutocomplete",a)("disabled",!n.selectedProject()||n.isLoadingAgents()),c(2),k(n.isLoadingAgents()?19:-1),c(3),T(n.filteredAgents()),c(2),k(n.hasGit()&&!n.forcedProject()?24:-1),c(4),f("value",n.task()),c(2),f("disabled",n.isSubmitting()),c(2),f("disabled",!n.canNavigate()||n.isSubmitting()),c(),k(n.isSubmitting()?33:n.isValid()?34:35),c(3),j(" ",n.isValid()?"Launch":"Open"," ")}},dependencies:[Ee,he,ge,_e,ue,G,R,W,z,Oe,B,H,U,Be,qe,Le,$e,We,ze,$,q,L,F],styles:["h2[mat-dialog-title][_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin-bottom:0}.ntd-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;padding-top:20px!important}.ntd-field[_ngcontent-%COMP%]{width:100%}.ntd-row[_ngcontent-%COMP%]{display:flex;gap:.75rem}.ntd-row[_ngcontent-%COMP%] .ntd-field--small[_ngcontent-%COMP%]{width:130px;flex-shrink:0}.ntd-radio-group[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding:.25rem 0 .75rem}.ntd-mode-btn[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem;border:1px solid var(--color-border);border-radius:8px;background:transparent;color:var(--color-text);cursor:pointer;transition:border-color .15s,background .15s}.ntd-mode-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.1rem;width:1.1rem;height:1.1rem;margin-bottom:.1rem}.ntd-mode-btn.active[_ngcontent-%COMP%]{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent)}.ntd-mode-btn[_ngcontent-%COMP%]:hover:not(.active){border-color:var(--color-text-secondary)}.ntd-radio-label[_ngcontent-%COMP%]{font-weight:600;font-size:.9rem}.ntd-radio-hint[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);line-height:1.3;text-align:left}.ntd-agent-name[_ngcontent-%COMP%]{font-weight:500;display:block}.ntd-agent-desc[_ngcontent-%COMP%]{font-size:.75rem;color:var(--color-text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:380px}.ntd-launch-btn[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse)}.ntd-launch-btn[_ngcontent-%COMP%]:disabled{background:var(--color-border);color:var(--color-text-secondary);opacity:.6;cursor:not-allowed}"]})};var X=class r{http=h(le);threadApi=h(ve);isLoading=_(!1);tasks=_([]);refresh(){this.isLoading.set(!0),this.threadApi.listAllThreads().pipe(te(15e3)).subscribe({next:t=>{let e=t.filter(n=>!n.parentThreadId).map(n=>({id:n.id,name:n.name,summary:n.summary,modifiedDate:n.modifiedDate,starring:n.starring??[],users:n.users??[],isActive:!1,status:this.deriveStatus(n),projectId:n.projectId,worktreeProject:n.worktreeProject}));this.tasks.set(this.sorted(e)),this.isLoading.set(!1)},error:()=>{this.isLoading.set(!1)}})}applyStatusEvent(t,e){let n=e==="invite"?"waiting-you":"in-progress";this.tasks.update(i=>this.sorted(i.map(a=>a.id===t?D(O({},a),{status:n}):a)))}closeTask(t,e){this.tasks.update(n=>n.filter(i=>i.id!==e)),this.http.delete(`/api/projects/${t}/missions/${e}`).subscribe({next:()=>this.refresh(),error:n=>{console.error("[GLOBAL-TC] Failed to close task:",n),this.refresh()}})}stopThread(t,e){this.http.post(`/api/projects/${t}/threads/${e}/stop`,{}).subscribe({error:n=>console.error("[GLOBAL-TC] Failed to stop thread:",n)})}deleteThread(t,e){this.tasks.update(n=>n.filter(i=>i.id!==e)),this.http.delete(`/api/projects/${t}/threads/${e}`).subscribe({next:()=>this.refresh(),error:n=>{console.error("[GLOBAL-TC] Failed to delete thread:",n),this.refresh()}})}toggleStar(t,e,n){let i=`/api/projects/${t}/threads/${e}/star`;(n?this.http.delete(i):this.http.post(i,{})).subscribe({next:()=>this.refresh(),error:d=>console.error("[GLOBAL-TC] Failed to toggle star:",d)})}markTaskDone(t,e){this.http.post(`/api/projects/${t}/threads/${e}/done`,{}).subscribe({next:()=>this.refresh(),error:n=>console.error("[GLOBAL-TC] Failed to mark task as done:",n)})}markTaskActive(t,e){this.http.delete(`/api/projects/${t}/threads/${e}/done`).subscribe({next:()=>this.refresh(),error:n=>console.error("[GLOBAL-TC] Failed to mark task as active:",n)})}deriveStatus(t){return t.closedByUser?"done":t.pendingInvite?"waiting-you":Date.now()-new Date(t.modifiedDate).getTime()<Ke?"in-progress":"paused"}sorted(t){return[...t].sort((e,n)=>{let i=Z[e.status]-Z[n.status];return i!==0?i:e.modifiedDate>n.modifiedDate?-1:1})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})};var J=class r{configApi=h(Ye);dialog=h(A);openUserConfigEditor(){this.configApi.getUserConfig().subscribe({next:t=>{this.dialog.open(Ze,{data:{configType:"user",initialContent:JSON.stringify(t,null,2)}}).afterClosed().subscribe(n=>{n&&this.configApi.updateUserConfig(n).subscribe({error:i=>console.error("[CONFIG-STATE] Error saving user config:",i)})})},error:t=>console.error("[CONFIG-STATE] Error loading user config:",t)})}static \u0275fac=function(e){return new(e||r)};static \u0275prov=E({token:r,factory:r.\u0275fac,providedIn:"root"})};var xt=["layoutContainer"],wt=(r,t)=>t.key,Tt=(r,t)=>t.name,yt=(r,t)=>t.status,tt=(r,t)=>t.id;function St(r,t){if(r&1){let e=x();o(0,"button",30),u("click",function(){m(e);let i=p();return g(i.clearSearch())}),o(1,"mat-icon"),l(2,"close"),s()()}}function Mt(r,t){if(r&1){let e=x();o(0,"button",31),u("click",function(){let i=m(e).$implicit,a=p(2);return g(a.setProject(i.name))}),l(1),o(2,"span",32),l(3),s()()}if(r&2){let e=t.$implicit,n=p(2);y("active",n.activeProject()===e.name),c(),j(" ",e.name," "),c(2),b(e.count)}}function Pt(r,t){if(r&1){let e=x();o(0,"nav",20)(1,"button",31),u("click",function(){m(e);let i=p();return g(i.setProject(null))}),l(2," All projects "),o(3,"span",32),l(4),s()(),w(5,Mt,4,4,"button",33,Tt),s()}if(r&2){let e=p();c(),y("active",e.activeProject()===null),c(3),b(e.allTasks().length),c(),T(e.projectSummaries())}}function jt(r,t){if(r&1&&(o(0,"span",35),l(1),s()),r&2){let e=p().$implicit,n=p();c(),b(n.filterCounts()[e.key])}}function Ot(r,t){if(r&1){let e=x();o(0,"button",34),u("click",function(){let i=m(e).$implicit,a=p();return g(a.setFilter(i.key))}),o(1,"mat-icon",24),l(2),s(),o(3,"span"),l(4),s(),C(5,jt,2,1,"span",35),s()}if(r&2){let e=t.$implicit,n=p();y("active",n.activeFilter()===e.key),Y("aria-selected",n.activeFilter()===e.key),c(2),b(e.icon),c(2),b(e.label),c(),k(n.filterCounts()[e.key]>0?5:-1)}}function Dt(r,t){r&1&&(o(0,"div",27),M(1,"mat-spinner",36),o(2,"p"),l(3,"Loading tasks from all projects\u2026"),s()())}function Et(r,t){r&1&&(o(0,"div",28)(1,"mat-icon",37),l(2,"hub"),s(),o(3,"p"),l(4,"No tasks found."),s()())}function Nt(r,t){if(r&1){let e=x();o(0,"app-task-card",43),u("stopRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onStopRequested(i,a.projectId))})("deleteRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onDeleteRequested(i,a.projectId))})("starToggled",function(i){let a=m(e).$implicit,d=p(3);return g(d.onStarToggled(i,a.projectId))})("closeTaskRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onCloseTaskRequested(i,a.projectId))})("markDoneRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onMarkDoneRequested(i,a.projectId))})("markActiveRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onMarkActiveRequested(i,a.projectId))})("previewRequested",function(i){let a=m(e).$implicit,d=p(3);return g(d.onPreviewRequested(i,a.projectId,a.name))}),s()}if(r&2){let e=t.$implicit,n=p(3);y("is-previewed",n.previewThreadId()===e.id),f("task",e)("projectNameOverride",e.projectId)("showProject",!0)("previewMode",n.previewActive())}}function It(r,t){if(r&1&&(o(0,"section",38)(1,"h3",39)(2,"mat-icon",40),l(3),s(),l(4),o(5,"span",41),l(6),s()(),o(7,"div",29),w(8,Nt,1,6,"app-task-card",42,tt),s()()),r&2){let e=t.$implicit;c(3),b(e.icon),c(),j(" ",e.label," "),c(2),b(e.tasks.length),c(2),T(e.tasks)}}function At(r,t){if(r&1&&w(0,It,10,3,"section",38,yt),r&2){let e=p();T(e.taskGroups())}}function Rt(r,t){if(r&1){let e=x();o(0,"app-task-card",43),u("stopRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onStopRequested(i,a.projectId))})("deleteRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onDeleteRequested(i,a.projectId))})("starToggled",function(i){let a=m(e).$implicit,d=p(2);return g(d.onStarToggled(i,a.projectId))})("closeTaskRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onCloseTaskRequested(i,a.projectId))})("markDoneRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onMarkDoneRequested(i,a.projectId))})("markActiveRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onMarkActiveRequested(i,a.projectId))})("previewRequested",function(i){let a=m(e).$implicit,d=p(2);return g(d.onPreviewRequested(i,a.projectId,a.name))}),s()}if(r&2){let e=t.$implicit,n=p(2);y("is-previewed",n.previewThreadId()===e.id),f("task",e)("projectNameOverride",e.projectId)("showProject",!0)("previewMode",n.previewActive())}}function Gt(r,t){if(r&1&&(o(0,"div",29),w(1,Rt,1,6,"app-task-card",42,tt),s()),r&2){let e=p();c(),T(e.displayedTasks())}}function Vt(r,t){if(r&1){let e=x();o(0,"div",44),u("mousedown",function(i){m(e);let a=p();return g(a.onResizerMousedown(i))}),s(),o(1,"div",45)(2,"header",46)(3,"span",47),l(4),s(),o(5,"div",48)(6,"button",49),u("click",function(){m(e);let i=p();return g(i.navigateToThread())}),o(7,"mat-icon"),l(8,"open_in_new"),s()(),o(9,"button",50),u("click",function(){m(e);let i=p();return g(i.closePreview())}),o(10,"mat-icon"),l(11,"close"),s()()()(),o(12,"div",51),M(13,"app-thread",52),s()()}if(r&2){let e=p();c(),se("width",e.previewPanelWidthPercent(),"%"),c(3),b(e.previewTaskName()||"Task"),c(9),f("projectName",e.previewProjectId())("threadId",e.previewThreadId())}}var Ft=20,Lt=70,qt=[{status:"waiting-you",label:"Waiting for you",icon:"mark_unread_chat_alt"},{status:"in-progress",label:"In progress",icon:"pending"},{status:"paused",label:"Paused",icon:"pause_circle"},{status:"error",label:"Error",icon:"error"},{status:"done",label:"Done",icon:"check_circle"}],$t=[{key:"all",label:"All",icon:"grid_view"},{key:"waiting-you",label:"Waiting for you",icon:"mark_unread_chat_alt"},{key:"in-progress",label:"In progress",icon:"pending"},{key:"paused",label:"Paused",icon:"pause_circle"},{key:"done",label:"Done",icon:"check_circle"}],et=class r{globalTaskService=h(X);destroyRef=h(ie);dialog=h(A);router=h(ce);configState=h(J);userService=h(ke);preferences=h(Qe);projectState=h(V);threadState=h(Ce);breakpointObserver=h(pe);username=P(this.userService.username$,{initialValue:null});isDesktop=P(this.breakpointObserver.observe("(min-width: 1280px)").pipe(ne(t=>t.matches)),{initialValue:!1});previewEnabled=P(this.preferences.missionPreviewEnabled$,{initialValue:!1});previewActive=v(()=>this.previewEnabled()&&this.isDesktop());previewThreadId=_(null);previewProjectId=_(null);previewTaskName=_(null);previewPanelWidthPercent=_(this.preferences.getMissionPreviewPanelWidth());isDraggingResizer=!1;dragStartX=0;dragStartWidth=0;containerWidth=0;layoutContainerRef;globalEventSource=null;filters=$t;activeFilter=_("all");starredOnly=_(!1);activeProject=_(null);searchQuery=_("");isLoading=this.globalTaskService.isLoading;allTasks=this.globalTaskService.tasks;projectSummaries=v(()=>{let t=this.allTasks(),e=new Map;for(let n of t)e.set(n.projectId,(e.get(n.projectId)??0)+1);return[...e.entries()].map(([n,i])=>({name:n,count:i})).sort((n,i)=>n.name.localeCompare(i.name))});filteredTasks=v(()=>{let t=this.allTasks(),e=this.activeProject();e&&(t=t.filter(a=>a.projectId===e));let n=this.username();this.starredOnly()&&n&&(t=t.filter(a=>a.starring.includes(n)));let i=this.activeFilter();return i!=="all"&&(t=t.filter(a=>a.status===i)),t});filterCounts=v(()=>{let t=this.allTasks(),e=this.activeProject();e&&(t=t.filter(i=>i.projectId===e));let n=this.username();return this.starredOnly()&&n&&(t=t.filter(i=>i.starring.includes(n))),{all:t.length,"waiting-you":t.filter(i=>i.status==="waiting-you").length,"in-progress":t.filter(i=>i.status==="in-progress").length,done:t.filter(i=>i.status==="done").length,paused:t.filter(i=>i.status==="paused").length,error:t.filter(i=>i.status==="error").length}});displayedTasks=v(()=>{let t=this.searchQuery().toLowerCase().trim(),e=this.sortedFilteredTasks();return t?e.filter(n=>(n.name||"").toLowerCase().includes(t)||(n.summary||"").toLowerCase().includes(t)):e});taskGroups=v(()=>{let t=this.displayedTasks();return qt.map(e=>D(O({},e),{tasks:t.filter(n=>n.status===e.status)})).filter(e=>e.tasks.length>0)});sortedFilteredTasks=v(()=>{let t=this.filteredTasks(),e={"waiting-you":0,"in-progress":1,paused:2,error:3,done:4};return[...t].sort((n,i)=>(e[n.status]??99)-(e[i.status]??99))});constructor(){this.destroyRef.onDestroy(()=>this.disconnectGlobalSse())}ngOnInit(){this.globalTaskService.refresh(),this.connectGlobalSse(),this.userService.fetchCurrentUser().pipe(Ne(this.destroyRef)).subscribe({error:t=>console.warn("[GTC] Could not fetch user:",t)})}setFilter(t){this.activeFilter.set(t)}toggleStarredFilter(){this.starredOnly.update(t=>!t)}setProject(t){this.activeProject.set(t),this.activeFilter.set("all")}onSearchInput(t){this.searchQuery.set(t.target.value)}clearSearch(){this.searchQuery.set("")}refresh(){this.globalTaskService.refresh()}openPreferences(){this.dialog.open(Xe,{width:"400px"})}openTokenUsage(){this.router.navigate(["/token-usage"])}openUserConfig(){this.configState.openUserConfigEditor()}openNewTaskDialog(){this.dialog.open(Q,{width:"500px",disableClose:!1}).afterClosed().subscribe(e=>{e&&(e.navigate?this.router.navigate(["project",e.projectId]):(setTimeout(()=>this.globalTaskService.refresh(),300),setTimeout(()=>this.globalTaskService.refresh(),1500)))})}onStopRequested(t,e){this.globalTaskService.stopThread(e,t)}onDeleteRequested(t,e){this.globalTaskService.deleteThread(e,t)}onStarToggled(t,e){let n=this.allTasks().find(d=>d.id===t);if(!n)return;let i=this.username(),a=!!i&&n.starring.includes(i);this.globalTaskService.toggleStar(e,t,a)}onCloseTaskRequested(t,e){let i=this.allTasks().find(d=>d.id===t)?.worktreeProject??e;this.dialog.open(He,{width:"420px",data:{title:"Close task",message:`This will stop the agent, delete the thread and remove the worktree project "${i}" from disk. This cannot be undone.`,confirmLabel:"Close task",cancelLabel:"Cancel"}}).afterClosed().subscribe(d=>{d&&this.globalTaskService.closeTask(e,t)})}onMarkDoneRequested(t,e){this.globalTaskService.markTaskDone(e,t)}onMarkActiveRequested(t,e){this.globalTaskService.markTaskActive(e,t)}onPreviewRequested(t,e,n){this.previewThreadId()===t?(this.previewThreadId.set(null),this.previewProjectId.set(null),this.previewTaskName.set(null)):(this.projectState.selectProject(e),this.threadState.selectThread(t),this.previewProjectId.set(e),this.previewThreadId.set(t),this.previewTaskName.set(n))}closePreview(){this.previewThreadId.set(null),this.previewProjectId.set(null),this.previewTaskName.set(null)}navigateToThread(){let t=this.previewThreadId(),e=this.previewProjectId();!t||!e||this.router.navigate(["project",e,"thread",t])}onResizerMousedown(t){t.preventDefault(),this.isDraggingResizer=!0,this.dragStartX=t.clientX,this.dragStartWidth=this.previewPanelWidthPercent(),this.containerWidth=this.layoutContainerRef?.nativeElement.offsetWidth??window.innerWidth}onDocumentMousemove(t){if(!this.isDraggingResizer)return;let n=(this.dragStartX-t.clientX)/this.containerWidth*100,i=Math.min(Lt,Math.max(Ft,this.dragStartWidth+n));this.previewPanelWidthPercent.set(i)}onDocumentMouseup(){this.isDraggingResizer&&(this.isDraggingResizer=!1,this.preferences.setMissionPreviewPanelWidth(this.previewPanelWidthPercent()))}connectGlobalSse(t=5e3){this.disconnectGlobalSse();let e=new EventSource("/api/event-stream");this.globalEventSource=e,e.onmessage=n=>{try{let i=JSON.parse(n.data),a=Ve(i);if(!a)return;let d=a.threadId;if(!d)return;a instanceof Ie||a instanceof Ae?this.globalTaskService.applyStatusEvent(d,"invite"):a instanceof Re?this.globalTaskService.applyStatusEvent(d,"thinking"):a instanceof Ge&&this.globalTaskService.refresh()}catch(i){}},e.onerror=()=>{e.readyState===EventSource.CLOSED&&(this.globalEventSource=null,setTimeout(()=>{this.globalEventSource||this.connectGlobalSse(Math.min(t*2,6e4))},t))}}disconnectGlobalSse(){this.globalEventSource&&(this.globalEventSource.close(),this.globalEventSource=null)}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=N({type:r,selectors:[["app-global-task-control"]],viewQuery:function(e,n){if(e&1&&oe(xt,5),e&2){let i;re(i=ae())&&(n.layoutContainerRef=i.first)}},hostBindings:function(e,n){e&1&&u("mousemove",function(a){return n.onDocumentMousemove(a)},K)("mouseup",function(){return n.onDocumentMouseup()},K)},decls:70,vars:10,consts:[["layoutContainer",""],["controlCenterMenu","matMenu"],[1,"gtc"],[1,"gtc-toolbar"],[1,"gtc-toolbar-left"],[1,"gtc-logo-icon"],[1,"gtc-title"],["appearance","fill","subscriptSizing","dynamic",1,"gtc-search"],["matPrefix",""],["matInput","","type","search","placeholder","Filter tasks\u2026","autocomplete","off",3,"input","keydown.escape","value"],["matSuffix","","mat-icon-button","","aria-label","Clear"],[1,"gtc-toolbar-actions"],["mat-icon-button","","matTooltip","Control Center","aria-label","Control Center",3,"matMenuTriggerFor"],["mat-menu-item","",3,"click"],["mat-menu-item","","href","https://github.com/whoz-oss/coday","target","_blank","rel","noopener noreferrer"],["mat-icon-button","","matTooltip","Refresh all tasks","aria-label","Refresh tasks",3,"click","disabled"],["mat-stroked-button","","routerLink","/projects","aria-label","Manage projects","matTooltip","Manage projects"],[1,"btn-label"],["mat-flat-button","","aria-label","New task","matTooltip","New Task",1,"gtc-new-btn",3,"click"],[1,"gtc-filter-bar"],["aria-label","Filter by project",1,"gtc-project-filters"],["role","tablist","aria-label","Filter by status",1,"gtc-filters"],["role","tab",1,"filter-chip",3,"active"],["role","switch","aria-label","Show starred tasks only",1,"filter-chip","starred-filter",3,"click"],[1,"filter-icon"],[1,"gtc-body"],[1,"gtc-content"],[1,"gtc-loading"],[1,"gtc-empty"],[1,"gtc-grid"],["matSuffix","","mat-icon-button","","aria-label","Clear",3,"click"],[1,"project-chip",3,"click"],[1,"chip-count"],[1,"project-chip",3,"active"],["role","tab",1,"filter-chip",3,"click"],[1,"filter-badge"],["diameter","36"],[1,"empty-icon"],[1,"gtc-group"],[1,"gtc-group-title"],[1,"group-icon"],[1,"group-count"],[3,"task","projectNameOverride","showProject","previewMode","is-previewed"],[3,"stopRequested","deleteRequested","starToggled","closeTaskRequested","markDoneRequested","markActiveRequested","previewRequested","task","projectNameOverride","showProject","previewMode"],["matTooltip","Drag to resize","aria-hidden","true",1,"gtc-resizer",3,"mousedown"],[1,"gtc-preview-pane"],[1,"gtc-preview-header"],[1,"gtc-preview-title"],[1,"gtc-preview-actions"],["matTooltip","Open full view","aria-label","Open thread in full view","type","button",1,"preview-action-btn",3,"click"],["matTooltip","Close panel","aria-label","Close preview panel","type","button",1,"preview-action-btn",3,"click"],[1,"gtc-preview-body","thread-preview-host"],[3,"projectName","threadId"]],template:function(e,n){if(e&1&&(o(0,"div",2,0)(2,"header",3)(3,"div",4)(4,"mat-icon",5),l(5,"hub"),s(),o(6,"h1",6),l(7,"Global Task Control"),s()(),o(8,"mat-form-field",7)(9,"mat-icon",8),l(10,"search"),s(),o(11,"input",9),u("input",function(a){return n.onSearchInput(a)})("keydown.escape",function(){return n.clearSearch()}),s(),C(12,St,3,0,"button",10),s(),o(13,"div",11)(14,"button",12)(15,"mat-icon"),l(16,"hub"),s()(),o(17,"mat-menu",null,1)(19,"button",13),u("click",function(){return n.openPreferences()}),o(20,"mat-icon"),l(21,"tune"),s(),o(22,"span"),l(23,"Preferences"),s()(),o(24,"button",13),u("click",function(){return n.openTokenUsage()}),o(25,"mat-icon"),l(26,"data_usage"),s(),o(27,"span"),l(28,"Token Usage"),s()(),o(29,"button",13),u("click",function(){return n.openUserConfig()}),o(30,"mat-icon"),l(31,"manage_accounts"),s(),o(32,"span"),l(33,"User Configuration"),s()(),M(34,"mat-divider"),o(35,"a",14)(36,"mat-icon"),l(37,"code"),s(),o(38,"span"),l(39,"Contribute on GitHub"),s()()(),o(40,"button",15),u("click",function(){return n.refresh()}),o(41,"mat-icon"),l(42,"refresh"),s()(),o(43,"button",16)(44,"mat-icon"),l(45,"settings"),s(),o(46,"span",17),l(47,"Manage projects"),s()(),o(48,"button",18),u("click",function(){return n.openNewTaskDialog()}),o(49,"mat-icon"),l(50,"rocket_launch"),s(),o(51,"span",17),l(52,"New Task"),s()()()(),o(53,"div",19),C(54,Pt,7,3,"nav",20),o(55,"nav",21),w(56,Ot,6,6,"button",22,wt),o(58,"button",23),u("click",function(){return n.toggleStarredFilter()}),o(59,"mat-icon",24),l(60,"star"),s(),o(61,"span"),l(62,"Starred"),s()()()(),o(63,"div",25)(64,"main",26),C(65,Dt,4,0,"div",27)(66,Et,5,0,"div",28)(67,At,2,0)(68,Gt,3,0,"div",29),s(),C(69,Vt,14,5),s()()),e&2){let i=S(18);c(11),f("value",n.searchQuery()),c(),k(n.searchQuery()?12:-1),c(2),f("matMenuTriggerFor",i),c(26),f("disabled",n.isLoading()),c(14),k(n.projectSummaries().length>1?54:-1),c(2),T(n.filters),c(2),y("active",n.starredOnly()),Y("aria-checked",n.starredOnly()),c(7),k(n.isLoading()?65:n.displayedTasks().length===0?66:n.activeFilter()==="all"&&!n.searchQuery()?67:68),c(4),k(n.previewActive()&&n.previewThreadId()&&n.previewProjectId()?69:-1)}},dependencies:[Fe,Je,L,F,G,R,fe,we,xe,$,q,Me,ye,Te,Se,je,Pe,W,z,De,B,H,U,de],styles:[".glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block;width:100%;height:100%;overflow:hidden}.gtc[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.gtc-toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;height:56px;flex-shrink:0;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .1));box-sizing:border-box}.gtc-toolbar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.gtc-logo-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem;color:var(--color-primary)}.gtc-title[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap}.gtc-search[_ngcontent-%COMP%]{margin-left:auto;flex:0 1 240px;min-width:80px;--mat-form-field-container-height: 36px;--mat-form-field-container-vertical-padding: 6px;font-size:.875rem;--mdc-filled-text-field-container-color: transparent;--mdc-filled-text-field-hover-container-color: transparent;--mdc-filled-text-field-focus-container-color: transparent;--mdc-filled-text-field-active-indicator-color: transparent;--mdc-filled-text-field-hover-active-indicator-color: transparent;--mdc-filled-text-field-focus-active-indicator-color: transparent;--mdc-filled-text-field-active-indicator-height: 0}.gtc-toolbar-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.gtc-new-btn[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-radius:12px;font-weight:600;height:36px;padding:0 1rem}.gtc-new-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.1rem;width:1.1rem;height:1.1rem}@media(max-width:600px){.gtc-toolbar[_ngcontent-%COMP%]{flex-wrap:wrap;height:auto;min-height:48px;padding:.5rem .75rem;gap:.375rem}.gtc-title[_ngcontent-%COMP%]{font-size:.875rem}.gtc-search[_ngcontent-%COMP%]{order:3;flex:1 1 100%;min-width:0;margin-left:0}.gtc-toolbar-actions[_ngcontent-%COMP%]{margin-left:auto}.btn-label[_ngcontent-%COMP%]{display:none}.gtc-toolbar-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(mat-icon-button):not([mat-icon-button]){--mdc-text-button-container-height: 36px;--mdc-filled-button-container-height: 36px;--mdc-outlined-button-container-height: 36px;min-width:36px;width:36px;height:36px;padding:0;border-radius:50%!important}.gtc-toolbar-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(mat-icon-button):not([mat-icon-button]) .mat-mdc-button-touch-target[_ngcontent-%COMP%]{width:36px;height:36px}.gtc-toolbar-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(mat-icon-button):not([mat-icon-button]) mat-icon[_ngcontent-%COMP%]{margin:0!important}}.gtc-filter-bar[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem;padding:.5rem .75rem;flex-shrink:0;border-bottom:1px solid var(--color-border, rgba(0, 0, 0, .08))}.gtc-project-filters[_ngcontent-%COMP%]{display:flex;gap:.375rem;flex-wrap:wrap}.project-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .65rem;border-radius:100px;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);background:transparent;border:1px solid var(--color-border);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.project-chip[_ngcontent-%COMP%] .chip-count[_ngcontent-%COMP%]{background:var(--color-bg-hover);border-radius:100px;padding:0 .3rem;font-size:.68rem;font-weight:700;min-width:16px;text-align:center;line-height:16px}.project-chip.active[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.project-chip.active[_ngcontent-%COMP%] .chip-count[_ngcontent-%COMP%]{background:#ffffff40;color:var(--color-text-inverse)}.project-chip[_ngcontent-%COMP%]:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.gtc-filters[_ngcontent-%COMP%]{display:flex;gap:.375rem;flex-wrap:wrap}.filter-chip[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);display:flex;align-items:center;gap:.375rem;padding:.3rem .75rem;border-radius:100px;font-size:.8rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border:1px solid var(--color-border);transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.filter-chip[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{font-size:.9rem;width:.9rem;height:.9rem}.filter-chip[_ngcontent-%COMP%] .filter-badge[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-radius:100px;padding:0 .375rem;font-size:.7rem;font-weight:700;min-width:18px;text-align:center;line-height:18px}.filter-chip.active[_ngcontent-%COMP%]{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.filter-chip.active[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{color:var(--color-text-inverse)}.filter-chip.active[_ngcontent-%COMP%] .filter-badge[_ngcontent-%COMP%]{background:#ffffff40;color:var(--color-text-inverse)}.filter-chip[_ngcontent-%COMP%]:hover:not(.active){background:var(--color-bg-hover);color:var(--color-text)}.starred-filter.active[_ngcontent-%COMP%]{background:#f5a62326;border-color:#f5a623;color:#f5a623}.starred-filter.active[_ngcontent-%COMP%] .filter-icon[_ngcontent-%COMP%]{color:#f5a623}.gtc-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0}.gtc-content[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:1rem 1rem 2rem;min-width:0}.gtc-resizer[_ngcontent-%COMP%]{width:6px;flex-shrink:0;cursor:col-resize;background:transparent;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);transition:background .15s ease}.gtc-resizer[_ngcontent-%COMP%]:hover, .gtc-resizer[_ngcontent-%COMP%]:active{background:var(--color-primary);opacity:.4}.gtc-preview-pane[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden;flex-shrink:0;min-width:280px;border-left:1px solid var(--color-border);background:var(--glass-bg)}.gtc-preview-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.625rem .75rem .625rem 1rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.gtc-preview-title[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.gtc-preview-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;flex-shrink:0}.preview-action-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;cursor:pointer;transition:background .15s ease}.preview-action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;width:18px;height:18px;line-height:18px;vertical-align:middle;color:var(--color-text-secondary)}.preview-action-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.preview-action-btn[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{color:var(--color-text)}.gtc-preview-body[_ngcontent-%COMP%]{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}.gtc-preview-body[_ngcontent-%COMP%] app-thread[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0} app-task-card.is-previewed .task-card{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.gtc-group[_ngcontent-%COMP%]{margin-bottom:1.25rem}.gtc-group[_ngcontent-%COMP%]:last-child{margin-bottom:0}.gtc-group-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.gtc-group-title[_ngcontent-%COMP%] .group-icon[_ngcontent-%COMP%]{font-size:.95rem;width:.95rem;height:.95rem}.gtc-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%]{background:var(--color-bg-hover);border-radius:100px;padding:0 .375rem;font-size:.7rem;font-weight:700;min-width:16px;text-align:center;line-height:16px}.gtc-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}@media(max-width:600px){.gtc-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.gtc-loading[_ngcontent-%COMP%], .gtc-empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--color-text-secondary);text-align:center}.gtc-loading[_ngcontent-%COMP%] p[_ngcontent-%COMP%], .gtc-empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0;font-size:.9rem}.empty-icon[_ngcontent-%COMP%]{font-size:2.5rem;width:2.5rem;height:2.5rem;opacity:.3}"],changeDetection:0})};export{et as GlobalTaskControlComponent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Y}from"./chunk-XV6SOT4A.js";import{e as K}from"./chunk-ZTTTDVEL.js";import{a as A,b as H,c as G,d as J}from"./chunk-UARV2YUR.js";import{o as U,p as g,u as X}from"./chunk-F32VEQPY.js";import{c as b}from"./chunk-WJFUKUVD.js";import{A as D,B as O,Bb as h,Db as l,Fb as m,Jb as N,Ka as c,Kb as k,Lb as L,Pb as V,Rb as F,S as R,Tb as W,Ub as $,Wa as d,Xb as B,Yb as Q,Zb as j,ab as q,ca as p,ga as u,ha as C,hc as z,i as I,lb as P,m as x,mb as E,oa as f,rb as _,sb as o,t as y,ta as M,tb as s,ub as S,va as T}from"./chunk-QPN22TF2.js";var v=class i{case;static toListItem(e){return{id:e.id??"",name:e.id??"\u2014",description:void 0}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-item"]],inputs:{case:"case"},decls:0,vars:0,template:function(t,n){},encapsulation:2,changeDetection:0})};var ne=["caseItemTpl"];function ae(i,e){if(i&1){let t=h();o(0,"button",3),l("click",function(){let a=u(t).$implicit,r=m();return C(r.onItemSelected(a.id))}),o(1,"span",4),W(2),s()()}if(i&2){let t=e.$implicit,n=m();F("case-drawer-item--active",t.id===n.activeCaseId),c(2),$(t.name)}}var w=class i{cases=[];activeCaseId=null;caseSelected=new f;createRequested=new f;closeRequested=new f;caseItemTpl;caseItems=[];ngOnChanges(e){e.cases&&(this.caseItems=this.cases.map(v.toListItem))}onItemSelected(e){this.caseSelected.emit(e)}onCreateRequested(){this.createRequested.emit()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-drawer"]],viewQuery:function(t,n){if(t&1&&N(ne,7),t&2){let a;k(a=L())&&(n.caseItemTpl=a.first)}},inputs:{cases:"cases",activeCaseId:"activeCaseId"},outputs:{caseSelected:"caseSelected",createRequested:"createRequested",closeRequested:"closeRequested"},features:[T],decls:4,vars:3,consts:[["caseItemTpl",""],["title","Cases","emptyMessage","No cases yet. Start one below.","searchPlaceholder","Filter cases\u2026","cardMinWidth","220px","contentMaxWidth","100%",3,"itemSelected","createRequested","items","itemTemplate","showCreate"],["toolbar-start","","icon","chevron_left","variant","default","title","Close drawer",3,"action"],["type","button",1,"case-drawer-item",3,"click"],[1,"case-drawer-item__name"]],template:function(t,n){if(t&1&&(o(0,"ds-entity-list",1),l("itemSelected",function(r){return n.onItemSelected(r)})("createRequested",function(){return n.onCreateRequested()}),o(1,"ds-icon-button",2),l("action",function(){return n.closeRequested.emit()}),s()(),q(2,ae,3,3,"ng-template",null,0,z)),t&2){let a=V(3);_("items",n.caseItems)("itemTemplate",a)("showCreate",!0)}},dependencies:[X,g],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%}.case-drawer-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem .75rem;border-radius:8px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;font-size:.875rem;color:var(--color-text, #1d1d1f);transition:background .12s ease;gap:.5rem}.case-drawer-item[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover, rgba(0, 0, 0, .05))}.case-drawer-item--active[_ngcontent-%COMP%]{background:var(--color-primary, #007aff);color:var(--color-text-inverse, #fff)}.case-drawer-item--active[_ngcontent-%COMP%] .case-drawer-item__status[_ngcontent-%COMP%]{color:#ffffffb3}.case-drawer-item--active[_ngcontent-%COMP%]:hover{background:var(--color-primary-hover, #0051d5)}.case-drawer-item__name[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-family:var(--font-mono, ui-monospace, "SF Mono", monospace);font-size:.8rem}'],changeDetection:0})};function ie(i,e){if(i&1){let t=h();o(0,"div",7)(1,"ds-icon-button",8),l("action",function(){u(t);let a=m();return C(a.toggleDrawer())}),s()()}}var te=class i{router=p(J);route=p(H);caseController=p(K);namespaceId=this.route.snapshot.params.namespaceId;drawerOpen=M(!0);refresh$=new I(void 0);cases$=this.refresh$.pipe(R(()=>this.caseController.listByParentCase(this.namespaceId)));cases=b(this.cases$,{initialValue:[]});activeCaseId=b(D(x(this.router.url),this.router.events.pipe(O(e=>e instanceof A),y(e=>e.urlAfterRedirects))).pipe(y(e=>this.extractCaseId(e))),{initialValue:null});extractCaseId(e){return e.match(/\/cases\/([^/?#]+)/)?.[1]??null}toggleDrawer(){this.drawerOpen.update(e=>!e)}onCaseSelected(e){this.router.navigate([e],{relativeTo:this.route})}onCreateRequested(){this.router.navigate(["."],{relativeTo:this.route})}refreshCases(){this.refresh$.next()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=d({type:i,selectors:[["agentos-case-shell"]],decls:9,vars:4,consts:[[1,"case-shell"],[1,"case-shell__header"],[1,"case-shell__body"],["drawerWidth","400px",3,"openChange","open"],["dsDrawerSide","",1,"case-shell__sidenav"],[3,"caseSelected","createRequested","closeRequested","cases","activeCaseId"],["dsDrawerContent","",1,"case-shell__content"],[1,"case-shell__toggle"],["icon","menu","variant","default","title","Open drawer",3,"action"]],template:function(t,n){t&1&&(o(0,"div",0),S(1,"agentos-header",1),o(2,"div",2)(3,"ds-drawer",3),j("openChange",function(r){return Q(n.drawerOpen,r)||(n.drawerOpen=r),r}),o(4,"div",4)(5,"agentos-case-drawer",5),l("caseSelected",function(r){return n.onCaseSelected(r)})("createRequested",function(){return n.onCreateRequested()})("closeRequested",function(){return n.toggleDrawer()}),s()(),o(6,"div",6),P(7,ie,2,0,"div",7),S(8,"router-outlet"),s()()()()),t&2&&(c(3),B("open",n.drawerOpen),c(2),_("cases",n.cases())("activeCaseId",n.activeCaseId()),c(2),E(n.drawerOpen()?-1:7))},dependencies:[G,U,w,Y,g],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100dvh}.case-shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.case-shell__header[_ngcontent-%COMP%]{flex-shrink:0}.case-shell__body[_ngcontent-%COMP%]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.case-shell__sidenav[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.case-shell__content[_ngcontent-%COMP%]{position:relative;flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}.case-shell__toggle[_ngcontent-%COMP%]{position:absolute;top:.375rem;left:.5rem;z-index:10}"]})};export{v as a,w as b,te as c};
|