@highstate/designer 0.30.3 → 0.31.1

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 (117) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{BWDN-9Hx.js → 01ZR8FKx.js} +1 -1
  3. package/.output/public/_nuxt/{Cofyfw8g.js → 0MzBjiBY.js} +1 -1
  4. package/.output/public/_nuxt/{VQuDbHHR.js → 4vGmo7Ws.js} +1 -1
  5. package/.output/public/_nuxt/8VAFkPEE.js +269 -0
  6. package/.output/public/_nuxt/{Lo988ya0.js → AKCe9LNp.js} +1 -1
  7. package/.output/public/_nuxt/{DhjMLkwg.js → B9ZfIHZw.js} +1 -1
  8. package/.output/public/_nuxt/{CJVpO6nQ.js → BCJUQ-QU.js} +1 -1
  9. package/.output/public/_nuxt/{C7lm33JZ.js → BDLjTA3_.js} +1 -1
  10. package/.output/public/_nuxt/{DysjCpM9.js → BHpMD-mY.js} +1 -1
  11. package/.output/public/_nuxt/BKWHojhU.js +1 -0
  12. package/.output/public/_nuxt/{DsxZEVxb.js → BLfHOckY.js} +7 -7
  13. package/.output/public/_nuxt/{2jnOiqNC.js → BNEHDwNV.js} +1 -1
  14. package/.output/public/_nuxt/BOtPOJrV.js +1 -0
  15. package/.output/public/_nuxt/{k0GHL-8U.js → BQvzkDFt.js} +1 -1
  16. package/.output/public/_nuxt/{DmGf47KM.js → BVxJafKI.js} +1 -1
  17. package/.output/public/_nuxt/BeV7FtCY.js +1 -0
  18. package/.output/public/_nuxt/BhtYnCk1.js +1 -0
  19. package/.output/public/_nuxt/{5-u3YHQd.js → BipPPoWE.js} +1 -1
  20. package/.output/public/_nuxt/{CW9RwN2l.js → Bkhf7GZT.js} +1 -1
  21. package/.output/public/_nuxt/{D3MpZ_Sw.js → BnH0SUiF.js} +1 -1
  22. package/.output/public/_nuxt/{BwBpcI2q.js → BrgLtl1N.js} +1 -1
  23. package/.output/public/_nuxt/BscvYf-N.js +2 -0
  24. package/.output/public/_nuxt/BsfH1i0r.js +1 -0
  25. package/.output/public/_nuxt/{DcDfdgW1.js → BuVA3kO7.js} +1 -1
  26. package/.output/public/_nuxt/BulzREL4.js +1 -0
  27. package/.output/public/_nuxt/{Bc-UhGEo.js → BvF6CC6t.js} +1 -1
  28. package/.output/public/_nuxt/{aPAh1oAW.js → BvcB3_Ox.js} +1 -1
  29. package/.output/public/_nuxt/{SCrI01L1.js → Bw8W7XlP.js} +1 -1
  30. package/.output/public/_nuxt/{D6EnKPw6.js → ByVvJoFt.js} +1 -1
  31. package/.output/public/_nuxt/{DZH0GUvg.js → BzHexD0k.js} +1 -1
  32. package/.output/public/_nuxt/{A3pA-dEU.js → BzfFclT9.js} +1 -1
  33. package/.output/public/_nuxt/{D-LsJ2ZE.js → C3Nw-pxO.js} +1 -1
  34. package/.output/public/_nuxt/C3dDboVU.js +1 -0
  35. package/.output/public/_nuxt/{CbVegJaT.js → C50Jf3QI.js} +1 -1
  36. package/.output/public/_nuxt/{DXfLpys7.js → C9U9g4dI.js} +1 -1
  37. package/.output/public/_nuxt/{CNrxBMAX.js → C9khB4Xk.js} +1 -1
  38. package/.output/public/_nuxt/{Cq4nuP-7.js → CAqURRGH.js} +1 -1
  39. package/.output/public/_nuxt/{CZyQa1Zc.js → CBtqoa0c.js} +1 -1
  40. package/.output/public/_nuxt/{Dr_haoD_.js → CFMSQg2L.js} +1 -1
  41. package/.output/public/_nuxt/{DKbLex6i.js → CHVFVVjA.js} +1 -1
  42. package/.output/public/_nuxt/{hvsd0Qgg.js → CJnh15-L.js} +1 -1
  43. package/.output/public/_nuxt/{DsRcdFOB.js → CQ57LN-w.js} +1 -1
  44. package/.output/public/_nuxt/CTCvE27h.js +1 -0
  45. package/.output/public/_nuxt/{CAGxZJ_q.js → CVCvRHBP.js} +1 -1
  46. package/.output/public/_nuxt/{B3xH1Y0W.js → Cc4wgJ1h.js} +1 -1
  47. package/.output/public/_nuxt/{DwfxqiyB.js → CcDGEY8Q.js} +1 -1
  48. package/.output/public/_nuxt/{DgMGRJzb.js → CcgfvGG3.js} +1 -1
  49. package/.output/public/_nuxt/Cjc0AvC7.js +14 -0
  50. package/.output/public/_nuxt/{BxFuzIIZ.js → Cn0h663F.js} +1 -1
  51. package/.output/public/_nuxt/{DmVwOSq5.js → CqCN84b-.js} +1 -1
  52. package/.output/public/_nuxt/{DyhJj7Ha.js → CrAApG3c.js} +1 -1
  53. package/.output/public/_nuxt/{Doxnvpyq.js → Cy6PxgoV.js} +1 -1
  54. package/.output/public/_nuxt/{EKqCuazP.js → D2UhOMoe.js} +1 -1
  55. package/.output/public/_nuxt/{Dpa6A3ZD.js → D3W9Jfu7.js} +1 -1
  56. package/.output/public/_nuxt/{zQpq8Nlt.js → D4O2OVDh.js} +1 -1
  57. package/.output/public/_nuxt/{DGnuSaKc.js → D6CGQiZp.js} +1 -1
  58. package/.output/public/_nuxt/{JoXnlJ5o.js → D84zi-ec.js} +1 -1
  59. package/.output/public/_nuxt/D8M0limG.js +1 -0
  60. package/.output/public/_nuxt/{CPTDoFCr.js → DDJReq2V.js} +1 -1
  61. package/.output/public/_nuxt/{DZXawbDK.js → DEI-Qge8.js} +1 -1
  62. package/.output/public/_nuxt/{CriYd4Xu.js → DKWb1hup.js} +1 -1
  63. package/.output/public/_nuxt/{CC9Mjlxx.js → DQ-NJtj8.js} +1 -1
  64. package/.output/public/_nuxt/{D7ydzmTA.js → DRhnxQ4y.js} +1 -1
  65. package/.output/public/_nuxt/{_c6GHTN4.js → DTSgpdAF.js} +1 -1
  66. package/.output/public/_nuxt/{LC_ejPos.js → DTT1Xzbm.js} +1 -1
  67. package/.output/public/_nuxt/{DEdaEI2J.js → DXmPWjsX.js} +1 -1
  68. package/.output/public/_nuxt/{O5iT7Vr2.js → DYnMeE8e.js} +1 -1
  69. package/.output/public/_nuxt/{BKZ346WY.js → DfDsDJD2.js} +1 -1
  70. package/.output/public/_nuxt/{u9IB9fko.js → DjTKfsHU.js} +1 -1
  71. package/.output/public/_nuxt/{C7Ij7g1p.js → DlfNK0cA.js} +1 -1
  72. package/.output/public/_nuxt/{DH_B79BE.js → DpUEzsMu.js} +1 -1
  73. package/.output/public/_nuxt/{Eovi5v4f.js → DrfPDWCl.js} +2 -2
  74. package/.output/public/_nuxt/{Bsca_muP.js → Dtu55PAv.js} +2 -2
  75. package/.output/public/_nuxt/DvLL-V6a.js +1 -0
  76. package/.output/public/_nuxt/{B2Q2xBzH.js → Dz1kPrb2.js} +1 -1
  77. package/.output/public/_nuxt/DzP42O4c.js +1 -0
  78. package/.output/public/_nuxt/DzlC1Z8c.js +1 -0
  79. package/.output/public/_nuxt/{CSWVWBW7.js → GdhEIX5n.js} +1 -1
  80. package/.output/public/_nuxt/{BYaYzU2p.js → H3fZkrEW.js} +1 -1
  81. package/.output/public/_nuxt/SVmeI-Hd.js +1 -0
  82. package/.output/public/_nuxt/{BzOk-KTc.js → UY6IumFv.js} +1 -1
  83. package/.output/public/_nuxt/{CVfWNyhe.js → Ztua2i2Y.js} +1 -1
  84. package/.output/public/_nuxt/builds/latest.json +1 -1
  85. package/.output/public/_nuxt/builds/meta/2ff2f563-aaec-4b33-8dfa-863323cf8d21.json +1 -0
  86. package/.output/public/_nuxt/{DkZkynzL.js → iHlZS5Nr.js} +1 -1
  87. package/.output/public/_nuxt/{BSawHEJh.js → iX982afC.js} +1 -1
  88. package/.output/public/_nuxt/{D1nRrnR_.js → kwdF6vE0.js} +1 -1
  89. package/.output/public/_nuxt/{DS4ev0Th.js → mUQQEHsz.js} +1 -1
  90. package/.output/public/_nuxt/{Deh8i6lm.js → oLJXBT2A.js} +1 -1
  91. package/.output/public/_nuxt/{B8N1sP4y.js → rErpME9V.js} +1 -1
  92. package/.output/public/_nuxt/ue1Ve9YE.js +1 -0
  93. package/.output/public/_nuxt/{y7qbSnME.js → xdzoAViU.js} +1 -1
  94. package/.output/public/_nuxt/{BExqDRwH.js → zcI5daFe.js} +1 -1
  95. package/.output/public/_nuxt/{DqaT_RDK.js → zzNAWI73.js} +1 -1
  96. package/.output/server/index.mjs +1189 -1190
  97. package/.output/server/package.json +1 -1
  98. package/package.json +5 -5
  99. package/.output/public/_nuxt/352AptFn.js +0 -1
  100. package/.output/public/_nuxt/3RbcgHkU.js +0 -14
  101. package/.output/public/_nuxt/BuIQ2wGk.js +0 -1
  102. package/.output/public/_nuxt/C-mYaH7u.js +0 -1
  103. package/.output/public/_nuxt/C2i4Pe8_.js +0 -1
  104. package/.output/public/_nuxt/C4hwWhkw.js +0 -269
  105. package/.output/public/_nuxt/CFc9rdAS.js +0 -2
  106. package/.output/public/_nuxt/CYKlIh8L.js +0 -1
  107. package/.output/public/_nuxt/Ct3ssWsd.js +0 -1
  108. package/.output/public/_nuxt/DJwAKlaO.js +0 -1
  109. package/.output/public/_nuxt/DOo85agn.js +0 -1
  110. package/.output/public/_nuxt/DT8lV676.js +0 -1
  111. package/.output/public/_nuxt/DXVNaud5.js +0 -1
  112. package/.output/public/_nuxt/Desw6Usx.js +0 -1
  113. package/.output/public/_nuxt/builds/meta/74426c6d-f911-4b17-980a-4fe479415ac8.json +0 -1
  114. package/.output/public/_nuxt/builds/meta/8b3b1d78-540f-4b23-a5a0-4fbad1ad9477.json +0 -1
  115. package/.output/public/_nuxt/dYgxrjeZ.js +0 -1
  116. package/.output/public/_nuxt/mxKUVBjZ.js +0 -1
  117. package/.output/public/_nuxt/p1qmzON1.js +0 -1
@@ -0,0 +1,14 @@
1
+ import{aW as Ct,aT as Pi,q as ln,aX as Ft,aY as Hi,aZ as Tn,a_ as Rt,_ as se,a$ as Rn,b0 as yt,aR as Kt,b1 as zn,b2 as Bn,b3 as Fi,b4 as ji,b5 as dt,b6 as Le,b7 as Li,b8 as Di,b9 as Ui,ba as Xi,aH as Yi,bb as Pn,bc as qi,bd as Be,l as qe,be as zt,bf as Wi,bg as Gi,bh as Ki,P as Hn,bi as Ji,bj as Fn,aI as Zi,bk as Qi,a1 as jn,bl as _i,aU as eo,aQ as to,aL as Ln}from"#entry";import{E as K,b9 as no,V as m,J as O,aa as X,ab as re,a1 as z,a6 as he,a2 as L,a0 as Z,j as S,Y as C,ai as Jt,D as f,_ as w,W as x,Z as ae,$ as G,a5 as Q,a7 as Ae,t as We,F as Dn,a8 as io,af as Un,l as oo,r as ie,i as ao,av as Ve,ag as Ee,a4 as ro,G as so,w as Ge,ba as lo,aw as Ne,b2 as Xn,aG as tt,ak as Yn,bb as uo,bc as co,aN as qn,aY as fo,aO as Me,d as Wn,ah as Gn,as as ke,aj as Vt,aH as ho,a as Te,aS as Kn,aJ as Et,aK as Ke,at as ee,n as pt,ap as mo,b4 as Jn,am as vo,ao as pe,al as go,au as Zn,a_ as Zt,H as yo,p as un,b8 as po,aI as wo,b5 as bo,b7 as ko,bd as xo,b6 as Io,u as Qn,be as So,bf as $o,a$ as cn,bg as Ie,bh as Co}from"./-NXdyIEV.js";import{t as dn,a as Vo,_ as Eo}from"./C50Jf3QI.js";import{C as At}from"./BzfFclT9.js";import{s as Ao,V as fn}from"./D4_5UqG-.js";import{I as _n}from"./BqAcL3eq.js";import{_ as Mo}from"./4vGmo7Ws.js";import{_ as ei}from"./BbYXjaP8.js";import{r as No,g as Oo}from"./BxAss8Tj.js";function To(e,t){let n=t.length-e.length;if(n===1){let[i,...o]=t;return dn(i,{lazy:e,lazyArgs:o})}if(n===0){let i={lazy:e,lazyArgs:t};return Object.assign(o=>dn(o,i),i)}throw Error("Wrong number of arguments")}function ot(...e){return To(Ro,e)}function Ro(){let e=new Set;return t=>e.has(t)?Vo:(e.add(t),{done:!1,hasNext:!0,next:t})}function zo(e,t,n){const i=Array.from({length:n},()=>[]),o=t,a=-(o*(n-1))/2,s=Array.from({length:n},(l,c)=>a+c*o),u=[];for(let l=0;l<e.length-1;l++){const c=e[l],v=e[l+1],h=v[0]-c[0],b=v[1]-c[1],V=Math.sqrt(h*h+b*b);let P=-b,A=h;V!==0&&(P/=V,A/=V),u.push({x:P,y:A})}function d(l,c,v,h){const b=l[0],V=l[1],P=c[0],A=c[1],M=v[0],$=v[1],E=h[0],j=h[1],B=(b-P)*($-j)-(V-A)*(M-E);if(B===0)return null;const U=((b-M)*($-j)-(V-$)*(M-E))/B;return[b+U*(P-b),V+U*(A-V)]}for(let l=0;l<n;l++)for(let c=0;c<e.length;c++){const v=e[c];let h=0,b=0;if(c===0)h=u[0].x*s[l],b=u[0].y*s[l];else if(c===e.length-1)h=u[u.length-1].x*s[l],b=u[u.length-1].y*s[l];else{const V=u[c-1],P=u[c],A=e[c-1],M=e[c+1],$=[A[0]+V.x*s[l],A[1]+V.y*s[l]],E=[v[0]+V.x*s[l],v[1]+V.y*s[l]],j=[v[0]+P.x*s[l],v[1]+P.y*s[l]],B=[M[0]+P.x*s[l],M[1]+P.y*s[l]],U=d($,E,j,B);U?(h=U[0]-v[0],b=U[1]-v[1]):(h=(V.x+P.x)/2*s[l],b=(V.y+P.y)/2*s[l])}i[l].push(`${v[0]+h},${v[1]+b}`)}return i}const Bo=["points","stroke"],Po=["points"],Ho={key:0},Fo=["x","y","width"],jo=["x","y"],at=3,Lo=K({__name:"CustomEdge",props:{id:{},sourceNode:{},targetNode:{},source:{},target:{},type:{},label:{type:[String,Object,Function]},style:{},selected:{type:Boolean},sourcePosition:{},targetPosition:{},sourceHandleId:{},targetHandleId:{},animated:{type:Boolean},updatable:{type:Boolean},markerStart:{},markerEnd:{},curvature:{},interactionWidth:{},data:{},events:{},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{},sourceX:{},sourceY:{},targetX:{},targetY:{},inputResolverOutputs:{},components:{},entities:{}},setup(e){no(y=>({v7fad7fb8:at}));const t=Ct(),{inputInstance:n,outputInstance:i,inputHub:o,outputHub:r,outputKey:a,inputKey:s,inputNodeType:u}=Pi(t,{source:e.source,target:e.target,sourceHandle:e.sourceHandleId,targetHandle:e.targetHandleId}),d=y=>{if(!y)return;const p=e.inputResolverOutputs.get(`instance:${y.id}`);return p?.kind==="instance"?p.component:e.components[y.type]},l=S(()=>{if(u==="outputs"){const y=d(n);if(!y)return{all:[]};const p=y.outputs[s];return{all:p?[p.type]:[]}}if(i&&n){const y=Ft(e.inputResolverOutputs,n.id),p=ot((y[s]??[]).map(Y=>Y.type)),N=d(n);if(!N)return{all:[],visible:p};const D=N.inputs[s];return p.length>0?{all:p,visible:p}:{all:D?[D.type]:[],visible:p}}if(r&&n&&s)return{all:(Ft(e.inputResolverOutputs,n.id)[s]??[]).map(p=>p.type)};if(r&&n)return{all:Tn(e.inputResolverOutputs,n.id).map(y=>y.type),visible:Hi(e.inputResolverOutputs,n.id).map(y=>y.type)};if(i&&o){const y=Rt(e.inputResolverOutputs,o.id).filter(D=>D.input.instanceId===i.id&&D.input.output===a).map(D=>D.type);if(y.length>0)return{all:ot(y)};const p=d(i);if(!p)return{all:[]};const N=p.outputs[a];return{all:N?[N.type]:[]}}if(r&&o)return{all:Rt(e.inputResolverOutputs,r.id).flat().map(y=>y.type)};throw ln.error({msg:"unexpected connection in CustomEdge",inputInstance:n,outputInstance:i,inputHub:o,outputHub:r,outputKey:a,inputKey:s}),new Error("Invalid connection")}),c=S(()=>ot(l.value.all).map(y=>e.entities[y])),v=S(()=>{if(!r)return[];const y=Rt(e.inputResolverOutputs,r.id).map(p=>p.type);return ot(y).sort()}),h=S(()=>!!r&&e.data.hubReservedGhostLane),b=S(()=>!!r&&e.data.isPendingHubTyped),V=S(()=>!!r&&!!n&&!!s),P=S(()=>{if(!V.value)return;const y=d(n);if(y)return y.inputs[s]?.type}),A=S(()=>{if(!r||!V.value)return!1;const y=P.value;return y?!v.value.includes(y):!1}),M=S(()=>b.value||A.value),$=S(()=>r?M.value?!0:h.value:!1);e.data.isOutputProjection&&ln.debug({source:e.source,target:e.target,sourceHandleId:e.sourceHandleId,targetHandleId:e.targetHandleId,isOutputProjection:e.data.isOutputProjection,isOutputProjectionUnresolved:e.data.isOutputProjectionUnresolved},"rendering projection edge in CustomEdge");const E=S(()=>$.value&&v.value.length>0),j=S(()=>l.value.visible?l.value.visible.length===0:r?l.value.all.length===0:!1),B=S(()=>!!r&&!!n&&!!s),U=S(()=>{if(!r)return j.value?1:c.value.length;if(B.value)return 1;const p=v.value.length+(E.value?1:0);return Math.max(1,p)}),W=y=>r?v.value.length===0?!0:E.value&&y===U.value-1:j.value,H=()=>B.value?e.components[n.type].inputs[s]?.type:void 0,F=S(()=>{if(!B.value)return!1;const y=H();return y?!v.value.includes(y):!1}),ce=y=>{if(e.data.isOutputProjection&&e.data.isOutputProjectionUnresolved)return"#9E9E9E";if(B.value){if(F.value)return"#9E9E9E";const p=H();return(p?e.entities[p]:void 0)?.meta.color??"#607D8B"}if(W(y))return"#9E9E9E";if(r){const p=v.value[y];return e.entities[p]?.meta.color??"#607D8B"}return c.value[y%c.value.length].meta.color??"#607D8B"},te=y=>r?B.value?y===0:j.value?W(y):l.value.visible?W(y)?!1:l.value.visible.includes(v.value[y]):!W(y):j.value?!0:l.value.visible?l.value.visible.includes(c.value[y].type):!0,oe=(y,p)=>y[0]===p[0]&&y[1]===p[1],g=S(()=>{if(!e.data.points)return[];const y=[e.sourceX,e.data.routedSourceY??e.sourceY],p=[e.targetX,e.data.routedTargetY??e.targetY],N=[...e.data.points];return(!N[0]||!oe(N[0],y))&&N.unshift(y),(!N[N.length-1]||!oe(N[N.length-1],p))&&N.push(p),zo(N,at,U.value)}),T=y=>{const N=1/U.value;return`-${y*N}s`},k=S(()=>e.data.path),R=S(()=>{if(!e.data.points)return{x:(e.sourceX+e.targetX)/2,y:(e.sourceY+e.targetY)/2};const y=[[e.sourceX,e.data.routedSourceY??e.sourceY],...e.data.points,[e.targetX,e.data.routedTargetY??e.targetY]];let p=0;for(let Y=1;Y<y.length;Y++){const q=y[Y-1],J=y[Y];p+=Math.hypot(J[0]-q[0],J[1]-q[1])}if(p===0)return{x:(e.sourceX+e.targetX)/2,y:(e.sourceY+e.targetY)/2};let N=0;const D=p/2;for(let Y=1;Y<y.length;Y++){const q=y[Y-1],J=y[Y],_=Math.hypot(J[0]-q[0],J[1]-q[1]);if(N+_>=D){const ne=(D-N)/_;return{x:q[0]+(J[0]-q[0])*ne,y:q[1]+(J[1]-q[1])*ne}}N+=_}return{x:(e.sourceX+e.targetX)/2,y:(e.sourceY+e.targetY)/2}}),I=S(()=>Math.min((k.value?.length??0)*7+18,220));return(y,p)=>(m(),O(X,null,[(m(!0),O(X,null,re(g.value,(N,D)=>(m(),O(X,{key:`static-${D}`},[te(D)?(m(),O("polyline",{key:0,points:N.join(" "),stroke:ce(D),fill:"none","stroke-width":at,style:{opacity:"0.8"}},null,8,Bo)):z("",!0)],64))),128)),(m(!0),O(X,null,re(g.value,(N,D)=>(m(),O(X,{key:`highlight-${D}`},[te(D)?(m(),O("polyline",{key:0,points:N.join(" "),stroke:"white",fill:"none","stroke-width":at,class:"highlight-polyline animated-highlight",style:he({animationDelay:T(D)})},null,12,Po)):z("",!0)],64))),128)),k.value?(m(),O("g",Ho,[L("rect",{x:R.value.x-I.value/2,y:R.value.y-12,width:I.value,height:"24",rx:"6",class:"expression-label-background"},null,8,Fo),L("text",{x:R.value.x,y:R.value.y+4,"text-anchor":"middle",class:"expression-label-text"},Z(k.value),9,jo)])):z("",!0)],64))}}),Do=se(Lo,[["__scopeId","data-v-08910730"]]);function Uo(e,t){const n={borderRadius:"4px",overflow:"visible"};switch(t){case"blueprint-valid":return{...n,opacity:"0.7",outline:"2px solid #4CAF50",backgroundColor:"rgba(76, 175, 80, 0.1)",boxShadow:"0 0 10px rgba(76, 175, 80, 0.3)"};case"blueprint-invalid":return{...n,opacity:"0.7",outline:"2px solid #F44336",backgroundColor:"rgba(244, 67, 54, 0.1)",boxShadow:"0 0 10px rgba(244, 67, 54, 0.3)"}}return e?{...n,outline:"2px solid #2196F3",boxShadow:"0 0 8px rgba(33, 150, 243, 0.4)"}:n}const Xo=K({__name:"HubCard",props:{selected:{type:Boolean},blueprintStatus:{}},setup(e){return(t,n)=>(m(),C(Jt,{variant:"flat",style:he(f(Uo)(e.selected,e.blueprintStatus)),color:"#2d2d2d"},{default:w(()=>[x(ae,{class:"ma-2",size:74},{default:w(()=>[...n[0]||(n[0]=[G("mdi-router",-1)])]),_:1}),Q(t.$slots,"default")]),_:3},8,["style"]))}}),Yo=K({__name:"HubNodeHandle",props:{side:{},handleColor:{},isValidConnection:{type:Function}},setup(e){return(t,n)=>(m(),O(X,null,[x(f(Rn),{id:"",type:e.side==="left"?"target":"source",position:e.side==="left"?f(yt).Left:f(yt).Right,class:Ae(["handle",[e.side==="left"?"left-handle":"right-handle"]]),"is-valid-connection":e.isValidConnection},null,8,["type","position","class","is-valid-connection"]),L("div",{class:Ae(["handle-dot",[e.side==="left"?"handle-dot-left":"handle-dot-right"]]),style:he({backgroundColor:e.handleColor})},null,6)],64))}}),hn=se(Yo,[["__scopeId","data-v-1aff1180"]]),qo={class:"handles"},Wo=K({__name:"HubNode",props:{hub:{},isValidConnection:{type:Function}},emits:["contextmenu"],setup(e,{emit:t}){const n=t,{vueFlowStore:i,selection:o}=Kt(),r=zn(),a=S(()=>Bn(r.node,i));return(s,u)=>(m(),C(Xo,{class:"hub-card",selected:f(o).isNodeSelected(f(r).node),"blueprint-status":f(a),onContextmenu:u[0]||(u[0]=d=>n("contextmenu",d))},{default:w(()=>[Q(s.$slots,"default",{},void 0,!0),L("div",qo,[x(hn,{"handle-color":"#3F51B5",side:"left","is-valid-connection":e.isValidConnection},null,8,["is-valid-connection"]),x(hn,{"handle-color":"#3F51B5",side:"right","is-valid-connection":e.isValidConnection},null,8,["is-valid-connection"])])]),_:3},8,["selected","blueprint-status"]))}}),rc=se(Wo,[["__scopeId","data-v-79b30d7c"]]),Go=K({__name:"SelectionRectangle",props:{selectionMode:{default:"add"},selectionArea:{}},setup(e){const t=S(()=>{if(!e.selectionArea)return;const n={left:e.selectionArea.x+"px",top:e.selectionArea.y+"px",width:e.selectionArea.width+"px",height:e.selectionArea.height+"px"};return e.selectionMode==="add"?{...n,border:"2px dashed #2196F3",background:"rgba(33, 150, 243, 0.1)"}:{...n,border:"2px dashed #F44336",background:"rgba(244, 67, 54, 0.1)"}});return(n,i)=>f(t)?(m(),O("div",{key:0,class:"selection-rectangle",style:he(f(t))},null,4)):z("",!0)}}),Ko=se(Go,[["__scopeId","data-v-6118cbbb"]]);var we=(e=>(e.Lines="lines",e.Dots="dots",e))(we||{});const ti=function({dimensions:e,size:t,color:n}){return Dn("path",{stroke:n,"stroke-width":t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},ni=function({radius:e,color:t}){return Dn("circle",{cx:e,cy:e,r:e,fill:t})};we.Lines+"",we.Dots+"";const Jo={[we.Dots]:"#81818a",[we.Lines]:"#eee"},Zo=["id","x","y","width","height","patternTransform"],Qo={key:2,height:"100",width:"100"},_o=["fill"],ea=["x","y","fill"],ta={name:"Background",compatConfig:{MODE:3}},na=K({...ta,props:{id:{},variant:{default:()=>we.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:t,viewport:n}=Ct(),i=S(()=>{const a=n.value.zoom,[s,u]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],d=[s*a||1,u*a||1],l=e.size*a,[c,v]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],h=[c*a||1+d[0]/2,v*a||1+d[1]/2];return{scaledGap:d,offset:h,size:l}}),o=We(()=>`pattern-${t}${e.id?`-${e.id}`:""}`),r=We(()=>e.color||e.patternColor||Jo[e.variant||we.Dots]);return(a,s)=>(m(),O("svg",{class:"vue-flow__background vue-flow__container",style:he({height:`${a.height>100?100:a.height}%`,width:`${a.width>100?100:a.width}%`})},[Q(a.$slots,"pattern-container",{id:o.value},()=>[L("pattern",{id:o.value,x:f(n).x%i.value.scaledGap[0],y:f(n).y%i.value.scaledGap[1],width:i.value.scaledGap[0],height:i.value.scaledGap[1],patternTransform:`translate(-${i.value.offset[0]},-${i.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[Q(a.$slots,"pattern",{},()=>[a.variant===f(we).Lines?(m(),C(f(ti),{key:0,size:a.lineWidth,color:r.value,dimensions:i.value.scaledGap},null,8,["size","color","dimensions"])):a.variant===f(we).Dots?(m(),C(f(ni),{key:1,color:r.value,radius:i.value.size/2},null,8,["color","radius"])):z("",!0),a.bgColor?(m(),O("svg",Qo,[L("rect",{width:"100%",height:"100%",fill:a.bgColor},null,8,_o)])):z("",!0)])],8,Zo)]),L("rect",{x:a.x,y:a.y,width:"100%",height:"100%",fill:`url(#${o.value})`},null,8,ea),Q(a.$slots,"default",{id:o.value})],4))}});var ia={value:()=>{}};function Qt(){for(var e=0,t=arguments.length,n={},i;e<t;++e){if(!(i=arguments[e]+"")||i in n||/[\s.]/.test(i))throw new Error("illegal type: "+i);n[i]=[]}return new ft(n)}function ft(e){this._=e}function oa(e,t){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");if(o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}ft.prototype=Qt.prototype={constructor:ft,on:function(e,t){var n=this._,i=oa(e+"",n),o,r=-1,a=i.length;if(arguments.length<2){for(;++r<a;)if((o=(e=i[r]).type)&&(o=aa(n[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++r<a;)if(o=(e=i[r]).type)n[o]=mn(n[o],e.name,t);else if(t==null)for(o in n)n[o]=mn(n[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new ft(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var n=new Array(o),i=0,o,r;i<o;++i)n[i]=arguments[i+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var i=this._[e],o=0,r=i.length;o<r;++o)i[o].value.apply(t,n)}};function aa(e,t){for(var n=0,i=e.length,o;n<i;++n)if((o=e[n]).name===t)return o.value}function mn(e,t,n){for(var i=0,o=e.length;i<o;++i)if(e[i].name===t){e[i]=ia,e=e.slice(0,i).concat(e.slice(i+1));break}return n!=null&&e.push({name:t,value:n}),e}var jt="http://www.w3.org/1999/xhtml";const vn={svg:"http://www.w3.org/2000/svg",xhtml:jt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Mt(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),vn.hasOwnProperty(t)?{space:vn[t],local:e}:e}function ra(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===jt&&t.documentElement.namespaceURI===jt?t.createElement(e):t.createElementNS(n,e)}}function sa(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ii(e){var t=Mt(e);return(t.local?sa:ra)(t)}function la(){}function _t(e){return e==null?la:function(){return this.querySelector(e)}}function ua(e){typeof e!="function"&&(e=_t(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r=t[o],a=r.length,s=i[o]=new Array(a),u,d,l=0;l<a;++l)(u=r[l])&&(d=e.call(u,u.__data__,l,r))&&("__data__"in u&&(d.__data__=u.__data__),s[l]=d);return new ue(i,this._parents)}function ca(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function da(){return[]}function oi(e){return e==null?da:function(){return this.querySelectorAll(e)}}function fa(e){return function(){return ca(e.apply(this,arguments))}}function ha(e){typeof e=="function"?e=fa(e):e=oi(e);for(var t=this._groups,n=t.length,i=[],o=[],r=0;r<n;++r)for(var a=t[r],s=a.length,u,d=0;d<s;++d)(u=a[d])&&(i.push(e.call(u,u.__data__,d,a)),o.push(u));return new ue(i,o)}function ai(e){return function(){return this.matches(e)}}function ri(e){return function(t){return t.matches(e)}}var ma=Array.prototype.find;function va(e){return function(){return ma.call(this.children,e)}}function ga(){return this.firstElementChild}function ya(e){return this.select(e==null?ga:va(typeof e=="function"?e:ri(e)))}var pa=Array.prototype.filter;function wa(){return Array.from(this.children)}function ba(e){return function(){return pa.call(this.children,e)}}function ka(e){return this.selectAll(e==null?wa:ba(typeof e=="function"?e:ri(e)))}function xa(e){typeof e!="function"&&(e=ai(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r=t[o],a=r.length,s=i[o]=[],u,d=0;d<a;++d)(u=r[d])&&e.call(u,u.__data__,d,r)&&s.push(u);return new ue(i,this._parents)}function si(e){return new Array(e.length)}function Ia(){return new ue(this._enter||this._groups.map(si),this._parents)}function wt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}wt.prototype={constructor:wt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Sa(e){return function(){return e}}function $a(e,t,n,i,o,r){for(var a=0,s,u=t.length,d=r.length;a<d;++a)(s=t[a])?(s.__data__=r[a],i[a]=s):n[a]=new wt(e,r[a]);for(;a<u;++a)(s=t[a])&&(o[a]=s)}function Ca(e,t,n,i,o,r,a){var s,u,d=new Map,l=t.length,c=r.length,v=new Array(l),h;for(s=0;s<l;++s)(u=t[s])&&(v[s]=h=a.call(u,u.__data__,s,t)+"",d.has(h)?o[s]=u:d.set(h,u));for(s=0;s<c;++s)h=a.call(e,r[s],s,r)+"",(u=d.get(h))?(i[s]=u,u.__data__=r[s],d.delete(h)):n[s]=new wt(e,r[s]);for(s=0;s<l;++s)(u=t[s])&&d.get(v[s])===u&&(o[s]=u)}function Va(e){return e.__data__}function Ea(e,t){if(!arguments.length)return Array.from(this,Va);var n=t?Ca:$a,i=this._parents,o=this._groups;typeof e!="function"&&(e=Sa(e));for(var r=o.length,a=new Array(r),s=new Array(r),u=new Array(r),d=0;d<r;++d){var l=i[d],c=o[d],v=c.length,h=Aa(e.call(l,l&&l.__data__,d,i)),b=h.length,V=s[d]=new Array(b),P=a[d]=new Array(b),A=u[d]=new Array(v);n(l,c,V,P,A,h,t);for(var M=0,$=0,E,j;M<b;++M)if(E=V[M]){for(M>=$&&($=M+1);!(j=P[$])&&++$<b;);E._next=j||null}}return a=new ue(a,i),a._enter=s,a._exit=u,a}function Aa(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Ma(){return new ue(this._exit||this._groups.map(si),this._parents)}function Na(e,t,n){var i=this.enter(),o=this,r=this.exit();return typeof e=="function"?(i=e(i),i&&(i=i.selection())):i=i.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),n==null?r.remove():n(r),i&&o?i.merge(o).order():o}function Oa(e){for(var t=e.selection?e.selection():e,n=this._groups,i=t._groups,o=n.length,r=i.length,a=Math.min(o,r),s=new Array(o),u=0;u<a;++u)for(var d=n[u],l=i[u],c=d.length,v=s[u]=new Array(c),h,b=0;b<c;++b)(h=d[b]||l[b])&&(v[b]=h);for(;u<o;++u)s[u]=n[u];return new ue(s,this._parents)}function Ta(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var i=e[t],o=i.length-1,r=i[o],a;--o>=0;)(a=i[o])&&(r&&a.compareDocumentPosition(r)^4&&r.parentNode.insertBefore(a,r),r=a);return this}function Ra(e){e||(e=za);function t(c,v){return c&&v?e(c.__data__,v.__data__):!c-!v}for(var n=this._groups,i=n.length,o=new Array(i),r=0;r<i;++r){for(var a=n[r],s=a.length,u=o[r]=new Array(s),d,l=0;l<s;++l)(d=a[l])&&(u[l]=d);u.sort(t)}return new ue(o,this._parents).order()}function za(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Ba(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Pa(){return Array.from(this)}function Ha(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],o=0,r=i.length;o<r;++o){var a=i[o];if(a)return a}return null}function Fa(){let e=0;for(const t of this)++e;return e}function ja(){return!this.node()}function La(e){for(var t=this._groups,n=0,i=t.length;n<i;++n)for(var o=t[n],r=0,a=o.length,s;r<a;++r)(s=o[r])&&e.call(s,s.__data__,r,o);return this}function Da(e){return function(){this.removeAttribute(e)}}function Ua(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Xa(e,t){return function(){this.setAttribute(e,t)}}function Ya(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function qa(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Wa(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Ga(e,t){var n=Mt(e);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((t==null?n.local?Ua:Da:typeof t=="function"?n.local?Wa:qa:n.local?Ya:Xa)(n,t))}function li(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Ka(e){return function(){this.style.removeProperty(e)}}function Ja(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Za(e,t,n){return function(){var i=t.apply(this,arguments);i==null?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function Qa(e,t,n){return arguments.length>1?this.each((t==null?Ka:typeof t=="function"?Za:Ja)(e,t,n??"")):Fe(this.node(),e)}function Fe(e,t){return e.style.getPropertyValue(t)||li(e).getComputedStyle(e,null).getPropertyValue(t)}function _a(e){return function(){delete this[e]}}function er(e,t){return function(){this[e]=t}}function tr(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function nr(e,t){return arguments.length>1?this.each((t==null?_a:typeof t=="function"?tr:er)(e,t)):this.node()[e]}function ui(e){return e.trim().split(/^|\s+/)}function en(e){return e.classList||new ci(e)}function ci(e){this._node=e,this._names=ui(e.getAttribute("class")||"")}ci.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function di(e,t){for(var n=en(e),i=-1,o=t.length;++i<o;)n.add(t[i])}function fi(e,t){for(var n=en(e),i=-1,o=t.length;++i<o;)n.remove(t[i])}function ir(e){return function(){di(this,e)}}function or(e){return function(){fi(this,e)}}function ar(e,t){return function(){(t.apply(this,arguments)?di:fi)(this,e)}}function rr(e,t){var n=ui(e+"");if(arguments.length<2){for(var i=en(this.node()),o=-1,r=n.length;++o<r;)if(!i.contains(n[o]))return!1;return!0}return this.each((typeof t=="function"?ar:t?ir:or)(n,t))}function sr(){this.textContent=""}function lr(e){return function(){this.textContent=e}}function ur(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function cr(e){return arguments.length?this.each(e==null?sr:(typeof e=="function"?ur:lr)(e)):this.node().textContent}function dr(){this.innerHTML=""}function fr(e){return function(){this.innerHTML=e}}function hr(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function mr(e){return arguments.length?this.each(e==null?dr:(typeof e=="function"?hr:fr)(e)):this.node().innerHTML}function vr(){this.nextSibling&&this.parentNode.appendChild(this)}function gr(){return this.each(vr)}function yr(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function pr(){return this.each(yr)}function wr(e){var t=typeof e=="function"?e:ii(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function br(){return null}function kr(e,t){var n=typeof e=="function"?e:ii(e),i=t==null?br:typeof t=="function"?t:_t(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})}function xr(){var e=this.parentNode;e&&e.removeChild(this)}function Ir(){return this.each(xr)}function Sr(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function $r(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Cr(e){return this.select(e?$r:Sr)}function Vr(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Er(e){return function(t){e.call(this,t,this.__data__)}}function Ar(e){return e.trim().split(/^|\s+/).map(function(t){var n="",i=t.indexOf(".");return i>=0&&(n=t.slice(i+1),t=t.slice(0,i)),{type:t,name:n}})}function Mr(e){return function(){var t=this.__on;if(t){for(var n=0,i=-1,o=t.length,r;n<o;++n)r=t[n],(!e.type||r.type===e.type)&&r.name===e.name?this.removeEventListener(r.type,r.listener,r.options):t[++i]=r;++i?t.length=i:delete this.__on}}}function Nr(e,t,n){return function(){var i=this.__on,o,r=Er(t);if(i){for(var a=0,s=i.length;a<s;++a)if((o=i[a]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=r,o.options=n),o.value=t;return}}this.addEventListener(e.type,r,n),o={type:e.type,name:e.name,value:t,listener:r,options:n},i?i.push(o):this.__on=[o]}}function Or(e,t,n){var i=Ar(e+""),o,r=i.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var u=0,d=s.length,l;u<d;++u)for(o=0,l=s[u];o<r;++o)if((a=i[o]).type===l.type&&a.name===l.name)return l.value}return}for(s=t?Nr:Mr,o=0;o<r;++o)this.each(s(i[o],t,n));return this}function hi(e,t,n){var i=li(e),o=i.CustomEvent;typeof o=="function"?o=new o(t,n):(o=i.document.createEvent("Event"),n?(o.initEvent(t,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function Tr(e,t){return function(){return hi(this,e,t)}}function Rr(e,t){return function(){return hi(this,e,t.apply(this,arguments))}}function zr(e,t){return this.each((typeof t=="function"?Rr:Tr)(e,t))}function*Br(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var i=e[t],o=0,r=i.length,a;o<r;++o)(a=i[o])&&(yield a)}var mi=[null];function ue(e,t){this._groups=e,this._parents=t}function nt(){return new ue([[document.documentElement]],mi)}function Pr(){return this}ue.prototype=nt.prototype={constructor:ue,select:ua,selectAll:ha,selectChild:ya,selectChildren:ka,filter:xa,data:Ea,enter:Ia,exit:Ma,join:Na,merge:Oa,selection:Pr,order:Ta,sort:Ra,call:Ba,nodes:Pa,node:Ha,size:Fa,empty:ja,each:La,attr:Ga,style:Qa,property:nr,classed:rr,text:cr,html:mr,raise:gr,lower:pr,append:wr,insert:kr,remove:Ir,clone:Cr,datum:Vr,on:Or,dispatch:zr,[Symbol.iterator]:Br};function Ce(e){return typeof e=="string"?new ue([[document.querySelector(e)]],[document.documentElement]):new ue([[e]],mi)}function Hr(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Se(e,t){if(e=Hr(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=e.clientX,i.y=e.clientY,i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const Lt={capture:!0,passive:!1};function Dt(e){e.preventDefault(),e.stopImmediatePropagation()}function Fr(e){var t=e.document.documentElement,n=Ce(e).on("dragstart.drag",Dt,Lt);"onselectstart"in t?n.on("selectstart.drag",Dt,Lt):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function jr(e,t){var n=e.document.documentElement,i=Ce(e).on("dragstart.drag",null);t&&(i.on("click.drag",Dt,Lt),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in n?i.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function tn(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function vi(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function it(){}var Je=.7,bt=1/Je,He="\\s*([+-]?\\d+)\\s*",Ze="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ve="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Lr=/^#([0-9a-f]{3,8})$/,Dr=new RegExp(`^rgb\\(${He},${He},${He}\\)$`),Ur=new RegExp(`^rgb\\(${ve},${ve},${ve}\\)$`),Xr=new RegExp(`^rgba\\(${He},${He},${He},${Ze}\\)$`),Yr=new RegExp(`^rgba\\(${ve},${ve},${ve},${Ze}\\)$`),qr=new RegExp(`^hsl\\(${Ze},${ve},${ve}\\)$`),Wr=new RegExp(`^hsla\\(${Ze},${ve},${ve},${Ze}\\)$`),gn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};tn(it,Qe,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:yn,formatHex:yn,formatHex8:Gr,formatHsl:Kr,formatRgb:pn,toString:pn});function yn(){return this.rgb().formatHex()}function Gr(){return this.rgb().formatHex8()}function Kr(){return gi(this).formatHsl()}function pn(){return this.rgb().formatRgb()}function Qe(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=Lr.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?wn(t):n===3?new le(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?rt(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?rt(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Dr.exec(e))?new le(t[1],t[2],t[3],1):(t=Ur.exec(e))?new le(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Xr.exec(e))?rt(t[1],t[2],t[3],t[4]):(t=Yr.exec(e))?rt(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=qr.exec(e))?xn(t[1],t[2]/100,t[3]/100,1):(t=Wr.exec(e))?xn(t[1],t[2]/100,t[3]/100,t[4]):gn.hasOwnProperty(e)?wn(gn[e]):e==="transparent"?new le(NaN,NaN,NaN,0):null}function wn(e){return new le(e>>16&255,e>>8&255,e&255,1)}function rt(e,t,n,i){return i<=0&&(e=t=n=NaN),new le(e,t,n,i)}function Jr(e){return e instanceof it||(e=Qe(e)),e?(e=e.rgb(),new le(e.r,e.g,e.b,e.opacity)):new le}function Ut(e,t,n,i){return arguments.length===1?Jr(e):new le(e,t,n,i??1)}function le(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}tn(le,Ut,vi(it,{brighter(e){return e=e==null?bt:Math.pow(bt,e),new le(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Je:Math.pow(Je,e),new le(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new le(Re(this.r),Re(this.g),Re(this.b),kt(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:bn,formatHex:bn,formatHex8:Zr,formatRgb:kn,toString:kn}));function bn(){return`#${Oe(this.r)}${Oe(this.g)}${Oe(this.b)}`}function Zr(){return`#${Oe(this.r)}${Oe(this.g)}${Oe(this.b)}${Oe((isNaN(this.opacity)?1:this.opacity)*255)}`}function kn(){const e=kt(this.opacity);return`${e===1?"rgb(":"rgba("}${Re(this.r)}, ${Re(this.g)}, ${Re(this.b)}${e===1?")":`, ${e})`}`}function kt(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Re(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Oe(e){return e=Re(e),(e<16?"0":"")+e.toString(16)}function xn(e,t,n,i){return i<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new fe(e,t,n,i)}function gi(e){if(e instanceof fe)return new fe(e.h,e.s,e.l,e.opacity);if(e instanceof it||(e=Qe(e)),!e)return new fe;if(e instanceof fe)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,o=Math.min(t,n,i),r=Math.max(t,n,i),a=NaN,s=r-o,u=(r+o)/2;return s?(t===r?a=(n-i)/s+(n<i)*6:n===r?a=(i-t)/s+2:a=(t-n)/s+4,s/=u<.5?r+o:2-r-o,a*=60):s=u>0&&u<1?0:a,new fe(a,s,u,e.opacity)}function Qr(e,t,n,i){return arguments.length===1?gi(e):new fe(e,t,n,i??1)}function fe(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}tn(fe,Qr,vi(it,{brighter(e){return e=e==null?bt:Math.pow(bt,e),new fe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Je:Math.pow(Je,e),new fe(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*t,o=2*n-i;return new le(Bt(e>=240?e-240:e+120,o,i),Bt(e,o,i),Bt(e<120?e+240:e-120,o,i),this.opacity)},clamp(){return new fe(In(this.h),st(this.s),st(this.l),kt(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=kt(this.opacity);return`${e===1?"hsl(":"hsla("}${In(this.h)}, ${st(this.s)*100}%, ${st(this.l)*100}%${e===1?")":`, ${e})`}`}}));function In(e){return e=(e||0)%360,e<0?e+360:e}function st(e){return Math.max(0,Math.min(1,e||0))}function Bt(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const yi=e=>()=>e;function _r(e,t){return function(n){return e+n*t}}function es(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(i){return Math.pow(e+i*t,n)}}function ts(e){return(e=+e)==1?pi:function(t,n){return n-t?es(t,n,e):yi(isNaN(t)?n:t)}}function pi(e,t){var n=t-e;return n?_r(e,n):yi(isNaN(e)?t:e)}const Sn=(function e(t){var n=ts(t);function i(o,r){var a=n((o=Ut(o)).r,(r=Ut(r)).r),s=n(o.g,r.g),u=n(o.b,r.b),d=pi(o.opacity,r.opacity);return function(l){return o.r=a(l),o.g=s(l),o.b=u(l),o.opacity=d(l),o+""}}return i.gamma=e,i})(1);function $e(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}var Xt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pt=new RegExp(Xt.source,"g");function ns(e){return function(){return e}}function is(e){return function(t){return e(t)+""}}function os(e,t){var n=Xt.lastIndex=Pt.lastIndex=0,i,o,r,a=-1,s=[],u=[];for(e=e+"",t=t+"";(i=Xt.exec(e))&&(o=Pt.exec(t));)(r=o.index)>n&&(r=t.slice(n,r),s[a]?s[a]+=r:s[++a]=r),(i=i[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,u.push({i:a,x:$e(i,o)})),n=Pt.lastIndex;return n<t.length&&(r=t.slice(n),s[a]?s[a]+=r:s[++a]=r),s.length<2?u[0]?is(u[0].x):ns(t):(t=u.length,function(d){for(var l=0,c;l<t;++l)s[(c=u[l]).i]=c.x(d);return s.join("")})}var $n=180/Math.PI,Yt={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function wi(e,t,n,i,o,r){var a,s,u;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(u=e*n+t*i)&&(n-=e*u,i-=t*u),(s=Math.sqrt(n*n+i*i))&&(n/=s,i/=s,u/=s),e*i<t*n&&(e=-e,t=-t,u=-u,a=-a),{translateX:o,translateY:r,rotate:Math.atan2(t,e)*$n,skewX:Math.atan(u)*$n,scaleX:a,scaleY:s}}var lt;function as(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Yt:wi(t.a,t.b,t.c,t.d,t.e,t.f)}function rs(e){return e==null||(lt||(lt=document.createElementNS("http://www.w3.org/2000/svg","g")),lt.setAttribute("transform",e),!(e=lt.transform.baseVal.consolidate()))?Yt:(e=e.matrix,wi(e.a,e.b,e.c,e.d,e.e,e.f))}function bi(e,t,n,i){function o(d){return d.length?d.pop()+" ":""}function r(d,l,c,v,h,b){if(d!==c||l!==v){var V=h.push("translate(",null,t,null,n);b.push({i:V-4,x:$e(d,c)},{i:V-2,x:$e(l,v)})}else(c||v)&&h.push("translate("+c+t+v+n)}function a(d,l,c,v){d!==l?(d-l>180?l+=360:l-d>180&&(d+=360),v.push({i:c.push(o(c)+"rotate(",null,i)-2,x:$e(d,l)})):l&&c.push(o(c)+"rotate("+l+i)}function s(d,l,c,v){d!==l?v.push({i:c.push(o(c)+"skewX(",null,i)-2,x:$e(d,l)}):l&&c.push(o(c)+"skewX("+l+i)}function u(d,l,c,v,h,b){if(d!==c||l!==v){var V=h.push(o(h)+"scale(",null,",",null,")");b.push({i:V-4,x:$e(d,c)},{i:V-2,x:$e(l,v)})}else(c!==1||v!==1)&&h.push(o(h)+"scale("+c+","+v+")")}return function(d,l){var c=[],v=[];return d=e(d),l=e(l),r(d.translateX,d.translateY,l.translateX,l.translateY,c,v),a(d.rotate,l.rotate,c,v),s(d.skewX,l.skewX,c,v),u(d.scaleX,d.scaleY,l.scaleX,l.scaleY,c,v),d=l=null,function(h){for(var b=-1,V=v.length,P;++b<V;)c[(P=v[b]).i]=P.x(h);return c.join("")}}}var ss=bi(as,"px, ","px)","deg)"),ls=bi(rs,", ",")",")"),us=1e-12;function Cn(e){return((e=Math.exp(e))+1/e)/2}function cs(e){return((e=Math.exp(e))-1/e)/2}function ds(e){return((e=Math.exp(2*e))-1)/(e+1)}const fs=(function e(t,n,i){function o(r,a){var s=r[0],u=r[1],d=r[2],l=a[0],c=a[1],v=a[2],h=l-s,b=c-u,V=h*h+b*b,P,A;if(V<us)A=Math.log(v/d)/t,P=function(U){return[s+U*h,u+U*b,d*Math.exp(t*U*A)]};else{var M=Math.sqrt(V),$=(v*v-d*d+i*V)/(2*d*n*M),E=(v*v-d*d-i*V)/(2*v*n*M),j=Math.log(Math.sqrt($*$+1)-$),B=Math.log(Math.sqrt(E*E+1)-E);A=(B-j)/t,P=function(U){var W=U*A,H=Cn(j),F=d/(n*M)*(H*ds(t*W+j)-cs(j));return[s+F*h,u+F*b,d*H/Cn(t*W+j)]}}return P.duration=A*1e3*t/Math.SQRT2,P}return o.rho=function(r){var a=Math.max(.001,+r),s=a*a,u=s*s;return e(a,s,u)},o})(Math.SQRT2,2,4);var je=0,Xe=0,De=0,ki=1e3,xt,Ye,It=0,ze=0,Nt=0,_e=typeof performance=="object"&&performance.now?performance:Date,xi=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function nn(){return ze||(xi(hs),ze=_e.now()+Nt)}function hs(){ze=0}function St(){this._call=this._time=this._next=null}St.prototype=Ii.prototype={constructor:St,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?nn():+n)+(t==null?0:+t),!this._next&&Ye!==this&&(Ye?Ye._next=this:xt=this,Ye=this),this._call=e,this._time=n,qt()},stop:function(){this._call&&(this._call=null,this._time=1/0,qt())}};function Ii(e,t,n){var i=new St;return i.restart(e,t,n),i}function ms(){nn(),++je;for(var e=xt,t;e;)(t=ze-e._time)>=0&&e._call.call(void 0,t),e=e._next;--je}function Vn(){ze=(It=_e.now())+Nt,je=Xe=0;try{ms()}finally{je=0,gs(),ze=0}}function vs(){var e=_e.now(),t=e-It;t>ki&&(Nt-=t,It=e)}function gs(){for(var e,t=xt,n,i=1/0;t;)t._call?(i>t._time&&(i=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:xt=n);Ye=e,qt(i)}function qt(e){if(!je){Xe&&(Xe=clearTimeout(Xe));var t=e-ze;t>24?(e<1/0&&(Xe=setTimeout(Vn,e-_e.now()-Nt)),De&&(De=clearInterval(De))):(De||(It=_e.now(),De=setInterval(vs,ki)),je=1,xi(Vn))}}function En(e,t,n){var i=new St;return t=t==null?0:+t,i.restart(o=>{i.stop(),e(o+t)},t,n),i}var ys=Qt("start","end","cancel","interrupt"),ps=[],Si=0,An=1,Wt=2,ht=3,Mn=4,Gt=5,mt=6;function Ot(e,t,n,i,o,r){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;ws(e,n,{name:t,index:i,group:o,on:ys,tween:ps,time:r.time,delay:r.delay,duration:r.duration,ease:r.ease,timer:null,state:Si})}function on(e,t){var n=me(e,t);if(n.state>Si)throw new Error("too late; already scheduled");return n}function ge(e,t){var n=me(e,t);if(n.state>ht)throw new Error("too late; already running");return n}function me(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function ws(e,t,n){var i=e.__transition,o;i[t]=n,n.timer=Ii(r,0,n.time);function r(d){n.state=An,n.timer.restart(a,n.delay,n.time),n.delay<=d&&a(d-n.delay)}function a(d){var l,c,v,h;if(n.state!==An)return u();for(l in i)if(h=i[l],h.name===n.name){if(h.state===ht)return En(a);h.state===Mn?(h.state=mt,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete i[l]):+l<t&&(h.state=mt,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete i[l])}if(En(function(){n.state===ht&&(n.state=Mn,n.timer.restart(s,n.delay,n.time),s(d))}),n.state=Wt,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Wt){for(n.state=ht,o=new Array(v=n.tween.length),l=0,c=-1;l<v;++l)(h=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(o[++c]=h);o.length=c+1}}function s(d){for(var l=d<n.duration?n.ease.call(null,d/n.duration):(n.timer.restart(u),n.state=Gt,1),c=-1,v=o.length;++c<v;)o[c].call(e,l);n.state===Gt&&(n.on.call("end",e,e.__data__,n.index,n.group),u())}function u(){n.state=mt,n.timer.stop(),delete i[t];for(var d in i)return;delete e.__transition}}function vt(e,t){var n=e.__transition,i,o,r=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((i=n[a]).name!==t){r=!1;continue}o=i.state>Wt&&i.state<Gt,i.state=mt,i.timer.stop(),i.on.call(o?"interrupt":"cancel",e,e.__data__,i.index,i.group),delete n[a]}r&&delete e.__transition}}function bs(e){return this.each(function(){vt(this,e)})}function ks(e,t){var n,i;return function(){var o=ge(this,e),r=o.tween;if(r!==n){i=n=r;for(var a=0,s=i.length;a<s;++a)if(i[a].name===t){i=i.slice(),i.splice(a,1);break}}o.tween=i}}function xs(e,t,n){var i,o;if(typeof n!="function")throw new Error;return function(){var r=ge(this,e),a=r.tween;if(a!==i){o=(i=a).slice();for(var s={name:t,value:n},u=0,d=o.length;u<d;++u)if(o[u].name===t){o[u]=s;break}u===d&&o.push(s)}r.tween=o}}function Is(e,t){var n=this._id;if(e+="",arguments.length<2){for(var i=me(this.node(),n).tween,o=0,r=i.length,a;o<r;++o)if((a=i[o]).name===e)return a.value;return null}return this.each((t==null?ks:xs)(n,e,t))}function an(e,t,n){var i=e._id;return e.each(function(){var o=ge(this,i);(o.value||(o.value={}))[t]=n.apply(this,arguments)}),function(o){return me(o,i).value[t]}}function $i(e,t){var n;return(typeof t=="number"?$e:t instanceof Qe?Sn:(n=Qe(t))?(t=n,Sn):os)(e,t)}function Ss(e){return function(){this.removeAttribute(e)}}function $s(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Cs(e,t,n){var i,o=n+"",r;return function(){var a=this.getAttribute(e);return a===o?null:a===i?r:r=t(i=a,n)}}function Vs(e,t,n){var i,o=n+"",r;return function(){var a=this.getAttributeNS(e.space,e.local);return a===o?null:a===i?r:r=t(i=a,n)}}function Es(e,t,n){var i,o,r;return function(){var a,s=n(this),u;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),u=s+"",a===u?null:a===i&&u===o?r:(o=u,r=t(i=a,s)))}}function As(e,t,n){var i,o,r;return function(){var a,s=n(this),u;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),u=s+"",a===u?null:a===i&&u===o?r:(o=u,r=t(i=a,s)))}}function Ms(e,t){var n=Mt(e),i=n==="transform"?ls:$i;return this.attrTween(e,typeof t=="function"?(n.local?As:Es)(n,i,an(this,"attr."+e,t)):t==null?(n.local?$s:Ss)(n):(n.local?Vs:Cs)(n,i,t))}function Ns(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Os(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ts(e,t){var n,i;function o(){var r=t.apply(this,arguments);return r!==i&&(n=(i=r)&&Os(e,r)),n}return o._value=t,o}function Rs(e,t){var n,i;function o(){var r=t.apply(this,arguments);return r!==i&&(n=(i=r)&&Ns(e,r)),n}return o._value=t,o}function zs(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var i=Mt(e);return this.tween(n,(i.local?Ts:Rs)(i,t))}function Bs(e,t){return function(){on(this,e).delay=+t.apply(this,arguments)}}function Ps(e,t){return t=+t,function(){on(this,e).delay=t}}function Hs(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Bs:Ps)(t,e)):me(this.node(),t).delay}function Fs(e,t){return function(){ge(this,e).duration=+t.apply(this,arguments)}}function js(e,t){return t=+t,function(){ge(this,e).duration=t}}function Ls(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Fs:js)(t,e)):me(this.node(),t).duration}function Ds(e,t){if(typeof t!="function")throw new Error;return function(){ge(this,e).ease=t}}function Us(e){var t=this._id;return arguments.length?this.each(Ds(t,e)):me(this.node(),t).ease}function Xs(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;ge(this,e).ease=n}}function Ys(e){if(typeof e!="function")throw new Error;return this.each(Xs(this._id,e))}function qs(e){typeof e!="function"&&(e=ai(e));for(var t=this._groups,n=t.length,i=new Array(n),o=0;o<n;++o)for(var r=t[o],a=r.length,s=i[o]=[],u,d=0;d<a;++d)(u=r[d])&&e.call(u,u.__data__,d,r)&&s.push(u);return new xe(i,this._parents,this._name,this._id)}function Ws(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,i=t.length,o=n.length,r=Math.min(i,o),a=new Array(i),s=0;s<r;++s)for(var u=t[s],d=n[s],l=u.length,c=a[s]=new Array(l),v,h=0;h<l;++h)(v=u[h]||d[h])&&(c[h]=v);for(;s<i;++s)a[s]=t[s];return new xe(a,this._parents,this._name,this._id)}function Gs(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function Ks(e,t,n){var i,o,r=Gs(t)?on:ge;return function(){var a=r(this,e),s=a.on;s!==i&&(o=(i=s).copy()).on(t,n),a.on=o}}function Js(e,t){var n=this._id;return arguments.length<2?me(this.node(),n).on.on(e):this.each(Ks(n,e,t))}function Zs(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Qs(){return this.on("end.remove",Zs(this._id))}function _s(e){var t=this._name,n=this._id;typeof e!="function"&&(e=_t(e));for(var i=this._groups,o=i.length,r=new Array(o),a=0;a<o;++a)for(var s=i[a],u=s.length,d=r[a]=new Array(u),l,c,v=0;v<u;++v)(l=s[v])&&(c=e.call(l,l.__data__,v,s))&&("__data__"in l&&(c.__data__=l.__data__),d[v]=c,Ot(d[v],t,n,v,d,me(l,n)));return new xe(r,this._parents,t,n)}function el(e){var t=this._name,n=this._id;typeof e!="function"&&(e=oi(e));for(var i=this._groups,o=i.length,r=[],a=[],s=0;s<o;++s)for(var u=i[s],d=u.length,l,c=0;c<d;++c)if(l=u[c]){for(var v=e.call(l,l.__data__,c,u),h,b=me(l,n),V=0,P=v.length;V<P;++V)(h=v[V])&&Ot(h,t,n,V,v,b);r.push(v),a.push(l)}return new xe(r,a,t,n)}var tl=nt.prototype.constructor;function nl(){return new tl(this._groups,this._parents)}function il(e,t){var n,i,o;return function(){var r=Fe(this,e),a=(this.style.removeProperty(e),Fe(this,e));return r===a?null:r===n&&a===i?o:o=t(n=r,i=a)}}function Ci(e){return function(){this.style.removeProperty(e)}}function ol(e,t,n){var i,o=n+"",r;return function(){var a=Fe(this,e);return a===o?null:a===i?r:r=t(i=a,n)}}function al(e,t,n){var i,o,r;return function(){var a=Fe(this,e),s=n(this),u=s+"";return s==null&&(u=s=(this.style.removeProperty(e),Fe(this,e))),a===u?null:a===i&&u===o?r:(o=u,r=t(i=a,s))}}function rl(e,t){var n,i,o,r="style."+t,a="end."+r,s;return function(){var u=ge(this,e),d=u.on,l=u.value[r]==null?s||(s=Ci(t)):void 0;(d!==n||o!==l)&&(i=(n=d).copy()).on(a,o=l),u.on=i}}function sl(e,t,n){var i=(e+="")=="transform"?ss:$i;return t==null?this.styleTween(e,il(e,i)).on("end.style."+e,Ci(e)):typeof t=="function"?this.styleTween(e,al(e,i,an(this,"style."+e,t))).each(rl(this._id,e)):this.styleTween(e,ol(e,i,t),n).on("end.style."+e,null)}function ll(e,t,n){return function(i){this.style.setProperty(e,t.call(this,i),n)}}function ul(e,t,n){var i,o;function r(){var a=t.apply(this,arguments);return a!==o&&(i=(o=a)&&ll(e,a,n)),i}return r._value=t,r}function cl(e,t,n){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(t==null)return this.tween(i,null);if(typeof t!="function")throw new Error;return this.tween(i,ul(e,t,n??""))}function dl(e){return function(){this.textContent=e}}function fl(e){return function(){var t=e(this);this.textContent=t??""}}function hl(e){return this.tween("text",typeof e=="function"?fl(an(this,"text",e)):dl(e==null?"":e+""))}function ml(e){return function(t){this.textContent=e.call(this,t)}}function vl(e){var t,n;function i(){var o=e.apply(this,arguments);return o!==n&&(t=(n=o)&&ml(o)),t}return i._value=e,i}function gl(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,vl(e))}function yl(){for(var e=this._name,t=this._id,n=Vi(),i=this._groups,o=i.length,r=0;r<o;++r)for(var a=i[r],s=a.length,u,d=0;d<s;++d)if(u=a[d]){var l=me(u,t);Ot(u,e,n,d,a,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new xe(i,this._parents,e,n)}function pl(){var e,t,n=this,i=n._id,o=n.size();return new Promise(function(r,a){var s={value:a},u={value:function(){--o===0&&r()}};n.each(function(){var d=ge(this,i),l=d.on;l!==e&&(t=(e=l).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(u)),d.on=t}),o===0&&r()})}var wl=0;function xe(e,t,n,i){this._groups=e,this._parents=t,this._name=n,this._id=i}function Vi(){return++wl}var ye=nt.prototype;xe.prototype={constructor:xe,select:_s,selectAll:el,selectChild:ye.selectChild,selectChildren:ye.selectChildren,filter:qs,merge:Ws,selection:nl,transition:yl,call:ye.call,nodes:ye.nodes,node:ye.node,size:ye.size,empty:ye.empty,each:ye.each,on:Js,attr:Ms,attrTween:zs,style:sl,styleTween:cl,text:hl,textTween:gl,remove:Qs,tween:Is,delay:Hs,duration:Ls,ease:Us,easeVarying:Ys,end:pl,[Symbol.iterator]:ye[Symbol.iterator]};function bl(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var kl={time:null,delay:0,duration:250,ease:bl};function xl(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function Il(e){var t,n;e instanceof xe?(t=e._id,e=e._name):(t=Vi(),(n=kl).time=nn(),e=e==null?null:e+"");for(var i=this._groups,o=i.length,r=0;r<o;++r)for(var a=i[r],s=a.length,u,d=0;d<s;++d)(u=a[d])&&Ot(u,e,t,d,a,n||xl(u,t));return new xe(i,this._parents,e,t)}nt.prototype.interrupt=bs;nt.prototype.transition=Il;const ut=e=>()=>e;function Sl(e,{sourceEvent:t,target:n,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function be(e,t,n){this.k=e,this.x=t,this.y=n}be.prototype={constructor:be,scale:function(e){return e===1?this:new be(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new be(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var rn=new be(1,0,0);be.prototype;function Ht(e){e.stopImmediatePropagation()}function Ue(e){e.preventDefault(),e.stopImmediatePropagation()}function $l(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Cl(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function Nn(){return this.__zoom||rn}function Vl(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function El(){return navigator.maxTouchPoints||"ontouchstart"in this}function Al(e,t,n){var i=e.invertX(t[0][0])-n[0][0],o=e.invertX(t[1][0])-n[1][0],r=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a))}function Ml(){var e=$l,t=Cl,n=Al,i=Vl,o=El,r=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,u=fs,d=Qt("start","zoom","end"),l,c,v,h=500,b=150,V=0,P=10;function A(g){g.property("__zoom",Nn).on("wheel.zoom",W,{passive:!1}).on("mousedown.zoom",H).on("dblclick.zoom",F).filter(o).on("touchstart.zoom",ce).on("touchmove.zoom",te).on("touchend.zoom touchcancel.zoom",oe).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}A.transform=function(g,T,k,R){var I=g.selection?g.selection():g;I.property("__zoom",Nn),g!==I?j(g,T,k,R):I.interrupt().each(function(){B(this,arguments).event(R).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},A.scaleBy=function(g,T,k,R){A.scaleTo(g,function(){var I=this.__zoom.k,y=typeof T=="function"?T.apply(this,arguments):T;return I*y},k,R)},A.scaleTo=function(g,T,k,R){A.transform(g,function(){var I=t.apply(this,arguments),y=this.__zoom,p=k==null?E(I):typeof k=="function"?k.apply(this,arguments):k,N=y.invert(p),D=typeof T=="function"?T.apply(this,arguments):T;return n($(M(y,D),p,N),I,a)},k,R)},A.translateBy=function(g,T,k,R){A.transform(g,function(){return n(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof k=="function"?k.apply(this,arguments):k),t.apply(this,arguments),a)},null,R)},A.translateTo=function(g,T,k,R,I){A.transform(g,function(){var y=t.apply(this,arguments),p=this.__zoom,N=R==null?E(y):typeof R=="function"?R.apply(this,arguments):R;return n(rn.translate(N[0],N[1]).scale(p.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof k=="function"?-k.apply(this,arguments):-k),y,a)},R,I)};function M(g,T){return T=Math.max(r[0],Math.min(r[1],T)),T===g.k?g:new be(T,g.x,g.y)}function $(g,T,k){var R=T[0]-k[0]*g.k,I=T[1]-k[1]*g.k;return R===g.x&&I===g.y?g:new be(g.k,R,I)}function E(g){return[(+g[0][0]+ +g[1][0])/2,(+g[0][1]+ +g[1][1])/2]}function j(g,T,k,R){g.on("start.zoom",function(){B(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){B(this,arguments).event(R).end()}).tween("zoom",function(){var I=this,y=arguments,p=B(I,y).event(R),N=t.apply(I,y),D=k==null?E(N):typeof k=="function"?k.apply(I,y):k,Y=Math.max(N[1][0]-N[0][0],N[1][1]-N[0][1]),q=I.__zoom,J=typeof T=="function"?T.apply(I,y):T,_=u(q.invert(D).concat(Y/q.k),J.invert(D).concat(Y/J.k));return function(ne){if(ne===1)ne=J;else{var de=_(ne),Tt=Y/de[2];ne=new be(Tt,D[0]-de[0]*Tt,D[1]-de[1]*Tt)}p.zoom(null,ne)}})}function B(g,T,k){return!k&&g.__zooming||new U(g,T)}function U(g,T){this.that=g,this.args=T,this.active=0,this.sourceEvent=null,this.extent=t.apply(g,T),this.taps=0}U.prototype={event:function(g){return g&&(this.sourceEvent=g),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(g,T){return this.mouse&&g!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&g!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&g!=="touch"&&(this.touch1[1]=T.invert(this.touch1[0])),this.that.__zoom=T,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(g){var T=Ce(this.that).datum();d.call(g,this.that,new Sl(g,{sourceEvent:this.sourceEvent,target:A,transform:this.that.__zoom,dispatch:d}),T)}};function W(g,...T){if(!e.apply(this,arguments))return;var k=B(this,T).event(g),R=this.__zoom,I=Math.max(r[0],Math.min(r[1],R.k*Math.pow(2,i.apply(this,arguments)))),y=Se(g);if(k.wheel)(k.mouse[0][0]!==y[0]||k.mouse[0][1]!==y[1])&&(k.mouse[1]=R.invert(k.mouse[0]=y)),clearTimeout(k.wheel);else{if(R.k===I)return;k.mouse=[y,R.invert(y)],vt(this),k.start()}Ue(g),k.wheel=setTimeout(p,b),k.zoom("mouse",n($(M(R,I),k.mouse[0],k.mouse[1]),k.extent,a));function p(){k.wheel=null,k.end()}}function H(g,...T){if(v||!e.apply(this,arguments))return;var k=g.currentTarget,R=B(this,T,!0).event(g),I=Ce(g.view).on("mousemove.zoom",D,!0).on("mouseup.zoom",Y,!0),y=Se(g,k),p=g.clientX,N=g.clientY;Fr(g.view),Ht(g),R.mouse=[y,this.__zoom.invert(y)],vt(this),R.start();function D(q){if(Ue(q),!R.moved){var J=q.clientX-p,_=q.clientY-N;R.moved=J*J+_*_>V}R.event(q).zoom("mouse",n($(R.that.__zoom,R.mouse[0]=Se(q,k),R.mouse[1]),R.extent,a))}function Y(q){I.on("mousemove.zoom mouseup.zoom",null),jr(q.view,R.moved),Ue(q),R.event(q).end()}}function F(g,...T){if(e.apply(this,arguments)){var k=this.__zoom,R=Se(g.changedTouches?g.changedTouches[0]:g,this),I=k.invert(R),y=k.k*(g.shiftKey?.5:2),p=n($(M(k,y),R,I),t.apply(this,T),a);Ue(g),s>0?Ce(this).transition().duration(s).call(j,p,R,g):Ce(this).call(A.transform,p,R,g)}}function ce(g,...T){if(e.apply(this,arguments)){var k=g.touches,R=k.length,I=B(this,T,g.changedTouches.length===R).event(g),y,p,N,D;for(Ht(g),p=0;p<R;++p)N=k[p],D=Se(N,this),D=[D,this.__zoom.invert(D),N.identifier],I.touch0?!I.touch1&&I.touch0[2]!==D[2]&&(I.touch1=D,I.taps=0):(I.touch0=D,y=!0,I.taps=1+!!l);l&&(l=clearTimeout(l)),y&&(I.taps<2&&(c=D[0],l=setTimeout(function(){l=null},h)),vt(this),I.start())}}function te(g,...T){if(this.__zooming){var k=B(this,T).event(g),R=g.changedTouches,I=R.length,y,p,N,D;for(Ue(g),y=0;y<I;++y)p=R[y],N=Se(p,this),k.touch0&&k.touch0[2]===p.identifier?k.touch0[0]=N:k.touch1&&k.touch1[2]===p.identifier&&(k.touch1[0]=N);if(p=k.that.__zoom,k.touch1){var Y=k.touch0[0],q=k.touch0[1],J=k.touch1[0],_=k.touch1[1],ne=(ne=J[0]-Y[0])*ne+(ne=J[1]-Y[1])*ne,de=(de=_[0]-q[0])*de+(de=_[1]-q[1])*de;p=M(p,Math.sqrt(ne/de)),N=[(Y[0]+J[0])/2,(Y[1]+J[1])/2],D=[(q[0]+_[0])/2,(q[1]+_[1])/2]}else if(k.touch0)N=k.touch0[0],D=k.touch0[1];else return;k.zoom("touch",n($(p,N,D),k.extent,a))}}function oe(g,...T){if(this.__zooming){var k=B(this,T).event(g),R=g.changedTouches,I=R.length,y,p;for(Ht(g),v&&clearTimeout(v),v=setTimeout(function(){v=null},h),y=0;y<I;++y)p=R[y],k.touch0&&k.touch0[2]===p.identifier?delete k.touch0:k.touch1&&k.touch1[2]===p.identifier&&delete k.touch1;if(k.touch1&&!k.touch0&&(k.touch0=k.touch1,delete k.touch1),k.touch0)k.touch0[1]=this.__zoom.invert(k.touch0[0]);else if(k.end(),k.taps===2&&(p=Se(p,this),Math.hypot(c[0]-p[0],c[1]-p[1])<P)){var N=Ce(this).on("dblclick.zoom");N&&N.apply(this,arguments)}}}return A.wheelDelta=function(g){return arguments.length?(i=typeof g=="function"?g:ut(+g),A):i},A.filter=function(g){return arguments.length?(e=typeof g=="function"?g:ut(!!g),A):e},A.touchable=function(g){return arguments.length?(o=typeof g=="function"?g:ut(!!g),A):o},A.extent=function(g){return arguments.length?(t=typeof g=="function"?g:ut([[+g[0][0],+g[0][1]],[+g[1][0],+g[1][1]]]),A):t},A.scaleExtent=function(g){return arguments.length?(r[0]=+g[0],r[1]=+g[1],A):[r[0],r[1]]},A.translateExtent=function(g){return arguments.length?(a[0][0]=+g[0][0],a[1][0]=+g[1][0],a[0][1]=+g[0][1],a[1][1]=+g[1][1],A):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},A.constrain=function(g){return arguments.length?(n=g,A):n},A.duration=function(g){return arguments.length?(s=+g,A):s},A.interpolate=function(g){return arguments.length?(u=g,A):u},A.on=function(){var g=d.on.apply(d,arguments);return g===d?A:g},A.clickDistance=function(g){return arguments.length?(V=(g=+g)*g,A):Math.sqrt(V)},A.tapDistance=function(g){return arguments.length?(P=+g,A):P},A}const Ei=Symbol("MiniMapSlots"),Nl=["id","x","y","rx","ry","width","height","fill","stroke","stroke-width","shape-rendering"],Ol={name:"MiniMapNode",compatConfig:{MODE:3},inheritAttrs:!1},Tl=K({...Ol,props:{id:{},type:{},selected:{type:Boolean},dragging:{type:Boolean},position:{},dimensions:{},borderRadius:{},color:{},shapeRendering:{},strokeColor:{},strokeWidth:{},hidden:{type:Boolean}},emits:["click","dblclick","mouseenter","mousemove","mouseleave"],setup(e,{emit:t}){const n=e,i=ao(Ei),o=Un(),r=We(()=>o.style??{});function a(c){t("click",c)}function s(c){t("dblclick",c)}function u(c){t("mouseenter",c)}function d(c){t("mousemove",c)}function l(c){t("mouseleave",c)}return(c,v)=>!c.hidden&&c.dimensions.width!==0&&c.dimensions.height!==0?(m(),O(X,{key:0},[f(i)[`node-${n.type}`]?(m(),C(ro(f(i)[`node-${n.type}`]),Ve(Ee({key:0},{...n,...c.$attrs})),null,16)):(m(),O("rect",Ee({key:1,id:c.id},c.$attrs,{class:["vue-flow__minimap-node",{selected:c.selected,dragging:c.dragging}],x:c.position.x,y:c.position.y,rx:c.borderRadius,ry:c.borderRadius,width:c.dimensions.width,height:c.dimensions.height,fill:c.color||r.value.background||r.value.backgroundColor,stroke:c.strokeColor,"stroke-width":c.strokeWidth,"shape-rendering":c.shapeRendering,onClick:a,onDblclick:s,onMouseenter:u,onMousemove:d,onMouseleave:l}),null,16,Nl))],64)):z("",!0)}}),Rl=["width","height","viewBox","aria-labelledby"],zl=["id"],Bl=["d","fill","stroke","stroke-width"],Pl={name:"MiniMap",compatConfig:{MODE:3}},Hl=K({...Pl,props:{nodeColor:{type:[String,Function],default:"#e2e2e2"},nodeStrokeColor:{type:[String,Function],default:"transparent"},nodeClassName:{type:[String,Function]},nodeBorderRadius:{default:5},nodeStrokeWidth:{default:2},maskColor:{default:"rgb(240, 240, 240, 0.6)"},maskStrokeColor:{default:"none"},maskStrokeWidth:{default:1},position:{default:"bottom-right"},pannable:{type:Boolean,default:!1},zoomable:{type:Boolean,default:!1},width:{},height:{},ariaLabel:{default:"Vue Flow mini map"},inversePan:{type:Boolean,default:!1},zoomStep:{default:1},offsetScale:{default:5},maskBorderRadius:{default:0}},emits:["click","nodeClick","nodeDblclick","nodeMouseenter","nodeMousemove","nodeMouseleave"],setup(e,{emit:t}){const n=io(),i=Un(),o=200,r=150,{id:a,edges:s,viewport:u,translateExtent:d,dimensions:l,emits:c,d3Selection:v,d3Zoom:h,getNodesInitialized:b}=Ct(),V=ie();so(Ei,n);const P=We(()=>{var I;return e.width??((I=i.style)==null?void 0:I.width)??o}),A=We(()=>{var I;return e.height??((I=i.style)==null?void 0:I.height)??r}),M=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision",$=S(()=>typeof e.nodeColor=="string"?()=>e.nodeColor:e.nodeColor),E=S(()=>typeof e.nodeStrokeColor=="string"?()=>e.nodeStrokeColor:e.nodeStrokeColor),j=S(()=>typeof e.nodeClassName=="string"?()=>e.nodeClassName:typeof e.nodeClassName=="function"?e.nodeClassName:()=>""),B=S(()=>Di(b.value.filter(I=>!I.hidden))),U=S(()=>({x:-u.value.x/u.value.zoom,y:-u.value.y/u.value.zoom,width:l.value.width/u.value.zoom,height:l.value.height/u.value.zoom})),W=S(()=>b.value&&b.value.length?Li(B.value,U.value):U.value),H=S(()=>{const I=W.value.width/P.value,y=W.value.height/A.value;return Math.max(I,y)}),F=S(()=>{const I=H.value*P.value,y=H.value*A.value,p=e.offsetScale*H.value;return{offset:p,x:W.value.x-(I-W.value.width)/2-p,y:W.value.y-(y-W.value.height)/2-p,width:I+p*2,height:y+p*2}}),ce=S(()=>!F.value.x||!F.value.y?"":`
2
+ M${F.value.x-F.value.offset},${F.value.y-F.value.offset}
3
+ h${F.value.width+F.value.offset*2}
4
+ v${F.value.height+F.value.offset*2}
5
+ h${-F.value.width-F.value.offset*2}z
6
+ M${U.value.x+e.maskBorderRadius},${U.value.y}
7
+ h${U.value.width-2*e.maskBorderRadius}
8
+ a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},${e.maskBorderRadius}
9
+ v${U.value.height-2*e.maskBorderRadius}
10
+ a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 -${e.maskBorderRadius},${e.maskBorderRadius}
11
+ h${-(U.value.width-2*e.maskBorderRadius)}
12
+ a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 -${e.maskBorderRadius},-${e.maskBorderRadius}
13
+ v${-(U.value.height-2*e.maskBorderRadius)}
14
+ a${e.maskBorderRadius},${e.maskBorderRadius} 0 0 1 ${e.maskBorderRadius},-${e.maskBorderRadius}z`);oo(I=>{if(V.value){const y=Ce(V.value),p=Y=>{if(Y.sourceEvent.type!=="wheel"||!v.value||!h.value)return;const q=Y.sourceEvent.ctrlKey&&ji()?10:1,J=-Y.sourceEvent.deltaY*(Y.sourceEvent.deltaMode===1?.05:Y.sourceEvent.deltaMode?1:.002)*e.zoomStep,_=u.value.zoom*2**(J*q);h.value.scaleTo(v.value,_)},N=Y=>{if(Y.sourceEvent.type!=="mousemove"||!v.value||!h.value)return;const q=H.value*Math.max(1,u.value.zoom)*(e.inversePan?-1:1),J={x:u.value.x-Y.sourceEvent.movementX*q,y:u.value.y-Y.sourceEvent.movementY*q},_=[[0,0],[l.value.width,l.value.height]],ne=rn.translate(J.x,J.y).scale(u.value.zoom),de=h.value.constrain()(ne,_,d.value);h.value.transform(v.value,de)},D=Ml().wheelDelta(Y=>Fi(Y)*(e.zoomStep/10)).on("zoom",e.pannable?N:()=>{}).on("zoom.wheel",e.zoomable?p:()=>{});y.call(D),I(()=>{y.on("zoom",null)})}},{flush:"post"});function te(I){const[y,p]=Se(I);t("click",{event:I,position:{x:y,y:p}})}function oe(I,y){const p={event:I,node:y,connectedEdges:Le([y],s.value)};c.miniMapNodeClick(p),t("nodeClick",p)}function g(I,y){const p={event:I,node:y,connectedEdges:Le([y],s.value)};c.miniMapNodeDoubleClick(p),t("nodeDblclick",p)}function T(I,y){const p={event:I,node:y,connectedEdges:Le([y],s.value)};c.miniMapNodeMouseEnter(p),t("nodeMouseenter",p)}function k(I,y){const p={event:I,node:y,connectedEdges:Le([y],s.value)};c.miniMapNodeMouseMove(p),t("nodeMousemove",p)}function R(I,y){const p={event:I,node:y,connectedEdges:Le([y],s.value)};c.miniMapNodeMouseLeave(p),t("nodeMouseleave",p)}return(I,y)=>(m(),C(f(dt),{position:I.position,class:Ae(["vue-flow__minimap",{pannable:I.pannable,zoomable:I.zoomable}])},{default:w(()=>[(m(),O("svg",{ref_key:"el",ref:V,width:P.value,height:A.value,viewBox:[F.value.x,F.value.y,F.value.width,F.value.height].join(" "),role:"img","aria-labelledby":`vue-flow__minimap-${f(a)}`,onClick:te},[I.ariaLabel?(m(),O("title",{key:0,id:`vue-flow__minimap-${f(a)}`},Z(I.ariaLabel),9,zl)):z("",!0),(m(!0),O(X,null,re(f(b),p=>(m(),C(Tl,{id:p.id,key:p.id,f:"",position:p.computedPosition,dimensions:p.dimensions,selected:p.selected,dragging:p.dragging,style:he(p.style),class:Ae(j.value(p)),color:$.value(p),"border-radius":I.nodeBorderRadius,"stroke-color":E.value(p),"stroke-width":I.nodeStrokeWidth,"shape-rendering":f(M),type:p.type,hidden:p.hidden,onClick:N=>oe(N,p),onDblclick:N=>g(N,p),onMouseenter:N=>T(N,p),onMousemove:N=>k(N,p),onMouseleave:N=>R(N,p)},null,8,["id","position","dimensions","selected","dragging","style","class","color","border-radius","stroke-color","stroke-width","shape-rendering","type","hidden","onClick","onDblclick","onMouseenter","onMousemove","onMouseleave"]))),128)),L("path",{class:"vue-flow__minimap-mask",d:ce.value,fill:I.maskColor,stroke:I.maskStrokeColor,"stroke-width":I.maskStrokeWidth,"fill-rule":"evenodd"},null,8,Bl)],8,Rl))]),_:1},8,["position","class"]))}}),Fl={class:"vue-flow-container"},jl={key:0},Ll={key:0},Dl={key:1},Ul=K({__name:"GenericCanvas",props:{canvasId:{},inputResolverOutputs:{},components:{},entities:{},interactive:{type:Boolean,default:!0},editable:{type:Boolean,default:!1},minimap:{type:Boolean,default:!0}},emits:["dragover","init"],setup(e,{emit:t}){const n=t,i=Kt.ensureCreated(...e.canvasId);return Ge(()=>e.inputResolverOutputs,o=>{i.edgeEndpointOffsets.setInputResolverOutputs(o)},{immediate:!0}),n("init",i),(o,r)=>{const a=Ui;return m(),C(a,null,{default:w(()=>[L("div",Fl,[x(f(Xi),{"min-zoom":.1,"max-zoom":1,"snap-to-grid":!0,onDragover:r[1]||(r[1]=s=>n("dragover",s))},{"node-instance":w(s=>[Q(o.$slots,"node-instance",Ve(Ne(s)),void 0,!0)]),"node-inputs":w(s=>[Q(o.$slots,"node-inputs",Ve(Ne(s)),void 0,!0)]),"node-outputs":w(s=>[Q(o.$slots,"node-outputs",Ve(Ne(s)),void 0,!0)]),"node-hub":w(s=>[Q(o.$slots,"node-hub",Ve(Ne(s)),void 0,!0)]),"edge-custom":w(s=>[x(f(Do),Ee(s,{"input-resolver-outputs":e.inputResolverOutputs,components:e.components,entities:e.entities}),null,16,["input-resolver-outputs","components","entities"])]),default:w(()=>[x(f(na),{"pattern-color":"#aaa",gap:32}),e.minimap?(m(),C(f(Hl),{key:0,position:"top-right"})):z("",!0),x(f(dt),{position:"top-left"},{default:w(()=>[e.interactive?(m(),O("div",jl,[r[6]||(r[6]=G(" Hold Control to add nodes to selection and Alt to remove them ",-1)),r[7]||(r[7]=L("br",null,null,-1)),e.editable?(m(),O("div",Ll,"Press Ctrl+V to paste blueprint from clipboard")):z("",!0),f(i).selection.selectedNodeIds.size>0?(m(),O("div",Dl,[G(" Selected "+Z(f(i).selection.selectedNodeIds.size)+" nodes ",1),r[2]||(r[2]=L("br",null,null,-1)),r[3]||(r[3]=G(" Press Escape to clear selection ",-1)),r[4]||(r[4]=L("br",null,null,-1)),r[5]||(r[5]=G(" Press Ctrl+C to copy selected nodes to clipboard ",-1))])):z("",!0)])):z("",!0)]),_:1}),x(f(dt),{position:"bottom-right"},{default:w(()=>[Q(o.$slots,"panel-bottom-right",{},void 0,!0)]),_:3}),x(f(dt),{position:"bottom-left"},{default:w(()=>[Q(o.$slots,"panel-bottom-left",{},void 0,!0)]),_:3}),Q(o.$slots,"overlay",{},void 0,!0),x(f(Ko),{"selection-mode":f(i).selection.selectionMode,"selection-area":f(i).selection.selectionArea},null,8,["selection-mode","selection-area"]),x(lo,{modelValue:f(i).blueprintCopied,"onUpdate:modelValue":r[0]||(r[0]=s=>f(i).blueprintCopied=s),location:"top center",color:"info"},{default:w(()=>[...r[8]||(r[8]=[G(" Blueprint copied to clipboard ",-1)])]),_:1},8,["modelValue"])]),_:3})])]),_:3})}}}),sc=se(Ul,[["__scopeId","data-v-aa30d51a"]]),Xl=["innerHTML"],et=K({__name:"ArgumentDescription",props:{description:{}},setup(e){return(t,n)=>(m(),O("div",{class:"markdown-body pl-4 text-disabled",innerHTML:("renderMarkdown"in t?t.renderMarkdown:f(Yi))(e.description)},null,8,Xl))}}),Yl={class:"editor"},ql=K({__name:"CodeArgumentInput",props:{modelValue:{},argument:{},instance:{},readonly:{type:Boolean}},emits:["update:model-value"],setup(e,{emit:t}){const n=ie("");if(typeof e.modelValue=="string")n.value=e.modelValue;else{const r=Pn.safeParse(e.modelValue)?.data?.value;n.value=r??(e.modelValue==null?"":Ao(e.modelValue))}const i=t,o=r=>{e.argument.kind==="code"?i("update:model-value",r):i("update:model-value",{[qi.Yaml]:!0,value:r}),n.value=r};return(r,a)=>(m(),C(Xn,{title:e.argument.title,color:"#2d2d2d","bg-color":"#1e1e1e"},{title:w(()=>[L("div",null,Z(e.argument.title),1)]),text:w(()=>[e.argument.description?(m(),C(et,{key:0,description:e.argument.description,class:"mb-4"},null,8,["description"])):z("",!0),L("div",Yl,[e.argument.kind==="code"?(m(),C(f(fn),{key:0,value:f(n),"onUpdate:value":o,theme:"dark-plus",class:"editor",language:e.argument.language??"text",options:{tabSize:2,readOnly:e.readonly}},null,8,["value","language","options"])):(m(),C(f(fn),{key:1,value:f(n),"onUpdate:value":o,theme:"dark-plus",language:"yaml",path:`${e.instance.type}.${e.argument.name}`,options:{tabSize:2,readOnly:e.readonly}},null,8,["value","path","options"]))])]),_:1},8,["title"]))}}),Ai=se(ql,[["__scopeId","data-v-2a9326e6"]]),$t=K({__name:"PlainArgumentInput",props:Me({argument:{},instance:{},isSecret:{type:Boolean},readonly:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=tt(e,"modelValue");t.value===void 0&&e.argument.default!==void 0&&(t.value=e.argument.default);const n=ie(!1),i=S(()=>e.isSecret?n.value?"text":"password":"text"),o=S(()=>e.argument.default!=null?String(e.argument.default):"");return(r,a)=>(m(),O("div",null,[e.argument.kind==="input"&&e.argument.type==="string"?(m(),C(Yn,{key:0,modelValue:t.value,"onUpdate:modelValue":a[1]||(a[1]=s=>t.value=s),label:e.argument.title,placeholder:f(o),type:f(i),variant:"outlined",density:"compact","hide-details":"",readonly:e.readonly},{"append-inner":w(()=>[e.isSecret?(m(),C(ae,{key:0,onClick:a[0]||(a[0]=s=>n.value=!f(n))},{default:w(()=>[G(Z(f(n)?"mdi-eye-off":"mdi-eye"),1)]),_:1})):z("",!0)]),_:1},8,["modelValue","label","placeholder","type","readonly"])):e.argument.kind==="input"&&(e.argument.type==="number"||e.argument.type==="integer")?(m(),C(uo,{key:1,modelValue:t.value,"onUpdate:modelValue":a[3]||(a[3]=s=>t.value=s),label:e.argument.title,placeholder:f(o),variant:"outlined",density:"compact","hide-details":"",readonly:e.readonly},{"append-inner":w(()=>[e.isSecret?(m(),C(ae,{key:0,onClick:a[2]||(a[2]=s=>n.value=!f(n))},{default:w(()=>[G(Z(f(n)?"mdi-eye-off":"mdi-eye"),1)]),_:1})):z("",!0)]),_:1},8,["modelValue","label","placeholder","readonly"])):e.argument.kind==="combobox"?(m(),C(co,{key:2,modelValue:t.value,"onUpdate:modelValue":a[4]||(a[4]=s=>t.value=s),label:e.argument.title,placeholder:f(o),variant:"outlined",density:"compact",multiple:"",chips:"","hide-details":"",disabled:e.readonly},null,8,["modelValue","label","placeholder","disabled"])):e.argument.kind==="select"?(m(),C(qn,{key:3,modelValue:t.value,"onUpdate:modelValue":a[5]||(a[5]=s=>t.value=s),label:e.argument.title,placeholder:f(o),items:e.argument.enum,variant:"outlined",density:"compact",multiple:e.argument.multiple,"hide-details":"",disabled:e.readonly},null,8,["modelValue","label","placeholder","items","multiple","disabled"])):(m(),C(fo,{key:4,modelValue:t.value,"onUpdate:modelValue":a[6]||(a[6]=s=>t.value=s),label:e.argument.title,density:"compact","hide-details":"",disabled:e.readonly},null,8,["modelValue","label","disabled"])),e.argument.description?(m(),C(et,{key:5,class:"mt-2",description:e.argument.description},null,8,["description"])):z("",!0)]))}}),Wl={class:"d-flex flex-column ga-4"},Mi=K({__name:"GroupArgumentInput",props:Me({argument:{},instance:{},isSecret:{type:Boolean},readonly:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=tt(e,"modelValue");t.value===void 0&&(t.value=e.argument.default??{});const n=(o,r)=>{t.value={...t.value,[o]:r}},i=S(()=>e.argument.discriminator?t.value[e.argument.discriminator.name]??"":"");for(const o of e.argument.fields[i.value]??[])t.value[o.name]===void 0&&o.default!==void 0&&(t.value[o.name]=o.default);return Ge(i,o=>{if(!e.argument.discriminator)return;const r=e.argument.fields[o]??[],a={[e.argument.discriminator.name]:o};for(const s of r)a[s.name]=s.default;t.value=a}),(o,r)=>(m(),C(Xn,{color:"#2d2d2d","bg-color":"#2d2d2d"},{title:w(()=>[L("div",null,Z(e.argument.title),1)]),text:w(()=>[e.argument.description?(m(),C(et,{key:0,description:e.argument.description,class:"mb-4"},null,8,["description"])):z("",!0),L("div",Wl,[e.argument.discriminator?(m(),O(X,{key:1},[L("div",null,[x(qn,{"model-value":t.value[e.argument.discriminator.name],items:Object.keys(e.argument.fields),label:e.argument.discriminator.title,variant:"outlined",density:"compact","hide-details":"",disabled:e.readonly,"onUpdate:modelValue":r[0]||(r[0]=a=>n(e.argument.discriminator.name,a))},null,8,["model-value","items","label","disabled"]),e.argument.discriminator.description?(m(),C(et,{key:0,class:"mt-2",description:e.argument.discriminator.description},null,8,["description"])):z("",!0)]),(m(!0),O(X,null,re(e.argument.fields[f(i)]??[],a=>(m(),C($t,{"model-value":t.value[a.name],key:a.name,argument:a,instance:e.instance,"is-secret":e.isSecret,readonly:e.readonly,"onUpdate:modelValue":s=>n(a.name,s)},null,8,["model-value","argument","instance","is-secret","readonly","onUpdate:modelValue"]))),128))],64)):(m(!0),O(X,{key:0},re(e.argument.fields[""],a=>(m(),C($t,{"model-value":t.value[a.name],key:a.name,argument:a,instance:e.instance,"is-secret":e.isSecret,readonly:e.readonly,"onUpdate:modelValue":s=>n(a.name,s)},null,8,["model-value","argument","instance","is-secret","readonly","onUpdate:modelValue"]))),128))])]),_:1}))}});function Ni(e,t){const n={...e};for(const i in t){const o=t[i];o.schema.default&&n[i]===void 0&&(n[i]=Be(o.schema.default))}return n}function Oi(e,t){if(typeof e!="object"||e===null||t.type!=="object"||!t.properties)return e;const n={};for(const i in e){const o=t.properties[i],r=e[i];Ti(r,o)||(n[i]=Oi(r,o))}return n}function Ti(e,t){const n=Pn.safeParse(e);if(n.success)return n.data.value.trim()==="";if(t.default!==void 0){if(e==null)return!0;const i=JSON.stringify(t.default),o=JSON.stringify(Oi(e,t));if(i===o)return!0}return t.type==="boolean"?!1:Array.isArray(e)?e.length===0:typeof e=="object"?e===null||Object.keys(e).length===0:typeof e=="string"?e.trim()==="":typeof e=="number"?isNaN(e)||e===0:typeof e>"u"}function Ri(e,t){const n={};for(const i in e)t[i]&&(Ti(e[i],t[i].schema)||(n[i]=e[i]));return n}function sn(e){if(e.type==="string"||e.type==="number"||e.type==="integer")return e.type;const t=(Array.isArray(e.anyOf)?e.anyOf:void 0)??(Array.isArray(e.oneOf)?e.oneOf:void 0);if(!t)return;const n=t.map(o=>{if(typeof o=="object")return sn(o)}),i=n[0];return i&&n.every(o=>o===i)?i:void 0}function Gl(e){return e.type!=="array"||typeof e.items!="object"||Array.isArray(e.items)?!1:sn(e.items)==="string"}function Kl(e,t){return e.type==="object"?e.complex===!0:e.type!=="array"?!1:e.complex===!0||t.treatStringArraysAsStructured&&Gl(e)}function gt(e,t,n,i,o){if(i.type==="boolean")return{name:e,title:t,description:n,kind:"checkbox",default:o??i.default??!1};if(i.type==="array"){if(typeof i.items!="object"||Array.isArray(i.items))return null;const r=sn(i.items);if(r)return i.items.enum?{name:e,title:t,description:n,kind:"select",type:r,enum:i.items.enum,multiple:!0,default:o??i.default}:{name:e,title:t,description:n,kind:"combobox",type:r,default:o??i.default}}return i.type!=="string"&&i.type!=="number"&&i.type!=="integer"?null:i.enum?{name:e,title:t,description:n,kind:"select",type:i.type,enum:i.enum,multiple:!1,default:o??i.default}:{name:e,title:t,description:n,kind:"input",type:i.type,default:o??i.default}}function Jl(e){return e.type!=="object"?!1:!!(e.additionalProperties&&Object.keys(e.additionalProperties).length>0||e.propertyNames&&Object.keys(e.propertyNames).length>0||e.patternProperties&&Object.keys(e.patternProperties).length>0)}function Zl(e){const t=new Map;for(const n of e)if(!(n.type!=="object"||!n.properties))for(const[i,o]of Object.entries(n.properties)){if(typeof o!="object"||o.const===void 0)continue;const r=t.get(i)??0;t.set(i,r+1)}for(const[n,i]of t.entries()){if(!i||i<e.length)continue;const o=e[0].properties?.[n];if(o&&typeof o=="object"&&o.const!==void 0)return gt(n,o.title??qe(n),o.description,o)}return null}function zi(e,t,n={}){const i=[],o=[];for(const[r,a]of Object.entries(t)){const s=(Array.isArray(a.schema.anyOf)?a.schema.anyOf:void 0)??(Array.isArray(a.schema.oneOf)?a.schema.oneOf:void 0);if(s){const d=Zl(s);if(d){const l={};for(const c of s){if(typeof c!="object"||!c.properties)continue;const h=c.properties[d.name].const?.toString();if(h===void 0)continue;const b=[];for(const[V,P]of Object.entries(c.properties)){if(typeof P!="object"||V===d.name)continue;const A=gt(V,P.title??qe(V),P.description,P,c.default?.[V]);A&&b.push(A)}l[h]=b}Object.keys(l).length>0&&o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"group",discriminator:d,fields:l,default:Be(a.schema.default)});continue}}if(Kl(a.schema,n)){zt(e,r,a.schema),o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"structured",default:Be(a.schema.default)});continue}if(a.schema.type==="object"){if(Jl(a.schema))zt(e,r,a.schema),o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"structured",default:Be(a.schema.default)});else{const d=[];for(const[l,c]of Object.entries(a.schema.properties??{})){if(typeof c!="object")continue;const v=gt(l,c.title??qe(l),c.description,c,a.schema.default?.[l]);v&&d.push(v)}d.length>0&&o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"group",discriminator:void 0,fields:{"":d},default:Be(a.schema.default)})}continue}if(a.schema.type==="string"&&(a.schema.language||a.schema.multiline)){o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"code",language:Wi().optional().safeParse(a.schema.language).data,default:a.schema.default});continue}const u=gt(r,a.meta.title,a.meta.description??a.schema.description,a.schema);if(u){i.push(u);continue}zt(e,r,a.schema),o.push({name:r,title:a.meta.title,description:a.meta.description??a.schema.description,kind:"structured",default:Be(a.schema.default)})}return{plainArguments:i,expandableArguments:o}}const Ql="The name of the instance. It must be unique within the same type across the project.",_l=K({__name:"InstanceArgumentEditor",props:Me({instance:{},component:{},state:{},allInstances:{},readonly:{type:Boolean,default:!1}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:Me(["save"],["update:modelValue"]),setup(e,{emit:t}){const n=tt(e,"modelValue"),i=ie(e.instance.name),o=Wn(Ni(e.instance.args??{},e.component.args)),r=async()=>{n.value=!1,await pt(),Object.assign(o,e.instance.args)},a=t,s=async()=>{if(e.readonly){n.value=!1;return}const v=Ri(o,e.component.args);a("save",e.instance.id,i.value,v),await pt(),n.value=!1},u=[v=>!!v||"Name is required",v=>v===e.instance.name||!e.allInstances.has(Gi(e.instance.type,v))||"Instance with this name and type already exists",v=>{const h=Ki.safeParse(v);return h.success||h.error.issues[0].message}],{plainArguments:d,expandableArguments:l}=zi(e.component.type,e.component.args),c=ie(!0);return(v,h)=>(m(),C(Gn,{modelValue:n.value,"onUpdate:modelValue":h[2]||(h[2]=b=>n.value=b),class:"dialog",fullscreen:""},{default:w(()=>[x(Jt,{variant:"flat",color:e.component.meta.color??"#2d2d2d",title:e.component.meta.title,subtitle:e.component.meta.description},{prepend:w(()=>[x(f(At),{meta:e.component.meta},null,8,["meta"])]),default:w(()=>[x(ke),x(Vt,{class:"d-flex flex-column pt-4 ga-4 dialog-scroll"},{default:w(()=>[x(ho,{modelValue:f(c),"onUpdate:modelValue":h[1]||(h[1]=b=>Te(c)?c.value=b:null)},{default:w(()=>[x(Yn,{modelValue:f(i),"onUpdate:modelValue":h[0]||(h[0]=b=>Te(i)?i.value=b:null),label:"Name",variant:"outlined",density:"compact",readonly:e.readonly,rules:u},null,8,["modelValue","readonly"]),x(et,{class:"mt-2",description:Ql})]),_:1},8,["modelValue"]),(m(!0),O(X,null,re(f(d),b=>(m(),C($t,{key:b.name,modelValue:f(o)[b.name],"onUpdate:modelValue":V=>f(o)[b.name]=V,argument:b,instance:e.instance,readonly:e.readonly},null,8,["modelValue","onUpdate:modelValue","argument","instance","readonly"]))),128)),f(l).length>0?(m(),C(Kn,{key:0,elevation:0},{default:w(()=>[(m(!0),O(X,null,re(f(l),b=>(m(),O(X,{key:b.name},[b.kind==="group"?(m(),C(Mi,{key:0,modelValue:f(o)[b.name],"onUpdate:modelValue":V=>f(o)[b.name]=V,argument:b,instance:e.instance,readonly:e.readonly},null,8,["modelValue","onUpdate:modelValue","argument","instance","readonly"])):(m(),C(Ai,{key:1,modelValue:f(o)[b.name],"onUpdate:modelValue":V=>f(o)[b.name]=V,argument:b,instance:e.instance,readonly:e.readonly},null,8,["modelValue","onUpdate:modelValue","argument","instance","readonly"]))],64))),128))]),_:1})):z("",!0)]),_:1}),x(ke),x(Et,{class:"d-flex py-0"},{default:w(()=>[x(Ke),x(ee,{onClick:r},{default:w(()=>[...h[3]||(h[3]=[G("Cancel",-1)])]),_:1}),e.readonly?z("",!0):(m(),C(ee,{key:0,onClick:s,color:"primary",disabled:!f(c)},{default:w(()=>[...h[4]||(h[4]=[G("Save",-1)])]),_:1},8,["disabled"]))]),_:1})]),_:1},8,["color","title","subtitle"])]),_:1},8,["modelValue"]))}}),eu=se(_l,[["__scopeId","data-v-0bc270f2"]]),tu=K({__name:"InstanceSecretEditor",props:Me({instance:{},state:{},component:{},initialSecrets:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:Me(["save"],["update:modelValue"]),setup(e,{emit:t}){const n=tt(e,"modelValue"),i=Wn(Ni(e.initialSecrets,e.component.secrets)),o=t,r=async()=>{n.value=!1,await pt(),Object.assign(i,e.initialSecrets)},a=async()=>{const d=Ri(i,e.component.secrets);e.state&&o("save",e.state.id,d),await pt(),n.value=!1},{plainArguments:s,expandableArguments:u}=zi(e.component.type,e.component.secrets,{treatStringArraysAsStructured:!0});return(d,l)=>(m(),C(Gn,{modelValue:n.value,"onUpdate:modelValue":l[0]||(l[0]=c=>n.value=c),class:"dialog"},{default:w(()=>[x(Jt,{variant:"flat",color:e.component.meta.color??"#2d2d2d",title:e.component.meta.title,subtitle:e.component.meta.description},{prepend:w(()=>[x(f(At),{meta:e.component.meta},null,8,["meta"])]),default:w(()=>[x(ke),x(Vt,{class:"d-flex flex-column pt-4 ga-4",style:{"max-height":"60vh",overflow:"scroll"}},{default:w(()=>[(m(!0),O(X,null,re(f(s),c=>(m(),C($t,{key:c.name,modelValue:f(i)[c.name],"onUpdate:modelValue":v=>f(i)[c.name]=v,argument:c,instance:e.instance,"is-secret":""},null,8,["modelValue","onUpdate:modelValue","argument","instance"]))),128)),f(u).length>0?(m(),C(Kn,{key:0,elevation:0},{default:w(()=>[(m(!0),O(X,null,re(f(u),c=>(m(),O(X,{key:c.name},[c.kind==="group"?(m(),C(Mi,{key:0,argument:c,instance:e.instance,modelValue:f(i)[c.name],"onUpdate:modelValue":v=>f(i)[c.name]=v,"is-secret":""},null,8,["argument","instance","modelValue","onUpdate:modelValue"])):(m(),C(Ai,{key:1,modelValue:f(i)[c.name],"onUpdate:modelValue":v=>f(i)[c.name]=v,argument:c,instance:e.instance},null,8,["modelValue","onUpdate:modelValue","argument","instance"]))],64))),128))]),_:1})):z("",!0)]),_:1}),x(ke),x(Et,{class:"d-flex py-0"},{default:w(()=>[x(Ke),x(ee,{onClick:r},{default:w(()=>[...l[1]||(l[1]=[G("Cancel",-1)])]),_:1}),x(ee,{onClick:a,color:"primary"},{default:w(()=>[...l[2]||(l[2]=[G("Save",-1)])]),_:1})]),_:1})]),_:1},8,["color","title","subtitle"])]),_:1},8,["modelValue"]))}}),nu=se(tu,[["__scopeId","data-v-0bd317b9"]]);function iu(e,t){return Array.isArray(e)?e.length===0?"[]":"[...]":typeof e=="object"?"{...}":typeof e=="string"&&t.language?"...":String(e)}const ou={class:"d-flex text-disabled text-start text-no-wrap"},au={key:0,class:"d-flex ml-auto text-error"},ru={key:1,class:"d-flex ml-auto text-truncate pl-4"},su=K({__name:"InstanceNodeArgumentList",props:{instance:{},component:{}},setup(e){const t=S(()=>{const n=[];for(const[i,o]of Object.entries(e.component.args))!o.required&&(e.instance.args?.[i]==null||e.instance.args?.[i]===o.schema.default)||n.push({name:o.meta.title,value:iu(e.instance.args?.[i],o.schema),requiredAndNotSet:o.required&&e.instance.args?.[i]==null});return n});return(n,i)=>f(t).length>0?(m(),O(X,{key:0},[x(ke),x(Vt,{class:"d-flex flex-column gap-2 px-2 py-2"},{default:w(()=>[(m(!0),O(X,null,re(f(t),({name:o,value:r,requiredAndNotSet:a})=>(m(),O("div",{key:o,class:"d-flex flex-row"},[L("div",ou,Z(o),1),a?(m(),O("div",au,"not set")):(m(),O("div",ru,Z(r),1))]))),128))]),_:1})],64)):z("",!0)}}),lu=K({__name:"InstanceStatusFieldItem",props:{item:{}},setup(e){return(t,n)=>(m(),C(mo,{title:e.item},{append:w(()=>[x(f(_n),{content:e.item},null,8,["content"])]),_:1},8,["title"]))}}),uu={class:"d-flex flex-row"},cu={class:"d-flex text-disabled text-start text-no-wrap text-secondary"},du=["title"],fu=K({__name:"InstanceStatusField",props:{statusField:{}},setup(e){const t=S(()=>Array.isArray(e.statusField.value)?e.statusField.value.join(", "):String(e.statusField.value)),n=S(()=>Array.isArray(e.statusField.value)?e.statusField.value.length===0?"[]":e.statusField.value.length===1?e.statusField.value[0]:`${e.statusField.value.length} items`:String(e.statusField.value)),i=S(()=>Array.isArray(e.statusField.value)?e.statusField.value.length>1:!1);return(o,r)=>(m(),O("div",uu,[L("div",cu,[e.statusField.meta.icon?(m(),C(f(Hn),{key:0,icon:e.statusField.meta.icon,color:e.statusField.meta.iconColor,width:16,class:"mr-1"},null,8,["icon","color"])):z("",!0),G(" "+Z(e.statusField.meta.title),1)]),x(Jn,{"open-on-hover":"","close-on-content-click":!1,location:"end",disabled:!f(i)},{activator:w(({props:a})=>[L("div",Ee(a,{class:"d-flex ml-auto text-truncate pl-4",title:f(i)?"":f(t)}),[L("span",{class:Ae(["text-truncate",{underline:f(i)}])},Z(f(n)),3)],16,du)]),default:w(()=>[x(vo,{density:"compact",variant:"text"},{default:w(()=>[(m(!0),O(X,null,re(e.statusField.value,(a,s)=>(m(),C(lu,{key:s,item:String(a)},null,8,["item"]))),128))]),_:1})]),_:1},8,["disabled"]),x(f(_n),{content:f(t)},null,8,["content"])]))}}),hu=se(fu,[["__scopeId","data-v-74fbe626"]]),mu=K({__name:"InstanceStatusFieldList",props:{instance:{},state:{}},setup(e){const t=S(()=>e.state.statusFields?.filter(n=>n.value===void 0?!1:n.complementaryTo?!e.instance.args?.[n.complementaryTo]||JSON.stringify(e.instance.args[n.complementaryTo])!==JSON.stringify(n.value):!0)??[]);return(n,i)=>f(t).length>0?(m(),O(X,{key:0},[x(ke),x(Vt,{class:"d-flex flex-column gap-2 px-2 py-2"},{default:w(()=>[(m(!0),O(X,null,re(f(t),o=>(m(),C(hu,{key:o.name,"status-field":o},null,8,["status-field"]))),128))]),_:1})],64)):z("",!0)}}),vu=K({__name:"InstanceNodeActions",props:{component:{},state:{},terminalIds:{},locked:{type:Boolean},editable:{type:Boolean},canOpenArgsEditor:{type:Boolean},canEditSecrets:{type:Boolean},hideShowComposite:{type:Boolean},loadingSecrets:{type:Boolean},loadingTerminal:{type:Boolean},loadingPage:{type:Boolean},loadingPanel:{type:Boolean},ghost:{type:Boolean,default:!1}},emits:["open:args","open:secrets","open:terminal","open:page","open:panel","open:composite","operation:launch","operation:cancel"],setup(e,{emit:t}){const n=S(()=>Fn(e.component)&&Object.keys(e.component.secrets).length>0),i=S(()=>Zi(e.state?.lastOperationState?.status)),o=S(()=>e.state?.evaluationState&&e.state.evaluationState.status==="evaluating"),r=S(()=>e.state&&(o.value||e.state.lastOperationState?.status==="pending"||e.state.lastOperationState?.totalResourceCount===0||e.state.lastOperationState?.currentResourceCount===0||e.state.lastOperationState?.currentResourceCount===e.state.lastOperationState?.totalResourceCount)),a=S(()=>{if(!e.state?.lastOperationState)return 0;const{currentResourceCount:v,totalResourceCount:h}=e.state.lastOperationState;return v&&h?v/h*100:0}),s=S(()=>(e.terminalIds??e.state?.terminalIds??[]).length>0),u=S(()=>e.state?.pageIds&&e.state.pageIds.length>0),d=S(()=>e.state?.panelIds&&e.state.panelIds.length>0),l=S(()=>e.state?.lastOperationState?.status==="pending"?"":e.state?.lastOperationState?.status==="destroying"?"error":"primary"),c=t;return(v,h)=>(m(),C(Et,{class:"py-0 h-auto"},{default:w(()=>[Q(v.$slots,"status",{},()=>[x(pe,{color:""},{default:w(()=>[x(f(Mo),{size:20,icon:"mdi-circle-outline"})]),_:1})],!0),x(Ke),!e.ghost&&!f(Ji)(e.state)&&!f(i)?(m(),C(ee,{key:0,size:"small",variant:"tonal",class:"toolbar-button",title:"Create",disabled:e.locked,onClick:h[0]||(h[0]=b=>c("operation:launch","update"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[9]||(h[9]=[G("mdi-rocket-launch",-1)])]),_:1})]),_:1},8,["disabled"])):!e.ghost&&!f(i)?(m(),C(ee,{key:1,size:"small",variant:"tonal",class:"toolbar-button",title:"Update",disabled:e.locked,onClick:h[1]||(h[1]=b=>c("operation:launch","update"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[10]||(h[10]=[G("mdi-play",-1)])]),_:1})]),_:1},8,["disabled"])):z("",!0),f(i)?(m(),C(ee,{key:2,size:"small",variant:"tonal",color:"error",class:"toolbar-button",title:"Cancel Operation",onClick:h[2]||(h[2]=b=>c("operation:cancel"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[11]||(h[11]=[G("mdi-cancel",-1)])]),_:1})]),_:1})):z("",!0),e.canOpenArgsEditor&&!e.ghost&&!f(i)?(m(),C(ee,{key:3,size:"small",variant:"tonal",class:"toolbar-button",title:"Edit Arguments",locked:e.locked,onClick:h[3]||(h[3]=b=>c("open:args"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[12]||(h[12]=[G("mdi-pencil",-1)])]),_:1})]),_:1},8,["locked"])):z("",!0),e.canEditSecrets&&!e.ghost&&!f(i)&&f(n)?(m(),C(ee,{key:4,size:"small",variant:"tonal",class:"toolbar-button",loading:e.loadingSecrets,locked:e.locked,title:"Edit Secrets",onClick:h[4]||(h[4]=b=>c("open:secrets"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[13]||(h[13]=[G("mdi-key",-1)])]),_:1})]),_:1},8,["loading","locked"])):z("",!0),!e.ghost&&f(s)?(m(),C(ee,{key:5,size:"small",variant:"tonal",class:"toolbar-button",loading:e.loadingTerminal,title:"Open Terminal",onClick:h[5]||(h[5]=b=>c("open:terminal"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[14]||(h[14]=[G("mdi-console",-1)])]),_:1})]),_:1},8,["loading"])):z("",!0),!e.ghost&&f(u)?(m(),C(ee,{key:6,size:"small",variant:"tonal",class:"toolbar-button",title:"Open Page",loading:e.loadingPage,onClick:h[6]||(h[6]=b=>c("open:page"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[15]||(h[15]=[G("mdi-file-document",-1)])]),_:1})]),_:1},8,["loading"])):z("",!0),!e.ghost&&f(d)?(m(),C(ee,{key:7,size:"small",variant:"tonal",class:"toolbar-button",title:"Open Panel",loading:e.loadingPanel,onClick:h[7]||(h[7]=b=>c("open:panel"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[16]||(h[16]=[G("mdi-view-dashboard-outline",-1)])]),_:1})]),_:1},8,["loading"])):z("",!0),e.component.kind==="composite"&&!e.hideShowComposite?(m(),C(ee,{key:8,size:"small",variant:"tonal",class:"toolbar-button",title:"Show Structure",onClick:h[8]||(h[8]=b=>c("open:composite"))},{default:w(()=>[x(ae,null,{default:w(()=>[...h[17]||(h[17]=[G("mdi-cube-outline",-1)])]),_:1})]),_:1})):z("",!0),f(o)||f(i)?(m(),C(go,{key:9,size:"small",color:f(l),indeterminate:f(r),"model-value":f(a),absolute:"",location:"bottom"},null,8,["color","indeterminate","model-value"])):z("",!0)]),_:3}))}}),gu=se(vu,[["__scopeId","data-v-354a1325"]]),yu={key:0,class:"text-h6"},pu={key:1},wu=K({__name:"InstanceNodeLockBadge",props:{instanceLock:{}},setup(e){return(t,n)=>(m(),C(Zn,{disabled:!e.instanceLock.meta.title&&!e.instanceLock.meta.description},{activator:w(({props:i})=>[x(pe,Ve(Ne(i)),{default:w(()=>[x(ae,null,{default:w(()=>[...n[0]||(n[0]=[G("mdi-lock",-1)])]),_:1}),e.instanceLock.meta.icon?(m(),C(f(Hn),{key:0,class:"ml-1",icon:e.instanceLock.meta.icon,width:18,color:e.instanceLock.meta.iconColor},null,8,["icon","color"])):z("",!0)]),_:1},16)]),default:w(()=>[e.instanceLock.meta.title?(m(),O("div",yu,Z(e.instanceLock.meta.title),1)):z("",!0),e.instanceLock.meta.description?(m(),O("div",pu,Z(e.instanceLock.meta.description),1)):z("",!0)]),_:1},8,["disabled"]))}}),bu={key:0,class:"d-flex flex-column align-center justify-center",style:{width:"100%",height:"100%"}},ku={key:1,class:"d-flex flex-column align-center justify-center",style:{width:"100%",height:"100%"}},xu={class:"pa-3 text-center",style:{maxWidth:"720px"}},Iu={key:2,class:"d-flex flex-column align-center justify-center",style:{width:"100%",height:"100%"}},Su={class:"d-flex flex-column",style:{width:"240px",height:"100%",overflow:"auto"}},$u={class:"d-flex flex-column",style:{gap:"2px",minWidth:0,width:"100%",alignItems:"flex-start"}},Cu={class:"d-flex",style:{gap:"8px",minWidth:0,width:"100%",alignItems:"center"}},Vu={key:0,class:"d-flex"},Eu={class:"d-flex flex-column",style:{gap:"2px",minWidth:0,width:"100%",alignItems:"flex-start"}},Au={class:"text-truncate",style:{maxWidth:"220px"}},Mu={key:0,class:"text-caption text-medium-emphasis text-truncate",style:{maxWidth:"220px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Nu={class:"d-flex flex-column",style:{flex:1,minWidth:0}},Ou={class:"d-flex flex-column",style:{height:"480px"}},Tu={class:"flex-grow-1",style:{minHeight:0}},Bi=K({__name:"ReferencedEntitiesPopup",props:{canLoad:{type:Boolean},cacheKey:{},entities:{},load:{type:Function}},setup(e){const t=ie(!1),n=ie(!1),i=ie(!1),o=ie(null),r=ie([]),a=Zt("content"),s=ie(null),u=M=>{if(M&&typeof M=="object"&&"message"in M){const $=M.message;if(typeof $=="string"&&$.length>0)return $}if(typeof M=="string"&&M.length>0)return M;try{return JSON.stringify(M)}catch{return"Unknown error"}},d=()=>{n.value=!1,i.value=!1,o.value=null,r.value=[],s.value=null};Ge(()=>e.cacheKey,()=>{d()});async function l(){if(!(!e.canLoad||n.value||i.value)){o.value=null,n.value=!0;try{r.value=await e.load(),i.value=!0,!s.value&&r.value.length>0&&(s.value=r.value[0].snapshotId)}catch(M){o.value=u(M)}finally{n.value=!1}}}Ge(t,M=>{M?l():d()});const c=M=>{e.canLoad&&(M.preventDefault(),M.stopPropagation(),t.value=!0)},v=M=>{if(!t.value)return;const $=M.composedPath();if(a.value&&$.includes(a.value))return;if(!(M.target instanceof Node)){t.value=!1;return}t.value=!1};yo(()=>{window.addEventListener("contextmenu",v,{capture:!0})}),un(()=>{window.removeEventListener("contextmenu",v,{capture:!0})});const h=Qi(M=>{M.kind==="openEntitySnapshot"&&(t.value=!1)});un(()=>{h()});const b=M=>e.entities[M]?.meta,V=M=>No({entityType:M.entityType,modelMeta:b(M.entityType),overrideMeta:Oo(M.content)}),P=M=>{const $=b(M.entityType),E=$?.color,j=V(M).metaForIcon?.iconColor??$?.iconColor;return E??j},A=S(()=>{const M=s.value;if(!M)return"primary";const $=r.value.find(E=>E.snapshotId===M);return $?P($)??"primary":"primary"});return(M,$)=>(m(),C(Jn,{modelValue:f(t),"onUpdate:modelValue":$[2]||($[2]=E=>Te(t)?t.value=E:null),"open-on-click":!1,"close-on-content-click":!1,location:"end",disabled:!e.canLoad},{activator:w(({props:E})=>[Q(M.$slots,"activator",{props:{...E,onContextmenu:c},opened:f(t)})]),default:w(()=>[x(po,{ref:"content",color:"black",class:"hs-output-popup d-flex",style:{width:"800px",height:"480px"}},{default:w(()=>[e.canLoad?f(o)?(m(),O("div",ku,[L("div",xu,[$[4]||($[4]=L("div",{class:"text-medium-emphasis"},"Failed to load referenced entities",-1)),x(wo,{type:"error",density:"compact",class:"mt-2"},{default:w(()=>[G(Z(f(o)),1)]),_:1})])])):f(i)&&f(r).length===0?(m(),O("div",Iu,[...$[5]||($[5]=[L("div",{class:"pa-3 text-center"},[L("div",{class:"text-medium-emphasis"},"No referenced entities")],-1)])])):(m(),O(X,{key:3},[L("div",Su,[x(bo,{modelValue:f(s),"onUpdate:modelValue":$[0]||($[0]=E=>Te(s)?s.value=E:null),color:f(A),direction:"vertical"},{default:w(()=>[(m(!0),O(X,null,re(f(r),E=>(m(),C(ko,{key:E.snapshotId,value:E.snapshotId,class:"justify-start"},{default:w(()=>[L("div",$u,[L("div",Cu,[V(E).metaForIcon?(m(),O("div",Vu,[x(f(At),{meta:V(E).metaForIcon,size:24},null,8,["meta"])])):z("",!0),L("div",Eu,[L("span",Au,Z(V(E).title),1),V(E).subtitle?(m(),O("div",Mu,Z(V(E).subtitle),1)):z("",!0)])])])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","color"])]),x(ke,{vertical:""}),L("div",Nu,[x(xo,{modelValue:f(s),"onUpdate:modelValue":$[1]||($[1]=E=>Te(s)?s.value=E:null),style:{flex:1,minWidth:0}},{default:w(()=>[(m(!0),O(X,null,re(f(r),E=>(m(),C(Io,{key:E.snapshotId,value:E.snapshotId},{default:w(()=>[L("div",Ou,[L("div",Tu,[Q(M.$slots,"content",{entity:E})])])]),_:2},1032,["value"]))),128))]),_:3},8,["modelValue"])])],64)):(m(),O("div",bu,[...$[3]||($[3]=[L("div",{class:"pa-3 text-center"},[L("div",{class:"text-medium-emphasis"},"Unavailable"),L("div",{class:"text-medium-emphasis"},"Missing project/state context")],-1)])]))]),_:3},512)]),_:3},8,["modelValue","disabled"]))}}),Ru=K({__name:"InstanceNodeOutputChipPopup",props:{projectId:{},stateId:{},output:{},outputSources:{},entities:{}},setup(e){const{$client:t}=Qn(),n=e.projectId?jn(e.projectId):null,i=S(()=>{if(!e.projectId||!n)return[];if(e.outputSources&&e.outputSources.length>0){const s=[];for(const l of e.outputSources){const c=n.instanceStates.get(l.instanceId)?.id;c&&s.push({stateId:c,output:l.output})}const u=new Set,d=[];for(const l of s){const c=`${l.stateId}:${l.output}`;u.has(c)||(u.add(c),d.push(l))}return d}return e.stateId?[{stateId:e.stateId,output:e.output}]:[]}),o=S(()=>i.value.length>0),r=S(()=>o.value?i.value.map(s=>`${s.stateId}:${s.output}`).sort().join("|"):""),a=async()=>{if(!o.value)return[];const s=await Promise.all(i.value.map(async l=>await t.state.getOutputReferencedEntities.query({projectId:e.projectId,stateId:l.stateId,output:l.output}))),u=[],d=new Set;for(const l of s)for(const c of l)d.has(c.snapshotId)||(d.add(c.snapshotId),u.push(c));return u};return(s,u)=>(m(),C(Bi,{"can-load":f(o),"cache-key":f(r),entities:e.entities,load:a},{activator:w(d=>[Q(s.$slots,"activator",Ve(Ne(d)))]),content:w(({entity:d})=>[x(ei,{entity:d,"project-id":e.projectId},null,8,["entity","project-id"])]),_:3},8,["can-load","cache-key","entities"]))}}),On=K({__name:"InstanceNodeInputChipPopup",props:{projectId:{},resolvedInputs:{},entities:{}},setup(e){const{$client:t}=Qn(),n=jn(e.projectId),i=S(()=>new Set(e.resolvedInputs.map(u=>u.type).filter(Boolean))),o=S(()=>{const u=[];for(const c of e.resolvedInputs){const v=c.input.instanceId,h=c.input.output,b=n.instanceStates.get(v)?.id;b&&u.push({stateId:b,output:h})}const d=new Set,l=[];for(const c of u){const v=`${c.stateId}:${c.output}`;d.has(v)||(d.add(v),l.push(c))}return l}),r=S(()=>o.value.length>0),a=S(()=>{if(!r.value)return"";const u=o.value.map(l=>`${l.stateId}:${l.output}`).sort().join("|"),d=Array.from(i.value).sort().join(",");return`${u}#${d}`}),s=async()=>{if(!r.value)return[];const u=await Promise.all(o.value.map(async c=>await t.state.getOutputReferencedEntities.query({projectId:e.projectId,stateId:c.stateId,output:c.output}))),d=[],l=new Set;for(const c of u)for(const v of c)l.has(v.snapshotId)||(l.add(v.snapshotId),d.push(v));return i.value.size===0?[]:d.filter(c=>i.value.has(c.entityType))};return(u,d)=>(m(),C(Bi,{"can-load":f(r),"cache-key":f(a),entities:e.entities,load:s},{activator:w(l=>[Q(u.$slots,"activator",Ve(Ne(l)))]),content:w(({entity:l})=>[x(ei,{entity:l,"project-id":e.projectId},null,8,["entity","project-id"])]),_:3},8,["can-load","cache-key","entities"]))}}),zu=K({__name:"InstanceNodeIOSideHandle",props:{name:{},side:{},handleColor:{},isValidConnection:{type:Function},compact:{type:Boolean}},setup(e){return(t,n)=>(m(),O(X,null,[x(f(Rn),{id:e.name,type:e.side==="left"?"target":"source",position:e.side==="left"?f(yt).Left:f(yt).Right,class:Ae(["handle",[e.side==="left"?"left-handle":"right-handle",e.compact?"handle-compact":""]]),"is-valid-connection":e.isValidConnection},null,8,["id","type","position","class","is-valid-connection"]),L("div",{class:Ae(["handle-dot",[e.side==="left"?"handle-dot-left":"handle-dot-right"]]),style:he({backgroundColor:e.handleColor})},null,6)],64))}}),Pe=se(zu,[["__scopeId","data-v-0e4825cb"]]),Bu={class:"rename-chip-content"},Pu=["disabled","onKeydown"],Hu={class:"rename-actions"},Fu={class:"rename-label"},ju={class:"rename-actions"},Lu={key:0,class:"rename-error"},Du=K({__name:"InstanceNodeEditableInputChip",props:{name:{},side:{},reservedLabelWidthCh:{},chipBackgroundColor:{},chipTextColor:{},isValidConnection:{type:Function},renameInput:{type:Function}},setup(e){const t=ie(!1),n=ie(""),i=ie(!1),o=ie(),r=S(()=>{const d=n.value.trim().length||e.name.length||8;return`${Math.max(d,6)}ch`}),a=()=>{t.value=!0,n.value=e.name,o.value=void 0},s=()=>{t.value=!1,n.value="",o.value=void 0},u=async()=>{const d=n.value.trim();i.value=!0;try{await e.renameInput(e.name,d),s()}catch(l){o.value=l instanceof Error?l.message:"Failed to rename input"}finally{i.value=!1}};return(d,l)=>(m(),O(X,null,[x(pe,{style:he({"--label-column-width":`${e.reservedLabelWidthCh}ch`,backgroundColor:e.chipBackgroundColor,color:e.chipTextColor}),"text-color":"white",class:"rounded handle-chip rename-chip"},{default:w(()=>[L("div",Bu,[f(t)?(m(),O(X,{key:0},[So(L("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>Te(n)?n.value=c:null),class:"rename-input",style:he({width:f(r)}),disabled:f(i),type:"text",onKeydown:[cn(Ie(u,["stop","prevent"]),["enter"]),cn(Ie(s,["stop","prevent"]),["esc"])]},null,44,Pu),[[$o,f(n)]]),L("div",Hu,[x(ee,{variant:"text",icon:"mdi-check",size:"x-small",class:"rename-action-btn",loading:f(i),onMousedown:l[1]||(l[1]=Ie(()=>{},["stop"])),onClick:Ie(u,["stop"])},null,8,["loading"]),x(ee,{variant:"text",icon:"mdi-close",size:"x-small",class:"rename-action-btn",disabled:f(i),onMousedown:l[2]||(l[2]=Ie(()=>{},["stop"])),onClick:Ie(s,["stop"])},null,8,["disabled"])])],64)):(m(),O(X,{key:1},[L("span",Fu,Z(f(qe)(e.name)),1),L("div",ju,[x(ee,{variant:"text",icon:"mdi-check",size:"x-small",class:"rename-action-btn rename-action-placeholder",tabindex:"-1","aria-hidden":"true",disabled:""}),x(ee,{variant:"text",icon:"mdi-pencil",size:"x-small",class:"rename-action-btn",onMousedown:l[3]||(l[3]=Ie(()=>{},["stop"])),onClick:Ie(a,["stop"])})])],64))]),x(Pe,{name:e.name,side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":e.chipBackgroundColor,compact:""},null,8,["name","side","is-valid-connection","handle-color"])]),_:1},8,["style"]),f(t)&&f(o)?(m(),O("div",Lu,Z(f(o)),1)):z("",!0)],64))}}),Uu=se(Du,[["__scopeId","data-v-9d98b5f4"]]);function Xu(e){const t=e.replace("#",""),n=parseInt(t.substring(0,2),16),i=parseInt(t.substring(2,2),16),o=parseInt(t.substring(4,2),16);return(n*299+i*587+o*114)/1e3>=128?"#000":"#fff"}const Yu={ref:"column",class:"d-flex flex-column gr-2 column"},qu=K({__name:"InstanceNodeIOSide",props:{instance:{},component:{},entities:{},editable:{type:Boolean,default:!1},type:{},side:{},projectId:{},stateId:{},isValidConnection:{type:Function},resolvedInputs:{},resolvedInjectionInput:{},usedOutputs:{},forceShowAllHandles:{type:Boolean},preventShowAllHandles:{type:Boolean}},setup(e){const t=$=>{const E=Array.from(new Set((e.resolvedInputs?.[$]??[]).map(j=>j.type)));if(E.length===1)return E[0]},n=($,E)=>{const j=e.component[$][E];return $==="inputs"?t(E)??j.type:j.fromInput?t(j.fromInput)??j.type:j.type},i=($,E)=>e.entities[n($,E)]?.meta.color??"#607D8B",o=($,E)=>Xu(i($,E)),r=$=>{const E=e.instance.inputs&&!!e.instance.inputs[$]&&e.instance.inputs[$].length>0,j=e.instance.hubInputs&&!!e.instance.hubInputs[$]&&e.instance.hubInputs[$].length>0;return E||j},a=$=>e.component.inputs[$].required?!e.resolvedInputs?.[$]?.length:!1,s=Zt("column"),{isOutside:u}=_i(s),d=S(()=>!u.value&&!e.preventShowAllHandles),l=S(()=>e.forceShowAllHandles||d.value),c=$=>e.type==="outputs"?!e.usedOutputs||e.usedOutputs.has($)||l.value:e.side==="right"||r($)||a($)||l.value,v=S(()=>e.resolvedInjectionInput?e.resolvedInjectionInput.length===1?"1 input":`${e.resolvedInjectionInput.length} inputs`:"no inputs"),h=S(()=>e.instance.injectionInputs&&e.instance.injectionInputs.length>0),b=S(()=>e.editable&&e.instance.type===Ln&&e.type==="inputs"&&e.side==="left"),V=Ct(),P=S(()=>b.value?!!V.connectionStartHandle.value:!1),A=S(()=>{if(!b.value)return 8;const $=Object.keys(e.component.inputs);if($.length===0)return 8;const E=Math.max(...$.map(j=>qe(j).length),8);return Math.min(E+1,28)}),M=async($,E)=>{if(!e.projectId)throw new Error("Project ID is required");const{instancesStore:j}=to(e.projectId);await j.renameEditableExportInput(e.instance,$,E)};return($,E)=>(m(),O("div",Yu,[!f(b)&&e.type==="inputs"&&e.side==="left"&&Object.keys(e.component.inputs).length>0&&(f(h)||f(d))?(m(),C(pe,{key:0,style:{backgroundColor:"#3F51B5",color:"white"},"text-color":"white",class:"rounded handle-chip"},{default:w(()=>[x(ae,{class:"mr-1",style:{"margin-left":"-2px"}},{default:w(()=>[...E[0]||(E[0]=[G("mdi-router",-1)])]),_:1}),G(" "+Z(f(v))+" ",1),x(Pe,{name:"",side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":"#3F51B5"},null,8,["side","is-valid-connection"])]),_:1})):z("",!0),(m(!0),O(X,null,re(e.component[e.type],(j,B)=>(m(),O(X,{key:B},[e.type==="outputs"?(m(),C(f(Ru),{key:0,"project-id":e.projectId,"state-id":e.stateId,output:B,"output-sources":e.instance.resolvedOutputs?.[B],entities:e.entities},{activator:w(({props:U,opened:W})=>[c(B)||W?(m(),C(pe,Ee({key:0,ref_for:!0},U,{style:{backgroundColor:i(e.type,B),color:o(e.type,B)},"text-color":"white",class:"rounded handle-chip"}),{default:w(()=>[G(Z(j.meta.title)+" ",1),x(Pe,{name:B,side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":i(e.type,B)},null,8,["name","side","is-valid-connection","handle-color"])]),_:2},1040,["style"])):z("",!0)]),_:2},1032,["project-id","state-id","output","output-sources","entities"])):f(b)&&e.projectId&&e.type==="inputs"?(m(),C(f(On),{key:1,"project-id":e.projectId,"resolved-inputs":e.resolvedInputs?.[B]??[],entities:e.entities},{activator:w(({props:U,opened:W})=>[c(B)||W?(m(),O("div",Ee({key:0,ref_for:!0},U),[x(Uu,{name:B,side:e.side,"reserved-label-width-ch":f(A),"chip-background-color":i(e.type,B),"chip-text-color":o(e.type,B),"is-valid-connection":e.isValidConnection,"rename-input":M},null,8,["name","side","reserved-label-width-ch","chip-background-color","chip-text-color","is-valid-connection"])],16)):z("",!0)]),_:2},1032,["project-id","resolved-inputs","entities"])):!f(b)&&e.projectId&&e.type==="inputs"?(m(),C(f(On),{key:2,"project-id":e.projectId,"resolved-inputs":e.resolvedInputs?.[B]??[],entities:e.entities},{activator:w(({props:U,opened:W})=>[c(B)||W?(m(),C(pe,Ee({key:0,ref_for:!0},U,{style:{backgroundColor:i(e.type,B),color:o(e.type,B)},"text-color":"white",class:"rounded handle-chip"}),{default:w(()=>[G(Z(j.meta.title)+" ",1),x(Pe,{name:B,side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":i(e.type,B)},null,8,["name","side","is-valid-connection","handle-color"])]),_:2},1040,["style"])):z("",!0)]),_:2},1032,["project-id","resolved-inputs","entities"])):!f(b)&&c(B)?(m(),C(pe,{key:3,style:he({backgroundColor:i(e.type,B),color:o(e.type,B)}),"text-color":"white",class:"rounded handle-chip"},{default:w(()=>[G(Z(j.meta.title)+" ",1),x(Pe,{name:B,side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":i(e.type,B)},null,8,["name","side","is-valid-connection","handle-color"])]),_:2},1032,["style"])):z("",!0)],64))),128)),f(P)?(m(),C(pe,{key:1,class:"rounded handle-chip create-input-chip",variant:"outlined"},{default:w(()=>[E[1]||(E[1]=G(" create input ",-1)),x(Pe,{name:f(eo),side:e.side,"is-valid-connection":e.isValidConnection,"handle-color":"transparent",compact:""},null,8,["name","side","is-valid-connection"])]),_:1})):z("",!0)],512))}}),ct=se(qu,[["__scopeId","data-v-4641d874"]]),Wu=K({__name:"InstanceNodeIO",props:{instance:{},component:{},entities:{},editable:{type:Boolean},projectId:{},stateId:{},type:{default:"both"},mirror:{type:Boolean},isValidConnection:{type:Function},usedOutputs:{},resolvedInputs:{},resolvedInjectionInput:{},forceShowAllHandles:{type:Boolean},preventShowAllHandles:{type:Boolean}},setup(e){return(t,n)=>(m(),C(Et,{class:"align-start align-stretch component-node-io"},{default:w(()=>[e.mirror?(m(),O(X,{key:1},[e.type==="both"||e.type==="outputs"?(m(),C(ct,{key:0,instance:e.instance,component:e.component,entities:e.entities,editable:e.editable,"project-id":e.projectId,"state-id":e.stateId,"is-valid-connection":e.isValidConnection,type:"outputs","used-outputs":e.usedOutputs,"resolved-inputs":e.resolvedInputs,side:"left","force-show-all-handles":e.forceShowAllHandles,"prevent-show-all-handles":e.preventShowAllHandles},null,8,["instance","component","entities","editable","project-id","state-id","is-valid-connection","used-outputs","resolved-inputs","force-show-all-handles","prevent-show-all-handles"])):z("",!0),x(Ke),e.type==="both"||e.type==="inputs"?(m(),C(ct,{key:1,instance:e.instance,component:e.component,entities:e.entities,editable:e.editable,"project-id":e.projectId,"state-id":e.stateId,"is-valid-connection":e.isValidConnection,type:"inputs",side:"right","resolved-inputs":e.resolvedInputs,"force-show-all-handles":e.forceShowAllHandles,"prevent-show-all-handles":e.preventShowAllHandles},null,8,["instance","component","entities","editable","project-id","state-id","is-valid-connection","resolved-inputs","force-show-all-handles","prevent-show-all-handles"])):z("",!0)],64)):(m(),O(X,{key:0},[e.type==="both"||e.type==="inputs"?(m(),C(ct,{key:0,instance:e.instance,component:e.component,entities:e.entities,editable:e.editable,"project-id":e.projectId,"state-id":e.stateId,"is-valid-connection":e.isValidConnection,type:"inputs","resolved-inputs":e.resolvedInputs,"resolved-injection-input":e.resolvedInjectionInput,"force-show-all-handles":e.forceShowAllHandles,"prevent-show-all-handles":e.preventShowAllHandles,side:"left"},null,8,["instance","component","entities","editable","project-id","state-id","is-valid-connection","resolved-inputs","resolved-injection-input","force-show-all-handles","prevent-show-all-handles"])):z("",!0),x(Ke),e.type==="both"||e.type==="outputs"?(m(),C(ct,{key:1,instance:e.instance,component:e.component,entities:e.entities,editable:e.editable,"project-id":e.projectId,"state-id":e.stateId,"is-valid-connection":e.isValidConnection,type:"outputs","used-outputs":e.usedOutputs,"resolved-inputs":e.resolvedInputs,side:"right","force-show-all-handles":e.forceShowAllHandles,"prevent-show-all-handles":e.preventShowAllHandles},null,8,["instance","component","entities","editable","project-id","state-id","is-valid-connection","used-outputs","resolved-inputs","force-show-all-handles","prevent-show-all-handles"])):z("",!0)],64))]),_:1}))}}),Gu=se(Wu,[["__scopeId","data-v-fec62a0c"]]),Ku={class:"instance-node__badges"},Ju=K({__name:"InstanceNode",props:Me({instance:{},component:{},entities:{},inputResolverOutputs:{},inputResolverDependentMap:{},allInstances:{default:()=>new Map},state:{},terminalIds:{},projectId:{},instanceLock:{},loadingSecrets:{type:Boolean},loadingTerminal:{type:Boolean},loadingPage:{type:Boolean},loadingPanel:{type:Boolean},initialSecrets:{},editable:{type:Boolean,default:!1},ghost:{type:Boolean,default:!1},ioType:{default:"both"},ioMirror:{type:Boolean},hideShowComposite:{type:Boolean},isValidConnection:{type:Function}},{editingSecrets:{type:Boolean,default:!1},editingSecretsModifiers:{}}),emits:Me(["open:secrets","open:terminal","open:page","open:panel","open:composite","operation:launch","operation:cancel","save:args","save:secrets","contextmenu"],["update:editingSecrets"]),setup(e,{emit:t}){const n=t,i=tt(e,"editingSecrets"),o=ie(!1),r=S(()=>!!e.instance.parentId),a=S(()=>e.editable||r.value),s=S(()=>!e.editable&&r.value),u=S(()=>e.editable||r.value),d=S(()=>Object.keys(e.component.inputs).length>0),l=S(()=>Object.keys(e.component.outputs).length>0),c=S(()=>e.editable&&e.instance.type===Ln),v=S(()=>d.value||l.value||c.value),h=S(()=>Ft(e.inputResolverOutputs,e.instance.id)),b=S(()=>Tn(e.inputResolverOutputs,e.instance.id).map(W=>W.input)),V=S(()=>{const W=Object.values(e.instance.outputs??{}).flat(),H=new Set,F=e.inputResolverDependentMap.get(`instance:${e.instance.id}`)??[],ce=te=>{(te.instanceId===e.instance.id||W.some(oe=>oe.instanceId===te.instanceId))&&H.add(te.output)};for(const te of F){const oe=e.inputResolverOutputs.get(te);if(oe)if(oe.kind==="instance")for(const g of Object.values(oe.instance.inputs??{}))for(const T of g)ce(T);else for(const g of Object.values(oe.hub.inputs??{}))ce(g)}if(e.instance.parentId){const te=e.allInstances.get(e.instance.parentId),oe=Object.values(te?.outputs??{}).flat();for(const g of oe)g.instanceId===e.instance.id&&H.add(g.output)}return H});Ge(V,W=>{W.size!==0&&P.updateNodeInternals([M.node.id])});const{vueFlowStore:P,selection:A}=Kt(),M=zn(),$=S(()=>Bn(M.node,P)),E=S(()=>P.connectionStartHandle.value?.nodeId===M.node.id),j=Zt("componentCard"),B=S(()=>P.viewport.value.zoom<.5),U=S(()=>j.value?Math.min(j.value.$el.clientWidth,j.value.$el.clientHeight)*.7:0);return(W,H)=>(m(),O(X,null,[x(f(Eo),{class:Ae({"instance-card--ghost":e.ghost}),component:e.component,subtitle:e.instance.name,"blueprint-status":$.value,selected:f(A).isNodeSelected(f(M).node),style:{overflow:"visible"},onContextmenu:H[12]||(H[12]=F=>n("contextmenu",F)),ref:"componentCard"},{append:w(()=>[L("div",Ku,[e.ghost?(m(),C(Zn,{key:0,location:"top"},{activator:w(({props:F})=>[x(pe,Ee(F,{class:"instance-node__ghost-chip",color:"primary"}),{default:w(()=>[x(ae,{size:"16"},{default:w(()=>[...H[14]||(H[14]=[G("mdi-ghost",-1)])]),_:1})]),_:1},16)]),default:w(()=>[H[15]||(H[15]=L("span",null," This instance is a ghost. It is no longer a part of the project, but Highstate still tracks it. ",-1))]),_:1})):z("",!0),e.instanceLock?(m(),C(wu,{key:1,"instance-lock":e.instanceLock},null,8,["instance-lock"])):z("",!0)])]),default:w(()=>[Q(W.$slots,"default",{},void 0,!0),f(o)?(m(),C(f(eu),{key:0,modelValue:f(o),"onUpdate:modelValue":H[0]||(H[0]=F=>Te(o)?o.value=F:null),instance:e.instance,component:e.component,state:e.state,"all-instances":e.allInstances,readonly:s.value,onSave:H[1]||(H[1]=(F,ce,te)=>n("save:args",F,ce,te))},null,8,["modelValue","instance","component","state","all-instances","readonly"])):z("",!0),f(Fn)(e.component)&&i.value?(m(),C(f(nu),{key:1,modelValue:i.value,"onUpdate:modelValue":H[2]||(H[2]=F=>i.value=F),instance:e.instance,state:e.state,component:e.component,"initial-secrets":e.initialSecrets??{},onSave:H[3]||(H[3]=(F,ce)=>n("save:secrets",F,ce))},null,8,["modelValue","instance","state","component","initial-secrets"])):z("",!0),x(su,{instance:e.instance,component:e.component},null,8,["instance","component"]),v.value?(m(),O(X,{key:2},[x(ke),x(Gu,{component:e.component,instance:e.instance,entities:e.entities,editable:e.editable,"project-id":e.projectId,"state-id":e.state?.id,"is-valid-connection":e.isValidConnection,type:e.ioType,mirror:e.ioMirror,"used-outputs":V.value,"resolved-inputs":h.value,"resolved-injection-input":b.value,"force-show-all-handles":E.value,"prevent-show-all-handles":f(o)||i.value||!e.editable||B.value},null,8,["component","instance","entities","editable","project-id","state-id","is-valid-connection","type","mirror","used-outputs","resolved-inputs","resolved-injection-input","force-show-all-handles","prevent-show-all-handles"])],64)):z("",!0),e.state?(m(),C(mu,{key:3,instance:e.instance,state:e.state},null,8,["instance","state"])):z("",!0),x(ke),x(gu,{"loading-secrets":e.loadingSecrets,"loading-terminal":e.loadingTerminal,"loading-page":e.loadingPage,"loading-panel":e.loadingPanel,instance:e.instance,component:e.component,state:e.state,"terminal-ids":e.terminalIds,locked:!!e.instanceLock,editable:e.editable,"can-open-args-editor":a.value,"can-edit-secrets":u.value,ghost:e.ghost,"hide-show-composite":e.hideShowComposite,"onOpen:args":H[4]||(H[4]=F=>o.value=!0),"onOpen:secrets":H[5]||(H[5]=F=>e.state?n("open:secrets"):i.value=!0),"onOpen:terminal":H[6]||(H[6]=F=>n("open:terminal")),"onOpen:page":H[7]||(H[7]=F=>n("open:page")),"onOpen:panel":H[8]||(H[8]=F=>n("open:panel")),"onOpen:composite":H[9]||(H[9]=F=>n("open:composite")),"onOperation:launch":H[10]||(H[10]=F=>n("operation:launch",F)),"onOperation:cancel":H[11]||(H[11]=F=>n("operation:cancel"))},{status:w(()=>[Q(W.$slots,"status",{},void 0,!0)]),_:3},8,["loading-secrets","loading-terminal","loading-page","loading-panel","instance","component","state","terminal-ids","locked","editable","can-open-args-editor","can-edit-secrets","ghost","hide-show-composite"])]),_:3},8,["class","component","subtitle","blueprint-status","selected"]),x(Co,{modelValue:B.value,"onUpdate:modelValue":H[13]||(H[13]=F=>B.value=F),scrim:"#1e1e1e",opacity:1,absolute:"",class:"align-center justify-center",style:he(`border: 3px solid ${e.component.meta.iconColor??"#3f51b5"}; border-radius: 8px`),contained:""},{default:w(()=>[x(f(At),{meta:e.component.meta,size:U.value},null,8,["meta","size"])]),_:1},8,["modelValue","style"])],64))}}),lc=se(Ju,[["__scopeId","data-v-d7590cc0"]]);export{sc as G,rc as H,lc as I,Xo as _,Gu as a};
@@ -1 +1 @@
1
- import{_ as d}from"#entry";import{E as u,aG as p,V as m,Y as f,_ as t,W as a,ai as v,aj as V,aI as k,$ as s,a2 as i,a0 as c,aK as r,D as y,aJ as b,at as g,ah as x,aO as C}from"./-NXdyIEV.js";import{I as _}from"./BqAcL3eq.js";import"./C7Ij7g1p.js";const I={class:"d-flex align-center token-value pa-3"},w=u({__name:"ApiKeyTokenDialog",props:C({token:{}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:["update:visible"],setup(o){const l=p(o,"visible");return(A,e)=>(m(),f(x,{modelValue:l.value,"onUpdate:modelValue":e[1]||(e[1]=n=>l.value=n),"max-width":"680",persistent:""},{default:t(()=>[a(v,{title:"API key token"},{default:t(()=>[a(V,null,{default:t(()=>[a(k,{type:"warning",variant:"tonal",class:"mb-4"},{default:t(()=>[...e[2]||(e[2]=[s(" Copy this token now. It will not be shown again. ",-1)])]),_:1}),i("div",I,[i("code",null,c(o.token),1),a(r),a(y(_),{content:o.token},null,8,["content"])])]),_:1}),a(b,null,{default:t(()=>[a(r),a(g,{color:"primary",onClick:e[0]||(e[0]=n=>l.value=!1)},{default:t(()=>[...e[3]||(e[3]=[s("I have copied the token",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),M=d(w,[["__scopeId","data-v-8d23b27d"]]);export{M as A};
1
+ import{_ as d}from"#entry";import{E as u,aG as p,V as m,Y as f,_ as t,W as a,ai as v,aj as V,aI as k,$ as s,a2 as i,a0 as c,aK as r,D as y,aJ as b,at as g,ah as x,aO as C}from"./-NXdyIEV.js";import{I as _}from"./BqAcL3eq.js";import"./DlfNK0cA.js";const I={class:"d-flex align-center token-value pa-3"},w=u({__name:"ApiKeyTokenDialog",props:C({token:{}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:["update:visible"],setup(o){const l=p(o,"visible");return(A,e)=>(m(),f(x,{modelValue:l.value,"onUpdate:modelValue":e[1]||(e[1]=n=>l.value=n),"max-width":"680",persistent:""},{default:t(()=>[a(v,{title:"API key token"},{default:t(()=>[a(V,null,{default:t(()=>[a(k,{type:"warning",variant:"tonal",class:"mb-4"},{default:t(()=>[...e[2]||(e[2]=[s(" Copy this token now. It will not be shown again. ",-1)])]),_:1}),i("div",I,[i("code",null,c(o.token),1),a(r),a(y(_),{content:o.token},null,8,["content"])])]),_:1}),a(b,null,{default:t(()=>[a(r),a(g,{color:"primary",onClick:e[0]||(e[0]=n=>l.value=!1)},{default:t(()=>[...e[3]||(e[3]=[s("I have copied the token",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),M=d(w,[["__scopeId","data-v-8d23b27d"]]);export{M as A};
@@ -1 +1 @@
1
- import{K as m,C as d,D as g}from"#entry";import"./C7Ij7g1p.js";import{S as c}from"./DEdaEI2J.js";import{_ as l}from"./k0GHL-8U.js";import{E as f,aP as n,Y as u,_ as y,D as t,V as P,W as _}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./BKZ346WY.js";import"./DKbLex6i.js";import"./CZyQa1Zc.js";const V=f({__name:"index",async setup(j){let r,o;const e=m(),{projectStore:s}=d();return s.initializing?([r,o]=n(()=>g(()=>s.initialized).toBe(!0)),await r,o(),s.addLibraryRoot()):([r,o]=n(()=>s.initialize1()),await r,o(),[r,o]=n(()=>s.initialize2()),await r,o()),e.items.load(),(S,i)=>(P(),u(t(c),{title:"Artifacts",icon:"mdi-package-variant",description:"Manage the artifacts produced by units or other components in your project."},{default:y(({height:p})=>[_(t(l),{search:t(e).items.search,"onUpdate:search":i[0]||(i[0]=a=>t(e).items.search=a),"sort-by":t(e).items.sortBy,"onUpdate:sortBy":i[1]||(i[1]=a=>t(e).items.sortBy=a),page:t(e).items.page,"onUpdate:page":i[2]||(i[2]=a=>t(e).items.page=a),"items-per-page":t(e).items.itemsPerPage,"onUpdate:itemsPerPage":i[3]||(i[3]=a=>t(e).items.itemsPerPage=a),"project-id":t(s).projectId,data:t(e).items.data,loading:t(e).items.isLoading,height:p},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{V as default};
1
+ import{L as m,D as d,E as g}from"#entry";import"./DlfNK0cA.js";import{S as c}from"./DXmPWjsX.js";import{_ as l}from"./BQvzkDFt.js";import{E as f,aP as n,Y as u,_ as y,D as t,V as P,W as _}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./DfDsDJD2.js";import"./CHVFVVjA.js";import"./CBtqoa0c.js";const E=f({__name:"index",async setup(j){let r,o;const e=m(),{projectStore:s}=d();return s.initializing?([r,o]=n(()=>g(()=>s.initialized).toBe(!0)),await r,o(),s.addLibraryRoot()):([r,o]=n(()=>s.initialize1()),await r,o(),[r,o]=n(()=>s.initialize2()),await r,o()),e.items.load(),(S,i)=>(P(),u(t(c),{title:"Artifacts",icon:"mdi-package-variant",description:"Manage the artifacts produced by units or other components in your project."},{default:y(({height:p})=>[_(t(l),{search:t(e).items.search,"onUpdate:search":i[0]||(i[0]=a=>t(e).items.search=a),"sort-by":t(e).items.sortBy,"onUpdate:sortBy":i[1]||(i[1]=a=>t(e).items.sortBy=a),page:t(e).items.page,"onUpdate:page":i[2]||(i[2]=a=>t(e).items.page=a),"items-per-page":t(e).items.itemsPerPage,"onUpdate:itemsPerPage":i[3]||(i[3]=a=>t(e).items.itemsPerPage=a),"project-id":t(s).projectId,data:t(e).items.data,loading:t(e).items.isLoading,height:p},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{E as default};
@@ -1 +1 @@
1
- import{n as m,_ as s}from"#entry";import{E as r,V as t,Y as o,ao as f,_ as c,$ as d,a0 as u,D as n,a1 as g,j as h}from"./-NXdyIEV.js";import{_ as x}from"./VQuDbHHR.js";const C=r({__name:"EntityRefChip",props:{id:{},fallbackIcon:{},pageName:{},pageParams:{},meta:{},color:{},maxLength:{default:20}},setup(a){const i=()=>{m({name:a.pageName,params:a.pageParams})},l=h(()=>{const e=a.meta?.title??a.id;return e.length<=a.maxLength?e:`${e.slice(0,a.maxLength)}...`});return(e,k)=>(t(),o(f,{color:a.meta?.color??a.color,class:"font-weight-bold cursor-pointer",size:"small",onClick:i},{prepend:c(()=>[a.meta?.icon||a.fallbackIcon?(t(),o(n(x),{key:0,icon:a.fallbackIcon,"custom-icon":a.meta?.icon,color:a.meta?.iconColor,size:16,class:"mr-1"},null,8,["icon","custom-icon","color"])):g("",!0)]),default:c(()=>[d(" "+u(n(l)),1)]),_:1},8,["color"]))}}),I=s(C,[["__scopeId","data-v-cf302215"]]);export{I as E};
1
+ import{n as m,_ as s}from"#entry";import{E as r,V as t,Y as o,ao as f,_ as c,$ as d,a0 as u,D as n,a1 as g,j as h}from"./-NXdyIEV.js";import{_ as x}from"./4vGmo7Ws.js";const C=r({__name:"EntityRefChip",props:{id:{},fallbackIcon:{},pageName:{},pageParams:{},meta:{},color:{},maxLength:{default:20}},setup(a){const i=()=>{m({name:a.pageName,params:a.pageParams})},l=h(()=>{const e=a.meta?.title??a.id;return e.length<=a.maxLength?e:`${e.slice(0,a.maxLength)}...`});return(e,k)=>(t(),o(f,{color:a.meta?.color??a.color,class:"font-weight-bold cursor-pointer",size:"small",onClick:i},{prepend:c(()=>[a.meta?.icon||a.fallbackIcon?(t(),o(n(x),{key:0,icon:a.fallbackIcon,"custom-icon":a.meta?.icon,color:a.meta?.iconColor,size:16,class:"mr-1"},null,8,["icon","custom-icon","color"])):g("",!0)]),default:c(()=>[d(" "+u(n(l)),1)]),_:1},8,["color"]))}}),I=s(C,[["__scopeId","data-v-cf302215"]]);export{I as E};
@@ -1 +1 @@
1
- import{Q as B,C as b,D as S}from"#entry";import"./C7Ij7g1p.js";import{S as j}from"./DEdaEI2J.js";import{S as v,b as d}from"./BKZ346WY.js";import{o as M,a as U}from"./M3Z1JMP1.js";import{_ as c}from"./D9y446qR.js";import{_ as x}from"./CZyQa1Zc.js";import{E as f,aG as m,V as P,Y as h,D as t,_ as g,W as l,aO as w,aP as u}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./DKbLex6i.js";const I=f({__name:"OperationsTable",props:w({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(s){const o=m(s,"search"),r=m(s,"sortBy"),a=m(s,"page"),n=m(s,"itemsPerPage"),y=[{title:"Status",key:"status",sortable:!1},d.name,d.id,{title:"Type",key:"type",sortable:!1},d.createdAt,d.actions];return(p,i)=>(P(),h(t(v),{search:o.value,"onUpdate:search":i[0]||(i[0]=e=>o.value=e),"sort-by":r.value,"onUpdate:sortBy":i[1]||(i[1]=e=>r.value=e),page:a.value,"onUpdate:page":i[2]||(i[2]=e=>a.value=e),"items-per-page":n.value,"onUpdate:itemsPerPage":i[3]||(i[3]=e=>n.value=e),headers:y,data:s.data,loading:s.loading,"hide-header":s.hideHeader,height:s.height},{"item.status":g(({item:e})=>[l(t(c),{status:e.status,"status-map":t(U)},null,8,["status","status-map"])]),"item.type":g(({item:e})=>[l(t(c),{status:e.type,"status-map":t(M)},null,8,["status","status-map"])]),"item.actions":g(({item:e})=>[l(t(x),{"page-name":"settings.operation-details","page-params":{projectId:s.projectId,operationId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}}),G=f({__name:"index",async setup(s){let o,r;const a=B(),{projectStore:n}=b();return n.initializing?([o,r]=u(()=>S(()=>n.initialized).toBe(!0)),await o,r(),n.addLibraryRoot()):([o,r]=u(()=>n.initialize1()),await o,r(),[o,r]=u(()=>n.initialize2()),await o,r()),a.items.load(),(y,p)=>(P(),h(t(j),{title:"Operations",icon:"mdi-cog-sync",description:"Manage and monitor operations executed within this project."},{default:g(({height:i})=>[l(t(I),{search:t(a).items.search,"onUpdate:search":p[0]||(p[0]=e=>t(a).items.search=e),"sort-by":t(a).items.sortBy,"onUpdate:sortBy":p[1]||(p[1]=e=>t(a).items.sortBy=e),page:t(a).items.page,"onUpdate:page":p[2]||(p[2]=e=>t(a).items.page=e),"items-per-page":t(a).items.itemsPerPage,"onUpdate:itemsPerPage":p[3]||(p[3]=e=>t(a).items.itemsPerPage=e),"project-id":t(n).projectId,data:t(a).items.data,loading:t(a).items.isLoading,height:i},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{G as default};
1
+ import{R as B,D as b,E as S}from"#entry";import"./DlfNK0cA.js";import{S as j}from"./DXmPWjsX.js";import{S as v,b as d}from"./DfDsDJD2.js";import{o as M,a as U}from"./M3Z1JMP1.js";import{_ as c}from"./D9y446qR.js";import{_ as x}from"./CBtqoa0c.js";import{E as f,aG as m,V as P,Y as h,D as t,_ as g,W as l,aO as w,aP as u}from"./-NXdyIEV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./CHVFVVjA.js";const I=f({__name:"OperationsTable",props:w({projectId:{},data:{},loading:{type:Boolean},hideHeader:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:["update:search","update:sortBy","update:page","update:itemsPerPage"],setup(s){const o=m(s,"search"),r=m(s,"sortBy"),a=m(s,"page"),n=m(s,"itemsPerPage"),y=[{title:"Status",key:"status",sortable:!1},d.name,d.id,{title:"Type",key:"type",sortable:!1},d.createdAt,d.actions];return(p,i)=>(P(),h(t(v),{search:o.value,"onUpdate:search":i[0]||(i[0]=e=>o.value=e),"sort-by":r.value,"onUpdate:sortBy":i[1]||(i[1]=e=>r.value=e),page:a.value,"onUpdate:page":i[2]||(i[2]=e=>a.value=e),"items-per-page":n.value,"onUpdate:itemsPerPage":i[3]||(i[3]=e=>n.value=e),headers:y,data:s.data,loading:s.loading,"hide-header":s.hideHeader,height:s.height},{"item.status":g(({item:e})=>[l(t(c),{status:e.status,"status-map":t(U)},null,8,["status","status-map"])]),"item.type":g(({item:e})=>[l(t(c),{status:e.type,"status-map":t(M)},null,8,["status","status-map"])]),"item.actions":g(({item:e})=>[l(t(x),{"page-name":"settings.operation-details","page-params":{projectId:s.projectId,operationId:e.id}},null,8,["page-params"])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","hide-header","height"]))}}),V=f({__name:"index",async setup(s){let o,r;const a=B(),{projectStore:n}=b();return n.initializing?([o,r]=u(()=>S(()=>n.initialized).toBe(!0)),await o,r(),n.addLibraryRoot()):([o,r]=u(()=>n.initialize1()),await o,r(),[o,r]=u(()=>n.initialize2()),await o,r()),a.items.load(),(y,p)=>(P(),h(t(j),{title:"Operations",icon:"mdi-cog-sync",description:"Manage and monitor operations executed within this project."},{default:g(({height:i})=>[l(t(I),{search:t(a).items.search,"onUpdate:search":p[0]||(p[0]=e=>t(a).items.search=e),"sort-by":t(a).items.sortBy,"onUpdate:sortBy":p[1]||(p[1]=e=>t(a).items.sortBy=e),page:t(a).items.page,"onUpdate:page":p[2]||(p[2]=e=>t(a).items.page=e),"items-per-page":t(a).items.itemsPerPage,"onUpdate:itemsPerPage":p[3]||(p[3]=e=>t(a).items.itemsPerPage=e),"project-id":t(n).projectId,data:t(a).items.data,loading:t(a).items.isLoading,height:i},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}))}});export{V as default};
@@ -1 +1 @@
1
- import{v as g,x as P,y as j,_ as A}from"#entry";import{V as I,s as $}from"./D4_5UqG-.js";import{_ as G}from"./CriYd4Xu.js";import{E as W,aG as Y,w as h,V as p,Y as V,_ as s,W as a,ai as C,aj as z,aT as F,aU as J,aV as B,a2 as d,ak as K,a as k,D as t,aW as L,as as M,ao as R,$ as v,a0 as x,aI as H,a1 as Q,aJ as X,aK as Z,at as D,ah as _,aO as T,r as b,j as y}from"./-NXdyIEV.js";import"./C7Ij7g1p.js";const ee={class:"builder-scrollable"},ae={class:"preview-editor"},le={class:"d-flex align-center justify-space-between mb-2"},se={class:"risk-message text-body-2 text-medium-emphasis mb-0"},te=W({__name:"BackendRoleDialog",props:T({role:{},loading:{type:Boolean},restrictionOptions:{}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:T(["save"],["update:visible"]),setup(i,{emit:E}){const u=Y(i,"visible"),N=E,r=b(""),m=b(""),o=b([]),c=b(null),S=y(()=>$(o.value)),U=y(()=>r.value.trim().length>0&&g.safeParse(o.value).success),q={low:"success",medium:"info",high:"warning",critical:"error"},f=y(()=>{const n=new Map(P.flatMap(e=>e.permissions.map(l=>[l.name,l])));return j(o.value.flatMap(e=>e.permissions.flatMap(l=>{const w=n.get(l);return w?[{permission:w,restricted:!!e.restrictions}]:[]})))});h(()=>[u.value,i.role],()=>{u.value&&(r.value=i.role?.meta.title??"",m.value=i.role?.meta.description??"",o.value=i.role?g.parse(i.role.rules):[],c.value=null)},{immediate:!0});function O(){try{const n=g.parse(o.value);if(!r.value.trim())throw new Error("Title is required");c.value=null,N("save",{meta:{title:r.value.trim(),description:m.value.trim()||void 0},rules:n})}catch(n){c.value=n instanceof Error?n.message:"Invalid role rules"}}return(n,e)=>(p(),V(_,{modelValue:u.value,"onUpdate:modelValue":e[4]||(e[4]=l=>u.value=l),"max-width":"1200",class:"role-dialog"},{default:s(()=>[a(C,{title:i.role?"Edit backend role":"Create backend role",color:"#2d2d2d"},{default:s(()=>[a(z,{class:"role-card-content"},{default:s(()=>[a(F,{fluid:"",class:"pa-0 fill-height"},{default:s(()=>[a(J,{"no-gutters":"",class:"fill-height"},{default:s(()=>[a(B,{cols:"12",md:"6",class:"pr-md-4 column-container"},{default:s(()=>[e[5]||(e[5]=d("div",{class:"text-overline mb-2"},"Metadata",-1)),a(K,{modelValue:t(r),"onUpdate:modelValue":e[0]||(e[0]=l=>k(r)?r.value=l:null),class:"mb-3 flex-grow-0",label:"Title",variant:"outlined",density:"compact",rules:[l=>!!l?.trim()||"Title is required"],required:"",autofocus:""},null,8,["modelValue","rules"]),a(L,{modelValue:t(m),"onUpdate:modelValue":e[1]||(e[1]=l=>k(m)?m.value=l:null),class:"mb-4 flex-grow-0",label:"Description",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue"]),a(M,{class:"mb-4"}),d("div",ee,[a(G,{modelValue:t(o),"onUpdate:modelValue":e[2]||(e[2]=l=>k(o)?o.value=l:null),options:i.restrictionOptions},null,8,["modelValue","options"])])]),_:1}),a(M,{vertical:"",class:"d-none d-md-flex"}),a(B,{cols:"12",md:"6",class:"pl-md-4 column-container"},{default:s(()=>[e[8]||(e[8]=d("div",{class:"text-overline mb-2"},"Preview",-1)),d("div",ae,[a(t(I),{value:t(S),theme:"dark-plus",language:"yaml",options:{readOnly:!0,tabSize:2,minimap:{enabled:!1},automaticLayout:!0}},null,8,["value"])]),a(C,{variant:"flat",class:"risk-overview mt-4 pa-4"},{default:s(()=>[d("div",le,[e[7]||(e[7]=d("div",{class:"text-overline"},"Risk overview",-1)),t(f).risk?(p(),V(R,{key:0,color:q[t(f).risk],variant:"tonal"},{default:s(()=>[v(x(t(f).risk)+" risk ",1)]),_:1},8,["color"])):(p(),V(R,{key:1,variant:"tonal"},{default:s(()=>[...e[6]||(e[6]=[v("No risk",-1)])]),_:1}))]),d("p",se,x(t(f).message),1)]),_:1}),t(c)?(p(),V(H,{key:0,type:"error",density:"compact",class:"mt-4"},{default:s(()=>[v(x(t(c)),1)]),_:1})):Q("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),a(X,null,{default:s(()=>[a(Z),a(D,{disabled:i.loading,onClick:e[3]||(e[3]=l=>u.value=!1)},{default:s(()=>[...e[9]||(e[9]=[v("Cancel",-1)])]),_:1},8,["disabled"]),a(D,{color:"primary",disabled:!t(U),loading:i.loading,onClick:O},{default:s(()=>[...e[10]||(e[10]=[v("Save",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),ue=A(te,[["__scopeId","data-v-ca0e79da"]]);export{ue as B};
1
+ import{x as g,y as P,z as j,_ as A}from"#entry";import{V as I,s as $}from"./D4_5UqG-.js";import{_ as z}from"./DKWb1hup.js";import{E as G,aG as W,w as Y,V as p,Y as V,_ as s,W as a,ai as C,aj as h,aT as F,aU as J,aV as B,a2 as d,ak as K,a as k,D as t,aW as L,as as M,ao as R,$ as v,a0 as x,aI as H,a1 as Q,aJ as X,aK as Z,at as D,ah as _,aO as T,r as b,j as y}from"./-NXdyIEV.js";import"./DlfNK0cA.js";const ee={class:"builder-scrollable"},ae={class:"preview-editor"},le={class:"d-flex align-center justify-space-between mb-2"},se={class:"risk-message text-body-2 text-medium-emphasis mb-0"},te=G({__name:"BackendRoleDialog",props:T({role:{},loading:{type:Boolean},restrictionOptions:{}},{visible:{type:Boolean,required:!0},visibleModifiers:{}}),emits:T(["save"],["update:visible"]),setup(i,{emit:E}){const u=W(i,"visible"),N=E,r=b(""),m=b(""),o=b([]),c=b(null),S=y(()=>$(o.value)),U=y(()=>r.value.trim().length>0&&g.safeParse(o.value).success),q={low:"success",medium:"info",high:"warning",critical:"error"},f=y(()=>{const n=new Map(P.flatMap(e=>e.permissions.map(l=>[l.name,l])));return j(o.value.flatMap(e=>e.permissions.flatMap(l=>{const w=n.get(l);return w?[{permission:w,restricted:!!e.restrictions}]:[]})))});Y(()=>[u.value,i.role],()=>{u.value&&(r.value=i.role?.meta.title??"",m.value=i.role?.meta.description??"",o.value=i.role?g.parse(i.role.rules):[],c.value=null)},{immediate:!0});function O(){try{const n=g.parse(o.value);if(!r.value.trim())throw new Error("Title is required");c.value=null,N("save",{meta:{title:r.value.trim(),description:m.value.trim()||void 0},rules:n})}catch(n){c.value=n instanceof Error?n.message:"Invalid role rules"}}return(n,e)=>(p(),V(_,{modelValue:u.value,"onUpdate:modelValue":e[4]||(e[4]=l=>u.value=l),"max-width":"1200",class:"role-dialog"},{default:s(()=>[a(C,{title:i.role?"Edit backend role":"Create backend role",color:"#2d2d2d"},{default:s(()=>[a(h,{class:"role-card-content"},{default:s(()=>[a(F,{fluid:"",class:"pa-0 fill-height"},{default:s(()=>[a(J,{"no-gutters":"",class:"fill-height"},{default:s(()=>[a(B,{cols:"12",md:"6",class:"pr-md-4 column-container"},{default:s(()=>[e[5]||(e[5]=d("div",{class:"text-overline mb-2"},"Metadata",-1)),a(K,{modelValue:t(r),"onUpdate:modelValue":e[0]||(e[0]=l=>k(r)?r.value=l:null),class:"mb-3 flex-grow-0",label:"Title",variant:"outlined",density:"compact",rules:[l=>!!l?.trim()||"Title is required"],required:"",autofocus:""},null,8,["modelValue","rules"]),a(L,{modelValue:t(m),"onUpdate:modelValue":e[1]||(e[1]=l=>k(m)?m.value=l:null),class:"mb-4 flex-grow-0",label:"Description",variant:"outlined",density:"compact",rows:"2"},null,8,["modelValue"]),a(M,{class:"mb-4"}),d("div",ee,[a(z,{modelValue:t(o),"onUpdate:modelValue":e[2]||(e[2]=l=>k(o)?o.value=l:null),options:i.restrictionOptions},null,8,["modelValue","options"])])]),_:1}),a(M,{vertical:"",class:"d-none d-md-flex"}),a(B,{cols:"12",md:"6",class:"pl-md-4 column-container"},{default:s(()=>[e[8]||(e[8]=d("div",{class:"text-overline mb-2"},"Preview",-1)),d("div",ae,[a(t(I),{value:t(S),theme:"dark-plus",language:"yaml",options:{readOnly:!0,tabSize:2,minimap:{enabled:!1},automaticLayout:!0}},null,8,["value"])]),a(C,{variant:"flat",class:"risk-overview mt-4 pa-4"},{default:s(()=>[d("div",le,[e[7]||(e[7]=d("div",{class:"text-overline"},"Risk overview",-1)),t(f).risk?(p(),V(R,{key:0,color:q[t(f).risk],variant:"tonal"},{default:s(()=>[v(x(t(f).risk)+" risk ",1)]),_:1},8,["color"])):(p(),V(R,{key:1,variant:"tonal"},{default:s(()=>[...e[6]||(e[6]=[v("No risk",-1)])]),_:1}))]),d("p",se,x(t(f).message),1)]),_:1}),t(c)?(p(),V(H,{key:0,type:"error",density:"compact",class:"mt-4"},{default:s(()=>[v(x(t(c)),1)]),_:1})):Q("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),a(X,null,{default:s(()=>[a(Z),a(D,{disabled:i.loading,onClick:e[3]||(e[3]=l=>u.value=!1)},{default:s(()=>[...e[9]||(e[9]=[v("Cancel",-1)])]),_:1},8,["disabled"]),a(D,{color:"primary",disabled:!t(U),loading:i.loading,onClick:O},{default:s(()=>[...e[10]||(e[10]=[v("Save",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1},8,["title"])]),_:1},8,["modelValue"]))}}),ue=A(te,[["__scopeId","data-v-ca0e79da"]]);export{ue as B};
@@ -1 +1 @@
1
- import{l as v,_ as I}from"#entry";import{E as h,u as b,w as j,M as k,Y as u,_ as y,D as o,V as l,a2 as _,aI as P,b1 as x,J as w,r as p}from"./-NXdyIEV.js";import{P as C}from"./DJwAKlaO.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";const g={class:"panel-frame-container"},A=["src"],B=h({__name:"[panelId]",props:{params:{}},setup(t){const{$client:d}=b(),r=p(),a=p(),{stateStore:m}=v(t.params.projectId);let n=0,c;const f=async s=>{try{const e=await d.state.createPanelLaunch.mutate({projectId:t.params.projectId,panelId:t.params.panelId});s===n&&(r.value=e.url)}catch(e){s===n&&(a.value=e instanceof Error?e.message:"Failed to launch panel")}};return j(()=>m.unlockState?.type,s=>{const e=++n;if(c?.(),c=void 0,r.value=void 0,a.value=void 0,s!=="unlocked")return;c=d.state.watchPanelAvailability.subscribe({projectId:t.params.projectId,panelId:t.params.panelId},{onData({online:i}){if(e===n){if(!i){r.value=void 0,a.value="Panel is offline";return}a.value=void 0,f(e)}},onError(i){e===n&&(a.value=i.message)}}).unsubscribe},{immediate:!0}),k(()=>c?.()),(s,e)=>(l(),u(o(C),{"project-id":t.params.projectId,"can-unlock":""},{default:y(()=>[_("div",g,[o(a)?(l(),u(P,{key:0,type:"error",text:o(a)},null,8,["text"])):o(r)?(l(),w("iframe",{key:2,src:o(r),class:"panel-frame",title:"Unit panel"},null,8,A)):(l(),u(x,{key:1,indeterminate:""}))])]),_:1},8,["project-id"]))}}),q=I(B,[["__scopeId","data-v-56c2e548"]]);export{q as default};
1
+ import{m as v,_ as I}from"#entry";import{E as h,u as b,w as j,M as k,Y as u,_ as y,D as o,V as l,a2 as _,aI as P,b1 as x,J as w,r as p}from"./-NXdyIEV.js";import{P as C}from"./DzP42O4c.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyDuNLRY.js";const g={class:"panel-frame-container"},A=["src"],B=h({__name:"[panelId]",props:{params:{}},setup(t){const{$client:d}=b(),r=p(),a=p(),{stateStore:m}=v(t.params.projectId);let n=0,c;const f=async s=>{try{const e=await d.state.createPanelLaunch.mutate({projectId:t.params.projectId,panelId:t.params.panelId});s===n&&(r.value=e.url)}catch(e){s===n&&(a.value=e instanceof Error?e.message:"Failed to launch panel")}};return j(()=>m.unlockState?.type,s=>{const e=++n;if(c?.(),c=void 0,r.value=void 0,a.value=void 0,s!=="unlocked")return;c=d.state.watchPanelAvailability.subscribe({projectId:t.params.projectId,panelId:t.params.panelId},{onData({online:i}){if(e===n){if(!i){r.value=void 0,a.value="Panel is offline";return}a.value=void 0,f(e)}},onError(i){e===n&&(a.value=i.message)}}).unsubscribe},{immediate:!0}),k(()=>c?.()),(s,e)=>(l(),u(o(C),{"project-id":t.params.projectId,"can-unlock":""},{default:y(()=>[_("div",g,[o(a)?(l(),u(P,{key:0,type:"error",text:o(a)},null,8,["text"])):o(r)?(l(),w("iframe",{key:2,src:o(r),class:"panel-frame",title:"Unit panel"},null,8,A)):(l(),u(x,{key:1,indeterminate:""}))])]),_:1},8,["project-id"]))}}),q=I(B,[["__scopeId","data-v-56c2e548"]]);export{q as default};
@@ -1 +1 @@
1
- import{C as H,I as M,u as W,t as Y,E as q,D as G}from"#entry";import{E as Q,u as X,aP as A,r as u,J as K,D as e,Y as g,_ as l,a1 as S,a as w,W as a,ah as j,aa as Z,V as d,aR as _,a2 as h,at as m,$ as r,aI as ee,aS as te,ai as R,aj as $,aJ as U,aK as B}from"./-NXdyIEV.js";import{_ as ae}from"./B2Q2xBzH.js";import{_ as P,I as le}from"./DKbLex6i.js";import{S as ie}from"./C7Ij7g1p.js";import{D as se,a as oe}from"./Bc-UhGEo.js";import{O as ne}from"./Cofyfw8g.js";import{A as re}from"./BxFuzIIZ.js";import{P as ue}from"./O5iT7Vr2.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./DyhJj7Ha.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./BqAcL3eq.js";import"./DXVNaud5.js";import"./BWDN-9Hx.js";const de={class:"d-flex ga-2"},me={key:1},pe={key:1},Re=Q({__name:"[apiKeyId]",props:{params:{}},async setup(p){let s,n;const{projectStore:v}=H(),b=M(),{$client:E}=X(),N=W();v.initializing?([s,n]=A(()=>G(()=>v.initialized).toBe(!0)),await s,n(),v.addLibraryRoot()):([s,n]=A(()=>v.initialize1()),await s,n(),[s,n]=A(()=>v.initialize2()),await s,n());const i=u(([s,n]=A(()=>b.get(p.params.apiKeyId)),s=await s,n(),s));if(!i.value)throw Y({statusCode:404,statusMessage:"API key not found"});const[T,O]=([s,n]=A(()=>Promise.all([q().getRestrictionOptions(),b.getServiceAccountOptions()])),s=await s,n(),s),y=u(!1),k=u(!1),f=u(!1),I=u(!1),D=u(""),x=u(!1),V=u(!1),C=u(!1),z=[{key:"id",label:"API key ID"},{key:"serviceAccount",label:"Service account"},{key:"expiresAt",label:"Expires"},{key:"lastUsedAt",label:"Last used"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function L(c){x.value=!0;try{i.value=await b.update(p.params.apiKeyId,c),y.value=!1}finally{x.value=!1}}async function J(){C.value=!0;try{const c=await E.apiKey.rotateProject.mutate({projectId:p.params.projectId,apiKeyId:p.params.apiKeyId});i.value=c.apiKey,f.value=!1,D.value=c.token,I.value=!0}finally{C.value=!1}}async function F(){V.value=!0;try{await b.delete(p.params.apiKeyId),await N.push({name:"settings.api-keys",params:{projectId:p.params.projectId}})}finally{V.value=!1}}return(c,t)=>(d(),K(Z,null,[e(i)?(d(),g(e(oe),{key:0},{default:l(()=>[a(e(ie),{meta:e(i).meta,"fallback-icon":"mdi-key-variant",title:e(i).meta.title,description:e(i).meta.description},_({_:2},[e(i).managed?void 0:{name:"actions",fn:l(()=>[h("div",de,[a(m,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=o=>y.value=!0)},{default:l(()=>[...t[9]||(t[9]=[r("Edit",-1)])]),_:1}),a(m,{variant:"outlined","prepend-icon":"mdi-refresh",onClick:t[1]||(t[1]=o=>f.value=!0)},{default:l(()=>[...t[10]||(t[10]=[r(" Rotate ",-1)])]),_:1}),a(m,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[2]||(t[2]=o=>k.value=!0)},{default:l(()=>[...t[11]||(t[11]=[r(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(i).managed?(d(),g(ee,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:l(()=>[...t[12]||(t[12]=[r(" This worker-managed API key is read-only. ",-1)])]),_:1})):S("",!0),a(e(se),{title:"API Key Details",items:z},{"item.id":l(()=>[a(e(le),{value:e(i).id},null,8,["value"])]),"item.serviceAccount":l(()=>[a(e(ae),{item:e(i)},null,8,["item"])]),"item.expiresAt":l(()=>[e(i).expiresAt?(d(),g(e(P),{key:0,value:e(i).expiresAt},null,8,["value"])):(d(),K("span",me,"Never"))]),"item.lastUsedAt":l(()=>[e(i).lastUsedAt?(d(),g(e(P),{key:0,value:e(i).lastUsedAt},null,8,["value"])):(d(),K("span",pe,"Never"))]),"item.createdAt":l(()=>[a(e(P),{value:e(i).createdAt},null,8,["value"])]),"item.updatedAt":l(()=>[a(e(P),{value:e(i).updatedAt},null,8,["value"])]),_:1}),a(te,{elevation:0},{default:l(()=>[a(e(ne),{title:"Restriction Rules",data:e(i).restrictionRules},null,8,["data"])]),_:1})]),_:1})):S("",!0),e(i)?(d(),g(e(ue),{key:1,visible:e(y),"onUpdate:visible":t[3]||(t[3]=o=>w(y)?y.value=o:null),"api-key":e(i),"service-accounts":e(O),"restriction-options":e(T),loading:e(x),onSave:L},null,8,["visible","api-key","service-accounts","restriction-options","loading"])):S("",!0),a(e(re),{visible:e(I),"onUpdate:visible":t[4]||(t[4]=o=>w(I)?I.value=o:null),token:e(D)},null,8,["visible","token"]),a(j,{modelValue:e(f),"onUpdate:modelValue":t[6]||(t[6]=o=>w(f)?f.value=o:null),"max-width":"480"},{default:l(()=>[a(R,{title:"Rotate API key"},{default:l(()=>[a($,null,{default:l(()=>[...t[13]||(t[13]=[r("The current token will stop working immediately.",-1)])]),_:1}),a(U,null,{default:l(()=>[a(B),a(m,{disabled:e(C),onClick:t[5]||(t[5]=o=>f.value=!1)},{default:l(()=>[...t[14]||(t[14]=[r("Cancel",-1)])]),_:1},8,["disabled"]),a(m,{color:"warning",loading:e(C),onClick:J},{default:l(()=>[...t[15]||(t[15]=[r("Rotate",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j,{modelValue:e(k),"onUpdate:modelValue":t[8]||(t[8]=o=>w(k)?k.value=o:null),"max-width":"480"},{default:l(()=>[a(R,{title:"Delete API key"},{default:l(()=>[a($,null,{default:l(()=>[...t[16]||(t[16]=[r("This permanently revokes this API key.",-1)])]),_:1}),a(U,null,{default:l(()=>[a(B),a(m,{disabled:e(V),onClick:t[7]||(t[7]=o=>k.value=!1)},{default:l(()=>[...t[17]||(t[17]=[r("Cancel",-1)])]),_:1},8,["disabled"]),a(m,{color:"error",loading:e(V),onClick:F},{default:l(()=>[...t[18]||(t[18]=[r("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Re as default};
1
+ import{D as H,J as M,u as W,v as Y,F as q,E as G}from"#entry";import{E as Q,u as X,aP as A,r as u,J as K,D as e,Y as g,_ as l,a1 as S,a as w,W as a,ah as j,aa as Z,V as d,aR as _,a2 as h,at as m,$ as r,aI as ee,aS as te,ai as R,aj as $,aJ as U,aK as B}from"./-NXdyIEV.js";import{_ as ae}from"./Dz1kPrb2.js";import{_ as P,I as le}from"./CHVFVVjA.js";import{S as ie}from"./DlfNK0cA.js";import{D as se,a as oe}from"./BvF6CC6t.js";import{O as ne}from"./0MzBjiBY.js";import{A as re}from"./Cn0h663F.js";import{P as ue}from"./DYnMeE8e.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./CrAApG3c.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./BqAcL3eq.js";import"./DvLL-V6a.js";import"./01ZR8FKx.js";const de={class:"d-flex ga-2"},me={key:1},pe={key:1},Re=Q({__name:"[apiKeyId]",props:{params:{}},async setup(p){let s,n;const{projectStore:f}=H(),b=M(),{$client:E}=X(),N=W();f.initializing?([s,n]=A(()=>G(()=>f.initialized).toBe(!0)),await s,n(),f.addLibraryRoot()):([s,n]=A(()=>f.initialize1()),await s,n(),[s,n]=A(()=>f.initialize2()),await s,n());const i=u(([s,n]=A(()=>b.get(p.params.apiKeyId)),s=await s,n(),s));if(!i.value)throw Y({statusCode:404,statusMessage:"API key not found"});const[T,O]=([s,n]=A(()=>Promise.all([q().getRestrictionOptions(),b.getServiceAccountOptions()])),s=await s,n(),s),y=u(!1),k=u(!1),v=u(!1),I=u(!1),D=u(""),x=u(!1),V=u(!1),C=u(!1),z=[{key:"id",label:"API key ID"},{key:"serviceAccount",label:"Service account"},{key:"expiresAt",label:"Expires"},{key:"lastUsedAt",label:"Last used"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function L(c){x.value=!0;try{i.value=await b.update(p.params.apiKeyId,c),y.value=!1}finally{x.value=!1}}async function J(){C.value=!0;try{const c=await E.apiKey.rotateProject.mutate({projectId:p.params.projectId,apiKeyId:p.params.apiKeyId});i.value=c.apiKey,v.value=!1,D.value=c.token,I.value=!0}finally{C.value=!1}}async function F(){V.value=!0;try{await b.delete(p.params.apiKeyId),await N.push({name:"settings.api-keys",params:{projectId:p.params.projectId}})}finally{V.value=!1}}return(c,t)=>(d(),K(Z,null,[e(i)?(d(),g(e(oe),{key:0},{default:l(()=>[a(e(ie),{meta:e(i).meta,"fallback-icon":"mdi-key-variant",title:e(i).meta.title,description:e(i).meta.description},_({_:2},[e(i).managed?void 0:{name:"actions",fn:l(()=>[h("div",de,[a(m,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:t[0]||(t[0]=o=>y.value=!0)},{default:l(()=>[...t[9]||(t[9]=[r("Edit",-1)])]),_:1}),a(m,{variant:"outlined","prepend-icon":"mdi-refresh",onClick:t[1]||(t[1]=o=>v.value=!0)},{default:l(()=>[...t[10]||(t[10]=[r(" Rotate ",-1)])]),_:1}),a(m,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:t[2]||(t[2]=o=>k.value=!0)},{default:l(()=>[...t[11]||(t[11]=[r(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),e(i).managed?(d(),g(ee,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:l(()=>[...t[12]||(t[12]=[r(" This worker-managed API key is read-only. ",-1)])]),_:1})):S("",!0),a(e(se),{title:"API Key Details",items:z},{"item.id":l(()=>[a(e(le),{value:e(i).id},null,8,["value"])]),"item.serviceAccount":l(()=>[a(e(ae),{item:e(i)},null,8,["item"])]),"item.expiresAt":l(()=>[e(i).expiresAt?(d(),g(e(P),{key:0,value:e(i).expiresAt},null,8,["value"])):(d(),K("span",me,"Never"))]),"item.lastUsedAt":l(()=>[e(i).lastUsedAt?(d(),g(e(P),{key:0,value:e(i).lastUsedAt},null,8,["value"])):(d(),K("span",pe,"Never"))]),"item.createdAt":l(()=>[a(e(P),{value:e(i).createdAt},null,8,["value"])]),"item.updatedAt":l(()=>[a(e(P),{value:e(i).updatedAt},null,8,["value"])]),_:1}),a(te,{elevation:0},{default:l(()=>[a(e(ne),{title:"Restriction Rules",data:e(i).restrictionRules},null,8,["data"])]),_:1})]),_:1})):S("",!0),e(i)?(d(),g(e(ue),{key:1,visible:e(y),"onUpdate:visible":t[3]||(t[3]=o=>w(y)?y.value=o:null),"api-key":e(i),"service-accounts":e(O),"restriction-options":e(T),loading:e(x),onSave:L},null,8,["visible","api-key","service-accounts","restriction-options","loading"])):S("",!0),a(e(re),{visible:e(I),"onUpdate:visible":t[4]||(t[4]=o=>w(I)?I.value=o:null),token:e(D)},null,8,["visible","token"]),a(j,{modelValue:e(v),"onUpdate:modelValue":t[6]||(t[6]=o=>w(v)?v.value=o:null),"max-width":"480"},{default:l(()=>[a(R,{title:"Rotate API key"},{default:l(()=>[a($,null,{default:l(()=>[...t[13]||(t[13]=[r("The current token will stop working immediately.",-1)])]),_:1}),a(U,null,{default:l(()=>[a(B),a(m,{disabled:e(C),onClick:t[5]||(t[5]=o=>v.value=!1)},{default:l(()=>[...t[14]||(t[14]=[r("Cancel",-1)])]),_:1},8,["disabled"]),a(m,{color:"warning",loading:e(C),onClick:J},{default:l(()=>[...t[15]||(t[15]=[r("Rotate",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(j,{modelValue:e(k),"onUpdate:modelValue":t[8]||(t[8]=o=>w(k)?k.value=o:null),"max-width":"480"},{default:l(()=>[a(R,{title:"Delete API key"},{default:l(()=>[a($,null,{default:l(()=>[...t[16]||(t[16]=[r("This permanently revokes this API key.",-1)])]),_:1}),a(U,null,{default:l(()=>[a(B),a(m,{disabled:e(V),onClick:t[7]||(t[7]=o=>k.value=!1)},{default:l(()=>[...t[17]||(t[17]=[r("Cancel",-1)])]),_:1},8,["disabled"]),a(m,{color:"error",loading:e(V),onClick:F},{default:l(()=>[...t[18]||(t[18]=[r("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Re as default};
@@ -1 +1 @@
1
- import{E as I,u as $}from"#entry";import{E as D,aG as P,V as S,Y as h,_ as l,a2 as M,W as i,D as t,aO as V,aP as R,J as T,a as C,ah as N,aa as A,r as c,at as j,$ as b,ai as E,aj as O,a0 as J,aJ as L,aK as F}from"./-NXdyIEV.js";import"./C7Ij7g1p.js";import{S as G,b as B}from"./BKZ346WY.js";import{_ as H,a as K}from"./CZyQa1Zc.js";import{P as W}from"./CJVpO6nQ.js";import{S as Y}from"./DEdaEI2J.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./DKbLex6i.js";import"./D4_5UqG-.js";import"./DXVNaud5.js";import"./BWDN-9Hx.js";const q={class:"d-flex justify-center ga-1"},z=D({__name:"ProjectRolesTable",props:V({projectId:{},data:{},loading:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:V(["delete"],["update:search","update:sortBy","update:page","update:itemsPerPage"]),setup(r){const d=P(r,"search"),g=P(r,"sortBy"),a=P(r,"page"),v=P(r,"itemsPerPage"),m=[B.name,B.createdAt,B.actions];return(n,o)=>(S(),h(t(G),{search:d.value,"onUpdate:search":o[0]||(o[0]=s=>d.value=s),"sort-by":g.value,"onUpdate:sortBy":o[1]||(o[1]=s=>g.value=s),page:a.value,"onUpdate:page":o[2]||(o[2]=s=>a.value=s),"items-per-page":v.value,"onUpdate:itemsPerPage":o[3]||(o[3]=s=>v.value=s),headers:m,data:r.data,loading:r.loading,height:r.height},{"item.actions":l(({item:s})=>[M("div",q,[i(t(H),{"page-name":"settings.project-role-details","page-params":{projectId:r.projectId,roleId:s.id}},null,8,["page-params"]),i(t(K),{icon:"mdi-delete-outline",tooltip:"Delete role",color:"error",disabled:!!s.systemName,onClick:f=>n.$emit("delete",s)},null,8,["disabled","onClick"])])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","height"]))}}),pe=D({__name:"index",props:{params:{}},async setup(r){let d,g;const a=I(),v=$(),m=c(!1),n=c(!1),o=c(null),s=c(!1),f=c(!1),U=([d,g]=R(()=>a.getRestrictionOptions()),d=await d,g(),d);async function x(y){s.value=!0;try{const e=await a.create(y);m.value=!1,await v.push({name:"settings.project-role-details",params:{projectId:r.params.projectId,roleId:e.id}})}finally{s.value=!1}}function k(y){o.value=y,n.value=!0}async function w(){if(o.value){f.value=!0;try{await a.delete(o.value.id),n.value=!1,o.value=null}finally{f.value=!1}}}return a.items.load(),(y,e)=>(S(),T(A,null,[i(t(Y),{title:"Roles",icon:"mdi-shield-account",description:"Manage roles that grant permissions within this project."},{actions:l(()=>[i(j,{color:"primary","prepend-icon":"mdi-plus",onClick:e[0]||(e[0]=p=>m.value=!0)},{default:l(()=>[...e[8]||(e[8]=[b("Create role",-1)])]),_:1})]),default:l(({height:p})=>[i(t(z),{search:t(a).items.search,"onUpdate:search":e[1]||(e[1]=u=>t(a).items.search=u),"sort-by":t(a).items.sortBy,"onUpdate:sortBy":e[2]||(e[2]=u=>t(a).items.sortBy=u),page:t(a).items.page,"onUpdate:page":e[3]||(e[3]=u=>t(a).items.page=u),"items-per-page":t(a).items.itemsPerPage,"onUpdate:itemsPerPage":e[4]||(e[4]=u=>t(a).items.itemsPerPage=u),"project-id":r.params.projectId,data:t(a).items.data,loading:t(a).items.isLoading,height:p,onDelete:k},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}),i(t(W),{visible:t(m),"onUpdate:visible":e[5]||(e[5]=p=>C(m)?m.value=p:null),loading:t(s),"restriction-options":t(U),onSave:x},null,8,["visible","loading","restriction-options"]),i(N,{modelValue:t(n),"onUpdate:modelValue":e[7]||(e[7]=p=>C(n)?n.value=p:null),"max-width":"480"},{default:l(()=>[i(E,{title:"Delete project role"},{default:l(()=>[i(O,null,{default:l(()=>[b(' This permanently deletes "'+J(t(o)?.meta.title)+'" and all of its bindings. ',1)]),_:1}),i(L,null,{default:l(()=>[i(F),i(j,{disabled:t(f),onClick:e[6]||(e[6]=p=>n.value=!1)},{default:l(()=>[...e[9]||(e[9]=[b("Cancel",-1)])]),_:1},8,["disabled"]),i(j,{color:"error",loading:t(f),onClick:w},{default:l(()=>[...e[10]||(e[10]=[b("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{pe as default};
1
+ import{F as I,u as $}from"#entry";import{E as D,aG as P,V as S,Y as h,_ as l,a2 as M,W as i,D as t,aO as V,aP as R,J as T,a as C,ah as N,aa as A,r as c,at as j,$ as b,ai as O,aj as E,a0 as F,aJ as J,aK as L}from"./-NXdyIEV.js";import"./DlfNK0cA.js";import{S as G,b as B}from"./DfDsDJD2.js";import{_ as H,a as K}from"./CBtqoa0c.js";import{P as W}from"./BCJUQ-QU.js";import{S as Y}from"./DXmPWjsX.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./CHVFVVjA.js";import"./D4_5UqG-.js";import"./DvLL-V6a.js";import"./01ZR8FKx.js";const q={class:"d-flex justify-center ga-1"},z=D({__name:"ProjectRolesTable",props:V({projectId:{},data:{},loading:{type:Boolean},height:{}},{search:{},searchModifiers:{},sortBy:{},sortByModifiers:{},page:{},pageModifiers:{},itemsPerPage:{},itemsPerPageModifiers:{}}),emits:V(["delete"],["update:search","update:sortBy","update:page","update:itemsPerPage"]),setup(r){const d=P(r,"search"),g=P(r,"sortBy"),a=P(r,"page"),v=P(r,"itemsPerPage"),m=[B.name,B.createdAt,B.actions];return(n,o)=>(S(),h(t(G),{search:d.value,"onUpdate:search":o[0]||(o[0]=s=>d.value=s),"sort-by":g.value,"onUpdate:sortBy":o[1]||(o[1]=s=>g.value=s),page:a.value,"onUpdate:page":o[2]||(o[2]=s=>a.value=s),"items-per-page":v.value,"onUpdate:itemsPerPage":o[3]||(o[3]=s=>v.value=s),headers:m,data:r.data,loading:r.loading,height:r.height},{"item.actions":l(({item:s})=>[M("div",q,[i(t(H),{"page-name":"settings.project-role-details","page-params":{projectId:r.projectId,roleId:s.id}},null,8,["page-params"]),i(t(K),{icon:"mdi-delete-outline",tooltip:"Delete role",color:"error",disabled:!!s.systemName,onClick:f=>n.$emit("delete",s)},null,8,["disabled","onClick"])])]),_:1},8,["search","sort-by","page","items-per-page","data","loading","height"]))}}),pe=D({__name:"index",props:{params:{}},async setup(r){let d,g;const a=I(),v=$(),m=c(!1),n=c(!1),o=c(null),s=c(!1),f=c(!1),U=([d,g]=R(()=>a.getRestrictionOptions()),d=await d,g(),d);async function x(y){s.value=!0;try{const e=await a.create(y);m.value=!1,await v.push({name:"settings.project-role-details",params:{projectId:r.params.projectId,roleId:e.id}})}finally{s.value=!1}}function k(y){o.value=y,n.value=!0}async function w(){if(o.value){f.value=!0;try{await a.delete(o.value.id),n.value=!1,o.value=null}finally{f.value=!1}}}return a.items.load(),(y,e)=>(S(),T(A,null,[i(t(Y),{title:"Roles",icon:"mdi-shield-account",description:"Manage roles that grant permissions within this project."},{actions:l(()=>[i(j,{color:"primary","prepend-icon":"mdi-plus",onClick:e[0]||(e[0]=p=>m.value=!0)},{default:l(()=>[...e[8]||(e[8]=[b("Create role",-1)])]),_:1})]),default:l(({height:p})=>[i(t(z),{search:t(a).items.search,"onUpdate:search":e[1]||(e[1]=u=>t(a).items.search=u),"sort-by":t(a).items.sortBy,"onUpdate:sortBy":e[2]||(e[2]=u=>t(a).items.sortBy=u),page:t(a).items.page,"onUpdate:page":e[3]||(e[3]=u=>t(a).items.page=u),"items-per-page":t(a).items.itemsPerPage,"onUpdate:itemsPerPage":e[4]||(e[4]=u=>t(a).items.itemsPerPage=u),"project-id":r.params.projectId,data:t(a).items.data,loading:t(a).items.isLoading,height:p,onDelete:k},null,8,["search","sort-by","page","items-per-page","project-id","data","loading","height"])]),_:1}),i(t(W),{visible:t(m),"onUpdate:visible":e[5]||(e[5]=p=>C(m)?m.value=p:null),loading:t(s),"restriction-options":t(U),onSave:x},null,8,["visible","loading","restriction-options"]),i(N,{modelValue:t(n),"onUpdate:modelValue":e[7]||(e[7]=p=>C(n)?n.value=p:null),"max-width":"480"},{default:l(()=>[i(O,{title:"Delete project role"},{default:l(()=>[i(E,null,{default:l(()=>[b(' This permanently deletes "'+F(t(o)?.meta.title)+'" and all of its bindings. ',1)]),_:1}),i(J,null,{default:l(()=>[i(L),i(j,{disabled:t(f),onClick:e[6]||(e[6]=p=>n.value=!1)},{default:l(()=>[...e[9]||(e[9]=[b("Cancel",-1)])]),_:1},8,["disabled"]),i(j,{color:"error",loading:t(f),onClick:w},{default:l(()=>[...e[10]||(e[10]=[b("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{pe as default};
@@ -1 +1 @@
1
- import{s as O,_ as F,E as U,u as h,t as q}from"#entry";import{_ as D,I as L}from"./DKbLex6i.js";import{S as J}from"./C7Ij7g1p.js";import{P as z}from"./CJVpO6nQ.js";import{E,aG as G,u as H,aP as N,V as p,J as C,D as t,Y as k,aI as T,_ as n,$ as g,a0 as P,a1 as V,a2 as u,W as a,a as w,aN as K,at as A,aa as M,ab as Q,aQ as W,aO as Y,r as m,j as $,ah as X,aR as Z,aS as _,ai as ee,aj as te,aJ as ae,aK as le}from"./-NXdyIEV.js";import{D as oe,a as ne}from"./Bc-UhGEo.js";import{O as ie}from"./Cofyfw8g.js";import{_ as se}from"./DSTHpVUV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./VQuDbHHR.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./DXVNaud5.js";import"./BWDN-9Hx.js";const re={class:"pa-4"},de={class:"binding-form mb-6"},ue={class:"text-right"},ce={key:0},me=E({__name:"ProjectRoleBindingsTable",props:Y({projectId:{},roleId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(s){let c,y;const I=G(s,"count"),{$client:j}=H(),l=m([]),f=m([]),r=m(null),d=m(!1),v=m(null),b=$(()=>{const o=new Map(l.value.map(e=>[e.serviceAccountId,e]));return f.value.filter(e=>o.has(e.id)).map(e=>({...e,binding:o.get(e.id)}))}),x=$(()=>{const o=new Set(l.value.map(e=>e.serviceAccountId));return f.value.filter(e=>!e.systemName&&!o.has(e.id))});async function S(){d.value=!0;try{const o=await j.projectServiceAccountSettings.getRoleBindingsByRole.query({projectId:s.projectId,roleId:s.roleId}),e=await O(i=>j.projectServiceAccountSettings.query.query({projectId:s.projectId,query:i}));l.value=o,f.value=e,I.value=o.length,v.value=null}catch(o){v.value=o instanceof Error?o.message:"Failed to load role bindings"}finally{d.value=!1}}async function B(){if(r.value){d.value=!0;try{await j.projectServiceAccountSettings.addRoleBinding.mutate({projectId:s.projectId,roleId:s.roleId,serviceAccountId:r.value}),r.value=null,await S()}catch(o){v.value=o instanceof Error?o.message:"Failed to update role bindings"}finally{d.value=!1}}}async function R(o){d.value=!0;try{await j.projectServiceAccountSettings.removeRoleBinding.mutate({projectId:s.projectId,roleId:s.roleId,serviceAccountId:o}),await S()}catch(e){v.value=e instanceof Error?e.message:"Failed to update role bindings"}finally{d.value=!1}}return[c,y]=N(()=>S()),await c,y(),(o,e)=>(p(),C("div",re,[t(v)?(p(),k(T,{key:0,type:"error",density:"compact",class:"mb-4"},{default:n(()=>[g(P(t(v)),1)]),_:1})):V("",!0),u("div",de,[a(K,{modelValue:t(r),"onUpdate:modelValue":e[0]||(e[0]=i=>w(r)?r.value=i:null),items:t(x),"item-title":"meta.title","item-value":"id",label:"Service account",density:"compact",variant:"outlined","hide-details":"",disabled:s.readonly||t(d)},null,8,["modelValue","items","disabled"]),a(A,{class:"binding-action",color:"primary",disabled:s.readonly||!t(r),loading:t(d),onClick:B},{default:n(()=>[...e[1]||(e[1]=[g(" Add ",-1)])]),_:1},8,["disabled","loading"])]),a(W,null,{default:n(()=>[e[3]||(e[3]=u("thead",null,[u("tr",null,[u("th",null,"Service account"),u("th",null,"Created"),u("th",{class:"text-right"},"Actions")])],-1)),u("tbody",null,[(p(!0),C(M,null,Q(t(b),i=>(p(),C("tr",{key:i.id},[u("td",null,P(i.meta.title),1),u("td",null,[a(D,{value:i.binding.createdAt},null,8,["value"])]),u("td",ue,[a(A,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:s.readonly||!!i.systemName,onClick:pe=>R(i.id)},null,8,["disabled","onClick"])])]))),128)),!t(d)&&t(b).length===0?(p(),C("tr",ce,[...e[2]||(e[2]=[u("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No service accounts",-1)])])):V("",!0)])]),_:1})]))}}),ve=F(me,[["__scopeId","data-v-b31ced55"]]),fe={class:"d-flex ga-2"},Ne=E({__name:"[roleId]",props:{params:{}},async setup(s){let c,y;const I=U(),j=h(),l=m(([c,y]=N(()=>I.get(s.params.roleId)),c=await c,y(),c));if(!l.value)throw q({statusCode:404,statusMessage:"Project role not found"});const f=m(!1),r=m(!1),d=m(!1),v=m(!1),b=m(0),x=([c,y]=N(()=>I.getRestrictionOptions()),c=await c,y(),c),S=[{key:"id",label:"Role ID"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function B(o){d.value=!0;try{l.value=await I.update(s.params.roleId,o),f.value=!1}finally{d.value=!1}}async function R(){v.value=!0;try{await I.delete(s.params.roleId),await j.push({name:"settings.project-roles",params:{projectId:s.params.projectId}})}finally{v.value=!1}}return(o,e)=>(p(),C(M,null,[t(l)?(p(),k(t(ne),{key:0},{default:n(()=>[a(t(J),{meta:t(l).meta,"fallback-icon":"mdi-shield-account",title:t(l).meta.title,description:t(l).meta.description},Z({_:2},[t(l).systemName?void 0:{name:"actions",fn:n(()=>[u("div",fe,[a(A,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:e[0]||(e[0]=i=>f.value=!0)},{default:n(()=>[...e[6]||(e[6]=[g(" Edit ",-1)])]),_:1}),a(A,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:e[1]||(e[1]=i=>r.value=!0)},{default:n(()=>[...e[7]||(e[7]=[g(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),t(l).systemName?(p(),k(T,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:n(()=>[...e[8]||(e[8]=[g(" This system-managed role is read-only. ",-1)])]),_:1})):V("",!0),a(t(oe),{title:"Project Role Details",items:S},{"item.id":n(()=>[a(t(L),{value:t(l).id},null,8,["value"])]),"item.createdAt":n(()=>[a(t(D),{value:t(l).createdAt},null,8,["value"])]),"item.updatedAt":n(()=>[a(t(D),{value:t(l).updatedAt},null,8,["value"])]),_:1}),a(_,{elevation:0},{default:n(()=>[a(t(ie),{title:"Rules",data:t(l).rules,icon:"mdi-code-braces"},null,8,["data"]),a(t(se),{title:"Service Accounts",icon:"mdi-account-circle",count:t(b)},{default:n(()=>[a(t(ve),{count:t(b),"onUpdate:count":e[2]||(e[2]=i=>w(b)?b.value=i:null),"project-id":s.params.projectId,"role-id":t(l).id,readonly:!!t(l).systemName},null,8,["count","project-id","role-id","readonly"])]),_:1},8,["count"])]),_:1})]),_:1})):V("",!0),t(l)?(p(),k(t(z),{key:1,visible:t(f),"onUpdate:visible":e[3]||(e[3]=i=>w(f)?f.value=i:null),role:t(l),loading:t(d),"restriction-options":t(x),onSave:B},null,8,["visible","role","loading","restriction-options"])):V("",!0),a(X,{modelValue:t(r),"onUpdate:modelValue":e[5]||(e[5]=i=>w(r)?r.value=i:null),"max-width":"480"},{default:n(()=>[a(ee,{title:"Delete project role"},{default:n(()=>[a(te,null,{default:n(()=>[...e[9]||(e[9]=[g("This permanently deletes the role and all of its bindings.",-1)])]),_:1}),a(ae,null,{default:n(()=>[a(le),a(A,{onClick:e[4]||(e[4]=i=>r.value=!1)},{default:n(()=>[...e[10]||(e[10]=[g("Cancel",-1)])]),_:1}),a(A,{color:"error",loading:t(v),onClick:R},{default:n(()=>[...e[11]||(e[11]=[g("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Ne as default};
1
+ import{t as M,_ as O,F as U,u as h,v as q}from"#entry";import{_ as D,I as L}from"./CHVFVVjA.js";import{S as J}from"./DlfNK0cA.js";import{P as z}from"./BCJUQ-QU.js";import{E,aG as G,u as H,aP as N,V as p,J as C,D as t,Y as k,aI as T,_ as n,$ as g,a0 as P,a1 as V,a2 as u,W as a,a as w,aN as K,at as A,aa as F,ab as Q,aQ as W,aO as Y,r as m,j as $,ah as X,aR as Z,aS as _,ai as ee,aj as te,aJ as ae,aK as le}from"./-NXdyIEV.js";import{D as oe,a as ne}from"./BvF6CC6t.js";import{O as ie}from"./0MzBjiBY.js";import{_ as se}from"./DSTHpVUV.js";import"./B69Z0Xk1.js";import"./CxoCegAs.js";import"./4vGmo7Ws.js";import"./D9y446qR.js";import"./D4_5UqG-.js";import"./DvLL-V6a.js";import"./01ZR8FKx.js";const re={class:"pa-4"},de={class:"binding-form mb-6"},ue={class:"text-right"},ce={key:0},me=E({__name:"ProjectRoleBindingsTable",props:Y({projectId:{},roleId:{},readonly:{type:Boolean}},{count:{default:0},countModifiers:{}}),emits:["update:count"],async setup(s){let c,y;const I=G(s,"count"),{$client:j}=H(),l=m([]),f=m([]),r=m(null),d=m(!1),v=m(null),b=$(()=>{const o=new Map(l.value.map(e=>[e.serviceAccountId,e]));return f.value.filter(e=>o.has(e.id)).map(e=>({...e,binding:o.get(e.id)}))}),x=$(()=>{const o=new Set(l.value.map(e=>e.serviceAccountId));return f.value.filter(e=>!e.systemName&&!o.has(e.id))});async function S(){d.value=!0;try{const o=await j.projectServiceAccountSettings.getRoleBindingsByRole.query({projectId:s.projectId,roleId:s.roleId}),e=await M(i=>j.projectServiceAccountSettings.query.query({projectId:s.projectId,query:i}));l.value=o,f.value=e,I.value=o.length,v.value=null}catch(o){v.value=o instanceof Error?o.message:"Failed to load role bindings"}finally{d.value=!1}}async function B(){if(r.value){d.value=!0;try{await j.projectServiceAccountSettings.addRoleBinding.mutate({projectId:s.projectId,roleId:s.roleId,serviceAccountId:r.value}),r.value=null,await S()}catch(o){v.value=o instanceof Error?o.message:"Failed to update role bindings"}finally{d.value=!1}}}async function R(o){d.value=!0;try{await j.projectServiceAccountSettings.removeRoleBinding.mutate({projectId:s.projectId,roleId:s.roleId,serviceAccountId:o}),await S()}catch(e){v.value=e instanceof Error?e.message:"Failed to update role bindings"}finally{d.value=!1}}return[c,y]=N(()=>S()),await c,y(),(o,e)=>(p(),C("div",re,[t(v)?(p(),k(T,{key:0,type:"error",density:"compact",class:"mb-4"},{default:n(()=>[g(P(t(v)),1)]),_:1})):V("",!0),u("div",de,[a(K,{modelValue:t(r),"onUpdate:modelValue":e[0]||(e[0]=i=>w(r)?r.value=i:null),items:t(x),"item-title":"meta.title","item-value":"id",label:"Service account",density:"compact",variant:"outlined","hide-details":"",disabled:s.readonly||t(d)},null,8,["modelValue","items","disabled"]),a(A,{class:"binding-action",color:"primary",disabled:s.readonly||!t(r),loading:t(d),onClick:B},{default:n(()=>[...e[1]||(e[1]=[g(" Add ",-1)])]),_:1},8,["disabled","loading"])]),a(W,null,{default:n(()=>[e[3]||(e[3]=u("thead",null,[u("tr",null,[u("th",null,"Service account"),u("th",null,"Created"),u("th",{class:"text-right"},"Actions")])],-1)),u("tbody",null,[(p(!0),C(F,null,Q(t(b),i=>(p(),C("tr",{key:i.id},[u("td",null,P(i.meta.title),1),u("td",null,[a(D,{value:i.binding.createdAt},null,8,["value"])]),u("td",ue,[a(A,{icon:"mdi-delete-outline",variant:"text",size:"small",disabled:s.readonly||!!i.systemName,onClick:pe=>R(i.id)},null,8,["disabled","onClick"])])]))),128)),!t(d)&&t(b).length===0?(p(),C("tr",ce,[...e[2]||(e[2]=[u("td",{colspan:"3",class:"text-center text-medium-emphasis py-4"},"No service accounts",-1)])])):V("",!0)])]),_:1})]))}}),ve=O(me,[["__scopeId","data-v-b31ced55"]]),fe={class:"d-flex ga-2"},Ne=E({__name:"[roleId]",props:{params:{}},async setup(s){let c,y;const I=U(),j=h(),l=m(([c,y]=N(()=>I.get(s.params.roleId)),c=await c,y(),c));if(!l.value)throw q({statusCode:404,statusMessage:"Project role not found"});const f=m(!1),r=m(!1),d=m(!1),v=m(!1),b=m(0),x=([c,y]=N(()=>I.getRestrictionOptions()),c=await c,y(),c),S=[{key:"id",label:"Role ID"},{key:"createdAt",label:"Created"},{key:"updatedAt",label:"Last updated"}];async function B(o){d.value=!0;try{l.value=await I.update(s.params.roleId,o),f.value=!1}finally{d.value=!1}}async function R(){v.value=!0;try{await I.delete(s.params.roleId),await j.push({name:"settings.project-roles",params:{projectId:s.params.projectId}})}finally{v.value=!1}}return(o,e)=>(p(),C(F,null,[t(l)?(p(),k(t(ne),{key:0},{default:n(()=>[a(t(J),{meta:t(l).meta,"fallback-icon":"mdi-shield-account",title:t(l).meta.title,description:t(l).meta.description},Z({_:2},[t(l).systemName?void 0:{name:"actions",fn:n(()=>[u("div",fe,[a(A,{variant:"outlined","prepend-icon":"mdi-pencil",onClick:e[0]||(e[0]=i=>f.value=!0)},{default:n(()=>[...e[6]||(e[6]=[g(" Edit ",-1)])]),_:1}),a(A,{color:"error",variant:"outlined","prepend-icon":"mdi-delete",onClick:e[1]||(e[1]=i=>r.value=!0)},{default:n(()=>[...e[7]||(e[7]=[g(" Delete ",-1)])]),_:1})])]),key:"0"}]),1032,["meta","title","description"]),t(l).systemName?(p(),k(T,{key:0,type:"info",variant:"tonal",style:{flex:"none"}},{default:n(()=>[...e[8]||(e[8]=[g(" This system-managed role is read-only. ",-1)])]),_:1})):V("",!0),a(t(oe),{title:"Project Role Details",items:S},{"item.id":n(()=>[a(t(L),{value:t(l).id},null,8,["value"])]),"item.createdAt":n(()=>[a(t(D),{value:t(l).createdAt},null,8,["value"])]),"item.updatedAt":n(()=>[a(t(D),{value:t(l).updatedAt},null,8,["value"])]),_:1}),a(_,{elevation:0},{default:n(()=>[a(t(ie),{title:"Rules",data:t(l).rules,icon:"mdi-code-braces"},null,8,["data"]),a(t(se),{title:"Service Accounts",icon:"mdi-account-circle",count:t(b)},{default:n(()=>[a(t(ve),{count:t(b),"onUpdate:count":e[2]||(e[2]=i=>w(b)?b.value=i:null),"project-id":s.params.projectId,"role-id":t(l).id,readonly:!!t(l).systemName},null,8,["count","project-id","role-id","readonly"])]),_:1},8,["count"])]),_:1})]),_:1})):V("",!0),t(l)?(p(),k(t(z),{key:1,visible:t(f),"onUpdate:visible":e[3]||(e[3]=i=>w(f)?f.value=i:null),role:t(l),loading:t(d),"restriction-options":t(x),onSave:B},null,8,["visible","role","loading","restriction-options"])):V("",!0),a(X,{modelValue:t(r),"onUpdate:modelValue":e[5]||(e[5]=i=>w(r)?r.value=i:null),"max-width":"480"},{default:n(()=>[a(ee,{title:"Delete project role"},{default:n(()=>[a(te,null,{default:n(()=>[...e[9]||(e[9]=[g("This permanently deletes the role and all of its bindings.",-1)])]),_:1}),a(ae,null,{default:n(()=>[a(le),a(A,{onClick:e[4]||(e[4]=i=>r.value=!1)},{default:n(()=>[...e[10]||(e[10]=[g("Cancel",-1)])]),_:1}),a(A,{color:"error",loading:t(v),onClick:R},{default:n(()=>[...e[11]||(e[11]=[g("Delete",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}});export{Ne as default};
@@ -0,0 +1 @@
1
+ import{b as J,n as Q,_ as A,r as X,E as F,c as ee,W as te,g as se,i as ne}from"./DyDuNLRY.js";import{Y as oe,Z as ae}from"#entry";import{E as re,d as ie,w as G,H as le,P as ce,V as f,Y as E,aH as de,a as W,D as a,_ as k,aZ as ue,W as h,at as U,Z as L,$ as x,a1 as V,ak as pe,aW as me,J as P,aa as $,aI as z,a2 as N,a0 as T,ao as ye,al as fe,ab as we,r as j,j as H}from"./-NXdyIEV.js";const M=J,O=Q;function I(e,s){let t=[];for(let n=0;n<Math.max(e.length,s.length);n++)t.push([e[n],s[n]]);return t}function B(...e){return e.reduce((s,t)=>new Set([...s,...t]),new Set)}function he(...e){return e.reduce((s,t)=>new Set(Array.from(s).filter(n=>t.has(n))))}const y={sec:1e3};y.min=60*y.sec;y.h=60*y.min;y.d=24*y.h;y.mo=30*y.d;y.y=365*y.mo;function ge(e){if(Number.isNaN(e))return"never";if(e>y.y*100)return"centuries";let s=[];for(let[t,n]of Object.entries(y).reverse()){if(e<n)continue;let l=Math.floor(e/n);s.push(`${l}${t}`),e-=l*n}return s.length>0?s.join(" "):"0 sec"}const u={};u[1]=new Set("0123456789");u["@"]=new Set("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~");u.v=new Set("aeiouy");u.c=new Set("bcdfghjklmnpqrstvwxz");u.a=B(u.v,u.c);for(const e of"vca")u[e.toUpperCase()]=new Set(Array.from(u[e]).map(s=>s.toUpperCase()));u.l=B(u.a,u.A);u.n=B(u.l,u[1]);u["*"]=B(u.n,u["@"]);const ve={s:"cv",S:"Cv"};function ke(e,s){if(Array.isArray(e)||(e=Array.from(e)),s<0||s>=e.length)throw new Error("Out of bounds index access");return e[s]}function be(e,s){let t=M(s),n=[];for(const l of e){const c=BigInt(l);n.push(Number(t%c)),t/=c}return{values:n,entropyLeft:t}}function q(e){let s=0;for(let t=e;t;s++,t>>=1n);return s-1}function S(e,s){return ge(Number(e)/s*1e3)}function Ve(e){const s=[[1005,"too guessable"],[1000005,"very guessable"],[100000005,"somewhat guessable"],[10000000005,"safely unguessable"]];let t="very unguessable";for(const[n,l]of s)if(e<=BigInt(n)){t=l;break}return t}function Y(e){const t=3416.6666666666665/(2*(y.y/1e3)),l=(360+6*320)/6,c=.12,o=(c+c*.33)/60/1e3,b=l*o+t,w=v=>Number(e/BigInt(v))*b;return{score:Ve(e),guesses:{online_throttling:S(e,100/(y.h/1e3)),online:S(e,10),slow:S(e,1e4),fast:S(e,1e10)},costs:{luks:w(22779),filevault2:w(151300),macos:w(1019200),pbkdf2:w(3029200)}}}class Pe{constructor(s){s=s.split("").map(t=>ve[t]||t).join(""),this.chars=s.split(""),this.length=this.chars.length,this.sets=this.chars.map(t=>u[t]||new Set([t])),this.lengths=this.sets.map(t=>t.size),this.cardinality=this.sets.reduce((t,n)=>t*BigInt(n.size),1n),this.entropy=q(this.cardinality)}apply(s){if(this.cardinality>=2n**BigInt(8*s.length/2))throw new Error("Not enough entropy");const{entropyLeft:t,values:n}=be(this.lengths,s);return{password:I(this.sets,n).map(([c,d])=>ke(c,d)).join(""),entropyLeft:t}}inverse({password:s,entropyLeft:t}){const n=I(this.sets,s.split("")).map(([c,d])=>Array.from(c).indexOf(d)),l=I(this.sets,n).reduceRight((c,[d,o])=>c*BigInt(d.size)+BigInt(o),0n);return O(t*this.cardinality+l)}estimate(){return Y(this.cardinality)}}const _=e=>new Pe(e),C=[];for(let e=0;e<17;e++)for(let s=0;s<3;s++)for(let t=0;t<2;t++){const n=["cvccvc","cvccvc","cvccvc"];n[s]=t?"1cvcvc":"cvccv1";const l=n.join("-");let c;for(let d=0,o=0;d<l.length;d++){const g=l[d];["c","v"].includes(g)&&(o===e&&(c=l.slice(0,d)+g.toUpperCase()+l.slice(d+1)),o++)}if(!c)throw new Error("Cannot find uppercase syllable index");C.push(c)}const Ne=(()=>{const e=BigInt(C.length),s=_(C[0]).cardinality*e;return{length:20,cardinality:s,entropy:q(s),estimate:()=>Y(s),apply:t=>{let n=M(t);const l=Number(n%e);return _(C[l]).apply(O(n/e))},inverse(t){const l=t.password.split("").map(g=>{const b=Object.entries(u).filter(([w,v])=>["c","v","C","V","1"].includes(w)).map(([w,v])=>[w,he(v,new Set([g]))]).filter(([w,v])=>v.size>0);if(b.length>1)throw new Error("Too much possible values, cannot detect mask.");return b.length?b[0][0]:g}).join(""),c=C.indexOf(l);if(c<0)throw new Error("Unknown mask");const d=_(C[c]).inverse(t),o=M(d);return O(o*e+BigInt(c))}}})(),Ee={class:"ml-2"},Ce={key:0,class:"mt-1"},xe={key:1},Te={key:1,class:"mb-4"},Se={class:"d-flex justify-space-between align-center mb-2"},Be={class:"text-caption text-medium-emphasis mt-1"},Ue={key:0,class:"mt-2"},Ie={class:"text-caption text-medium-emphasis ml-4"},Ae=re({__name:"UnlockMethodForm",props:{showTypeSelector:{type:Boolean,default:!0},showDescription:{type:Boolean,default:!0},showDisplayName:{type:Boolean,default:!0},initialType:{default:"password"},displayNameLabel:{default:"Display Name"},displayNameHint:{default:"A friendly name to identify this unlock method"},passwordHint:{default:"Password must be strong enough to resist offline attacks"},defaultDisplayName:{default:""},defaultDescription:{default:""}},emits:["update:valid","update:form"],setup(e,{expose:s,emit:t}){const n=e,l=t,c=j(!1),d=j(!1),o=ie({type:n.initialType,title:"",description:"",password:"",confirmPassword:""}),g=H(()=>n.showDisplayName?[r=>!!r||"Display name is required",r=>r&&r.length<=100||"Display name must be less than 100 characters"]:[]),b=[r=>!!r||"Password is required"],w=[r=>!!r||"Confirm password is required",r=>r===o.password||"Passwords do not match"],v=()=>{const r=Ne.apply(X(32)).password;o.password=r,o.confirmPassword=r,d.value=!0},m=H(()=>{if(!o.password)return null;const r=oe.zxcvbn(o.password),i={0:"very-weak",1:"weak",2:"fair",3:"strong",4:"very-strong"},p=Math.max(0,Math.min(4,r.score));return{score:r.score/4*100,level:i[p],estimatedCrackTime:r.crack_times_display.offline_slow_hashing_1e4_per_second||"unknown",recommendations:r.feedback.suggestions||[],warning:r.feedback.warning||void 0}}),R=r=>{switch(r){case"very-weak":return"error";case"weak":return"warning";case"fair":return"info";case"strong":return"success";case"very-strong":return"success";default:return"info"}},D=r=>{switch(r){case"password":return"mdi-key-variant";case"passkey":return"mdi-fingerprint";default:return"mdi-lock"}},Z=()=>{o.type=n.initialType,o.title=n.defaultDisplayName,o.description=n.defaultDescription,o.password="",o.confirmPassword="",d.value=!1};return G(c,r=>{l("update:valid",r)}),G(o,r=>{l("update:form",{...r})},{deep:!0}),le(()=>{o.title=n.defaultDisplayName,o.description=n.defaultDescription}),s({resetForm:Z,form:ce(o)}),(r,i)=>(f(),E(de,{modelValue:a(c),"onUpdate:modelValue":i[6]||(i[6]=p=>W(c)?c.value=p:null)},{default:k(()=>[e.showTypeSelector?(f(),E(ue,{key:0,modelValue:a(o).type,"onUpdate:modelValue":i[0]||(i[0]=p=>a(o).type=p),mandatory:"",variant:"outlined",density:"compact",divided:"",class:"w-100 mb-6"},{default:k(()=>[h(U,{value:"password",class:"flex-grow-1"},{default:k(()=>[h(L,{icon:D("password"),class:"mr-2"},null,8,["icon"]),i[7]||(i[7]=x(" Password ",-1))]),_:1}),h(U,{value:"passkey",class:"flex-grow-1"},{default:k(()=>[h(L,{icon:D("passkey"),class:"mr-2"},null,8,["icon"]),i[8]||(i[8]=x(" Passkey ",-1))]),_:1})]),_:1},8,["modelValue"])):V("",!0),e.showDisplayName?(f(),E(pe,{key:1,modelValue:a(o).title,"onUpdate:modelValue":i[1]||(i[1]=p=>a(o).title=p),class:"mb-4",variant:"outlined",density:"compact",label:e.displayNameLabel,rules:a(g),placeholder:"My unlock method",hint:e.displayNameHint,"persistent-hint":""},null,8,["modelValue","label","rules","hint"])):V("",!0),e.showDescription?(f(),E(me,{key:2,modelValue:a(o).description,"onUpdate:modelValue":i[2]||(i[2]=p=>a(o).description=p),class:"mb-4",variant:"outlined",density:"compact",label:"Description",placeholder:"Optional description for this unlock method",rows:"2","auto-grow":"","hide-details":""},null,8,["modelValue"])):V("",!0),a(o).type==="password"?(f(),P($,{key:3},[h(a(A),{modelValue:a(o).password,"onUpdate:modelValue":i[3]||(i[3]=p=>a(o).password=p),visible:a(d),"onUpdate:visible":i[4]||(i[4]=p=>W(d)?d.value=p:null),class:"mb-4",label:"Password",rules:b,hint:e.passwordHint,"persistent-hint":""},null,8,["modelValue","visible","hint"]),h(U,{type:"button",class:"mb-4",variant:"tonal","prepend-icon":"mdi-auto-fix",onClick:v},{default:k(()=>[...i[9]||(i[9]=[x(" Generate Secure Password ",-1)])]),_:1}),h(a(A),{modelValue:a(o).confirmPassword,"onUpdate:modelValue":i[5]||(i[5]=p=>a(o).confirmPassword=p),class:"mb-4",label:"Confirm Password",rules:w},null,8,["modelValue"]),a(m)&&a(m).score<40?(f(),E(z,{key:0,type:a(m).score<20?"error":"warning",density:"compact",class:"mb-4"},{default:k(()=>[N("div",Ee,[N("strong",null,T(a(m).score<20?"Very Weak":"Weak")+" Password:",1),a(m).warning?(f(),P("div",Ce,T(a(m).warning),1)):(f(),P("div",xe," This password may be vulnerable to offline attacks. Consider using a stronger password. "))])]),_:1},8,["type"])):V("",!0),a(m)?(f(),P("div",Te,[N("div",Se,[i[10]||(i[10]=N("span",{class:"text-caption"},"Password Strength",-1)),h(ye,{color:R(a(m).level),size:"small",variant:"flat"},{default:k(()=>[x(T(a(m).level.replace("-"," ").toUpperCase()),1)]),_:1},8,["color"])]),h(fe,{"model-value":a(m).score,color:R(a(m).level),height:"6",rounded:""},null,8,["model-value","color"]),N("div",Be," Estimated crack time: "+T(a(m).estimatedCrackTime),1),a(m).recommendations.length>0?(f(),P("div",Ue,[i[11]||(i[11]=N("div",{class:"text-caption font-weight-medium mb-1"},"Suggestions:",-1)),N("ul",Ie,[(f(!0),P($,null,we(a(m).recommendations,p=>(f(),P("li",{key:p},T(p),1))),128))])])):V("",!0)])):V("",!0)],64)):a(o).type==="passkey"?(f(),E(z,{key:4,type:"info",density:"compact",class:"mb-4"},{default:k(()=>[...i[12]||(i[12]=[x(" You'll be prompted to create a passkey using your device's biometric authentication or security key when you click Create. ",-1)])]),_:1})):V("",!0)]),_:1},8,["modelValue"]))}});async function K(e,s){const t=await se(),n=await s.encrypt(t),l=ae(n),c=await ne(t);return{meta:e,encryptedIdentity:l,recipient:c}}async function _e(e,s){const t=new F;return t.setPassphrase(e),{type:"password",...await K(s,t)}}async function Me(e,s){if(!e.title)throw new Error("Display name is required for passkey unlock method");const t=await ee({keyName:`[${s.id}] ${s.name} | ${e.title}`}),n=new F;return n.addRecipient(new te({identity:t})),{type:"passkey",...await K(e,n),passkeyIdentity:t}}function Ge(e,s){const t={title:e.title,description:e.description};if(e.type==="password")return _e(e.password,t);if(e.type==="passkey")return Me(t,s);throw new Error(`Unsupported unlock method type: ${e.type}`)}export{Ae as _,Ge as c};