@yinuo-ngm/server 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/LICENSE +15 -0
  2. package/lib/plugins/error-handler.plugin.js +2 -0
  3. package/lib/routes/api-client/collection.routes.js +18 -2
  4. package/lib/routes/dashboard.routes.js +5 -1
  5. package/package.json +2 -2
  6. package/www/browser/{chunk-V6LX42JA.js → chunk-37KQ3UTB.js} +1 -1
  7. package/www/browser/chunk-3LDMO67C.js +1 -0
  8. package/www/browser/{chunk-FL6BUQ4M.js → chunk-3MAJTMXX.js} +1 -1
  9. package/www/browser/{chunk-PYGKDDJK.js → chunk-3PWCJ3D5.js} +1 -1
  10. package/www/browser/{chunk-UWKUE7CZ.js → chunk-AZV6AWGC.js} +1 -1
  11. package/www/browser/{chunk-DV7BEQJD.js → chunk-CO7S3LZV.js} +1 -1
  12. package/www/browser/{chunk-DUC7XBYN.js → chunk-DJJC6FPO.js} +1 -1
  13. package/www/browser/{chunk-FPDGZ3ZC.js → chunk-EP45FT55.js} +3 -3
  14. package/www/browser/{chunk-7U5ZOE34.js → chunk-FNLA2MNI.js} +1 -1
  15. package/www/browser/{chunk-IXHH6ENJ.js → chunk-G73D24UX.js} +1 -1
  16. package/www/browser/{chunk-5IUYSJVD.js → chunk-GCKL62DR.js} +1 -1
  17. package/www/browser/{chunk-MN4WB67T.js → chunk-HCBKQAGF.js} +1 -1
  18. package/www/browser/{chunk-EAYGWAZB.js → chunk-IMQG3SAE.js} +1 -1
  19. package/www/browser/{chunk-3N7T4ZJF.js → chunk-J2JNFWJN.js} +1 -1
  20. package/www/browser/{chunk-TLFV3T3W.js → chunk-MD6RDGU4.js} +1 -1
  21. package/www/browser/{chunk-5MHC25IS.js → chunk-OUE23ZE4.js} +1 -1
  22. package/www/browser/{chunk-A2SBXP7A.js → chunk-W6TCGG53.js} +1 -1
  23. package/www/browser/{chunk-KKLLU6U7.js → chunk-XN5C33GH.js} +1 -1
  24. package/www/browser/chunk-YVSVIACA.js +4 -0
  25. package/www/browser/index.html +1 -1
  26. package/www/browser/main-V3VSEZ7K.js +29 -0
  27. package/www/browser/chunk-2PBA7FNM.js +0 -4
  28. package/www/browser/chunk-U7FBNFSB.js +0 -1
  29. package/www/browser/main-IIW5QQA5.js +0 -29
@@ -1,3 +1,3 @@
1
- import{a as fi,b as gi,c as Ci,d as _i,e as zi}from"./chunk-IXHH6ENJ.js";import{a as ci,b as mi,c as di,d as ui}from"./chunk-MN4WB67T.js";import{a as $n,b as Un,c as qn}from"./chunk-EC33AXSR.js";import{a as Mt,b as xt,c as Le}from"./chunk-CJISJEP3.js";import{b as ai,d as pi}from"./chunk-35COW2FA.js";import"./chunk-SIVPP74B.js";import{a as si,b as li}from"./chunk-POZS3PD3.js";import{a as yt,b as $e}from"./chunk-3N7T4ZJF.js";import"./chunk-HZ73CM45.js";import{a as se,b as G,c as ei,d as ti}from"./chunk-5MHC25IS.js";import{a as Pt,c as St,d as ni,e as ii,f as vt}from"./chunk-DUC7XBYN.js";import{a as tn,b as le,c as Q,d as pe,f as Yn,g as Jn}from"./chunk-ROB7EMN5.js";import{b as Kn,c as oi,d as ri}from"./chunk-A2SBXP7A.js";import"./chunk-SNCDDYQR.js";import{B as Me,C as _t,D as Re,E as zt,F as ht,H as Ge,I as xe,h as Xn,k as ft,v as gt,w as Ct,x as We}from"./chunk-FPDGZ3ZC.js";import{Ab as me,Bb as Ae,Cb as Y,Fb as Se,G as Rn,H as Pe,Hb as ve,M as w,N as y,O as mt,P as dt,T as Gn,U as Ln,V as F,W as ae,Y as W,Z as j,f as en,h as An,i as pt,jb as ce,lb as Z,mb as Qn,ob as Zn,pb as H,qb as Hn,vb as I,w as Wn,x as ct,yb as ut,z as be}from"./chunk-PTMJ422K.js";import"./chunk-HFZLJHYR.js";import{B as Ke,d as Ve,f as Vn,i as x,y as lt}from"./chunk-53YRDYLS.js";import{$b as oe,A as Ht,Ca as He,Dc as O,Eb as S,Ec as Be,Fb as ze,Fc as he,Gc as st,Ha as L,Hc as Tn,Ic as p,Jc as N,Kb as T,Kc as re,L as gn,M as Qe,Mc as b,Nc as D,Oa as _e,Oc as E,Pc as wn,Q as Cn,Qc as bn,Rc as Dn,Tb as Ie,U as _n,Vb as h,Vc as En,W as zn,Wc as Je,Xb as P,Yb as at,Yc as Nn,Zb as Mn,Zc as jn,_b as ie,_c as In,a as K,ac as u,ad as A,b as Qt,bc as r,c as un,ca as hn,cc as a,da as Pn,dc as c,ea as Yt,f as Zt,fd as $,g as ot,gd as On,hc as de,ic as ue,jc as Xt,kc as M,l as je,ma as Sn,mb as s,na as Ce,pd as Fn,qc as g,r as ge,ra as f,rb as V,rd as Xe,s as R,sb as vn,tc as m,u as fn,uc as xn,vb as Jt,vc as yn,vd as Bn,wc as kn,wd as Kt,xa as C,xc as Ye,ya as _,yb as rt,yc as Oe,z as qe,za as Ze,zc as Fe}from"./chunk-SJG2JCPL.js";var bi=t=>({$implicit:t});function Di(t,i){if(t&1&&c(0,"nz-icon",3),t&2){let e=m(3);u("nzType",e.icon)}}function Ei(t,i){if(t&1&&(de(0),p(1),ue()),t&2){let e=i.$implicit,n=m(4);s(),re(" ",e(n.nzPercent)," ")}}function Ni(t,i){if(t&1&&T(0,Ei,2,1,"ng-container",4),t&2){let e=m(3);u("nzStringTemplateOutlet",e.formatter)("nzStringTemplateOutletContext",Je(2,bi,e.nzPercent))}}function ji(t,i){if(t&1&&(r(0,"span",2),h(1,Di,1,1,"nz-icon",3)(2,Ni,1,4,"ng-container"),a()),t&2){let e=m(2);s(),P((e.status==="exception"||e.status==="success")&&!e.nzFormat?1:2)}}function Ii(t,i){if(t&1&&h(0,ji,3,1,"span",2),t&2){let e=m();P(e.nzShowInfo?0:-1)}}function Oi(t,i){if(t&1&&c(0,"div",8),t&2){let e=i.$implicit;st(e)}}function Fi(t,i){}function Bi(t,i){if(t&1&&(r(0,"div",5),ie(1,Oi,1,2,"div",6,at),T(3,Fi,0,0,"ng-template",7),a()),t&2){let e=m(2),n=O(1);s(),oe(e.steps),s(2),u("ngTemplateOutlet",n)}}function Vi(t,i){if(t&1&&c(0,"div",13),t&2){let e=m(3);Be("width",e.nzSuccessPercent,"%")("border-radius",e.nzStrokeLinecap==="round"?"100px":"0")("height",e.strokeWidth,"px")}}function Ai(t,i){}function Wi(t,i){if(t&1&&(r(0,"div",9)(1,"div",10),c(2,"div",11),h(3,Vi,1,6,"div",12),a()(),T(4,Ai,0,0,"ng-template",7)),t&2){let e=m(2),n=O(1);s(2),Be("width",e.nzPercent,"%")("border-radius",e.nzStrokeLinecap==="round"?"100px":"0")("background",e.isGradient?null:e.nzStrokeColor)("background-image",e.isGradient?e.lineGradient:null)("height",e.strokeWidth,"px"),s(),P(e.nzSuccessPercent||e.nzSuccessPercent===0?3:-1),s(),u("ngTemplateOutlet",n)}}function Ri(t,i){if(t&1&&(r(0,"div"),h(1,Bi,4,1,"div",5)(2,Wi,5,12),a()),t&2){let e=m();s(),P(e.isSteps?1:2)}}function Gi(t,i){if(t&1&&(Ze(),c(0,"stop")),t&2){let e=i.$implicit;Ie("offset",e.offset)("stop-color",e.color)}}function Li(t,i){if(t&1&&(Ze(),r(0,"defs")(1,"linearGradient",17),ie(2,Gi,1,2,":svg:stop",null,at),a()()),t&2){let e=m(2);s(),u("id","gradient-"+e.gradientId),s(),oe(e.circleGradient)}}function $i(t,i){if(t&1&&(Ze(),c(0,"path",18)),t&2){let e=i.$implicit,n=m(2);st(e.strokePathStyle),Ie("d",n.pathString)("stroke-linecap",n.nzStrokeLinecap)("stroke",e.stroke)("stroke-width",n.nzPercent?n.strokeWidth:0)}}function Ui(t,i){}function qi(t,i){if(t&1&&(r(0,"div",10),Ze(),r(1,"svg",14),h(2,Li,4,1,":svg:defs"),c(3,"path",15),ie(4,$i,1,6,":svg:path",16,at),a(),T(6,Ui,0,0,"ng-template",7),a()),t&2){let e=m(),n=O(1);Be("width",e.nzWidth,"px")("height",e.nzWidth,"px")("font-size",e.nzWidth*.15+6,"px"),he("ant-progress-circle-gradient",e.isGradient),s(2),P(e.isGradient?2:-1),s(),st(e.trailPathStyle),Ie("stroke-width",e.strokeWidth)("d",e.pathString),s(),oe(e.progressCirclePath),s(2),u("ngTemplateOutlet",n)}}function Qi(t){return+t.replace("%","")}var Pi=t=>{let i=[];return Object.keys(t).forEach(e=>{let n=t[e],o=Qi(e);isNaN(o)||i.push({key:o,value:n})}),i=i.sort((e,n)=>e.key-n.key),i},Zi=t=>Pi(t).map(({key:i,value:e})=>({offset:`${i}%`,color:e})),Hi=t=>{let l=t,{from:i="#1890ff",to:e="#1890ff",direction:n="to right"}=l,o=un(l,["from","to","direction"]);if(Object.keys(o).length!==0){let z=Pi(o).map(({key:X,value:ke})=>`${ke} ${X}%`).join(", ");return`linear-gradient(${n}, ${z})`}return`linear-gradient(${n}, ${i}, ${e})`},Yi=0,hi="progress",Ji=new Map([["success","check"],["exception","close"]]),Xi=new Map([["normal","#108ee9"],["exception","#ff5500"],["success","#87d068"]]),Ki=t=>`${t}%`,nn=(()=>{var ee;let t,i=[],e=[],n,o=[],l=[],z,X=[],ke=[],Ee,fe=[],nt=[],on,rn=[],an=[],sn,ln=[],pn=[],cn,mn=[],dn=[];return ee=class{_nzModuleName=hi;cdr=f(Xe);directionality=f(ct);destroyRef=f(He);nzShowInfo=R(this,i,!0);nzWidth=(R(this,e),132);nzStrokeColor=R(this,o,void 0);nzSize=(R(this,l),R(this,X,"default"));nzFormat=R(this,ke);nzSuccessPercent;nzPercent=0;nzStrokeWidth=R(this,fe,void 0);nzGapDegree=(R(this,nt),R(this,rn,void 0));nzStatus=R(this,an);nzType="line";nzGapPosition=R(this,ln,"top");nzStrokeLinecap=(R(this,pn),R(this,mn,"round"));nzSteps=(R(this,dn),0);steps=[];lineGradient=null;isGradient=!1;isSteps=!1;gradientId=Yi++;progressCirclePath=[];circleGradient;trailPathStyle=null;pathString;icon;dir="ltr";get formatter(){return this.nzFormat||Ki}get status(){return this.nzStatus||this.inferredStatus}get strokeWidth(){return this.nzStrokeWidth||(this.nzType==="line"&&this.nzSize!=="small"?8:6)}get isCircleStyle(){return this.nzType==="circle"||this.nzType==="dashboard"}cachedStatus="normal";inferredStatus="normal";constructor(){Rn(hi,()=>{this.updateIcon(),this.setStrokeColor(),this.getCirclePaths()})}ngOnChanges(k){let{nzSteps:d,nzGapPosition:v,nzStrokeLinecap:te,nzStrokeColor:q,nzGapDegree:Te,nzType:Ne,nzStatus:we,nzPercent:ne,nzSuccessPercent:it,nzStrokeWidth:Ut}=k;we&&(this.cachedStatus=this.nzStatus||this.cachedStatus),(ne||it)&&(parseInt(this.nzPercent.toString(),10)>=100?(en(this.nzSuccessPercent)&&this.nzSuccessPercent>=100||this.nzSuccessPercent===void 0)&&(this.inferredStatus="success"):this.inferredStatus=this.cachedStatus),(we||ne||it||q)&&this.updateIcon(),q&&this.setStrokeColor(),(v||te||Te||Ne||ne||q||q)&&this.getCirclePaths(),(ne||d||Ut)&&(this.isSteps=this.nzSteps>0,this.isSteps&&this.getSteps())}ngOnInit(){this.directionality.change?.pipe(be(this.destroyRef)).subscribe(k=>{this.dir=k,this.cdr.detectChanges()}),this.dir=this.directionality.value}updateIcon(){let k=Ji.get(this.status);this.icon=k?k+(this.isCircleStyle?"-o":"-circle-fill"):""}getSteps(){let k=Math.floor(this.nzSteps*(this.nzPercent/100)),d=this.nzSize==="small"?2:14,v=[];for(let te=0;te<this.nzSteps;te++){let q;te<=k-1&&(q=this.nzStrokeColor);let Te={backgroundColor:`${q}`,width:`${d}px`,height:`${this.strokeWidth}px`};v.push(Te)}this.steps=v}getCirclePaths(){if(!this.isCircleStyle)return;let k=en(this.nzSuccessPercent)?[this.nzSuccessPercent,this.nzPercent]:[this.nzPercent],d=50-this.strokeWidth/2,v=this.nzGapPosition||(this.nzType==="circle"?"top":"bottom"),te=Math.PI*2*d,q=this.nzGapDegree||(this.nzType==="circle"?0:75),Te=0,Ne=-d,we=0,ne=d*-2;switch(v){case"left":Te=-d,Ne=0,we=d*2,ne=0;break;case"right":Te=d,Ne=0,we=d*-2,ne=0;break;case"bottom":Ne=d,ne=d*2;break;default:}this.pathString=`M 50,50 m ${Te},${Ne}
1
+ import{a as fi,b as gi,c as Ci,d as _i,e as zi}from"./chunk-G73D24UX.js";import{a as ci,b as mi,c as di,d as ui}from"./chunk-HCBKQAGF.js";import{a as $n,b as Un,c as qn}from"./chunk-EC33AXSR.js";import{a as Mt,b as xt,c as Le}from"./chunk-CJISJEP3.js";import{b as ai,d as pi}from"./chunk-35COW2FA.js";import"./chunk-SIVPP74B.js";import{a as si,b as li}from"./chunk-POZS3PD3.js";import{a as yt,b as $e}from"./chunk-J2JNFWJN.js";import"./chunk-HZ73CM45.js";import{a as se,b as G,c as ei,d as ti}from"./chunk-OUE23ZE4.js";import{a as Pt,c as St,d as ni,e as ii,f as vt}from"./chunk-DJJC6FPO.js";import{a as tn,b as le,c as Q,d as pe,f as Yn,g as Jn}from"./chunk-ROB7EMN5.js";import{b as Kn,c as oi,d as ri}from"./chunk-W6TCGG53.js";import"./chunk-SNCDDYQR.js";import{A as _t,B as Re,C as zt,D as ht,F as Ge,G as xe,h as Xn,i as ft,t as gt,u as Ct,v as We,z as Me}from"./chunk-EP45FT55.js";import{Ab as me,Bb as Ae,Cb as Y,Fb as Se,G as Rn,H as Pe,Hb as ve,M as w,N as y,O as mt,P as dt,T as Gn,U as Ln,V as F,W as ae,Y as W,Z as j,f as en,h as An,i as pt,jb as ce,lb as Z,mb as Qn,ob as Zn,pb as H,qb as Hn,vb as I,w as Wn,x as ct,yb as ut,z as be}from"./chunk-PTMJ422K.js";import"./chunk-HFZLJHYR.js";import{B as Ke,d as Ve,f as Vn,i as x,y as lt}from"./chunk-53YRDYLS.js";import{$b as oe,A as Ht,Ca as He,Dc as O,Eb as S,Ec as Be,Fb as ze,Fc as he,Gc as st,Ha as L,Hc as Tn,Ic as p,Jc as N,Kb as T,Kc as re,L as gn,M as Qe,Mc as b,Nc as D,Oa as _e,Oc as E,Pc as wn,Q as Cn,Qc as bn,Rc as Dn,Tb as Ie,U as _n,Vb as h,Vc as En,W as zn,Wc as Je,Xb as P,Yb as at,Yc as Nn,Zb as Mn,Zc as jn,_b as ie,_c as In,a as K,ac as u,ad as A,b as Qt,bc as r,c as un,ca as hn,cc as a,da as Pn,dc as c,ea as Yt,f as Zt,fd as $,g as ot,gd as On,hc as de,ic as ue,jc as Xt,kc as M,l as je,ma as Sn,mb as s,na as Ce,pd as Fn,qc as g,r as ge,ra as f,rb as V,rd as Xe,s as R,sb as vn,tc as m,u as fn,uc as xn,vb as Jt,vc as yn,vd as Bn,wc as kn,wd as Kt,xa as C,xc as Ye,ya as _,yb as rt,yc as Oe,z as qe,za as Ze,zc as Fe}from"./chunk-SJG2JCPL.js";var bi=t=>({$implicit:t});function Di(t,i){if(t&1&&c(0,"nz-icon",3),t&2){let e=m(3);u("nzType",e.icon)}}function Ei(t,i){if(t&1&&(de(0),p(1),ue()),t&2){let e=i.$implicit,n=m(4);s(),re(" ",e(n.nzPercent)," ")}}function Ni(t,i){if(t&1&&T(0,Ei,2,1,"ng-container",4),t&2){let e=m(3);u("nzStringTemplateOutlet",e.formatter)("nzStringTemplateOutletContext",Je(2,bi,e.nzPercent))}}function ji(t,i){if(t&1&&(r(0,"span",2),h(1,Di,1,1,"nz-icon",3)(2,Ni,1,4,"ng-container"),a()),t&2){let e=m(2);s(),P((e.status==="exception"||e.status==="success")&&!e.nzFormat?1:2)}}function Ii(t,i){if(t&1&&h(0,ji,3,1,"span",2),t&2){let e=m();P(e.nzShowInfo?0:-1)}}function Oi(t,i){if(t&1&&c(0,"div",8),t&2){let e=i.$implicit;st(e)}}function Fi(t,i){}function Bi(t,i){if(t&1&&(r(0,"div",5),ie(1,Oi,1,2,"div",6,at),T(3,Fi,0,0,"ng-template",7),a()),t&2){let e=m(2),n=O(1);s(),oe(e.steps),s(2),u("ngTemplateOutlet",n)}}function Vi(t,i){if(t&1&&c(0,"div",13),t&2){let e=m(3);Be("width",e.nzSuccessPercent,"%")("border-radius",e.nzStrokeLinecap==="round"?"100px":"0")("height",e.strokeWidth,"px")}}function Ai(t,i){}function Wi(t,i){if(t&1&&(r(0,"div",9)(1,"div",10),c(2,"div",11),h(3,Vi,1,6,"div",12),a()(),T(4,Ai,0,0,"ng-template",7)),t&2){let e=m(2),n=O(1);s(2),Be("width",e.nzPercent,"%")("border-radius",e.nzStrokeLinecap==="round"?"100px":"0")("background",e.isGradient?null:e.nzStrokeColor)("background-image",e.isGradient?e.lineGradient:null)("height",e.strokeWidth,"px"),s(),P(e.nzSuccessPercent||e.nzSuccessPercent===0?3:-1),s(),u("ngTemplateOutlet",n)}}function Ri(t,i){if(t&1&&(r(0,"div"),h(1,Bi,4,1,"div",5)(2,Wi,5,12),a()),t&2){let e=m();s(),P(e.isSteps?1:2)}}function Gi(t,i){if(t&1&&(Ze(),c(0,"stop")),t&2){let e=i.$implicit;Ie("offset",e.offset)("stop-color",e.color)}}function Li(t,i){if(t&1&&(Ze(),r(0,"defs")(1,"linearGradient",17),ie(2,Gi,1,2,":svg:stop",null,at),a()()),t&2){let e=m(2);s(),u("id","gradient-"+e.gradientId),s(),oe(e.circleGradient)}}function $i(t,i){if(t&1&&(Ze(),c(0,"path",18)),t&2){let e=i.$implicit,n=m(2);st(e.strokePathStyle),Ie("d",n.pathString)("stroke-linecap",n.nzStrokeLinecap)("stroke",e.stroke)("stroke-width",n.nzPercent?n.strokeWidth:0)}}function Ui(t,i){}function qi(t,i){if(t&1&&(r(0,"div",10),Ze(),r(1,"svg",14),h(2,Li,4,1,":svg:defs"),c(3,"path",15),ie(4,$i,1,6,":svg:path",16,at),a(),T(6,Ui,0,0,"ng-template",7),a()),t&2){let e=m(),n=O(1);Be("width",e.nzWidth,"px")("height",e.nzWidth,"px")("font-size",e.nzWidth*.15+6,"px"),he("ant-progress-circle-gradient",e.isGradient),s(2),P(e.isGradient?2:-1),s(),st(e.trailPathStyle),Ie("stroke-width",e.strokeWidth)("d",e.pathString),s(),oe(e.progressCirclePath),s(2),u("ngTemplateOutlet",n)}}function Qi(t){return+t.replace("%","")}var Pi=t=>{let i=[];return Object.keys(t).forEach(e=>{let n=t[e],o=Qi(e);isNaN(o)||i.push({key:o,value:n})}),i=i.sort((e,n)=>e.key-n.key),i},Zi=t=>Pi(t).map(({key:i,value:e})=>({offset:`${i}%`,color:e})),Hi=t=>{let l=t,{from:i="#1890ff",to:e="#1890ff",direction:n="to right"}=l,o=un(l,["from","to","direction"]);if(Object.keys(o).length!==0){let z=Pi(o).map(({key:X,value:ke})=>`${ke} ${X}%`).join(", ");return`linear-gradient(${n}, ${z})`}return`linear-gradient(${n}, ${i}, ${e})`},Yi=0,hi="progress",Ji=new Map([["success","check"],["exception","close"]]),Xi=new Map([["normal","#108ee9"],["exception","#ff5500"],["success","#87d068"]]),Ki=t=>`${t}%`,nn=(()=>{var ee;let t,i=[],e=[],n,o=[],l=[],z,X=[],ke=[],Ee,fe=[],nt=[],on,rn=[],an=[],sn,ln=[],pn=[],cn,mn=[],dn=[];return ee=class{_nzModuleName=hi;cdr=f(Xe);directionality=f(ct);destroyRef=f(He);nzShowInfo=R(this,i,!0);nzWidth=(R(this,e),132);nzStrokeColor=R(this,o,void 0);nzSize=(R(this,l),R(this,X,"default"));nzFormat=R(this,ke);nzSuccessPercent;nzPercent=0;nzStrokeWidth=R(this,fe,void 0);nzGapDegree=(R(this,nt),R(this,rn,void 0));nzStatus=R(this,an);nzType="line";nzGapPosition=R(this,ln,"top");nzStrokeLinecap=(R(this,pn),R(this,mn,"round"));nzSteps=(R(this,dn),0);steps=[];lineGradient=null;isGradient=!1;isSteps=!1;gradientId=Yi++;progressCirclePath=[];circleGradient;trailPathStyle=null;pathString;icon;dir="ltr";get formatter(){return this.nzFormat||Ki}get status(){return this.nzStatus||this.inferredStatus}get strokeWidth(){return this.nzStrokeWidth||(this.nzType==="line"&&this.nzSize!=="small"?8:6)}get isCircleStyle(){return this.nzType==="circle"||this.nzType==="dashboard"}cachedStatus="normal";inferredStatus="normal";constructor(){Rn(hi,()=>{this.updateIcon(),this.setStrokeColor(),this.getCirclePaths()})}ngOnChanges(k){let{nzSteps:d,nzGapPosition:v,nzStrokeLinecap:te,nzStrokeColor:q,nzGapDegree:Te,nzType:Ne,nzStatus:we,nzPercent:ne,nzSuccessPercent:it,nzStrokeWidth:Ut}=k;we&&(this.cachedStatus=this.nzStatus||this.cachedStatus),(ne||it)&&(parseInt(this.nzPercent.toString(),10)>=100?(en(this.nzSuccessPercent)&&this.nzSuccessPercent>=100||this.nzSuccessPercent===void 0)&&(this.inferredStatus="success"):this.inferredStatus=this.cachedStatus),(we||ne||it||q)&&this.updateIcon(),q&&this.setStrokeColor(),(v||te||Te||Ne||ne||q||q)&&this.getCirclePaths(),(ne||d||Ut)&&(this.isSteps=this.nzSteps>0,this.isSteps&&this.getSteps())}ngOnInit(){this.directionality.change?.pipe(be(this.destroyRef)).subscribe(k=>{this.dir=k,this.cdr.detectChanges()}),this.dir=this.directionality.value}updateIcon(){let k=Ji.get(this.status);this.icon=k?k+(this.isCircleStyle?"-o":"-circle-fill"):""}getSteps(){let k=Math.floor(this.nzSteps*(this.nzPercent/100)),d=this.nzSize==="small"?2:14,v=[];for(let te=0;te<this.nzSteps;te++){let q;te<=k-1&&(q=this.nzStrokeColor);let Te={backgroundColor:`${q}`,width:`${d}px`,height:`${this.strokeWidth}px`};v.push(Te)}this.steps=v}getCirclePaths(){if(!this.isCircleStyle)return;let k=en(this.nzSuccessPercent)?[this.nzSuccessPercent,this.nzPercent]:[this.nzPercent],d=50-this.strokeWidth/2,v=this.nzGapPosition||(this.nzType==="circle"?"top":"bottom"),te=Math.PI*2*d,q=this.nzGapDegree||(this.nzType==="circle"?0:75),Te=0,Ne=-d,we=0,ne=d*-2;switch(v){case"left":Te=-d,Ne=0,we=d*2,ne=0;break;case"right":Te=d,Ne=0,we=d*-2,ne=0;break;case"bottom":Ne=d,ne=d*2;break;default:}this.pathString=`M 50,50 m ${Te},${Ne}
2
2
  a ${d},${d} 0 1 1 ${we},${-ne}
3
3
  a ${d},${d} 0 1 1 ${-we},${ne}`,this.trailPathStyle={strokeDasharray:`${te-q}px ${te}px`,strokeDashoffset:`-${q/2}px`,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s"},this.progressCirclePath=k.map((it,Ut)=>{let qt=k.length===2&&Ut===0;return{stroke:this.isGradient&&!qt?`url(#gradient-${this.gradientId})`:null,strokePathStyle:{stroke:this.isGradient?null:qt?Xi.get("success"):this.nzStrokeColor,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s",strokeDasharray:`${(it||0)/100*(te-q)}px ${te}px`,strokeDashoffset:`-${q/2}px`}}}).reverse()}setStrokeColor(){let k=this.nzStrokeColor,d=this.isGradient=!!k&&typeof k!="string";d&&!this.isCircleStyle?this.lineGradient=Hi(k):d&&this.isCircleStyle?this.circleGradient=Zi(this.nzStrokeColor):(this.lineGradient=null,this.circleGradient=[])}},(()=>{let k=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[Pe()],n=[Pe()],z=[Pe()],Ee=[Pe()],on=[Pe()],sn=[Pe()],cn=[Pe()],ge(null,null,t,{kind:"field",name:"nzShowInfo",static:!1,private:!1,access:{has:d=>"nzShowInfo"in d,get:d=>d.nzShowInfo,set:(d,v)=>{d.nzShowInfo=v}},metadata:k},i,e),ge(null,null,n,{kind:"field",name:"nzStrokeColor",static:!1,private:!1,access:{has:d=>"nzStrokeColor"in d,get:d=>d.nzStrokeColor,set:(d,v)=>{d.nzStrokeColor=v}},metadata:k},o,l),ge(null,null,z,{kind:"field",name:"nzSize",static:!1,private:!1,access:{has:d=>"nzSize"in d,get:d=>d.nzSize,set:(d,v)=>{d.nzSize=v}},metadata:k},X,ke),ge(null,null,Ee,{kind:"field",name:"nzStrokeWidth",static:!1,private:!1,access:{has:d=>"nzStrokeWidth"in d,get:d=>d.nzStrokeWidth,set:(d,v)=>{d.nzStrokeWidth=v}},metadata:k},fe,nt),ge(null,null,on,{kind:"field",name:"nzGapDegree",static:!1,private:!1,access:{has:d=>"nzGapDegree"in d,get:d=>d.nzGapDegree,set:(d,v)=>{d.nzGapDegree=v}},metadata:k},rn,an),ge(null,null,sn,{kind:"field",name:"nzGapPosition",static:!1,private:!1,access:{has:d=>"nzGapPosition"in d,get:d=>d.nzGapPosition,set:(d,v)=>{d.nzGapPosition=v}},metadata:k},ln,pn),ge(null,null,cn,{kind:"field",name:"nzStrokeLinecap",static:!1,private:!1,access:{has:d=>"nzStrokeLinecap"in d,get:d=>d.nzStrokeLinecap,set:(d,v)=>{d.nzStrokeLinecap=v}},metadata:k},mn,dn),k&&Object.defineProperty(ee,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:k})})(),Zt(ee,"\u0275fac",function(d){return new(d||ee)}),Zt(ee,"\u0275cmp",S({type:ee,selectors:[["nz-progress"]],inputs:{nzShowInfo:"nzShowInfo",nzWidth:"nzWidth",nzStrokeColor:"nzStrokeColor",nzSize:"nzSize",nzFormat:"nzFormat",nzSuccessPercent:[2,"nzSuccessPercent","nzSuccessPercent",pt],nzPercent:[2,"nzPercent","nzPercent",Kt],nzStrokeWidth:[2,"nzStrokeWidth","nzStrokeWidth",pt],nzGapDegree:[2,"nzGapDegree","nzGapDegree",pt],nzStatus:"nzStatus",nzType:"nzType",nzGapPosition:"nzGapPosition",nzStrokeLinecap:"nzStrokeLinecap",nzSteps:[2,"nzSteps","nzSteps",Kt]},exportAs:["nzProgress"],features:[_e],decls:5,vars:18,consts:[["progressInfoTemplate",""],[1,"ant-progress-inner",3,"width","height","fontSize","ant-progress-circle-gradient"],[1,"ant-progress-text"],[3,"nzType"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[1,"ant-progress-steps-outer"],[1,"ant-progress-steps-item",3,"style"],[3,"ngTemplateOutlet"],[1,"ant-progress-steps-item"],[1,"ant-progress-outer"],[1,"ant-progress-inner"],[1,"ant-progress-bg"],[1,"ant-progress-success-bg",3,"width","border-radius","height"],[1,"ant-progress-success-bg"],["viewBox","0 0 100 100",1,"ant-progress-circle"],["stroke","#f3f3f3","fill-opacity","0",1,"ant-progress-circle-trail"],["fill-opacity","0",1,"ant-progress-circle-path",3,"style"],["x1","100%","y1","0%","x2","0%","y2","0%",3,"id"],["fill-opacity","0",1,"ant-progress-circle-path"]],template:function(d,v){d&1&&(T(0,Ii,1,1,"ng-template",null,0,A),r(2,"div"),h(3,Ri,3,1,"div"),h(4,qi,7,14,"div",1),a()),d&2&&(s(2),Tn("ant-progress ant-progress-status-"+v.status),he("ant-progress-line",v.nzType==="line")("ant-progress-small",v.nzSize==="small")("ant-progress-default",v.nzSize==="default")("ant-progress-show-info",v.nzShowInfo)("ant-progress-circle",v.isCircleStyle)("ant-progress-steps",v.isSteps)("ant-progress-rtl",v.dir==="rtl"),s(),P(v.nzType==="line"?3:-1),s(),P(v.isCircleStyle?4:-1))},dependencies:[y,w,dt,mt,Ve],encapsulation:2,changeDetection:0})),ee})(),Si=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ze({type:t});static \u0275inj=Ce({imports:[nn]})}return t})();var to=["processDotTemplate"],no=["itemContainer"],io=(t,i,e)=>({$implicit:t,status:i,index:e});function oo(t,i){t&1&&c(0,"div",3)}function ro(t,i){if(t&1&&(r(0,"div",11),c(1,"nz-progress",12),a()),t&2){let e=m(2);s(),u("nzPercent",e.nzPercentage)("nzWidth",e.nzSize==="small"?32:40)("nzFormat",e.nullProcessFormat)("nzStrokeWidth",4)}}function ao(t,i){t&1&&(r(0,"span",5),c(1,"nz-icon",13),a())}function so(t,i){t&1&&(r(0,"span",5),c(1,"nz-icon",14),a())}function lo(t,i){if(t&1&&(r(0,"span",5),p(1),a()),t&2){let e=m(2);s(),re(" ",e.index+1," ")}}function po(t,i){if(t&1&&(de(0),c(1,"nz-icon",15),ue()),t&2){let e=i.$implicit;s(),u("nzType",e)}}function co(t,i){if(t&1&&(r(0,"span",5),T(1,po,2,1,"ng-container",8),a()),t&2){let e=m(2);s(),u("nzStringTemplateOutlet",e.nzIcon)}}function mo(t,i){if(t&1&&(h(0,ro,2,4,"div",11),h(1,ao,2,0,"span",5),h(2,so,2,0,"span",5),h(3,lo,2,1,"span",5),h(4,co,2,1,"span",5)),t&2){let e=m();P(e.showProgress?0:-1),s(),P(e.nzStatus==="finish"&&!e.nzIcon?1:-1),s(),P(e.nzStatus==="error"?2:-1),s(),P((e.nzStatus==="process"||e.nzStatus==="wait")&&!e.nzIcon?3:-1),s(),P(e.nzIcon?4:-1)}}function uo(t,i){t&1&&c(0,"span",17)}function fo(t,i){}function go(t,i){if(t&1&&(r(0,"span",5),T(1,uo,1,0,"ng-template",null,1,A)(3,fo,0,0,"ng-template",16),a()),t&2){let e=O(2),n=m();s(3),u("ngTemplateOutlet",n.customProcessTemplate||e)("ngTemplateOutletContext",Nn(2,io,e,n.nzStatus,n.index))}}function Co(t,i){if(t&1&&(de(0),p(1),ue()),t&2){let e=m();s(),N(e.nzTitle)}}function _o(t,i){if(t&1&&(de(0),p(1),ue()),t&2){let e=m(2);s(),N(e.nzSubtitle)}}function zo(t,i){if(t&1&&(r(0,"div",9),T(1,_o,2,1,"ng-container",8),a()),t&2){let e=m();s(),u("nzStringTemplateOutlet",e.nzSubtitle)}}function ho(t,i){if(t&1&&(de(0),p(1),ue()),t&2){let e=m();s(),N(e.nzDescription)}}var Po=["*"],kt=(()=>{class t{cdr=f(Xe);destroyRef=f(He);processDotTemplate;itemContainer;nzTitle;nzSubtitle;nzDescription;nzDisabled=!1;nzPercentage=null;nzSize="default";get nzStatus(){return this._status}set nzStatus(e){this._status=e,this.isCustomStatus=!0}isCustomStatus=!1;_status="wait";get nzIcon(){return this._icon}set nzIcon(e){e instanceof Jt||(this.oldAPIIcon=typeof e=="string"&&e.indexOf("anticon")>-1),this._icon=e}oldAPIIcon=!0;_icon;customProcessTemplate;direction="horizontal";index=0;last=!1;outStatus="process";showProcessDot=!1;clickable=!1;clickOutsideAngular$=new je;nullProcessFormat=()=>null;get showProgress(){return this.nzPercentage!==null&&!this.nzIcon&&this.nzStatus==="process"&&this.nzPercentage>=0&&this.nzPercentage<=100}get currentIndex(){return this._currentIndex}set currentIndex(e){this._currentIndex=e,this.isCustomStatus||(this._status=e>this.index?"finish":e===this.index?this.outStatus||"":"wait")}_currentIndex=0;ngOnInit(){Wn(this.itemContainer.nativeElement,"click").pipe(Qe(()=>this.clickable&&this.currentIndex!==this.index&&!this.nzDisabled),be(this.destroyRef)).subscribe(()=>{this.clickOutsideAngular$.next(this.index)})}enable(){this.nzDisabled=!1,this.cdr.markForCheck()}disable(){this.nzDisabled=!0,this.cdr.markForCheck()}markForCheck(){this.cdr.markForCheck()}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["nz-step"]],viewQuery:function(n,o){if(n&1&&(Ye(to,5),Ye(no,7)),n&2){let l;Oe(l=Fe())&&(o.processDotTemplate=l.first),Oe(l=Fe())&&(o.itemContainer=l.first)}},hostAttrs:[1,"ant-steps-item"],hostVars:16,hostBindings:function(n,o){n&2&&he("ant-steps-item-wait",o.nzStatus==="wait")("ant-steps-item-process",o.nzStatus==="process")("ant-steps-item-finish",o.nzStatus==="finish")("ant-steps-item-error",o.nzStatus==="error")("ant-steps-item-active",o.currentIndex===o.index)("ant-steps-item-disabled",o.nzDisabled)("ant-steps-item-custom",!!o.nzIcon)("ant-steps-next-error",o.outStatus==="error"&&o.currentIndex===o.index+1)},inputs:{nzTitle:"nzTitle",nzSubtitle:"nzSubtitle",nzDescription:"nzDescription",nzDisabled:[2,"nzDisabled","nzDisabled",Bn],nzPercentage:"nzPercentage",nzSize:"nzSize",nzStatus:"nzStatus",nzIcon:"nzIcon"},exportAs:["nzStep"],decls:12,vars:8,consts:[["itemContainer",""],["processDotTemplate",""],[1,"ant-steps-item-container",3,"tabindex"],[1,"ant-steps-item-tail"],[1,"ant-steps-item-icon"],[1,"ant-steps-icon"],[1,"ant-steps-item-content"],[1,"ant-steps-item-title"],[4,"nzStringTemplateOutlet"],[1,"ant-steps-item-subtitle"],[1,"ant-steps-item-description"],[1,"ant-steps-progress-icon"],["nzType","circle",3,"nzPercent","nzWidth","nzFormat","nzStrokeWidth"],["nzType","check"],["nzType","close"],[3,"nzType"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ant-steps-icon-dot"]],template:function(n,o){n&1&&(r(0,"div",2,0),h(2,oo,1,0,"div",3),r(3,"div",4),h(4,mo,5,5),h(5,go,4,6,"span",5),a(),r(6,"div",6)(7,"div",7),T(8,Co,2,1,"ng-container",8),h(9,zo,2,1,"div",9),a(),r(10,"div",10),T(11,ho,2,1,"ng-container",8),a()()()),n&2&&(u("tabindex",o.clickable&&!o.nzDisabled?0:null),Ie("role",o.clickable&&!o.nzDisabled?"button":null),s(2),P(o.last?-1:2),s(2),P(o.showProcessDot?-1:4),s(),P(o.showProcessDot?5:-1),s(3),u("nzStringTemplateOutlet",o.nzTitle),s(),P(o.nzSubtitle?9:-1),s(2),u("nzStringTemplateOutlet",o.nzDescription))},dependencies:[Si,nn,y,w,dt,mt,Ve],encapsulation:2,changeDetection:0})}return t})(),vi=(()=>{class t{static ngAcceptInputType_nzProgressDot;cdr=f(Xe);ngZone=f(vn);directionality=f(ct);destroyRef=f(He);steps;nzCurrent=0;nzDirection="horizontal";nzLabelPlacement="horizontal";nzType="default";nzSize="default";nzStartIndex=0;nzStatus="process";set nzProgressDot(e){e instanceof Jt?(this.showProcessDot=!0,this.customProcessDotTemplate=e):this.showProcessDot=An(e),this.updateChildrenSteps()}nzIndexChange=new V;indexChangeSubscription=ot.EMPTY;showProcessDot=!1;showProgress=!1;customProcessDotTemplate;dir="ltr";ngOnChanges(e){let{nzStartIndex:n,nzDirection:o,nzStatus:l,nzCurrent:z,nzSize:X}=e;(n||o||l||z||X)&&this.updateChildrenSteps()}ngOnInit(){this.directionality.change?.pipe(be(this.destroyRef)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value,this.updateChildrenSteps()}ngAfterContentInit(){this.steps&&this.steps.changes.pipe(hn(null),be(this.destroyRef)).subscribe(()=>{this.updateHostProgressClass(),this.updateChildrenSteps()})}updateHostProgressClass(){this.steps&&!this.showProcessDot&&(this.showProgress=!!this.steps.toArray().find(e=>e.nzPercentage!==null))}updateChildrenSteps(){if(this.steps){let e=this.steps.length;this.steps.toArray().forEach((n,o)=>{Promise.resolve().then(()=>{n.nzSize=this.nzSize,n.outStatus=this.nzStatus,n.showProcessDot=this.showProcessDot,this.customProcessDotTemplate&&(n.customProcessTemplate=this.customProcessDotTemplate),n.clickable=this.nzIndexChange.observers.length>0,n.direction=this.nzDirection,n.index=o+this.nzStartIndex,n.currentIndex=this.nzCurrent,n.last=e===o+1,n.markForCheck()})}),this.indexChangeSubscription.unsubscribe(),this.indexChangeSubscription=gn(...this.steps.map(n=>n.clickOutsideAngular$)).pipe(be(this.destroyRef)).subscribe(n=>{this.nzIndexChange.observers.length&&this.ngZone.run(()=>this.nzIndexChange.emit(n))})}}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=S({type:t,selectors:[["nz-steps"]],contentQueries:function(n,o,l){if(n&1&&kn(l,kt,4),n&2){let z;Oe(z=Fe())&&(o.steps=z)}},hostAttrs:[1,"ant-steps"],hostVars:18,hostBindings:function(n,o){n&2&&he("ant-steps-horizontal",o.nzDirection==="horizontal")("ant-steps-vertical",o.nzDirection==="vertical")("ant-steps-label-horizontal",o.nzDirection==="horizontal")("ant-steps-label-vertical",(o.showProcessDot||o.nzLabelPlacement==="vertical")&&o.nzDirection==="horizontal")("ant-steps-dot",o.showProcessDot)("ant-steps-small",o.nzSize==="small")("ant-steps-navigation",o.nzType==="navigation")("ant-steps-rtl",o.dir==="rtl")("ant-steps-with-progress",o.showProgress)},inputs:{nzCurrent:"nzCurrent",nzDirection:"nzDirection",nzLabelPlacement:"nzLabelPlacement",nzType:"nzType",nzSize:"nzSize",nzStartIndex:"nzStartIndex",nzStatus:"nzStatus",nzProgressDot:"nzProgressDot"},outputs:{nzIndexChange:"nzIndexChange"},exportAs:["nzSteps"],features:[_e],ngContentSelectors:Po,decls:1,vars:0,template:function(n,o){n&1&&(xn(),yn(0))},encapsulation:2,changeDetection:0})}return t})(),Mi=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ze({type:t});static \u0275inj=Ce({imports:[kt]})}return t})();var Mo=()=>({padding:"8px"});function xo(t,i){if(t&1){let e=M();r(0,"button",13),g("click",function(){C(e);let o=m();return _(o.copy())}),c(1,"nz-icon",14),a()}if(t&2){let e=m();u("nz-tooltip",e.copyied?"\u5DF2\u590D\u5236":"\u590D\u5236")}}function yo(t,i){if(t&1&&(r(0,"div",9)(1,"nz-tag",15),p(2),a()()),t&2){let e=m();s(2),re("\u63A8\u8350\uFF1A",e.draft.detected==null?null:e.draft.detected.recommendedScript)}}function ko(t,i){t&1&&(r(0,"div",10),p(1," \u26A0\uFE0F \u8986\u76D6\u5DF2\u5B58\u5728\u76EE\u5F55 "),a())}function To(t,i){if(t&1){let e=M();r(0,"button",16),g("click",function(){C(e);let o=m();return _(o.isDrawerOpen=!o.isDrawerOpen)}),c(1,"nz-icon",17),p(2," \u65E5\u5FD7\u8F93\u51FA "),a()}}function wo(t,i){t&1&&(de(0),c(1,"app-terminal-view"),ue()),t&2&&(s(),Be("height",100,"%"))}var Tt=class t{draft;chunk="";clipboard=f(pi);term;isDrawerOpen=!1;isCreating=Fn(!1);copyied=!1;ngOnChanges(i){i.chunk&&i.chunk.currentValue&&this.term&&this.term.write(this.chunk),i.isCreating&&i.isCreating.currentValue===!0&&(this.isDrawerOpen=!0)}copy(){let i=this.draft.repoUrl||"";this.clipboard.copy(i),this.copyied=!0,setTimeout(()=>{this.copyied=!1},2e3)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-create-summary-aside"]],viewQuery:function(e,n){if(e&1&&Ye(tn,5),e&2){let o;Oe(o=Fe())&&(n.term=o.first)}},inputs:{draft:"draft",chunk:"chunk",isCreating:[1,"isCreating"]},outputs:{isCreating:"isCreatingChange"},features:[_e],decls:44,vars:16,consts:[["logActions",""],["nzTitle","\u6458\u8981","nzSize","small",3,"nzExtra"],[1,"item"],[1,"k"],[1,"v"],[1,"v","mono"],[1,"v",3,"nz-tooltip"],["nz-button","","nzType","text","nzSize","small",3,"nz-tooltip"],[1,"sep"],[1,"tag"],[1,"warn"],["nzTitle","\u65E5\u5FD7","nzPlacement","right",3,"nzOnClose","nzVisible","nzWidth","nzBodyStyle"],[4,"nzDrawerContent"],["nz-button","","nzType","text","nzSize","small",3,"click","nz-tooltip"],["nzType","copy","nzTheme","outline"],["nzColor","blue"],["nz-button","","nzType","text","nzSize","small",3,"click"],["nzType","desktop","nzTheme","outline"]],template:function(e,n){if(e&1){let o=M();r(0,"nz-card",1)(1,"div",2)(2,"span",3),p(3,"\u540D\u79F0"),a(),r(4,"span",4),p(5),a()(),r(6,"div",2)(7,"span",3),p(8,"\u8DEF\u5F84"),a(),r(9,"span",5),p(10),a()(),r(11,"div",2)(12,"span",3),p(13,"\u5305\u7BA1\u7406\u5668"),a(),r(14,"span",4),p(15),a()(),r(16,"div",2)(17,"span",3),p(18,"Git \u8FDC\u7A0B\u4ED3\u5E93"),a(),r(19,"span",6),p(20),a(),h(21,xo,2,1,"button",7),a(),c(22,"div",8),r(23,"div",2)(24,"span",3),p(25,"\u6846\u67B6"),a(),r(26,"span",4),p(27),a()(),r(28,"div",2)(29,"span",3),p(30,"\u811A\u672C\u547D\u4EE4"),a(),r(31,"span",4),p(32),a()(),r(33,"div",2)(34,"span",3),p(35,"Git"),a(),r(36,"span",4),p(37),a()(),h(38,yo,3,1,"div",9),h(39,ko,2,0,"div",10),a(),T(40,To,3,0,"ng-template",null,0,A),r(42,"nz-drawer",11),g("nzOnClose",function(){return C(o),_(n.isDrawerOpen=!1)}),T(43,wo,2,2,"ng-container",12),a()}if(e&2){let o=O(41);u("nzExtra",o),s(5),N(n.draft.name||"-"),s(5),N(n.draft.rootPath||"-"),s(5),N(n.draft.packageManager),s(4),u("nz-tooltip",n.draft.repoUrl||""),s(),N(n.draft.repoUrl||"-"),s(),P(n.draft.repoUrl?21:-1),s(6),N((n.draft.detected==null?null:n.draft.detected.framework)||"-"),s(5),N((n.draft.detected==null?null:n.draft.detected.scriptsCount)??"-"),s(5),N(n.draft.detected!=null&&n.draft.detected.hasGit?"Yes":"No"),s(),P(n.draft.detected!=null&&n.draft.detected.recommendedScript?38:-1),s(),P(n.draft.overwriteIfExists?39:-1),s(3),u("nzVisible",n.isDrawerOpen)("nzWidth",720)("nzBodyStyle",En(15,Mo))}},dependencies:[x,G,se,$e,yt,ve,Se,y,w,j,W,F,tn,qn,Un,$n],styles:[".item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:10px;padding:6px 0;align-items:center}.k[_ngcontent-%COMP%]{opacity:.7;width:90px;font-size:14px}.v[_ngcontent-%COMP%]{text-align:right;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;word-break:break-all}.sep[_ngcontent-%COMP%]{height:1px;background:#0000000f;margin:10px 0}.tag[_ngcontent-%COMP%]{margin-top:8px;text-align:right}.warn[_ngcontent-%COMP%]{margin-top:10px;font-size:12px;color:#d46b08}"],changeDetection:0})};function jo(t,i){t&1&&c(0,"nz-empty",6)}function Io(t,i){if(t&1&&(r(0,"nz-tag",17),p(1),jn(2,"titlecase"),a()),t&2){let e=m().$implicit,n=Dn(4);u("nzColor",n==="angular"?"#dd0031":n==="vue"?"#42b883":"#108ee9"),s(),re(" ",In(2,2,e.kind)," ")}}function Oo(t,i){if(t&1&&(r(0,"div",14)(1,"div",15)(2,"div",16),p(3),a(),wn(4),h(5,Io,3,4,"nz-tag",17),a()()),t&2){let e=i.$implicit;u("nzValue",e.path),s(2),u("nz-tooltip",e.path),s(),N(e.path),s();let n=bn(e.kind);s(),P(n?5:-1)}}function Fo(t,i){if(t&1){let e=M();r(0,"nz-radio-group",13),E("ngModelChange",function(o){C(e);let l=m();return D(l.selectedPath,o)||(l.selectedPath=o),_(o)}),ie(1,Oo,6,5,"div",14,Mn),a()}if(t&2){let e=m();b("ngModel",e.selectedPath),s(),oe(e.filtered())}}var bt=class t{constructor(i){this.modalRef=i}data=f(gt);keyword=L("");selectedPath=L(null);ngOnInit(){let{candidates:i,defaultPicked:e}=this.data,n=e&&i.includes(e)?e:i[0]??"";this.selectedPath.set(n?.path??null)}filtered=$(()=>{let i=(this.keyword()||"").trim().toLowerCase(),e=this.data.candidates??[];return i?e.filter(n=>n.path.toLowerCase().includes(i)):e});cancel(){this.modalRef.close(null)}ok(){let i=this.selectedPath();i&&this.modalRef.close({pickedRoot:i})}static \u0275fac=function(e){return new(e||t)(rt(Ct))};static \u0275cmp=S({type:t,selectors:[["app-pick-workspace-modal"]],decls:17,vars:3,consts:[[1,"wrap"],[1,"hint"],[1,"toolbar"],["nz-input","","placeholder","\u8FC7\u6EE4\u8DEF\u5F84\uFF08\u5173\u952E\u5B57\uFF09",3,"ngModelChange","ngModel"],["nzType","search","nzTheme","outline","nzSuffix",""],[1,"list"],["nzNotFoundContent","\u6CA1\u6709\u5339\u914D\u7684\u76EE\u5F55"],["nzSize","large",3,"ngModel"],[1,"actions"],["nz-button","",3,"click"],["nzType","close","nzTheme","outline"],["nz-button","","nzType","primary",3,"click","disabled"],["nzType","check","nzTheme","outline"],["nzSize","large",3,"ngModelChange","ngModel"],["nz-radio","",1,"item",3,"nzValue"],[1,"path"],["nzTooltipPlacement","top",1,"value",3,"nz-tooltip"],["nzMode","default",3,"nzColor"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1),p(2," \u68C0\u6D4B\u5230\u8BE5\u4ED3\u5E93\u53EF\u80FD\u5305\u542B\u591A\u4E2A\u524D\u7AEF\u5DE5\u4F5C\u533A\uFF08Angular / Vue \u7B49\uFF09\u3002\u8BF7\u9009\u62E9\u4E00\u4E2A\u76EE\u5F55\u7EE7\u7EED\u5BFC\u5165\uFF1A "),a(),r(3,"div",2)(4,"nz-input-wrapper")(5,"input",3),E("ngModelChange",function(l){return D(n.keyword,l)||(n.keyword=l),l}),a(),c(6,"nz-icon",4),a()(),r(7,"div",5),h(8,jo,1,0,"nz-empty",6)(9,Fo,3,1,"nz-radio-group",7),a(),r(10,"div",8)(11,"button",9),g("click",function(){return n.cancel()}),c(12,"nz-icon",10),p(13," \u53D6\u6D88 "),a(),r(14,"button",11),g("click",function(){return n.ok()}),c(15,"nz-icon",12),p(16," \u9009\u4E2D\u5E76\u7EE7\u7EED "),a()()()),e&2&&(s(5),b("ngModel",n.keyword),s(3),P(n.filtered().length===0?8:9),s(6),u("disabled",!n.selectedPath()))},dependencies:[x,I,ce,Z,H,Me,Y,me,Ae,Le,xt,Mt,j,W,F,ae,y,w,St,Pt,$e,yt,ve,Se,Vn],styles:[".wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.hint[_ngcontent-%COMP%]{opacity:.85}.toolbar[_ngcontent-%COMP%]{margin-top:4px}nz-radio-group[_ngcontent-%COMP%]{width:100%}.list[_ngcontent-%COMP%]{height:240px;overflow:auto;padding:8px;border:var(--app-border-color);border-radius:8px}.item[_ngcontent-%COMP%]{display:flex;gap:8px;padding:12px;border-radius:8px;margin:0;width:100%}.item[_ngcontent-%COMP%]:hover{background-color:var(--app-primary-3)}.item[_ngcontent-%COMP%] .ant-radio+span{display:flex;gap:12px;align-items:center;flex:1 1 auto;width:0;padding:0}.path[_ngcontent-%COMP%]{display:flex;gap:12px;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;width:0;overflow:hidden}.path[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto;width:0;overflow:hidden}.actions[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}"]})};function Vo(t,i){t&1&&(r(0,"span",4),p(1,"\u8BE5\u8DEF\u5F84\u5DF2\u5B58\u5728"),a())}function Ao(t,i){if(t&1){let e=M();r(0,"input",15),E("ngModelChange",function(o){C(e);let l=m();return D(l.draft.initialCommitMessage,o)||(l.draft.initialCommitMessage=o),_(o)}),a()}if(t&2){let e=m();b("ngModel",e.draft.initialCommitMessage)}}var Nt=class t{draft;draftChange=new V;pathCheck$=new je;pathExists=!1;fsApi=f(Xn);ngOnInit(){this.computeRootPath(),this.pathCheck$.pipe(Cn(200),_n(),Pn(i=>i?this.fsApi.pathExists(i):fn(!1))).subscribe(i=>{this.emit(),this.pathExists=i})}recalcRoot(){this.computeRootPath(),this.pathCheck$.next(this.draft.rootPath)}computeRootPath(){let i=(this.draft.parentDir??"").replace(/[\\/]+$/,""),e=(this.draft.name??"").trim();this.draft.rootPath=i&&e?`${i}/${e}`.replaceAll("\\","/"):i}emit(){this.draftChange.emit(K({},this.draft))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-step-basic"]],inputs:{draft:"draft"},outputs:{draftChange:"draftChange"},decls:40,vars:8,consts:[["nzTitle","\u57FA\u7840\u8BBE\u7F6E"],["nz-form","","nzLayout","vertical"],["nz-input","","name","name","placeholder","\u8F93\u5165\u9879\u76EE\u540D",3,"ngModelChange","ngModel"],[1,"hint"],[2,"margin-left","8px","color","#ff4d4f"],["name","pm",3,"ngModelChange","ngModel"],["nzValue","auto","nzLabel","\u9ED8\u8BA4"],["nzValue","npm","nzLabel","npm"],["nzValue","pnpm","nzLabel","pnpm"],["nzValue","yarn","nzLabel","yarn"],[1,"switch-row"],["name","overwrite",3,"ngModelChange","ngModel"],["name","skip",3,"ngModelChange","ngModel"],["name","initGit",3,"ngModelChange","ngModel"],["nz-input","","name","msg","placeholder","\u8986\u76D6\u63D0\u4EA4\u4FE1\u606F(\u9009\u586B)",3,"ngModel"],["nz-input","","name","msg","placeholder","\u8986\u76D6\u63D0\u4EA4\u4FE1\u606F(\u9009\u586B)",3,"ngModelChange","ngModel"]],template:function(e,n){e&1&&(r(0,"nz-card",0)(1,"form",1)(2,"nz-form-item")(3,"nz-form-label"),p(4,"\u9879\u76EE\u6587\u4EF6\u5939"),a(),r(5,"nz-form-control")(6,"input",2),E("ngModelChange",function(l){return D(n.draft.name,l)||(n.draft.name=l),l}),g("ngModelChange",function(){return n.recalcRoot()}),a(),r(7,"div",3),p(8),h(9,Vo,2,0,"span",4),a()()(),r(10,"nz-form-item")(11,"nz-form-label"),p(12,"\u5305\u7BA1\u7406\u5668"),a(),r(13,"nz-form-control")(14,"nz-select",5),E("ngModelChange",function(l){return D(n.draft.packageManager,l)||(n.draft.packageManager=l),l}),c(15,"nz-option",6)(16,"nz-option",7)(17,"nz-option",8)(18,"nz-option",9),a()()(),r(19,"nz-form-item")(20,"nz-form-label"),p(21,"\u66F4\u591A\u9009\u9879"),a(),r(22,"nz-form-control")(23,"div",10)(24,"span"),p(25,"\u82E5\u76EE\u6807\u6587\u4EF6\u5939\u5DF2\u5B58\u5728\u5219\u8986\u76D6"),a(),r(26,"nz-switch",11),E("ngModelChange",function(l){return D(n.draft.overwriteIfExists,l)||(n.draft.overwriteIfExists=l),l}),g("ngModelChange",function(){return n.emit()}),a()(),r(27,"div",10)(28,"span"),p(29,"\u65E0\u65B0\u624B\u6307\u5F15\u7684\u811A\u624B\u67B6\u9879\u76EE"),a(),r(30,"nz-switch",12),E("ngModelChange",function(l){return D(n.draft.skipOnboarding,l)||(n.draft.skipOnboarding=l),l}),a()()()(),r(31,"nz-form-item")(32,"nz-form-label"),p(33,"Git"),a(),r(34,"nz-form-control")(35,"div",10)(36,"span"),p(37,"\u521D\u59CB\u5316 git \u4ED3\u5E93\uFF08\u5EFA\u8BAE\uFF09"),a(),r(38,"nz-switch",13),E("ngModelChange",function(l){return D(n.draft.initGit,l)||(n.draft.initGit=l),l}),a()(),h(39,Ao,1,1,"input",14),a()()()()),e&2&&(s(6),b("ngModel",n.draft.name),s(2),re(" ",n.draft.rootPath," "),s(),P(n.pathExists?9:-1),s(5),b("ngModel",n.draft.packageManager),s(12),b("ngModel",n.draft.overwriteIfExists),s(4),b("ngModel",n.draft.skipOnboarding),s(8),b("ngModel",n.draft.initGit),s(),P(n.draft.initGit?39:-1))},dependencies:[x,I,Hn,ce,Z,Qn,H,Zn,zi,Q,le,gi,fi,_i,Ci,Y,me,j,vt,ni,ii,Re,_t,G,se,ve,y,Me],styles:[".hint[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.7}.switch-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.switch-row[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:14px}.emit[_ngcontent-%COMP%]{margin-top:8px}"]})};var jt=class t{draft;draftChange=new V;emit(){this.draftChange.emit(K({},this.draft))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-step-config"]],inputs:{draft:"draft"},outputs:{draftChange:"draftChange"},decls:12,vars:2,consts:[["nzTitle","\u521B\u5EFA\u540E\u9ED8\u8BA4\u884C\u4E3A"],[1,"row"],[1,"label"],[3,"ngModelChange","ngModel"],[1,"row","col"],["nz-input","","placeholder","\u4F8B\u5982\uFF1Adev / start",3,"ngModelChange","ngModel"],[1,"hint"]],template:function(e,n){e&1&&(r(0,"nz-card",0)(1,"div",1)(2,"div",2),p(3,"\u7F6E\u9876\u6536\u85CF"),a(),r(4,"nz-switch",3),E("ngModelChange",function(l){return D(n.draft.pinFavorite,l)||(n.draft.pinFavorite=l),l}),g("ngModelChange",function(){return n.emit()}),a()(),c(5,"div",4),r(6,"div",4)(7,"div",2),p(8,"\u9ED8\u8BA4\u4EFB\u52A1\uFF08\u53EF\u9009\uFF09"),a(),r(9,"input",5),E("ngModelChange",function(l){return D(n.draft.defaultTaskName,l)||(n.draft.defaultTaskName=l),l}),g("ngModelChange",function(){return n.emit()}),a(),r(10,"div",6),p(11,"\u5EFA\u8BAE\u586B\u8BC6\u522B\u5230\u7684 dev \u6216 start"),a()()()),e&2&&(s(4),b("ngModel",n.draft.pinFavorite),s(5),b("ngModel",n.draft.defaultTaskName))},dependencies:[x,I,ce,Z,H,G,se,Le,Re,_t,Y,me],styles:[".row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.row.col[_ngcontent-%COMP%]{flex-direction:column;align-items:flex-start;gap:8px}.label[_ngcontent-%COMP%]{font-weight:500}.hint[_ngcontent-%COMP%]{font-size:12px;opacity:.7}"]})};var It=class t{draft;draftChange=new V;emit(){this.draftChange.emit(K({},this.draft))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-step-features"]],inputs:{draft:"draft"},outputs:{draftChange:"draftChange"},decls:1,vars:0,consts:[["nzTitle","\u529F\u80FD\u5F00\u5173\uFF08Project Scope\uFF09"]],template:function(e,n){e&1&&c(0,"nz-card",0)},dependencies:[x,I,G,se,Re],styles:[".row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.label[_ngcontent-%COMP%]{font-weight:500}"]})};var Ot=class t{nzModalData=f(gt);isModalVisible=!1;isSaving=!1;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-git-import-modal-component"]],decls:8,vars:1,consts:[[1,"modal-body"],[1,"label"],["nz-input","","placeholder","\u8BF7\u8F93\u5165Git\u4ED3\u5E93\u5730\u5740","autofocus","",3,"ngModelChange","ngModel"],["nzInputPrefix","","nzType","github","nzTheme","outline"],[1,"hint"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"label",1),p(2,"URL"),a(),r(3,"nz-input-wrapper")(4,"input",2),E("ngModelChange",function(l){return D(n.nzModalData.cloneUrl,l)||(n.nzModalData.cloneUrl=l),l}),a(),c(5,"nz-icon",3),a(),r(6,"div",4),p(7," Git \u4ED3\u5E93\u5730\u5740, \u5982 'username/repo'. \u53EF\u4EE5\u4F7F\u7528\u524D\u7F00\u5982 'gitlab:' \u6216 'bitbucket:'. "),a()()),e&2&&(s(4),b("ngModel",n.nzModalData.cloneUrl))},dependencies:[x,I,ce,Z,H,y,w,Me,Y,me,Ae,ut,vt,j,F],styles:[".hint[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.7}"]})};function Wo(t,i){if(t&1){let e=M();r(0,"button",10),g("click",function(){C(e);let o=m();return _(o.requestDetect.emit())}),c(1,"nz-icon",11),a()}}var Ft=class t{draft;draftChange=new V;requestDetect=new V;modal=f(We);emit(){this.draftChange.emit(K({},this.draft))}presetChange(i){if(this.draft.preset=i,i==="git"){this.openImportGitModal();return}else this.draft.repoUrl=void 0,this.emit()}openImportGitModal(){let i=this.modal.create({nzTitle:"\u4ECE Git \u4ED3\u5E93\u5BFC\u5165\u9879\u76EE",nzMaskClosable:!1,nzContent:Ot,nzCentered:!0,nzWidth:"580px",nzClosable:!1,nzData:{cloneUrl:"",isSaving:!1},nzFooter:[{label:"\u53D6\u6D88",type:"default",onClick:()=>{i.close(),this.draft.repoUrl=void 0,this.draft.preset="angular",this.emit()}},{label:"\u5BFC\u5165",type:"primary",onClick:e=>{let n=e.nzModalData.cloneUrl,o=e.nzModalData.isSaving;!n||!n.trim()||o||(e.nzModalData.isSaving=!0,this.draft.repoUrl=n.trim(),e.nzModalData.isSaving=!1,this.emit(),i.close())},disabled:e=>{let n=e?.nzModalData.cloneUrl;return!n||!n.trim()},loading:e=>e?.nzModalData.isSaving===!0}]})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-step-preset"]],inputs:{draft:"draft"},outputs:{draftChange:"draftChange",requestDetect:"requestDetect"},decls:19,vars:2,consts:[["reloadExtraTpl",""],["nzTitle","\u9009\u62E9\u4E00\u5957\u9884\u8BBE",3,"nzExtra"],["nzSize","large",3,"ngModelChange","ngModel"],["nz-radio","","nzValue","angular"],["for","angular"],[1,"hint"],["nz-radio","","nzValue","vue3"],["for","vue3"],["nz-radio","","nzValue","git"],["for","git"],["nz-button","","nzType","text","nzSize","small",3,"click"],["nzType","reload","nzTheme","outline"]],template:function(e,n){if(e&1){let o=M();r(0,"nz-card",1),T(1,Wo,2,0,"ng-template",null,0,A),r(3,"nz-radio-group",2),E("ngModelChange",function(z){return C(o),D(n.draft.preset,z)||(n.draft.preset=z),_(z)}),g("ngModelChange",function(z){return C(o),_(n.presetChange(z))}),r(4,"div",3)(5,"label",4),p(6,"Angular"),a(),r(7,"div",5),p(8," \u9002\u7528\u4E8E\u4F7F\u7528 Angular \u6846\u67B6\u5F00\u53D1\u7684\u9879\u76EE\uFF0C\u652F\u6301 Angular CLI \u76F8\u5173\u4EFB\u52A1\u548C\u914D\u7F6E\u3002 "),a()(),r(9,"div",6)(10,"label",7),p(11,"Vue 3"),a(),r(12,"div",5),p(13," \u9002\u7528\u4E8E\u4F7F\u7528 Vue 3 \u6846\u67B6\u5F00\u53D1\u7684\u9879\u76EE\uFF0C\u652F\u6301 Vite \u548C Vue CLI \u76F8\u5173\u4EFB\u52A1\u548C\u914D\u7F6E\u3002 "),a()(),r(14,"div",8)(15,"label",9),p(16,"Git\u5BFC\u5165"),a(),r(17,"div",5),p(18," \u4ECE\u73B0\u6709\u7684 Git \u4ED3\u5E93\u5BFC\u5165\u9879\u76EE\uFF0C\u81EA\u52A8\u8BC6\u522B\u9879\u76EE\u7ED3\u6784\u548C\u914D\u7F6E\u3002 "),a()()()()}if(e&2){let o=O(2);u("nzExtra",o),s(3),b("ngModel",n.draft.preset)}},dependencies:[x,I,Z,H,G,se,ai,j,W,F,$e,y,w,Le,xt,Mt],styles:[".kv[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.k[_ngcontent-%COMP%]{opacity:.7;display:inline-block;width:120px}.opt[_ngcontent-%COMP%]{margin-top:10px}nz-radio-group[_ngcontent-%COMP%]{width:100%}[nz-radio][_ngcontent-%COMP%]{display:block;padding:12px;border-radius:8px;width:100%;margin:0}[nz-radio][_ngcontent-%COMP%]:hover{background-color:var(--app-primary-3)}.hint[_ngcontent-%COMP%]{margin-left:24px;font-size:12px;opacity:.75}"]})};function yi(){return{preset:"angular",name:"",parentDir:"",rootPath:"",packageManager:"auto",overwriteIfExists:!1,skipOnboarding:!0,initGit:!0,initialCommitMessage:"",importScriptsAsTasks:!0,importMakefileTasks:!1,importDockerComposeTasks:!1,generateCommonTasks:!0,pinFavorite:!1,defaultTaskName:"",cliFramework:"angular",cliTool:"@angular/cli",cliArgs:[]}}function Ro(t,i){if(t&1){let e=M();r(0,"app-step-basic",15),g("draftChange",function(o){C(e);let l=m();return _(l.setDraft(o))}),a()}if(t&2){let e=m();u("draft",e.draft())}}function Go(t,i){if(t&1){let e=M();r(0,"app-step-preset",16),g("draftChange",function(o){C(e);let l=m();return _(l.setDraft(o))})("requestDetect",function(){C(e);let o=m();return _(o.detectNow())}),a()}if(t&2){let e=m();u("draft",e.draft())}}function Lo(t,i){if(t&1){let e=M();r(0,"app-step-features",15),g("draftChange",function(o){C(e);let l=m();return _(l.setDraft(o))}),a()}if(t&2){let e=m();u("draft",e.draft())}}function $o(t,i){if(t&1){let e=M();r(0,"app-step-config",15),g("draftChange",function(o){C(e);let l=m();return _(l.setDraft(o))}),a()}if(t&2){let e=m();u("draft",e.draft())}}function Uo(t,i){if(t&1){let e=M();r(0,"button",17),g("click",function(){C(e);let o=m();return _(o.cancel())}),c(1,"nz-icon",18),p(2," \u53D6\u6D88 "),a()}}function qo(t,i){if(t&1){let e=M();r(0,"button",17),g("click",function(){C(e);let o=m();return _(o.prev())}),c(1,"nz-icon",19),p(2," \u4E0A\u4E00\u6B65 "),a()}}function Qo(t,i){if(t&1){let e=M();r(0,"button",20),g("click",function(){C(e);let o=m();return _(o.create())}),c(1,"nz-icon",21),p(2," \u521B\u5EFA\u9879\u76EE "),a()}if(t&2){let e=m();u("disabled",e.creating())}}function Zo(t,i){if(t&1){let e=M();r(0,"button",20),g("click",function(){C(e);let o=m();return _(o.next())}),p(1," \u4E0B\u4E00\u6B65 "),c(2,"nz-icon",22),a()}if(t&2){let e=m();u("disabled",!e.canNext()||!e.canGoNext())}}var Bt=class t{step=L(0);draft=L(yi());creating=L(!1);output=L("");isDrawerOpen=L(!1);fs=f(ft);parentDir=this.fs.currentPath();modalRef=f(Ct);api=f(ht);modal=f(We);notify=f(Ge);taskStream=f(ei);projectState=f(xe);router=f(lt);sub=new ot;ngOnInit(){let i=this.draft(),e=this.parentDir;this.draft.set(Qt(K({},i),{rootPath:"",parentDir:e,name:""}))}detectNow(){let i=this.draft();i.rootPath?.trim()&&this.api.detect(i.rootPath).subscribe(e=>{let n=e.scripts??[],o={framework:e.framework??"unknown",hasPackageJson:!!e.hasPackageJson,scriptsCount:n.length,hasGit:!!e.hasGit,lockFile:e.lockFile??"unknown",recommendedScript:n.includes("dev")?"dev":n.includes("start")?"start":"",hasMakefile:!!e.hasMakefile,hasDockerCompose:!!e.hasDockerCompose},l=n.length>0,z=!!e.hasMakefile,X=!!e.hasDockerCompose;this.draft.set(Qt(K({},i),{detected:o,importScriptsAsTasks:l,importMakefileTasks:z&&i.importMakefileTasks,importDockerComposeTasks:X&&i.importDockerComposeTasks,defaultTaskName:o.recommendedScript||i.defaultTaskName}))})}async create(){let i=this.draft();if(!i.rootPath?.trim()||!i.name?.trim()){this.notify.error("\u8BF7\u5148\u5B8C\u5584\u9879\u76EE\u4FE1\u606F");return}if(this.creating())return;let e="\u786E\u8BA4\u521B\u5EFA\u9879\u76EE\uFF1F",n=`\u8BF7\u786E\u8BA4\u76EE\u6807\u8DEF\u5F84 ${i.rootPath}\uFF0C\u786E\u5B9A\u8981\u521B\u5EFA\u8BE5\u9879\u76EE\u5417\uFF1F`,o="\u786E\u8BA4\u521B\u5EFA",l=!1;i.overwriteIfExists&&(e="\u786E\u8BA4\u8986\u76D6\u5DF2\u5B58\u5728\u7684\u9879\u76EE\uFF1F",n=`\u8BF7\u786E\u8BA4\u76EE\u6807\u8DEF\u5F84 ${i.rootPath}\uFF0C\u521B\u5EFA\u65F6\u4F1A\u8986\u76D6\u539F\u6709\u6570\u636E\uFF0C\u4E14\u4E0D\u53EF\u6062\u590D\uFF0C\u786E\u5B9A\u8981\u7EE7\u7EED\u5417\uFF1F`,o="\u786E\u8BA4\u8986\u76D6",l=!0);let z=this.modal.confirm({nzTitle:e,nzContent:n,nzOkText:o,nzCancelText:"\u53D6\u6D88",nzOkDanger:l,nzCentered:!0,nzOnOk:async()=>{this.doCreate(i),z.close()}})}async doCreate(i){this.creating.set(!0),this.taskStream.ensureConnected();let e=new je;try{let n=i.preset==="git"?this.api.bootstrapByGit(i):this.api.bootstrapByCli(i),{taskId:o}=await qe(n);this.taskStream.subscribeTask(o,3e3),this.sub.add(this.taskStream.output$(o).subscribe(fe=>{let nt=fe.payload.text??"";this.output.set(nt)}));let l=await this.waitForTaskEvent(o,["bootstrapDone","bootstrapFailed","bootstrapNeedPickRoot"],600*1e3,e);if(l.type==="bootstrapDone"){let fe=l.payload;this.notify.success("\u9879\u76EE\u521B\u5EFA\u5B8C\u6210"),this.projectState.getProjects(fe.projectId),this.modalRef.close({ok:!0}),this.router.navigate(["/dashboard"]);return}if(l.type==="bootstrapFailed"){let fe=l.payload;this.notify.error(`\u9879\u76EE\u521B\u5EFA\u5931\u8D25\uFF1A${fe?.reason??"unknown error"}`);return}let X=l.payload?.candidates??[];if(!X.length){this.notify.error("\u9879\u76EE\u5BFC\u5165\u5931\u8D25\uFF1A\u672A\u627E\u5230\u53EF\u5BFC\u5165\u7684\u5DE5\u4F5C\u533A\u76EE\u5F55");return}let ke=await this.pickWorkspaceRootByModal(X);if(!ke){this.modal.info({nzTitle:"\u63D0\u793A",nzContent:"\u60A8\u672A\u9009\u62E9\u4EFB\u4F55\u76EE\u5F55\uFF0C\u9879\u76EE\u5BFC\u5165\u5DF2\u53D6\u6D88\u3002\u53EF\u901A\u8FC7\u201C\u5BFC\u5165\u201D\u529F\u80FD\u91CD\u65B0\u624B\u52A8\u5BFC\u5165\u3002",nzCancelText:null,nzOkText:"\u6211\u77E5\u9053\u4E86",nzOnOk:()=>{this.modalRef.close()}});return}let Ee=await qe(this.api.bootstrapPickRoot({taskId:o,pickedRoot:ke}).pipe(Ht(60*1e3),Yt(e)));if(!Ee.ok){this.notify.error(Ee.reason??"\u9879\u76EE\u5BFC\u5165\u5931\u8D25");return}this.notify.success("\u9879\u76EE\u5BFC\u5165\u5B8C\u6210"),this.projectState.getProjects(Ee.projectId),this.modalRef.close({ok:!0}),this.router.navigate(["/dashboard"])}catch(n){let o=n?.name==="TimeoutError"?"\u521B\u5EFA\u8D85\u65F6\uFF1A\u811A\u624B\u67B6/\u514B\u9686\u53EF\u80FD\u5361\u4F4F\u4E86\uFF0C\u8BF7\u67E5\u770B\u4EFB\u52A1\u65E5\u5FD7":n?.error?.message||n?.message||"\u521B\u5EFA\u5931\u8D25";console.error("\u521B\u5EFA\u9879\u76EE\u5931\u8D25",n),this.notify.error(o)}finally{e.next(),e.complete(),this.creating.set(!1)}}async waitForTaskEvent(i,e,n,o){let l=new Set(e);return await qe(this.taskStream.events$().pipe(Qe(z=>z?.payload?.taskId===i),Qe(z=>l.has(z.type)),zn(),Ht(n),Yt(o)))}setDraft(i){this.draft.set(i)}canNext(){let i=this.step(),e=this.draft();return i===0?!(!e.name?.trim()||!e.parentDir?.trim()||!e.rootPath?.trim()):i===1?!!e.rootPath?.trim():!0}async next(){let i=this.step();if(i===0&&await this.api.checkPathExists(this.draft().rootPath)&&!this.draft().overwriteIfExists){this.notify.error("\u8BE5\u8DEF\u5F84\u4E0D\u53EF\u7528\u6216\u5DF2\u5B58\u5728\u91CD\u590D\u9879\u76EE");return}let e=Math.min(3,i+1);this.step.set(e)}prev(){this.step.set(Math.max(0,this.step()-1))}canGoNext(){let i=this.step();return i===0?!0:i===1?this.isManual():i===2}isManual(){return this.draft().preset==="manual"}canCreateHere(){let i=this.step();return this.isManual()&&i===3||!this.isManual()&&i===1}cancel(){this.modal.confirm({nzTitle:"\u53D6\u6D88\u521B\u5EFA\u9879\u76EE",nzContent:"\u786E\u5B9A\u8981\u53D6\u6D88\u521B\u5EFA\u5417",nzOkDanger:!0,nzOkText:"\u53D6\u6D88\u521B\u5EFA",nzCancelText:"\u4E0D",nzCentered:!0,nzOnOk:()=>{this.modalRef.close()}})}async pickWorkspaceRootByModal(i){let e=this.modal.create({nzTitle:"\u9009\u62E9\u8981\u5BFC\u5165\u7684\u5DE5\u4F5C\u533A\u76EE\u5F55",nzContent:bt,nzData:{candidates:i,defaultPicked:i[0]},nzFooter:null,nzCentered:!0,nzMaskClosable:!1,nzClosable:!0,nzWidth:720});return(await qe(e.afterClose))?.pickedRoot??null}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-project-create-modal"]],decls:20,vars:9,consts:[["nz-col","","nzSpan","24",1,"modal-container"],[3,"nzCurrent"],["nzTitle","\u8BE6\u60C5"],["nzTitle","\u9884\u8BBE"],["nzTitle","\u529F\u80FD"],["nzTitle","\u914D\u7F6E"],[1,"content"],["nzTip","\u6B63\u5728\u521B\u5EFA\u9879\u76EE...",3,"nzSpinning"],[1,"main"],[3,"draft"],[1,"actions"],["nz-button",""],["nz-button","","nzType","primary",3,"disabled"],[1,"aside"],[3,"isCreatingChange","draft","isCreating","chunk"],[3,"draftChange","draft"],[3,"draftChange","requestDetect","draft"],["nz-button","",3,"click"],["nzType","close","nzTheme","outline"],["nzType","arrow-left","nzTheme","outline"],["nz-button","","nzType","primary",3,"click","disabled"],["nzType","check","nzTheme","outline"],["nzType","arrow-right","nzTheme","outline"]],template:function(e,n){if(e&1&&(r(0,"div",0)(1,"nz-steps",1),c(2,"nz-step",2)(3,"nz-step",3)(4,"nz-step",4)(5,"nz-step",5),a(),r(6,"div",6)(7,"nz-spin",7)(8,"div",8),h(9,Ro,1,1,"app-step-basic",9)(10,Go,1,1,"app-step-preset",9)(11,Lo,1,1,"app-step-features",9)(12,$o,1,1,"app-step-config",9),r(13,"div",10),h(14,Uo,3,0,"button",11),h(15,qo,3,0,"button",11),h(16,Qo,3,1,"button",12)(17,Zo,3,1,"button",12),a()()(),r(18,"div",13)(19,"app-create-summary-aside",14),E("isCreatingChange",function(l){return D(n.creating,l)||(n.creating=l),l}),a()()()()),e&2){let o;s(),u("nzCurrent",n.step()),s(6),u("nzSpinning",n.creating()),s(2),P((o=n.step())===0?9:o===1?10:o===2?11:o===3?12:-1),s(5),P(n.step()===0?14:-1),s(),P(n.step()>0?15:-1),s(),P(n.canCreateHere()?16:17),s(3),u("draft",n.draft()),b("isCreating",n.creating),u("chunk",n.output())}},dependencies:[x,I,Me,G,pe,Q,Mi,vi,kt,j,W,F,ae,Y,y,w,li,si,Nt,Ft,It,jt,Tt],styles:[".content[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 360px;gap:16px;margin-top:16px}.main[_ngcontent-%COMP%]{min-height:420px}.actions[_ngcontent-%COMP%]{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.aside[_ngcontent-%COMP%]{position:sticky;top:16px;height:fit-content}"]})};var Vt=class t{constructor(i){this.modal=i}goCreate(){let i=this.modal.create({nzTitle:"\u521B\u5EFA\u65B0\u9879\u76EE",nzFooter:null,nzMaskClosable:!1,nzClosable:!1,nzContent:Bt,nzWidth:"1020px",nzCentered:!0}),e=i.getContentComponent();i.afterClose.subscribe(n=>{n?.ok})}static \u0275fac=function(e){return new(e||t)(rt(We))};static \u0275cmp=S({type:t,selectors:[["app-project-create"]],decls:7,vars:0,consts:[["nz-row","",1,"page"],["nz-col","","nzSpan","16","nzOffset","4",1,"explorer-container"],[1,"actions-bar"],["nz-button","","nzType","primary","nzSize","large",3,"click"],["nzType","plus","nzTheme","outline"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1),c(2,"app-fs-explorer"),a(),r(3,"div",2)(4,"button",3),g("click",function(){return n.goCreate()}),c(5,"nz-icon",4),p(6," \u5728\u6B64\u521B\u5EFA\u65B0\u9879\u76EE "),a()()())},dependencies:[x,j,W,F,ae,pe,Q,le,zt,y,w],styles:[".page[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column}.page[_ngcontent-%COMP%] .explorer-container[_ngcontent-%COMP%]{flex:1 1 auto;height:0}.page[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%]{flex:0 0 auto;padding:16px;display:flex;justify-content:center;align-items:center}"]})};var Ue=class t{fs=f(ft);projectApi=f(ht);projectState=f(xe);active=L(!1);checking=L(!1);result=L(null);canImport=$(()=>this.result()?.ok===!0);warnings=$(()=>this.result()?.warnings??[]);reason=$(()=>this.result()?.reason??"");currentPath=$(()=>this.fs.currentPath()||this.fs.path());_seq=0;notify=f(Ge);constructor(){On(()=>{if(!this.active())return;let i=this.currentPath();i&&this.check(i)})}enter(){this.active.set(!0)}leave(){this.active.set(!1),this.result.set(null)}check(i){let e=++this._seq;this.checking.set(!0),this.result.set(null),this.projectApi.checkImport(i).subscribe({next:n=>{e===this._seq&&this.result.set(n)},error:n=>{e===this._seq&&this.result.set({ok:!1,root:i,reason:n?.message||"check failed"})},complete:()=>{e===this._seq&&this.checking.set(!1)}})}import(i){let e=this.currentPath();if(!e||!this.canImport())return;let n=e.replace(/[\\\/]+$/,"").split(/[\\\/]/).pop()||"New Project";this.projectApi.importByPath({root:e,name:i||n,syncTasks:!0}).subscribe({next:o=>{this.projectState.getProjects(),this.projectState.setCurrentProjectById(o.id),this.check(e),this.notify.success("\u9879\u76EE\u5BFC\u5165\u6210\u529F")}})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=Sn({token:t,factory:t.\u0275fac,providedIn:"root"})};var At=class t{importState=f(Ue);static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-project-import"]],decls:7,vars:1,consts:[["nz-row","",1,"page"],["nz-col","","nzSpan","16","nzOffset","4",1,"explorer-container"],[1,"actions-bar","center"],["nz-button","","nzSize","large","nzType","primary",3,"click","disabled"],["nzType","import","nzTheme","outline"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1),c(2,"app-fs-explorer"),a(),r(3,"div",2)(4,"button",3),g("click",function(){return n.importState.import()}),c(5,"nz-icon",4),p(6," \u5BFC\u5165\u8FD9\u4E2A\u6587\u4EF6\u5939 "),a()()()),e&2&&(s(4),u("disabled",n.importState.checking()||!n.importState.canImport()))},dependencies:[x,I,pe,Q,le,j,W,F,ae,y,w,zt],styles:[".page[_ngcontent-%COMP%]{width:100%;height:100%;display:flex;flex-direction:column}.page[_ngcontent-%COMP%] .explorer-container[_ngcontent-%COMP%]{flex:1 1 auto;height:0}.page[_ngcontent-%COMP%] .actions-bar[_ngcontent-%COMP%]{flex:0 0 auto;padding:16px;display:flex;justify-content:center;align-items:center}"]})};var Ho=(t,i)=>i.spec.id;function Yo(t,i){if(t&1){let e=M();r(0,"div",8)(1,"div",9),g("click",function(){let o=C(e).$implicit,l=m();return _(l.openTask(o))}),r(2,"div",10),c(3,"nz-icon",11),a(),r(4,"div",12)(5,"div",13)(6,"span"),p(7),a()(),r(8,"div",14)(9,"span"),p(10),a()()()(),r(11,"button",15),g("click",function(o){let l=C(e).$implicit,z=m();return o.stopPropagation(),_(z.toggleTask(l))}),c(12,"nz-icon",16),a()()}if(t&2){let e=i.$implicit,n=m();u("nzTooltipTitle",n.getTaskDescription(e)),s(7),N(e.spec.name),s(3),N(n.getTaskDescription(e)),s(2),u("nzType",n.getTaskActionIcon(e))}}var Wt=class t{projectId;projectState=f(xe);router=f(lt);state=f(ti);tasks=$(()=>this.projectId?this.state.rowsViewOf(this.projectId)():[]);async ngOnChanges(){this.projectId&&await this.state.ensureProjectLoaded(this.projectId)}toggleTask(i){i.runtime?.status==="running"?this.state.stopSelected():this.state.startSelected(),this.openTask(i)}async openTask(i){this.state.select(i.spec.id),await this.router.navigate(["/tasks"]),this.projectState.setCurrentProjectById(i.spec.projectId)}getTaskName(i){return i.spec.name||i.spec.id}getTaskDescription(i){let e=i.runtime?.status;return i.runtime?this.computedStatusText(e):i.spec.description||""}getTaskActionIcon(i){let e=i.runtime?.status;return e==="running"||e==="stopping"?"pause-circle":"play-circle"}computedStatusText(i){switch(i){case"running":return"\u8FD0\u884C\u4E2D";case"stopping":return"\u505C\u6B62\u4E2D";case"success":return"\u6210\u529F";case"failed":return"\u9519\u8BEF";case"stopped":return"\u5DF2\u505C\u6B62";default:return"\u7A7A\u95F2"}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-project-item-popover"]],inputs:{projectId:"projectId"},features:[_e],decls:11,vars:0,consts:[[1,"dropdown-content"],[1,"pane-toolbar"],[1,"icon"],["nzType","inbox","nzTheme","outline"],[1,"title"],["nz-button","","type","button","nzType","text"],["nzType","close","nzTheme","outline"],[1,"tasks"],["nz-tooltip","","nzTooltipPlacement","right",1,"task-item",3,"nzTooltipTitle"],[1,"item-content",3,"click"],[1,"item-logo"],["nzType","code","nzTheme","outline"],[1,"list-item-info"],[1,"name"],[1,"description"],["nz-button","","nzType","text","type","button",3,"click"],["nzTheme","outline",3,"nzType"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2),c(3,"nz-icon",3),a(),r(4,"div",4),p(5,"\u4EFB\u52A1"),a(),r(6,"button",5),c(7,"nz-icon",6),a()(),r(8,"div",7),ie(9,Yo,13,4,"div",8,Ho),a()()),e&2&&(s(9),oe(n.tasks()))},dependencies:[x,y,w,j,W,F,ve,Se,Ke],styles:[".dropdown-content[_ngcontent-%COMP%]{display:flex;flex-direction:column}.dropdown-content[_ngcontent-%COMP%] .pane-toolbar[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;padding:6px 6px 6px 16px}.dropdown-content[_ngcontent-%COMP%] .pane-toolbar[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:auto 0 0}.dropdown-content[_ngcontent-%COMP%] .pane-toolbar[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:18px;margin-right:6px}.dropdown-content[_ngcontent-%COMP%] .pane-toolbar[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{flex:100% 1 1;width:0;overflow:hidden;-ms-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%]{width:320px;max-height:360px;overflow:hidden auto}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%]{padding:16px;display:flex;flex-direction:row;align-items:center}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%]:hover{background:#f5f5f5}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] .item-content[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;flex:100% 1 1;width:0;gap:16px;cursor:pointer}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] .item-logo[_ngcontent-%COMP%]{font-size:42px;margin-right:16px;flex:auto 0 0;display:inline-flex;align-items:center}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%]{flex:100% 1 1;width:0;overflow:hidden;display:flex;flex-direction:column;align-items:stretch;justify-content:center}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{flex:auto 0 0}.dropdown-content[_ngcontent-%COMP%] .tasks[_ngcontent-%COMP%] .task-item[_ngcontent-%COMP%] button[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:24px}"]})};function Jo(t,i){if(t&1){let e=M();r(0,"button",20),g("click",function(){C(e);let o=m();return _(o.openPageUrl(o.project==null?null:o.project.repoPageUrl))}),c(1,"nz-icon",21),a()}}function Xo(t,i){if(t&1&&c(0,"app-project-item-popover",22),t&2){let e=m();u("projectId",e.project==null?null:e.project.id)}}var Rt=class t{taskRuntime=f(Kn);notify=f(Ge);project=null;open=!1;selectProject=new V;toggleFavorite=new V;editProject=new V;openInEditor=new V;deleteProject=new V;tasksRunningCount=$(()=>{let i=this.project?.id?.trim();return i?this.taskRuntime.runningCountSignal(i)():0});hasTasksRunning=$(()=>this.tasksRunningCount()>0);taskBadgeTip=$(()=>{let i=this.tasksRunningCount();return i>0?`${i} \u4E2A\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C`:"\u4EFB\u52A1"});del(){if(this.hasTasksRunning()){this.notify.warn("\u5F53\u524D\u9879\u76EE\u6709\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C\uFF0C\u8BF7\u5148\u505C\u6B62\u8FD9\u4E9B\u4EFB\u52A1\u540E\u518D\u5220\u9664\u9879\u76EE\u3002");return}this.deleteProject.emit()}openPageUrl(i){i&&window.open(i,"_blank")}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-project-item"]],inputs:{project:"project",open:"open"},outputs:{selectProject:"selectProject",toggleFavorite:"toggleFavorite",editProject:"editProject",openInEditor:"openInEditor",deleteProject:"deleteProject"},decls:28,vars:10,consts:[["contentTemplate",""],["nz-row","",1,"project-item"],["nz-col","","nzSpan","24",1,"content"],[1,"favorite"],["nz-button","","nzType","primary",3,"click"],["nzType","star",3,"nzTheme"],[1,"info",3,"click"],[1,"list-item-info"],[1,"name"],["nz-popover","","nzPopoverTrigger","click","nzPopoverPlacement","right",1,"task-popover-trigger",3,"click","nzPopoverContent","nzPopoverOverlayClassName"],[3,"nzStatus","nz-tooltip"],[1,"root-path"],[1,"actions"],["nzSize","large"],["nzType","code","nzTheme","outline"],["nz-button","","nzType","primary","nz-tooltip","\u7F16\u8F91",3,"click"],["nzType","edit","nzTheme","outline"],["nz-button","","nzType","primary","nz-tooltip","\u6253\u5F00\u4ED3\u5E93\u5730\u5740"],["nz-button","","nzType","primary","nz-tooltip","\u5220\u9664",3,"click"],["nzType","delete","nzTheme","outline"],["nz-button","","nzType","primary","nz-tooltip","\u6253\u5F00\u4ED3\u5E93\u5730\u5740",3,"click"],["nzType","global","nzTheme","outline"],[3,"projectId"]],template:function(e,n){if(e&1){let o=M();r(0,"div",1)(1,"div",2)(2,"div",3)(3,"button",4),g("click",function(z){return C(o),z.stopPropagation(),_(n.toggleFavorite.emit())}),c(4,"nz-icon",5),a()(),r(5,"div",6),g("click",function(){return C(o),_(n.selectProject.emit())}),r(6,"div",7)(7,"div",8)(8,"span"),p(9),a(),r(10,"span",9),g("click",function(z){return C(o),_(z.stopPropagation())}),c(11,"nz-badge",10),a()(),r(12,"div",11)(13,"span"),p(14),a()()()(),r(15,"div",12)(16,"nz-space",13)(17,"button",4),g("click",function(){return C(o),_(n.openInEditor.emit())}),c(18,"nz-icon",14),r(19,"span"),p(20,"\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00"),a()(),r(21,"button",15),g("click",function(){return C(o),_(n.editProject.emit())}),c(22,"nz-icon",16),a(),h(23,Jo,2,0,"button",17),r(24,"button",18),g("click",function(){return C(o),_(n.del())}),c(25,"nz-icon",19),a()()()()(),T(26,Xo,1,1,"ng-template",null,0,A)}if(e&2){let o=O(27);he("open",n.open),s(4),u("nzTheme",n.project!=null&&n.project.isFavorite?"fill":"outline"),s(5),N(n.project==null?null:n.project.name),s(),u("nzPopoverContent",o)("nzPopoverOverlayClassName","project-item-popover"),s(),u("nzStatus",n.hasTasksRunning()?"processing":"default")("nz-tooltip",n.taskBadgeTip()),s(3),N(n.project==null?null:n.project.root),s(9),P(n.project!=null&&n.project.repoPageUrl?23:-1)}},dependencies:[x,I,pe,Q,le,j,W,F,ae,y,w,Jn,Yn,ri,oi,Ln,Gn,Wt,Se],styles:['.project-item[_ngcontent-%COMP%]{border-radius:4px;padding:0;margin:8px 0;transition:all .3s;cursor:pointer}.project-item.open[_ngcontent-%COMP%], .project-item[_ngcontent-%COMP%]:hover{box-shadow:0 4px 12px #0000001a;background:var(--app-primary-3)}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{padding:16px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto;grid-template-areas:"icon info actions";grid-gap:16px;align-items:center}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .favorite[_ngcontent-%COMP%]{grid-area:icon;display:flex;align-items:center;justify-content:center}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{grid-area:info;-webkit-user-select:none;user-select:none}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:4px}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{flex:auto 0 0}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .task-popover-trigger[_ngcontent-%COMP%]{display:inline-block;margin-left:8px;cursor:pointer}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] .task-popover-trigger[_ngcontent-%COMP%] nz-badge[_ngcontent-%COMP%]{font-size:18px}.project-item[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .list-item-info[_ngcontent-%COMP%] .root-path[_ngcontent-%COMP%]{flex:auto 0 0;opacity:.7;font-size:14px}']})};var ki=t=>({$implicit:t}),Ko=(t,i)=>i.id;function er(t,i){t&1&&Xt(0)}function tr(t,i){if(t&1&&(r(0,"div",6)(1,"h2"),p(2,"\u6536\u85CF\u7684\u9879\u76EE"),a()(),T(3,er,1,0,"ng-container",7)),t&2){let e=m(),n=O(11);s(3),u("ngTemplateOutlet",n)("ngTemplateOutletContext",Je(2,ki,e.projectState.favoriteProjects()))}}function nr(t,i){t&1&&(r(0,"div",6)(1,"h2"),p(2,"\u66F4\u591A\u9879\u76EE"),a()())}function ir(t,i){t&1&&Xt(0)}function or(t,i){t&1&&(r(0,"div",8),c(1,"nz-empty",9),a())}function rr(t,i){if(t&1){let e=M();r(0,"app-project-item",12),g("selectProject",function(){let o=C(e).$implicit,l=m(2);return _(l.projectState.selectProject(o))})("toggleFavorite",function(){let o=C(e).$implicit,l=m(2);return _(l.projectState.toggleFavorite(o.id))})("openInEditor",function(){let o=C(e).$implicit,l=m(2);return _(l.projectState.openInEditor(o.id))})("editProject",function(){let o=C(e).$implicit,l=m(2);return _(l.projectState.openEditModal(o))})("deleteProject",function(){let o=C(e).$implicit,l=m(2);return _(l.projectState.deleteProject(o.id))}),a()}if(t&2){let e=i.$implicit,n=m(2);u("project",e)("project",e)("open",n.projectState.isOpen(e))}}function ar(t,i){if(t&1&&(r(0,"div",10),ie(1,rr,1,3,"app-project-item",11,Ko),a()),t&2){let e=i.$implicit;s(),oe(e)}}var Gt=class t{projectState=f(xe);static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-project-list"]],decls:12,vars:8,consts:[["itemsTpl",""],["nz-row","",1,"page"],["nz-col","","nzSpan","16","nzOffset","4",1,"col"],["nz-col","",1,"topbar"],["nzInputPrefix","","nzType","search",1,"search-icon"],["nz-input","","placeholder","\u641C\u7D22\u9879\u76EE",3,"ngModelChange","ngModel"],[1,"header"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"no-projects"],["nzNotFoundImage","simple","nzNotFoundContent","\u6682\u65E0\u9879\u76EE\uFF0C\u5FEB\u53BB\u521B\u5EFA\u6216\u5BFC\u5165\u7B2C\u4E00\u4E2A\u9879\u76EE\u5427\uFF01"],[1,"content"],[3,"project","open"],[3,"selectProject","toggleFavorite","openInEditor","editProject","deleteProject","project","open"]],template:function(e,n){if(e&1){let o=M();r(0,"div",1)(1,"div",2)(2,"div",3)(3,"nz-input-wrapper"),c(4,"nz-icon",4),r(5,"input",5),g("ngModelChange",function(z){return C(o),_(n.projectState.keyword.set(z))}),a()()(),h(6,tr,4,4),h(7,nr,3,0,"div",6),T(8,ir,1,0,"ng-container",7),h(9,or,2,0,"div",8),a(),T(10,ar,3,0,"ng-template",null,0,A),a()}if(e&2){let o=O(11);s(5),u("ngModel",n.projectState.keyword()),s(),P(n.projectState.favoriteProjects().length>0?6:-1),s(),P(n.projectState.favoriteProjects().length>0?7:-1),s(),u("ngTemplateOutlet",o)("ngTemplateOutletContext",Je(6,ki,n.projectState.moreProjects())),s(),P(n.projectState.projects().length===0?9:-1)}},dependencies:[x,Ve,I,ce,Z,H,G,pe,Q,le,Rt,St,Pt,Y,me,Ae,ut,y,w],styles:["[_nghost-%COMP%]{display:block;height:100%;overflow:hidden}.page[_ngcontent-%COMP%]{height:100%;overflow-y:auto}.page[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:center;margin-bottom:12px}.page[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%] nz-input-wrapper[_ngcontent-%COMP%]{width:25%;min-width:200px}.page[_ngcontent-%COMP%] .col[_ngcontent-%COMP%]{display:flex;flex-direction:column}.header[_ngcontent-%COMP%]{padding:12px 0}.header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-weight:600}"]})};function sr(t,i){t&1&&(c(0,"nz-icon",8),p(1," \u9879\u76EE "))}function lr(t,i){t&1&&c(0,"app-project-list")}function pr(t,i){t&1&&(c(0,"nz-icon",9),p(1," \u521B\u5EFA "))}function cr(t,i){t&1&&c(0,"app-project-create")}function mr(t,i){t&1&&(c(0,"nz-icon",10),p(1," \u5BFC\u5165 "))}function dr(t,i){t&1&&c(0,"app-project-import")}var Lt=class t{importState=f(Ue);selectedIndex=0;tabIndexChange(i){i===2?this.importState.active.set(!0):this.importState.active.set(!1)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-projects"]],decls:17,vars:4,consts:[["projectTitleTemplate",""],["addTitleTemplate",""],["importTitleTemplate",""],[1,"page"],[1,"header"],["nzCentered","",1,"tabs-container",3,"nzSelectedIndexChange","nzSelectedIndex"],[3,"nzTitle"],["nz-tab",""],["nzType","unordered-list","nzTheme","outline"],["nzType","plus-square","nzTheme","outline"],["nzType","import","nzTheme","outline"]],template:function(e,n){if(e&1){let o=M();r(0,"div",3)(1,"div",4)(2,"h2"),p(3,"\u9879\u76EE\u7BA1\u7406"),a()(),r(4,"nz-tabs",5),E("nzSelectedIndexChange",function(z){return C(o),D(n.selectedIndex,z)||(n.selectedIndex=z),_(z)}),g("nzSelectedIndexChange",function(z){return C(o),_(n.tabIndexChange(z))}),r(5,"nz-tab",6),T(6,sr,2,0,"ng-template",null,0,A)(8,lr,1,0,"ng-template",7),a(),r(9,"nz-tab",6),T(10,pr,2,0,"ng-template",null,1,A)(12,cr,1,0,"ng-template",7),a(),r(13,"nz-tab",6),T(14,mr,2,0,"ng-template",null,2,A)(16,dr,1,0,"ng-template",7),a()()()}if(e&2){let o=O(7),l=O(11),z=O(15);s(4),b("nzSelectedIndex",n.selectedIndex),s(),u("nzTitle",o),s(4),u("nzTitle",l),s(4),u("nzTitle",z)}},dependencies:[x,ui,di,mi,ci,y,w,Gt,Vt,At],styles:[".page[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex:0 0 auto;padding:16px 0}.header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0}nz-tabs.tabs-container[_ngcontent-%COMP%]{flex:1 1 auto;height:0}nz-tabs.tabs-container[_ngcontent-%COMP%] .ant-tabs-content{height:100%}nz-tabs.tabs-container[_ngcontent-%COMP%] .ant-tabs-content .ant-tabs-tabpane{height:100%}.toolbar[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1}.current[_ngcontent-%COMP%]{margin:10px 0;opacity:.75}"]})};var ur=[{path:"",component:Lt}],$t=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=ze({type:t});static \u0275inj=Ce({imports:[Ke.forChild(ur),Ke]})};var Ti=class t{static \u0275fac=function(e){return new(e||t)};static \u0275mod=ze({type:t});static \u0275inj=Ce({imports:[x,$t]})};export{Ti as ProjectsModule};
@@ -0,0 +1,4 @@
1
+ import{a as li}from"./chunk-3PWCJ3D5.js";import"./chunk-GCKL62DR.js";import{c as qe}from"./chunk-EC33AXSR.js";import{b as Ke,d as ei}from"./chunk-OUE23ZE4.js";import{d as ii,e as si,f as ni}from"./chunk-DJJC6FPO.js";import{e as Je}from"./chunk-ROB7EMN5.js";import{c as oi,d as ri}from"./chunk-W6TCGG53.js";import"./chunk-SNCDDYQR.js";import{E as Ze,G as ti,g as Kt,w as qt,x as Jt,y as Zt,z as te}from"./chunk-EP45FT55.js";import{Ab as Mt,Bb as jt,Cb as Tt,Fb as Ut,Hb as Qt,M as B,N as F,T as Ue,U as Qe,V,W as H,Y as A,Z as W,jb as zt,lb as ct,pb as pt,vb as gt,yb as Gt}from"./chunk-PTMJ422K.js";import"./chunk-HFZLJHYR.js";import{c as Xe,h as Ye,i as D,o as Ge,y as je}from"./chunk-53YRDYLS.js";import{$b as q,$c as Be,Bc as We,Cc as Oe,Eb as k,Ec as Ne,Fc as xt,Ha as P,Ic as g,J as ke,Jc as j,Kb as Xt,Kc as bt,Mc as dt,Nc as ht,Oa as ot,Oc as mt,Q as Pe,Ra as Et,Vb as z,Xb as M,Yb as ge,Zc as Le,_b as K,a as S,ac as c,b as G,bc as l,cc as a,da as Se,dc as p,ea as ce,ec as X,ed as Ve,fc as L,fd as R,gd as He,hc as et,ic as it,kb as Re,kc as b,l as At,ma as _t,mb as h,md as Ae,qc as v,ra as T,rb as N,rd as Yt,sb as pe,sc as rt,tc as m,ub as Fe,uc as Ft,va as De,vc as It,wa as Ee,xa as C,xb as Rt,ya as w,yb as Q,z as me}from"./chunk-SJG2JCPL.js";var $t=class n{api=T(Kt);getInfo(e){return this.api.get(`/api/dashboard/getInfo/${e}`)}update(e,t){return this.api.post(`/api/dashboard/update/${e}`,t)}widgets(e){return this.api.get(`/api/dashboard/widgets/${e}`)}addWidget(e,t){let{x:i,y:s}=t;return this.api.get(`/api/dashboard/addWidget/${e}/${t.widgetKey}/${i}/${s}`)}removeWidget(e,t){return this.api.delete(`/api/dashboard/removeWidget/${e}/${t}`)}updateItemConfig(e,t,i){return this.api.post(`/api/dashboard/updateItemConfig/${e}/${t}`,i)}killPort(e){return this.api.get(`/api/dashboard/killPort/${e}`)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=_t({token:n,factory:n.\u0275fac,providedIn:"root"})};var st=class n{api=T($t);_doc=P(null);items=R(()=>this._doc()?.items??[]);updatedAt=R(()=>this._doc()?.updatedAt??0);widgets=P([]);saveTimer=null;async load(e){try{let t=await me(this.api.getInfo(e));this._doc.set(t);return}catch{this._doc.set({version:1,projectId:e,updatedAt:Date.now(),items:[]})}}setItems(e,t){let i=this._doc();i&&(this._doc.set(G(S({},i),{items:t})),this.scheduleAutoSave(e))}scheduleAutoSave(e,t=1e4){this.saveTimer&&clearTimeout(this.saveTimer),this.saveTimer=setTimeout(()=>{this.flushSave(e).catch(()=>{})},t)}async flushSave(e){this.saveTimer&&(clearTimeout(this.saveTimer),this.saveTimer=null);let t=this._doc();if(!t)return;let i=await me(this.api.update(e,t));this._doc.set(i)}add(e){console.log("add widget",e);let t=this._doc();t&&(this._doc.set(G(S({},t),{items:[...t.items,e]})),setTimeout(()=>{let{x:i,y:s}=e;this.api.addWidget(t.projectId,{widgetKey:e.key,x:i,y:s}).subscribe(o=>{this._doc.set(o),this.getWidgets()})},0))}remove(e){let t=this._doc();t&&this.api.removeWidget(t.projectId,e).subscribe(i=>{this._doc.set(i),this.getWidgets()})}killProcess(e){this.api.killPort(Number(e)).subscribe(t=>{console.log("Killed port",e)})}getWidgets(){let e=this._doc();e&&this.api.widgets(e.projectId).subscribe(t=>{this.widgets.set(t)})}updateConfig(e,t,i){this._doc()&&this.api.updateItemConfig(e,t,i).subscribe(o=>{this._doc.set(o)})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=_t({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ii=(n,e)=>e.key;function bi(n,e){if(n&1){let t=b();l(0,"div",5)(1,"div",6)(2,"div",7),p(3,"nz-icon",8),a(),l(4,"div",9)(5,"div",10),g(6),a(),l(7,"div",11),g(8),a()(),l(9,"div",12)(10,"button",13),v("click",function(){let s=C(t).$implicit,o=m();return w(o.addWidget(s))}),p(11,"nz-icon",14),a()()()()}if(n&2){let t=e.$implicit;h(3),c("nzType",t.icon||"appstore"),h(3),j(t.title),h(2),j(t.desc)}}var ee=class n{layout=T(st);add=new N;keyword=P("");widgets=this.layout.widgets;filtered=R(()=>{let e=this.keyword().trim().toLowerCase();return e?this.widgets().filter(t=>(t.title+(t.desc??"")).toLowerCase().includes(e)):this.widgets()});constructor(){}addWidget(e){this.add.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-add-widget-drawer"]],outputs:{add:"add"},decls:8,vars:1,consts:[[1,"list"],[1,"topbar"],["nzInputPrefix","","nzType","search",1,"search-icon"],["nz-input","","placeholder","",3,"ngModelChange","ngModel"],[1,"items"],[1,"item"],[1,"row"],[1,"icon"],["nzTheme","outline",3,"nzType"],[1,"info"],[1,"name"],[1,"description"],[1,"actions"],["nz-button","","nzType","primary","nzSize","small","nzTooltip","\u6DFB\u52A0\u90E8\u4EF6",3,"click"],["nzType","plus"]],template:function(t,i){t&1&&(l(0,"div",0)(1,"div",1)(2,"nz-input-wrapper"),p(3,"nz-icon",2),l(4,"input",3),v("ngModelChange",function(o){return i.keyword.set(o)}),a()()(),l(5,"div",4),K(6,bi,12,3,"div",5,Ii),a()()),t&2&&(h(4),c("ngModel",i.keyword()),h(2),q(i.filtered()))},dependencies:[D,gt,zt,ct,pt,F,B,Tt,Mt,jt,Gt,W,A,V,H,Qt],styles:[".list[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;flex-direction:column}.list[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.list[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%] nz-input-wrapper[_ngcontent-%COMP%]{width:100%;border-radius:18px}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{flex:1 1 auto;overflow:auto;height:0;display:flex;flex-direction:column;gap:8px;padding:8px;overflow-x:hidden;overflow-y:auto}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{border-radius:3px;padding:10px;cursor:pointer}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item.active[_ngcontent-%COMP%]{background:var(--app-primary-3)}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;overflow:hidden;justify-content:space-between}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:28px;flex:0 0 auto;position:relative;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--app-primary-1)}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;overflow:hidden}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:13px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{flex:0 0 auto}"],changeDetection:0})};var mi=["*"];function zi(n,e){if(n&1&&p(0,"div",0),n&2){let t=e.$index,i=m();c("ngStyle",i.gridRenderer.getGridColumnStyle(t))}}function Mi(n,e){if(n&1&&p(0,"div",1),n&2){let t=e.$index,i=m();c("ngStyle",i.gridRenderer.getGridRowStyle(t))}}function Ti(n,e){if(n&1){let t=b();X(0,"div",8),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function $i(n,e){if(n&1){let t=b();X(0,"div",9),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function ki(n,e){if(n&1){let t=b();X(0,"div",10),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function Pi(n,e){if(n&1){let t=b();X(0,"div",11),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function Si(n,e){if(n&1){let t=b();X(0,"div",12),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function Di(n,e){if(n&1){let t=b();X(0,"div",13),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function Ei(n,e){if(n&1){let t=b();X(0,"div",14),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}function Ri(n,e){if(n&1){let t=b();X(0,"div",15),rt("mousedown",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))})("touchstart",function(s){C(t);let o=m();return w(o.resize.dragStartDelay(s))}),L()}}var u=(function(n){return n.Fit="fit",n.ScrollVertical="scrollVertical",n.ScrollHorizontal="scrollHorizontal",n.Fixed="fixed",n.VerticalFixed="verticalFixed",n.HorizontalFixed="horizontalFixed",n})(u||{}),se=(function(n){return n.Always="always",n.OnDragAndResize="onDrag&Resize",n.None="none",n})(se||{}),_=(function(n){return n.None="none",n.CompactUp="compactUp",n.CompactLeft="compactLeft",n.CompactUpAndLeft="compactUp&Left",n.CompactLeftAndUp="compactLeft&Up",n.CompactRight="compactRight",n.CompactUpAndRight="compactUp&Right",n.CompactRightAndUp="compactRight&Up",n.CompactDown="compactDown",n.CompactDownAndLeft="compactDown&Left",n.CompactLeftAndDown="compactLeft&Down",n.CompactDownAndRight="compactDown&Right",n.CompactRightAndDown="compactRight&Down",n.CompactGrid="compactGrid",n})(_||{}),E=(function(n){return n.LTR="ltr",n.RTL="rtl",n})(E||{}),Ce=class{gridster;constructor(e){this.gridster=e}destroy(){this.gridster=null}checkCompact(){this.gridster.$options.compactType!==_.None&&(this.gridster.$options.compactType===_.CompactUp?this.checkCompactMovement("y",-1):this.gridster.$options.compactType===_.CompactLeft?this.checkCompactMovement("x",-1):this.gridster.$options.compactType===_.CompactUpAndLeft?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===_.CompactLeftAndUp?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===_.CompactRight?this.checkCompactMovement("x",1):this.gridster.$options.compactType===_.CompactUpAndRight?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===_.CompactRightAndUp?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===_.CompactDown?this.checkCompactMovement("y",1):this.gridster.$options.compactType===_.CompactDownAndLeft?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===_.CompactDownAndRight?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===_.CompactLeftAndDown?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",1)):this.gridster.$options.compactType===_.CompactRightAndDown?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",1)):this.gridster.$options.compactType===_.CompactGrid&&this.checkCompactGrid())}checkCompactItem(e){this.gridster.$options.compactType!==_.None&&(this.gridster.$options.compactType===_.CompactUp?this.moveTillCollision(e,"y",-1):this.gridster.$options.compactType===_.CompactLeft?this.moveTillCollision(e,"x",-1):this.gridster.$options.compactType===_.CompactUpAndLeft?(this.moveTillCollision(e,"y",-1),this.moveTillCollision(e,"x",-1)):this.gridster.$options.compactType===_.CompactLeftAndUp?(this.moveTillCollision(e,"x",-1),this.moveTillCollision(e,"y",-1)):this.gridster.$options.compactType===_.CompactUpAndRight?(this.moveTillCollision(e,"y",-1),this.moveTillCollision(e,"x",1)):this.gridster.$options.compactType===_.CompactDown?this.moveTillCollision(e,"y",1):this.gridster.$options.compactType===_.CompactDownAndLeft?(this.moveTillCollision(e,"y",1),this.moveTillCollision(e,"x",-1)):this.gridster.$options.compactType===_.CompactLeftAndDown?(this.moveTillCollision(e,"x",-1),this.moveTillCollision(e,"y",1)):this.gridster.$options.compactType===_.CompactDownAndRight?(this.moveTillCollision(e,"y",1),this.moveTillCollision(e,"x",1)):this.gridster.$options.compactType===_.CompactRightAndDown?(this.moveTillCollision(e,"x",1),this.moveTillCollision(e,"y",1)):this.gridster.$options.compactType===_.CompactGrid&&this.moveToGridPosition(e))}checkCompactMovement(e,t){let i=!1;this.gridster.grid.forEach(s=>{s.$item.compactEnabled!==!1&&this.moveTillCollision(s.$item,e,t)&&(i=!0,s.item[e]=s.$item[e],s.itemChanged())}),i&&this.checkCompact()}moveTillCollision(e,t,i){return e[t]+=i,this.gridster.checkCollision(e)?(e[t]-=i,!1):(this.moveTillCollision(e,t,i),!0)}checkCompactGrid(){let e=this.gridster.grid.filter(o=>o.$item.compactEnabled!==!1).sort((o,r)=>o.$item.y!==r.$item.y?o.$item.y-r.$item.y:o.$item.x-r.$item.x),t=0,i=0,s=0;e.forEach(o=>{let r=o.$item;i+r.cols>this.gridster.columns&&(t=s,i=0,s=t);let d=r.x,y=r.y;r.x=i,r.y=t,(d!==r.x||y!==r.y)&&(o.item.x=r.x,o.item.y=r.y,o.itemChanged()),i+=r.cols,s=Math.max(s,t+r.rows)})}moveToGridPosition(e){let t=0,i=0,s=0,o=this.gridster.grid.filter(r=>r.$item!==e).sort((r,d)=>r.$item.y!==d.$item.y?r.$item.y-d.$item.y:r.$item.x-d.$item.x);for(let r of o){let d=r.$item;i+d.cols>this.gridster.columns&&(t=s,i=0,s=t),t<d.y+d.rows&&t+e.rows>d.y&&i<d.x+d.cols&&i+e.cols>d.x?(i=d.x+d.cols,t=d.y,s=Math.max(s,t+d.rows)):(i+=d.cols,s=Math.max(s,t+d.rows))}i+e.cols>this.gridster.columns&&(t=s,i=0),e.x=i,e.y=t}},Fi={gridType:u.Fit,scale:1,fixedColWidth:250,fixedRowHeight:250,keepFixedHeightInMobile:!1,keepFixedWidthInMobile:!1,setGridSize:!1,compactType:_.None,mobileBreakpoint:640,useBodyForBreakpoint:!1,allowMultiLayer:!1,defaultLayerIndex:0,maxLayerIndex:2,baseLayerIndex:1,minCols:1,maxCols:100,minRows:1,maxRows:100,defaultItemCols:1,defaultItemRows:1,itemAspectRatio:void 0,maxItemCols:50,maxItemRows:50,minItemCols:1,minItemRows:1,minItemArea:1,maxItemArea:2500,addEmptyRowsCount:0,rowHeightRatio:1,margin:10,outerMargin:!0,outerMarginTop:null,outerMarginRight:null,outerMarginBottom:null,outerMarginLeft:null,useTransformPositioning:!0,scrollSensitivity:10,scrollSpeed:20,initCallback:void 0,destroyCallback:void 0,gridSizeChangedCallback:void 0,itemChangeCallback:void 0,itemResizeCallback:void 0,itemInitCallback:void 0,itemRemovedCallback:void 0,itemValidateCallback:void 0,enableEmptyCellClick:!1,enableEmptyCellContextMenu:!1,enableEmptyCellDrop:!1,enableEmptyCellDrag:!1,enableOccupiedCellDrop:!1,emptyCellClickCallback:void 0,emptyCellContextMenuCallback:void 0,emptyCellDropCallback:void 0,emptyCellDragCallback:void 0,emptyCellDragMaxCols:50,emptyCellDragMaxRows:50,ignoreMarginInRow:!1,draggable:{delayStart:0,enabled:!1,ignoreContentClass:"gridster-item-content",ignoreContent:!1,dragHandleClass:"drag-handler",stop:void 0,start:void 0,dropOverItems:!1,dropOverItemsCallback:void 0},resizable:{delayStart:0,enabled:!1,handles:{s:!0,e:!0,n:!0,w:!0,se:!0,ne:!0,sw:!0,nw:!0},stop:void 0,start:void 0},swap:!0,swapWhileDragging:!1,pushItems:!1,disablePushOnDrag:!1,disablePushOnResize:!1,pushDirections:{north:!0,east:!0,south:!0,west:!0},pushResizeItems:!1,displayGrid:se.OnDragAndResize,disableWindowResize:!1,disableWarnings:!1,scrollToNewItems:!1,disableScrollHorizontal:!1,disableScrollVertical:!1,enableBoundaryControl:!1,disableAutoPositionOnConflict:!1,dirType:E.LTR},O=class n{static merge(e,t,i){for(let s in t)t[s]!==void 0&&i.hasOwnProperty(s)&&(typeof t[s]=="object"?(s in e||(e[s]={}),e[s]=n.merge(e[s],t[s],i[s])):e[s]=t[s]);return e}static checkTouchEvent(e){e.clientX===void 0&&e.touches&&(e.touches&&e.touches.length?(e.clientX=e.touches[0].clientX,e.clientY=e.touches[0].clientY):e.changedTouches&&e.changedTouches.length&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY))}static checkContentClassForEvent(e,t){if(e.$options.draggable.ignoreContent){if(!n.checkDragHandleClass(t.target,t.currentTarget,e.$options.draggable.dragHandleClass,e.$options.draggable.ignoreContentClass))return!0}else if(n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.ignoreContentClass))return!0;return!1}static checkContentClassForEmptyCellClickEvent(e,t){return n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.ignoreContentClass)||n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.dragHandleClass)}static checkDragHandleClass(e,t,i,s){if(!e||e===t)return!1;if(e.hasAttribute("class")){let o=e.getAttribute("class").split(" ");if(o.indexOf(i)>-1)return!0;if(o.indexOf(s)>-1)return!1}return n.checkDragHandleClass(e.parentNode,t,i,s)}static checkContentClass(e,t,i){return!e||e===t?!1:e.hasAttribute("class")&&e.getAttribute("class").split(" ").indexOf(i)>-1?!0:n.checkContentClass(e.parentNode,t,i)}static compareItems(e,t){return e.y>t.y?-1:e.y<t.y?1:e.x>t.x?-1:1}},we=class{gridster;initialItem;removeEmptyCellClickListenerFn;removeEmptyCellTouchendListenerFn;removeEmptyCellContextMenuListenerFn;removeEmptyCellDropListenerFn;removeEmptyCellMousedownListenerFn;removeEmptyCellTouchstartListenerFn;removeWindowMousemoveListenerFn;removeWindowTouchmoveListenerFn;removeWindowMouseupListenerFn;removeWindowTouchendListenerFn;removeEmptyCellDragoverListenerFn;removeDocumentDragendListenerFn;constructor(e){this.gridster=e}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(),this.gridster.movingItem=null,this.initialItem=this.gridster=null,this.removeDocumentDragendListenerFn&&(this.removeDocumentDragendListenerFn(),this.removeDocumentDragendListenerFn=null)}updateOptions(){this.gridster.$options.enableEmptyCellClick&&!this.removeEmptyCellClickListenerFn&&this.gridster.options.emptyCellClickCallback?(this.removeEmptyCellClickListenerFn=this.gridster.renderer.listen(this.gridster.el,"click",this.emptyCellClickCb),this.removeEmptyCellTouchendListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchend",this.emptyCellClickCb)):!this.gridster.$options.enableEmptyCellClick&&this.removeEmptyCellClickListenerFn&&this.removeEmptyCellTouchendListenerFn&&(this.removeEmptyCellClickListenerFn(),this.removeEmptyCellTouchendListenerFn(),this.removeEmptyCellClickListenerFn=null,this.removeEmptyCellTouchendListenerFn=null),this.gridster.$options.enableEmptyCellContextMenu&&!this.removeEmptyCellContextMenuListenerFn&&this.gridster.options.emptyCellContextMenuCallback?this.removeEmptyCellContextMenuListenerFn=this.gridster.renderer.listen(this.gridster.el,"contextmenu",this.emptyCellContextMenuCb):!this.gridster.$options.enableEmptyCellContextMenu&&this.removeEmptyCellContextMenuListenerFn&&(this.removeEmptyCellContextMenuListenerFn(),this.removeEmptyCellContextMenuListenerFn=null),this.gridster.$options.enableEmptyCellDrop&&!this.removeEmptyCellDropListenerFn&&this.gridster.options.emptyCellDropCallback?(this.removeEmptyCellDropListenerFn=this.gridster.renderer.listen(this.gridster.el,"drop",this.emptyCellDragDrop),this.gridster.zone.runOutsideAngular(()=>{this.removeEmptyCellDragoverListenerFn=this.gridster.renderer.listen(this.gridster.el,"dragover",this.emptyCellDragOver)}),this.removeDocumentDragendListenerFn=this.gridster.renderer.listen("document","dragend",()=>{this.gridster.movingItem=null,this.gridster.previewStyle()})):!this.gridster.$options.enableEmptyCellDrop&&this.removeEmptyCellDropListenerFn&&this.removeEmptyCellDragoverListenerFn&&this.removeDocumentDragendListenerFn&&(this.removeEmptyCellDropListenerFn(),this.removeEmptyCellDragoverListenerFn(),this.removeDocumentDragendListenerFn(),this.removeEmptyCellDragoverListenerFn=null,this.removeEmptyCellDropListenerFn=null,this.removeDocumentDragendListenerFn=null),this.gridster.$options.enableEmptyCellDrag&&!this.removeEmptyCellMousedownListenerFn&&this.gridster.options.emptyCellDragCallback?(this.removeEmptyCellMousedownListenerFn=this.gridster.renderer.listen(this.gridster.el,"mousedown",this.emptyCellMouseDown),this.removeEmptyCellTouchstartListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchstart",this.emptyCellMouseDown)):!this.gridster.$options.enableEmptyCellDrag&&this.removeEmptyCellMousedownListenerFn&&this.removeEmptyCellTouchstartListenerFn&&(this.removeEmptyCellMousedownListenerFn(),this.removeEmptyCellTouchstartListenerFn(),this.removeEmptyCellMousedownListenerFn=null,this.removeEmptyCellTouchstartListenerFn=null)}emptyCellClickCb=e=>{if(!this.gridster||this.gridster.movingItem||O.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellClickCallback&&this.gridster.options.emptyCellClickCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellContextMenuCb=e=>{if(this.gridster.movingItem||O.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellContextMenuCallback&&this.gridster.options.emptyCellContextMenuCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellDragDrop=e=>{let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellDropCallback&&this.gridster.options.emptyCellDropCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellDragOver=e=>{e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);t?(e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.gridster.movingItem=t):(e.dataTransfer&&(e.dataTransfer.dropEffect="none"),this.gridster.movingItem=null),this.gridster.previewStyle()};emptyCellMouseDown=e=>{if(O.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);!t||e.buttons!==1&&!(e instanceof TouchEvent)||(this.initialItem=t,this.gridster.movingItem=t,this.gridster.previewStyle(),this.gridster.zone.runOutsideAngular(()=>{this.removeWindowMousemoveListenerFn=this.gridster.renderer.listen("window","mousemove",this.emptyCellMouseMove),this.removeWindowTouchmoveListenerFn=this.gridster.renderer.listen("window","touchmove",this.emptyCellMouseMove)}),this.removeWindowMouseupListenerFn=this.gridster.renderer.listen("window","mouseup",this.emptyCellMouseUp),this.removeWindowTouchendListenerFn=this.gridster.renderer.listen("window","touchend",this.emptyCellMouseUp))};emptyCellMouseMove=e=>{e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e,this.initialItem);t&&(this.gridster.movingItem=t,this.gridster.previewStyle())};emptyCellMouseUp=e=>{this.removeWindowMousemoveListenerFn(),this.removeWindowTouchmoveListenerFn(),this.removeWindowMouseupListenerFn(),this.removeWindowTouchendListenerFn();let t=this.getValidItemFromEvent(e,this.initialItem);t&&(this.gridster.movingItem=t),this.gridster.options.emptyCellDragCallback&&this.gridster.movingItem&&this.gridster.options.emptyCellDragCallback(e,this.gridster.movingItem),setTimeout(()=>{this.initialItem=null,this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())}),this.gridster.cdRef.markForCheck()};getPixelsX(e,t){let i=this.gridster.options.scale;return i?(e.clientX-t.left)/i+this.gridster.el.scrollLeft-this.gridster.gridRenderer.getLeftMargin():e.clientX+this.gridster.el.scrollLeft-t.left-this.gridster.gridRenderer.getLeftMargin()}getPixelsY(e,t){let i=this.gridster.options.scale;return i?(e.clientY-t.top)/i+this.gridster.el.scrollTop-this.gridster.gridRenderer.getTopMargin():e.clientY+this.gridster.el.scrollTop-t.top-this.gridster.gridRenderer.getTopMargin()}getValidItemFromEvent(e,t){e.preventDefault(),e.stopPropagation(),O.checkTouchEvent(e);let i=this.gridster.el.getBoundingClientRect(),s=this.getPixelsX(e,i),o=this.getPixelsY(e,i),r={x:this.gridster.pixelsToPositionX(s,Math.floor,!0),y:this.gridster.pixelsToPositionY(o,Math.floor,!0),cols:this.gridster.$options.defaultItemCols,rows:this.gridster.$options.defaultItemRows};if(t&&(r.cols=Math.min(Math.abs(t.x-r.x)+1,this.gridster.$options.emptyCellDragMaxCols),r.rows=Math.min(Math.abs(t.y-r.y)+1,this.gridster.$options.emptyCellDragMaxRows),t.x<r.x?r.x=t.x:t.x-r.x>this.gridster.$options.emptyCellDragMaxCols-1&&(r.x=this.gridster.movingItem?this.gridster.movingItem.x:0),t.y<r.y?r.y=t.y:t.y-r.y>this.gridster.$options.emptyCellDragMaxRows-1&&(r.y=this.gridster.movingItem?this.gridster.movingItem.y:0)),!(!this.gridster.$options.enableOccupiedCellDrop&&this.gridster.checkCollision(r)))return r}},ye=class{gridster;lastGridColumnStyles={};lastGridRowStyles={};constructor(e){this.gridster=e}destroy(){this.gridster=null}updateItem(e,t,i){if(this.gridster.mobile)this.clearCellPosition(i,e),this.gridster.$options.keepFixedHeightInMobile?i.setStyle(e,"height",(t.rows-1)*this.gridster.$options.margin+t.rows*this.gridster.$options.fixedRowHeight+"px"):i.setStyle(e,"height",t.rows*this.gridster.curWidth/t.cols+"px"),this.gridster.$options.keepFixedWidthInMobile?i.setStyle(e,"width",this.gridster.$options.fixedColWidth+"px"):i.setStyle(e,"width",""),i.setStyle(e,"margin-bottom",this.gridster.$options.margin+"px"),i.setStyle(e,E.LTR?"margin-right":"margin-left","");else{let s=Math.round(this.gridster.curColWidth*t.x),o=Math.round(this.gridster.curRowHeight*t.y),r=this.gridster.curColWidth*t.cols-this.gridster.$options.margin,d=this.gridster.curRowHeight*t.rows-this.gridster.$options.margin;this.setCellPosition(i,e,s,o),i.setStyle(e,"width",r+"px"),i.setStyle(e,"height",d+"px");let y=null,f=null;this.gridster.$options.outerMargin&&(this.gridster.rows===t.rows+t.y&&(this.gridster.$options.outerMarginBottom!==null?y=this.gridster.$options.outerMarginBottom+"px":y=this.gridster.$options.margin+"px"),this.gridster.columns===t.cols+t.x&&(this.gridster.$options.outerMarginBottom!==null?f=this.gridster.$options.outerMarginRight+"px":f=this.gridster.$options.margin+"px")),i.setStyle(e,"margin-bottom",y),i.setStyle(e,this.gridster.$options.dirType===E.LTR?"margin-right":"margin-left",f)}}updateGridster(){let e="",t="",i="",s="";if(this.gridster.$options.gridType===u.Fit)e=u.Fit,t=u.ScrollVertical,i=u.ScrollHorizontal,s=u.Fixed;else if(this.gridster.$options.gridType===u.ScrollVertical)this.gridster.curRowHeight=this.gridster.curColWidth*this.gridster.$options.rowHeightRatio,e=u.ScrollVertical,t=u.Fit,i=u.ScrollHorizontal,s=u.Fixed;else if(this.gridster.$options.gridType===u.ScrollHorizontal){let o=this.gridster.$options.rowHeightRatio,r=o>=1?o:o+1;this.gridster.curColWidth=this.gridster.curRowHeight*r,e=u.ScrollHorizontal,t=u.Fit,i=u.ScrollVertical,s=u.Fixed}else this.gridster.$options.gridType===u.Fixed?(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=u.Fixed,t=u.Fit,i=u.ScrollVertical,s=u.ScrollHorizontal):this.gridster.$options.gridType===u.VerticalFixed?(this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=u.ScrollVertical,t=u.Fit,i=u.ScrollHorizontal,s=u.Fixed):this.gridster.$options.gridType===u.HorizontalFixed&&(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=u.ScrollHorizontal,t=u.Fit,i=u.ScrollVertical,s=u.Fixed);this.gridster.mobile||this.gridster.$options.setGridSize&&this.gridster.$options.gridType!==u.Fit?this.gridster.renderer.removeClass(this.gridster.el,e):this.gridster.renderer.addClass(this.gridster.el,e),this.gridster.renderer.removeClass(this.gridster.el,t),this.gridster.renderer.removeClass(this.gridster.el,i),this.gridster.renderer.removeClass(this.gridster.el,s)}getGridColumnStyle(e){let t={left:this.gridster.curColWidth*e,width:this.gridster.curColWidth-this.gridster.$options.margin,height:this.gridster.gridRows.length*this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=G(S({},this.getLeftPosition(t.left)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridColumnStyles[e];return i&&i.left===t.left&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridColumnStyles[e]=t,t.style)}getGridRowStyle(e){let t={top:this.gridster.curRowHeight*e,width:this.gridster.gridColumns.length*this.gridster.curColWidth+this.gridster.$options.margin,height:this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=G(S({},this.getTopPosition(t.top)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridRowStyles[e];return i&&i.top===t.top&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridRowStyles[e]=t,t.style)}getLeftPosition(e){let t=this.gridster.$options.dirType===E.RTL?-e:e;return this.gridster.$options.useTransformPositioning?{transform:"translateX("+t+"px)"}:{left:this.getLeftMargin()+t+"px"}}getTopPosition(e){return this.gridster.$options.useTransformPositioning?{transform:"translateY("+e+"px)"}:{top:this.getTopMargin()+e+"px"}}clearCellPosition(e,t){this.gridster.$options.useTransformPositioning?e.setStyle(t,"transform",""):(e.setStyle(t,"top",""),e.setStyle(t,"left",""))}setCellPosition(e,t,i,s){let o=this.gridster.$options.dirType===E.RTL?-i:i;if(this.gridster.$options.useTransformPositioning){let r="translate3d("+o+"px, "+s+"px, 0)";e.setStyle(t,"transform",r)}else e.setStyle(t,"left",this.getLeftMargin()+o+"px"),e.setStyle(t,"top",this.getTopMargin()+s+"px")}getLeftMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginLeft!==null?this.gridster.$options.outerMarginLeft:this.gridster.$options.margin:0}getTopMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginTop!==null?this.gridster.$options.outerMarginTop:this.gridster.$options.margin:0}},fe=(()=>{class n{renderer;gridRenderer;el;constructor(t,i){this.renderer=i,this.el=t.nativeElement}previewStyle(t){t?(this.renderer.setStyle(this.el,"display","block"),this.gridRenderer.updateItem(this.el,t,this.renderer)):this.renderer.setStyle(this.el,"display","")}static \u0275fac=function(i){return new(i||n)(Q(Et),Q(Rt))};static \u0275cmp=k({type:n,selectors:[["gridster-preview"]],inputs:{gridRenderer:"gridRenderer"},decls:0,vars:0,template:function(i,s){},styles:[`gridster-preview{position:absolute;display:none;background:#00000026}
2
+ `],encapsulation:2})}return n})(),be=(()=>{class n{renderer;cdRef;zone;gridsterPreview=Ae.required(fe);options;movingItem;el;$options;mobile;curWidth;curHeight;grid;columns=0;rows=0;curColWidth;curRowHeight;gridColumns=[];gridRows=[];windowResize;dragInProgress;emptyCell;compact;gridRenderer;calculateLayout$=new At;resize$=new At;destroy$=new At;constructor(t,i,s,o){this.renderer=i,this.cdRef=s,this.zone=o,this.el=t.nativeElement,this.$options=JSON.parse(JSON.stringify(Fi)),this.mobile=!1,this.curWidth=0,this.curHeight=0,this.grid=[],this.curColWidth=0,this.curRowHeight=0,this.dragInProgress=!1,this.emptyCell=new we(this),this.compact=new Ce(this),this.gridRenderer=new ye(this)}static checkCollisionTwoItemsForSwaping(t,i){let s=t.cols===1?0:1,o=i.cols===1?0:1,r=t.rows===1?0:1,d=i.rows===1?0:1;return t.x+s<i.x+i.cols&&t.x+t.cols>i.x+o&&t.y+r<i.y+i.rows&&t.y+t.rows>i.y+d}checkCollisionTwoItems(t,i){if(!(t.x<i.x+i.cols&&t.x+t.cols>i.x&&t.y<i.y+i.rows&&t.y+t.rows>i.y))return!1;if(!this.$options.allowMultiLayer)return!0;let o=this.$options.defaultLayerIndex,r=t.layerIndex===void 0?o:t.layerIndex,d=i.layerIndex===void 0?o:i.layerIndex;return r===d}ngOnInit(){this.options.initCallback&&this.options.initCallback(this),this.calculateLayout$.pipe(Pe(0),ce(this.destroy$)).subscribe(()=>this.calculateLayout()),this.resize$.pipe(Se(()=>ke(100)),ce(this.destroy$)).subscribe(()=>this.resize())}ngOnChanges(t){t.options&&(this.setOptions(),this.options.api={optionsChanged:this.optionsChanged,resize:this.onResize,getNextPossiblePosition:this.getNextPossiblePosition,getFirstPossiblePosition:this.getFirstPossiblePosition,getLastPossiblePosition:this.getLastPossiblePosition,getItemComponent:i=>this.getItemComponent(i)},this.columns=this.$options.minCols,this.rows=this.$options.minRows+this.$options.addEmptyRowsCount,this.setGridSize(),this.calculateLayout())}resize(){let t,i;this.$options.gridType==="fit"&&!this.mobile?(i=this.el.offsetWidth,t=this.el.offsetHeight):(i=this.el.clientWidth,t=this.el.clientHeight),(i!==this.curWidth||t!==this.curHeight)&&this.checkIfToResize()&&this.onResize()}setOptions(){this.$options=O.merge(this.$options,this.options,this.$options),!this.$options.disableWindowResize&&!this.windowResize?this.windowResize=this.renderer.listen("window","resize",this.onResize):this.$options.disableWindowResize&&this.windowResize&&(this.windowResize(),this.windowResize=null),this.emptyCell.updateOptions()}optionsChanged=()=>{this.setOptions();let t=this.grid.length-1,i;for(;t>=0;t--)i=this.grid[t],i.updateOptions();this.calculateLayout()};ngOnDestroy(){this.destroy$.next(),this.windowResize&&this.windowResize(),this.options&&this.options.destroyCallback&&this.options.destroyCallback(this),this.options&&this.options.api&&(this.options.api.resize=void 0,this.options.api.optionsChanged=void 0,this.options.api.getNextPossiblePosition=void 0,this.options.api=void 0),this.emptyCell.destroy(),this.emptyCell=null,this.compact.destroy(),this.compact=null}onResize=()=>{this.el.clientWidth&&(this.options.setGridSize&&(this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.setGridSize(),this.calculateLayout())};checkIfToResize(){let t=this.el.clientWidth,i=this.el.offsetWidth,s=this.el.scrollWidth,o=this.el.clientHeight,r=this.el.offsetHeight,d=this.el.scrollHeight,y=t<i&&d>r&&d-r<i-t,f=o<r&&s>i&&s-i<r-o;return y?!1:!f}checkIfMobile(){return this.$options.useBodyForBreakpoint?this.$options.mobileBreakpoint>document.body.clientWidth:this.$options.mobileBreakpoint>this.curWidth}setGridSize(){let t=this.el,i,s;this.$options.setGridSize||this.$options.gridType===u.Fit&&!this.mobile?(i=t.offsetWidth,s=t.offsetHeight):(i=t.clientWidth,s=t.clientHeight),this.curWidth=i,this.curHeight=s}setGridDimensions(){this.setGridSize(),!this.mobile&&this.checkIfMobile()?(this.mobile=!this.mobile,this.renderer.addClass(this.el,"mobile")):this.mobile&&!this.checkIfMobile()&&(this.mobile=!this.mobile,this.renderer.removeClass(this.el,"mobile"));let t=this.$options.minRows,i=this.$options.minCols,s=this.grid.length-1,o;for(;s>=0;s--)o=this.grid[s],o.notPlaced||(t=Math.max(t,o.$item.y+o.$item.rows),i=Math.max(i,o.$item.x+o.$item.cols));t+=this.$options.addEmptyRowsCount,(this.columns!==i||this.rows!==t)&&(this.columns=i,this.rows=t,this.options.gridSizeChangedCallback&&this.options.gridSizeChangedCallback(this))}calculateLayout(){if(this.compact&&this.compact.checkCompact(),this.setGridDimensions(),this.$options.outerMargin){let s=-this.$options.margin;this.$options.outerMarginLeft!==null?(s+=this.$options.outerMarginLeft,this.renderer.setStyle(this.el,"padding-left",this.$options.outerMarginLeft+"px")):(s+=this.$options.margin,this.renderer.setStyle(this.el,"padding-left",this.$options.margin+"px")),this.$options.outerMarginRight!==null?(s+=this.$options.outerMarginRight,this.renderer.setStyle(this.el,"padding-right",this.$options.outerMarginRight+"px")):(s+=this.$options.margin,this.renderer.setStyle(this.el,"padding-right",this.$options.margin+"px")),this.curColWidth=(this.curWidth-s)/this.columns;let o=-this.$options.margin;this.$options.outerMarginTop!==null?(o+=this.$options.outerMarginTop,this.renderer.setStyle(this.el,"padding-top",this.$options.outerMarginTop+"px")):(o+=this.$options.margin,this.renderer.setStyle(this.el,"padding-top",this.$options.margin+"px")),this.$options.outerMarginBottom!==null?(o+=this.$options.outerMarginBottom,this.renderer.setStyle(this.el,"padding-bottom",this.$options.outerMarginBottom+"px")):(o+=this.$options.margin,this.renderer.setStyle(this.el,"padding-bottom",this.$options.margin+"px")),this.curRowHeight=(this.curHeight-o)/this.rows*this.$options.rowHeightRatio}else this.curColWidth=(this.curWidth+this.$options.margin)/this.columns,this.curRowHeight=(this.curHeight+this.$options.margin)/this.rows*this.$options.rowHeightRatio,this.renderer.setStyle(this.el,"padding-left","0px"),this.renderer.setStyle(this.el,"padding-right","0px"),this.renderer.setStyle(this.el,"padding-top","0px"),this.renderer.setStyle(this.el,"padding-bottom","0px");this.gridRenderer.updateGridster(),this.$options.setGridSize?(this.renderer.addClass(this.el,"gridSize"),this.mobile||(this.renderer.setStyle(this.el,"width",this.columns*this.curColWidth+this.$options.margin+"px"),this.renderer.setStyle(this.el,"height",this.rows*this.curRowHeight+this.$options.margin+"px"))):(this.renderer.removeClass(this.el,"gridSize"),this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.updateGrid();let t=this.grid.length-1,i;for(;t>=0;t--)i=this.grid[t],i.setSize(),i.drag.toggle(),i.resize.toggle();this.resize$.next()}updateGrid(){this.$options.displayGrid==="always"&&!this.mobile?this.renderer.addClass(this.el,"display-grid"):this.$options.displayGrid==="onDrag&Resize"&&this.dragInProgress?this.renderer.addClass(this.el,"display-grid"):(this.$options.displayGrid==="none"||!this.dragInProgress||this.mobile)&&this.renderer.removeClass(this.el,"display-grid"),this.setGridDimensions(),this.gridColumns.length=n.getNewArrayLength(this.columns,this.curWidth,this.curColWidth),this.gridRows.length=n.getNewArrayLength(this.rows,this.curHeight,this.curRowHeight),this.cdRef.markForCheck()}addItem(t){t.$item.cols===void 0&&(t.$item.cols=this.$options.defaultItemCols,t.item.cols=t.$item.cols,t.itemChanged()),t.$item.rows===void 0&&(t.$item.rows=this.$options.defaultItemRows,t.item.rows=t.$item.rows,t.itemChanged()),t.$item.x===-1||t.$item.y===-1?this.autoPositionItem(t):this.checkCollision(t.$item)&&(this.$options.disableWarnings||(t.notPlaced=!0,console.warn("Can't be placed in the bounds of the dashboard, trying to auto position!/n"+JSON.stringify(t.item,["cols","rows","x","y"]))),this.$options.disableAutoPositionOnConflict?t.notPlaced=!0:this.autoPositionItem(t)),this.grid.push(t),this.calculateLayout$.next()}removeItem(t){this.grid.splice(this.grid.indexOf(t),1),this.calculateLayout$.next(),this.options.itemRemovedCallback&&this.options.itemRemovedCallback(t.item,t),this.movingItem&&this.movingItem===t.$item&&(this.movingItem=null,this.previewStyle())}checkCollision(t,i){let s=!1;if(this.options.itemValidateCallback&&(s=!this.options.itemValidateCallback(t)),!s&&this.checkGridCollision(t,i)&&(s=!0),!s){let o=this.findItemWithItem(t);o&&(s=o)}return s}checkGridCollision(t,i=!1){let s=t.y>-1&&t.x>-1,o=t.cols+t.x<=this.$options.maxCols,r=t.rows+t.y<=this.$options.maxRows,d=t.maxItemCols===void 0?this.$options.maxItemCols:t.maxItemCols,y=t.minItemCols===void 0?this.$options.minItemCols:t.minItemCols,f=t.maxItemRows===void 0?this.$options.maxItemRows:t.maxItemRows,$=t.minItemRows===void 0?this.$options.minItemRows:t.minItemRows,x=t.cols<=d&&t.cols>=y,I=t.rows<=f&&t.rows>=$,Z=!0;if(i){let wt=t.itemAspectRatio||this.$options.itemAspectRatio;wt&&(Z=t.cols/t.rows===wt)}let ft=t.minItemArea===void 0?this.$options.minItemArea:t.minItemArea,Ct=t.maxItemArea===void 0?this.$options.maxItemArea:t.maxItemArea,tt=t.cols*t.rows,at=ft<=tt,vt=Ct>=tt;return!(s&&o&&r&&Z&&x&&I&&at&&vt)}findItemWithItem(t){let i=0,s;for(;i<this.grid.length;i++)if(s=this.grid[i],s.$item!==t&&this.checkCollisionTwoItems(s.$item,t))return s;return!1}findItemsWithItem(t){let i=[],s=0,o;for(;s<this.grid.length;s++)o=this.grid[s],o.$item!==t&&this.checkCollisionTwoItems(o.$item,t)&&i.push(o);return i}autoPositionItem(t){this.getNextPossiblePosition(t.$item)?(t.notPlaced=!1,t.item.x=t.$item.x,t.item.y=t.$item.y,t.itemChanged()):(t.notPlaced=!0,this.$options.disableWarnings||console.warn("Can't be placed in the bounds of the dashboard!/n"+JSON.stringify(t.item,["cols","rows","x","y"])))}getNextPossiblePosition=(t,i={})=>{t.cols===-1&&(t.cols=this.$options.defaultItemCols),t.rows===-1&&(t.rows=this.$options.defaultItemRows),this.setGridDimensions();let s=i.y||0,o;for(;s<this.rows;s++)for(t.y=s,o=i.x||0;o<this.columns;o++)if(t.x=o,!this.checkCollision(t))return!0;let r=this.$options.maxRows>=this.rows+t.rows,d=this.$options.maxCols>=this.columns+t.cols;return!(this.rows<=this.columns&&r)&&d?(t.x=this.columns,t.y=0,!0):r?(t.y=this.rows,t.x=0,!0):!1};getFirstPossiblePosition=t=>{let i=Object.assign({},t);return this.getNextPossiblePosition(i),i};getLastPossiblePosition=t=>{let i={y:0,x:0};i=this.grid.reduce((o,r)=>{let d={y:r.$item.y+r.$item.rows-1,x:r.$item.x+r.$item.cols-1};return O.compareItems(o,d)===1?d:o},i);let s=Object.assign({},t);return this.getNextPossiblePosition(s,i),s};pixelsToPositionX(t,i,s){let o=i(t/this.curColWidth);return s?o:Math.max(o,0)}pixelsToPositionY(t,i,s){let o=i(t/this.curRowHeight);return s?o:Math.max(o,0)}positionXToPixels(t){return t*this.curColWidth}positionYToPixels(t){return t*this.curRowHeight}getItemComponent(t){return this.grid.find(i=>i.item===t)}checkCollisionForSwaping(t){let i=!1;if(this.options.itemValidateCallback&&(i=!this.options.itemValidateCallback(t)),!i&&this.checkGridCollision(t)&&(i=!0),!i){let s=this.findItemWithItemForSwapping(t);s&&(i=s)}return i}findItemWithItemForSwapping(t){let i=this.grid.length-1,s;for(;i>-1;i--)if(s=this.grid[i],s.$item!==t&&n.checkCollisionTwoItemsForSwaping(s.$item,t))return s;return!1}previewStyle(t=!1){let i=this.gridsterPreview();this.movingItem?(this.compact&&t&&this.compact.checkCompactItem(this.movingItem),i.previewStyle(this.movingItem)):i.previewStyle(null)}static getNewArrayLength(t,i,s){let o=Math.max(t,Math.floor(i/s));return o<0?0:Number.isFinite(o)?Math.floor(o):0}static \u0275fac=function(i){return new(i||n)(Q(Et),Q(Rt),Q(Yt),Q(pe))};static \u0275cmp=k({type:n,selectors:[["gridster"]],viewQuery:function(i,s){i&1&&We(s.gridsterPreview,fe,5),i&2&&Oe()},inputs:{options:"options"},features:[ot],ngContentSelectors:mi,decls:6,vars:1,consts:[[1,"gridster-column",3,"ngStyle"],[1,"gridster-row",3,"ngStyle"],[1,"gridster-preview",3,"gridRenderer"]],template:function(i,s){i&1&&(Ft(),K(0,zi,1,1,"div",0,ge),K(2,Mi,1,1,"div",1,ge),It(4),p(5,"gridster-preview",2)),i&2&&(q(s.gridColumns),h(2),q(s.gridRows),h(3),c("gridRenderer",s.gridRenderer))},dependencies:[Xe,fe],styles:[`gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}
3
+ `],encapsulation:2})}return n})(),ie=class{fromSouth;fromNorth;fromEast;fromWest;pushedItems;pushedItemsTemp;pushedItemsTempPath;pushedItemsPath;gridsterItem;gridster;pushedItemsOrder;tryPattern;iteration=0;constructor(e){this.pushedItems=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],this.pushedItemsPath=[],this.gridsterItem=e,this.gridster=e.gridster,this.tryPattern={fromEast:[this.tryWest,this.trySouth,this.tryNorth,this.tryEast],fromWest:[this.tryEast,this.trySouth,this.tryNorth,this.tryWest],fromNorth:[this.trySouth,this.tryEast,this.tryWest,this.tryNorth],fromSouth:[this.tryNorth,this.tryEast,this.tryWest,this.trySouth]},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(e,t){if(this.gridster.$options.pushItems&&!t){this.pushedItemsOrder=[],this.iteration=0;let i=this.push(this.gridsterItem,e);return i||this.restoreTempItems(),this.pushedItemsOrder=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],i}else return!1}restoreTempItems(){let e=this.pushedItemsTemp.length-1;for(;e>-1;e--)this.removeFromTempPushed(this.pushedItemsTemp[e])}restoreItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.$item.x=i.item.x||0,i.$item.y=i.item.y||0,i.setSize();this.pushedItems=[],this.pushedItemsPath=[]}setPushedItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.checkItemChanges(i.$item,i.item);this.pushedItems=[],this.pushedItemsPath=[]}checkPushBack(){let e=this.pushedItems.length-1,t=!1;for(;e>-1;e--)this.checkPushedItem(this.pushedItems[e],e)&&(t=!0);t&&this.checkPushBack()}push(e,t){if(this.iteration>100)return console.warn("max iteration reached"),!1;if(this.gridster.checkGridCollision(e.$item)||t==="")return!1;let i=this.gridster.findItemsWithItem(e.$item),s=t===this.fromNorth||t===this.fromWest;i.sort((f,$)=>s?$.$item.y-f.$item.y||$.$item.x-f.$item.x:f.$item.y-$.$item.y||f.$item.x-$.$item.x);let o=0,r,d=!0,y=[];for(;o<i.length;o++){if(r=i[o],r===this.gridsterItem)continue;if(!r.canBeDragged()){d=!1;break}let f=this.pushedItemsTemp.indexOf(r);if(f>-1&&this.pushedItemsTempPath[f].length>10){d=!1;break}if(this.tryPattern[t][0].call(this,r,e))this.pushedItemsOrder.push(r),y.push(r);else if(this.tryPattern[t][1].call(this,r,e))this.pushedItemsOrder.push(r),y.push(r);else if(this.tryPattern[t][2].call(this,r,e))this.pushedItemsOrder.push(r),y.push(r);else if(this.tryPattern[t][3].call(this,r,e))this.pushedItemsOrder.push(r),y.push(r);else{d=!1;break}}if(!d&&(o=this.pushedItemsOrder.lastIndexOf(y[0]),o>-1)){let f=this.pushedItemsOrder.length-1;for(;f>=o;f--)r=this.pushedItemsOrder[f],this.pushedItemsOrder.pop(),this.removeFromTempPushed(r),this.removeFromPushedItem(r)}return this.iteration++,d}trySouth(e,t){return this.gridster.$options.pushDirections.south?(this.addToTempPushed(e),e.$item.y=t.$item.y+t.$item.rows,this.push(e,this.fromNorth)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryNorth(e,t){return this.gridster.$options.pushDirections.north?(this.addToTempPushed(e),e.$item.y=t.$item.y-e.$item.rows,this.push(e,this.fromSouth)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryEast(e,t){return this.gridster.$options.pushDirections.east?(this.addToTempPushed(e),e.$item.x=t.$item.x+t.$item.cols,this.push(e,this.fromWest)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryWest(e,t){return this.gridster.$options.pushDirections.west?(this.addToTempPushed(e),e.$item.x=t.$item.x-e.$item.cols,this.push(e,this.fromEast)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}addToTempPushed(e){let t=this.pushedItemsTemp.indexOf(e);t===-1&&(t=this.pushedItemsTemp.push(e)-1,this.pushedItemsTempPath[t]=[]),this.pushedItemsTempPath[t].push({x:e.$item.x,y:e.$item.y})}removeFromTempPushed(e){let t=this.pushedItemsTemp.indexOf(e),i=this.pushedItemsTempPath[t].pop();i&&(e.$item.x=i.x,e.$item.y=i.y,e.setSize(),this.pushedItemsTempPath[t].length||(this.pushedItemsTemp.splice(t,1),this.pushedItemsTempPath.splice(t,1)))}addToPushed(e){if(this.pushedItems.indexOf(e)<0)this.pushedItems.push(e),this.pushedItemsPath.push([{x:e.item.x||0,y:e.item.y||0},{x:e.$item.x,y:e.$item.y}]);else{let t=this.pushedItems.indexOf(e);this.pushedItemsPath[t].push({x:e.$item.x,y:e.$item.y})}}removeFromPushed(e){e>-1&&(this.pushedItems.splice(e,1),this.pushedItemsPath.splice(e,1))}removeFromPushedItem(e){let t=this.pushedItems.indexOf(e);t>-1&&(this.pushedItemsPath[t].pop(),this.pushedItemsPath.length||(this.pushedItems.splice(t,1),this.pushedItemsPath.splice(t,1)))}checkPushedItem(e,t){let i=this.pushedItemsPath[t],s=i.length-2,o,r,d,y=!1;for(;s>-1;s--)o=i[s],r=e.$item.x,d=e.$item.y,e.$item.x=o.x,e.$item.y=o.y,this.gridster.findItemWithItem(e.$item)?(e.$item.x=r,e.$item.y=d):(e.setSize(),i.splice(s+1,i.length-s-1),y=!0);return i.length<2&&this.removeFromPushed(t),y}},Wt,Nt,ci=50,J,Ot,lt,Lt,Bt,Vt,Ht;function pi(n,e,t,i,s,o,r,d,y,f){Wt=n.$options.scrollSensitivity,Nt=n.$options.scrollSpeed,J=n.el,Ot=y,lt=f;let $=J.offsetWidth,x=J.offsetHeight,I=J.scrollLeft,Z=J.scrollTop,ft=t-Z,Ct=x+Z-t-s,{clientX:tt,clientY:at}=o;if(!n.$options.disableScrollVertical)if(r.clientY<at&&Ct<Wt){if(wi(),Ot&&lt&&!lt.south||Ht)return;Ht=di(1,d,r)}else if(r.clientY>at&&Z>0&&ft<Wt){if(Ci(),Ot&&lt&&!lt.north||Vt)return;Vt=di(-1,d,r)}else r.clientY!==at&&Me();let vt=I+$-e-i,wt=e-I;if(!n.$options.disableScrollHorizontal){let yt=n.$options.dirType===E.RTL,Te=r.clientX<tt,$e=r.clientX>tt,vi=yt?$e:Te,_i=yt?Te:$e;if(vi&&vt<=Wt){if(fi(),Ot&&lt&&!lt.east||Lt)return;Lt=hi(1,d,r,yt)}else if(_i&&I>0&&wt<Wt){if(ui(),Ot&&lt&&!lt.west||Bt)return;Bt=hi(-1,d,r,yt)}else r.clientX!==tt&&ze()}}function di(n,e,t){let i=t.clientY;return window.setInterval(()=>{(!J||n===-1&&J.scrollTop-Nt<0)&&Me(),J.scrollTop+=n*Nt,i+=n*Nt,e({clientX:t.clientX,clientY:i})},ci)}function hi(n,e,t,i){let s=t.clientX;return window.setInterval(()=>{if(!J){ze();return}let o=n*Nt,r=i?-o:o;J.scrollBy({left:r,behavior:"auto"}),s+=r,e({clientX:s,clientY:t.clientY})},ci)}function gi(){ze(),Me(),J=null}function ze(){ui(),fi()}function Me(){wi(),Ci()}function ui(){Lt&&(clearInterval(Lt),Lt=0)}function fi(){Bt&&(clearInterval(Bt),Bt=0)}function Ci(){Ht&&(clearInterval(Ht),Ht=0)}function wi(){Vt&&(clearInterval(Vt),Vt=0)}var xe=class{swapedItem;gridsterItem;gridster;constructor(e){this.gridsterItem=e,this.gridster=e.gridster}destroy(){this.gridster=this.gridsterItem=this.swapedItem=null}swapItems(){this.gridster.$options.swap&&(this.checkSwapBack(),this.checkSwap(this.gridsterItem))}checkSwapBack(){if(this.swapedItem){let e=this.swapedItem.$item.x,t=this.swapedItem.$item.y;this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.gridster.checkCollision(this.swapedItem.$item)?(this.swapedItem.$item.x=e,this.swapedItem.$item.y=t):(this.swapedItem.setSize(),this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.swapedItem=void 0)}}restoreSwapItem(){this.swapedItem&&(this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.swapedItem.setSize(),this.swapedItem=void 0)}setSwapItem(){this.swapedItem&&(this.swapedItem.checkItemChanges(this.swapedItem.$item,this.swapedItem.item),this.swapedItem=void 0)}checkSwap(e){let t;if(this.gridster.$options.swapWhileDragging?t=this.gridster.checkCollisionForSwaping(e.$item):t=this.gridster.checkCollision(e.$item),t&&t!==!0&&t.canBeDragged()){let i=t,s=i.$item.x,o=i.$item.y,r=e.$item.x,d=e.$item.y,y=r-s,f=d-o;i.$item.x=e.item.x-y,i.$item.y=e.item.y-f,e.$item.x=i.item.x+y,e.$item.y=i.item.y+f,this.gridster.checkCollision(i.$item)||this.gridster.checkCollision(e.$item)?(e.$item.x=r,e.$item.y=d,i.$item.x=s,i.$item.y=o):(i.setSize(),this.swapedItem=i,this.gridster.$options.swapWhileDragging&&(this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.setSwapItem()))}}},Wi="gridster-item-resizable-handler",Y=(function(n){return n.UP="UP",n.DOWN="DOWN",n.LEFT="LEFT",n.RIGHT="RIGHT",n})(Y||{}),ve=class{zone;gridsterItem;gridster;lastMouse;offsetLeft;offsetTop;margin;outerMarginTop;outerMarginRight;outerMarginBottom;outerMarginLeft;diffTop;diffLeft;originalClientX;originalClientY;top;left;height;width;positionX;positionY;positionXBackup;positionYBackup;enabled;mousemove;mouseup;mouseleave;cancelOnBlur;touchmove;touchend;touchcancel;mousedown;touchstart;push;swap;path;collision=!1;constructor(e,t,i){this.zone=i,this.gridsterItem=e,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.path=[]}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(!0),this.gridsterItem=this.gridster=this.collision=null,this.mousedown&&(this.mousedown(),this.touchstart())}dragStart(e){e.which&&e.which!==1||this.gridster.dragInProgress||(this.gridster.options.draggable&&this.gridster.options.draggable.start&&this.gridster.options.draggable.start(this.gridsterItem.item,this.gridsterItem,e),e.stopPropagation(),e.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-moving"),this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.left=this.gridsterItem.left-this.margin,this.top=this.gridsterItem.top-this.margin,this.originalClientX=e.clientX,this.originalClientY=e.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.gridster.$options.dirType===E.RTL?this.diffLeft=e.clientX-this.gridster.el.scrollWidth+this.gridsterItem.left:this.diffLeft=e.clientX+this.offsetLeft-this.margin-this.left,this.diffTop=e.clientY+this.offsetTop-this.margin-this.top,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(!0),this.push=new ie(this.gridsterItem),this.swap=new xe(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid(),this.path.push({x:this.gridsterItem.item.x||0,y:this.gridsterItem.item.y||0}))}dragMove=e=>{e.stopPropagation(),e.preventDefault(),O.checkTouchEvent(e);let t=this.getDirections(e);this.gridster.options.enableBoundaryControl&&(t.includes(Y.UP)&&this.gridsterItem.el.getBoundingClientRect().top<this.gridster.el.getBoundingClientRect().top+(this.outerMarginTop??this.margin)&&(t=t.filter(i=>i!=Y.UP),e=new MouseEvent(e.type,{clientX:e.clientX,clientY:this.lastMouse.clientY})),t.includes(Y.LEFT)&&this.gridsterItem.el.getBoundingClientRect().left<this.gridster.el.getBoundingClientRect().left+(this.outerMarginLeft??this.margin)&&(t=t.filter(i=>i!=Y.LEFT),e=new MouseEvent(e.type,{clientX:this.lastMouse.clientX,clientY:e.clientY})),t.includes(Y.RIGHT)&&this.gridsterItem.el.getBoundingClientRect().right>this.gridster.el.getBoundingClientRect().right-(this.outerMarginRight??this.margin)&&(t=t.filter(i=>i!=Y.RIGHT),e=new MouseEvent(e.type,{clientX:this.lastMouse.clientX,clientY:e.clientY})),t.includes(Y.DOWN)&&this.gridsterItem.el.getBoundingClientRect().bottom>this.gridster.el.getBoundingClientRect().bottom-(this.outerMarginBottom??this.margin)&&(t=t.filter(i=>i!=Y.DOWN),e=new MouseEvent(e.type,{clientX:e.clientX,clientY:this.lastMouse.clientY}))),t.length&&(this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,pi(this.gridster,this.left,this.top,this.width,this.height,e,this.lastMouse,this.calculateItemPositionFromMousePosition),this.calculateItemPositionFromMousePosition(e))};calculateItemPositionFromMousePosition=e=>{this.gridster.options.scale?this.calculateItemPositionWithScale(e,this.gridster.options.scale):this.calculateItemPositionWithoutScale(e),this.calculateItemPosition(),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.zone.run(()=>{this.gridster.updateGrid()})};calculateItemPositionWithScale(e,t){this.gridster.$options.dirType===E.RTL?this.left=this.gridster.el.scrollWidth-this.originalClientX+(e.clientX-this.originalClientX)/t+this.diffLeft:this.left=this.originalClientX+(e.clientX-this.originalClientX)/t+this.offsetLeft-this.diffLeft,this.top=this.originalClientY+(e.clientY-this.originalClientY)/t+this.offsetTop-this.diffTop}calculateItemPositionWithoutScale(e){this.gridster.$options.dirType===E.RTL?this.left=this.gridster.el.offsetWidth-(e.clientX+this.offsetLeft-this.diffLeft):this.left=e.clientX+this.offsetLeft-this.diffLeft,this.top=e.clientY+this.offsetTop-this.diffTop}dragStop=e=>{e.stopPropagation(),e.preventDefault(),gi(),this.cancelOnBlur(),this.mousemove(),this.mouseup(),this.mouseleave(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-moving"),this.gridster.dragInProgress=!1,this.gridster.updateGrid(),this.path=[],this.gridster.options.draggable&&this.gridster.options.draggable.stop?Promise.resolve(this.gridster.options.draggable.stop(this.gridsterItem.item,this.gridsterItem,e)).then(this.makeDrag,this.cancelDrag):this.makeDrag(),setTimeout(()=>{this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle(!0))})};cancelDrag=()=>{this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push&&this.push.restoreItems(),this.swap&&this.swap.restoreSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)};makeDrag=()=>{this.gridster.$options.draggable.dropOverItems&&this.gridster.options.draggable&&this.gridster.options.draggable.dropOverItemsCallback&&this.collision&&this.collision!==!0&&this.collision.$item&&this.gridster.options.draggable.dropOverItemsCallback(this.gridsterItem.item,this.collision.item,this.gridster),this.collision=!1,this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push&&this.push.setPushedItems(),this.swap&&this.swap.setSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)};calculateItemPosition(){if(this.gridster.movingItem=this.gridsterItem.$item,this.positionX=this.gridster.pixelsToPositionX(this.left,Math.round),this.positionY=this.gridster.pixelsToPositionY(this.top,Math.round),this.positionXBackup=this.gridsterItem.$item.x,this.positionYBackup=this.gridsterItem.$item.y,this.gridsterItem.$item.x=this.positionX,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.x=this.positionXBackup),this.gridsterItem.$item.y=this.positionY,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.y=this.positionYBackup),this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,this.top),this.positionXBackup!==this.gridsterItem.$item.x||this.positionYBackup!==this.gridsterItem.$item.y){let e=this.path[this.path.length-1],t="";e.x<this.gridsterItem.$item.x?t=this.push.fromWest:e.x>this.gridsterItem.$item.x?t=this.push.fromEast:e.y<this.gridsterItem.$item.y?t=this.push.fromNorth:e.y>this.gridsterItem.$item.y&&(t=this.push.fromSouth),this.push.pushItems(t,this.gridster.$options.disablePushOnDrag),this.swap.swapItems(),this.collision=this.gridster.checkCollision(this.gridsterItem.$item),this.collision?(this.gridsterItem.$item.x=this.positionXBackup,this.gridsterItem.$item.y=this.positionYBackup,this.gridster.$options.draggable.dropOverItems&&this.collision!==!0&&this.collision.$item&&(this.gridster.movingItem=null)):this.path.push({x:this.gridsterItem.$item.x,y:this.gridsterItem.$item.y}),this.push.checkPushBack()}else this.collision=!1;this.gridster.previewStyle(!0)}toggle(){let e=this.gridsterItem.canBeDragged();!this.enabled&&e?(this.enabled=!this.enabled,this.mousedown=this.gridsterItem.renderer.listen(this.gridsterItem.el,"mousedown",this.dragStartDelay),this.touchstart=this.gridsterItem.renderer.listen(this.gridsterItem.el,"touchstart",this.dragStartDelay)):this.enabled&&!e&&(this.enabled=!this.enabled,this.mousedown(),this.touchstart())}dragStartDelay=e=>{if(e.target.classList.contains(Wi)||O.checkContentClassForEvent(this.gridster,e))return;if(O.checkTouchEvent(e),!this.gridster.$options.draggable.delayStart){this.dragStart(e);return}let i=setTimeout(()=>{this.dragStart(e),x()},this.gridster.$options.draggable.delayStart),s=this.gridsterItem.renderer.listen("document","mouseup",x),o=this.gridsterItem.renderer.listen("document","mouseleave",x),r=this.gridsterItem.renderer.listen("window","blur",x),d=this.gridsterItem.renderer.listen("document","touchmove",$),y=this.gridsterItem.renderer.listen("document","touchend",x),f=this.gridsterItem.renderer.listen("document","touchcancel",x);function $(I){O.checkTouchEvent(I),(Math.abs(I.clientX-e.clientX)>9||Math.abs(I.clientY-e.clientY)>9)&&x()}function x(){clearTimeout(i),r(),s(),o(),d(),y(),f()}};getDirections(e){let t=[];return this.lastMouse.clientX===0&&this.lastMouse.clientY===0&&(this.lastMouse.clientY=e.clientY,this.lastMouse.clientX=e.clientX),this.lastMouse.clientY>e.clientY&&t.push(Y.UP),this.lastMouse.clientY<e.clientY&&t.push(Y.DOWN),this.lastMouse.clientX<e.clientX&&t.push(Y.RIGHT),this.lastMouse.clientX>e.clientX&&t.push(Y.LEFT),t}},_e=class{fromSouth;fromNorth;fromEast;fromWest;pushedItems;pushedItemsPath;gridsterItem;gridster;tryPattern;constructor(e){this.pushedItems=[],this.pushedItemsPath=[],this.gridsterItem=e,this.gridster=e.gridster,this.tryPattern={fromEast:this.tryWest,fromWest:this.tryEast,fromNorth:this.trySouth,fromSouth:this.tryNorth},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(e){return this.gridster.$options.pushResizeItems?this.push(this.gridsterItem,e):!1}restoreItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.$item.x=i.item.x||0,i.$item.y=i.item.y||0,i.$item.cols=i.item.cols||1,i.$item.row=i.item.row||1,i.setSize();this.pushedItems=[],this.pushedItemsPath=[]}setPushedItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.checkItemChanges(i.$item,i.item);this.pushedItems=[],this.pushedItemsPath=[]}checkPushBack(){let e=this.pushedItems.length-1,t=!1;for(;e>-1;e--)this.checkPushedItem(this.pushedItems[e],e)&&(t=!0);t&&this.checkPushBack()}push(e,t){let i=this.gridster.checkCollision(e.$item);if(i&&i!==!0&&i!==this.gridsterItem&&i.canBeResized()){if(this.tryPattern[t].call(this,i,e,t))return!0}else if(i===!1)return!0;return!1}trySouth(e,t,i){let s=e.$item.y,o=e.$item.rows;return e.$item.y=t.$item.y+t.$item.rows,e.$item.rows=o+s-e.$item.y,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.y=s,e.$item.rows=o,!1)}tryNorth(e,t,i){let s=e.$item.rows;return e.$item.rows=t.$item.y-e.$item.y,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.rows=s,!1)}tryEast(e,t,i){let s=e.$item.x,o=e.$item.cols;return e.$item.x=t.$item.x+t.$item.cols,e.$item.cols=o+s-e.$item.x,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.x=s,e.$item.cols=o,!1)}tryWest(e,t,i){let s=e.$item.cols;return e.$item.cols=t.$item.x-e.$item.x,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.cols=s,!1)}addToPushed(e){if(this.pushedItems.indexOf(e)<0)this.pushedItems.push(e),this.pushedItemsPath.push([{x:e.item.x||0,y:e.item.y||0,cols:e.item.cols||0,rows:e.item.rows||0},{x:e.$item.x,y:e.$item.y,cols:e.$item.cols,rows:e.$item.rows}]);else{let t=this.pushedItems.indexOf(e);this.pushedItemsPath[t].push({x:e.$item.x,y:e.$item.y,cols:e.$item.cols,rows:e.$item.rows})}}removeFromPushed(e){e>-1&&(this.pushedItems.splice(e,1),this.pushedItemsPath.splice(e,1))}checkPushedItem(e,t){let i=this.pushedItemsPath[t],s=i.length-2,o,r,d,y,f;for(;s>-1;s--)o=i[s],r=e.$item.x,d=e.$item.y,y=e.$item.cols,f=e.$item.rows,e.$item.x=o.x,e.$item.y=o.y,e.$item.cols=o.cols,e.$item.rows=o.rows,this.gridster.findItemWithItem(e.$item)?(e.$item.x=r,e.$item.y=d,e.$item.cols=y,e.$item.rows=f):(e.setSize(),i.splice(s+1,i.length-1-s));return i.length<2?(this.removeFromPushed(t),!0):!1}},Ie=class{zone;gridsterItem;gridster;lastMouse;itemBackup={x:0,y:0,cols:0,rows:0};resizeEventScrollType;directionFunction=null;resizeEnabled;resizableHandles;mousemove;mouseup;mouseleave;cancelOnBlur;touchmove;touchend;touchcancel;push;pushResize;minHeight;minWidth;offsetTop;offsetLeft;diffTop;diffLeft;diffRight;diffBottom;margin;outerMarginTop;outerMarginRight;outerMarginBottom;outerMarginLeft;originalClientX;originalClientY;top;left;bottom;right;width;height;hasRatio;constructor(e,t,i){this.zone=i,this.gridsterItem=e,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1}}destroy(){this.gridster?.previewStyle(),this.gridster=this.gridsterItem=null}dragStart(e){if(e.which&&e.which!==1||this.gridster.dragInProgress)return;this.gridster.options.resizable&&this.gridster.options.resizable.start&&this.gridster.options.resizable.start(this.gridsterItem.item,this.gridsterItem,e),e.stopPropagation(),e.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-resizing"),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.left=this.gridsterItem.left,this.top=this.gridsterItem.top,this.originalClientX=e.clientX,this.originalClientY=e.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.bottom=this.gridsterItem.top+this.gridsterItem.height,this.right=this.gridsterItem.left+this.gridsterItem.width,this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.diffLeft=e.clientX+this.offsetLeft-this.left,this.diffRight=e.clientX+this.offsetLeft-this.right,this.diffTop=e.clientY+this.offsetTop-this.top,this.diffBottom=e.clientY+this.offsetTop-this.bottom,this.minHeight=this.gridster.positionYToPixels(this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows)-this.margin,this.minWidth=this.gridster.positionXToPixels(this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols)-this.margin,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(),this.push=new ie(this.gridsterItem),this.pushResize=new _e(this.gridsterItem),this.gridster.dragInProgress=!0,this.hasRatio=!!(this.gridster.$options.itemAspectRatio||this.gridsterItem.$item.itemAspectRatio),this.itemBackup={x:0,y:0,cols:0,rows:0},this.gridster.updateGrid();let{classList:t}=e.target;t.contains("handle-n")?(this.resizeEventScrollType.north=!0,this.directionFunction=this.handleNorth):t.contains("handle-w")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):t.contains("handle-s")?(this.resizeEventScrollType.south=!0,this.directionFunction=this.handleSouth):t.contains("handle-e")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):t.contains("handle-nw")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):t.contains("handle-ne")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):t.contains("handle-sw")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):t.contains("handle-se")&&(this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast))}dragMove=e=>{if(this.directionFunction===null)throw new Error("The `directionFunction` has not been set before calling `dragMove`.");e.stopPropagation(),e.preventDefault(),O.checkTouchEvent(e),this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,pi(this.gridster,this.left,this.top,this.width,this.height,e,this.lastMouse,this.directionFunction,!0,this.resizeEventScrollType);let t=this.gridster.options.scale||1;this.directionFunction({clientX:this.originalClientX+(e.clientX-this.originalClientX)/t,clientY:this.originalClientY+(e.clientY-this.originalClientY)/t}),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.zone.run(()=>{this.gridster.updateGrid()})};dragStop=e=>{e.stopPropagation(),e.preventDefault(),gi(),this.mousemove(),this.mouseup(),this.mouseleave(),this.cancelOnBlur(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridster.dragInProgress=!1,this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1},this.gridster.updateGrid(),this.gridster.options.resizable&&this.gridster.options.resizable.stop?Promise.resolve(this.gridster.options.resizable.stop(this.gridsterItem.item,this.gridsterItem,e)).then(this.makeResize,this.cancelResize):this.makeResize(),setTimeout(()=>{this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-resizing"),this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())})};cancelResize=()=>{this.gridsterItem.$item.cols=this.gridsterItem.item.cols||1,this.gridsterItem.$item.rows=this.gridsterItem.item.rows||1,this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push.restoreItems(),this.pushResize.restoreItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null};makeResize=()=>{this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push.setPushedItems(),this.pushResize.setPushedItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null};check=e=>(this.hasRatio&&this.enforceAspectRatio(),this.pushResize.pushItems(e),this.push.pushItems(e,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item,!0)?(this.resetItem(this.hasRatio),!1):(this.gridster.previewStyle(),this.pushResize.checkPushBack(),this.push.checkPushBack(),!0));getNewNorthPosition=e=>{this.top=e.clientY+this.offsetTop-this.diffTop,this.height=this.bottom-this.top,this.minHeight>this.height?(this.height=this.minHeight,this.top=this.bottom-this.minHeight):this.gridster.options.enableBoundaryControl&&(this.top=Math.max(0,this.top),this.height=this.bottom-this.top);let t=this.gridster.options.pushItems?this.margin:0;return this.gridster.pixelsToPositionY(this.top+t,Math.floor)};handleNorth=e=>{let t=this.getNewNorthPosition(e);this.gridsterItem.$item.y!==t&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height))};getNewWestPosition=e=>{let t=this.gridster.$options.dirType===E.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;this.left=t+this.offsetLeft-this.diffLeft,this.width=this.right-this.left,this.minWidth>this.width?(this.width=this.minWidth,this.left=this.right-this.minWidth):this.gridster.options.enableBoundaryControl&&(this.left=Math.max(0,this.left),this.width=this.right-this.left);let i=this.gridster.options.pushItems?this.margin:0;return this.gridster.pixelsToPositionX(this.left+i,Math.floor)};handleWest=e=>{let t=this.getNewWestPosition(e);this.gridsterItem.$item.x!==t&&(this.makeItemBackup(),this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-t,this.gridsterItem.$item.x=t,!this.check(this.pushResize.fromEast))||(this.setItemLeft(this.left),this.setItemWidth(this.width))};getNewSouthPosition=e=>{if(this.height=e.clientY+this.offsetTop-this.diffBottom-this.top,this.minHeight>this.height&&(this.height=this.minHeight),this.bottom=this.top+this.height,this.gridster.options.enableBoundaryControl){let i=this.outerMarginBottom??this.margin,s=this.gridster.el.getBoundingClientRect();this.bottom=Math.min(this.bottom,s.bottom-s.top-2*i),this.height=this.bottom-this.top}let t=this.gridster.options.pushItems?0:this.margin;return this.gridster.pixelsToPositionY(this.bottom+t,Math.ceil)};handleSouth=e=>{let t=this.getNewSouthPosition(e);this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,!this.check(this.pushResize.fromNorth))||this.setItemHeight(this.height)};getNewEastPosition=e=>{let t=this.gridster.$options.dirType===E.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;if(this.width=t+this.offsetLeft-this.diffRight-this.left,this.minWidth>this.width&&(this.width=this.minWidth),this.right=this.left+this.width,this.gridster.options.enableBoundaryControl){let s=this.outerMarginRight??this.margin,o=this.gridster.el.getBoundingClientRect();this.right=Math.min(this.right,o.right-o.left-2*s),this.width=this.right-this.left}let i=this.gridster.options.pushItems?0:this.margin;return this.gridster.pixelsToPositionX(this.right+i,Math.ceil)};handleEast=e=>{let t=this.getNewEastPosition(e);this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==t&&(this.makeItemBackup(),this.gridsterItem.$item.cols=t-this.gridsterItem.$item.x,!this.check(this.pushResize.fromWest))||this.setItemWidth(this.width)};handleNorthWest=e=>{let t=this.getNewNorthPosition(e),i=this.getNewWestPosition(e);(this.gridsterItem.$item.y!==t||this.gridsterItem.$item.x!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-i,this.gridsterItem.$item.x=i,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height),this.setItemLeft(this.left),this.setItemWidth(this.width))};handleNorthEast=e=>{let t=this.getNewNorthPosition(e),i=this.getNewEastPosition(e);(this.gridsterItem.$item.y!==t||this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,this.gridsterItem.$item.cols=i-this.gridsterItem.$item.x,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height),this.setItemWidth(this.width))};handleSouthWest=e=>{let t=this.getNewSouthPosition(e),i=this.getNewWestPosition(e);(this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t||this.gridsterItem.$item.x!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-i,this.gridsterItem.$item.x=i,!this.check(this.pushResize.fromNorth))||(this.setItemLeft(this.left),this.setItemHeight(this.height),this.setItemWidth(this.width))};handleSouthEast=e=>{let t=this.getNewSouthPosition(e),i=this.getNewEastPosition(e);(this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t||this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,this.gridsterItem.$item.cols=i-this.gridsterItem.$item.x,!this.check(this.pushResize.fromNorth))||(this.setItemHeight(this.height),this.setItemWidth(this.width))};makeItemBackup(){this.itemBackup.x=this.gridsterItem.$item.x,this.itemBackup.y=this.gridsterItem.$item.y,this.itemBackup.cols=this.gridsterItem.$item.cols,this.itemBackup.rows=this.gridsterItem.$item.rows}resetItem(e=!1){this.gridsterItem.$item.x!==this.itemBackup.x&&(this.gridsterItem.$item.x=this.itemBackup.x,e||(this.left=this.gridster.positionXToPixels(this.gridsterItem.$item.x),this.setItemLeft(this.left))),this.gridsterItem.$item.y!==this.itemBackup.y&&(this.gridsterItem.$item.y=this.itemBackup.y,e||(this.top=this.gridster.positionYToPixels(this.gridsterItem.$item.y),this.setItemTop(this.top))),this.gridsterItem.$item.cols!==this.itemBackup.cols&&(this.gridsterItem.$item.cols=this.itemBackup.cols,e||this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin)),this.gridsterItem.$item.rows!==this.itemBackup.rows&&(this.gridsterItem.$item.rows=this.itemBackup.rows,e||this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin))}toggle(){this.resizeEnabled=this.gridsterItem.canBeResized(),this.resizableHandles=this.gridsterItem.getResizableHandles()}dragStartDelay(e){if(O.checkTouchEvent(e),!this.gridster.$options.resizable.delayStart){this.dragStart(e);return}let t=setTimeout(()=>{this.dragStart(e),$()},this.gridster.$options.resizable.delayStart),{cancelMouse:i,cancelMouseLeave:s,cancelOnBlur:o,cancelTouchMove:r,cancelTouchEnd:d,cancelTouchCancel:y}=this.zone.runOutsideAngular(()=>{let x=this.gridsterItem.renderer.listen("document","mouseup",$),I=this.gridsterItem.renderer.listen("document","mouseleave",$),Z=this.gridsterItem.renderer.listen("window","blur",$),ft=this.gridsterItem.renderer.listen("document","touchmove",f),Ct=this.gridsterItem.renderer.listen("document","touchend",$),tt=this.gridsterItem.renderer.listen("document","touchcancel",$);return{cancelMouse:x,cancelMouseLeave:I,cancelOnBlur:Z,cancelTouchMove:ft,cancelTouchEnd:Ct,cancelTouchCancel:tt}});function f(x){O.checkTouchEvent(x),(Math.abs(x.clientX-e.clientX)>9||Math.abs(x.clientY-e.clientY)>9)&&$()}function $(){clearTimeout(t),o(),i(),s(),r(),d(),y()}}setItemTop(e){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,e)}setItemLeft(e){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,e,this.top)}setItemHeight(e){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"height",e+"px")}setItemWidth(e){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"width",e+"px")}enforceAspectRatio(){let e=this.gridsterItem.$item.itemAspectRatio||this.gridster.$options.itemAspectRatio;if(!e)return;let t=e*(this.gridster.curColWidth/this.gridster.curRowHeight),i=this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols,s=this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows,o=this.gridster.positionXToPixels(i)-this.margin,r=this.gridster.positionYToPixels(s)-this.margin,d=this.gridsterItem.$item.maxItemCols||this.gridster.$options.maxItemCols||0,y=this.gridsterItem.$item.maxItemRows||this.gridster.$options.maxItemRows||0,f=d?this.gridster.positionXToPixels(d)-this.margin:Number.MAX_VALUE,$=y?this.gridster.positionYToPixels(y)-this.margin:Number.MAX_VALUE,x=this.width,I=this.height;if(this.resizeEventScrollType.north||this.resizeEventScrollType.south?(x=this.height*t,x<o?(x=o,I=o/t):x>f&&(x=f,I=f/t)):(this.resizeEventScrollType.east||this.resizeEventScrollType.west)&&(I=this.width/t,I<r?(I=r,x=r*t):I>$&&(I=$,x=$*t)),this.gridster.options.enableBoundaryControl){let at=this.gridster.el.getBoundingClientRect(),vt=Math.max(this.outerMarginTop||this.margin,this.outerMarginRight||this.margin,this.outerMarginBottom||this.margin,this.outerMarginLeft||this.margin),wt=at.width-2*vt,yt=at.height-2*vt;this.resizeEventScrollType.west?this.right-x<0&&(x=this.right,I=x/t):this.resizeEventScrollType.east&&this.left+x>wt&&(x=wt-this.left,I=x/t),this.resizeEventScrollType.north?this.bottom-I<0&&(I=this.bottom,x=I*t):this.resizeEventScrollType.south&&this.top+I>yt&&(I=yt-this.top,x=I*t)}this.width=x,this.height=I,this.resizeEventScrollType.west&&(this.left=this.right-this.width),this.resizeEventScrollType.north&&(this.top=this.bottom-this.height);let Z=this.gridster.options.pushItems?0:this.margin,ft=this.gridster.options.pushItems?0:this.margin,Ct=this.gridster.options.pushItems?this.margin:0,tt=this.gridster.options.pushItems?this.margin:0;this.gridsterItem.$item.x=this.gridster.pixelsToPositionX(this.left+Z,Math.floor),this.gridsterItem.$item.y=this.gridster.pixelsToPositionY(this.top+ft,Math.floor),this.gridsterItem.$item.cols=this.gridster.pixelsToPositionX(this.width+Ct,Math.ceil),this.gridsterItem.$item.rows=this.gridster.pixelsToPositionY(this.height+tt,Math.ceil),this.setItemTop(this.top),this.setItemLeft(this.left),this.setItemWidth(this.width),this.setItemHeight(this.height)}},yi=(()=>{class n{renderer;zone;item;itemInit=new N;itemChange=new N;itemResize=new N;$item;el;gridster;top;left;width;height;drag;resize;notPlaced;init;get zIndex(){return this.getLayerIndex()+this.gridster.$options.baseLayerIndex}constructor(t,i,s,o){this.renderer=s,this.zone=o,this.el=t.nativeElement,this.$item={cols:-1,rows:-1,x:-1,y:-1},this.gridster=i,this.drag=new ve(this,i,this.zone),this.resize=new Ie(this,i,this.zone)}ngOnInit(){this.gridster.addItem(this)}ngOnChanges(t){t.item&&(this.updateOptions(),this.init||this.gridster.calculateLayout$.next()),t.item&&t.item.previousValue&&this.setSize()}updateOptions(){this.$item=O.merge(this.$item,this.item,{cols:void 0,rows:void 0,x:void 0,y:void 0,layerIndex:void 0,dragEnabled:void 0,resizeEnabled:void 0,compactEnabled:void 0,itemAspectRatio:void 0,maxItemRows:void 0,minItemRows:void 0,maxItemCols:void 0,minItemCols:void 0,maxItemArea:void 0,minItemArea:void 0,resizableHandles:{s:void 0,e:void 0,n:void 0,w:void 0,se:void 0,ne:void 0,sw:void 0,nw:void 0}})}ngOnDestroy(){this.gridster.removeItem(this),this.drag.destroy(),this.resize.destroy(),this.gridster=this.drag=this.resize=null}setSize(){this.renderer.setStyle(this.el,"display",this.notPlaced?"":"block"),this.gridster.gridRenderer.updateItem(this.el,this.$item,this.renderer),this.updateItemSize()}updateItemSize(){let t=this.$item.y*this.gridster.curRowHeight,i=this.$item.x*this.gridster.curColWidth,s=this.$item.cols*this.gridster.curColWidth-this.gridster.$options.margin,o=this.$item.rows*this.gridster.curRowHeight-this.gridster.$options.margin;this.top=t,this.left=i,!this.init&&s>0&&o>0&&(this.init=!0,this.item.initCallback&&this.item.initCallback(this.item,this),this.gridster.options.itemInitCallback&&this.gridster.options.itemInitCallback(this.item,this),this.itemInit.next({item:this.item,itemComponent:this}),this.gridster.$options.scrollToNewItems&&this.el.scrollIntoView({block:"end",inline:"nearest",behavior:"smooth"})),(s!==this.width||o!==this.height)&&(this.width=s,this.height=o,this.gridster.options.itemResizeCallback&&this.gridster.options.itemResizeCallback(this.item,this),this.itemResize.next({item:this.item,itemComponent:this}))}itemChanged(){this.gridster.options.itemChangeCallback&&this.gridster.options.itemChangeCallback(this.item,this),this.itemChange.next({item:this.item,itemComponent:this})}checkItemChanges(t,i){t.rows===i.rows&&t.cols===i.cols&&t.x===i.x&&t.y===i.y||(this.gridster.checkCollision(this.$item)?(this.$item.x=i.x||0,this.$item.y=i.y||0,this.$item.cols=i.cols||1,this.$item.rows=i.rows||1,this.setSize()):(this.item.cols=this.$item.cols,this.item.rows=this.$item.rows,this.item.x=this.$item.x,this.item.y=this.$item.y,this.gridster.calculateLayout$.next(),this.itemChanged()))}canBeDragged(){let t=this.gridster.$options.draggable.enabled,i=this.$item.dragEnabled===void 0?t:this.$item.dragEnabled;return!this.gridster.mobile&&t&&i}canBeResized(){let t=this.gridster.$options.resizable.enabled,i=this.$item.resizeEnabled===void 0?t:this.$item.resizeEnabled;return!this.gridster.mobile&&t&&i}getResizableHandles(){let t=this.gridster.$options.resizable.handles,i=this.$item.resizableHandles;return i===void 0?t:S(S({},t),i)}bringToFront(t){if(t&&t<=0)return;let i=this.getLayerIndex(),s=this.gridster.$options.maxLayerIndex;if(i<s){let o=t?i+t:s;this.item.layerIndex=this.$item.layerIndex=o>s?s:o}}sendToBack(t){if(t&&t<=0)return;let i=this.getLayerIndex();if(i>0){let s=t?i-t:0;this.item.layerIndex=this.$item.layerIndex=s<0?0:s}}getLayerIndex(){return this.item.layerIndex!==void 0?this.item.layerIndex:this.gridster.$options.defaultLayerIndex!==void 0?this.gridster.$options.defaultLayerIndex:0}static \u0275fac=function(i){return new(i||n)(Q(Et),Q(be),Q(Rt),Q(pe))};static \u0275cmp=k({type:n,selectors:[["gridster-item"]],hostVars:2,hostBindings:function(i,s){i&2&&Ne("z-index",s.zIndex)},inputs:{item:"item"},outputs:{itemInit:"itemInit",itemChange:"itemChange",itemResize:"itemResize"},features:[ot],ngContentSelectors:mi,decls:9,vars:8,consts:[[1,"gridster-item-resizable-handler","handle-s"],[1,"gridster-item-resizable-handler","handle-e"],[1,"gridster-item-resizable-handler","handle-n"],[1,"gridster-item-resizable-handler","handle-w"],[1,"gridster-item-resizable-handler","handle-se"],[1,"gridster-item-resizable-handler","handle-ne"],[1,"gridster-item-resizable-handler","handle-sw"],[1,"gridster-item-resizable-handler","handle-nw"],[1,"gridster-item-resizable-handler","handle-s",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-e",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-n",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-w",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-se",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-ne",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-sw",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-nw",3,"mousedown","touchstart"]],template:function(i,s){i&1&&(Ft(),It(0),z(1,Ti,1,0,"div",0),z(2,$i,1,0,"div",1),z(3,ki,1,0,"div",2),z(4,Pi,1,0,"div",3),z(5,Si,1,0,"div",4),z(6,Di,1,0,"div",5),z(7,Ei,1,0,"div",6),z(8,Ri,1,0,"div",7)),i&2&&(h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.s&&s.resize.resizeEnabled?1:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.e&&s.resize.resizeEnabled?2:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.n&&s.resize.resizeEnabled?3:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.w&&s.resize.resizeEnabled?4:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.se&&s.resize.resizeEnabled?5:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.ne&&s.resize.resizeEnabled?6:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.sw&&s.resize.resizeEnabled?7:-1),h(),M(s.resize.resizableHandles!=null&&s.resize.resizableHandles.nw&&s.resize.resizeEnabled?8:-1))},styles:[`gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}
4
+ `],encapsulation:2})}return n})();var Oi=["*",[["actions"]]],Ni=["*","actions"];function Li(n,e){n&1&&(X(0,"div",3),It(1,1),L())}var nt=class n{item;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-widget-base"]],inputs:{item:"item"},ngContentSelectors:Ni,decls:7,vars:2,consts:[[1,"widget"],[1,"header"],[1,"title"],[1,"actions"],[1,"content"]],template:function(t,i){t&1&&(Ft(Oi),X(0,"div",0)(1,"div",1)(2,"div",2),g(3),L(),z(4,Li,2,0,"div",3),L(),X(5,"div",4),It(6),L()()),t&2&&(h(3),j(i.item.title),h(),M(i.item.configurable?4:-1))},dependencies:[D,W,F],styles:["[_nghost-%COMP%]{display:block;height:100%}.widget[_ngcontent-%COMP%]{height:100%;padding:12px 0;display:flex;flex-direction:column}.header[_ngcontent-%COMP%]{flex:0 0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.title[_ngcontent-%COMP%]{font-size:18px;font-weight:600;flex:1 1 auto;opacity:.5}.actions[_ngcontent-%COMP%]{flex:0 0 auto}.content[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;width:100%;height:0;overflow:hidden}"]})};var ne=class n{item;port="";api=T($t);msg=T(Ze);spin=P(!1);isPortValid(){let e=Number(this.port);return Number.isInteger(e)&&e>0&&e<=65535}killPort(){if(!this.isPortValid()){this.msg.error("\u8BF7\u8F93\u5165\u6709\u6548\u7684\u7AEF\u53E3\u53F7\uFF081-65535\uFF09");return}this.spin.set(!0),this.api.killPort(Number(this.port)).subscribe({next:e=>{if(e.killed.length===0){this.msg.info(`\u7AEF\u53E3 ${this.port} \u6CA1\u6709\u88AB\u4EFB\u4F55\u8FDB\u7A0B\u5360\u7528`);return}this.port="",this.msg.success(`\u7AEF\u53E3 ${this.port} \u5DF2\u88AB\u7EC8\u6B62`)},error:e=>{console.error("Kill port error",e),this.msg.error(`\u65E0\u6CD5\u7EC8\u6B62\u7AEF\u53E3 ${this.port}\uFF1A${e.message||e}`)},complete:()=>{this.spin.set(!1)}})}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-kill-port-widget"]],inputs:{item:"item"},decls:11,vars:3,consts:[[3,"item"],[1,"logo"],[1,"icon-wrapper"],["nzType","thunderbolt","nzTheme","outline"],[2,"padding","12px 24px"],["nz-input","","placeholder","\u8F93\u5165\u4E00\u4E2A\u7F51\u7EDC\u7AEF\u53E3","name","port",3,"ngModelChange","keydown.enter","ngModel"],["nz-button","","nzType","primary",3,"click"],["nzTheme","outline",3,"nzType"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0)(1,"div",1)(2,"div",2),p(3,"nz-icon",3),a(),l(4,"h3"),g(5,"\u51C6\u5907\u597D\u7EC8\u6B62"),a()(),l(6,"nz-space",4)(7,"input",5),mt("ngModelChange",function(o){return ht(i.port,o)||(i.port=o),o}),v("keydown.enter",function(){return i.killPort()}),a(),l(8,"button",6),v("click",function(){return i.killPort()}),p(9,"nz-icon",7),g(10," \u7EC8\u6B62 "),a()()()),t&2&&(c("item",i.item),h(7),dt("ngModel",i.port),h(2),c("nzType",i.spin()?"loading":"thunderbolt"))},dependencies:[D,gt,zt,ct,pt,nt,F,B,Tt,Mt,Qe,Ue,W,A,V,H],styles:[".logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:12px 24px}.logo[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background-color:var(--app-gray);border-radius:50%}.logo[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:20px;color:var(--app-primary-5)}.logo[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{flex:1 1 auto;font-size:18px;margin:0;font-weight:500}"],changeDetection:0})};var oe=class n{api=T(Kt);preview(e,t){let i=new Ge().set("url",e);return t?.limit&&(i=i.set("limit",String(t.limit))),t?.cacheSec&&(i=i.set("cacheSec",String(t.cacheSec))),t?.force&&(i=i.set("force","1")),this.api.get("/api/rss/preview",i)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=_t({token:n,factory:n.\u0275fac,providedIn:"root"})};var Vi=(n,e)=>e.link;function Hi(n,e){if(n&1){let t=b();l(0,"div",6)(1,"div",10),g(2,"\u672A\u914D\u7F6E RSS \u6E90"),a(),l(3,"button",11),v("click",function(){C(t);let s=m();return w(s.openConfig())}),g(4,"\u53BB\u914D\u7F6E"),a()()}}function Ai(n,e){if(n&1){let t=b();l(0,"div",12)(1,"p"),g(2),a(),l(3,"button",2),v("click",function(){C(t);let s=m(2);return w(s.reload(!0))}),g(4,"\u91CD\u8BD5"),a()()}if(n&2){let t=m(2);h(2),j(t.errorMsg())}}function Xi(n,e){if(n&1&&(l(0,"span",17),g(1),Le(2,"date"),a()),n&2){let t=m().$implicit;h(),j(Be(2,1,t.pubDate,"yyyy-MM-dd HH:mm"))}}function Yi(n,e){if(n&1&&(l(0,"span",18),g(1),a()),n&2){let t=m().$implicit;h(),j(t.author)}}function Gi(n,e){if(n&1&&(l(0,"a",14)(1,"div",15),g(2),a(),l(3,"div",16),z(4,Xi,3,4,"span",17),z(5,Yi,2,1,"span",18),a()()),n&2){let t=e.$implicit;c("href",t.link,Re),h(2),j(t.title),h(2),M(t.pubDate?4:-1),h(),M(t.author?5:-1)}}function ji(n,e){if(n&1&&(l(0,"div",13),K(1,Gi,6,4,"a",14,Vi),a()),n&2){let t=m(2);h(),q(t.feedItems())}}function Ui(n,e){if(n&1&&z(0,Ai,5,1,"div",12)(1,ji,3,0,"div",13),n&2){let t=m();M(t.errorMsg()?0:1)}}function Qi(n,e){if(n&1){let t=b();et(0),l(1,"div",19)(2,"label"),g(3,"RSS\u6E90\u5730\u5740"),a(),l(4,"nz-input-wrapper")(5,"input",20),mt("ngModelChange",function(s){C(t);let o=m();return ht(o.rssUrl,s)||(o.rssUrl=s),w(s)}),a(),p(6,"nz-icon",21),a()(),it()}if(n&2){let t=m();h(5),dt("ngModel",t.rssUrl)}}function Ki(n,e){if(n&1){let t=b();et(0),l(1,"button",22),v("click",function(){C(t);let s=m();return w(s.save())}),g(2,"\u4FDD\u5B58"),a(),it()}if(n&2){let t=m();h(),c("disabled",!t.rssUrl().trim())}}var re=class n{item;layout=T(st);rss=T(oe);cdr=T(Yt);curConfig=P(null);rssUrl=P("");isModalVisible=P(!1);loading=P(!1);feedTitle=P("");feedItems=P([]);errorMsg=P("");hasConfig=R(()=>!!this.curConfig()?.rssUrl?.trim());ngOnChanges(e){if(e.item&&e.item.currentValue){let t=this.item?.config;this.curConfig.set(t?S({},t):null),t?.rssUrl&&this.reload(!1)}}openConfig(){let e=this.item?.config;this.rssUrl.set(e?.rssUrl??""),this.isModalVisible.set(!0)}reload(e=!0){let t=this.curConfig()??this.item?.config,i=(t?.rssUrl??"").trim();if(!i)return;this.loading.set(!0),this.errorMsg.set("");let s=t?.limit??20,o=t?.cacheSec??300;this.rss.preview(i,{limit:s,cacheSec:o,force:e}).subscribe({next:r=>{this.loading.set(!1),this.feedTitle.set(r.title??""),this.feedItems.set(r.items??[]),this.feedTitle()&&(this.item.title=this.feedTitle(),this.cdr.markForCheck())},error:r=>{this.errorMsg.set(r?.error?.detail||r?.message||"\u52A0\u8F7D\u5931\u8D25"),this.loading.set(!1)}})}save(){let e=this.item.projectId,t=(this.rssUrl()??"").trim();if(!e||!t)return;let i=this.item?.config??{},s=G(S({},i),{rssUrl:t,limit:i.limit??20,cacheSec:i.cacheSec??300});this.item.config=s,this.curConfig.set(s),this.layout.updateConfig(e,this.item.id,s),this.isModalVisible.set(!1),this.reload(!0)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-news-feed-widget"]],inputs:{item:"item"},features:[ot],decls:12,vars:5,consts:[[3,"item"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","link","nzSize","small",3,"click"],["nzTheme","outline",3,"nzType"],["nzType","setting","nzTheme","outline"],[1,"news-feed-widget"],[1,"empty"],["nzCentered","","nzTitle","\u914D\u7F6E\u90E8\u4EF6",3,"nzVisibleChange","nzOnCancel","nzVisible","nzMaskClosable"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"hint"],["nz-button","","nzType","default","nzSize","small",3,"click"],[1,"error"],[1,"list"],["target","_blank","rel","noreferrer",1,"row",3,"href"],[1,"t"],[1,"m"],[1,"d"],[1,"a"],[1,"modal-body"],["nz-input","","placeholder","\u8BF7\u8F93\u5165RSS\u6E90\u5730\u5740",2,"width","100%",3,"ngModelChange","ngModel"],["nzType","global","nzTheme","outline","nzInputPrefix",""],["nz-button","","nzType","primary",3,"click","disabled"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0),et(1,1),l(2,"button",2),v("click",function(){return i.reload()}),p(3,"nz-icon",3),a(),l(4,"button",2),v("click",function(){return i.openConfig()}),p(5,"nz-icon",4),a(),it(),l(6,"div",5),z(7,Hi,5,0,"div",6)(8,Ui,2,1),a()(),l(9,"nz-modal",7),mt("nzVisibleChange",function(o){return ht(i.isModalVisible,o)||(i.isModalVisible=o),o}),v("nzOnCancel",function(){return i.isModalVisible.set(!1)}),Xt(10,Qi,7,1,"ng-container",8)(11,Ki,3,1,"ng-container",9),a()),t&2&&(c("item",i.item),h(3),c("nzType",i.loading()?"loading":"reload"),h(4),M(i.hasConfig()?8:7),h(2),dt("nzVisible",i.isModalVisible),c("nzMaskClosable",!1))},dependencies:[D,gt,zt,ct,pt,Tt,Mt,jt,Gt,W,A,V,H,nt,te,Zt,Jt,qt,F,B,Ye],styles:[".news-feed-widget[_ngcontent-%COMP%]{padding:8px 12px;height:100%;overflow:auto}.empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;height:100%;opacity:.75}.list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.row[_ngcontent-%COMP%]{display:block;padding:8px;border-radius:8px;text-decoration:none;border:1px solid rgba(0,0,0,.06)}.row[_ngcontent-%COMP%]:hover{background:#00000005}.t[_ngcontent-%COMP%]{font-size:13px;line-height:1.3;color:#000000e0}.m[_ngcontent-%COMP%]{margin-top:4px;display:flex;gap:10px;font-size:12px;color:#00000073}.error[_ngcontent-%COMP%]{display:flex;gap:8px;flex-direction:column;align-items:center;justify-content:center;color:#d4380d}.error[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;white-space:pre-wrap;word-break:break-word}.loading[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;opacity:.75}.modal-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:0 0 auto;margin-right:16px;display:inline-block;width:100px}.modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;margin-left:16px}"]})};var qi=(n,e)=>e.value;function Ji(n,e){if(n&1){let t=b();p(0,"nz-icon",9),l(1,"button",10),v("click",function(){C(t);let s=m(2);return w(s.openConfig())}),g(2,"\u914D\u7F6E\u90E8\u4EF6"),a()}}function Zi(n,e){n&1&&p(0,"nz-badge",15)}function ts(n,e){n&1&&p(0,"nz-badge",16)}function es(n,e){n&1&&p(0,"nz-badge",17)}function is(n,e){if(n&1){let t=b();l(0,"div",11)(1,"div",12)(2,"div",13),p(3,"nz-icon",14),z(4,Zi,1,0,"nz-badge",15)(5,ts,1,0,"nz-badge",16)(6,es,1,0,"nz-badge",17),a(),l(7,"div",18)(8,"div",19),g(9),a(),l(10,"div",20),g(11),a()()()(),l(12,"div",21)(13,"app-task-actions",22),v("toggle",function(){C(t);let s=m(2);return w(s.toggleTask())}),a(),l(14,"button",23),v("click",function(){C(t);let s=m(2);return w(s.goToTask())}),p(15,"nz-icon",24),g(16," \u524D\u5F80\u4EFB\u52A1\u9875 "),a()()}if(n&2){let t,i,s,o,r=m(2);h(),c("nz-tooltip",((t=r.curConfig())==null?null:t.description)??""),h(3),M(r.curRuntime().status==="running"?4:r.curRuntime().status==="stopping"?5:6),h(4),c("title",(i=r.curConfig())==null?null:i.taskName),h(),j((s=r.curConfig())==null?null:s.taskName),h(2),bt(" ",r.curRuntime().status==="running"?"\u8FD0\u884C\u4E2D":r.curRuntime().status==="stopping"?"\u505C\u6B62\u4E2D":r.curRuntime().status==="stopped"?"\u5DF2\u505C\u6B62":((o=r.curConfig())==null?null:o.description)||"\u7A7A\u95F2\u4E2D"," "),h(2),c("isRunning",r.isRunning())("isStopping",r.isStopping())("isStopped",r.isStopped())}}function ss(n,e){if(n&1&&(l(0,"div",8),z(1,Ji,3,0)(2,is,17,8),a()),n&2){let t=m();xt("no-config",t.curConfig()===null),h(),M(t.curConfig()===null?1:2)}}function ns(n,e){if(n&1&&p(0,"nz-option",27),n&2){let t=e.$implicit;c("nzLabel",t.label)("nzValue",t.value)}}function os(n,e){if(n&1){let t=b();et(0),l(1,"div",25)(2,"label"),g(3,"\u9009\u62E9\u4E00\u9879\u4EFB\u52A1"),a(),l(4,"nz-select",26),mt("ngModelChange",function(s){C(t);let o=m();return ht(o.selectedTaskId,s)||(o.selectedTaskId=s),w(s)}),K(5,ns,1,2,"nz-option",27,qi),a()(),it()}if(n&2){let t=m();h(4),dt("ngModel",t.selectedTaskId),c("nzLoading",t.loading())("nzDisabled",t.loading()),h(),q(t.taskOptions())}}function rs(n,e){if(n&1){let t=b();et(0),l(1,"button",28),v("click",function(){C(t);let s=m();return w(s.save())}),g(2,"\u4FDD\u5B58"),a(),it()}if(n&2){let t=m();h(),c("disabled",!t.selectedTaskId)}}var le=class n{item;taskState=T(ei);layout=T(st);router=T(je);isModalVisible=P(!1);loading=P(!1);curConfig=P(null);curRuntime=R(()=>{let e=this.curConfig();if(!e)return{status:"idle"};let t=e.taskId;return this.taskState.getRuntime(t)||{status:"idle"}});isRunning=R(()=>this.curRuntime().status==="running");isStopping=R(()=>this.curRuntime().status==="stopping");isStopped=R(()=>{let e=this.curRuntime().status;return e==="idle"||e==="stopped"||e==="failed"||e==="success"});selectedTaskId="";rowsOfProject=R(()=>{let e=this.item.projectId;return e?this.taskState.rowsViewOf(e)():[]});taskOptions=R(()=>this.rowsOfProject().map(t=>({value:t.spec.id,label:t.spec.name??t.spec.id,description:t.spec.description??""})));ngOnChanges(e){if(e.item){let t=this.item?.config;this.curConfig.set(t?S({},t):null)}}async openConfig(){let e=this.item.projectId;if(!e){this.isModalVisible.set(!1);return}let t=this.item?.config;this.selectedTaskId=t?.taskId??"",this.isModalVisible.set(!0),this.loading.set(!0);try{await this.taskState.ensureProjectLoaded(e)}finally{this.loading.set(!1)}}save(){let e=this.item.projectId,t=(this.selectedTaskId??"").trim();if(!e||!t)return;let i=this.rowsOfProject().find(d=>d.spec.id===t),s=i?.spec.name??"",o=i?.spec.description??"",r={taskId:t,taskName:s,description:o};this.item.config=r,this.curConfig.set(r),this.layout.updateConfig(e,this.item.id,r),this.isModalVisible.set(!1)}toggleTask(){if(this.curConfig()==null||!this.curConfig().taskId)return;let e=this.curConfig().taskId;this.isRunning()?this.taskState.stopSelected(e):this.isStopped()&&this.taskState.startSelected(e),this.goToTask()}async goToTask(){let e=this.curConfig();if(!e)return;let t=e.taskId;this.taskState.select(t),await this.router.navigate(["/tasks"])}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-quick-task-widget"]],inputs:{item:"item"},features:[ot],decls:8,vars:4,consts:[[3,"item"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","link","nzSize","small",3,"click"],["nzType","setting","nzTheme","outline"],[1,"configured-info",3,"no-config"],["nzCentered","","nzTitle","\u914D\u7F6E\u90E8\u4EF6",3,"nzVisibleChange","nzOnCancel","nzVisible","nzMaskClosable"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"configured-info"],["nzType","setting","nzTheme","fill"],["nz-button","","nzType","primary",3,"click"],[1,"item"],["nzTooltipPlacement","right",1,"row",3,"nz-tooltip"],[1,"icon"],["nzType","codepen-circle","nzTheme","outline"],["nzStatus","processing"],["nzStatus","warning"],["nzStatus","default"],[1,"info"],[1,"name",3,"title"],[1,"description"],[1,"actions"],[3,"toggle","isRunning","isStopping","isStopped"],["nz-button","","nzType","default",3,"click"],["nzType","schedule","nzTheme","outline"],[1,"modal-body"],["nzPlaceHolder","\u8BF7\u9009\u62E9\u4EFB\u52A1",2,"width","100%",3,"ngModelChange","ngModel","nzLoading","nzDisabled"],[3,"nzLabel","nzValue"],["nz-button","","nzType","primary",3,"click","disabled"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0),et(1,1),l(2,"button",2),v("click",function(){return i.openConfig()}),p(3,"nz-icon",3),a(),it(),z(4,ss,3,3,"div",4),a(),l(5,"nz-modal",5),mt("nzVisibleChange",function(o){return ht(i.isModalVisible,o)||(i.isModalVisible=o),o}),v("nzOnCancel",function(){return i.isModalVisible.set(!1)}),Xt(6,os,7,3,"ng-container",6)(7,rs,3,1,"ng-container",7),a()),t&2&&(c("item",i.item),h(4),M(i.item.configurable?4:-1),h(),dt("nzVisible",i.isModalVisible),c("nzMaskClosable",!1))},dependencies:[D,gt,ct,pt,nt,W,A,V,H,F,B,te,Zt,Jt,qt,ni,ii,si,ri,oi,Qt,Ut,li],styles:[".configured-info[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%}.configured-info.no-config[_ngcontent-%COMP%]{gap:20px}.configured-info.no-config[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:48px;color:var(--app-gray)}.configured-info[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;justify-content:center;gap:8px}.item[_ngcontent-%COMP%]{width:100%;padding:12px 16px;cursor:pointer}.item[_ngcontent-%COMP%]:hover, .item.active[_ngcontent-%COMP%]{background:var(--app-primary-3)}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;overflow:hidden;justify-content:space-between}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:36px;flex:0 0 auto;position:relative}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;overflow:hidden}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:13px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%]{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.2);opacity:.85}.item[_ngcontent-%COMP%] .badge[data-status=running][_ngcontent-%COMP%]{font-weight:700}.item[_ngcontent-%COMP%] .badge[data-status=stopped][_ngcontent-%COMP%]{opacity:.7}.item[_ngcontent-%COMP%] .badge[data-status=failed][_ngcontent-%COMP%]{font-weight:700}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.75;display:flex;align-items:center;gap:6px}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .mono[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .sep[_ngcontent-%COMP%]{opacity:.5}.modal-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:0 0 auto;margin-right:16px;display:inline-block;width:120px}.modal-body[_ngcontent-%COMP%] nz-select[_ngcontent-%COMP%]{flex:1;margin-left:16px}"]})};var ae=class n{item;removeWidget=new N;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-welcome-widget"]],inputs:{item:"item"},outputs:{removeWidget:"removeWidget"},decls:25,vars:1,consts:[[3,"item"],[1,"logo"],["nzType","proj:angular","nzTheme","outline"],[1,"item"],[1,"icon-wrapper"],["nzType","dashboard","nzTheme","outline"],["nzType","arrow-left","nzTheme","outline"],["nzType","home","nzTheme","outline"],[1,"footer"],["nz-button","","nzType","primary","routerLink","/projects","nzSize","large",3,"click"],["nzType","check","nzTheme","outline"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0)(1,"div",1),p(2,"nz-icon",2),a(),l(3,"h2"),g(4,"\u6B22\u8FCE\u6765\u5230\u65B0\u9879\u76EE\uFF01"),a(),l(5,"div",3)(6,"div",4),p(7,"nz-icon",5),a(),l(8,"p"),g(9,"\u8FD9\u91CC\u662F\u9879\u76EE\u4EEA\u8868\u76D8\uFF0C\u4F60\u53EF\u4EE5\u70B9\u51FB\u53F3\u4E0A\u65B9\u7684\u201C\u81EA\u5B9A\u4E49\u201D\u6309\u94AE\u6765\u6DFB\u52A0\u90E8\u4EF6\u3002\u4F60\u7684\u6539\u52A8\u5C06\u4F1A\u81EA\u52A8\u4FDD\u5B58\u3002"),a()(),l(10,"div",3)(11,"div",4),p(12,"nz-icon",6),a(),l(13,"p"),g(14,"\u5DE6\u4FA7\u662F\u5404\u4E2A\u7BA1\u7406\u9875\u9762\u3002\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u53EF\u4EE5\u6DFB\u52A0\u65B0\u7684 Vue CLI \u63D2\u4EF6\uFF0C\u300C\u4F9D\u8D56\u300D\u9875\u9762\u7528\u4E8E\u7BA1\u7406\u9879\u76EE\u7684\u4F9D\u8D56\u5305\uFF0C\u300C\u914D\u7F6E\u300D\u9875\u9762\u7528\u4E8E\u914D\u7F6E\u5404\u79CD\u5DE5\u5177\uFF0C\u300C\u4EFB\u52A1\u300D\u9875\u9762\u7528\u4E8E\u8FD0\u884C\u5404\u4E2A\u811A\u672C\uFF08\u6BD4\u5982 webpack \u6253\u5305\uFF09\u3002"),a()(),l(15,"div",3)(16,"div",4),p(17,"nz-icon",7),a(),l(18,"p"),g(19,"\u70B9\u51FB\u5DE6\u4E0A\u65B9\u7684\u4E0B\u62C9\u83DC\u5355\u6216\u72B6\u6001\u680F\u4E0A\u7684\u5C0F\u623F\u5B50\u6309\u94AE\u6765\u8FD4\u56DE\u5230\u9879\u76EE\u7BA1\u7406\u5668\u3002"),a()(),l(20,"div",8)(21,"button",9),v("click",function(){return i.removeWidget.emit()}),p(22,"nz-icon",10),l(23,"span"),g(24," \u4E86\u89E3 "),a()()()()),t&2&&c("item",i.item)},dependencies:[D,F,B,W,A,V,H,nt],styles:[".logo[_ngcontent-%COMP%]{width:70px;height:70px;border-radius:50%;background-color:var(--app-primary-2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.logo[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:50px}h2[_ngcontent-%COMP%]{text-align:center;font-weight:600;flex:0 0 auto;margin-bottom:8px}.footer[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:30px 0}.item[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;padding:24px 16px}.item[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:0}.item[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{width:50px;height:50px;margin-right:12px;flex:0 0 auto;background-color:var(--app-gray);border-radius:50%;display:flex;align-items:center;justify-content:center}.item[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:24px;color:var(--app-primary-5)}"]})};function ls(n,e){if(n&1){let t=b();l(0,"app-welcome-widget",1),v("removeWidget",function(){C(t);let s=m(2);return w(s.remove.emit(s.item))}),a()}if(n&2){let t=m(2);c("item",t.item)}}function as(n,e){if(n&1&&p(0,"app-quick-task-widget",0),n&2){let t=m(2);c("item",t.item)}}function ds(n,e){if(n&1&&p(0,"app-kill-port-widget",0),n&2){let t=m(2);c("item",t.item)}}function hs(n,e){if(n&1&&p(0,"app-news-feed-widget",0),n&2){let t=m(2);c("item",t.item)}}function ms(n,e){if(n&1&&z(0,ls,1,1,"app-welcome-widget",0)(1,as,1,1,"app-quick-task-widget",0)(2,ds,1,1,"app-kill-port-widget",0)(3,hs,1,1,"app-news-feed-widget",0),n&2){let t,i=m();M((t=i.item.key)==="welcome"?0:t==="quickTasks"?1:t==="killPort"?2:t==="newsFeed"?3:-1)}}var de=class n{item;editMode=!1;remove=new N;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-widget-host"]],inputs:{item:"item",editMode:"editMode"},outputs:{remove:"remove"},decls:1,vars:1,consts:[[3,"item"],[3,"removeWidget","item"]],template:function(t,i){t&1&&z(0,ms,4,1),t&2&&M(i.item?0:-1)},dependencies:[D,ae,le,ne,re],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}.widget-shell[_ngcontent-%COMP%]{width:100%;height:100%}.widget-shell[data-fit=scroll][_ngcontent-%COMP%]{overflow:auto}.widget-shell[data-fit=responsive][_ngcontent-%COMP%], .widget-shell[data-fit=scale][_ngcontent-%COMP%]{overflow:hidden}.widget-scale[_ngcontent-%COMP%]{width:100%;height:100%}"]})};var cs=(n,e)=>e.id;function ps(n,e){if(n&1){let t=b();l(0,"div",5)(1,"button",6),p(2,"i",7),g(3),a()(),l(4,"button",8),v("click",function(){C(t);let s=m().$implicit,o=m();return w(o.remove.emit(s.id))}),p(5,"nz-icon",9),a()}if(n&2){let t=m().$implicit;h(2),c("nzType",t.icon||"appstore"),h(),bt(" ",t.title," ")}}function gs(n,e){if(n&1){let t=b();l(0,"gridster-item",1)(1,"div",2),z(2,ps,6,2),l(3,"div",3)(4,"app-widget-host",4),v("remove",function(s){C(t);let o=m();return w(o.remove.emit(s.id))}),a()()()()}if(n&2){let t=e.$implicit,i=m();c("item",t),h(),xt("edit-mode",i.editMode),h(),M(i.editMode?2:-1),h(2),c("item",t)("editMode",i.editMode)}}var he=class n{editMode=!1;items=[];itemsChange=new N;remove=new N;kill=new N;patch=new Map;itemChange=(e,t)=>{let i=t.item.id;i&&this.patch.set(i,{x:e.x??t.item.x,y:e.y??t.item.y,cols:e.cols??t.item.cols,rows:e.rows??t.item.rows})};itemResize=(e,t)=>{};options={gridType:u.Fixed,fixedColWidth:90,fixedRowHeight:90,margin:10,outerMargin:!0,compactType:_.None,pushItems:!0,displayGrid:se.None,resizable:{enabled:!0,stop:()=>this.emitSync()},draggable:{enabled:!1,stop:()=>this.emitSync()},itemChangeCallback:this.itemChange,itemResizeCallback:this.itemResize};ngOnChanges(e){let t=e.editMode;t&&t.currentValue!=t.previousValue&&(this.options=G(S({},this.options),{draggable:G(S({},this.options.draggable),{enabled:this.editMode}),resizable:G(S({},this.options.resizable),{enabled:this.editMode}),fixedColWidth:this.editMode?70:90,fixedRowHeight:this.editMode?70:90}))}emitSync(){let e=this.items.map(t=>{let i=this.patch.get(t.id);return i?S(S({},t),i):t});this.patch.clear(),this.itemsChange.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-dashboard-canvas"]],inputs:{editMode:"editMode",items:"items"},outputs:{itemsChange:"itemsChange",remove:"remove",kill:"kill"},features:[ot],decls:3,vars:1,consts:[[3,"options"],[3,"item"],[1,"card"],[1,"card-body"],[3,"remove","item","editMode"],["aria-hidden","true",1,"card-overlay"],["nz-button","","nzType","primary","nzSize","large"],["nz-icon","","nzTheme","outline",3,"nzType"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","\u79FB\u9664\u90E8\u4EF6",1,"remove-button",3,"click"],["nzType","close","nzTheme","outline"]],template:function(t,i){t&1&&(l(0,"gridster",0),K(1,gs,5,6,"gridster-item",1,cs),a()),t&2&&(c("options",i.options),h(),q(i.items))},dependencies:[D,W,A,V,H,F,B,be,yi,de,Ut],styles:["[_nghost-%COMP%]{display:block;height:100%}gridster[_ngcontent-%COMP%]{display:block;height:100%;background:var(--app-primary-1)}gridster-item[_ngcontent-%COMP%]{border-radius:10px}.card[_ngcontent-%COMP%]{height:100%;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000f;overflow:hidden;position:relative}.card.edit-mode[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.card-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;background:#ffffff8c;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:2}.remove-button[_ngcontent-%COMP%]{position:absolute;right:16px;top:16px;z-index:3;background:var(--app-primary-1);color:var(--app-primary);transition:all .3s}.remove-button[_ngcontent-%COMP%]:hover{background:var(--app-primary);color:#fff}.card-overlay[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{pointer-events:none;border-radius:20px}.title[_ngcontent-%COMP%]{font-size:12px;color:#000000bf}.card-body[_ngcontent-%COMP%]{position:relative;height:100%}.card.edit-mode[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%]{cursor:move;pointer-events:none;opacity:.8}"]})};var us=["class","component"],xi=class n{projectState=T(ti);layout=T(st);envInjector=T(De);projectId=R(()=>this.projectState.currentProjectId()||"");editMode=P(!1);items=R(()=>this.layout.items());constructor(){He(()=>{let e=this.projectId();e&&(Ve(()=>this.layout.load(e)),Ee(this.envInjector,()=>{Fe(()=>{queueMicrotask(()=>this.editMode.set(!1))})}))})}toggleEdit(){let e=!this.editMode();this.editMode.set(e),e?this.layout.getWidgets():this.layout.flushSave(this.projectId())}onItemsChange(e){this.layout.setItems(this.projectId(),e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=k({type:n,selectors:[["app-dashboard",8,"component"]],hostVars:2,hostBindings:function(t,i){t&2&&xt("collapsed",i.editMode())},attrs:us,decls:14,vars:8,consts:[[3,"title","isFullscreen"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","primary",3,"click"],["nzTheme","outline",3,"nzType"],[3,"itemsChange","remove","kill","editMode","items"],[1,"side-panel"],[1,"side-header"],[1,"title"],["nz-button","","nzType","text",3,"click"],["nzType","close"],[1,"side-body"],[3,"add"]],template:function(t,i){t&1&&(l(0,"app-page-layout",0),et(1,1),l(2,"button",2),v("click",function(){return i.toggleEdit()}),p(3,"nz-icon",3),g(4),a(),it(),l(5,"app-dashboard-canvas",4),v("itemsChange",function(o){return i.onItemsChange(o)})("remove",function(o){return i.layout.remove(o)})("kill",function(o){return i.layout.killProcess(o)}),a()(),l(6,"div",5)(7,"div",6)(8,"div",7),g(9,"\u6DFB\u52A0\u90E8\u4EF6"),a(),l(10,"button",8),v("click",function(){return i.editMode.set(!1)}),p(11,"nz-icon",9),a()(),l(12,"div",10)(13,"app-add-widget-drawer",11),v("add",function(o){return i.layout.add(o)}),a()()()),t&2&&(c("title","\u9879\u76EE\u4EEA\u8868\u76D8")("isFullscreen",!0),h(3),c("nzType",i.editMode()?"check":"edit"),h(),bt(" ",i.editMode()?"\u5B8C\u6210":"\u81EA\u5B9A\u4E49"," "),h(),c("editMode",i.editMode())("items",i.items()),h(),xt("open",i.editMode()))},dependencies:[D,W,A,V,H,F,B,Ke,qe,Je,he,ee],styles:["[_nghost-%COMP%]{height:100%;display:block;position:relative;transition:width .2s}.collapsed[_nghost-%COMP%]{width:calc(100% - 360px)}.side-panel[_ngcontent-%COMP%]{position:fixed;top:0;right:0;height:100vh;width:360px;background:#fff;box-shadow:-8px 0 24px #0000001f;transform:translate(100%);transition:transform .2s ease;z-index:1000;display:flex;flex-direction:column}.side-panel.open[_ngcontent-%COMP%]{transform:translate(0)}.side-header[_ngcontent-%COMP%]{height:56px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.06)}.side-body[_ngcontent-%COMP%]{flex:1;overflow:hidden}"]})};export{xi as DashboardComponent};
@@ -9,5 +9,5 @@
9
9
  <link rel="stylesheet" href="styles-ROAHD7MY.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-ROAHD7MY.css"></noscript></head>
10
10
  <body>
11
11
  <app-root></app-root>
12
- <link rel="modulepreload" href="chunk-DV7BEQJD.js"><link rel="modulepreload" href="chunk-EC33AXSR.js"><link rel="modulepreload" href="chunk-3N7T4ZJF.js"><link rel="modulepreload" href="chunk-HZ73CM45.js"><link rel="modulepreload" href="chunk-A2SBXP7A.js"><link rel="modulepreload" href="chunk-SNCDDYQR.js"><link rel="modulepreload" href="chunk-FPDGZ3ZC.js"><link rel="modulepreload" href="chunk-PTMJ422K.js"><link rel="modulepreload" href="chunk-HFZLJHYR.js"><link rel="modulepreload" href="chunk-53YRDYLS.js"><script src="main-IIW5QQA5.js" type="module"></script></body>
12
+ <link rel="modulepreload" href="chunk-CO7S3LZV.js"><link rel="modulepreload" href="chunk-EC33AXSR.js"><link rel="modulepreload" href="chunk-J2JNFWJN.js"><link rel="modulepreload" href="chunk-HZ73CM45.js"><link rel="modulepreload" href="chunk-W6TCGG53.js"><link rel="modulepreload" href="chunk-SNCDDYQR.js"><link rel="modulepreload" href="chunk-EP45FT55.js"><link rel="modulepreload" href="chunk-PTMJ422K.js"><link rel="modulepreload" href="chunk-HFZLJHYR.js"><link rel="modulepreload" href="chunk-53YRDYLS.js"><script src="main-V3VSEZ7K.js" type="module"></script></body>
13
13
  </html>