@yinuo-ngm/server 1.0.23 → 1.0.24

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 (97) hide show
  1. package/lib/modules/agent-connections/agent-connections.schema.d.ts +4 -0
  2. package/lib/modules/agent-connections/agent-connections.schema.js +112 -0
  3. package/lib/modules/agent-connections/agent-connections.service.d.ts +18 -0
  4. package/lib/modules/agent-connections/agent-connections.service.js +209 -0
  5. package/lib/modules/agent-connections/agent-connections.types.d.ts +57 -0
  6. package/lib/modules/agent-connections/agent-connections.types.js +2 -0
  7. package/lib/modules/agent-connections/atomic-json-file.d.ts +8 -0
  8. package/lib/modules/agent-connections/atomic-json-file.js +44 -0
  9. package/lib/modules/agent-connections/token-mask.d.ts +1 -0
  10. package/lib/modules/agent-connections/token-mask.js +12 -0
  11. package/lib/routes/agent-connections.routes.d.ts +3 -0
  12. package/lib/routes/agent-connections.routes.js +28 -0
  13. package/lib/routes/index.js +2 -0
  14. package/package.json +4 -3
  15. package/www/3rdpartylicenses.txt +5 -5
  16. package/www/browser/chunk-2EB7UV3S.js +15 -0
  17. package/www/browser/{chunk-3I7BQCXS.js → chunk-2S6Y2RQI.js} +1 -1
  18. package/www/browser/{chunk-U3EUR236.js → chunk-2SYBXRWK.js} +1 -1
  19. package/www/browser/{chunk-OUGN4APK.js → chunk-365ZCRSD.js} +1 -1
  20. package/www/browser/{chunk-6UFDNETG.js → chunk-3MPEGFKP.js} +1 -1
  21. package/www/browser/{chunk-WCHN62X6.js → chunk-4PSSTE76.js} +1 -1
  22. package/www/browser/{chunk-DENFXXOY.js → chunk-5HVK6MON.js} +1 -1
  23. package/www/browser/{chunk-TXAXE73U.js → chunk-5Y7KNVNN.js} +1 -1
  24. package/www/browser/chunk-6L2CHHFV.js +1 -0
  25. package/www/browser/{chunk-NNOWADVM.js → chunk-6ZXQKFRQ.js} +1 -1
  26. package/www/browser/chunk-735SLX4X.js +1 -0
  27. package/www/browser/chunk-7KLACOZT.js +2 -0
  28. package/www/browser/chunk-7VJKEZTT.js +20 -0
  29. package/www/browser/{chunk-CO3CQHKV.js → chunk-7X4X4YHI.js} +1 -1
  30. package/www/browser/chunk-ACYCDF6M.js +1 -0
  31. package/www/browser/{chunk-UJKK4A7Y.js → chunk-AQYHNHJ3.js} +1 -1
  32. package/www/browser/chunk-BHKSOTOM.js +1 -0
  33. package/www/browser/{chunk-3ODVU46S.js → chunk-BXZVX5KD.js} +1 -1
  34. package/www/browser/{chunk-TCBOC5FF.js → chunk-C5DOE7UG.js} +1 -1
  35. package/www/browser/{chunk-7AKVG375.js → chunk-C6GC5OOE.js} +1 -1
  36. package/www/browser/{chunk-SSCUT2GF.js → chunk-D5W7J3FS.js} +1 -1
  37. package/www/browser/chunk-DPGKZHEW.js +1 -0
  38. package/www/browser/chunk-DRV2KPHO.js +1 -0
  39. package/www/browser/chunk-E2WRB7KQ.js +2 -0
  40. package/www/browser/{chunk-MPLGMTLT.js → chunk-EAFAHVBG.js} +1 -1
  41. package/www/browser/{chunk-WWIPELAV.js → chunk-ERH36Q6S.js} +1 -1
  42. package/www/browser/chunk-GSUKZOEV.js +1 -0
  43. package/www/browser/chunk-GYXK6ZZT.js +1 -0
  44. package/www/browser/{chunk-PDI3HSSH.js → chunk-H27FQ6OP.js} +3 -3
  45. package/www/browser/chunk-I7RTVSMK.js +1 -0
  46. package/www/browser/{chunk-SD2HFD54.js → chunk-IVX3LVU4.js} +1 -1
  47. package/www/browser/{chunk-U2YWR3HF.js → chunk-IX6UZA7J.js} +1 -1
  48. package/www/browser/{chunk-CPJTSA6E.js → chunk-JFR7U5DE.js} +1 -1
  49. package/www/browser/chunk-JIVQNGBJ.js +1 -0
  50. package/www/browser/{chunk-PY3AUTHC.js → chunk-KDMWEV46.js} +1 -1
  51. package/www/browser/{chunk-JM6DCZP6.js → chunk-LRHJZDWY.js} +1 -1
  52. package/www/browser/chunk-NVN2P466.js +1 -0
  53. package/www/browser/{chunk-NREWZQVN.js → chunk-O64FT2TA.js} +1 -1
  54. package/www/browser/{chunk-YVRGRFK2.js → chunk-OZONPLGN.js} +1 -1
  55. package/www/browser/chunk-PC7TJLCL.js +2 -0
  56. package/www/browser/{chunk-7GLWEFTM.js → chunk-PNFC3J4Z.js} +1 -1
  57. package/www/browser/chunk-PRKDURHI.js +1 -0
  58. package/www/browser/{chunk-RMIYLAEM.js → chunk-PUHSNEN6.js} +1 -1
  59. package/www/browser/{chunk-442QFABJ.js → chunk-RKKAY5CD.js} +1 -1
  60. package/www/browser/{chunk-M6NZ6C2R.js → chunk-RLH7DAA2.js} +1 -1
  61. package/www/browser/chunk-S6BY2OTR.js +1 -0
  62. package/www/browser/{chunk-KRYMOHYF.js → chunk-SIKDYQOR.js} +1 -1
  63. package/www/browser/{chunk-RKK4I2RT.js → chunk-SVRGVAFE.js} +1 -1
  64. package/www/browser/chunk-TPVKLECM.js +1 -0
  65. package/www/browser/{chunk-UPOORT3S.js → chunk-VBMHQZWH.js} +1 -1
  66. package/www/browser/chunk-WVRMU265.js +1 -0
  67. package/www/browser/chunk-X6PRUZ5G.js +1 -0
  68. package/www/browser/{chunk-PUG3VNTI.js → chunk-XQQ6PT2E.js} +1 -1
  69. package/www/browser/chunk-XUUNCF53.js +1 -0
  70. package/www/browser/{chunk-4BRW6LCZ.js → chunk-YGWA6NUS.js} +1 -1
  71. package/www/browser/{chunk-2VJVGBXG.js → chunk-YNYWN7QI.js} +1 -1
  72. package/www/browser/chunk-Z4T3LTE2.js +1 -0
  73. package/www/browser/chunk-Z7GYTPTP.js +1 -0
  74. package/www/browser/chunk-ZZN3NP7F.js +1 -0
  75. package/www/browser/index.html +1 -1
  76. package/www/browser/main-HMOP3OWL.js +38 -0
  77. package/www/browser/chunk-6J6G7JEP.js +0 -1
  78. package/www/browser/chunk-7QR6RHLA.js +0 -1
  79. package/www/browser/chunk-H2USFIYR.js +0 -1
  80. package/www/browser/chunk-HC5KLPHD.js +0 -1
  81. package/www/browser/chunk-HJAP6WBI.js +0 -1
  82. package/www/browser/chunk-K6C5ZIV2.js +0 -20
  83. package/www/browser/chunk-MBPB43C6.js +0 -1
  84. package/www/browser/chunk-PB2LGZNW.js +0 -1
  85. package/www/browser/chunk-R4HSZU2J.js +0 -1
  86. package/www/browser/chunk-RZA3IFQV.js +0 -2
  87. package/www/browser/chunk-SEJGGBE2.js +0 -1
  88. package/www/browser/chunk-TS5ZQYYY.js +0 -1
  89. package/www/browser/chunk-TVJHI463.js +0 -1
  90. package/www/browser/chunk-UKCMUTYL.js +0 -1
  91. package/www/browser/chunk-VW3S7C2Z.js +0 -1
  92. package/www/browser/chunk-VZYJ3MSW.js +0 -15
  93. package/www/browser/chunk-WUA5JFDD.js +0 -1
  94. package/www/browser/chunk-WYNERG74.js +0 -2
  95. package/www/browser/chunk-XJDJL3TQ.js +0 -1
  96. package/www/browser/chunk-YV6QPLF5.js +0 -1
  97. package/www/browser/main-7GYUOEJY.js +0 -38
@@ -1,2 +0,0 @@
1
- import{b as gt,d as _t}from"./chunk-RKK4I2RT.js";import{a as ut,c as ht}from"./chunk-6UFDNETG.js";import{c as rt,d as at,e as lt,f as st,g as ct,h as dt,i as mt,j as pt}from"./chunk-WWIPELAV.js";import{a as Xe,b as Je}from"./chunk-MBPB43C6.js";import{a as it,b as ot}from"./chunk-SD2HFD54.js";import{$ as Ye,Ea as ze,Fa as Me,Ga as pe,Ha as ge,L as J,S as Ze,a as we,ra as Ke,ta as K,tb as et,ub as tt,wb as nt}from"./chunk-VZYJ3MSW.js";import{i as ie,n as oe}from"./chunk-KRYMOHYF.js";import{$b as I,Ac as F,Da as Ce,Ec as ce,Fb as y,Fc as Z,Gb as ne,Gc as T,Ha as Pe,Hc as Ue,Jc as f,Kc as q,L as ke,Lb as M,Lc as k,Mb as Qe,N as Ne,Oa as Q,Ra as Ve,Ub as le,Wb as v,Xc as qe,Yb as x,Zc as Ge,_b as $,ac as D,bc as _,cc as s,da as Re,dc as c,dd as de,ea as Fe,ec as X,f as ee,ha as Le,ic as A,id as We,jc as V,jd as ve,kb as Be,kc as se,l as De,lc as W,n as Ee,na as Ae,nb as r,oa as te,od as P,r as G,rc as U,s as S,sa as O,sb as $e,ub as He,uc as l,ud as Y,vc as N,wb as je,wc as E,xc as fe,ya as H,yc as B,yd as me,za as j,zc as R,zd as xe}from"./chunk-4BRW6LCZ.js";var oi=["open","in_progress","pending_update","resolved","verified","reopened","closed"],ri={open:"\u5F85\u5904\u7406",in_progress:"\u5904\u7406\u4E2D",resolved:"\u5F85\u9A8C\u8BC1",verified:"\u5DF2\u9A8C\u8BC1",reopened:"\u5DF2\u91CD\u5F00",closed:"\u5DF2\u5173\u95ED"},ai={open:"volcano",in_progress:"cyan",resolved:"blue",verified:"green",reopened:"volcano",closed:"default"},li={todo:"gold",in_progress:"geekblue",done:"green"},si={todo:"\u5F85\u5F00\u59CB",in_progress:"\u5904\u7406\u4E2D",done:"\u5DF2\u5B8C\u6210"},ci=[{label:"\u6240\u6709\u72B6\u6001",value:""},{label:"\u5F85\u5904\u7406",value:"open"},{label:"\u5904\u7406\u4E2D",value:"in_progress"},{label:"\u5F85\u63D0\u6D4B",value:"pending_update"},{label:"\u5F85\u9A8C\u8BC1",value:"resolved"},{label:"\u5DF2\u9A8C\u8BC1",value:"verified"},{label:"\u5DF2\u91CD\u5F00",value:"reopened"},{label:"\u5DF2\u5173\u95ED",value:"closed"}],di=["todo","doing","blocked","done","canceled"],mi={todo:"\u5F85\u5F00\u59CB",doing:"\u5F00\u53D1\u4E2D",blocked:"\u963B\u585E\u4E2D",done:"\u5DF2\u5B8C\u6210",accepted:"\u5DF2\u5B8C\u6210",closed:"\u5DF2\u5173\u95ED"},pi={todo:"volcano",doing:"cyan",blocked:"error",done:"green",accepted:"green",closed:"default"},gi=[{label:"\u6240\u6709\u72B6\u6001",value:""},{label:"\u5F85\u5F00\u59CB",value:"todo"},{label:"\u5F00\u53D1\u4E2D",value:"doing"},{label:"\u963B\u585E\u4E2D",value:"blocked"},{label:"\u5DF2\u5B8C\u6210",value:"done"},{label:"\u5DF2\u5173\u95ED",value:"closed"}];var ui={low:"\u4F4E",medium:"\u4E2D",high:"\u9AD8",critical:"\u7D27\u6025"},hi=[{label:"\u5168\u90E8\u4F18\u5148\u7EA7",value:""},{label:"\u4F4E",value:"low"},{label:"\u4E2D",value:"medium"},{label:"\u9AD8",value:"high"},{label:"\u7D27\u6025",value:"critical"}],Ci={low:"green",medium:"orange",high:"magenta",critical:"red"};var yt=["*"];function Tt(t,n){t&1&&E(0)}function St(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(3);r(),q(e.nzTitle)}}function It(t,n){if(t&1&&(s(0,"div",2),M(1,St,2,1,"ng-container",4),c()),t&2){let e=l(2);r(),_("nzStringTemplateOutlet",e.nzTitle)}}function Dt(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(3);r(),q(e.nzExtra)}}function Et(t,n){if(t&1&&(s(0,"div",3),M(1,Dt,2,1,"ng-container",4),c()),t&2){let e=l(2);r(),_("nzStringTemplateOutlet",e.nzExtra)}}function Nt(t,n){if(t&1&&(s(0,"div",0),v(1,It,2,1,"div",2),v(2,Et,2,1,"div",3),c()),t&2){let e=l();r(),x(e.nzTitle?1:-1),r(),x(e.nzExtra?2:-1)}}function Rt(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(2).$implicit;r(),k(" ",e.title," ")}}function Ft(t,n){}function Lt(t,n){if(t&1&&(s(0,"td",6)(1,"div",7)(2,"span",8),M(3,Rt,2,1,"ng-container",4),c(),s(4,"span",9),M(5,Ft,0,0,"ng-template",10),c()()()),t&2){let e=l().$implicit,i=l(3);_("colSpan",e.span),r(2),T("ant-descriptions-item-no-colon",!i.nzColon),r(),_("nzStringTemplateOutlet",e.title),r(2),_("ngTemplateOutlet",e.content)}}function At(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(2).$implicit;r(),k(" ",e.title," ")}}function Vt(t,n){}function Bt(t,n){if(t&1&&(s(0,"td",8),M(1,At,2,1,"ng-container",4),c(),s(2,"td",11),M(3,Vt,0,0,"ng-template",10),c()),t&2){let e=l().$implicit;r(),_("nzStringTemplateOutlet",e.title),r(),_("colSpan",e.span*2-1),r(),_("ngTemplateOutlet",e.content)}}function $t(t,n){if(t&1&&v(0,Lt,6,5,"td",6)(1,Bt,4,3),t&2){let e=l(3);x(e.nzBordered?1:0)}}function Ht(t,n){if(t&1&&(s(0,"tr",5),I(1,$t,2,1,null,null,$),c()),t&2){let e=n.$implicit;r(),D(e)}}function jt(t,n){if(t&1&&I(0,Ht,3,0,"tr",5,$),t&2){let e=l();D(e.itemMatrix)}}function Qt(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l().$implicit;r(),k(" ",e.title," ")}}function Ut(t,n){if(t&1&&(s(0,"td",6)(1,"div",7)(2,"span",8),M(3,Qt,2,1,"ng-container",4),c()()()),t&2){let e=n.$implicit,i=l(4);_("colSpan",e.span),r(2),T("ant-descriptions-item-no-colon",!i.nzColon),r(),_("nzStringTemplateOutlet",e.title)}}function qt(t,n){}function Gt(t,n){if(t&1&&(s(0,"td",6)(1,"div",7)(2,"span",9),M(3,qt,0,0,"ng-template",10),c()()()),t&2){let e=n.$implicit;_("colSpan",e.span),r(3),_("ngTemplateOutlet",e.content)}}function Wt(t,n){if(t&1&&(s(0,"tr",5),I(1,Ut,4,4,"td",6,$),c(),s(3,"tr",5),I(4,Gt,4,2,"td",6,$),c()),t&2){let e=n.$implicit;r(),D(e),r(3),D(e)}}function Zt(t,n){if(t&1&&I(0,Wt,6,0,null,null,$),t&2){let e=l(2);D(e.itemMatrix)}}function Yt(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l().$implicit;r(),k(" ",e.title," ")}}function Kt(t,n){if(t&1&&(s(0,"td",12),M(1,Yt,2,1,"ng-container",4),c()),t&2){let e=n.$implicit;_("colSpan",e.span),r(),_("nzStringTemplateOutlet",e.title)}}function Xt(t,n){}function Jt(t,n){if(t&1&&(s(0,"td",11),M(1,Xt,0,0,"ng-template",10),c()),t&2){let e=n.$implicit;_("colSpan",e.span),r(),_("ngTemplateOutlet",e.content)}}function en(t,n){if(t&1&&(s(0,"tr",5),I(1,Kt,2,2,"td",12,$),c(),s(3,"tr",5),I(4,Jt,2,2,"td",11,$),c()),t&2){let e=n.$implicit;r(),D(e),r(3),D(e)}}function tn(t,n){if(t&1&&I(0,en,6,0,null,null,$),t&2){let e=l(2);D(e.itemMatrix)}}function nn(t,n){if(t&1&&v(0,Zt,2,0)(1,tn,2,0),t&2){let e=l();x(e.nzBordered?1:0)}}var on=(()=>{class t{content;nzSpan=1;nzTitle="";inputChange$=new De;ngOnChanges(){this.inputChange$.next()}ngOnDestroy(){this.inputChange$.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["nz-descriptions-item"]],viewQuery:function(i,o){if(i&1&&B(je,7),i&2){let a;R(a=F())&&(o.content=a.first)}},inputs:{nzSpan:[2,"nzSpan","nzSpan",xe],nzTitle:"nzTitle"},exportAs:["nzDescriptionsItem"],features:[Q],ngContentSelectors:yt,decls:1,vars:0,template:function(i,o){i&1&&(N(),Qe(0,Tt,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return t})(),rn="descriptions",an={xxl:3,xl:3,lg:3,md:3,sm:2,xs:1},ln=(()=>{var p;let t,n=[],e=[],i,o=[],a=[],g,h=[],z=[],m,L=[],b=[];return p=class{nzConfigService=O(Ke);cdr=O(Y);breakpointService=O(nt);directionality=O(we);destroyRef=O(Ce);_nzModuleName=rn;items;nzBordered=S(this,n,!1);nzLayout=(S(this,e),"horizontal");nzColumn=S(this,o,an);nzSize=(S(this,a),S(this,h,"default"));nzTitle=(S(this,z),"");nzExtra;nzColon=S(this,L,!0);itemMatrix=(S(this,b),[]);realColumn=3;dir="ltr";breakpoint=et.md;ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(J(this.destroyRef)).subscribe(C=>{this.dir=C})}ngOnChanges(C){C.nzColumn&&this.prepareMatrix()}ngAfterContentInit(){let C=this.items.changes.pipe(Re(this.items));ke(C,C.pipe(Fe(()=>ke(...this.items.map(d=>d.inputChange$)).pipe(Ne(16)))),this.breakpointService.subscribe(tt).pipe(Le(d=>this.breakpoint=d))).pipe(J(this.destroyRef)).subscribe(()=>{this.prepareMatrix(),this.cdr.markForCheck()})}prepareMatrix(){if(!this.items)return;let C=[],d=0,w=this.realColumn=this.getColumn(),_e=this.items.toArray(),ae=_e.length,Se=[],Ie=()=>{Se.push(C),C=[],d=0};for(let ue=0;ue<ae;ue++){let kt=_e[ue],{nzTitle:be,content:Oe,nzSpan:he}=kt;d+=he,d>=w?(d>w&&Ze(`"nzColumn" is ${w} but we have row length ${d}`),C.push({title:be,content:Oe,span:w-(d-he)}),Ie()):ue===ae-1?(C.push({title:be,content:Oe,span:w-(d-he)}),Ie()):C.push({title:be,content:Oe,span:he})}this.itemMatrix=Se}getColumn(){return typeof this.nzColumn!="number"?this.nzColumn[this.breakpoint]:this.nzColumn}},(()=>{let C=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[K()],i=[K()],g=[K()],m=[K()],G(null,null,t,{kind:"field",name:"nzBordered",static:!1,private:!1,access:{has:d=>"nzBordered"in d,get:d=>d.nzBordered,set:(d,w)=>{d.nzBordered=w}},metadata:C},n,e),G(null,null,i,{kind:"field",name:"nzColumn",static:!1,private:!1,access:{has:d=>"nzColumn"in d,get:d=>d.nzColumn,set:(d,w)=>{d.nzColumn=w}},metadata:C},o,a),G(null,null,g,{kind:"field",name:"nzSize",static:!1,private:!1,access:{has:d=>"nzSize"in d,get:d=>d.nzSize,set:(d,w)=>{d.nzSize=w}},metadata:C},h,z),G(null,null,m,{kind:"field",name:"nzColon",static:!1,private:!1,access:{has:d=>"nzColon"in d,get:d=>d.nzColon,set:(d,w)=>{d.nzColon=w}},metadata:C},L,b),C&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:C})})(),ee(p,"\u0275fac",function(d){return new(d||p)}),ee(p,"\u0275cmp",y({type:p,selectors:[["nz-descriptions"]],contentQueries:function(d,w,_e){if(d&1&&fe(_e,on,4),d&2){let ae;R(ae=F())&&(w.items=ae)}},hostAttrs:[1,"ant-descriptions"],hostVars:8,hostBindings:function(d,w){d&2&&T("ant-descriptions-bordered",w.nzBordered)("ant-descriptions-middle",w.nzSize==="middle")("ant-descriptions-small",w.nzSize==="small")("ant-descriptions-rtl",w.dir==="rtl")},inputs:{nzBordered:[2,"nzBordered","nzBordered",me],nzLayout:"nzLayout",nzColumn:"nzColumn",nzSize:"nzSize",nzTitle:"nzTitle",nzExtra:"nzExtra",nzColon:[2,"nzColon","nzColon",me]},exportAs:["nzDescriptions"],features:[Q],decls:6,vars:3,consts:[[1,"ant-descriptions-header"],[1,"ant-descriptions-view"],[1,"ant-descriptions-title"],[1,"ant-descriptions-extra"],[4,"nzStringTemplateOutlet"],[1,"ant-descriptions-row"],[1,"ant-descriptions-item",3,"colSpan"],[1,"ant-descriptions-item-container"],[1,"ant-descriptions-item-label"],[1,"ant-descriptions-item-content"],[3,"ngTemplateOutlet"],[1,"ant-descriptions-item-content",3,"colSpan"],[1,"ant-descriptions-item-label",3,"colSpan"]],template:function(d,w){d&1&&(v(0,Nt,3,2,"div",0),s(1,"div",1)(2,"table")(3,"tbody"),v(4,jt,2,0),v(5,nn,2,1),c()()()),d&2&&(x(w.nzTitle||w.nzExtra?0:-1),r(4),x(w.nzLayout==="horizontal"?4:-1),r(),x(w.nzLayout==="vertical"?5:-1))},dependencies:[ge,pe,ie],encapsulation:2,changeDetection:0})),p})(),Li=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=ne({type:t});static \u0275inj=te({imports:[ln]})}return t})();var cn=["template"],ft=["*"];function dn(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(3);r(),q(e.nzLabel)}}function mn(t,n){if(t&1&&(s(0,"div",2),M(1,dn,2,1,"ng-container",5),c()),t&2){let e=l(2);r(),_("nzStringTemplateOutlet",e.nzLabel)}}function pn(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(2);r(),q(e.nzDot)}}function gn(t,n){if(t&1&&(s(0,"li",1),v(1,mn,2,1,"div",2),X(2,"div",3),s(3,"div",4),M(4,pn,2,1,"ng-container",5),c(),s(5,"div",6),E(6),c()()),t&2){let e=l();T("ant-timeline-item-right",(e.nzPosition||e.position)==="right")("ant-timeline-item-left",(e.nzPosition||e.position)==="left")("ant-timeline-item-last",e.isLast),r(),x(e.nzLabel?1:-1),r(2),Z("border-color",e.borderColor),T("ant-timeline-item-head-red",e.nzColor==="red")("ant-timeline-item-head-blue",e.nzColor==="blue")("ant-timeline-item-head-green",e.nzColor==="green")("ant-timeline-item-head-gray",e.nzColor==="gray")("ant-timeline-item-head-custom",!!e.nzDot),r(),_("nzStringTemplateOutlet",e.nzDot)}}function _n(t,n){if(t&1&&se(0,2),t&2){l();let e=ce(6);_("ngTemplateOutlet",e)}}function un(t,n){}function hn(t,n){if(t&1&&M(0,un,0,0,"ng-template",2),t&2){let e=n.$implicit;_("ngTemplateOutlet",e.template)}}function Cn(t,n){if(t&1&&se(0,2),t&2){l();let e=ce(6);_("ngTemplateOutlet",e)}}function fn(t,n){t&1&&X(0,"nz-icon",8)}function vn(t,n){if(t&1&&(A(0),f(1),v(2,fn,1,0,"nz-icon",8),V()),t&2){let e=l(3);r(),k(" ",e.nzPendingDot," "),r(),x(e.nzPendingDot?-1:2)}}function xn(t,n){if(t&1&&(A(0),f(1),V()),t&2){let e=l(3);r(),k(" ",e.isPendingBoolean?"":e.nzPending," ")}}function wn(t,n){if(t&1&&(s(0,"li",3),X(1,"div",4),s(2,"div",5),M(3,vn,3,2,"ng-container",6),c(),s(4,"div",7),M(5,xn,2,1,"ng-container",6),c()()),t&2){let e=l(2);r(3),_("nzStringTemplateOutlet",e.nzPendingDot),r(2),_("nzStringTemplateOutlet",e.nzPending)}}function zn(t,n){if(t&1&&v(0,wn,6,2,"li",3),t&2){let e=l();x(e.nzPending?0:-1)}}var ye=(()=>{class t{check$=new Ee(1);markForCheck(){this.check$.next()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=Ae({token:t,factory:t.\u0275fac})}return t})(),Mn=["red","blue","green","grey","gray"];function bn(t){return Mn.findIndex(n=>n===t)!==-1}var vt=(()=>{class t{cdr=O(Y);timelineService=O(ye);template;nzPosition;nzColor="blue";nzDot;nzLabel;isLast=!1;borderColor=null;position;ngOnChanges(e){this.timelineService.markForCheck();let{nzColor:i}=e;i&&this.updateCustomColor()}detectChanges(){this.cdr.detectChanges()}updateCustomColor(){this.borderColor=bn(this.nzColor)?null:this.nzColor}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["nz-timeline-item"],["","nz-timeline-item",""]],viewQuery:function(i,o){if(i&1&&B(cn,5),i&2){let a;R(a=F())&&(o.template=a.first)}},inputs:{nzPosition:"nzPosition",nzColor:"nzColor",nzDot:"nzDot",nzLabel:"nzLabel"},exportAs:["nzTimelineItem"],features:[Q],ngContentSelectors:ft,decls:2,vars:0,consts:[["template",""],[1,"ant-timeline-item"],[1,"ant-timeline-item-label"],[1,"ant-timeline-item-tail"],[1,"ant-timeline-item-head"],[4,"nzStringTemplateOutlet"],[1,"ant-timeline-item-content"]],template:function(i,o){i&1&&(N(),M(0,gn,7,20,"ng-template",null,0,de))},dependencies:[ge,pe],encapsulation:2,changeDetection:0})}return t})(),On=(()=>{class t{cdr=O(Y);timelineService=O(ye);directionality=O(we);destroyRef=O(Ce);listOfItems;nzMode="left";nzPending;nzPendingDot;nzReverse=!1;isPendingBoolean=!1;timelineItems=[];dir="ltr";hasLabelItem=!1;ngOnChanges(e){let{nzMode:i,nzReverse:o,nzPending:a}=e;(Ct(i)||Ct(o))&&this.updateChildren(),a&&(this.isPendingBoolean=a.currentValue===!0)}ngOnInit(){this.timelineService.check$.pipe(J(this.destroyRef)).subscribe(()=>{this.cdr.markForCheck()}),this.directionality.change?.pipe(J(this.destroyRef)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}ngAfterContentInit(){this.updateChildren(),this.listOfItems.changes.pipe(J(this.destroyRef)).subscribe(()=>{this.updateChildren()})}updateChildren(){if(this.listOfItems&&this.listOfItems.length){let e=this.listOfItems.length,i=!1;this.listOfItems.forEach((o,a)=>{o.isLast=this.nzReverse?a===0:a===e-1,o.position=kn(a,this.nzMode),!i&&o.nzLabel&&(i=!0),o.detectChanges()}),this.timelineItems=this.nzReverse?this.listOfItems.toArray().reverse():this.listOfItems.toArray(),this.hasLabelItem=i}else this.timelineItems=[],this.hasLabelItem=!1;this.cdr.markForCheck()}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["nz-timeline"]],contentQueries:function(i,o,a){if(i&1&&fe(a,vt,4),i&2){let g;R(g=F())&&(o.listOfItems=g)}},inputs:{nzMode:"nzMode",nzPending:"nzPending",nzPendingDot:"nzPendingDot",nzReverse:[2,"nzReverse","nzReverse",me]},exportAs:["nzTimeline"],features:[qe([ye]),Q],ngContentSelectors:ft,decls:8,vars:14,consts:[["pendingTemplate",""],[1,"ant-timeline"],[3,"ngTemplateOutlet"],[1,"ant-timeline-item","ant-timeline-item-pending"],[1,"ant-timeline-item-tail"],[1,"ant-timeline-item-head","ant-timeline-item-head-custom","ant-timeline-item-head-blue"],[4,"nzStringTemplateOutlet"],[1,"ant-timeline-item-content"],["nzType","loading"]],template:function(i,o){i&1&&(N(),s(0,"ul",1),v(1,_n,1,1,"ng-container",2),I(2,hn,1,1,null,2,$),v(4,Cn,1,1,"ng-container",2),c(),M(5,zn,1,1,"ng-template",null,0,de),E(7)),i&2&&(T("ant-timeline-label",o.hasLabelItem)("ant-timeline-right",!o.hasLabelItem&&o.nzMode==="right")("ant-timeline-alternate",o.nzMode==="alternate"||o.nzMode==="custom")("ant-timeline-pending",!!o.nzPending)("ant-timeline-reverse",o.nzReverse)("ant-timeline-rtl",o.dir==="rtl"),r(),x(o.nzReverse?1:-1),r(),D(o.timelineItems),r(2),x(o.nzReverse?-1:4))},dependencies:[ie,ge,pe,Me,ze],encapsulation:2,changeDetection:0})}return t})();function Ct(t){return!!(t&&(t.previousValue!==t.currentValue||t.isFirstChange()))}function kn(t,n){if(n!=="custom")return n==="left"||n==="right"?n:n==="alternate"&&t%2===0?"left":"right"}var to=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=ne({type:t});static \u0275inj=te({imports:[vt,On]})}return t})();function io(t,n,e,i){let o=(t??"").trim();if(!o)return{summary:"",imageUrl:null,imageAlt:""};let a=null,g="",h=/!\[([^\]]*)\]\(([^)]+)\)/.exec(o);if(h&&(g=h[1]?.trim()??"",a=Pn(h[2]??"",n,e,i)),!a){let m=/<img\b[^>]*\bsrc\s*=\s*['"]([^'"]+)['"][^>]*>/i.exec(o);m&&(a=m[1]?.trim()??null,g=/<img\b[^>]*\balt\s*=\s*['"]([^'"]*)['"][^>]*>/i.exec(m[0]??"")?.[1]?.trim()??"")}return{summary:o.replace(/!\[([^\]]*)\]\(([^)]+)\)/g,"\u3010\u56FE\u7247\u3011").replace(/<img\b[^>]*>/gi," ").replace(/```[\s\S]*?```/g," ").replace(/`([^`]*)`/g,"$1").replace(/\[([^\]]+)\]\(([^)]+)\)/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/^\s*>\s?/gm,"").replace(/^\s*[-*+]\s+/gm,"").replace(/<\/?[^>]+>/g," ").replace(/[*_~]/g,"").replace(/\r?\n+/g," ").replace(/\s+/g," ").trim(),imageUrl:a||null,imageAlt:g}}function Pn(t,n,e,i){let o=t.trim();if(!o)return null;let a=o.match(/\/api\/admin\/uploads\/([a-zA-Z0-9_-]+)\/raw/);if(!a)return o;let g=a[1];return`/api/client/hub-token/projects/${n}/${i}/${e}/uploads/${g}/raw`}function oo(t,n,e,i){let o=/!\[.*?\]\((\/api\/admin\/uploads\/[a-zA-Z0-9_-]+\/raw)\)/g;return t.replace(o,(a,g)=>{let h=g.match(/uploads\/([a-zA-Z0-9_-]+)/);if(!h)return a;let z=h[1],m=`/api/client/hub-token/projects/${n}/${i}/${e}/uploads/${z}/raw`;return a.replace(g,m)})}function ro(t,n,e,i){let o=[],a=/!\[.*?\]\((\/api\/admin\/uploads\/[a-zA-Z0-9_-]+\/raw)\)/g;return{text:t.replace(a,(h,z)=>{let m=z.match(/uploads\/([a-zA-Z0-9_-]+)/);if(!m)return h;let L=m[1],b=`/api/client/hub-token/projects/${n}/${i}/${e}/uploads/${L}/raw`;return o.push(b),""}).replace(/\n{2,}/g,`
2
- `).trim(),imgUrls:o}}function ao(t,n,e=/(@[^\s@,,.。;;::!?!?]+)/g){if(!t)return[];let i=new Set(n),o=[],a=0,g=new RegExp(e.source,e.flags);for(let h of t.matchAll(g)){let z=h.index,m=h[0],L=m.slice(1);z>a&&o.push({text:t.slice(a,z)}),o.push({text:m,mention:i.has(L)}),a=z+m.length}return a<t.length&&o.push({text:t.slice(a)}),o}var yn=["textRef"],Tn=["*"];function Sn(t,n){t&1&&E(0)}function In(t,n){t&1&&se(0)}function Dn(t,n){if(t&1&&M(0,In,1,0,"ng-container",4),t&2){l();let e=ce(5);_("ngTemplateOutlet",e)}}function En(t,n){if(t&1&&f(0),t&2){let e=l();k(" ",e.text()," ")}}function Nn(t,n){if(t&1){let e=W();s(0,"a",5),U("click",function(){H(e);let o=l();return j(o.toggle())}),f(1),c()}if(t&2){let e=l();r(),k(" ",e.expanded()?"\u6536\u8D77":"\u5C55\u5F00"," ")}}var xt=class t{text=P("");lines=P(2);maxHeight=P(null);enableToggle=P(!0);textRef;observer;expanded=Pe(!1);showToggle=Pe(!1);hasTextInput=We(()=>!!this.text());ngAfterViewInit(){this.checkOverflow(),this.initObserver()}ngOnDestroy(){this.observer?.disconnect()}constructor(){ve(()=>{this.text(),this.lines(),setTimeout(()=>this.checkOverflow())})}initObserver(){let n=this.textRef?.nativeElement;n&&(this.observer=new MutationObserver(()=>{this.checkOverflow()}),this.observer.observe(n,{childList:!0,subtree:!0,characterData:!0}))}checkOverflow(){this.toggle(!1),this.showToggle.set(!1);let n=this.textRef?.nativeElement;n&&requestAnimationFrame(()=>{let e=n.scrollHeight>n.clientHeight,i=this.maxHeight()!=null&&n.scrollHeight>this.maxHeight();this.showToggle.set(e||i)})}toggle(n){n!==void 0?this.expanded.set(n):this.expanded.update(e=>!e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=y({type:t,selectors:[["app-ellipsis-text"]],viewQuery:function(e,i){if(e&1&&B(yn,5),e&2){let o;R(o=F())&&(i.textRef=o.first)}},inputs:{text:[1,"text"],lines:[1,"lines"],maxHeight:[1,"maxHeight"],enableToggle:[1,"enableToggle"]},ngContentSelectors:Tn,decls:7,vars:8,consts:[["textRef",""],["textTpl",""],[1,"text"],[1,"toggle"],[4,"ngTemplateOutlet"],[1,"toggle",3,"click"]],template:function(e,i){e&1&&(N(),s(0,"span",2,0),v(2,Sn,1,0)(3,Dn,1,1,"ng-container"),M(4,En,1,1,"ng-template",null,1,de),c(),v(6,Nn,2,1,"a",3)),e&2&&(Z("--line-clamp",i.lines())("--max-height",i.maxHeight(),"px"),T("expanded",i.expanded()),r(2),x(i.hasTextInput()?3:2),r(4),x(i.showToggle()&&i.enableToggle()?6:-1))},dependencies:[oe,ie],styles:[".text[_ngcontent-%COMP%]{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;-webkit-line-clamp:var(--line-clamp);max-height:var(--max-height)}.text.expanded[_ngcontent-%COMP%]{-webkit-line-clamp:unset!important;max-height:none!important}.toggle[_ngcontent-%COMP%]{font-size:.8rem;font-weight:700;color:#1677ff;cursor:pointer;-webkit-user-select:none;user-select:none}"]})};var Rn=["container"],Fn=["*"],Ln=(t,n)=>n.title;function An(t,n){if(t&1&&(s(0,"th",3),f(1),c()),t&2){let e=n.$implicit,i=l();_("nzWidth",i.getColumnWidth(e.width))("nzEllipsis",e.ellipsis||!1),r(),k(" ",e.title," ")}}var wt=class t{data=P([]);columns=P([]);loading=P(!1);container;constructor(){let n=this.data();ve(()=>{let e=this.data();e!==n&&(n=e,requestAnimationFrame(()=>{this.container.nativeElement.scrollTop=0}))})}getColumnWidth(n){return n===void 0?"auto":n===""?"":typeof n=="number"?`${n}px`:n}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=y({type:t,selectors:[["app-scrollable-table-list"]],viewQuery:function(e,i){if(e&1&&B(Rn,7),e&2){let o;R(o=F())&&(i.container=o.first)}},inputs:{data:[1,"data"],columns:[1,"columns"],loading:[1,"loading"]},ngContentSelectors:Fn,decls:9,vars:4,consts:[["container",""],[1,"scrollable-table"],["nzTableLayout","fixed",1,"table",3,"nzData","nzFrontPagination","nzShowPagination","nzLoading"],[3,"nzWidth","nzEllipsis"],[1,"table-body"]],template:function(e,i){e&1&&(N(),s(0,"div",1,0)(2,"nz-table",2)(3,"thead")(4,"tr"),I(5,An,2,3,"th",3,Ln),c()(),s(7,"tbody",4),E(8),c()()()),e&2&&(r(2),_("nzData",i.data())("nzFrontPagination",!1)("nzShowPagination",!1)("nzLoading",i.loading()),r(3),D(i.columns()))},dependencies:[pt,ct,rt,at,mt,st,dt,lt,oe],styles:[".scrollable-table[_ngcontent-%COMP%]{width:100%;height:100%;min-height:0;border-radius:8px;border:1px solid #f0f0f0;overflow:auto}.scrollable-table[_ngcontent-%COMP%]::-webkit-scrollbar{width:6px;height:6px}.scrollable-table[_ngcontent-%COMP%]::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.scrollable-table[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}.scrollable-table[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background:#bfbfbf} .table-body>tr{cursor:pointer} .table-body>tr:hover>td{background-color:#f5f5f5} .table-body>tr.selected>td:first-child{border-left:4px solid #91d5ff} .table-body>tr.selected:hover>td{background-color:#e6f7ff} .table-body>tr.selected>td{background-color:#e6f7ff} .nz-disable-td.ant-table-cell{border-bottom:0} .ant-table-thead.ng-star-inserted{position:sticky;top:0;z-index:100}"]})};var Vn=[[["","actions",""]],"*"],Bn=["[actions]","*"],$n=t=>({maxHeight:t});function Hn(t,n){if(t&1&&X(0,"nz-badge",5),t&2){let e=l(2);_("nzCount",e.count())}}function jn(t,n){if(t&1&&(s(0,"div",1)(1,"h2",4),f(2),v(3,Hn,1,1,"nz-badge",5),c(),E(4),c()),t&2){let e=l();r(2),k(" ",e.title()," "),r(),x(e.count()!==null?3:-1)}}function Qn(t,n){if(t&1&&(s(0,"div",3),f(1),c()),t&2){let e=l();r(),q(e.emptyText())}}function Un(t,n){t&1&&E(0,1)}var zt=class t{title=P();maxHeight=P();count=P(null);emptyStatus=P(!1);emptyText=P("\u6682\u65E0\u6570\u636E");static \u0275fac=function(e){return new(e||t)};static \u0275cmp=y({type:t,selectors:[["app-detail-item-card"]],inputs:{title:[1,"title"],maxHeight:[1,"maxHeight"],count:[1,"count"],emptyStatus:[1,"emptyStatus"],emptyText:[1,"emptyText"]},ngContentSelectors:Bn,decls:5,vars:6,consts:[[1,"detail-item"],[1,"actions"],[1,"content"],[1,"empty"],[1,"wrap-title"],["nzStandalone","","nzShowZero","","nzColor","#eaeaea",3,"nzCount"]],template:function(e,i){e&1&&(N(Vn),s(0,"nz-card",0),v(1,jn,5,2,"div",1),s(2,"div",2),v(3,Qn,2,1,"div",3)(4,Un,1,0),c()()),e&2&&(Ue(Ge(4,$n,i.maxHeight())),r(),x(i.title()?1:-1),r(2),x(i.emptyStatus()?3:4))},dependencies:[Je,Xe,ot,it],styles:[".detail-item[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;flex-direction:column}.detail-item[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{margin-bottom:12px;padding:0 4px 4px;display:flex;border-bottom:1px solid #f0f0f0}.detail-item[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] .wrap-title[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;margin-bottom:0;width:100%;font-size:18px;font-weight:700}[_nghost-%COMP%] .ant-card-body{min-height:0;height:100%;flex:1;display:flex;flex-direction:column}.content[_ngcontent-%COMP%]{overflow-y:auto;flex:1}.empty[_ngcontent-%COMP%]{font-size:.875rem;text-align:center;color:gray}[_nghost-%COMP%] .ant-card-bordered{border-radius:10px}"]})};var qn=["textEl"],Mt=["*"];function Gn(t,n){if(t&1&&X(0,"nz-icon",1),t&2){let e=l();_("nzType",e.nzIcon)}}function Wn(t,n){if(t&1){let e=W();s(0,"img",4),U("error",function(o){H(e);let a=l();return j(a.imgError(o))}),c()}if(t&2){let e=l();_("src",e.nzSrc,Be),le("srcset",e.nzSrcSet)("alt",e.nzAlt)("loading",e.nzLoading()||"eager")("fetchpriority",e.nzFetchPriority()||"auto")}}function Zn(t,n){if(t&1&&(s(0,"span",3,0),f(2),c()),t&2){let e=l();r(2),q(e.nzText)}}var Yn="avatar",Kn=(()=>{var m;let t,n=[],e=[],i,o=[],a=[],g,h=[],z=[];return m=class{_nzModuleName=Yn;nzShape=S(this,n,"circle");nzSize=(S(this,e),S(this,o,"default"));nzGap=(S(this,a),S(this,h,4));nzText=S(this,z);nzSrc;nzSrcSet;nzAlt;nzIcon;nzLoading=P();nzFetchPriority=P();nzError=new $e;hasText=!1;hasSrc=!0;hasIcon=!1;customSize=null;textEl;el=O(Ve).nativeElement;cdr=O(Y);constructor(){He(()=>this.calcStringSize())}imgError(b){this.nzError.emit(b),b.defaultPrevented||(this.hasSrc=!1,this.hasIcon=!1,this.hasText=!1,this.nzIcon?this.hasIcon=!0:this.nzText&&(this.hasText=!0),this.cdr.detectChanges(),this.setSizeStyle(),this.calcStringSize())}ngOnChanges(){this.hasText=!this.nzSrc&&!!this.nzText,this.hasIcon=!this.nzSrc&&!!this.nzIcon,this.hasSrc=!!this.nzSrc,this.setSizeStyle(),this.calcStringSize()}calcStringSize(){if(!this.hasText||!this.textEl)return;let b=this.textEl.nativeElement,p=b.offsetWidth,u=this.el.getBoundingClientRect?.().width??0,C=this.nzGap*2<u?this.nzGap*2:8,d=u-C<p?(u-C)/p:1;b.style.transform=`scale(${d}) translateX(-50%)`,b.style.lineHeight=this.customSize||""}setSizeStyle(){typeof this.nzSize=="number"?this.customSize=Ye(this.nzSize):this.customSize=null,this.cdr.markForCheck()}},(()=>{let b=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[K()],i=[K()],g=[K()],G(null,null,t,{kind:"field",name:"nzShape",static:!1,private:!1,access:{has:p=>"nzShape"in p,get:p=>p.nzShape,set:(p,u)=>{p.nzShape=u}},metadata:b},n,e),G(null,null,i,{kind:"field",name:"nzSize",static:!1,private:!1,access:{has:p=>"nzSize"in p,get:p=>p.nzSize,set:(p,u)=>{p.nzSize=u}},metadata:b},o,a),G(null,null,g,{kind:"field",name:"nzGap",static:!1,private:!1,access:{has:p=>"nzGap"in p,get:p=>p.nzGap,set:(p,u)=>{p.nzGap=u}},metadata:b},h,z),b&&Object.defineProperty(m,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:b})})(),ee(m,"\u0275fac",function(p){return new(p||m)}),ee(m,"\u0275cmp",y({type:m,selectors:[["nz-avatar"]],viewQuery:function(p,u){if(p&1&&B(qn,5),p&2){let C;R(C=F())&&(u.textEl=C.first)}},hostAttrs:[1,"ant-avatar"],hostVars:20,hostBindings:function(p,u){p&2&&(Z("width",u.customSize)("height",u.customSize)("line-height",u.customSize)("font-size",u.hasIcon&&u.customSize?u.nzSize/2:null,"px"),T("ant-avatar-lg",u.nzSize==="large")("ant-avatar-sm",u.nzSize==="small")("ant-avatar-square",u.nzShape==="square")("ant-avatar-circle",u.nzShape==="circle")("ant-avatar-icon",u.nzIcon)("ant-avatar-image",u.hasSrc))},inputs:{nzShape:"nzShape",nzSize:"nzSize",nzGap:[2,"nzGap","nzGap",xe],nzText:"nzText",nzSrc:"nzSrc",nzSrcSet:"nzSrcSet",nzAlt:"nzAlt",nzIcon:"nzIcon",nzLoading:[1,"nzLoading"],nzFetchPriority:[1,"nzFetchPriority"]},outputs:{nzError:"nzError"},exportAs:["nzAvatar"],features:[Q],ngContentSelectors:Mt,decls:4,vars:1,consts:[["textEl",""],[3,"nzType"],[3,"src"],[1,"ant-avatar-string"],[3,"error","src"]],template:function(p,u){p&1&&(N(),v(0,Gn,1,1,"nz-icon",1)(1,Wn,1,5,"img",2)(2,Zn,3,1,"span",3),E(3)),p&2&&x(u.nzIcon&&u.hasIcon?0:u.nzSrc&&u.hasSrc?1:u.nzText&&u.hasText?2:-1)},dependencies:[Me,ze],encapsulation:2,changeDetection:0})),m})(),Uo=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=y({type:t,selectors:[["nz-avatar-group"]],hostAttrs:[1,"ant-avatar-group"],exportAs:["nzAvatarGroup"],ngContentSelectors:Mt,decls:1,vars:0,template:function(i,o){i&1&&(N(),E(0))},encapsulation:2,changeDetection:0})}return t})(),qo=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=ne({type:t});static \u0275inj=te({imports:[Kn]})}return t})();var Xn=["viewerRef"],Ot=(t,n)=>n.id;function Jn(t,n){if(t&1){let e=W();s(0,"li")(1,"button",12),U("click",function(){let o=H(e).$implicit,a=l(3);return j(a.jumpToHeading(o.id))}),f(2),c()()}if(t&2){let e=n.$implicit,i=l(3);r(),Z("padding-left",(e.level-1)*12,"px"),T("is-active",i.activeTocId===e.id),le("data-toc-id",e.id),r(),k(" ",e.text," ")}}function ei(t,n){if(t&1&&(s(0,"aside",9)(1,"div",10),f(2,"On this page"),c(),s(3,"ul",11),I(4,Jn,3,6,"li",null,Ot),c()()),t&2){let e=l(2);r(4),D(e.tocItems)}}function ti(t,n){if(t&1){let e=W();s(0,"div",7)(1,"button",8),U("click",function(){H(e);let o=l();return j(o.toggleToc())}),f(2),c(),v(3,ei,6,0,"aside",9),c()}if(t&2){let e=l();T("is-collapsed",e.tocCollapsed),r(2),k(" ",e.tocCollapsed?"\u76EE\u5F55":"\u6536\u8D77\u76EE\u5F55"," "),r(),x(e.tocCollapsed?-1:3)}}function ni(t,n){if(t&1){let e=W();s(0,"li")(1,"button",12),U("click",function(){let o=H(e).$implicit,a=l(2);return j(a.jumpToHeading(o.id))}),f(2),c()()}if(t&2){let e=n.$implicit,i=l(2);r(),Z("padding-left",(e.level-1)*12,"px"),T("is-active",i.activeTocId===e.id),le("data-toc-id",e.id),r(),k(" ",e.text," ")}}function ii(t,n){if(t&1&&(s(0,"aside",4)(1,"div",10),f(2,"On this page"),c(),s(3,"ul",11),I(4,ni,3,6,"li",null,Ot),c()()),t&2){let e=l();r(4),D(e.tocItems)}}var bt=class t{imageService=O(gt);cdr=O(Y);viewerRef;content="";showToc=!0;tocVariant="inline";tocCollapsedByDefault=!1;tocItems=[];activeTocId=null;tocCollapsed=!1;headingElements=[];scrollContainer=null;scrollListener=null;ngOnChanges(n){(n.content||n.showToc||n.tocCollapsedByDefault||n.tocVariant)&&queueMicrotask(()=>this.buildToc())}onMarkdownReady(){this.buildToc()}ngOnDestroy(){this.teardownScrollTracking()}jumpToHeading(n){let i=this.viewerRef?.nativeElement?.querySelector(`#${CSS.escape(n)}`);if(!i)return;this.activeTocId=n,this.cdr.markForCheck(),queueMicrotask(()=>this.ensureActiveTocItemVisible());let o=this.scrollContainer instanceof HTMLElement?this.scrollContainer:null,a=16;if(o){let h=o.getBoundingClientRect(),z=i.getBoundingClientRect(),m=o.scrollTop+(z.top-h.top)-a;o.scrollTo({top:Math.max(0,m),behavior:"smooth"});return}let g=i.getBoundingClientRect().top+window.scrollY-88;window.scrollTo({top:Math.max(0,g),behavior:"smooth"})}toggleToc(){this.tocCollapsed=!this.tocCollapsed}onContentClick(n){let i=n.target?.closest("img");if(!i?.src)return;let o=this.viewerRef?.nativeElement,a=o?Array.from(o.querySelectorAll("img")):[i],g=a.map(m=>({src:m.currentSrc||m.src,alt:m.alt||void 0})).filter(m=>!!m.src),h=Math.max(0,a.findIndex(m=>m===i));if(g.length===0)return;let z=this.imageService.preview(g,{nzMaskClosable:!0,nzKeyboard:!0});h>0&&z.switchTo(h)}buildToc(){if(!this.showToc){this.tocItems=[],this.activeTocId=null,this.tocCollapsed=!0,this.teardownScrollTracking(),this.cdr.markForCheck();return}let n=this.viewerRef?.nativeElement;if(!n){this.tocItems=[],this.activeTocId=null,this.tocCollapsed=this.tocCollapsedByDefault,this.teardownScrollTracking(),this.cdr.markForCheck();return}let e=Array.from(n.querySelectorAll("h1, h2, h3")),i=new Map,o=[];for(let a=0;a<e.length;a+=1){let g=e[a],h=(g.textContent||"").trim();if(!h)continue;let z=Number(g.tagName.slice(1))||1,m=this.slugify(h)||`section-${a+1}`,L=i.get(m)??0;i.set(m,L+1),L>0&&(m=`${m}-${L+1}`),g.id=g.id||m,o.push({id:g.id,text:h,level:z})}this.tocItems=o,this.activeTocId=o[0]?.id??null,this.tocCollapsed=this.tocCollapsedByDefault,this.setupScrollTracking(n,e),this.cdr.markForCheck()}setupScrollTracking(n,e){if(this.teardownScrollTracking(),e.length===0)return;this.headingElements=e;let i=this.findScrollContainer(n);this.scrollContainer=i??window,this.scrollListener=()=>this.syncActiveHeading(),this.scrollContainer.addEventListener("scroll",this.scrollListener,{passive:!0}),window.addEventListener("resize",this.scrollListener,{passive:!0}),this.syncActiveHeading()}teardownScrollTracking(){this.scrollListener&&(this.scrollContainer?.removeEventListener("scroll",this.scrollListener),window.removeEventListener("resize",this.scrollListener)),this.headingElements=[],this.scrollContainer=null,this.scrollListener=null}syncActiveHeading(){if(this.headingElements.length===0)return;let n=96,e=this.headingElements[0],i=this.scrollContainer instanceof HTMLElement?this.scrollContainer:null;if(i){let o=i.getBoundingClientRect(),a=i.scrollTop+n;Math.max(i.scrollHeight-i.clientHeight,0)-i.scrollTop<=2&&(e=this.headingElements[this.headingElements.length-1]);for(let z of this.headingElements)if(z.getBoundingClientRect().top-o.top+i.scrollTop<=a)e=z;else break}else for(let o of this.headingElements)if(o.getBoundingClientRect().top<=n)e=o;else break;!e.id||e.id===this.activeTocId||(this.activeTocId=e.id,this.cdr.markForCheck(),queueMicrotask(()=>this.ensureActiveTocItemVisible()))}ensureActiveTocItemVisible(){let n=this.viewerRef?.nativeElement;if(!n||!this.activeTocId)return;let e=n.querySelector(`.markdown-toc__item[data-toc-id="${CSS.escape(this.activeTocId)}"]`);if(!e)return;let i=e.closest(".markdown-toc--floating, .markdown-toc");if(!i)return;e.scrollIntoView({block:"nearest",inline:"nearest"});let o=e.offsetTop,a=o+e.offsetHeight,g=i.scrollTop,h=g+i.clientHeight;o<g?i.scrollTop=Math.max(o-8,0):a>h&&(i.scrollTop=a-i.clientHeight+8)}findScrollContainer(n){let e=n.parentElement;for(;e;){let o=getComputedStyle(e).overflowY;if((o==="auto"||o==="scroll")&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement}return null}slugify(n){return n.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^\w\u4e00-\u9fa5-]/g,"").replace(/-+/g,"-").replace(/^-|-$/g,"")}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=y({type:t,selectors:[["app-markdown-viewer"]],viewQuery:function(e,i){if(e&1&&B(Xn,7),e&2){let o;R(o=F())&&(i.viewerRef=o.first)}},inputs:{content:"content",showToc:"showToc",tocVariant:"tocVariant",tocCollapsedByDefault:"tocCollapsedByDefault"},features:[Q],decls:7,vars:6,consts:[["viewerRef",""],[1,"markdown-viewer","markdown-body",3,"click"],[1,"markdown-layout"],[1,"markdown-toc-floating",3,"is-collapsed"],[1,"markdown-toc"],[1,"markdown-content"],[3,"ready","data","clipboard"],[1,"markdown-toc-floating"],["type","button",1,"markdown-toc-floating__toggle",3,"click"],[1,"markdown-toc","markdown-toc--floating"],[1,"markdown-toc__title"],[1,"markdown-toc__list"],["type","button",1,"markdown-toc__item",3,"click"]],template:function(e,i){if(e&1){let o=W();s(0,"div",1,0),U("click",function(g){return H(o),j(i.onContentClick(g))}),s(2,"div",2),v(3,ti,4,4,"div",3),v(4,ii,6,0,"aside",4),s(5,"div",5)(6,"markdown",6),U("ready",function(){return H(o),j(i.onMarkdownReady())}),c()()()()}e&2&&(r(2),T("has-toc",i.showToc&&i.tocItems.length>0&&i.tocVariant==="inline"),r(),x(i.showToc&&i.tocItems.length>0&&i.tocVariant==="floating"?3:-1),r(),x(i.showToc&&i.tocItems.length>0&&i.tocVariant==="inline"?4:-1),r(2),_("data",i.content)("clipboard",!0))},dependencies:[oe,ht,ut,_t],styles:['[_nghost-%COMP%]{display:block;width:100%}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%]{font-size:14px;line-height:1.8;color:var(--text-primary, #262626);word-break:break-word}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-layout[_ngcontent-%COMP%]{display:block;position:relative}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-layout.has-toc[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;align-items:start}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-content[_ngcontent-%COMP%]{min-width:0;order:1;display:flow-root}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc-floating[_ngcontent-%COMP%]{position:sticky;top:8px;z-index:4;display:flex;flex-direction:column;align-items:flex-end;gap:8px;float:right;clear:right;margin:0 0 8px 16px;width:fit-content}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%]{height:30px;min-width:64px;padding:0 10px;border:1px solid var(--border-color-soft, #d9dde6);border-radius:999px;background:var(--surface-elevated, rgba(255, 255, 255, .92));color:var(--text-secondary, #475569);font-size:12px;line-height:28px;cursor:pointer;box-shadow:0 6px 16px #0f172a1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%]:hover{color:var(--text-primary, #0f172a)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%]{width:220px;max-height:min(55vh,420px);overflow:auto;margin:0;padding:10px 0 10px 14px;border-radius:14px;border:1px solid var(--border-color-soft, #e5e6eb);background:var(--surface-elevated, rgba(255, 255, 255, .96));box-shadow:0 14px 28px #0f172a29;position:static}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc.markdown-toc--floating[_ngcontent-%COMP%]{position:static;top:auto;order:initial;border-left:0;padding-left:14px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc[_ngcontent-%COMP%]{margin:0;padding:6px 0 6px 18px;border-left:1px solid var(--border-color-soft, #e5e6eb);position:sticky;top:76px;order:2;min-width:0;max-height:min(68vh,calc(100vh - 140px));overflow:auto}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__title[_ngcontent-%COMP%]{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text-heading, #1f2937)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:grid;gap:2px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]{position:relative;width:100%;min-height:30px;border:0;border-radius:0;background:transparent;color:var(--text-muted, #64748b);text-align:left;font-size:13px;line-height:1.45;padding:4px 8px 4px 10px;cursor:pointer;white-space:normal;word-break:break-word;overflow-wrap:anywhere}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover{background:transparent;color:var(--text-primary, #0f172a)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%]{color:var(--primary-500, #2563eb);font-weight:600}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%]:after{content:"";position:absolute;left:2px;top:7px;bottom:7px;width:2px;border-radius:999px;background:var(--primary-500, #2563eb)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]{padding-left:10px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h1, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h2, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h3, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h4, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h5, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h6{margin:1.2em 0 .6em;font-weight:600;line-height:1.4;word-break:break-word;overflow-wrap:anywhere}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h1{font-size:28px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h2{font-size:24px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h3{font-size:20px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h1, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h2, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h3, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h4, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h5, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] h6{scroll-margin-top:88px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] p{margin:0 0 12px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] ul, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] ol{margin:0 0 12px;padding-left:24px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] li{margin:4px 0}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] blockquote{margin:0 0 12px;padding:8px 12px;color:#595959;border-left:4px solid #d9d9d9;background:#fafafa}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] pre{overflow:auto;padding:12px 14px;border-radius:8px;background:#f6f8fa;border:1px solid var(--border-color-soft, #e5e6eb)}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] code{font-family:Consolas,Courier New,monospace}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] :not(pre)>code{padding:2px 6px;border-radius:6px;background:var(--bg-subtle, #f5f7fa);border:1px solid var(--border-color-soft, #e5e6eb);color:var(--text-primary, #262626);font-size:13px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] pre code{background:transparent;border:0;padding:0;color:inherit;font-size:13px;line-height:1.7}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] table{width:100%;margin:0 0 12px;border-collapse:collapse}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] th, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] td{padding:8px 10px;border:1px solid #e5e6eb;text-align:left}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] img{display:block;max-width:100%;width:auto;max-height:min(32vh,100px);margin:12px 0;border-radius:10px;object-fit:contain;border:1px solid var(--border-color-soft, #e5e6eb);background:var(--bg-elevated, #fff);cursor:zoom-in;box-shadow:0 4px 12px #0f172a14}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] a{color:#1677ff;text-decoration:none}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] a:hover{text-decoration:underline}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] pre, html[data-theme="dark"] [_nghost-%COMP%] pre{background:#0f172a;border-color:#94a3b83d}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] :not(pre)>code, html[data-theme="dark"] [_nghost-%COMP%] :not(pre)>code{background:#94a3b824;border-color:#94a3b83d;color:#e2e8f0}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc[_ngcontent-%COMP%]{border-color:#94a3b83d;background:transparent}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%]{border-color:#94a3b847;background:#162033!important;box-shadow:0 14px 28px #02061773}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc-floating__toggle[_ngcontent-%COMP%]{border-color:#94a3b84d!important;background:#162033!important;color:#e2e8f0!important;box-shadow:0 10px 22px #0206176b}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__title[_ngcontent-%COMP%]{color:#e2e8f0}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]{color:#cbd5e1}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover, html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover, html.dark [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover, body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item[_ngcontent-%COMP%]:hover{color:#f1f5f9}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%], html[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] html.dark[_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%], html.dark [_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%], [_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] body[data-theme="dark"][_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%], body[data-theme="dark"] [_nghost-%COMP%] .markdown-toc__item.is-active[_ngcontent-%COMP%]{color:#60a5fa}@media (max-width: 1024px){[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-layout.has-toc[_ngcontent-%COMP%]{grid-template-columns:1fr}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc[_ngcontent-%COMP%]{position:static;margin-bottom:12px}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc-floating[_ngcontent-%COMP%]{position:static;margin-bottom:8px;align-items:flex-start}[_nghost-%COMP%] .markdown-viewer[_ngcontent-%COMP%] .markdown-toc--floating[_ngcontent-%COMP%]{width:100%;max-height:none}}'],changeDetection:0})};export{on as a,ln as b,Li as c,vt as d,On as e,to as f,oi as g,ri as h,ai as i,li as j,si as k,ci as l,di as m,mi as n,pi as o,gi as p,zt as q,Kn as r,Uo as s,qo as t,ui as u,hi as v,Ci as w,bt as x,io as y,oo as z,ro as A,ao as B,xt as C,wt as D};
@@ -1 +0,0 @@
1
- import{h as t}from"./chunk-WUA5JFDD.js";import"./chunk-KRYMOHYF.js";import{Gb as n,oa as e}from"./chunk-4BRW6LCZ.js";var m=[{path:"",loadComponent:()=>import("./chunk-YV6QPLF5.js").then(o=>o.AboutComponent)},{path:"feedback",loadComponent:()=>import("./chunk-TS5ZQYYY.js").then(o=>o.FeedbackComponent)}],i=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=n({type:o});static \u0275inj=e({imports:[t.forChild(m),t]})};export{i as AboutRoutingModule};
@@ -1 +0,0 @@
1
- import{a as Y,b as Z,c as $,d as ee,e as te}from"./chunk-7QR6RHLA.js";import{d as Q,e as U,f as X}from"./chunk-CPJTSA6E.js";import{b as P,c as W,e as H}from"./chunk-TXAXE73U.js";import"./chunk-PB2LGZNW.js";import{k as J}from"./chunk-K6C5ZIV2.js";import{Db as A,Fb as L,Gb as I,Ib as V,Jb as j,Kb as O,Na as w,Oa as D,Qa as T,Ra as x,Rb as K,Tb as R,Zb as q,ac as G}from"./chunk-VZYJ3MSW.js";import"./chunk-HFZLJHYR.js";import"./chunk-WUA5JFDD.js";import{n as B}from"./chunk-KRYMOHYF.js";import{$b as M,Fb as F,Gc as E,Ha as b,Jc as u,Kc as S,Oc as p,Pc as c,Qc as d,Wb as h,Yb as z,ac as _,bc as m,cc as o,dc as a,ec as k,na as C,nb as s,rc as v,sa as g,uc as N,z as y}from"./chunk-4BRW6LCZ.js";var f=class i{api=g(J);submit(r){return this.api.post("/api/hub/feedback",r)}static \u0275fac=function(t){return new(t||i)};static \u0275prov=C({token:i,factory:i.\u0275fac,providedIn:"root"})};var oe=["class","component"],ae=(i,r)=>r.value;function re(i,r){if(i&1&&k(0,"nz-option",5),i&2){let t=r.$implicit;m("nzLabel",t.label)("nzValue",t.value)}}function se(i,r){if(i&1&&(o(0,"p",11),u(1),a()),i&2){let t=N();E("error",t.submitType()==="error"),s(),S(t.submitMessage())}}var ne=class i{feedbackApi=g(f);version="0.1.12";categoryOptions=[{label:"\u95EE\u9898\u53CD\u9988",value:"bug"},{label:"\u529F\u80FD\u5EFA\u8BAE",value:"suggestion"},{label:"\u65B0\u529F\u80FD\u9700\u6C42",value:"feature"},{label:"\u5176\u4ED6",value:"other"}];category="suggestion";title="";content="";contact="";submitting=b(!1);submitMessage=b("");submitType=b("success");async submitFeedback(){let r=this.title.trim(),t=this.content.trim(),e=this.contact.trim();if(!r){this.submitType.set("error"),this.submitMessage.set("\u6807\u9898\u4E0D\u80FD\u4E3A\u7A7A");return}if(!t){this.submitType.set("error"),this.submitMessage.set("\u5185\u5BB9\u4E0D\u80FD\u4E3A\u7A7A");return}this.submitting.set(!0),this.submitMessage.set("");try{await y(this.feedbackApi.submit({projectKey:"prj_kmf73us77x0r1z4b3g76soc5",category:this.category,title:r,content:t,contact:e||void 0,clientName:"ng-manager-webapp",clientVersion:"0.1.12",osInfo:typeof navigator>"u"?"unknown":navigator.userAgent})),this.submitType.set("success"),this.submitMessage.set("\u53CD\u9988\u63D0\u4EA4\u6210\u529F\uFF0C\u611F\u8C22\u4F60\u7684\u5EFA\u8BAE\u3002"),this.title="",this.content="",this.contact="",this.category="suggestion"}catch(l){this.submitType.set("error"),this.submitMessage.set(l?.message||"\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5\u3002")}finally{this.submitting.set(!1)}}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=F({type:i,selectors:[["app-feedback",8,"component"]],attrs:oe,decls:30,vars:15,consts:[[3,"title"],[1,"feedback-block"],["nz-form","","nzLayout","vertical",3,"ngSubmit"],["nzRequired",""],["name","category",3,"ngModelChange","ngModel","disabled"],[3,"nzLabel","nzValue"],["nz-input","","name","title","placeholder","\u8BF7\u7B80\u8981\u63CF\u8FF0\u4F60\u7684\u95EE\u9898\u6216\u5EFA\u8BAE",3,"ngModelChange","ngModel","maxlength","disabled"],["nz-input","","name","content","rows","5","placeholder","\u8BF7\u8865\u5145\u8BE6\u7EC6\u4FE1\u606F\uFF0C\u4FBF\u4E8E\u6211\u4EEC\u5B9A\u4F4D\u95EE\u9898",3,"ngModelChange","ngModel","maxlength","disabled"],["nz-input","","name","contact","placeholder","\u90AE\u7BB1\u3001IM \u6216\u5176\u4ED6\u8054\u7CFB\u65B9\u5F0F\uFF08\u9009\u586B\uFF09",3,"ngModelChange","ngModel","maxlength","disabled"],["nz-button","","nzType","primary",3,"nzLoading","disabled"],[1,"submit-tip",3,"error"],[1,"submit-tip"]],template:function(t,e){t&1&&(o(0,"app-page-layout",0)(1,"div",1)(2,"h3"),u(3,"\u7528\u6237\u53CD\u9988"),a(),o(4,"form",2),v("ngSubmit",function(){return e.submitFeedback()}),o(5,"nz-form-item")(6,"nz-form-label",3),u(7,"\u53CD\u9988\u7C7B\u578B"),a(),o(8,"nz-form-control")(9,"nz-select",4),d("ngModelChange",function(n){return c(e.category,n)||(e.category=n),n}),M(10,re,1,2,"nz-option",5,ae),a()()(),o(12,"nz-form-item")(13,"nz-form-label",3),u(14,"\u6807\u9898"),a(),o(15,"nz-form-control")(16,"input",6),d("ngModelChange",function(n){return c(e.title,n)||(e.title=n),n}),a()()(),o(17,"nz-form-item")(18,"nz-form-label",3),u(19,"\u5185\u5BB9"),a(),o(20,"nz-form-control")(21,"textarea",7),d("ngModelChange",function(n){return c(e.content,n)||(e.content=n),n}),a()()(),o(22,"nz-form-item")(23,"nz-form-label"),u(24,"\u8054\u7CFB\u65B9\u5F0F"),a(),o(25,"nz-form-control")(26,"input",8),d("ngModelChange",function(n){return c(e.contact,n)||(e.contact=n),n}),a()()(),o(27,"button",9),u(28," \u63D0\u4EA4\u53CD\u9988 "),a()(),h(29,se,2,3,"p",10),a()()),t&2&&(m("title","\u7528\u6237\u53CD\u9988"),s(9),p("ngModel",e.category),m("disabled",e.submitting()),s(),_(e.categoryOptions),s(6),p("ngModel",e.title),m("maxlength",120)("disabled",e.submitting()),s(5),p("ngModel",e.content),m("maxlength",5e3)("disabled",e.submitting()),s(5),p("ngModel",e.contact),m("maxlength",120)("disabled",e.submitting()),s(),m("nzLoading",e.submitting())("disabled",e.submitting()),s(2),z(e.submitMessage()?29:-1))},dependencies:[B,R,O,A,L,I,K,j,V,te,W,P,Z,Y,ee,$,G,q,X,Q,U,x,T,w,D,H],styles:[".feedback-block[_ngcontent-%COMP%]{margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0;max-width:720px}.submit-tip[_ngcontent-%COMP%]{margin-top:12px;color:#389e0d}.submit-tip.error[_ngcontent-%COMP%]{color:#cf1322}"]})};export{ne as FeedbackComponent};
@@ -1 +0,0 @@
1
- import{a as dn,b as un,c as fn}from"./chunk-DENFXXOY.js";import{a as pn,b as sn,c as ln,d as cn}from"./chunk-HJAP6WBI.js";import{a as gn,b as Cn,c as _n,d as zn,e as hn}from"./chunk-7QR6RHLA.js";import{a as mn,b as Ve,c as Ae,d as Re,e as oe}from"./chunk-SSCUT2GF.js";import{a as Be,b as fe}from"./chunk-PY3AUTHC.js";import{a as Rt,b as Wt,c as Lt}from"./chunk-6J6G7JEP.js";import{a as an}from"./chunk-UJKK4A7Y.js";import"./chunk-MPLGMTLT.js";import{a as Fe,b as Oe,c as de}from"./chunk-7AKVG375.js";import{b as nn}from"./chunk-2VJVGBXG.js";import{a as on,b as rn}from"./chunk-WCHN62X6.js";import{a as Ie,b as ue}from"./chunk-CO3CQHKV.js";import"./chunk-NNOWADVM.js";import"./chunk-RMIYLAEM.js";import{a as $t,c as Yt}from"./chunk-M6NZ6C2R.js";import{a as Z,b as I}from"./chunk-MBPB43C6.js";import{a as be,c as De,d as Kt,e as Xt,f as Ne}from"./chunk-CPJTSA6E.js";import{a as mt,b as L,c as G,d as $,f as Qt,g as Jt}from"./chunk-TXAXE73U.js";import{b as Zt}from"./chunk-442QFABJ.js";import{a as en,b as tn}from"./chunk-SD2HFD54.js";import{e as Se,f as Ee,g as le,l as ee}from"./chunk-U2YWR3HF.js";import"./chunk-PB2LGZNW.js";import{e as me,l as Ht}from"./chunk-K6C5ZIV2.js";import{$b as ce,Db as Y,Ea as v,Fa as P,Fb as U,Gb as Gt,Ib as Ut,Jb as q,Kb as qt,La as Vt,Ma as At,Na as j,Oa as H,Qa as D,Ra as S,Tb as E,Xb as je,Zb as K,ac as Q,dc as te,fc as ne}from"./chunk-VZYJ3MSW.js";import"./chunk-HFZLJHYR.js";import{e as Te,h as ze}from"./chunk-WUA5JFDD.js";import{i as It,k as Bt,n as h}from"./chunk-KRYMOHYF.js";import{$b as ae,A as at,Ac as wt,Ec as V,Fb as M,Fc as kt,Gb as ke,Gc as Tt,Ha as B,Jc as l,Kc as b,Lb as O,Lc as se,M as pt,Oa as xe,Oc as w,Pc as k,Q as gt,Qc as T,Rc as St,Sc as Et,Tc as jt,V as Ct,Wb as y,X as _t,Yb as x,Yc as bt,Zc as ct,_b as Mt,a as J,ac as pe,ad as Dt,b as rt,bc as g,bd as Nt,cc as r,dc as a,dd as W,ea as zt,ec as c,fa as st,g as ut,ic as Pt,id as A,jc as vt,jd as Ft,kc as lt,l as ve,lc as z,na as ht,nb as s,oa as ye,rc as m,sa as C,sb as F,sd as Ot,u as ft,uc as d,ya as u,yc as yt,z as _e,za as f,zb as we,zc as xt}from"./chunk-4BRW6LCZ.js";var Tn=()=>({padding:"8px"});function Sn(o,t){if(o&1){let e=z();r(0,"button",13),m("click",function(){u(e);let i=d();return f(i.copy())}),c(1,"nz-icon",14),a()}if(o&2){let e=d();g("nz-tooltip",e.copyied?"\u5DF2\u590D\u5236":"\u590D\u5236")}}function En(o,t){if(o&1&&(r(0,"div",9)(1,"nz-tag",15),l(2),a()()),o&2){let e=d();s(2),se("\u63A8\u8350\uFF1A",e.draft.detected==null?null:e.draft.detected.recommendedScript)}}function jn(o,t){o&1&&(r(0,"div",10),l(1," \u26A0\uFE0F \u8986\u76D6\u5DF2\u5B58\u5728\u76EE\u5F55 "),a())}function bn(o,t){if(o&1){let e=z();r(0,"button",16),m("click",function(){u(e);let i=d();return f(i.isDrawerOpen=!i.isDrawerOpen)}),c(1,"nz-icon",17),l(2," \u65E5\u5FD7\u8F93\u51FA "),a()}}function Dn(o,t){o&1&&(Pt(0),c(1,"app-terminal-view"),vt()),o&2&&(s(),kt("height",100,"%"))}var We=class o{draft;chunk="";clipboard=C(an);term;isDrawerOpen=!1;isCreating=Ot(!1);copyied=!1;ngOnChanges(t){t.chunk&&t.chunk.currentValue&&this.term&&this.term.write(this.chunk),t.isCreating&&t.isCreating.currentValue===!0&&(this.isDrawerOpen=!0)}copy(){let t=this.draft.repoUrl||"";this.clipboard.copy(t),this.copyied=!0,setTimeout(()=>{this.copyied=!1},2e3)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,selectors:[["app-create-summary-aside"]],viewQuery:function(e,n){if(e&1&&yt(mt,5),e&2){let i;xt(i=wt())&&(n.term=i.first)}},inputs:{draft:"draft",chunk:"chunk",isCreating:[1,"isCreating"]},outputs:{isCreating:"isCreatingChange"},features:[xe],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 i=z();r(0,"nz-card",1)(1,"div",2)(2,"span",3),l(3,"\u540D\u79F0"),a(),r(4,"span",4),l(5),a()(),r(6,"div",2)(7,"span",3),l(8,"\u8DEF\u5F84"),a(),r(9,"span",5),l(10),a()(),r(11,"div",2)(12,"span",3),l(13,"\u5305\u7BA1\u7406\u5668"),a(),r(14,"span",4),l(15),a()(),r(16,"div",2)(17,"span",3),l(18,"Git \u8FDC\u7A0B\u4ED3\u5E93"),a(),r(19,"span",6),l(20),a(),y(21,Sn,2,1,"button",7),a(),c(22,"div",8),r(23,"div",2)(24,"span",3),l(25,"\u6846\u67B6"),a(),r(26,"span",4),l(27),a()(),r(28,"div",2)(29,"span",3),l(30,"\u811A\u672C\u547D\u4EE4"),a(),r(31,"span",4),l(32),a()(),r(33,"div",2)(34,"span",3),l(35,"Git"),a(),r(36,"span",4),l(37),a()(),y(38,En,3,1,"div",9),y(39,jn,2,0,"div",10),a(),O(40,bn,3,0,"ng-template",null,0,W),r(42,"nz-drawer",11),m("nzOnClose",function(){return u(i),f(n.isDrawerOpen=!1)}),O(43,Dn,2,2,"ng-container",12),a()}if(e&2){let i=V(41);g("nzExtra",i),s(5),b(n.draft.name||"-"),s(5),b(n.draft.rootPath||"-"),s(5),b(n.draft.packageManager),s(4),g("nz-tooltip",n.draft.repoUrl||""),s(),b(n.draft.repoUrl||"-"),s(),x(n.draft.repoUrl?21:-1),s(6),b((n.draft.detected==null?null:n.draft.detected.framework)||"-"),s(5),b((n.draft.detected==null?null:n.draft.detected.scriptsCount)??"-"),s(5),b(n.draft.detected!=null&&n.draft.detected.hasGit?"Yes":"No"),s(),x(n.draft.detected!=null&&n.draft.detected.recommendedScript?38:-1),s(),x(n.draft.overwriteIfExists?39:-1),s(3),g("nzVisible",n.isDrawerOpen)("nzWidth",720)("nzBodyStyle",bt(15,Tn))}},dependencies:[h,I,Z,ue,Ie,ne,te,P,v,S,D,j,mt,Lt,Wt,Rt],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 Bn(o,t){o&1&&c(0,"nz-empty",6)}function Vn(o,t){if(o&1&&(r(0,"nz-tag",17),l(1),Dt(2,"titlecase"),a()),o&2){let e=d().$implicit,n=jt(4);g("nzColor",n==="angular"?"#dd0031":n==="vue"?"#42b883":"#108ee9"),s(),se(" ",Nt(2,2,e.kind)," ")}}function An(o,t){if(o&1&&(r(0,"div",14)(1,"div",15)(2,"div",16),l(3),a(),St(4),y(5,Vn,3,4,"nz-tag",17),a()()),o&2){let e=t.$implicit;g("nzValue",e.path),s(2),g("nz-tooltip",e.path),s(),b(e.path),s();let n=Et(e.kind);s(),x(n?5:-1)}}function Rn(o,t){if(o&1){let e=z();r(0,"nz-radio-group",13),T("ngModelChange",function(i){u(e);let p=d();return k(p.selectedPath,i)||(p.selectedPath=i),f(i)}),ae(1,An,6,5,"div",14,Mt),a()}if(o&2){let e=d();w("ngModel",e.selectedPath),s(),pe(e.filtered())}}var Ge=class o{constructor(t){this.modalRef=t}data=C(Se);keyword=B("");selectedPath=B(null);ngOnInit(){let{candidates:t,defaultPicked:e}=this.data,n=e&&t.includes(e)?e:t[0]??"";this.selectedPath.set(n?.path??null)}filtered=A(()=>{let t=(this.keyword()||"").trim().toLowerCase(),e=this.data.candidates??[];return t?e.filter(n=>n.path.toLowerCase().includes(t)):e});cancel(){this.modalRef.close(null)}ok(){let t=this.selectedPath();t&&this.modalRef.close({pickedRoot:t})}static \u0275fac=function(e){return new(e||o)(we(Ee))};static \u0275cmp=M({type:o,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),l(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),T("ngModelChange",function(p){return k(n.keyword,p)||(n.keyword=p),p}),a(),c(6,"nz-icon",4),a()(),r(7,"div",5),y(8,Bn,1,0,"nz-empty",6)(9,Rn,3,1,"nz-radio-group",7),a(),r(10,"div",8)(11,"button",9),m("click",function(){return n.cancel()}),c(12,"nz-icon",10),l(13," \u53D6\u6D88 "),a(),r(14,"button",11),m("click",function(){return n.ok()}),c(15,"nz-icon",12),l(16," \u9009\u4E2D\u5E76\u7EE7\u7EED "),a()()()),e&2&&(s(5),w("ngModel",n.keyword),s(3),x(n.filtered().length===0?8:9),s(6),g("disabled",!n.selectedPath()))},dependencies:[h,E,Y,U,q,ee,Q,K,ce,de,Oe,Fe,S,D,j,H,P,v,De,be,ue,Ie,ne,te,Bt],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 Ln(o,t){o&1&&(r(0,"span",4),l(1,"\u8BE5\u8DEF\u5F84\u5DF2\u5B58\u5728"),a())}function Gn(o,t){if(o&1){let e=z();r(0,"input",15),T("ngModelChange",function(i){u(e);let p=d();return k(p.draft.initialCommitMessage,i)||(p.draft.initialCommitMessage=i),f(i)}),a()}if(o&2){let e=d();w("ngModel",e.draft.initialCommitMessage)}}var Qe=class o{draft;draftChange=new F;pathCheck$=new ve;pathExists=!1;fsApi=C(mn);ngOnInit(){this.computeRootPath(),this.pathCheck$.pipe(gt(200),Ct(),zt(t=>t?this.fsApi.pathExists(t):ft(!1))).subscribe(t=>{this.emit(),this.pathExists=t})}recalcRoot(){this.computeRootPath(),this.pathCheck$.next(this.draft.rootPath)}computeRootPath(){let t=(this.draft.parentDir??"").replace(/[\\/]+$/,""),e=(this.draft.name??"").trim();this.draft.rootPath=t&&e?`${t}/${e}`.replaceAll("\\","/"):t}emit(){this.draftChange.emit(J({},this.draft))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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"),l(4,"\u9879\u76EE\u6587\u4EF6\u5939"),a(),r(5,"nz-form-control")(6,"input",2),T("ngModelChange",function(p){return k(n.draft.name,p)||(n.draft.name=p),p}),m("ngModelChange",function(){return n.recalcRoot()}),a(),r(7,"div",3),l(8),y(9,Ln,2,0,"span",4),a()()(),r(10,"nz-form-item")(11,"nz-form-label"),l(12,"\u5305\u7BA1\u7406\u5668"),a(),r(13,"nz-form-control")(14,"nz-select",5),T("ngModelChange",function(p){return k(n.draft.packageManager,p)||(n.draft.packageManager=p),p}),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"),l(21,"\u66F4\u591A\u9009\u9879"),a(),r(22,"nz-form-control")(23,"div",10)(24,"span"),l(25,"\u82E5\u76EE\u6807\u6587\u4EF6\u5939\u5DF2\u5B58\u5728\u5219\u8986\u76D6"),a(),r(26,"nz-switch",11),T("ngModelChange",function(p){return k(n.draft.overwriteIfExists,p)||(n.draft.overwriteIfExists=p),p}),m("ngModelChange",function(){return n.emit()}),a()(),r(27,"div",10)(28,"span"),l(29,"\u65E0\u65B0\u624B\u6307\u5F15\u7684\u811A\u624B\u67B6\u9879\u76EE"),a(),r(30,"nz-switch",12),T("ngModelChange",function(p){return k(n.draft.skipOnboarding,p)||(n.draft.skipOnboarding=p),p}),a()()()(),r(31,"nz-form-item")(32,"nz-form-label"),l(33,"Git"),a(),r(34,"nz-form-control")(35,"div",10)(36,"span"),l(37,"\u521D\u59CB\u5316 git \u4ED3\u5E93\uFF08\u5EFA\u8BAE\uFF09"),a(),r(38,"nz-switch",13),T("ngModelChange",function(p){return k(n.draft.initGit,p)||(n.draft.initGit=p),p}),a()(),y(39,Gn,1,1,"input",14),a()()()()),e&2&&(s(6),w("ngModel",n.draft.name),s(2),se(" ",n.draft.rootPath," "),s(),x(n.pathExists?9:-1),s(5),w("ngModel",n.draft.packageManager),s(12),w("ngModel",n.draft.overwriteIfExists),s(4),w("ngModel",n.draft.skipOnboarding),s(8),w("ngModel",n.draft.initGit),s(),x(n.draft.initGit?39:-1))},dependencies:[h,E,qt,Y,U,Gt,q,Ut,hn,G,L,Cn,gn,zn,_n,Q,K,S,Ne,Kt,Xt,fe,Be,I,Z,ne,P,ee],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 Je=class o{draft;draftChange=new F;emit(){this.draftChange.emit(J({},this.draft))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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),l(3,"\u7F6E\u9876\u6536\u85CF"),a(),r(4,"nz-switch",3),T("ngModelChange",function(p){return k(n.draft.pinFavorite,p)||(n.draft.pinFavorite=p),p}),m("ngModelChange",function(){return n.emit()}),a()(),c(5,"div",4),r(6,"div",4)(7,"div",2),l(8,"\u9ED8\u8BA4\u4EFB\u52A1\uFF08\u53EF\u9009\uFF09"),a(),r(9,"input",5),T("ngModelChange",function(p){return k(n.draft.defaultTaskName,p)||(n.draft.defaultTaskName=p),p}),m("ngModelChange",function(){return n.emit()}),a(),r(10,"div",6),l(11,"\u5EFA\u8BAE\u586B\u8BC6\u522B\u5230\u7684 dev \u6216 start"),a()()()),e&2&&(s(4),w("ngModel",n.draft.pinFavorite),s(5),w("ngModel",n.draft.defaultTaskName))},dependencies:[h,E,Y,U,q,I,Z,de,fe,Be,Q,K],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 He=class o{draft;draftChange=new F;emit(){this.draftChange.emit(J({},this.draft))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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:[h,E,I,Z,fe],styles:[".row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.label[_ngcontent-%COMP%]{font-weight:500}"]})};var Ze=class o{nzModalData=C(Se);isModalVisible=!1;isSaving=!1;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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),l(2,"URL"),a(),r(3,"nz-input-wrapper")(4,"input",2),T("ngModelChange",function(p){return k(n.nzModalData.cloneUrl,p)||(n.nzModalData.cloneUrl=p),p}),a(),c(5,"nz-icon",3),a(),r(6,"div",4),l(7," Git \u4ED3\u5E93\u5730\u5740, \u5982 'username/repo'. \u53EF\u4EE5\u4F7F\u7528\u524D\u7F00\u5982 'gitlab:' \u6216 'bitbucket:'. "),a()()),e&2&&(s(4),w("ngModel",n.nzModalData.cloneUrl))},dependencies:[h,E,Y,U,q,P,v,ee,Q,K,ce,je,Ne,S,j],styles:[".hint[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.7}"]})};function Un(o,t){if(o&1){let e=z();r(0,"button",10),m("click",function(){u(e);let i=d();return f(i.requestDetect.emit())}),c(1,"nz-icon",11),a()}}var $e=class o{draft;draftChange=new F;requestDetect=new F;modal=C(le);emit(){this.draftChange.emit(J({},this.draft))}presetChange(t){if(this.draft.preset=t,t==="git"){this.openImportGitModal();return}else this.draft.repoUrl=void 0,this.emit()}openImportGitModal(){let t=this.modal.create({nzTitle:"\u4ECE Git \u4ED3\u5E93\u5BFC\u5165\u9879\u76EE",nzMaskClosable:!1,nzContent:Ze,nzCentered:!0,nzWidth:"580px",nzClosable:!1,nzData:{cloneUrl:"",isSaving:!1},nzFooter:[{label:"\u53D6\u6D88",type:"default",onClick:()=>{t.close(),this.draft.repoUrl=void 0,this.draft.preset="angular",this.emit()}},{label:"\u5BFC\u5165",type:"primary",onClick:e=>{let n=e.nzModalData.cloneUrl,i=e.nzModalData.isSaving;!n||!n.trim()||i||(e.nzModalData.isSaving=!0,this.draft.repoUrl=n.trim(),e.nzModalData.isSaving=!1,this.emit(),t.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||o)};static \u0275cmp=M({type:o,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 i=z();r(0,"nz-card",1),O(1,Un,2,0,"ng-template",null,0,W),r(3,"nz-radio-group",2),T("ngModelChange",function(_){return u(i),k(n.draft.preset,_)||(n.draft.preset=_),f(_)}),m("ngModelChange",function(_){return u(i),f(n.presetChange(_))}),r(4,"div",3)(5,"label",4),l(6,"Angular"),a(),r(7,"div",5),l(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),l(11,"Vue 3"),a(),r(12,"div",5),l(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),l(16,"Git\u5BFC\u5165"),a(),r(17,"div",5),l(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 i=V(2);g("nzExtra",i),s(3),w("ngModel",n.draft.preset)}},dependencies:[h,E,U,q,I,Z,nn,S,D,j,ue,P,v,de,Oe,Fe],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 Pn(){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 qn(o,t){if(o&1){let e=z();r(0,"app-step-basic",16),m("draftChange",function(i){u(e);let p=d();return f(p.setDraft(i))}),a()}if(o&2){let e=d();g("draft",e.draft())}}function Qn(o,t){if(o&1){let e=z();r(0,"app-step-preset",17),m("draftChange",function(i){u(e);let p=d();return f(p.setDraft(i))})("requestDetect",function(){u(e);let i=d();return f(i.detectNow())}),a()}if(o&2){let e=d();g("draft",e.draft())}}function Jn(o,t){if(o&1){let e=z();r(0,"app-step-features",16),m("draftChange",function(i){u(e);let p=d();return f(p.setDraft(i))}),a()}if(o&2){let e=d();g("draft",e.draft())}}function Hn(o,t){if(o&1){let e=z();r(0,"app-step-config",16),m("draftChange",function(i){u(e);let p=d();return f(p.setDraft(i))}),a()}if(o&2){let e=d();g("draft",e.draft())}}function Zn(o,t){if(o&1){let e=z();r(0,"button",18),m("click",function(){u(e);let i=d();return f(i.cancel())}),c(1,"nz-icon",19),l(2," \u53D6\u6D88 "),a()}}function $n(o,t){if(o&1){let e=z();r(0,"button",18),m("click",function(){u(e);let i=d();return f(i.prev())}),c(1,"nz-icon",20),l(2," \u4E0A\u4E00\u6B65 "),a()}}function Yn(o,t){if(o&1){let e=z();r(0,"button",21),m("click",function(){u(e);let i=d();return f(i.create())}),c(1,"nz-icon",22),l(2," \u521B\u5EFA\u9879\u76EE "),a()}if(o&2){let e=d();g("disabled",e.creating())}}function Kn(o,t){if(o&1){let e=z();r(0,"button",21),m("click",function(){u(e);let i=d();return f(i.next())}),l(1," \u4E0B\u4E00\u6B65 "),c(2,"nz-icon",23),a()}if(o&2){let e=d();g("disabled",!e.canNext()||!e.canGoNext())}}var Ye=class o{step=B(0);draft=B(Pn());creating=B(!1);output=B("");isDrawerOpen=B(!1);fs=C(Ve);parentDir=this.fs.currentPath();modalRef=C(Ee);api=C(Re);modal=C(le);notify=C(me);taskStream=C($t);projectState=C(oe);router=C(Te);sub=new ut;ngOnInit(){let t=this.draft(),e=this.parentDir;this.draft.set(rt(J({},t),{rootPath:"",parentDir:e,name:""}))}detectNow(){let t=this.draft();t.rootPath?.trim()&&this.api.detect(t.rootPath).subscribe(e=>{let n=e.scripts??[],i={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},p=n.length>0,_=!!e.hasMakefile,Pe=!!e.hasDockerCompose;this.draft.set(rt(J({},t),{detected:i,importScriptsAsTasks:p,importMakefileTasks:_&&t.importMakefileTasks,importDockerComposeTasks:Pe&&t.importDockerComposeTasks,defaultTaskName:i.recommendedScript||t.defaultTaskName}))})}async create(){let t=this.draft();if(!t.rootPath?.trim()||!t.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 ${t.rootPath}\uFF0C\u786E\u5B9A\u8981\u521B\u5EFA\u8BE5\u9879\u76EE\u5417\uFF1F`,i="\u786E\u8BA4\u521B\u5EFA",p=!1;t.overwriteIfExists&&(e="\u786E\u8BA4\u8986\u76D6\u5DF2\u5B58\u5728\u7684\u9879\u76EE\uFF1F",n=`\u8BF7\u786E\u8BA4\u76EE\u6807\u8DEF\u5F84 ${t.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`,i="\u786E\u8BA4\u8986\u76D6",p=!0);let _=this.modal.confirm({nzTitle:e,nzContent:n,nzOkText:i,nzCancelText:"\u53D6\u6D88",nzOkDanger:p,nzCentered:!0,nzOnOk:async()=>{this.doCreate(t),_.close()}})}async doCreate(t){this.creating.set(!0),this.taskStream.ensureConnected();let e=new ve;try{let n=t.preset==="git"?this.api.bootstrapByGit(t):this.api.bootstrapByCli(t),{taskId:i}=await _e(n);this.taskStream.subscribeTask(i,3e3),this.sub.add(this.taskStream.output$(i).subscribe(Ce=>{let wn=Ce.payload.text??"";this.output.set(wn)}));let p=await this.waitForTaskEvent(i,["bootstrapDone","bootstrapFailed","bootstrapNeedPickRoot"],600*1e3,e);if(p.type==="bootstrapDone"){let Ce=p.payload;this.notify.success("\u9879\u76EE\u521B\u5EFA\u5B8C\u6210"),this.projectState.getProjects(Ce.projectId),this.modalRef.close({ok:!0}),this.router.navigate(["/dashboard"]);return}if(p.type==="bootstrapFailed"){let Ce=p.payload;this.notify.error(`\u9879\u76EE\u521B\u5EFA\u5931\u8D25\uFF1A${Ce?.reason??"unknown error"}`);return}let Pe=p.payload?.candidates??[];if(!Pe.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 dt=await this.pickWorkspaceRootByModal(Pe);if(!dt){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 xn=await _e(this.api.bootstrapPickRoot({taskId:i,pickedRoot:dt}).pipe(at(60*1e3),st(e)));this.notify.success("\u9879\u76EE\u5BFC\u5165\u5B8C\u6210"),this.projectState.getProjects(xn.projectId),this.modalRef.close({ok:!0}),this.router.navigate(["/dashboard"])}catch(n){let i=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":Ht(n,"\u521B\u5EFA\u5931\u8D25");console.error("\u521B\u5EFA\u9879\u76EE\u5931\u8D25",n),this.notify.error(i)}finally{e.next(),e.complete(),this.creating.set(!1)}}async waitForTaskEvent(t,e,n,i){let p=new Set(e);return await _e(this.taskStream.events$().pipe(pt(_=>_?.payload?.taskId===t),pt(_=>p.has(_.type)),_t(),at(n),st(i)))}setDraft(t){this.draft.set(t)}canNext(){let t=this.step(),e=this.draft();return t===0?!(!e.name?.trim()||!e.parentDir?.trim()||!e.rootPath?.trim()):t===1?!!e.rootPath?.trim():!0}async next(){let t=this.step();if(t===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,t+1);this.step.set(e)}prev(){this.step.set(Math.max(0,this.step()-1))}canGoNext(){let t=this.step();return t===0?!0:t===1?this.isManual():t===2}isManual(){return this.draft().preset==="manual"}canCreateHere(){let t=this.step();return this.isManual()&&t===3||!this.isManual()&&t===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(t){let e=this.modal.create({nzTitle:"\u9009\u62E9\u8981\u5BFC\u5165\u7684\u5DE5\u4F5C\u533A\u76EE\u5F55",nzContent:Ge,nzData:{candidates:t,defaultPicked:t[0]},nzFooter:null,nzCentered:!0,nzMaskClosable:!1,nzClosable:!0,nzWidth:720});return(await _e(e.afterClose))?.pickedRoot??null}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,selectors:[["app-project-create-modal"]],decls:21,vars:9,consts:[["nz-row","","nzJustify","start"],["nz-col","","nzSpan","24"],[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,"div",1)(2,"nz-steps",2),c(3,"nz-step",3)(4,"nz-step",4)(5,"nz-step",5)(6,"nz-step",6),a(),r(7,"div",7)(8,"nz-spin",8)(9,"div",9),y(10,qn,1,1,"app-step-basic",10)(11,Qn,1,1,"app-step-preset",10)(12,Jn,1,1,"app-step-features",10)(13,Hn,1,1,"app-step-config",10),r(14,"div",11),y(15,Zn,3,0,"button",12),y(16,$n,3,0,"button",12),y(17,Yn,3,1,"button",13)(18,Kn,3,1,"button",13),a()()(),r(19,"div",14)(20,"app-create-summary-aside",15),T("isCreatingChange",function(p){return k(n.creating,p)||(n.creating=p),p}),a()()()()()),e&2){let i;s(2),g("nzCurrent",n.step()),s(6),g("nzSpinning",n.creating()),s(2),x((i=n.step())===0?10:i===1?11:i===2?12:i===3?13:-1),s(5),x(n.step()===0?15:-1),s(),x(n.step()>0?16:-1),s(),x(n.canCreateHere()?17:18),s(3),g("draft",n.draft()),w("isCreating",n.creating),g("chunk",n.output())}},dependencies:[h,E,ee,I,$,G,L,fn,un,dn,S,D,j,H,Q,P,v,rn,on,Qe,$e,He,Je,We],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 Ke=class o{constructor(t){this.modal=t}goCreate(){let t=this.modal.create({nzTitle:"\u521B\u5EFA\u65B0\u9879\u76EE",nzFooter:null,nzMaskClosable:!1,nzClosable:!1,nzContent:Ye,nzWidth:"1020px",nzCentered:!0}),e=t.getContentComponent();t.afterClose.subscribe(n=>{n?.ok})}static \u0275fac=function(e){return new(e||o)(we(le))};static \u0275cmp=M({type:o,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),m("click",function(){return n.goCreate()}),c(5,"nz-icon",4),l(6," \u5728\u6B64\u521B\u5EFA\u65B0\u9879\u76EE "),a()()())},dependencies:[h,S,D,j,H,$,G,L,Ae,P,v],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 ge=class o{fs=C(Ve);projectApi=C(Re);projectState=C(oe);active=B(!1);checking=B(!1);result=B(null);canImport=A(()=>this.result()?.ok===!0);warnings=A(()=>this.result()?.warnings??[]);reason=A(()=>this.result()?.reason??"");currentPath=A(()=>this.fs.currentPath()||this.fs.path());_seq=0;notify=C(me);constructor(){Ft(()=>{if(!this.active())return;let t=this.currentPath();t&&this.check(t)})}enter(){this.active.set(!0)}leave(){this.active.set(!1),this.result.set(null)}check(t){let e=++this._seq;this.checking.set(!0),this.result.set(null),this.projectApi.checkImport(t).subscribe({next:n=>{e===this._seq&&this.result.set(n)},error:n=>{e===this._seq&&this.result.set({ok:!1,root:t,reason:n?.message||"check failed"})},complete:()=>{e===this._seq&&this.checking.set(!1)}})}import(t){let e=this.currentPath();if(!e||!this.canImport())return;let n=e.replace(/[\\\/]+$/,"").split(/[\\\/]/).pop()||"New Project";this.projectApi.importByPath({root:e,name:t||n,syncTasks:!0}).subscribe({next:i=>{this.projectState.getProjects(),this.projectState.setCurrentProjectById(i.id),this.check(e),this.notify.success("\u9879\u76EE\u5BFC\u5165\u6210\u529F")}})}static \u0275fac=function(e){return new(e||o)};static \u0275prov=ht({token:o,factory:o.\u0275fac,providedIn:"root"})};var Xe=class o{importState=C(ge);static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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),m("click",function(){return n.importState.import()}),c(5,"nz-icon",4),l(6," \u5BFC\u5165\u8FD9\u4E2A\u6587\u4EF6\u5939 "),a()()()),e&2&&(s(4),g("disabled",n.importState.checking()||!n.importState.canImport()))},dependencies:[h,E,$,G,L,S,D,j,H,P,v,Ae],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 Xn=(o,t)=>t.spec.id;function eo(o,t){if(o&1){let e=z();r(0,"div",8)(1,"div",9),m("click",function(){let i=u(e).$implicit,p=d();return f(p.openTask(i))}),r(2,"div",10),c(3,"nz-icon",11),a(),r(4,"div",12)(5,"div",13)(6,"span"),l(7),a()(),r(8,"div",14)(9,"span"),l(10),a()()()(),r(11,"button",15),m("click",function(i){let p=u(e).$implicit,_=d();return i.stopPropagation(),f(_.toggleTask(p))}),c(12,"nz-icon",16),a()()}if(o&2){let e=t.$implicit,n=d();g("nzTooltipTitle",n.getTaskDescription(e)),s(7),b(e.spec.name),s(3),b(n.getTaskDescription(e)),s(),g("disabled",(e.runtime==null?null:e.runtime.status)==="stopping"),s(),g("nzType",n.getTaskActionIcon(e))}}var et=class o{projectId;projectState=C(oe);router=C(Te);state=C(Yt);tasks=A(()=>this.projectId?this.state.rowsViewOf(this.projectId)():[]);async ngOnChanges(){this.projectId&&await this.state.ensureProjectLoaded(this.projectId)}toggleTask(t){let e=t?.spec?.id?.trim();e&&t.runtime?.status!=="stopping"&&(t.runtime?.status==="running"?this.state.stopSelected(e):this.state.startSelected(e),this.openTask(t))}async openTask(t){this.state.select(t.spec.id),await this.router.navigate(["/tasks"]),this.projectState.setCurrentProjectById(t.spec.projectId)}getTaskName(t){return t.spec.name||t.spec.id}getTaskDescription(t){let e=t.runtime?.status;return t.runtime?this.computedStatusText(e):t.spec.description||""}getTaskActionIcon(t){let e=t.runtime?.status;return e==="running"||e==="stopping"?"pause-circle":"play-circle"}computedStatusText(t){switch(t){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||o)};static \u0275cmp=M({type:o,selectors:[["app-project-item-popover"]],inputs:{projectId:"projectId"},features:[xe],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","disabled"],["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),l(5,"\u4EFB\u52A1"),a(),r(6,"button",5),c(7,"nz-icon",6),a()(),r(8,"div",7),ae(9,eo,13,5,"div",8,Xn),a()()),e&2&&(s(9),pe(n.tasks()))},dependencies:[h,P,v,S,D,j,ne,te,ze],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 to(o,t){if(o&1){let e=z();r(0,"button",20),m("click",function(){u(e);let i=d();return f(i.openPageUrl(i.project==null?null:i.project.repoPageUrl))}),c(1,"nz-icon",21),a()}}function no(o,t){if(o&1&&c(0,"app-project-item-popover",22),o&2){let e=d();g("projectId",e.project==null?null:e.project.id)}}var tt=class o{taskRuntime=C(Zt);notify=C(me);project=null;open=!1;selectProject=new F;toggleFavorite=new F;editProject=new F;openInEditor=new F;deleteProject=new F;tasksRunningCount=A(()=>{let t=this.project?.id?.trim();return t?this.taskRuntime.runningCountSignal(t)():0});hasTasksRunning=A(()=>this.tasksRunningCount()>0);taskBadgeTip=A(()=>{let t=this.tasksRunningCount();return t>0?`${t} \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(t){t&&window.open(t,"_blank")}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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 i=z();r(0,"div",1)(1,"div",2)(2,"div",3)(3,"button",4),m("click",function(_){return u(i),_.stopPropagation(),f(n.toggleFavorite.emit())}),c(4,"nz-icon",5),a()(),r(5,"div",6),m("click",function(){return u(i),f(n.selectProject.emit())}),r(6,"div",7)(7,"div",8)(8,"span"),l(9),a(),r(10,"span",9),m("click",function(_){return u(i),f(_.stopPropagation())}),c(11,"nz-badge",10),a()(),r(12,"div",11)(13,"span"),l(14),a()()()(),r(15,"div",12)(16,"nz-space",13)(17,"button",4),m("click",function(){return u(i),f(n.openInEditor.emit())}),c(18,"nz-icon",14),r(19,"span"),l(20,"\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00"),a()(),r(21,"button",15),m("click",function(){return u(i),f(n.editProject.emit())}),c(22,"nz-icon",16),a(),y(23,to,2,0,"button",17),r(24,"button",18),m("click",function(){return u(i),f(n.del())}),c(25,"nz-icon",19),a()()()()(),O(26,no,1,1,"ng-template",null,0,W)}if(e&2){let i=V(27);Tt("open",n.open),s(4),g("nzTheme",n.project!=null&&n.project.isFavorite?"fill":"outline"),s(5),b(n.project==null?null:n.project.name),s(),g("nzPopoverContent",i)("nzPopoverOverlayClassName","project-item-popover"),s(),g("nzStatus",n.hasTasksRunning()?"processing":"default")("nz-tooltip",n.taskBadgeTip()),s(3),b(n.project==null?null:n.project.root),s(9),x(n.project!=null&&n.project.repoPageUrl?23:-1)}},dependencies:[h,E,$,G,L,S,D,j,H,P,v,Jt,Qt,tn,en,At,Vt,et,te],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 vn=o=>({$implicit:o}),oo=(o,t)=>t.id;function io(o,t){o&1&&lt(0)}function ro(o,t){if(o&1&&(r(0,"div",6)(1,"h2"),l(2,"\u6536\u85CF\u7684\u9879\u76EE"),a()(),O(3,io,1,0,"ng-container",7)),o&2){let e=d(),n=V(11);s(3),g("ngTemplateOutlet",n)("ngTemplateOutletContext",ct(2,vn,e.projectState.favoriteProjects()))}}function ao(o,t){o&1&&(r(0,"div",6)(1,"h2"),l(2,"\u66F4\u591A\u9879\u76EE"),a()())}function po(o,t){o&1&&lt(0)}function so(o,t){o&1&&(r(0,"div",8),c(1,"nz-empty",9),a())}function lo(o,t){if(o&1){let e=z();r(0,"app-project-item",12),m("selectProject",function(){let i=u(e).$implicit,p=d(2);return f(p.projectState.selectProject(i))})("toggleFavorite",function(){let i=u(e).$implicit,p=d(2);return f(p.projectState.toggleFavorite(i.id))})("openInEditor",function(){let i=u(e).$implicit,p=d(2);return f(p.projectState.openInEditor(i.id))})("editProject",function(){let i=u(e).$implicit,p=d(2);return f(p.projectState.openEditModal(i))})("deleteProject",function(){let i=u(e).$implicit,p=d(2);return f(p.projectState.deleteProject(i.id))}),a()}if(o&2){let e=t.$implicit,n=d(2);g("project",e)("open",n.projectState.isOpen(e))}}function co(o,t){if(o&1&&(r(0,"div",10),ae(1,lo,1,2,"app-project-item",11,oo),a()),o&2){let e=t.$implicit;s(),pe(e)}}var nt=class o{projectState=C(oe);static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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 i=z();r(0,"div",1)(1,"div",2)(2,"div",3)(3,"nz-input-wrapper"),c(4,"nz-icon",4),r(5,"input",5),m("ngModelChange",function(_){return u(i),f(n.projectState.keyword.set(_))}),a()()(),y(6,ro,4,4),y(7,ao,3,0,"div",6),O(8,po,1,0,"ng-container",7),y(9,so,2,0,"div",8),a(),O(10,co,3,0,"ng-template",null,0,W),a()}if(e&2){let i=V(11);s(5),g("ngModel",n.projectState.keyword()),s(),x(n.projectState.favoriteProjects().length>0?6:-1),s(),x(n.projectState.favoriteProjects().length>0?7:-1),s(),g("ngTemplateOutlet",i)("ngTemplateOutletContext",ct(6,vn,n.projectState.moreProjects())),s(),x(n.projectState.projects().length===0?9:-1)}},dependencies:[h,It,E,Y,U,q,I,$,G,L,tt,De,be,Q,K,ce,je,P,v],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 mo(o,t){o&1&&(c(0,"nz-icon",8),l(1," \u9879\u76EE "))}function uo(o,t){o&1&&c(0,"app-project-list")}function fo(o,t){o&1&&(c(0,"nz-icon",9),l(1," \u521B\u5EFA "))}function go(o,t){o&1&&c(0,"app-project-create")}function Co(o,t){o&1&&(c(0,"nz-icon",10),l(1," \u5BFC\u5165 "))}function _o(o,t){o&1&&c(0,"app-project-import")}var ot=class o{importState=C(ge);selectedIndex=0;tabIndexChange(t){t===2?this.importState.active.set(!0):this.importState.active.set(!1)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=M({type:o,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 i=z();r(0,"div",3)(1,"div",4)(2,"h2"),l(3,"\u9879\u76EE\u7BA1\u7406"),a()(),r(4,"nz-tabs",5),T("nzSelectedIndexChange",function(_){return u(i),k(n.selectedIndex,_)||(n.selectedIndex=_),f(_)}),m("nzSelectedIndexChange",function(_){return u(i),f(n.tabIndexChange(_))}),r(5,"nz-tab",6),O(6,mo,2,0,"ng-template",null,0,W)(8,uo,1,0,"ng-template",7),a(),r(9,"nz-tab",6),O(10,fo,2,0,"ng-template",null,1,W)(12,go,1,0,"ng-template",7),a(),r(13,"nz-tab",6),O(14,Co,2,0,"ng-template",null,2,W)(16,_o,1,0,"ng-template",7),a()()()}if(e&2){let i=V(7),p=V(11),_=V(15);s(4),w("nzSelectedIndex",n.selectedIndex),s(),g("nzTitle",i),s(4),g("nzTitle",p),s(4),g("nzTitle",_)}},dependencies:[h,cn,ln,sn,pn,P,v,nt,Ke,Xe],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 zo=[{path:"",component:ot}],it=class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=ke({type:o});static \u0275inj=ye({imports:[ze.forChild(zo),ze]})};var yn=class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=ke({type:o});static \u0275inj=ye({imports:[h,it]})};export{yn as ProjectsModule};