@whoz-oss/coday-client 0.249.2 → 0.249.4
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-Tnt17Uum.js → chunk-2TapTaXG.js} +1 -1
- package/browser/{chunk-otU95DGd.js → chunk-6tHPoek7.js} +1 -1
- package/browser/{chunk-DF9JuMSS.js → chunk-B-LBXHg-.js} +1 -1
- package/browser/{chunk-DATqkmXk.js → chunk-B0kyFx_y.js} +1 -1
- package/browser/{chunk-CSWaefpi.js → chunk-B4aBp6WW.js} +1 -1
- package/browser/{chunk-DIeUX6U7.js → chunk-B6DehsQ-.js} +1 -1
- package/browser/{chunk-rdNDu_G5.js → chunk-B6HBR6l3.js} +1 -1
- package/browser/{chunk-B0QeL_YS.js → chunk-BC_2TEa6.js} +1 -1
- package/browser/{chunk-Dh70Sw4n.js → chunk-BLwyktBH.js} +1 -1
- package/browser/{chunk-ZgaZX2Mw.js → chunk-BPTzJwdV.js} +1 -1
- package/browser/{chunk-B4ZxVpmQ.js → chunk-BRKM9jBe.js} +1 -1
- package/browser/{chunk-Bb8FM5N7.js → chunk-BTNW2iz6.js} +1 -1
- package/browser/{chunk-BXRE8Jnn.js → chunk-BT_iRqki.js} +1 -1
- package/browser/{chunk-Dv3y4cq8.js → chunk-BUF2p97y.js} +1 -1
- package/browser/{chunk-6uQvW5vO.js → chunk-BWdSq8vF.js} +1 -1
- package/browser/chunk-BY3C8HLz.js +276 -0
- package/browser/{chunk-D36CcRIa.js → chunk-BYD-ZEqa.js} +1 -1
- package/browser/{chunk-hivMYdms.js → chunk-BZZR3aP2.js} +1 -1
- package/browser/{chunk-BYobt-yL.js → chunk-B_crlzIY.js} +1 -1
- package/browser/{chunk-CyUSpM0s.js → chunk-BaP2JhEB.js} +1 -1
- package/browser/{chunk-8QCOKWfy.js → chunk-Bggbx31H.js} +1 -1
- package/browser/{chunk-BXeg32ej.js → chunk-BhlAZzwj.js} +1 -1
- package/browser/{chunk-Bo7V2O_x.js → chunk-Bi0_x9sA.js} +1 -1
- package/browser/{chunk-CMgbU-FY.js → chunk-BkD_xP5e.js} +1 -1
- package/browser/{chunk-CtCrz21E.js → chunk-BlR-g_sS.js} +1 -1
- package/browser/{chunk-ChlM0KaI.js → chunk-BtVK9hVG.js} +1 -1
- package/browser/{chunk-R1YuCBfk.js → chunk-BzkpZO0i.js} +1 -1
- package/browser/{chunk-Dc58xQxP.js → chunk-C4iXIN7X.js} +1 -1
- package/browser/{chunk-BHrJwQJY.js → chunk-C7zuPRu9.js} +1 -1
- package/browser/{chunk-B1T1lhxO.js → chunk-CBe69s-2.js} +1 -1
- package/browser/{chunk-cxvtBPGk.js → chunk-CFLyg-oC.js} +1 -1
- package/browser/{chunk-DrzUXE6a.js → chunk-CSzw8H2F.js} +1 -1
- package/browser/{chunk-DWXHIgAs.js → chunk-CTYiqe0l.js} +1 -1
- package/browser/{chunk-CRujMca4.js → chunk-CWFDInt7.js} +1 -1
- package/browser/{chunk-CI20rCP1.js → chunk-CgrWMGhT.js} +1 -1
- package/browser/{chunk-CEFRpdhC.js → chunk-Cr2mSoCg.js} +1 -1
- package/browser/{chunk-BGG8qTjD.js → chunk-CsOfELwl.js} +1 -1
- package/browser/{chunk-CoVKXwLW.js → chunk-CtWA9Wcw.js} +2 -2
- package/browser/{chunk-Ims5pjdx.js → chunk-CvL11Svz.js} +1 -1
- package/browser/{chunk-CESBNo1v.js → chunk-CwUIxEoO.js} +1 -1
- package/browser/{chunk-Js79q0Hk.js → chunk-Cxcbg8Y2.js} +1 -1
- package/browser/{chunk-hpkckHAH.js → chunk-D2yqDA1u.js} +1 -1
- package/browser/{chunk-D4O2SdR-.js → chunk-DITp7n6E.js} +1 -1
- package/browser/{chunk-CujZ5wxO.js → chunk-DLXkxUg9.js} +1 -1
- package/browser/{chunk-DVw6VVSF.js → chunk-DLsoHfhP.js} +1 -1
- package/browser/chunk-DVJHLBDM.js +1 -0
- package/browser/{chunk-sQ2hJaJy.js → chunk-DVQQW6km.js} +1 -1
- package/browser/{chunk-CSLsbjtc.js → chunk-DcWLC4S7.js} +1 -1
- package/browser/{chunk-Cl7N3gK-.js → chunk-De9hRkSc.js} +1 -1
- package/browser/{chunk-DqOy3vx6.js → chunk-Dlm3_p0t.js} +1 -1
- package/browser/{chunk-tiXMntK-.js → chunk-Dlx5Rt5V.js} +1 -1
- package/browser/{chunk-Df2NmKyO.js → chunk-DoYeTXOn.js} +1 -1
- package/browser/{chunk-BngP4FHh.js → chunk-DrMoRmsm.js} +1 -1
- package/browser/{chunk-C_hps2N_.js → chunk-DvXx9y4n.js} +1 -1
- package/browser/{chunk-BbkTgcYb.js → chunk-DwJCq7KC.js} +1 -1
- package/browser/{chunk-Cvmc37VM.js → chunk-NOr0w_o_.js} +1 -1
- package/browser/{chunk-D615HDbJ.js → chunk-Pl7edkoq.js} +1 -1
- package/browser/{chunk-DxyVrxwh.js → chunk-Sc506DO8.js} +1 -1
- package/browser/{chunk-DuetvIR9.js → chunk-ZXaT_xHg.js} +1 -1
- package/browser/{chunk-DW95Jf_o.js → chunk-ZrkAX8bu.js} +1 -1
- package/browser/{chunk-CawleOYk.js → chunk-anmUJQp9.js} +1 -1
- package/browser/{chunk-B9VW5ZdD.js → chunk-cHZU18W6.js} +1 -1
- package/browser/{chunk-D8jkRlhn.js → chunk-gI_QNDKB.js} +1 -1
- package/browser/{chunk-TsE9fL5L.js → chunk-nHbbuVx2.js} +1 -1
- package/browser/{chunk-D3bTMcOe.js → chunk-p1EUiu98.js} +1 -1
- package/browser/{chunk-NZ2JSd9Y.js → chunk-spSRZfqJ.js} +1 -1
- package/browser/index.html +1 -1
- package/browser/{main-CERDHS7N.js → main-ZCJEGFW3.js} +1 -1
- package/package.json +1 -1
- package/browser/chunk-BWVGuXWV.js +0 -1
- package/browser/chunk-CeEsFGfn.js +0 -276
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import {x as xe}from'./chunk-Dlm3_p0t.js';import {P as Pt$1,L as Lt}from'./chunk-DoYeTXOn.js';import {v as ve,n as ne}from'./chunk-BC_2TEa6.js';import {d}from'./chunk-nHbbuVx2.js';import {W,k as ke,s as se}from'./chunk-DcWLC4S7.js';import {T as Tn,S as Sn,n as nt$1,a as ae,l as le,c as ce}from'./chunk-spSRZfqJ.js';import {W as Wn,i as it,n as nt,I as In,k as ke$1,L as Le,g as ga,E as En,F as Fn,f as ft,A as An}from'./chunk-BLwyktBH.js';import'./chunk-BUF2p97y.js';import {g,bl as Sm,R as Re,H as Hi,m as mT,A as Aw,i as hr,j as Gn,v as vs,l as Ag,W as WC,k as dl,a3 as HI,n as eC,af as Dg,ag as fT,T as TC,X as XE,r as Tg,a6 as $I,t as tC,Z as z,_ as Ue,am as Gm,$ as zt$1,a0 as jt$1,a1 as Vt,a2 as Nt$1,p as pr,ai as Jg,aj as KC,q as oC,a8 as Zg,ak as Xg,x as iC,a5 as ml,ac as mC,a9 as dC,aa as If,ab as wf,bo as hl,bp as gl,ah as rT,b3 as oT,aK as Do,aL as Wn$1,bq as sn,aN as wt$1,br as wl,bs as Qn,aS as Ut$1,al as yt$2,aV as w,bt as Ve,aY as ks,aZ as YT,b4 as nT,C as Cg,y as Hg,bu as kg,I as IC,E as wC,az as Qt$1,bv as St,aR as K$1,aW as D$1,bw as on,bx as am,by as Oi,bz as vC,bA as DC,o as bg,D as Fg,bB as Ii,bn as nC}from'./main-ZCJEGFW3.js';import {y as yt$1,w as wt,t as ti,Z as Zn,c as cn,Y as Ye,f as fn,g as gt,$ as $t$1,D}from'./chunk-Pl7edkoq.js';var Pt=["button"],Ot=["*"];function Ft(l,a){if(l&1&&(vs(0,"div",2),bg(1,"mat-pseudo-checkbox",6),dl()),l&2){let e=mC();XE(),Tg("disabled",e.disabled);}}var yt=new w("MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS",{providedIn:"root",factory:()=>({hideSingleSelectionIndicator:false,hideMultipleSelectionIndicator:false,disabledInteractive:false})}),vt=new w("MatButtonToggleGroup"),Dt={provide:D,useExisting:Ii(()=>ie),multi:true},K=class{source;value;constructor(a,e){this.source=a,this.value=e;}},ie=(()=>{class l{_changeDetector=g(wl);_dir=g(Qn,{optional:true});_multiple=false;_disabled=false;_disabledInteractive=false;_selectionModel;_rawValue;_controlValueAccessorChangeFn=()=>{};_onTouched=()=>{};_buttonToggles;appearance;get name(){return this._name}set name(e){this._name=e,this._markButtonsForCheck();}_name=g(Ut$1).getId("mat-button-toggle-group-");vertical=false;get value(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e.map(t=>t.value):e[0]?e[0].value:void 0}set value(e){this._setSelectionByValue(e),this.valueChange.emit(this.value);}valueChange=new yt$2;get selected(){let e=this._selectionModel?this._selectionModel.selected:[];return this.multiple?e:e[0]||null}get multiple(){return this._multiple}set multiple(e){this._multiple=e,this._markButtonsForCheck();}get disabled(){return this._disabled}set disabled(e){this._disabled=e,this._markButtonsForCheck();}get disabledInteractive(){return this._disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e,this._markButtonsForCheck();}get dir(){return this._dir&&this._dir.value==="rtl"?"rtl":"ltr"}change=new yt$2;get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=e,this._markButtonsForCheck();}_hideSingleSelectionIndicator;get hideMultipleSelectionIndicator(){return this._hideMultipleSelectionIndicator}set hideMultipleSelectionIndicator(e){this._hideMultipleSelectionIndicator=e,this._markButtonsForCheck();}_hideMultipleSelectionIndicator;constructor(){let e=g(yt,{optional:true});this.appearance=e&&e.appearance?e.appearance:"standard",this._hideSingleSelectionIndicator=e?.hideSingleSelectionIndicator??false,this._hideMultipleSelectionIndicator=e?.hideMultipleSelectionIndicator??false;}ngOnInit(){this._selectionModel=new ft(this.multiple,void 0,false);}ngAfterContentInit(){this._selectionModel.select(...this._buttonToggles.filter(e=>e.checked)),this.multiple||this._initializeTabIndex();}writeValue(e){this.value=e,this._changeDetector.markForCheck();}registerOnChange(e){this._controlValueAccessorChangeFn=e;}registerOnTouched(e){this._onTouched=e;}setDisabledState(e){this.disabled=e;}_keydown(e){if(this.multiple||this.disabled||Ve(e))return;let n=e.target.id,o=this._buttonToggles.toArray().findIndex(I=>I.buttonId===n),u=null;switch(e.keyCode){case 32:case 13:u=this._buttonToggles.get(o)||null;break;case 38:u=this._getNextButton(o,-1);break;case 37:u=this._getNextButton(o,this.dir==="ltr"?-1:1);break;case 40:u=this._getNextButton(o,1);break;case 39:u=this._getNextButton(o,this.dir==="ltr"?1:-1);break;default:return}u&&(e.preventDefault(),u._onButtonClick(),u.focus());}_emitChangeEvent(e){let t=new K(e,this.value);this._rawValue=t.value,this._controlValueAccessorChangeFn(t.value),this.change.emit(t);}_syncButtonToggle(e,t,n=false,o=false){!this.multiple&&this.selected&&!e.checked&&(this.selected.checked=false),this._selectionModel?t?this._selectionModel.select(e):this._selectionModel.deselect(e):o=true,o?Promise.resolve().then(()=>this._updateModelValue(e,n)):this._updateModelValue(e,n);}_isSelected(e){return this._selectionModel&&this._selectionModel.isSelected(e)}_isPrechecked(e){return typeof this._rawValue>"u"?false:this.multiple&&Array.isArray(this._rawValue)?this._rawValue.some(t=>e.value!=null&&t===e.value):e.value===this._rawValue}_initializeTabIndex(){if(this._buttonToggles.forEach(e=>{e.tabIndex=-1;}),this.selected)this.selected.tabIndex=0;else for(let e=0;e<this._buttonToggles.length;e++){let t=this._buttonToggles.get(e);if(!t.disabled){t.tabIndex=0;break}}}_getNextButton(e,t){let n=this._buttonToggles;for(let o=1;o<=n.length;o++){let u=(e+t*o+n.length)%n.length,I=n.get(u);if(I&&!I.disabled)return I}return null}_setSelectionByValue(e){if(this._rawValue=e,!this._buttonToggles)return;let t=this._buttonToggles.toArray();if(this.multiple&&e?(this._clearSelection(),e.forEach(n=>this._selectValue(n,t))):(this._clearSelection(),this._selectValue(e,t)),!this.multiple&&t.every(n=>n.tabIndex===-1)){for(let n of t)if(!n.disabled){n.tabIndex=0;break}}}_clearSelection(){this._selectionModel.clear(),this._buttonToggles.forEach(e=>{e.checked=false,this.multiple||(e.tabIndex=-1);});}_selectValue(e,t){for(let n of t)if(n.value===e){n.checked=true,this._selectionModel.select(n),this.multiple||(n.tabIndex=0);break}}_updateModelValue(e,t){t&&this._emitChangeEvent(e),this.valueChange.emit(this.value);}_markButtonsForCheck(){this._buttonToggles?.forEach(e=>e._markForCheck());}static \u0275fac=function(t){return new(t||l)};static \u0275dir=ks({type:l,selectors:[["mat-button-toggle-group"]],contentQueries:function(t,n,o){if(t&1&&kg(o,X,5),t&2){let u;IC(u=wC())&&(n._buttonToggles=u);}},hostAttrs:[1,"mat-button-toggle-group"],hostVars:6,hostBindings:function(t,n){t&1&&Ag("keydown",function(u){return n._keydown(u)}),t&2&&(Cg("role",n.multiple?"group":"radiogroup")("aria-disabled",n.disabled),Hg("mat-button-toggle-vertical",n.vertical)("mat-button-toggle-group-appearance-standard",n.appearance==="standard"));},inputs:{appearance:"appearance",name:"name",vertical:[2,"vertical","vertical",YT],value:"value",multiple:[2,"multiple","multiple",YT],disabled:[2,"disabled","disabled",YT],disabledInteractive:[2,"disabledInteractive","disabledInteractive",YT],hideSingleSelectionIndicator:[2,"hideSingleSelectionIndicator","hideSingleSelectionIndicator",YT],hideMultipleSelectionIndicator:[2,"hideMultipleSelectionIndicator","hideMultipleSelectionIndicator",YT]},outputs:{valueChange:"valueChange",change:"change"},exportAs:["matButtonToggleGroup"],features:[nT([Dt,{provide:vt,useExisting:l}])]})}return l})(),X=(()=>{class l{_changeDetectorRef=g(wl);_elementRef=g(Qt$1);_focusMonitor=g(St);_idGenerator=g(Ut$1);_animationDisabled=K$1();_checked=false;ariaLabel;ariaLabelledby=null;_buttonElement;buttonToggleGroup;get buttonId(){return `${this.id}-button`}id;name;value;get tabIndex(){return this._tabIndex()}set tabIndex(e){this._tabIndex.set(e);}_tabIndex;disableRipple=false;get appearance(){return this.buttonToggleGroup?this.buttonToggleGroup.appearance:this._appearance}set appearance(e){this._appearance=e;}_appearance;get checked(){return this.buttonToggleGroup?this.buttonToggleGroup._isSelected(this):this._checked}set checked(e){e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&this.buttonToggleGroup._syncButtonToggle(this,this._checked),this._changeDetectorRef.markForCheck());}get disabled(){return this._disabled||this.buttonToggleGroup&&this.buttonToggleGroup.disabled}set disabled(e){this._disabled=e;}_disabled=false;get disabledInteractive(){return this._disabledInteractive||this.buttonToggleGroup!==null&&this.buttonToggleGroup.disabledInteractive}set disabledInteractive(e){this._disabledInteractive=e;}_disabledInteractive;change=new yt$2;constructor(){g(D$1).load(on);let e=g(vt,{optional:true}),t=g(new am("tabindex"),{optional:true})||"",n=g(yt,{optional:true});this._tabIndex=Hi(parseInt(t)||0),this.buttonToggleGroup=e,this._appearance=n&&n.appearance?n.appearance:"standard",this._disabledInteractive=n?.disabledInteractive??false;}ngOnInit(){let e=this.buttonToggleGroup;this.id=this.id||this._idGenerator.getId("mat-button-toggle-"),e&&(e._isPrechecked(this)?this.checked=true:e._isSelected(this)!==this._checked&&e._syncButtonToggle(this,this._checked));}ngAfterViewInit(){this._animationDisabled||this._elementRef.nativeElement.classList.add("mat-button-toggle-animations-enabled"),this._focusMonitor.monitor(this._elementRef,true);}ngOnDestroy(){let e=this.buttonToggleGroup;this._focusMonitor.stopMonitoring(this._elementRef),e&&e._isSelected(this)&&e._syncButtonToggle(this,false,false,true);}focus(e){this._buttonElement.nativeElement.focus(e);}_onButtonClick(){if(this.disabled)return;let e=this.isSingleSelector()?true:!this._checked;if(e!==this._checked&&(this._checked=e,this.buttonToggleGroup&&(this.buttonToggleGroup._syncButtonToggle(this,this._checked,true),this.buttonToggleGroup._onTouched())),this.isSingleSelector()){let t=this.buttonToggleGroup._buttonToggles.find(n=>n.tabIndex===0);t&&(t.tabIndex=-1),this.tabIndex=0;}this.change.emit(new K(this,this.value));}_markForCheck(){this._changeDetectorRef.markForCheck();}_getButtonName(){return this.isSingleSelector()?this.buttonToggleGroup.name:this.name||null}isSingleSelector(){return this.buttonToggleGroup&&!this.buttonToggleGroup.multiple}static \u0275fac=function(t){return new(t||l)};static \u0275cmp=Aw({type:l,selectors:[["mat-button-toggle"]],viewQuery:function(t,n){if(t&1&&Fg(Pt,5),t&2){let o;IC(o=wC())&&(n._buttonElement=o.first);}},hostAttrs:["role","presentation",1,"mat-button-toggle"],hostVars:14,hostBindings:function(t,n){t&1&&Ag("focus",function(){return n.focus()}),t&2&&(Cg("aria-label",null)("aria-labelledby",null)("id",n.id)("name",null),Hg("mat-button-toggle-standalone",!n.buttonToggleGroup)("mat-button-toggle-checked",n.checked)("mat-button-toggle-disabled",n.disabled)("mat-button-toggle-disabled-interactive",n.disabledInteractive)("mat-button-toggle-appearance-standard",n.appearance==="standard"));},inputs:{ariaLabel:[0,"aria-label","ariaLabel"],ariaLabelledby:[0,"aria-labelledby","ariaLabelledby"],id:"id",name:"name",value:"value",tabIndex:"tabIndex",disableRipple:[2,"disableRipple","disableRipple",YT],appearance:"appearance",checked:[2,"checked","checked",YT],disabled:[2,"disabled","disabled",YT],disabledInteractive:[2,"disabledInteractive","disabledInteractive",YT]},outputs:{change:"change"},exportAs:["matButtonToggle"],ngContentSelectors:Ot,decls:7,vars:13,consts:[["button",""],["type","button",1,"mat-button-toggle-button","mat-focus-indicator",3,"click","id","disabled"],[1,"mat-button-toggle-checkbox-wrapper"],[1,"mat-button-toggle-label-content"],[1,"mat-button-toggle-focus-overlay"],["matRipple","",1,"mat-button-toggle-ripple",3,"matRippleTrigger","matRippleDisabled"],["state","checked","aria-hidden","true","appearance","minimal",3,"disabled"]],template:function(t,n){if(t&1&&(vC(),vs(0,"button",1,0),Ag("click",function(){return n._onButtonClick()}),eC(2,Ft,2,1,"div",2),vs(3,"span",3),DC(4),dl()(),bg(5,"span",4)(6,"span",5)),t&2){let o=TC(1);Tg("id",n.buttonId)("disabled",n.disabled&&!n.disabledInteractive||null),Cg("role",n.isSingleSelector()?"radio":"button")("tabindex",n.disabled&&!n.disabledInteractive?-1:n.tabIndex)("aria-pressed",n.isSingleSelector()?null:n.checked)("aria-checked",n.isSingleSelector()?n.checked:null)("name",n._getButtonName())("aria-label",n.ariaLabel)("aria-labelledby",n.ariaLabelledby)("aria-disabled",n.disabled&&n.disabledInteractive?"true":null),XE(2),tC(n.buttonToggleGroup&&(!n.buttonToggleGroup.multiple&&!n.buttonToggleGroup.hideSingleSelectionIndicator||n.buttonToggleGroup.multiple&&!n.buttonToggleGroup.hideMultipleSelectionIndicator)?2:-1),XE(4),Tg("matRippleTrigger",o)("matRippleDisabled",n.disableRipple||n.disabled);}},dependencies:[Oi,An],styles:[`.mat-button-toggle-standalone,
|
|
2
|
+
.mat-button-toggle-group {
|
|
3
|
+
position: relative;
|
|
4
|
+
display: inline-flex;
|
|
5
|
+
flex-direction: row;
|
|
6
|
+
white-space: nowrap;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
-webkit-tap-highlight-color: transparent;
|
|
9
|
+
border-radius: var(--mat-button-toggle-legacy-shape);
|
|
10
|
+
transform: translateZ(0);
|
|
11
|
+
}
|
|
12
|
+
.mat-button-toggle-standalone:not([class*=mat-elevation-z]),
|
|
13
|
+
.mat-button-toggle-group:not([class*=mat-elevation-z]) {
|
|
14
|
+
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
|
|
15
|
+
}
|
|
16
|
+
@media (forced-colors: active) {
|
|
17
|
+
.mat-button-toggle-standalone,
|
|
18
|
+
.mat-button-toggle-group {
|
|
19
|
+
outline: solid 1px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
|
|
24
|
+
.mat-button-toggle-group-appearance-standard {
|
|
25
|
+
border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
26
|
+
border: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
27
|
+
}
|
|
28
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard .mat-pseudo-checkbox,
|
|
29
|
+
.mat-button-toggle-group-appearance-standard .mat-pseudo-checkbox {
|
|
30
|
+
--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));
|
|
31
|
+
}
|
|
32
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard:not([class*=mat-elevation-z]),
|
|
33
|
+
.mat-button-toggle-group-appearance-standard:not([class*=mat-elevation-z]) {
|
|
34
|
+
box-shadow: none;
|
|
35
|
+
}
|
|
36
|
+
@media (forced-colors: active) {
|
|
37
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
|
|
38
|
+
.mat-button-toggle-group-appearance-standard {
|
|
39
|
+
outline: 0;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.mat-button-toggle-vertical {
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
}
|
|
46
|
+
.mat-button-toggle-vertical .mat-button-toggle-label-content {
|
|
47
|
+
display: block;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.mat-button-toggle {
|
|
51
|
+
white-space: nowrap;
|
|
52
|
+
position: relative;
|
|
53
|
+
color: var(--mat-button-toggle-legacy-text-color);
|
|
54
|
+
font-family: var(--mat-button-toggle-legacy-label-text-font);
|
|
55
|
+
font-size: var(--mat-button-toggle-legacy-label-text-size);
|
|
56
|
+
line-height: var(--mat-button-toggle-legacy-label-text-line-height);
|
|
57
|
+
font-weight: var(--mat-button-toggle-legacy-label-text-weight);
|
|
58
|
+
letter-spacing: var(--mat-button-toggle-legacy-label-text-tracking);
|
|
59
|
+
--mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-button-toggle-legacy-selected-state-text-color);
|
|
60
|
+
}
|
|
61
|
+
.mat-button-toggle.cdk-keyboard-focused .mat-button-toggle-focus-overlay {
|
|
62
|
+
opacity: var(--mat-button-toggle-legacy-focus-state-layer-opacity);
|
|
63
|
+
}
|
|
64
|
+
.mat-button-toggle .mat-icon svg {
|
|
65
|
+
vertical-align: top;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.mat-button-toggle-checkbox-wrapper {
|
|
69
|
+
display: inline-block;
|
|
70
|
+
justify-content: flex-start;
|
|
71
|
+
align-items: center;
|
|
72
|
+
width: 0;
|
|
73
|
+
height: 18px;
|
|
74
|
+
line-height: 18px;
|
|
75
|
+
overflow: hidden;
|
|
76
|
+
box-sizing: border-box;
|
|
77
|
+
position: absolute;
|
|
78
|
+
top: 50%;
|
|
79
|
+
left: 16px;
|
|
80
|
+
transform: translate3d(0, -50%, 0);
|
|
81
|
+
}
|
|
82
|
+
[dir=rtl] .mat-button-toggle-checkbox-wrapper {
|
|
83
|
+
left: auto;
|
|
84
|
+
right: 16px;
|
|
85
|
+
}
|
|
86
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper {
|
|
87
|
+
left: 12px;
|
|
88
|
+
}
|
|
89
|
+
[dir=rtl] .mat-button-toggle-appearance-standard .mat-button-toggle-checkbox-wrapper {
|
|
90
|
+
left: auto;
|
|
91
|
+
right: 12px;
|
|
92
|
+
}
|
|
93
|
+
.mat-button-toggle-checked .mat-button-toggle-checkbox-wrapper {
|
|
94
|
+
width: 18px;
|
|
95
|
+
}
|
|
96
|
+
.mat-button-toggle-animations-enabled .mat-button-toggle-checkbox-wrapper {
|
|
97
|
+
transition: width 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
98
|
+
}
|
|
99
|
+
.mat-button-toggle-vertical .mat-button-toggle-checkbox-wrapper {
|
|
100
|
+
transition: none;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.mat-button-toggle-checked {
|
|
104
|
+
color: var(--mat-button-toggle-legacy-selected-state-text-color);
|
|
105
|
+
background-color: var(--mat-button-toggle-legacy-selected-state-background-color);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.mat-button-toggle-disabled {
|
|
109
|
+
pointer-events: none;
|
|
110
|
+
color: var(--mat-button-toggle-legacy-disabled-state-text-color);
|
|
111
|
+
background-color: var(--mat-button-toggle-legacy-disabled-state-background-color);
|
|
112
|
+
--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-legacy-disabled-state-text-color);
|
|
113
|
+
}
|
|
114
|
+
.mat-button-toggle-disabled.mat-button-toggle-checked {
|
|
115
|
+
background-color: var(--mat-button-toggle-legacy-disabled-selected-state-background-color);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.mat-button-toggle-disabled-interactive {
|
|
119
|
+
pointer-events: auto;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.mat-button-toggle-appearance-standard {
|
|
123
|
+
color: var(--mat-button-toggle-text-color, var(--mat-sys-on-surface));
|
|
124
|
+
background-color: var(--mat-button-toggle-background-color, transparent);
|
|
125
|
+
font-family: var(--mat-button-toggle-label-text-font, var(--mat-sys-label-large-font));
|
|
126
|
+
font-size: var(--mat-button-toggle-label-text-size, var(--mat-sys-label-large-size));
|
|
127
|
+
line-height: var(--mat-button-toggle-label-text-line-height, var(--mat-sys-label-large-line-height));
|
|
128
|
+
font-weight: var(--mat-button-toggle-label-text-weight, var(--mat-sys-label-large-weight));
|
|
129
|
+
letter-spacing: var(--mat-button-toggle-label-text-tracking, var(--mat-sys-label-large-tracking));
|
|
130
|
+
}
|
|
131
|
+
.mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
132
|
+
border-left: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
133
|
+
}
|
|
134
|
+
[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
135
|
+
border-left: none;
|
|
136
|
+
border-right: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
137
|
+
}
|
|
138
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle-appearance-standard + .mat-button-toggle-appearance-standard {
|
|
139
|
+
border-left: none;
|
|
140
|
+
border-right: none;
|
|
141
|
+
border-top: solid 1px var(--mat-button-toggle-divider-color, var(--mat-sys-outline));
|
|
142
|
+
}
|
|
143
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
144
|
+
color: var(--mat-button-toggle-selected-state-text-color, var(--mat-sys-on-secondary-container));
|
|
145
|
+
background-color: var(--mat-button-toggle-selected-state-background-color, var(--mat-sys-secondary-container));
|
|
146
|
+
}
|
|
147
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled {
|
|
148
|
+
color: var(--mat-button-toggle-disabled-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
149
|
+
background-color: var(--mat-button-toggle-disabled-state-background-color, transparent);
|
|
150
|
+
}
|
|
151
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled .mat-pseudo-checkbox {
|
|
152
|
+
--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
153
|
+
}
|
|
154
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-disabled.mat-button-toggle-checked {
|
|
155
|
+
color: var(--mat-button-toggle-disabled-selected-state-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));
|
|
156
|
+
background-color: var(--mat-button-toggle-disabled-selected-state-background-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));
|
|
157
|
+
}
|
|
158
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
|
|
159
|
+
background-color: var(--mat-button-toggle-state-layer-color, var(--mat-sys-on-surface));
|
|
160
|
+
}
|
|
161
|
+
.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay {
|
|
162
|
+
opacity: var(--mat-button-toggle-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));
|
|
163
|
+
}
|
|
164
|
+
.mat-button-toggle-appearance-standard.cdk-keyboard-focused .mat-button-toggle-focus-overlay {
|
|
165
|
+
opacity: var(--mat-button-toggle-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));
|
|
166
|
+
}
|
|
167
|
+
@media (hover: none) {
|
|
168
|
+
.mat-button-toggle-appearance-standard:hover .mat-button-toggle-focus-overlay {
|
|
169
|
+
display: none;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.mat-button-toggle-label-content {
|
|
174
|
+
-webkit-user-select: none;
|
|
175
|
+
user-select: none;
|
|
176
|
+
display: inline-block;
|
|
177
|
+
padding: 0 16px;
|
|
178
|
+
line-height: var(--mat-button-toggle-legacy-height);
|
|
179
|
+
position: relative;
|
|
180
|
+
}
|
|
181
|
+
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
|
|
182
|
+
padding: 0 12px;
|
|
183
|
+
line-height: var(--mat-button-toggle-height, 40px);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
.mat-button-toggle-label-content > * {
|
|
187
|
+
vertical-align: middle;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.mat-button-toggle-focus-overlay {
|
|
191
|
+
top: 0;
|
|
192
|
+
left: 0;
|
|
193
|
+
right: 0;
|
|
194
|
+
bottom: 0;
|
|
195
|
+
position: absolute;
|
|
196
|
+
border-radius: inherit;
|
|
197
|
+
pointer-events: none;
|
|
198
|
+
opacity: 0;
|
|
199
|
+
background-color: var(--mat-button-toggle-legacy-state-layer-color);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
@media (forced-colors: active) {
|
|
203
|
+
.mat-button-toggle-checked .mat-button-toggle-focus-overlay {
|
|
204
|
+
border-bottom: solid 500px;
|
|
205
|
+
opacity: 0.5;
|
|
206
|
+
height: 0;
|
|
207
|
+
}
|
|
208
|
+
.mat-button-toggle-checked:hover .mat-button-toggle-focus-overlay {
|
|
209
|
+
opacity: 0.6;
|
|
210
|
+
}
|
|
211
|
+
.mat-button-toggle-checked.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
|
|
212
|
+
border-bottom: solid 500px;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
.mat-button-toggle .mat-button-toggle-ripple {
|
|
216
|
+
top: 0;
|
|
217
|
+
left: 0;
|
|
218
|
+
right: 0;
|
|
219
|
+
bottom: 0;
|
|
220
|
+
position: absolute;
|
|
221
|
+
pointer-events: none;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
.mat-button-toggle-button {
|
|
225
|
+
border: 0;
|
|
226
|
+
background: none;
|
|
227
|
+
color: inherit;
|
|
228
|
+
padding: 0;
|
|
229
|
+
margin: 0;
|
|
230
|
+
font: inherit;
|
|
231
|
+
outline: none;
|
|
232
|
+
width: 100%;
|
|
233
|
+
cursor: pointer;
|
|
234
|
+
}
|
|
235
|
+
.mat-button-toggle-animations-enabled .mat-button-toggle-button {
|
|
236
|
+
transition: padding 150ms 45ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
237
|
+
}
|
|
238
|
+
.mat-button-toggle-vertical .mat-button-toggle-button {
|
|
239
|
+
transition: none;
|
|
240
|
+
}
|
|
241
|
+
.mat-button-toggle-disabled .mat-button-toggle-button {
|
|
242
|
+
cursor: default;
|
|
243
|
+
}
|
|
244
|
+
.mat-button-toggle-button::-moz-focus-inner {
|
|
245
|
+
border: 0;
|
|
246
|
+
}
|
|
247
|
+
.mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
|
|
248
|
+
padding-left: 30px;
|
|
249
|
+
}
|
|
250
|
+
[dir=rtl] .mat-button-toggle-checked .mat-button-toggle-button:has(.mat-button-toggle-checkbox-wrapper) {
|
|
251
|
+
padding-left: 0;
|
|
252
|
+
padding-right: 30px;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard {
|
|
256
|
+
--mat-focus-indicator-border-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:last-of-type .mat-button-toggle-button::before {
|
|
260
|
+
border-top-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
261
|
+
border-bottom-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
262
|
+
}
|
|
263
|
+
.mat-button-toggle-group-appearance-standard:not(.mat-button-toggle-vertical) .mat-button-toggle:first-of-type .mat-button-toggle-button::before {
|
|
264
|
+
border-top-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
265
|
+
border-bottom-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:last-of-type .mat-button-toggle-button::before {
|
|
269
|
+
border-bottom-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
270
|
+
border-bottom-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
271
|
+
}
|
|
272
|
+
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle:first-of-type .mat-button-toggle-button::before {
|
|
273
|
+
border-top-right-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
274
|
+
border-top-left-radius: var(--mat-button-toggle-shape, var(--mat-sys-corner-extra-large));
|
|
275
|
+
}
|
|
276
|
+
`],encapsulation:2})}return l})(),Mt=(()=>{class l{static \u0275fac=function(t){return new(t||l)};static \u0275mod=Do({type:l});static \u0275inj=Wn$1({imports:[sn,X,wt$1]})}return l})();var Wt=(l,a)=>a.id,Nt=(l,a)=>a.value;function Gt(l,a){l&1&&(vs(0,"mat-option",5),WC(1,"Loading prompts..."),dl());}function zt(l,a){if(l&1&&(vs(0,"mat-option",6),WC(1),dl()),l&2){let e=a.$implicit;Tg("value",e.id),XE(),ml(" ",e.name," ");}}function Ut(l,a){if(l&1){let e=dC();vs(0,"mat-checkbox",37),Ag("change",function(){let n=If(e).$implicit,o=mC();return wf(o.toggleDayOfWeek(n.value))}),WC(1),dl();}if(l&2){let e=a.$implicit,t=mC();Tg("checked",t.isDaySelected(e.value)),XE(),ml(" ",e.label," ");}}function qt(l,a){if(l&1){let e=dC();vs(0,"mat-form-field",2)(1,"mat-label"),WC(2,"Number of Occurrences"),dl(),vs(3,"input",11),Jg("ngModelChange",function(n){If(e);let o=mC();return KC(o.endOccurrences,n)||(o.endOccurrences=n),wf(n)}),dl(),HI(),dl();}if(l&2){let e=mC();XE(3),Xg("ngModel",e.endOccurrences),$I();}}function Ht(l,a){if(l&1){let e=dC();vs(0,"mat-form-field",2)(1,"mat-label"),WC(2,"End Date"),dl(),vs(3,"input",38),Jg("ngModelChange",function(n){If(e);let o=mC();return KC(o.endTimestamp,n)||(o.endTimestamp=n),wf(n)}),dl(),HI(),dl();}if(l&2){let e=mC();XE(3),Xg("ngModel",e.endTimestamp),$I();}}function jt(l,a){if(l&1){let e=dC();vs(0,"div")(1,"mat-form-field",2)(2,"mat-label"),WC(3,"Parameter Value"),dl(),vs(4,"input",39),Jg("ngModelChange",function(n){If(e);let o=mC();return KC(o.simpleParameter,n)||(o.simpleParameter=n),wf(n)}),dl(),HI(),vs(5,"mat-hint"),WC(6),dl()()();}if(l&2){let e=mC();XE(4),Xg("ngModel",e.simpleParameter),$I(),XE(2),ml("Simple value for ","{{PARAMETERS}}"," placeholder or appended to first command");}}function Qt(l,a){if(l&1){let e=dC();vs(0,"div",42)(1,"mat-form-field",43)(2,"mat-label"),WC(3,"Key"),dl(),vs(4,"input",44),Jg("ngModelChange",function(n){let o=If(e).$implicit;return KC(o.key,n)||(o.key=n),wf(n)}),dl(),HI(),dl(),vs(5,"mat-form-field",45)(6,"mat-label"),WC(7,"Value"),dl(),vs(8,"input",46),Jg("ngModelChange",function(n){let o=If(e).$implicit;return KC(o.value,n)||(o.value=n),wf(n)}),dl(),HI(),dl(),vs(9,"button",47),Ag("click",function(){let n=If(e).$index,o=mC(3);return wf(o.removeParameter(n))}),vs(10,"mat-icon"),WC(11,"delete"),dl()()();}if(l&2){let e=a.$implicit;XE(4),Xg("ngModel",e.key),$I(),XE(4),Xg("ngModel",e.value),$I();}}function $t(l,a){if(l&1&&(vs(0,"div",41),oC(1,Qt,12,2,"div",42,nC),dl()),l&2){let e=mC(2);XE(),iC(e.parameters);}}function Kt(l,a){if(l&1){let e=dC();vs(0,"div")(1,"div",28)(2,"button",40),Ag("click",function(){If(e);let n=mC();return wf(n.addParameter())}),vs(3,"mat-icon"),WC(4,"add"),dl()()(),eC(5,$t,3,0,"div",41),vs(6,"p",21),WC(7),dl()();}if(l&2){let e=mC();XE(5),tC(e.parameters.length>0?5:-1),XE(2),ml("Key-value pairs for ","{{key}}"," placeholders in prompt commands");}}function Xt(l,a){if(l&1&&(vs(0,"div",33)(1,"mat-icon"),WC(2,"error"),dl(),vs(3,"span"),WC(4),dl()()),l&2){let e=mC();XE(4),Zg(e.errorMessage);}}var B=class l{schedulerApi=g(xe);promptApi=g(d);dialogRef=g(z);availablePrompts=[];isLoadingPrompts=false;name="";promptId="";enabled=true;startTimestamp="";intervalValue=1;intervalUnit="h";daysOfWeek=[];endConditionType="none";endOccurrences=10;endTimestamp="";parameterMode="simple";simpleParameter="";parameters=[];isSaving=false;errorMessage="";isEditMode=false;schedulerId="";data=g(Ue);daysOfWeekOptions=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:2,label:"Tuesday"},{value:3,label:"Wednesday"},{value:4,label:"Thursday"},{value:5,label:"Friday"},{value:6,label:"Saturday"}];constructor(){this.isEditMode=this.data.mode==="edit";}ngOnInit(){if(this.loadPrompts(),this.isEditMode||(this.startTimestamp=this.formatDateForInput(new Date)),this.isEditMode&&this.data.scheduler){if(this.schedulerId=this.data.scheduler.id,this.name=this.data.scheduler.name,this.promptId=this.data.scheduler.promptId??"",this.enabled=this.data.scheduler.enabled,this.data.scheduler.schedule.startTimestamp){let e=new Date(this.data.scheduler.schedule.startTimestamp);this.startTimestamp=this.formatDateForInput(e);}let a=this.data.scheduler.schedule.interval.match(/^(\d+)(min|h|d|M)$/);a&&a[1]&&a[2]&&(this.intervalValue=parseInt(a[1],10),this.intervalUnit=a[2]),this.daysOfWeek=this.data.scheduler.schedule.daysOfWeek||[],this.data.scheduler.schedule.endCondition&&(this.endConditionType=this.data.scheduler.schedule.endCondition.type,this.endConditionType==="occurrences"?this.endOccurrences=this.data.scheduler.schedule.endCondition.value:this.endConditionType==="endTimestamp"&&(this.endTimestamp=this.data.scheduler.schedule.endCondition.value)),this.data.scheduler.parameters&&(typeof this.data.scheduler.parameters=="object"&&Object.keys(this.data.scheduler.parameters).length===1&&"PARAMETERS"in this.data.scheduler.parameters?(this.parameterMode="simple",this.simpleParameter=String(this.data.scheduler.parameters.PARAMETERS)):(this.parameterMode="structured",this.parameters=Object.entries(this.data.scheduler.parameters).map(([e,t])=>({key:e,value:String(t)}))));}}loadPrompts(){this.isLoadingPrompts=true,this.promptApi.listPrompts().subscribe({next:a=>{this.availablePrompts=a,this.isLoadingPrompts=false;},error:a=>{console.error("Error loading prompts:",a),this.errorMessage="Failed to load prompts",this.isLoadingPrompts=false;}});}toggleDayOfWeek(a){let e=this.daysOfWeek.indexOf(a);e>-1?this.daysOfWeek.splice(e,1):this.daysOfWeek.push(a),this.daysOfWeek.sort();}isDaySelected(a){return this.daysOfWeek.includes(a)}addParameter(){this.parameters.push({key:"",value:""});}removeParameter(a){this.parameters.splice(a,1);}trackByIndex(a){return a}formatDateForInput(a){let e=a.getFullYear(),t=String(a.getMonth()+1).padStart(2,"0"),n=String(a.getDate()).padStart(2,"0"),o=String(a.getHours()).padStart(2,"0"),u=String(a.getMinutes()).padStart(2,"0");return `${e}-${t}-${n}T${o}:${u}`}validateForm(){if(!this.name.trim())return this.errorMessage="Name is required",false;if(!this.promptId)return this.errorMessage="Prompt is required",false;if(this.intervalValue<1)return this.errorMessage="Interval must be at least 1",false;switch(this.intervalUnit){case "min":if(this.intervalValue>59)return this.errorMessage="Minutes interval must be between 1 and 59 (use hours for longer)",false;break;case "h":if(this.intervalValue>24)return this.errorMessage="Hours interval must be between 1 and 24 (use days for longer)",false;break;case "d":if(this.intervalValue>31)return this.errorMessage="Days interval must be between 1 and 31 (use months for longer)",false;break;case "M":if(this.intervalValue>12)return this.errorMessage="Months interval must be between 1 and 12",false;break}return this.endConditionType==="occurrences"&&this.endOccurrences<1?(this.errorMessage="Occurrences must be at least 1",false):this.endConditionType==="endTimestamp"&&!this.endTimestamp?(this.errorMessage="End date is required",false):true}buildSchedule(){let e={startTimestamp:(this.startTimestamp?new Date(this.startTimestamp):new Date).toISOString(),interval:`${this.intervalValue}${this.intervalUnit}`};return this.daysOfWeek.length>0&&(e.daysOfWeek=[...this.daysOfWeek]),this.endConditionType==="occurrences"?e.endCondition={type:"occurrences",value:this.endOccurrences}:this.endConditionType==="endTimestamp"&&(e.endCondition={type:"endTimestamp",value:this.endTimestamp}),e}buildParameters(){if(this.parameterMode==="simple")return this.simpleParameter.trim()?{PARAMETERS:this.simpleParameter.trim()}:void 0;let a=this.parameters.filter(t=>t.key.trim());if(a.length===0)return;let e={};return a.forEach(t=>{e[t.key]=t.value;}),e}save(){if(this.errorMessage="",!this.validateForm())return;let a=this.buildSchedule(),e=this.buildParameters();this.isSaving=true,this.isEditMode&&this.schedulerId?this.schedulerApi.updateScheduler(this.schedulerId,{name:this.name.trim(),enabled:this.enabled,promptId:this.promptId,schedule:a,parameters:e}).subscribe({next:()=>{this.isSaving=false,this.dialogRef.close(true);},error:t=>{console.error("Error updating scheduler:",t),this.errorMessage=t?.error?.error||t?.message||"Failed to update scheduler",this.isSaving=false;}}):this.schedulerApi.createScheduler({name:this.name.trim(),promptId:this.promptId,schedule:a,parameters:e,enabled:this.enabled}).subscribe({next:()=>{this.isSaving=false,this.dialogRef.close(true);},error:t=>{console.error("Error creating scheduler:",t),this.errorMessage=t?.error?.error||t?.message||"Failed to create scheduler",this.isSaving=false;}});}cancel(){this.dialogRef.close(false);}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Aw({type:l,selectors:[["app-scheduler-form"]],decls:90,vars:20,consts:[["mat-dialog-title",""],[1,"form-container"],["appearance","outline",1,"full-width"],["matInput","","placeholder","My Scheduler","required","",3,"ngModelChange","ngModel"],["required","",3,"ngModelChange","ngModel","disabled"],["disabled",""],[3,"value"],["matInput","","type","datetime-local",3,"ngModelChange","ngModel"],[1,"interval-section"],[1,"interval-fields"],["appearance","outline",1,"interval-value"],["matInput","","type","number","min","1","required","",3,"ngModelChange","ngModel"],["appearance","outline",1,"interval-unit"],["required","",3,"ngModelChange","ngModel"],["value","min"],["value","h"],["value","d"],["value","M"],[1,"days-section"],[1,"days-checkboxes"],[3,"checked"],[1,"hint"],[1,"end-condition-section"],[3,"ngModelChange","ngModel"],["value","none"],["value","occurrences"],["value","endTimestamp"],[1,"parameters-section"],[1,"section-header"],[1,"mode-toggle",3,"ngModelChange","ngModel"],["value","simple"],["value","structured"],[1,"enabled-section"],[1,"error-message"],["align","end"],["mat-button","",3,"click","disabled"],["mat-raised-button","","color","primary",3,"click","disabled"],[3,"change","checked"],["matInput","","type","datetime-local","required","",3,"ngModelChange","ngModel"],["matInput","","placeholder","e.g., 1234 or staging",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Add parameter",3,"click"],[1,"parameters-list"],[1,"parameter-item"],["appearance","outline",1,"param-key"],["matInput","","placeholder","parameterName",3,"ngModelChange","ngModel"],["appearance","outline",1,"param-value"],["matInput","","placeholder","value",3,"ngModelChange","ngModel"],["mat-icon-button","","type","button","title","Remove parameter",1,"remove-btn",3,"click"]],template:function(e,t){e&1&&(vs(0,"h2",0),WC(1),dl(),vs(2,"mat-dialog-content")(3,"div",1)(4,"mat-form-field",2)(5,"mat-label"),WC(6,"Name"),dl(),vs(7,"input",3),Jg("ngModelChange",function(o){return KC(t.name,o)||(t.name=o),o}),dl(),HI(),vs(8,"mat-hint"),WC(9,"A descriptive name for this scheduler"),dl()(),vs(10,"mat-form-field",2)(11,"mat-label"),WC(12,"Prompt"),dl(),vs(13,"mat-select",4),Jg("ngModelChange",function(o){return KC(t.promptId,o)||(t.promptId=o),o}),eC(14,Gt,2,0,"mat-option",5),oC(15,zt,2,2,"mat-option",6,Wt),dl(),HI(),vs(17,"mat-hint"),WC(18),dl()(),vs(19,"mat-form-field",2)(20,"mat-label"),WC(21,"Start Date & Time"),dl(),vs(22,"input",7),Jg("ngModelChange",function(o){return KC(t.startTimestamp,o)||(t.startTimestamp=o),o}),dl(),HI(),vs(23,"mat-hint"),WC(24,"When to start the scheduler (leave empty for now)"),dl()(),vs(25,"div",8)(26,"h3"),WC(27,"Schedule Interval"),dl(),vs(28,"div",9)(29,"mat-form-field",10)(30,"mat-label"),WC(31,"Every"),dl(),vs(32,"input",11),Jg("ngModelChange",function(o){return KC(t.intervalValue,o)||(t.intervalValue=o),o}),dl(),HI(),dl(),vs(33,"mat-form-field",12)(34,"mat-label"),WC(35,"Unit"),dl(),vs(36,"mat-select",13),Jg("ngModelChange",function(o){return KC(t.intervalUnit,o)||(t.intervalUnit=o),o}),vs(37,"mat-option",14),WC(38,"Minutes (1-59)"),dl(),vs(39,"mat-option",15),WC(40,"Hours (1-24)"),dl(),vs(41,"mat-option",16),WC(42,"Days (1-31)"),dl(),vs(43,"mat-option",17),WC(44,"Months (1-12)"),dl()(),HI(),dl()()(),vs(45,"div",18)(46,"h3"),WC(47,"Days of Week (Optional)"),dl(),vs(48,"div",19),oC(49,Ut,2,2,"mat-checkbox",20,Nt),dl(),vs(51,"p",21),WC(52,"Leave empty to run every day"),dl()(),vs(53,"div",22)(54,"h3"),WC(55,"End Condition (Optional)"),dl(),vs(56,"mat-form-field",2)(57,"mat-label"),WC(58,"End Type"),dl(),vs(59,"mat-select",23),Jg("ngModelChange",function(o){return KC(t.endConditionType,o)||(t.endConditionType=o),o}),vs(60,"mat-option",24),WC(61,"Never (run indefinitely)"),dl(),vs(62,"mat-option",25),WC(63,"After X occurrences"),dl(),vs(64,"mat-option",26),WC(65,"Until specific date"),dl()(),HI(),dl(),eC(66,qt,4,1,"mat-form-field",2),eC(67,Ht,4,1,"mat-form-field",2),dl(),vs(68,"div",27)(69,"div",28)(70,"h3"),WC(71,"Parameters (Optional)"),dl(),vs(72,"mat-button-toggle-group",29),Jg("ngModelChange",function(o){return KC(t.parameterMode,o)||(t.parameterMode=o),o}),vs(73,"mat-button-toggle",30),WC(74,"Simple"),dl(),vs(75,"mat-button-toggle",31),WC(76,"Structured"),dl()(),HI(),dl(),eC(77,jt,7,2,"div"),eC(78,Kt,8,2,"div"),dl(),vs(79,"div",32)(80,"mat-checkbox",23),Jg("ngModelChange",function(o){return KC(t.enabled,o)||(t.enabled=o),o}),WC(81,"Enabled"),dl(),HI(),vs(82,"p",21),WC(83,"Scheduler will only run if enabled"),dl()(),eC(84,Xt,5,1,"div",33),dl()(),vs(85,"mat-dialog-actions",34)(86,"button",35),Ag("click",function(){return t.cancel()}),WC(87,"Cancel"),dl(),vs(88,"button",36),Ag("click",function(){return t.save()}),WC(89),dl()()),e&2&&(XE(),Zg(t.isEditMode?"Edit Scheduler":"Create Scheduler"),XE(6),Xg("ngModel",t.name),$I(),XE(6),Xg("ngModel",t.promptId),Tg("disabled",t.isLoadingPrompts),$I(),XE(),tC(t.isLoadingPrompts?14:-1),XE(),iC(t.availablePrompts),XE(3),Zg(t.isLoadingPrompts?"Loading available prompts...":"Select the prompt to execute"),XE(4),Xg("ngModel",t.startTimestamp),$I(),XE(10),Xg("ngModel",t.intervalValue),$I(),XE(4),Xg("ngModel",t.intervalUnit),$I(),XE(13),iC(t.daysOfWeekOptions),XE(10),Xg("ngModel",t.endConditionType),$I(),XE(7),tC(t.endConditionType==="occurrences"?66:-1),XE(),tC(t.endConditionType==="endTimestamp"?67:-1),XE(5),Xg("ngModel",t.parameterMode),$I(),XE(5),tC(t.parameterMode==="simple"?77:-1),XE(),tC(t.parameterMode==="structured"?78:-1),XE(2),Xg("ngModel",t.enabled),$I(),XE(4),tC(t.errorMessage?84:-1),XE(2),Tg("disabled",t.isSaving),XE(2),Tg("disabled",t.isSaving),XE(),ml(" ",t.isSaving?"Saving...":"Save"," "));},dependencies:[Gm,ti,Ye,fn,Zn,gt,$t$1,cn,zt$1,jt$1,Vt,Nt$1,hr,pr,Gn,Tn,Sn,nt$1,ae,le,ce,yt$1,wt,Pt$1,Lt,Fn,ve,ne,Mt,ie,X],styles:[".form-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:0;min-width:600px}@media(max-width:768px){.form-container[_ngcontent-%COMP%]{min-width:auto}}.full-width[_ngcontent-%COMP%]{width:100%}.interval-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%]{display:flex;gap:1rem}.interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%] .interval-value[_ngcontent-%COMP%], .interval-section[_ngcontent-%COMP%] .interval-fields[_ngcontent-%COMP%] .interval-unit[_ngcontent-%COMP%]{flex:1}.days-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.days-section[_ngcontent-%COMP%] .days-checkboxes[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.days-section[_ngcontent-%COMP%] .days-checkboxes[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{min-width:120px}.days-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.end-condition-section[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem;font-weight:600}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:600}.parameters-section[_ngcontent-%COMP%] .section-header[_ngcontent-%COMP%] .mode-toggle[_ngcontent-%COMP%]{height:32px}.parameters-section[_ngcontent-%COMP%] .parameters-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .param-key[_ngcontent-%COMP%]{flex:1}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .param-value[_ngcontent-%COMP%]{flex:2}.parameters-section[_ngcontent-%COMP%] .parameter-item[_ngcontent-%COMP%] .remove-btn[_ngcontent-%COMP%]{margin-top:8px}.parameters-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:.5rem 0 0;font-size:.85rem;color:var(--color-text-secondary)}.enabled-section[_ngcontent-%COMP%]{padding:1rem;background:var(--color-surface);border-radius:8px;border:1px solid var(--color-border)}.enabled-section[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{display:block;margin-bottom:.5rem}.enabled-section[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--color-text-secondary)}.error-message[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f443361a;border:1px solid var(--color-error);border-radius:4px;color:var(--color-error)}.error-message[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}.error-message[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex:1}"],changeDetection:1})};var Yt=()=>[],Zt=l=>({id:l});function Jt(l,a){if(l&1&&(vs(0,"div",6),WC(1),dl()),l&2){let e=mC();XE(),Zg(e.errorMessage());}}function en(l,a){if(l&1){let e=dC();vs(0,"ds-entity-card",8),Ag("selected",function(n){If(e);let o=mC();return wf(o.onEdit(n))}),hl(1,9),vs(2,"button",10),Ag("click",function(n){return n.stopPropagation()}),vs(3,"mat-icon"),WC(4,"more_vert"),dl()(),gl(),dl();}if(l&2){let e=a.$implicit;mC();let t=TC(11);Tg("id",e.id)("name",e.name)("description",e.description)("badges",e.badges??rT(6,Yt)),XE(2),Tg("matMenuTriggerFor",t)("matMenuTriggerData",oT(7,Zt,e.id));}}function tn(l,a){if(l&1){let e=dC();vs(0,"button",11),Ag("click",function(){let n=If(e).id,o=mC();return wf(o.onEdit(n))}),vs(1,"mat-icon"),WC(2,"edit"),dl(),WC(3," Edit "),dl(),vs(4,"button",11),Ag("click",function(){let n=If(e).id,o=mC();return wf(o.onToggleEnabled(n))}),vs(5,"mat-icon"),WC(6),dl(),WC(7),dl(),vs(8,"button",11),Ag("click",function(){let n=If(e).id,o=mC();return wf(o.onRunNow(n))}),vs(9,"mat-icon"),WC(10,"play_arrow"),dl(),WC(11," Run now "),dl(),vs(12,"button",12),Ag("click",function(){let n=If(e).id,o=mC();return wf(o.onDelete(n))}),vs(13,"mat-icon"),WC(14,"delete"),dl(),WC(15," Delete "),dl();}if(l&2){let e=a.id,t=mC();XE(6),Zg(t.isEnabled(e)?"pause_circle":"play_circle"),XE(),ml(" ",t.isEnabled(e)?"Disable":"Enable"," ");}}var Ct=class l{schedulerApi=g(xe);promptApi=g(d);configApi=g(W);location=g(Sm);dialog=g(Re);schedulers=Hi([]);prompts=Hi([]);isLoading=Hi(false);errorMessage=Hi(null);showOnlyMine=Hi(true);currentUsername=Hi("");schedulerItems=mT(()=>{let a=this.schedulers(),e=this.currentUsername(),n=this.showOnlyMine()&&e?a.filter(C=>this.isMyScheduler(C)):a,u=[...new Set(n.map(C=>C.createdBy))].sort((C,F)=>C===e&&F!==e?-1:F===e&&C!==e?1:C.localeCompare(F)),I=[];for(let C of u){let F=C===e?`${C} (you)`:C;for(let V of n.filter(St=>St.createdBy===C))I.push({id:V.id,name:V.name,description:this.buildDescription(V),badges:this.buildBadges(V),groupKey:C,groupLabel:F});}return I});ngOnInit(){this.configApi.getUserConfig().subscribe({next:a=>this.currentUsername.set(a.username??""),error:()=>{}}),this.loadPrompts(),this.loadSchedulers();}loadPrompts(){this.promptApi.listPrompts().subscribe({next:a=>this.prompts.set(a),error:()=>{}});}loadSchedulers(){this.isLoading.set(true),this.schedulerApi.listSchedulers().subscribe({next:a=>{this.schedulers.set(a),this.isLoading.set(false);},error:a=>{this.errorMessage.set(a?.error?.error??"Failed to load schedulers"),this.isLoading.set(false);}});}onBack(){this.location.back();}onCreate(){this.dialog.open(B,{width:"700px",maxHeight:"90vh",data:{mode:"create"}}).afterClosed().subscribe(e=>{e&&this.loadSchedulers();});}onEdit(a){this.schedulerApi.getScheduler(a).subscribe({next:e=>{this.dialog.open(B,{width:"700px",maxHeight:"90vh",data:{mode:"edit",scheduler:e}}).afterClosed().subscribe(n=>{n&&this.loadSchedulers();});},error:e=>this.errorMessage.set(e?.error?.error??"Failed to load scheduler")});}onToggleEnabled(a){let e=this.schedulers().find(n=>n.id===a);if(!e)return;(e.enabled?this.schedulerApi.disableScheduler(a):this.schedulerApi.enableScheduler(a)).subscribe({next:()=>this.loadSchedulers(),error:n=>this.errorMessage.set(n?.error?.error??"Failed to toggle scheduler")});}onRunNow(a){this.schedulerApi.runSchedulerNow(a).subscribe({next:e=>{alert(`Scheduler executed successfully! Thread ID: ${e.threadId}`),this.loadSchedulers();},error:e=>this.errorMessage.set(e?.error?.error??"Failed to run scheduler")});}onDelete(a){confirm("Are you sure you want to delete this scheduler?")&&this.schedulerApi.deleteScheduler(a).subscribe({next:()=>this.loadSchedulers(),error:e=>this.errorMessage.set(e?.error?.error??"Failed to delete scheduler")});}isEnabled(a){return this.schedulers().find(e=>e.id===a)?.enabled??false}buildDescription(a){let e;if(a.promptId)e=this.getPromptName(a.promptId);else if(a.agentName&&a.instruction){let o=a.instruction.length>40?a.instruction.slice(0,40)+"\u2026":a.instruction;e=`${a.agentName}: ${o}`;}else console.error(`Scheduler "${a.name}" (${a.id}) has neither promptId nor agentName+instruction`),e="Unknown source";let t=this.formatInterval(a.schedule.interval),n=a.nextRun?new Date(a.nextRun).toLocaleString():"Expired";return `${e} \xB7 ${t} \xB7 Next: ${n}`}buildBadges(a){return [a.enabled?{label:"enabled",variant:"success"}:{label:"disabled",variant:"warning"}]}getPromptName(a){let e=this.prompts().find(t=>t.id===a);return e?e.name:a}formatInterval(a){let e=/^(\d+)(min|h|d|M)$/.exec(a);if(!e)return a;let[,t,n]=e;if(!t||!n)return a;let u={min:"minute",h:"hour",d:"day",M:"month"}[n]??n;return `Every ${t} ${u}${parseInt(t,10)>1?"s":""}`}isMyScheduler(a){let e=t=>t.replace(/[.\s]+/g,"_").toLowerCase();return e(a.createdBy)===e(this.currentUsername())}static \u0275fac=function(e){return new(e||l)};static \u0275cmp=Aw({type:l,selectors:[["app-scheduler-list"]],decls:13,vars:5,consts:[["schedulerCard",""],["cardMenu","matMenu"],[1,"scheduler-list-page"],["title","Schedulers","cardMinWidth","384px","contentMaxWidth","1400px","searchPlaceholder","Filter schedulers\u2026","emptyMessage","No schedulers found.",3,"createRequested","items","showCreate","itemTemplate"],["toolbar-start","","mat-icon-button","","title","Back",3,"click"],["toolbar-extras","","color","primary",1,"scheduler-list__mine-toggle",3,"ngModelChange","ngModel"],[1,"scheduler-list__error"],["matMenuContent",""],[3,"selected","id","name","description","badges"],["dsCardActions",""],["mat-icon-button","",3,"click","matMenuTriggerFor","matMenuTriggerData"],["mat-menu-item","",3,"click"],["mat-menu-item","",1,"scheduler-list__delete-item",3,"click"]],template:function(e,t){if(e&1&&(vs(0,"div",2)(1,"ds-entity-list",3),Ag("createRequested",function(){return t.onCreate()}),vs(2,"button",4),Ag("click",function(){return t.onBack()}),vs(3,"mat-icon"),WC(4,"chevron_left"),dl()(),vs(5,"mat-slide-toggle",5),Ag("ngModelChange",function(o){return t.showOnlyMine.set(o)}),WC(6," Mine "),dl(),HI(),dl(),eC(7,Jt,2,1,"div",6),dl(),Dg(8,en,5,9,"ng-template",null,0,fT),vs(10,"mat-menu",null,1),Dg(12,tn,16,2,"ng-template",7),dl()),e&2){let n=TC(9);XE(),Tg("items",t.schedulerItems())("showCreate",true)("itemTemplate",n),XE(4),Tg("ngModel",t.showOnlyMine()),$I(),XE(2),tC(t.errorMessage()?7:-1);}},dependencies:[Wn,it,nt,hr,Gn,yt$1,wt,ke,se,In,ke$1,Le,ga,En,ti,Zn,cn],styles:["[_nghost-%COMP%]{display:block;width:100%;min-height:100vh;background:var(--color-bg);overflow-y:auto}.scheduler-list__mine-toggle[_ngcontent-%COMP%]{flex-shrink:0;font-size:.875rem}.scheduler-list__delete-item[_ngcontent-%COMP%]{color:var(--color-error, #ff3b30)}.scheduler-list__delete-item[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{color:inherit}.scheduler-list__error[_ngcontent-%COMP%]{margin:1rem auto;max-width:900px;padding:.75rem 1rem;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:8px;color:var(--color-error, #ff3b30);font-size:.875rem}"],changeDetection:1})};export{Ct as SchedulerListComponent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import {ca as hB,cb as pB,g,G as G$1,P,m as mT,A as Aw,i as hr,j as Gn,v as vs,l as Ag,n as eC,W as WC,k as dl,b_ as FC,y as Hg,C as Cg,X as XE,t as tC,a8 as Zg,a5 as ml,r as Tg,a9 as dC,aa as If,ac as mC,ab as wf,o as bg}from'./main-CERDHS7N.js';import {v as ve,n as ne}from'./chunk-B0QeL_YS.js';import {V as Ve,n as ne$1}from'./chunk-Dv3y4cq8.js';import {y as yt,w as wt}from'./chunk-D615HDbJ.js';function L(a,e){if(a&1){let n=dC();vs(0,"div",1)(1,"mat-checkbox",21),Ag("click",function(r){return r.stopPropagation()})("change",function(r){If(n);let i=mC();return wf(i.selectionChanged.emit({id:i.task().id,selected:r.checked}))}),dl()();}if(a&2){let n=mC();XE(),Tg("checked",n.selected()),Cg("aria-label","Select task: "+n.task().name);}}function Y(a,e){a&1&&(vs(0,"mat-icon",2),WC(1,"star"),dl());}function W(a,e){a&1&&bg(0,"span",6);}function U(a,e){if(a&1&&(vs(0,"div",7)(1,"mat-icon",22),WC(2,"folder"),dl(),vs(3,"span"),WC(4),dl()()),a&2){let n=mC();XE(4),Zg(n.projectName());}}function B(a,e){if(a&1&&(vs(0,"p",9),WC(1),dl()),a&2){let n=mC();XE(),Zg(n.task().summary);}}function $(a,e){a&1&&(vs(0,"p",10),WC(1,"No summary yet"),dl());}function H(a,e){if(a&1){let n=dC();vs(0,"button",23),Ag("click",function(r){If(n);let i=mC();return wf(i.onOpenDirect(r))}),vs(1,"mat-icon"),WC(2,"open_in_new"),dl()();}}function F(a,e){if(a&1){let n=dC();vs(0,"button",24),Ag("click",function(r){If(n);let i=mC();return wf(i.onStop(r))}),vs(1,"mat-icon"),WC(2,"stop_circle"),dl()();}}function G(a,e){if(a&1){let n=dC();vs(0,"button",25),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkDone(r))}),vs(1,"mat-icon"),WC(2,"check_circle_outline"),dl()();}}function K(a,e){if(a&1){let n=dC();vs(0,"button",26),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkActive(r))}),vs(1,"mat-icon"),WC(2,"replay"),dl()();}}function J(a,e){if(a&1){let n=dC();vs(0,"button",27),Ag("click",function(r){If(n);let i=mC();return wf(i.onCloseTask(r))}),vs(1,"mat-icon"),WC(2,"close_fullscreen"),dl()();}}var A=class a{task=hB.required();projectNameOverride=hB(null);showProject=hB(false);previewMode=hB(false);selectable=hB(false);selected=hB(false);stopRequested=pB();deleteRequested=pB();starToggled=pB();closeTaskRequested=pB();markDoneRequested=pB();markActiveRequested=pB();previewRequested=pB();selectionChanged=pB();router=g(G$1);projectState=g(P);projectName=mT(()=>this.projectNameOverride()??this.projectState.getSelectedProjectId());statusLabel=mT(()=>Q[this.task().status]);statusIcon=mT(()=>X[this.task().status]);isWorktree=mT(()=>!!this.task().worktreeProject);navigate(){if(this.previewMode()){this.previewRequested.emit(this.task().id);return}let e=this.projectName();e&&(this.projectState.selectProject(e),this.router.navigate(["project",e,"thread",this.task().id]));}onStop(e){e.stopPropagation(),this.stopRequested.emit(this.task().id);}onDelete(e){e.stopPropagation(),this.deleteRequested.emit(this.task().id);}onStarToggle(e){e.stopPropagation(),this.starToggled.emit(this.task().id);}onCloseTask(e){e.stopPropagation(),this.closeTaskRequested.emit(this.task().id);}onMarkDone(e){e.stopPropagation(),this.markDoneRequested.emit(this.task().id);}onMarkActive(e){e.stopPropagation(),this.markActiveRequested.emit(this.task().id);}onOpenDirect(e){e.stopPropagation();let n=this.projectName();n&&(this.projectState.selectProject(n),this.router.navigate(["project",n,"thread",this.task().id]));}formatRelativeTime(e){let n=Date.now()-new Date(e).getTime(),t=Math.floor(n/6e4);if(t<1)return "just now";if(t<60)return `${t} min ago`;let r=Math.floor(t/60);if(r<24)return `${r}h ago`;let i=Math.floor(r/24);return i===1?"yesterday":i<7?`${i} days ago`:new Date(e).toLocaleDateString("en",{day:"numeric",month:"short"})}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=Aw({type:a,selectors:[["app-task-card"]],inputs:{task:[1,"task"],projectNameOverride:[1,"projectNameOverride"],showProject:[1,"showProject"],previewMode:[1,"previewMode"],selectable:[1,"selectable"],selected:[1,"selected"]},outputs:{stopRequested:"stopRequested",deleteRequested:"deleteRequested",starToggled:"starToggled",closeTaskRequested:"closeTaskRequested",markDoneRequested:"markDoneRequested",markActiveRequested:"markActiveRequested",previewRequested:"previewRequested",selectionChanged:"selectionChanged"},decls:29,vars:25,consts:[["role","button","tabindex","0",1,"task-card",3,"click","keydown.enter","keydown.space"],[1,"selection-checkbox"],["aria-label","Starred",1,"starred-indicator"],[1,"status-badge"],[1,"status-icon"],[1,"status-label"],["aria-hidden","true",1,"pulse-ring"],[1,"task-project"],[1,"task-name"],[1,"task-summary"],[1,"task-summary","empty"],[1,"task-footer"],[1,"task-time"],[1,"task-actions"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn"],["mat-icon-button","",1,"action-btn","star-btn",3,"click","matTooltip"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn"],["mat-icon-button","","matTooltip","Delete task","aria-label","Delete task",1,"action-btn","delete-btn",3,"click"],[3,"click","change","checked"],[1,"project-icon"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn",3,"click"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn",3,"click"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn",3,"click"]],template:function(n,t){n&1&&(vs(0,"article",0),Ag("click",function(){return t.navigate()})("keydown.enter",function(){return t.navigate()})("keydown.space",function(i){return t.navigate(),i.preventDefault()}),eC(1,L,2,2,"div",1),eC(2,Y,2,0,"mat-icon",2),vs(3,"div",3)(4,"mat-icon",4),WC(5),dl(),vs(6,"span",5),WC(7),dl(),eC(8,W,1,0,"span",6),dl(),eC(9,U,5,1,"div",7),vs(10,"h3",8),WC(11),dl(),eC(12,B,2,1,"p",9)(13,$,2,0,"p",10),vs(14,"footer",11)(15,"span",12),WC(16),dl(),vs(17,"div",13),eC(18,H,3,0,"button",14),eC(19,F,3,0,"button",15),eC(20,G,3,0,"button",16)(21,K,3,0,"button",17),vs(22,"button",18),Ag("click",function(i){return t.onStarToggle(i)}),vs(23,"mat-icon"),WC(24),dl()(),eC(25,J,3,0,"button",19),vs(26,"button",20),Ag("click",function(i){return t.onDelete(i)}),vs(27,"mat-icon"),WC(28,"delete_outline"),dl()()()()()),n&2&&(FC("status-"+t.task().status),Hg("is-active",t.task().isActive)("is-selected",t.selected()),Cg("aria-label","Open task: "+t.task().name),XE(),tC(t.selectable()?1:-1),XE(),tC(t.task().starring.length>0?2:-1),XE(3),Zg(t.statusIcon()),XE(2),Zg(t.statusLabel()),XE(),tC(t.task().status==="waiting-you"?8:-1),XE(),tC(t.showProject()&&t.projectName()?9:-1),XE(2),ml(" ",t.task().name||"Unnamed task"," "),XE(),tC(t.task().summary?12:13),XE(4),Zg(t.formatRelativeTime(t.task().modifiedDate)),XE(2),tC(t.previewMode()?18:-1),XE(),tC(t.task().status==="in-progress"?19:-1),XE(),tC(t.task().status!=="done"?20:21),XE(2),Hg("starred",t.task().starring.length>0),Tg("matTooltip",t.task().starring.length>0?"Unstar":"Star"),Cg("aria-label",t.task().starring.length>0?"Unstar task":"Star task"),XE(2),Zg(t.task().starring.length>0?"star":"star_border"),XE(),tC(t.isWorktree()?25:-1));},dependencies:[ve,ne,yt,wt,hr,Gn,Ve,ne$1],styles:['.glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block}.task-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.25rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease;outline:none;display:flex;flex-direction:column;gap:.5rem;min-height:160px}.task-card[_ngcontent-%COMP%]:hover, .task-card[_ngcontent-%COMP%]:focus-visible{transform:translateY(-3px);box-shadow:0 16px 48px #00000026}.task-card[_ngcontent-%COMP%]:active{transform:translateY(-1px)}.task-card[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:var(--status-color, var(--color-text-secondary))}.task-card.status-waiting-you[_ngcontent-%COMP%]{--status-color: var(--color-error);border-color:#ff3b3040}.task-card.status-in-progress[_ngcontent-%COMP%]{--status-color: var(--color-warning);border-color:#ff950033}.task-card.status-done[_ngcontent-%COMP%]{--status-color: var(--color-success)}.task-card.status-paused[_ngcontent-%COMP%]{--status-color: var(--color-text-secondary)}.task-card.status-error[_ngcontent-%COMP%]{--status-color: var(--color-error)}.task-card.is-active[_ngcontent-%COMP%]{box-shadow:var(--glass-shadow),0 0 0 2px rgba(var(--color-primary),.3)}.selection-checkbox[_ngcontent-%COMP%]{position:absolute;right:.875rem;top:1.125rem;z-index:2}.task-card.is-selected[_ngcontent-%COMP%]{border-color:var(--color-primary);box-shadow:var(--glass-shadow),0 0 0 2px var(--color-primary)}.task-card.is-selected[_ngcontent-%COMP%]:before{background:var(--color-primary)}.starred-indicator[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem;font-size:1rem;width:1rem;height:1rem;color:#f5a623;pointer-events:none}.status-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;position:relative}.status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;color:var(--status-color, var(--color-text-secondary))}.status-in-progress[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 2s linear infinite}.status-badge[_ngcontent-%COMP%] .status-label[_ngcontent-%COMP%]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--status-color, var(--color-text-secondary))}.status-badge[_ngcontent-%COMP%] .pulse-ring[_ngcontent-%COMP%]{position:absolute;left:-2px;top:-2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-error);animation:_ngcontent-%COMP%_pulse 1.5s ease-out infinite;pointer-events:none}.task-project[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--color-primary);opacity:.8;text-transform:uppercase;letter-spacing:.04em}.task-project[_ngcontent-%COMP%] .project-icon[_ngcontent-%COMP%]{font-size:.75rem;width:.75rem;height:.75rem}.task-name[_ngcontent-%COMP%]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-summary[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-summary.empty[_ngcontent-%COMP%]{font-style:italic;opacity:.6}.task-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.25rem}.task-time[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);opacity:.8}.task-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.task-card[_ngcontent-%COMP%]:hover .task-actions[_ngcontent-%COMP%], .task-card[_ngcontent-%COMP%]:focus-within .task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:28px;height:28px;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.task-actions[_ngcontent-%COMP%] .stop-btn[_ngcontent-%COMP%]{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .mark-done-btn[_ngcontent-%COMP%]{color:var(--color-success)}.task-actions[_ngcontent-%COMP%] .star-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .star-btn.starred[_ngcontent-%COMP%]{color:#f5a623}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]:hover{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]{color:var(--color-primary)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover{color:var(--color-primary-hover)}@media(max-width:600px){.task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:36px;height:36px}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}']})},Q={"waiting-you":"Waiting for you","in-progress":"In progress\u2026",done:"Done",paused:"Paused",error:"Error"},X={"waiting-you":"mark_unread_chat_alt","in-progress":"pending",done:"check_circle",paused:"pause_circle",error:"error"};var bt=300*1e3,kt={"waiting-you":0,"in-progress":1,done:2,paused:3,error:4};export{A,bt as b,kt as k};
|
|
1
|
+
import {ca as hB,cb as pB,g,G as G$1,P,m as mT,A as Aw,i as hr,j as Gn,v as vs,l as Ag,n as eC,W as WC,k as dl,b_ as FC,y as Hg,C as Cg,X as XE,t as tC,a8 as Zg,a5 as ml,r as Tg,a9 as dC,aa as If,ac as mC,ab as wf,o as bg}from'./main-ZCJEGFW3.js';import {v as ve,n as ne}from'./chunk-BC_2TEa6.js';import {V as Ve,n as ne$1}from'./chunk-BUF2p97y.js';import {y as yt,w as wt}from'./chunk-Pl7edkoq.js';function L(a,e){if(a&1){let n=dC();vs(0,"div",1)(1,"mat-checkbox",21),Ag("click",function(r){return r.stopPropagation()})("change",function(r){If(n);let i=mC();return wf(i.selectionChanged.emit({id:i.task().id,selected:r.checked}))}),dl()();}if(a&2){let n=mC();XE(),Tg("checked",n.selected()),Cg("aria-label","Select task: "+n.task().name);}}function Y(a,e){a&1&&(vs(0,"mat-icon",2),WC(1,"star"),dl());}function W(a,e){a&1&&bg(0,"span",6);}function U(a,e){if(a&1&&(vs(0,"div",7)(1,"mat-icon",22),WC(2,"folder"),dl(),vs(3,"span"),WC(4),dl()()),a&2){let n=mC();XE(4),Zg(n.projectName());}}function B(a,e){if(a&1&&(vs(0,"p",9),WC(1),dl()),a&2){let n=mC();XE(),Zg(n.task().summary);}}function $(a,e){a&1&&(vs(0,"p",10),WC(1,"No summary yet"),dl());}function H(a,e){if(a&1){let n=dC();vs(0,"button",23),Ag("click",function(r){If(n);let i=mC();return wf(i.onOpenDirect(r))}),vs(1,"mat-icon"),WC(2,"open_in_new"),dl()();}}function F(a,e){if(a&1){let n=dC();vs(0,"button",24),Ag("click",function(r){If(n);let i=mC();return wf(i.onStop(r))}),vs(1,"mat-icon"),WC(2,"stop_circle"),dl()();}}function G(a,e){if(a&1){let n=dC();vs(0,"button",25),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkDone(r))}),vs(1,"mat-icon"),WC(2,"check_circle_outline"),dl()();}}function K(a,e){if(a&1){let n=dC();vs(0,"button",26),Ag("click",function(r){If(n);let i=mC();return wf(i.onMarkActive(r))}),vs(1,"mat-icon"),WC(2,"replay"),dl()();}}function J(a,e){if(a&1){let n=dC();vs(0,"button",27),Ag("click",function(r){If(n);let i=mC();return wf(i.onCloseTask(r))}),vs(1,"mat-icon"),WC(2,"close_fullscreen"),dl()();}}var A=class a{task=hB.required();projectNameOverride=hB(null);showProject=hB(false);previewMode=hB(false);selectable=hB(false);selected=hB(false);stopRequested=pB();deleteRequested=pB();starToggled=pB();closeTaskRequested=pB();markDoneRequested=pB();markActiveRequested=pB();previewRequested=pB();selectionChanged=pB();router=g(G$1);projectState=g(P);projectName=mT(()=>this.projectNameOverride()??this.projectState.getSelectedProjectId());statusLabel=mT(()=>Q[this.task().status]);statusIcon=mT(()=>X[this.task().status]);isWorktree=mT(()=>!!this.task().worktreeProject);navigate(){if(this.previewMode()){this.previewRequested.emit(this.task().id);return}let e=this.projectName();e&&(this.projectState.selectProject(e),this.router.navigate(["project",e,"thread",this.task().id]));}onStop(e){e.stopPropagation(),this.stopRequested.emit(this.task().id);}onDelete(e){e.stopPropagation(),this.deleteRequested.emit(this.task().id);}onStarToggle(e){e.stopPropagation(),this.starToggled.emit(this.task().id);}onCloseTask(e){e.stopPropagation(),this.closeTaskRequested.emit(this.task().id);}onMarkDone(e){e.stopPropagation(),this.markDoneRequested.emit(this.task().id);}onMarkActive(e){e.stopPropagation(),this.markActiveRequested.emit(this.task().id);}onOpenDirect(e){e.stopPropagation();let n=this.projectName();n&&(this.projectState.selectProject(n),this.router.navigate(["project",n,"thread",this.task().id]));}formatRelativeTime(e){let n=Date.now()-new Date(e).getTime(),t=Math.floor(n/6e4);if(t<1)return "just now";if(t<60)return `${t} min ago`;let r=Math.floor(t/60);if(r<24)return `${r}h ago`;let i=Math.floor(r/24);return i===1?"yesterday":i<7?`${i} days ago`:new Date(e).toLocaleDateString("en",{day:"numeric",month:"short"})}static \u0275fac=function(n){return new(n||a)};static \u0275cmp=Aw({type:a,selectors:[["app-task-card"]],inputs:{task:[1,"task"],projectNameOverride:[1,"projectNameOverride"],showProject:[1,"showProject"],previewMode:[1,"previewMode"],selectable:[1,"selectable"],selected:[1,"selected"]},outputs:{stopRequested:"stopRequested",deleteRequested:"deleteRequested",starToggled:"starToggled",closeTaskRequested:"closeTaskRequested",markDoneRequested:"markDoneRequested",markActiveRequested:"markActiveRequested",previewRequested:"previewRequested",selectionChanged:"selectionChanged"},decls:29,vars:25,consts:[["role","button","tabindex","0",1,"task-card",3,"click","keydown.enter","keydown.space"],[1,"selection-checkbox"],["aria-label","Starred",1,"starred-indicator"],[1,"status-badge"],[1,"status-icon"],[1,"status-label"],["aria-hidden","true",1,"pulse-ring"],[1,"task-project"],[1,"task-name"],[1,"task-summary"],[1,"task-summary","empty"],[1,"task-footer"],[1,"task-time"],[1,"task-actions"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn"],["mat-icon-button","",1,"action-btn","star-btn",3,"click","matTooltip"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn"],["mat-icon-button","","matTooltip","Delete task","aria-label","Delete task",1,"action-btn","delete-btn",3,"click"],[3,"click","change","checked"],[1,"project-icon"],["mat-icon-button","","matTooltip","Open full view","aria-label","Open task in full view",1,"action-btn","open-btn",3,"click"],["mat-icon-button","","matTooltip","Stop agent","aria-label","Stop agent",1,"action-btn","stop-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as done","aria-label","Mark as done",1,"action-btn","mark-done-btn",3,"click"],["mat-icon-button","","matTooltip","Mark as active","aria-label","Mark as active",1,"action-btn","mark-active-btn",3,"click"],["mat-icon-button","","matTooltip","Close task (removes worktree)","aria-label","Close task",1,"action-btn","close-task-btn",3,"click"]],template:function(n,t){n&1&&(vs(0,"article",0),Ag("click",function(){return t.navigate()})("keydown.enter",function(){return t.navigate()})("keydown.space",function(i){return t.navigate(),i.preventDefault()}),eC(1,L,2,2,"div",1),eC(2,Y,2,0,"mat-icon",2),vs(3,"div",3)(4,"mat-icon",4),WC(5),dl(),vs(6,"span",5),WC(7),dl(),eC(8,W,1,0,"span",6),dl(),eC(9,U,5,1,"div",7),vs(10,"h3",8),WC(11),dl(),eC(12,B,2,1,"p",9)(13,$,2,0,"p",10),vs(14,"footer",11)(15,"span",12),WC(16),dl(),vs(17,"div",13),eC(18,H,3,0,"button",14),eC(19,F,3,0,"button",15),eC(20,G,3,0,"button",16)(21,K,3,0,"button",17),vs(22,"button",18),Ag("click",function(i){return t.onStarToggle(i)}),vs(23,"mat-icon"),WC(24),dl()(),eC(25,J,3,0,"button",19),vs(26,"button",20),Ag("click",function(i){return t.onDelete(i)}),vs(27,"mat-icon"),WC(28,"delete_outline"),dl()()()()()),n&2&&(FC("status-"+t.task().status),Hg("is-active",t.task().isActive)("is-selected",t.selected()),Cg("aria-label","Open task: "+t.task().name),XE(),tC(t.selectable()?1:-1),XE(),tC(t.task().starring.length>0?2:-1),XE(3),Zg(t.statusIcon()),XE(2),Zg(t.statusLabel()),XE(),tC(t.task().status==="waiting-you"?8:-1),XE(),tC(t.showProject()&&t.projectName()?9:-1),XE(2),ml(" ",t.task().name||"Unnamed task"," "),XE(),tC(t.task().summary?12:13),XE(4),Zg(t.formatRelativeTime(t.task().modifiedDate)),XE(2),tC(t.previewMode()?18:-1),XE(),tC(t.task().status==="in-progress"?19:-1),XE(),tC(t.task().status!=="done"?20:21),XE(2),Hg("starred",t.task().starring.length>0),Tg("matTooltip",t.task().starring.length>0?"Unstar":"Star"),Cg("aria-label",t.task().starring.length>0?"Unstar task":"Star task"),XE(2),Zg(t.task().starring.length>0?"star":"star_border"),XE(),tC(t.isWorktree()?25:-1));},dependencies:[ve,ne,yt,wt,hr,Gn,Ve,ne$1],styles:['.glass-panel[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-interactive[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-interactive[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-interactive[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:1.5rem}.glass-button[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.glass-button[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.glass-button[_ngcontent-%COMP%]:active{transform:translateY(0)}.glass-button[_ngcontent-%COMP%]{border-radius:12px;padding:.75rem 1.5rem;font-weight:600;cursor:pointer}.glass-button[_ngcontent-%COMP%]:disabled{opacity:.5;cursor:not-allowed;transform:none}.glass-button[_ngcontent-%COMP%]:disabled:hover{transform:none}.smooth-theme-transition[_ngcontent-%COMP%]{transition:background .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}[_nghost-%COMP%]{display:block}.task-card[_ngcontent-%COMP%]{background:var(--glass-bg);backdrop-filter:var(--glass-backdrop-blur);-webkit-backdrop-filter:var(--glass-backdrop-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:16px;padding:1.25rem;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease;outline:none;display:flex;flex-direction:column;gap:.5rem;min-height:160px}.task-card[_ngcontent-%COMP%]:hover, .task-card[_ngcontent-%COMP%]:focus-visible{transform:translateY(-3px);box-shadow:0 16px 48px #00000026}.task-card[_ngcontent-%COMP%]:active{transform:translateY(-1px)}.task-card[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:16px 0 0 16px;background:var(--status-color, var(--color-text-secondary))}.task-card.status-waiting-you[_ngcontent-%COMP%]{--status-color: var(--color-error);border-color:#ff3b3040}.task-card.status-in-progress[_ngcontent-%COMP%]{--status-color: var(--color-warning);border-color:#ff950033}.task-card.status-done[_ngcontent-%COMP%]{--status-color: var(--color-success)}.task-card.status-paused[_ngcontent-%COMP%]{--status-color: var(--color-text-secondary)}.task-card.status-error[_ngcontent-%COMP%]{--status-color: var(--color-error)}.task-card.is-active[_ngcontent-%COMP%]{box-shadow:var(--glass-shadow),0 0 0 2px rgba(var(--color-primary),.3)}.selection-checkbox[_ngcontent-%COMP%]{position:absolute;right:.875rem;top:1.125rem;z-index:2}.task-card.is-selected[_ngcontent-%COMP%]{border-color:var(--color-primary);box-shadow:var(--glass-shadow),0 0 0 2px var(--color-primary)}.task-card.is-selected[_ngcontent-%COMP%]:before{background:var(--color-primary)}.starred-indicator[_ngcontent-%COMP%]{position:absolute;top:.75rem;right:.75rem;font-size:1rem;width:1rem;height:1rem;color:#f5a623;pointer-events:none}.status-badge[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.375rem;position:relative}.status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;color:var(--status-color, var(--color-text-secondary))}.status-in-progress[_ngcontent-%COMP%] .status-badge[_ngcontent-%COMP%] .status-icon[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_spin 2s linear infinite}.status-badge[_ngcontent-%COMP%] .status-label[_ngcontent-%COMP%]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--status-color, var(--color-text-secondary))}.status-badge[_ngcontent-%COMP%] .pulse-ring[_ngcontent-%COMP%]{position:absolute;left:-2px;top:-2px;width:20px;height:20px;border-radius:50%;border:2px solid var(--color-error);animation:_ngcontent-%COMP%_pulse 1.5s ease-out infinite;pointer-events:none}.task-project[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;color:var(--color-primary);opacity:.8;text-transform:uppercase;letter-spacing:.04em}.task-project[_ngcontent-%COMP%] .project-icon[_ngcontent-%COMP%]{font-size:.75rem;width:.75rem;height:.75rem}.task-name[_ngcontent-%COMP%]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-summary[_ngcontent-%COMP%]{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.task-summary.empty[_ngcontent-%COMP%]{font-style:italic;opacity:.6}.task-footer[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.25rem}.task-time[_ngcontent-%COMP%]{font-size:.72rem;color:var(--color-text-secondary);opacity:.8}.task-actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.125rem;opacity:0;transition:opacity .15s ease}.task-card[_ngcontent-%COMP%]:hover .task-actions[_ngcontent-%COMP%], .task-card[_ngcontent-%COMP%]:focus-within .task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:28px;height:28px;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1rem;width:1rem;height:1rem;display:flex;align-items:center;justify-content:center}.task-actions[_ngcontent-%COMP%] .stop-btn[_ngcontent-%COMP%]{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .mark-done-btn[_ngcontent-%COMP%]{color:var(--color-success)}.task-actions[_ngcontent-%COMP%] .star-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .star-btn.starred[_ngcontent-%COMP%]{color:#f5a623}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]{color:var(--color-text-secondary)}.task-actions[_ngcontent-%COMP%] .delete-btn[_ngcontent-%COMP%]:hover{color:var(--color-error)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]{color:var(--color-primary)}.task-actions[_ngcontent-%COMP%] .open-btn[_ngcontent-%COMP%]:hover{color:var(--color-primary-hover)}@media(max-width:600px){.task-actions[_ngcontent-%COMP%]{opacity:1}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%]{width:36px;height:36px}.task-actions[_ngcontent-%COMP%] .action-btn[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:1.25rem;width:1.25rem;height:1.25rem}}@keyframes _ngcontent-%COMP%_spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes _ngcontent-%COMP%_pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(2.2);opacity:0}}']})},Q={"waiting-you":"Waiting for you","in-progress":"In progress\u2026",done:"Done",paused:"Paused",error:"Error"},X={"waiting-you":"mark_unread_chat_alt","in-progress":"pending",done:"check_circle",paused:"pause_circle",error:"error"};var bt=300*1e3,kt={"waiting-you":0,"in-progress":1,done:2,paused:3,error:4};export{A,bt as b,kt as k};
|