@whoz-oss/coday-client 3.28.0 → 3.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/{chunk-C3cvHmBJ.js → chunk--r2IPkvN.js} +1 -1
- package/browser/chunk-1mA1C1Ia.js +1 -0
- package/browser/{chunk-D5UGtM5T.js → chunk-4NMdLPHF.js} +1 -1
- package/browser/chunk-4QqbIPaR.js +1 -0
- package/browser/{chunk-C6x9SBjG.js → chunk-AB2V4DzP.js} +1 -1
- package/browser/{chunk-D-vld_6F.js → chunk-B-Ejl4sU.js} +1 -1
- package/browser/{chunk-CrYRdxC9.js → chunk-B3KKH9dW.js} +1 -1
- package/browser/{chunk-Ov4I3GYD.js → chunk-B4hQ_D8H.js} +1 -1
- package/browser/{chunk-Bo1DjeiW.js → chunk-BFY0pXEf.js} +1 -1
- package/browser/{chunk-Bbb2Oy9I.js → chunk-BPkyqr-f.js} +1 -1
- package/browser/chunk-BWcVMw4T.js +1 -0
- package/browser/{chunk-sqjr_Ky0.js → chunk-BXZoje_o.js} +1 -1
- package/browser/{chunk-Cmp8otOQ.js → chunk-B_-1xOxe.js} +1 -1
- package/browser/{chunk-CCQAu0MS.js → chunk-B_gHVcU6.js} +1 -1
- package/browser/{chunk-CG4buEjj.js → chunk-BhXLqAug.js} +1 -1
- package/browser/{chunk-CHSLALZZ.js → chunk-BjFLkaZE.js} +1 -1
- package/browser/{chunk-DOV6c8DN.js → chunk-Bk2EXxig.js} +2 -2
- package/browser/{chunk-DpKLsgM9.js → chunk-BopMYlkE.js} +1 -1
- package/browser/{chunk-ChTqQ8HQ.js → chunk-BpSHA6TV.js} +1 -1
- package/browser/{chunk-B1gTtKFG.js → chunk-BrUYkz33.js} +1 -1
- package/browser/{chunk-BjBW1d-u.js → chunk-Bx_FH6m3.js} +1 -1
- package/browser/{chunk-1xKCP6gl.js → chunk-C0KRHI6e.js} +1 -1
- package/browser/{chunk-DG8M0PqZ.js → chunk-C2Inb2UP.js} +1 -1
- package/browser/{chunk-D2pgQ9ii.js → chunk-CEQ5C5Tx.js} +1 -1
- package/browser/{chunk-CdkqXKu3.js → chunk-CG3MF0H4.js} +1 -1
- package/browser/{chunk-BtBbv-Bf.js → chunk-CGn0orvL.js} +1 -1
- package/browser/chunk-CJGzYd_S.js +1 -0
- package/browser/{chunk-Bv_n_Pea.js → chunk-CJIgE5YB.js} +3 -3
- package/browser/{chunk-cNEt2yX6.js → chunk-CJxkwaxD.js} +1 -1
- package/browser/{chunk-CFfiJ53b.js → chunk-CK18gZ63.js} +1 -1
- package/browser/{chunk-BloWX02p.js → chunk-CNmZmLwF.js} +1 -1
- package/browser/{chunk-CxozF4Vf.js → chunk-COD2O4SF.js} +1 -1
- package/browser/{chunk-D_aTK145.js → chunk-CZmNdEYy.js} +1 -1
- package/browser/{chunk-CE5rgBGE.js → chunk-C_J2R_PK.js} +1 -1
- package/browser/{chunk-BlUiCEeR.js → chunk-CglVp4ZH.js} +1 -1
- package/browser/{chunk-DZe-m4Sd.js → chunk-CkBh9-Fw.js} +1 -1
- package/browser/{chunk-CRrjfkUg.js → chunk-CnEa9fH2.js} +2 -2
- package/browser/{chunk-CGL1Leue.js → chunk-CniyJRG1.js} +1 -1
- package/browser/{chunk-cg5smJeu.js → chunk-Cq3KqN1m.js} +1 -1
- package/browser/{chunk-q9uyoVUw.js → chunk-CtHF-uul.js} +1 -1
- package/browser/chunk-D-QPhn7p.js +1 -0
- package/browser/{chunk-bIJnspzL.js → chunk-D-l2ORqm.js} +1 -1
- package/browser/chunk-D3BAOO_0.js +1 -0
- package/browser/{chunk-Boc0RvBR.js → chunk-D3fatnCm.js} +1 -1
- package/browser/{chunk-Ddpg0y75.js → chunk-D3gurhpR.js} +1 -1
- package/browser/{chunk-CCEiNYBj.js → chunk-D6BBuWSd.js} +1 -1
- package/browser/{chunk-CFY3CFkD.js → chunk-D8sYWCcr.js} +1 -1
- package/browser/{chunk-Bol7PdRu.js → chunk-DAk8SIkq.js} +1 -1
- package/browser/{chunk-BIdH1XJF.js → chunk-DFLL0Odh.js} +1 -1
- package/browser/{chunk-RUBMO7Yb.js → chunk-DR5zNU0n.js} +1 -1
- package/browser/{chunk-u3jxNXQ8.js → chunk-DVrM3JI8.js} +1 -1
- package/browser/{chunk-BmHNWYuZ.js → chunk-DWSvE7KY.js} +1 -1
- package/browser/{chunk-DX05HUs9.js → chunk-DZUhjamf.js} +1 -1
- package/browser/{chunk-Cw62GRPX.js → chunk-DZuvl0-q.js} +1 -1
- package/browser/{chunk-DKg7p59a.js → chunk-DmNKvrHl.js} +1 -1
- package/browser/chunk-DnMJl9Ao.js +1 -0
- package/browser/{chunk-G_l8BMaJ.js → chunk-DqzTsn7a.js} +1 -1
- package/browser/{chunk-CjKxvXTd.js → chunk-DsFEZkSl.js} +1 -1
- package/browser/{chunk-BSAXfS2x.js → chunk-DstI03OT.js} +1 -1
- package/browser/{chunk-CERsD1uZ.js → chunk-DzWQQKpk.js} +1 -1
- package/browser/{chunk-BvO---8Y.js → chunk-F5WjZgr6.js} +1 -1
- package/browser/{chunk-DuNMllH-.js → chunk-KIJUJ9nq.js} +1 -1
- package/browser/chunk-Mxaxers6.js +1 -0
- package/browser/{chunk-CGlvdEI7.js → chunk-O4nbXJCv.js} +1 -1
- package/browser/{chunk-vQXZQsZC.js → chunk-P6Fi8ohd.js} +1 -1
- package/browser/{chunk-DgmZwFcU.js → chunk-QcmfFN_C.js} +1 -1
- package/browser/{chunk-DczzZnS1.js → chunk-S9BROQKc.js} +1 -1
- package/browser/{chunk-_2qKLbuS.js → chunk-VE530Qd2.js} +1 -1
- package/browser/{chunk-CBwpP2V0.js → chunk-bgvmHk7z.js} +1 -1
- package/browser/chunk-kFOHrPbJ.js +10 -0
- package/browser/chunk-lU3996br.js +1 -0
- package/browser/index.html +1 -1
- package/browser/{main-2GG5NZ4C.js → main-2EYBZUJC.js} +9 -9
- package/package.json +1 -1
- package/browser/chunk-C-VoWDOg.js +0 -10
- package/browser/chunk-C0DMx9CU.js +0 -1
- package/browser/chunk-C5mPb_F4.js +0 -1
- package/browser/chunk-CpGwP-5T.js +0 -1
- package/browser/chunk-CrZEE1qa.js +0 -1
- package/browser/chunk-Dz1wgxrF.js +0 -1
- package/browser/chunk-Fh0Lvh-K.js +0 -1
- package/browser/chunk-WuZ8xi__.js +0 -1
- package/browser/chunk-a4RWgm8g.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {ct as vi,e as xw,T as Tg,A as Ug,aL as wo,aM as Zn,bE as vt,aO as wt,cZ as fn,cT as Gp,c_ as he$1,cV as vg,bA as yC,k as ws,bB as vC,o as pl,b5 as nT,ad as Hg,J as Jw,y as eC,X as XE,aW as C,bv as Fg,E as EC,I as IC,g,az as Xt$1,c$ as kn,bw as St,bG as p,aP as G,aR as Fs,aU as Ue,aV as U,a as Gi,an as ue,al as vt$1,ae as kt,r as re$1,d0 as Ea,bL as pe,bs as Tl,ap as wd,bu as Ve$1,c2 as ME,aA as an,D as Pg,bt as Qn,aS as K,cO as us,bN as F,bR as Id,cL as vd,bP as Wy,a9 as lC,q as Rg,ac as gC,bV as Zy,aN as Nn,bD as ge,aQ as $a,bM as mr,d1 as lt,d2 as wt$1,d3 as I,b_ as xt,bX as Pt,w,aZ as js,aw as hl,cJ as Og,n as GC,ax as gl,b$ as kC,a8 as Yg,c3 as kt$1,cD as Te,cz as to,aa as If,ab as wf}from'./main-2GG5NZ4C.js';var Xt=["tooltip"],Ut=20;var qt=new C("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let n=g(pe);return ()=>kt$1(n,{scrollThrottle:Ut})}}),$t=new C("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var Ht="tooltip-panel",Kt={passive:true},Jt=8,te=8,ee=24,ie=200,ne=(()=>{class n{_elementRef=g(Xt$1);_ngZone=g(G);_platform=g(p);_ariaDescriber=g($a);_focusMonitor=g(St);_dir=g(Qn);_injector=g(pe);_viewContainerRef=g(mr);_mediaMatcher=g(lt);_document=g(U);_renderer=g(Fs);_animationsDisabled=K();_defaultOptions=g($t,{optional:true});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=false;_disabled=false;_tooltipClass;_viewInitialized=false;_pointerExitEventsInitialized=false;_tooltipComponent=Gt;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=false;_dirSubscribed=false;get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()));}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(t){this._positionAtOrigin=vi(t),this._detach(),this._overlayRef=null;}get disabled(){return this._disabled}set disabled(t){let e=vi(t);this._disabled!==e&&(this._disabled=e,e?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message));}get showDelay(){return this._showDelay}set showDelay(t){this._showDelay=fn(t);}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(t){this._hideDelay=fn(t),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay);}_hideDelay;touchGestures="auto";get message(){return this._message}set message(t){let e=this._message;this._message=t!=null?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(e);}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass);}_eventCleanups=[];_touchstartTimeout=null;_destroyed=new ue;_isDestroyed=false;constructor(){let t=this._defaultOptions;t&&(this._showDelay=t.showDelay,this._hideDelay=t.hideDelay,t.position&&(this.position=t.position),t.positionAtOrigin&&(this.positionAtOrigin=t.positionAtOrigin),t.touchGestures&&(this.touchGestures=t.touchGestures),t.tooltipClass&&(this.tooltipClass=t.tooltipClass)),this._viewportMargin=Jt;}ngAfterViewInit(){this._viewInitialized=true,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(wd(this._destroyed)).subscribe(t=>{t?t==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0));});}ngOnDestroy(){let t=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._eventCleanups.forEach(e=>e()),this._eventCleanups.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=true,this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t);}show(t=this.showDelay,e){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let i=this._createOverlay(e);this._detach(),this._portal=this._portal||new wt$1(this._tooltipComponent,this._viewContainerRef);let r=this._tooltipInstance=i.attach(this._portal).instance;r._triggerElement=this._elementRef.nativeElement,r._mouseLeaveHideDelay=this._hideDelay,r.afterHidden().pipe(wd(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),r.show(t);}hide(t=this.hideDelay){let e=this._tooltipInstance;e&&(e.isVisible()?e.hide(t):(e._cancelPendingAnimations(),this._detach()));}toggle(t){this._isTooltipVisible()?this.hide():this.show(void 0,t);}_isTooltipVisible(){return !!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(t){if(this._overlayRef){let a=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!t)&&a._origin instanceof Xt$1)return this._overlayRef;this._detach();}let e=this._injector.get(I).getAncestorScrollContainers(this._elementRef),i=`${this._cssClassPrefix}-${Ht}`,r=xt(this._injector,this.positionAtOrigin?t||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(false).withViewportMargin(this._viewportMargin).withScrollableContainers(e).withPopoverLocation("global");return r.positionChanges.pipe(wd(this._destroyed)).subscribe(a=>{this._updateCurrentPositionClass(a.connectionPair),this._tooltipInstance&&a.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0));}),this._overlayRef=Pt(this._injector,{direction:this._dir,positionStrategy:r,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,i]:i,scrollStrategy:this._injector.get(qt)(),disableAnimations:this._animationsDisabled,eventPredicate:this._overlayEventPredicate}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(wd(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(wd(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(wd(this._destroyed)).subscribe(a=>{a.preventDefault(),a.stopPropagation(),this._ngZone.run(()=>this.hide(0));}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=true,this._dir.change.pipe(wd(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef);})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null;}_updatePosition(t){let e=t.getConfig().positionStrategy,i=this._getOrigin(),r=this._getOverlayPosition();e.withPositions([this._addOffset(w(w({},i.main),r.main)),this._addOffset(w(w({},i.fallback),r.fallback))]);}_addOffset(t){let e=te,i=!this._dir||this._dir.value=="ltr";return t.originY==="top"?t.offsetY=-e:t.originY==="bottom"?t.offsetY=e:t.originX==="start"?t.offsetX=i?-e:e:t.originX==="end"&&(t.offsetX=i?e:-e),t}_getOrigin(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"||e=="below"?i={originX:"center",originY:e=="above"?"top":"bottom"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={originX:"start",originY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={originX:"end",originY:"center"});let{x:r,y:a}=this._invertPosition(i.originX,i.originY);return {main:i,fallback:{originX:r,originY:a}}}_getOverlayPosition(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"?i={overlayX:"center",overlayY:"bottom"}:e=="below"?i={overlayX:"center",overlayY:"top"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={overlayX:"end",overlayY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={overlayX:"start",overlayY:"center"});let{x:r,y:a}=this._invertPosition(i.overlayX,i.overlayY);return {main:i,fallback:{overlayX:r,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),ME(()=>{this._tooltipInstance&&this._overlayRef.updatePosition();},{injector:this._injector}));}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t instanceof Set?Array.from(t):t,this._tooltipInstance._markForCheck());}_invertPosition(t,e){return this.position==="above"||this.position==="below"?e==="top"?e="bottom":e==="bottom"&&(e="top"):t==="end"?t="start":t==="start"&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){let{overlayY:e,originX:i,originY:r}=t,a;if(e==="center"?this._dir&&this._dir.value==="rtl"?a=i==="end"?"left":"right":a=i==="start"?"left":"right":a=e==="bottom"&&r==="top"?"above":"below",a!==this._currentPosition){let A=this._overlayRef;if(A){let ut=`${this._cssClassPrefix}-${Ht}-`;A.removePanelClass(ut+this._currentPosition),A.addPanelClass(ut+a);}this._currentPosition=a;}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._eventCleanups.length||(this._isTouchPlatform()?this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._addListener("touchstart",t=>{let e=t.targetTouches?.[0],i=e?{x:e.clientX,y:e.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let r=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,i);},this._defaultOptions?.touchLongPressShowDelay??r);})):this._addListener("mouseenter",t=>{this._setupPointerExitEventsIfNeeded();let e;t.x!==void 0&&t.y!==void 0&&(e=t),this.show(void 0,e);}));}_setupPointerExitEventsIfNeeded(){if(!this._pointerExitEventsInitialized){if(this._pointerExitEventsInitialized=true,!this._isTouchPlatform())this._addListener("mouseleave",t=>{let e=t.relatedTarget;(!e||!this._overlayRef?.overlayElement.contains(e))&&this.hide();}),this._addListener("wheel",t=>{if(this._isTooltipVisible()){let e=this._document.elementFromPoint(t.clientX,t.clientY),i=this._elementRef.nativeElement;e!==i&&!i.contains(e)&&this.hide();}});else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let t=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay);};this._addListener("touchend",t),this._addListener("touchcancel",t);}}}_addListener(t,e){this._eventCleanups.push(this._renderer.listen(this._elementRef.nativeElement,t,e,Kt));}_isTouchPlatform(){let t=this._defaultOptions?.detectHoverCapability;return typeof t=="function"?!t():this._platform.IOS||this._platform.ANDROID?true:this._platform.isBrowser?!!t&&this._mediaMatcher.matchMedia("(any-hover: none)").matches:false}_disableNativeGesturesIfNecessary(){let t=this.touchGestures;if(t!=="off"){let e=this._elementRef.nativeElement,i=e.style;(t==="on"||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA")&&(i.userSelect=i.msUserSelect=i.webkitUserSelect=i.MozUserSelect="none"),(t==="on"||!e.draggable)&&(i.webkitUserDrag="none"),i.touchAction="none",i.webkitTapHighlightColor="transparent";}}_syncAriaDescription(t){this._ariaDescriptionPending||(this._ariaDescriptionPending=true,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,t,"tooltip"),this._isDestroyed||ME({write:()=>{this._ariaDescriptionPending=false,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip");}},{injector:this._injector}));}_overlayEventPredicate=t=>t.type==="keydown"?this._isTooltipVisible()&&t.keyCode===27&&!Ve$1(t):true;static \u0275fac=function(e){return new(e||n)};static \u0275dir=js({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(e,i){e&2&&Ug("mat-mdc-tooltip-disabled",i.disabled);},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return n})(),Gt=(()=>{class n{_changeDetectorRef=g(Tl);_elementRef=g(Xt$1);_isMultiline=false;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=K();_tooltip;_closeOnInteraction=false;_isVisible=false;_onHide=new ue;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";show(t){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(true),this._showTimeoutId=void 0;},t);}hide(t){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(false),this._hideTimeoutId=void 0;},t);}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null;}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0);}_markForCheck(){this._changeDetectorRef.markForCheck();}_handleMouseLeave({relatedTarget:t}){(!t||!this._triggerElement.contains(t))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(false));}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck();}_isTooltipMultiline(){let t=this._elementRef.nativeElement.getBoundingClientRect();return t.height>ee&&t.width>=ie}_handleAnimationEnd({animationName:t}){(t===this._showAnimation||t===this._hideAnimation)&&this._finalizeAnimation(t===this._showAnimation);}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0;}_finalizeAnimation(t){t?this._closeOnInteraction=true:this.isVisible()||this._onHide.next();}_toggleVisibility(t){let e=this._tooltip.nativeElement,i=this._showAnimation,r=this._hideAnimation;if(e.classList.remove(t?r:i),e.classList.add(t?i:r),this._isVisible!==t&&(this._isVisible=t,this._changeDetectorRef.markForCheck()),t&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(e);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=true);}t&&this._onShow(),this._animationsDisabled&&(e.classList.add("_mat-animation-noopable"),this._finalizeAnimation(t));}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(e&1&&Pg(Xt,7),e&2){let r;EC(r=IC())&&(i._tooltip=r.first);}},hostAttrs:["aria-hidden","true"],hostBindings:function(e,i){e&1&&Rg("mouseleave",function(a){return i._handleMouseLeave(a)});},decls:4,vars:5,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(e,i){e&1&&(hl(0,"div",1,0),Og("animationend",function(a){return i._handleAnimationEnd(a)}),hl(2,"div",2),GC(3),gl()()),e&2&&(kC(i.tooltipClass),Ug("mdc-tooltip--multiline",i._isMultiline),XE(3),Yg(i.message));},styles:[`.mat-mdc-tooltip {
|
|
1
|
+
import {ct as vi,e as xw,T as Tg,A as Ug,aL as wo,aM as Zn,bE as vt,aO as wt,cZ as fn,cT as Gp,c_ as he$1,cV as vg,bA as yC,k as ws,bB as vC,o as pl,b5 as nT,ad as Hg,J as Jw,y as eC,X as XE,aW as C,bv as Fg,E as EC,I as IC,g,az as Xt$1,c$ as kn,bw as St,bG as p,aP as G,aR as Fs,aU as Ue,aV as U,a as Gi,an as ue,al as vt$1,ae as kt,r as re$1,d0 as Ea,bL as pe,bs as Tl,ap as wd,bu as Ve$1,c2 as ME,aA as an,D as Pg,bt as Qn,aS as K,cO as us,bN as F,bR as Id,cL as vd,bP as Wy,a9 as lC,q as Rg,ac as gC,bV as Zy,aN as Nn,bD as ge,aQ as $a,bM as mr,d1 as lt,d2 as wt$1,d3 as I,b_ as xt,bX as Pt,w,aZ as js,aw as hl,cJ as Og,n as GC,ax as gl,b$ as kC,a8 as Yg,c3 as kt$1,cD as Te,cz as to,aa as If,ab as wf}from'./main-2EYBZUJC.js';var Xt=["tooltip"],Ut=20;var qt=new C("mat-tooltip-scroll-strategy",{providedIn:"root",factory:()=>{let n=g(pe);return ()=>kt$1(n,{scrollThrottle:Ut})}}),$t=new C("mat-tooltip-default-options",{providedIn:"root",factory:()=>({showDelay:0,hideDelay:0,touchendHideDelay:1500})});var Ht="tooltip-panel",Kt={passive:true},Jt=8,te=8,ee=24,ie=200,ne=(()=>{class n{_elementRef=g(Xt$1);_ngZone=g(G);_platform=g(p);_ariaDescriber=g($a);_focusMonitor=g(St);_dir=g(Qn);_injector=g(pe);_viewContainerRef=g(mr);_mediaMatcher=g(lt);_document=g(U);_renderer=g(Fs);_animationsDisabled=K();_defaultOptions=g($t,{optional:true});_overlayRef=null;_tooltipInstance=null;_overlayPanelClass;_portal;_position="below";_positionAtOrigin=false;_disabled=false;_tooltipClass;_viewInitialized=false;_pointerExitEventsInitialized=false;_tooltipComponent=Gt;_viewportMargin=8;_currentPosition;_cssClassPrefix="mat-mdc";_ariaDescriptionPending=false;_dirSubscribed=false;get position(){return this._position}set position(t){t!==this._position&&(this._position=t,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()));}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(t){this._positionAtOrigin=vi(t),this._detach(),this._overlayRef=null;}get disabled(){return this._disabled}set disabled(t){let e=vi(t);this._disabled!==e&&(this._disabled=e,e?this.hide(0):this._setupPointerEnterEventsIfNeeded(),this._syncAriaDescription(this.message));}get showDelay(){return this._showDelay}set showDelay(t){this._showDelay=fn(t);}_showDelay;get hideDelay(){return this._hideDelay}set hideDelay(t){this._hideDelay=fn(t),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay);}_hideDelay;touchGestures="auto";get message(){return this._message}set message(t){let e=this._message;this._message=t!=null?String(t).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage()),this._syncAriaDescription(e);}_message="";get tooltipClass(){return this._tooltipClass}set tooltipClass(t){this._tooltipClass=t,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass);}_eventCleanups=[];_touchstartTimeout=null;_destroyed=new ue;_isDestroyed=false;constructor(){let t=this._defaultOptions;t&&(this._showDelay=t.showDelay,this._hideDelay=t.hideDelay,t.position&&(this.position=t.position),t.positionAtOrigin&&(this.positionAtOrigin=t.positionAtOrigin),t.touchGestures&&(this.touchGestures=t.touchGestures),t.tooltipClass&&(this.tooltipClass=t.tooltipClass)),this._viewportMargin=Jt;}ngAfterViewInit(){this._viewInitialized=true,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(wd(this._destroyed)).subscribe(t=>{t?t==="keyboard"&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0));});}ngOnDestroy(){let t=this._elementRef.nativeElement;this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._eventCleanups.forEach(e=>e()),this._eventCleanups.length=0,this._destroyed.next(),this._destroyed.complete(),this._isDestroyed=true,this._ariaDescriber.removeDescription(t,this.message,"tooltip"),this._focusMonitor.stopMonitoring(t);}show(t=this.showDelay,e){if(this.disabled||!this.message||this._isTooltipVisible()){this._tooltipInstance?._cancelPendingAnimations();return}let i=this._createOverlay(e);this._detach(),this._portal=this._portal||new wt$1(this._tooltipComponent,this._viewContainerRef);let r=this._tooltipInstance=i.attach(this._portal).instance;r._triggerElement=this._elementRef.nativeElement,r._mouseLeaveHideDelay=this._hideDelay,r.afterHidden().pipe(wd(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),r.show(t);}hide(t=this.hideDelay){let e=this._tooltipInstance;e&&(e.isVisible()?e.hide(t):(e._cancelPendingAnimations(),this._detach()));}toggle(t){this._isTooltipVisible()?this.hide():this.show(void 0,t);}_isTooltipVisible(){return !!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(t){if(this._overlayRef){let a=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!t)&&a._origin instanceof Xt$1)return this._overlayRef;this._detach();}let e=this._injector.get(I).getAncestorScrollContainers(this._elementRef),i=`${this._cssClassPrefix}-${Ht}`,r=xt(this._injector,this.positionAtOrigin?t||this._elementRef:this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(false).withViewportMargin(this._viewportMargin).withScrollableContainers(e).withPopoverLocation("global");return r.positionChanges.pipe(wd(this._destroyed)).subscribe(a=>{this._updateCurrentPositionClass(a.connectionPair),this._tooltipInstance&&a.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0));}),this._overlayRef=Pt(this._injector,{direction:this._dir,positionStrategy:r,panelClass:this._overlayPanelClass?[...this._overlayPanelClass,i]:i,scrollStrategy:this._injector.get(qt)(),disableAnimations:this._animationsDisabled,eventPredicate:this._overlayEventPredicate}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(wd(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(wd(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(wd(this._destroyed)).subscribe(a=>{a.preventDefault(),a.stopPropagation(),this._ngZone.run(()=>this.hide(0));}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._dirSubscribed||(this._dirSubscribed=true,this._dir.change.pipe(wd(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef);})),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null;}_updatePosition(t){let e=t.getConfig().positionStrategy,i=this._getOrigin(),r=this._getOverlayPosition();e.withPositions([this._addOffset(w(w({},i.main),r.main)),this._addOffset(w(w({},i.fallback),r.fallback))]);}_addOffset(t){let e=te,i=!this._dir||this._dir.value=="ltr";return t.originY==="top"?t.offsetY=-e:t.originY==="bottom"?t.offsetY=e:t.originX==="start"?t.offsetX=i?-e:e:t.originX==="end"&&(t.offsetX=i?e:-e),t}_getOrigin(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"||e=="below"?i={originX:"center",originY:e=="above"?"top":"bottom"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={originX:"start",originY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={originX:"end",originY:"center"});let{x:r,y:a}=this._invertPosition(i.originX,i.originY);return {main:i,fallback:{originX:r,originY:a}}}_getOverlayPosition(){let t=!this._dir||this._dir.value=="ltr",e=this.position,i;e=="above"?i={overlayX:"center",overlayY:"bottom"}:e=="below"?i={overlayX:"center",overlayY:"top"}:e=="before"||e=="left"&&t||e=="right"&&!t?i={overlayX:"end",overlayY:"center"}:(e=="after"||e=="right"&&t||e=="left"&&!t)&&(i={overlayX:"start",overlayY:"center"});let{x:r,y:a}=this._invertPosition(i.overlayX,i.overlayY);return {main:i,fallback:{overlayX:r,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),ME(()=>{this._tooltipInstance&&this._overlayRef.updatePosition();},{injector:this._injector}));}_setTooltipClass(t){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=t instanceof Set?Array.from(t):t,this._tooltipInstance._markForCheck());}_invertPosition(t,e){return this.position==="above"||this.position==="below"?e==="top"?e="bottom":e==="bottom"&&(e="top"):t==="end"?t="start":t==="start"&&(t="end"),{x:t,y:e}}_updateCurrentPositionClass(t){let{overlayY:e,originX:i,originY:r}=t,a;if(e==="center"?this._dir&&this._dir.value==="rtl"?a=i==="end"?"left":"right":a=i==="start"?"left":"right":a=e==="bottom"&&r==="top"?"above":"below",a!==this._currentPosition){let A=this._overlayRef;if(A){let ut=`${this._cssClassPrefix}-${Ht}-`;A.removePanelClass(ut+this._currentPosition),A.addPanelClass(ut+a);}this._currentPosition=a;}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._eventCleanups.length||(this._isTouchPlatform()?this.touchGestures!=="off"&&(this._disableNativeGesturesIfNecessary(),this._addListener("touchstart",t=>{let e=t.targetTouches?.[0],i=e?{x:e.clientX,y:e.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),this._touchstartTimeout&&clearTimeout(this._touchstartTimeout);let r=500;this._touchstartTimeout=setTimeout(()=>{this._touchstartTimeout=null,this.show(void 0,i);},this._defaultOptions?.touchLongPressShowDelay??r);})):this._addListener("mouseenter",t=>{this._setupPointerExitEventsIfNeeded();let e;t.x!==void 0&&t.y!==void 0&&(e=t),this.show(void 0,e);}));}_setupPointerExitEventsIfNeeded(){if(!this._pointerExitEventsInitialized){if(this._pointerExitEventsInitialized=true,!this._isTouchPlatform())this._addListener("mouseleave",t=>{let e=t.relatedTarget;(!e||!this._overlayRef?.overlayElement.contains(e))&&this.hide();}),this._addListener("wheel",t=>{if(this._isTooltipVisible()){let e=this._document.elementFromPoint(t.clientX,t.clientY),i=this._elementRef.nativeElement;e!==i&&!i.contains(e)&&this.hide();}});else if(this.touchGestures!=="off"){this._disableNativeGesturesIfNecessary();let t=()=>{this._touchstartTimeout&&clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions?.touchendHideDelay);};this._addListener("touchend",t),this._addListener("touchcancel",t);}}}_addListener(t,e){this._eventCleanups.push(this._renderer.listen(this._elementRef.nativeElement,t,e,Kt));}_isTouchPlatform(){let t=this._defaultOptions?.detectHoverCapability;return typeof t=="function"?!t():this._platform.IOS||this._platform.ANDROID?true:this._platform.isBrowser?!!t&&this._mediaMatcher.matchMedia("(any-hover: none)").matches:false}_disableNativeGesturesIfNecessary(){let t=this.touchGestures;if(t!=="off"){let e=this._elementRef.nativeElement,i=e.style;(t==="on"||e.nodeName!=="INPUT"&&e.nodeName!=="TEXTAREA")&&(i.userSelect=i.msUserSelect=i.webkitUserSelect=i.MozUserSelect="none"),(t==="on"||!e.draggable)&&(i.webkitUserDrag="none"),i.touchAction="none",i.webkitTapHighlightColor="transparent";}}_syncAriaDescription(t){this._ariaDescriptionPending||(this._ariaDescriptionPending=true,this._ariaDescriber.removeDescription(this._elementRef.nativeElement,t,"tooltip"),this._isDestroyed||ME({write:()=>{this._ariaDescriptionPending=false,this.message&&!this.disabled&&this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip");}},{injector:this._injector}));}_overlayEventPredicate=t=>t.type==="keydown"?this._isTooltipVisible()&&t.keyCode===27&&!Ve$1(t):true;static \u0275fac=function(e){return new(e||n)};static \u0275dir=js({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],hostVars:2,hostBindings:function(e,i){e&2&&Ug("mat-mdc-tooltip-disabled",i.disabled);},inputs:{position:[0,"matTooltipPosition","position"],positionAtOrigin:[0,"matTooltipPositionAtOrigin","positionAtOrigin"],disabled:[0,"matTooltipDisabled","disabled"],showDelay:[0,"matTooltipShowDelay","showDelay"],hideDelay:[0,"matTooltipHideDelay","hideDelay"],touchGestures:[0,"matTooltipTouchGestures","touchGestures"],message:[0,"matTooltip","message"],tooltipClass:[0,"matTooltipClass","tooltipClass"]},exportAs:["matTooltip"]})}return n})(),Gt=(()=>{class n{_changeDetectorRef=g(Tl);_elementRef=g(Xt$1);_isMultiline=false;message;tooltipClass;_showTimeoutId;_hideTimeoutId;_triggerElement;_mouseLeaveHideDelay;_animationsDisabled=K();_tooltip;_closeOnInteraction=false;_isVisible=false;_onHide=new ue;_showAnimation="mat-mdc-tooltip-show";_hideAnimation="mat-mdc-tooltip-hide";show(t){this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(true),this._showTimeoutId=void 0;},t);}hide(t){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(false),this._hideTimeoutId=void 0;},t);}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null;}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0);}_markForCheck(){this._changeDetectorRef.markForCheck();}_handleMouseLeave({relatedTarget:t}){(!t||!this._triggerElement.contains(t))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(false));}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck();}_isTooltipMultiline(){let t=this._elementRef.nativeElement.getBoundingClientRect();return t.height>ee&&t.width>=ie}_handleAnimationEnd({animationName:t}){(t===this._showAnimation||t===this._hideAnimation)&&this._finalizeAnimation(t===this._showAnimation);}_cancelPendingAnimations(){this._showTimeoutId!=null&&clearTimeout(this._showTimeoutId),this._hideTimeoutId!=null&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0;}_finalizeAnimation(t){t?this._closeOnInteraction=true:this.isVisible()||this._onHide.next();}_toggleVisibility(t){let e=this._tooltip.nativeElement,i=this._showAnimation,r=this._hideAnimation;if(e.classList.remove(t?r:i),e.classList.add(t?i:r),this._isVisible!==t&&(this._isVisible=t,this._changeDetectorRef.markForCheck()),t&&!this._animationsDisabled&&typeof getComputedStyle=="function"){let a=getComputedStyle(e);(a.getPropertyValue("animation-duration")==="0s"||a.getPropertyValue("animation-name")==="none")&&(this._animationsDisabled=true);}t&&this._onShow(),this._animationsDisabled&&(e.classList.add("_mat-animation-noopable"),this._finalizeAnimation(t));}static \u0275fac=function(e){return new(e||n)};static \u0275cmp=xw({type:n,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(e&1&&Pg(Xt,7),e&2){let r;EC(r=IC())&&(i._tooltip=r.first);}},hostAttrs:["aria-hidden","true"],hostBindings:function(e,i){e&1&&Rg("mouseleave",function(a){return i._handleMouseLeave(a)});},decls:4,vars:5,consts:[["tooltip",""],[1,"mdc-tooltip","mat-mdc-tooltip",3,"animationend"],[1,"mat-mdc-tooltip-surface","mdc-tooltip__surface"]],template:function(e,i){e&1&&(hl(0,"div",1,0),Og("animationend",function(a){return i._handleAnimationEnd(a)}),hl(2,"div",2),GC(3),gl()()),e&2&&(kC(i.tooltipClass),Ug("mdc-tooltip--multiline",i._isMultiline),XE(3),Yg(i.message));},styles:[`.mat-mdc-tooltip {
|
|
2
2
|
position: relative;
|
|
3
3
|
transform: scale(0);
|
|
4
4
|
display: inline-flex;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {bS as va,a7 as ya,W as br,cE as Ad}from'./main-2EYBZUJC.js';function i(t,o,p){return t.pipe(va(()=>o().pipe(ya(()=>br(p)))),Ad({bufferSize:1,refCount:true}))}export{i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {m}from'./chunk-C-VoWDOg.js';import {g,ao as V,G,C as Ce$1,da as M,a as Gi,b as U,a7 as ya,W as br,x,w,e as xw,k as ws,q as Rg,n as GC,o as pl,J as Jw,X as XE,a5 as vl,a8 as Yg,y as eC,a9 as lC,S as Sg,a3 as VI,t as rC,bo as tC,ac as gC,v as bg,A as Ug,a6 as UI,z as oC,aa as If,ab as wf}from'./main-2GG5NZ4C.js';import {o as z,z as ze,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,C as Cn,E as En,p as An,q as Ct,V as Vt}from'./chunk-D_aTK145.js';import'./chunk-G_l8BMaJ.js';import'./chunk-BjBW1d-u.js';import'./chunk-Bbb2Oy9I.js';var ne=(i,t)=>t.id;function ie(i,t){i&1&&(ws(0,"p",5),GC(1,"Loading\u2026"),pl());}function ae(i,t){i&1&&(ws(0,"span",12),GC(1,"Name is required."),pl());}function le(i,t){if(i&1&&(ws(0,"p",32),GC(1),pl(),ws(2,"span",26),GC(3,"Agent Config cannot be changed after creation."),pl()),i&2){let e=gC(3);XE(),Yg(e.resolveAgentConfigName(e.agentConfigIdControl.value));}}function me(i,t){if(i&1&&(ws(0,"option",34),GC(1),pl()),i&2){let e=t.$implicit;bg("ngValue",e.id),XE(),Yg(e.name);}}function pe(i,t){if(i&1&&(ws(0,"select",33)(1,"option",34),GC(2,"\u2014 None \u2014"),pl(),rC(3,me,2,2,"option",34,ne),pl(),VI(),ws(5,"span",26),GC(6,"Optional. Links this prompt to an agent as a starter. Immutable after creation."),pl()),i&2){let e=gC(3);bg("formControl",e.agentConfigIdControl),UI(),XE(),bg("ngValue",null),XE(2),oC(e.availableAgentConfigs());}}function de(i,t){if(i&1&&(ws(0,"div",8)(1,"label",31),GC(2,"Agent Config"),pl(),Jw(3,le,4,1)(4,pe,7,2),pl()),i&2){let e=gC(2);XE(3),eC(e.isEditMode()&&e.agentConfigIdControl.value?3:e.isEditMode()?-1:4);}}function ce(i,t){i&1&&(ws(0,"p",19),GC(1,"No parameters defined."),pl());}function se(i,t){i&1&&(ws(0,"span",12),GC(1,"Parameter name is required."),pl());}function _e(i,t){if(i&1){let e=lC();ws(0,"div",20)(1,"div",35)(2,"div",36)(3,"label",37),GC(4,"Name "),ws(5,"span",10),GC(6,"*"),pl()(),Sg(7,"input",38),VI(),Jw(8,se,2,0,"span",12),pl(),ws(9,"div",36)(10,"label",37),GC(11,"Description"),pl(),Sg(12,"input",39),VI(),pl(),ws(13,"div",36)(14,"label",37),GC(15,"Default value"),pl(),Sg(16,"input",40),VI(),pl()(),ws(17,"button",41),Rg("click",function(){let m=If(e).$index,d=gC(2);return wf(d.removeParameter(m))}),GC(18," \xD7 "),pl()();}if(i&2){let e=t.$implicit,l=t.$index;bg("formGroupName",l),XE(3),bg("for","param-name-"+l),XE(4),Ug("prompt-form__input--invalid",e.controls.name.invalid&&e.controls.name.touched),bg("id","param-name-"+l),UI(),XE(),eC(e.controls.name.invalid&&e.controls.name.touched?8:-1),XE(2),bg("for","param-desc-"+l),XE(2),bg("id","param-desc-"+l),UI(),XE(2),bg("for","param-default-"+l),XE(2),bg("id","param-default-"+l),UI();}}function fe(i,t){i&1&&(ws(0,"span",12),GC(1,"Content entry must not be blank."),pl());}function ue(i,t){if(i&1){let e=lC();ws(0,"div",22)(1,"span",42),GC(2),pl(),ws(3,"div",43),Sg(4,"textarea",44),VI(),Jw(5,fe,2,0,"span",12),pl(),ws(6,"button",45),Rg("click",function(){let m=If(e).$index,d=gC(2);return wf(d.removeContentEntry(m))}),GC(7," \xD7 "),pl()();}if(i&2){let e=t.$implicit,l=t.$index,m=gC(2);XE(2),Yg(l+1),XE(2),Ug("prompt-form__textarea--invalid",e.invalid&&e.touched),bg("formControlName",l),UI(),XE(),eC(e.invalid&&e.touched?5:-1),XE(),bg("disabled",m.contentArray.length===1);}}function ge(i,t){if(i&1&&(ws(0,"p",23),GC(1),pl()),i&2){let e=gC(2);XE(),Yg(e.errorMessage());}}function Ce(i,t){i&1&&(ws(0,"span",12),GC(1,"Invalid JSON."),pl());}function xe(i,t){if(i&1){let e=lC();ws(0,"button",46),Rg("click",function(){If(e);let m=gC(2);return wf(m.exportYaml())}),GC(1),pl();}if(i&2){let e=gC(2);bg("disabled",e.isExporting()),XE(),vl(" ",e.isExporting()?"Exporting\u2026":"Export as YAML"," ");}}function ve(i,t){if(i&1){let e=lC();ws(0,"form",7),Rg("ngSubmit",function(){If(e);let m=gC();return wf(m.submit())}),ws(1,"div",8)(2,"label",9),GC(3,"Name "),ws(4,"span",10),GC(5,"*"),pl()(),Sg(6,"input",11),VI(),Jw(7,ae,2,0,"span",12),pl(),ws(8,"div",8)(9,"label",13),GC(10,"Description"),pl(),Sg(11,"input",14),VI(),pl(),Jw(12,de,5,1,"div",8),ws(13,"fieldset",15)(14,"legend",16),GC(15," Parameters "),ws(16,"span",17),GC(17,"Named placeholders used in content"),pl()(),ws(18,"p",18),GC(19," Each parameter must have a name and a default value. Use "),ws(20,"code"),GC(21),pl(),GC(22," in content entries to reference them. "),pl(),Jw(23,ce,2,0,"p",19),rC(24,_e,19,10,"div",20,tC),ws(26,"button",21),Rg("click",function(){If(e);let m=gC();return wf(m.addParameter())}),GC(27,"+ Add parameter"),pl()(),ws(28,"fieldset",15)(29,"legend",16),GC(30," Content "),ws(31,"span",10),GC(32,"*"),pl(),ws(33,"span",17),GC(34,"Ordered list of text commands"),pl()(),ws(35,"p",18),GC(36," Each content entry is a command. Use "),ws(37,"code"),GC(38,"@AgentName"),pl(),GC(39," to target an agent, "),ws(40,"code"),GC(41,"/promptName param1 param2"),pl(),GC(42," to call another prompt, and "),ws(43,"code"),GC(44),pl(),GC(45," for parameter placeholders. "),pl(),rC(46,ue,8,6,"div",22,tC),ws(48,"button",21),Rg("click",function(){If(e);let m=gC();return wf(m.addContentEntry())}),GC(49,"+ Add content entry"),pl()(),Jw(50,ge,2,1,"p",23),ws(51,"div",8)(52,"label",24),GC(53,"External Metadata"),pl(),Sg(54,"textarea",25),VI(),Jw(55,Ce,2,0,"span",12),ws(56,"span",26),GC(57,"Optional. Opaque JSON object stored as-is. Leave empty to clear."),pl()(),ws(58,"div",27)(59,"button",28),GC(60),pl(),Jw(61,xe,2,2,"button",29),ws(62,"button",30),Rg("click",function(){If(e);let m=gC();return wf(m.cancel())}),GC(63,"Cancel"),pl()()();}if(i&2){let e=gC();bg("formGroup",e.form),XE(6),Ug("prompt-form__input--invalid",e.nameControl.invalid&&e.nameControl.touched),bg("formControl",e.nameControl),UI(),XE(),eC(e.nameControl.invalid&&e.nameControl.touched?7:-1),XE(4),bg("formControl",e.descriptionControl),UI(),XE(),eC(e.availableAgentConfigs().length>0?12:-1),XE(),bg("formArrayName","parameters"),XE(8),Yg(e.paramPlaceholderSyntax),XE(2),eC(e.parametersArray.length===0?23:-1),XE(),oC(e.parametersArray.controls),XE(4),bg("formArrayName","content"),XE(16),Yg(e.paramPlaceholderSyntax),XE(2),oC(e.contentArray.controls),XE(4),eC(e.errorMessage()?50:-1),XE(4),bg("formControl",e.externalMetadataJsonControl),UI(),XE(),eC(e.externalMetadataJsonControl.invalid&&e.externalMetadataJsonControl.touched?55:-1),XE(4),bg("disabled",e.form.invalid||e.isSubmitting()),XE(),vl(" ",e.isEditMode()?"Save changes":"Create"," "),XE(),eC(e.isEditMode()?61:-1);}}var re=class i{route=g(V);router=g(G);destroyRef=g(Ce$1);promptState=g(m);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(null),agentConfigId:new _t(null),externalMetadataJson:new _t("",{nonNullable:true,validators:[be]}),content:new ze([this.createContentControl()],{validators:[_e$1.required]}),parameters:new ze([])});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get agentConfigIdControl(){return this.form.controls.agentConfigId}get externalMetadataJsonControl(){return this.form.controls.externalMetadataJson}get contentArray(){return this.form.controls.content}get parametersArray(){return this.form.controls.parameters}isEditMode=Gi(false);isSubmitting=Gi(false);isLoading=Gi(false);isExporting=Gi(false);errorMessage=Gi(null);paramPlaceholderSyntax="{{paramName}}";agentConfigs=Gi([]);availableAgentConfigs=this.agentConfigs.asReadonly();existingPrompt=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("promptId");t&&(this.isEditMode.set(true),this.loadPrompt(t)),this.isPlatformMode?this.loadPlatformAgentConfigs():this.namespaceId&&this.loadAgentConfigs(this.namespaceId);}loadPrompt(t){this.isLoading.set(true),this.promptState.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingPrompt=e,this.hydrateForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),this.navigateBack();}});}loadAgentConfigs(t){this.agentConfigController.listByParentAgentConfig(t).pipe(U(this.destroyRef),ya(()=>br([]))).subscribe(e=>this.agentConfigs.set(e));}loadPlatformAgentConfigs(){this.agentConfigController.listPlatformAgentsAgentConfig().pipe(U(this.destroyRef),ya(()=>br([]))).subscribe(t=>this.agentConfigs.set(t));}hydrateForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.agentConfigIdControl.setValue(t.agentConfigId??null),this.contentArray.clear(),(t.content.length>0?t.content:[""]).forEach(l=>this.contentArray.push(this.createContentControl(l))),this.parametersArray.clear(),(t.parameters??[]).forEach(l=>this.parametersArray.push(this.createParameterGroup(l))),this.externalMetadataJsonControl.setValue(t.externalMetadata?JSON.stringify(t.externalMetadata,null,2):"");}resolveAgentConfigName(t){return this.agentConfigs().find(e=>e.id===t)?.name??t}createContentControl(t=""){return new _t(t,{nonNullable:true,validators:[_e$1.required,_e$1.pattern(/\S/)]})}addContentEntry(){this.contentArray.push(this.createContentControl());}removeContentEntry(t){this.contentArray.length>1&&this.contentArray.removeAt(t);}createParameterGroup(t){return new z({name:new _t(t?.name??"",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(t?.description??null),defaultValue:new _t(t?.defaultValue??"",{nonNullable:true,validators:[_e$1.required]})})}addParameter(){this.parametersArray.push(this.createParameterGroup());}removeParameter(t){this.parametersArray.removeAt(t);}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(true);let t=this.isEditMode()&&!!this.existingPrompt?.id,e=x(w({},this.existingPrompt??{}),{namespaceId:this.namespaceId,sourceLanguage:this.existingPrompt?.sourceLanguage??"en",name:this.nameControl.value.trim(),description:this.descriptionControl.value?.trim()||void 0,content:this.contentArray.controls.map(d=>d.value.trim()),parameters:this.parametersArray.controls.map(d=>({name:d.controls.name.value.trim(),description:d.controls.description.value?.trim()||void 0,defaultValue:d.controls.defaultValue.value.trim()}))});t||(e.agentConfigId=this.agentConfigIdControl.value||null);let l=this.externalMetadataJsonControl.value.trim();e.externalMetadata=l?JSON.parse(l):null;let m=t?this.promptState.update(this.existingPrompt.id,e):this.promptState.create(e);this.errorMessage.set(null),m.pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:d=>{this.isSubmitting.set(false),d.status===409?this.errorMessage.set(`A prompt named "${e.name}" already exists in this scope.`):d.status===400?this.errorMessage.set(d.error?.message??"Invalid prompt data."):this.errorMessage.set("An unexpected error occurred. Please try again.");}});}exportYaml(){let t=this.existingPrompt?.id;!t||this.isExporting()||(this.isExporting.set(true),this.promptState.exportAsYaml(t).pipe(U(this.destroyRef)).subscribe({next:e=>{let l=new Blob([e],{type:"application/yaml"}),m=URL.createObjectURL(l),d=document.createElement("a");d.href=m,d.download=`${this.existingPrompt?.name??"prompt"}.yaml`,d.click(),URL.revokeObjectURL(m),this.isExporting.set(false);},error:()=>this.isExporting.set(false)}));}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","prompts"]):this.router.navigate(["/agentos",this.namespaceId,"prompts"]);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=xw({type:i,selectors:[["agentos-prompt-form"]],decls:10,vars:3,consts:[[1,"prompt-form"],[1,"prompt-form__header"],["type","button","title","Back to prompts",1,"prompt-form__back",3,"click"],[1,"prompt-form__back-icon"],[1,"prompt-form__title"],[1,"prompt-form__loading"],[1,"prompt-form__form",3,"formGroup"],[1,"prompt-form__form",3,"ngSubmit","formGroup"],[1,"prompt-form__field"],["for","prompt-name",1,"prompt-form__label"],["aria-hidden","true"],["id","prompt-name","type","text","placeholder","e.g. Summarise meeting notes","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__field-error"],["for","prompt-description",1,"prompt-form__label"],["id","prompt-description","type","text","placeholder","Optional \u2014 short description of this prompt","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__section",3,"formArrayName"],[1,"prompt-form__label"],[1,"prompt-form__label-hint"],[1,"prompt-form__section-hint"],[1,"prompt-form__empty-hint"],[1,"prompt-form__param-row",3,"formGroupName"],["type","button",1,"prompt-form__add-btn",3,"click"],[1,"prompt-form__content-row"],[1,"prompt-form__error"],["for","prompt-external-metadata",1,"prompt-form__label"],["id","prompt-external-metadata","rows","6","placeholder",'{ "key": "value" }',"spellcheck","false","autocomplete","off",1,"prompt-form__textarea","prompt-form__textarea--code",3,"formControl"],[1,"prompt-form__field-hint"],[1,"prompt-form__actions"],["type","submit",1,"prompt-form__btn","prompt-form__btn--primary",3,"disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"disabled"],["type","button",1,"prompt-form__btn",3,"click"],["for","prompt-agent-config",1,"prompt-form__label"],[1,"prompt-form__readonly-value"],["id","prompt-agent-config",1,"prompt-form__select",3,"formControl"],[3,"ngValue"],[1,"prompt-form__param-fields"],[1,"prompt-form__field","prompt-form__field--inline"],[1,"prompt-form__label",3,"for"],["type","text","placeholder","e.g. language","formControlName","name","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","Optional","formControlName","description","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","e.g. English","formControlName","defaultValue","autocomplete","off",1,"prompt-form__input",3,"id"],["type","button","title","Remove this parameter",1,"prompt-form__remove-btn",3,"click"],[1,"prompt-form__content-index"],[1,"prompt-form__content-field"],["rows","4","placeholder","Enter a command\u2026",1,"prompt-form__textarea",3,"formControlName"],["type","button","title","Remove this entry",1,"prompt-form__remove-btn",3,"click","disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"click","disabled"]],template:function(e,l){e&1&&(ws(0,"div",0)(1,"header",1)(2,"button",2),Rg("click",function(){return l.cancel()}),ws(3,"span",3),GC(4,"\u2190"),pl(),GC(5),pl(),ws(6,"h1",4),GC(7),pl()(),Jw(8,ie,2,0,"p",5)(9,ve,64,18,"form",6),pl()),e&2&&(XE(5),vl(" ",l.isPlatformMode?"Platform prompts":"Prompts"," "),XE(2),Yg(l.isEditMode()?"Edit prompt":"New prompt"),XE(),eC(l.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,Cn,En,An,Ct,Vt],styles:[".prompt-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.prompt-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.prompt-form__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-accent)}.prompt-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.prompt-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.prompt-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.prompt-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.prompt-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.prompt-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.prompt-form__field--inline[_ngcontent-%COMP%]{flex:1}.prompt-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.prompt-form__label-hint[_ngcontent-%COMP%]{font-weight:400;color:var(--color-text-secondary);margin-left:.375rem}.prompt-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;cursor:pointer;appearance:auto;transition:border-color .15s ease}.prompt-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__field-hint[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__readonly-value[_ngcontent-%COMP%]{margin:0;padding:.5rem .875rem;border-radius:0;background:var(--color-bg-hover);border:1px solid var(--color-divider);color:var(--color-text);font-size:.9375rem}.prompt-form__input[_ngcontent-%COMP%], .prompt-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.prompt-form__input[_ngcontent-%COMP%]:focus, .prompt-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__input[_ngcontent-%COMP%]::placeholder, .prompt-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.prompt-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px;line-height:1.5}.prompt-form__textarea--code[_ngcontent-%COMP%]{font-family:monospace;font-size:.85rem;resize:vertical}.prompt-form__section[_ngcontent-%COMP%]{border:1px solid var(--color-divider);border-radius:0;padding:1rem;margin:0;display:flex;flex-direction:column;gap:.75rem}.prompt-form__section-hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__empty-hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.prompt-form__content-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-start}.prompt-form__content-field[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.25rem}.prompt-form__content-index[_ngcontent-%COMP%]{flex-shrink:0;width:1.5rem;padding-top:.6rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-align:right;-webkit-user-select:none;user-select:none}.prompt-form__param-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end;padding:.75rem;border-radius:0;background:var(--color-bg-hover)}.prompt-form__param-fields[_ngcontent-%COMP%]{flex:1;display:flex;gap:.75rem;flex-wrap:wrap}.prompt-form__add-btn[_ngcontent-%COMP%]{align-self:flex-start;padding:.4rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-accent);font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__add-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.prompt-form__remove-btn[_ngcontent-%COMP%]{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:0;border:1px solid transparent;background:transparent;color:var(--color-neutral-500);font-size:1rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.prompt-form__remove-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);border-color:var(--red)}.prompt-form__remove-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.prompt-form__error[_ngcontent-%COMP%]{margin:0;padding:.625rem .875rem;border-radius:0;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid var(--red);color:var(--red);font-size:.875rem;line-height:1.4}.prompt-form__field-error[_ngcontent-%COMP%]{font-size:.8rem;color:var(--red);line-height:1.3}.prompt-form__input--invalid[_ngcontent-%COMP%], .prompt-form__textarea--invalid[_ngcontent-%COMP%]{border-color:var(--red)}.prompt-form__input--invalid[_ngcontent-%COMP%]:focus, .prompt-form__textarea--invalid[_ngcontent-%COMP%]:focus{border-color:var(--red)}.prompt-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.prompt-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.prompt-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.prompt-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.prompt-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.prompt-form__btn--export[_ngcontent-%COMP%]{border-color:var(--color-divider);color:var(--color-text-secondary)}.prompt-form__btn--export[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}"]})};function be(i){let t=i.value?.trim();if(!t)return null;try{return JSON.parse(t),null}catch(e){return {invalidJson:true}}}export{re as PromptFormComponent};
|
|
1
|
+
import {m}from'./chunk-kFOHrPbJ.js';import {g,ao as V,G,C as Ce$1,da as M,a as Gi,b as U,a7 as ya,W as br,x,w,e as xw,k as ws,q as Rg,n as GC,o as pl,J as Jw,X as XE,a5 as vl,a8 as Yg,y as eC,a9 as lC,S as Sg,a3 as VI,t as rC,bo as tC,ac as gC,v as bg,A as Ug,a6 as UI,z as oC,aa as If,ab as wf}from'./main-2EYBZUJC.js';import {o as z,z as ze,k as _t,b as _e$1,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,C as Cn,E as En,p as An,q as Ct,V as Vt}from'./chunk-CZmNdEYy.js';import'./chunk-DqzTsn7a.js';import'./chunk-Bx_FH6m3.js';import'./chunk-BPkyqr-f.js';var ne=(i,t)=>t.id;function ie(i,t){i&1&&(ws(0,"p",5),GC(1,"Loading\u2026"),pl());}function ae(i,t){i&1&&(ws(0,"span",12),GC(1,"Name is required."),pl());}function le(i,t){if(i&1&&(ws(0,"p",32),GC(1),pl(),ws(2,"span",26),GC(3,"Agent Config cannot be changed after creation."),pl()),i&2){let e=gC(3);XE(),Yg(e.resolveAgentConfigName(e.agentConfigIdControl.value));}}function me(i,t){if(i&1&&(ws(0,"option",34),GC(1),pl()),i&2){let e=t.$implicit;bg("ngValue",e.id),XE(),Yg(e.name);}}function pe(i,t){if(i&1&&(ws(0,"select",33)(1,"option",34),GC(2,"\u2014 None \u2014"),pl(),rC(3,me,2,2,"option",34,ne),pl(),VI(),ws(5,"span",26),GC(6,"Optional. Links this prompt to an agent as a starter. Immutable after creation."),pl()),i&2){let e=gC(3);bg("formControl",e.agentConfigIdControl),UI(),XE(),bg("ngValue",null),XE(2),oC(e.availableAgentConfigs());}}function de(i,t){if(i&1&&(ws(0,"div",8)(1,"label",31),GC(2,"Agent Config"),pl(),Jw(3,le,4,1)(4,pe,7,2),pl()),i&2){let e=gC(2);XE(3),eC(e.isEditMode()&&e.agentConfigIdControl.value?3:e.isEditMode()?-1:4);}}function ce(i,t){i&1&&(ws(0,"p",19),GC(1,"No parameters defined."),pl());}function se(i,t){i&1&&(ws(0,"span",12),GC(1,"Parameter name is required."),pl());}function _e(i,t){if(i&1){let e=lC();ws(0,"div",20)(1,"div",35)(2,"div",36)(3,"label",37),GC(4,"Name "),ws(5,"span",10),GC(6,"*"),pl()(),Sg(7,"input",38),VI(),Jw(8,se,2,0,"span",12),pl(),ws(9,"div",36)(10,"label",37),GC(11,"Description"),pl(),Sg(12,"input",39),VI(),pl(),ws(13,"div",36)(14,"label",37),GC(15,"Default value"),pl(),Sg(16,"input",40),VI(),pl()(),ws(17,"button",41),Rg("click",function(){let m=If(e).$index,d=gC(2);return wf(d.removeParameter(m))}),GC(18," \xD7 "),pl()();}if(i&2){let e=t.$implicit,l=t.$index;bg("formGroupName",l),XE(3),bg("for","param-name-"+l),XE(4),Ug("prompt-form__input--invalid",e.controls.name.invalid&&e.controls.name.touched),bg("id","param-name-"+l),UI(),XE(),eC(e.controls.name.invalid&&e.controls.name.touched?8:-1),XE(2),bg("for","param-desc-"+l),XE(2),bg("id","param-desc-"+l),UI(),XE(2),bg("for","param-default-"+l),XE(2),bg("id","param-default-"+l),UI();}}function fe(i,t){i&1&&(ws(0,"span",12),GC(1,"Content entry must not be blank."),pl());}function ue(i,t){if(i&1){let e=lC();ws(0,"div",22)(1,"span",42),GC(2),pl(),ws(3,"div",43),Sg(4,"textarea",44),VI(),Jw(5,fe,2,0,"span",12),pl(),ws(6,"button",45),Rg("click",function(){let m=If(e).$index,d=gC(2);return wf(d.removeContentEntry(m))}),GC(7," \xD7 "),pl()();}if(i&2){let e=t.$implicit,l=t.$index,m=gC(2);XE(2),Yg(l+1),XE(2),Ug("prompt-form__textarea--invalid",e.invalid&&e.touched),bg("formControlName",l),UI(),XE(),eC(e.invalid&&e.touched?5:-1),XE(),bg("disabled",m.contentArray.length===1);}}function ge(i,t){if(i&1&&(ws(0,"p",23),GC(1),pl()),i&2){let e=gC(2);XE(),Yg(e.errorMessage());}}function Ce(i,t){i&1&&(ws(0,"span",12),GC(1,"Invalid JSON."),pl());}function xe(i,t){if(i&1){let e=lC();ws(0,"button",46),Rg("click",function(){If(e);let m=gC(2);return wf(m.exportYaml())}),GC(1),pl();}if(i&2){let e=gC(2);bg("disabled",e.isExporting()),XE(),vl(" ",e.isExporting()?"Exporting\u2026":"Export as YAML"," ");}}function ve(i,t){if(i&1){let e=lC();ws(0,"form",7),Rg("ngSubmit",function(){If(e);let m=gC();return wf(m.submit())}),ws(1,"div",8)(2,"label",9),GC(3,"Name "),ws(4,"span",10),GC(5,"*"),pl()(),Sg(6,"input",11),VI(),Jw(7,ae,2,0,"span",12),pl(),ws(8,"div",8)(9,"label",13),GC(10,"Description"),pl(),Sg(11,"input",14),VI(),pl(),Jw(12,de,5,1,"div",8),ws(13,"fieldset",15)(14,"legend",16),GC(15," Parameters "),ws(16,"span",17),GC(17,"Named placeholders used in content"),pl()(),ws(18,"p",18),GC(19," Each parameter must have a name and a default value. Use "),ws(20,"code"),GC(21),pl(),GC(22," in content entries to reference them. "),pl(),Jw(23,ce,2,0,"p",19),rC(24,_e,19,10,"div",20,tC),ws(26,"button",21),Rg("click",function(){If(e);let m=gC();return wf(m.addParameter())}),GC(27,"+ Add parameter"),pl()(),ws(28,"fieldset",15)(29,"legend",16),GC(30," Content "),ws(31,"span",10),GC(32,"*"),pl(),ws(33,"span",17),GC(34,"Ordered list of text commands"),pl()(),ws(35,"p",18),GC(36," Each content entry is a command. Use "),ws(37,"code"),GC(38,"@AgentName"),pl(),GC(39," to target an agent, "),ws(40,"code"),GC(41,"/promptName param1 param2"),pl(),GC(42," to call another prompt, and "),ws(43,"code"),GC(44),pl(),GC(45," for parameter placeholders. "),pl(),rC(46,ue,8,6,"div",22,tC),ws(48,"button",21),Rg("click",function(){If(e);let m=gC();return wf(m.addContentEntry())}),GC(49,"+ Add content entry"),pl()(),Jw(50,ge,2,1,"p",23),ws(51,"div",8)(52,"label",24),GC(53,"External Metadata"),pl(),Sg(54,"textarea",25),VI(),Jw(55,Ce,2,0,"span",12),ws(56,"span",26),GC(57,"Optional. Opaque JSON object stored as-is. Leave empty to clear."),pl()(),ws(58,"div",27)(59,"button",28),GC(60),pl(),Jw(61,xe,2,2,"button",29),ws(62,"button",30),Rg("click",function(){If(e);let m=gC();return wf(m.cancel())}),GC(63,"Cancel"),pl()()();}if(i&2){let e=gC();bg("formGroup",e.form),XE(6),Ug("prompt-form__input--invalid",e.nameControl.invalid&&e.nameControl.touched),bg("formControl",e.nameControl),UI(),XE(),eC(e.nameControl.invalid&&e.nameControl.touched?7:-1),XE(4),bg("formControl",e.descriptionControl),UI(),XE(),eC(e.availableAgentConfigs().length>0?12:-1),XE(),bg("formArrayName","parameters"),XE(8),Yg(e.paramPlaceholderSyntax),XE(2),eC(e.parametersArray.length===0?23:-1),XE(),oC(e.parametersArray.controls),XE(4),bg("formArrayName","content"),XE(16),Yg(e.paramPlaceholderSyntax),XE(2),oC(e.contentArray.controls),XE(4),eC(e.errorMessage()?50:-1),XE(4),bg("formControl",e.externalMetadataJsonControl),UI(),XE(),eC(e.externalMetadataJsonControl.invalid&&e.externalMetadataJsonControl.touched?55:-1),XE(4),bg("disabled",e.form.invalid||e.isSubmitting()),XE(),vl(" ",e.isEditMode()?"Save changes":"Create"," "),XE(),eC(e.isEditMode()?61:-1);}}var re=class i{route=g(V);router=g(G);destroyRef=g(Ce$1);promptState=g(m);agentConfigController=g(M);namespaceId=this.route.snapshot.params.namespaceId;isPlatformMode=!this.namespaceId;form=new z({name:new _t("",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(null),agentConfigId:new _t(null),externalMetadataJson:new _t("",{nonNullable:true,validators:[be]}),content:new ze([this.createContentControl()],{validators:[_e$1.required]}),parameters:new ze([])});get nameControl(){return this.form.controls.name}get descriptionControl(){return this.form.controls.description}get agentConfigIdControl(){return this.form.controls.agentConfigId}get externalMetadataJsonControl(){return this.form.controls.externalMetadataJson}get contentArray(){return this.form.controls.content}get parametersArray(){return this.form.controls.parameters}isEditMode=Gi(false);isSubmitting=Gi(false);isLoading=Gi(false);isExporting=Gi(false);errorMessage=Gi(null);paramPlaceholderSyntax="{{paramName}}";agentConfigs=Gi([]);availableAgentConfigs=this.agentConfigs.asReadonly();existingPrompt=null;ngOnInit(){let t=this.route.snapshot.paramMap.get("promptId");t&&(this.isEditMode.set(true),this.loadPrompt(t)),this.isPlatformMode?this.loadPlatformAgentConfigs():this.namespaceId&&this.loadAgentConfigs(this.namespaceId);}loadPrompt(t){this.isLoading.set(true),this.promptState.getById(t).pipe(U(this.destroyRef)).subscribe({next:e=>{this.existingPrompt=e,this.hydrateForm(e),this.isLoading.set(false);},error:()=>{this.isLoading.set(false),this.navigateBack();}});}loadAgentConfigs(t){this.agentConfigController.listByParentAgentConfig(t).pipe(U(this.destroyRef),ya(()=>br([]))).subscribe(e=>this.agentConfigs.set(e));}loadPlatformAgentConfigs(){this.agentConfigController.listPlatformAgentsAgentConfig().pipe(U(this.destroyRef),ya(()=>br([]))).subscribe(t=>this.agentConfigs.set(t));}hydrateForm(t){this.nameControl.setValue(t.name),this.descriptionControl.setValue(t.description??null),this.agentConfigIdControl.setValue(t.agentConfigId??null),this.contentArray.clear(),(t.content.length>0?t.content:[""]).forEach(l=>this.contentArray.push(this.createContentControl(l))),this.parametersArray.clear(),(t.parameters??[]).forEach(l=>this.parametersArray.push(this.createParameterGroup(l))),this.externalMetadataJsonControl.setValue(t.externalMetadata?JSON.stringify(t.externalMetadata,null,2):"");}resolveAgentConfigName(t){return this.agentConfigs().find(e=>e.id===t)?.name??t}createContentControl(t=""){return new _t(t,{nonNullable:true,validators:[_e$1.required,_e$1.pattern(/\S/)]})}addContentEntry(){this.contentArray.push(this.createContentControl());}removeContentEntry(t){this.contentArray.length>1&&this.contentArray.removeAt(t);}createParameterGroup(t){return new z({name:new _t(t?.name??"",{nonNullable:true,validators:[_e$1.required,_e$1.minLength(1)]}),description:new _t(t?.description??null),defaultValue:new _t(t?.defaultValue??"",{nonNullable:true,validators:[_e$1.required]})})}addParameter(){this.parametersArray.push(this.createParameterGroup());}removeParameter(t){this.parametersArray.removeAt(t);}submit(){if(this.form.invalid||this.isSubmitting())return;this.isSubmitting.set(true);let t=this.isEditMode()&&!!this.existingPrompt?.id,e=x(w({},this.existingPrompt??{}),{namespaceId:this.namespaceId,sourceLanguage:this.existingPrompt?.sourceLanguage??"en",name:this.nameControl.value.trim(),description:this.descriptionControl.value?.trim()||void 0,content:this.contentArray.controls.map(d=>d.value.trim()),parameters:this.parametersArray.controls.map(d=>({name:d.controls.name.value.trim(),description:d.controls.description.value?.trim()||void 0,defaultValue:d.controls.defaultValue.value.trim()}))});t||(e.agentConfigId=this.agentConfigIdControl.value||null);let l=this.externalMetadataJsonControl.value.trim();e.externalMetadata=l?JSON.parse(l):null;let m=t?this.promptState.update(this.existingPrompt.id,e):this.promptState.create(e);this.errorMessage.set(null),m.pipe(U(this.destroyRef)).subscribe({next:()=>this.navigateBack(),error:d=>{this.isSubmitting.set(false),d.status===409?this.errorMessage.set(`A prompt named "${e.name}" already exists in this scope.`):d.status===400?this.errorMessage.set(d.error?.message??"Invalid prompt data."):this.errorMessage.set("An unexpected error occurred. Please try again.");}});}exportYaml(){let t=this.existingPrompt?.id;!t||this.isExporting()||(this.isExporting.set(true),this.promptState.exportAsYaml(t).pipe(U(this.destroyRef)).subscribe({next:e=>{let l=new Blob([e],{type:"application/yaml"}),m=URL.createObjectURL(l),d=document.createElement("a");d.href=m,d.download=`${this.existingPrompt?.name??"prompt"}.yaml`,d.click(),URL.revokeObjectURL(m),this.isExporting.set(false);},error:()=>this.isExporting.set(false)}));}cancel(){this.navigateBack();}navigateBack(){this.isPlatformMode?this.router.navigate(["/agentos","admin","prompts"]):this.router.navigate(["/agentos",this.namespaceId,"prompts"]);}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=xw({type:i,selectors:[["agentos-prompt-form"]],decls:10,vars:3,consts:[[1,"prompt-form"],[1,"prompt-form__header"],["type","button","title","Back to prompts",1,"prompt-form__back",3,"click"],[1,"prompt-form__back-icon"],[1,"prompt-form__title"],[1,"prompt-form__loading"],[1,"prompt-form__form",3,"formGroup"],[1,"prompt-form__form",3,"ngSubmit","formGroup"],[1,"prompt-form__field"],["for","prompt-name",1,"prompt-form__label"],["aria-hidden","true"],["id","prompt-name","type","text","placeholder","e.g. Summarise meeting notes","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__field-error"],["for","prompt-description",1,"prompt-form__label"],["id","prompt-description","type","text","placeholder","Optional \u2014 short description of this prompt","autocomplete","off",1,"prompt-form__input",3,"formControl"],[1,"prompt-form__section",3,"formArrayName"],[1,"prompt-form__label"],[1,"prompt-form__label-hint"],[1,"prompt-form__section-hint"],[1,"prompt-form__empty-hint"],[1,"prompt-form__param-row",3,"formGroupName"],["type","button",1,"prompt-form__add-btn",3,"click"],[1,"prompt-form__content-row"],[1,"prompt-form__error"],["for","prompt-external-metadata",1,"prompt-form__label"],["id","prompt-external-metadata","rows","6","placeholder",'{ "key": "value" }',"spellcheck","false","autocomplete","off",1,"prompt-form__textarea","prompt-form__textarea--code",3,"formControl"],[1,"prompt-form__field-hint"],[1,"prompt-form__actions"],["type","submit",1,"prompt-form__btn","prompt-form__btn--primary",3,"disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"disabled"],["type","button",1,"prompt-form__btn",3,"click"],["for","prompt-agent-config",1,"prompt-form__label"],[1,"prompt-form__readonly-value"],["id","prompt-agent-config",1,"prompt-form__select",3,"formControl"],[3,"ngValue"],[1,"prompt-form__param-fields"],[1,"prompt-form__field","prompt-form__field--inline"],[1,"prompt-form__label",3,"for"],["type","text","placeholder","e.g. language","formControlName","name","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","Optional","formControlName","description","autocomplete","off",1,"prompt-form__input",3,"id"],["type","text","placeholder","e.g. English","formControlName","defaultValue","autocomplete","off",1,"prompt-form__input",3,"id"],["type","button","title","Remove this parameter",1,"prompt-form__remove-btn",3,"click"],[1,"prompt-form__content-index"],[1,"prompt-form__content-field"],["rows","4","placeholder","Enter a command\u2026",1,"prompt-form__textarea",3,"formControlName"],["type","button","title","Remove this entry",1,"prompt-form__remove-btn",3,"click","disabled"],["type","button",1,"prompt-form__btn","prompt-form__btn--export",3,"click","disabled"]],template:function(e,l){e&1&&(ws(0,"div",0)(1,"header",1)(2,"button",2),Rg("click",function(){return l.cancel()}),ws(3,"span",3),GC(4,"\u2190"),pl(),GC(5),pl(),ws(6,"h1",4),GC(7),pl()(),Jw(8,ie,2,0,"p",5)(9,ve,64,18,"form",6),pl()),e&2&&(XE(5),vl(" ",l.isPlatformMode?"Platform prompts":"Prompts"," "),XE(2),Yg(l.isEditMode()?"Edit prompt":"New prompt"),XE(),eC(l.isLoading()?8:9));},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,Cn,En,An,Ct,Vt],styles:[".prompt-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.prompt-form__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.5rem}.prompt-form__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-accent)}.prompt-form__back[_ngcontent-%COMP%]:hover{text-decoration:underline}.prompt-form__back-icon[_ngcontent-%COMP%]{font-size:1rem;line-height:1}.prompt-form__title[_ngcontent-%COMP%]{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.prompt-form__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.9rem;margin:0}.prompt-form__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.25rem}.prompt-form__field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.375rem}.prompt-form__field--inline[_ngcontent-%COMP%]{flex:1}.prompt-form__label[_ngcontent-%COMP%]{font-size:.875rem;font-weight:500;color:var(--color-text)}.prompt-form__label-hint[_ngcontent-%COMP%]{font-weight:400;color:var(--color-text-secondary);margin-left:.375rem}.prompt-form__select[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;cursor:pointer;appearance:auto;transition:border-color .15s ease}.prompt-form__select[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__field-hint[_ngcontent-%COMP%]{font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__readonly-value[_ngcontent-%COMP%]{margin:0;padding:.5rem .875rem;border-radius:0;background:var(--color-bg-hover);border:1px solid var(--color-divider);color:var(--color-text);font-size:.9375rem}.prompt-form__input[_ngcontent-%COMP%], .prompt-form__textarea[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;transition:border-color .15s ease}.prompt-form__input[_ngcontent-%COMP%]:focus, .prompt-form__textarea[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.prompt-form__input[_ngcontent-%COMP%]::placeholder, .prompt-form__textarea[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.prompt-form__textarea[_ngcontent-%COMP%]{resize:vertical;min-height:100px;line-height:1.5}.prompt-form__textarea--code[_ngcontent-%COMP%]{font-family:monospace;font-size:.85rem;resize:vertical}.prompt-form__section[_ngcontent-%COMP%]{border:1px solid var(--color-divider);border-radius:0;padding:1rem;margin:0;display:flex;flex-direction:column;gap:.75rem}.prompt-form__section-hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4}.prompt-form__empty-hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary);font-style:italic}.prompt-form__content-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-start}.prompt-form__content-field[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;gap:.25rem}.prompt-form__content-index[_ngcontent-%COMP%]{flex-shrink:0;width:1.5rem;padding-top:.6rem;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-align:right;-webkit-user-select:none;user-select:none}.prompt-form__param-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:flex-end;padding:.75rem;border-radius:0;background:var(--color-bg-hover)}.prompt-form__param-fields[_ngcontent-%COMP%]{flex:1;display:flex;gap:.75rem;flex-wrap:wrap}.prompt-form__add-btn[_ngcontent-%COMP%]{align-self:flex-start;padding:.4rem .875rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-accent);font-size:.875rem;font-family:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__add-btn[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-accent)}.prompt-form__remove-btn[_ngcontent-%COMP%]{flex-shrink:0;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;border-radius:0;border:1px solid transparent;background:transparent;color:var(--color-neutral-500);font-size:1rem;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.prompt-form__remove-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);border-color:var(--red)}.prompt-form__remove-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.prompt-form__error[_ngcontent-%COMP%]{margin:0;padding:.625rem .875rem;border-radius:0;background:color-mix(in srgb,var(--red) 10%,transparent);border:1px solid var(--red);color:var(--red);font-size:.875rem;line-height:1.4}.prompt-form__field-error[_ngcontent-%COMP%]{font-size:.8rem;color:var(--red);line-height:1.3}.prompt-form__input--invalid[_ngcontent-%COMP%], .prompt-form__textarea--invalid[_ngcontent-%COMP%]{border-color:var(--red)}.prompt-form__input--invalid[_ngcontent-%COMP%]:focus, .prompt-form__textarea--invalid[_ngcontent-%COMP%]:focus{border-color:var(--red)}.prompt-form__actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;padding-top:.5rem}.prompt-form__btn[_ngcontent-%COMP%]{padding:.6rem 1.25rem;border-radius:0;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.prompt-form__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.prompt-form__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.prompt-form__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.prompt-form__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.prompt-form__btn--export[_ngcontent-%COMP%]{border-color:var(--color-divider);color:var(--color-text-secondary)}.prompt-form__btn--export[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}"]})};function be(i){let t=i.value?.trim();if(!t)return null;try{return JSON.parse(t),null}catch(e){return {invalidJson:true}}}export{re as PromptFormComponent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {O}from'./chunk-BSAXfS2x.js';import {R}from'./chunk-CCQAu0MS.js';import {N}from'./chunk-Dz1wgxrF.js';import {g,G,bm as Mm,C as Ce$1,a as Gi,m as mT,F,aD as Py,r as re,b as U,e as xw,k as ws,q as Rg,o as pl,n as GC,J as Jw,X as XE,y as eC,t as rC,ac as gC,z as oC,a9 as lC,A as Ug,T as Tg,a8 as Yg,a5 as vl,S as Sg,a3 as VI,v as bg,a6 as UI,aa as If,ab as wf,cH as Kw}from'./main-2GG5NZ4C.js';import {l,I,f}from'./chunk-C-VoWDOg.js';import {S as Se$1}from'./chunk-BjBW1d-u.js';import'./chunk-Bbb2Oy9I.js';import {o as z,k as _t,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,E as En,p as An}from'./chunk-D_aTK145.js';import'./chunk-C0DMx9CU.js';import'./chunk-G_l8BMaJ.js';var D=(r,i)=>i.value;function se(r,i){r&1&&(ws(0,"p",4),GC(1,"Loading\u2026"),pl());}function de(r,i){if(r&1){let e=lC();ws(0,"button",18),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setThemeVariant(d.value))}),ws(1,"span",19),GC(2),pl(),ws(3,"span",20),GC(4),pl()();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__theme-variant--active",a.themeVariant()===e.value),Tg("aria-pressed",a.themeVariant()===e.value),XE(2),Yg(e.label),XE(2),Yg(e.description);}}function _e(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setTheme(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.themeMode()===e.value),Tg("aria-pressed",a.themeMode()===e.value),XE(),vl(" ",e.label," ");}}function ce(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setEnterKeyBehavior(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.enterKeyBehavior()===e.value),Tg("aria-pressed",a.enterKeyBehavior()===e.value),XE(),vl(" ",e.label," ");}}function pe(r,i){if(r&1&&(ws(0,"option",32),GC(1),pl()),r&2){let e=i.$implicit;bg("value",e.value),XE(),Yg(e.label);}}function me(r,i){if(r&1){let e=lC();ws(0,"form",22),Rg("ngSubmit",function(){If(e);let d=gC(2);return wf(d.save())}),ws(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",23),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",23),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"label",24),GC(19,"First name"),pl(),Sg(20,"input",25),VI(),pl(),ws(21,"div",7)(22,"label",26),GC(23,"Last name"),pl(),Sg(24,"input",27),VI(),pl(),ws(25,"div",7)(26,"label",28),GC(27,"Bio"),pl(),Sg(28,"textarea",29),VI(),pl(),ws(29,"div",7)(30,"label",30),GC(31,"Language"),pl(),ws(32,"select",31),rC(33,pe,2,2,"option",32,D),pl(),VI(),pl()(),ws(35,"div",33)(36,"button",34),GC(37),pl(),ws(38,"button",35),Rg("click",function(){If(e);let d=gC(2);return wf(d.cancelEditing())}),GC(39,"Cancel"),pl()()();}if(r&2){let e=gC(),a=gC();bg("formGroup",a.form),XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(7),UI(),XE(4),UI(),XE(4),UI(),XE(4),UI(),XE(),oC(a.languageOptions),XE(3),bg("disabled",a.isSaving()),XE(),vl(" ",a.isSaving()?"Saving\u2026":"Save changes"," ");}}function ue(r,i){r&1&&(ws(0,"p",43),GC(1," No global configuration yet. Create one from the Integrations / AI Providers / Auth Settings pages of your namespaces. "),pl());}function fe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function ge(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Ce(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,fe,6,0)(6,ge,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function ve(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"Integrations"),pl(),ws(2,"ul",45),rC(3,Ce,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().integrations);}}function xe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function be(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function ye(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,xe,6,0)(6,be,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function he(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"AI Providers"),pl(),ws(2,"ul",45),rC(3,ye,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().aiProviders);}}function Ee(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function Pe(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Se(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,Ee,6,0)(6,Pe,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function we(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"My global auth settings"),pl(),ws(2,"ul",45),rC(3,Se,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().authSettings);}}function ke(r,i){if(r&1&&(Jw(0,ve,5,0),Jw(1,he,5,0),Jw(2,we,5,0)),r&2){let e=gC(4);eC(e.recap().integrations.length>0?0:-1),XE(),eC(e.recap().aiProviders.length>0?1:-1),XE(),eC(e.recap().authSettings.length>0?2:-1);}}function Me(r,i){if(r&1&&Jw(0,ue,2,0,"p",43)(1,ke,3,3),r&2){let e=gC(3);eC(e.recap().total===0?0:1);}}function Oe(r,i){if(r&1){let e=lC();ws(0,"div",17)(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",36),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",36),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"span",8),GC(19,"First name"),pl(),ws(20,"span",36),GC(21),pl()(),ws(22,"div",7)(23,"span",8),GC(24,"Last name"),pl(),ws(25,"span",36),GC(26),pl()(),ws(27,"div",37)(28,"span",8),GC(29,"Bio"),pl(),ws(30,"span",36),GC(31),pl()(),ws(32,"div",7)(33,"span",8),GC(34,"Language"),pl(),ws(35,"span",36),GC(36),pl()()(),ws(37,"div",33)(38,"button",38),Rg("click",function(){If(e);let d=gC(2);return wf(d.startEditing())}),GC(39," Edit profile "),pl()(),ws(40,"div",39)(41,"button",40),Rg("click",function(){If(e);let d=gC(2);return wf(d.toggleOverrides())}),ws(42,"span",41),GC(43,"\u25B6"),pl(),GC(44," My global user configurations "),ws(45,"span",42),GC(46),pl()(),Jw(47,Me,2,1),pl()();}if(r&2){let e=gC(),a=gC();XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(8),Yg(e.firstname||"\u2014"),XE(5),Yg(e.lastname||"\u2014"),XE(5),Yg(e.bio||"\u2014"),XE(5),Yg(e.preferredLanguage||"\u2014"),XE(5),Tg("aria-expanded",a.isOverridesExpanded()),XE(),Ug("user-profile__overrides-arrow--open",a.isOverridesExpanded()),XE(4),vl("(",a.recap().total,")"),XE(),eC(a.isOverridesExpanded()?47:-1);}}function Ue(r,i){if(r&1&&(ws(0,"div",5)(1,"h2",6),GC(2,"Appearance"),pl(),ws(3,"div",7)(4,"span",8),GC(5,"Skin"),pl(),ws(6,"div",9),rC(7,de,5,5,"button",10,D),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"Mode"),pl(),ws(12,"div",11),rC(13,_e,2,4,"button",12,D),pl()()(),ws(15,"div",5)(16,"h2",6),GC(17,"Composer"),pl(),ws(18,"div",7)(19,"span",8),GC(20,"Enter key"),pl(),ws(21,"div",13)(22,"div",14),rC(23,ce,2,4,"button",12,D),pl(),ws(25,"p",15),GC(26,'In "New line" mode, press Ctrl or Cmd + Enter to send.'),pl()()()(),Jw(27,me,40,5,"form",16)(28,Oe,48,11,"div",17)),r&2){let e=gC();XE(7),oC(e.themeVariantOptions),XE(6),oC(e.themeOptions),XE(10),oC(e.enterKeyOptions),XE(4),eC(e.isEditing()?27:28);}}function Te(r,i){r&1&&(ws(0,"p",4),GC(1,"Unable to load profile."),pl());}var le=class r{userState=g(l);router=g(G);location=g(Mm);destroyRef=g(Ce$1);integrationState=g(N);providerState=g(O);authSettingState=g(R);themePort=g(I);preferencesPort=g(f);isEditing=Gi(false);isLoading=Gi(false);isSaving=Gi(false);isOverridesExpanded=Gi(false);currentUser=this.userState.currentUser;theme=this.themePort.theme;themeMode=mT(()=>this.themePort.theme().mode);themeOptions=[{value:"light",label:"Light"},{value:"dark",label:"Dark"},{value:"system",label:"System"}];themeVariant=mT(()=>this.themePort.theme().variant);themeVariantOptions=[{value:"industry",label:"Industry",description:"Bleu acier, Barlow"},{value:"terminal",label:"Terminal",description:"Ambre CRT, JetBrains Mono"}];enterKeyBehavior=this.preferencesPort.enterKeyBehavior;enterKeyOptions=[{value:"send",label:"Send"},{value:"newline",label:"New line"}];languageOptions=[{value:"",label:"No preference (English fallback)"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"es",label:"Spanish"},{value:"pt",label:"Portuguese"},{value:"it",label:"Italian"},{value:"nl",label:"Dutch"},{value:"pl",label:"Polish"},{value:"ja",label:"Japanese"},{value:"zh",label:"Chinese"}];form=new z({firstname:new _t("",{nonNullable:true}),lastname:new _t("",{nonNullable:true}),bio:new _t("",{nonNullable:true}),preferredLanguage:new _t("",{nonNullable:true})});recap=F(Py([this.integrationState.userGlobal$,this.providerState.userGlobal$,this.authSettingState.userGlobal$]).pipe(re(([i,e,a])=>{let d=i.map(g=>({category:"integration",id:g.id??"",name:g.name,subtitle:g.integrationType})),_=e.map(g=>({category:"aiProvider",id:g.id??"",name:g.name,subtitle:g.apiType})),I=a.map(g=>({category:"authSetting",id:g.id??"",name:g.name,subtitle:g.authType}));return {integrations:d,aiProviders:_,authSettings:I,total:d.length+_.length+I.length}})),{initialValue:{integrations:[],aiProviders:[],authSettings:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(true),this.userState.loadMe().pipe(U(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(false);},error:()=>this.isLoading.set(false)});}startEditing(){this.syncFormFromState(),this.isEditing.set(true);}cancelEditing(){this.isEditing.set(false);}setTheme(i){this.themePort.setTheme({variant:this.themePort.theme().variant,mode:i});}setThemeVariant(i){this.themePort.setTheme({variant:i,mode:this.themePort.theme().mode});}setEnterKeyBehavior(i){this.preferencesPort.setEnterKeyBehavior(i);}save(){if(this.isSaving())return;this.isSaving.set(true);let i=this.form.controls.preferredLanguage.value.trim();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,preferredLanguage:i||void 0}).pipe(U(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(false),this.isEditing.set(false);},error:()=>this.isSaving.set(false)});}toggleOverrides(){this.isOverridesExpanded.update(i=>!i),this.pendingDeleteKey.set(null);}pendingDeleteKey=Gi(null);isPendingDelete(i){return this.pendingDeleteKey()===this.entryKey(i)}armDelete(i){i.id&&this.pendingDeleteKey.set(this.entryKey(i));}cancelDelete(){this.pendingDeleteKey.set(null);}confirmDelete(i){if(!i.id)return;this.pendingDeleteKey.set(null),(i.category==="integration"?this.integrationState.delete(i.id,"userGlobal"):i.category==="authSetting"?this.authSettingState.delete(i.id,"userGlobal"):this.providerState.delete(i.id,"userGlobal")).pipe(U(this.destroyRef)).subscribe({error:a=>{console.error(`[UserProfile] Delete failed for ${i.category}:${i.id}:`,a);}});}entryKey(i){return `${i.category}:${i.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"]);}trackEntry(i,e){return this.entryKey(e)}syncFormFromState(){let i=this.currentUser();i&&this.form.setValue({firstname:i.firstname??"",lastname:i.lastname??"",bio:i.bio??"",preferredLanguage:i.preferredLanguage??""});}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=xw({type:r,selectors:[["agentos-user-profile"]],decls:8,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["icon","arrow_back","title","Back",3,"action"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[1,"user-profile__theme-variants"],["type","button",1,"user-profile__theme-variant",3,"user-profile__theme-variant--active"],["role","group","aria-label","Color mode",1,"user-profile__segmented"],["type","button",1,"user-profile__segmented-option",3,"user-profile__segmented-option--active"],[1,"user-profile__field-control"],["role","group","aria-label","Enter key behavior",1,"user-profile__segmented"],[1,"user-profile__hint"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],["type","button",1,"user-profile__theme-variant",3,"click"],[1,"user-profile__theme-variant-name"],[1,"user-profile__theme-variant-desc"],["type","button",1,"user-profile__segmented-option",3,"click"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[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"],["for","up-preferredLanguage",1,"user-profile__label"],["id","up-preferredLanguage","formControlName","preferredLanguage",1,"user-profile__input","user-profile__select"],[3,"value"],[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(e,a){if(e&1&&(ws(0,"div",0)(1,"header",1)(2,"ds-icon-button",2),Rg("action",function(){return a.goBack()}),pl(),ws(3,"h1",3),GC(4,"My profile"),pl()(),Jw(5,se,2,0,"p",4)(6,Ue,29,1)(7,Te,2,0,"p",4),pl()),e&2){let d;XE(5),eC(a.isLoading()?5:(d=a.currentUser())?6:7,d);}},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,En,An,Se$1],styles:[`.user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;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-accent)}.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:700;color:var(--color-text);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);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-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);border-bottom:1px solid var(--color-divider);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);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.875rem}.user-profile__segmented[_ngcontent-%COMP%]{display:inline-flex;justify-self:start;border:1px solid var(--color-divider);overflow:hidden}.user-profile__segmented-option[_ngcontent-%COMP%]{padding:.4rem .85rem;background:transparent;border:none;border-right:1px solid var(--color-divider);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.user-profile__segmented-option[_ngcontent-%COMP%]:last-child{border-right:none}.user-profile__segmented-option[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.user-profile__segmented-option--active[_ngcontent-%COMP%]{background:var(--color-accent);color:#fff}.user-profile__segmented-option--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-700)}.user-profile__field-control[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.user-profile__hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.user-profile__select[_ngcontent-%COMP%]{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;border-radius:0;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.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:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;border-radius:0;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.user-profile__theme-variants[_ngcontent-%COMP%]{display:flex;gap:8px;justify-self:start}.user-profile__theme-variant[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 16px;border:1px solid var(--color-divider);background:transparent;cursor:pointer;min-width:120px;transition:background .12s,border-color .12s}.user-profile__theme-variant[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__theme-variant--active[_ngcontent-%COMP%]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.user-profile__theme-variant-name[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--color-text)}.user-profile__theme-variant-desc[_ngcontent-%COMP%]{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-body)}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-divider)}.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-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);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:0}.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:var(--font-heading)}.user-profile__overrides-confirm-label[_ngcontent-%COMP%]{font-size:11px;font-family:var(--font-heading);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);white-space:nowrap}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:1px solid transparent;font-size:11px;font-family:var(--font-heading);font-weight:600;color:var(--color-neutral-500);cursor:pointer;padding:3px 8px;border-radius:0;transition:color .12s,background .12s,border-color .12s}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red)}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]{border-color:var(--red);background:var(--red);color:#fff}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}`]})};
|
|
1
|
+
import {O}from'./chunk-DstI03OT.js';import {R}from'./chunk-B_gHVcU6.js';import {N}from'./chunk-DnMJl9Ao.js';import {g,G,bm as Mm,C as Ce$1,a as Gi,m as mT,F,aD as Ly,r as re,b as U,e as xw,k as ws,q as Rg,o as pl,n as GC,J as Jw,X as XE,y as eC,t as rC,ac as gC,z as oC,a9 as lC,A as Ug,T as Tg,a8 as Yg,a5 as vl,S as Sg,a3 as VI,v as bg,a6 as UI,aa as If,ab as wf,cH as Kw}from'./main-2EYBZUJC.js';import {l,I,f}from'./chunk-kFOHrPbJ.js';import {S as Se$1}from'./chunk-Bx_FH6m3.js';import'./chunk-BPkyqr-f.js';import {o as z,k as _t,n as ni,J as Jn,Q as Qn,e as ei,Y as Ye,A as At,Z as Zn,l as Xn,E as En,p as An}from'./chunk-CZmNdEYy.js';import'./chunk-BWcVMw4T.js';import'./chunk-DqzTsn7a.js';var D=(r,i)=>i.value;function se(r,i){r&1&&(ws(0,"p",4),GC(1,"Loading\u2026"),pl());}function de(r,i){if(r&1){let e=lC();ws(0,"button",18),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setThemeVariant(d.value))}),ws(1,"span",19),GC(2),pl(),ws(3,"span",20),GC(4),pl()();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__theme-variant--active",a.themeVariant()===e.value),Tg("aria-pressed",a.themeVariant()===e.value),XE(2),Yg(e.label),XE(2),Yg(e.description);}}function _e(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setTheme(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.themeMode()===e.value),Tg("aria-pressed",a.themeMode()===e.value),XE(),vl(" ",e.label," ");}}function ce(r,i){if(r&1){let e=lC();ws(0,"button",21),Rg("click",function(){let d=If(e).$implicit,_=gC(2);return wf(_.setEnterKeyBehavior(d.value))}),GC(1),pl();}if(r&2){let e=i.$implicit,a=gC(2);Ug("user-profile__segmented-option--active",a.enterKeyBehavior()===e.value),Tg("aria-pressed",a.enterKeyBehavior()===e.value),XE(),vl(" ",e.label," ");}}function pe(r,i){if(r&1&&(ws(0,"option",32),GC(1),pl()),r&2){let e=i.$implicit;bg("value",e.value),XE(),Yg(e.label);}}function me(r,i){if(r&1){let e=lC();ws(0,"form",22),Rg("ngSubmit",function(){If(e);let d=gC(2);return wf(d.save())}),ws(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",23),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",23),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"label",24),GC(19,"First name"),pl(),Sg(20,"input",25),VI(),pl(),ws(21,"div",7)(22,"label",26),GC(23,"Last name"),pl(),Sg(24,"input",27),VI(),pl(),ws(25,"div",7)(26,"label",28),GC(27,"Bio"),pl(),Sg(28,"textarea",29),VI(),pl(),ws(29,"div",7)(30,"label",30),GC(31,"Language"),pl(),ws(32,"select",31),rC(33,pe,2,2,"option",32,D),pl(),VI(),pl()(),ws(35,"div",33)(36,"button",34),GC(37),pl(),ws(38,"button",35),Rg("click",function(){If(e);let d=gC(2);return wf(d.cancelEditing())}),GC(39,"Cancel"),pl()()();}if(r&2){let e=gC(),a=gC();bg("formGroup",a.form),XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(7),UI(),XE(4),UI(),XE(4),UI(),XE(4),UI(),XE(),oC(a.languageOptions),XE(3),bg("disabled",a.isSaving()),XE(),vl(" ",a.isSaving()?"Saving\u2026":"Save changes"," ");}}function ue(r,i){r&1&&(ws(0,"p",43),GC(1," No global configuration yet. Create one from the Integrations / AI Providers / Auth Settings pages of your namespaces. "),pl());}function fe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function ge(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Ce(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,fe,6,0)(6,ge,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function ve(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"Integrations"),pl(),ws(2,"ul",45),rC(3,Ce,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().integrations);}}function xe(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function be(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function ye(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,xe,6,0)(6,be,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function he(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"AI Providers"),pl(),ws(2,"ul",45),rC(3,ye,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().aiProviders);}}function Ee(r,i){if(r&1){let e=lC();ws(0,"span",50),GC(1,"Delete?"),pl(),ws(2,"button",51),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.confirmDelete(d))}),GC(3," Confirm "),pl(),ws(4,"button",52),Rg("click",function(){If(e);let d=gC(7);return wf(d.cancelDelete())}),GC(5," Cancel "),pl();}}function Pe(r,i){if(r&1){let e=lC();ws(0,"button",52),Rg("click",function(){If(e);let d=gC().$implicit,_=gC(6);return wf(_.armDelete(d))}),GC(1," Delete "),pl();}}function Se(r,i){if(r&1&&(ws(0,"li",46)(1,"span",47),GC(2),pl(),ws(3,"span",48),GC(4),pl(),Jw(5,Ee,6,0)(6,Pe,2,0,"button",49),pl()),r&2){let e=i.$implicit,a=gC(6);XE(2),Yg(e.name),XE(2),Yg(e.subtitle),XE(),eC(a.isPendingDelete(e)?5:6);}}function we(r,i){if(r&1&&(ws(0,"h3",44),GC(1,"My global auth settings"),pl(),ws(2,"ul",45),rC(3,Se,7,3,"li",46,Kw().trackEntry,true),pl()),r&2){let e=gC(5);XE(3),oC(e.recap().authSettings);}}function ke(r,i){if(r&1&&(Jw(0,ve,5,0),Jw(1,he,5,0),Jw(2,we,5,0)),r&2){let e=gC(4);eC(e.recap().integrations.length>0?0:-1),XE(),eC(e.recap().aiProviders.length>0?1:-1),XE(),eC(e.recap().authSettings.length>0?2:-1);}}function Me(r,i){if(r&1&&Jw(0,ue,2,0,"p",43)(1,ke,3,3),r&2){let e=gC(3);eC(e.recap().total===0?0:1);}}function Oe(r,i){if(r&1){let e=lC();ws(0,"div",17)(1,"div",5)(2,"h2",6),GC(3,"Identity"),pl(),ws(4,"div",7)(5,"span",8),GC(6,"Email"),pl(),ws(7,"span",36),GC(8),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"External ID"),pl(),ws(12,"span",36),GC(13),pl()()(),ws(14,"div",5)(15,"h2",6),GC(16,"Profile"),pl(),ws(17,"div",7)(18,"span",8),GC(19,"First name"),pl(),ws(20,"span",36),GC(21),pl()(),ws(22,"div",7)(23,"span",8),GC(24,"Last name"),pl(),ws(25,"span",36),GC(26),pl()(),ws(27,"div",37)(28,"span",8),GC(29,"Bio"),pl(),ws(30,"span",36),GC(31),pl()(),ws(32,"div",7)(33,"span",8),GC(34,"Language"),pl(),ws(35,"span",36),GC(36),pl()()(),ws(37,"div",33)(38,"button",38),Rg("click",function(){If(e);let d=gC(2);return wf(d.startEditing())}),GC(39," Edit profile "),pl()(),ws(40,"div",39)(41,"button",40),Rg("click",function(){If(e);let d=gC(2);return wf(d.toggleOverrides())}),ws(42,"span",41),GC(43,"\u25B6"),pl(),GC(44," My global user configurations "),ws(45,"span",42),GC(46),pl()(),Jw(47,Me,2,1),pl()();}if(r&2){let e=gC(),a=gC();XE(8),Yg(e.email),XE(5),Yg(e.externalId),XE(8),Yg(e.firstname||"\u2014"),XE(5),Yg(e.lastname||"\u2014"),XE(5),Yg(e.bio||"\u2014"),XE(5),Yg(e.preferredLanguage||"\u2014"),XE(5),Tg("aria-expanded",a.isOverridesExpanded()),XE(),Ug("user-profile__overrides-arrow--open",a.isOverridesExpanded()),XE(4),vl("(",a.recap().total,")"),XE(),eC(a.isOverridesExpanded()?47:-1);}}function Ue(r,i){if(r&1&&(ws(0,"div",5)(1,"h2",6),GC(2,"Appearance"),pl(),ws(3,"div",7)(4,"span",8),GC(5,"Skin"),pl(),ws(6,"div",9),rC(7,de,5,5,"button",10,D),pl()(),ws(9,"div",7)(10,"span",8),GC(11,"Mode"),pl(),ws(12,"div",11),rC(13,_e,2,4,"button",12,D),pl()()(),ws(15,"div",5)(16,"h2",6),GC(17,"Composer"),pl(),ws(18,"div",7)(19,"span",8),GC(20,"Enter key"),pl(),ws(21,"div",13)(22,"div",14),rC(23,ce,2,4,"button",12,D),pl(),ws(25,"p",15),GC(26,'In "New line" mode, press Ctrl or Cmd + Enter to send.'),pl()()()(),Jw(27,me,40,5,"form",16)(28,Oe,48,11,"div",17)),r&2){let e=gC();XE(7),oC(e.themeVariantOptions),XE(6),oC(e.themeOptions),XE(10),oC(e.enterKeyOptions),XE(4),eC(e.isEditing()?27:28);}}function Te(r,i){r&1&&(ws(0,"p",4),GC(1,"Unable to load profile."),pl());}var le=class r{userState=g(l);router=g(G);location=g(Mm);destroyRef=g(Ce$1);integrationState=g(N);providerState=g(O);authSettingState=g(R);themePort=g(I);preferencesPort=g(f);isEditing=Gi(false);isLoading=Gi(false);isSaving=Gi(false);isOverridesExpanded=Gi(false);currentUser=this.userState.currentUser;theme=this.themePort.theme;themeMode=mT(()=>this.themePort.theme().mode);themeOptions=[{value:"light",label:"Light"},{value:"dark",label:"Dark"},{value:"system",label:"System"}];themeVariant=mT(()=>this.themePort.theme().variant);themeVariantOptions=[{value:"industry",label:"Industry",description:"Bleu acier, Barlow"},{value:"terminal",label:"Terminal",description:"Ambre CRT, JetBrains Mono"}];enterKeyBehavior=this.preferencesPort.enterKeyBehavior;enterKeyOptions=[{value:"send",label:"Send"},{value:"newline",label:"New line"}];languageOptions=[{value:"",label:"No preference (English fallback)"},{value:"fr",label:"French"},{value:"de",label:"German"},{value:"es",label:"Spanish"},{value:"pt",label:"Portuguese"},{value:"it",label:"Italian"},{value:"nl",label:"Dutch"},{value:"pl",label:"Polish"},{value:"ja",label:"Japanese"},{value:"zh",label:"Chinese"}];form=new z({firstname:new _t("",{nonNullable:true}),lastname:new _t("",{nonNullable:true}),bio:new _t("",{nonNullable:true}),preferredLanguage:new _t("",{nonNullable:true})});recap=F(Ly([this.integrationState.userGlobal$,this.providerState.userGlobal$,this.authSettingState.userGlobal$]).pipe(re(([i,e,a])=>{let d=i.map(g=>({category:"integration",id:g.id??"",name:g.name,subtitle:g.integrationType})),_=e.map(g=>({category:"aiProvider",id:g.id??"",name:g.name,subtitle:g.apiType})),I=a.map(g=>({category:"authSetting",id:g.id??"",name:g.name,subtitle:g.authType}));return {integrations:d,aiProviders:_,authSettings:I,total:d.length+_.length+I.length}})),{initialValue:{integrations:[],aiProviders:[],authSettings:[],total:0}});ngOnInit(){if(this.currentUser()){this.syncFormFromState();return}this.isLoading.set(true),this.userState.loadMe().pipe(U(this.destroyRef)).subscribe({next:()=>{this.syncFormFromState(),this.isLoading.set(false);},error:()=>this.isLoading.set(false)});}startEditing(){this.syncFormFromState(),this.isEditing.set(true);}cancelEditing(){this.isEditing.set(false);}setTheme(i){this.themePort.setTheme({variant:this.themePort.theme().variant,mode:i});}setThemeVariant(i){this.themePort.setTheme({variant:i,mode:this.themePort.theme().mode});}setEnterKeyBehavior(i){this.preferencesPort.setEnterKeyBehavior(i);}save(){if(this.isSaving())return;this.isSaving.set(true);let i=this.form.controls.preferredLanguage.value.trim();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,preferredLanguage:i||void 0}).pipe(U(this.destroyRef)).subscribe({next:()=>{this.isSaving.set(false),this.isEditing.set(false);},error:()=>this.isSaving.set(false)});}toggleOverrides(){this.isOverridesExpanded.update(i=>!i),this.pendingDeleteKey.set(null);}pendingDeleteKey=Gi(null);isPendingDelete(i){return this.pendingDeleteKey()===this.entryKey(i)}armDelete(i){i.id&&this.pendingDeleteKey.set(this.entryKey(i));}cancelDelete(){this.pendingDeleteKey.set(null);}confirmDelete(i){if(!i.id)return;this.pendingDeleteKey.set(null),(i.category==="integration"?this.integrationState.delete(i.id,"userGlobal"):i.category==="authSetting"?this.authSettingState.delete(i.id,"userGlobal"):this.providerState.delete(i.id,"userGlobal")).pipe(U(this.destroyRef)).subscribe({error:a=>{console.error(`[UserProfile] Delete failed for ${i.category}:${i.id}:`,a);}});}entryKey(i){return `${i.category}:${i.id}`}goBack(){window.history.length>1?this.location.back():this.router.navigate(["/agentos"]);}trackEntry(i,e){return this.entryKey(e)}syncFormFromState(){let i=this.currentUser();i&&this.form.setValue({firstname:i.firstname??"",lastname:i.lastname??"",bio:i.bio??"",preferredLanguage:i.preferredLanguage??""});}static \u0275fac=function(e){return new(e||r)};static \u0275cmp=xw({type:r,selectors:[["agentos-user-profile"]],decls:8,vars:1,consts:[[1,"user-profile"],[1,"user-profile__header"],["icon","arrow_back","title","Back",3,"action"],[1,"user-profile__title"],[1,"user-profile__loading"],[1,"user-profile__section"],[1,"user-profile__section-title"],[1,"user-profile__field"],[1,"user-profile__label"],[1,"user-profile__theme-variants"],["type","button",1,"user-profile__theme-variant",3,"user-profile__theme-variant--active"],["role","group","aria-label","Color mode",1,"user-profile__segmented"],["type","button",1,"user-profile__segmented-option",3,"user-profile__segmented-option--active"],[1,"user-profile__field-control"],["role","group","aria-label","Enter key behavior",1,"user-profile__segmented"],[1,"user-profile__hint"],[1,"user-profile__form",3,"formGroup"],[1,"user-profile__view"],["type","button",1,"user-profile__theme-variant",3,"click"],[1,"user-profile__theme-variant-name"],[1,"user-profile__theme-variant-desc"],["type","button",1,"user-profile__segmented-option",3,"click"],[1,"user-profile__form",3,"ngSubmit","formGroup"],[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"],["for","up-preferredLanguage",1,"user-profile__label"],["id","up-preferredLanguage","formControlName","preferredLanguage",1,"user-profile__input","user-profile__select"],[3,"value"],[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(e,a){if(e&1&&(ws(0,"div",0)(1,"header",1)(2,"ds-icon-button",2),Rg("action",function(){return a.goBack()}),pl(),ws(3,"h1",3),GC(4,"My profile"),pl()(),Jw(5,se,2,0,"p",4)(6,Ue,29,1)(7,Te,2,0,"p",4),pl()),e&2){let d;XE(5),eC(a.isLoading()?5:(d=a.currentUser())?6:7,d);}},dependencies:[ni,Jn,Qn,ei,Ye,At,Zn,Xn,En,An,Se$1],styles:[`.user-profile[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:2rem;max-width:560px;margin:0 auto;padding:2rem 1rem}.user-profile__header[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;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-accent)}.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:700;color:var(--color-text);letter-spacing:-.02em}.user-profile__loading[_ngcontent-%COMP%]{color:var(--color-text-secondary);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-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);border-bottom:1px solid var(--color-divider);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);white-space:nowrap}.user-profile__value[_ngcontent-%COMP%]{font-size:.9375rem;color:var(--color-text);word-break:break-word;white-space:pre-wrap}.user-profile__value--readonly[_ngcontent-%COMP%]{color:var(--color-text-secondary);font-size:.875rem}.user-profile__segmented[_ngcontent-%COMP%]{display:inline-flex;justify-self:start;border:1px solid var(--color-divider);overflow:hidden}.user-profile__segmented-option[_ngcontent-%COMP%]{padding:.4rem .85rem;background:transparent;border:none;border-right:1px solid var(--color-divider);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:background .15s ease,color .15s ease}.user-profile__segmented-option[_ngcontent-%COMP%]:last-child{border-right:none}.user-profile__segmented-option[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover)}.user-profile__segmented-option--active[_ngcontent-%COMP%]{background:var(--color-accent);color:#fff}.user-profile__segmented-option--active[_ngcontent-%COMP%]:hover{background:var(--color-accent-700)}.user-profile__field-control[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.user-profile__hint[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary)}.user-profile__select[_ngcontent-%COMP%]{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.25rem}.user-profile__input[_ngcontent-%COMP%]{width:100%;padding:.625rem .875rem;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);font-size:.9375rem;font-family:inherit;outline:none;box-sizing:border-box;border-radius:0;transition:border-color .15s ease;resize:none}.user-profile__input[_ngcontent-%COMP%]:focus{border-color:var(--color-accent)}.user-profile__input[_ngcontent-%COMP%]::placeholder{color:var(--color-neutral-500)}.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:1px solid var(--color-divider);background:transparent;color:var(--color-text);font-size:13px;font-family:var(--font-heading);font-weight:600;cursor:pointer;border-radius:0;transition:background .15s ease,border-color .15s ease}.user-profile__btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__btn[_ngcontent-%COMP%]:disabled{opacity:.45;cursor:not-allowed}.user-profile__btn--primary[_ngcontent-%COMP%]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.user-profile__btn--primary[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--color-accent-700);border-color:var(--color-accent-700)}.user-profile__theme-variants[_ngcontent-%COMP%]{display:flex;gap:8px;justify-self:start}.user-profile__theme-variant[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:10px 16px;border:1px solid var(--color-divider);background:transparent;cursor:pointer;min-width:120px;transition:background .12s,border-color .12s}.user-profile__theme-variant[_ngcontent-%COMP%]:hover{background:var(--color-bg-hover);border-color:var(--color-neutral-500)}.user-profile__theme-variant--active[_ngcontent-%COMP%]{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 8%,transparent)}.user-profile__theme-variant-name[_ngcontent-%COMP%]{font-family:var(--font-heading);font-size:13px;font-weight:600;color:var(--color-text)}.user-profile__theme-variant-desc[_ngcontent-%COMP%]{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-body)}.user-profile__overrides[_ngcontent-%COMP%]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-divider)}.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-family:var(--font-heading);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--color-neutral-500);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:0}.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:var(--font-heading)}.user-profile__overrides-confirm-label[_ngcontent-%COMP%]{font-size:11px;font-family:var(--font-heading);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--red-deep);white-space:nowrap}.user-profile__overrides-delete[_ngcontent-%COMP%]{background:transparent;border:1px solid transparent;font-size:11px;font-family:var(--font-heading);font-weight:600;color:var(--color-neutral-500);cursor:pointer;padding:3px 8px;border-radius:0;transition:color .12s,background .12s,border-color .12s}.user-profile__overrides-delete[_ngcontent-%COMP%]:hover{color:var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);border-color:var(--red)}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]{border-color:var(--red);background:var(--red);color:#fff}.user-profile__overrides-delete--confirm[_ngcontent-%COMP%]:hover{background:var(--red-deep);border-color:var(--red-deep)}`]})};
|
|
2
2
|
export{le as UserProfileComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {i}from'./chunk-
|
|
1
|
+
import {i}from'./chunk-BWcVMw4T.js';import {l}from'./chunk-kFOHrPbJ.js';import {g,di as K,aJ as Tr,aD as Ly,bS as va,a7 as ya,W as br,r as re,cE as Ad,x,w,bU as Od,Y as x$1}from'./main-2EYBZUJC.js';var q=["ApiKeyAuthSetting","BasicAuthAuthSetting","BearerTokenAuthSetting","OAuthDiscoverableAuthSetting","OAuthMcpDiscoverableAuthSetting","OAuthCustomAuthSetting","OAuthRegisteredAuthSetting"],J={ApiKeyAuthSetting:"API Key",BasicAuthAuthSetting:"Basic Auth (username / password)",BearerTokenAuthSetting:"Bearer Token",OAuthDiscoverableAuthSetting:"OAuth \u2014 Discovery URL",OAuthMcpDiscoverableAuthSetting:"OAuth \u2014 MCP Discoverable",OAuthCustomAuthSetting:"OAuth \u2014 Custom endpoints",OAuthRegisteredAuthSetting:"OAuth \u2014 Registered app"},E="none",C="me",I={ApiKeyAuthSetting:"API_KEY",BasicAuthAuthSetting:"BASIC_AUTH",BearerTokenAuthSetting:"BEARER_TOKEN",OAuthDiscoverableAuthSetting:"OAUTH_DISCOVERABLE",OAuthMcpDiscoverableAuthSetting:"OAUTH_MCP_DISCOVERABLE",OAuthCustomAuthSetting:"OAUTH_CUSTOM",OAuthRegisteredAuthSetting:"OAUTH_REGISTERED"},U={API_KEY:"ApiKeyAuthSetting",BASIC_AUTH:"BasicAuthAuthSetting",BEARER_TOKEN:"BearerTokenAuthSetting",OAUTH_DISCOVERABLE:"OAuthDiscoverableAuthSetting",OAUTH_MCP_DISCOVERABLE:"OAuthMcpDiscoverableAuthSetting",OAUTH_CUSTOM:"OAuthCustomAuthSetting",OAUTH_REGISTERED:"OAuthRegisteredAuthSetting"};function v(n){let t=I[n.authType];return t?x(w({},n),{authType:t}):n}function d(n){return B(n)}function O(n){return n.map(B)}function B(n){let t=n;if(typeof t.authType=="string"){let e=U[t.authType];if(e)return x(w({},t),{authType:e})}return n}var R=class n{controller=g(K);userState=g(l);refresh$=new Tr(void 0);namespaceId$=new Tr(null);vm$=Ly([this.namespaceId$,this.refresh$]).pipe(va(([t])=>{let e=this.loadPlatformSettings().pipe(ya(()=>br([])));return t?Ly([e,this.loadNamespaceSettings(t).pipe(ya(()=>br([]))),this.loadUserSettings(t).pipe(ya(()=>br([]))),this.loadUserSettings("global").pipe(ya(()=>br([])))]).pipe(re(([i,s,u,p])=>({platform:i,namespace:s,userOnNs:u,userGlobal:p}))):Ly([e,this.loadNamespaceSettings("").pipe(ya(()=>br([]))),this.loadUserSettings("global").pipe(ya(()=>br([])))]).pipe(re(([i,s,u])=>({platform:i,namespace:s,userOnNs:[],userGlobal:u})))}),Ad({bufferSize:1,refCount:true}));setNamespace(t){this.namespaceId$.value!==t&&this.namespaceId$.next(t);}refresh(){this.refresh$.next();}loadUserSettings(t){let e=t==="global"?E:t;return this.controller.listAuthSetting(e,C).pipe(re(i=>O(i)))}userGlobal$=i(this.refresh$,()=>this.loadUserSettings("global"),[]);loadPlatformSettings(){return this.controller.listAuthSetting(E).pipe(re(t=>O(t)))}loadNamespaceSettings(t){return t?this.controller.listAuthSetting(t).pipe(re(e=>O(e))):br([])}getById(t,e){return this.controller.getByIdAuthSetting(t).pipe(re(i=>d(i)))}create(t,e,i){let u=this.userState.currentUser()?.id;if((e==="userOnNs"||e==="userGlobal")&&!u)throw new Error(`Cannot create ${e} auth setting before UserStateService.loadMe() resolves \u2014 call loadMe() at app init`);if(e==="namespace"&&(i===void 0||i===""))throw new Error("Cannot create namespace-scoped auth setting without a namespaceId");if(e==="userOnNs"&&!i)throw new Error("Cannot create userOnNs auth setting without a namespaceId");let p=v(x(w({},t),{namespaceId:e==="namespace"||e==="userOnNs"?i??void 0:void 0,userId:e==="userOnNs"||e==="userGlobal"?u:void 0}));return this.controller.createAuthSetting(p).pipe(re(_=>d(_)),Od(()=>this.refresh()))}update(t,e,i){let s=v(x(w({},e),{namespaceId:i.namespaceId,userId:i.userId,authType:i.authType}));return this.controller.updateAuthSetting(t,s).pipe(re(u=>d(u)),Od(()=>this.refresh()))}delete(t,e){return this.controller.deleteAuthSetting(t).pipe(Od(()=>this.refresh()))}static \u0275fac=function(e){return new(e||n)};static \u0275prov=x$1({token:n,factory:n.\u0275fac,providedIn:"root"})};export{J,R,q};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {g,bl as Mt,Y as x}from'./main-
|
|
1
|
+
import {g,bl as Mt,Y as x}from'./main-2EYBZUJC.js';var s=class n{snackBar=g(Mt);success(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-success"]});}error(t,o=3e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-error"]});}info(t,o=2e3){this.snackBar.open(t,"",{duration:o,horizontalPosition:"center",verticalPosition:"bottom",panelClass:["snackbar-info"]});}static \u0275fac=function(o){return new(o||n)};static \u0275prov=x({token:n,factory:n.\u0275fac,providedIn:"root"})};export{s};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {dw as A,dx as z$1}from'./main-2EYBZUJC.js';var ut=z$1(Xe=>{"use strict";(function(i){var n=/\S/,t=/\"/g,e=/\n/g,r=/\r/g,a=/\\/g,s=/\u2028/,u=/\u2029/;i.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},i.scan=function(h,g){var S=h.length,U=0,R=1,q=2,E=U,$=null,ee=null,B="",I=[],J=!1,O=0,C=0,L="{{",b="}}";function te(){B.length>0&&(I.push({tag:"_t",text:new String(B)}),B="");}function ge(){for(var A=!0,k=C;k<I.length;k++)if(A=i.tags[I[k].tag]<i.tags._v||I[k].tag=="_t"&&I[k].text.match(n)===null,!A)return !1;return A}function be(A,k){if(te(),A&&ge())for(var _=C,ie;_<I.length;_++)I[_].text&&((ie=I[_+1])&&ie.tag==">"&&(ie.indent=I[_].text.toString()),I.splice(_,1));else k||I.push({tag:`
|
|
2
2
|
`});J=!1,C=I.length;}function ne(A,k){var _="="+b,ie=A.indexOf(_,k),De=f(A.substring(A.indexOf("=",k)+1,ie)).split(" ");return L=De[0],b=De[De.length-1],ie+_.length-1}for(g&&(g=g.split(" "),L=g[0],b=g[1]),O=0;O<S;O++)E==U?v(L,h,O)?(--O,te(),E=R):h.charAt(O)==`
|
|
3
3
|
`?be(J):B+=h.charAt(O):E==R?(O+=L.length-1,ee=i.tags[h.charAt(O+1)],$=ee?h.charAt(O+1):"_v",$=="="?(O=ne(h,O),E=U):(ee&&O++,E=q),J=O):v(b,h,O)?(I.push({tag:$,n:f(B),otag:L,ctag:b,i:$=="/"?J-L.length:O+b.length}),B="",O+=b.length-1,E=U,$=="{"&&(b=="}}"?O++:d(I[I.length-1]))):B+=h.charAt(O);return be(J,!0),I};function d(l){l.n.substr(l.n.length-1)==="}"&&(l.n=l.n.substring(0,l.n.length-1));}function f(l){return l.trim?l.trim():l.replace(/^\s*|\s*$/g,"")}function v(l,h,g){if(h.charAt(g)!=l.charAt(0))return !1;for(var S=1,U=l.length;S<U;S++)if(h.charAt(g+S)!=l.charAt(S))return !1;return !0}var y={_t:!0,"\n":!0,$:!0,"/":!0};function o(l,h,g,S){var U=[],R=null,q=null,E=null;for(q=g[g.length-1];l.length>0;){if(E=l.shift(),q&&q.tag=="<"&&!(E.tag in y))throw new Error("Illegal content in < super tag.");if(i.tags[E.tag]<=i.tags.$||c(E,S))g.push(E),E.nodes=o(l,E.tag,g,S);else if(E.tag=="/"){if(g.length===0)throw new Error("Closing tag without opener: /"+E.n);if(R=g.pop(),E.n!=R.n&&!m(E.n,R.n,S))throw new Error("Nesting error: "+R.n+" vs. "+E.n);return R.end=E.i,U}else E.tag==`
|
|
4
4
|
`&&(E.last=l.length==0||l[0].tag==`
|