orcaq 1.1.7 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-7uW7YTy.js +1 -0
- package/.output/public/_nuxt/{DzjHXopz.js → 5450EsIE.js} +1 -1
- package/.output/public/_nuxt/6mVUr42b.js +1 -0
- package/.output/public/_nuxt/7H5y5euK.js +1 -0
- package/.output/public/_nuxt/7iCr9_qw.js +26 -0
- package/.output/public/_nuxt/{CJnTtXrv.js → B0gkARnK.js} +1 -1
- package/.output/public/_nuxt/B21nC2NZ.js +1 -0
- package/.output/public/_nuxt/B232GDut.js +2 -0
- package/.output/public/_nuxt/{DtgJAz2h.js → B6N_D8QI.js} +1 -1
- package/.output/public/_nuxt/B7C8fo37.js +1 -0
- package/.output/public/_nuxt/BC82eJHt.js +1 -0
- package/.output/public/_nuxt/BHr4_sbs.js +9 -0
- package/.output/public/_nuxt/{DSOwr8Hs.js → BJvJ0Hlu.js} +4 -4
- package/.output/public/_nuxt/BK-6CJ0A.js +1 -0
- package/.output/public/_nuxt/BMVgfiQu.js +1 -0
- package/.output/public/_nuxt/BNh4NY7v.js +1 -0
- package/.output/public/_nuxt/{DuKway_J.js → BO3FEgXG.js} +1 -1
- package/.output/public/_nuxt/BQm1mt0O.js +1 -0
- package/.output/public/_nuxt/BRCvv3op.js +1 -0
- package/.output/public/_nuxt/{Cym7bWgs.js → BRWis86L.js} +1 -1
- package/.output/public/_nuxt/{CG4v011f.js → BRzWRTTF.js} +1 -1
- package/.output/public/_nuxt/{BRVpLa1E.js → BWTTrGtY.js} +2 -2
- package/.output/public/_nuxt/{CczQKYUP.js → BXMKgn-J.js} +1 -1
- package/.output/public/_nuxt/{C7A87LE3.js → BYaoWfSN.js} +1 -1
- package/.output/public/_nuxt/{Z5g5B4NJ.js → BalNYDR1.js} +1 -1
- package/.output/public/_nuxt/{DQdL5Jcl.js → BmfnP4qD.js} +1 -1
- package/.output/public/_nuxt/Bn6_QGSK.js +1 -0
- package/.output/public/_nuxt/{RTN5rY4m.js → BsCPQnkm.js} +1 -1
- package/.output/public/_nuxt/{39ZZCZCn.js → Bu6ybm3Z.js} +1 -1
- package/.output/public/_nuxt/{2TwRWQjG.js → BuTCm7Bo.js} +1 -1
- package/.output/public/_nuxt/BuzCyLCh.js +1 -0
- package/.output/public/_nuxt/{BCm7jnPt.js → BzNEuLKx.js} +1 -1
- package/.output/public/_nuxt/{DyFXtlg0.js → BzNNFvTW.js} +1 -1
- package/.output/public/_nuxt/{nrlEwpIH.js → BzqjH2-H.js} +1 -1
- package/.output/public/_nuxt/{D0oaRUYx.js → C-e53AuW.js} +1 -1
- package/.output/public/_nuxt/C0jXhwNq.js +1 -0
- package/.output/public/_nuxt/C6K-C4_d.js +1 -0
- package/.output/public/_nuxt/{D7uoAo-G.js → C6teO48Y.js} +5 -5
- package/.output/public/_nuxt/{DUvUg_V7.js → C874itvn.js} +1 -1
- package/.output/public/_nuxt/C8ZJ2pm_.js +1 -0
- package/.output/public/_nuxt/CA3O4M9L.js +1 -0
- package/.output/public/_nuxt/{DStg2VwN.js → CAjVwGyz.js} +1 -1
- package/.output/public/_nuxt/{B41tp0B8.js → CCC5u9Ni.js} +1 -1
- package/.output/public/_nuxt/{3vYvhEat.js → CCCJ2fw7.js} +1 -1
- package/.output/public/_nuxt/{vGkKA7iH.js → CFi6G8Aj.js} +2 -2
- package/.output/public/_nuxt/CKlMKmo6.js +1 -0
- package/.output/public/_nuxt/{BvD9dW-2.js → CMDq7o88.js} +1 -1
- package/.output/public/_nuxt/CMI-3q_e.js +1 -0
- package/.output/public/_nuxt/{D_fdC3mJ.js → CMnjMfEQ.js} +1 -1
- package/.output/public/_nuxt/{DTlu-CJn.js → CQFANjzf.js} +1 -1
- package/.output/public/_nuxt/{DEjwIQuc.js → CU5cwnUW.js} +1 -1
- package/.output/public/_nuxt/{BO-QgaRL.js → CXQ2zrsE.js} +1 -1
- package/.output/public/_nuxt/{BLEKzUmC.js → CXbrqQhC.js} +1 -1
- package/.output/public/_nuxt/CZXyfpHW.js +1 -0
- package/.output/public/_nuxt/CZgTP5wX.js +1 -0
- package/.output/public/_nuxt/{BhT0iBlH.js → Cd_fVKDw.js} +1 -1
- package/.output/public/_nuxt/CeXnSKvd.js +1 -0
- package/.output/public/_nuxt/Chw5tFzx.js +1 -0
- package/.output/public/_nuxt/CkLSGVwV.js +1 -0
- package/.output/public/_nuxt/Cqk0ImDE.js +1 -0
- package/.output/public/_nuxt/{Ch-A9iSC.js → CuXTA7ZW.js} +1 -1
- package/.output/public/_nuxt/Cv9v5fHN.js +1 -0
- package/.output/public/_nuxt/{LUfaevBS.js → CvbYm0uB.js} +1 -1
- package/.output/public/_nuxt/{BV4g1sVY.js → Cw1HIv3s.js} +1 -1
- package/.output/public/_nuxt/{DxF9DsEl.js → CyEOtFwE.js} +1 -1
- package/.output/public/_nuxt/{Clm3Z8VL.js → CyKRjZZo.js} +1 -1
- package/.output/public/_nuxt/{Cj9tYr3P.js → D4DMGxvZ.js} +1 -1
- package/.output/public/_nuxt/{BNnChlxR.js → D5GonnbJ.js} +1 -1
- package/.output/public/_nuxt/D5Oboajo.js +1 -0
- package/.output/public/_nuxt/D8egDyEO.js +1 -0
- package/.output/public/_nuxt/DBSV6YXN.js +1 -0
- package/.output/public/_nuxt/{gWmEw6BT.js → DCewvWOu.js} +1 -1
- package/.output/public/_nuxt/{BG_B-fo0.js → DG9CsZCx.js} +1 -1
- package/.output/public/_nuxt/{BOVFFCPB.js → DH2V7e8U.js} +1 -1
- package/.output/public/_nuxt/{DcXAnOS1.js → DHXwq7wT.js} +1 -1
- package/.output/public/_nuxt/DJXrgohw.js +2 -0
- package/.output/public/_nuxt/{CxZK-Vs6.js → DQRyK9Io.js} +1 -1
- package/.output/public/_nuxt/{B-u0WX5Q.js → DXVrM3CN.js} +1 -1
- package/.output/public/_nuxt/{XVZ0obUR.js → DZ4xLzJg.js} +1 -1
- package/.output/public/_nuxt/DZIoL4RO.js +1 -0
- package/.output/public/_nuxt/D_kY6P5P.js +1 -0
- package/.output/public/_nuxt/{DzN4YRfa.js → DgxTwFGe.js} +2 -2
- package/.output/public/_nuxt/DkX74xDd.js +1 -0
- package/.output/public/_nuxt/{DzaPC1WB.js → DmnufEYq.js} +1 -1
- package/.output/public/_nuxt/{CCk2r9DD.js → Dopm1f4X.js} +1 -1
- package/.output/public/_nuxt/{jJeqAxmP.js → Dpkaavgs.js} +1 -1
- package/.output/public/_nuxt/DpsqSAMo.js +20 -0
- package/.output/public/_nuxt/{CRDIOG8r.js → DrkGD_bQ.js} +1 -1
- package/.output/public/_nuxt/{DLIUYAz9.js → Dtry_3Qa.js} +1 -1
- package/.output/public/_nuxt/DwPmcz47.js +1 -0
- package/.output/public/_nuxt/DyjsVMbv.js +1 -0
- package/.output/public/_nuxt/{CBgbjsPd.js → FmHWbXNk.js} +1 -1
- package/.output/public/_nuxt/{CWGzL6OE.js → JxgekUqn.js} +1 -1
- package/.output/public/_nuxt/KoGK2wLb.js +1 -0
- package/.output/public/_nuxt/LU_a7qLd.js +1 -0
- package/.output/public/_nuxt/{1VXrIDkr.js → LxqkguPP.js} +1 -1
- package/.output/public/_nuxt/Q8x88Gcd.js +1 -0
- package/.output/public/_nuxt/{RFRrMFyH.js → R04uZjs6.js} +1 -1
- package/.output/public/_nuxt/So0hX8V0.js +31 -0
- package/.output/public/_nuxt/WGDY9i_Q.js +1 -0
- package/.output/public/_nuxt/{BZQUF1W4.js → WZQ8mcv9.js} +1 -1
- package/.output/public/_nuxt/{CrwM3gOU.js → XjywAggc.js} +1 -1
- package/.output/public/_nuxt/{_fileId_.DxhkUVGK.css → _fileId_.CiauI_x3.css} +1 -1
- package/.output/public/_nuxt/{z1xPtaLw.js → _uLivI44.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/30582efd-125a-4f88-bd89-20a7b2ba8697.json +1 -0
- package/.output/public/_nuxt/{DRuCf0Sx.js → eQskTKIU.js} +1 -1
- package/.output/public/_nuxt/ecWNT6PZ.js +1 -0
- package/.output/public/_nuxt/entry.BcHy7sxf.css +1 -0
- package/.output/public/_nuxt/{BGAd-CMD.js → f6XRRKUb.js} +1 -1
- package/.output/public/_nuxt/jtwYTq7X.js +52 -0
- package/.output/public/_nuxt/{Bw-4PosZ.js → mcYTISF7.js} +1 -1
- package/.output/public/_nuxt/mcfKrWU-.js +1 -0
- package/.output/public/_nuxt/{CB56S0b2.js → soHTUlpn.js} +3 -3
- package/.output/public/_nuxt/tc7vkD0J.js +3 -0
- package/.output/public/_nuxt/vEHvfalB.js +53 -0
- package/.output/public/_nuxt/vP25tZUh.js +2 -0
- package/.output/public/_nuxt/{CpkrwN3Q.js → zndqWf9s.js} +1 -1
- package/.output/server/chunks/_/tables.factory.mjs +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +794 -730
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +676 -648
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/1fIGBJPQ.js +0 -1
- package/.output/public/_nuxt/1kY3DHv7.js +0 -1
- package/.output/public/_nuxt/9bnMBg54.js +0 -1
- package/.output/public/_nuxt/BFMjnjgH.js +0 -1
- package/.output/public/_nuxt/BN2mQ8OV.js +0 -20
- package/.output/public/_nuxt/BNyWhB4W.js +0 -1
- package/.output/public/_nuxt/BXziI6Bt.js +0 -3
- package/.output/public/_nuxt/BZmEvFAZ.js +0 -28
- package/.output/public/_nuxt/Ba_fqsW2.js +0 -1
- package/.output/public/_nuxt/BbzZxPNQ.js +0 -1
- package/.output/public/_nuxt/Bhm1GL_M.js +0 -1
- package/.output/public/_nuxt/BiSZmDoN.js +0 -1
- package/.output/public/_nuxt/BjK8Fug8.js +0 -1
- package/.output/public/_nuxt/BjpSpz5C.js +0 -1
- package/.output/public/_nuxt/BkqB6n0T.js +0 -1
- package/.output/public/_nuxt/BoPjUGS6.js +0 -1
- package/.output/public/_nuxt/BtwwqY0e.js +0 -1
- package/.output/public/_nuxt/C0l_59dE.js +0 -1
- package/.output/public/_nuxt/C1TOiVRQ.js +0 -9
- package/.output/public/_nuxt/C80Zs8U0.js +0 -1
- package/.output/public/_nuxt/CFZerEKx.js +0 -2
- package/.output/public/_nuxt/CSPqdI4x.js +0 -1
- package/.output/public/_nuxt/CTYqoFvv.js +0 -1
- package/.output/public/_nuxt/CYJEOEaU.js +0 -1
- package/.output/public/_nuxt/CYu-xp_f.js +0 -1
- package/.output/public/_nuxt/CZvnl0uO.js +0 -52
- package/.output/public/_nuxt/CadjlDLt.js +0 -1
- package/.output/public/_nuxt/CeXr_3vU.js +0 -2
- package/.output/public/_nuxt/Culm7V2R.js +0 -53
- package/.output/public/_nuxt/CzBFxx8v.js +0 -1
- package/.output/public/_nuxt/D8KJQqug.js +0 -1
- package/.output/public/_nuxt/D8Z5BXgG.js +0 -26
- package/.output/public/_nuxt/DDK9-_jm.js +0 -1
- package/.output/public/_nuxt/DDQU7vSH.js +0 -1
- package/.output/public/_nuxt/DSEkO8kW.js +0 -1
- package/.output/public/_nuxt/Da1F0IxL.js +0 -1
- package/.output/public/_nuxt/DdtQIDaq.js +0 -1
- package/.output/public/_nuxt/Dfz8k_Rn.js +0 -1
- package/.output/public/_nuxt/DitYzGT4.js +0 -1
- package/.output/public/_nuxt/Djh3G2Nf.js +0 -1
- package/.output/public/_nuxt/DmWFeTaU.js +0 -1
- package/.output/public/_nuxt/_ltJfz1p.js +0 -1
- package/.output/public/_nuxt/builds/meta/1cbed594-12e2-48e6-bea9-7a9159c3c1d3.json +0 -1
- package/.output/public/_nuxt/dkyHOJLf.js +0 -1
- package/.output/public/_nuxt/entry.D1DMaixs.css +0 -1
- package/.output/public/_nuxt/ixgiI20S.js +0 -1
- package/.output/public/_nuxt/lisFd8W1.js +0 -2
- package/.output/public/_nuxt/uHyBIwWw.js +0 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import{_ as Ha,a as Wa,b as Qa}from"./D8egDyEO.js";import{D as he,e9 as le,X as oa,ea as sa,cB as ut,V as Pe,eb as Ka,c as F,ec as tn,d as ee,d4 as Ya,Q as Ke,e as P,o as I,m as h,l as K,F as ue,s as ve,k as Y,O as we,w as u,f as l,N as pe,g as a,A as re,J as _e,t as H,L as Se,dW as nn,u as Et,a as la,dA as Xa,bz as De,ad as ge,r as Z,b as ra,_ as an,i as be,h as on,n as fe,j as sn,q as Tt,v as In,x as ln,y as ia,z as M,C as Za,B as rn,a$ as Dt,ac as At,cF as qt,cE as ca,E as Gt,bk as cn,U as qe,aH as Re,cy as dt,cz as et,ah as G,aT as En,am as Ee,ai as Fe,cl as Oe,aq as je,ed as Ja,ee as Ge,ay as Ht,az as Dn,ef as An,eg as Le,bg as un,b8 as dn,b9 as mn,ba as fn,bb as pn,bH as eo,bc as vn,bd as gn,be as ua,ae as da,G as Te,K as Ce,at as Ct,cX as to,aA as vt,au as gt,bO as no,bU as ao,bP as oo,bQ as so,bR as lo,bj as ro,bS as io,bA as ma,bB as fa,bC as pa,cL as co,bT as uo,bf as Ze,eh as mo,aC as yn,dG as fo,H as po,W as vo,Y as go,e1 as yo,dD as ho,e2 as bo,e3 as wo,e4 as Rn,e5 as _o,ei as So,cH as xo,ej as To,dV as Co,bM as Io,ek as va,el as Eo,em as Do,en as Ao,M as hn,eo as Wt,cr as $n,ar as Ro,ep as _t,a8 as st,eq as $o,Z as ga,a9 as ko,a6 as Oo,a7 as No,er as Lo,a_ as Po,aE as yt}from"./C6teO48Y.js";import{F as Ye}from"./CFi6G8Aj.js";import{i as Mo,g as Qt,a as Ot}from"./DG9CsZCx.js";import{_ as Fo}from"./7H5y5euK.js";import{_ as Rt,C as j,b as Uo,c as Vo,d as zo,e as Nt}from"./C6K-C4_d.js";import{b as jo,c as Bo,d as qo,e as Go,f as Ho}from"./COAycMg4.js";import{a as Be,_ as Wo,b as Qo,c as Ko}from"./Cqk0ImDE.js";import{u as ya,_ as ha}from"./Cv9v5fHN.js";import{g as Lt}from"./BYaoWfSN.js";import{u as Yo}from"./CyKRjZZo.js";import{_ as Xo}from"./LxqkguPP.js";import{_ as Zo}from"./BRCvv3op.js";import{a as Jo,b as es,c as ts,d as ns,e as as}from"./Bu6ybm3Z.js";import{R as ze,u as ba,_ as os}from"./DyjsVMbv.js";import{u as ss}from"./D4DMGxvZ.js";import{_ as ls}from"./DwPmcz47.js";import{_ as rs,e as is,f as cs}from"./BMVgfiQu.js";import{_ as Pt}from"./BK-6CJ0A.js";import{_ as Mt}from"./D5GonnbJ.js";import"./CMI-3q_e.js";import"./D_kY6P5P.js";import"./B5rxJs06.js";import"./eQskTKIU.js";import"./CKlMKmo6.js";import"./WGDY9i_Q.js";import"./BHr4_sbs.js";import"./BuTCm7Bo.js";var $e=(t=>(t.Superuser="superuser",t.User="user",t.Role="role",t))($e||{});const us=[{id:le.Explorer,title:"Explorer",icon:"hugeicons:folder-file-storage"},{id:le.Schemas,title:"Schemas",icon:"hugeicons:database"},{id:le.ErdDiagram,title:"ErdDiagram",icon:"hugeicons:hierarchy-square-02"},{id:le.UsersRoles,title:"Users & Roles",icon:"hugeicons:user-shield-01"},{id:le.DatabaseTools,title:"Database Tools",icon:"hugeicons:block-game"},{id:le.Agent,title:"AI Agent",icon:"hugeicons:robotic"}],wa={Explorer:le.Explorer,Schemas:le.Schemas,ERDiagram:le.ErdDiagram,UsersRoles:le.UsersRoles,DatabaseTools:le.DatabaseTools,Agent:le.Agent},Kt={type:he.POSTGRES,method:oa.STRING},ds=new Set([he.MYSQL,he.MYSQL2,he.MARIADB,he.ORACLE,he.SQLITE3,he.BETTER_SQLITE3,he.REDIS]),ms=new Set([he.MYSQL,he.MYSQL2,he.MARIADB,he.SQLITE3,he.BETTER_SQLITE3,he.REDIS]),_a=(t,e)=>t.filter(n=>!(n==="Agent"&&e&&ds.has(e)||n==="UsersRoles"&&e&&ms.has(e))).map(n=>wa[n]),Sa=()=>{const t=sa(),e=ut(),n=Pe(),{trackEvent:o}=Ka(),r=F(()=>tn(n.selectedConnection??Kt)),s=F(()=>{var d;return(d=n.selectedConnection)==null?void 0:d.type}),i=F(()=>_a(r.value.visibleActivityItems,s.value));return{activity:F(()=>us.filter(d=>i.value.includes(d.id)).map(d=>({...d,isActive:t.activityActive===d.id}))),onChangeActivity:(d,f)=>{i.value.includes(d)&&(t.setActivityActive(d),f&&e.onToggleActivityBarPanel(),o("activity_bar",{activity:d}))}}},fs={class:"max-w-9 min-w-9 py-2"},ps={class:"flex flex-col justify-between h-full space-y-2"},vs={class:"flex flex-col items-center gap-1"},gs=ee({__name:"ActivityBar",setup(t){const{activity:e,onChangeActivity:n}=Sa();return Ya(),(o,r)=>{const s=re,i=pe,m=_e,c=Se,d=we,f=nn("auto-animate");return Ke((I(),P("div",fs,[h("div",ps,[h("div",vs,[(I(!0),P(ue,null,ve(a(e),y=>(I(),Y(d,null,{default:u(()=>[l(m,{"as-child":""},{default:u(()=>[l(i,{size:"iconMd",variant:y.isActive?"default":"ghost",onClick:_=>a(n)(y.id,!0)},{default:u(()=>[l(s,{name:y.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),l(c,{side:"right"},{default:u(()=>[h("p",null,H(y.title),1)]),_:2},1024)]),_:2},1024))),256))]),K("",!0)])])),[[f]])}}}),ys={class:"flex items-center gap-1"},hs=ee({__name:"ActivityBarHorizontal",setup(t){const{activity:e,onChangeActivity:n}=Sa();return(o,r)=>{const s=re,i=pe,m=_e,c=Se,d=we;return I(),P("div",ys,[(I(!0),P(ue,null,ve(a(e),f=>(I(),Y(d,null,{default:u(()=>[l(m,{"as-child":""},{default:u(()=>[l(i,{size:"iconMd",variant:f.isActive?"default":"ghost",onClick:y=>a(n)(f.id)},{default:u(()=>[l(s,{name:f.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),l(c,{side:"bottom"},{default:u(()=>[h("p",null,H(f.title),1)]),_:2},1024)]),_:2},1024))),256))])}}});var Qe=(t=>(t.Tables="Tables",t.Functions="Functions",t.Views="Views",t))(Qe||{}),Ne=(t=>(t.Root="Root",t))(Ne||{});const bs={key:0,class:"flex min-w-0 flex-1 items-center gap-2 overflow-hidden"},ws={class:"min-w-0 truncate"},_s={key:0,class:"flex max-w-[45%] flex-shrink-0 items-center gap-1 overflow-hidden"},Ss={key:1,class:"opacity-50"},xs={class:"flex items-center gap-2"},Ts={class:"truncate"},Cs={key:0,class:"flex items-center gap-1 ml-auto flex-shrink-0"},Is={key:1,class:"ml-auto text-xs text-muted-foreground"},Es=ee({__name:"ConnectionSelector",props:{class:{},workspaceId:{}},setup(t){const{createConnection:e,openWorkspaceWithConnection:n}=Et(),o=Pe(),r=la(),{checkAndConfirm:s}=Xa(),i=ra(),{connectionId:m}=De(),{selectedConnection:c}=ge(o),d=t,f=Z(!1),y=F(()=>Mo(i.public.sqlite3ConnectionsEnabled)),_=async T=>{if(typeof T=="string"&&T!==m.value){const w=b.value.find(S=>S.id===T);if(w&&Ot(w,y.value)||w&&!await s(w))return;await n({connId:T,wsId:d.workspaceId})}},p=Z(!1),v=T=>{e(T)},g=()=>{p.value=!0,f.value=!1},b=F(()=>o.getConnectionsByWorkspaceId(d.workspaceId)),A=F(()=>c.value?r.getTagsByIds(c.value.tagIds??[]):[]);return(T,w)=>{const S=re,D=Za,O=ln;return I(),P(ue,null,[l(a(Fo),{open:a(p),"editing-connection":null,"onUpdate:open":w[0]||(w[0]=x=>p.value=x),onAddNew:v,workspaceId:T.workspaceId},null,8,["open","workspaceId"]),l(a(an),{"onUpdate:modelValue":_,"model-value":a(m),open:a(f),"onUpdate:open":w[1]||(w[1]=x=>be(f)?f.value=x:null),size:"sm"},{default:u(()=>[l(a(on),{class:fe(a(sn)(d.class,"w-48 min-w-0 cursor-pointer"))},{default:u(()=>{var x,E;return[a(c)?(I(),P("div",bs,[(I(),Y(Tt((x=a(Qt)(a(c).type))==null?void 0:x.icon),{class:"size-4! min-w-4! flex-shrink-0"})),h("span",ws,H((E=a(c))==null?void 0:E.name),1),a(A).length?(I(),P("div",_s,[(I(!0),P(ue,null,ve(a(A),N=>(I(),Y(a(In),{key:N.id,tag:N},null,8,["tag"]))),128))])):K("",!0)])):(I(),P("div",Ss,"Select connection"))]}),_:1},8,["class"]),l(O,null,{default:u(()=>[l(a(ia),null,{default:u(()=>[h("div",{class:"flex px-2 py-0.5 h-8 hover:bg-muted rounded-md font-normal text-sm items-center gap-1 cursor-pointer",onClick:g},[l(S,{name:"lucide:plus"}),w[2]||(w[2]=M(" Add new connection "))]),a(b).length?(I(),Y(D,{key:0})):K("",!0),(I(!0),P(ue,null,ve(a(b),x=>(I(),Y(a(rn),{class:"cursor-pointer",value:x.id,disabled:a(Ot)(x,a(y))},{default:u(()=>{var E;return[h("div",xs,[(I(),Y(Tt((E=a(Qt)(x.type))==null?void 0:E.icon),{class:"size-4!"})),h("span",Ts,H(x.name),1),(x.tagIds??[]).length?(I(),P("div",Cs,[(I(!0),P(ue,null,ve(a(r).getTagsByIds(x.tagIds??[]),N=>(I(),Y(a(In),{key:N.id,tag:N},null,8,["tag"]))),128))])):K("",!0),a(Ot)(x,a(y))?(I(),P("span",Is," Disabled ")):K("",!0)])]}),_:2},1032,["value","disabled"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),Ds={key:0,class:"flex items-center gap-2 w-44 truncate"},As={key:1,class:"opacity-50"},Rs=ee({__name:"SchemaSelector",props:{class:{}},setup(t){const e=t,{setSchemaId:n}=Et(),o=Dt(),r=At(),{activeSchema:s,schemasByContext:i}=ge(o),{schemaId:m}=ge(r);return(c,d)=>{const f=ln;return I(),Y(a(an),{"onUpdate:modelValue":d[0]||(d[0]=y=>{a(n)(y)}),"model-value":a(m),size:"sm"},{default:u(()=>[l(a(on),{class:fe(a(sn)(e.class,"w-48 cursor-pointer"))},{default:u(()=>{var y;return[a(s)?(I(),P("div",Ds,H((y=a(s))==null?void 0:y.name),1)):(I(),P("div",As,"Select connection"))]}),_:1},8,["class"]),l(f,null,{default:u(()=>[l(a(ia),null,{default:u(()=>[(I(!0),P(ue,null,ve(a(i),y=>(I(),Y(a(rn),{value:y.name,class:"cursor-pointer"},{default:u(()=>[M(H(y.name),1)]),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),$s={class:"flex flex-col w-full shrink-0"},ks={key:0,class:"relative w-full items-center px-2 pt-1.5 space-y-1"},Os={key:0},Ns={key:1},Ls={class:"text-sm leading-none"},Ps={key:0,class:"flex items-center"},Ms={key:1,class:"px-2 pb-1"},Fs={class:"relative w-full"},He=ee({__name:"ManagementSidebarHeader",props:qt({title:{},showConnection:{type:Boolean,default:!1},showSchema:{type:Boolean,default:!1},workspaceId:{},showSearch:{type:Boolean,default:!1},searchPlaceholder:{default:"Search..."}},{search:{default:""},searchModifiers:{}}),emits:["update:search"],setup(t){const e=ca(t,"search"),n=()=>{e.value=""};return(o,r)=>(I(),P("div",$s,[o.showConnection||o.showSchema?(I(),P("div",ks,[o.showConnection?(I(),P("div",Os,[r[1]||(r[1]=h("p",{class:"text-sm leading-none block pb-1"},"Connections",-1)),l(Es,{class:"w-full!",workspaceId:o.workspaceId},null,8,["workspaceId"])])):K("",!0),o.showSchema?(I(),P("div",Ns,[r[2]||(r[2]=h("p",{class:"text-sm leading-none block pb-1"},"Schemas",-1)),l(Rs,{class:"w-full!"})])):K("",!0),Gt(o.$slots,"details")])):K("",!0),h("div",{class:fe(["px-2 flex items-center justify-between",o.showConnection||o.showSchema?"pt-2":"pt-0.5"])},[h("p",Ls,H(o.title),1),o.$slots.actions?(I(),P("div",Ps,[Gt(o.$slots,"actions")])):K("",!0)],2),o.showSearch?(I(),P("div",Ms,[h("div",Fs,[l(a(cn),{type:"text",placeholder:o.searchPlaceholder,class:"pr-6 w-full h-8",modelValue:e.value,"onUpdate:modelValue":r[0]||(r[0]=s=>e.value=s)},null,8,["placeholder","modelValue"]),e.value?(I(),P("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:n},[l(a(re),{name:"hugeicons:cancel-01",class:"stroke-3! text-muted-foreground"})])):K("",!0)])])):K("",!0)]))}}),Us={class:"flex flex-col h-full w-full overflow-y-auto"},Vs=ee({__name:"ManagementErdDiagram",setup(t){const{connectToConnection:e}=Et(),n=Dt(),o=At(),r=qe(),{activeSchema:s}=ge(n),{connectionId:i,workspaceId:m}=De(),{schemaId:c}=ge(o),d=Z(!1),f=Z(null),y=Re(""),_=dt(y,et),p=[Ne.Root],v=F(()=>{var O,x;const S={},D=((O=s==null?void 0:s.value)==null?void 0:O.tables)||[];if(S[Ne.Root]={id:Ne.Root,parentId:null,name:"All Tables",type:"folder",depth:0,iconOpen:"hugeicons:structure-folder",iconClose:"hugeicons:structure-folder",children:[],data:{tabViewType:G.AllERD}},D.forEach(E=>{var R;const N=En({schemaName:((R=s.value)==null?void 0:R.name)||"",tableName:E});S[N]={id:N,parentId:Ne.Root,name:E,type:"file",depth:1,iconOpen:"hugeicons:flow-connection",iconClose:"hugeicons:flow-connection",data:{tabViewType:G.DetailERD}},S[Ne.Root].children.push(N)}),_.value){const E=_.value.toLowerCase(),N={},R=S[Ne.Root],k=(x=R.children)==null?void 0:x.filter($=>S[$].name.toLowerCase().includes(E));return k&&k.length>0&&(N[Ne.Root]={...R,children:k},k.forEach($=>{N[$]=S[$]})),N}return S}),g=async()=>{if(!i.value)throw new Error("No connection selected");d.value=!0,await e({wsId:m.value,connId:i.value,isRefresh:!0}),d.value=!1},b=F(()=>f.value?!f.value.isExpandedAll:!0),A=()=>{var S,D;b.value?(S=f.value)==null||S.expandAll():(D=f.value)==null||D.collapseAll()},T=async S=>{var R,k,$;if(!m.value)throw new Error("No workspace selected");if(!i.value)throw new Error("No connection selected");const D=(R=S.data)==null?void 0:R.tabViewType;if(D!==G.AllERD&&D!==G.DetailERD)return;const O=c.value||((k=s.value)==null?void 0:k.name)||"",x=D===G.AllERD,E=x?void 0:S.id||En({schemaName:(($=s.value)==null?void 0:$.name)||"",tableName:S.name}),N=x?`erd-overview-${O||"all"}`:`erd-${E}`;await r.openTab({id:N,name:x?"All Tables":S.name,icon:S.iconOpen||S.iconClose||"hugeicons:structure-folder",iconClass:S.iconClass,type:D,routeName:x?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:x?{workspaceId:m.value,connectionId:i.value}:{workspaceId:m.value,connectionId:i.value,tableId:E||""},connectionId:i.value,workspaceId:m.value,schemaId:O,metadata:{type:D,tableName:x?void 0:S.name,treeNodeId:S.id}}),await r.selectTab(N)},w=async S=>{const D=v.value[S];D&&await T(D)};return Ee(()=>r.activeTab,S=>{var D,O,x,E,N;if(!S){(D=f.value)==null||D.clearSelection();return}if(!((O=f.value)!=null&&O.isMouseInside)){if(S.type===G.AllERD){v.value[Ne.Root]&&((x=f.value)==null||x.focusItem(Ne.Root));return}if(S.type===G.DetailERD&&typeof((E=S.metadata)==null?void 0:E.treeNodeId)=="string"){(N=f.value)==null||N.focusItem(S.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(S,D)=>{const O=re,x=pe,E=_e,N=Se,R=we,k=Fe;return I(),P("div",Us,[l(a(He),{search:a(y),"onUpdate:search":D[0]||(D[0]=$=>be(y)?y.value=$:null),title:"ERD Diagram","show-connection":!0,"show-schema":!0,"workspace-id":a(m),"show-search":!0,"search-placeholder":"Search in diagram..."},{actions:u(()=>[l(R,null,{default:u(()=>[l(E,{"as-child":""},{default:u(()=>[l(x,{size:"iconSm",variant:"ghost",onClick:A},{default:u(()=>[l(O,{name:a(b)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(N,null,{default:u(()=>[M(H(a(b)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(R,null,{default:u(()=>[l(E,{"as-child":""},{default:u(()=>[l(x,{size:"iconSm",variant:"ghost",onClick:g},{default:u(()=>[l(O,{name:"hugeicons:redo",class:fe(["size-4! min-w-4",a(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(N,null,{default:u(()=>D[1]||(D[1]=[M(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(a(v)).length===0?(I(),Y(k,{key:0,title:"No tables found",desc:"There are no tables available to display in the ERD."})):K("",!0),l(Ye,{ref_key:"fileTreeRef",ref:f,"init-expanded-ids":p,"storage-key":`${a(i)}-erd-tree`,"initial-data":a(v),"allow-drag-and-drop":!1,onClick:w},null,8,["storage-key","initial-data"])])}}}),zs={class:"w-full h-full overflow-y-auto"},js={class:"h-full"},Bs=ee({__name:"ManagementExplorerTree",props:{treeData:{},storageKey:{},persistenceExtension:{},contextMenuItems:{},validateRename:{type:Function}},emits:["click-node","rename-node","cancel-rename","context-node","move-node","select-node","clear-context-menu"],setup(t,{expose:e,emit:n}){const o=t,r=n,s=Oe("fileTreeRef"),i=p=>{var v;(v=s.value)==null||v.startEditing(p)},m=p=>{var v;(v=s.value)==null||v.focusItem(p)},c=()=>{var p;(p=s.value)==null||p.collapseAll()},d=()=>{var p;(p=s.value)==null||p.expandAll()},f=()=>{var p;(p=s.value)==null||p.clearSelection()},y=F(()=>{var p;return((p=s.value)==null?void 0:p.isMouseInside)??!1}),_=F(()=>{var p;return((p=s.value)==null?void 0:p.isExpandedAll)||!1});return e({startEditing:i,focusItem:m,collapseAll:c,expandAll:d,clearSelection:f,isMouseInside:y,isExpandedAll:_}),(p,v)=>(I(),P("div",zs,[l(Rt,{"context-menu-items":p.contextMenuItems,onOnClearContextMenu:v[6]||(v[6]=g=>r("clear-context-menu"))},{default:u(()=>[h("div",js,[l(Ye,{ref_key:"fileTreeRef",ref:s,class:"pt-1","initial-data":p.treeData,"allow-drag-and-drop":!0,"allow-sort":!1,"validate-rename":p.validateRename,"storage-key":p.storageKey,"persistence-extension":o.persistenceExtension,onClick:v[0]||(v[0]=g=>r("click-node",g)),onRename:v[1]||(v[1]=(g,b)=>r("rename-node",g,b)),onCancelRename:v[2]||(v[2]=g=>r("cancel-rename",g)),onContextmenu:v[3]||(v[3]=g=>r("context-node",g)),onSelect:v[4]||(v[4]=g=>r("select-node",g)),onMove:v[5]||(v[5]=(g,b,A)=>r("move-node",g,b,A))},null,8,["initial-data","validate-rename","storage-key","persistence-extension"])])]),_:1},8,["context-menu-items"])]))}}),qs=t=>{const e=Z(null),n=s=>{e.value=t.resolveNodeById(s)},o=()=>{e.value=null},r=F(()=>{const s=[],i=e.value,m=(i==null?void 0:i.isFolder)||!i;return i&&s.push({title:i.title,type:j.LABEL}),m&&(s.push({title:"Add new file",icon:"lucide:file-plus-2",type:j.ACTION,select:()=>{var d;const c=(d=e.value)==null?void 0:d.id;je(()=>t.onCreateFile(c))}}),s.push({title:"Add new folder",icon:"lucide:folder-plus",type:j.ACTION,select:()=>{var d;const c=(d=e.value)==null?void 0:d.id;je(()=>t.onCreateFolder(c))}})),i&&(m&&s.push({type:j.SEPARATOR}),s.push({title:"Rename...",icon:"lucide:pencil",type:j.ACTION,select:()=>{var d;const c=(d=e.value)==null?void 0:d.id;c&&je(()=>t.onRename(c))}}),s.push({title:"Delete",icon:"lucide:trash",type:j.ACTION,select:()=>{const c=e.value;c&&je(()=>t.onDelete(c.id))}})),s});return{selectedItem:e,contextMenuItems:r,onRightClickItem:n,onClearContextMenu:o}},Gs=t=>{const e={},n=(o,r,s)=>{o.forEach(i=>{var c,d;const m=((c=i.children)==null?void 0:c.map(f=>f.id))??[];e[i.id]={id:i.id,parentId:r,name:i.title,type:i.isFolder?"folder":"file",depth:s,iconOpen:i.icon,iconClose:i.closeIcon||i.icon,iconClass:i.iconClass,children:i.isFolder?m:void 0},(d=i.children)!=null&&d.length&&n(i.children,i.id,s+1)})};return n(t,null,0),e},Hs=({startEditingNode:t,focusNode:e,collapseAll:n,expandAll:o,isExpandedAll:r})=>{const{workspaceId:s}=De(),i=Ja(),{openCodeQueryTab:m}=Ge(),c=Re(""),d=dt(c,et),{treeNodeRef:f}=ge(i),y=Re([]),_=F(()=>d.value?f.value.searchByTitle(d.value):f.value.tree),p=F(()=>Gs(_.value)),v=F(()=>String(s.value)),g=async({nodeId:L,isFolder:U})=>{const W=L?f.value.findNode(L):null,B={title:"",id:Dn(),icon:"lucide:folder-open",closeIcon:"lucide:folder",workspaceId:s.value,createdAt:Ht().toISOString(),isFolder:!0,path:"",children:[]},X={title:"",id:Dn(),icon:"hugeicons:file-01",workspaceId:s.value,createdAt:Ht().toISOString(),isFolder:!1,variables:"",path:"",children:void 0},te=U?B:X;f.value.insertNode((W==null?void 0:W.id)||null,te),f.value.sortByTitle(),await je(),e(te.id),t(te.id)},b=()=>{if(y.value.length===0)return null;const L=y.value[0],U=f.value.findNode(L);return U?U.isFolder?U.id:U.parentId:null},A=()=>{g({nodeId:b(),isFolder:!1})},T=()=>{g({nodeId:b(),isFolder:!0})},w=L=>{y.value=L},S=L=>{f.value.deleteNode(L)},D=L=>{const U=f.value.findNode(L);U&&U.title===""&&S(U.id)},O=(L,U)=>{const W=f.value.findNode(L);if(!W)return;const B=U.trim();if(!f.value.isExitNodeNameInFolder(B,W.id,W.parentId||"")){if(!B){D(L);return}f.value.updateNode(W.id,{title:B}),je(()=>{e(W.id)})}},x=(L,U)=>{const W=f.value.findNode(L);if(!W)return!0;const B=U.trim();return B?f.value.isExitNodeNameInFolder(B,W.id,W.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},E=L=>{const U=f.value.findNode(L);U&&(e(U.id),t(U.id))},N=(L,U,W)=>{const B=f.value.findNode(U);if(!B)return;const X=B.isFolder?B.id:B.parentId;(Array.isArray(L)?L:[L]).forEach(se=>{const oe=f.value.findNode(se);oe&&(oe.parentId||null)!==(X||null)&&(f.value.moveNode(oe.id,X||null),f.value.sortByTitle())})},R=qs({resolveNodeById:L=>f.value.findNode(L),onCreateFile:L=>{g({nodeId:L,isFolder:!1})},onCreateFolder:L=>{g({nodeId:L,isFolder:!0})},onRename:L=>{E(L)},onDelete:L=>{S(L)}}),k=()=>{r.value?n():o()},$=L=>{const U=f.value.findNode(L);!U||U.isFolder||m({id:U.id,name:U.title,icon:U.icon})};return{contextMenuItems:R.contextMenuItems,explorerStorageKey:v,mappedExplorerFileTreeData:p,onAddFile:A,onAddFolder:T,onSelectNode:w,onCancelEditNode:D,onClearContextMenu:R.onClearContextMenu,onClickNode:$,isExpandedAll:r,onToggleCollapseExplorer:k,onMoveNode:N,onRenameFile:O,onTreeContextMenu:R.onRightClickItem,searchInput:c,validateRename:x}},Ws={class:"flex flex-col h-full w-full overflow-y-auto"},Qs={class:"flex gap-2 justify-center"},kn=ee({__name:"ManagementExplorer",setup(t){const e=qe(),n=Oe("treePanelRef"),{contextMenuItems:o,explorerStorageKey:r,mappedExplorerFileTreeData:s,onAddFile:i,onAddFolder:m,onCancelEditNode:c,onClearContextMenu:d,onClickNode:f,isExpandedAll:y,onToggleCollapseExplorer:_,onMoveNode:p,onRenameFile:v,onSelectNode:g,onTreeContextMenu:b,searchInput:A,validateRename:T}=Hs({startEditingNode:w=>{var S;return(S=n.value)==null?void 0:S.startEditing(w)},focusNode:w=>{var S;return(S=n.value)==null?void 0:S.focusItem(w)},collapseAll:()=>{var w;return(w=n.value)==null?void 0:w.collapseAll()},expandAll:()=>{var w;return(w=n.value)==null?void 0:w.expandAll()},isExpandedAll:F(()=>{var w;return((w=n.value)==null?void 0:w.isExpandedAll)??!1})});return Ee(()=>e.activeTab,w=>{var S,D,O,x;if(!w){(S=n.value)==null||S.clearSelection();return}if(!((D=n.value)!=null&&D.isMouseInside)&&(w==null?void 0:w.type)===G.CodeQuery){const E=(O=w.metadata)==null?void 0:O.treeNodeId;typeof E=="string"&&((x=n.value)==null||x.focusItem(E))}},{flush:"post",immediate:!0}),(w,S)=>{const D=re,O=pe,x=_e,E=Se,N=we,R=Fe;return I(),P("div",Ws,[l(a(He),{search:a(A),"onUpdate:search":S[0]||(S[0]=k=>be(A)?A.value=k:null),title:"Explorer","show-search":!0},{actions:u(()=>[l(N,null,{default:u(()=>[l(x,{"as-child":""},{default:u(()=>[l(O,{size:"iconSm",variant:"ghost",onClick:a(i)},{default:u(()=>[l(D,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:u(()=>S[1]||(S[1]=[M(" New File ")])),_:1})]),_:1}),l(N,null,{default:u(()=>[l(x,{"as-child":""},{default:u(()=>[l(O,{size:"iconSm",variant:"ghost",onClick:a(m)},{default:u(()=>[l(D,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:u(()=>S[2]||(S[2]=[M(" New Folder ")])),_:1})]),_:1}),l(N,null,{default:u(()=>[l(x,{"as-child":""},{default:u(()=>[l(O,{size:"iconSm",variant:"ghost",onClick:a(_)},{default:u(()=>[l(D,{name:a(y)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(E,null,{default:u(()=>[M(H(a(y)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),Object.keys(a(s)).length===0?(I(),Y(R,{key:0,title:"No files found",desc:"Create your first file or folder to get started."},{default:u(()=>[h("div",Qs,[l(O,{size:"xs",variant:"outline",onClick:a(i)},{default:u(()=>[l(D,{name:"hugeicons:file-add"}),S[3]||(S[3]=M(" New File "))]),_:1},8,["onClick"]),l(O,{size:"xs",variant:"outline",onClick:a(m)},{default:u(()=>[l(D,{name:"hugeicons:folder-add"}),S[4]||(S[4]=M(" New Folder "))]),_:1},8,["onClick"])])]),_:1})):(I(),Y(Bs,{key:1,ref_key:"treePanelRef",ref:n,"tree-data":a(s),"storage-key":a(r),"context-menu-items":a(o),"validate-rename":a(T),onClickNode:a(f),onSelectNode:a(g),onRenameNode:a(v),onCancelRename:a(c),onContextNode:a(b),onMoveNode:a(p),onClearContextMenu:a(d)},null,8,["tree-data","storage-key","context-menu-items","validate-rename","onClickNode","onSelectNode","onRenameNode","onCancelRename","onContextNode","onMoveNode","onClearContextMenu"]))])}}});function Ks(t,e,n=!1){return`DROP TABLE IF EXISTS "${t}"."${e}"${n?" CASCADE":""};`}function Ys(t,e,n){return`ALTER TABLE "${t}"."${e}" RENAME TO "${n}";`}function Xs(t,e,n=!1,o=!1){return`DROP ${n?"MATERIALIZED VIEW":"VIEW"} IF EXISTS "${t}"."${e}"${o?" CASCADE":""};`}function Zs(t,e,n,o=!1){return`ALTER ${o?"MATERIALIZED VIEW":"VIEW"} "${t}"."${e}" RENAME TO "${n}";`}function Js(t,e,n=!1){return`REFRESH MATERIALIZED VIEW ${n?"CONCURRENTLY ":""}"${t}"."${e}";`}function el(t,e,n){return`SELECT ${n!=null&&n.length?n.map(r=>`"${r}"`).join(", "):"*"}
|
|
2
|
+
FROM "${t}"."${e}"
|
|
3
|
+
WHERE 1=1
|
|
4
|
+
-- Add your conditions here
|
|
5
|
+
LIMIT 100;`}const tl=(t,e)=>{const n=F(()=>{var r;return`${(r=t==null?void 0:t.value)==null?void 0:r.schemaName}.${Qe.Tables}`});return{fileTreeData:F(()=>{var v,g,b,A;const r=(v=t==null?void 0:t.value)==null?void 0:v.schemaName,s=((g=t==null?void 0:t.value)==null?void 0:g.tables)||[],i=((b=t==null?void 0:t.value)==null?void 0:b.functions)||[],m=((A=t==null?void 0:t.value)==null?void 0:A.views)||[],c={},d=(T,w)=>{const S=jo(w);return`${T}(${S})`},f=(T,w,S,D,O,x)=>{c[T]={id:T,parentId:null,name:w,type:"folder",depth:0,iconOpen:S,iconClose:D,iconClass:x,children:[],data:{tabViewType:O}}},y=`${r}.${Qe.Functions}`,_=n.value,p=`${r}.${Qe.Views}`;if(f(y,Qe.Functions,"material-icon-theme:folder-functions-open","material-icon-theme:folder-functions",G.FunctionsOverview),f(_,Qe.Tables,"material-icon-theme:folder-database-open","material-icon-theme:folder-database",G.TableOverview),f(p,Qe.Views,"material-icon-theme:folder-enum-open","material-icon-theme:folder-enum",G.ViewOverview),i.forEach(({name:T,oId:w,type:S,parameters:D})=>{const O=`${r}.${String(w)}`,x=d(T,D);c[O]={id:O,parentId:y,name:x,type:"file",depth:1,iconOpen:"gravity-ui:function",iconClose:"gravity-ui:function",iconClass:S===An.Function?"text-blue-400":"text-orange-400",data:{tabViewType:G.FunctionsDetail,itemValue:{title:x,name:T,id:w,parameters:D,tabViewType:G.FunctionsDetail,icon:"gravity-ui:function",iconClass:S===An.Function?"text-blue-400":"text-orange-400"},parameters:D}},c[y].children.push(O)}),s.forEach(T=>{const w=`${r}.${T}`;c[w]={id:w,parentId:_,name:T,type:"file",depth:1,iconOpen:"hugeicons:grid-table",iconClose:"hugeicons:grid-table",iconClass:"text-yellow-400",data:{tabViewType:G.TableDetail,itemValue:{title:T,name:T,id:T,tabViewType:G.TableDetail,icon:"hugeicons:grid-table",iconClass:"text-yellow-400"}}},c[_].children.push(w)}),m.forEach(({name:T,oid:w,type:S})=>{const D=`${r}.${String(w)}`;c[D]={id:D,parentId:p,name:T,type:"file",depth:1,iconOpen:S===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClose:S===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:S===Le.View?"text-green-700":"text-orange-500",data:{tabViewType:G.ViewDetail,itemValue:{title:T,name:T,id:w,tabViewType:G.ViewDetail,icon:S===Le.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:S===Le.View?"text-green-700":"text-orange-500"}}},c[p].children.push(D)}),e.value){const T=e.value.toLowerCase(),w={};return[y,_,p].forEach(S=>{var x;const D=c[S];if(!D)return;const O=(x=D.children)==null?void 0:x.filter(E=>{const N=c[E];return N==null?void 0:N.name.toLowerCase().includes(T)});O&&O.length>0&&(w[S]={...D,children:O},O.forEach(E=>{w[E]=c[E]}))}),w}return c}),defaultFolderOpenId:n}},nl={class:"py-2"},al=ee({__name:"RenameDialog",props:qt({open:{type:Boolean},tabViewType:{},currentName:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:qt(["confirm","cancel"],["update:open"]),setup(t,{emit:e}){const n=t,o=ca(t,"open"),r=e,s=Z("");Ee(o,c=>{c&&(s.value=n.currentName||"")});const i=()=>{s.value&&s.value!==n.currentName?r("confirm",s.value):o.value=!1},m=()=>{o.value=!1,r("cancel")};return(c,d)=>(I(),Y(a(un),{open:o.value,"onUpdate:open":d[1]||(d[1]=f=>o.value=f)},{default:u(()=>[l(a(dn),{class:"border w-96!"},{default:u(()=>[l(a(mn),null,{default:u(()=>[l(a(fn),null,{default:u(()=>[M(" Rename "+H(c.tabViewType===a(G).FunctionsDetail?"Function":"Table"),1)]),_:1}),l(a(pn),null,{default:u(()=>[M(" Enter a new name for the "+H(c.tabViewType===a(G).FunctionsDetail?"function":"table")+". ",1)]),_:1})]),_:1}),h("div",nl,[l(a(cn),{modelValue:a(s),"onUpdate:modelValue":d[0]||(d[0]=f=>be(s)?s.value=f:null),placeholder:`New ${c.tabViewType===a(G).FunctionsDetail?"function":"table"} name`,class:"w-full",onKeyup:eo(i,["enter"])},null,8,["modelValue","placeholder"])]),l(a(vn),null,{default:u(()=>[l(a(gn),{onClick:m},{default:u(()=>d[2]||(d[2]=[M(" Cancel ")])),_:1}),l(a(ua),{onClick:i},{default:u(()=>d[3]||(d[3]=[M(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),ol=ee({__name:"SqlPreviewDialog",props:{open:{type:Boolean},sql:{},title:{},isLoading:{type:Boolean}},emits:["update:open"],setup(t,{emit:e}){const n=t,o=e,{copied:r,handleCopy:s,getCopyIcon:i,getCopyTooltip:m}=ya(),c=()=>s(n.sql),d=()=>{o("update:open",!1)};return(f,y)=>{const _=re,p=ha;return I(),Y(a(un),{open:f.open,"onUpdate:open":y[0]||(y[0]=v=>o("update:open",v))},{default:u(()=>[l(a(dn),{size:"preview"},{default:u(()=>[l(da,{visible:f.isLoading},null,8,["visible"]),l(a(mn),null,{default:u(()=>[l(a(fn),{class:"flex items-center text-base font-medium"},{default:u(()=>[l(_,{name:"lucide:code",class:"size-4 mr-2"}),M(" "+H(f.title),1)]),_:1}),l(a(pn),null,{default:u(()=>y[1]||(y[1]=[M(" Generated SQL statement. Click copy to use. ")])),_:1})]),_:1}),l(p,{code:f.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),l(a(vn),null,{default:u(()=>[l(a(gn),{class:"border font-normal",onClick:d},{default:u(()=>y[2]||(y[2]=[M(" Close ")])),_:1}),l(a(ua),{class:"border font-normal flex gap-1",onClick:c},{default:u(()=>[l(_,{name:a(i)(a(r)),class:"size-4"},null,8,["name"]),M(" "+H(a(m)(a(r),"Copy to Clipboard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function sl(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,executeWithLoading:i}=n;return{onDeleteFunction:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.FunctionsDetail||!e.selectedItem.value.name)return;const p=qo(o(),e.selectedItem.value.name,!1,e.selectedItem.value.parameters),v=e.selectedItem.value.name;await r(p,Be.Delete,async()=>{await i(async()=>{await $fetch("/api/functions/delete",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),functionName:v}}),Ce.success("Function deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete function")})},onRenameFunction:()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.FunctionsDetail||!e.selectedItem.value.name||(e.renameDialogType.value=G.FunctionsDetail,e.renameDialogValue.value=e.selectedItem.value.name,e.renameDialogOpen.value=!0,e.renameDialogParameters.value=e.selectedItem.value.parameters||"")},performRenameFunction:async p=>{const v=Bo(o(),e.renameDialogValue.value,p,e.renameDialogParameters.value);await r(v,Be.Save,async()=>{await i(async()=>{await $fetch("/api/functions/rename",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),oldName:e.renameDialogValue.value,newName:p}}),Ce.success("Function renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename function")})},onGenFunctionCallSQL:async()=>{e.selectedItem.value&&(s("","CALL Statement"),e.isFetching.value=!0,await i(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}}),v=o(),g=(p==null?void 0:p.name)||"";let b;if(p!=null&&p.parameters&&p.parameters.length>0){const A=p.parameters.filter(T=>T.mode==="IN"||T.mode==="INOUT"||T.mode==="VARIADIC");if(A.length>0){const T=A.map(S=>`${S.name}::${S.type}`).join(", "),w=A.map(S=>`:${S.name}`).join(", ");b=`-- ${T}
|
|
6
|
+
CALL "${v}"."${g}"(${w});`}else b=`CALL "${v}"."${g}"();`}else b=Go(v,g);e.sqlPreviewDialogSQL.value=b},e.isFetching,"Failed to get function signature"))},onGenFunctionSelectSQL:async()=>{e.selectedItem.value&&(s("","SELECT Function"),e.isFetching.value=!0,await i(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}}),v=o(),g=(p==null?void 0:p.name)||"";let b;if(p!=null&&p.parameters&&p.parameters.length>0){const A=p.parameters.filter(T=>T.mode==="IN"||T.mode==="INOUT"||T.mode==="VARIADIC");if(A.length>0){const T=A.map(S=>`${S.name}::${S.type}`).join(", "),w=A.map(S=>`:${S.name}`).join(", ");b=`-- ${T}
|
|
7
|
+
SELECT * FROM "${v}"."${g}"(${w});`}else b=`SELECT * FROM "${v}"."${g}"();`}else b=Ho(v,g);e.sqlPreviewDialogSQL.value=b},e.isFetching,"Failed to get function signature"))},onGenFunctionDDL:async()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.FunctionsDetail||await i(async()=>{s("","Function DDL");const p=await $fetch("/api/functions/definition",{method:"POST",body:{...Te(t.connection.value),functionId:e.selectedItem.value.id}});if(p)s(p,"Function DDL");else throw new Error("Could not retrieve function definition")},e.isFetching,"Failed to get function DDL")}}}var St=(t=>(t.CSV="csv",t.JSON="json",t.SQL="sql",t))(St||{});function ll(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,getTableColumns:i,getTableColumnsMetadata:m,getPrimaryKeyColumns:c,getColumnPlaceholder:d,executeWithLoading:f}=n;return{onExportTableData:R=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.TableDetail||!e.selectedItem.value.name)return;const k=e.selectedItem.value.name,$=document.createElement("form");$.method="POST",$.action="/api/tables/export",$.style.display="none";const U={...Te(t.connection.value),schemaName:o(),tableName:k,format:R};for(const[W,B]of Object.entries(U))if(B!==void 0){const X=document.createElement("input");X.type="hidden",X.name=W,X.value=typeof B=="object"?JSON.stringify(B):B.toString(),$.appendChild(X)}document.body.appendChild($),$.submit(),document.body.removeChild($),Ce.info(`Exporting ${k} as ${R.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async R=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.TableDetail||!e.selectedItem.value.name)return;const k=e.selectedItem.value.name,{downloadStream:$}=Yo(),L={sql:"application/sql",json:"application/json",csv:"text/csv"},U=Ht().format("YYYY-MM-DD_HH-mm");await $({url:"/api/tables/export",method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:k,format:R},filename:`${k}_${U}.${R}`,contentType:L[R]})},onImportTableData:()=>{Ce.info("Import feature coming soon")},onDeleteTable:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.TableDetail||!e.selectedItem.value.name)return;const R=Ks(o(),e.selectedItem.value.name,!1);await r(R,Be.Delete,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:R}}),Ce.success("Table deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete table")})},onRenameTable:()=>{!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.TableDetail||!e.selectedItem.value.name||(e.renameDialogType.value=G.TableDetail,e.renameDialogValue.value=e.selectedItem.value.name,e.renameDialogOpen.value=!0,e.renameDialogParameters.value="")},performRenameTable:async R=>{const k=Ys(o(),e.renameDialogValue.value,R);await r(k,Be.Save,async()=>{await f(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:k}}),Ce.success("Table renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename table")})},onGenSelectSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=i(e.selectedItem.value.name),k=o(),$=e.selectedItem.value.name,U=`SELECT ${R.length>0?R.map(W=>`"${W}"`).join(", "):"*"}
|
|
8
|
+
FROM "${k}"."${$}";
|
|
9
|
+
-- WHERE ?
|
|
10
|
+
-- LIMIT 100 OFFSET 0`;s(U,"SELECT Statement")},onGenInsertSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),k=o(),$=e.selectedItem.value.name;if(R.length>0){const L=R.map(B=>`"${B.name}"`).join(", "),U=R.map(B=>d(B)).join(", "),W=`INSERT INTO "${k}"."${$}" (${L})
|
|
11
|
+
VALUES (${U});`;s(W,"INSERT Statement")}else{const L=`INSERT INTO "${k}"."${$}" ("column1", "column2", ...)
|
|
12
|
+
VALUES (value1, value2, ...);`;s(L,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),k=c(e.selectedItem.value.name),$=o(),L=e.selectedItem.value.name,U=R.filter(te=>!k.includes(te.name)),W=U.length>0?U.map(te=>` "${te.name}" = ${d(te)}`).join(`,
|
|
13
|
+
`):` "column1" = value1,
|
|
14
|
+
"column2" = value2`,B=k.length>0?k.map(te=>`"${te}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",X=`UPDATE "${$}"."${L}"
|
|
15
|
+
SET
|
|
16
|
+
${W}
|
|
17
|
+
WHERE ${B};`;s(X,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=c(e.selectedItem.value.name),k=o(),$=e.selectedItem.value.name,L=R.length>0?R.map(W=>`"${W}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",U=`DELETE FROM "${k}"."${$}"
|
|
18
|
+
WHERE ${L};`;s(U,"DELETE Statement")},onGenMergeSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=i(e.selectedItem.value.name),k=c(e.selectedItem.value.name),$=o(),L=e.selectedItem.value.name,U=Lt(L),W=R.length>0?R.map(ie=>`"${ie}"`).join(", "):'"column1", "column2"',B=`"${U}"`,X=k.length>0?k.map(ie=>`${B}."${ie}" = src."${ie}"`).join(" AND "):`${B}."id" = src."id"`,te=R.length>0?R.filter(ie=>!k.includes(ie)).map(ie=>` "${ie}" = src."${ie}"`).join(`,
|
|
19
|
+
`):' "column1" = src."column1"',se=R.length>0?R.map(ie=>`src."${ie}"`).join(", "):'src."column1", src."column2"',oe=`MERGE INTO "${$}"."${L}" AS ${B}
|
|
20
|
+
USING (SELECT ${W} FROM source_table) AS src
|
|
21
|
+
ON ${X}
|
|
22
|
+
WHEN MATCHED THEN
|
|
23
|
+
UPDATE SET
|
|
24
|
+
${te}
|
|
25
|
+
WHEN NOT MATCHED THEN
|
|
26
|
+
INSERT (${W})
|
|
27
|
+
VALUES (${se});`;s(oe,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=m(e.selectedItem.value.name),k=c(e.selectedItem.value.name),$=o(),L=e.selectedItem.value.name,U=R.length>0?R.map(oe=>`"${oe.name}"`).join(", "):'"column1", "column2"',W=R.length>0?R.map(oe=>d(oe)).join(", "):"value1, value2",B=k.length>0?k.map(oe=>`"${oe}"`).join(", "):'"id"',X=R.filter(oe=>!k.includes(oe.name)),te=X.length>0?X.map(oe=>` "${oe.name}" = EXCLUDED."${oe.name}"`).join(`,
|
|
28
|
+
`):' "column1" = EXCLUDED."column1"',se=`INSERT INTO "${$}"."${L}" (${U})
|
|
29
|
+
VALUES (${W})
|
|
30
|
+
ON CONFLICT (${B})
|
|
31
|
+
DO UPDATE SET
|
|
32
|
+
${te};`;s(se,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=i(e.selectedItem.value.name),k=c(e.selectedItem.value.name),$=o(),L=e.selectedItem.value.name,W=`"${Lt(L)}"`,B=R.length>0?R.filter(se=>!k.includes(se)).map(se=>` "${se}" = src."${se}"`).join(`,
|
|
33
|
+
`):' "column1" = src."column1"',X=k.length>0?k.map(se=>`${W}."${se}" = src."${se}"`).join(" AND "):`${W}."id" = src."id"`,te=`UPDATE "${$}"."${L}" AS ${W}
|
|
34
|
+
SET
|
|
35
|
+
${B}
|
|
36
|
+
FROM source_table AS src
|
|
37
|
+
WHERE ${X};`;s(te,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!e.selectedItem.value||!e.selectedItem.value.name)return;const R=c(e.selectedItem.value.name),k=o(),$=e.selectedItem.value.name,U=`"${Lt($)}"`,W=R.length>0?R.map(X=>`${U}."${X}" = src."${X}"`).join(" AND "):`${U}."id" = src."id"`,B=`DELETE FROM "${k}"."${$}" AS ${U}
|
|
38
|
+
USING source_table AS src
|
|
39
|
+
WHERE ${W};`;s(B,"DELETE USING")},onGenTableDDL:async()=>{!e.selectedItem.value||!e.selectedItem.value.name||(s("","Table DDL"),await f(async()=>{const R=await $fetch("/api/tables/ddl",{method:"POST",body:{...Te(t.connection.value),schemaName:o(),tableName:e.selectedItem.value.name}});s(R,"Table DDL")},e.isFetching,"Failed to get table DDL"))}}}function rl(t,e,n){const{getSchemaName:o,executeWithSafeMode:r,showSqlPreview:s,executeWithLoading:i}=n,m=g=>{var A;return(((A=t.activeSchema.value)==null?void 0:A.views)||[]).find(T=>T.oid===g)},c=g=>{var A,T;const b=(A=t.activeSchema.value)==null?void 0:A.viewDetails;return(T=b==null?void 0:b[g])!=null&&T.columns?b[g].columns.map(w=>w.name):[]};return{getViewInfo:m,getViewColumns:c,onGenViewSelectSQL:()=>{if(!e.selectedItem.value)return;const g=m(e.selectedItem.value.id),b=(g==null?void 0:g.name)||e.selectedItem.value.title,A=c(b),T=o(),w=el(T,b,A);s(w,"SELECT Statement")},onGenViewDDL:async()=>{if(!e.selectedItem.value)return;const g=m(e.selectedItem.value.id),b=(g==null?void 0:g.name)||e.selectedItem.value.title,A=(g==null?void 0:g.type)===Le.MaterializedView?"MATERIALIZED VIEW":"VIEW";s("",`${A} DDL`),await i(async()=>{const T=await $fetch("/api/views/definition",{method:"POST",body:{...Te(t.connection.value),viewId:e.selectedItem.value.id,schemaName:o(),viewName:b}});if(T&&T.definition)s(T.definition,`${A} DDL`);else throw new Error("Could not retrieve view definition")},e.isFetching,"Failed to get view DDL")},onRenameView:()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.ViewDetail)return;const g=m(e.selectedItem.value.id),b=(g==null?void 0:g.name)||e.selectedItem.value.title;e.renameDialogType.value=G.ViewDetail,e.renameDialogValue.value=b,e.renameDialogOpen.value=!0,e.renameDialogParameters.value=""},performRenameView:async g=>{var S;const A=(((S=t.activeSchema.value)==null?void 0:S.views)||[]).find(D=>D.name===e.renameDialogValue.value),T=(A==null?void 0:A.type)===Le.MaterializedView,w=Zs(o(),e.renameDialogValue.value,g,T);await r(w,Be.Save,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:w}}),Ce.success("View renamed successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to rename view")})},onDeleteView:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.ViewDetail)return;const g=m(e.selectedItem.value.id),b=(g==null?void 0:g.name)||e.selectedItem.value.title,A=(g==null?void 0:g.type)===Le.MaterializedView,T=Xs(o(),b,A,!1);await r(T,Be.Delete,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:T}}),Ce.success("View deleted successfully"),await t.onRefreshSchema()},e.isFetching,"Failed to delete view")})},onRefreshMaterializedView:async()=>{if(!e.selectedItem.value||e.selectedItem.value.tabViewType!==G.ViewDetail)return;const g=m(e.selectedItem.value.id);if((g==null?void 0:g.type)!==Le.MaterializedView){Ce.error("Only materialized views can be refreshed");return}const b=(g==null?void 0:g.name)||e.selectedItem.value.title,A=Js(o(),b,!1);await r(A,Be.Save,async()=>{await i(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Te(t.connection.value),query:A}}),Ce.success("Materialized view refreshed successfully")},e.isFetching,"Failed to refresh materialized view")})}}}const il=t=>F(()=>[{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:j.ACTION,select:t.onRenameFunction},{title:"Delete",icon:"hugeicons:delete-02",type:j.ACTION,select:t.onDeleteFunction},{type:j.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:j.SUBMENU,items:[{title:"CALL",icon:"hugeicons:play",type:j.ACTION,select:t.onGenFunctionCallSQL},{title:"SELECT",icon:"hugeicons:table",type:j.ACTION,select:t.onGenFunctionSelectSQL},{type:j.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:j.ACTION,select:t.onGenFunctionDDL}]}]),cl=(t,e)=>F(()=>[{title:"Export Data",icon:"hugeicons:download-01",type:j.SUBMENU,items:[{title:"SQL (INSERT statements)",icon:"hugeicons:code",type:j.ACTION,select:()=>t.onExportTableData(St.SQL)},{title:"JSON",icon:"hugeicons:file-script",type:j.ACTION,select:()=>t.onExportTableData(St.JSON)},{title:"CSV",icon:"hugeicons:file-script",type:j.ACTION,select:()=>t.onExportTableData(St.CSV)}]},{title:"Import Data",icon:"hugeicons:upload-01",type:j.ACTION,disabled:!0},{type:j.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:j.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:j.ACTION,select:t.onGenSelectSQL},{title:"INSERT",icon:"hugeicons:plus-sign",type:j.ACTION,select:t.onGenInsertSQL},{title:"UPDATE",icon:"hugeicons:pencil-edit-02",type:j.ACTION,select:t.onGenUpdateSQL},{title:"DELETE",icon:"hugeicons:delete-01",type:j.ACTION,select:t.onGenDeleteSQL},{type:j.SEPARATOR},{title:"MERGE",icon:"hugeicons:git-merge",type:j.ACTION,select:t.onGenMergeSQL},{title:"INSERT ON CONFLICT",icon:"hugeicons:git-pull-request",type:j.ACTION,select:t.onGenInsertOnConflictSQL},{title:"UPDATE FROM",icon:"hugeicons:arrow-right-01",type:j.ACTION,select:t.onGenUpdateFromSQL},{title:"DELETE USING",icon:"hugeicons:delete-02",type:j.ACTION,select:t.onGenDeleteUsingSQL},{type:j.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:j.ACTION,select:t.onGenTableDDL}]},{type:j.SEPARATOR},{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:j.ACTION,select:t.onRenameTable},{title:"Delete",icon:"hugeicons:delete-02",type:j.ACTION,select:t.onDeleteTable},{type:j.SEPARATOR},e]),ul=(t,e,n)=>F(()=>{const o=e.selectedItem.value?t.getViewInfo(e.selectedItem.value.id):null,r=(o==null?void 0:o.type)===Le.MaterializedView,s=[{title:"Generate SQL",icon:"hugeicons:code",type:j.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:j.ACTION,select:t.onGenViewSelectSQL},{type:j.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:j.ACTION,select:t.onGenViewDDL}]},{type:j.SEPARATOR}];return r&&(s.push({title:"Refresh Materialized View",icon:"hugeicons:refresh",type:j.ACTION,select:t.onRefreshMaterializedView}),s.push({type:j.SEPARATOR})),s.push({title:"Rename...",icon:"hugeicons:pencil-edit-02",type:j.ACTION,select:t.onRenameView},{title:"Delete",icon:"hugeicons:delete-02",type:j.ACTION,select:t.onDeleteView},{type:j.SEPARATOR},n),s});function dl(t,e){const n=ut(),o=Ct(n,"quickQuerySafeModeEnabled"),r=Z(!1),s=()=>{var A;return((A=t.activeSchema.value)==null?void 0:A.name)||"public"},i=A=>{const T=t.activeSchema.value;return T!=null&&T.tableDetails&&T.tableDetails[A]||null},m=A=>{const T=i(A);return T!=null&&T.columns?T.columns.sort((w,S)=>w.ordinal_position-S.ordinal_position):[]};return{getSchemaName:s,getTableMetadata:i,getTableColumnsMetadata:m,getTableColumns:A=>m(A).map(T=>T.name),getPrimaryKeyColumns:A=>{const T=i(A);return T!=null&&T.primary_keys?T.primary_keys.map(w=>w.column):[]},getColumnPlaceholder:A=>A.default_value?A.default_value:A.is_nullable?"NULL":`:${A.name}`,onRightClickItem:(A,T)=>{e.selectedItem.value=to(T.value)},showSqlPreview:(A,T)=>{e.sqlPreviewDialogSQL.value=A,e.sqlPreviewDialogTitle.value=T,e.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(A,T,w)=>{o.value?(e.safeModeDialogSQL.value=A,e.safeModeDialogType.value=T,e.pendingAction.value=w,e.safeModeDialogOpen.value=!0):await w()},onSafeModeConfirm:async()=>{e.pendingAction.value&&(r.value=!0,await e.pendingAction.value(),r.value=!1,e.pendingAction.value=null),e.safeModeDialogOpen.value=!1},onSafeModeCancel:()=>{e.pendingAction.value=null,e.safeModeDialogOpen.value=!1},executeWithLoading:async(A,T=e.isFetching,w="An error occurred")=>{try{T.value=!0,await A()}catch(S){console.error(S);const D=S;Ce.error(D.message||w),e.sqlPreviewDialogOpen.value=!1}finally{T.value=!1}},safeModeLoading:r}}function ml(){const t=Z(null),e=Z(!1),n=Z(""),o=Z(Be.Delete),r=Z(null),s=Z(null),i=Z(!1),m=Z(""),c=Z(""),d=Z(!1),f=Z(""),y=Z("Generated SQL"),_=Z(!1);return{selectedItem:t,safeModeDialogOpen:e,safeModeDialogSQL:n,safeModeDialogType:o,pendingAction:r,renameDialogType:s,renameDialogOpen:i,renameDialogValue:m,renameDialogParameters:c,sqlPreviewDialogOpen:d,sqlPreviewDialogSQL:f,sqlPreviewDialogTitle:y,isFetching:_}}function fl(t){const e=Pe(),n={...t,connection:Ct(e,"selectedConnection")},o=ml(),r=dl(n,o),s=sl(n,o,r),i=ll(n,o,r),m=rl(n,o,r),c=async()=>{const g=Ce.loading("Refreshing schema...");try{await t.onRefreshSchema(),Ce.success("Schema refreshed",{id:g})}catch(b){const A=b;Ce.error(A.message||"Failed to refresh schema",{id:g})}},d={title:"Refresh Schema",icon:"hugeicons:refresh",type:j.ACTION,select:c},f=il(s),y=cl(i,d),_=ul(m,o,d),p=async g=>{o.renameDialogOpen.value=!1,o.renameDialogType.value===G.FunctionsDetail?await s.performRenameFunction(g):o.renameDialogType.value===G.TableDetail?await i.performRenameTable(g):o.renameDialogType.value===G.ViewDetail&&await m.performRenameView(g)},v=F(()=>{if(!o.selectedItem.value)return[d];switch(o.selectedItem.value.tabViewType){case G.FunctionsDetail:return f.value;case G.TableDetail:return y.value;case G.ViewDetail:return _.value;default:return[d]}});return{selectedItem:o.selectedItem,contextMenuItems:v,safeModeLoading:r.safeModeLoading,safeModeDialogOpen:o.safeModeDialogOpen,safeModeDialogSQL:o.safeModeDialogSQL,safeModeDialogType:o.safeModeDialogType,onSafeModeConfirm:r.onSafeModeConfirm,onSafeModeCancel:r.onSafeModeCancel,renameDialogType:o.renameDialogType,renameDialogOpen:o.renameDialogOpen,renameDialogValue:o.renameDialogValue,onConfirmRename:p,sqlPreviewDialogOpen:o.sqlPreviewDialogOpen,sqlPreviewDialogSQL:o.sqlPreviewDialogSQL,sqlPreviewDialogTitle:o.sqlPreviewDialogTitle,isFetching:o.isFetching,onRightClickItem:r.onRightClickItem}}const pl={class:"flex flex-col h-full w-full overflow-y-auto relative"},vl={key:0,class:"mx-2 mb-2 rounded-md border bg-background/80 px-3 py-2"},gl={class:"flex items-start gap-2"},yl={class:"min-w-0"},hl={class:"text-xs font-medium"},bl={key:0,class:"text-muted-foreground font-normal"},wl={class:"text-xs text-muted-foreground break-words"},_l={class:"h-full"},Sl=ee({__name:"ManagementSchemas",setup(t){const{connectToConnection:e}=Et(),n=Dt(),o=At(),r=qe(),{openSchemaItemTab:s}=Ge(),{activeSchema:i,activeLoadSession:m}=ge(n),{connectionId:c,workspaceId:d}=De(),{schemaId:f}=ge(o),y=Z(!1),_=Oe("fileTreeRef"),p=Z(!1),v=Re(""),g=dt(v,et),{fileTreeData:b,defaultFolderOpenId:A}=tl(i,g),T=F(()=>Object.keys(b.value).length>0),w=F(()=>{var J;return((J=m.value)==null?void 0:J.status)||"idle"}),S=F(()=>{switch(w.value){case"loading":case"waiting":return"hugeicons:loading-03";case"completed":return"lucide:circle-check-big";case"failed":return"lucide:triangle-alert";default:return"hugeicons:database"}}),D=F(()=>{switch(w.value){case"loading":return"Loading schemas";case"waiting":return"Still loading schemas";case"completed":return"Schemas ready";case"failed":return"Schema load failed";default:return""}}),O=F(()=>m.value?w.value==="failed"?m.value.errorMessage||m.value.statusMessage||"Failed to load schemas for this connection.":m.value.statusMessage||"":""),x=F(()=>!!m.value&&w.value!=="idle"),E=F(()=>w.value==="failed"?"Schema load failed":w.value==="loading"||w.value==="waiting"?"Loading schemas":"No data found"),N=F(()=>O.value?O.value:"There is no schemas data available for this connection."),R=async()=>{if(!c.value)throw new Error("No connection selected");y.value=!0,await e({wsId:d.value,connId:c.value,isRefresh:!0}),y.value=!1},k=()=>{_.value&&(p.value?(_.value.expandAll(),p.value=!1):(_.value.collapseAll(),p.value=!0))},$=F(()=>{var J;return((J=i.value)==null?void 0:J.name)||"public"}),{selectedItem:L,contextMenuItems:U,safeModeDialogOpen:W,safeModeDialogSQL:B,safeModeDialogType:X,onSafeModeConfirm:te,onSafeModeCancel:se,renameDialogType:oe,renameDialogOpen:ie,renameDialogValue:z,onConfirmRename:C,sqlPreviewDialogOpen:V,sqlPreviewDialogSQL:Q,sqlPreviewDialogTitle:Ue,onRightClickItem:Ae,isFetching:ae,safeModeLoading:Me}=fl({schemaName:$,activeSchema:i,onRefreshSchema:R}),de=async J=>{var Ie,ye;const ne=b.value[J];if(!ne)return;const ce=(Ie=ne.data)==null?void 0:Ie.tabViewType,me=(ye=ne.data)==null?void 0:ye.itemValue;!f.value||!ce||await s({id:J,name:ne.name,type:ce,icon:(me==null?void 0:me.icon)||ne.iconOpen||ne.iconClose,iconClass:(me==null?void 0:me.iconClass)||ne.iconClass,itemValueId:me==null?void 0:me.id,treeNodeId:ne.id})},nt=(J,ne)=>{var Ie,ye;const ce=b.value[J];if(!ce)return;const me=((Ie=ce.data)==null?void 0:Ie.itemValue)||{title:ce.name,name:ce.name,id:ce.id,tabViewType:(ye=ce.data)==null?void 0:ye.tabViewType,icon:ce.iconOpen||ce.iconClose,iconClass:ce.iconClass};Ae(ne,{value:me})};return Ee(()=>r.activeTab,J=>{var ne,ce,me,Ie;if(!J){(ne=_.value)==null||ne.clearSelection();return}if(!((ce=_.value)!=null&&ce.isMouseInside)&&((J==null?void 0:J.type)===G.TableDetail||(J==null?void 0:J.type)===G.TableOverview||(J==null?void 0:J.type)===G.ViewDetail||(J==null?void 0:J.type)===G.ViewOverview||(J==null?void 0:J.type)===G.FunctionsDetail||(J==null?void 0:J.type)===G.FunctionsOverview)){const ye=(me=J.metadata)==null?void 0:me.treeNodeId;typeof ye=="string"&&((Ie=_.value)==null||Ie.focusItem(ye))}},{flush:"post",immediate:!0}),(J,ne)=>{var ft;const ce=re,me=pe,Ie=_e,ye=Se,mt=we,at=Fe;return I(),P("div",pl,[l(a(He),{search:a(v),"onUpdate:search":ne[0]||(ne[0]=xe=>be(v)?v.value=xe:null),title:"Schemas","show-connection":!0,"show-schema":!0,"workspace-id":a(d),"show-search":!0,"search-placeholder":"Search in all tables or functions"},{actions:u(()=>[l(mt,null,{default:u(()=>[l(Ie,{"as-child":""},{default:u(()=>[l(me,{size:"iconSm",variant:"ghost",onClick:k},{default:u(()=>[l(ce,{name:a(p)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(ye,null,{default:u(()=>[M(H(a(p)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(mt,null,{default:u(()=>[l(Ie,{"as-child":""},{default:u(()=>[l(me,{size:"iconSm",variant:"ghost",onClick:R},{default:u(()=>[l(ce,{name:"hugeicons:redo",class:fe(["size-4! min-w-4",a(y)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l(ye,null,{default:u(()=>ne[5]||(ne[5]=[M(" Refresh Schema ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),a(x)?(I(),P("div",vl,[h("div",gl,[l(ce,{name:a(S),class:fe(["size-4 min-w-4 mt-0.5",(a(w)==="loading"||a(w)==="waiting")&&"animate-spin",a(w)==="completed"&&"text-emerald-500",a(w)==="failed"&&"text-destructive"])},null,8,["name","class"]),h("div",yl,[h("p",hl,[M(H(a(D))+" ",1),a(w)==="completed"&&((ft=a(m))==null?void 0:ft.schemaCount)!==void 0?(I(),P("span",bl," • "+H(a(m).schemaCount)+" schema"+H(a(m).schemaCount===1?"":"s"),1)):K("",!0)]),h("p",wl,H(a(O)),1)])])])):K("",!0),a(T)?K("",!0):(I(),Y(at,{key:1,title:a(E),desc:a(N)},null,8,["title","desc"])),l(Rt,{"context-menu-items":a(U),onOnClearContextMenu:ne[1]||(ne[1]=xe=>L.value=null)},{default:u(()=>[h("div",_l,[l(Ye,{ref_key:"fileTreeRef",ref:_,"init-expanded-ids":[a(A)],"initial-data":a(b),"storage-key":`${a(c)}-schemas-tree`,"allow-drag-and-drop":!1,"delay-focus":0,onClick:de,onContextmenu:nt},null,8,["init-expanded-ids","initial-data","storage-key"])])]),_:1},8,["context-menu-items"]),l(Wo,{loading:a(Me),open:a(W),sql:a(B),type:a(X),"onUpdate:open":ne[2]||(ne[2]=xe=>W.value=xe),onConfirm:a(te),onCancel:a(se)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),l(al,{open:a(ie),"onUpdate:open":ne[3]||(ne[3]=xe=>be(ie)?ie.value=xe:null),tabViewType:a(oe),"current-name":a(z),onConfirm:a(C)},null,8,["open","tabViewType","current-name","onConfirm"]),l(ol,{open:a(V),sql:a(Q),title:a(Ue),isLoading:a(ae),"onUpdate:open":ne[4]||(ne[4]=xe=>V.value=xe)},null,8,["open","sql","title","isLoading"])])}}}),xl={class:"flex flex-col h-full w-full overflow-hidden"},Tl={key:1,class:"flex-1 overflow-y-auto px-3 pb-4"},Cl={class:"space-y-2 mt-3"},Il=["disabled"],El=["disabled"],Dl=["disabled"],Al=ee({__name:"ManagementDatabaseTools",setup(t){const e=Pe(),{openDatabaseToolsTab:n,openInstanceInsightsTab:o,openSchemaDiffTab:r}=Ge(),{connectionId:s,workspaceId:i}=De(),m=F(()=>s.value?e.connections.find(p=>p.id===s.value):null),c=F(()=>!!m.value),d=F(()=>{var p,v;return((p=m.value)==null?void 0:p.database)||((v=m.value)==null?void 0:v.name)||"database"}),f=F(()=>{var p,v;return((p=m.value)==null?void 0:p.providerKind)===vt.CLOUDFLARE_D1||((v=m.value)==null?void 0:v.providerKind)===vt.TURSO}),y=F(()=>{var p,v;return((p=m.value)==null?void 0:p.providerKind)===vt.CLOUDFLARE_D1?"Cloudflare D1 stays on the SQL path, but backup, instance insight, and schema diff are not available for the managed provider transport.":((v=m.value)==null?void 0:v.providerKind)===vt.TURSO?"Turso stays on the SQL path, but backup, instance insight, and schema diff are not available for the managed provider transport.":""}),_=async()=>{await n({databaseName:d.value})};return(p,v)=>{const g=Fe,b=re,A=pe,T=Xo;return I(),P("div",xl,[l(a(He),{title:"Database Tools","show-connection":!0,"workspace-id":a(i)},null,8,["workspace-id"]),a(c)?(I(),P("div",Tl,[h("div",Cl,[h("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 cursor-pointer",disabled:a(f),onClick:v[0]||(v[0]=w=>_())},[l(A,{size:"iconMd",variant:"outline"},{default:u(()=>[l(b,{name:"hugeicons:database-import"})]),_:1}),v[3]||(v[3]=h("div",{class:"flex-1"},[h("p",{class:"text-sm font-medium"},"Backup & Restore"),h("p",{class:"text-xs text-muted-foreground"}," Export and restore database backups ")],-1)),l(b,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,Il),h("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",disabled:!a(c)||a(f),onClick:v[1]||(v[1]=w=>a(o)({databaseName:a(d)}))},[l(A,{size:"iconMd",variant:"outline"},{default:u(()=>[l(b,{name:"hugeicons:activity-02"})]),_:1}),v[4]||(v[4]=h("div",{class:"flex-1"},[h("p",{class:"text-sm font-medium"},"Instance Insights"),h("p",{class:"text-xs text-muted-foreground"}," Monitor activity & health ")],-1)),l(b,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,El),h("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left transition-colors hover:bg-muted/20 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer",disabled:!a(c)||a(f),onClick:v[2]||(v[2]=w=>a(r)())},[l(A,{size:"iconMd",variant:"outline"},{default:u(()=>[l(b,{name:"hugeicons:git-compare"})]),_:1}),v[5]||(v[5]=h("div",{class:"flex-1"},[h("p",{class:"text-sm font-medium"},"Schema Diff"),h("p",{class:"text-xs text-muted-foreground"}," Compare & sync schemas between connections ")],-1)),l(b,{name:"hugeicons:external-link-01",class:"size-4 text-muted-foreground"})],8,Dl),a(f)?(I(),Y(T,{key:0,variant:"secondary"},{default:u(()=>[M(H(a(y)),1)]),_:1})):K("",!0)])])):(I(),Y(g,{key:0,title:"Select a connection",icon:"hugeicons:plug-socket"}))])}}}),Rl={class:"flex items-center justify-between"},$l={class:"text-sm"},kl={class:"flex items-center gap-1"},Ol={class:"h-full mt-4"},Nl={key:0,class:"space-y-2"},Ll={class:"space-y-2"},Pl={class:"grid grid-cols-2 gap-4"},Ml={class:"space-y-2"},Fl={class:"relative"},Ul={class:"space-y-2"},Vl={class:"grid grid-cols-2 gap-3 pt-2"},zl={class:"flex items-center space-x-2"},jl={class:"flex items-center space-x-2"},Bl={class:"flex items-center space-x-2"},ql={class:"flex items-center space-x-2"},Gl={key:0,class:"text-sm text-destructive space-y-1"},Hl={key:1,class:"space-y-2"},Wl={class:"space-y-2"},Ql={key:0,class:"p-3 rounded-md bg-amber-500/10 border border-amber-500/30 text-amber-600 dark:text-amber-400 text-sm"},Kl={class:"flex items-center gap-2"},Yl={class:"font-medium"},Xl={key:1,class:"space-y-2 pt-2"},Zl={class:"flex items-center space-x-2"},Jl={key:2,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},er={key:2,class:"space-y-2"},tr={class:"flex items-center justify-between"},nr={key:0,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},ar={key:1,class:"space-y-2 max-h-[50vh] overflow-y-auto"},or={class:"flex items-center gap-2"},sr={class:"text-sm font-medium"},lr={class:"flex items-center gap-4"},rr={class:"flex items-center space-x-2"},ir={class:"flex items-center space-x-2"},cr={key:2,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},ur={key:3,class:"p-3 rounded-md bg-amber-500/10 border border-amber-500/30 text-amber-600 dark:text-amber-400 text-sm"},dr={class:"flex items-center gap-2"},mr={key:3,class:"space-y-2"},fr={class:"space-y-2"},pr={class:"grid grid-cols-4 gap-2"},vr={class:"flex items-center space-x-2 pt-2"},gr={class:"space-y-2"},yr={class:"flex items-center space-x-2"},hr={class:"flex items-center space-x-2 pt-2"},br={class:"space-y-2"},wr={class:"grid grid-cols-3 gap-2"},_r={class:"flex items-center space-x-2 pt-2"},Sr={class:"text-xs text-muted-foreground"},xr={key:4,class:"space-y-2"},Tr={class:"space-y-2"},Cr={class:"grid grid-cols-2 gap-1 text-sm"},Ir={class:"font-normal"},Er={class:"font-normal"},Dr={class:"font-normal"},Ar={class:"font-normal"},Rr={key:0},$r={key:1},kr={key:0,class:"p-3 rounded-md bg-destructive/10 border border-destructive/30 text-destructive text-sm"},Or={class:"flex items-start gap-2"},Nr={class:"flex-1"},Lr={class:"text-xs mt-1 opacity-90"},Pr={class:"space-y-2"},Mr={class:"flex items-center justify-between"},Fr={class:"max-h-[140px] w-full overflow-y-auto rounded-md border bg-muted/50"},Ur={class:"flex gap-2 items-center"},Xe=5,Vr=ee({__name:"CreateUserModal",props:{open:{type:Boolean},loading:{type:Boolean},databasesLoading:{type:Boolean},schemasLoading:{type:Boolean},databases:{},schemas:{},schemaObjects:{},currentDatabase:{},error:{}},emits:["update:open","confirm","cancel","clearError","fetchSchemas","fetchSchemaObjects"],setup(t,{emit:e}){const n=t,o=e,r=Z(1),s=gt({roleName:"",password:"",canLogin:!0,canCreateDb:!1,canCreateRole:!1,isReplication:!1,connectionLimit:-1,validUntil:"",comment:""}),i=Z(""),m=Z(!1),c=F(()=>{var z;return((z=n.currentDatabase)==null?void 0:z.trim())||""}),d=F(()=>!i.value||!c.value?!1:i.value!==c.value),f=Z(new Map),y=Z("tables"),_=gt({scope:"all",privileges:new Set,applyToFuture:!1}),p=gt({scope:"all",privileges:new Set,applyToFuture:!1}),v=gt({scope:"all",privileges:new Set,applyToFuture:!1}),g=Z(!1),b=F(()=>{const z=[];return s.roleName.trim()||z.push("Username is required"),s.roleName.includes(" ")&&z.push("Username cannot contain spaces"),z}),A=F(()=>b.value.length===0),T=F(()=>{for(const[,z]of f.value)if(z.has("USAGE"))return!0;return!1}),w=F(()=>{const z=[];for(const[C,V]of f.value)V.has("USAGE")&&z.push(C);return z}),S=F(()=>{const z=[];s.canLogin?(z.push("LOGIN"),s.password&&z.push(`PASSWORD '${s.password.replace(/'/g,"''")}'`)):z.push("NOLOGIN"),s.canCreateDb&&z.push("CREATEDB"),s.canCreateRole&&z.push("CREATEROLE"),s.isReplication&&z.push("REPLICATION"),s.connectionLimit>=0&&z.push(`CONNECTION LIMIT ${s.connectionLimit}`),s.validUntil&&z.push(`VALID UNTIL '${s.validUntil}'`);let C=`CREATE ROLE "${s.roleName}" WITH ${z.join(" ")};
|
|
40
|
+
`;i.value&&m.value&&(C+=`GRANT CONNECT ON DATABASE "${i.value}" TO "${s.roleName}";
|
|
41
|
+
`);for(const[V,Q]of f.value)Q.size>0&&(C+=`GRANT ${Array.from(Q).join(", ")} ON SCHEMA "${V}" TO "${s.roleName}";
|
|
42
|
+
`);for(const V of w.value)if(_.privileges.size>0){const Q=Array.from(_.privileges).join(", ");C+=`GRANT ${Q} ON ALL TABLES IN SCHEMA "${V}" TO "${s.roleName}";
|
|
43
|
+
`,_.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Q} ON TABLES TO "${s.roleName}";
|
|
44
|
+
`)}for(const V of w.value)if(p.privileges.size>0){const Q=Array.from(p.privileges).join(", ");C+=`GRANT ${Q} ON ALL FUNCTIONS IN SCHEMA "${V}" TO "${s.roleName}";
|
|
45
|
+
`,p.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Q} ON FUNCTIONS TO "${s.roleName}";
|
|
46
|
+
`)}for(const V of w.value)if(v.privileges.size>0){const Q=Array.from(v.privileges).join(", ");C+=`GRANT ${Q} ON ALL SEQUENCES IN SCHEMA "${V}" TO "${s.roleName}";
|
|
47
|
+
`,v.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${V}" GRANT ${Q} ON SEQUENCES TO "${s.roleName}";
|
|
48
|
+
`)}return C}),{copied:D,handleCopy:O,getCopyIcon:x,getCopyIconClass:E,getCopyTooltip:N}=ya(),R=()=>O(S.value),k=()=>{if(r.value<Xe){if(r.value===2&&i.value){if(d.value){r.value=Xe;return}o("fetchSchemas")}r.value++}},$=()=>{if(r.value===Xe&&d.value){r.value=2;return}r.value>1&&r.value--},L=F(()=>r.value===1?A.value:r.value===2?!!i.value&&!n.databasesLoading:r.value===3?T.value:!0);Ee(i,()=>{f.value.clear(),_.privileges.clear(),_.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1});const U=(z,C)=>{const V=f.value.get(z)??new Set,Q=new Set(V);Q.has(C)?Q.delete(C):Q.add(C),f.value.set(z,Q)},W=(z,C)=>{var V;return((V=f.value.get(z))==null?void 0:V.has(C))??!1},B=z=>{_.privileges.has(z)?_.privileges.delete(z):_.privileges.add(z)},X=z=>{p.privileges.has(z)?p.privileges.delete(z):p.privileges.add(z)},te=z=>{v.privileges.has(z)?v.privileges.delete(z):v.privileges.add(z)},se=()=>{const z=[];for(const[V,Q]of f.value)Q.size>0&&z.push({schemaName:V,privileges:Array.from(Q)});const C=[];for(const V of w.value)_.privileges.size>0&&C.push({objectType:"table",schemaName:V,privileges:Array.from(_.privileges),applyToFuture:_.applyToFuture}),p.privileges.size>0&&C.push({objectType:"function",schemaName:V,privileges:Array.from(p.privileges),applyToFuture:p.applyToFuture}),v.privileges.size>0&&C.push({objectType:"sequence",schemaName:V,privileges:Array.from(v.privileges),applyToFuture:v.applyToFuture});o("confirm",{roleData:{roleName:s.roleName,password:s.password||void 0,canLogin:s.canLogin,canCreateDb:s.canCreateDb,canCreateRole:s.canCreateRole,isReplication:s.isReplication,connectionLimit:s.connectionLimit>=0?s.connectionLimit:void 0,validUntil:s.validUntil||void 0,comment:s.comment||void 0},databaseGrants:i.value&&m.value?[{databaseName:i.value,privileges:["CONNECT"]}]:[],schemaGrants:z,objectGrants:C})},oe=()=>{r.value=1,s.roleName="",s.password="",s.canLogin=!0,s.canCreateDb=!1,s.canCreateRole=!1,s.isReplication=!1,s.connectionLimit=-1,s.validUntil="",s.comment="",i.value="",m.value=!1,f.value.clear(),_.privileges.clear(),_.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1,g.value=!1};Ee(()=>n.open,z=>{z||oe()}),Ee(r,()=>{o("clearError")});const ie=["User Info","Database","Schemas","Objects","Review"];return(z,C)=>{const V=re,Q=so,Ue=lo,Ae=oo,ae=ro,Me=cn,de=Zo,nt=io,J=on,ne=rn,ce=ln,me=an,Ie=Fe,ye=pa,mt=fa,at=co,ft=ma,xe=pe,Ua=_e,Va=Se,za=we,ja=ha,Ba=uo,qa=ao,Ga=no;return I(),Y(Ga,{open:z.open,"onUpdate:open":C[16]||(C[16]=pt=>o("update:open",pt))},{default:u(()=>[l(qa,{class:"w-[65vw] h-[60vh] max-w-[65vw]! gap-1 p-5 flex flex-col flex-1 overflow-hidden"},{default:u(()=>{var pt,Tn,Cn;return[l(Ae,null,{default:u(()=>[l(Q,{class:"flex items-center font-medium! gap-2"},{default:u(()=>[l(V,{name:"lucide:user-plus",class:"size-5 text-primary"}),C[17]||(C[17]=M(" Create New User/Role "))]),_:1}),l(Ue,null,{default:u(()=>[h("div",Rl,[h("span",$l,"Step "+H(a(r))+": "+H(ie[a(r)-1]),1),h("div",kl,[(I(),P(ue,null,ve(Xe,q=>h("div",{key:q,class:fe(["w-6 h-1 rounded-full transition-colors",q<=a(r)?"bg-primary":"bg-muted"])},null,2)),64))])])]),_:1})]),_:1}),h("div",Ol,[a(r)===1?(I(),P("div",Nl,[h("div",Ll,[l(ae,{for:"roleName"},{default:u(()=>C[18]||(C[18]=[M("Username "),h("span",{class:"text-destructive"},"*",-1)])),_:1}),l(Me,{id:"roleName",modelValue:a(s).roleName,"onUpdate:modelValue":C[0]||(C[0]=q=>a(s).roleName=q),placeholder:"Enter username",class:fe({"border-destructive":a(s).roleName&&a(b).some(q=>q.includes("Username"))})},null,8,["modelValue","class"])]),h("div",Pl,[h("div",Ml,[l(ae,{for:"password"},{default:u(()=>C[19]||(C[19]=[M("Password")])),_:1}),h("div",Fl,[l(Me,{id:"password",modelValue:a(s).password,"onUpdate:modelValue":C[1]||(C[1]=q=>a(s).password=q),type:a(g)?"text":"password",placeholder:"Enter password",class:"pr-10"},null,8,["modelValue","type"]),h("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",onClick:C[2]||(C[2]=q=>g.value=!a(g))},[l(V,{name:a(g)?"lucide:eye-off":"lucide:eye",class:"size-4"},null,8,["name"])])]),C[20]||(C[20]=h("p",{class:"text-xs text-amber-500 dark:text-amber-400"}," Leave blank to create a role without a password. ",-1))]),h("div",Ul,[l(ae,{for:"connectionLimit"},{default:u(()=>C[21]||(C[21]=[M("Connection Limit")])),_:1}),l(Me,{id:"connectionLimit",modelValue:a(s).connectionLimit,"onUpdate:modelValue":C[3]||(C[3]=q=>a(s).connectionLimit=q),modelModifiers:{number:!0},type:"number",min:-1,placeholder:"No limit"},null,8,["modelValue"]),C[22]||(C[22]=h("p",{class:"text-xs text-muted-foreground"}," Use `-1` for no limit. ",-1))])]),h("div",Vl,[h("div",zl,[l(de,{id:"canLogin","model-value":a(s).canLogin,"onUpdate:modelValue":C[4]||(C[4]=q=>a(s).canLogin=q)},null,8,["model-value"]),l(ae,{for:"canLogin",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[23]||(C[23]=[M("Can Login")])),_:1})]),h("div",jl,[l(de,{id:"canCreateDb","model-value":a(s).canCreateDb,"onUpdate:modelValue":C[5]||(C[5]=q=>a(s).canCreateDb=q)},null,8,["model-value"]),l(ae,{for:"canCreateDb",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[24]||(C[24]=[M("Create DB")])),_:1})]),h("div",Bl,[l(de,{id:"canCreateRole","model-value":a(s).canCreateRole,"onUpdate:modelValue":C[6]||(C[6]=q=>a(s).canCreateRole=q)},null,8,["model-value"]),l(ae,{for:"canCreateRole",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[25]||(C[25]=[M("Create Role")])),_:1})]),h("div",ql,[l(de,{id:"isReplication","model-value":a(s).isReplication,"onUpdate:modelValue":C[7]||(C[7]=q=>a(s).isReplication=q)},null,8,["model-value"]),l(ae,{for:"isReplication",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[26]||(C[26]=[M("Replication")])),_:1})])]),a(b).length>0&&a(s).roleName?(I(),P("div",Gl,[(I(!0),P(ue,null,ve(a(b),q=>(I(),P("div",{key:q,class:"flex items-center gap-1"},[l(V,{name:"lucide:x",class:"size-3"}),M(" "+H(q),1)]))),128))])):K("",!0)])):a(r)===2?(I(),P("div",Hl,[h("div",Wl,[l(ae,null,{default:u(()=>C[27]||(C[27]=[M("Select Database")])),_:1}),l(me,{modelValue:a(i),"onUpdate:modelValue":C[8]||(C[8]=q=>be(i)?i.value=q:null),disabled:z.databasesLoading},{default:u(()=>[l(J,null,{default:u(()=>[l(nt,{placeholder:z.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),l(ce,null,{default:u(()=>[(I(!0),P(ue,null,ve(z.databases,q=>(I(),Y(ne,{key:q.databaseName,value:q.databaseName},{default:u(()=>[M(H(q.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),a(d)?(I(),P("div",Ql,[h("div",Kl,[l(V,{name:"lucide:info",class:"size-4"}),h("span",null,[C[28]||(C[28]=M(" You're connected to ")),h("span",Yl,H(a(c)),1),C[29]||(C[29]=M(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):K("",!0),a(i)&&!z.databasesLoading?(I(),P("div",Xl,[h("div",Zl,[l(de,{id:"dbConnect","model-value":a(m),"onUpdate:modelValue":C[9]||(C[9]=q=>be(m)?m.value=q:null)},null,8,["model-value"]),l(ae,{for:"dbConnect",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[30]||(C[30]=[M(" Grant CONNECT permission ")])),_:1})]),C[31]||(C[31]=h("p",{class:"text-xs text-muted-foreground"}," CONNECT allows the user to connect to this database. ",-1))])):K("",!0),z.databasesLoading?(I(),P("div",Jl,[l(V,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),C[32]||(C[32]=h("p",{class:"text-sm"},"Loading databases...",-1))])):(pt=z.databases)!=null&&pt.length?K("",!0):(I(),Y(Ie,{key:3,title:"No databases available",desc:"No databases were found for this connection."}))])):a(r)===3?(I(),P("div",er,[h("div",tr,[l(ae,null,{default:u(()=>C[33]||(C[33]=[M("Schema Permissions")])),_:1}),C[34]||(C[34]=h("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),z.schemasLoading?(I(),P("div",nr,[l(V,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),C[35]||(C[35]=h("p",{class:"text-sm"},"Loading schemas...",-1))])):(Tn=z.schemas)!=null&&Tn.length?(I(),P("div",ar,[(I(!0),P(ue,null,ve(z.schemas,q=>(I(),P("div",{key:q.schemaName,class:"flex items-center justify-between p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors"},[h("div",or,[l(V,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),h("span",sr,H(q.schemaName),1)]),h("div",lr,[h("div",rr,[l(de,{id:`schema-${q.schemaName}-usage`,"model-value":W(q.schemaName,"USAGE"),"onUpdate:modelValue":kt=>U(q.schemaName,"USAGE")},null,8,["id","model-value","onUpdate:modelValue"]),l(ae,{for:`schema-${q.schemaName}-usage`,class:"text-xs cursor-pointer"},{default:u(()=>C[36]||(C[36]=[M("USAGE")])),_:2},1032,["for"])]),h("div",ir,[l(de,{id:`schema-${q.schemaName}-create`,"model-value":W(q.schemaName,"CREATE"),"onUpdate:modelValue":kt=>U(q.schemaName,"CREATE")},null,8,["id","model-value","onUpdate:modelValue"]),l(ae,{for:`schema-${q.schemaName}-create`,class:"text-xs cursor-pointer"},{default:u(()=>C[37]||(C[37]=[M("CREATE")])),_:2},1032,["for"])])])]))),128))])):(I(),P("div",cr,[l(V,{name:"lucide:folder",class:"size-12 mb-2 opacity-50"}),C[38]||(C[38]=h("p",{class:"text-sm"},"No schemas found",-1))])),!a(T)&&((Cn=z.schemas)!=null&&Cn.length)?(I(),P("div",ur,[h("div",dr,[l(V,{name:"lucide:alert-triangle",class:"size-4"}),C[39]||(C[39]=h("span",null,"Select at least one schema with USAGE permission to continue",-1))])])):K("",!0)])):a(r)===4?(I(),P("div",mr,[l(ft,{modelValue:a(y),"onUpdate:modelValue":C[14]||(C[14]=q=>be(y)?y.value=q:null),class:"w-full"},{default:u(()=>[l(mt,{class:"w-full grid grid-cols-3"},{default:u(()=>[l(ye,{value:"tables"},{default:u(()=>[l(V,{name:"lucide:table",class:"size-4 mr-1"}),C[40]||(C[40]=M(" Tables "))]),_:1}),l(ye,{value:"functions"},{default:u(()=>[l(V,{name:"lucide:function-square",class:"size-4 mr-1"}),C[41]||(C[41]=M(" Functions "))]),_:1}),l(ye,{value:"sequences"},{default:u(()=>[l(V,{name:"lucide:list-ordered",class:"size-4 mr-1"}),C[42]||(C[42]=M(" Sequences "))]),_:1})]),_:1}),l(at,{value:"tables",class:"space-y-2 pt-4"},{default:u(()=>[h("div",fr,[l(ae,{class:"text-sm"},{default:u(()=>C[43]||(C[43]=[M("Table Privileges")])),_:1}),h("div",pr,[(I(),P(ue,null,ve(["SELECT","INSERT","UPDATE","DELETE"],q=>h("div",{key:q,class:"flex items-center space-x-2"},[l(de,{id:`table-${q}`,"model-value":a(_).privileges.has(q),"onUpdate:modelValue":kt=>B(q)},null,8,["id","model-value","onUpdate:modelValue"]),l(ae,{for:`table-${q}`,class:"text-xs cursor-pointer"},{default:u(()=>[M(H(q),1)]),_:2},1032,["for"])])),64))])]),h("div",vr,[l(de,{id:"tablesFuture","model-value":a(_).applyToFuture,"onUpdate:modelValue":C[10]||(C[10]=q=>a(_).applyToFuture=q)},null,8,["model-value"]),l(ae,{for:"tablesFuture",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[44]||(C[44]=[M(" Apply to future tables (ALTER DEFAULT PRIVILEGES) ")])),_:1})])]),_:1}),l(at,{value:"functions",class:"space-y-2 pt-4"},{default:u(()=>[h("div",gr,[l(ae,{class:"text-sm"},{default:u(()=>C[45]||(C[45]=[M("Function Privileges")])),_:1}),h("div",yr,[l(de,{id:"func-execute","model-value":a(p).privileges.has("EXECUTE"),"onUpdate:modelValue":C[11]||(C[11]=q=>X("EXECUTE"))},null,8,["model-value"]),l(ae,{for:"func-execute",class:"text-xs cursor-pointer"},{default:u(()=>C[46]||(C[46]=[M("EXECUTE")])),_:1})])]),h("div",hr,[l(de,{id:"funcFuture","model-value":a(p).applyToFuture,"onUpdate:modelValue":C[12]||(C[12]=q=>a(p).applyToFuture=q)},null,8,["model-value"]),l(ae,{for:"funcFuture",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[47]||(C[47]=[M(" Apply to future functions ")])),_:1})])]),_:1}),l(at,{value:"sequences",class:"space-y-2 pt-4"},{default:u(()=>[h("div",br,[l(ae,{class:"text-sm"},{default:u(()=>C[48]||(C[48]=[M("Sequence Privileges")])),_:1}),h("div",wr,[(I(),P(ue,null,ve(["USAGE","SELECT"],q=>h("div",{key:q,class:"flex items-center space-x-2"},[l(de,{id:`seq-${q}`,"model-value":a(v).privileges.has(q),"onUpdate:modelValue":kt=>te(q)},null,8,["id","model-value","onUpdate:modelValue"]),l(ae,{for:`seq-${q}`,class:"text-xs cursor-pointer"},{default:u(()=>[M(H(q),1)]),_:2},1032,["for"])])),64))])]),h("div",_r,[l(de,{id:"seqFuture","model-value":a(v).applyToFuture,"onUpdate:modelValue":C[13]||(C[13]=q=>a(v).applyToFuture=q)},null,8,["model-value"]),l(ae,{for:"seqFuture",class:"text-sm font-normal cursor-pointer"},{default:u(()=>C[49]||(C[49]=[M(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),h("p",Sr," Permissions will be applied to all objects in selected schemas: "+H(a(w).join(", ")||"none"),1)])):a(r)===5?(I(),P("div",xr,[h("div",Tr,[C[54]||(C[54]=h("h4",{class:"text-sm font-medium"},"Summary",-1)),h("div",Cr,[C[50]||(C[50]=h("div",{class:"text-muted-foreground"},"Username:",-1)),h("div",Ir,H(a(s).roleName),1),C[51]||(C[51]=h("div",{class:"text-muted-foreground"},"Type:",-1)),h("div",Er,H(a(s).canLogin?"User (login)":"Role"),1),C[52]||(C[52]=h("div",{class:"text-muted-foreground"},"Database:",-1)),h("div",Dr,H(a(i)||"None"),1),C[53]||(C[53]=h("div",{class:"text-muted-foreground"},"Schemas:",-1)),h("div",Ar,[a(d)?(I(),P("span",Rr,"Skipped")):(I(),P("span",$r,H(a(w).length)+" selected",1))])])]),z.error?(I(),P("div",kr,[h("div",Or,[l(V,{name:"lucide:alert-circle",class:"size-4 mt-0.5 shrink-0"}),h("div",Nr,[C[55]||(C[55]=h("p",{class:"font-medium"},"Error creating user",-1)),h("p",Lr,H(z.error),1)])])])):K("",!0),h("div",Pr,[h("div",Mr,[C[56]||(C[56]=h("h4",{class:"text-sm font-medium"},"Generated SQL",-1)),l(za,null,{default:u(()=>[l(Ua,{"as-child":""},{default:u(()=>[l(xe,{variant:"ghost",size:"xs",onClick:R},{default:u(()=>[l(V,{name:a(x)(a(D)),class:fe(["size-3 mr-1",a(E)(a(D))])},null,8,["name","class"]),M(" "+H(a(N)(a(D),"Copy")),1)]),_:1})]),_:1}),l(Va,null,{default:u(()=>[M(H(a(N)(a(D),"Copy SQL")),1)]),_:1})]),_:1})]),h("div",Fr,[l(ja,{code:a(S),"max-height":"140px"},null,8,["code"])])])])):K("",!0)]),l(Ba,{class:"gap-2 sm:gap-0"},{default:u(()=>[a(r)>1?(I(),Y(xe,{key:0,variant:"outline",onClick:$,disabled:z.loading},{default:u(()=>[l(V,{name:"lucide:arrow-left",class:"size-4"}),C[57]||(C[57]=M(" Back "))]),_:1},8,["disabled"])):K("",!0),C[60]||(C[60]=h("div",{class:"flex-1"},null,-1)),h("div",Ur,[a(r)===1?(I(),Y(xe,{key:0,variant:"outline",onClick:C[15]||(C[15]=q=>o("cancel")),disabled:z.loading},{default:u(()=>C[58]||(C[58]=[M(" Cancel ")])),_:1},8,["disabled"])):K("",!0),a(r)<Xe?(I(),Y(xe,{key:1,onClick:k,disabled:!a(L)},{default:u(()=>[M(H(a(r)===4?"Review":"Next")+" ",1),l(V,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):K("",!0),a(r)===Xe?(I(),Y(xe,{key:2,onClick:se,disabled:z.loading||!a(A)},{default:u(()=>[z.loading?(I(),Y(V,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):K("",!0),C[59]||(C[59]=M(" Create User "))]),_:1},8,["disabled"])):K("",!0)])]),_:1})]}),_:1})]),_:1},8,["open"])}}}),zr={class:"text-sm"},jr={class:"font-semibold text-foreground"},Br={key:0,class:"flex items-start gap-2 p-3 rounded-md bg-destructive/10 border border-destructive/20"},qr={class:"space-y-2"},Gr={class:"p-3 bg-muted/50 rounded-md border font-mono text-xs"},Hr=ee({__name:"DeleteUserDialog",props:{open:{type:Boolean},role:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(t,{emit:e}){const n=t,o=e,r=F(()=>n.role?`DROP ROLE IF EXISTS "${n.role.roleName}"`:"");return(s,i)=>{const m=re,c=fn,d=pn,f=mn,y=gn,_=pe,p=vn,v=dn,g=un;return I(),Y(g,{open:s.open,"onUpdate:open":i[2]||(i[2]=b=>o("update:open",b))},{default:u(()=>[l(v,{class:"max-w-md"},{default:u(()=>[l(f,null,{default:u(()=>[l(c,{class:"flex items-center gap-2"},{default:u(()=>[l(m,{name:"lucide:trash-2",class:"size-5 text-destructive"}),i[3]||(i[3]=M(" Delete User/Role "))]),_:1}),s.role?(I(),Y(d,{key:0,class:"space-y-4"},{default:u(()=>[h("div",zr,[i[4]||(i[4]=M(" Are you sure you want to delete the role ")),h("span",jr,H(s.role.roleName),1),i[5]||(i[5]=M("? "))]),s.role.isSuperuser?(I(),P("div",Br,[l(m,{name:"lucide:alert-triangle",class:"size-5 text-destructive shrink-0 mt-0.5"}),i[6]||(i[6]=h("div",{class:"text-sm text-destructive"},[h("span",{class:"font-semibold"},"Warning:"),M(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):K("",!0),h("div",qr,[i[7]||(i[7]=h("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),h("div",Gr,H(a(r)),1)]),i[8]||(i[8]=h("div",{class:"text-xs text-muted-foreground"}," This action cannot be undone. Objects owned by this role must be reassigned or dropped first. ",-1))]),_:1})):K("",!0)]),_:1}),l(p,null,{default:u(()=>[l(y,{onClick:i[0]||(i[0]=b=>o("cancel")),disabled:s.loading},{default:u(()=>i[9]||(i[9]=[M(" Cancel ")])),_:1},8,["disabled"]),l(_,{variant:"destructive",disabled:s.loading,onClick:i[1]||(i[1]=b=>o("confirm"))},{default:u(()=>[s.loading?(I(),Y(m,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):K("",!0),i[10]||(i[10]=M(" Delete Role "))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Wr={class:"flex flex-col gap-1 py-1 h-full relative"},Qr={class:"h-full"},Kr=ee({__name:"UserRolesTree",props:{roles:{},loading:{type:Boolean},selectedRoleName:{},onCreateUser:{type:Function},canCreateUser:{type:Boolean},createUserDisabledReason:{},onDeleteUser:{type:Function},onRefresh:{type:Function}},setup(t,{expose:e}){const n=t,o=qe(),{openUserPermissionsTab:r}=Ge(),{workspaceId:s,connectionId:i}=De(),m=Oe("fileTreeRef"),c=Z(null),d=Z(!1),f=Z(null),y=Z(!1),_=[$e.User],p=F(()=>{const x={},E=[],N=[],R=[];for(const $ of n.roles)$.isSuperuser?E.push($):$.canLogin?N.push($):R.push($);const k=($,L,U)=>{x[$.roleName]={id:$.roleName,parentId:L,name:$.roleName,type:"file",depth:U,iconClose:$.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:$.isSuperuser?"text-yellow-500":$.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:G.UserPermissions,roleData:$}}};return E.length>0&&(x[$e.Superuser]={id:$e.Superuser,parentId:null,name:`Superusers (${E.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:E.map($=>$.roleName)},E.forEach($=>k($,$e.Superuser,1))),N.length>0&&(x[$e.User]={id:$e.User,parentId:null,name:`Users (${N.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:N.map($=>$.roleName)},N.forEach($=>k($,$e.User,1))),R.length>0&&(x[$e.Role]={id:$e.Role,parentId:null,name:`Roles (${R.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:R.map($=>$.roleName)},R.forEach($=>k($,$e.Role,1))),x}),v=x=>n.roles.find(E=>E.roleName===x),g=(x,E)=>{var R;const N=p.value[x];if(N)if(N.type==="folder")c.value={type:"category",category:N.id};else{const k=(R=N.data)==null?void 0:R.roleData;if(k)c.value={type:"role",role:k};else{const $=v(N.id);$&&(c.value={type:"role",role:$})}}},b=async x=>{var L;const E=p.value[x];if(!E||E.type==="folder"||!s.value||!i.value)return;const N=(L=E.data)==null?void 0:L.roleData,R=(N==null?void 0:N.roleName)||E.id,k=N!=null&&N.isSuperuser?"hugeicons:crown":N!=null&&N.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",$=N!=null&&N.isSuperuser?"text-yellow-500":N!=null&&N.canLogin?"text-blue-400":"text-purple-400";await r({roleName:R,icon:k,iconClass:$,treeNodeId:E.id})},A=F(()=>{const x=[];if(!c.value)return x.push({title:"Create User",icon:"lucide:user-plus",type:j.ACTION,select:()=>{var E;return(E=n.onCreateUser)==null?void 0:E.call(n)},disabled:n.canCreateUser===!1}),x.push({type:j.SEPARATOR}),x.push({title:"Refresh",icon:"lucide:refresh-cw",type:j.ACTION,select:()=>{var E;return(E=n.onRefresh)==null?void 0:E.call(n)}}),x;if(c.value.type==="category"&&(x.push({title:"Users & Roles",type:j.LABEL}),x.push({title:"Create User",icon:"lucide:user-plus",type:j.ACTION,select:()=>{var E;return(E=n.onCreateUser)==null?void 0:E.call(n)},disabled:n.canCreateUser===!1}),x.push({type:j.SEPARATOR}),x.push({title:"Refresh",icon:"lucide:refresh-cw",type:j.ACTION,select:()=>{var E;return(E=n.onRefresh)==null?void 0:E.call(n)}})),c.value.type==="role"&&c.value.role){const E=c.value.role;x.push({title:E.roleName,type:j.LABEL}),x.push({title:"View Permissions",icon:"hugeicons:shield-01",type:j.ACTION,select:()=>{b(E.roleName)}}),x.push({type:j.SEPARATOR}),x.push({title:"Delete User",icon:"lucide:trash-2",type:j.ACTION,select:()=>{f.value=E,d.value=!0},disabled:E.isSuperuser}),x.push({type:j.SEPARATOR}),x.push({title:"Refresh",icon:"lucide:refresh-cw",type:j.ACTION,select:()=>{var N;return(N=n.onRefresh)==null?void 0:N.call(n)}})}return x}),T=()=>{c.value=null},w=async()=>{var x;if(f.value){y.value=!0;try{await((x=n.onDeleteUser)==null?void 0:x.call(n,f.value)),d.value=!1,f.value=null}finally{y.value=!1}}};Ee(()=>o.activeTab,x=>{var E,N,R,k;if(!x){(E=m.value)==null||E.clearSelection();return}if(!((N=m.value)!=null&&N.isMouseInside)&&(x==null?void 0:x.type)===G.UserPermissions&&typeof((R=x.metadata)==null?void 0:R.treeNodeId)=="string"){(k=m.value)==null||k.focusItem(x.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const S=()=>{var x;(x=m.value)==null||x.expandAll()},D=()=>{var x;(x=m.value)==null||x.collapseAll()},O=F(()=>{var x;return((x=m.value)==null?void 0:x.isExpandedAll)??!1});return e({expandAll:S,collapseAll:D,isExpandedAll:O}),(x,E)=>{const N=re,R=pe,k=Fe;return I(),P(ue,null,[h("div",Wr,[x.loading?(I(),Y(da,{key:0,visible:""})):x.roles.length?(I(),Y(Rt,{key:2,"context-menu-items":a(A),onOnClearContextMenu:T},{default:u(()=>[h("div",Qr,[l(Ye,{ref_key:"fileTreeRef",ref:m,"init-expanded-ids":_,"initial-data":a(p),"allow-drag-and-drop":!1,"delay-focus":0,"storage-key":`${a(i)}-user-roles-tree`,onClick:b,onContextmenu:g},null,8,["initial-data","storage-key"])])]),_:1},8,["context-menu-items"])):(I(),Y(k,{key:1,title:"No roles found",desc:"There are no roles or users available for this connection."},{default:u(()=>[x.canCreateUser?(I(),Y(R,{key:0,variant:"outline",size:"sm",onClick:x.onCreateUser},{default:u(()=>[l(N,{name:"hugeicons:user-add-01"}),E[2]||(E[2]=M(" Create User "))]),_:1},8,["onClick"])):K("",!0)]),_:1}))]),l(Hr,{open:a(d),"onUpdate:open":E[0]||(E[0]=$=>be(d)?d.value=$:null),role:a(f),loading:a(y),onConfirm:w,onCancel:E[1]||(E[1]=$=>{d.value=!1,f.value=null})},null,8,["open","role","loading"])],64)}}}),Yr={class:"flex flex-col h-full w-full overflow-hidden"},Xr={key:1,class:"flex-1 overflow-y-auto min-h-0"},Zr=ee({__name:"ManagementUsersAndPermission",setup(t){const e=Pe(),{connectionId:n,workspaceId:o}=De(),r=F(()=>{if(n.value)return e.connections.find(V=>V.id===n.value)}),s=F(()=>{var V;if(!r.value)return"";if(r.value.database)return r.value.database;if(r.value.connectionString)try{return((V=new URL(r.value.connectionString).pathname)==null?void 0:V.replace(/^\//,""))||""}catch{return""}return""}),i=F(()=>{if(!r.value)return"";if(r.value.username)return r.value.username;if(r.value.connectionString)try{return new URL(r.value.connectionString).username||""}catch{return""}return""}),{isLoading:m,roles:c,fetchRoles:d,refresh:f}=Jo(r),y=F(()=>i.value&&c.value.find(V=>V.roleName===i.value)||null),_=F(()=>!r.value||!y.value?!1:y.value.isSuperuser||y.value.canCreateRole),p=F(()=>r.value?y.value?_.value?"Create User":"Your role lacks CREATEROLE or SUPERUSER privileges":"Unable to verify role privileges for this connection":"Select a connection to create users"),{isCreating:v,createRole:g,deleteRole:b}=es(r),{isLoading:A,databases:T,fetchDatabases:w}=ts(r),{isLoading:S,schemas:D,fetchSchemas:O}=ns(r),{isGranting:x,grantBulkPermissions:E}=as(r),N=Re(""),R=dt(N,et),k=Z(!1),$=Z(!1),L=Z(null),U=F(()=>{if(!R.value)return c.value;const V=R.value.toLowerCase();return c.value.filter(Q=>Q.roleName.toLowerCase().includes(V))});Ee(()=>r.value,async V=>{V&&await d()},{immediate:!0});const W=async()=>{k.value=!0,await f(),k.value=!1},B=Oe("userRolesTreeRef"),X=F(()=>B.value?!B.value.isExpandedAll:!0),te=()=>{var V,Q;X.value?(V=B.value)==null||V.expandAll():(Q=B.value)==null||Q.collapseAll()},se=()=>{L.value=null},oe=()=>{_.value&&($.value=!0,T.value=[],w())},ie=async()=>{D.value=[],await O()},z=async V=>{L.value=null;try{const Q=await g(V.roleData);if(!(Q!=null&&Q.success)){L.value=(Q==null?void 0:Q.message)||"Failed to create user. Please check the username and try again.";return}if(V.databaseGrants.length>0||V.schemaGrants.length>0||V.objectGrants.length>0){const Ae=await E({roleName:V.roleData.roleName,databaseGrants:V.databaseGrants,schemaGrants:V.schemaGrants,objectGrants:V.objectGrants});if(Ae&&!Ae.success){L.value=`User created but some permissions failed: ${Ae.totalFailed} of ${Ae.results.length} grants failed.`;return}}$.value=!1,await f()}catch(Q){L.value=(Q==null?void 0:Q.message)||"Failed to create user"}},C=async V=>{const Q=await b(V.roleName);return Q!=null&&Q.success&&await f(),Q};return(V,Q)=>{const Ue=re,Ae=pe,ae=_e,Me=Se,de=we,nt=Fe;return I(),P("div",Yr,[l(a(He),{search:a(N),"onUpdate:search":Q[0]||(Q[0]=J=>be(N)?N.value=J:null),title:"Users & Roles","show-connection":!0,"workspace-id":a(o),"show-search":!0,"search-placeholder":"Search users/roles..."},{actions:u(()=>[l(de,null,{default:u(()=>[l(ae,{"as-child":""},{default:u(()=>[h("span",null,[l(Ae,{size:"iconSm",variant:"ghost",onClick:oe,disabled:!a(_)},{default:u(()=>[l(Ue,{name:"hugeicons:user-add-01",class:"size-4! min-w-4"})]),_:1},8,["disabled"])])]),_:1}),l(Me,null,{default:u(()=>[M(H(a(p)),1)]),_:1})]),_:1}),l(de,null,{default:u(()=>[l(ae,{"as-child":""},{default:u(()=>[l(Ae,{size:"iconSm",variant:"ghost",onClick:te},{default:u(()=>[l(Ue,{name:a(X)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),l(Me,null,{default:u(()=>[M(H(a(X)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),l(de,null,{default:u(()=>[l(ae,{"as-child":""},{default:u(()=>[l(Ae,{size:"iconSm",variant:"ghost",onClick:W,disabled:a(k)||!a(r)},{default:u(()=>[l(Ue,{name:"hugeicons:redo",class:fe(["size-4! min-w-4 ",a(k)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),l(Me,null,{default:u(()=>Q[3]||(Q[3]=[M("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),a(r)?(I(),P("div",Xr,[l(Kr,{ref_key:"userRolesTreeRef",ref:B,roles:a(U),loading:a(m),onCreateUser:oe,canCreateUser:a(_),createUserDisabledReason:a(p),onDeleteUser:C,onRefresh:W},null,8,["roles","loading","canCreateUser","createUserDisabledReason"])])):(I(),Y(nt,{key:0,title:"No selected connection",desc:"Select a connection to view roles"})),l(Vr,{open:a($),"onUpdate:open":Q[1]||(Q[1]=J=>be($)?$.value=J:null),loading:a(v)||a(x),databasesLoading:a(A),schemasLoading:a(S),databases:a(T),schemas:a(D),currentDatabase:a(s),error:a(L),onConfirm:z,onCancel:Q[2]||(Q[2]=J=>$.value=!1),onClearError:se,onFetchSchemas:ie},null,8,["open","loading","databasesLoading","schemasLoading","databases","schemas","currentDatabase","error"])])}}}),Jr={class:"h-full w-full overflow-y-auto"},ei={class:"h-full"},ti={key:1,class:"flex items-center"},ni=ee({__name:"ManagementAgentHistoryTree",props:{contextMenuItems:{},historySectionId:{},storageKey:{},treeData:{},initExpandedIds:{},validateRename:{type:Function}},emits:["clear-context-menu","click-node","context-node","delete-history","rename-history","cancel-rename","new-thread"],setup(t,{expose:e,emit:n}){const o=n,r=Oe("treeRef");return e({clearSelection:()=>{var s;return(s=r.value)==null?void 0:s.clearSelection()},collapseAll:()=>{var s;return(s=r.value)==null?void 0:s.collapseAll()},expandAll:()=>{var s;return(s=r.value)==null?void 0:s.expandAll()},focusItem:s=>{var i;return(i=r.value)==null?void 0:i.focusItem(s)},startEditing:s=>{var i;return(i=r.value)==null?void 0:i.startEditing(s)},get isExpandedAll(){var s;return((s=r.value)==null?void 0:s.isExpandedAll)??!1},get isMouseInside(){var s;return((s=r.value)==null?void 0:s.isMouseInside)??!1}}),(s,i)=>{const m=re,c=pe,d=_e,f=Se,y=we;return I(),P("div",Jr,[l(Rt,{"context-menu-items":s.contextMenuItems,onOnClearContextMenu:i[5]||(i[5]=_=>o("clear-context-menu"))},{default:u(()=>[h("div",ei,[l(Ye,{ref_key:"treeRef",ref:r,class:"pt-1","storage-key":s.storageKey,"initial-data":s.treeData,"init-expanded-ids":s.initExpandedIds,"allow-drag-and-drop":!1,"allow-sort":!1,"validate-rename":s.validateRename,onClick:i[1]||(i[1]=_=>o("click-node",_)),onContextmenu:i[2]||(i[2]=_=>o("context-node",_)),onRename:i[3]||(i[3]=(_,p)=>o("rename-history",_,p)),onCancelRename:i[4]||(i[4]=_=>o("cancel-rename",_))},{actions:u(({node:_})=>[_.id===s.historySectionId?(I(),Y(y,{key:0},{default:u(()=>[l(d,{"as-child":""},{default:u(()=>[l(c,{size:"iconSm",variant:"ghost",onClick:i[0]||(i[0]=Ze(p=>o("new-thread"),["stop"]))},{default:u(()=>[l(m,{name:"hugeicons:plus-sign",class:"size-3.5"})]),_:1})]),_:1}),l(f,null,{default:u(()=>i[6]||(i[6]=[M(" New thread ")])),_:1})]),_:1})):_.id.startsWith("agent-history-")?(I(),P("div",ti,[l(y,null,{default:u(()=>[l(d,{"as-child":""},{default:u(()=>[l(c,{size:"iconSm",variant:"outline",class:"text-muted-foreground hover:text-primary",onClick:Ze(p=>{var v;return(v=a(r))==null?void 0:v.startEditing(_.id)},["stop"])},{default:u(()=>[l(m,{name:"hugeicons:edit-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),l(f,null,{default:u(()=>i[7]||(i[7]=[M(" Rename thread ")])),_:1})]),_:2},1024),l(y,null,{default:u(()=>[l(d,{"as-child":""},{default:u(()=>[l(c,{size:"iconSm",variant:"ghost",class:"text-muted-foreground hover:text-destructive",onClick:Ze(p=>o("delete-history",_.id),["stop"])},{default:u(()=>[l(m,{name:"hugeicons:delete-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),l(f,null,{default:u(()=>i[8]||(i[8]=[M(" Delete thread ")])),_:1})]),_:2},1024)])):K("",!0)]),_:1},8,["storage-key","initial-data","init-expanded-ids","validate-rename"])])]),_:1},8,["context-menu-items"])])}}}),xa=(t,e,n)=>{var r;if(n.has(e))return;n.add(e),(((r=t[e])==null?void 0:r.children)||[]).forEach(s=>xa(t,s,n))},ai=t=>{const e=At(),n=qe(),{workspaceId:o,connectionId:r}=De(),s=Re(""),i=dt(s,et),m=Z([]),{currentWorkspaceId:c,histories:d,selectedNodeId:f,selectNode:y,startNewChat:_,deleteHistory:p,renameHistory:v,SECTION_NODE_IDS:g}=mo();yn(()=>{c.value=o.value||""});const b=F(()=>{const R=g.history,k=d.value.map($=>({id:`agent-history-${$.id}`,parentId:R,name:$.title,type:"file",depth:1,iconOpen:"hugeicons:chatting-01",iconClose:"hugeicons:chatting-01",data:{preview:$.preview,updatedAt:$.updatedAt}}));return{[R]:{id:R,parentId:null,name:"Chat History",type:"folder",depth:0,iconOpen:"hugeicons:clock-05",iconClose:"hugeicons:clock-05",children:k.map($=>$.id)},...Object.fromEntries(k.map($=>[$.id,$]))}}),A=F(()=>{if(!i.value.trim())return b.value;const R=i.value.trim().toLowerCase(),k=new Set,$=b.value;Object.values($).forEach(U=>{var X,te;const W=typeof((X=U.data)==null?void 0:X.preview)=="string"?U.data.preview:"";if(!U.name.toLowerCase().includes(R)&&!W.toLowerCase().includes(R))return;xa($,U.id,k);let B=U.parentId;for(;B;)k.add(B),B=((te=$[B])==null?void 0:te.parentId)||null});const L={};return k.forEach(U=>{const W=$[U];W&&(L[U]={...W,children:(W.children||[]).filter(B=>k.has(B))})}),L}),T=async R=>{if(!o.value||!r.value)return;const k="agent-workspace";await n.openTab({id:k,workspaceId:o.value,connectionId:r.value,schemaId:e.schemaId||"",name:"AI Agent",icon:"hugeicons:robotic",type:G.AgentChat,routeName:"workspaceId-connectionId-agent-tabViewId",routeParams:{tabViewId:k,connectionId:r.value},metadata:{type:G.AgentChat,historyId:R}}),await n.selectTab(k)},w=async()=>{_(),await T()},S=R=>{R.startsWith("agent-history-")&&p(R.replace("agent-history-",""))},D=async R=>{R!==g.history&&R.startsWith("agent-history-")&&(y(R),await T(R.replace("agent-history-","")))},O=(R,k)=>{v(R,k)},x=R=>{if(R===g.history){m.value=[{title:"New Thread",icon:"hugeicons:quill-write-02",type:j.ACTION,select:()=>void w()}];return}if(!R.startsWith("agent-history-")){m.value=[];return}const k=R.replace("agent-history-","");m.value=[{title:"Open Thread",icon:"hugeicons:chat-spark-01",type:j.ACTION,select:()=>{y(R),T(k)}},{title:"Rename Thread",icon:"hugeicons:edit-02",type:j.ACTION,select:()=>{var $;($=t.onRename)==null||$.call(t,R)}},{type:j.SEPARATOR},{title:"New Thread",icon:"hugeicons:quill-write-02",type:j.ACTION,select:()=>void w()},{type:j.SEPARATOR},{title:"Delete Thread",icon:"hugeicons:delete-02",type:j.ACTION,select:()=>p(k)}]},E=()=>{m.value=[]},N=()=>{if(t.isExpandedAll.value){t.collapseAll();return}t.expandAll()};return Ee(()=>f.value,async R=>{await je(),!(!R||!A.value[R])&&t.focusNode(R)},{flush:"post",immediate:!0}),{contextMenuItems:m,defaultExpandedNodeIds:[g.history],filteredHistoryTreeData:A,historySectionId:g.history,historyStorageKey:fo.AGENT_HISTORY_TREE,isExpandedAll:t.isExpandedAll,onClearContextMenu:E,onClickNode:D,onCreateThread:w,onDeleteHistory:S,onRenameHistory:O,onToggleCollapseHistory:N,onTreeContextMenu:x,searchInput:s}},oi={class:"flex h-full w-full flex-col overflow-hidden"},si={class:"flex flex-1 flex-col overflow-hidden"},li={class:"flex-1 overflow-y-auto"},On=ee({__name:"ManagementAgent",setup(t){const{workspaceId:e}=De(),n=Oe("treePanelRef"),{contextMenuItems:o,defaultExpandedNodeIds:r,filteredHistoryTreeData:s,historySectionId:i,historyStorageKey:m,isExpandedAll:c,onClearContextMenu:d,onClickNode:f,onCreateThread:y,onDeleteHistory:_,onRenameHistory:p,onToggleCollapseHistory:v,onTreeContextMenu:g,searchInput:b}=ai({focusNode:w=>{var S;return(S=n.value)==null?void 0:S.focusItem(w)},collapseAll:()=>{var w;return(w=n.value)==null?void 0:w.collapseAll()},expandAll:()=>{var w;return(w=n.value)==null?void 0:w.expandAll()},isExpandedAll:F(()=>{var w;return((w=n.value)==null?void 0:w.isExpandedAll)??!1}),onRename:w=>{var S;return(S=n.value)==null?void 0:S.startEditing(w)}}),A=F(()=>!c.value),T=F(()=>{var S;const w=s.value[i];return!w||(((S=w.children)==null?void 0:S.length)??0)===0});return(w,S)=>{const D=re,O=pe,x=Fe;return I(),P("div",oi,[l(a(He),{search:a(b),"onUpdate:search":S[0]||(S[0]=E=>be(b)?b.value=E:null),title:"Chat History","show-search":!0,"show-connection":!0,"show-schema":!1,"workspace-id":a(e),"search-placeholder":"Search threads..."},{actions:u(()=>[l(a(we),null,{default:u(()=>[l(a(_e),{"as-child":""},{default:u(()=>[l(O,{size:"iconSm",variant:"ghost",onClick:a(y)},{default:u(()=>[l(D,{name:"hugeicons:plus-sign",class:"size-4"})]),_:1},8,["onClick"])]),_:1}),l(a(Se),null,{default:u(()=>S[2]||(S[2]=[M(" New thread ")])),_:1})]),_:1}),l(a(we),null,{default:u(()=>[l(a(_e),{"as-child":""},{default:u(()=>[l(O,{size:"iconSm",variant:"ghost",onClick:a(v)},{default:u(()=>[l(D,{name:a(A)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),l(a(Se),null,{default:u(()=>[M(H(a(A)?"Expand all":"Collapse all"),1)]),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),h("div",si,[h("div",li,[a(T)?(I(),Y(x,{key:0,title:"No chat history yet",desc:"Start a new thread to ask everything about your data!"},{default:u(()=>[l(O,{variant:"outline",size:"xs",onClick:a(y)},{default:u(()=>[l(D,{name:"hugeicons:plus-sign"}),S[3]||(S[3]=M(" Start chat "))]),_:1},8,["onClick"])]),_:1})):K("",!0),l(ni,{ref_key:"treePanelRef",ref:n,"context-menu-items":a(o),"history-section-id":a(i),"storage-key":a(m),"tree-data":a(s),"init-expanded-ids":a(r),onClickNode:a(f),onContextNode:a(g),onClearContextMenu:a(d),onDeleteHistory:a(_),onRenameHistory:S[1]||(S[1]=(E,N)=>a(p)(E.replace("agent-history-",""),N)),onNewThread:a(y)},null,8,["context-menu-items","history-section-id","storage-key","tree-data","init-expanded-ids","onClickNode","onContextNode","onClearContextMenu","onDeleteHistory","onNewThread"])])])])}}}),ri={class:"min-h-0 flex-1 overflow-hidden"},ii={key:0,class:"px-3 py-4 text-sm text-muted-foreground"},ci={key:1,class:"flex h-full items-center justify-center"},ui={key:2,class:"h-full"},di={class:"flex items-center gap-1.5 text-xxs text-muted-foreground"},mi=["title"],fi={key:3,class:"h-full"},pi={class:"flex items-center gap-1.5 text-xxs text-muted-foreground"},vi=["title"],gi=ee({__name:"RedisKeyTree",props:{keys:{},selectedKey:{default:null},loading:{type:Boolean,default:!1},searchQuery:{default:""},viewMode:{default:ze.Tree}},emits:["select"],setup(t,{expose:e,emit:n}){const o=t,r=n,s=Oe("fileTreeRef"),i=Oe("flatTreeRef"),m=Ct(o,"searchQuery"),c=Ct(o,"keys"),{fileTreeData:d,flatFileTreeData:f,defaultFolderOpenIds:y,visibleKeys:_}=ss(c,m),p=D=>D===void 0||D<0?"persisted":D<60?`${D}s`:D<3600?`${Math.floor(D/60)}m`:D<86400?`${Math.floor(D/3600)}h`:`${Math.floor(D/86400)}d`,v=D=>!(D!=null&&D.data)||typeof D.data.kind!="string"?null:D.data,g=D=>{const O=v(D);if(!O)return[];if(O.kind==="group"){const E=[];typeof O.keyCount=="number"&&E.push({label:`${O.keyCount} keys`,title:`Total keys: ${O.keyCount}`});const N=O.memoryUsage===null||O.memoryUsage===void 0?null:po(O.memoryUsage);return N&&E.push({label:N,title:`Approx. size: ${N}`}),E}const x=[];return O.memoryUsageHuman&&x.push({label:O.memoryUsageHuman,title:`Size: ${O.memoryUsageHuman}`}),x.push({label:`ttl ${p(O.ttl)}`,title:O.ttl!==void 0&&O.ttl>=0?`Expires in ${Math.max(O.ttl,0)} seconds`:"No expiration"}),x},b=D=>{var E,N;const O=f.value[D],x=(E=O==null?void 0:O.data)==null?void 0:E.redisKey;((N=O==null?void 0:O.data)==null?void 0:N.kind)==="key"&&x&&r("select",x)},A=D=>{var E,N;const O=d.value[D],x=(E=O==null?void 0:O.data)==null?void 0:E.redisKey;((N=O==null?void 0:O.data)==null?void 0:N.kind)==="key"&&x&&r("select",x)};Ee(()=>o.selectedKey,D=>{const O=o.viewMode===ze.Tree?s.value:i.value;if(O){if(!D){O.clearSelection();return}O.focusItem(`redis-key:${D}`)}},{flush:"post",immediate:!0}),Ee(()=>o.searchQuery,async D=>{!s.value||!D.trim()||(await je(),s.value.expandAll())});const T=()=>{var D;(D=s.value)==null||D.collapseAll()},w=()=>{var D;(D=s.value)==null||D.expandAll()},S=F(()=>{var D;return((D=s.value)==null?void 0:D.isExpandedAll)??!1});return e({collapseAll:T,expandAll:w,isExpandedAll:S}),(D,O)=>{const x=Fe;return I(),P("div",ri,[D.loading?(I(),P("div",ii," Loading Redis keys... ")):a(_).length===0?(I(),P("div",ci,[l(x,{title:"No keys found",desc:"No keys matched the current filter. Try adjusting the search or key pattern."})])):o.viewMode===a(ze).Tree?(I(),P("div",ui,[l(Ye,{ref_key:"fileTreeRef",ref:s,"init-expanded-ids":a(y),"initial-data":a(d),"storage-key":"redis-key-tree","allow-drag-and-drop":!1,"delay-focus":0,onClick:A},{actions:u(({node:E})=>[h("div",di,[(I(!0),P(ue,null,ve(g(E),N=>(I(),P("span",{key:`${E.id}-${N.label}`,class:"truncate",title:N.title},H(N.label),9,mi))),128))])]),_:1},8,["init-expanded-ids","initial-data"])])):(I(),P("div",fi,[l(Ye,{ref_key:"flatTreeRef",ref:i,"init-expanded-ids":[],"initial-data":a(f),"storage-key":"redis-key-list","allow-drag-and-drop":!1,"delay-focus":0,onClick:b},{actions:u(({node:E})=>[h("div",pi,[(I(!0),P(ue,null,ve(g(E),N=>(I(),P("span",{key:`${E.id}-${N.label}`,class:"truncate",title:N.title},H(N.label),9,vi))),128))])]),_:1},8,["initial-data"])]))])}}}),yi={class:"flex flex-col h-full w-full overflow-hidden"},hi={class:"inline-flex items-center gap-1"},bi={class:"flex min-h-0 flex-1 flex-col overflow-hidden px-2 pb-3"},wi=ee({__name:"ManagementRedisBrowser",setup(t){const e=Pe(),{openRedisTab:n}=Ge(),{workspaceId:o}=De(),r=F(()=>e.selectedConnection),s=ba({connection:r}),{session:i,keys:m,databases:c,loadingKeys:d,selectedDatabaseIndex:f}=s,y=F(()=>{var x;return((x=i.value)==null?void 0:x.selectedKey)??null}),_=F({get:()=>{var x;return((x=i.value)==null?void 0:x.viewMode)??ze.Tree},set:x=>{i.value&&(i.value.viewMode=x)}}),p=[{value:ze.Tree,icon:"hugeicons:workflow-square-02",tooltip:"Tree view"},{value:ze.List,icon:"hugeicons:list-view",tooltip:"List view"}],v=Z(""),g=Oe("treePanelRef"),b=F(()=>{var x;return((x=g.value)==null?void 0:x.isExpandedAll)??!1}),A=async x=>{f.value=x,i.value&&(i.value.selectedKey=null),await s.refreshKeys()},T=x=>typeof x!="string"?!1:Object.values(ze).includes(x),w=x=>{T(x)&&(_.value=x)},S=()=>{var x,E;if(b.value){(x=g.value)==null||x.collapseAll();return}(E=g.value)==null||E.expandAll()},D=async()=>{await s.refreshKeys()},O=async x=>{var N;await s.openKey(x);const E=((N=r.value)==null?void 0:N.id)||"redis";await n({id:`redis-browser-${E}`,name:"Redis Browser",type:G.RedisBrowser,metadata:{type:G.RedisBrowser,databaseIndex:s.selectedDatabaseIndex.value,keyPattern:s.keyPattern.value,selectedKey:x}})};return(x,E)=>{const N=re,R=pa,k=_e,$=Se,L=we,U=fa,W=ma,B=pe;return I(),P("div",yi,[l(a(He),{title:"Redis Browser","show-connection":!0,"workspace-id":a(o),"show-search":!0,"search-placeholder":"Search keys...",search:a(v),"onUpdate:search":E[0]||(E[0]=X=>be(v)?v.value=X:null)},{details:u(()=>[l(os,{databases:a(c),"database-index":a(f),"onUpdate:databaseIndex":A},null,8,["databases","database-index"])]),actions:u(()=>[h("div",hi,[l(W,{"model-value":a(_),"onUpdate:modelValue":w},{default:u(()=>[l(U,{size:"xxs",class:"w-full"},{default:u(()=>[(I(),P(ue,null,ve(p,X=>l(L,{key:X.value},{default:u(()=>[l(k,{"as-child":""},{default:u(()=>[l(R,{size:"xxs",value:X.value,"aria-label":X.tooltip,class:"font-medium cursor-pointer text-primary/80"},{default:u(()=>[l(N,{name:X.icon,class:"size-3!"},null,8,["name"])]),_:2},1032,["value","aria-label"])]),_:2},1024),l($,null,{default:u(()=>[M(H(X.tooltip),1)]),_:2},1024)]),_:2},1024)),64))]),_:1})]),_:1},8,["model-value"])]),l(L,null,{default:u(()=>[l(k,{"as-child":""},{default:u(()=>[a(_)===a(ze).Tree?(I(),Y(B,{key:0,size:"iconSm",variant:"ghost",onClick:S},{default:u(()=>[l(N,{name:a(b)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1})):K("",!0)]),_:1}),l($,null,{default:u(()=>[M(H(a(b)?"Collapse All":"Expand All"),1)]),_:1})]),_:1}),l(L,null,{default:u(()=>[l(k,{"as-child":""},{default:u(()=>[l(B,{size:"iconSm",variant:"ghost",onClick:D},{default:u(()=>[l(N,{name:"hugeicons:redo",class:fe(["size-4! min-w-4",a(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),l($,null,{default:u(()=>E[1]||(E[1]=[M("Refresh Keys")])),_:1})]),_:1})]),_:1},8,["workspace-id","search"]),h("div",bi,[l(gi,{ref_key:"treePanelRef",ref:g,keys:a(m),"selected-key":a(y),loading:a(d),"search-query":a(v),"view-mode":a(_),onSelect:O},null,8,["keys","selected-key","loading","search-query","view-mode"])])])}}}),_i={class:"flex flex-col h-full w-full overflow-hidden"},Si={class:"flex-1 overflow-y-auto px-3 pb-4"},xi={class:"space-y-2 mt-2"},Ti=ee({__name:"ManagementRedisTools",setup(t){const e=Pe(),{openInstanceInsightsTab:n,openRedisTab:o}=Ge(),{workspaceId:r}=De(),s=F(()=>e.selectedConnection),i=ba({connection:s,mode:"meta"}),m=async()=>{var f;const d=((f=s.value)==null?void 0:f.id)||"redis";await o({id:`redis-pubsub-${d}`,name:"Redis Pub/Sub",type:G.RedisPubSub,metadata:{type:G.RedisPubSub,databaseIndex:i.selectedDatabaseIndex.value}})},c=async()=>{var d;await n({databaseName:((d=s.value)==null?void 0:d.name)||"Redis",databaseIndex:i.selectedDatabaseIndex.value})};return(d,f)=>{const y=re;return I(),P("div",_i,[l(a(He),{title:"Redis Tools","show-connection":!0,"workspace-id":a(r)},null,8,["workspace-id"]),h("div",Si,[h("div",xi,[h("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left hover:bg-muted/20 transition-colors cursor-pointer",onClick:c},[l(a(pe),{size:"iconMd",variant:"outline"},{default:u(()=>[l(y,{name:"hugeicons:activity-02"})]),_:1}),f[0]||(f[0]=h("div",{class:"flex-1"},[h("p",{class:"text-sm font-medium"},"Instance Insights"),h("p",{class:"text-xs text-muted-foreground"}," Monitor Redis overview, memory, clients, persistence, and replication. ")],-1))]),h("button",{class:"w-full flex items-center gap-3 rounded-lg border bg-background p-3 text-left hover:bg-muted/20 transition-colors cursor-pointer",onClick:m},[l(a(pe),{size:"iconMd",variant:"outline"},{default:u(()=>[l(y,{name:"hugeicons:radio"})]),_:1}),f[1]||(f[1]=h("div",{class:"flex-1"},[h("p",{class:"text-sm font-medium"},"Pub/Sub"),h("p",{class:"text-xs text-muted-foreground"}," Subscribe to Redis channels, watch live messages, and publish test events. ")],-1))])])])])}}}),Ci={key:0,class:"w-full h-full flex flex-col"},Ii={key:1,class:"h-full px-4 py-5 flex flex-col gap-3 text-sm text-muted-foreground"},Ei={class:"text-xs font-medium uppercase tracking-[0.18em] text-primary/70"},Di={class:"text-base font-semibold text-foreground"},Ai={class:"leading-6"},Ri=ee({__name:"PrimarySideBar",setup(t){const e=sa(),n=Pe(),o=ut(),r=F(()=>tn(n.selectedConnection??Kt)),s=F(()=>{var f;return(f=n.selectedConnection)==null?void 0:f.type}),i=F(()=>_a(r.value.visibleActivityItems,s.value)),m=F(()=>vo(n.selectedConnection??Kt));Ee(r,f=>{e.ensureActivityVisible(i.value,wa[f.defaultActivityItem])},{immediate:!0});const c=F(()=>m.value===go.REDIS?e.activityActive===le.Explorer?kn:e.activityActive===le.Schemas?wi:e.activityActive===le.DatabaseTools?Ti:e.activityActive===le.Agent?On:null:e.activityActive===le.Explorer?kn:e.activityActive===le.Schemas?Sl:e.activityActive===le.ErdDiagram?Vs:e.activityActive===le.UsersRoles?Zr:e.activityActive===le.DatabaseTools?Al:e.activityActive===le.Agent?On:null),d=F(()=>null);return(f,y)=>a(o).layoutSize[0]?(I(),P("div",Ci,[a(c)?(I(),Y(yo,{key:0},[(I(),Y(Tt(a(c))))],1024)):a(d)?(I(),P("div",Ii,[h("span",Ei,H(a(d).eyebrow),1),h("h2",Di,H(a(d).title),1),h("p",Ai,H(a(d).description),1)])):K("",!0)])):K("",!0)}}),$i={class:"w-full h-full flex flex-col",id:"preview-select-row"},ki=ee({__name:"SecondarySideBar",setup(t){return(e,n)=>(I(),P("div",$i))}}),Oi={class:"truncate"},Ni={class:"min-w-0 truncate"},Li={key:1,class:"flex max-w-28 flex-shrink-0 items-center gap-0.5 overflow-hidden"},Pi={class:"truncate"},Mi=ee({__name:"CurrentPositionPath",setup(t){const e=ho(),n=Pe(),o=qe(),r=Dt(),s=la(),{selectedWorkspace:i}=ge(e),{selectedConnection:m}=ge(n),{activeSchema:c}=ge(r),{activeTab:d}=ge(o);F(()=>!!c.value&&!!m.value),F(()=>!!c.value&&!!m.value&&!!d.value);const f=F(()=>m.value?s.getTagsByIds(m.value.tagIds??[]):[]);return(y,_)=>{const p=re;return I(),Y(a(bo),null,{default:u(()=>[l(a(wo),{class:"gap-0.5! min-w-0 flex-nowrap"},{default:u(()=>{var v;return[l(a(Rn),{class:"min-w-0 text-xs"},{default:u(()=>{var g,b;return[(g=a(i))!=null&&g.icon?(I(),Y(p,{key:0,name:a(i).icon,class:"size-3! flex-shrink-0"},null,8,["name"])):K("",!0),h("span",Oi,H((b=a(i))==null?void 0:b.name),1)]}),_:1}),(v=a(m))!=null&&v.id?(I(),Y(a(_o),{key:0})):K("",!0),l(a(Rn),{class:"min-w-0 text-xs"},{default:u(()=>{var g,b,A,T;return[(g=a(m))!=null&&g.id?(I(),Y(Tt((A=a(Qt)((b=a(m))==null?void 0:b.type))==null?void 0:A.icon),{key:0,class:"size-3! flex-shrink-0"})):K("",!0),h("span",Ni,H((T=a(m))==null?void 0:T.name),1),a(f).length?(I(),P("div",Li,[(I(!0),P(ue,null,ve(a(f),w=>{var S;return I(),P("span",{key:w.id,class:fe(["inline-flex h-3.5 max-w-14 flex-shrink-0 items-center gap-0.5 rounded-[3px] px-1 text-[9px] font-medium leading-none",((S=a(So)[w.color])==null?void 0:S.badgeClass)??"bg-muted text-muted-foreground"])},[l(a(xo),{color:w.color,size:"sm",class:"scale-75"},null,8,["color"]),h("span",Pi,H(w.name),1)],2)}),128))])):K("",!0)]}),_:1})]}),_:1})]),_:1})}}}),Fi={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between gap-2 bg-sidebar-accent"},Ui={class:"flex min-w-0 flex-1 items-center gap-3 h-full overflow-hidden"},Vi={class:"min-w-0 overflow-hidden"},zi={key:0,class:"min-w-0 flex-1 truncate text-center text-muted-foreground text-xs"},ji={class:"text-foreground inline"},Bi={class:"flex flex-shrink-0 items-center gap-3"},qi=["href"],Gi={class:"flex items-center gap-0.5 justify-center hover:bg-muted rounded cursor-pointer"},Hi=["href"],Wi={class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer"},Qi={class:"text-xxs text-foreground"},Ki=ee({__name:"StatusBar",setup(t){const e=qe(),{openChangelog:n}=To(),{openSettings:o}=Co(),{openInstanceInsightsTab:r}=Ge(),s=ra(),i=s.public.ggFormLink,m=s.public.githubLink,{activeTab:c}=ge(e),{workspaceId:d,connectionId:f}=De(),y=F(()=>!!d.value&&!!f.value),_=async()=>{await Io("/")},p=async()=>{await r()},v=F(()=>{var b;const g=(b=c.value)==null?void 0:b.type;if(!g)return"";switch(g){case G.AllERD:case G.DetailERD:return"erd";case G.TableOverview:case G.TableDetail:return"table";case G.FunctionsOverview:case G.FunctionsDetail:return"func";case G.ViewOverview:case G.ViewDetail:return"view";case G.CodeQuery:return"raw query";case G.DatabaseTools:return"db tools";case G.InstanceInsights:return"insights";default:return""}});return(g,b)=>{var D,O,x;const A=re,T=_e,w=Se,S=we;return I(),P("div",Fi,[h("div",Ui,[l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("div",{class:"flex flex-shrink-0 items-center h-full gap-0.5 hover:bg-muted px-1 rounded cursor-pointer",onClick:_},[l(A,{name:"hugeicons:home-06",class:"size-4!"}),b[2]||(b[2]=h("p",{class:"text-xs inline"},"Home",-1))])]),_:1}),l(w,null,{default:u(()=>b[3]||(b[3]=[M(" Back to Home ")])),_:1})]),_:1}),h("div",Vi,[l(Mi)])]),a(c)?(I(),P("div",zi,[M(H(a(v))+": ",1),h("p",ji,H((D=a(c))!=null&&D.schemaId?`${(O=a(c))==null?void 0:O.schemaId}.`:"")+H((x=a(c))==null?void 0:x.name),1)])):K("",!0),h("div",Bi,[l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("a",{href:a(i),target:"_blank"},[h("div",Gi,[l(A,{name:"hugeicons:chat-feedback-01",class:"size-4!"}),b[4]||(b[4]=h("span",{class:"text-xxs text-foreground"}," Feedback ",-1))])],8,qi)]),_:1}),l(w,null,{default:u(()=>b[5]||(b[5]=[M(" Give me Feedback ")])),_:1})]),_:1}),l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("a",{href:a(m),target:"_blank"},[h("div",Wi,[l(A,{name:"hugeicons:github",class:"size-4!"})])],8,Hi)]),_:1}),l(w,null,{default:u(()=>b[6]||(b[6]=[M(" Star us on GitHub ⭐️ ")])),_:1})]),_:1}),l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("div",{class:"flex items-center gap-0.5 rounded hover:bg-muted cursor-pointer",onClick:b[0]||(b[0]=(...E)=>a(n)&&a(n)(...E))},[l(A,{name:"hugeicons:git-merge",class:"size-4!"}),h("span",Qi,H(a(s).public.version),1)])]),_:1}),l(w,null,{default:u(()=>[M(" Version: "+H(a(s).public.version),1)]),_:1})]),_:1}),l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("div",{class:fe(["flex items-center justify-center hover:bg-muted rounded cursor-pointer",!a(y)&&"opacity-50 cursor-not-allowed"]),onClick:p},[l(A,{name:"hugeicons:activity-02",class:"size-4!"})],2)]),_:1}),l(w,null,{default:u(()=>b[7]||(b[7]=[M(" Instance Insights ")])),_:1})]),_:1}),l(S,null,{default:u(()=>[l(T,{"as-child":""},{default:u(()=>[h("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:b[1]||(b[1]=E=>a(o)())},[l(A,{name:"hugeicons:settings-01",class:"size-4!"})])]),_:1}),l(w,null,{default:u(()=>b[8]||(b[8]=[M(" Settings (⌘,) ")])),_:1})]),_:1})])])}}}),Yi="4.75rem";function Xi({primarySideBarWidth:t,sidebarWidthPercentage:e,isDesktopMacWindow:n}){return e?n?`max(2.25rem, calc(${t}px - ${Yi}))`:`${t}px`:"2.25rem"}var Ft={},ot={},Nn;function Ta(){if(Nn)return ot;Nn=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.bind=void 0;function t(e,n){var o=n.type,r=n.listener,s=n.options;return e.addEventListener(o,r,s),function(){e.removeEventListener(o,r,s)}}return ot.bind=t,ot}var We={},Ln;function Zi(){if(Ln)return We;Ln=1;var t=We&&We.__assign||function(){return t=Object.assign||function(s){for(var i,m=1,c=arguments.length;m<c;m++){i=arguments[m];for(var d in i)Object.prototype.hasOwnProperty.call(i,d)&&(s[d]=i[d])}return s},t.apply(this,arguments)};Object.defineProperty(We,"__esModule",{value:!0}),We.bindAll=void 0;var e=Ta();function n(s){if(!(typeof s>"u"))return typeof s=="boolean"?{capture:s}:s}function o(s,i){if(i==null)return s;var m=t(t({},s),{options:t(t({},n(i)),n(s.options))});return m}function r(s,i,m){var c=i.map(function(d){var f=o(d,m);return(0,e.bind)(s,f)});return function(){c.forEach(function(f){return f()})}}return We.bindAll=r,We}var Pn;function Ji(){return Pn||(Pn=1,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.bindAll=t.bind=void 0;var e=Ta();Object.defineProperty(t,"bind",{enumerable:!0,get:function(){return e.bind}});var n=Zi();Object.defineProperty(t,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}(Ft)),Ft}var Je=Ji(),Ca="data-pdnd-honey-pot";function Ia(t){return t instanceof Element&&t.hasAttribute(Ca)}function bn(t){var e=document.elementsFromPoint(t.x,t.y),n=va(e,2),o=n[0],r=n[1];return o?Ia(o)?r??null:o:null}function rt(t){"@babel/helpers - typeof";return rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},rt(t)}function ec(t,e){if(rt(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var o=n.call(t,e);if(rt(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function tc(t){var e=ec(t,"string");return rt(e)=="symbol"?e:e+""}function ke(t,e,n){return(e=tc(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var Ea=2147483647;function Mn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Fn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Mn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Mn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var it=2,Un=it/2;function nc(t){return{x:Math.floor(t.x),y:Math.floor(t.y)}}function ac(t){return{x:t.x-Un,y:t.y-Un}}function oc(t){return{x:Math.max(t.x,0),y:Math.max(t.y,0)}}function sc(t){return{x:Math.min(t.x,window.innerWidth-it),y:Math.min(t.y,window.innerHeight-it)}}function Vn(t){var e=t.client,n=sc(oc(ac(nc(e))));return DOMRect.fromRect({x:n.x,y:n.y,width:it,height:it})}function zn(t){var e=t.clientRect;return{left:"".concat(e.left,"px"),top:"".concat(e.top,"px"),width:"".concat(e.width,"px"),height:"".concat(e.height,"px")}}function lc(t){var e=t.client,n=t.clientRect;return e.x>=n.x&&e.x<=n.x+n.width&&e.y>=n.y&&e.y<=n.y+n.height}function rc(t){var e=t.initial,n=document.createElement("div");n.setAttribute(Ca,"true");var o=Vn({client:e});Object.assign(n.style,Fn(Fn({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},zn({clientRect:o})),{},{pointerEvents:"auto",zIndex:Ea})),document.body.appendChild(n);var r=Je.bind(window,{type:"pointermove",listener:function(i){var m={x:i.clientX,y:i.clientY};o=Vn({client:m}),Object.assign(n.style,zn({clientRect:o}))},options:{capture:!0}});return function(i){var m=i.current;if(r(),lc({client:m,clientRect:o})){n.remove();return}function c(){d(),n.remove()}var d=Je.bindAll(window,[{type:"pointerdown",listener:c},{type:"pointermove",listener:c},{type:"focusin",listener:c},{type:"focusout",listener:c},{type:"dragstart",listener:c},{type:"dragenter",listener:c},{type:"dragover",listener:c}],{capture:!0})}}function ic(){var t=null;function e(){return t=null,Je.bind(window,{type:"pointermove",listener:function(r){t={x:r.clientX,y:r.clientY}},options:{capture:!0}})}function n(){var o=null;return function(s){var i=s.eventName,m=s.payload;if(i==="onDragStart"){var c=m.location.initial.input,d=t??{x:c.clientX,y:c.clientY};o=rc({initial:d})}if(i==="onDrop"){var f,y=m.location.current.input;(f=o)===null||f===void 0||f({current:{x:y.clientX,y:y.clientY}}),o=null,t=null}}}return{bindEvents:e,getOnPostDispatch:n}}function cc(t){if(Array.isArray(t))return Eo(t)}function uc(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function dc(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
49
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Da(t){return cc(t)||uc(t)||Do(t)||dc()}function wn(t){var e=null;return function(){if(!e){for(var o=arguments.length,r=new Array(o),s=0;s<o;s++)r[s]=arguments[s];var i=t.apply(this,r);e={result:i}}return e.result}}var mc=wn(function(){return navigator.userAgent.includes("Firefox")}),$t=wn(function(){var e=navigator,n=e.userAgent;return n.includes("AppleWebKit")&&!n.includes("Chrome")}),Yt={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function fc(t){var e=t.dragLeave;return $t()?e.hasOwnProperty(Yt.isLeavingWindow):!1}(function(){if(typeof window>"u"||!$t())return;function e(){return{enterCount:0,isOverWindow:!1}}var n=e();function o(){n=e()}Je.bindAll(window,[{type:"dragstart",listener:function(){n.enterCount=0,n.isOverWindow=!0}},{type:"drop",listener:o},{type:"dragend",listener:o},{type:"dragenter",listener:function(s){!n.isOverWindow&&n.enterCount===0&&(s[Yt.isEnteringWindow]=!0),n.isOverWindow=!0,n.enterCount++}},{type:"dragleave",listener:function(s){n.enterCount--,n.isOverWindow&&n.enterCount===0&&(s[Yt.isLeavingWindow]=!0,n.isOverWindow=!1)}}],{capture:!0})})();function pc(t){return"nodeName"in t}function vc(t){return pc(t)&&t.ownerDocument!==document}function gc(t){var e=t.dragLeave,n=e.type,o=e.relatedTarget;return n!=="dragleave"?!1:$t()?fc({dragLeave:e}):o==null?!0:mc()?vc(o):o instanceof HTMLIFrameElement}function yc(t){var e=t.onDragEnd;return[{type:"pointermove",listener:function(){var n=0;return function(){if(n<20){n++;return}e()}}()},{type:"pointerdown",listener:e}]}function lt(t){return{altKey:t.altKey,button:t.button,buttons:t.buttons,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey,clientX:t.clientX,clientY:t.clientY,pageX:t.pageX,pageY:t.pageY}}var hc=function(e){var n=[],o=null,r=function(){for(var i=arguments.length,m=new Array(i),c=0;c<i;c++)m[c]=arguments[c];n=m,!o&&(o=requestAnimationFrame(function(){o=null,e.apply(void 0,n)}))};return r.cancel=function(){o&&(cancelAnimationFrame(o),o=null)},r},Ut=hc(function(t){return t()}),ht=function(){var t=null;function e(o){var r=requestAnimationFrame(function(){t=null,o()});t={frameId:r,fn:o}}function n(){t&&(cancelAnimationFrame(t.frameId),t.fn(),t=null)}return{schedule:e,flush:n}}();function bc(t){var e=t.source,n=t.initial,o=t.dispatchEvent,r={dropTargets:[]};function s(m){o(m),r={dropTargets:m.payload.location.current.dropTargets}}var i={start:function(c){var d=c.nativeSetDragImage,f={current:n,previous:r,initial:n};s({eventName:"onGenerateDragPreview",payload:{source:e,location:f,nativeSetDragImage:d}}),ht.schedule(function(){s({eventName:"onDragStart",payload:{source:e,location:f}})})},dragUpdate:function(c){var d=c.current;ht.flush(),Ut.cancel(),s({eventName:"onDropTargetChange",payload:{source:e,location:{initial:n,previous:r,current:d}}})},drag:function(c){var d=c.current;Ut(function(){ht.flush();var f={initial:n,previous:r,current:d};s({eventName:"onDrag",payload:{source:e,location:f}})})},drop:function(c){var d=c.current,f=c.updatedSourcePayload;ht.flush(),Ut.cancel(),s({eventName:"onDrop",payload:{source:f??e,location:{current:d,previous:r,initial:n}}})}};return i}var Xt={isActive:!1};function Aa(){return!Xt.isActive}function wc(t){return t.dataTransfer?t.dataTransfer.setDragImage.bind(t.dataTransfer):null}function _c(t){var e=t.current,n=t.next;if(e.length!==n.length)return!0;for(var o=0;o<e.length;o++)if(e[o].element!==n[o].element)return!0;return!1}function Sc(t){var e=t.event,n=t.dragType,o=t.getDropTargetsOver,r=t.dispatchEvent;if(!Aa())return;var s=xc({event:e,dragType:n,getDropTargetsOver:o});Xt.isActive=!0;var i={current:s};Vt({event:e,current:s.dropTargets});var m=bc({source:n.payload,dispatchEvent:r,initial:s});function c(p){var v=_c({current:i.current.dropTargets,next:p.dropTargets});i.current=p,v&&m.dragUpdate({current:i.current})}function d(p){var v=lt(p),g=Ia(p.target)?bn({x:v.clientX,y:v.clientY}):p.target,b=o({target:g,input:v,source:n.payload,current:i.current.dropTargets});b.length&&(p.preventDefault(),Vt({event:p,current:b})),c({dropTargets:b,input:v})}function f(){i.current.dropTargets.length&&c({dropTargets:[],input:i.current.input}),m.drop({current:i.current,updatedSourcePayload:null}),y()}function y(){Xt.isActive=!1,_()}var _=Je.bindAll(window,[{type:"dragover",listener:function(v){d(v),m.drag({current:i.current})}},{type:"dragenter",listener:d},{type:"dragleave",listener:function(v){gc({dragLeave:v})&&(c({input:i.current.input,dropTargets:[]}),n.startedFrom==="external"&&f())}},{type:"drop",listener:function(v){if(i.current={dropTargets:i.current.dropTargets,input:lt(v)},!i.current.dropTargets.length){f();return}v.preventDefault(),Vt({event:v,current:i.current.dropTargets}),m.drop({current:i.current,updatedSourcePayload:n.type==="external"?n.getDropPayload(v):null}),y()}},{type:"dragend",listener:function(v){i.current={dropTargets:i.current.dropTargets,input:lt(v)},f()}}].concat(Da(yc({onDragEnd:f}))),{capture:!0});m.start({nativeSetDragImage:wc(e)})}function Vt(t){var e,n=t.event,o=t.current,r=(e=o[0])===null||e===void 0?void 0:e.dropEffect;r!=null&&n.dataTransfer&&(n.dataTransfer.dropEffect=r)}function xc(t){var e=t.event,n=t.dragType,o=t.getDropTargetsOver,r=lt(e);if(n.startedFrom==="external")return{input:r,dropTargets:[]};var s=o({input:r,source:n.payload,target:e.target,current:[]});return{input:r,dropTargets:s}}var jn={canStart:Aa,start:Sc},Zt=new Map;function Tc(t){var e=t.typeKey,n=t.mount,o=Zt.get(e);if(o)return o.usageCount++,o;var r={typeKey:e,unmount:n(),usageCount:1};return Zt.set(e,r),r}function Cc(t){var e=Tc(t);return function(){e.usageCount--,!(e.usageCount>0)&&(e.unmount(),Zt.delete(t.typeKey))}}function tt(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return function(){e.forEach(function(r){return r()})}}function Ra(t,e){var n=e.attribute,o=e.value;return t.setAttribute(n,o),function(){return t.removeAttribute(n)}}function Bn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Ve(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Bn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Bn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function zt(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Ic(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
50
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function Ic(t,e){if(t){if(typeof t=="string")return qn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?qn(t,e):void 0}}function qn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function jt(t){return t.slice(0).reverse()}function Ec(t){var e=t.typeKey,n=t.defaultDropEffect,o=new WeakMap,r="data-drop-target-for-".concat(e),s="[".concat(r,"]");function i(p){return o.set(p.element,p),function(){return o.delete(p.element)}}function m(p){return tt(Ra(p.element,{attribute:r,value:"true"}),i(p))}function c(p){var v,g,b,A,T=p.source,w=p.target,S=p.input,D=p.result,O=D===void 0?[]:D;if(w==null)return O;if(!(w instanceof Element))return w instanceof Node?c({source:T,target:w.parentElement,input:S,result:O}):O;var x=w.closest(s);if(x==null)return O;var E=o.get(x);if(E==null)return O;var N={input:S,source:T,element:E.element};if(E.canDrop&&!E.canDrop(N))return c({source:T,target:E.element.parentElement,input:S,result:O});var R=(v=(g=E.getData)===null||g===void 0?void 0:g.call(E,N))!==null&&v!==void 0?v:{},k=(b=(A=E.getDropEffect)===null||A===void 0?void 0:A.call(E,N))!==null&&b!==void 0?b:n,$={data:R,element:E.element,dropEffect:k,isActiveDueToStickiness:!1};return c({source:T,target:E.element.parentElement,input:S,result:[].concat(Da(O),[$])})}function d(p){var v=p.eventName,g=p.payload,b=zt(g.location.current.dropTargets),A;try{for(b.s();!(A=b.n()).done;){var T,w=A.value,S=o.get(w.element),D=Ve(Ve({},g),{},{self:w});S==null||(T=S[v])===null||T===void 0||T.call(S,D)}}catch(O){b.e(O)}finally{b.f()}}var f={onGenerateDragPreview:d,onDrag:d,onDragStart:d,onDrop:d,onDropTargetChange:function(v){var g=v.payload,b=new Set(g.location.current.dropTargets.map(function(X){return X.element})),A=new Set,T=zt(g.location.previous.dropTargets),w;try{for(T.s();!(w=T.n()).done;){var S,D=w.value;A.add(D.element);var O=o.get(D.element),x=b.has(D.element),E=Ve(Ve({},g),{},{self:D});if(O==null||(S=O.onDropTargetChange)===null||S===void 0||S.call(O,E),!x){var N;O==null||(N=O.onDragLeave)===null||N===void 0||N.call(O,E)}}}catch(X){T.e(X)}finally{T.f()}var R=zt(g.location.current.dropTargets),k;try{for(R.s();!(k=R.n()).done;){var $,L,U=k.value;if(!A.has(U.element)){var W=Ve(Ve({},g),{},{self:U}),B=o.get(U.element);B==null||($=B.onDropTargetChange)===null||$===void 0||$.call(B,W),B==null||(L=B.onDragEnter)===null||L===void 0||L.call(B,W)}}}catch(X){R.e(X)}finally{R.f()}}};function y(p){f[p.eventName](p)}function _(p){var v=p.source,g=p.target,b=p.input,A=p.current,T=c({source:v,target:g,input:b});if(T.length>=A.length)return T;for(var w=jt(A),S=jt(T),D=[],O=0;O<w.length;O++){var x,E=w[O],N=S[O];if(N!=null){D.push(N);continue}var R=D[O-1],k=w[O-1];if((R==null?void 0:R.element)!==(k==null?void 0:k.element))break;var $=o.get(E.element);if(!$)break;var L={input:b,source:v,element:$.element};if($.canDrop&&!$.canDrop(L)||!((x=$.getIsSticky)!==null&&x!==void 0&&x.call($,L)))break;D.push(Ve(Ve({},E),{},{isActiveDueToStickiness:!0}))}return jt(D)}return{dropTargetForConsumers:m,getIsOver:_,dispatchEvent:y}}function Dc(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=Ac(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
51
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function Ac(t,e){if(t){if(typeof t=="string")return Gn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Gn(t,e):void 0}}function Gn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function Hn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Rc(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Hn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Hn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function $c(){var t=new Set,e=null;function n(s){e&&(!s.canMonitor||s.canMonitor(e.canMonitorArgs))&&e.active.add(s)}function o(s){var i=Rc({},s);return t.add(i),n(i),function(){t.delete(i),e&&e.active.delete(i)}}function r(s){var i=s.eventName,m=s.payload;if(i==="onGenerateDragPreview"){e={canMonitorArgs:{initial:m.location.initial,source:m.source},active:new Set};var c=Dc(t),d;try{for(c.s();!(d=c.n()).done;){var f=d.value;n(f)}}catch(b){c.e(b)}finally{c.f()}}if(e){for(var y=Array.from(e.active),_=0,p=y;_<p.length;_++){var v=p[_];if(e.active.has(v)){var g;(g=v[i])===null||g===void 0||g.call(v,m)}}i==="onDrop"&&(e.active.clear(),e=null)}}return{dispatchEvent:r,monitorForConsumers:o}}function kc(t){var e=t.typeKey,n=t.mount,o=t.dispatchEventToSource,r=t.onPostDispatch,s=t.defaultDropEffect,i=$c(),m=Ec({typeKey:e,defaultDropEffect:s});function c(y){o==null||o(y),m.dispatchEvent(y),i.dispatchEvent(y),r==null||r(y)}function d(y){var _=y.event,p=y.dragType;jn.start({event:_,dragType:p,getDropTargetsOver:m.getIsOver,dispatchEvent:c})}function f(){function y(){var _={canStart:jn.canStart,start:d};return n(_)}return Cc({typeKey:e,mount:y})}return{registerUsage:f,dropTarget:m.dropTargetForConsumers,monitor:i.monitorForConsumers}}var Oc=wn(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),Nc="pdnd:android-fallback",Wn="text/plain",Lc="text/uri-list",Pc="application/vnd.pdnd",It=new WeakMap;function Mc(t){return It.set(t.element,t),function(){It.delete(t.element)}}var Qn=ic(),_n=kc({typeKey:"element",defaultDropEffect:"move",mount:function(e){return tt(Qn.bindEvents(),Je.bind(document,{type:"dragstart",listener:function(o){var r,s,i,m,c,d;if(e.canStart(o)&&!o.defaultPrevented&&o.dataTransfer){var f=o.target;if(!(f instanceof HTMLElement))return null;var y=It.get(f);if(!y)return null;var _=lt(o),p={element:y.element,dragHandle:(r=y.dragHandle)!==null&&r!==void 0?r:null,input:_};if(y.canDrag&&!y.canDrag(p))return o.preventDefault(),null;if(y.dragHandle){var v=bn({x:_.clientX,y:_.clientY});if(!y.dragHandle.contains(v))return o.preventDefault(),null}var g=(s=(i=y.getInitialDataForExternal)===null||i===void 0?void 0:i.call(y,p))!==null&&s!==void 0?s:null;if(g)for(var b=0,A=Object.entries(g);b<A.length;b++){var T=va(A[b],2),w=T[0],S=T[1];o.dataTransfer.setData(w,S??"")}Oc()&&!o.dataTransfer.types.includes(Wn)&&!o.dataTransfer.types.includes(Lc)&&o.dataTransfer.setData(Wn,Nc),o.dataTransfer.setData(Pc,"");var D={element:y.element,dragHandle:(m=y.dragHandle)!==null&&m!==void 0?m:null,data:(c=(d=y.getInitialData)===null||d===void 0?void 0:d.call(y,p))!==null&&c!==void 0?c:{}},O={type:"element",payload:D,startedFrom:"internal"};e.start({event:o,dragType:O})}}}))},dispatchEventToSource:function(e){var n,o,r=e.eventName,s=e.payload;(n=It.get(s.source.element))===null||n===void 0||(o=n[r])===null||o===void 0||o.call(n,s)},onPostDispatch:Qn.getOnPostDispatch()}),Fc=_n.dropTarget,Sn=_n.monitor;function Uc(t){return tt(_n.registerUsage(),Mc(t),Ra(t.element,{attribute:"draggable",value:"true"}))}var ct=new Map,xt=new Set;function $a(t){Vc(t);var e=ct.get(t);if(e)return e;var n={timeOfEngagementStart:Date.now()};return ct.set(t,n),n}function Vc(t){xt.add(t)}function zc(t){xt.clear(),t(),ct.forEach(function(e,n){xt.has(n)||ct.delete(n)}),xt.clear()}function jc(){ct.clear()}var Kn=new Map;function Bc(t){var e=Kn.get(t);if(e)return e;var n=qc(t);return Kn.set(t,n),n}function qc(t){var e={type:"idle"},n=[];function o(c){if(e.type==="running"){var d=c-e.timeLastFrameFinished,f=e,y=f.latestArgs,_=bn({x:y.location.current.input.clientX,y:y.location.current.input.clientY});zc(function(){n.forEach(function(p){return p({underUsersPointer:_,latestArgs:y,timeSinceLastFrame:d})})}),e.timeLastFrameFinished=c,e.frameId=requestAnimationFrame(o)}}function r(){e.type!=="idle"&&(cancelAnimationFrame(e.frameId),jc(),e={type:"idle"})}function s(c){e.type==="idle"&&(e={type:"initializing",latestArgs:c,frameId:requestAnimationFrame(function(d){e.type==="initializing"&&(e={type:"running",timeLastFrameFinished:d,latestArgs:e.latestArgs,frameId:requestAnimationFrame(o)})})})}function i(c){if(e.type==="idle"){s(c);return}e.latestArgs=c}t({onDragStart:s,onDropTargetChange:i,onDrag:i,onDrop:r});var m={onFrame:function(d){n.push(d)}};return m}var Jt="data-auto-scrollable",Gc="[".concat(Jt,'="true"]');function Hc(t){return t.setAttribute(Jt,"true"),function(){return t.removeAttribute(Jt)}}function Yn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function Xn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Yn(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Yn(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var Wc={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},Qc={standard:15*60,fast:25*60};function ka(t){var e;return Xn(Xn({},Wc),{},{maxPixelScrollPerSecond:Qc[(e=t==null?void 0:t.maxScrollSpeed)!==null&&e!==void 0?e:"standard"]})}var Kc={top:function(e){return e.scrollTop>0},right:function(e){return Math.ceil(e.scrollLeft)+e.clientWidth<e.scrollWidth},bottom:function(e){return Math.ceil(e.scrollTop)+e.clientHeight<e.scrollHeight},left:function(e){return e.scrollLeft>0}},Yc=["top","right","bottom","left"],Xc={top:"vertical",right:"horizontal",bottom:"vertical",left:"horizontal"},Zn={start:"top",end:"bottom",point:"y",size:"height"},Jn={start:"left",end:"right",point:"x",size:"width"},Oa={vertical:{mainAxis:Zn,crossAxis:Jn},horizontal:{mainAxis:Jn,crossAxis:Zn}},xn={top:"start",right:"end",bottom:"end",left:"start"};function bt(t){var e=t.edge,n=t.axis;return function(r){var s,i=r.clientRect,m=r.config,c=Oa[n],d=c.mainAxis,f=c.crossAxis,y=xn[e],_=Math.min(m.startHitboxAtPercentageRemainingOfElement[e]*i[d.size],m.maxMainAxisHitboxSize);return DOMRect.fromRect((s={},ke(s,d.point,y==="start"?i[d.point]:i[d.point]+i[d.size]-_),ke(s,f.point,i[f.point]),ke(s,d.size,_),ke(s,f.size,i[f.size]),s))}}var Zc={top:bt({axis:"vertical",edge:"top"}),right:bt({axis:"horizontal",edge:"right"}),bottom:bt({axis:"vertical",edge:"bottom"}),left:bt({axis:"horizontal",edge:"left"})};function en(t){var e=t.startOfRange,n=t.endOfRange,o=t.value,r=e<n;if(!r||o<e)return 0;if(o>n)return 1;var s=n-e;return(o-e)/s}function Jc(t){var e=t.timeSinceLastFrame,n=t.config,o=n.maxPixelScrollPerSecond/1e3,r=Math.ceil(o*e),s=n.maxPixelScrollPerSecond/60;return Math.min(r,s)}function eu(t){var e=t.client,n=t.axis,o=t.edge,r=t.hitbox,s=t.config,i=Oa[n].mainAxis,m=xn[o],c=r[i.size]*s.maxScrollAtPercentageRemainingOfHitbox[o];if(m==="end")return en({startOfRange:r[i.start],endOfRange:r[i.end]-c,value:e[i.point]});var d=en({startOfRange:r[i.start]+c,endOfRange:r[i.end],value:e[i.point]});return 1-d}function wt(t){var e=t.client,n=t.timeSinceLastFrame,o=t.engagement,r=t.axis,s=t.hitbox,i=t.edge,m=t.isDistanceDampeningEnabled,c=t.config,d=Jc({timeSinceLastFrame:n,config:c}),f=m?eu({client:e,edge:i,hitbox:s,axis:r,config:c}):1,y=en({startOfRange:o.timeOfEngagementStart,endOfRange:o.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),_=f*y,p=Math.max(d*_,1),v=xn[i];return v==="end"?p:-1*p}function tu(t,e){return e==="all"||t===e}function nu(t){var e=t.client,n=t.clientRect;return e.x>=n.x&&e.x<=n.x+n.width&&e.y>=n.y&&e.y<=n.y+n.height}function au(t){return t.getBoundingClientRect()}function Na(t){var e=t.element,n=t.input,o=t.timeSinceLastFrame,r=t.engagement,s=t.config,i=t.allowedAxis,m=t.getRect,c=m===void 0?au:m,d={x:n.clientX,y:n.clientY},f=c(e),y=Yc.reduce(function(v,g){var b=Zc[g]({clientRect:f,config:s}),A=Xc[g];return!tu(A,i)||!nu({client:d,clientRect:b})||!Kc[g](e)||v.set(g,{edge:g,hitbox:b}),v},new Map),_=function(){var v="horizontal",g=y.get("left");if(g)return wt({client:d,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s});var b=y.get("right");return b?wt({client:d,edge:b.edge,hitbox:b.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s}):0}(),p=function(){var v="vertical",g=y.get("bottom");if(g)return wt({client:d,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s});var b=y.get("top");return b?wt({client:d,edge:b.edge,hitbox:b.hitbox,axis:v,timeSinceLastFrame:o,engagement:r,isDistanceDampeningEnabled:!0,config:s}):0}();return{left:_,top:p}}function ou(t,e){var n=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=su(t))||e){n&&(t=n);var o=0,r=function(){};return{s:r,n:function(){return o>=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(d){throw d},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
52
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,m=!1;return{s:function(){n=n.call(t)},n:function(){var d=n.next();return i=d.done,d},e:function(d){m=!0,s=d},f:function(){try{i||n.return==null||n.return()}finally{if(m)throw s}}}}function su(t,e){if(t){if(typeof t=="string")return ea(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?ea(t,e):void 0}}function ea(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,o=Array(e);n<e;n++)o[n]=t[n];return o}function La(t){return!!(t.top||t.left)}function Pa(t){var e,n,o,r=t.target,s=t.input,i=t.source,m=t.findEntry,c=t.timeSinceLastFrame,d=t.available,f=d===void 0?{top:!0,left:!0}:d;if(!La(f)||!r)return f;var y=r.closest(Gc);if(!y)return f;var _=m(y);if(!_)return f;function p(){var S;return Pa({target:(S=y==null?void 0:y.parentElement)!==null&&S!==void 0?S:null,findEntry:m,source:i,timeSinceLastFrame:c,input:s,available:f})}var v={input:s,source:i,element:y};if(_.canScroll&&!_.canScroll(v))return p();var g=$a(y),b=ka((e=_.getConfiguration)===null||e===void 0?void 0:e.call(_,v)),A=(n=(o=_.getAllowedAxis)===null||o===void 0?void 0:o.call(_,v))!==null&&n!==void 0?n:"all",T=Na({element:y,engagement:g,input:s,timeSinceLastFrame:c,allowedAxis:A,config:b}),w={top:0,left:0};return f.top&&T.top!==0&&(w.top=T.top,f.top=!1),f.left&&T.left!==0&&(w.left=T.left,f.left=!1),(w.top!==0||w.left!==0)&&y.scrollBy(w),p()}function lu(t){var e=t.input,n=t.timeSinceLastFrame,o=t.available,r=t.source,s=t.entries,i=document.documentElement,m={input:e,source:r,element:i},c=ou(s),d;try{for(c.s();!(d=c.n()).done;){var f,y,_,p=d.value;if(!(p.canScroll&&!p.canScroll(m))){var v=$a(i),g=ka((f=p.getConfiguration)===null||f===void 0?void 0:f.call(p,m)),b=(y=(_=p.getAllowedAxis)===null||_===void 0?void 0:_.call(p,m))!==null&&y!==void 0?y:"all",A=Na({element:i,engagement:v,input:e,config:g,allowedAxis:b,getRect:function(S){return DOMRect.fromRect({y:0,x:0,width:S.clientWidth,height:S.clientHeight})},timeSinceLastFrame:n}),T={top:o.top?A.top:0,left:o.left?A.left:0};(T.top!==0||T.left!==0)&&i.scrollBy(T);break}}}catch(w){c.e(w)}finally{c.f()}}function ru(t){var e=t.input,n=t.findEntry,o=t.timeSinceLastFrame,r=t.source,s=t.getWindowScrollEntries,i=t.underUsersPointer,m=Pa({target:i,timeSinceLastFrame:o,input:e,source:r,findEntry:n});La(m)&&lu({input:e,source:r,entries:s(),timeSinceLastFrame:o,available:m})}function ta(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function iu(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?ta(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ta(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}function cu(t){var e=t.monitor,n=new Map,o=new Set;function r(d){return n.set(d.element,d),tt(Hc(d.element),function(){return n.delete(d.element)})}function s(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},f=iu({},d);return o.add(f),function(){return o.delete(f)}}function i(d){var f;return(f=n.get(d))!==null&&f!==void 0?f:null}function m(){return Array.from(o)}function c(d){var f=d.latestArgs,y=d.underUsersPointer,_=d.timeSinceLastFrame;ru({input:f.location.current.input,source:f.source,findEntry:i,underUsersPointer:y,timeSinceLastFrame:_,getWindowScrollEntries:m})}return Bc(e).onFrame(c),{autoScroll:r,autoScrollWindow:s}}var uu=cu({monitor:Sn}),du=uu.autoScroll;function na(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,o)}return n}function aa(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?na(Object(n),!0).forEach(function(o){ke(t,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):na(Object(n)).forEach(function(o){Object.defineProperty(t,o,Object.getOwnPropertyDescriptor(n,o))})}return t}var mu={top:function(e,n){return Math.abs(n.y-e.top)},right:function(e,n){return Math.abs(e.right-n.x)},bottom:function(e,n){return Math.abs(e.bottom-n.y)},left:function(e,n){return Math.abs(n.x-e.left)}},Ma=Symbol("closestEdge");function fu(t,e){var n,o,r=e.element,s=e.input,i=e.allowedEdges,m={x:s.clientX,y:s.clientY},c=r.getBoundingClientRect(),d=i.map(function(y){return{edge:y,value:mu[y](c,m)}}),f=(n=(o=d.sort(function(y,_){return y.value-_.value})[0])===null||o===void 0?void 0:o.edge)!==null&&n!==void 0?n:null;return aa(aa({},t),{},ke({},Ma,f))}function Fa(t){var e;return(e=t[Ma])!==null&&e!==void 0?e:null}function pu(t){var e=t.startIndex,n=t.closestEdgeOfTarget,o=t.indexOfTarget;if(e===-1||o===-1||e===o)return e;if(n==null)return o;var r=n==="right",s=e<o;return s?r?o:o-1:r?o+1:o}function vu(t){var e=t.element,n=t.input;return function(o){var r=o.container,s=e.getBoundingClientRect(),i=r.getBoundingClientRect(),m=Math.min(n.clientX-s.x,i.width),c=Math.min(n.clientY-s.y,i.height);return{x:m,y:c}}}function gu(){return{x:0,y:0}}function yu(t){var e=t.render,n=t.nativeSetDragImage,o=t.getOffset,r=o===void 0?gu:o,s=document.createElement("div");Object.assign(s.style,{position:"fixed",top:0,left:0,zIndex:Ea,pointerEvents:"none"}),document.body.append(s);var i=e({container:s});queueMicrotask(function(){var d=r({container:s});if($t()){var f=s.getBoundingClientRect();if(f.width===0)return;s.style.left="-".concat(f.width-1e-4,"px")}n==null||n(s,d.x,d.y)});function m(){c(),i==null||i(),document.body.removeChild(s)}var c=Sn({onDragStart:m,onDrop:m})}const hu={class:"bg-background w-44 max-w-44 text-foreground rounded-md flex items-center gap-2 text-sm font-medium h-7 px-3 py-1.5"},bu=ee({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(t){return(e,n)=>(I(),P("div",hu,H(e.name),1))}}),wu={class:"truncate"},_u=ee({__name:"TabViewItem",props:{tab:{},isActive:{type:Boolean},selectTab:{type:Function},closeTab:{type:Function},onRightClickItem:{type:Function}},setup(t){const e=t,n=Re(),o=Re(),r=Z(!1),s=Z(!1),i=Z(),m=Z(!1);return yn(c=>{const d=Wt(n),f=Wt(o);if(!d||!f)return;const y=tt(Uc({element:d,getInitialData:()=>e.tab,onDragStart:_=>{r.value=!0},onDrop:()=>{r.value=!1,e.selectTab(e.tab.id)},onGenerateDragPreview:({location:_,nativeSetDragImage:p})=>{yu({nativeSetDragImage:p,getOffset:vu({element:d,input:_.current.input}),render({container:v}){return $n(Ro(bu,{icon:e.tab.icon,name:e.tab.name},e.tab.name),v),()=>{$n(null,v)}}})}}),Fc({element:f,getData:({input:_,element:p})=>{const v={id:e.tab.id};return fu(v,{element:p,input:_,allowedEdges:["left","right"]})},canDrop:({source:_})=>!0,onDrag:({self:_,source:p,location:v})=>{const g=Fa(_.data);g&&(i.value=g)},onDragEnter:({self:_,source:p})=>{var g,b;const v=((g=_.data)==null?void 0:g.id)!==p.data.id;e.tab.id===((b=_.data)==null?void 0:b.id)&&v&&(m.value=!0)},onDragLeave:()=>{s.value=!1,m.value=!1},onDrop:({location:_})=>{s.value=!1,m.value=!1},getIsSticky:()=>!1}));c(()=>y())}),(c,d)=>{const f=re,y=_e,_=Se,p=we,v=pe;return I(),P("div",{class:"relative",onContextmenu:d[2]||(d[2]=Ze(()=>{c.onRightClickItem(c.tab)},["right"])),ref_key:"outerElementRef",ref:o},[h("div",{class:fe(["pb-[1px]",["border rounded-t-md transition-all duration-300 ease-out",c.isActive?"bg-background shadow-xl border-b-transparent rounded-b-none":"border-transparent"]])},[l(v,{ref_key:"innerElementRef",ref:n,variant:"ghost",size:"sm",class:fe(["h-7! max-w-44 justify-start! font-normal p-2! hover:[&>div]:opacity-100 border border-transparent",c.isActive?"bg-background rounded-b-none hover:bg-transparent ":"hover:bg-primary/10 hover:border-border",r.value?"bg-primary/5":""]),onClick:d[1]||(d[1]=Ze(g=>c.selectTab(c.tab.id),["left"])),id:c.tab.id},{default:u(()=>[l(f,{name:c.tab.icon,class:fe(a(sn)("size-4 min-w-4",c.tab.iconClass))},null,8,["name","class"]),l(p,{id:c.tab.id},{default:u(()=>[l(y,{"as-child":""},{default:u(()=>[h("div",wu,H(c.tab.name),1)]),_:1}),l(_,{side:"bottom"},{default:u(()=>[h("p",null,H(c.tab.name),1)]),_:1})]),_:1},8,["id"]),h("div",{class:"hover:bg-accent p-0.5 rounded-full opacity-0",onClick:d[0]||(d[0]=Ze(()=>c.closeTab(c.tab.id),["stop"]))},[l(a(Ao),{class:"size-3 stroke-[2.5]!"})])]),_:1},8,["class","id"])],2),m.value&&i.value?(I(),P("div",{key:0,class:"absolute h-7 w-0.5 top-0 rounded-md bg-accent-foreground",style:hn({[i.value==="left"?"left":"right"]:"0px"})},null,4)):K("",!0)],544)}}}),Su={class:"flex items-center"},Bt=ee({__name:"TabViewOpenActions",props:{disabled:{type:Boolean,default:!1},measureOnly:{type:Boolean,default:!1}},emits:["openStarterSql","openNewSqlFile","openSchemaBrowser","openInstanceInsights"],setup(t,{emit:e}){const n=t,o=e;return(r,s)=>{const i=re,m=pe;return I(),P("div",Su,[n.measureOnly?(I(),P(ue,{key:0},[l(m,{variant:"outline",size:"xxs",class:"rounded-r-none border-r-0 pr-0"},{default:u(()=>[l(i,{name:"hugeicons:plus-sign",class:"size-4 min-w-4"})]),_:1}),l(m,{variant:"outline",size:"xxs",class:"rounded-l-none border-l-0 pl-0 pr-1"},{default:u(()=>[l(i,{name:"hugeicons:arrow-down-01",class:"size-3!"})]),_:1})],64)):(I(),P(ue,{key:1},[l(a(we),null,{default:u(()=>[l(a(_e),{"as-child":""},{default:u(()=>[l(m,{variant:"outline",size:"xxs",class:"rounded-r-none border-r-0 pr-0",disabled:n.disabled,"aria-label":"New SQL file",onClick:s[0]||(s[0]=c=>o("openStarterSql"))},{default:u(()=>[l(i,{name:"hugeicons:plus-sign",class:"size-4 min-w-4"})]),_:1},8,["disabled"])]),_:1}),l(a(Se),null,{default:u(()=>s[4]||(s[4]=[M("New SQL file")])),_:1})]),_:1}),l(a(rs),null,{default:u(()=>[l(a(is),{"as-child":""},{default:u(()=>[l(m,{variant:"outline",size:"xxs",class:"rounded-l-none border-l-0 pl-0 pr-1",disabled:n.disabled,"aria-label":"Open tab options"},{default:u(()=>[l(i,{name:"hugeicons:arrow-down-01",class:"size-3!"})]),_:1},8,["disabled"])]),_:1}),l(a(cs),{align:"end",class:"min-w-52"},{default:u(()=>[l(a(Qo),{class:"py-0"},{default:u(()=>s[5]||(s[5]=[M("Open new tab")])),_:1}),l(a(Ko)),l(a(Pt),{class:"h-8 cursor-pointer",onSelect:s[1]||(s[1]=c=>o("openNewSqlFile"))},{default:u(()=>[l(i,{name:"hugeicons:document-code",class:"mr-2 size-4 min-w-4"}),s[6]||(s[6]=M(" New SQL file "))]),_:1}),l(a(Pt),{class:"h-8 cursor-pointer",onSelect:s[2]||(s[2]=c=>o("openSchemaBrowser"))},{default:u(()=>[l(i,{name:"hugeicons:database",class:"mr-2 size-4 min-w-4"}),s[7]||(s[7]=M(" Schema browser "))]),_:1}),l(a(Pt),{class:"h-8 cursor-pointer",onSelect:s[3]||(s[3]=c=>o("openInstanceInsights"))},{default:u(()=>[l(i,{name:"hugeicons:activity-02",class:"mr-2 size-4 min-w-4"}),s[8]||(s[8]=M(" Instance insights "))]),_:1})]),_:1})]),_:1})],64))])}}}),xu=["data-electron-drag-region"],Tu={class:"window-no-drag flex h-full shrink-0 items-center pl-1"},Cu={class:"flex min-w-max items-end h-full"},Iu={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},Eu={class:"flex min-w-max items-end h-full"},Du={key:0,class:"flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},Au=ee({__name:"TabViews",setup(t){const e=qe(),n=Pe(),{openStarterSqlTab:o,openNewSqlFileTab:r,openInstanceInsightsTab:s}=Ge(),{openCommandPalette:i}=$o(),{workspaceId:m,connectionId:c}=De(),{tabViews:d}=ge(e),f=Re(),y=Re(),_=Re(),p=Re(),v=Z(!1),g=Z(),{width:b}=_t(y),{width:A}=_t(_),{width:T}=_t(p),w=F(()=>tn(n.selectedConnection??{type:he.POSTGRES,method:oa.STRING})),S=F(()=>!!m.value&&!!c.value),D=F(()=>w.value.supportsQueryFiles),O=F(()=>!b.value||!T.value?!1:A.value+T.value>b.value),x=()=>{i()},E=F(()=>{if(!g.value)return!1;const R=d.value.length,k=d.value.findIndex($=>{var L;return $.id===((L=g.value)==null?void 0:L.id)});return R>k+1});yn(R=>{const k=Wt(f);if(!k)return;const $=tt(Sn({onDragStart(L){v.value=!0},onDrop(L){v.value=!1;const{location:U,source:W}=L;if(!U.current.dropTargets.length)return;const B=W.data.id,X=U.current.dropTargets[0],te=X.data.id,se=Fa(X.data);if(!se)return;const oe=d.value.findIndex(C=>C.id===B),ie=d.value.findIndex(C=>C.id===te),z=pu({startIndex:oe,indexOfTarget:ie,closestEdgeOfTarget:se});e.moveTabTo(oe,z)}}),du({element:k}));R(()=>{$()})});const N=F(()=>st());return(R,k)=>{const $=nn("auto-animate");return I(),P("div",{class:fe(["w-full flex items-end h-full gap-2 mx-1 -mb-0.5 min-w-0 relative",v.value?"bg-purple-50":""]),"data-electron-drag-region":N.value?"":void 0},[K("",!0),h("div",Tu,[l(ls,{side:"bottom",align:"start"})]),h("div",{ref_key:"tabBarBodyRef",ref:y,class:"flex h-full min-w-0 flex-1 items-end"},[h("div",{ref_key:"elementRef",ref:f,class:"min-w-0 flex-1 overflow-x-auto hidden-scroll-container h-full"},[h("div",Cu,[l(a(Uo),null,{default:u(()=>[l(a(Vo),{"as-child":""},{default:u(()=>[Ke((I(),P("div",{ref_key:"tabsTrackRef",ref:_,class:"flex items-end"},[(I(!0),P(ue,null,ve(a(d),L=>{var U;return I(),Y(_u,{key:L.id,tab:L,isActive:L.id===((U=a(e).activeTab)==null?void 0:U.id),selectTab:a(e).selectTab,closeTab:a(e).closeTab,onRightClickItem:()=>{g.value=L}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[$,{duration:120}]])]),_:1}),g.value?(I(),Y(a(zo),{key:0,hideWhenDetached:"",class:"w-56"},{default:u(()=>[l(a(Nt),{onSelect:k[0]||(k[0]=L=>a(e).closeTab(g.value.id))},{default:u(()=>[k[6]||(k[6]=M(" Close ")),l(a(Mt),null,{default:u(()=>k[5]||(k[5]=[M("⌘W")])),_:1})]),_:1}),l(a(Nt),{onSelect:k[1]||(k[1]=L=>a(e).closeOtherTab(g.value.id))},{default:u(()=>[k[8]||(k[8]=M(" Close other ")),l(a(Mt),null,{default:u(()=>k[7]||(k[7]=[M("⌘AO")])),_:1})]),_:1}),l(a(Nt),{disabled:!E.value,onSelect:k[2]||(k[2]=L=>a(e).closeToTheRight(g.value.id))},{default:u(()=>[k[10]||(k[10]=M(" Close to the right ")),l(a(Mt),null,{default:u(()=>k[9]||(k[9]=[M("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):K("",!0)]),_:1}),D.value&&!O.value?(I(),P("div",Iu,[l(Bt,{disabled:!S.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:x,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):K("",!0)])],512),h("div",Eu,[D.value&&O.value?(I(),P("div",Du,[l(Bt,{disabled:!S.value,onOpenStarterSql:a(o),onOpenNewSqlFile:a(r),onOpenSchemaBrowser:x,onOpenInstanceInsights:a(s)},null,8,["disabled","onOpenStarterSql","onOpenNewSqlFile","onOpenInstanceInsights"])])):K("",!0)])],512),D.value?(I(),P("div",{key:1,ref_key:"actionsMeasureRef",ref:p,"aria-hidden":"true",class:"pointer-events-none invisible absolute flex h-full shrink-0 items-center bg-sidebar-accent/50 pl-1 pr-1"},[l(Bt,{"measure-only":""})],512)):K("",!0)],10,xu)}}}),Ru=["data-electron-drag-region"],$u=["data-electron-drag-region"],ku={key:0,class:"vitrual-light-trafic-button"},Ou=["data-electron-drag-region"],Nu={class:"window-no-drag flex items-center gap-2"},Lu=ee({__name:"TabViewContainer",props:{primarySideBarWidth:{}},setup(t){const e=t,n=ga(),o=ut(),{isPrimarySidebarCollapsed:r,isSecondSidebarCollapsed:s}=ge(o),i=F(()=>ko()),m=F(()=>Oo()&&No()),c=F(()=>Xi({primarySideBarWidth:e.primarySideBarWidth,sidebarWidthPercentage:o.layoutSize[0],isDesktopMacWindow:m.value})),d=F(()=>!n.meta.notAllowRightPanel),f=async()=>{m.value&&st()&&await window.electronAPI.window.maximize()};return(y,_)=>{const p=re,v=pe,g=_e,b=Se,A=we;return I(),P("div",{class:fe(["w-screen h-9 select-none border-b pr-2 bg-sidebar-accent/50!",a(i)&&a(r)?"pl-[6rem]":"",a(m)&&"pl-[4.75rem]",a(i)&&"h-10.5 header-tab-view-pwa"]),onDblclick:f,"data-electron-drag-region":a(st)()?"":void 0},[h("div",{class:"flex justify-between items-center h-full","data-electron-drag-region":a(st)()?"":void 0},[h("div",{class:"window-no-drag flex items-center gap-1 h-full px-1",style:hn({minWidth:a(c),justifyContent:a(r)?"center":"space-between"})},[a(i)&&!a(r)?(I(),P("div",ku)):K("",!0),a(r)?K("",!0):(I(),P("div",{key:1,class:fe(["flex justify-center w-full"]),"data-electron-drag-region":a(st)()?"":void 0},[l(a(hs))],8,Ou)),l(A,null,{default:u(()=>[l(g,{"as-child":""},{default:u(()=>[l(v,{variant:"ghost",size:"iconSm",onClick:_[0]||(_[0]=T=>a(o).onToggleActivityBarPanel())},{default:u(()=>[a(r)?(I(),Y(p,{key:0,name:"hugeicons:sidebar-left",class:"size-5!"})):(I(),Y(p,{key:1,name:"hugeicons:sidebar-left-01",class:"size-5!"}))]),_:1})]),_:1}),l(b,null,{default:u(()=>_[2]||(_[2]=[M(" Toggle Sidebar ")])),_:1})]),_:1})],4),l(Au),h("div",Nu,[l(A,null,{default:u(()=>[l(g,{"as-child":""},{default:u(()=>[a(d)?(I(),Y(v,{key:0,variant:"ghost",size:"iconSm",onClick:_[1]||(_[1]=T=>a(o).onToggleSecondSidebar())},{default:u(()=>[a(s)?(I(),Y(p,{key:0,name:"hugeicons:sidebar-right",class:"size-5!"})):(I(),Y(p,{key:1,name:"hugeicons:sidebar-right-01",class:"size-5!"}))]),_:1})):K("",!0)]),_:1}),l(b,null,{default:u(()=>_[3]||(_[3]=[M(" Toggle Sidebar ")])),_:1})]),_:1})])],8,$u)],42,Ru)}}}),Pu={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},Mu={class:"overflow-y-auto w-full h-full"},Fu={class:"flex flex-col overflow-y-auto w-full h-full"},Uu={class:"h-full"},pd=ee({__name:"default",setup(t){const e=ga(),n=Oe("primarySideBarPanel"),{width:o}=_t(n),r=ut(),{layoutSize:s,isPrimarySidebarCollapsed:i,bodySize:m}=ge(r),{chatUiVars:c}=Lo(),d=F(()=>!e.meta.notAllowBottomPanel),f=F(()=>!e.meta.notAllowRightPanel);return Po([{key:"meta+shift+b",callback:()=>{f.value&&r.onToggleSecondSidebar()}},{key:"meta+b",callback:()=>{r.onToggleActivityBarPanel()}},{key:"meta+j",callback:()=>{d.value&&r.onToggleBottomPanel()}}]),(y,_)=>{const p=Wa,v=Qa,g=Ha,b=nn("auto-animate");return I(),Y(g,{direction:"horizontal",id:"default-layout-group-1",onLayout:_[1]||(_[1]=A=>a(r).onResizeLayout(A))},{default:u(()=>[h("div",{class:"h-full w-screen flex flex-col flex-1 max-h-screen overflow-y-auto",style:hn(a(c))},[l(a(Lu),{primarySideBarWidth:a(o)},null,8,["primarySideBarWidth"]),Ke((I(),P("div",Pu,[a(i)?(I(),Y(a(gs),{key:0})):K("",!0),l(p,{"min-size":10,"max-size":40,"default-size":a(s)[0],"collapsed-size":0,ref:"primarySideBarPanel",collapsible:"",id:"default-layout-group-1-panel-1",key:"primarySideBarPanel",class:"bg-sidebar/50 dark:bg-sidebar"},{default:u(()=>[l(a(Ri))]),_:1},8,["default-size"]),l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-1","with-handle":""}),l(p,{id:"default-layout-group-1-panel-2",key:"contentPanel"},{default:u(()=>[h("div",Mu,[l(g,{id:"default-layout-body-group",direction:"vertical",modelValue:a(m),"onUpdate:modelValue":_[0]||(_[0]=A=>be(m)?m.value=A:null),onLayout:a(r).onResizeBody},{default:u(()=>[l(p,{id:"default-layout-body-group-panel-1",key:"default-layout-body-group-panel-1"},{default:u(()=>[h("div",Fu,[h("div",Uu,[Gt(y.$slots,"default")])])]),_:3}),Ke(l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!","with-handle":""},null,512),[[yt,a(d)]]),Ke(l(p,{"min-size":10,"max-size":70,"default-size":a(m)[1],"collapsed-size":0,collapsible:"",id:"default-layout-body-group-panel-2",key:"default-layout-body-group-panel-2"},{default:u(()=>_[2]||(_[2]=[h("div",{class:"flex flex-col flex-1 h-full p-1",id:"bottom-panel"},null,-1)])),_:1},8,["default-size"]),[[yt,a(d)]])]),_:3},8,["modelValue","onLayout"])])]),_:3}),Ke(l(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-2","with-handle":""},null,512),[[yt,a(f)]]),Ke(l(p,{id:"default-layout-group-1-panel-3","min-size":15,"max-size":40,"default-size":a(s)[2],"collapsed-size":0,collapsible:"",key:"secondarySideBarPanel",class:"bg-sidebar"},{default:u(()=>[l(a(ki))]),_:1},8,["default-size"]),[[yt,a(f)]])])),[[b,{duration:a(et)}]]),l(a(Ki))],4)]),_:3})}}});export{pd as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as X,an as j,ao as F,ap as Y,aq as H,l as i,c as V,ar as q,as as U,ai as $,at as z,aj as P,ah as K,au as Q,av as W,aw as Z}from"./
|
|
1
|
+
import{_ as X,an as j,ao as F,ap as Y,aq as H,l as i,c as V,ar as q,as as U,ai as $,at as z,aj as P,ah as K,au as Q,av as W,aw as Z}from"./BJvJ0Hlu.js";import{i as x,G as B}from"./qsFoMdT2.js";import{b as L,m as A,l as I}from"./CQb_mUBo.js";import"./C6teO48Y.js";var ee=4;function ne(e){return L(e,ee)}function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:te(e),edges:se(e)};return x(e.graph())||(t.value=ne(e.graph())),t}function te(e){return A(e.nodes(),function(t){var n=e.node(t),o=e.parent(t),c={v:t};return x(n)||(c.value=n),x(o)||(c.parent=o),c})}function se(e){return A(e.edges(),function(t){var n=e.edge(t),o={v:t.v,w:t.w};return x(t.name)||(o.name=t.name),x(n)||(o.value=n),o})}var f=new Map,b=new Map,G=new Map,ie=X(()=>{b.clear(),G.clear(),f.clear()},"clear"),O=X((e,t)=>{const n=b.get(t)||[];return i.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),re=X((e,t)=>{const n=b.get(t)||[];return i.info("Descendants of ",t," is ",n),i.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||O(e.v,t)||O(e.w,t)||n.includes(e.w):(i.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),J=X((e,t,n,o)=>{i.warn("Copying children of ",e,"root",o,"data",t.node(e),o);const c=t.children(e)||[];e!==o&&c.push(e),i.warn("Copying (nodes) clusterId",e,"nodes",c),c.forEach(a=>{if(t.children(a).length>0)J(a,t,n,o);else{const r=t.node(a);i.info("cp ",a," to ",o," with parent ",e),n.setNode(a,r),o!==t.parent(a)&&(i.warn("Setting parent",a,t.parent(a)),n.setParent(a,t.parent(a))),e!==o&&a!==e?(i.debug("Setting parent",a,e),n.setParent(a,e)):(i.info("In copy ",e,"root",o,"data",t.node(e),o),i.debug("Not Setting parent for node=",a,"cluster!==rootId",e!==o,"node!==clusterId",a!==e));const u=t.edges(a);i.debug("Copying Edges",u),u.forEach(l=>{i.info("Edge",l);const h=t.edge(l.v,l.w,l.name);i.info("Edge data",h,o);try{re(l,o)?(i.info("Copying as ",l.v,l.w,h,l.name),n.setEdge(l.v,l.w,h,l.name),i.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",o," clusterId:",e)}catch(C){i.error(C)}})}i.debug("Removing node",a),t.removeNode(a)})},"copy"),R=X((e,t)=>{const n=t.children(e);let o=[...n];for(const c of n)G.set(c,e),o=[...o,...R(c,t)];return o},"extractDescendants"),oe=X((e,t,n)=>{const o=e.edges().filter(l=>l.v===t||l.w===t),c=e.edges().filter(l=>l.v===n||l.w===n),a=o.map(l=>({v:l.v===t?n:l.v,w:l.w===t?t:l.w})),r=c.map(l=>({v:l.v,w:l.w}));return a.filter(l=>r.some(h=>l.v===h.v&&l.w===h.w))},"findCommonEdges"),D=X((e,t,n)=>{const o=t.children(e);if(i.trace("Searching children of id ",e,o),o.length<1)return e;let c;for(const a of o){const r=D(a,t,n),u=oe(t,n,r);if(r)if(u.length>0)c=r;else return r}return c},"findNonClusterChild"),k=X(e=>!f.has(e)||!f.get(e).externalConnections?e:f.has(e)?f.get(e).id:e,"getAnchorId"),ae=X((e,t)=>{if(!e||t>10){i.debug("Opting out, no graph ");return}else i.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.warn("Cluster identified",n," Replacement id in edges: ",D(n,e,n)),b.set(n,R(n,e)),f.set(n,{id:D(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const o=e.children(n),c=e.edges();o.length>0?(i.debug("Cluster identified",n,b),c.forEach(a=>{const r=O(a.v,n),u=O(a.w,n);r^u&&(i.warn("Edge: ",a," leaves cluster ",n),i.warn("Descendants of XXX ",n,": ",b.get(n)),f.get(n).externalConnections=!0)})):i.debug("Not a cluster ",n,b)});for(let n of f.keys()){const o=f.get(n).id,c=e.parent(o);c!==n&&f.has(c)&&!f.get(c).externalConnections&&(f.get(n).id=c)}e.edges().forEach(function(n){const o=e.edge(n);i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let c=n.v,a=n.w;if(i.warn("Fix XXX",f,"ids:",n.v,n.w,"Translating: ",f.get(n.v)," --- ",f.get(n.w)),f.get(n.v)||f.get(n.w)){if(i.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),c=k(n.v),a=k(n.w),e.removeEdge(n.v,n.w,n.name),c!==n.v){const r=e.parent(c);f.get(r).externalConnections=!0,o.fromCluster=n.v}if(a!==n.w){const r=e.parent(a);f.get(r).externalConnections=!0,o.toCluster=n.w}i.warn("Fix Replacing with XXX",c,a,n.name),e.setEdge(c,a,o,n.name)}}),i.warn("Adjusted Graph",p(e)),T(e,0),i.trace(f)},"adjustClustersAndEdges"),T=X((e,t)=>{var c,a;if(i.warn("extractor - ",t,p(e),e.children("D")),t>10){i.error("Bailing out");return}let n=e.nodes(),o=!1;for(const r of n){const u=e.children(r);o=o||u.length>0}if(!o){i.debug("Done, no node has children",e.nodes());return}i.debug("Nodes = ",n,t);for(const r of n)if(i.debug("Extracting node",r,f,f.has(r)&&!f.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),!f.has(r))i.debug("Not a cluster",r,t);else if(!f.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){i.warn("Cluster without external connections, without a parent and with children",r,t);let l=e.graph().rankdir==="TB"?"LR":"TB";(a=(c=f.get(r))==null?void 0:c.clusterData)!=null&&a.dir&&(l=f.get(r).clusterData.dir,i.warn("Fixing dir",f.get(r).clusterData.dir,l));const h=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.warn("Old graph before copy",p(e)),J(r,e,h,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:f.get(r).clusterData,label:f.get(r).label,graph:h}),i.warn("New graph after copy node: (",r,")",p(h)),i.debug("Old graph after copy",p(e))}else i.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!f.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),i.debug(f);n=e.nodes(),i.warn("New list of nodes",n);for(const r of n){const u=e.node(r);i.warn(" Now next level",r,u),u!=null&&u.clusterNode&&T(u.graph,t+1)}},"extractor"),M=X((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(o=>{const c=e.children(o),a=M(e,c);n=[...n,...a]}),n},"sorter"),ce=X(e=>M(e,e.children()),"sortNodesByHierarchy"),_=X(async(e,t,n,o,c,a)=>{i.warn("Graph in recursive render:XAX",p(t),c);const r=t.graph().rankdir;i.trace("Dir in recursive render - dir:",r);const u=e.insert("g").attr("class","root");t.nodes()?i.info("Recursive render XXX",t.nodes()):i.info("No nodes found for",t),t.edges().length>0&&i.info("Recursive edges",t.edge(t.edges()[0]));const l=u.insert("g").attr("class","clusters"),h=u.insert("g").attr("class","edgePaths"),C=u.insert("g").attr("class","edgeLabels"),g=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(d){const s=t.node(d);if(c!==void 0){const w=JSON.parse(JSON.stringify(c.clusterData));i.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,d,`
|
|
3
3
|
data=`,w.height,`
|
|
4
4
|
Parent cluster`,c.height),t.setNode(c.id,w),t.parent(d)||(i.trace("Setting parent",d,c.id),t.setParent(d,c.id,w))}if(i.info("(Insert) Node XXX"+d+": "+JSON.stringify(t.node(d))),s!=null&&s.clusterNode){i.info("Cluster identified XBX",d,s.width,t.node(d));const{ranksep:w,nodesep:m}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:w+25,nodesep:m});const N=await _(g,s.graph,n,o,t.node(d),a),S=N.elem;q(s,S),s.diff=N.diff||0,i.info("New compound node after recursive render XAX",d,"width",s.width,"height",s.height),U(S,s)}else t.children(d).length>0?(i.trace("Cluster - the non recursive path XBX",d,s.id,s,s.width,"Graph:",t),i.trace(D(s.id,t)),f.set(s.id,{id:D(s.id,t),node:s})):(i.trace("Node - the non recursive path XAX",d,g,t.node(d),r),await $(g,t.node(d),{config:a,dir:r}))})),await X(async()=>{const d=t.edges().map(async function(s){const w=t.edge(s.v,s.w,s.name);i.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),i.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),i.info("Fix",f,"ids:",s.v,s.w,"Translating: ",f.get(s.v),f.get(s.w)),await Z(C,w)});await Promise.all(d)},"processEdges")(),i.info("Graph before layout:",JSON.stringify(p(t))),i.info("############################################# XXX"),i.info("### Layout ### XXX"),i.info("############################################# XXX"),I(t),i.info("Graph after layout:",JSON.stringify(p(t)));let E=0,{subGraphTitleTotalMargin:y}=z(a);return await Promise.all(ce(t).map(async function(d){var w;const s=t.node(d);if(i.info("Position XBX => "+d+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s!=null&&s.clusterNode)s.y+=y,i.info("A tainted cluster node XBX1",d,s.id,s.width,s.height,s.x,s.y,t.parent(d)),f.get(s.id).node=s,P(s);else if(t.children(d).length>0){i.info("A pure cluster node XBX1",d,s.id,s.x,s.y,s.width,s.height,t.parent(d)),s.height+=y,t.node(s.parentId);const m=(s==null?void 0:s.padding)/2||0,N=((w=s==null?void 0:s.labelBBox)==null?void 0:w.height)||0,S=N-m||0;i.debug("OffsetY",S,"labelHeight",N,"halfPadding",m),await K(l,s),f.get(s.id).node=s}else{const m=t.node(s.parentId);s.y+=y/2,i.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",m,m==null?void 0:m.offsetY,s),P(s)}})),t.edges().forEach(function(d){const s=t.edge(d);i.info("Edge "+d.v+" -> "+d.w+": "+JSON.stringify(s),s),s.points.forEach(S=>S.y+=y/2);const w=t.node(d.v);var m=t.node(d.w);const N=Q(h,s,f,n,w,m,o);W(s,N)}),t.nodes().forEach(function(d){const s=t.node(d);i.info(d,s.type,s.diff),s.isGroup&&(E=s.diff)}),i.warn("Returning from recursive render XAX",u,E),{elem:u,diff:E}},"recursiveRender"),ge=X(async(e,t)=>{var a,r,u,l,h,C;const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:((a=e.config)==null?void 0:a.nodeSpacing)||((u=(r=e.config)==null?void 0:r.flowchart)==null?void 0:u.nodeSpacing)||e.nodeSpacing,ranksep:((l=e.config)==null?void 0:l.rankSpacing)||((C=(h=e.config)==null?void 0:h.flowchart)==null?void 0:C.rankSpacing)||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),o=t.select("g");j(o,e.markers,e.type,e.diagramId),F(),Y(),H(),ie(),e.nodes.forEach(g=>{n.setNode(g.id,{...g}),g.parentId&&n.setParent(g.id,g.parentId)}),i.debug("Edges:",e.edges),e.edges.forEach(g=>{if(g.start===g.end){const v=g.start,E=v+"---"+v+"---1",y=v+"---"+v+"---2",d=n.node(v);n.setNode(E,{domId:E,id:E,parentId:d.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(E,d.parentId),n.setNode(y,{domId:y,id:y,parentId:d.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(y,d.parentId);const s=structuredClone(g),w=structuredClone(g),m=structuredClone(g);s.label="",s.arrowTypeEnd="none",s.id=v+"-cyclic-special-1",w.arrowTypeStart="none",w.arrowTypeEnd="none",w.id=v+"-cyclic-special-mid",m.label="",d.isGroup&&(s.fromCluster=v,m.toCluster=v),m.id=v+"-cyclic-special-2",m.arrowTypeStart="none",n.setEdge(v,E,s,v+"-cyclic-special-0"),n.setEdge(E,y,w,v+"-cyclic-special-1"),n.setEdge(y,v,m,v+"-cyc<lic-special-2")}else n.setEdge(g.start,g.end,{...g},g.id)}),i.warn("Graph at first:",JSON.stringify(p(n))),ae(n),i.warn("Graph after XAX:",JSON.stringify(p(n)));const c=V();await _(o,n,e.type,e.diagramId,void 0,c)},"render");export{ge as render};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as g}from"./DkX74xDd.js";import{_}from"./CeXnSKvd.js";import{d as x,V as b,c as d,W as v,X as C,D as y,Y as S,e as N,f as t,m as o,w as a,t as m,g as n,z as s,o as T,A as h}from"./C6teO48Y.js";import{_ as r}from"./D5GonnbJ.js";const k={class:"p-2 flex flex-col items-center justify-center h-full"},w={class:"font-medium text-xl pt-2"},B={class:"text-muted-foreground text-sm"},E={class:"flex items-center pt-3 text-muted-foreground gap-0.5 text-sm"},R={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},D={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},I={class:"flex items-center pt-1 text-muted-foreground gap-0.5 text-sm"},$=x({__name:"index",setup(V){const c=b(),p=d(()=>v(c.selectedConnection??{type:y.POSTGRES,method:C.STRING})),l=d(()=>p.value===S.REDIS?{title:"No Redis workspace tab is open",description:"Open a Redis key browser or tools tab from the sidebar to begin."}:{title:"No table is open",description:"Click on a database table from the sidebar to begin"});return(z,e)=>{const u=_,f=g,i=h;return T(),N("div",k,[t(f,{class:"rounded-2xl size-40"},{default:a(()=>[t(u,{src:"/logo.png",alt:"@unovue"})]),_:1}),o("div",w,m(n(l).title),1),o("div",B,[s(m(n(l).description)+" ",1),t(i,{name:"hugeicons:artificial-intelligence-08",class:"size-4 min-w-4"})]),o("div",E,[t(i,{name:"hugeicons:settings-01"}),e[1]||(e[1]=s(" Open setting ")),t(n(r),{class:"pl-2"},{default:a(()=>e[0]||(e[0]=[s("(⌘,)")])),_:1})]),o("div",R,[t(i,{name:"hugeicons:command"}),e[3]||(e[3]=s(" Command Palette ")),t(n(r),{class:"pl-2"},{default:a(()=>e[2]||(e[2]=[s("(⌘K or ⌘P)")])),_:1})]),o("div",D,[t(i,{name:"hugeicons:sidebar-left"}),e[5]||(e[5]=s(" Toggle left sidebar ")),t(n(r),{class:"pl-2"},{default:a(()=>e[4]||(e[4]=[s("(⌘B)")])),_:1})]),o("div",I,[t(i,{name:"hugeicons:sidebar-right"}),e[7]||(e[7]=s(" Toggle right sidebar ")),t(n(r),{class:"pl-2"},{default:a(()=>e[6]||(e[6]=[s("(⇧⌘B)")])),_:1})])])}}});export{$ as default};
|