@yinuo-ngm/server 1.0.22 → 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 +7 -6
  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
@@ -0,0 +1,2 @@
1
+ import{a as rt,b as at}from"./chunk-ZZN3NP7F.js";import{a as wi}from"./chunk-DPGKZHEW.js";import"./chunk-SVRGVAFE.js";import{e as _i,f as vi}from"./chunk-NVN2P466.js";import{a as Dt,b as tt}from"./chunk-DRV2KPHO.js";import{b as Bt,c as Ft,d as ot}from"./chunk-Z4T3LTE2.js";import{a as si,b as li,c as St}from"./chunk-TPVKLECM.js";import{a as Mi,b as Ti}from"./chunk-AQYHNHJ3.js";import{a as qt,b as Ot,c as zi}from"./chunk-YNYWN7QI.js";import{a as Vt,b as it}from"./chunk-4PSSTE76.js";import{a as bi,b as xi,c as At,d as It,e as yi}from"./chunk-6ZXQKFRQ.js";import{c as Ie,e as qe,g as Pt,h as nt}from"./chunk-PUHSNEN6.js";import{a as Oe,b as Ve}from"./chunk-7X4X4YHI.js";import{a as fi,c as Ci,d as Pe,e as Ae,f as ve}from"./chunk-JFR7U5DE.js";import{e as di,f as Nt,g as kt}from"./chunk-5Y7KNVNN.js";import{a as ti,b as ni,c as ii,d as oi,e as ri,f as Et,g as et,l as ai}from"./chunk-IX6UZA7J.js";import"./chunk-GYXK6ZZT.js";import{a as gi,c as ht}from"./chunk-7VJKEZTT.js";import{c as me,e as he}from"./chunk-S6BY2OTR.js";import{d as De,i as ui,j as mi,k as hi}from"./chunk-JIVQNGBJ.js";import{Bb as yn,Ga as wt,Ia as J,Ib as Z,Ja as $,Kb as Q,N as xn,Ob as G,Pa as Zn,Qa as ei,Qb as ci,Ra as F,Sa as se,Ua as j,Ub as pi,Va as I,Yb as K,a as Yn,ac as Rt,cc as ie,da as Xn,ec as ke,fc as Y,g as bn,ra as Ze}from"./chunk-2EB7UV3S.js";import"./chunk-HFZLJHYR.js";import{i as vn}from"./chunk-X6PRUZ5G.js";import{i as Xe,n as A,u as Te}from"./chunk-SIKDYQOR.js";import{$b as Se,$c as Wn,Ac as Ke,B as We,Bc as He,Ca as Bn,Cc as Un,Dc as Ge,Ec as ut,Fc as re,Gb as S,Gc as ce,Ha as E,Hb as Qe,Hc as H,Jc as zt,Kc as d,L as dt,Lc as D,Mb as ae,Mc as oe,Nb as Kn,Nc as Mt,Oa as Ee,Pc as be,Qc as xe,Ra as Fn,Rc as ye,Vb as Hn,Xb as b,Yc as Tt,Zb as x,Zc as ze,_ as On,_b as $n,_c as mt,a as y,ac as O,b as M,bc as V,c as ct,cc as h,da as Vn,dc as a,e as pt,ec as s,ed as le,fa as Cn,fc as C,jc as vt,jd as _,kb as jn,kc as bt,kd as Me,l as qn,lc as Re,ld as Jn,mc as z,na as _e,nb as Ln,oa as Je,ob as c,od as Ne,pd as P,qd as Ye,sa as k,sc as g,sd as Qn,tb as T,td as Gn,vc as p,wc as xt,xc as yt,ya as u,z as ne,za as m,zc as Le,zd as _n}from"./chunk-YGWA6NUS.js";var eo=(o,t)=>t.id;function to(o,t){o&1&&C(0,"nz-spin")}function no(o,t){if(o&1&&(a(0,"nz-tag"),d(1),s()),o&2){let e=p().$implicit;c(),oe("HTTP ",e.response.status)}}function io(o,t){o&1&&(a(0,"nz-tag",8),d(1,"ERR"),s())}function oo(o,t){if(o&1){let e=z();a(0,"button",10),g("click",function(){u(e);let i=p().$implicit,r=p(3);return m(r.copy(i.resolved.curl.bash))}),d(1,"curl"),s()}}function ro(o,t){if(o&1){let e=z();a(0,"div",3)(1,"div",5)(2,"nz-tag"),d(3),s(),a(4,"span",6),d(5),s()(),a(6,"div",7)(7,"span"),d(8),s(),b(9,no,2,1,"nz-tag"),b(10,io,2,0,"nz-tag",8),s(),a(11,"div",9)(12,"button",10),g("click",function(){let i=u(e).$implicit,r=p(3);return m(r.replay.emit(i))}),d(13,"\u91CD\u653E"),s(),b(14,oo,2,0,"button",11),s()()}if(o&2){let e=t.$implicit;c(3),D(e.requestSnapshot.method),c(2),D(e.requestSnapshot.url),c(3),oe("",e.metrics.durationMs," ms"),c(),x(e.response?9:-1),c(),x(e.error?10:-1),c(4),x(e.resolved.curl?14:-1)}}function ao(o,t){o&1&&(a(0,"div",4),d(1,"\u6682\u65E0\u5386\u53F2\u8BB0\u5F55"),s())}function so(o,t){if(o&1&&(a(0,"div",2),O(1,ro,15,6,"div",3,eo),b(3,ao,2,0,"div",4),s()),o&2){let e=p(2);c(),V(e.histories),c(2),x(e.histories.length?-1:3)}}function lo(o,t){if(o&1&&(vt(0),b(1,to,1,0,"nz-spin")(2,so,4,1,"div",2),bt()),o&2){let e=p();c(),x(e.loading?1:2)}}var jt=class o{loading=!1;histories=[];close=new T;replay=new T;copy(t){navigator.clipboard.writeText(t)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-api-history-drawer"]],inputs:{loading:"loading",histories:"histories"},outputs:{close:"close",replay:"replay"},decls:2,vars:2,consts:[["nzTitle","\u8BF7\u6C42\u5386\u53F2","nzPlacement","right",3,"nzOnClose","nzVisible","nzWidth"],[4,"nzDrawerContent"],[1,"list"],[1,"item"],[1,"empty"],[1,"row"],[1,"url"],[1,"meta"],["nzColor","red"],[1,"actions"],["nz-button","","nzSize","small",3,"click"],["nz-button","","nzSize","small"]],template:function(e,n){e&1&&(a(0,"nz-drawer",0),g("nzOnClose",function(){return n.close.emit()}),ae(1,lo,3,1,"ng-container",1),s()),e&2&&h("nzVisible",!0)("nzWidth",520)},dependencies:[A,St,li,si,I,j,F,se,it,Vt,Ve,Oe],styles:[".list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.item[_ngcontent-%COMP%]{border:1px solid #f0f0f0;border-radius:8px;padding:10px}.row[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;font-weight:500}.url[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta[_ngcontent-%COMP%]{margin-top:6px;display:flex;gap:8px;font-size:12px;opacity:.7}.actions[_ngcontent-%COMP%]{margin-top:8px;display:flex;gap:8px}.empty[_ngcontent-%COMP%]{padding:16px;opacity:.6;text-align:center}"]})};var uo=["*"];function mo(o,t){if(o&1){let e=z();a(0,"button",12),g("click",function(i){u(e);let r=p();return r.toggle.emit(r.node.key),m(i.stopPropagation())}),C(1,"nz-icon",13),s()}if(o&2){let e=p();c(),H("expanded",e.expanded),h("nzType","right")}}function ho(o,t){if(o&1&&C(0,"nz-icon",4),o&2){let e=p();h("nzType",e.iconType)}}function go(o,t){if(o&1&&(a(0,"nz-tag",5),d(1),s()),o&2){let e=p();h("nzColor",e.getMethodColor(e.node.method)),c(),D(e.node.method||"")}}function fo(o,t){if(o&1&&(a(0,"div",8),d(1),s()),o&2){let e=p();c(),D(e.node.subtitle)}}function Co(o,t){if(o&1){let e=z();a(0,"li",16),g("click",function(){u(e);let i=p(3);return i.createFolder.emit(i.node.id),m(i.visible=!1)}),C(1,"nz-icon",22),a(2,"span"),d(3,"\u65B0\u5EFA\u76EE\u5F55"),s()()}}function _o(o,t){if(o&1){let e=z();a(0,"li",16),g("click",function(){u(e);let i=p(3);return i.move.emit(i.node.id),m(i.visible=!1)}),C(1,"nz-icon",22),a(2,"span"),d(3,"\u79FB\u52A8\u5230"),s()()}}function vo(o,t){if(o&1){let e=z();b(0,Co,4,0,"li",15),a(1,"li",16),g("click",function(){u(e);let i=p(2);return i.createRequest.emit(i.node.id),m(i.visible=!1)}),C(2,"nz-icon",17),a(3,"span"),d(4,"\u65B0\u5EFA\u8BF7\u6C42"),s()(),b(5,_o,4,0,"li",15),a(6,"li",16),g("click",function(){u(e);let i=p(2);return i.rename.emit(i.node.id),m(i.visible=!1)}),C(7,"nz-icon",18),a(8,"span"),d(9,"\u91CD\u547D\u540D"),s()(),C(10,"li",19),a(11,"li",20),g("nzOnConfirm",function(){u(e);let i=p(2);return m(i.delete.emit(i.node.id))}),C(12,"nz-icon",21),a(13,"span"),d(14,"\u5220\u9664"),s()()}if(o&2){let e=p(2);x(e.node.kind==="collection"?0:-1),c(5),x(e.node.kind==="folder"?5:-1)}}function bo(o,t){if(o&1){let e=z();a(0,"li",16),g("click",function(){u(e);let i=p(2);return i.move.emit(i.node.id),m(i.visible=!1)}),C(1,"nz-icon",22),a(2,"span"),d(3,"\u79FB\u52A8\u5230"),s()(),a(4,"li",16),g("click",function(){u(e);let i=p(2);return i.rename.emit(i.node.id),m(i.visible=!1)}),C(5,"nz-icon",18),a(6,"span"),d(7,"\u91CD\u547D\u540D"),s()(),C(8,"li",19),a(9,"li",20),g("nzOnConfirm",function(){u(e);let i=p(2);return m(i.delete.emit(i.node.id))}),C(10,"nz-icon",21),a(11,"span"),d(12,"\u5220\u9664"),s()()}}function xo(o,t){if(o&1&&(a(0,"ul",14),b(1,vo,15,2)(2,bo,13,0),s()),o&2){let e=p();c(),x(e.node.kind!=="request"?1:2)}}function yo(o,t){o&1&&(a(0,"div",11),yt(1),s())}var Lt=class o{node;expanded=!1;activeKey=null;toggle=new T;selectRequest=new T;selectCollection=new T;createRequest=new T;createFolder=new T;rename=new T;move=new T;copyCurl=new T;delete=new T;visible=!1;get hasChildren(){return(this.node.children?.length??0)>0}get iconType(){return this.node.kind==="request"?"":this.node.kind==="folder"?"folder":"database"}onClick(){this.node.kind==="request"?this.selectRequest.emit(this.node.id):this.selectCollection.emit(this.node.id)}getMethodColor(t){return{GET:"#61affe",POST:"#49cc90",PUT:"#fca130",PATCH:"#50e3c2",DELETE:"#f93e3e",HEAD:"#909090",OPTIONS:"#909090"}[t?.toUpperCase()||""]||"#909090"}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-collection-tree-item"]],hostVars:2,hostBindings:function(e,n){e&2&&H("ctree-item",!0)},inputs:{node:"node",expanded:"expanded",activeKey:"activeKey"},outputs:{toggle:"toggle",selectRequest:"selectRequest",selectCollection:"selectCollection",createRequest:"createRequest",createFolder:"createFolder",rename:"rename",move:"move",copyCurl:"copyCurl",delete:"delete"},ngContentSelectors:uo,decls:14,vars:11,consts:[["menuTpl",""],[1,"row"],["nz-button","","nzType","text","nzSize","small",1,"chev"],[1,"main",3,"click"],[1,"icon",3,"nzType"],[1,"method",3,"nzColor"],[1,"texts"],[1,"title"],[1,"sub"],["nz-button","","nzType","text","nzSize","small","nz-popover","","nzPopoverTrigger","click","nzPopover","","nzPopoverPlacement","right",1,"more",3,"click","nzPopoverVisibleChange","nzPopoverVisible","nzPopoverContent","nzPopoverOverlayClassName"],["nzType","more","nzTheme","outline"],[1,"children"],["nz-button","","nzType","text","nzSize","small",1,"chev",3,"click"],[1,"chev-icon",3,"nzType"],["nz-menu",""],["nz-menu-item",""],["nz-menu-item","",3,"click"],["nzType","plus"],["nzType","edit"],["nz-menu-divider",""],["nz-menu-item","","nzDanger","","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u5220\u9664\u5417\uFF1F",3,"nzOnConfirm"],["nzType","delete"],["nzType","folder"]],template:function(e,n){if(e&1){let i=z();xt(),a(0,"div",1),b(1,mo,2,3,"button",2),a(2,"div",3),g("click",function(){return u(i),m(n.onClick())}),b(3,ho,1,1,"nz-icon",4),b(4,go,2,2,"nz-tag",5),a(5,"div",6)(6,"div",7),d(7),s(),b(8,fo,2,1,"div",8),s()(),a(9,"button",9),g("click",function(l){return u(i),m(l.stopPropagation())}),ye("nzPopoverVisibleChange",function(l){return u(i),xe(n.visible,l)||(n.visible=l),m(l)}),C(10,"nz-icon",10),s(),ae(11,xo,3,1,"ng-template",null,0,le),s(),b(13,yo,2,0,"div",11)}if(e&2){let i=re(12);H("active",n.activeKey===n.node.key),c(),x(n.hasChildren?1:-1),c(2),x(n.iconType?3:-1),c(),x(n.node.kind==="request"?4:-1),c(3),D(n.node.title),c(),x(n.node.subtitle?8:-1),c(),be("nzPopoverVisible",n.visible),h("nzPopoverContent",i)("nzPopoverOverlayClassName","project-item-popover"),c(4),x(n.hasChildren&&n.expanded?13:-1)}},dependencies:[A,I,j,F,K,$,J,kt,Nt,nt,qe,Ie,Pt,Ve,Oe,tt,Dt],styles:[".ctree-item[_nghost-%COMP%]{display:block}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.row[_ngcontent-%COMP%]:hover{background-color:#0000000a}.row.active[_ngcontent-%COMP%]{background-color:#e6f7ff}.row.active[_ngcontent-%COMP%]:hover{background-color:#bae7ff}.chev[_ngcontent-%COMP%]{flex:0 0 auto;width:20px;height:20px;padding:0!important}.chev-icon[_ngcontent-%COMP%]{font-size:12px;transition:transform .2s ease;color:#00000073}.chev-icon.expanded[_ngcontent-%COMP%]{transform:rotate(90deg)}.main[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.icon[_ngcontent-%COMP%]{opacity:.65;font-size:14px}.method[_ngcontent-%COMP%]{flex:0 0 auto;font-size:10px;font-weight:600;line-height:1.4;padding:0 4px;margin:0}.texts[_ngcontent-%COMP%]{flex:1;min-width:0}.title[_ngcontent-%COMP%]{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#000000d9}.sub[_ngcontent-%COMP%]{font-size:12px;opacity:.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.more[_ngcontent-%COMP%]{flex:0 0 auto;width:20px;height:20px;padding:0!important;visibility:hidden;opacity:.5}.more[_ngcontent-%COMP%]:hover{opacity:1}.row[_ngcontent-%COMP%]:hover .more[_ngcontent-%COMP%]{visibility:visible}.children[_ngcontent-%COMP%]{margin-left:20px;padding-left:4px;border-left:1px dashed rgba(0,0,0,.08);margin-top:4px;display:flex;flex-direction:column;gap:2px}"]})};var Ei=o=>({$implicit:o}),Si=(o,t)=>t.key;function Mo(o,t){if(o&1&&Re(0,1),o&2){let e=t.$implicit;p();let n=re(4);h("ngTemplateOutlet",n)("ngTemplateOutletContext",mt(2,Ei,e))}}function To(o,t){o&1&&(a(0,"div",2),d(1,"\u6682\u65E0\u8BF7\u6C42"),s())}function wo(o,t){if(o&1&&Re(0,1),o&2){let e=t.$implicit;p(2);let n=re(4);h("ngTemplateOutlet",n)("ngTemplateOutletContext",mt(2,Ei,e))}}function Eo(o,t){if(o&1){let e=z();a(0,"app-collection-tree-item",3),g("toggle",function(i){u(e);let r=p();return m(r.toggle(i))})("selectRequest",function(i){u(e);let r=p();return m(r.onSelectRequest(i))})("selectCollection",function(i){u(e);let r=p();return m(r.onSelectCollection(i))})("createRequest",function(i){u(e);let r=p();return m(r.createRequest.emit({collectionId:i}))})("createFolder",function(i){u(e);let r=p();return m(r.createFolder.emit({collectionId:i}))})("rename",function(i){let r=u(e).$implicit,l=p();return m(l.rename.emit({id:i,kind:r.kind}))})("move",function(i){let r=u(e).$implicit,l=p();return m(l.move.emit({id:i,kind:r.kind}))})("copyCurl",function(i){u(e);let r=p();return m(r.copyCurl.emit(i))})("delete",function(i){let r=u(e).$implicit,l=p();return m(l.delete.emit({id:i,kind:r.kind}))}),O(1,wo,1,4,"ng-container",1,Si),s()}if(o&2){let e=t.$implicit,n=p();h("node",e)("expanded",n.expanded(e.key))("activeKey",n.activeKey()),c(),V(e.children)}}var Kt=class o{nodes=[];activeRequestId=P(null);selectRequest=new T;selectCollection=new T;createRequest=new T;createFolder=new T;rename=new T;move=new T;copyCurl=new T;delete=new T;activeKey=_(()=>this.activeRequestId()?`r:${this.activeRequestId()}`:null);_activeCollectionId=E(null);activeCollectionId=_(()=>this._activeCollectionId());expandedMap=E({});expanded(t){return!!this.expandedMap()[t]}toggle(t){let e=y({},this.expandedMap());e[t]=!e[t],this.expandedMap.set(e)}onSelectRequest(t){this.selectRequest.emit(t)}onSelectCollection(t){this._activeCollectionId.set(t),this.selectCollection.emit(t);let e=`c:${t}`,n=y({},this.expandedMap());n[e]=!0,this.expandedMap.set(n)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-collection-tree"]],hostVars:2,hostBindings:function(e,n){e&2&&H("tree-body",!0)},inputs:{nodes:"nodes",activeRequestId:[1,"activeRequestId"]},outputs:{selectRequest:"selectRequest",selectCollection:"selectCollection",createRequest:"createRequest",createFolder:"createFolder",rename:"rename",move:"move",copyCurl:"copyCurl",delete:"delete"},decls:5,vars:1,consts:[["nodeTpl",""],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"empty"],[3,"toggle","selectRequest","selectCollection","createRequest","createFolder","rename","move","copyCurl","delete","node","expanded","activeKey"]],template:function(e,n){e&1&&(O(0,Mo,1,4,"ng-container",1,Si),b(2,To,2,0,"div",2),ae(3,Eo,3,3,"ng-template",null,0,le)),e&2&&(V(n.nodes),c(2),x(n.nodes.length?-1:2))},dependencies:[A,Xe,K,Y,$,I,Lt],styles:[".tree-body[_nghost-%COMP%]{flex:1 1 auto;height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:4px}.tree-body[_nghost-%COMP%] .empty[_ngcontent-%COMP%]{padding:24px 16px;opacity:.5;text-align:center;font-size:13px}"]})};function So(o,t){if(o&1){let e=z();a(0,"ul",11)(1,"li",12),g("click",function(){u(e);let i=p();return i.createRequest.emit({collectionId:null}),m(i.visible=!1)}),C(2,"nz-icon",13),a(3,"span"),d(4,"\u65B0\u5EFA\u8BF7\u6C42"),s()(),a(5,"li",12),g("click",function(){u(e);let i=p();return m(i.createCollection.emit())}),C(6,"nz-icon",14),a(7,"span"),d(8,"\u65B0\u5EFA\u96C6\u5408"),s()()()}}var Ht=class o{nodes=P([]);q=Gn("");activeId=P(null);loading=!1;select=new T;createRequest=new T;createCollection=new T;createFolder=new T;reload=new T;delete=new T;rename=new T;move=new T;visible=!1;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-request-collections"]],inputs:{nodes:[1,"nodes"],q:[1,"q"],activeId:[1,"activeId"],loading:"loading"},outputs:{q:"qChange",select:"select",createRequest:"createRequest",createCollection:"createCollection",createFolder:"createFolder",reload:"reload",delete:"delete",rename:"rename",move:"move"},decls:13,vars:7,consts:[["menuTpl",""],[1,"wrap"],[1,"header"],["nzInputPrefix","","nzType","search",1,"search-icon"],["nz-input","","placeholder","\u641C\u7D22",3,"ngModelChange","ngModel"],["nz-button","","nzType","text",3,"click"],["nzTheme","outline",3,"nzType"],["nz-button","","nz-popover","","nzPopoverTrigger","click","nzPopoverPlacement","bottomCenter","nzType","text",3,"nzPopoverVisibleChange","nzPopoverVisible","nzPopoverContent","nzPopoverOverlayClassName"],["nzType","plus","nzTheme","outline"],[1,"body"],[3,"selectRequest","createRequest","createFolder","rename","move","delete","nodes","activeRequestId"],["nz-menu",""],["nz-menu-item","",1,"item",3,"click"],["nzType","api"],["nzType","folder-add"]],template:function(e,n){if(e&1){let i=z();a(0,"div",1)(1,"div",2)(2,"nz-input-wrapper"),C(3,"nz-icon",3),a(4,"input",4),ye("ngModelChange",function(l){return u(i),xe(n.q,l)||(n.q=l),m(l)}),s()(),a(5,"button",5),g("click",function(){return u(i),m(n.reload.emit())}),C(6,"nz-icon",6),s(),a(7,"button",7),ye("nzPopoverVisibleChange",function(l){return u(i),xe(n.visible,l)||(n.visible=l),m(l)}),C(8,"nz-icon",8),s()(),a(9,"div",9)(10,"app-collection-tree",10),g("selectRequest",function(l){return u(i),m(n.select.emit(l))})("createRequest",function(l){return u(i),m(n.createRequest.emit({collectionId:l.collectionId}))})("createFolder",function(l){return u(i),m(n.createFolder.emit({collectionId:l.collectionId??null}))})("rename",function(l){return u(i),m(n.rename.emit(l))})("move",function(l){return u(i),m(n.move.emit(l))})("delete",function(l){return u(i),m(n.delete.emit({id:l.id,kind:l.kind}))}),s()()(),ae(11,So,9,0,"ng-template",null,0,le)}if(e&2){let i=re(12);c(4),be("ngModel",n.q),c(2),h("nzType",n.loading?"loading":"reload"),c(),be("nzPopoverVisible",n.visible),h("nzPopoverContent",i)("nzPopoverOverlayClassName","project-item-popover"),c(3),h("nodes",n.nodes())("activeRequestId",n.activeId())}},dependencies:[A,K,Z,Q,G,I,j,F,Y,ie,ke,Rt,$,J,nt,qe,Ie,kt,Nt,Kt],styles:["[_nghost-%COMP%]{height:100%;display:flex;flex-direction:column;width:300px;flex:0 0 300px}.wrap[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;background:#fff}.header[_ngcontent-%COMP%]{width:100%;padding:8px 10px;display:flex;gap:6px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.06);flex:0 0 auto;background:#fafafa}.header[_ngcontent-%COMP%] nz-input-wrapper[_ngcontent-%COMP%]{flex:1;min-width:0}.header[_ngcontent-%COMP%] input[nz-input][_ngcontent-%COMP%]{font-size:13px}.header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:32px;height:32px;padding:0!important}.search-icon[_ngcontent-%COMP%]{color:#00000059}.body[_ngcontent-%COMP%]{flex:1 1 auto;height:0;display:flex;flex-direction:column}"]})};function Ro(o,t){if(o&1&&C(0,"nz-option",3),o&2){let e=t.$implicit;h("nzValue",e)("nzLabel",e)}}function No(o,t){if(o&1){let e=z();a(0,"nz-select",8),g("ngModelChange",function(i){u(e);let r=p();return m(r.setApiKeyIn(i))}),C(1,"nz-option",9)(2,"nz-option",10),s()}if(o&2){let e=p();h("ngModel",e.apiKeyIn())}}function ko(o,t){o&1&&(a(0,"div",6),d(1,"\u65E0\u9274\u6743"),s())}function Do(o,t){if(o&1){let e=z();a(0,"div",7)(1,"div",11)(2,"div",12),d(3,"Username"),s(),a(4,"input",13),g("ngModelChange",function(i){u(e);let r=p();return m(r.setBasicUsername(i))}),s()(),a(5,"div",11)(6,"div",12),d(7,"Password"),s(),a(8,"input",14),g("ngModelChange",function(i){u(e);let r=p();return m(r.setBasicPassword(i))}),s()()()}if(o&2){let e=p();c(4),h("ngModel",e.basicUsername()),c(4),h("ngModel",e.basicPassword())}}function Po(o,t){if(o&1){let e=z();a(0,"div",7)(1,"div",11)(2,"div",12),d(3,"Token"),s(),a(4,"input",15),g("ngModelChange",function(i){u(e);let r=p();return m(r.setBearerToken(i))}),s()()()}if(o&2){let e=p();c(4),h("ngModel",e.bearerToken())}}function Ao(o,t){if(o&1){let e=z();a(0,"div",7)(1,"div",16)(2,"div",12),d(3,"Cookie"),s(),a(4,"textarea",17),g("ngModelChange",function(i){u(e);let r=p();return m(r.setCookieValue(i))}),s()(),C(5,"nz-alert",18),s()}if(o&2){let e=p();c(4),h("ngModel",e.cookieValue())}}function Io(o,t){o&1&&C(0,"nz-alert",21)}function qo(o,t){o&1&&C(0,"nz-alert",22)}function Oo(o,t){if(o&1){let e=z();a(0,"div",7)(1,"div",11)(2,"div",12),d(3,"Key"),s(),a(4,"input",19),g("ngModelChange",function(i){u(e);let r=p();return m(r.setApiKeyKey(i))}),s()(),a(5,"div",11)(6,"div",12),d(7,"Value"),s(),a(8,"input",20),g("ngModelChange",function(i){u(e);let r=p();return m(r.setApiKeyValue(i))}),s()(),b(9,Io,1,0,"nz-alert",21),b(10,qo,1,0,"nz-alert",22),s()}if(o&2){let e=p();c(4),h("ngModel",e.apiKeyKey()),c(4),h("ngModel",e.apiKeyValue()),c(),x(e.apiKeyIn()==="query"?9:-1),c(),x(e.apiKeyIn()==="header"?10:-1)}}var $t=class o{auth=P(void 0);authChange=new T;types=["none","basic","bearer","cookie","apikey"];type=_(()=>this.auth()?.type??"none");basicUsername=_(()=>this.auth()?.type==="basic"?this.auth()?.basic?.username??"":"");basicPassword=_(()=>this.auth()?.type==="basic"?this.auth()?.basic?.password??"":"");bearerToken=_(()=>this.auth()?.type==="bearer"?this.auth()?.bearer?.token??"":"");cookieValue=_(()=>this.auth()?.type==="cookie"?this.auth()?.cookie?.value??"":"");apiKeyIn=_(()=>this.auth()?.type!=="apikey"?"header":this.auth()?.apikey?.in??"header");apiKeyKey=_(()=>this.auth()?.type==="apikey"?this.auth()?.apikey?.key??"":"");apiKeyValue=_(()=>this.auth()?.type==="apikey"?this.auth()?.apikey?.value??"":"");setType(t){if(t==="none"){this.authChange.emit({type:"none"});return}if(t==="basic"){this.authChange.emit({type:"basic",basic:{username:"",password:""}});return}if(t==="bearer"){this.authChange.emit({type:"bearer",bearer:{token:""}});return}if(t==="cookie"){this.authChange.emit({type:"cookie",cookie:{value:""}});return}this.authChange.emit({type:"apikey",apikey:{in:"header",key:"",value:""}})}setBasicUsername(t){let e=this.auth(),n=M(y({},e??{type:"basic"}),{type:"basic",basic:M(y({},e?.basic),{username:t})});this.authChange.emit(n)}setBasicPassword(t){let e=this.auth(),n=M(y({},e??{type:"basic"}),{type:"basic",basic:M(y({},e?.basic),{password:t})});this.authChange.emit(n)}setBearerToken(t){let e=this.auth(),n=M(y({},e??{type:"bearer"}),{type:"bearer",bearer:M(y({},e?.bearer),{token:t})});this.authChange.emit(n)}setCookieValue(t){let e=this.auth(),n=M(y({},e??{type:"cookie"}),{type:"cookie",cookie:M(y({},e?.cookie),{value:t})});this.authChange.emit(n)}setApiKeyIn(t){let e=this.auth(),n=M(y({},e??{type:"apikey"}),{type:"apikey",apikey:M(y({},e?.apikey),{in:t,key:this.apiKeyKey(),value:this.apiKeyValue()})});this.authChange.emit(n)}setApiKeyKey(t){let e=this.auth(),n=M(y({},e??{type:"apikey"}),{type:"apikey",apikey:M(y({},e?.apikey),{in:this.apiKeyIn(),key:t,value:this.apiKeyValue()})});this.authChange.emit(n)}setApiKeyValue(t){let e=this.auth(),n=M(y({},e??{type:"apikey"}),{type:"apikey",apikey:M(y({},e?.apikey),{in:this.apiKeyIn(),key:this.apiKeyKey(),value:t})});this.authChange.emit(n)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-auth-editor"]],inputs:{auth:[1,"auth"]},outputs:{authChange:"authChange"},decls:12,vars:3,consts:[[1,"wrap"],[1,"bar"],[1,"type",3,"ngModelChange","ngModel"],[3,"nzValue","nzLabel"],[1,"in",3,"ngModel"],[1,"main"],[1,"empty"],[1,"grid"],[1,"in",3,"ngModelChange","ngModel"],["nzValue","header","nzLabel","in: header"],["nzValue","query","nzLabel","in: query"],[1,"row"],[1,"label"],["nz-input","","placeholder","username",3,"ngModelChange","ngModel"],["nz-input","","placeholder","password","type","password",3,"ngModelChange","ngModel"],["nz-input","","placeholder","Bearer token",3,"ngModelChange","ngModel"],[1,"row","row-top"],["nz-input","","rows","4","placeholder","ngm_hub_token=...; other=value",3,"ngModelChange","ngModel"],["nzType","info","nzShowIcon","","nzMessage","\u586B\u5199\u5B8C\u6574 Cookie \u5934\u503C\u3002\u9002\u5408\u5148\u8C03\u7528\u767B\u5F55\u63A5\u53E3\u62FF\u5230 Set-Cookie\uFF0C\u518D\u7C98\u8D34\u5230\u8FD9\u91CC\u590D\u7528\u4F1A\u8BDD\u3002"],["nz-input","","placeholder","x-api-key / api_key",3,"ngModelChange","ngModel"],["nz-input","","placeholder","value",3,"ngModelChange","ngModel"],["nzType","info","nzShowIcon","","nzMessage","\u63D0\u793A\uFF1Aquery \u578B API Key \u4E0D\u4F1A\u5199\u5165\u8BF7\u6C42\u5934\uFF0C\u4F1A\u5728\u53D1\u9001\u65F6\u62FC\u63A5\u5230 URL \u67E5\u8BE2\u53C2\u6570\u4E2D\u3002"],["nzType","info","nzShowIcon","","nzMessage","\u63D0\u793A\uFF1Aheader \u578B API Key \u4F1A\u5728\u53D1\u9001\u65F6\u5199\u5165\u8BF7\u6C42\u5934\u3002"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"nz-select",2),g("ngModelChange",function(r){return n.setType(r)}),O(3,Ro,1,2,"nz-option",3,Se),s(),b(5,No,3,1,"nz-select",4),s(),a(6,"div",5),b(7,ko,2,0,"div",6)(8,Do,9,2,"div",7)(9,Po,5,1,"div",7)(10,Ao,6,1,"div",7)(11,Oo,11,4,"div",7),s()()),e&2){let i;c(2),h("ngModel",n.type()),c(),V(n.types),c(2),x(n.type()==="apikey"?5:-1),c(2),x((i=n.type())==="none"?7:i==="basic"?8:i==="bearer"?9:i==="cookie"?10:i==="apikey"?11:-1)}},dependencies:[A,K,Z,Q,G,ve,Pe,Ae,Y,ie,at,rt],styles:[".wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:220px}.bar[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.type[_ngcontent-%COMP%]{width:160px}.in[_ngcontent-%COMP%]{width:140px}.main[_ngcontent-%COMP%]{flex:1 1 auto;overflow:auto;padding-top:10px}.empty[_ngcontent-%COMP%]{padding:12px;opacity:.7}.grid[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:10px}.row-top[_ngcontent-%COMP%]{align-items:start}.label[_ngcontent-%COMP%]{font-size:12px;opacity:.8}"]})};var Bo=(o,t)=>t.id;function Fo(o,t){if(o&1){let e=z();a(0,"label",10),g("ngModelChange",function(i){u(e);let r=p();return m(r.toggleEnabled(i))}),s()}if(o&2){let e=p();h("ngModel",e.isAllEnabled())}}function jo(o,t){if(o&1){let e=z();a(0,"div",9)(1,"div",2)(2,"label",11),g("ngModelChange",function(i){let r=u(e).$index,l=p();return m(l.setEnabled(r,i))}),s()(),a(3,"div",12)(4,"input",13),g("ngModelChange",function(i){let r=u(e).$index,l=p();return m(l.setKey(r,i))}),s()(),a(5,"div",5)(6,"input",14),g("ngModelChange",function(i){let r=u(e).$index,l=p();return m(l.setValue(r,i))}),s()(),a(7,"div",6)(8,"input",14),g("ngModelChange",function(i){let r=u(e).$index,l=p();return m(l.setDescription(r,i))}),s()(),a(9,"div",7)(10,"button",15),g("click",function(){let i=u(e).$index,r=p();return m(r.removeRow(i))}),C(11,"nz-icon",16),s()()()}if(o&2){let e=t.$implicit,n=p();c(2),h("ngModel",e.enabled)("nzDisabled",!n.keepTrailingBlank),c(),h("nz-tooltip",n.keepTrailingBlank?"":"\u81EA\u52A8\u63D0\u53D6Url \u4E2D\u7684 Path \u53C2\u6570\uFF0C\u652F\u6301{param} \u4E0E :param"),c(),h("readonly",!n.keepTrailingBlank)("placeholder",n.keyPlaceholder)("ngModel",e.key),c(2),h("placeholder",n.valuePlaceholder)("ngModel",e.value),c(2),h("placeholder",n.descriptionLabel)("ngModel",e.description)}}function Ni(){return`kv_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}var Be=class o{ngOnChanges(t){t.rows&&(this.rows=this.withTrailingBlank(this.ensureRowIds(this.rows)))}rows=[];rowsChange=new T;keyLabel="Key";valueLabel="Value";keyPlaceholder="key";valuePlaceholder="value";descriptionLabel="Description";keepTrailingBlank=!0;enabledCount=_(()=>this.rows.filter(t=>t.enabled).length);isAllEnabled(){return this.rows.length>0&&this.rows.every(t=>t.enabled)}toggleEnabled(t){let e=this.rows.map(n=>M(y({},n),{enabled:t}));this.emit(e)}emit(t){this.rowsChange.emit(t)}ensureRowIds(t){return t.map(e=>!e.id||e.id.trim()===""?M(y({},e),{id:Ni()}):e)}withTrailingBlank(t){return this.keepTrailingBlank?this.ensureTrailingBlank(t):t}createBlankRow(){return{id:Ni(),key:"",value:"",description:"",enabled:!0}}isBlankRow(t){if(!t)return!0;let e=(t.key??"").trim(),n=(t.value??"").trim(),i=(t.description??"").trim();return!e&&!n&&!i}ensureTrailingBlank(t){let e=Array.isArray(t)?t:[];if(e.length===0)return[this.createBlankRow()];let n=e[e.length-1];return this.isBlankRow(n)?e:[...e,this.createBlankRow()]}sameRowsRefOrContent(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;let n=this.isBlankRow(t[t.length-1]),i=this.isBlankRow(e[e.length-1]);return n===i}removeRow(t){let e=this.rows.filter((n,i)=>i!==t);this.emit(this.withTrailingBlank(e))}setEnabled(t,e){let n=this.rows.map((i,r)=>r===t?M(y({},i),{enabled:e}):i);this.emit(n)}setValue(t,e){this.patchRow(t,{value:e})}setKey(t,e){this.patchRow(t,{key:e})}setDescription(t,e){this.patchRow(t,{description:e})}patchRow(t,e){let n=this.rows.map((i,r)=>r===t?y(y({},i),e):i);this.emit(this.withTrailingBlank(n))}addRow(){let t=[...this.rows,this.createBlankRow()];this.emit(this.withTrailingBlank(t))}clearDisabled(){let t=this.rows.filter(e=>e.enabled);this.emit(this.withTrailingBlank(t))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-kv-table"]],inputs:{rows:"rows",keyLabel:"keyLabel",valueLabel:"valueLabel",keyPlaceholder:"keyPlaceholder",valuePlaceholder:"valuePlaceholder",descriptionLabel:"descriptionLabel",keepTrailingBlank:"keepTrailingBlank"},outputs:{rowsChange:"rowsChange"},features:[Ee],decls:14,vars:4,consts:[[1,"kv-wrap"],[1,"kv-head"],[1,"c-check"],["nz-checkbox","",3,"ngModel"],[1,"c-key"],[1,"c-val"],[1,"c-des"],[1,"c-op"],[1,"kv-body"],[1,"kv-row"],["nz-checkbox","",3,"ngModelChange","ngModel"],["nz-checkbox","",3,"ngModelChange","ngModel","nzDisabled"],[1,"c-key",3,"nz-tooltip"],["nz-input","",3,"ngModelChange","readonly","placeholder","ngModel"],["nz-input","",3,"ngModelChange","placeholder","ngModel"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u5220\u9664",3,"click"],["nzType","minus-circle","nzTheme","outline"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2),b(3,Fo,1,1,"label",3),s(),a(4,"div",4),d(5),s(),a(6,"div",5),d(7),s(),a(8,"div",6),d(9),s(),C(10,"div",7),s(),a(11,"div",8),O(12,jo,12,10,"div",9,Bo),s()()),e&2&&(c(3),x(n.keepTrailingBlank?3:-1),c(2),D(n.keyLabel),c(2),D(n.valueLabel),c(2),D(n.descriptionLabel),c(3),V(n.rows))},dependencies:[A,K,Z,Q,G,I,j,F,Ot,qt,Y,ie,$,J,he,me],styles:[".kv-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.kv-toolbar[_ngcontent-%COMP%]{padding:8px 0;display:flex;justify-content:space-between;align-items:center;gap:10px}.kv-toolbar[_ngcontent-%COMP%] .left[_ngcontent-%COMP%], .kv-toolbar[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center}.hint[_ngcontent-%COMP%]{font-size:12px;opacity:.7}.kv-head[_ngcontent-%COMP%]{display:grid;grid-template-columns:40px 1fr 1fr 2fr 44px;gap:8px;padding:6px 0;font-size:14px;border-bottom:1px solid #f0f0f0;align-items:center}.kv-head[_ngcontent-%COMP%] .c-key[_ngcontent-%COMP%], .kv-head[_ngcontent-%COMP%] .c-val[_ngcontent-%COMP%], .kv-head[_ngcontent-%COMP%] .c-des[_ngcontent-%COMP%]{opacity:.75}.kv-body[_ngcontent-%COMP%]{flex:1 1 auto;overflow:auto;padding:8px 0}.kv-row[_ngcontent-%COMP%]{display:grid;grid-template-columns:40px 1fr 1fr 2fr 44px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px dashed #f0f0f0}.c-check[_ngcontent-%COMP%], .c-op[_ngcontent-%COMP%]{display:flex;justify-content:center}.kv-empty[_ngcontent-%COMP%]{padding:16px;opacity:.75;display:flex;align-items:center;justify-content:space-between;border:1px dashed #e8e8e8;border-radius:8px;margin-top:8px}"]})};var ki=pt(ht());function Lo(o,t){if(o&1&&C(0,"nz-option",3),o&2){let e=t.$implicit;h("nzValue",e)("nzLabel",e)}}function Ko(o,t){if(o&1){let e=z();a(0,"button",10),g("click",function(){u(e);let i=p();return m(i.formatJson())}),d(1,"\u683C\u5F0F\u5316 JSON"),s()}}function Ho(o,t){o&1&&(a(0,"div",7),d(1,"\u65E0 Body"),s())}function $o(o,t){if(o&1){let e=z();a(0,"textarea",11),g("ngModelChange",function(i){u(e);let r=p();return m(r.setTextBody(i))}),s()}if(o&2){let e=p();h("ngModel",e.textBody())}}function Uo(o,t){if(o&1&&(a(0,"div",13),d(1),s()),o&2){let e=p(2);c(),D(e.jsonError())}}function Wo(o,t){if(o&1){let e=z();a(0,"textarea",12),g("ngModelChange",function(i){u(e);let r=p();return m(r.setJsonText(i))}),s(),b(1,Uo,2,1,"div",13)}if(o&2){let e=p();h("ngModel",e.jsonText()),c(),x(e.jsonError()?1:-1)}}function Jo(o,t){if(o&1){let e=z();a(0,"app-kv-table",14),g("rowsChange",function(i){u(e);let r=p();return m(r.setUrlRows(i))}),s()}if(o&2){let e=p();h("rows",e.urlRows())}}function Qo(o,t){o&1&&(a(0,"div",7),d(1,"MVP \u4EC5\u652F\u6301 none/json/text/urlencoded"),s())}var Ut=class o{msg=k(De);body;bodyChange=new T;bodySig=E(void 0);modes=["none","json","text","urlencoded","form","binary"];_jsonText=E("");mode=_(()=>this.bodySig()?.mode??"none");contentType=_(()=>this.bodySig()?.contentType??"");jsonText=_(()=>{if(this.mode()!=="json")return"";let t=this.body?.content;if(typeof t=="string")return t;if(t==null)return this._jsonText()||"";try{return JSON.stringify(t,null,2)}catch{return this._jsonText()||""}});jsonError=E("");textBody=_(()=>this.body?.mode==="text"?String(this.body?.content??""):"");urlRows=_(()=>{if(this.body?.mode!=="urlencoded")return[];let t=this.body?.content;return!t||typeof t!="object"||Array.isArray(t)?[]:Object.entries(t).map(([e,n])=>({key:e,value:String(n??""),enabled:!0,id:(0,ki.uniqueId)()}))});setMode(t){let e=this.body,n=M(y({},e??{}),{mode:t});if(n.contentType||(t==="json"&&(n.contentType="application/json; charset=utf-8"),t==="text"&&(n.contentType="text/plain; charset=utf-8"),t==="urlencoded"&&(n.contentType="application/x-www-form-urlencoded; charset=utf-8"),t==="none"&&(n.contentType=void 0)),t==="none"){this.bodyChange.emit({mode:"none"});return}t==="json"&&e?.mode!=="json"&&(n.content={}),t==="text"&&e?.mode!=="text"&&(n.content=""),t==="urlencoded"&&e?.mode!=="urlencoded"&&(n.content={}),this.bodyChange.emit(n)}ngOnChanges(t){if(t.body){let e=t.body.currentValue;this.bodySig.set(e),e?.mode==="json"&&(typeof e.content=="string"?this._jsonText.set(e.content):this._jsonText.set(e.content?JSON.stringify(e.content,null,2):""),this.jsonError.set(""))}}setContentType(t){let e=this.mode(),n=M(y({},this.body??{mode:e}),{contentType:t});this.bodyChange.emit(n)}setTextBody(t){let e=M(y({},this.body??{mode:"text"}),{mode:"text",content:t});this.bodyChange.emit(e)}setJsonText(t){this._jsonText.set(t),this.jsonError.set("");try{let e=t.trim()?JSON.parse(t):{},n=M(y({},this.body??{mode:"json"}),{mode:"json",content:e});this.bodyChange.emit(n)}catch{this.jsonError.set("JSON \u4E0D\u5408\u6CD5\uFF08\u7EE7\u7EED\u8F93\u5165\u5373\u53EF\uFF09")}}formatJson(){if(this.mode()!=="json")return;let e=this.body?.content;try{let n=JSON.stringify(e??{},null,2);this._jsonText.set(n),this.jsonError.set("");let i=M(y({},this.body??{mode:"json"}),{mode:"json",content:e??{}});this.bodyChange.emit(i),this.msg.success("\u5DF2\u683C\u5F0F\u5316")}catch{this.msg.error("\u683C\u5F0F\u5316\u5931\u8D25")}}setUrlRows(t){let e={};for(let i of t){if(!i.enabled)continue;let r=(i.key??"").trim();r&&(e[r]=String(i.value??""))}let n=M(y({},this.body??{mode:"urlencoded"}),{mode:"urlencoded",content:e});this.bodyChange.emit(n)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-body-editor"]],inputs:{body:"body"},outputs:{bodyChange:"bodyChange"},features:[Ee],decls:13,vars:4,consts:[[1,"wrap"],[1,"bar"],[1,"mode",3,"ngModelChange","ngModel"],[3,"nzValue","nzLabel"],["nz-input","","placeholder","content-type\uFF08\u53EF\u9009\uFF09",1,"ctype",3,"ngModelChange","ngModel"],["nz-button","","nzType","default"],[1,"main"],[1,"empty"],["nz-input","","placeholder","\u6587\u672C\u5185\u5BB9",1,"ta",3,"ngModel"],["keyLabel","Key","valueLabel","Value","keyPlaceholder","a","valuePlaceholder","1",3,"rows"],["nz-button","","nzType","default",3,"click"],["nz-input","","placeholder","\u6587\u672C\u5185\u5BB9",1,"ta",3,"ngModelChange","ngModel"],["nz-input","","placeholder","{ }",1,"ta",3,"ngModelChange","ngModel"],[1,"err"],["keyLabel","Key","valueLabel","Value","keyPlaceholder","a","valuePlaceholder","1",3,"rowsChange","rows"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"nz-select",2),g("ngModelChange",function(r){return n.setMode(r)}),O(3,Lo,1,2,"nz-option",3,Se),s(),a(5,"input",4),g("ngModelChange",function(r){return n.setContentType(r)}),s(),b(6,Ko,2,0,"button",5),s(),a(7,"div",6),b(8,Ho,2,0,"div",7)(9,$o,1,1,"textarea",8)(10,Wo,2,2)(11,Jo,1,1,"app-kv-table",9)(12,Qo,2,0,"div",7),s()()),e&2){let i;c(2),h("ngModel",n.mode()),c(),V(n.modes),c(2),h("ngModel",n.contentType()),c(),x(n.mode()==="json"?6:-1),c(2),x((i=n.mode())==="none"?8:i==="text"?9:i==="json"?10:i==="urlencoded"?11:12)}},dependencies:[A,K,Z,Q,G,I,j,F,se,Y,ie,ve,Pe,Ae,Be],styles:["[_nghost-%COMP%]{display:block;height:100%}.wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.bar[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.mode[_ngcontent-%COMP%]{width:140px}.ctype[_ngcontent-%COMP%]{flex:1 1 auto}.main[_ngcontent-%COMP%]{flex:1 1 auto;overflow:auto;padding-top:10px}.ta[_ngcontent-%COMP%]{width:100%;height:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.empty[_ngcontent-%COMP%]{padding:12px;opacity:.7}.err[_ngcontent-%COMP%]{margin-top:8px;color:#a8071a;font-size:12px}"]})};var Bi=pt(ht());var Di=pt(ht());var wn="hub-v2:api-client:tabs",Go=10080*60*1e3;function ge(){return Date.now()}function En(){return`tab_${ge().toString(16)}_${Math.random().toString(16).slice(2,8)}`}var Wt=class o{maxTabs=20;tabs=E([]);activeTabId=E(null);activeTab=_(()=>{let t=this.activeTabId(),e=this.tabs();return t?e.find(n=>n.id===t)??null:null});activeSending=_(()=>this.activeTab()?.sending??!1);activeRequest=_(()=>this.activeTab()?.request??null);activeResponse=_(()=>this.activeTab()?.lastResponse??null);canOpenMore=_(()=>this.tabs().length<this.maxTabs);tabCount=_(()=>this.tabs().length);constructor(){this.restoreFromStorage(),Me(()=>{let t=this.tabs(),e=this.activeTabId();this.saveToStorage(t,e)})}createEmptyTab(t){let e=ge(),n={id:`req_${e.toString(16)}_${Math.random().toString(16).slice(2,6)}`,name:"",method:"GET",url:"",collectionId:t??null,query:[],pathParams:[],headers:[],body:{mode:"none"},auth:{type:"none"},options:{followRedirects:!0,timeoutMs:3e4},tags:[],createdAt:e,updatedAt:e};return{id:En(),requestId:null,request:n,title:"New Request",isDirty:!1,lastResponse:null,createdAt:e,updatedAt:e,sending:!1}}openNewTab(t){if(!this.canOpenMore())throw new Error("\u5DF2\u8FBE\u5230\u6700\u5927 Tab \u6570\u91CF\u9650\u5236");let e=this.createEmptyTab(t);return this.tabs.update(n=>[...n,e]),this.activeTabId.set(e.id),e.id}openRequestInTab(t,e){let n=this.tabs().find(f=>f.requestId===t.id);if(n)return this.activeTabId.set(n.id),n.id;if(!this.canOpenMore())throw new Error("\u5DF2\u8FBE\u5230\u6700\u5927 Tab \u6570\u91CF\u9650\u5236");let i=ge(),r=y({},t),l={id:En(),requestId:t.id,request:r,savedSnapshot:r,title:this.generateTabTitle(t),isDirty:!1,lastResponse:null,createdAt:i,updatedAt:i,sending:!1};return this.tabs.update(f=>[...f,l]),this.activeTabId.set(l.id),l.id}closeTab(t){let n=this.tabs().findIndex(r=>r.id===t);if(n<0)return;let i=this.activeTabId()===t;if(this.tabs.update(r=>r.filter(l=>l.id!==t)),this.tabs().length===0){let r=this.createEmptyTab();this.tabs.set([r]),this.activeTabId.set(r.id);return}if(i){let r=this.tabs(),l=Math.min(n,r.length-1);this.activeTabId.set(r[l]?.id??null)}}closeOtherTabs(t){let e=this.tabs().find(n=>n.id===t);e&&(this.tabs.set([e]),this.activeTabId.set(t))}closeRightTabs(t){let e=this.tabs().findIndex(n=>n.id===t);e<0||(this.tabs.update(n=>n.slice(0,e+1)),this.tabs().find(n=>n.id===this.activeTabId())||this.activeTabId.set(t))}closeSavedTabs(){let t=this.activeTabId(),e=this.tabs().find(n=>n.id===t);if(this.tabs.update(n=>n.filter(i=>i.isDirty||!i.requestId)),!this.tabs().find(n=>n.id===t)){let n=this.tabs()[0];if(n)this.activeTabId.set(n.id);else{let i=this.createEmptyTab();this.tabs.set([i]),this.activeTabId.set(i.id)}}}closeAllTabs(){let t=this.createEmptyTab();this.tabs.set([t]),this.activeTabId.set(t.id)}duplicateTab(t){let e=this.tabs().find(f=>f.id===t);if(!e)throw new Error("Tab not found");if(!this.canOpenMore())throw new Error("\u5DF2\u8FBE\u5230\u6700\u5927 Tab \u6570\u91CF\u9650\u5236");let n=ge(),i=M(y({},e.request),{id:`req_${n.toString(16)}_${Math.random().toString(16).slice(2,6)}`,name:`${e.request.name||"\u672A\u547D\u540D"} (\u526F\u672C)`,createdAt:n,updatedAt:n}),r={id:En(),requestId:null,request:i,savedSnapshot:null,title:this.generateTabTitle(i),isDirty:!0,lastResponse:null,createdAt:n,updatedAt:n,sending:!1},l=this.tabs().findIndex(f=>f.id===t);return this.tabs.update(f=>{let v=[...f];return v.splice(l+1,0,r),v}),this.activeTabId.set(r.id),r.id}getTabUrl(t){return this.tabs().find(n=>n.id===t)?.request.url??null}switchTab(t){this.tabs().find(n=>n.id===t)&&this.activeTabId.set(t)}renameTab(t,e){this.tabs.update(n=>n.map(i=>{if(i.id!==t)return i;let r=M(y({},i.request),{name:e,updatedAt:ge()});return M(y({},i),{title:e,request:r,isDirty:i.requestId?!0:i.isDirty,updatedAt:ge()})}))}reorderTabs(t,e){t!==e&&this.tabs.update(n=>{let i=[...n],[r]=i.splice(t,1);return i.splice(e,0,r),i})}updateActiveRequest(t){let e=this.activeTabId();e&&this.tabs.update(n=>n.map(i=>{if(i.id!==e)return i;let r=M(y(y({},i.request),t),{updatedAt:ge()}),l=i.savedSnapshot,f=l?this.hasChanges(l,r):!0;return M(y({},i),{request:r,title:this.generateTabTitle(r),isDirty:f,updatedAt:ge()})}))}updateActiveResponse(t){let e=this.activeTabId();e&&this.tabs.update(n=>n.map(i=>i.id===e?M(y({},i),{lastResponse:t,updatedAt:ge()}):i))}updateTabResponse(t,e){this.tabs.update(n=>n.map(i=>i.id===t?M(y({},i),{lastResponse:e,updatedAt:ge()}):i))}markActiveSaved(t){let e=this.activeTabId();e&&this.tabs.update(n=>n.map(i=>i.id!==e?i:M(y({},i),{requestId:t,savedSnapshot:y({},i.request),isDirty:!1,updatedAt:ge()})))}markActiveDirty(){let t=this.activeTabId();t&&this.tabs.update(e=>e.map(n=>n.id===t?M(y({},n),{isDirty:!0,updatedAt:ge()}):n))}setSending(t,e){this.tabs.update(n=>n.map(i=>i.id===t?M(y({},i),{sending:e}):i))}getTab(t){return this.tabs().find(e=>e.id===t)??null}isTabDirty(t){return this.getTab(t)?.isDirty??!1}generateTabTitle(t){if(t.name)return t.name;if(!t.url)return"New Request";let n=t.url.replace(/^\{\{[^}]+\}\}/,"").replace(/^https?:\/\/[^/]+/,"").split("?")[0]||"/";return`${t.method} ${n}`}hasChanges(t,e){let f=t,{updatedAt:n}=f,i=ct(f,["updatedAt"]),v=e,{updatedAt:r}=v,l=ct(v,["updatedAt"]);return!(0,Di.isEqual)(i,l)}restoreFromStorage(){try{let t=localStorage.getItem(wn);if(!t){this.createInitialTab();return}let e=JSON.parse(t);if(Date.now()-e.savedAt>Go||!Array.isArray(e.tabs)||e.tabs.length===0){this.createInitialTab();return}let i=e.tabs.filter(r=>r.id&&r.request);if(i.length===0){this.createInitialTab();return}this.tabs.set(i),this.activeTabId.set(e.activeTabId??i[0].id)}catch{this.createInitialTab()}}saveToStorage(t,e){try{let n=t.map(i=>({id:i.id,requestId:i.requestId,request:i.request,title:i.title,isDirty:i.isDirty,createdAt:i.createdAt,updatedAt:i.updatedAt}));localStorage.setItem(wn,JSON.stringify({tabs:n,activeTabId:e,savedAt:Date.now()}))}catch{localStorage.removeItem(wn)}}createInitialTab(){let t=this.createEmptyTab();this.tabs.set([t]),this.activeTabId.set(t.id)}static \u0275fac=function(e){return new(e||o)};static \u0275prov=_e({token:o,factory:o.\u0275fac,providedIn:"root"})};var Yo=/\{\{\s*([a-zA-Z0-9_.-]+)\s*\}\}/g;function Pi(o=[]){let t={};for(let e of o)e.enabled&&(t[e.key]=String(e.value??""));return t}function Xo(o,t){let e=new Set;return{out:o.replace(Yo,(i,r)=>r in t?String(t[r]??""):(e.add(r),`{{${r}}}`)),missing:[...e]}}function Ai(o,t){let e=new Set;for(let n of o){if(!n)continue;let{missing:i}=Xo(n,t);i.forEach(r=>e.add(r))}return[...e]}var Ii=pt(ht());function st(o){if(!o)return[];let t=o;try{t=new URL(o).pathname||""}catch{t=o.split("?")[0].split("#")[0]||"";let f=t.indexOf("/");f>=0&&(t=t.slice(f))}let e=Zo(t),n=[],i=/(?:^|\/):([A-Za-z_][A-Za-z0-9_]*)/g,r;for(;r=i.exec(e);)n.push(r[1]);let l=/\{([A-Za-z_][A-Za-z0-9_]*)\}/g;for(;r=l.exec(e);)n.push(r[1]);return n}function Zo(o){try{return decodeURIComponent(o)}catch{return o}}function Sn(o,t){let e=st(o),n=Array.isArray(t)?t:[],i=new Map;for(let l of n){let f=(l.key??"").trim();f&&(i.has(f)||i.set(f,l))}return e.map(l=>{let f=i.get(l);return f?M(y({},f),{key:l,enabled:!0}):{key:l,value:"",description:"",enabled:!0,id:(0,Ii.uniqueId)()}})}var qi=pt(ht());function Rn(o){return(o??[]).map(t=>({key:t.key,value:t.value,enabled:t.enabled,id:(0,qi.uniqueId)(),description:t.description}))}function Oi(o,t){let e=new Map(t?.map(n=>[n.key,n]));return o.filter(n=>n.key?.trim()).map(n=>({key:n.key.trim(),value:String(n.value??""),enabled:n.enabled!==!1,secret:e.get(n.key)?.secret}))}function er(o,t){if(!t)return!0;let e=(o.name??"").toLowerCase(),n=(o.url??"").toLowerCase();return e.includes(t)||n.includes(t)}function ft(o){if(o==null)return null;let t=String(o).trim();if(!t)return null;let e=t.toLowerCase();return e==="null"||e==="undefined"?null:t}function tr(o,t){return(o.parentId??"").localeCompare(t.parentId??"")||(o.order??0)-(t.order??0)||(o.name??"").localeCompare(t.name??"")}function nr(o,t){return(ft(o.collectionId)??"").localeCompare(ft(t.collectionId)??"")||(o.order??0)-(t.order??0)||(o.name??"").localeCompare(t.name??"")||(o.url??"").localeCompare(t.url??"")}function Nn(o,t,e){let n=e?.trim().toLowerCase()||"",i=[...o??[]].sort(tr),r=[...t??[]].sort(nr),l=new Map;for(let R of i){let q=ft(R.parentId),W=l.get(q)??[];W.push(R),l.set(q,W)}let f=new Map;for(let R of r){if(!er(R,n))continue;let q=ft(R.collectionId),W=f.get(q)??[];W.push(R),f.set(q,W)}let v=(R,q)=>({key:`r:${String(R.id)}`,kind:"request",id:String(R.id),title:R.name??"\u672A\u547D\u540D",name:R.name,subtitle:R.url??"",method:R.method??"",parentKey:q,children:[]}),w=(R,q)=>{let W=ft(R.id),ee=`c:${W}`,te=l.get(W)??[],U=f.get(W)??[];return{key:ee,kind:R.kind??"collection",id:W,title:R.name??"\u672A\u547D\u540D",name:R.name,parentKey:q,children:[...te.map(ue=>w(ue,ee)),...U.map(ue=>v(ue,ee))]}},N=l.get(null)??[],L=f.get(null)??[];return[...N.map(R=>w(R,null)),...L.map(R=>v(R,null))]}var Jt=class o{http=k(hi);ls=k(mi);base="/api/client";nextKvId=1;mapKvRows(t){return(t??[]).map(e=>({id:`kv_${this.nextKvId++}`,key:e.key,value:e.value,enabled:e.enabled}))}toRequestEntity(t){return M(y({},t),{query:this.mapKvRows(t.query),pathParams:this.mapKvRows(t.pathParams),headers:this.mapKvRows(t.headers)})}toHistoryEntity(t){return M(y({},t),{requestSnapshot:this.toRequestEntity(t.requestSnapshot)})}toSendResponse(t){let e=t.curl;return M(y({},t),{curl:e?{bash:e.bash??"",powershell:e.powershell??"",cmd:e.cmd??""}:void 0,metrics:t.metrics})}async listRequests(t,e){let n=new Te().set("scope",t);return e&&(n=n.set("projectId",e)),(await ne(this.http.get(`${this.base}/requests`,n))).map(r=>this.toRequestEntity(r))}async saveRequest(t,e,n){let i={scope:t,projectId:e,request:n};return await ne(this.http.post(`${this.base}/requests`,i))}async updateRequest(t,e,n){let i={scope:t,projectId:e,request:n};return await ne(this.http.post(`${this.base}/requests/update`,i))}async deleteRequest(t,e,n){let i=new Te().set("scope",e);return n&&(i=i.set("projectId",n)),await ne(this.http.delete(`${this.base}/requests/${t}`,i))}async send(t){let e=await ne(this.http.post(`${this.base}/send`,t));return this.toSendResponse(e)}async hubTokenRequest(t){let e=t.tokenType??"project",n=t.personalToken;return e==="personal"&&!n&&(n=this.ls.get(ui.token.hubV2PersonalToken,"").trim()||void 0),await ne(this.http.post(`${this.base}/hub-token/request`,{projectId:t.projectId,tokenType:e,path:t.path,method:t.method??"GET",query:t.query,body:t.payload,headers:t.headers,personalToken:n}))}async listHistory(t,e){let n=new Te().set("scope",t);return e&&(n=n.set("projectId",e)),(await ne(this.http.get(`${this.base}/history`,n))).map(r=>this.toHistoryEntity(r))}async listEnvs(t,e){let n=new Te().set("scope",t);return e&&(n=n.set("projectId",e)),await ne(this.http.get(`${this.base}/envs`,n))}async saveEnv(t,e,n){let i={scope:t,projectId:e,env:n};return await ne(this.http.post(`${this.base}/envs`,i))}async deleteEnv(t,e,n){let i=new Te().set("scope",e);return n&&(i=i.set("projectId",n)),await ne(this.http.delete(`${this.base}/envs/${t}`,i))}async listCollections(t,e){let n=new Te().set("scope",t);return e&&(n=n.set("projectId",e)),await ne(this.http.get(`${this.base}/collections`,n))}async createCollection(t){return await ne(this.http.post(`${this.base}/collections`,t))}async updateCollection(t,e,n,i){let r=new Te().set("scope",n).set("projectId",i??"");return await ne(this.http.post(`${this.base}/collections/${t}`,e,r))}async deleteCollection(t,e,n){let i=new Te().set("scope",e).set("projectId",n??"");return await ne(this.http.delete(`${this.base}/collections/${t}`,i))}static \u0275fac=function(e){return new(e||o)};static \u0275prov=_e({token:o,factory:o.\u0275fac,providedIn:"root"})};var ir=o=>({$implicit:o,level:0}),or=(o,t)=>({$implicit:o,level:t}),Vi=(o,t)=>t.key;function rr(o,t){if(o&1&&(a(0,"div",8),d(1),s()),o&2){let e=p(2);c(),D(e.nameErr())}}function ar(o,t){if(o&1){let e=z();a(0,"label",5),d(1,"\u540D\u79F0"),s(),a(2,"nz-input-wrapper")(3,"input",6),g("ngModelChange",function(i){u(e);let r=p();return m(r.name.set(i))}),s(),C(4,"nz-icon",7),s(),b(5,rr,2,1,"div",8)}if(o&2){let e=p();c(3),h("ngModel",e.name()),c(),h("nzType",e.iconForKind()),c(),x(e.nameErr()?5:-1)}}function sr(o,t){if(o&1&&Re(0,12),o&2){let e=t.$implicit;p(2);let n=re(9);h("ngTemplateOutlet",n)("ngTemplateOutletContext",mt(2,ir,e))}}function lr(o,t){o&1&&(a(0,"div",13),d(1,"\u6682\u65E0\u76EE\u5F55"),s())}function cr(o,t){if(o&1&&(a(0,"div",8),d(1),s()),o&2){let e=p(2);c(),D(e.moveErr())}}function pr(o,t){if(o&1){let e=z();a(0,"div",9)(1,"div",10),g("click",function(){u(e);let i=p();return m(i.select(null))}),C(2,"nz-icon",11),a(3,"span"),d(4,"\u6839\u76EE\u5F55"),s()(),O(5,sr,1,4,"ng-container",12,Vi),b(7,lr,2,0,"div",13),s(),b(8,cr,2,1,"div",8)}if(o&2){let e=p();c(),H("selected",e.selectedKey()===null),c(4),V(e.filteredNodes()),c(2),x(e.filteredNodes().length?-1:7),c(),x(e.moveErr()?8:-1)}}function dr(o,t){if(o&1&&Re(0,12),o&2){let e=t.$implicit,n=p(2).level;p();let i=re(9);h("ngTemplateOutlet",i)("ngTemplateOutletContext",Wn(2,or,e,n+1))}}function ur(o,t){if(o&1&&O(0,dr,1,5,"ng-container",12,Vi),o&2){let e=p().$implicit;V(e.children)}}function mr(o,t){if(o&1){let e=z();a(0,"div",14),g("click",function(){let i=u(e).$implicit,r=p();return m(r.select(i.key))}),a(1,"button",15),g("click",function(i){let r=u(e).$implicit;return p().toggle(r.key),m(i.stopPropagation())}),C(2,"nz-icon",16),s(),C(3,"nz-icon",17),a(4,"span",18),d(5),s()(),b(6,ur,2,0)}if(o&2){let e=t.$implicit,n=t.level,i=p();ce("padding-left",8+n*16,"px"),H("selected",i.selectedKey()===e.key),c(),h("disabled",!(e.children!=null&&e.children.length)),c(),h("nzType",e.children!=null&&e.children.length?i.expanded(e.key)?"down":"right":"minus"),c(),h("nzType",e.kind==="folder"?"folder":"database"),c(2),D(e.title),c(),x(((e.children==null?null:e.children.length)??0)&&i.expanded(e.key)?6:-1)}}function hr(o){return o?`c:${o}`:null}function gr(o){return o&&o.startsWith("c:")?o.slice(2):null}var Ue=class o{data=k(ri);modalRef=k(Et);q=E("");name=E("");selectedKey=E(null);expandedMap=E({});mode=_(()=>this.data.mode??this.data.handleType);showParentPicker=_(()=>this.mode()==="move"||this.mode()==="pick");showName=_(()=>this.mode()==="create"||this.mode()==="rename");iconForKind=_(()=>{let t=this.data.kind??this.data.createBody?.kind??"collection";return t==="folder"?"folder":t==="request"?"api":"database"});ngOnInit(){let t=this.mode();if(t==="create"){let r=this.data.createBody;this.name.set(r?.name??""),this.selectedKey.set(null);return}if(t==="rename"||t==="update"){let r=this.data;this.name.set(r?.initialName??""),this.selectedKey.set(null);return}let e=this.data.initialParentId;this.selectedKey.set(e?e.startsWith("c:")?e:hr(e):null);let n=this.data.nodes??[],i={};for(let r of n)i[r.key]=!0;this.expandedMap.set(i)}expanded(t){return!!this.expandedMap()[t]}toggle(t){let e=y({},this.expandedMap());e[t]=!e[t],this.expandedMap.set(e)}select(t){this.selectedKey.set(t)}forbiddenKeys=_(()=>{if(this.mode()!=="move"||this.mode()!=="pick")return new Set;let t=this.data.target;if(!t||t.kind==="request")return new Set;let e=`c:${t.id}`,n=new Set([e]),i=this.data.nodes??[],r=f=>{for(let v of f.children??[])v.kind!=="request"&&(n.add(v.key),r(v))},l=f=>{for(let v of f)v.key===e?r(v):v.children?.length&&l(v.children)};return l(i),n});nodesForPicker=_(()=>{let t=(this.data.nodes??[]).filter(i=>i.kind!=="request"),e=this.forbiddenKeys(),n=i=>{let r=[];for(let l of i){if(l.kind==="request"||e.has(l.key))continue;let f=n(l.children??[]);r.push(M(y({},l),{children:f}))}return r};return n(t)});filteredNodes=_(()=>{if(!this.showParentPicker())return[];let t=this.q().trim().toLowerCase();if(!t)return this.nodesForPicker();let e=f=>(f.title??"").toLowerCase().includes(t),n=f=>{let v=[];for(let w of f){let N=n(w.children??[]);(e(w)||N.length)&&v.push(M(y({},w),{children:N}))}return v},i=n(this.nodesForPicker()),r=y({},this.expandedMap()),l=f=>{for(let v of f)v.children?.length&&(r[v.key]=!0),v.children?.length&&l(v.children)};return l(i),this.expandedMap.set(r),i});nameErr=_(()=>{if(!this.showName())return"";let t=(this.name()??"").trim();return t?t.length>50?"\u540D\u79F0\u8FC7\u957F\uFF08<= 50\uFF09":"":"\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A"});moveErr=_(()=>(this.showParentPicker(),""));canSubmit=_(()=>this.showName()&&this.nameErr()?!1:(this.showParentPicker(),!0));ok(){let t=this.mode();if(t==="rename"||t==="update"){let n={name:(this.name()??"").trim()};this.modalRef.close(n);return}if(t==="create"){let n=this.data.createBody,i=M(y({},n),{name:(this.name()??"").trim(),parentId:n.parentId??null});this.modalRef.close(i);return}let e=gr(this.selectedKey());this.modalRef.close({parentId:e})}cancel(){this.modalRef.close(null)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-collection-modal"]],decls:10,vars:3,consts:[["nodeTpl",""],[1,"modal-body"],[1,"footer"],["nz-button","",3,"click"],["nz-button","","nzType","primary",3,"click","disabled"],[1,"label"],["nz-input","","placeholder","\u8BF7\u8F93\u5165\u540D\u79F0","autofocus","",3,"ngModelChange","ngModel"],["nzInputPrefix","","nzTheme","outline",3,"nzType"],[1,"hint","err"],[1,"picker"],[1,"row","root",3,"click"],["nzType","home"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"empty"],[1,"row",3,"click"],["nz-button","","nzType","text","nzSize","small",1,"chev",3,"click","disabled"],[3,"nzType"],[1,"icon",3,"nzType"],[1,"title"]],template:function(e,n){if(e&1){let i=z();a(0,"div",1),b(1,ar,6,3),b(2,pr,9,4),s(),a(3,"div",2)(4,"button",3),g("click",function(){return u(i),m(n.cancel())}),d(5,"\u53D6\u6D88"),s(),a(6,"button",4),g("click",function(){return u(i),m(n.ok())}),d(7," \u786E\u5B9A "),s()(),ae(8,mr,7,9,"ng-template",null,0,le)}e&2&&(c(),x(n.showName()?1:-1),c(),x(n.showParentPicker()?2:-1),c(4),h("disabled",!n.canSubmit()))},dependencies:[A,Xe,K,Z,Q,G,Y,ie,ke,Rt,I,j,F,se,$,J],styles:[".modal-body[_ngcontent-%COMP%]{display:grid;gap:12px}.label[_ngcontent-%COMP%]{font-weight:600}.hint[_ngcontent-%COMP%]{font-size:12px;opacity:.75}.hint.err[_ngcontent-%COMP%]{color:#cf1322;opacity:1}.picker[_ngcontent-%COMP%]{max-height:52vh;overflow:auto;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:8px;display:flex;flex-direction:column;gap:6px}.row[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s;border:1px solid transparent}.row[_ngcontent-%COMP%]:hover{background:#0000000a}.row.selected[_ngcontent-%COMP%]{background:#00000014;border-color:#00000014}.row.root[_ngcontent-%COMP%]{font-weight:600}.chev[_ngcontent-%COMP%]{flex:0 0 auto}.chev[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:12px;transition:transform .15s}.icon[_ngcontent-%COMP%]{opacity:.75}.title[_ngcontent-%COMP%]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty[_ngcontent-%COMP%]{padding:16px;opacity:.6;text-align:center}.footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}"]})};var Qt=class o{modal=k(et);async createCollection(t){let e=this.modal.create({nzTitle:t.kind==="folder"?"\u65B0\u5EFA\u76EE\u5F55":"\u65B0\u5EFA\u96C6\u5408",nzContent:Ue,nzFooter:null,nzWidth:520,nzMaskClosable:!1,nzData:{mode:"create",createBody:t.createBody,nodes:t.nodes}});return await ne(e.afterClose)}async renameCollection(t){let e=this.modal.create({nzTitle:"\u91CD\u547D\u540D",nzContent:Ue,nzFooter:null,nzWidth:520,nzMaskClosable:!1,nzData:{mode:"rename",kind:t.kind,nodes:t.nodes,targetId:t.targetId,initialName:t.initialName}});return await ne(e.afterClose)}async moveTarget(t){let e=this.modal.create({nzTitle:"\u79FB\u52A8\u5230",nzContent:Ue,nzFooter:null,nzWidth:520,nzMaskClosable:!1,nzData:{mode:"move",nodes:t.nodes,target:t.target,initialParentId:t.initialParentId??null}});return await ne(e.afterClose)}async pickCollection(t){let e=this.modal.create({nzTitle:"\u9009\u62E9\u96C6\u5408/\u76EE\u5F55",nzContent:Ue,nzFooter:null,nzWidth:520,nzMaskClosable:!1,nzData:{mode:"pick",nodes:t.nodes}});return await ne(e.afterClose)}static \u0275fac=function(e){return new(e||o)};static \u0275prov=_e({token:o,factory:o.\u0275fac,providedIn:"root"})};var Fe=class o{api=k(Jt);msg=k(De);projectContext=k(gi);collectionModal=k(Qt);tabStore=k(Wt);scope=E("project");loading=E(!1);q=E("");activeSending=this.tabStore.activeSending;requests=E([]);activeRequestId=_(()=>this.tabStore.activeTab()?.requestId??null);collections=E([]);activeCollectionId=E(null);nodes=_(()=>Nn(this.collections(),this.requests(),"").filter(t=>t.kind!=="request"));filteredNodes=_(()=>{let t=this.q().toLowerCase();return Nn(this.collections(),this.requests(),t??"")});historyOpen=E(!1);historyLoading=E(!1);histories=E([]);envs=E([]);envLoading=E(!1);activeEnvId=E(null);lastResult=this.tabStore.activeResponse;projectId=_(()=>this.projectContext.currentProject()?.id??"");activeRequest=this.tabStore.activeRequest;tabs=this.tabStore.tabs;activeTabId=this.tabStore.activeTabId;activeTab=this.tabStore.activeTab;canOpenMore=this.tabStore.canOpenMore;activeEnv=_(()=>{let t=this.activeEnvId();return t?this.envs().find(e=>e.id===t)??null:null});envVarRecord=_(()=>{let t=this.activeEnv();return t?Pi(t.variables):{}});collectionPath=_(()=>{let t=this.activeCollectionId();if(!t)return null;let e=this.collections().find(r=>r.id===t);if(!e)return null;let n=[],i=`${e.id}`;for(;i;){let r=this.collections().find(l=>l.id===i);r?(n.unshift(r.name||"\u672A\u547D\u540D"),i=r.parentId?`${r.parentId}`:null):i=null}return n.join(" / ")});projectCtx=_(()=>{let t=this.projectContext.currentProject();return t?{scope:"project",projectId:t.id}:null});constructor(){Me(()=>{this.scope()!=="project"||!this.projectId()||this.loadAll()}),Me(()=>{if(this.scope()!=="project"){this.loadEnvs();return}this.projectId()&&this.loadEnvs()})}async loadAll(){let t=this.projectCtx();if(t){this.loading.set(!0);try{let[e,n]=await Promise.all([this.api.listCollections(t.scope,t.projectId),this.api.listRequests(t.scope,t.projectId)]);this.collections.set(e??[]),this.requests.set(n??[])}finally{this.loading.set(!1)}}}async reloadCollections(){let t=this.projectCtx();if(!t)return;let e=await this.api.listCollections(t.scope,t.projectId);this.collections.set(e??[])}async reloadRequests(){let t=this.projectCtx();if(!t)return;let e=await this.api.listRequests(t.scope,t.projectId);this.requests.set(e??[])}async loadRequests(){let t=this.projectCtx();if(t){this.loading.set(!0);try{let e=await this.api.listRequests(t.scope,t.projectId);this.requests.set(e);let n=this.activeRequestId();if(n&&e.some(i=>i.id===n))return;e.length?this.selectRequest(e[0].id):this.newTab()}catch(e){this.msg.error(e?.message??"\u52A0\u8F7D\u8BF7\u6C42\u5931\u8D25")}finally{this.loading.set(!1)}}}selectRequest(t){let e=this.requests().find(n=>n.id===t)||null;e&&(this.tabStore.openRequestInTab(e,t),this.activeCollectionId.set(e.collectionId??null))}switchTab(t){this.tabStore.switchTab(t);let e=this.tabStore.getTab(t);e?.request.collectionId&&this.activeCollectionId.set(e.request.collectionId)}closeTab(t){this.tabStore.closeTab(t)}newTab(t){try{this.tabStore.openNewTab(t),this.activeCollectionId.set(t??null)}catch(e){this.msg.warning(e.message)}}renameTab(t,e){this.tabStore.renameTab(t,e)}reorderTabs(t,e){this.tabStore.reorderTabs(t,e)}handleTabContextMenu(t){switch(t.action){case"close":this.closeTab(t.tabId);break;case"closeOthers":this.tabStore.closeOtherTabs(t.tabId);break;case"closeRight":this.tabStore.closeRightTabs(t.tabId);break;case"closeSaved":this.tabStore.closeSavedTabs();break;case"closeAll":this.tabStore.closeAllTabs();break;case"rename":break;case"duplicate":try{this.tabStore.duplicateTab(t.tabId),this.msg.success("\u5DF2\u590D\u5236\u8BF7\u6C42")}catch(i){this.msg.warning(i.message)}break;case"copyUrl":let e=this.tabStore.getTabUrl(t.tabId);e&&navigator.clipboard.writeText(e).then(()=>{this.msg.success("URL \u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F")}).catch(()=>{this.msg.error("\u590D\u5236\u5931\u8D25")});break;case"moveTo":let n=this.tabStore.getTab(t.tabId);n?.requestId&&this.moveCollection(n.requestId,"request");break}}selectCollection(t){this.activeCollectionId.set(t)}async newCollection(t){let e=this.projectCtx();if(!e)return;let n={scope:e.scope,projectId:e.projectId,name:t.name??"",kind:t.kind??"collection",parentId:t.parentId??null},i=this.nodes(),r=await this.collectionModal.createCollection({createBody:n,nodes:i,kind:n.kind,initialParentId:n.parentId??null});if(r){let l=await this.api.createCollection(r);this.msg.success("\u521B\u5EFA\u6210\u529F"),this.collections.update(f=>[...f,l]),this.activeCollectionId.set(l.id)}}async deleteCollection(t,e){if(e==="request"){this.removeRequest(t);return}if(await this.api.deleteCollection(t,this.scope(),this.projectId()),this.msg.success("\u5DF2\u5220\u9664"),this.collections.update(n=>n.filter(i=>i.id!==t)),this.activeCollectionId()===t){let n=this.collections()[0];this.activeCollectionId.set(n?.id??null)}}async moveCollection(t,e){let n="";if(e=="request"){let l=this.requests().find(f=>f.id===t);if(!l){this.msg.error("\u8BF7\u6C42\u4E0D\u5B58\u5728");return}n=l.collectionId??""}else{let l=this.collections().find(f=>f.id===t);if(!l){this.msg.error("\u96C6\u5408\u4E0D\u5B58\u5728");return}n=l.parentId??""}let i=this.nodes(),{parentId:r}=await this.collectionModal.moveTarget({nodes:i,target:{kind:e,id:t},initialParentId:n})||{};if(r!==void 0)if(e==="request"){let l=this.requests().find(w=>w.id===t);if(!l){this.msg.error("\u8BF7\u6C42\u4E0D\u5B58\u5728");return}let f={collectionId:r??null,id:l.id};l.collectionId=r??null,await this.api.updateRequest(this.scope(),this.projectId(),f),this.requests.update(w=>w.map(N=>N.id===t?M(y({},N),{collectionId:r??null}):N)),this.tabs().find(w=>w.requestId===t)&&this.tabStore.updateActiveRequest({collectionId:r??null}),this.msg.success("\u4FEE\u6539\u6210\u529F")}else{let l={parentId:r??null},f=await this.api.updateCollection(t,l,this.scope(),this.projectId());this.collections.update(v=>v.map(w=>w.id===t?f:w)),this.activeCollectionId.set(f.id),this.msg.success("\u4FEE\u6539\u6210\u529F")}}async renameCollection(t,e){let n="";if(e=="request"){let l=this.requests().find(f=>f.id===t);if(!l){this.msg.error("\u8BF7\u6C42\u4E0D\u5B58\u5728");return}n=l.name??""}else{let l=this.collections().find(f=>f.id===t);if(!l){this.msg.error("\u96C6\u5408\u4E0D\u5B58\u5728");return}n=l.name??""}let i=this.nodes(),r=await this.collectionModal.renameCollection({nodes:i,kind:e,targetId:t,initialName:n});if(r)if(e==="request")await this.api.updateRequest(this.scope(),this.projectId(),{id:t,name:r.name}),this.requests.update(l=>l.map(f=>f.id===t?M(y({},f),{name:r.name??f.name}):f)),this.msg.success("\u4FEE\u6539\u6210\u529F"),this.reloadRequests();else{let l=await this.api.updateCollection(t,r,this.scope(),this.projectId());this.collections.update(f=>f.map(v=>v.id===t?l:v)),this.msg.success("\u4FEE\u6539\u6210\u529F"),this.reloadCollections()}}newRequest(t={}){let e=this.projectId();if(this.scope()==="project"&&!e){this.msg.warning("\u8BF7\u5148\u9009\u62E9\u9879\u76EE");return}this.newTab(t.collectionId)}patchActive(t){this.tabStore.updateActiveRequest(t)}async saveActive(){let t=this.activeRequest();if(!t)return;let e=this.scope(),n=e==="project"?this.projectId():void 0;if(e==="project"&&!n)throw new Error("projectId missing");if(!t.name?.trim()){this.msg.warning("\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A");return}if(!t.url?.trim()){this.msg.warning("URL \u4E0D\u80FD\u4E3A\u7A7A");return}let i=this.activeTab();if(i&&!i.requestId&&!t.collectionId){let r=this.nodes(),l=await this.collectionModal.pickCollection({nodes:r});if(!l)return;t.collectionId=l.parentId??null,this.tabStore.updateActiveRequest({collectionId:t.collectionId})}this.loading.set(!0);try{let r=await this.api.saveRequest(e,n,t);this.msg.success("\u5DF2\u4FDD\u5B58"),this.tabStore.markActiveSaved(r.id),await this.loadRequests()}catch(r){this.msg.error(r?.message??"\u4FDD\u5B58\u5931\u8D25")}finally{this.loading.set(!1)}}async sendActive(){let t=this.activeRequest();t&&await this.sendResolvedRequest(t)}async removeRequest(t){await this.api.deleteRequest(t,this.scope(),this.projectId()),this.msg.success("\u5DF2\u5220\u9664");let e=this.requests().filter(i=>i.id!==t);this.requests.set(e);let n=this.tabs().find(i=>i.requestId===t);n&&this.tabStore.closeTab(n.id)}ensureKvId(t){return t.map(e=>(e.id||(e.id=(0,Bi.uniqueId)()),e))}openHistory(){this.historyOpen.set(!0),this.loadHistory()}closeHistory(){this.historyOpen.set(!1)}async loadHistory(){this.historyLoading.set(!0);try{let t=await this.api.listHistory(this.scope(),this.projectId());this.histories.set(t)}finally{this.historyLoading.set(!1)}}async replayHistory(t){this.tabStore.openRequestInTab(t.requestSnapshot),await this.sendResolvedRequest(t.requestSnapshot)}async sendResolvedRequest(t){let e=this.scope(),n=e==="project"?this.projectId():void 0;if(e==="project"&&!n){this.msg.warning("\u8BF7\u5148\u9009\u62E9\u9879\u76EE");return}let i=this.tabStore.activeTabId();if(i){this.tabStore.setSending(i,!0),this.tabStore.updateTabResponse(i,null);try{let r=await this.api.send({scope:e,projectId:n||void 0,request:t,envId:this.activeEnvId()??void 0,projectRoot:this.projectContext.currentProject()?.root});this.tabStore.updateTabResponse(i,r),r.error?this.msg.error(`${r.error.code}: ${r.error.message}`):this.msg.success(`HTTP ${r.response?.status??""} (${r.metrics.durationMs}ms)`)}catch(r){this.msg.error(r?.message??"\u53D1\u9001\u5931\u8D25")}finally{this.tabStore.setSending(i,!1)}}}async loadEnvs(){let t=this.scope(),e=t==="project"?this.projectId():void 0;if(!(t==="project"&&!e)){this.envLoading.set(!0);try{let n=await this.api.listEnvs(t,e);this.envs.set(n);let i=this.activeEnvId();if(i&&n.some(r=>r.id===i))return;this.activeEnvId.set(n[0]?.id??null)}finally{this.envLoading.set(!1)}}}setActiveEnv(t){this.activeEnvId.set(t)}async saveEnv(t){let e=this.scope(),n=e==="project"?this.projectId():void 0;await this.api.saveEnv(e,n||void 0,t),await this.loadEnvs()}async deleteEnv(t){await this.api.deleteEnv(t,this.scope(),this.projectId()),this.activeEnvId()===t&&this.activeEnvId.set(null),await this.loadEnvs()}static \u0275fac=function(e){return new(e||o)};static \u0275prov=_e({token:o,factory:o.\u0275fac,providedIn:"root"})};var fr=["class","component"],Cr=(o,t)=>t.id;function _r(o,t){if(o&1){let e=z();a(0,"div",9),g("click",function(){let i=u(e).$implicit,r=p();return m(r.selectEditEnv(i.id))}),a(1,"div",10),d(2),s(),a(3,"div",11),d(4),s()()}if(o&2){let e,n=t.$implicit,i=p();H("active",n.id===((e=i.draft())==null?null:e.id)),c(2),D(n.name),c(2),oe("",n.variables.length," vars")}}function vr(o,t){o&1&&(a(0,"div",6),d(1,"\u6682\u65E0\u73AF\u5883"),s())}function br(o,t){o&1&&(a(0,"div",6),d(1,"\u9009\u62E9\u4E00\u4E2A\u73AF\u5883\u8FDB\u884C\u7F16\u8F91"),s())}function xr(o,t){if(o&1){let e=z();a(0,"div",8)(1,"div",12)(2,"div",13),d(3,"\u540D\u79F0"),s(),a(4,"input",14),g("ngModelChange",function(i){u(e);let r=p();return m(r.setName(i))}),s()(),a(5,"div",12)(6,"div",13),d(7,"\u524D\u7F6EURL"),s(),a(8,"input",14),g("ngModelChange",function(i){u(e);let r=p();return m(r.setBaseUrl(i))}),s()(),a(9,"div",15)(10,"app-kv-table",16),g("rowsChange",function(i){u(e);let r=p();return m(r.varsRows.set(i))}),s()(),a(11,"div",17)(12,"button",3),g("click",function(){u(e);let i=p();return m(i.save())}),d(13,"\u4FDD\u5B58"),s(),a(14,"button",18),g("nzOnConfirm",function(){u(e);let i=p();return m(i.remove())}),d(15," \u5220\u9664 "),s(),a(16,"button",19),g("click",function(){u(e);let i=p();return m(i.useThisEnv())}),d(17,"\u8BBE\u4E3A\u5F53\u524D"),s()()()}if(o&2){let e=p();c(4),h("ngModel",e.draft().name),c(4),h("ngModel",e.draft().baseUrl),c(2),h("rows",e.varsRows())}}function Fi(){return Date.now()}function yr(o){let t=Math.random().toString(16).slice(2,10);return`${o}_${t}_${Date.now().toString(16)}`}var Gt=class o{envChange=new T;store=k(Fe);modalRef=k(Et);msg=k(De);draft=E(null);varsRows=E([]);selectEditEnv(t){this.store.activeEnvId.set(t);let e=this.store.envs().find(n=>n.id===t);e&&(this.draft.set(M(y({},e),{variables:e.variables})),this.varsRows.set(Rn(e.variables)))}createEnv(){let t=Fi(),e={id:yr("env"),scope:"project",name:"\u672A\u547D\u540D\u73AF\u5883",variables:[],createdAt:t,updatedAt:t};this.draft.set(e),this.varsRows.set(Rn(e.variables))}setName(t){let e=this.draft();e&&this.draft.set(M(y({},e),{name:t}))}setBaseUrl(t){let e=this.draft();e&&this.draft.set(M(y({},e),{baseUrl:t}))}async save(){let t=this.draft();if(!t)return;let e=M(y({},t),{variables:Oi(this.varsRows(),t.variables),updatedAt:Fi()});await this.store.saveEnv(e),this.store.activeEnvId.set(e.id),this.msg.success("\u73AF\u5883\u53D8\u91CF\u4FDD\u5B58\u6210\u529F"),this.draft.set(e)}async remove(){let t=this.store.activeEnvId();t&&(await this.store.deleteEnv(t),this.store.activeEnvId.set(null),this.draft.set(null),this.varsRows.set([]),this.msg.success("\u73AF\u5883\u53D8\u91CF\u5220\u9664\u6210\u529F"))}useThisEnv(){let t=this.store.activeEnvId();t&&this.store.setActiveEnv(t)}close(){this.modalRef.close()}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-env-modal",8,"component"]],outputs:{envChange:"envChange"},attrs:fr,decls:12,vars:2,consts:[[1,"drawer"],[1,"left"],[1,"toolbar"],["nz-button","","nzType","primary",3,"click"],[1,"env-list"],[1,"env-item",3,"active"],[1,"empty"],[1,"right"],[1,"form"],[1,"env-item",3,"click"],[1,"name"],[1,"meta"],[1,"row"],[1,"label"],["nz-input","",3,"ngModelChange","ngModel"],[1,"vars"],["keyLabel","Key","valueLabel","Value","keyPlaceholder","TOKEN","valuePlaceholder","xxx",3,"rowsChange","rows"],[1,"actions"],["nz-button","","nzType","default","nzDanger","","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u5220\u9664\u8BE5\u73AF\u5883\uFF1F",3,"nzOnConfirm"],["nz-button","","nzType","default",3,"click"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),g("click",function(){return n.createEnv()}),d(4,"\u65B0\u5EFA"),s()(),a(5,"div",4),O(6,_r,5,4,"div",5,Cr),b(8,vr,2,0,"div",6),s()(),a(9,"div",7),b(10,br,2,0,"div",6)(11,xr,18,3,"div",8),s()()),e&2){let i;c(6),V(n.store.envs()),c(2),x(n.store.envs().length?-1:8),c(2),x((i=n.draft())!=null&&i.id?11:10)}},dependencies:[A,K,Z,Q,G,Be,I,j,F,se,Y,ie,tt,Dt],styles:[".drawer[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr;gap:12px;height:100%}.left[_ngcontent-%COMP%]{border-right:1px solid #f0f0f0;padding-right:12px}.toolbar[_ngcontent-%COMP%]{padding-bottom:10px}.env-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.env-item[_ngcontent-%COMP%]{padding:8px;border:1px solid #f0f0f0;border-radius:8px;cursor:pointer}.env-item.active[_ngcontent-%COMP%]{background:#f5f5f5}.name[_ngcontent-%COMP%]{font-weight:600}.meta[_ngcontent-%COMP%]{font-size:12px;opacity:.7}.right[_ngcontent-%COMP%]{min-width:0}.empty[_ngcontent-%COMP%]{padding:12px;opacity:.7}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;margin-bottom:10px}.label[_ngcontent-%COMP%]{font-size:14px;opacity:.8}.vars[_ngcontent-%COMP%]{height:420px}.actions[_ngcontent-%COMP%]{display:flex;gap:8px;margin-top:12px}"]})};var zr=(o,t)=>t.id;function Mr(o,t){if(o&1&&C(0,"nz-option",2),o&2){let e=t.$implicit;h("nzValue",e.id)("nzLabel",e.name)}}var Yt=class o{store=k(Fe);modalService=k(et);openEnvModal(){let t=this.modalService.create({nzTitle:"\u73AF\u5883\u53D8\u91CF",nzFooter:null,nzMaskClosable:!1,nzContent:Gt,nzWidth:"1020px",nzCentered:!0});t.afterOpen.subscribe(()=>{let e=t.getContentComponent();e&&this.store.activeEnvId()?e.selectEditEnv(this.store.activeEnvId()??""):e.createEnv()})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-env-picker"]],decls:6,vars:3,consts:[[1,"picker"],[1,"sel",3,"ngModelChange","nzPlaceHolder","ngModel","nzAllowClear"],[3,"nzValue","nzLabel"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u7BA1\u7406\u73AF\u5883\u53D8\u91CF",3,"click"],["nzType","setting","nzTheme","outline"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"nz-select",1),g("ngModelChange",function(r){return n.store.setActiveEnv(r)}),O(2,Mr,1,2,"nz-option",2,zr),s(),a(4,"button",3),g("click",function(){return n.openEnvModal()}),C(5,"nz-icon",4),s()()),e&2&&(c(),h("nzPlaceHolder","Env")("ngModel",n.store.activeEnvId())("nzAllowClear",!0),c(),V(n.store.envs()))},dependencies:[A,K,Q,G,ve,Pe,Ae,I,j,F,St,Y,he,me,$,J,tt],styles:[".picker[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center}.sel[_ngcontent-%COMP%]{width:160px}"]})};var Xt=class o{options;optionsChange=new T;timeoutMs=_(()=>this.options?.timeoutMs??3e4);followRedirects=_(()=>this.options?.followRedirects??!0);insecureTLS=_(()=>this.options?.insecureTLS??!1);proxy=_(()=>this.options?.proxy??"");emit(t){this.optionsChange.emit(t)}setTimeout(t){let e=Number(t);this.emit(M(y({},this.options??{}),{timeoutMs:isNaN(e)?void 0:e}))}setFollowRedirects(t){this.emit(M(y({},this.options??{}),{followRedirects:t}))}setInsecureTLS(t){this.emit(M(y({},this.options??{}),{insecureTLS:t}))}setProxy(t){this.emit(M(y({},this.options??{}),{proxy:t||void 0}))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-advanced-editor"]],inputs:{options:"options"},outputs:{optionsChange:"optionsChange"},decls:25,vars:4,consts:[[1,"wrap"],[1,"grid"],[1,"row"],[1,"label"],["nz-input","","type","number","min","0","placeholder","30000",3,"ngModelChange","ngModel"],[1,"desc"],[1,"row","checkbox"],["nz-checkbox","",3,"ngModelChange","ngModel"],["nz-input","","placeholder","http://127.0.0.1:7890",3,"ngModelChange","ngModel"],[1,"desc","muted"],["nzType","info","nzShowIcon","","nzMessage","\u8BF4\u660E\uFF1AProxy \u914D\u7F6E\u5DF2\u4FDD\u5B58\uFF0C\u4F46\u5F53\u524D NodeHttpClient \u5C1A\u672A\u5B9E\u73B0\u4EE3\u7406\u652F\u6301\uFF0C\u8BF7\u52FF\u4F9D\u8D56\u8BE5\u9009\u9879\u8FDB\u884C\u8C03\u8BD5\u3002"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),d(4,"Timeout (ms)"),s(),a(5,"input",4),g("ngModelChange",function(r){return n.setTimeout(r)}),s(),a(6,"div",5),d(7,"\u8BF7\u6C42\u8D85\u65F6\u65F6\u95F4\uFF0C\u5355\u4F4D\u6BEB\u79D2\uFF080 \u8868\u793A\u4E0D\u8D85\u65F6\uFF09"),s()(),a(8,"div",6)(9,"label",7),g("ngModelChange",function(r){return n.setFollowRedirects(r)}),d(10," Follow Redirects "),s(),a(11,"div",5),d(12,"\u662F\u5426\u81EA\u52A8\u8DDF\u968F HTTP \u91CD\u5B9A\u5411\uFF08302 / 301\uFF09"),s()(),a(13,"div",6)(14,"label",7),g("ngModelChange",function(r){return n.setInsecureTLS(r)}),d(15," Insecure TLS "),s(),a(16,"div",5),d(17,"\u8DF3\u8FC7 TLS \u8BC1\u4E66\u6821\u9A8C\uFF08\u4EC5\u5728 Node \u73AF\u5883\u4E0B\u5C3D\u529B\u652F\u6301\uFF09"),s()(),a(18,"div",2)(19,"div",3),d(20,"Proxy"),s(),a(21,"input",8),g("ngModelChange",function(r){return n.setProxy(r)}),s(),a(22,"div",9),d(23,"\u4EE3\u7406\u5730\u5740\uFF08\u5F53\u524D\u7248\u672C\u4EC5\u4FDD\u5B58\uFF0C\u4E0D\u53C2\u4E0E\u5B9E\u9645\u8BF7\u6C42\uFF09"),s()(),C(24,"nz-alert",10),s()()),e&2&&(c(5),h("ngModel",n.timeoutMs()),c(4),h("ngModel",n.followRedirects()),c(5),h("ngModel",n.insecureTLS()),c(7),h("ngModel",n.proxy()))},dependencies:[A,K,Z,ci,Q,pi,G,Ot,qt,Y,ie,at,rt],styles:[".wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:240px}.grid[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:14px;padding-top:10px}.row[_ngcontent-%COMP%]{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:10px}.row.checkbox[_ngcontent-%COMP%]{grid-template-columns:1fr}.label[_ngcontent-%COMP%]{font-size:12px;opacity:.8}.desc[_ngcontent-%COMP%]{grid-column:2 / span 1;font-size:12px;opacity:.65}.row.checkbox[_ngcontent-%COMP%] .desc[_ngcontent-%COMP%]{grid-column:1 / span 1;margin-left:24px}.muted[_ngcontent-%COMP%]{color:#999}"]})};var kn=()=>[];function wr(o,t){if(o&1){let e=z();a(0,"div",3)(1,"div",4),d(2,"Path \u53C2\u6570"),s(),a(3,"app-kv-table",14),g("rowsChange",function(i){u(e);let r=p();return m(r.patch.emit({pathParams:i}))}),s()()}if(o&2){let e=p();c(3),h("keepTrailingBlank",!1)("rows",(e.req==null?null:e.req.pathParams)||ze(2,kn))}}var Zt=class o{req=null;patch=new T;optTabChange=new T;static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-request-tabs"]],inputs:{req:"req"},outputs:{patch:"patch",optTabChange:"optTabChange"},decls:20,vars:8,consts:[[1,"tabs",3,"nzSelectChange"],["nzTitle","Params"],[1,"tab"],[1,"item"],[1,"title"],["keyLabel","\u53C2\u6570\u540D","valueLabel","\u53C2\u6570\u503C","descriptionLabel","\u8BF4\u660E","keyPlaceholder","param","valuePlaceholder","value",3,"rowsChange","rows"],["nzTitle","Headers"],["keyLabel","Header","valueLabel","Value","keyPlaceholder","x-header","valuePlaceholder","value",3,"rowsChange","rows"],["nzTitle","Body"],[3,"bodyChange","body"],["nzTitle","Auth"],[3,"authChange","auth"],["nzTitle","Advanced"],[3,"optionsChange","options"],["keyLabel","\u53C2\u6570\u540D","valueLabel","\u53C2\u6570\u503C","descriptionLabel","\u8BF4\u660E","keyPlaceholder","param","valuePlaceholder","value",3,"rowsChange","keepTrailingBlank","rows"]],template:function(e,n){e&1&&(a(0,"nz-tabs",0),g("nzSelectChange",function(){return n.optTabChange.emit()}),a(1,"nz-tab",1)(2,"div",2)(3,"div",3)(4,"div",4),d(5,"Query \u53C2\u6570"),s(),a(6,"app-kv-table",5),g("rowsChange",function(r){return n.patch.emit({query:r})}),s()(),b(7,wr,4,3,"div",3),s()(),a(8,"nz-tab",6)(9,"div",2)(10,"app-kv-table",7),g("rowsChange",function(r){return n.patch.emit({headers:r})}),s()()(),a(11,"nz-tab",8)(12,"div",2)(13,"app-body-editor",9),g("bodyChange",function(r){return n.patch.emit({body:r})}),s()()(),a(14,"nz-tab",10)(15,"div",2)(16,"app-auth-editor",11),g("authChange",function(r){return n.patch.emit({auth:r})}),s()()(),a(17,"nz-tab",12)(18,"div",2)(19,"app-advanced-editor",13),g("optionsChange",function(r){return n.patch.emit({options:r})}),s()()()()),e&2&&(c(6),h("rows",(n.req==null?null:n.req.query)||ze(6,kn)),c(),x(!(n.req==null||n.req.pathParams==null)&&n.req.pathParams.length?7:-1),c(3),h("rows",(n.req==null?null:n.req.headers)||ze(7,kn)),c(3),h("body",n.req==null?null:n.req.body),c(3),h("auth",n.req==null?null:n.req.auth),c(3),h("options",n.req==null?null:n.req.options))},dependencies:[ot,Ft,Bt,Be,Ut,$t,Xt],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0}app-kv-table[_ngcontent-%COMP%]{display:block;height:100%}.tabs[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;height:100%}.tab[_ngcontent-%COMP%]{height:100%;overflow:hidden auto} nz-tabs.tabs .ant-tabs-content{height:100%} nz-tabs.tabs .ant-tabs-content .ant-tabs-tabpane{height:100%}"]})};function Er(o,t){if(o&1&&C(0,"nz-option",2),o&2){let e=t.$implicit;h("nzValue",e)("nzLabel",e)}}function Sr(o,t){if(o&1){let e=z();a(0,"div",7)(1,"nz-tag",8),d(2),s(),a(3,"a",9),g("click",function(){u(e);let i=p();return m(i.openEnv())}),d(4,"\u53BB\u914D\u7F6E"),s()()}if(o&2){let e=p();c(2),oe(" \u672A\u89E3\u6790\u53D8\u91CF\uFF1A",e.missingVars().join(", ")," ")}}var en=class o{envVars={};openEnv;method="GET";url="";sending=!1;envName=null;baseUrl=null;methodChange=new T;urlChange=new T;urlCommit=new T;send=new T;save=new T;methods=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];missingVars=_(()=>Ai([this.draftUrl],this.envVars));draftUrl="";t;ngOnChanges(t){t.url&&(this.draftUrl=this.url??"")}onDraftChange(t){this.draftUrl=t??"",this.t&&window.clearTimeout(this.t),this.t=window.setTimeout(()=>{this.urlChange.emit(this.draftUrl)},250)}commit(){this.t&&(window.clearTimeout(this.t),this.t=void 0),this.urlChange.emit(this.draftUrl),this.urlCommit.emit(this.draftUrl)}placeholder=_(()=>this.baseUrl?'"/"\u5F00\u5934':"http://...");previewUrl=_(()=>{let t=(this.url??"").trim();if(!t||Rr(t))return"";let e=(this.baseUrl??"").trim();if(!e)return"";try{return new URL(t,e).toString()}catch{return""}});static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-request-urlbar"]],inputs:{envVars:"envVars",openEnv:"openEnv",method:"method",url:"url",sending:"sending",envName:"envName",baseUrl:"baseUrl"},outputs:{methodChange:"methodChange",urlChange:"urlChange",urlCommit:"urlCommit",send:"send",save:"save"},features:[Ee],decls:11,vars:6,consts:[[1,"bar"],[1,"method",3,"ngModelChange","ngModel"],[1,"m",3,"nzValue","nzLabel"],[1,"url",3,"nzAddonBefore"],["nz-input","",3,"ngModelChange","blur","keydown.enter","placeholder","ngModel"],["nz-button","","nzType","primary",3,"click","nzLoading"],["nz-button","","nzType","default",3,"click"],[1,"var-hint"],["nzColor","warning"],[3,"click"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"nz-select",1),g("ngModelChange",function(r){return n.methodChange.emit(r)}),O(2,Er,1,2,"nz-option",2,Se),s(),a(4,"nz-input-wrapper",3)(5,"input",4),g("ngModelChange",function(r){return n.onDraftChange(r)})("blur",function(){return n.commit()})("keydown.enter",function(){return n.commit()}),s()(),a(6,"button",5),g("click",function(){return n.send.emit()}),d(7,"\u53D1\u9001"),s(),a(8,"button",6),g("click",function(){return n.save.emit()}),d(9,"\u4FDD\u5B58"),s()(),b(10,Sr,5,1,"div",7)),e&2&&(c(),h("ngModel",n.method),c(),V(n.methods),c(2),h("nzAddonBefore",n.baseUrl?n.baseUrl+" ":void 0),c(),h("placeholder",n.placeholder())("ngModel",n.draftUrl),c(),h("nzLoading",n.sending),c(4),x(n.missingVars().length?10:-1))},dependencies:[A,K,Z,Q,G,I,j,F,se,Y,ie,ke,ve,Pe,Ae,Ve,Oe],styles:[".bar[_ngcontent-%COMP%]{display:flex;gap:10px;padding:10px;border-bottom:1px solid #f0f0f0;align-items:center}.method[_ngcontent-%COMP%]{width:120px}.url[_ngcontent-%COMP%]{flex:1 1 auto}.var-hint[_ngcontent-%COMP%]{padding:4px 10px 8px;font-size:12px;display:flex;gap:8px;align-items:center}"]})};function Rr(o){return/^https?:\/\//i.test(o)}function Nr(o,t){if(o&1){let e=z();a(0,"app-request-urlbar",0),g("methodChange",function(i){u(e);let r=p();return m(r.patch.emit({method:i}))})("urlChange",function(i){u(e);let r=p();return m(r.onUrlChange(i))})("urlCommit",function(i){u(e);let r=p();return m(r.onUrlCommit(i))})("send",function(){u(e);let i=p();return m(i.send.emit())})("save",function(){u(e);let i=p();return m(i.save.emit())}),s(),a(1,"div",1)(2,"nz-input-wrapper",2)(3,"input",3),g("ngModelChange",function(i){u(e);let r=p();return m(r.patch.emit({name:i}))}),s()()(),a(4,"app-request-tabs",4),g("patch",function(i){u(e);let r=p();return m(r.patch.emit(i))})("optTabChange",function(i){u(e);let r=p();return m(r.optTabChange.emit(i))}),s()}if(o&2){let e=p();h("method",e.request.method)("baseUrl",e.baseUrl)("envVars",e.envVars)("openEnv",e.openEnv)("url",e.request.url)("sending",e.sending),c(2),h("nzAddonBefore",e.collectionPath||"\u672A\u5206\u7C7B"),c(),h("ngModel",e.request.name),c(),h("req",e.request)}}var tn=class o{request=null;sending=!1;envVars={};openEnv;baseUrl=null;activedTabId=null;patch=new T;send=new T;save=new T;optTabChange=new T;collectionPath=null;methods=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];onUrlCommit(t){let e=this.request;if(!e)return;let n=Sn(t,e.pathParams),i=st(e.url??""),r=st(t??"");(i.length!==r.length||i.some((f,v)=>f!==r[v]))&&this.patch.emit({pathParams:n})}onUrlChange(t){let e=this.request;if(!e){this.patch.emit({url:t});return}let n=Sn(t,e.pathParams),i=st(e.url??""),r=st(t??"");i.length!==r.length||i.some((f,v)=>f!==r[v])?this.patch.emit({url:t,pathParams:n}):this.patch.emit({url:t})}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-request-editor"]],inputs:{request:"request",sending:"sending",envVars:"envVars",openEnv:"openEnv",baseUrl:"baseUrl",activedTabId:"activedTabId",collectionPath:"collectionPath"},outputs:{patch:"patch",send:"send",save:"save",optTabChange:"optTabChange"},decls:1,vars:1,consts:[[3,"methodChange","urlChange","urlCommit","send","save","method","baseUrl","envVars","openEnv","url","sending"],[1,"name"],[3,"nzAddonBefore"],["nz-input","","placeholder","\u672A\u547D\u540D\u63A5\u53E3\u540D\u79F0",3,"ngModelChange","ngModel"],[1,"tabs",3,"patch","optTabChange","req"]],template:function(e,n){e&1&&b(0,Nr,5,9),e&2&&x(n.request?0:-1)},dependencies:[A,K,Z,Q,G,I,Y,ie,ke,ve,it,Zt,en],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}.name[_ngcontent-%COMP%]{padding:10px;border-bottom:1px solid #f0f0f0}.tabs[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;padding:0 10px}app-request-tabs[_ngcontent-%COMP%]{flex:1 1 auto;height:0}"]})};var nn=class o{clipboard=k(Mi);curl=null;copy(t){this.clipboard.copy(t)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-curl-actions"]],inputs:{curl:"curl"},decls:17,vars:5,consts:[["menu","nzDropdownMenu"],[1,"wrap"],["nz-button","","nz-dropdown","","nzType","default","nzTrigger","hover","nzPlacement","bottomCenter",3,"disabled","nzDropdownMenu"],["nzType","copy","nzTheme","outline"],["nz-menu",""],["nz-menu-item",""],["nz-button","","nzType","text",3,"click","disabled"]],template:function(e,n){if(e&1){let i=z();a(0,"div",1)(1,"nz-space")(2,"button",2),C(3,"nz-icon",3),d(4," cURL "),s()(),a(5,"nz-dropdown-menu",null,0)(7,"ul",4)(8,"li",5)(9,"button",6),g("click",function(){return u(i),m(n.copy(n.curl.bash))}),d(10," cURL (Bash) "),s()(),a(11,"li",5)(12,"button",6),g("click",function(){return u(i),m(n.copy(n.curl.powershell))}),d(13," cURL (PS) "),s()(),a(14,"li",5)(15,"button",6),g("click",function(){return u(i),m(n.copy(n.curl.cmd))}),d(16," cURL (CMD) "),s()()()()()}if(e&2){let i=re(6);c(2),h("disabled",!n.curl)("nzDropdownMenu",i),c(7),h("disabled",!(n.curl!=null&&n.curl.bash)),c(3),h("disabled",!(n.curl!=null&&n.curl.powershell)),c(3),h("disabled",!(n.curl!=null&&n.curl.cmd))}},dependencies:[A,Ti,ei,Zn,I,j,F,se,$,J,It,qe,Ie,bi,At,xi],encapsulation:2})};function ji(o){return(o.headers?.["content-type"]??o.headers?.["Content-Type"]??"").split(";")[0]?.trim()||"application/octet-stream"}function Li(o){return o?o.match(/filename="?([^"]+)"?/i)?.[1]??null:null}function Ki(o,t){let e=atob(o),n=new Uint8Array(e.length);for(let i=0;i<e.length;i++)n[i]=e.charCodeAt(i);return new Blob([n],{type:t})}function Hi(o){return{"image/png":"png","image/jpeg":"jpg","application/pdf":"pdf","video/mp4":"mp4","audio/mpeg":"mp3"}[o]??"bin"}function $i(o,t){let e=document.createElement("a");e.href=o,e.download=t,e.click()}function Ui(o){if(o<1024)return`${o} B`;let t=["KB","MB","GB","TB"],e=o/1024,n=0;for(;e>=1024&&n<t.length-1;)e/=1024,n++;return`${e.toFixed(1)} ${t[n]}`}var Dr=()=>[],Pr=(o,t)=>t.path;function Ar(o,t){if(o&1){let e=z();a(0,"span",7),g("click",function(){u(e);let i=p();return m(i.updateCollapsed())}),d(1),s()}if(o&2){let e=p();c(),D(e.collapsed()?"\u25B8":"\u25BE")}}function Ir(o,t){if(o&1&&(a(0,"span",8),d(1),s(),a(2,"span"),d(3,": "),s()),o&2){let e=p();c(),oe('"',e.node().key,'"')}}function qr(o,t){if(o&1&&(a(0,"span",10),d(1),s(),a(2,"span",11),d(3),s()),o&2){let e,n=p(2);c(),D(((e=n.node().children)==null?null:e.length)+" items ... "),c(2),D("}")}}function Or(o,t){if(o&1&&(a(0,"span",9),d(1),s(),b(2,qr,4,2)),o&2){let e=p();c(),D("{"),c(),x(e.collapsed()?2:-1)}}function Vr(o,t){if(o&1&&(a(0,"span",10),d(1),s(),a(2,"span",11),d(3),s()),o&2){let e,n=p(2);c(),D(((e=n.node().children)==null?null:e.length)+" items ... "),c(2),D("]")}}function Br(o,t){if(o&1&&(a(0,"span",9),d(1,"["),s(),b(2,Vr,4,2)),o&2){let e=p();c(2),x(e.collapsed()?2:-1)}}function Fr(o,t){if(o&1&&(a(0,"span"),d(1),s()),o&2){let e=p();zt(e.valueClass()),c(),D(e.formatValue())}}function jr(o,t){if(o&1&&C(0,"app-json-node",5),o&2){let e=t.$implicit,n=p();h("node",e)("depth",n.depth()+1)}}function Lr(o,t){if(o&1&&(a(0,"div",0)(1,"span",11),d(2),s()()),o&2){let e=p();ce("padding-left",(e.depth()+1)*16,"px"),c(2),D("}")}}function Kr(o,t){if(o&1&&(a(0,"div",0)(1,"span",11),d(2),s()()),o&2){let e=p();ce("padding-left",(e.depth()+1)*16,"px"),c(2),D("]")}}var on=class o{node=P.required();depth=P(0);collapsed=E(!1);isObject=_(()=>this.node().type==="object");isArray=_(()=>this.node().type==="array");isPrimitive=_(()=>this.node().type!=="object"&&this.node().type!=="array");valueClass=_(()=>this.node().type);updateCollapsed(){this.collapsed.update(t=>!t)}formatValue(){let t=this.node();switch(t.type){case"string":return`"${t.value}"`;case"null":return"null";default:return String(t.value)}}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-json-node"]],inputs:{node:[1,"node"],depth:[1,"depth"]},decls:12,vars:12,consts:[[1,"node"],[1,"toggle-wrap"],[1,"toggle"],[3,"class"],[1,"children"],[3,"node","depth"],[1,"node",3,"paddingLeft"],[1,"toggle",3,"click"],[1,"key"],[1,"brace"],[1,"meta"],[1,"close"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"div",1),b(2,Ar,2,1,"span",2),s(),b(3,Ir,4,1),b(4,Or,3,2),b(5,Br,3,1),b(6,Fr,2,3,"span",3),s(),a(7,"div",4),O(8,jr,1,2,"app-json-node",5,Pr),b(10,Lr,3,3,"div",6),b(11,Kr,3,3,"div",6),s()),e&2&&(ce("padding-left",(n.depth()+1)*16,"px"),c(2),x(n.isObject()||n.isArray()?2:-1),c(),x(n.node().key!==void 0?3:-1),c(),x(n.isObject()?4:-1),c(),x(n.isArray()?5:-1),c(),x(n.isPrimitive()?6:-1),c(),H("hidden",n.collapsed()),c(),V(n.node().children??ze(11,Dr)),c(2),x(n.isObject()?10:-1),c(),x(n.isArray()?11:-1))},dependencies:[o],styles:[".node[_ngcontent-%COMP%]{display:flex;align-items:flex-start;white-space:pre-wrap;word-break:break-word;position:relative}.node[_ngcontent-%COMP%]:hover{background:#00000008}.indent[_ngcontent-%COMP%]{flex-shrink:0}.toggle-wrap[_ngcontent-%COMP%]{width:1rem;border-radius:4px;flex-shrink:0;display:flex;justify-content:center;position:absolute;top:0;left:0}.toggle-wrap[_ngcontent-%COMP%]:hover{background:#0000000f}.hidden[_ngcontent-%COMP%]{display:none}.toggle[_ngcontent-%COMP%]{color:#595959;cursor:pointer;-webkit-user-select:none;user-select:none;transform:scale(2)}.content[_ngcontent-%COMP%]{flex:1}.key[_ngcontent-%COMP%]{white-space:nowrap;color:#3d8bff}.string[_ngcontent-%COMP%]{color:#d97058}.number[_ngcontent-%COMP%]{color:#7fb87a}.boolean[_ngcontent-%COMP%]{color:#3b82d6}.null[_ngcontent-%COMP%]{color:#545454}.brace[_ngcontent-%COMP%], .close[_ngcontent-%COMP%]{color:#a6a6a6}.meta[_ngcontent-%COMP%]{color:#545454;margin-left:4px}"]})};function rn(o,t,e="root"){return o===null?{key:t,type:"null",value:null,path:e}:Array.isArray(o)?{key:t,type:"array",path:e,children:o.map((n,i)=>rn(n,String(i),`${e}[${i}]`))}:typeof o=="object"?{key:t,type:"object",path:e,children:Object.entries(o).map(([n,i])=>rn(i,n,`${e}.${n}`))}:{key:t,type:typeof o,value:o,path:e}}function Hr(o,t){o&1&&(a(0,"div",0),d(1,"JSON \u683C\u5F0F\u9519\u8BEF"),s())}function $r(o,t){if(o&1&&(a(0,"div",1),C(1,"app-json-node",2),s()),o&2){let e=p();c(),h("node",e.tree())("depth",0)}}var lt=class o{json=P.required();parsed=_(()=>{try{return JSON.parse(this.json())}catch{return null}});parseError=_(()=>{try{return JSON.parse(this.json()),!1}catch{return!0}});tree=_(()=>{let t=this.parsed();return t==null?null:rn(t)});static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-json-viewer"]],inputs:{json:[1,"json"]},decls:2,vars:1,consts:[[1,"error"],[1,"json-viewer"],[3,"node","depth"]],template:function(e,n){e&1&&b(0,Hr,2,0,"div",0)(1,$r,2,2,"div",1),e&2&&x(n.parseError()?0:n.tree()?1:-1)},dependencies:[on],styles:[".json-viewer[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.6}.error[_ngcontent-%COMP%]{color:#ff4d4f}"],changeDetection:0})};var Wi=()=>[],Ur=(o,t)=>t.name,Wr=(o,t)=>t.path;function Jr(o,t){if(o&1){let e=z();a(0,"span",7),g("click",function(){u(e);let i=p(2);return m(i.toggle())}),d(1),s()}if(o&2){let e=p(2);c(),D(e.collapsed()?"\u25B8":"\u25BE")}}function Qr(o,t){if(o&1&&(a(0,"span",8),d(1),s(),a(2,"span",9),d(3," = "),s(),a(4,"span",10),d(5),s()),o&2){let e=t.$implicit;c(),D(e.name),c(4),oe('"',e.value,'"')}}function Gr(o,t){o&1&&(a(0,"span",4),d(1,"/>"),s())}function Yr(o,t){o&1&&(a(0,"span",4),d(1,">"),s())}function Xr(o,t){if(o&1&&(a(0,"span",11),d(1," ... "),s(),a(2,"span",4),d(3,"</"),s(),a(4,"span",5),d(5),s(),a(6,"span",4),d(7,">"),s()),o&2){let e=p(2);c(5),D(e.node().tagName)}}function Zr(o,t){if(o&1&&C(0,"app-markup-node",6),o&2){let e=t.$implicit,n=p(2);h("node",e)("depth",n.depth()+1)}}function ea(o,t){if(o&1&&(a(0,"div",1)(1,"div",2),b(2,Jr,2,1,"span",3),s(),a(3,"span",4),d(4,"<"),s(),a(5,"span",5),d(6),s(),O(7,Qr,6,2,null,null,Ur),b(9,Gr,2,0,"span",4)(10,Yr,2,0,"span",4),b(11,Xr,8,1),s(),a(12,"div"),O(13,Zr,1,2,"app-markup-node",6,Wr),a(15,"div",1),C(16,"div",2),a(17,"span",4),d(18,"</"),s(),a(19,"span",5),d(20),s(),a(21,"span",4),d(22,">"),s()()()),o&2){let e=p();ce("padding-left",(e.depth()+1)*16,"px"),c(2),x(e.hasChildren()?2:-1),c(4),D(e.node().tagName),c(),V(e.node().attributes??ze(11,Wi)),c(2),x(e.node().selfClosing?9:10),c(2),x(e.collapsed()&&!e.node().selfClosing?11:-1),c(),H("hidden",e.collapsed()&&!e.node().selfClosing),c(),V(e.node().children??ze(12,Wi)),c(2),ce("padding-left",(e.depth()+1)*16,"px"),c(5),D(e.node().tagName)}}function ta(o,t){if(o&1&&(a(0,"div",1),C(1,"div",2),a(2,"span",12),d(3),s()()),o&2){let e=p();ce("padding-left",(e.depth()+1)*16,"px"),c(3),D(e.node().textContent)}}function na(o,t){if(o&1&&(a(0,"div",1),C(1,"div",2),a(2,"span",13),d(3),s()()),o&2){let e=p();ce("padding-left",(e.depth()+1)*16,"px"),c(3),oe("<!--",e.node().textContent,"->")}}var an=class o{node=P.required();depth=P(0);collapsed=E(!1);isElement=_(()=>this.node().type==="element");isText=_(()=>this.node().type==="text");isComment=_(()=>this.node().type==="comment");hasChildren=_(()=>!!this.node().children?.length);toggle(){this.collapsed.update(t=>!t)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-markup-node"]],inputs:{node:[1,"node"],depth:[1,"depth"]},decls:3,vars:3,consts:[[1,"node",3,"padding-left"],[1,"node"],[1,"toggle-wrap"],[1,"toggle"],[1,"bracket"],[1,"tag"],[3,"node","depth"],[1,"toggle",3,"click"],[1,"attr-name"],[1,"attr-operator"],[1,"attr-value"],[1,"collapsed"],[1,"text"],[1,"comment"]],template:function(e,n){e&1&&(b(0,ea,23,13),b(1,ta,4,3,"div",0),b(2,na,4,3,"div",0)),e&2&&(x(n.isElement()?0:-1),c(),x(n.isText()?1:-1),c(),x(n.isComment()?2:-1))},dependencies:[o],styles:[".node[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;min-height:24px;border-radius:4px;word-break:break-word;position:relative}.node[_ngcontent-%COMP%]:hover{background:#fafafa}.indent[_ngcontent-%COMP%]{flex-shrink:0}.hidden[_ngcontent-%COMP%]{display:none}.toggle-wrap[_ngcontent-%COMP%]{width:1rem;border-radius:4px;flex-shrink:0;display:flex;justify-content:center;position:absolute;left:0;top:0}.toggle-wrap[_ngcontent-%COMP%]:hover{background:#0000000f}.toggle[_ngcontent-%COMP%]{cursor:pointer;color:#595959;-webkit-user-select:none;user-select:none;transform:scale(2)}.tag[_ngcontent-%COMP%]{white-space:nowrap;color:#307cd6}.attr-name[_ngcontent-%COMP%]{color:#3aa3f0;margin-left:8px;white-space:nowrap}.attr-operator[_ngcontent-%COMP%]{margin:0 2px}.attr-value[_ngcontent-%COMP%]{color:#ce834c}.text[_ngcontent-%COMP%]{color:#262626}.comment[_ngcontent-%COMP%]{color:#bfbfbf;font-style:italic}.bracket[_ngcontent-%COMP%]{white-space:nowrap;color:#8c8c8c}.collapsed[_ngcontent-%COMP%]{color:#bfbfbf;margin:0 4px}"]})};function Ji(o){let e=new DOMParser().parseFromString(o,"text/html");return Array.from(e.body.childNodes).map((n,i)=>Qi(n,`root.${i}`)).filter(Boolean)}function Qi(o,t){if(o.nodeType===Node.ELEMENT_NODE){let e=o;return{type:"element",tagName:e.tagName.toLowerCase(),path:t,selfClosing:e.children.length===0&&!e.textContent?.trim(),attributes:Array.from(e.attributes).map(n=>({name:n.name,value:n.value})),children:Array.from(e.childNodes).map((n,i)=>Qi(n,`${t}.${i}`)).filter(Boolean)}}if(o.nodeType===Node.TEXT_NODE){let e=o.textContent?.trim();return e?{type:"text",textContent:e,path:t}:null}return o.nodeType===Node.COMMENT_NODE?{type:"comment",textContent:o.textContent??"",path:t}:null}var ia=(o,t)=>t.path;function oa(o,t){if(o&1&&C(0,"app-markup-node",1),o&2){let e=t.$implicit;h("node",e)("depth",0)}}var sn=class o{content=P.required();tree=_(()=>Ji(this.content()));static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-markup-viewer"]],inputs:{content:[1,"content"]},decls:3,vars:0,consts:[[1,"markup-viewer"],[3,"node","depth"]],template:function(e,n){e&1&&(a(0,"div",0),O(1,oa,1,2,"app-markup-node",1,ia),s()),e&2&&(c(),V(n.tree()))},dependencies:[an],styles:[".markup-viewer[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.7}"],changeDetection:0})};function ra(o,t){if(o&1&&C(0,"app-json-viewer",1),o&2){let e,n=p();h("json",((e=n.response())==null?null:e.bodyText)??"")}}function aa(o,t){if(o&1&&(a(0,"div",2),C(1,"app-attachment-viewer",6),s()),o&2){let e=p();c(),h("item",e.attachmentItem())}}function sa(o,t){if(o&1&&(a(0,"div",2),C(1,"app-attachment-viewer",6),s()),o&2){let e=p();c(),h("item",e.attachmentItem())}}function la(o,t){if(o&1&&(a(0,"div",2),C(1,"app-attachment-viewer",6),s()),o&2){let e=p();c(),h("item",e.attachmentItem())}}function ca(o,t){if(o&1&&C(0,"audio",3),o&2){let e=p();h("src",e.fileUrl(),jn)}}function pa(o,t){if(o&1){let e=z();a(0,"div",7)(1,"div",8),d(2,"\u4E8C\u8FDB\u5236\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8"),s(),a(3,"button",9),g("click",function(){u(e);let i=p(2);return m(i.downloadFile())}),C(4,"nz-icon",10),d(5," \u70B9\u51FB\u4E0B\u8F7D "),s()()}}function da(o,t){if(o&1&&b(0,pa,6,0,"div",7),o&2){let e,n=p();x((e=n.response())!=null&&e.bodyBase64?0:-1)}}function ua(o,t){if(o&1&&C(0,"app-markup-viewer",4),o&2){let e,n=p();h("content",((e=n.response())==null?null:e.bodyText)??"")}}function ma(o,t){if(o&1&&C(0,"app-markup-viewer",4),o&2){let e,n=p();h("content",((e=n.response())==null?null:e.bodyText)??"")}}function ha(o,t){if(o&1&&(a(0,"pre",5),d(1),s()),o&2){let e,n=p();c(),oe("",(e=n.response())==null?null:e.bodyText,`
2
+ `)}}var ln=class o{response=P();constructor(){Me(t=>{let e=this.fileInfo()?.objectUrl;t(()=>{e&&URL.revokeObjectURL(e)})})}fileInfo=_(()=>{let t=this.response();if(!t?.bodyBase64)return null;let e=ji(t),n=Li(t.headers?.["content-disposition"]??t.headers?.["Content-Disposition"])??`response.${Hi(e)}`,i=Ki(t.bodyBase64,e),r=URL.createObjectURL(i);return{mime:e,filename:n,blob:i,objectUrl:r}});attachmentItem=_(()=>{let t=this.fileInfo();if(!t)return null;let e=this.response()?.bodyType??"text";return e!=="image"&&e!=="video"&&e!=="pdf"?null:{id:crypto.randomUUID(),name:t.filename,url:t.objectUrl,kind:e,meta:t.mime}});fileUrl=_(()=>this.fileInfo()?.objectUrl??null);downloadFile(){let t=this.fileInfo();t&&$i(t.objectUrl,t.filename)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-response-body-viewer"]],inputs:{response:[1,"response"]},decls:10,vars:1,consts:[[1,"pane"],[3,"json"],[1,"attachment-preview-wrap"],["controls","",3,"src"],[3,"content"],[1,"code"],[3,"item"],[1,"binary-wrap"],[1,"meta"],["nz-button","",1,"download-btn",3,"click"],["nzType","download"]],template:function(e,n){if(e&1&&(a(0,"div",0),b(1,ra,1,1,"app-json-viewer",1)(2,aa,2,1,"div",2)(3,sa,2,1,"div",2)(4,la,2,1,"div",2)(5,ca,1,1,"audio",3)(6,da,1,1)(7,ua,1,1,"app-markup-viewer",4)(8,ma,1,1,"app-markup-viewer",4)(9,ha,2,1,"pre",5),s()),e&2){let i;c(),x((i=((i=n.response())==null?null:i.bodyType)??"text")==="json"?1:i==="image"?2:i==="video"?3:i==="pdf"?4:i==="audio"?5:i==="binary"?6:i==="html"?7:i==="xml"?8:9)}},dependencies:[I,j,F,se,$,J,wi,lt,sn],styles:[".code[_ngcontent-%COMP%]{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.attachment-preview-wrap[_ngcontent-%COMP%]{display:flex}.binary-wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.download-btn[_ngcontent-%COMP%]{width:fit-content}"],changeDetection:0})};var Ct=class o{buildRegex(t){let{term:e,regex:n,wholeWord:i,caseSensitive:r}=t;if(!e)return null;try{if(n){let l=r?"g":"gi";return new RegExp(e,l)}else{let f=this.escapeRegex(e);i&&(f=`\\b${f}\\b`);let v=r?"g":"gi";return new RegExp(f,v)}}catch{return null}}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}findMatchPositions(t,e){let n=[],i;for(e.lastIndex=0;(i=e.exec(t))!==null;)n.push({start:i.index,end:i.index+i[0].length}),i[0].length===0&&e.lastIndex++;return n}validateRegex(t,e="g"){try{return new RegExp(t,e),!0}catch{return!1}}buildTextIndex(t){let e=[],n="",i=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,{acceptNode:r=>this.acceptNode(r)});for(;i.nextNode();){let r=i.currentNode,l=r.textContent??"",f=n.length;e.push({node:r,start:f,end:f+l.length}),n+=l}return{text:n,segments:e}}acceptNode(t){let e=t.parentElement;return e&&(e.tagName==="SCRIPT"||e.tagName==="STYLE")||e&&e.classList.contains("search-highlight")||!t.textContent?.trim()?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}searchInIndex(t,e){return this.findMatchPositions(t.text,e)}findAffectedSegments(t,e){let n=new Map;return e.forEach((i,r)=>{let l=t.segments.filter(f=>i.start<f.end&&i.end>f.start);for(let f of l){let v=Math.max(0,i.start-f.start),w=Math.min(f.end-f.start,i.end-f.start);if(v<w){let N={start:v,end:w};n.has(f)||n.set(f,[]),n.get(f).push({globalMatchIndex:r,localMatch:N})}}}),n}static \u0275fac=function(e){return new(e||o)};static \u0275prov=_e({token:o,factory:o.\u0275fac})};var ga=["searchInput"];function fa(o,t){if(o&1&&(a(0,"span",9),d(1),s()),o&2){let e=p();c(),Mt(" ",e.currentIndex()+1,"/",e.totalMatches()," ")}}var cn=class o{searchService=k(Ct);searchInputRef;searchContainer=P(null);searchStateChange=Ne();searchOptions=E({term:"",regex:!1,wholeWord:!1,caseSensitive:!1});matches=E([]);currentIndex=E(0);totalMatches=E(0);textIndex=E(null);globalMatches=E([]);matchToSpans=E(new Map);debounceTimer=null;constructor(){Me(()=>{this.searchContainer()&&queueMicrotask(()=>{this.performSearch()})})}ngOnDestroy(){this.debounceTimer&&clearTimeout(this.debounceTimer),this.clearHighlights()}onTermChange(t){this.updateSearchOption({term:t}),this.onSearchChange()}toggleCaseSensitive(){this.updateSearchOption({caseSensitive:!this.searchOptions().caseSensitive}),this.onSearchChange()}toggleWholeWord(){this.updateSearchOption({wholeWord:!this.searchOptions().wholeWord}),this.onSearchChange()}toggleRegex(){this.updateSearchOption({regex:!this.searchOptions().regex}),this.onSearchChange()}onSearchChange(){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.performSearch()},300)}performSearch(){let t=this.searchContainer(),e=this.searchOptions().term;if(!t||!e){this.clearHighlights();return}this.clearHighlights();let n=this.searchService.buildTextIndex(t);this.textIndex.set(n);let{allSpans:i,matchToSpansMap:r}=this.highlightMatches(n);if(this.matches.set(i),this.matchToSpans.set(r),this.currentIndex.set(0),i.length>0){let l=r.get(0)??[];l.forEach(f=>f.classList.add("current")),this.scrollToMatch(l[0])}this.emitStateChange()}highlightMatches(t){let e=[],n=new Map,i=this.searchOptions(),r=this.searchService.buildRegex(i);if(!r)return{allSpans:e,matchToSpansMap:n};let l=this.searchService.searchInIndex(t,r);this.globalMatches.set(l),this.totalMatches.set(l.length);let f=this.searchService.findAffectedSegments(t,l);for(let[v,w]of f){let N=this.highlightSegment(v,w.map(L=>L.localMatch));e.push(...N);for(let L=0;L<w.length;L++){let R=w[L],q=N[L];n.has(R.globalMatchIndex)||n.set(R.globalMatchIndex,[]),n.get(R.globalMatchIndex).push(q)}}return{allSpans:e,matchToSpansMap:n}}highlightSegment(t,e){let n=[],i=t.node.textContent??"",r=t.node.parentNode;if(!r)return n;let l=document.createDocumentFragment(),f=0;for(let v of e){v.start>f&&l.appendChild(document.createTextNode(i.substring(f,v.start)));let w=document.createElement("span");w.className="search-highlight",w.textContent=i.substring(v.start,v.end),l.appendChild(w),n.push(w),f=v.end}return f<i.length&&l.appendChild(document.createTextNode(i.substring(f))),r.replaceChild(l,t.node),n}clearHighlights(){let t=this.searchContainer();if(!t)return;t.querySelectorAll(".search-highlight").forEach(n=>{let i=n.parentNode;if(i){for(;n.firstChild;)i.insertBefore(n.firstChild,n);i.removeChild(n)}}),t.normalize(),this.matches.set([]),this.currentIndex.set(0),this.totalMatches.set(0),this.globalMatches.set([]),this.matchToSpans.set(new Map)}nextMatch(){if(this.totalMatches()===0)return;let t=(this.currentIndex()+1)%this.totalMatches();this.navigateToMatch(t)}prevMatch(){if(this.totalMatches()===0)return;let t=(this.currentIndex()-1+this.totalMatches())%this.totalMatches();this.navigateToMatch(t)}navigateToMatch(t){this.matches().forEach(n=>n.classList.remove("current")),this.currentIndex.set(t);let e=this.matchToSpans().get(t)??[];e.forEach(n=>n.classList.add("current")),e.length>0&&this.scrollToMatch(e[0]),this.emitStateChange()}scrollToMatch(t){t.scrollIntoView({behavior:"smooth",block:"center"})}clearSearch(){this.updateSearchOption({term:"",regex:!1,wholeWord:!1,caseSensitive:!1}),this.clearHighlights(),this.emitStateChange()}focus(){setTimeout(()=>{this.searchInputRef?.nativeElement?.focus()},0)}emitStateChange(){this.searchStateChange.emit(M(y({},this.searchOptions()),{totalMatches:this.totalMatches(),currentIndex:this.currentIndex()}))}updateSearchOption(t){this.searchOptions.update(e=>y(y({},e),t))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-text-search"]],viewQuery:function(e,n){if(e&1&&Le(ga,5),e&2){let i;Ke(i=He())&&(n.searchInputRef=i.first)}},inputs:{searchContainer:[1,"searchContainer"]},outputs:{searchStateChange:"searchStateChange"},features:[Tt([Ct])],decls:20,vars:10,consts:[[1,"search-container"],[1,"search-box"],[1,"search-icon"],["nzType","search"],["nz-input","","placeholder","\u67E5\u627E...",1,"search-input",3,"ngModelChange","ngModel"],[1,"search-tools"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u533A\u5206\u5927\u5C0F\u5199",1,"tool-btn",3,"click"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u5168\u5B57\u5339\u914D",1,"tool-btn",3,"click"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u4F7F\u7528\u6B63\u5219\u8868\u8FBE\u5F0F",1,"tool-btn",3,"click"],[1,"match-info"],[1,"search-actions"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u4E0A\u4E00\u4E2A",3,"click","disabled"],["nzType","up"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u4E0B\u4E00\u4E2A",3,"click","disabled"],["nzType","down"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","","nzTooltipTitle","\u6E05\u7A7A",3,"click"],["nzType","close"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"div",1)(2,"span",2),C(3,"nz-icon",3),s(),a(4,"input",4),g("ngModelChange",function(r){return n.onTermChange(r)}),s(),a(5,"div",5)(6,"button",6),g("click",function(){return n.toggleCaseSensitive()}),d(7," Aa "),s(),a(8,"button",7),g("click",function(){return n.toggleWholeWord()}),d(9," ab "),s(),a(10,"button",8),g("click",function(){return n.toggleRegex()}),d(11," .* "),s(),b(12,fa,2,2,"span",9),s()(),a(13,"div",10)(14,"button",11),g("click",function(){return n.prevMatch()}),C(15,"nz-icon",12),s(),a(16,"button",13),g("click",function(){return n.nextMatch()}),C(17,"nz-icon",14),s(),a(18,"button",15),g("click",function(){return n.clearSearch()}),C(19,"nz-icon",16),s()()()),e&2&&(c(4),h("ngModel",n.searchOptions().term),c(2),H("active",n.searchOptions().caseSensitive),c(2),H("active",n.searchOptions().wholeWord),c(2),H("active",n.searchOptions().regex),c(2),x(n.searchOptions().term?12:-1),c(2),h("disabled",n.totalMatches()===0),c(2),h("disabled",n.totalMatches()===0))},dependencies:[A,K,Z,Q,G,I,j,F,$,J,Y,ie,he,me],styles:["[_nghost-%COMP%]{display:block}.search-box[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;border:1px solid #d9d9d9;background:#fff}.search-box[_ngcontent-%COMP%]:focus-within{border-color:#1677ff}.search-input[_ngcontent-%COMP%]{flex:1;min-width:80px;border:none!important;box-shadow:none!important;background:transparent}.search-tools[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px}.tool-btn[_ngcontent-%COMP%]{min-width:24px;height:24px;padding:0;font-size:12px}.tool-btn.active[_ngcontent-%COMP%]{background:#e6f4ff;color:#1677ff}.match-info[_ngcontent-%COMP%]{margin-left:4px;font-size:12px;color:#999}.search-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid #f0f0f0}.search-actions[_ngcontent-%COMP%]{display:flex;gap:4px}.search-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center} .search-highlight{background-color:#ffff0090;border-radius:2px} .search-highlight.current{background-color:#ffa50090}"]})};var Ca=["bodyPane"],_a=["headersPane"],va=["rawPane"];function ba(o,t){if(o&1&&(a(0,"nz-tag",23),d(1),s(),a(2,"span",8),d(3),s()),o&2){let e,n,i=p();h("nzColor",i.statusColor()),c(),Mt(" ",(e=i.response())==null?null:e.status," ",((e=i.response())==null?null:e.statusText)||""," "),c(2),oe("",(n=i.response())==null?null:n.bodySize," bytes")}}function xa(o,t){o&1&&(a(0,"span",8),d(1,"-"),s())}function ya(o,t){o&1&&(a(0,"div",11),C(1,"nz-spin"),s())}function za(o,t){if(o&1&&C(0,"nz-alert",12),o&2){let e=p();h("nzMessage",e.error())}}function Ma(o,t){o&1&&(a(0,"div",13),d(1,"\u53D1\u9001\u8BF7\u6C42\u540E\u5728\u6B64\u67E5\u770B\u54CD\u5E94"),s())}function Ta(o,t){if(o&1&&(a(0,"div",20)(1,"div",24),d(2),s(),a(3,"div",25),d(4),s()()),o&2){let e,n=t.$implicit,i=p();c(2),D(n),c(2),D((e=i.response())==null||e.headers==null?null:e.headers[n])}}function wa(o,t){if(o&1){let e=z();a(0,"button",26),g("click",function(){u(e);let i=p();return m(i.copyBody())}),C(1,"span",27),s(),C(2,"span",28)(3,"app-text-search",29)}if(o&2){let e=p();c(3),h("searchContainer",e.currentTabPane())}}var pn=class o{msg=k(De);sending=!1;result=null;activedTabId=null;bodyPaneRef=Ye("bodyPane");headersPaneRef=Ye("headersPane");rawPaneRef=Ye("rawPane");resultSig=E(null);tabIndex=E(0);currentTabPane=_(()=>{switch(this.tabIndex()){case 0:return this.bodyPaneRef()?.nativeElement??null;case 1:return this.headersPaneRef()?.nativeElement??null;case 2:return this.rawPaneRef()?.nativeElement??null;default:return null}});ngOnChanges(t){if(t.result){let e=t.result.currentValue;this.resultSig.set(e),e&&this.tabIndex.set(0)}}error=_(()=>{let t=this.resultSig();return t&&t.error?t.error.message:null});curl=_(()=>{let t=this.resultSig();return t&&t.curl?t.curl:null});response=_(()=>{let t=this.resultSig();return t?t.response:null});headerKeys=_(()=>{let t=this.response()?.headers??{};return Object.keys(t).sort((e,n)=>e.localeCompare(n))});statusColor=_(()=>{let t=this.response()?.status??0;return t?t>=200&&t<300?"green":t>=300&&t<400?"blue":t>=400&&t<500?"orange":"red":"default"});rawDump=_(()=>{let t=this.response();if(!t)return"";let i=t,{bodyBase64:e}=i,n=ct(i,["bodyBase64"]);return JSON.stringify(M(y({},n),{bodyBase64:e?`[base64 content omitted: ${Ui(t.bodySize??0)}]`:void 0}),null,2)});copyBody(){let t=this.response()?.bodyText??"";if(!t){this.msg.warning("\u54CD\u5E94\u4F53\u4E3A\u7A7A\uFF0C\u65E0\u5185\u5BB9\u53EF\u590D\u5236");return}navigator.clipboard.writeText(t).then(()=>this.msg.success("\u5DF2\u590D\u5236\u5230\u526A\u8D34\u677F"),()=>this.msg.error("\u590D\u5236\u5931\u8D25"))}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-response-viewer"]],viewQuery:function(e,n){e&1&&(Ge(n.bodyPaneRef,Ca,5),Ge(n.headersPaneRef,_a,5),Ge(n.rawPaneRef,va,5)),e&2&&ut(3)},inputs:{sending:"sending",result:"result",activedTabId:"activedTabId"},features:[Ee],decls:29,vars:11,consts:[["bodyPane",""],["headersPane",""],["rawPane",""],["extraTemplate",""],[1,"wrap"],[1,"top"],[1,"left"],[1,"title"],[1,"meta"],[1,"right"],[3,"curl"],[1,"loading"],["nzType","error","nzShowIcon","",3,"nzMessage"],[1,"empty"],[1,"tabs",3,"nzSelectedIndexChange","nzSelectedIndex","nzTabBarExtraContent","hidden"],["nzTitle","Body",3,"nzForceRender"],[1,"pane"],[3,"response"],["nzTitle","Headers",3,"nzForceRender"],[1,"hlist"],[1,"hrow"],["nzTitle","Raw",3,"nzForceRender"],[3,"json"],[3,"nzColor"],[1,"hk"],[1,"hv"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","copy body",3,"click"],["nz-icon","","nzType","copy"],[1,"sep"],[3,"searchContainer"]],template:function(e,n){if(e&1){let i=z();a(0,"div",4)(1,"div",5)(2,"div",6)(3,"div",7),d(4,"Response"),s(),b(5,ba,4,4)(6,xa,2,0,"span",8),s(),a(7,"div",9),C(8,"app-curl-actions",10),s()(),b(9,ya,2,0,"div",11)(10,za,1,1,"nz-alert",12)(11,Ma,2,0,"div",13),a(12,"nz-tabs",14),ye("nzSelectedIndexChange",function(l){return u(i),xe(n.tabIndex,l)||(n.tabIndex=l),m(l)}),a(13,"nz-tab",15)(14,"div",16,0),C(16,"app-response-body-viewer",17),s()(),a(17,"nz-tab",18)(18,"div",16,1)(20,"div",19),O(21,Ta,5,2,"div",20,Se),s()()(),a(23,"nz-tab",21)(24,"div",16,2),C(26,"app-json-viewer",22),s()()(),ae(27,wa,4,1,"ng-template",null,3,le),s()}if(e&2){let i=re(28);c(5),x(n.response()?5:6),c(3),h("curl",n.curl()),c(),x(n.sending?9:n.error()?10:n.response()?-1:11),c(3),be("nzSelectedIndex",n.tabIndex),h("nzTabBarExtraContent",i)("hidden",!n.response()),c(),h("nzForceRender",!0),c(3),h("response",n.response()),c(),h("nzForceRender",!0),c(4),V(n.headerKeys()),c(2),h("nzForceRender",!0),c(3),h("json",n.rawDump())}},dependencies:[A,ot,Ft,Bt,Ve,Oe,it,Vt,at,rt,I,j,F,$,J,he,me,nn,ln,lt,cn],styles:["[_nghost-%COMP%]{display:flex;height:100%;min-height:0}.wrap[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%;min-height:0;width:100%}.top[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f0f0}.left[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center}.title[_ngcontent-%COMP%]{font-weight:700}.meta[_ngcontent-%COMP%]{font-size:12px;opacity:.65}.loading[_ngcontent-%COMP%]{padding:64px}.empty[_ngcontent-%COMP%]{padding:16px;opacity:.6}.tabs[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0}.pane[_ngcontent-%COMP%]{height:100%;min-height:0;overflow:auto;padding:10px 12px}.code[_ngcontent-%COMP%]{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.hlist[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.hrow[_ngcontent-%COMP%]{display:grid;grid-template-columns:200px 1fr;gap:10px;padding:8px;border:1px solid #f0f0f0;border-radius:8px}.hk[_ngcontent-%COMP%]{font-weight:600;font-size:12px}.hv[_ngcontent-%COMP%]{font-size:12px;opacity:.85;word-break:break-word}.tabs[_ngcontent-%COMP%]{position:relative}[_nghost-%COMP%] .ant-tabs-nav{display:flex;align-items:center}[_nghost-%COMP%] .ant-tabs-extra-content{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:4px}.sep[_ngcontent-%COMP%]{width:1px;height:16px;background:#d9d9d9;margin:0 4px;flex-shrink:0}"]})};var Ea=["editInput"],Sa=["contextMenu"],Ra=(o,t)=>t.id;function Na(o,t){if(o&1){let e=z();a(0,"input",24,1),g("ngModelChange",function(i){u(e);let r=p(2);return m(r.editingTitle.set(i))})("blur",function(){u(e);let i=p(2);return m(i.finishEdit())})("keydown.enter",function(){u(e);let i=p(2);return m(i.finishEdit())})("keydown.escape",function(){u(e);let i=p(2);return m(i.cancelEdit())}),s()}if(o&2){let e=p(2);h("ngModel",e.editingTitle())}}function ka(o,t){o&1&&(a(0,"span",27),d(1,"\u25CF"),s())}function Da(o,t){if(o&1){let e=z();a(0,"span",25),d(1),s(),a(2,"span",26),g("dblclick",function(){u(e);let i=p().$implicit,r=p();return m(r.startEdit(i))}),d(3),s(),b(4,ka,2,0,"span",27)}if(o&2){let e=p().$implicit,n=p();zt(n.getMethodClass(e.request.method)),c(),oe(" ",e.request.method," "),c(),h("nzTooltipTitle",n.getFullTitle(e)),c(),oe(" ",n.getDisplayTitle(e)," "),c(),x(e.isDirty?4:-1)}}function Pa(o,t){if(o&1){let e=z();a(0,"div",18),g("click",function(){let i=u(e).$implicit,r=p();return m(r.onTabClick(i.id))})("contextmenu",function(i){let r=u(e),l=r.$implicit,f=r.$index,v=p();return m(v.onContextMenu(i,l,f))}),a(1,"span",19),C(2,"nz-icon",20),s(),b(3,Na,2,1,"input",21)(4,Da,5,6),a(5,"button",22),g("click",function(i){let r=u(e).$implicit,l=p();return m(l.onCloseClick(r.id,i))}),C(6,"nz-icon",23),s()()}if(o&2){let e=t.$implicit,n=p();H("active",e.id===n.activeTabId())("dirty",e.isDirty),h("cdkDragData",e),c(3),x(n.editingTabId()===e.id?3:4)}}function Aa(o,t){if(o&1){let e=z();a(0,"button",28),g("click",function(){u(e);let i=p();return m(i.onAddClick())}),C(1,"nz-icon",29),s()}}function Ia(o,t){if(o&1){let e=z();a(0,"li",7),g("click",function(){u(e);let i=p();return m(i.onMenuAction("copyUrl"))}),C(1,"nz-icon",30),a(2,"span"),d(3,"\u590D\u5236 URL"),s()()}}function qa(o,t){if(o&1){let e=z();a(0,"li",7),g("click",function(){u(e);let i=p();return m(i.onMenuAction("moveTo"))}),C(1,"nz-icon",31),a(2,"span"),d(3,"\u79FB\u52A8\u5230"),s()()}}var dn=class o{contextMenuService=k(yi);tabs=E([]);activeTabId=E(null);canOpenMore=!0;tabChange=new T;tabClose=new T;tabAdd=new T;tabRename=new T;tabReorder=new T;tabContextMenu=new T;startRenameEdit=new T;editInput;contextMenu;editingTabId=E(null);editingTitle=E("");contextTab=E(null);contextIndex=E(-1);activeIndex=_(()=>{let t=this.activeTabId(),e=this.tabs();return t?e.findIndex(n=>n.id===t):-1});hasRightTabs(){let t=this.contextIndex();return t>=0&&t<this.tabs().length-1}hasSavedTabs(){return this.tabs().some(t=>!t.isDirty&&t.requestId)}onKeyDown(t){if(t.ctrlKey&&t.key==="t"){t.preventDefault(),this.onAddClick();return}if(t.ctrlKey&&t.key==="w"){t.preventDefault();let e=this.activeTabId();e&&this.tabClose.emit(e);return}if(t.key==="F2"){t.preventDefault();let e=this.activeTabId();if(e){let n=this.tabs().find(i=>i.id===e);n&&this.startEdit(n)}return}}getMethodClass(t){return t.toLowerCase()}getDisplayTitle(t){if(t.title&&t.title!=="New Request")return this.truncate(t.title,20);let e=t.request;if(!e.url)return"New Request";let n=this.extractPath(e.url);return this.truncate(n,20)}getFullTitle(t){if(t.title&&t.title!=="New Request")return t.title;let e=t.request;return e.url?`${e.method} ${e.url}`:"New Request"}extractPath(t){return t.replace(/^\{\{[^}]+\}\}/,"").replace(/^https?:\/\/[^/]+/,"").split("?")[0]||"/"}truncate(t,e){return t.length<=e?t:t.slice(0,e-2)+"\u2026"}onTabClick(t){t!==this.activeTabId()&&this.tabChange.emit(t)}onCloseClick(t,e){e.stopPropagation(),this.tabClose.emit(t)}onAddClick(){this.tabAdd.emit()}onContextMenu(t,e,n){t.preventDefault(),this.contextTab.set(e),this.contextIndex.set(n),this.contextMenuService.create(t,this.contextMenu)}onMenuAction(t){let e=this.contextTab();if(e){if(t==="rename"){this.switchToTab(e.id),this.startEdit(e),this.clearContext();return}this.tabContextMenu.emit({tabId:e.id,action:t}),this.clearContext()}}switchToTab(t){t!==this.activeTabId()&&this.tabChange.emit(t)}startEdit(t){this.editingTabId.set(t.id),this.editingTitle.set(t.title||t.request.name||"New Request"),setTimeout(()=>{this.editInput?.nativeElement?.focus(),this.editInput?.nativeElement?.select()},0)}finishEdit(){let t=this.editingTabId(),e=this.editingTitle().trim();t&&e&&this.tabRename.emit({id:t,title:e}),this.cancelEdit()}cancelEdit(){this.editingTabId.set(null),this.editingTitle.set("")}onDrop(t){t.previousIndex!==t.currentIndex&&this.tabReorder.emit({from:t.previousIndex,to:t.currentIndex})}clearContext(){this.contextTab.set(null),this.contextIndex.set(-1)}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-request-tabs-bar"]],viewQuery:function(e,n){if(e&1&&(Le(Ea,5),Le(Sa,5)),e&2){let i;Ke(i=He())&&(n.editInput=i.first),Ke(i=He())&&(n.contextMenu=i.first)}},hostBindings:function(e,n){e&1&&g("keydown",function(r){return n.onKeyDown(r)},Ln)},inputs:{tabs:"tabs",activeTabId:"activeTabId",canOpenMore:"canOpenMore"},outputs:{tabChange:"tabChange",tabClose:"tabClose",tabAdd:"tabAdd",tabRename:"tabRename",tabReorder:"tabReorder",tabContextMenu:"tabContextMenu",startRenameEdit:"startRenameEdit"},decls:39,vars:7,consts:[["contextMenu","nzDropdownMenu"],["editInput",""],["cdkDropList","","cdkDropListOrientation","horizontal",1,"tabs-container",3,"cdkDropListDropped"],["cdkDrag","",1,"tab-item",3,"active","dirty","cdkDragData"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u65B0\u5EFA\u8BF7\u6C42 (Ctrl+T)",1,"add-btn"],["nzOverlayClassName","tab-context-menu"],["nz-menu","",1,"context-menu"],["nz-menu-item","",3,"click"],["nzType","close"],["nz-menu-item","",3,"click","nzDisabled"],["nzType","close-circle"],["nzType","right-circle"],["nzType","check-circle"],["nzType","delete"],["nz-menu-divider",""],["nzType","edit"],["nzType","copy"],["nz-menu-item",""],["cdkDrag","",1,"tab-item",3,"click","contextmenu","cdkDragData"],["cdkDragHandle","",1,"drag-handle"],["nzType","holder","nzTheme","outline"],[1,"title-input",3,"ngModel"],["nz-button","","nzType","text","nzSize","small",1,"close-btn",3,"click"],["nzType","close","nzTheme","outline"],[1,"title-input",3,"ngModelChange","blur","keydown.enter","keydown.escape","ngModel"],[1,"method"],["nz-tooltip","",1,"title",3,"dblclick","nzTooltipTitle"],["title","\u672A\u4FDD\u5B58",1,"dirty-dot"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u65B0\u5EFA\u8BF7\u6C42 (Ctrl+T)",1,"add-btn",3,"click"],["nzType","plus","nzTheme","outline"],["nzType","link"],["nzType","folder"]],template:function(e,n){if(e&1){let i=z();a(0,"div",2),g("cdkDropListDropped",function(l){return u(i),m(n.onDrop(l))}),O(1,Pa,7,6,"div",3,Ra),b(3,Aa,2,0,"button",4),s(),a(4,"nz-dropdown-menu",5,0)(6,"ul",6)(7,"li",7),g("click",function(){return u(i),m(n.onMenuAction("close"))}),C(8,"nz-icon",8),a(9,"span"),d(10,"\u5173\u95ED"),s()(),a(11,"li",9),g("click",function(){return u(i),m(n.onMenuAction("closeOthers"))}),C(12,"nz-icon",10),a(13,"span"),d(14,"\u5173\u95ED\u5176\u4ED6"),s()(),a(15,"li",9),g("click",function(){return u(i),m(n.onMenuAction("closeRight"))}),C(16,"nz-icon",11),a(17,"span"),d(18,"\u5173\u95ED\u53F3\u4FA7"),s()(),a(19,"li",9),g("click",function(){return u(i),m(n.onMenuAction("closeSaved"))}),C(20,"nz-icon",12),a(21,"span"),d(22,"\u5173\u95ED\u5DF2\u4FDD\u5B58"),s()(),a(23,"li",9),g("click",function(){return u(i),m(n.onMenuAction("closeAll"))}),C(24,"nz-icon",13),a(25,"span"),d(26,"\u5173\u95ED\u6240\u6709"),s()(),C(27,"li",14),a(28,"li",7),g("click",function(){return u(i),m(n.onMenuAction("rename"))}),C(29,"nz-icon",15),a(30,"span"),d(31,"\u91CD\u547D\u540D"),s()(),a(32,"li",7),g("click",function(){return u(i),m(n.onMenuAction("duplicate"))}),C(33,"nz-icon",16),a(34,"span"),d(35,"\u590D\u5236\u8BF7\u6C42"),s()(),C(36,"li",14),b(37,Ia,4,0,"li",17),b(38,qa,4,0,"li",17),s()()}if(e&2){let i,r;c(),V(n.tabs()),c(2),x(n.canOpenMore?3:-1),c(8),h("nzDisabled",n.tabs().length<=1),c(4),h("nzDisabled",!n.hasRightTabs()),c(4),h("nzDisabled",!n.hasSavedTabs()),c(4),h("nzDisabled",n.tabs().length<=1),c(14),x(!((i=n.contextTab())==null||i.request==null)&&i.request.url?37:-1),c(),x((r=n.contextTab())!=null&&r.requestId?38:-1)}},dependencies:[A,K,Z,Q,G,oi,ii,ni,ti,ot,I,j,F,$,J,he,me,It,qe,Ie,Pt,At,nt],styles:["[_nghost-%COMP%]{display:block;width:100%}.tabs-container[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;padding:4px 8px;background:#fafafa;border-bottom:1px solid #f0f0f0;overflow-x:auto;flex-wrap:nowrap}.tabs-container[_ngcontent-%COMP%]::-webkit-scrollbar{height:4px}.tabs-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:2px}.tabs-container.cdk-drop-list-dragging[_ngcontent-%COMP%] .tab-item[_ngcontent-%COMP%]:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.tab-item[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;padding:4px 8px;min-width:100px;max-width:200px;height:28px;border-radius:4px 4px 0 0;background:#fff;border:1px solid transparent;border-bottom:none;cursor:pointer;-webkit-user-select:none;user-select:none}.tab-item[_ngcontent-%COMP%]:hover{background:#f5f5f5}.tab-item.active[_ngcontent-%COMP%]{background:#fff;border-color:#1890ff;border-bottom:1px solid #fff;margin-bottom:-1px;z-index:1}.tab-item.dirty[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{color:#1890ff}.tab-item[_ngcontent-%COMP%]:last-child{border:none}.cdk-drag-preview[_ngcontent-%COMP%]{box-sizing:border-box;border-radius:4px 4px 0 0;overflow:hidden;background:#fff;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder[_ngcontent-%COMP%]{opacity:0}.cdk-drag-animating[_ngcontent-%COMP%]{transition:transform .25s cubic-bezier(0,0,.2,1)}.drag-handle[_ngcontent-%COMP%]{display:flex;align-items:center;opacity:.3;cursor:grab;font-size:10px}.drag-handle[_ngcontent-%COMP%]:hover{opacity:.6}.method[_ngcontent-%COMP%]{font-size:10px;font-weight:600;text-transform:uppercase;flex-shrink:0}.method.get[_ngcontent-%COMP%]{color:#61affe}.method.post[_ngcontent-%COMP%]{color:#49cc90}.method.put[_ngcontent-%COMP%]{color:#fca130}.method.patch[_ngcontent-%COMP%]{color:#50e3c2}.method.delete[_ngcontent-%COMP%]{color:#f93e3e}.method.head[_ngcontent-%COMP%], .method.options[_ngcontent-%COMP%]{color:#909090}.title[_ngcontent-%COMP%]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#333}.dirty-dot[_ngcontent-%COMP%]{color:#1890ff;font-size:8px;flex-shrink:0}.title-input[_ngcontent-%COMP%]{flex:1;border:none;background:transparent;outline:none;font-size:12px;min-width:60px;padding:0 2px}.close-btn[_ngcontent-%COMP%]{padding:0 2px!important;height:16px!important;width:16px!important;font-size:10px;opacity:.3;flex-shrink:0}.close-btn[_ngcontent-%COMP%]:hover{opacity:1}.add-btn[_ngcontent-%COMP%]{padding:0 8px!important;height:28px!important;opacity:.6}.add-btn[_ngcontent-%COMP%]:hover{opacity:1}[_nghost-%COMP%] .tab-context-menu .shortcut{margin-left:auto;opacity:.5;font-size:12px;font-family:monospace}.context-menu[_ngcontent-%COMP%] .ant-menu-title-content{display:flex;align-items:center;gap:8px}"]})};function Dn(o){return Xn(o)?o.touches[0]||o.changedTouches[0]:o}var Bm=wt({passive:!0});var Oa=["nz-splitter-bar",""];function Va(o,t){if(o&1&&C(0,"div",4),o&2){let e=p(),n=e.active()&&!!e.constrainedOffset();ce("transform",n?e.previewTransform():null),H("ant-splitter-bar-preview-active",n)}}function Ba(o,t){if(o&1){let e=z();a(0,"div",5),g("click",function(){u(e);let i=p();return m(i.collapseEvent("start"))}),C(1,"nz-icon",6),s()}if(o&2){let e=p();c(),h("nzType",e.vertical()?"up":"left")}}function Fa(o,t){if(o&1){let e=z();a(0,"div",7),g("click",function(){u(e);let i=p();return m(i.collapseEvent("end"))}),C(1,"nz-icon",8),s()}if(o&2){let e=p();c(),h("nzType",e.vertical()?"down":"right")}}var ja=["contentTemplate"],La=["*"];function Ka(o,t){o&1&&yt(0)}function Ha(o,t){o&1&&Re(0)}function $a(o,t){if(o&1){let e=z();a(0,"div",4),g("offsetStart",function(i){u(e);let r=p().$index,l=p();return m(l.startResize(r,i))})("collapse",function(i){u(e);let r=p().$index,l=p();return m(l.collapse(r,i))}),s()}if(o&2){let e,n=p().$index,i=p(),r=i.resizableInfos()[n],l=i.ariaInfos()[n];h("ariaNow",l.ariaNow)("ariaMin",l.ariaMin)("ariaMax",l.ariaMax)("resizable",r.resizable)("collapsible",r.collapsible)("active",((e=i.movingIndex())==null?null:e.index)===n)("vertical",i.nzLayout()==="vertical")("lazy",i.nzLazy())("constrainedOffset",i.constrainedOffset())}}function Ua(o,t){if(o&1&&(a(0,"div",1),ae(1,Ha,1,0,"ng-container",2),s(),b(2,$a,1,9,"div",3)),o&2){let e=t.$implicit,n=t.$index,i=t.$count,r=p().sizes()[n],l=r.size?r.size:"auto",f=r.size?0:1;ce("flex-basis",l)("flex-grow",f),H("ant-splitter-panel-hidden",r.postPxSize===0),c(),h("ngTemplateOutlet",e.contentTemplate),c(),x(n!==i-1?2:-1)}}function Wa(o,t){if(o&1&&C(0,"div",5),o&2){let e=p();H("ant-splitter-mask-horizontal",e.nzLayout()==="horizontal")("ant-splitter-mask-vertical",e.nzLayout()==="vertical")}}var Ja=(()=>{class o{ariaNow=P.required();ariaMin=P.required();ariaMax=P.required();active=P(!1);resizable=P(!0);vertical=P();lazy=P(!1);collapsible=P();constrainedOffset=P();offsetStart=Ne();collapse=Ne();previewTransform=_(()=>{let e=bn(this.constrainedOffset());return this.vertical()?`translateY(${e})`:`translateX(${e})`});resizeStartEvent(e){if(this.resizable()){let{pageX:n,pageY:i}=Dn(e);this.offsetStart.emit([n,i])}}collapseEvent(e){this.collapse.emit(e)}getValidNumber(e){return typeof e=="number"&&!isNaN(e)?Math.round(e):0}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=S({type:o,selectors:[["","nz-splitter-bar",""]],hostAttrs:["role","separator",1,"ant-splitter-bar"],hostVars:3,hostBindings:function(n,i){n&2&&Hn("aria-valuenow",i.getValidNumber(i.ariaNow()))("aria-valuemin",i.getValidNumber(i.ariaMin()))("aria-valuemax",i.getValidNumber(i.ariaMax()))},inputs:{ariaNow:[1,"ariaNow"],ariaMin:[1,"ariaMin"],ariaMax:[1,"ariaMax"],active:[1,"active"],resizable:[1,"resizable"],vertical:[1,"vertical"],lazy:[1,"lazy"],collapsible:[1,"collapsible"],constrainedOffset:[1,"constrainedOffset"]},outputs:{offsetStart:"offsetStart",collapse:"collapse"},attrs:Oa,decls:4,vars:7,consts:[[1,"ant-splitter-bar-preview",3,"ant-splitter-bar-preview-active","transform"],[1,"ant-splitter-bar-dragger",3,"mousedown","touchstart"],[1,"ant-splitter-bar-collapse-bar","ant-splitter-bar-collapse-bar-start"],[1,"ant-splitter-bar-collapse-bar","ant-splitter-bar-collapse-bar-end"],[1,"ant-splitter-bar-preview"],[1,"ant-splitter-bar-collapse-bar","ant-splitter-bar-collapse-bar-start",3,"click"],[1,"ant-splitter-bar-collapse-icon","ant-splitter-bar-collapse-start",3,"nzType"],[1,"ant-splitter-bar-collapse-bar","ant-splitter-bar-collapse-bar-end",3,"click"],[1,"ant-splitter-bar-collapse-icon","ant-splitter-bar-collapse-end",3,"nzType"]],template:function(n,i){if(n&1&&(b(0,Va,1,4,"div",0),a(1,"div",1),g("mousedown",function(l){return i.resizeStartEvent(l)})("touchstart",function(l){return i.resizeStartEvent(l)}),s(),b(2,Ba,2,1,"div",2),b(3,Fa,2,1,"div",3)),n&2){let r,l;x(i.lazy()?0:-1),c(),H("ant-splitter-bar-dragger-disabled",!i.resizable())("ant-splitter-bar-dragger-active",i.active()),c(),x((r=i.collapsible())!=null&&r.start?2:-1),c(),x((l=i.collapsible())!=null&&l.end?3:-1)}},dependencies:[$,J],encapsulation:2,changeDetection:0})}return o})(),un=(()=>{class o{nzDefaultSize=P();nzMin=P();nzMax=P();nzSize=P();nzCollapsible=P(!1);nzResizable=P(!0,{transform:_n});contentTemplate=Ye.required("contentTemplate");static \u0275fac=function(n){return new(n||o)};static \u0275cmp=S({type:o,selectors:[["nz-splitter-panel"]],viewQuery:function(n,i){n&1&&Ge(i.contentTemplate,ja,5),n&2&&ut()},inputs:{nzDefaultSize:[1,"nzDefaultSize"],nzMin:[1,"nzMin"],nzMax:[1,"nzMax"],nzSize:[1,"nzSize"],nzCollapsible:[1,"nzCollapsible"],nzResizable:[1,"nzResizable"]},exportAs:["nzSplitterPanel"],ngContentSelectors:La,decls:2,vars:0,consts:[["contentTemplate",""]],template:function(n,i){n&1&&(xt(),Kn(0,Ka,1,0,"ng-template",null,0,le))},encapsulation:2,changeDetection:0})}return o})();function _t(o){return Number(o.slice(0,-1))/100}function Pn(o){return typeof o=="string"&&o.endsWith("%")}function Qa(o){if(o&&typeof o=="object")return o;let t=!!o;return{start:t,end:t}}var Gi=wt({passive:!0}),An=(()=>{class o{nzLayout=P("horizontal");nzLazy=P(!1,{transform:_n});nzResizeStart=Ne();nzResize=Ne();nzResizeEnd=Ne();destroy$=k(yn);elementRef=k(Fn);directionality=k(Yn);resizeObserver=k(zi);document=k(Bn);dir=xn(this.directionality.change,{initialValue:this.directionality.value});panels=Qn(un);panelProps=_(()=>this.panels().map(e=>({defaultSize:e.nzDefaultSize(),size:e.nzSize(),min:e.nzMin(),max:e.nzMax(),resizable:e.nzResizable(),collapsible:Qa(e.nzCollapsible()),contentTemplate:e.contentTemplate()})));containerBox=xn(this.resizeObserver.observe(this.elementRef).pipe(We(([e])=>e.target),We(e=>({width:e.clientWidth,height:e.clientHeight}))),{initialValue:{width:this.elementRef.nativeElement.clientWidth||0,height:this.elementRef.nativeElement.clientHeight||0}});containerSize=_(()=>this.nzLayout()==="horizontal"?this.containerBox().width:this.containerBox().height);innerSizes=Jn({source:this.panelProps,computation:e=>e.map(n=>n.defaultSize)});sizes=_(()=>{let e=0,n=this.containerSize(),i=this.innerSizes(),r=this.panelProps().map((f,v)=>{let w=f.size??i[v],N;if(Pn(w))N=_t(w);else if(w||w===0){let ee=Number(w);isNaN(ee)||(N=ee/n)}else N=void 0,e++;let L=f.min,R=f.max,q=Pn(L)?_t(L):(L||0)/n,W=Pn(R)?_t(R):(R||n)/n;return{size:w,percentage:N,min:L,max:R,postPercentMinSize:q,postPercentMaxSize:W}}),l=r.reduce((f,{percentage:v})=>f+(v??0),0);for(let f of r){if(l>1&&!e){let v=1/l;f.percentage=f.percentage===void 0?0:f.percentage*v}else{let v=(1-l)/e;f.percentage=f.percentage===void 0?v:f.percentage}f.postPxSize=f.percentage*n,f.size=n?bn(f.postPxSize):f.size}return r});ariaInfos=_(()=>{let e=[],n=[],i=this.sizes(),r=0;for(let l of i)r+=l.percentage,e.push(r);for(let l=0;l<i.length-1;l+=1){let f=(e[l-1]||0)+i[l].postPercentMinSize,v=(e[l+1]||100)-i[l+1].postPercentMaxSize,w=(e[l-1]||0)+i[l].postPercentMaxSize,N=(e[l+1]||100)-i[l+1].postPercentMinSize;n.push({ariaNow:e[l]*100,ariaMin:Math.max(f,v)*100,ariaMax:Math.min(w,N)*100})}return n});getPxSizes(){return this.sizes().map(e=>e.postPxSize)}movingIndex=E(null);constrainedOffset=E(0);resizableInfos=_(()=>{let e=this.panelProps(),n=this.getPxSizes(),i=[];for(let r=0;r<e.length-1;r+=1){let l=e[r],f=e[r+1],v=n[r],w=n[r+1],{resizable:N=!0,min:L,collapsible:R}=l,{resizable:q=!0,min:W,collapsible:ee}=f,te=N&&q&&(v!==0||!L)&&(w!==0||!W),U=R.end&&v>0||ee.start&&w===0&&v>0,ue=ee.start&&w>0||R.end&&v===0&&w>0;i[r]={resizable:te,collapsible:{start:!!(this.dir()==="rtl"?ue:U),end:!!(this.dir()==="rtl"?U:ue)}}}return i});startResize(e,n){this.movingIndex.set({index:e,confirmed:!1}),this.nzResizeStart.emit(this.getPxSizes());let i=new qn,r=v=>{let{percentage:w,postPercentMinSize:N,postPercentMaxSize:L}=this.sizes()[e],[R,q,W]=[w,N,L].map(je=>je*100),ee=this.containerSize(),te=ee*R/100,U=te+v,ue=Math.max(0,ee*q/100),In=Math.min(ee,ee*W/100);return Math.max(ue,Math.min(In,U))-te},l=v=>{this.constrainedOffset.set(r(v))},f=()=>{this.updateOffset(e,this.constrainedOffset()),this.constrainedOffset.set(0)};dt(Ze(this.document,"mousemove",Gi),Ze(this.document,"touchmove",Gi)).pipe(We(v=>Dn(v)),We(({pageX:v,pageY:w})=>this.nzLayout()==="horizontal"?v-n[0]:w-n[1]),We(v=>this.nzLayout()==="horizontal"&&this.dir()==="rtl"?-v:v),Vn(0),On(),Cn(dt(i,this.destroy$))).subscribe(([v,w])=>{if(this.nzLazy()&&w!==0)l(w);else{let N=w-v;N!==0&&this.updateOffset(e,N)}}),dt(Ze(this.document,"mouseup"),Ze(this.document,"touchend")).pipe(Cn(dt(i,this.destroy$))).subscribe(()=>{this.nzLazy()&&f(),this.movingIndex.set(null),this.nzResizeEnd.emit(this.getPxSizes()),i.next()})}updateOffset(e,n){let i=this.containerSize(),r=this.sizes().map(U=>[U.min,U.max]),l=this.sizes().map(U=>U.percentage*i),f=(U,ue)=>typeof U=="string"?_t(U)*i:U??ue,v=null,w=this.movingIndex();if((!w||!w.confirmed)&&n!==0){if(n>0)v=e,this.movingIndex.set({index:e,confirmed:!0});else for(let U=e;U>=0;U-=1)if(l[U]>0&&this.resizableInfos()[U].resizable){v=U,this.movingIndex.set({index:U,confirmed:!0});break}}let N=v??e,L=N+1,R=f(r[N][0],0),q=f(r[L][0],0),W=f(r[N][1],i),ee=f(r[L][1],i),te=n;l[N]+te<R&&(te=R-l[N]),l[L]-te<q&&(te=l[L]-q),l[N]+te>W&&(te=W-l[N]),l[L]-te>ee&&(te=l[L]-ee),l[N]+=te,l[L]-=te,this.innerSizes.set(l),this.nzResize.emit(l)}cacheCollapsedSize=[];collapse(e,n){let i=this.containerSize(),r=this.sizes().map(q=>[q.min,q.max]),l=this.sizes().map(q=>q.percentage*i),f=this.dir()==="rtl"?n==="start"?"end":"start":n,v=f==="start"?e:e+1,w=f=="start"?e+1:e,N=l[v],L=l[w],R=(q,W)=>typeof q=="string"?_t(q)*i:q??W;if(N!==0&&L!==0)l[v]=0,l[w]+=N,this.cacheCollapsedSize[e]=N;else{let q=N+L,W=R(r[v][0],0),ee=R(r[v][1],i),te=R(r[w][0],0),U=R(r[w][1],i),ue=Math.max(W,q-U),gn=(Math.min(ee,q-te)-ue)/2,je=this.cacheCollapsedSize[e],fn=q-je;je&&je<=U&&je>=te&&fn<=ee&&fn>=W?(l[w]=je,l[v]=fn):(l[v]-=gn,l[w]+=gn)}this.innerSizes.set(l),this.nzResize.emit(l),this.nzResizeEnd.emit(l)}static \u0275fac=function(n){return new(n||o)};static \u0275cmp=S({type:o,selectors:[["nz-splitter"]],contentQueries:function(n,i,r){n&1&&Un(r,i.panels,un,4),n&2&&ut()},hostAttrs:[1,"ant-splitter"],hostVars:6,hostBindings:function(n,i){n&2&&H("ant-splitter-horizontal",i.nzLayout()==="horizontal")("ant-splitter-vertical",i.nzLayout()==="vertical")("ant-splitter-rtl",i.dir()==="rtl")},inputs:{nzLayout:[1,"nzLayout"],nzLazy:[1,"nzLazy"]},outputs:{nzResizeStart:"nzResizeStart",nzResize:"nzResize",nzResizeEnd:"nzResizeEnd"},exportAs:["nzSplitter"],features:[Tt([yn])],decls:3,vars:1,consts:[["aria-hidden","",1,"ant-splitter-mask",3,"ant-splitter-mask-horizontal","ant-splitter-mask-vertical"],[1,"ant-splitter-panel"],[4,"ngTemplateOutlet"],["nz-splitter-bar","",3,"ariaNow","ariaMin","ariaMax","resizable","collapsible","active","vertical","lazy","constrainedOffset"],["nz-splitter-bar","",3,"offsetStart","collapse","ariaNow","ariaMin","ariaMax","resizable","collapsible","active","vertical","lazy","constrainedOffset"],["aria-hidden","",1,"ant-splitter-mask"]],template:function(n,i){n&1&&(O(0,Ua,3,8,null,null,$n),b(2,Wa,1,4,"div",0)),n&2&&(V(i.panelProps()),c(2),x(i.movingIndex()!==null?2:-1))},dependencies:[Xe,Ja],encapsulation:2,changeDetection:0})}return o})(),Yi=(()=>{class o{static \u0275fac=function(n){return new(n||o)};static \u0275mod=Qe({type:o});static \u0275inj=Je({imports:[An]})}return o})();var Ya=["envPicker"],Xa=["class","component"];function Za(o,t){if(o&1){let e=z();a(0,"div",10)(1,"nz-splitter",13),g("nzResize",function(i){u(e);let r=p();return m(r.splitterResize(i))}),a(2,"nz-splitter-panel",14)(3,"app-request-editor",15),g("patch",function(i){u(e);let r=p();return m(r.store.patchActive(i))})("save",function(){u(e);let i=p();return m(i.store.saveActive())})("send",function(){u(e);let i=p();return m(i.store.sendActive())})("optTabChange",function(){u(e);let i=p();return m(i.optTabChange())}),s()(),a(4,"nz-splitter-panel",16),C(5,"app-response-viewer",17),s()()()}if(o&2){let e,n=p();c(2),h("nzMin",160)("nzSize",n.splitterTopHeigth()),c(),h("collectionPath",n.store.collectionPath())("baseUrl",((e=n.store.activeEnv())==null?null:e.baseUrl)??null)("request",n.store.activeRequest())("sending",n.store.activeSending())("activedTabId",n.store.activeTabId())("envVars",n.store.envVarRecord())("openEnv",n.openEnv),c(),h("nzMin",112),c(),h("sending",n.store.activeSending())("result",n.store.lastResult())}}function es(o,t){if(o&1&&C(0,"nz-empty",11),o&2){p();let e=re(12),n=re(14);h("nzNotFoundContent",e)("nzNotFoundFooter",n)}}function ts(o,t){o&1&&(a(0,"span"),d(1,'\u6682\u65E0\u8BF7\u6C42\uFF0C\u70B9\u51FB\u5DE6\u4FA7\u9762\u677F\u53F3\u4E0A\u89D2"+" \u521B\u5EFA\u8BF7\u6C42'),s())}function ns(o,t){if(o&1){let e=z();a(0,"button",18),g("click",function(){u(e);let i=p();return m(i.store.newTab())}),d(1,"\u7ACB\u5373\u65B0\u589E"),s()}}function is(o,t){if(o&1){let e=z();a(0,"app-api-history-drawer",19),g("close",function(){u(e);let i=p();return m(i.store.closeHistory())})("replay",function(i){u(e);let r=p();return m(r.store.replayHistory(i))}),s()}if(o&2){let e=p();h("loading",e.store.historyLoading())("histories",e.store.histories())}}var mn=class o{store=k(Fe);modal=k(et);splitterTopHeigth=E(400);envPicker;openEnv=()=>{this.envPicker.openEnvModal()};handleTabClose(t){this.store.tabs().find(n=>n.id===t)?.isDirty?this.modal.confirm({nzTitle:"\u5173\u95ED\u786E\u8BA4",nzContent:"\u5F53\u524D\u8BF7\u6C42\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5173\u95ED\u5417\uFF1F",nzOkText:"\u5173\u95ED",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>{this.store.closeTab(t)}}):this.store.closeTab(t)}handleTabContextMenu(t){let{tabId:e,action:n}=t;switch(n){case"close":this.handleTabClose(e);break;case"closeOthers":{let i=this.store.tabs().filter(r=>r.id!==e&&r.isDirty);i.length>0?this.modal.confirm({nzTitle:"\u5173\u95ED\u5176\u4ED6\u6807\u7B7E\u9875",nzContent:`\u6709 ${i.length} \u4E2A\u6807\u7B7E\u9875\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5168\u90E8\u5173\u95ED\u5417\uFF1F`,nzOkText:"\u5168\u90E8\u5173\u95ED",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>{this.store.tabStore.closeOtherTabs(e)}}):this.store.tabStore.closeOtherTabs(e);break}case"closeRight":{let i=this.store.tabs().findIndex(f=>f.id===e),l=this.store.tabs().slice(i+1).filter(f=>f.isDirty);l.length>0?this.modal.confirm({nzTitle:"\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E\u9875",nzContent:`\u53F3\u4FA7\u6709 ${l.length} \u4E2A\u6807\u7B7E\u9875\u6709\u672A\u4FDD\u5B58\u7684\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5168\u90E8\u5173\u95ED\u5417\uFF1F`,nzOkText:"\u5168\u90E8\u5173\u95ED",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>{this.store.tabStore.closeRightTabs(e)}}):this.store.tabStore.closeRightTabs(e);break}case"closeSaved":{let i=this.store.tabs().filter(r=>!r.isDirty&&r.requestId);i.length>0&&this.modal.confirm({nzTitle:"\u5173\u95ED\u5DF2\u4FDD\u5B58\u7684\u6807\u7B7E\u9875",nzContent:`\u786E\u5B9A\u8981\u5173\u95ED ${i.length} \u4E2A\u5DF2\u4FDD\u5B58\u7684\u6807\u7B7E\u9875\u5417\uFF1F`,nzOkText:"\u5173\u95ED",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>{this.store.tabStore.closeSavedTabs()}});break}case"duplicate":try{this.store.tabStore.duplicateTab(e)}catch(i){console.error(i)}break;case"copyUrl":{let i=this.store.tabStore.getTabUrl(e);i&&navigator.clipboard.writeText(i);break}case"moveTo":{let i=this.store.tabStore.getTab(e);i?.requestId&&this.store.moveCollection(i.requestId,"request");break}}}optTabChange(){this.splitterTopHeigth.set(400)}splitterResize(t){this.splitterTopHeigth.set(t[0])}static \u0275fac=function(e){return new(e||o)};static \u0275cmp=S({type:o,selectors:[["app-api-client",8,"component"]],viewQuery:function(e,n){if(e&1&&Le(Ya,5),e&2){let i;Ke(i=He())&&(n.envPicker=i.first)}},attrs:Xa,decls:16,vars:13,consts:[["contentTpl",""],["footerTpl",""],[3,"title","loading","isFullscreen","isOverflowYAuto"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u5386\u53F2\u8BB0\u5F55",3,"click"],["nzType","history","nzTheme","outline"],[1,"page"],[3,"qChange","select","createRequest","createCollection","createFolder","reload","delete","rename","move","nodes","q","activeId","loading"],[1,"content"],[3,"tabChange","tabClose","tabAdd","tabRename","tabReorder","tabContextMenu","tabs","activeTabId","canOpenMore"],[1,"editor-area"],[3,"nzNotFoundContent","nzNotFoundFooter"],[3,"loading","histories"],["nzLayout","vertical",3,"nzResize"],[3,"nzMin","nzSize"],[3,"patch","save","send","optTabChange","collectionPath","baseUrl","request","sending","activedTabId","envVars","openEnv"],[3,"nzMin"],[3,"sending","result"],["nz-button","","nzType","primary",3,"click"],[3,"close","replay","loading","histories"]],template:function(e,n){if(e&1){let i=z();a(0,"app-page-layout",2),vt(1,3),C(2,"app-env-picker"),a(3,"button",4),g("click",function(){return u(i),m(n.store.openHistory())}),C(4,"nz-icon",5),s(),bt(),a(5,"nz-layout",6)(6,"app-request-collections",7),ye("qChange",function(l){return u(i),xe(n.store.q,l)||(n.store.q=l),m(l)}),g("select",function(l){return u(i),m(n.store.selectRequest(l))})("createRequest",function(l){return u(i),m(n.store.newRequest({collectionId:l.collectionId}))})("createCollection",function(){return u(i),m(n.store.newCollection({kind:"collection"}))})("createFolder",function(l){return u(i),m(n.store.newCollection({kind:"folder",parentId:l.collectionId}))})("reload",function(){return u(i),m(n.store.loadAll())})("delete",function(l){return u(i),m(n.store.deleteCollection(l.id,l.kind))})("rename",function(l){return u(i),m(n.store.renameCollection(l.id,l.kind))})("move",function(l){return u(i),m(n.store.moveCollection(l.id,l.kind))}),s(),a(7,"div",8)(8,"app-request-tabs-bar",9),g("tabChange",function(l){return u(i),m(n.store.switchTab(l))})("tabClose",function(l){return u(i),m(n.handleTabClose(l))})("tabAdd",function(){return u(i),m(n.store.newTab())})("tabRename",function(l){return u(i),m(n.store.renameTab(l.id,l.title))})("tabReorder",function(l){return u(i),m(n.store.reorderTabs(l.from,l.to))})("tabContextMenu",function(l){return u(i),m(n.handleTabContextMenu(l))}),s(),b(9,Za,6,12,"div",10)(10,es,1,2,"nz-empty",11),ae(11,ts,2,0,"ng-template",null,0,le)(13,ns,2,0,"ng-template",null,1,le),s()()(),b(15,is,1,2,"app-api-history-drawer",12)}e&2&&(h("title","API \u8BF7\u6C42")("loading",n.store.loading())("isFullscreen",!0)("isOverflowYAuto",!1),c(6),h("nodes",n.store.filteredNodes()),be("q",n.store.q),h("activeId",n.store.activeRequestId())("loading",n.store.loading()),c(2),h("tabs",n.store.tabs)("activeTabId",n.store.activeTabId)("canOpenMore",n.store.canOpenMore()),c(),x(n.store.activeRequest()?9:10),c(6),x(n.store.historyOpen()?15:-1))},dependencies:[A,di,I,j,F,se,$,J,vi,_i,he,me,ai,Ht,tn,pn,dn,jt,Yt,Ci,fi,Yi,An,un],styles:[".page[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:row;overflow:hidden;gap:16px;padding:0 16px}.content[_ngcontent-%COMP%]{flex:1 1 auto;width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-area[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.editor-area[_ngcontent-%COMP%] nz-splitter[_ngcontent-%COMP%]{flex:1;height:100%}app-request-editor[_ngcontent-%COMP%]{flex:0 0 auto;height:100%}app-response-viewer[_ngcontent-%COMP%]{flex:0 0 auto;height:100%;overflow:auto}"]})};var os=[{path:"",component:mn}],hn=class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=Qe({type:o});static \u0275inj=Je({imports:[vn.forChild(os),vn]})};var Xi=class o{static \u0275fac=function(e){return new(e||o)};static \u0275mod=Qe({type:o});static \u0275inj=Je({imports:[A,hn]})};export{Xi as ApiClientModule};
@@ -1,3 +1,3 @@
1
- import{Ea as ye,Fa as ve,Ga as Ge,Ha as Te,L as Pe,U as Y,Y as A,a as ke,sa as xe,ta as k}from"./chunk-VZYJ3MSW.js";import{i as Ce}from"./chunk-KRYMOHYF.js";import{$b as O,Aa as I,Da as le,Ec as L,Fb as pe,Fc as E,Gb as de,Gc as U,Hc as j,Ic as me,Jc as fe,Lb as G,Lc as ue,Oa as ce,Ub as W,Wb as g,Yb as S,Zb as M,Zc as _e,ac as F,bc as y,c as se,cc as m,dc as f,dd as ge,ec as C,f as B,ic as ze,jc as he,nb as a,oa as ae,r as _,s as l,sa as w,uc as c,ud as Se,zd as X}from"./chunk-4BRW6LCZ.js";var be=t=>({$implicit:t});function $e(t,i){if(t&1&&C(0,"nz-icon",3),t&2){let n=c(3);y("nzType",n.icon)}}function De(t,i){if(t&1&&(ze(0),fe(1),he()),t&2){let n=i.$implicit,s=c(4);a(),ue(" ",n(s.nzPercent)," ")}}function we(t,i){if(t&1&&G(0,De,2,1,"ng-container",4),t&2){let n=c(3);y("nzStringTemplateOutlet",n.formatter)("nzStringTemplateOutletContext",_e(2,be,n.nzPercent))}}function We(t,i){if(t&1&&(m(0,"span",2),g(1,$e,1,1,"nz-icon",3)(2,we,1,4,"ng-container"),f()),t&2){let n=c(2);a(),S((n.status==="exception"||n.status==="success")&&!n.nzFormat?1:2)}}function Me(t,i){if(t&1&&g(0,We,3,1,"span",2),t&2){let n=c();S(n.nzShowInfo?0:-1)}}function Oe(t,i){if(t&1&&C(0,"div",8),t&2){let n=i.$implicit;j(n)}}function Fe(t,i){}function Le(t,i){if(t&1&&(m(0,"div",5),O(1,Oe,1,2,"div",6,M),G(3,Fe,0,0,"ng-template",7),f()),t&2){let n=c(2),s=L(1);a(),F(n.steps),a(2),y("ngTemplateOutlet",s)}}function Ee(t,i){if(t&1&&C(0,"div",13),t&2){let n=c(3);E("width",n.nzSuccessPercent,"%")("border-radius",n.nzStrokeLinecap==="round"?"100px":"0")("height",n.strokeWidth,"px")}}function je(t,i){}function Ae(t,i){if(t&1&&(m(0,"div",9)(1,"div",10),C(2,"div",11),g(3,Ee,1,6,"div",12),f()(),G(4,je,0,0,"ng-template",7)),t&2){let n=c(2),s=L(1);a(2),E("width",n.nzPercent,"%")("border-radius",n.nzStrokeLinecap==="round"?"100px":"0")("background",n.isGradient?null:n.nzStrokeColor)("background-image",n.isGradient?n.lineGradient:null)("height",n.strokeWidth,"px"),a(),S(n.nzSuccessPercent||n.nzSuccessPercent===0?3:-1),a(),y("ngTemplateOutlet",s)}}function Re(t,i){if(t&1&&(m(0,"div"),g(1,Le,4,1,"div",5)(2,Ae,5,12),f()),t&2){let n=c();a(),S(n.isSteps?1:2)}}function Ve(t,i){if(t&1&&(I(),C(0,"stop")),t&2){let n=i.$implicit;W("offset",n.offset)("stop-color",n.color)}}function Be(t,i){if(t&1&&(I(),m(0,"defs")(1,"linearGradient",17),O(2,Ve,1,2,":svg:stop",null,M),f()()),t&2){let n=c(2);a(),y("id","gradient-"+n.gradientId),a(),F(n.circleGradient)}}function Ue(t,i){if(t&1&&(I(),C(0,"path",18)),t&2){let n=i.$implicit,s=c(2);j(n.strokePathStyle),W("d",s.pathString)("stroke-linecap",s.nzStrokeLinecap)("stroke",n.stroke)("stroke-width",s.nzPercent?s.strokeWidth:0)}}function Xe(t,i){}function Ye(t,i){if(t&1&&(m(0,"div",10),I(),m(1,"svg",14),g(2,Be,4,1,":svg:defs"),C(3,"path",15),O(4,Ue,1,6,":svg:path",16,M),f(),G(6,Xe,0,0,"ng-template",7),f()),t&2){let n=c(),s=L(1);E("width",n.nzWidth,"px")("height",n.nzWidth,"px")("font-size",n.nzWidth*.15+6,"px"),U("ant-progress-circle-gradient",n.isGradient),a(2),S(n.isGradient?2:-1),a(),j(n.trailPathStyle),W("stroke-width",n.strokeWidth)("d",n.pathString),a(),F(n.progressCirclePath),a(2),y("ngTemplateOutlet",s)}}function Ze(t){return+t.replace("%","")}var Ne=t=>{let i=[];return Object.keys(t).forEach(n=>{let s=t[n],u=Ze(n);isNaN(u)||i.push({key:u,value:s})}),i=i.sort((n,s)=>n.key-s.key),i},Ke=t=>Ne(t).map(({key:i,value:n})=>({offset:`${i}%`,color:n})),qe=t=>{let T=t,{from:i="#1890ff",to:n="#1890ff",direction:s="to right"}=T,u=se(T,["from","to","direction"]);if(Object.keys(u).length!==0){let N=Ne(u).map(({key:b,value:$})=>`${$} ${b}%`).join(", ");return`linear-gradient(${s}, ${N})`}return`linear-gradient(${s}, ${i}, ${n})`},He=0,Ie="progress",Je=new Map([["success","check"],["exception","close"]]),Qe=new Map([["normal","#108ee9"],["exception","#ff5500"],["success","#87d068"]]),et=t=>`${t}%`,tt=(()=>{var d;let t,i=[],n=[],s,u=[],T=[],N,b=[],$=[],Z,K=[],q=[],H,J=[],Q=[],ee,te=[],ne=[],ie,oe=[],re=[];return d=class{_nzModuleName=Ie;cdr=w(Se);directionality=w(ke);destroyRef=w(le);nzShowInfo=l(this,i,!0);nzWidth=(l(this,n),132);nzStrokeColor=l(this,u,void 0);nzSize=(l(this,T),l(this,b,"default"));nzFormat=l(this,$);nzSuccessPercent;nzPercent=0;nzStrokeWidth=l(this,K,void 0);nzGapDegree=(l(this,q),l(this,J,void 0));nzStatus=l(this,Q);nzType="line";nzGapPosition=l(this,te,"top");nzStrokeLinecap=(l(this,ne),l(this,oe,"round"));nzSteps=(l(this,re),0);steps=[];lineGradient=null;isGradient=!1;isSteps=!1;gradientId=He++;progressCirclePath=[];circleGradient;trailPathStyle=null;pathString;icon;dir="ltr";get formatter(){return this.nzFormat||et}get status(){return this.nzStatus||this.inferredStatus}get strokeWidth(){return this.nzStrokeWidth||(this.nzType==="line"&&this.nzSize!=="small"?8:6)}get isCircleStyle(){return this.nzType==="circle"||this.nzType==="dashboard"}cachedStatus="normal";inferredStatus="normal";constructor(){xe(Ie,()=>{this.updateIcon(),this.setStrokeColor(),this.getCirclePaths()})}ngOnChanges(r){let{nzSteps:e,nzGapPosition:o,nzStrokeLinecap:z,nzStrokeColor:p,nzGapDegree:P,nzType:v,nzStatus:x,nzPercent:h,nzSuccessPercent:D,nzStrokeWidth:R}=r;x&&(this.cachedStatus=this.nzStatus||this.cachedStatus),(h||D)&&(parseInt(this.nzPercent.toString(),10)>=100?(Y(this.nzSuccessPercent)&&this.nzSuccessPercent>=100||this.nzSuccessPercent===void 0)&&(this.inferredStatus="success"):this.inferredStatus=this.cachedStatus),(x||h||D||p)&&this.updateIcon(),p&&this.setStrokeColor(),(o||z||P||v||h||p||p)&&this.getCirclePaths(),(h||e||R)&&(this.isSteps=this.nzSteps>0,this.isSteps&&this.getSteps())}ngOnInit(){this.directionality.change?.pipe(Pe(this.destroyRef)).subscribe(r=>{this.dir=r,this.cdr.detectChanges()}),this.dir=this.directionality.value}updateIcon(){let r=Je.get(this.status);this.icon=r?r+(this.isCircleStyle?"-o":"-circle-fill"):""}getSteps(){let r=Math.floor(this.nzSteps*(this.nzPercent/100)),e=this.nzSize==="small"?2:14,o=[];for(let z=0;z<this.nzSteps;z++){let p;z<=r-1&&(p=this.nzStrokeColor);let P={backgroundColor:`${p}`,width:`${e}px`,height:`${this.strokeWidth}px`};o.push(P)}this.steps=o}getCirclePaths(){if(!this.isCircleStyle)return;let r=Y(this.nzSuccessPercent)?[this.nzSuccessPercent,this.nzPercent]:[this.nzPercent],e=50-this.strokeWidth/2,o=this.nzGapPosition||(this.nzType==="circle"?"top":"bottom"),z=Math.PI*2*e,p=this.nzGapDegree||(this.nzType==="circle"?0:75),P=0,v=-e,x=0,h=e*-2;switch(o){case"left":P=-e,v=0,x=e*2,h=0;break;case"right":P=e,v=0,x=e*-2,h=0;break;case"bottom":v=e,h=e*2;break;default:}this.pathString=`M 50,50 m ${P},${v}
1
+ import{Ia as ye,Ja as ve,Ka as Ge,La as Te,M as Pe,V as Y,Z as A,a as ke,ua as xe,va as k}from"./chunk-2EB7UV3S.js";import{i as Ce}from"./chunk-SIKDYQOR.js";import{Aa as I,Ad as X,Da as le,Fc as L,Gb as pe,Gc as E,Hb as de,Hc as U,Ic as j,Jc as me,Kc as fe,Mb as G,Mc as ue,Oa as ce,Vb as W,Xb as g,Zb as S,_b as M,_c as _e,ac as O,bc as F,c as se,cc as y,dc as m,ec as f,ed as ge,f as B,fc as C,jc as ze,kc as he,oa as ae,ob as a,r as _,s as l,sa as w,vc as c,vd as Se}from"./chunk-YGWA6NUS.js";var be=t=>({$implicit:t});function $e(t,i){if(t&1&&C(0,"nz-icon",3),t&2){let n=c(3);y("nzType",n.icon)}}function De(t,i){if(t&1&&(ze(0),fe(1),he()),t&2){let n=i.$implicit,s=c(4);a(),ue(" ",n(s.nzPercent)," ")}}function we(t,i){if(t&1&&G(0,De,2,1,"ng-container",4),t&2){let n=c(3);y("nzStringTemplateOutlet",n.formatter)("nzStringTemplateOutletContext",_e(2,be,n.nzPercent))}}function We(t,i){if(t&1&&(m(0,"span",2),g(1,$e,1,1,"nz-icon",3)(2,we,1,4,"ng-container"),f()),t&2){let n=c(2);a(),S((n.status==="exception"||n.status==="success")&&!n.nzFormat?1:2)}}function Me(t,i){if(t&1&&g(0,We,3,1,"span",2),t&2){let n=c();S(n.nzShowInfo?0:-1)}}function Oe(t,i){if(t&1&&C(0,"div",8),t&2){let n=i.$implicit;j(n)}}function Fe(t,i){}function Le(t,i){if(t&1&&(m(0,"div",5),O(1,Oe,1,2,"div",6,M),G(3,Fe,0,0,"ng-template",7),f()),t&2){let n=c(2),s=L(1);a(),F(n.steps),a(2),y("ngTemplateOutlet",s)}}function Ee(t,i){if(t&1&&C(0,"div",13),t&2){let n=c(3);E("width",n.nzSuccessPercent,"%")("border-radius",n.nzStrokeLinecap==="round"?"100px":"0")("height",n.strokeWidth,"px")}}function je(t,i){}function Ae(t,i){if(t&1&&(m(0,"div",9)(1,"div",10),C(2,"div",11),g(3,Ee,1,6,"div",12),f()(),G(4,je,0,0,"ng-template",7)),t&2){let n=c(2),s=L(1);a(2),E("width",n.nzPercent,"%")("border-radius",n.nzStrokeLinecap==="round"?"100px":"0")("background",n.isGradient?null:n.nzStrokeColor)("background-image",n.isGradient?n.lineGradient:null)("height",n.strokeWidth,"px"),a(),S(n.nzSuccessPercent||n.nzSuccessPercent===0?3:-1),a(),y("ngTemplateOutlet",s)}}function Re(t,i){if(t&1&&(m(0,"div"),g(1,Le,4,1,"div",5)(2,Ae,5,12),f()),t&2){let n=c();a(),S(n.isSteps?1:2)}}function Ve(t,i){if(t&1&&(I(),C(0,"stop")),t&2){let n=i.$implicit;W("offset",n.offset)("stop-color",n.color)}}function Be(t,i){if(t&1&&(I(),m(0,"defs")(1,"linearGradient",17),O(2,Ve,1,2,":svg:stop",null,M),f()()),t&2){let n=c(2);a(),y("id","gradient-"+n.gradientId),a(),F(n.circleGradient)}}function Ue(t,i){if(t&1&&(I(),C(0,"path",18)),t&2){let n=i.$implicit,s=c(2);j(n.strokePathStyle),W("d",s.pathString)("stroke-linecap",s.nzStrokeLinecap)("stroke",n.stroke)("stroke-width",s.nzPercent?s.strokeWidth:0)}}function Xe(t,i){}function Ye(t,i){if(t&1&&(m(0,"div",10),I(),m(1,"svg",14),g(2,Be,4,1,":svg:defs"),C(3,"path",15),O(4,Ue,1,6,":svg:path",16,M),f(),G(6,Xe,0,0,"ng-template",7),f()),t&2){let n=c(),s=L(1);E("width",n.nzWidth,"px")("height",n.nzWidth,"px")("font-size",n.nzWidth*.15+6,"px"),U("ant-progress-circle-gradient",n.isGradient),a(2),S(n.isGradient?2:-1),a(),j(n.trailPathStyle),W("stroke-width",n.strokeWidth)("d",n.pathString),a(),F(n.progressCirclePath),a(2),y("ngTemplateOutlet",s)}}function Ze(t){return+t.replace("%","")}var Ne=t=>{let i=[];return Object.keys(t).forEach(n=>{let s=t[n],u=Ze(n);isNaN(u)||i.push({key:u,value:s})}),i=i.sort((n,s)=>n.key-s.key),i},Ke=t=>Ne(t).map(({key:i,value:n})=>({offset:`${i}%`,color:n})),qe=t=>{let T=t,{from:i="#1890ff",to:n="#1890ff",direction:s="to right"}=T,u=se(T,["from","to","direction"]);if(Object.keys(u).length!==0){let N=Ne(u).map(({key:b,value:$})=>`${$} ${b}%`).join(", ");return`linear-gradient(${s}, ${N})`}return`linear-gradient(${s}, ${i}, ${n})`},He=0,Ie="progress",Je=new Map([["success","check"],["exception","close"]]),Qe=new Map([["normal","#108ee9"],["exception","#ff5500"],["success","#87d068"]]),et=t=>`${t}%`,tt=(()=>{var d;let t,i=[],n=[],s,u=[],T=[],N,b=[],$=[],Z,K=[],q=[],H,J=[],Q=[],ee,te=[],ne=[],ie,oe=[],re=[];return d=class{_nzModuleName=Ie;cdr=w(Se);directionality=w(ke);destroyRef=w(le);nzShowInfo=l(this,i,!0);nzWidth=(l(this,n),132);nzStrokeColor=l(this,u,void 0);nzSize=(l(this,T),l(this,b,"default"));nzFormat=l(this,$);nzSuccessPercent;nzPercent=0;nzStrokeWidth=l(this,K,void 0);nzGapDegree=(l(this,q),l(this,J,void 0));nzStatus=l(this,Q);nzType="line";nzGapPosition=l(this,te,"top");nzStrokeLinecap=(l(this,ne),l(this,oe,"round"));nzSteps=(l(this,re),0);steps=[];lineGradient=null;isGradient=!1;isSteps=!1;gradientId=He++;progressCirclePath=[];circleGradient;trailPathStyle=null;pathString;icon;dir="ltr";get formatter(){return this.nzFormat||et}get status(){return this.nzStatus||this.inferredStatus}get strokeWidth(){return this.nzStrokeWidth||(this.nzType==="line"&&this.nzSize!=="small"?8:6)}get isCircleStyle(){return this.nzType==="circle"||this.nzType==="dashboard"}cachedStatus="normal";inferredStatus="normal";constructor(){xe(Ie,()=>{this.updateIcon(),this.setStrokeColor(),this.getCirclePaths()})}ngOnChanges(r){let{nzSteps:e,nzGapPosition:o,nzStrokeLinecap:z,nzStrokeColor:p,nzGapDegree:P,nzType:v,nzStatus:x,nzPercent:h,nzSuccessPercent:D,nzStrokeWidth:R}=r;x&&(this.cachedStatus=this.nzStatus||this.cachedStatus),(h||D)&&(parseInt(this.nzPercent.toString(),10)>=100?(Y(this.nzSuccessPercent)&&this.nzSuccessPercent>=100||this.nzSuccessPercent===void 0)&&(this.inferredStatus="success"):this.inferredStatus=this.cachedStatus),(x||h||D||p)&&this.updateIcon(),p&&this.setStrokeColor(),(o||z||P||v||h||p||p)&&this.getCirclePaths(),(h||e||R)&&(this.isSteps=this.nzSteps>0,this.isSteps&&this.getSteps())}ngOnInit(){this.directionality.change?.pipe(Pe(this.destroyRef)).subscribe(r=>{this.dir=r,this.cdr.detectChanges()}),this.dir=this.directionality.value}updateIcon(){let r=Je.get(this.status);this.icon=r?r+(this.isCircleStyle?"-o":"-circle-fill"):""}getSteps(){let r=Math.floor(this.nzSteps*(this.nzPercent/100)),e=this.nzSize==="small"?2:14,o=[];for(let z=0;z<this.nzSteps;z++){let p;z<=r-1&&(p=this.nzStrokeColor);let P={backgroundColor:`${p}`,width:`${e}px`,height:`${this.strokeWidth}px`};o.push(P)}this.steps=o}getCirclePaths(){if(!this.isCircleStyle)return;let r=Y(this.nzSuccessPercent)?[this.nzSuccessPercent,this.nzPercent]:[this.nzPercent],e=50-this.strokeWidth/2,o=this.nzGapPosition||(this.nzType==="circle"?"top":"bottom"),z=Math.PI*2*e,p=this.nzGapDegree||(this.nzType==="circle"?0:75),P=0,v=-e,x=0,h=e*-2;switch(o){case"left":P=-e,v=0,x=e*2,h=0;break;case"right":P=e,v=0,x=e*-2,h=0;break;case"bottom":v=e,h=e*2;break;default:}this.pathString=`M 50,50 m ${P},${v}
2
2
  a ${e},${e} 0 1 1 ${x},${-h}
3
3
  a ${e},${e} 0 1 1 ${-x},${h}`,this.trailPathStyle={strokeDasharray:`${z-p}px ${z}px`,strokeDashoffset:`-${p/2}px`,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s"},this.progressCirclePath=r.map((D,R)=>{let V=r.length===2&&R===0;return{stroke:this.isGradient&&!V?`url(#gradient-${this.gradientId})`:null,strokePathStyle:{stroke:this.isGradient?null:V?Qe.get("success"):this.nzStrokeColor,transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s",strokeDasharray:`${(D||0)/100*(z-p)}px ${z}px`,strokeDashoffset:`-${p/2}px`}}}).reverse()}setStrokeColor(){let r=this.nzStrokeColor,e=this.isGradient=!!r&&typeof r!="string";e&&!this.isCircleStyle?this.lineGradient=qe(r):e&&this.isCircleStyle?this.circleGradient=Ke(this.nzStrokeColor):(this.lineGradient=null,this.circleGradient=[])}},(()=>{let r=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[k()],s=[k()],N=[k()],Z=[k()],H=[k()],ee=[k()],ie=[k()],_(null,null,t,{kind:"field",name:"nzShowInfo",static:!1,private:!1,access:{has:e=>"nzShowInfo"in e,get:e=>e.nzShowInfo,set:(e,o)=>{e.nzShowInfo=o}},metadata:r},i,n),_(null,null,s,{kind:"field",name:"nzStrokeColor",static:!1,private:!1,access:{has:e=>"nzStrokeColor"in e,get:e=>e.nzStrokeColor,set:(e,o)=>{e.nzStrokeColor=o}},metadata:r},u,T),_(null,null,N,{kind:"field",name:"nzSize",static:!1,private:!1,access:{has:e=>"nzSize"in e,get:e=>e.nzSize,set:(e,o)=>{e.nzSize=o}},metadata:r},b,$),_(null,null,Z,{kind:"field",name:"nzStrokeWidth",static:!1,private:!1,access:{has:e=>"nzStrokeWidth"in e,get:e=>e.nzStrokeWidth,set:(e,o)=>{e.nzStrokeWidth=o}},metadata:r},K,q),_(null,null,H,{kind:"field",name:"nzGapDegree",static:!1,private:!1,access:{has:e=>"nzGapDegree"in e,get:e=>e.nzGapDegree,set:(e,o)=>{e.nzGapDegree=o}},metadata:r},J,Q),_(null,null,ee,{kind:"field",name:"nzGapPosition",static:!1,private:!1,access:{has:e=>"nzGapPosition"in e,get:e=>e.nzGapPosition,set:(e,o)=>{e.nzGapPosition=o}},metadata:r},te,ne),_(null,null,ie,{kind:"field",name:"nzStrokeLinecap",static:!1,private:!1,access:{has:e=>"nzStrokeLinecap"in e,get:e=>e.nzStrokeLinecap,set:(e,o)=>{e.nzStrokeLinecap=o}},metadata:r},oe,re),r&&Object.defineProperty(d,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:r})})(),B(d,"\u0275fac",function(e){return new(e||d)}),B(d,"\u0275cmp",pe({type:d,selectors:[["nz-progress"]],inputs:{nzShowInfo:"nzShowInfo",nzWidth:"nzWidth",nzStrokeColor:"nzStrokeColor",nzSize:"nzSize",nzFormat:"nzFormat",nzSuccessPercent:[2,"nzSuccessPercent","nzSuccessPercent",A],nzPercent:[2,"nzPercent","nzPercent",X],nzStrokeWidth:[2,"nzStrokeWidth","nzStrokeWidth",A],nzGapDegree:[2,"nzGapDegree","nzGapDegree",A],nzStatus:"nzStatus",nzType:"nzType",nzGapPosition:"nzGapPosition",nzStrokeLinecap:"nzStrokeLinecap",nzSteps:[2,"nzSteps","nzSteps",X]},exportAs:["nzProgress"],features:[ce],decls:5,vars:18,consts:[["progressInfoTemplate",""],[1,"ant-progress-inner",3,"width","height","fontSize","ant-progress-circle-gradient"],[1,"ant-progress-text"],[3,"nzType"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[1,"ant-progress-steps-outer"],[1,"ant-progress-steps-item",3,"style"],[3,"ngTemplateOutlet"],[1,"ant-progress-steps-item"],[1,"ant-progress-outer"],[1,"ant-progress-inner"],[1,"ant-progress-bg"],[1,"ant-progress-success-bg",3,"width","border-radius","height"],[1,"ant-progress-success-bg"],["viewBox","0 0 100 100",1,"ant-progress-circle"],["stroke","#f3f3f3","fill-opacity","0",1,"ant-progress-circle-trail"],["fill-opacity","0",1,"ant-progress-circle-path",3,"style"],["x1","100%","y1","0%","x2","0%","y2","0%",3,"id"],["fill-opacity","0",1,"ant-progress-circle-path"]],template:function(e,o){e&1&&(G(0,Me,1,1,"ng-template",null,0,ge),m(2,"div"),g(3,Re,3,1,"div"),g(4,Ye,7,14,"div",1),f()),e&2&&(a(2),me("ant-progress ant-progress-status-"+o.status),U("ant-progress-line",o.nzType==="line")("ant-progress-small",o.nzSize==="small")("ant-progress-default",o.nzSize==="default")("ant-progress-show-info",o.nzShowInfo)("ant-progress-circle",o.isCircleStyle)("ant-progress-steps",o.isSteps)("ant-progress-rtl",o.dir==="rtl"),a(),S(o.nzType==="line"?3:-1),a(),S(o.isCircleStyle?4:-1))},dependencies:[ve,ye,Te,Ge,Ce],encapsulation:2,changeDetection:0})),d})(),St=(()=>{class t{static \u0275fac=function(s){return new(s||t)};static \u0275mod=de({type:t});static \u0275inj=ae({imports:[tt]})}return t})();export{tt as a,St as b};