orcaq 1.0.28 → 1.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{S6q6IfIg.js → 6I72R6kW.js} +1 -1
  3. package/.output/public/_nuxt/{W0T58tNs.js → 8_EuFD3X.js} +1 -1
  4. package/.output/public/_nuxt/B6H7odCi.js +1 -0
  5. package/.output/public/_nuxt/B7nSJBpY.js +1 -0
  6. package/.output/public/_nuxt/{B-o1cyu1.js → BBNxNerU.js} +1 -1
  7. package/.output/public/_nuxt/BDKd-SA5.js +1 -0
  8. package/.output/public/_nuxt/{DAsY4LnG.js → BDRdbLz0.js} +1 -1
  9. package/.output/public/_nuxt/{T2yrk5P8.js → BKWWO5HE.js} +1 -1
  10. package/.output/public/_nuxt/{DhSSuHOz.js → BV6TSzbC.js} +4 -1
  11. package/.output/public/_nuxt/{BranJUWp.js → BVKG-F8j.js} +1 -1
  12. package/.output/public/_nuxt/{BHFnD9yO.js → BoGW82nK.js} +1 -1
  13. package/.output/public/_nuxt/Bs_ItSbk.js +1 -0
  14. package/.output/public/_nuxt/{BZEKLHO-.js → Btu7FO8S.js} +1 -1
  15. package/.output/public/_nuxt/C04Tz2vC.js +67 -0
  16. package/.output/public/_nuxt/{DNmOzKte.js → C4JPKbJK.js} +1 -1
  17. package/.output/public/_nuxt/{B7iORLht.js → C5KSeJUi.js} +5 -5
  18. package/.output/public/_nuxt/CDnZBTSk.js +1 -0
  19. package/.output/public/_nuxt/CKq06U7u.js +19 -0
  20. package/.output/public/_nuxt/{vU5dtBjy.js → CQpD-JHn.js} +1 -1
  21. package/.output/public/_nuxt/{DdMwxl0I.js → C_CjS9Yt.js} +1 -1
  22. package/.output/public/_nuxt/{BRpeq4XL.js → Chcc8yNZ.js} +1 -1
  23. package/.output/public/_nuxt/{Dwm3kp4S.js → ClnidwGv.js} +86 -86
  24. package/.output/public/_nuxt/{BV4_2PzU.js → CpzDNDcD.js} +1 -1
  25. package/.output/public/_nuxt/Cs1HkKH7.js +1 -0
  26. package/.output/public/_nuxt/{DgPgl0Vt.js → CsYOf3m-.js} +1 -1
  27. package/.output/public/_nuxt/{Ds4ET3BG.js → CtRc_P0d.js} +27 -27
  28. package/.output/public/_nuxt/Ctr2mpV9.js +2 -0
  29. package/.output/public/_nuxt/{SzZsnvJ-.js → CzF1NEwP.js} +1 -1
  30. package/.output/public/_nuxt/{D4jtSPyP.js → D2j2esR5.js} +2 -2
  31. package/.output/public/_nuxt/D4ZGn1tW.js +1 -0
  32. package/.output/public/_nuxt/{B3XOCDJg.js → D6YseYA6.js} +1 -1
  33. package/.output/public/_nuxt/{CbjqLbgu.js → D7EPcL9i.js} +1 -1
  34. package/.output/public/_nuxt/{DfL_wWxk.js → DCMJS6Fh.js} +1 -1
  35. package/.output/public/_nuxt/{rdXrKZa8.js → DFd73eNR.js} +1 -1
  36. package/.output/public/_nuxt/{BUuSKT2f.js → DQiMjOqm.js} +15 -15
  37. package/.output/public/_nuxt/{BQAF7cM_.js → DVe5MHjS.js} +1 -1
  38. package/.output/public/_nuxt/{BsnN2mQb.js → D_G1mAJ8.js} +2 -2
  39. package/.output/public/_nuxt/{DM73sEXg.js → De1hkrJC.js} +1 -1
  40. package/.output/public/_nuxt/DlfHMoPT.js +1 -0
  41. package/.output/public/_nuxt/{BIW9Rd2L.js → DnCs9xpG.js} +1 -1
  42. package/.output/public/_nuxt/DvJ2MjiW.js +2 -0
  43. package/.output/public/_nuxt/DynamicTable.B3c2woGb.css +1 -0
  44. package/.output/public/_nuxt/{CAcIcjka.js → DzJD_fir.js} +3 -3
  45. package/.output/public/_nuxt/{UrLgZoyE.js → Dzr_z_mY.js} +1 -1
  46. package/.output/public/_nuxt/{DftZZFKd.js → FyrDS92w.js} +104 -104
  47. package/.output/public/_nuxt/{BlWNlw-C.js → HQyqkOpZ.js} +1 -1
  48. package/.output/public/_nuxt/{BwddCgOY.js → KlH93fIm.js} +1 -1
  49. package/.output/public/_nuxt/{iDT-eQ46.js → MLO1tLKS.js} +1 -1
  50. package/.output/public/_nuxt/{D8s-WG7x.js → OEVyCyyD.js} +1 -1
  51. package/.output/public/_nuxt/{_fileId_.B3PtfMYN.css → _fileId_.DDOcnoDQ.css} +1 -1
  52. package/.output/public/_nuxt/builds/latest.json +1 -1
  53. package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +1 -0
  54. package/.output/public/_nuxt/builds/meta/dev.json +1 -0
  55. package/.output/public/_nuxt/{CQNFvXDN.js → e_Ir8LP9.js} +1 -1
  56. package/.output/public/_nuxt/entry.XV7TCKso.css +1 -0
  57. package/.output/public/_nuxt/{DpyvTVPg.js → fRxmPZZB.js} +1 -1
  58. package/.output/public/_nuxt/{B0pvfm-W.js → h2fvG4Xe.js} +1 -1
  59. package/.output/public/_nuxt/llxtZpFD.js +160 -0
  60. package/.output/public/_nuxt/{CQr87mff.js → q4KcRwD-.js} +1 -1
  61. package/.output/public/_nuxt/{Cqe10li5.js → qIKg23Pc.js} +1 -1
  62. package/.output/public/_nuxt/{aKVabwds.js → txD20ixW.js} +1 -1
  63. package/.output/public/_nuxt/{CwtNS48a.js → ubO-cWd-.js} +1 -1
  64. package/.output/public/_nuxt/x2HBvptj.js +1 -0
  65. package/.output/public/_nuxt/{lN7hePE6.js → y68LmDX2.js} +1 -1
  66. package/.output/server/chunks/build/client.manifest.mjs +394 -382
  67. package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
  68. package/.output/server/chunks/nitro/nitro.mjs +389 -372
  69. package/.output/server/chunks/routes/api/ai/agent.mjs +1 -0
  70. package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
  71. package/.output/server/chunks/routes/api/ai/chat.mjs +1 -0
  72. package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
  73. package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -0
  74. package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
  75. package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -0
  76. package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
  77. package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -0
  78. package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
  79. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -0
  80. package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
  81. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -0
  82. package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
  83. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -0
  84. package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
  85. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -0
  86. package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
  87. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -0
  88. package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
  89. package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -0
  90. package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
  91. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -0
  92. package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
  93. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -0
  94. package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
  95. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -0
  96. package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
  97. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -0
  98. package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
  99. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -0
  100. package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
  101. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -0
  102. package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
  103. package/.output/server/chunks/routes/api/functions/definition.post.mjs +1 -0
  104. package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
  105. package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -0
  106. package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
  107. package/.output/server/chunks/routes/api/functions/overview.post.mjs +1 -0
  108. package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
  109. package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -0
  110. package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
  111. package/.output/server/chunks/routes/api/functions/signature.post.mjs +1 -0
  112. package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
  113. package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -0
  114. package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -0
  116. package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -0
  118. package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -0
  120. package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -0
  122. package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
  123. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -0
  124. package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -0
  126. package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
  127. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -0
  128. package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
  129. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -0
  130. package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -0
  132. package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
  133. package/.output/server/chunks/routes/api/metadata/erd.post.mjs +1 -0
  134. package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +1 -0
  136. package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
  137. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +1 -0
  138. package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
  139. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +1 -0
  140. package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/query/execute.post.mjs +1 -0
  142. package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +1 -0
  144. package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
  145. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +1 -0
  146. package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -0
  148. package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -0
  150. package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/tables/ddl.post.mjs +1 -0
  152. package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -0
  154. package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/tables/indexes.post.mjs +1 -0
  156. package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/tables/meta.post.mjs +1 -0
  158. package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/tables/overview.post.mjs +1 -0
  160. package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/tables/rls.post.mjs +1 -0
  162. package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
  163. package/.output/server/chunks/routes/api/tables/rules.post.mjs +1 -0
  164. package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
  165. package/.output/server/chunks/routes/api/tables/size.post.mjs +1 -0
  166. package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/tables/structure.post.mjs +1 -0
  168. package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
  169. package/.output/server/chunks/routes/api/tables/triggers.post.mjs +1 -0
  170. package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
  171. package/.output/server/chunks/routes/api/views/definition.post.mjs +1 -0
  172. package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
  173. package/.output/server/chunks/routes/api/views/dependencies.post.mjs +1 -0
  174. package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
  175. package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -0
  176. package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
  177. package/.output/server/chunks/routes/api/views/indexes.post.mjs +1 -0
  178. package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
  179. package/.output/server/chunks/routes/api/views/meta.post.mjs +1 -0
  180. package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
  181. package/.output/server/chunks/routes/api/views/overview.post.mjs +1 -0
  182. package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
  183. package/.output/server/chunks/routes/renderer.mjs +1 -0
  184. package/.output/server/index.mjs +1 -0
  185. package/.output/server/index.mjs.map +1 -1
  186. package/.output/server/package.json +1 -1
  187. package/bin/cli.mjs +55 -9
  188. package/package.json +1 -1
  189. package/.output/public/_nuxt/ACi_yrrw.js +0 -1
  190. package/.output/public/_nuxt/B-E3EDXq.js +0 -21
  191. package/.output/public/_nuxt/B-rj9QI0.js +0 -1
  192. package/.output/public/_nuxt/BDPGejuO.js +0 -2
  193. package/.output/public/_nuxt/BHp-OX9z.js +0 -1
  194. package/.output/public/_nuxt/BJdgR-zN.js +0 -1
  195. package/.output/public/_nuxt/BSs5g8DH.js +0 -1
  196. package/.output/public/_nuxt/CO-m0olR.js +0 -2
  197. package/.output/public/_nuxt/CQQKPHb8.js +0 -225
  198. package/.output/public/_nuxt/CfblXyCF.js +0 -1
  199. package/.output/public/_nuxt/D9SCXF1G.js +0 -1
  200. package/.output/public/_nuxt/DynamicTable.BW0D7NXb.css +0 -1
  201. package/.output/public/_nuxt/GqcI3eLm.js +0 -67
  202. package/.output/public/_nuxt/builds/meta/1e32d709-950d-49a3-8d61-1b3385318747.json +0 -1
  203. package/.output/public/_nuxt/entry.Kia9TCip.css +0 -1
  204. package/.output/public/_nuxt/mW-nBTJP.js +0 -1
@@ -1 +0,0 @@
1
- import{_ as C}from"./CAcIcjka.js";import{d as y,D as c,c as $,o as h,b as e,e as n,l as a,aU as x,p as l,v as r,I as S}from"./DftZZFKd.js";import{_ as D,a as k,b as B,c as I,d as L,e as T,f as q,g as N}from"./DfL_wWxk.js";const V=y({__name:"SafeModeConfirmDialog",props:{open:{type:Boolean},sql:{},type:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(p,{emit:f}){const i=p,o=f,m=c(()=>i.type==="save"?"Confirm Save Operation":"Confirm Delete Operation"),d=c(()=>i.type==="save"?"The following SQL will be executed to save your changes:":"The following SQL will be executed to delete the selected rows:"),u=c(()=>i.type==="save"?"Save":"Delete"),_=()=>{o("confirm"),o("update:open",!1)},v=()=>{o("cancel"),o("update:open",!1)};return(t,s)=>{const b=C,g=S;return h(),$(e(D),{open:t.open,"onUpdate:open":s[0]||(s[0]=w=>o("update:open",w))},{default:n(()=>[a(e(k),{class:"border w-[55vw]! max-w-[55vw]!"},{default:n(()=>[a(e(x),{visible:!!t.loading},null,8,["visible"]),a(e(B),null,{default:n(()=>[a(e(I),{class:"flex items-center text-base font-medium"},{default:n(()=>[l(r(e(m)),1)]),_:1}),a(e(L),null,{default:n(()=>[l(r(e(d)),1)]),_:1})]),_:1}),a(b,{code:t.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),a(e(T),null,{default:n(()=>[a(e(q),{class:"border font-normal",onClick:v},{default:n(()=>s[1]||(s[1]=[l(" Cancel ")])),_:1}),a(e(N),{class:"border font-normal flex gap-1",onClick:_},{default:n(()=>[a(g,{name:t.type==="save"?"lucide:save":"lucide:trash-2",class:"size-4"},null,8,["name"]),l(" "+r(e(u)),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});export{V as _};
@@ -1 +0,0 @@
1
- import{d as $,u as Me,r as D,w as Oe,i as Te,c as h,a as B,b as e,o as c,e as s,f as M,P as De,g,h as _,n as A,j as O,k as H,_ as we,l as t,m as F,p as w,I,F as j,q as G,s as ge,t as ve,v as y,x as Fe,y as Ae,z as E,A as ze,B as ce,C as de,D as ue,E as ae,G as me,S as Ne,H as Ee,J as Ue,K as Be,L as qe,M as fe,N as q,O as $e,Q as he,R as Ce,T as be,U as Re,V as je,W as R,X as Le,Y as Ve,Z as Pe,$ as He,a0 as Ke,a1 as Ge,a2 as Je,a3 as Ye,a4 as Qe}from"./DftZZFKd.js";import{_ as Xe,a as Ze,b as et,c as tt,d as st,e as nt,f as ot,g as at}from"./DfL_wWxk.js";import{_ as ye}from"./BHFnD9yO.js";import{i as lt,_ as le}from"./W0T58tNs.js";import{F as rt,u as it,a as ct,b as dt,c as ut,E as pt,d as mt,t as ft,e as Q,_ as _t,f as kt,g as wt}from"./UrLgZoyE.js";import{_ as gt}from"./DNmOzKte.js";import{u as vt}from"./kehy-5uo.js";import{o as $t,s as X}from"./C26aAkUg.js";import{_ as ht,a as Ct,b as bt,c as yt}from"./BwddCgOY.js";import{_ as xt,a as St}from"./CQNFvXDN.js";import"./BIW9Rd2L.js";import"./BZEKLHO-.js";import"./B3XOCDJg.js";import"./DAsY4LnG.js";import"./aKVabwds.js";var It=$({__name:"AvatarFallback",props:{delayMs:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(a){const l=a,o=lt();Me();const i=D(l.delayMs===void 0);return Oe(n=>{if(l.delayMs&&Te){const u=window.setTimeout(()=>{i.value=!0},l.delayMs);n(()=>{window.clearTimeout(u)})}}),(n,u)=>i.value&&e(o).imageLoadingStatus.value!=="loaded"?(c(),h(e(De),{key:0,"as-child":n.asChild,as:n.as},{default:s(()=>[M(n.$slots,"default")]),_:3},8,["as-child","as"])):B("v-if",!0)}}),Wt=It;const Mt={"data-slot":"table-container",class:"relative w-full overflow-auto"},Ot=$({__name:"Table",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("div",Mt,[_("table",{"data-slot":"table",class:A(e(O)("w-full caption-bottom text-sm",l.class))},[M(o.$slots,"default")],2)]))}}),Tt=$({__name:"TableBody",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("tbody",{"data-slot":"table-body",class:A(e(O)("[&_tr:last-child]:border-0",l.class))},[M(o.$slots,"default")],2))}}),Z=$({__name:"TableCell",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("td",{"data-slot":"table-cell",class:A(e(O)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",l.class))},[M(o.$slots,"default")],2))}}),_e=$({__name:"TableRow",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("tr",{"data-slot":"table-row",class:A(e(O)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",l.class))},[M(o.$slots,"default")],2))}}),ee=$({__name:"TableHead",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("th",{"data-slot":"table-head",class:A(e(O)("text-muted-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",l.class))},[M(o.$slots,"default")],2))}}),Dt=$({__name:"TableHeader",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("thead",{"data-slot":"table-header",class:A(e(O)("[&_tr]:border-b",l.class))},[M(o.$slots,"default")],2))}}),Ft={key:1,class:"rounded-md border border-border w-full"},At={class:"flex items-center gap-2 truncate"},zt={class:"w-80"},Nt={key:0,class:"text-muted-foreground truncate"},Et={key:1,class:"text-muted-foreground"},Ut={key:0},Bt={key:1},qt={class:"flex items-center justify-end gap-1"},Rt=$({__name:"ConnectionsList",props:{connections:{}},emits:["edit","delete","create"],setup(a,{emit:l}){const{openWorkspaceWithConnection:o}=H(),i=l,n=D(null),u=v=>{n.value=v},k=()=>{n.value&&(i("delete",n.value),n.value=null)},m=v=>{o({connId:v.id,wsId:v.workspaceId})};return(v,r)=>{const d=I,C=we;return v.connections.length===0?(c(),h(C,{key:0,title:"No connections yet",desc:"Click Add Connection to create your first database connection."},{default:s(()=>[t(e(F),{size:"sm",variant:"outline",onClick:r[0]||(r[0]=p=>i("create"))},{default:s(()=>[t(d,{name:"hugeicons:plus-sign",class:"size-4!"}),r[3]||(r[3]=w(" Add Connection "))]),_:1})]),_:1})):(c(),g("div",Ft,[t(e(Ot),null,{default:s(()=>[t(e(Dt),null,{default:s(()=>[t(e(_e),{class:"hover:bg-transparent"},{default:s(()=>[t(e(ee),null,{default:s(()=>r[4]||(r[4]=[w("Name")])),_:1}),t(e(ee),null,{default:s(()=>r[5]||(r[5]=[w("Connection Details")])),_:1}),t(e(ee),{class:"text-right"},{default:s(()=>r[6]||(r[6]=[w("Actions")])),_:1})]),_:1})]),_:1}),t(e(Tt),null,{default:s(()=>[(c(!0),g(j,null,G(v.connections,p=>(c(),h(e(_e),{key:p.id,class:"hover:bg-muted/30 w-full"},{default:s(()=>[t(e(Z),null,{default:s(()=>{var W;return[_("div",At,[(c(),h(ge((W=e(ve)(p.type))==null?void 0:W.icon),{class:"size-5!"})),w(" "+y(p.name),1)])]}),_:2},1024),t(e(Z),null,{default:s(()=>[t(e(Fe),null,{default:s(()=>[t(e(Ae),{"as-child":""},{default:s(()=>[_("div",zt,[p.method==="string"?(c(),g("div",Nt,y(e(E)(p.connectionString||"").host)+y(e(E)(p.connectionString||"").database?`:${e(E)(p.connectionString||"").database}`:""),1)):(c(),g("div",Et,y(p.host)+y(p.database?`:${p.database}`:""),1))])]),_:2},1024),t(e(ze),null,{default:s(()=>[p.method==="string"?(c(),g("p",Ut,y(e(E)(p.connectionString||"").host)+y(e(E)(p.connectionString||"").port?`:${e(E)(p.connectionString||"").port}`:"")+y(e(E)(p.connectionString||"").database?`/${e(E)(p.connectionString||"").database}`:""),1)):(c(),g("p",Bt,y(p.host)+y(p.port?`:${p.port}`:"")+y(p.database?`/${p.database}`:""),1))]),_:2},1024)]),_:2},1024)]),_:2},1024),t(e(Z),{class:"text-right"},{default:s(()=>[_("div",qt,[t(e(F),{variant:"outline",size:"iconMd",onClick:W=>v.$emit("edit",p)},{default:s(()=>[t(d,{name:"hugeicons:edit-02"})]),_:2},1032,["onClick"]),t(e(F),{variant:"outline",size:"iconMd",onClick:W=>u(p.id)},{default:s(()=>[t(d,{name:"hugeicons:delete-02"})]),_:2},1032,["onClick"]),t(e(F),{variant:"default",size:"sm",onClick:W=>m(p)},{default:s(()=>[t(d,{name:"hugeicons:square-arrow-up-right"}),r[7]||(r[7]=w(" Connect "))]),_:2},1032,["onClick"])])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1}),t(e(Xe),{open:!!n.value,"onUpdate:open":r[2]||(r[2]=p=>!p)},{default:s(()=>[t(e(Ze),{class:"border"},{default:s(()=>[t(e(et),null,{default:s(()=>[t(e(tt),null,{default:s(()=>r[8]||(r[8]=[w("Are you sure?")])),_:1}),t(e(st),null,{default:s(()=>r[9]||(r[9]=[w(" This will permanently delete this database connection. This action cannot be undone. ")])),_:1})]),_:1}),t(e(nt),null,{default:s(()=>[t(e(ot),{class:"border",onClick:r[1]||(r[1]=p=>n.value=null)},{default:s(()=>r[10]||(r[10]=[w("Cancel")])),_:1}),t(e(at),{class:"border bg-red-600 hover:bg-red-700",onClick:k},{default:s(()=>r[11]||(r[11]=[w(" Delete ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"])]))}}}),jt=$({__name:"CardFooter",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("div",{"data-slot":"card-footer",class:A(e(O)("flex items-center px-6 [.border-t]:pt-6",l.class))},[M(o.$slots,"default")],2))}}),Lt=$({__name:"CardHeader",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("div",{"data-slot":"card-header",class:A(e(O)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",l.class))},[M(o.$slots,"default")],2))}}),Vt=$({__name:"CardTitle",props:{class:{}},setup(a){const l=a;return(o,i)=>(c(),g("h3",{"data-slot":"card-title",class:A(e(O)("leading-none font-semibold",l.class))},[M(o.$slots,"default")],2))}}),Pt={class:"flex flex-col items-center"},Ht={class:"w-full"},Kt={class:"flex items-center justify-between rounded-md bg-card py-4"},Gt=$({__name:"ManagementConnection",props:{connections:{},workspaceId:{}},setup(a){const l=D(!1),{createConnection:o,connectionStore:i}=H(),n=D(null),u=()=>{n.value=null,l.value=!0},k=d=>{o(d)},m=d=>{i.updateConnection(d)},v=d=>{n.value=d,l.value=!0},r=d=>{i.onDeleteConnection(d)};return(d,C)=>{const p=I;return c(),g("div",Pt,[_("div",Ht,[_("div",Kt,[C[2]||(C[2]=_("div",null,[_("h1",{class:"text-xl font-medium"},"Management Connections"),_("p",{class:"text-muted-foreground"}," Manage your database connections in one place ")],-1)),t(e(F),{size:"sm",variant:"outline",onClick:u},{default:s(()=>[t(p,{name:"lucide:plus",class:"size-4!"}),C[1]||(C[1]=w(" Add Connection "))]),_:1})]),t(Rt,{connections:d.connections,onEdit:v,onDelete:r,onCreate:u},null,8,["connections"]),t(ye,{open:l.value,"editing-connection":n.value,"onUpdate:open":C[0]||(C[0]=W=>l.value=W),onAddNew:k,onUpdate:m,workspaceId:d.workspaceId},null,8,["open","editing-connection","workspaceId"])])])}}}),Jt={class:"w-full overflow-x-auto"},Yt=$({__name:"ManagementConnectionModal",props:{open:{},connections:{},workspaceId:{}},emits:["update:open"],setup(a,{emit:l}){const o=l;return(i,n)=>(c(),h(e(ce),{open:!!i.open,"onUpdate:open":n[0]||(n[0]=u=>o("update:open",u))},{default:s(()=>[t(e(de),{class:"w-[95vw]! max-w-[55vw]!"},{default:s(()=>[_("div",Jt,[t(Gt,{connections:i.connections,"workspace-id":i.workspaceId},null,8,["connections","workspace-id"])])]),_:1})]),_:1},8,["open"]))}}),re=$({__name:"AvatarFallback",props:{delayMs:{},asChild:{type:Boolean},as:{},class:{}},setup(a){const l=a,o=ue(()=>{const{class:i,...n}=l;return n});return(i,n)=>(c(),h(e(Wt),ae({"data-slot":"avatar-fallback"},o.value,{class:e(O)("bg-muted flex size-full items-center justify-center rounded-full",l.class)}),{default:s(()=>[M(i.$slots,"default")]),_:3},16,["class"]))}}),xe=Symbol();function pe(){const a=me(rt),l=me(xe);if(!a)throw new Error("useFormField should be used within <FormField>");const{name:o}=a,i=l,n={valid:ut(o),isDirty:dt(o),isTouched:ct(o),error:it(o)};return{id:i,name:o,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...n}}const te=$({__name:"FormControl",setup(a){const{error:l,formItemId:o,formDescriptionId:i,formMessageId:n}=pe();return(u,k)=>(c(),h(e(Ne),{id:e(o),"data-slot":"form-control","aria-describedby":e(l)?`${e(i)} ${e(n)}`:`${e(i)}`,"aria-invalid":!!e(l)},{default:s(()=>[M(u.$slots,"default")]),_:3},8,["id","aria-describedby","aria-invalid"]))}}),se=$({__name:"FormItem",props:{class:{}},setup(a){const l=a,o=Ee();return Ue(xe,o),(i,n)=>(c(),g("div",{"data-slot":"form-item",class:A(e(O)("grid gap-2",l.class))},[M(i.$slots,"default")],2))}}),ne=$({__name:"FormLabel",props:{for:{},asChild:{type:Boolean},as:{},class:{}},setup(a){const l=a,{error:o,formItemId:i}=pe();return(n,u)=>(c(),h(e(Be),{"data-slot":"form-label","data-error":!!e(o),class:A(e(O)("data-[error=true]:text-destructive-foreground",l.class)),for:e(i)},{default:s(()=>[M(n.$slots,"default")]),_:3},8,["data-error","class","for"]))}}),oe=$({__name:"FormMessage",props:{class:{}},setup(a){const l=a,{name:o,formMessageId:i}=pe();return(n,u)=>(c(),h(e(pt),{id:e(i),"data-slot":"form-message",as:"p",name:qe(e(o)),class:A(e(O)("text-destructive-foreground text-sm",l.class))},null,8,["id","name","class"]))}}),Se=["lucide:badge","lucide:building-2","lucide:bone","lucide:book","hugeicons:ai-brain-05","lucide:circle-dashed","lucide:chess-bishop","lucide:chess-king","lucide:chess-pawn","lucide:chess-queen","lucide:chess-rook","lucide:fan","lucide:skull","lucide:ship-wheel","lucide:bug","lucide:hamburger"],ie=Se[0],Qt=$t({name:X({message:"Workspace name is required."}),desc:X().optional(),icon:X().default(ie)});function Xt(a){const{workspaceStore:l}=H(),o=mt({validationSchema:ft(Qt),initialValues:a.workspace?{name:a.workspace.name,desc:a.workspace.desc,icon:a.workspace.icon||ie}:{name:`My workspace ${(a==null?void 0:a.workspaceSeq)||0}`,icon:ie},name:"workspace-form"}),i=o.handleSubmit(n=>{!!a.workspace?(l.updateWorkspace({...a.workspace,desc:(n==null?void 0:n.desc)||void 0,name:n.name,icon:n.icon}),fe("Workspace has been updated",{description:q().toString()})):(l.createWorkspace({desc:(n==null?void 0:n.desc)||void 0,id:vt(),name:n.name,icon:n.icon,createdAt:q().toISOString()}),fe("Workspace has been created",{description:q().toString()})),a.onClose()});return{form:o,onSubmit:i}}const Zt={class:"grid grid-cols-8 gap-2"},Ie=$({__name:"CreateWorkspaceModal",props:{open:{},workspace:{},workspaceSeq:{}},emits:["update:open"],setup(a,{emit:l}){const o=a,i=l,n=()=>{i("update:open",!1)},{onSubmit:u}=Xt({workspace:o.workspace,workspaceSeq:o.workspaceSeq,onClose:n});return(k,m)=>{const v=I;return c(),h(e(ce),{open:!!k.open,"onUpdate:open":m[1]||(m[1]=r=>i("update:open",r))},{default:s(()=>[t(e(de),null,{default:s(()=>[t(e($e),null,{default:s(()=>[t(e(he),null,{default:s(()=>[w(y(k.workspace?"Update workspace":"New workspace"),1)]),_:1})]),_:1}),_("form",{class:"space-y-4",onSubmit:m[0]||(m[0]=(...r)=>e(u)&&e(u)(...r))},[t(e(Q),{name:"icon"},{default:s(({componentField:r})=>[t(e(se),null,{default:s(()=>[t(e(ne),null,{default:s(()=>m[2]||(m[2]=[w("Icon")])),_:1}),t(e(te),null,{default:s(()=>[t(e(_t),null,{default:s(()=>[t(e(kt),{"as-child":""},{default:s(()=>[t(e(le),{class:"cursor-pointer"},{default:s(()=>[t(e(re),null,{default:s(()=>[t(v,{name:r.modelValue||"hugeicons:folder-01",class:"size-5!"},null,8,["name"])]),_:2},1024)]),_:2},1024)]),_:2},1024),t(e(wt),{class:"w-full p-4"},{default:s(()=>[_("div",Zt,[(c(!0),g(j,null,G(e(Se),d=>(c(),h(e(le),{onClick:C=>r.onChange(d),key:d,class:"cursor-pointer"},{default:s(()=>[t(e(re),null,{default:s(()=>[t(v,{name:d,class:"size-5!"},null,8,["name"])]),_:2},1024)]),_:2},1032,["onClick"]))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024),t(e(oe))]),_:2},1024)]),_:1}),t(e(Q),{name:"name"},{default:s(({componentField:r})=>[t(e(se),null,{default:s(()=>[t(e(ne),{class:"gap-1"},{default:s(()=>m[3]||(m[3]=[w("Name "),_("span",{class:"text-red-500"},"*",-1)])),_:1}),t(e(te),null,{default:s(()=>[t(e(Ce),ae({type:"text",placeholder:"Workspace name"},r),null,16)]),_:2},1024),t(e(oe))]),_:2},1024)]),_:1}),t(e(Q),{name:"desc"},{default:s(({componentField:r})=>[t(e(se),null,{default:s(()=>[t(e(ne),null,{default:s(()=>m[4]||(m[4]=[w("Description")])),_:1}),t(e(te),null,{default:s(()=>[t(e(gt),ae({placeholder:"Workspace description ..."},r),null,16)]),_:2},1024),t(e(oe))]),_:2},1024)]),_:1}),t(e(be),{class:"mt-4"},{default:s(()=>[t(e(F),{type:"submit"},{default:s(()=>[w(y(k.workspace?"Update":"Create"),1)]),_:1})]),_:1})],32)]),_:1})]),_:1},8,["open"])}}});var K={exports:{}},es=K.exports,ke;function ts(){return ke||(ke=1,function(a,l){(function(o,i){a.exports=i()})(es,function(){return function(o,i,n){o=o||{};var u=i.prototype,k={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function m(r,d,C,p){return u.fromToBase(r,d,C,p)}n.en.relativeTime=k,u.fromToBase=function(r,d,C,p,W){for(var z,x,b,f=C.$locale().relativeTime||k,L=o.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],J=L.length,U=0;U<J;U+=1){var T=L[U];T.d&&(z=p?n(r).diff(C,T.d,!0):C.diff(r,T.d,!0));var N=(o.rounding||Math.round)(Math.abs(z));if(b=z>0,N<=T.r||!T.r){N<=1&&U>0&&(T=L[U-1]);var V=f[T.l];W&&(N=W(""+N)),x=typeof V=="string"?V.replace("%d",N):V(N,d,T.l,b);break}}if(d)return x;var P=b?f.future:f.past;return typeof P=="function"?P(x):P.replace("%s",x)},u.to=function(r,d){return m(r,d,this,!0)},u.from=function(r,d){return m(r,d,this)};var v=function(r){return r.$u?n.utc():n()};u.toNow=function(r){return this.to(v(this),r)},u.fromNow=function(r){return this.from(v(this),r)}}})}(K)),K.exports}var ss=ts();const ns=Re(ss);function os(a){const{workspaceStore:l,connectionStore:o,createConnection:i,openWorkspaceWithConnection:n}=H(),u=D(!1),k=D(!1),m=D(!1),v=D(),r=D(!1),d=()=>{k.value=!1,l.deleteWorkspace(a.workspace.id)},C=ue(()=>o.getConnectionsByWorkspaceId(a.workspace.id));return{workspaceStore:l,isOpenEditModal:u,isOpenDeleteModal:k,isOpenConnectionSelector:m,dropdownTriggerRef:v,isModalCreateConnectionOpen:r,connections:C,onConfirmDelete:d,onOpenWorkspace:()=>{var b;(b=a.onSelectWorkspace)==null||b.call(a,a.workspace.id)},onOpenConnectionSelector:()=>{m.value=!0},onOpenWorkspaceWithConnection:async b=>{m.value=!1,await n({connId:b,wsId:a.workspace.id})},handleAddConnection:b=>{i(b)}}}const as=$({__name:"DeleteWorkspaceModal",props:{open:{},onConfirm:{type:Function}},emits:["update:open"],setup(a,{emit:l}){const o=l;return(i,n)=>{const u=F,k=de;return c(),h(e(ce),{open:!!i.open,"onUpdate:open":n[0]||(n[0]=m=>o("update:open",m))},{default:s(()=>[t(k,null,{default:s(()=>[t(e($e),null,{default:s(()=>[t(e(he),null,{default:s(()=>n[1]||(n[1]=[w("Delete workspace")])),_:1}),t(e(je),null,{default:s(()=>n[2]||(n[2]=[w(" Are you sure you want to delete this workspace? "),_("br",null,null,-1),w(" All data will be permanently deleted this action cannot be undone. ")])),_:1})]),_:1}),t(e(be),null,{default:s(()=>[t(u,{type:"submit",onClick:i.onConfirm,variant:"default"},{default:s(()=>n[3]||(n[3]=[w(" Delete ")])),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),ls={class:"flex items-center space-x-2"},rs={class:"space-y-1"},is={class:"text-sm line-clamp-2 break-words break-all text-left"},cs={class:"flex items-center pt-2"},ds={class:"text-xs text-muted-foreground"},us={class:"flex items-center pt-2"},ps={key:0,class:"text-xs text-muted-foreground"},ms={key:1,class:"text-xs text-muted-foreground"},fs={class:"flex items-center pt-2"},_s={class:"text-xs text-muted-foreground"},ks={class:"flex items-center gap-1"},ws={class:"flex items-center gap-2"},gs=$({__name:"WorkspaceCard",props:{workspace:{},onOpenWorkspace:{type:Function}},emits:["onSelectWorkspace"],setup(a,{emit:l}){q.extend(ns);const o=a,i=l,{workspaceStore:n,isOpenEditModal:u,isOpenDeleteModal:k,isOpenConnectionSelector:m,dropdownTriggerRef:v,isModalCreateConnectionOpen:r,connections:d,onConfirmDelete:C,onOpenWorkspace:p,onOpenConnectionSelector:W,onOpenWorkspaceWithConnection:z,handleAddConnection:x}=os({workspace:o.workspace,onSelectWorkspace:b=>i("onSelectWorkspace",b)});return(b,f)=>{const L=re,J=le,U=Ct,T=yt,N=bt,V=ht,P=Ke,We=He;return c(),g(j,null,[e(r)?(c(),h(e(ye),{key:0,open:e(r),"editing-connection":null,"onUpdate:open":f[0]||(f[0]=S=>r.value=S),onAddNew:e(x),workspaceId:b.workspace.id},null,8,["open","onAddNew","workspaceId"])):B("",!0),e(u)?(c(),h(Ie,{key:1,open:e(u),"onUpdate:open":f[1]||(f[1]=S=>R(u)?u.value=S:null),workspace:b.workspace,workspaceSeq:e(n).workspaces.length},null,8,["open","workspace","workspaceSeq"])):B("",!0),e(k)?(c(),h(as,{key:2,open:e(k),"onUpdate:open":f[2]||(f[2]=S=>R(k)?k.value=S:null),onConfirm:e(C)},null,8,["open","onConfirm"])):B("",!0),t(e(St),{class:"gap-4 justify-between!"},{default:s(()=>[t(e(Lt),{class:"flex justify-between px-4"},{default:s(()=>[_("div",ls,[t(J,null,{default:s(()=>[t(L,null,{default:s(()=>[t(e(I),{name:b.workspace.icon,class:"size-5!"},null,8,["name"])]),_:1})]),_:1}),_("div",null,[t(e(Vt),{class:"line-clamp-1"},{default:s(()=>[w(y(b.workspace.name),1)]),_:1})])]),t(V,null,{default:s(()=>[t(U,null,{default:s(()=>[t(e(F),{size:"icon",variant:"ghost"},{default:s(()=>[t(e(I),{name:"hugeicons:more-vertical-circle-01",class:"size-4!"})]),_:1})]),_:1}),t(N,null,{default:s(()=>[t(T,{class:"cursor-pointer flex items-center",onClick:f[3]||(f[3]=S=>u.value=!0)},{default:s(()=>[t(e(I),{name:"hugeicons:pencil-edit-02",class:"size-4! min-w-4"}),f[9]||(f[9]=w(" Edit workspace "))]),_:1}),t(T,{class:"cursor-pointer flex items-center",disabled:""},{default:s(()=>[t(e(I),{name:"hugeicons:link-04",class:"size-4! min-w-4"}),f[10]||(f[10]=w(" Invite "))]),_:1}),t(T,{class:"cursor-pointer flex items-center",onClick:f[4]||(f[4]=S=>k.value=!0)},{default:s(()=>[t(e(I),{name:"hugeicons:delete-02",class:"size-4! min-w-4"}),f[11]||(f[11]=w(" Delete workspace "))]),_:1})]),_:1})]),_:1})]),_:1}),t(e(xt),{class:"grid gap-4 overflow-hidden px-4"},{default:s(()=>[_("div",rs,[_("p",is,y(b.workspace.desc),1),_("div",cs,[t(e(I),{name:"hugeicons:connect",class:"mr-2 h-4 w-4 opacity-70"}),_("span",ds," Connection : "+y(e(d).length),1)]),_("div",us,[t(e(I),{name:"hugeicons:clock-05",class:"mr-2 h-4 w-4 opacity-70"}),b.workspace.lastOpened?(c(),g("span",ps," Last opened : "+y(e(q)(b.workspace.lastOpened).fromNow()),1)):(c(),g("span",ms," Last opened : -/- "))]),_("div",fs,[t(e(I),{name:"hugeicons:clock-01",class:"mr-2 h-4 w-4 opacity-70"}),_("span",_s," Created : "+y(e(q)(b.workspace.createdAt).fromNow()),1)])])]),_:1}),t(e(jt),{class:"px-4"},{default:s(()=>[t(e(Le),{open:e(m),"onUpdate:open":f[8]||(f[8]=S=>R(m)?m.value=S:null)},{default:s(()=>[t(e(F),{ref_key:"dropdownTriggerRef",ref:v,variant:"default",class:"w-full flex items-center justify-between",onClick:f[6]||(f[6]=S=>e(p)()),size:"sm"},{default:s(()=>[_("div",ks,[t(e(I),{name:"hugeicons:square-arrow-up-right",class:"h-4 w-4"}),f[12]||(f[12]=w(" Open workspace "))]),t(e(F),{size:"iconSm",variant:"ghost",onClick:f[5]||(f[5]=Ve(S=>e(W)(),["stop"]))},{default:s(()=>[t(e(I),{name:"hugeicons:arrow-down-01",class:"size-5!"})]),_:1})]),_:1},512),t(e(Pe),{reference:e(v)},{default:s(()=>[t(We,null,{default:s(()=>[_("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:f[7]||(f[7]=S=>r.value=!0)},[t(e(I),{name:"hugeicons:plus-sign"}),f[13]||(f[13]=w(" Add new connection "))]),e(d).length?(c(),h(P,{key:0})):B("",!0),(c(!0),g(j,null,G(e(d),S=>(c(),h(e(Ge),{class:"cursor-pointer",value:S.id,onSelect:Y=>e(z)(S.id)},{default:s(()=>{var Y;return[_("div",ws,[(c(),h(ge((Y=e(ve)(S.type))==null?void 0:Y.icon),{class:"size-4!"})),w(" "+y(S.name),1)])]}),_:2},1032,["value","onSelect"]))),256))]),_:1})]),_:1},8,["reference"])]),_:1},8,["open"])]),_:1})]),_:1})],64)}}}),vs={class:"flex items-center justify-between mt-2"},$s={class:"container flex flex-col items-start gap-1 py-2"},hs={class:"text-3xl flex items-center gap-2 font-bold leading-tight tracking-tighter lg:leading-[1.1]"},Cs=$({__name:"WorkspaceHeader",props:{isShowButtonCreate:{type:Boolean}},emits:["create"],setup(a,{emit:l}){const o=l;return(i,n)=>{const u=I;return c(),g("div",vs,[_("div",$s,[_("h1",hs,[n[1]||(n[1]=w(" Hello ")),t(u,{name:"hugeicons:waving-hand-01"})]),n[2]||(n[2]=_("p",{class:"max-w-2xl text-lg font-light text-foreground"}," Welcome to your workspaces ",-1))]),_("div",null,[i.isShowButtonCreate?(c(),h(e(F),{key:0,variant:"outline",size:"sm",onClick:n[0]||(n[0]=k=>o("create"))},{default:s(()=>[t(u,{name:"lucide:plus"}),n[3]||(n[3]=w(" New Workspace"))]),_:1})):B("",!0)])])}}});function bs(){const{workspaceStore:a,connectionStore:l}=H(),o=Je(""),i=D(""),n=Ye(o,Qe),u=ue(()=>(a.workspaces||[]).filter(r=>r.name.toLowerCase().includes(n.value.toLowerCase()))),k=D(!1),m=D(!1);return{workspaceStore:a,connectionStore:l,search:o,workspaceId:i,mappedWorkspaces:u,isOpenSelectConnectionModal:k,isOpenCreateWSModal:m,onSelectWorkspace:r=>{k.value=!0,i.value=r}}}const ys={class:"flex flex-col h-full overflow-y-auto p-4 pt-0 space-y-4"},xs={class:"relative w-full"},Ss={key:0,class:"grid grid-cols-3 gap-4 overflow-y-auto"},Is=$({__name:"Workspaces",setup(a){const{workspaceStore:l,connectionStore:o,search:i,workspaceId:n,mappedWorkspaces:u,isOpenSelectConnectionModal:k,isOpenCreateWSModal:m,onSelectWorkspace:v}=bs();return(r,d)=>{const C=I,p=Ce,W=F,z=we;return c(),g(j,null,[e(m)?(c(),h(Ie,{key:0,open:e(m),"onUpdate:open":d[0]||(d[0]=x=>R(m)?m.value=x:null),workspaceSeq:e(l).workspaces.length},null,8,["open","workspaceSeq"])):B("",!0),t(e(Yt),{open:e(k),"onUpdate:open":d[1]||(d[1]=x=>R(k)?k.value=x:null),connections:e(o).getConnectionsByWorkspaceId(e(n)),"workspace-id":e(n)},null,8,["open","connections","workspace-id"]),_("div",ys,[t(Cs,{onCreate:d[2]||(d[2]=x=>m.value=!0),"is-show-button-create":!!e(u).length},null,8,["is-show-button-create"]),_("div",xs,[t(C,{name:"hugeicons:search-01",class:"absolute left-2.5 -translate-y-1/2 top-1/2 size-4"}),t(p,{type:"text",modelValue:e(i),"onUpdate:modelValue":d[3]||(d[3]=x=>R(i)?i.value=x:null),placeholder:"Search workspaces...",class:"pl-10 w-full"},null,8,["modelValue"])]),e(u).length?(c(),g("div",Ss,[(c(!0),g(j,null,G(e(u),x=>(c(),h(gs,{workspace:x,onOnSelectWorkspace:e(v)},null,8,["workspace","onOnSelectWorkspace"]))),256))])):(c(),h(z,{key:1,title:"No workspaces found",desc:"There is nothing here to show. Let's create your first workspace."},{default:s(()=>[t(W,{variant:"default",size:"sm",onClick:d[4]||(d[4]=x=>m.value=!0)},{default:s(()=>[t(C,{name:"hugeicons:plus-sign"}),d[5]||(d[5]=w(" New Workspace "))]),_:1})]),_:1}))])],64)}}}),Ls=$({__name:"index",setup(a){return(l,o)=>(c(),h(e(Is)))}});export{Ls as default};
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.3 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-border-style:solid}}}.jse-status-bar{display:none!important}.ag-popup-editor{border-radius:calc(var(--radius) - 2px);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.jse-menu{border-top-left-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.jse-text-mode .jse-contents{border-bottom-left-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.jse-button.jse-group-button.jse-first{border-bottom-left-radius:calc(var(--radius) - 4px)!important;border-top-left-radius:calc(var(--radius) - 4px)!important}.jse-button.jse-group-button.jse-last{border-bottom-right-radius:calc(var(--radius) - 4px)!important;border-top-right-radius:calc(var(--radius) - 4px)!important}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}.cellCenter .ag-cell-wrapper{justify-content:center}
@@ -1,67 +0,0 @@
1
- import{u as Aa,_ as Ra,a as $a,b as Oa}from"./vU5dtBjy.js";import{bo as Na,r as H,bp as Jt,aJ as ct,bq as ka,D as B,d as se,br as La,bl as He,g as V,h as E,a as re,F as Te,q as $e,c as te,x as De,e as g,l as i,m as Re,b as s,I as me,y as _e,v as ne,A as Ae,bs as Zt,o as D,s as Xe,as as en,aC as xe,Y as Ee,aG as Ue,n as ye,bt as Pa,be as St,f as It,aI as Ve,a2 as Le,aN as ze,bu as Fa,bj as Ma,bc as Ua,aD as Va,bv as za,bw as ja,p as F,aH as na,bx as jt,k as Pe,al as fe,X as tn,W as Ie,at as nn,j as an,t as Bt,Z as on,$ as aa,a0 as Ba,a1 as rn,aP as qt,aQ as oa,R as ln,a3 as ut,a4 as Ze,ac as K,by as En,_ as Ke,a6 as sn,ba as qa,a5 as cn,N as Ht,bz as Dn,bA as Me,aU as ra,bh as Ce,M as be,bB as la,bC as Ha,aa as Ga,aM as vt,C as Wa,O as Ka,Q as Qa,V as Ya,K as Xa,bf as Ja,T as Za,B as eo,bD as to,w as un,bE as no,ax as ao,ay as oo,az as _n,bF as ro,bG as lo,bH as so,aL as io,bI as co,bJ as sa,bK as uo,bL as po,bM as fo,bN as Gt,aO as mo,bb as vo,bm as gt}from"./DftZZFKd.js";import{_ as go}from"./BHFnD9yO.js";import{j as Et,C as W,_ as yo,b as ho,c as bo,e as Ot}from"./D8s-WG7x.js";import{u as An}from"./kehy-5uo.js";import{_ as wo}from"./CfblXyCF.js";import{a as dn,b as pn,c as fn,d as mn,e as vn,f as gn,g as ia,_ as yn}from"./DfL_wWxk.js";import{u as ca,_ as ua}from"./CAcIcjka.js";import{g as Nt}from"./B-o1cyu1.js";import{f as Rn}from"./BKltSiU0.js";import{_ as So}from"./BIW9Rd2L.js";import{_ as xo,a as To,b as Co}from"./B3XOCDJg.js";import{_ as Io}from"./DAsY4LnG.js";import{a as Eo,b as Do,c as _o,d as Ao,e as Ro}from"./BranJUWp.js";import{i as $o,a as Oo}from"./D8pqASdN.js";import{_ as kt}from"./Cqe10li5.js";import"./aKVabwds.js";import"./CQNFvXDN.js";import"./BZEKLHO-.js";import"./DNmOzKte.js";import"./Bdtn2mn5.js";import"./BUuSKT2f.js";var we=(e=>(e.Explorer="Explorer",e.Schemas="Schemas",e.ErdDiagram="ERDiagram",e.UsersRoles="UsersRoles",e.DatabaseExport="DatabaseExport",e.Agent="Agent",e))(we||{});const da=Na("activity-bar",()=>{const e=H("Schemas"),t=u=>{e.value=u},a=H(["Tables"]),n=H(0),l=H([]),o=H(0),r=H([]),m=H(0);return{activityActive:e,setActivityActive:t,schemasExpandedState:a,schemaCurrentScrollTop:n,explorerExpandedState:l,explorerCurrentScrollTop:o,onCollapsedSchemaTree:()=>{a.value=[]},onCollapsedErdTree:()=>{r.value=[]},erdExpandedState:r,erdCurrentScrollTop:m}},{persist:!0});/**
2
- * @license lucide-vue-next v0.487.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const No=Jt("file",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}]]);/**
7
- * @license lucide-vue-next v0.487.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */const ko=Jt("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
12
- * @license lucide-vue-next v0.487.0 - ISC
13
- *
14
- * This source code is licensed under the ISC license.
15
- * See the LICENSE file in the root directory of this source tree.
16
- */const Lo=Jt("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var Ne=(e=>(e.Superuser="superuser",e.User="user",e.Role="role",e))(Ne||{});const pa=()=>{const e=da(),t=ct(),{trackEvent:a}=ka();return{activity:B(()=>[{id:we.Explorer,title:"Files / Folders",icon:"hugeicons:folder-file-storage",isActive:e.activityActive===we.Explorer},{id:we.Schemas,title:"Schemas",icon:"hugeicons:database",isActive:e.activityActive===we.Schemas},{id:we.ErdDiagram,title:"ErdDiagram",icon:"hugeicons:hierarchy-square-02",isActive:e.activityActive===we.ErdDiagram},{id:we.UsersRoles,title:"Users & Roles",icon:"hugeicons:user-shield-01",isActive:e.activityActive===we.UsersRoles},{id:we.Agent,title:"AI Agent",icon:"hugeicons:robotic",isActive:e.activityActive===we.Agent}]),onChangeActivity:(o,r)=>{e.setActivityActive(o),r&&t.onToggleActivityBarPanel(),a("activity_bar",{activity:o})}}},Po={class:"max-w-9 min-w-9 py-2"},Fo={class:"flex flex-col justify-between h-full space-y-2"},Mo={class:"flex flex-col items-center gap-1"},Uo=se({__name:"ActivityBar",setup(e){const{activity:t,onChangeActivity:a}=pa();return La(),(n,l)=>{const o=me,r=Re,m=_e,c=Ae,d=De,u=Zt("auto-animate");return He((D(),V("div",Po,[E("div",Fo,[E("div",Mo,[(D(!0),V(Te,null,$e(s(t),f=>(D(),te(d,null,{default:g(()=>[i(m,{"as-child":""},{default:g(()=>[i(r,{size:"iconMd",variant:f.isActive?"default":"ghost",onClick:h=>s(a)(f.id,!0)},{default:g(()=>[i(o,{name:f.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),i(c,{side:"right"},{default:g(()=>[E("p",null,ne(f.title),1)]),_:2},1024)]),_:2},1024))),256))]),re("",!0)])])),[[u]])}}}),Vo={class:"flex items-center gap-1"},zo=se({__name:"ActivityBarHorizontal",setup(e){const{activity:t,onChangeActivity:a}=pa();return(n,l)=>{const o=me,r=Re,m=_e,c=Ae,d=De;return D(),V("div",Vo,[(D(!0),V(Te,null,$e(s(t),u=>(D(),te(d,null,{default:g(()=>[i(m,{"as-child":""},{default:g(()=>[i(r,{size:"iconMd",variant:u.isActive?"default":"ghost",onClick:f=>s(a)(u.id)},{default:g(()=>[i(o,{name:u.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),i(c,{side:"bottom"},{default:g(()=>[E("p",null,ne(u.title),1)]),_:2},1024)]),_:2},1024))),256))])}}}),jo={class:"drag-preview"},Bo={class:"drag-preview__icon"},qo={class:"drag-preview__text"},Ho={key:0,class:"drag-preview__badge"},Go=se({__name:"PseudomorphismDragItem",props:{count:{},itemName:{},itemType:{}},setup(e){const t=e,a=B(()=>t.count>1?Lo:t.itemType==="folder"?ko:No),n=B(()=>t.count===1?t.itemName:`${t.count} items`),l=B(()=>t.count>1);return(o,r)=>(D(),V("div",jo,[E("span",Bo,[(D(),te(Xe(a.value),{size:16,"stroke-width":2}))]),E("span",qo,ne(n.value),1),l.value?(D(),V("span",Ho,ne(o.count),1)):re("",!0)]))}}),Wo=en(Go,[["__scopeId","data-v-93dbafcc"]]),Ko=["draggable"],Qo={key:1,class:"tree-row__spacer"},Yo={key:4,class:"tree-row__name"},Xo=["aria-invalid","aria-errormessage","onKeydown"],Jo=se({__name:"TreeRow",props:{node:{},isSelected:{type:Boolean},isExpanded:{type:Boolean},isFocused:{type:Boolean},dropIndicator:{},isEditing:{type:Boolean,default:!1},renameError:{default:""},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8}},emits:["click","dblclick","toggle","dragstart","dragover","dragleave","dragend","drop","contextmenu","rename","editingChange","cancelRename"],setup(e,{expose:t,emit:a}){const n=e,l=a,o=H(n.node.name),r=H(null),m=()=>{const x=o.value.trim();x&&x!==n.node.name?l("rename",x):l("cancelRename")},c=B(()=>!!n.renameError),d=()=>{if(c.value){u();return}m()},u=()=>{o.value=n.node.name,l("cancelRename")},f=async()=>{var x,b;await Ve(),(x=r.value)==null||x.focus(),(b=r.value)==null||b.select()};xe(()=>n.isEditing,x=>{x&&(o.value=n.node.name,f())}),xe(()=>n.node.name,x=>{n.isEditing||(o.value=x)});const h=B(()=>({paddingLeft:`${n.node.depth*n.indentSize+n.baseIndent}px`,height:`${n.itemHeight}px`})),p=B(()=>n.node.type==="folder"&&n.isExpanded&&n.node.iconOpen||n.node.iconClose),v=B(()=>n.node.type==="folder"?n.isExpanded?"hugeicons:folder-02":"hugeicons:folder-01":"hugeicons:file-01"),y=B(()=>{var x,b,C;return{"tree-row":!0,"tree-row--selected":n.isSelected,"tree-row--focused":n.isFocused&&!n.isEditing,"tree-row--drop-before":((x=n.dropIndicator)==null?void 0:x.position)==="before","tree-row--drop-after":((b=n.dropIndicator)==null?void 0:b.position)==="after","tree-row--drop-inside":((C=n.dropIndicator)==null?void 0:C.position)==="inside"}}),w=B(()=>({transform:n.isExpanded?"rotate(90deg)":"rotate(0deg)"}));return t({focusInput:f}),(x,b)=>(D(),V("div",{class:ye(y.value),style:Ue(h.value),draggable:x.allowDragAndDrop&&!x.isEditing,onClick:b[7]||(b[7]=C=>l("click",C)),onDblclick:b[8]||(b[8]=C=>l("dblclick",C)),onDragstart:b[9]||(b[9]=C=>l("dragstart",C)),onDragover:b[10]||(b[10]=C=>l("dragover",C)),onDragleave:b[11]||(b[11]=C=>l("dragleave",C)),onDragend:b[12]||(b[12]=C=>l("dragend",C)),onDrop:b[13]||(b[13]=C=>l("drop",C)),onContextmenu:b[14]||(b[14]=Ee(C=>l("contextmenu",C),["right"]))},[x.node.type==="folder"?(D(),V("button",{key:0,class:"tree-row__chevron",style:Ue(w.value),onClick:b[0]||(b[0]=Ee(C=>l("toggle"),["stop"]))},[i(s(me),{name:"hugeicons:arrow-right-01",class:"size-4"})],4)):(D(),V("div",Qo)),p.value?(D(),te(s(me),{key:2,name:p.value,class:ye(["tree-row__icon size-4!",x.node.iconClass])},null,8,["name","class"])):(D(),te(Xe(s(me)),{key:3,name:v.value,class:ye(["tree-row__icon",x.node.iconClass])},null,8,["name","class"])),x.isEditing?He((D(),V("input",{key:5,ref_key:"inputRef",ref:r,"onUpdate:modelValue":b[1]||(b[1]=C=>o.value=C),type:"text",class:ye(["tree-row__edit-input",{"tree-row__edit-input--error":c.value}]),"aria-invalid":c.value,"aria-errormessage":c.value?`rename-error-${x.node.id}`:void 0,onInput:b[2]||(b[2]=C=>l("editingChange",o.value)),onBlur:d,onKeydown:[St(Ee(m,["stop"]),["enter"]),St(u,["esc"]),b[3]||(b[3]=St(Ee(()=>{},["stop"]),["space"]))],onClick:b[4]||(b[4]=Ee(()=>{},["stop"])),onDblclick:b[5]||(b[5]=Ee(()=>{},["stop"]))},null,42,Xo)),[[Pa,o.value]]):(D(),V("span",Yo,ne(x.node.name),1)),x.isEditing?re("",!0):(D(),V("div",{key:6,class:"tree-row__actions",onClick:b[6]||(b[6]=Ee(()=>{},["stop"]))},[It(x.$slots,"actions",{node:x.node},void 0,!0)]))],46,Ko))}}),Zo=en(Jo,[["__scopeId","data-v-af018028"]]),Lt=e=>typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function",Ye=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):null,yt=e=>[...e],er=()=>{var t,a,n,l;if(typeof window>"u")return!1;const e=window;return(a=(t=e.process)==null?void 0:t.versions)!=null&&a.electron?!0:!!((l=(n=e.navigator)==null?void 0:n.userAgent)!=null&&l.includes("Electron"))},Pt=()=>({loadExpandedIds:e=>{if(typeof window>"u")return null;const t=window.localStorage.getItem(`${e}_expanded`);if(!t)return null;try{return Ye(JSON.parse(t))}catch{return null}},saveExpandedIds:(e,t)=>{typeof window>"u"||window.localStorage.setItem(`${e}_expanded`,JSON.stringify(t))},clearExpandedIds:e=>{typeof window>"u"||window.localStorage.removeItem(`${e}_expanded`)}}),tr=(e={})=>{const t=e.pushDebounceMs??400,a=new Map,n=new Set,l=new Map,o=(f,h)=>{var p;(p=e.onError)==null||p.call(e,f,h)},r=()=>{const f=e.mode??"auto";return f==="web"?e.webStorage??Pt():f==="electron"?e.electronStorage??e.webStorage??Pt():er()&&e.electronStorage?e.electronStorage:e.webStorage??Pt()},m=(f,h)=>{var x;const p=(x=e.apiSync)==null?void 0:x.pushExpandedIds;if(!p)return;const v=f.storageKey,y=l.get(v);y&&clearTimeout(y);const w=setTimeout(()=>{l.delete(v);const b=p(v,yt(h)).catch(C=>{o(C,"push")});n.add(b),b.finally(()=>{n.delete(b)})},t);l.set(v,w)},c=(f,h)=>{const v=r().saveExpandedIds(f.storageKey,yt(h));Lt(v)&&v.catch(y=>{o(y,"save")})},d=f=>{const p=r().loadExpandedIds(f.storageKey);return Lt(p)?(p.then(v=>{const y=Ye(v);y&&a.set(f.storageKey,y)}).catch(v=>{o(v,"load")}),null):Ye(p)};return{loadExpandedIds:f=>{const h=a.get(f.storageKey);if(h)return yt(h);const p=d(f);return p&&a.set(f.storageKey,p),p},saveExpandedIds:(f,h)=>{const p=Ye(f)??[];a.set(h.storageKey,p),c(h,p),m(h,p)},clearExpandedIds:f=>{var y;a.delete(f.storageKey);const h=l.get(f.storageKey);h&&(clearTimeout(h),l.delete(f.storageKey));const p=r(),v=(y=p.clearExpandedIds)==null?void 0:y.call(p,f.storageKey);Lt(v)&&v.catch(w=>{o(w,"clear")}),m(f,[])},preload:async f=>{var x;const h=r();let p=null;try{const b=await h.loadExpandedIds(f.storageKey);p=Ye(b)}catch(b){o(b,"preload")}const v=(x=e.apiSync)==null?void 0:x.pullExpandedIds;if(!v)return p&&a.set(f.storageKey,p),p;let y=null;try{const b=await v(f.storageKey);y=Ye(b)}catch(b){o(b,"pull")}const w=e.preferRemote?y??p:p??y;if(!w)return null;a.set(f.storageKey,w);try{await h.saveExpandedIds(f.storageKey,yt(w))}catch(b){o(b,"save")}return w},flush:async()=>{await Promise.all(Array.from(n))}}},$n=window.setInterval,nr=["id"],ar=se({__name:"FileTree",props:{initExpandedIds:{},initialData:{},validateRename:{},storageKey:{default:"vscode_tree_state"},allowSort:{type:Boolean,default:!1},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8},autoExpandDelay:{default:100},delayFocus:{default:50},autoScrollThreshold:{default:50},autoScrollSpeed:{default:10},overscan:{default:10},persistenceExtension:{default:()=>tr({mode:"web",pushDebounceMs:400})}},emits:["move","select","click","contextmenu","rename","cancel-rename"],setup(e,{expose:t,emit:a}){const n=e,l=a,o=Le({}),r=H(new Set(n.initExpandedIds||[])),m=H(new Set),c=H(null),d=H(null),u=H({}),f=B(()=>({storageKey:`${n.storageKey}_expanded`})),h=_=>Array.isArray(_)?_.filter(N=>typeof N=="string"):null,p=B(()=>({load:()=>{var N;const _=(N=n.persistenceExtension)==null?void 0:N.loadExpandedIds;if(!_)return null;try{const j=_(f.value);return h(j)}catch(j){return console.error("Failed to load expanded ids from persistence extension",j),null}},save:_=>{var j;const N=(j=n.persistenceExtension)==null?void 0:j.saveExpandedIds;if(N)try{N(_,f.value)}catch(U){console.error("Failed to save expanded ids using persistence extension",U)}}})),v=B(()=>n.persistenceExtension?p.value:null),y=B(()=>Object.values(o.value).filter(_=>_.parentId===null).map(_=>_.id)),w=B(()=>{const _=[],N=j=>{for(const U of j){_.push(U);const ee=o.value[U];ee.children&&ee.children.length>0&&r.value.has(U)&&N(ee.children)}};return N(y.value),_}),x=ze("parentRef"),b=H(!1),C=H(0),T=Fa({get count(){return w.value.length},getScrollElement:()=>x.value,estimateSize:()=>n.itemHeight,overscan:n.overscan});Ma(()=>{C.value=Math.round(T.value.scrollOffset??0)||0}),Ua(async()=>{await Ve(),setTimeout(()=>{T.value.scrollToOffset(C.value)},0)});const A=H(null),P=H(null),Y=H(null),$=H(null),k=H(null),I=H(!1),O=H(null),L=B(()=>{if(!O.value||!I.value)return null;const _=O.value,N=w.value.indexOf(_);if(N===-1)return null;const j=o.value[_];if(!j)return null;let U=N;for(let ee=N+1;ee<w.value.length&&o.value[w.value[ee]].depth>j.depth;ee++)U=ee;return{top:N*n.itemHeight,height:(U-N+1)*n.itemHeight}}),R=B(()=>{if(!d.value)return null;const _=u.value[d.value];if(!_)return null;const N=w.value.indexOf(d.value);if(N===-1)return null;const j=o.value[d.value];if(!j)return null;const U=(N+1)*n.itemHeight+2,ee=j.depth*n.indentSize+n.baseIndent+20+22;return{top:U,left:ee,message:_}}),M=_=>{r.value.has(_)?r.value.delete(_):r.value.add(_),r.value=new Set(r.value)},X=(_,N)=>{if(_.ctrlKey||_.metaKey)m.value.has(N)?m.value.delete(N):m.value.add(N),m.value=new Set(m.value);else if(_.shiftKey&&c.value){const j=w.value.indexOf(c.value),U=w.value.indexOf(N),[ee,ue]=j<U?[j,U]:[U,j];m.value=new Set(w.value.slice(ee,ue+1))}else m.value=new Set([N]);c.value=N,l("select",Array.from(m.value)),_.type==="click"&&l("click",N,_)},J=_=>{o.value[_].type==="folder"&&M(_)},ae=(_,N)=>{if(!n.allowDragAndDrop){_.preventDefault();return}A.value=N,I.value=!0;const j=o.value[N],U=m.value.has(N)&&m.value.size>1,ee=U?Array.from(m.value):[N];if(_.dataTransfer){_.dataTransfer.effectAllowed="move";const ue={nodeId:N,node:j,selectedNodeIds:U?ee:void 0};_.dataTransfer.setData("application/json",JSON.stringify(ue));const le=ce(ee.length,j.name,j.type);document.body.appendChild(le),_.dataTransfer.setDragImage(le,20,20),setTimeout(()=>{document.body.removeChild(le)},0)}},ce=(_,N,j)=>{const U=document.createElement("div"),ee=na(Wo,{count:_,itemName:N,itemType:j});return jt(ee,U),U.firstElementChild},de=_=>{if(!x.value||!I.value)return;const N=x.value,j=N.getBoundingClientRect(),U=n.autoScrollThreshold,ee=n.autoScrollSpeed,ue=_.clientY-j.top,le=j.height;k.value&&(clearInterval(k.value),k.value=null),ue<U&&ue>0?k.value=$n(()=>{N.scrollTop>0&&(N.scrollTop-=ee)},16):ue>le-U&&ue<le&&(k.value=$n(()=>{const Be=N.scrollHeight-N.clientHeight;N.scrollTop<Be&&(N.scrollTop+=ee)},16))},ie=(_,N)=>{var U;let j=_;for(;j;){if(j===N)return!0;j=((U=o.value[j])==null?void 0:U.parentId)??null}return!1},ge=(_,N)=>{const U=_.currentTarget.getBoundingClientRect(),ee=_.clientY-U.top,ue=U.height,le=o.value[N];return!n.allowSort||le.type==="folder"&&ee>ue*.2&&ee<ue*.8?"inside":ee<ue/2?"before":"after"},G=(_,N)=>{if(_.preventDefault(),!n.allowDragAndDrop||!A.value||A.value===N)return;const j=o.value[N];de(_);let U=null;if(j.type==="folder"?U=N:j.parentId&&(U=j.parentId),U===A.value||U&&ie(U,A.value)){O.value=null,P.value=null;return}if(U&&(O.value=U,P.value={nodeId:U,position:"inside"}),n.allowSort&&j.type==="folder"){const ue=ge(_,N);ue!=="inside"&&(O.value=null,P.value={nodeId:N,position:ue})}const ee=U||N;if(ee!==$.value){clearTimeout(Y.value),$.value=ee;const ue=o.value[ee];(ue==null?void 0:ue.type)==="folder"&&!r.value.has(ee)&&(Y.value=setTimeout(()=>{$.value===ee&&I.value&&(r.value.add(ee),r.value=new Set(r.value))},n.autoExpandDelay))}},S=()=>{},z=()=>{clearTimeout(Y.value),k.value&&(clearInterval(k.value),k.value=null),I.value=!1,A.value=null,P.value=null,$.value=null,O.value=null},q=(_,N)=>{var ue,le;if(_.preventDefault(),!n.allowDragAndDrop)return;if(clearTimeout(Y.value),k.value&&(clearInterval(k.value),k.value=null),!A.value){z();return}let j;try{const Be=(ue=_.dataTransfer)==null?void 0:ue.getData("application/json");if(Be){const ft=JSON.parse(Be);j=ft.selectedNodeIds||[ft.nodeId]}else j=[A.value]}catch{j=[A.value]}const U=O.value||N,ee=O.value?"inside":((le=P.value)==null?void 0:le.position)||"inside";if(j.includes(U)||j.some(Be=>ie(U,Be))){console.warn("Cannot drop item onto itself or into its own subtree"),z();return}if(!n.allowSort){l("move",j.length===1?j[0]:j,U,"inside"),z();return}l("move",j.length===1?j[0]:j,U,ee),z()},Z=_=>{if(!x.value)return;const N=w.value.indexOf(_);N!==-1&&T.value.scrollToIndex(N,{align:"center",behavior:"auto"})},ve=_=>{if(!c.value)return;const N=w.value.indexOf(c.value);if(N===-1)return;let j=N;switch(_.key){case"ArrowDown":_.preventDefault(),j=Math.min(N+1,w.value.length-1);break;case"ArrowUp":_.preventDefault(),j=Math.max(N-1,0);break;case"ArrowRight":{_.preventDefault(),o.value[c.value].type==="folder"&&(r.value.has(c.value)?j=N+1:M(c.value));break}case"ArrowLeft":{_.preventDefault();const ee=o.value[c.value];ee.type==="folder"&&r.value.has(c.value)?M(c.value):ee.parentId&&(j=w.value.indexOf(ee.parentId));break}case"Enter":case" ":_.preventDefault(),o.value[c.value].type==="folder"?M(c.value):l("click",c.value,_);break}j!==N&&(c.value=w.value[j],Z(c.value))},oe=(_,N)=>{X(_,N),l("contextmenu",N,_)},Se=(_,N)=>{if(n.validateRename){const j=n.validateRename(_,N);if(j!==!0){u.value={...u.value,[_]:j},d.value=_;return}}if(u.value[_]){const j={...u.value};delete j[_],u.value=j}d.value=null,l("rename",_,N)},pe=_=>{if(u.value[_]){const N={...u.value};delete N[_],u.value=N}d.value=null,l("cancel-rename",_)},he=(_,N)=>{if(!n.validateRename)return;const j=n.validateRename(_,N),U=!!u.value[_];if(j!==!0){u.value={...u.value,[_]:j};return}if(j===!0&&U){const ee={...u.value};delete ee[_],u.value=ee}},je=_=>{if(u.value[_]){const N={...u.value};delete N[_],u.value=N}d.value=_};xe(()=>Array.from(r.value),_=>{var N;(N=v.value)==null||N.save(_)}),Va(()=>{var N;n.initialData&&(o.value=n.initialData);const _=(N=v.value)==null?void 0:N.load();_!=null&&(r.value=new Set(_))}),xe(()=>n.initialData,_=>{_&&(o.value=_)},{deep:!0});const Oe=B(()=>{const _=[];for(const N in o.value){const j=o.value[N];j.type==="folder"&&_.push(j.id)}return _}),_t=()=>{r.value=new Set(Oe.value)},At=()=>{r.value=new Set},Rt=B(()=>{const _=Oe.value;if(_.length===0)return!1;for(const N of _)if(!r.value.has(N))return!1;return!0}),nt=_=>{const N=o.value[_];if(!N){console.warn(`Node ${_} not found`);return}const j=[];let U=N;for(;U.parentId!==null;){const ee=o.value[U.parentId];if(ee&&ee.type==="folder"&&j.push(ee.id),U=ee,!U)break}j.length>0&&(j.forEach(ee=>r.value.add(ee)),r.value=new Set(r.value)),setTimeout(()=>{if(w.value.indexOf(_)===-1){console.warn(`Node ${_} still not visible after expanding parents`);return}c.value=_,m.value=new Set([_]),l("select",[_]),Z(_)},n.delayFocus)},pt=()=>{c.value=null,m.value=new Set,l("select",[])},at=_=>{_.target.closest(".tree-row")||pt()};return t({expandAll:_t,collapseAll:At,focusItem:nt,clearSelection:pt,startEditing:je,isMouseInside:b,isExpandedAll:Rt}),(_,N)=>{const j=me;return D(),V("div",{ref_key:"parentRef",ref:x,onMouseenter:N[1]||(N[1]=U=>b.value=!0),onMouseleave:N[2]||(N[2]=U=>b.value=!1),class:"file-tree",tabindex:"0",onKeydown:ve,onClick:at},[E("div",{style:Ue({height:`${s(T).getTotalSize()}px`,width:"100%",position:"relative"})},[(D(!0),V(Te,null,$e(s(T).getVirtualItems(),U=>{var ee;return D(),V("div",{key:String(U.key),style:Ue({position:"absolute",top:0,left:0,width:"100%",height:`${U.size}px`,transform:`translateY(${U.start}px)`})},[za([o.value[w.value[U.index]],m.value.has(w.value[U.index]),r.value.has(w.value[U.index]),c.value===w.value[U.index],d.value===w.value[U.index],!O.value&&((ee=P.value)==null?void 0:ee.nodeId)===w.value[U.index]?P.value:null,n.itemHeight,n.indentSize,n.baseIndent,n.allowDragAndDrop,u.value[w.value[U.index]]],()=>{var ue;return i(Zo,{node:o.value[w.value[U.index]],"is-selected":m.value.has(w.value[U.index]),"is-expanded":r.value.has(w.value[U.index]),"is-focused":c.value===w.value[U.index],"is-editing":d.value===w.value[U.index],"rename-error":u.value[w.value[U.index]]||"","drop-indicator":!O.value&&((ue=P.value)==null?void 0:ue.nodeId)===w.value[U.index]?P.value:null,"item-height":n.itemHeight,"indent-size":n.indentSize,"base-indent":n.baseIndent,"allow-drag-and-drop":n.allowDragAndDrop,onClick:le=>X(le,w.value[U.index]),onDblclick:le=>J(w.value[U.index]),onToggle:le=>M(w.value[U.index]),onDragstart:le=>ae(le,w.value[U.index]),onDragover:le=>G(le,w.value[U.index]),onDragleave:S,onDragend:z,onDrop:le=>q(le,w.value[U.index]),onContextmenu:le=>oe(le,w.value[U.index]),onRename:le=>Se(w.value[U.index],le),onEditingChange:le=>he(w.value[U.index],le),onCancelRename:le=>pe(w.value[U.index])},{actions:g(({node:le})=>[It(_.$slots,"actions",{node:le},void 0,!0)]),_:2},1032,["node","is-selected","is-expanded","is-focused","is-editing","rename-error","drop-indicator","item-height","indent-size","base-indent","allow-drag-and-drop","onClick","onDblclick","onToggle","onDragstart","onDragover","onDrop","onContextmenu","onRename","onEditingChange","onCancelRename"])},N,0)],4)}),128)),i(ja,{name:"tree-error"},{default:g(()=>[R.value?(D(),V("div",{key:0,id:`rename-error-${d.value}`,class:"flex items-start gap-1 text-xs font-normal pointer-events-none text-muted-foreground z-30 whitespace-break-spaces px-1 py-2 shadow-md border border-destructive border-l-[3px] rounded-md bg-popover",style:Ue({position:"absolute",top:`${R.value.top}px`,left:`${R.value.left}px`,right:"8px"}),role:"alert","aria-live":"assertive"},[i(j,{name:"lucide:alert-circle",class:"text-destructive size-4!","aria-hidden":"true"}),F(" "+ne(R.value.message),1)],12,nr)):re("",!0)]),_:1}),L.value&&I.value?(D(),V("div",{key:0,class:"tree-drop-overlay",style:Ue({position:"absolute",top:`${L.value.top}px`,left:0,width:"100%",height:`${L.value.height}px`})},null,4)):re("",!0)],4)],544)}}}),dt=en(ar,[["__scopeId","data-v-4940049d"]]);var We=(e=>(e.Tables="Tables",e.Functions="Functions",e.Views="Views",e))(We||{}),Fe=(e=>(e.Root="Root",e))(Fe||{});const or={key:0,class:"flex items-center gap-2 w-44 truncate"},rr={key:1,class:"opacity-50"},lr={class:"flex items-center gap-2"},sr=se({__name:"ConnectionSelector",props:{class:{},workspaceId:{}},setup(e){const{connectionStore:t,createConnection:a,wsStateStore:n,openWorkspaceWithConnection:l}=Pe(),{connectionId:o}=fe(n),{selectedConnection:r}=fe(t),m=e,c=H(!1),d=async v=>{typeof v=="string"&&v!==o.value&&await l({connId:v,wsId:m.workspaceId})},u=H(!1),f=v=>{a(v)},h=()=>{u.value=!0,c.value=!1},p=B(()=>t.getConnectionsByWorkspaceId(m.workspaceId));return(v,y)=>{const w=me,x=Ba,b=on;return D(),V(Te,null,[i(s(go),{open:s(u),"editing-connection":null,"onUpdate:open":y[0]||(y[0]=C=>u.value=C),onAddNew:f,workspaceId:v.workspaceId},null,8,["open","workspaceId"]),i(s(tn),{"onUpdate:modelValue":d,"model-value":s(o),open:s(c),"onUpdate:open":y[1]||(y[1]=C=>Ie(c)?c.value=C:null)},{default:g(()=>[i(s(nn),{class:ye(s(an)(m.class,"w-48 cursor-pointer")),size:"sm"},{default:g(()=>{var C,T;return[s(r)?(D(),V("div",or,[(D(),te(Xe((C=s(Bt)(s(r).type))==null?void 0:C.icon),{class:"size-4! min-w-4!"})),F(" "+ne((T=s(r))==null?void 0:T.name),1)])):(D(),V("div",rr,"Select connection"))]}),_:1},8,["class"]),i(b,null,{default:g(()=>[i(s(aa),null,{default:g(()=>[E("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:h},[i(w,{name:"lucide:plus"}),y[2]||(y[2]=F(" Add new connection "))]),s(p).length?(D(),te(x,{key:0})):re("",!0),(D(!0),V(Te,null,$e(s(p),C=>(D(),te(s(rn),{class:"cursor-pointer",value:C.id},{default:g(()=>{var T;return[E("div",lr,[(D(),te(Xe((T=s(Bt)(C.type))==null?void 0:T.icon),{class:"size-4!"})),F(" "+ne(C.name),1)])]}),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),ir={key:0,class:"flex items-center gap-2 w-44 truncate"},cr={key:1,class:"opacity-50"},ur=se({__name:"SchemaSelector",props:{class:{}},setup(e){const t=e,{schemaStore:a,wsStateStore:n,setSchemaId:l}=Pe(),{activeSchema:o,schemasByContext:r}=fe(a),{schemaId:m}=fe(n);return(c,d)=>{const u=on;return D(),te(s(tn),{"onUpdate:modelValue":d[0]||(d[0]=f=>{s(l)(f)}),"model-value":s(m)},{default:g(()=>[i(s(nn),{class:ye(s(an)(t.class,"w-48 cursor-pointer")),size:"sm"},{default:g(()=>{var f;return[s(o)?(D(),V("div",ir,ne((f=s(o))==null?void 0:f.name),1)):(D(),V("div",cr,"Select connection"))]}),_:1},8,["class"]),i(u,null,{default:g(()=>[i(s(aa),null,{default:g(()=>[(D(!0),V(Te,null,$e(s(r),f=>(D(),te(s(rn),{value:f.name,class:"cursor-pointer"},{default:g(()=>[F(ne(f.name),1)]),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),dr={class:"flex flex-col w-full shrink-0"},pr={key:0,class:"relative w-full items-center px-2 pt-1.5 space-y-1"},fr={key:0},mr={key:1},vr={class:"text-sm leading-none"},gr={key:0,class:"flex items-center"},yr={key:1,class:"px-2 pb-1"},hr={class:"relative w-full"},et=se({__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(e){const t=oa(e,"search"),a=()=>{t.value=""};return(n,l)=>(D(),V("div",dr,[n.showConnection||n.showSchema?(D(),V("div",pr,[n.showConnection?(D(),V("div",fr,[l[1]||(l[1]=E("p",{class:"text-sm leading-none block pb-1"},"Connections",-1)),i(sr,{class:"w-full!",workspaceId:n.workspaceId},null,8,["workspaceId"])])):re("",!0),n.showSchema?(D(),V("div",mr,[l[2]||(l[2]=E("p",{class:"text-sm leading-none block pb-1"},"Schemas",-1)),i(ur,{class:"w-full!"})])):re("",!0)])):re("",!0),E("div",{class:ye(["px-2 flex items-center justify-between",n.showConnection||n.showSchema?"pt-2":"pt-0.5"])},[E("p",vr,ne(n.title),1),n.$slots.actions?(D(),V("div",gr,[It(n.$slots,"actions")])):re("",!0)],2),n.showSearch?(D(),V("div",yr,[E("div",hr,[i(s(ln),{type:"text",placeholder:n.searchPlaceholder,class:"pr-6 w-full h-8",modelValue:t.value,"onUpdate:modelValue":l[0]||(l[0]=o=>t.value=o)},null,8,["placeholder","modelValue"]),t.value?(D(),V("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:a},[i(s(me),{name:"hugeicons:cancel-01",class:"stroke-3! text-muted-foreground"})])):re("",!0)])])):re("",!0)]))}}),br={class:"flex flex-col h-full w-full overflow-y-auto"},wr=se({__name:"ManagementErdDiagram",setup(e){const{schemaStore:t,connectToConnection:a,wsStateStore:n,tabViewStore:l}=Pe(),{activeSchema:o}=fe(t),{connectionId:r,workspaceId:m,schemaId:c}=fe(n),d=H(!1),u=H(null),f=Le(""),h=ut(f,Ze),p=[Fe.Root],v=B(()=>{var P,Y;const T={},A=((P=o==null?void 0:o.value)==null?void 0:P.tables)||[];if(T[Fe.Root]={id:Fe.Root,parentId:null,name:"All Tables",type:"folder",depth:0,iconOpen:"hugeicons:structure-folder",iconClose:"hugeicons:structure-folder",children:[],data:{tabViewType:K.AllERD}},A.forEach($=>{var I;const k=En({schemaName:((I=o.value)==null?void 0:I.name)||"",tableName:$});T[k]={id:k,parentId:Fe.Root,name:$,type:"file",depth:1,iconOpen:"hugeicons:flowchart-01",iconClose:"hugeicons:flowchart-01",data:{tabViewType:K.DetailERD}},T[Fe.Root].children.push(k)}),h.value){const $=h.value.toLowerCase(),k={},I=T[Fe.Root],O=(Y=I.children)==null?void 0:Y.filter(L=>T[L].name.toLowerCase().includes($));return O&&O.length>0&&(k[Fe.Root]={...I,children:O},O.forEach(L=>{k[L]=T[L]})),k}return T}),y=async()=>{if(!r.value)throw new Error("No connection selected");d.value=!0,await a({wsId:m.value,connId:r.value,isRefresh:!0}),d.value=!1},w=B(()=>u.value?!u.value.isExpandedAll:!0),x=()=>{var T,A;w.value?(T=u.value)==null||T.expandAll():(A=u.value)==null||A.collapseAll()},b=async T=>{var I,O,L;if(!m.value)throw new Error("No workspace selected");if(!r.value)throw new Error("No connection selected");const A=(I=T.data)==null?void 0:I.tabViewType;if(A!==K.AllERD&&A!==K.DetailERD)return;const P=c.value||((O=o.value)==null?void 0:O.name)||"",Y=A===K.AllERD,$=Y?void 0:T.id||En({schemaName:((L=o.value)==null?void 0:L.name)||"",tableName:T.name}),k=Y?`erd-overview-${P||"all"}`:`erd-${$}`;await l.openTab({id:k,name:Y?"All Tables":T.name,icon:T.iconOpen||T.iconClose||"hugeicons:structure-folder",iconClass:T.iconClass,type:A,routeName:Y?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:Y?{workspaceId:m.value,connectionId:r.value}:{workspaceId:m.value,connectionId:r.value,tableId:$||""},connectionId:r.value,workspaceId:m.value,schemaId:P,metadata:{type:A,tableName:Y?void 0:T.name,treeNodeId:T.id}}),await l.selectTab(k)},C=async T=>{const A=v.value[T];A&&await b(A)};return xe(()=>l.activeTab,T=>{var A,P,Y,$,k;if(!T){(A=u.value)==null||A.clearSelection();return}if(!((P=u.value)!=null&&P.isMouseInside)){if(T.type===K.AllERD){v.value[Fe.Root]&&((Y=u.value)==null||Y.focusItem(Fe.Root));return}if(T.type===K.DetailERD&&typeof(($=T.metadata)==null?void 0:$.treeNodeId)=="string"){(k=u.value)==null||k.focusItem(T.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(T,A)=>{const P=me,Y=Re,$=_e,k=Ae,I=De,O=Ke;return D(),V("div",br,[i(s(et),{search:s(f),"onUpdate:search":A[0]||(A[0]=L=>Ie(f)?f.value=L:null),title:"ERD Diagram","show-connection":!0,"show-schema":!0,"workspace-id":s(m),"show-search":!0,"search-placeholder":"Search in diagram..."},{actions:g(()=>[i(I,null,{default:g(()=>[i($,{"as-child":""},{default:g(()=>[i(Y,{size:"iconSm",variant:"ghost",onClick:x},{default:g(()=>[i(P,{name:s(w)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(k,null,{default:g(()=>[F(ne(s(w)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(I,null,{default:g(()=>[i($,{"as-child":""},{default:g(()=>[i(Y,{size:"iconSm",variant:"ghost",onClick:y},{default:g(()=>[i(P,{name:"hugeicons:redo",class:ye(["size-4! min-w-4",s(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),i(k,null,{default:g(()=>A[1]||(A[1]=[F(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(s(v)).length===0?(D(),te(O,{key:0,title:"No tables found",desc:"There are no tables available to display in the ERD."})):re("",!0),i(dt,{ref_key:"fileTreeRef",ref:u,"init-expanded-ids":p,"storage-key":`${s(r)}-erd-tree`,"initial-data":s(v),"allow-drag-and-drop":!1,onClick:C},null,8,["storage-key","initial-data"])])}}}),Sr={class:"w-full h-full overflow-y-auto"},xr={class:"h-full"},Tr=se({__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(e,{expose:t,emit:a}){const n=e,l=a,o=ze("fileTreeRef"),r=p=>{var v;(v=o.value)==null||v.startEditing(p)},m=p=>{var v;(v=o.value)==null||v.focusItem(p)},c=()=>{var p;(p=o.value)==null||p.collapseAll()},d=()=>{var p;(p=o.value)==null||p.expandAll()},u=()=>{var p;(p=o.value)==null||p.clearSelection()},f=B(()=>{var p;return((p=o.value)==null?void 0:p.isMouseInside)??!1}),h=B(()=>{var p;return((p=o.value)==null?void 0:p.isExpandedAll)||!1});return t({startEditing:r,focusItem:m,collapseAll:c,expandAll:d,clearSelection:u,isMouseInside:f,isExpandedAll:h}),(p,v)=>(D(),V("div",Sr,[i(Et,{"context-menu-items":p.contextMenuItems,onOnClearContextMenu:v[6]||(v[6]=y=>l("clear-context-menu"))},{default:g(()=>[E("div",xr,[i(dt,{ref_key:"fileTreeRef",ref:o,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":n.persistenceExtension,onClick:v[0]||(v[0]=y=>l("click-node",y)),onRename:v[1]||(v[1]=(y,w)=>l("rename-node",y,w)),onCancelRename:v[2]||(v[2]=y=>l("cancel-rename",y)),onContextmenu:v[3]||(v[3]=y=>l("context-node",y)),onSelect:v[4]||(v[4]=y=>l("select-node",y)),onMove:v[5]||(v[5]=(y,w,x)=>l("move-node",y,w,x))},null,8,["initial-data","validate-rename","storage-key","persistence-extension"])])]),_:1},8,["context-menu-items"])]))}}),Cr=e=>{const t=H(null),a=o=>{t.value=e.resolveNodeById(o)},n=()=>{t.value=null},l=B(()=>{const o=[],r=t.value,m=(r==null?void 0:r.isFolder)||!r;return r&&o.push({title:r.title,type:W.LABEL}),m&&(o.push({title:"Add new file",icon:"lucide:file-plus-2",type:W.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;Ve(()=>e.onCreateFile(c))}}),o.push({title:"Add new folder",icon:"lucide:folder-plus",type:W.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;Ve(()=>e.onCreateFolder(c))}})),r&&(m&&o.push({type:W.SEPARATOR}),o.push({title:"Rename...",icon:"lucide:pencil",type:W.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;c&&Ve(()=>e.onRename(c))}}),o.push({title:"Delete",icon:"lucide:trash",type:W.ACTION,select:()=>{const c=t.value;c&&Ve(()=>e.onDelete(c.id))}})),o});return{selectedItem:t,contextMenuItems:l,onRightClickItem:a,onClearContextMenu:n}},Ir=e=>{const t={},a=(n,l,o)=>{n.forEach(r=>{var c,d;const m=((c=r.children)==null?void 0:c.map(u=>u.id))??[];t[r.id]={id:r.id,parentId:l,name:r.title,type:r.isFolder?"folder":"file",depth:o,iconOpen:r.icon,iconClose:r.closeIcon||r.icon,iconClass:r.iconClass,children:r.isFolder?m:void 0},(d=r.children)!=null&&d.length&&a(r.children,r.id,o+1)})};return a(e,null,0),t},Er=({startEditingNode:e,focusNode:t,collapseAll:a,expandAll:n,isExpandedAll:l})=>{const o=sn(),r=qa(),m=cn(),c=Le(""),d=ut(c,Ze),{treeNodeRef:u}=fe(r),f=Le([]),h=B(()=>d.value?u.value.searchByTitle(d.value):u.value.tree),p=B(()=>Ir(h.value)),v=B(()=>String(o.params.workspaceId)),y=async({nodeId:R,isFolder:M})=>{const X=R?u.value.findNode(R):null,J=o.params.connectionId,ae=o.params.workspaceId,ce={title:"",id:An(),icon:"lucide:folder-open",closeIcon:"lucide:folder",connectionId:J,workspaceId:ae,createdAt:Ht().toISOString(),isFolder:!0,path:"",children:[]},de={title:"",id:An(),icon:"lucide:file",connectionId:J,workspaceId:ae,createdAt:Ht().toISOString(),isFolder:!1,path:"",children:void 0},ie=M?ce:de;u.value.insertNode((X==null?void 0:X.id)||null,ie),u.value.sortByTitle(),await Ve(),t(ie.id),e(ie.id)},w=()=>{if(f.value.length===0)return null;const R=f.value[0],M=u.value.findNode(R);return M?M.isFolder?M.id:M.parentId:null},x=()=>{y({nodeId:w(),isFolder:!1})},b=()=>{y({nodeId:w(),isFolder:!0})},C=R=>{f.value=R},T=R=>{u.value.deleteNode(R)},A=R=>{const M=u.value.findNode(R);M&&M.title===""&&T(M.id)},P=(R,M)=>{const X=u.value.findNode(R);if(!X)return;const J=M.trim();if(!u.value.isExitNodeNameInFolder(J,X.id,X.parentId||"")){if(!J){A(R);return}u.value.updateNode(X.id,{title:J}),Ve(()=>{t(X.id)})}},Y=(R,M)=>{const X=u.value.findNode(R);if(!X)return!0;const J=M.trim();return J?u.value.isExitNodeNameInFolder(J,X.id,X.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},$=R=>{const M=u.value.findNode(R);M&&(t(M.id),e(M.id))},k=(R,M,X)=>{const J=u.value.findNode(M);if(!J)return;const ae=J.isFolder?J.id:J.parentId;(Array.isArray(R)?R:[R]).forEach(de=>{const ie=u.value.findNode(de);ie&&(ie.parentId||null)!==(ae||null)&&(u.value.moveNode(ie.id,ae||null),u.value.sortByTitle())})},I=Cr({resolveNodeById:R=>u.value.findNode(R),onCreateFile:R=>{y({nodeId:R,isFolder:!1})},onCreateFolder:R=>{y({nodeId:R,isFolder:!0})},onRename:R=>{$(R)},onDelete:R=>{T(R)}}),O=()=>{l.value?a():n()},L=R=>{const M=u.value.findNode(R);!M||M.isFolder||(m.openTab({icon:M.icon,id:M.id,name:M.title,type:K.CodeQuery,routeName:"workspaceId-connectionId-explorer-fileId",routeParams:{fileId:M.id},connectionId:o.params.connectionId,schemaId:"",workspaceId:o.params.workspaceId,metadata:{type:K.CodeQuery,tableName:M.title,treeNodeId:M.id}}),m.selectTab(M.id))};return{contextMenuItems:I.contextMenuItems,explorerStorageKey:v,mappedExplorerFileTreeData:p,onAddFile:x,onAddFolder:b,onSelectNode:C,onCancelEditNode:A,onClearContextMenu:I.onClearContextMenu,onClickNode:L,isExpandedAll:l,onToggleCollapseExplorer:O,onMoveNode:k,onRenameFile:P,onTreeContextMenu:I.onRightClickItem,searchInput:c,validateRename:Y}},Dr={class:"flex flex-col h-full w-full overflow-y-auto"},_r={class:"flex gap-2 justify-center"},Ar=se({__name:"ManagementExplorer",setup(e){const{tabViewStore:t}=Pe(),a=ze("treePanelRef"),{contextMenuItems:n,explorerStorageKey:l,mappedExplorerFileTreeData:o,onAddFile:r,onAddFolder:m,onCancelEditNode:c,onClearContextMenu:d,onClickNode:u,isExpandedAll:f,onToggleCollapseExplorer:h,onMoveNode:p,onRenameFile:v,onSelectNode:y,onTreeContextMenu:w,searchInput:x,validateRename:b}=Er({startEditingNode:C=>{var T;return(T=a.value)==null?void 0:T.startEditing(C)},focusNode:C=>{var T;return(T=a.value)==null?void 0:T.focusItem(C)},collapseAll:()=>{var C;return(C=a.value)==null?void 0:C.collapseAll()},expandAll:()=>{var C;return(C=a.value)==null?void 0:C.expandAll()},isExpandedAll:B(()=>{var C;return((C=a.value)==null?void 0:C.isExpandedAll)??!1})});return xe(()=>t.activeTab,C=>{var T,A,P,Y;if(!C){(T=a.value)==null||T.clearSelection();return}if(!((A=a.value)!=null&&A.isMouseInside)&&(C==null?void 0:C.type)===K.CodeQuery){const $=(P=C.metadata)==null?void 0:P.treeNodeId;typeof $=="string"&&((Y=a.value)==null||Y.focusItem($))}},{flush:"post",immediate:!0}),(C,T)=>{const A=me,P=Re,Y=_e,$=Ae,k=De,I=Ke;return D(),V("div",Dr,[i(s(et),{search:s(x),"onUpdate:search":T[0]||(T[0]=O=>Ie(x)?x.value=O:null),title:"Explorer","show-search":!0},{actions:g(()=>[i(k,null,{default:g(()=>[i(Y,{"as-child":""},{default:g(()=>[i(P,{size:"iconSm",variant:"ghost",onClick:s(r)},{default:g(()=>[i(A,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),i($,null,{default:g(()=>T[1]||(T[1]=[F(" New File ")])),_:1})]),_:1}),i(k,null,{default:g(()=>[i(Y,{"as-child":""},{default:g(()=>[i(P,{size:"iconSm",variant:"ghost",onClick:s(m)},{default:g(()=>[i(A,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),i($,null,{default:g(()=>T[2]||(T[2]=[F(" New Folder ")])),_:1})]),_:1}),i(k,null,{default:g(()=>[i(Y,{"as-child":""},{default:g(()=>[i(P,{size:"iconSm",variant:"ghost",onClick:s(h)},{default:g(()=>[i(A,{name:s(f)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),i($,null,{default:g(()=>[F(ne(s(f)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),Object.keys(s(o)).length===0?(D(),te(I,{key:0,title:"No files found",desc:"Create your first file or folder to get started."},{default:g(()=>[E("div",_r,[i(P,{size:"xs",variant:"outline",onClick:s(r)},{default:g(()=>[i(A,{name:"hugeicons:file-add"}),T[3]||(T[3]=F(" New File "))]),_:1},8,["onClick"]),i(P,{size:"xs",variant:"outline",onClick:s(m)},{default:g(()=>[i(A,{name:"hugeicons:folder-add"}),T[4]||(T[4]=F(" New Folder "))]),_:1},8,["onClick"])])]),_:1})):(D(),te(Tr,{key:1,ref_key:"treePanelRef",ref:a,"tree-data":s(o),"storage-key":s(l),"context-menu-items":s(n),"validate-rename":s(b),onClickNode:s(u),onSelectNode:s(y),onRenameNode:s(v),onCancelRename:s(c),onContextNode:s(w),onMoveNode:s(p),onClearContextMenu:s(d)},null,8,["tree-data","storage-key","context-menu-items","validate-rename","onClickNode","onSelectNode","onRenameNode","onCancelRename","onContextNode","onMoveNode","onClearContextMenu"]))])}}});function Rr(e,t,a){return`CALL "${e}"."${t}"();`}function $r(e,t,a){return`SELECT * FROM "${e}"."${t}"();`}const hn=e=>(e||"").split(",").map(t=>t.trim().split(" ")[1]).join(", ");function Or(e,t,a=!1,n){const l=hn(n);return`DROP FUNCTION IF EXISTS "${e}"."${t}"(${l})${a?" CASCADE":""};`}function Nr(e,t,a,n){const l=hn(n);return`ALTER FUNCTION "${e}"."${t}"(${l}) RENAME TO "${a}";`}function kr(e,t,a=!1){return`DROP TABLE IF EXISTS "${e}"."${t}"${a?" CASCADE":""};`}function Lr(e,t,a){return`ALTER TABLE "${e}"."${t}" RENAME TO "${a}";`}function Pr(e,t,a=!1,n=!1){return`DROP ${a?"MATERIALIZED VIEW":"VIEW"} IF EXISTS "${e}"."${t}"${n?" CASCADE":""};`}function Fr(e,t,a,n=!1){return`ALTER ${n?"MATERIALIZED VIEW":"VIEW"} "${e}"."${t}" RENAME TO "${a}";`}function Mr(e,t,a=!1){return`REFRESH MATERIALIZED VIEW ${a?"CONCURRENTLY ":""}"${e}"."${t}";`}function Ur(e,t,a){return`SELECT ${a!=null&&a.length?a.map(l=>`"${l}"`).join(", "):"*"}
17
- FROM "${e}"."${t}"
18
- WHERE 1=1
19
- -- Add your conditions here
20
- LIMIT 100;`}const Vr=(e,t)=>{const a=B(()=>{var l;return`${(l=e==null?void 0:e.value)==null?void 0:l.schemaName}.${We.Tables}`});return{fileTreeData:B(()=>{var v,y,w,x;const l=(v=e==null?void 0:e.value)==null?void 0:v.schemaName,o=((y=e==null?void 0:e.value)==null?void 0:y.tables)||[],r=((w=e==null?void 0:e.value)==null?void 0:w.functions)||[],m=((x=e==null?void 0:e.value)==null?void 0:x.views)||[],c={},d=(b,C)=>{const T=hn(C);return`${b}(${T})`},u=(b,C,T,A,P,Y)=>{c[b]={id:b,parentId:null,name:C,type:"folder",depth:0,iconOpen:T,iconClose:A,iconClass:Y,children:[],data:{tabViewType:P}}},f=`${l}.${We.Functions}`,h=a.value,p=`${l}.${We.Views}`;if(u(f,We.Functions,"material-icon-theme:folder-functions-open","material-icon-theme:folder-functions",K.FunctionsOverview),u(h,We.Tables,"material-icon-theme:folder-database-open","material-icon-theme:folder-database",K.TableOverview),u(p,We.Views,"material-icon-theme:folder-enum-open","material-icon-theme:folder-enum",K.ViewOverview),r.forEach(({name:b,oId:C,type:T,parameters:A})=>{const P=`${l}.${String(C)}`,Y=d(b,A);c[P]={id:P,parentId:f,name:Y,type:"file",depth:1,iconOpen:"gravity-ui:function",iconClose:"gravity-ui:function",iconClass:T===Dn.Function?"text-blue-400":"text-orange-400",data:{tabViewType:K.FunctionsDetail,itemValue:{title:Y,name:b,id:C,parameters:A,tabViewType:K.FunctionsDetail,icon:"gravity-ui:function",iconClass:T===Dn.Function?"text-blue-400":"text-orange-400"},parameters:A}},c[f].children.push(P)}),o.forEach(b=>{const C=`${l}.${b}`;c[C]={id:C,parentId:h,name:b,type:"file",depth:1,iconOpen:"hugeicons:grid-table",iconClose:"hugeicons:grid-table",iconClass:"text-yellow-400",data:{tabViewType:K.TableDetail,itemValue:{title:b,name:b,id:b,tabViewType:K.TableDetail,icon:"hugeicons:grid-table",iconClass:"text-yellow-400"}}},c[h].children.push(C)}),m.forEach(({name:b,oid:C,type:T})=>{const A=`${l}.${String(C)}`;c[A]={id:A,parentId:p,name:b,type:"file",depth:1,iconOpen:T===Me.View?"hugeicons:property-view":"hugeicons:property-new",iconClose:T===Me.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:T===Me.View?"text-green-700":"text-orange-500",data:{tabViewType:K.ViewDetail,itemValue:{title:b,name:b,id:C,tabViewType:K.ViewDetail,icon:T===Me.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:T===Me.View?"text-green-700":"text-orange-500"}}},c[p].children.push(A)}),t.value){const b=t.value.toLowerCase(),C={};return[f,h,p].forEach(T=>{var Y;const A=c[T];if(!A)return;const P=(Y=A.children)==null?void 0:Y.filter($=>{const k=c[$];return k==null?void 0:k.name.toLowerCase().includes(b)});P&&P.length>0&&(C[T]={...A,children:P},P.forEach($=>{C[$]=c[$]}))}),C}return c}),defaultFolderOpenId:a}},zr={class:"py-2"},jr=se({__name:"RenameDialog",props:qt({open:{type:Boolean},tabViewType:{},currentName:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:qt(["confirm","cancel"],["update:open"]),setup(e,{emit:t}){const a=e,n=oa(e,"open"),l=t,o=H("");xe(n,c=>{c&&(o.value=a.currentName||"")});const r=()=>{o.value&&o.value!==a.currentName?l("confirm",o.value):n.value=!1},m=()=>{n.value=!1,l("cancel")};return(c,d)=>(D(),te(s(yn),{open:n.value,"onUpdate:open":d[1]||(d[1]=u=>n.value=u)},{default:g(()=>[i(s(dn),{class:"border w-96!"},{default:g(()=>[i(s(pn),null,{default:g(()=>[i(s(fn),null,{default:g(()=>[F(" Rename "+ne(c.tabViewType===s(K).FunctionsDetail?"Function":"Table"),1)]),_:1}),i(s(mn),null,{default:g(()=>[F(" Enter a new name for the "+ne(c.tabViewType===s(K).FunctionsDetail?"function":"table")+". ",1)]),_:1})]),_:1}),E("div",zr,[i(s(ln),{modelValue:s(o),"onUpdate:modelValue":d[0]||(d[0]=u=>Ie(o)?o.value=u:null),placeholder:`New ${c.tabViewType===s(K).FunctionsDetail?"function":"table"} name`,class:"w-full",onKeyup:St(r,["enter"])},null,8,["modelValue","placeholder"])]),i(s(vn),null,{default:g(()=>[i(s(gn),{onClick:m},{default:g(()=>d[2]||(d[2]=[F(" Cancel ")])),_:1}),i(s(ia),{onClick:r},{default:g(()=>d[3]||(d[3]=[F(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),Br=se({__name:"SqlPreviewDialog",props:{open:{type:Boolean},sql:{},title:{},isLoading:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const a=e,n=t,{copied:l,handleCopy:o,getCopyIcon:r,getCopyTooltip:m}=ca(),c=()=>o(a.sql),d=()=>{n("update:open",!1)};return(u,f)=>{const h=me,p=ua;return D(),te(s(yn),{open:u.open,"onUpdate:open":f[0]||(f[0]=v=>n("update:open",v))},{default:g(()=>[i(s(dn),{class:"border w-[55vw]! max-w-[55vw]!"},{default:g(()=>[i(ra,{visible:u.isLoading},null,8,["visible"]),i(s(pn),null,{default:g(()=>[i(s(fn),{class:"flex items-center text-base font-medium"},{default:g(()=>[i(h,{name:"lucide:code",class:"size-4 mr-2"}),F(" "+ne(u.title),1)]),_:1}),i(s(mn),null,{default:g(()=>f[1]||(f[1]=[F(" Generated SQL statement. Click copy to use. ")])),_:1})]),_:1}),i(p,{code:u.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),i(s(vn),null,{default:g(()=>[i(s(gn),{class:"border font-normal",onClick:d},{default:g(()=>f[2]||(f[2]=[F(" Close ")])),_:1}),i(s(ia),{class:"border font-normal flex gap-1",onClick:c},{default:g(()=>[i(h,{name:s(r)(s(l)),class:"size-4"},null,8,["name"]),F(" "+ne(s(m)(s(l),"Copy to Clipboard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function qr(e,t,a){const{getSchemaName:n,executeWithSafeMode:l,showSqlPreview:o,executeWithLoading:r}=a;return{onDeleteFunction:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.FunctionsDetail||!t.selectedItem.value.name)return;const p=Or(n(),t.selectedItem.value.name,!1,t.selectedItem.value.parameters),v=t.selectedItem.value.name;await l(p,"delete",async()=>{await r(async()=>{await $fetch("/api/functions/delete",{method:"POST",body:{...Ce(e.connection.value),schemaName:n(),functionName:v}}),be.success("Function deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete function")})},onRenameFunction:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.FunctionsDetail||!t.selectedItem.value.name||(t.renameDialogType.value=K.FunctionsDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=t.selectedItem.value.parameters||"")},performRenameFunction:async p=>{const v=Nr(n(),t.renameDialogValue.value,p,t.renameDialogParameters.value);await l(v,"save",async()=>{await r(async()=>{await $fetch("/api/functions/rename",{method:"POST",body:{...Ce(e.connection.value),schemaName:n(),oldName:t.renameDialogValue.value,newName:p}}),be.success("Function renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename function")})},onGenFunctionCallSQL:async()=>{t.selectedItem.value&&(o("","CALL Statement"),t.isFetching.value=!0,await r(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}}),v=n(),y=(p==null?void 0:p.name)||"";let w;if(p!=null&&p.parameters&&p.parameters.length>0){const x=p.parameters.filter(b=>b.mode==="IN"||b.mode==="INOUT"||b.mode==="VARIADIC");if(x.length>0){const b=x.map(T=>`${T.name}::${T.type}`).join(", "),C=x.map(T=>`:${T.name}`).join(", ");w=`-- ${b}
21
- CALL "${v}"."${y}"(${C});`}else w=`CALL "${v}"."${y}"();`}else w=Rr(v,y);t.sqlPreviewDialogSQL.value=w},t.isFetching,"Failed to get function signature"))},onGenFunctionSelectSQL:async()=>{t.selectedItem.value&&(o("","SELECT Function"),t.isFetching.value=!0,await r(async()=>{const p=await $fetch("/api/functions/signature",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}}),v=n(),y=(p==null?void 0:p.name)||"";let w;if(p!=null&&p.parameters&&p.parameters.length>0){const x=p.parameters.filter(b=>b.mode==="IN"||b.mode==="INOUT"||b.mode==="VARIADIC");if(x.length>0){const b=x.map(T=>`${T.name}::${T.type}`).join(", "),C=x.map(T=>`:${T.name}`).join(", ");w=`-- ${b}
22
- SELECT * FROM "${v}"."${y}"(${C});`}else w=`SELECT * FROM "${v}"."${y}"();`}else w=$r(v,y);t.sqlPreviewDialogSQL.value=w},t.isFetching,"Failed to get function signature"))},onGenFunctionDDL:async()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.FunctionsDetail||await r(async()=>{o("","Function DDL");const p=await $fetch("/api/functions/definition",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}});if(p)o(p,"Function DDL");else throw new Error("Could not retrieve function definition")},t.isFetching,"Failed to get function DDL")}}}function Hr(){const e=H(!1),t=H(0),a=H(null);return{isDownloading:e,downloadedBytes:t,error:a,downloadStream:async l=>{const{url:o,method:r="POST",body:m,filename:c,contentType:d}=l;e.value=!0,t.value=0,a.value=null;const u=be.loading(`Exporting ${c}...`,{description:"Starting download..."});try{const f=await fetch(o,{method:r,headers:{"Content-Type":"application/json"},body:m?JSON.stringify(m):void 0});if(!f.ok){let C="Export failed";try{C=(await f.json()).message||C}catch{}throw new Error(C)}if(!f.body)throw new Error("Response body is not available for streaming");const h=f.body.getReader(),p=[];let v=0;for(;;){const{done:C,value:T}=await h.read();if(C)break;p.push(T),v+=T.length,t.value=v;const A=Rn(v);be.loading(`Exporting ${c}...`,{id:u,description:`Downloaded ${A}`,position:"bottom-right"})}const y=new Blob(p,{type:d||f.headers.get("Content-Type")||"application/octet-stream"}),w=URL.createObjectURL(y),x=document.createElement("a");x.href=w,x.download=c,document.body.appendChild(x),x.click(),document.body.removeChild(x),URL.revokeObjectURL(w);const b=Rn(v);return be.success(`Exported ${c}`,{id:u,description:`${b} downloaded`,position:"bottom-right"}),{success:!0,size:v}}catch(f){const h=f;return a.value=h,be.error("Export failed",{id:u,description:h.message,position:"bottom-right"}),{success:!1,error:h}}finally{e.value=!1}}}}var xt=(e=>(e.CSV="csv",e.JSON="json",e.SQL="sql",e))(xt||{});function Gr(e,t,a){const{getSchemaName:n,executeWithSafeMode:l,showSqlPreview:o,getTableColumns:r,getTableColumnsMetadata:m,getPrimaryKeyColumns:c,getColumnPlaceholder:d,executeWithLoading:u}=a;return{onExportTableData:I=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.TableDetail||!t.selectedItem.value.name)return;const O=t.selectedItem.value.name,L=document.createElement("form");L.method="POST",L.action="/api/tables/export",L.style.display="none";const M={...Ce(e.connection.value),schemaName:n(),tableName:O,format:I};for(const[X,J]of Object.entries(M))if(J!==void 0){const ae=document.createElement("input");ae.type="hidden",ae.name=X,ae.value=typeof J=="object"?JSON.stringify(J):J.toString(),L.appendChild(ae)}document.body.appendChild(L),L.submit(),document.body.removeChild(L),be.info(`Exporting ${O} as ${I.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async I=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.TableDetail||!t.selectedItem.value.name)return;const O=t.selectedItem.value.name,{downloadStream:L}=Hr(),R={sql:"application/sql",json:"application/json",csv:"text/csv"},M=Ht().format("YYYY-MM-DD_HH-mm");await L({url:"/api/tables/export",method:"POST",body:{...Ce(e.connection.value),schemaName:n(),tableName:O,format:I},filename:`${O}_${M}.${I}`,contentType:R[I]})},onImportTableData:()=>{be.info("Import feature coming soon")},onDeleteTable:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.TableDetail||!t.selectedItem.value.name)return;const I=kr(n(),t.selectedItem.value.name,!1);await l(I,"delete",async()=>{await u(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:I}}),be.success("Table deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete table")})},onRenameTable:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.TableDetail||!t.selectedItem.value.name||(t.renameDialogType.value=K.TableDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value="")},performRenameTable:async I=>{const O=Lr(n(),t.renameDialogValue.value,I);await l(O,"save",async()=>{await u(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:O}}),be.success("Table renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename table")})},onGenSelectSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=r(t.selectedItem.value.name),O=n(),L=t.selectedItem.value.name,M=`SELECT ${I.length>0?I.map(X=>`"${X}"`).join(", "):"*"}
23
- FROM "${O}"."${L}";
24
- -- WHERE ?
25
- -- LIMIT 100 OFFSET 0`;o(M,"SELECT Statement")},onGenInsertSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=m(t.selectedItem.value.name),O=n(),L=t.selectedItem.value.name;if(I.length>0){const R=I.map(J=>`"${J.name}"`).join(", "),M=I.map(J=>d(J)).join(", "),X=`INSERT INTO "${O}"."${L}" (${R})
26
- VALUES (${M});`;o(X,"INSERT Statement")}else{const R=`INSERT INTO "${O}"."${L}" ("column1", "column2", ...)
27
- VALUES (value1, value2, ...);`;o(R,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=m(t.selectedItem.value.name),O=c(t.selectedItem.value.name),L=n(),R=t.selectedItem.value.name,M=I.filter(ce=>!O.includes(ce.name)),X=M.length>0?M.map(ce=>` "${ce.name}" = ${d(ce)}`).join(`,
28
- `):` "column1" = value1,
29
- "column2" = value2`,J=O.length>0?O.map(ce=>`"${ce}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",ae=`UPDATE "${L}"."${R}"
30
- SET
31
- ${X}
32
- WHERE ${J};`;o(ae,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=c(t.selectedItem.value.name),O=n(),L=t.selectedItem.value.name,R=I.length>0?I.map(X=>`"${X}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",M=`DELETE FROM "${O}"."${L}"
33
- WHERE ${R};`;o(M,"DELETE Statement")},onGenMergeSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=r(t.selectedItem.value.name),O=c(t.selectedItem.value.name),L=n(),R=t.selectedItem.value.name,M=Nt(R),X=I.length>0?I.map(ge=>`"${ge}"`).join(", "):'"column1", "column2"',J=`"${M}"`,ae=O.length>0?O.map(ge=>`${J}."${ge}" = src."${ge}"`).join(" AND "):`${J}."id" = src."id"`,ce=I.length>0?I.filter(ge=>!O.includes(ge)).map(ge=>` "${ge}" = src."${ge}"`).join(`,
34
- `):' "column1" = src."column1"',de=I.length>0?I.map(ge=>`src."${ge}"`).join(", "):'src."column1", src."column2"',ie=`MERGE INTO "${L}"."${R}" AS ${J}
35
- USING (SELECT ${X} FROM source_table) AS src
36
- ON ${ae}
37
- WHEN MATCHED THEN
38
- UPDATE SET
39
- ${ce}
40
- WHEN NOT MATCHED THEN
41
- INSERT (${X})
42
- VALUES (${de});`;o(ie,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=m(t.selectedItem.value.name),O=c(t.selectedItem.value.name),L=n(),R=t.selectedItem.value.name,M=I.length>0?I.map(ie=>`"${ie.name}"`).join(", "):'"column1", "column2"',X=I.length>0?I.map(ie=>d(ie)).join(", "):"value1, value2",J=O.length>0?O.map(ie=>`"${ie}"`).join(", "):'"id"',ae=I.filter(ie=>!O.includes(ie.name)),ce=ae.length>0?ae.map(ie=>` "${ie.name}" = EXCLUDED."${ie.name}"`).join(`,
43
- `):' "column1" = EXCLUDED."column1"',de=`INSERT INTO "${L}"."${R}" (${M})
44
- VALUES (${X})
45
- ON CONFLICT (${J})
46
- DO UPDATE SET
47
- ${ce};`;o(de,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=r(t.selectedItem.value.name),O=c(t.selectedItem.value.name),L=n(),R=t.selectedItem.value.name,X=`"${Nt(R)}"`,J=I.length>0?I.filter(de=>!O.includes(de)).map(de=>` "${de}" = src."${de}"`).join(`,
48
- `):' "column1" = src."column1"',ae=O.length>0?O.map(de=>`${X}."${de}" = src."${de}"`).join(" AND "):`${X}."id" = src."id"`,ce=`UPDATE "${L}"."${R}" AS ${X}
49
- SET
50
- ${J}
51
- FROM source_table AS src
52
- WHERE ${ae};`;o(ce,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const I=c(t.selectedItem.value.name),O=n(),L=t.selectedItem.value.name,M=`"${Nt(L)}"`,X=I.length>0?I.map(ae=>`${M}."${ae}" = src."${ae}"`).join(" AND "):`${M}."id" = src."id"`,J=`DELETE FROM "${O}"."${L}" AS ${M}
53
- USING source_table AS src
54
- WHERE ${X};`;o(J,"DELETE USING")},onGenTableDDL:async()=>{!t.selectedItem.value||!t.selectedItem.value.name||(o("","Table DDL"),await u(async()=>{const I=await $fetch("/api/tables/ddl",{method:"POST",body:{...Ce(e.connection.value),schemaName:n(),tableName:t.selectedItem.value.name}});o(I,"Table DDL")},t.isFetching,"Failed to get table DDL"))}}}function Wr(e,t,a){const{getSchemaName:n,executeWithSafeMode:l,showSqlPreview:o,executeWithLoading:r}=a,m=y=>{var x;return(((x=e.activeSchema.value)==null?void 0:x.views)||[]).find(b=>b.oid===y)},c=y=>{var x,b;const w=(x=e.activeSchema.value)==null?void 0:x.viewDetails;return(b=w==null?void 0:w[y])!=null&&b.columns?w[y].columns.map(C=>C.name):[]};return{getViewInfo:m,getViewColumns:c,onGenViewSelectSQL:()=>{if(!t.selectedItem.value)return;const y=m(t.selectedItem.value.id),w=(y==null?void 0:y.name)||t.selectedItem.value.title,x=c(w),b=n(),C=Ur(b,w,x);o(C,"SELECT Statement")},onGenViewDDL:async()=>{if(!t.selectedItem.value)return;const y=m(t.selectedItem.value.id),w=(y==null?void 0:y.name)||t.selectedItem.value.title,x=(y==null?void 0:y.type)===Me.MaterializedView?"MATERIALIZED VIEW":"VIEW";o("",`${x} DDL`),await r(async()=>{const b=await $fetch("/api/views/definition",{method:"POST",body:{...Ce(e.connection.value),viewId:t.selectedItem.value.id,schemaName:n(),viewName:w}});if(b&&b.definition)o(b.definition,`${x} DDL`);else throw new Error("Could not retrieve view definition")},t.isFetching,"Failed to get view DDL")},onRenameView:()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.ViewDetail)return;const y=m(t.selectedItem.value.id),w=(y==null?void 0:y.name)||t.selectedItem.value.title;t.renameDialogType.value=K.ViewDetail,t.renameDialogValue.value=w,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=""},performRenameView:async y=>{var T;const x=(((T=e.activeSchema.value)==null?void 0:T.views)||[]).find(A=>A.name===t.renameDialogValue.value),b=(x==null?void 0:x.type)===Me.MaterializedView,C=Fr(n(),t.renameDialogValue.value,y,b);await l(C,"save",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:C}}),be.success("View renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename view")})},onDeleteView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.ViewDetail)return;const y=m(t.selectedItem.value.id),w=(y==null?void 0:y.name)||t.selectedItem.value.title,x=(y==null?void 0:y.type)===Me.MaterializedView,b=Pr(n(),w,x,!1);await l(b,"delete",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:b}}),be.success("View deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete view")})},onRefreshMaterializedView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==K.ViewDetail)return;const y=m(t.selectedItem.value.id);if((y==null?void 0:y.type)!==Me.MaterializedView){be.error("Only materialized views can be refreshed");return}const w=(y==null?void 0:y.name)||t.selectedItem.value.title,x=Mr(n(),w,!1);await l(x,"save",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:x}}),be.success("Materialized view refreshed successfully")},t.isFetching,"Failed to refresh materialized view")})}}}const Kr=e=>B(()=>[{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:W.ACTION,select:e.onRenameFunction},{title:"Delete",icon:"hugeicons:delete-02",type:W.ACTION,select:e.onDeleteFunction},{type:W.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:W.SUBMENU,items:[{title:"CALL",icon:"hugeicons:play",type:W.ACTION,select:e.onGenFunctionCallSQL},{title:"SELECT",icon:"hugeicons:table",type:W.ACTION,select:e.onGenFunctionSelectSQL},{type:W.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:W.ACTION,select:e.onGenFunctionDDL}]}]),Qr=(e,t)=>B(()=>[{title:"Export Data",icon:"hugeicons:download-01",type:W.SUBMENU,items:[{title:"SQL (INSERT statements)",icon:"hugeicons:code",type:W.ACTION,select:()=>e.onExportTableData(xt.SQL)},{title:"JSON",icon:"hugeicons:file-script",type:W.ACTION,select:()=>e.onExportTableData(xt.JSON)},{title:"CSV",icon:"hugeicons:file-script",type:W.ACTION,select:()=>e.onExportTableData(xt.CSV)}]},{title:"Import Data",icon:"hugeicons:upload-01",type:W.ACTION,disabled:!0},{type:W.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:W.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:W.ACTION,select:e.onGenSelectSQL},{title:"INSERT",icon:"hugeicons:plus-sign",type:W.ACTION,select:e.onGenInsertSQL},{title:"UPDATE",icon:"hugeicons:pencil-edit-02",type:W.ACTION,select:e.onGenUpdateSQL},{title:"DELETE",icon:"hugeicons:delete-01",type:W.ACTION,select:e.onGenDeleteSQL},{type:W.SEPARATOR},{title:"MERGE",icon:"hugeicons:git-merge",type:W.ACTION,select:e.onGenMergeSQL},{title:"INSERT ON CONFLICT",icon:"hugeicons:git-pull-request",type:W.ACTION,select:e.onGenInsertOnConflictSQL},{title:"UPDATE FROM",icon:"hugeicons:arrow-right-01",type:W.ACTION,select:e.onGenUpdateFromSQL},{title:"DELETE USING",icon:"hugeicons:delete-02",type:W.ACTION,select:e.onGenDeleteUsingSQL},{type:W.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:W.ACTION,select:e.onGenTableDDL}]},{type:W.SEPARATOR},{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:W.ACTION,select:e.onRenameTable},{title:"Delete",icon:"hugeicons:delete-02",type:W.ACTION,select:e.onDeleteTable},{type:W.SEPARATOR},t]),Yr=(e,t,a)=>B(()=>{const n=t.selectedItem.value?e.getViewInfo(t.selectedItem.value.id):null,l=(n==null?void 0:n.type)===Me.MaterializedView,o=[{title:"Generate SQL",icon:"hugeicons:code",type:W.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:W.ACTION,select:e.onGenViewSelectSQL},{type:W.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:W.ACTION,select:e.onGenViewDDL}]},{type:W.SEPARATOR}];return l&&(o.push({title:"Refresh Materialized View",icon:"hugeicons:refresh",type:W.ACTION,select:e.onRefreshMaterializedView}),o.push({type:W.SEPARATOR})),o.push({title:"Rename...",icon:"hugeicons:pencil-edit-02",type:W.ACTION,select:e.onRenameView},{title:"Delete",icon:"hugeicons:delete-02",type:W.ACTION,select:e.onDeleteView},{type:W.SEPARATOR},a),o});function Xr(e,t){const a=ct(),n=la(a,"quickQuerySafeModeEnabled"),l=H(!1),o=()=>{var x;return((x=e.activeSchema.value)==null?void 0:x.name)||"public"},r=x=>{const b=e.activeSchema.value;return b!=null&&b.tableDetails&&b.tableDetails[x]||null},m=x=>{const b=r(x);return b!=null&&b.columns?b.columns.sort((C,T)=>C.ordinal_position-T.ordinal_position):[]};return{getSchemaName:o,getTableMetadata:r,getTableColumnsMetadata:m,getTableColumns:x=>m(x).map(b=>b.name),getPrimaryKeyColumns:x=>{const b=r(x);return b!=null&&b.primary_keys?b.primary_keys.map(C=>C.column):[]},getColumnPlaceholder:x=>x.default_value?x.default_value:x.is_nullable?"NULL":`:${x.name}`,onRightClickItem:(x,b)=>{t.selectedItem.value=Ha(b.value)},showSqlPreview:(x,b)=>{t.sqlPreviewDialogSQL.value=x,t.sqlPreviewDialogTitle.value=b,t.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(x,b,C)=>{n.value?(t.safeModeDialogSQL.value=x,t.safeModeDialogType.value=b,t.pendingAction.value=C,t.safeModeDialogOpen.value=!0):await C()},onSafeModeConfirm:async()=>{t.pendingAction.value&&(l.value=!0,await t.pendingAction.value(),l.value=!1,t.pendingAction.value=null),t.safeModeDialogOpen.value=!1},onSafeModeCancel:()=>{t.pendingAction.value=null,t.safeModeDialogOpen.value=!1},executeWithLoading:async(x,b=t.isFetching,C="An error occurred")=>{try{b.value=!0,await x()}catch(T){console.error(T);const A=T;be.error(A.message||C),t.sqlPreviewDialogOpen.value=!1}finally{b.value=!1}},safeModeLoading:l}}function Jr(){const e=H(null),t=H(!1),a=H(""),n=H("delete"),l=H(null),o=H(null),r=H(!1),m=H(""),c=H(""),d=H(!1),u=H(""),f=H("Generated SQL"),h=H(!1);return{selectedItem:e,safeModeDialogOpen:t,safeModeDialogSQL:a,safeModeDialogType:n,pendingAction:l,renameDialogType:o,renameDialogOpen:r,renameDialogValue:m,renameDialogParameters:c,sqlPreviewDialogOpen:d,sqlPreviewDialogSQL:u,sqlPreviewDialogTitle:f,isFetching:h}}function Zr(e){const t=Ga(),a={...e,connection:la(t,"selectedConnection")},n=Jr(),l=Xr(a,n),o=qr(a,n,l),r=Gr(a,n,l),m=Wr(a,n,l),c=async()=>{const y=be.loading("Refreshing schema...");try{await e.onRefreshSchema(),be.success("Schema refreshed",{id:y})}catch(w){const x=w;be.error(x.message||"Failed to refresh schema",{id:y})}},d={title:"Refresh Schema",icon:"hugeicons:refresh",type:W.ACTION,select:c},u=Kr(o),f=Qr(r,d),h=Yr(m,n,d),p=async y=>{n.renameDialogOpen.value=!1,n.renameDialogType.value===K.FunctionsDetail?await o.performRenameFunction(y):n.renameDialogType.value===K.TableDetail?await r.performRenameTable(y):n.renameDialogType.value===K.ViewDetail&&await m.performRenameView(y)},v=B(()=>{if(!n.selectedItem.value)return[d];switch(n.selectedItem.value.tabViewType){case K.FunctionsDetail:return u.value;case K.TableDetail:return f.value;case K.ViewDetail:return h.value;default:return[d]}});return{selectedItem:n.selectedItem,contextMenuItems:v,safeModeLoading:l.safeModeLoading,safeModeDialogOpen:n.safeModeDialogOpen,safeModeDialogSQL:n.safeModeDialogSQL,safeModeDialogType:n.safeModeDialogType,onSafeModeConfirm:l.onSafeModeConfirm,onSafeModeCancel:l.onSafeModeCancel,renameDialogType:n.renameDialogType,renameDialogOpen:n.renameDialogOpen,renameDialogValue:n.renameDialogValue,onConfirmRename:p,sqlPreviewDialogOpen:n.sqlPreviewDialogOpen,sqlPreviewDialogSQL:n.sqlPreviewDialogSQL,sqlPreviewDialogTitle:n.sqlPreviewDialogTitle,isFetching:n.isFetching,onRightClickItem:l.onRightClickItem}}const el={class:"flex flex-col h-full w-full overflow-y-auto relative"},tl={class:"h-full"},nl=se({__name:"ManagementSchemas",setup(e){const{schemaStore:t,connectToConnection:a,wsStateStore:n,tabViewStore:l}=Pe(),{activeSchema:o}=fe(t),{connectionId:r,schemaId:m,workspaceId:c}=fe(n),d=H(!1),u=ze("fileTreeRef"),f=H(!1),h=Le(""),p=ut(h,Ze),{fileTreeData:v,defaultFolderOpenId:y}=Vr(o,p),w=B(()=>Object.keys(v.value).length>0),x=async()=>{if(!r.value)throw new Error("No connection selected");d.value=!0,await a({wsId:c.value,connId:r.value,isRefresh:!0}),d.value=!1},b=()=>{u.value&&(f.value?(u.value.expandAll(),f.value=!1):(u.value.collapseAll(),f.value=!0))},C=B(()=>{var S;return((S=o.value)==null?void 0:S.name)||"public"}),{selectedItem:T,contextMenuItems:A,safeModeDialogOpen:P,safeModeDialogSQL:Y,safeModeDialogType:$,onSafeModeConfirm:k,onSafeModeCancel:I,renameDialogType:O,renameDialogOpen:L,renameDialogValue:R,onConfirmRename:M,sqlPreviewDialogOpen:X,sqlPreviewDialogSQL:J,sqlPreviewDialogTitle:ae,onRightClickItem:ce,isFetching:de,safeModeLoading:ie}=Zr({schemaName:C,activeSchema:o,onRefreshSchema:x}),ge=async S=>{var he,je;const z=v.value[S];if(!z)return;const q=(he=z.data)==null?void 0:he.tabViewType,Z=(je=z.data)==null?void 0:je.itemValue;if(!m.value||!q)return;let ve=null,oe;const Se=`${z.name}-${m.value}`;ve="workspaceId-connectionId-quick-query-tabViewId",oe={tabViewId:Se};const pe=q===K.ViewDetail?String((Z==null?void 0:Z.id)??z.id??""):void 0;if(ve){const Oe=(Z==null?void 0:Z.icon)||z.iconOpen||z.iconClose||"hugeicons:grid-table";await l.openTab({icon:Oe,iconClass:(Z==null?void 0:Z.iconClass)||z.iconClass,id:Se,name:z.name,type:q,routeName:ve,routeParams:oe,connectionId:r.value,schemaId:m.value||"",workspaceId:c.value||"",metadata:{type:q,tableName:z.name,virtualTableId:pe,functionId:String((Z==null?void 0:Z.id)||""),treeNodeId:z.id}}),await l.selectTab(Se)}},G=(S,z)=>{var ve,oe;const q=v.value[S];if(!q)return;const Z=((ve=q.data)==null?void 0:ve.itemValue)||{title:q.name,name:q.name,id:q.id,tabViewType:(oe=q.data)==null?void 0:oe.tabViewType,icon:q.iconOpen||q.iconClose,iconClass:q.iconClass};ce(z,{value:Z})};return xe(()=>l.activeTab,S=>{var z,q,Z,ve;if(!S){(z=u.value)==null||z.clearSelection();return}if(!((q=u.value)!=null&&q.isMouseInside)&&((S==null?void 0:S.type)===K.TableDetail||(S==null?void 0:S.type)===K.TableOverview||(S==null?void 0:S.type)===K.ViewDetail||(S==null?void 0:S.type)===K.ViewOverview||(S==null?void 0:S.type)===K.FunctionsDetail||(S==null?void 0:S.type)===K.FunctionsOverview)){const oe=(Z=S.metadata)==null?void 0:Z.treeNodeId;typeof oe=="string"&&((ve=u.value)==null||ve.focusItem(oe))}},{flush:"post",immediate:!0}),(S,z)=>{const q=me,Z=Re,ve=_e,oe=Ae,Se=De,pe=Ke;return D(),V("div",el,[i(s(et),{search:s(h),"onUpdate:search":z[0]||(z[0]=he=>Ie(h)?h.value=he:null),title:"Schemas","show-connection":!0,"show-schema":!0,"workspace-id":s(c),"show-search":!0,"search-placeholder":"Search in all tables or functions"},{actions:g(()=>[i(Se,null,{default:g(()=>[i(ve,{"as-child":""},{default:g(()=>[i(Z,{size:"iconSm",variant:"ghost",onClick:b},{default:g(()=>[i(q,{name:s(f)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(oe,null,{default:g(()=>[F(ne(s(f)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(Se,null,{default:g(()=>[i(ve,{"as-child":""},{default:g(()=>[i(Z,{size:"iconSm",variant:"ghost",onClick:x},{default:g(()=>[i(q,{name:"hugeicons:redo",class:ye(["size-4! min-w-4",s(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),i(oe,null,{default:g(()=>z[5]||(z[5]=[F(" Refresh Schema ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),s(w)?re("",!0):(D(),te(pe,{key:0,title:"No data found",desc:"There is no schemas data available for this connection."})),i(Et,{"context-menu-items":s(A),onOnClearContextMenu:z[1]||(z[1]=he=>T.value=null)},{default:g(()=>[E("div",tl,[i(dt,{ref_key:"fileTreeRef",ref:u,"init-expanded-ids":[s(y)],"initial-data":s(v),"storage-key":`${s(r)}-schemas-tree`,"allow-drag-and-drop":!1,"delay-focus":0,onClick:ge,onContextmenu:G},null,8,["init-expanded-ids","initial-data","storage-key"])])]),_:1},8,["context-menu-items"]),i(wo,{loading:s(ie),open:s(P),sql:s(Y),type:s($),"onUpdate:open":z[2]||(z[2]=he=>P.value=he),onConfirm:s(k),onCancel:s(I)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),i(jr,{open:s(L),"onUpdate:open":z[3]||(z[3]=he=>Ie(L)?L.value=he:null),tabViewType:s(O),"current-name":s(R),onConfirm:s(M)},null,8,["open","tabViewType","current-name","onConfirm"]),i(Br,{open:s(X),sql:s(J),title:s(ae),isLoading:s(de),"onUpdate:open":z[4]||(z[4]=he=>X.value=he)},null,8,["open","sql","title","isLoading"])])}}}),al={class:"flex flex-col h-full w-full overflow-hidden"},ol={key:0,class:"flex-1 flex flex-col items-center justify-center text-muted-foreground px-4"},rl={key:1,class:"flex-1 overflow-y-auto px-3 pb-4"},ll={class:"mb-4 p-3 bg-muted/30 rounded-lg"},sl={class:"flex items-center gap-2"},il={class:"text-sm font-medium"},cl={class:"space-y-2"},ul={class:"p-2 rounded-md bg-blue-500/10"},dl={class:"p-2 rounded-md bg-green-500/10"},pl={class:"mt-4 p-3 bg-muted/30 rounded-lg text-xs text-muted-foreground"},fl={class:"flex items-start gap-2"},ml=se({__name:"ManagementExport",setup(e){const{wsStateStore:t,connectionStore:a,tabViewStore:n}=Pe(),{connectionId:l,workspaceId:o}=fe(t),r=B(()=>l.value?a.connections.find(u=>u.id===l.value):null),m=B(()=>{var u;return((u=r.value)==null?void 0:u.connectionString)||""}),c=B(()=>{var u,f;return((u=r.value)==null?void 0:u.database)||((f=r.value)==null?void 0:f.name)||"database"}),d=async u=>{if(!o.value||!l.value)return;const f=`database-tools-${l.value}`;await n.openTab({workspaceId:o.value,connectionId:l.value,schemaId:"",id:f,name:`${c.value} - Tools`,icon:"lucide:database",iconClass:"text-primary",type:K.DatabaseTools,routeName:"workspaceId-connectionId-database-tools-name",routeParams:{workspaceId:o.value,connectionId:l.value,name:u}}),await n.selectTab(f)};return(u,f)=>{const h=me;return D(),V("div",al,[i(s(et),{title:"Database Tools","show-connection":!0,"workspace-id":s(o)},null,8,["workspace-id"]),s(m)?(D(),V("div",rl,[E("div",ll,[E("div",sl,[i(h,{name:"lucide:database",class:"size-5 text-primary"}),E("div",null,[E("p",il,ne(s(c)),1),f[3]||(f[3]=E("p",{class:"text-xs text-muted-foreground"},"Connected database",-1))])])]),E("div",cl,[E("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:f[0]||(f[0]=p=>d("export"))},[E("div",ul,[i(h,{name:"lucide:download",class:"size-5 text-blue-500"})]),f[4]||(f[4]=E("div",{class:"flex-1"},[E("p",{class:"text-sm font-medium"},"Export Database"),E("p",{class:"text-xs text-muted-foreground"}," Backup schema and data using pg_dump ")],-1)),i(h,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})]),E("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:f[1]||(f[1]=p=>d("import"))},[E("div",dl,[i(h,{name:"lucide:upload",class:"size-5 text-green-500"})]),f[5]||(f[5]=E("div",{class:"flex-1"},[E("p",{class:"text-sm font-medium"},"Import Database"),E("p",{class:"text-xs text-muted-foreground"}," Restore from backup using pg_restore ")],-1)),i(h,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})])]),E("div",pl,[E("div",fl,[i(h,{name:"lucide:info",class:"size-4 mt-0.5 shrink-0"}),f[6]||(f[6]=E("div",null,[E("p",{class:"font-medium"},"Requirements"),E("p",{class:"mt-1"},[E("code",{class:"bg-muted px-1 rounded"},"pg_dump"),F(" and "),E("code",{class:"bg-muted px-1 rounded"},"pg_restore"),F(" must be installed on the server. ")])],-1))])])])):(D(),V("div",ol,[i(h,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),f[2]||(f[2]=E("p",{class:"text-sm text-center"},"Select a connection",-1))]))])}}}),vl={class:"flex items-center justify-between"},gl={class:"text-sm"},yl={class:"flex items-center gap-1"},hl={class:"h-full mt-4"},bl={key:0,class:"space-y-2"},wl={class:"space-y-2"},Sl={class:"grid grid-cols-2 gap-4"},xl={class:"space-y-2"},Tl={class:"relative"},Cl={class:"space-y-2"},Il={class:"grid grid-cols-2 gap-3 pt-2"},El={class:"flex items-center space-x-2"},Dl={class:"flex items-center space-x-2"},_l={class:"flex items-center space-x-2"},Al={class:"flex items-center space-x-2"},Rl={key:0,class:"text-sm text-destructive space-y-1"},$l={key:1,class:"space-y-2"},Ol={class:"space-y-2"},Nl={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"},Ll={class:"font-medium"},Pl={key:1,class:"space-y-2 pt-2"},Fl={class:"flex items-center space-x-2"},Ml={key:2,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},Ul={key:2,class:"space-y-2"},Vl={class:"flex items-center justify-between"},zl={key:0,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},jl={key:1,class:"space-y-2 max-h-[50vh] overflow-y-auto"},Bl={class:"flex items-center gap-2"},ql={class:"text-sm font-medium"},Hl={class:"flex items-center gap-4"},Gl={class:"flex items-center space-x-2"},Wl={class:"flex items-center space-x-2"},Kl={key:2,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},Ql={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"},Yl={class:"flex items-center gap-2"},Xl={key:3,class:"space-y-2"},Jl={class:"space-y-2"},Zl={class:"grid grid-cols-4 gap-2"},es={class:"flex items-center space-x-2 pt-2"},ts={class:"space-y-2"},ns={class:"flex items-center space-x-2"},as={class:"flex items-center space-x-2 pt-2"},os={class:"space-y-2"},rs={class:"grid grid-cols-3 gap-2"},ls={class:"flex items-center space-x-2 pt-2"},ss={class:"text-xs text-muted-foreground"},is={key:4,class:"space-y-2"},cs={class:"space-y-2"},us={class:"grid grid-cols-2 gap-1 text-sm"},ds={class:"font-normal"},ps={class:"font-normal"},fs={class:"font-normal"},ms={class:"font-normal"},vs={key:0},gs={key:1},ys={key:0,class:"p-3 rounded-md bg-destructive/10 border border-destructive/30 text-destructive text-sm"},hs={class:"flex items-start gap-2"},bs={class:"flex-1"},ws={class:"text-xs mt-1 opacity-90"},Ss={class:"space-y-2"},xs={class:"flex items-center justify-between"},Ts={class:"max-h-[140px] w-full overflow-y-auto rounded-md border bg-muted/50"},Cs={class:"flex gap-2 items-center"},Qe=5,Is=se({__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(e,{emit:t}){const a=e,n=t,l=H(1),o=vt({roleName:"",password:"",canLogin:!0,canCreateDb:!1,canCreateRole:!1,isReplication:!1,connectionLimit:-1,validUntil:"",comment:""}),r=H(""),m=H(!1),c=B(()=>{var G;return((G=a.currentDatabase)==null?void 0:G.trim())||""}),d=B(()=>!r.value||!c.value?!1:r.value!==c.value),u=H(new Map),f=H("tables"),h=vt({scope:"all",privileges:new Set,applyToFuture:!1}),p=vt({scope:"all",privileges:new Set,applyToFuture:!1}),v=vt({scope:"all",privileges:new Set,applyToFuture:!1}),y=H(!1),w=B(()=>{const G=[];return o.roleName.trim()||G.push("Username is required"),o.roleName.includes(" ")&&G.push("Username cannot contain spaces"),G}),x=B(()=>w.value.length===0),b=B(()=>{for(const[,G]of u.value)if(G.has("USAGE"))return!0;return!1}),C=B(()=>{const G=[];for(const[S,z]of u.value)z.has("USAGE")&&G.push(S);return G}),T=B(()=>{const G=[];o.canLogin?(G.push("LOGIN"),o.password&&G.push(`PASSWORD '${o.password.replace(/'/g,"''")}'`)):G.push("NOLOGIN"),o.canCreateDb&&G.push("CREATEDB"),o.canCreateRole&&G.push("CREATEROLE"),o.isReplication&&G.push("REPLICATION"),o.connectionLimit>=0&&G.push(`CONNECTION LIMIT ${o.connectionLimit}`),o.validUntil&&G.push(`VALID UNTIL '${o.validUntil}'`);let S=`CREATE ROLE "${o.roleName}" WITH ${G.join(" ")};
55
- `;r.value&&m.value&&(S+=`GRANT CONNECT ON DATABASE "${r.value}" TO "${o.roleName}";
56
- `);for(const[z,q]of u.value)q.size>0&&(S+=`GRANT ${Array.from(q).join(", ")} ON SCHEMA "${z}" TO "${o.roleName}";
57
- `);for(const z of C.value)if(h.privileges.size>0){const q=Array.from(h.privileges).join(", ");S+=`GRANT ${q} ON ALL TABLES IN SCHEMA "${z}" TO "${o.roleName}";
58
- `,h.applyToFuture&&(S+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${q} ON TABLES TO "${o.roleName}";
59
- `)}for(const z of C.value)if(p.privileges.size>0){const q=Array.from(p.privileges).join(", ");S+=`GRANT ${q} ON ALL FUNCTIONS IN SCHEMA "${z}" TO "${o.roleName}";
60
- `,p.applyToFuture&&(S+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${q} ON FUNCTIONS TO "${o.roleName}";
61
- `)}for(const z of C.value)if(v.privileges.size>0){const q=Array.from(v.privileges).join(", ");S+=`GRANT ${q} ON ALL SEQUENCES IN SCHEMA "${z}" TO "${o.roleName}";
62
- `,v.applyToFuture&&(S+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${z}" GRANT ${q} ON SEQUENCES TO "${o.roleName}";
63
- `)}return S}),{copied:A,handleCopy:P,getCopyIcon:Y,getCopyIconClass:$,getCopyTooltip:k}=ca(),I=()=>P(T.value),O=()=>{if(l.value<Qe){if(l.value===2&&r.value){if(d.value){l.value=Qe;return}n("fetchSchemas")}l.value++}},L=()=>{if(l.value===Qe&&d.value){l.value=2;return}l.value>1&&l.value--},R=B(()=>l.value===1?x.value:l.value===2?!!r.value&&!a.databasesLoading:l.value===3?b.value:!0);xe(r,()=>{u.value.clear(),h.privileges.clear(),h.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1});const M=(G,S)=>{const z=u.value.get(G)??new Set,q=new Set(z);q.has(S)?q.delete(S):q.add(S),u.value.set(G,q)},X=(G,S)=>{var z;return((z=u.value.get(G))==null?void 0:z.has(S))??!1},J=G=>{h.privileges.has(G)?h.privileges.delete(G):h.privileges.add(G)},ae=G=>{p.privileges.has(G)?p.privileges.delete(G):p.privileges.add(G)},ce=G=>{v.privileges.has(G)?v.privileges.delete(G):v.privileges.add(G)},de=()=>{const G=[];for(const[z,q]of u.value)q.size>0&&G.push({schemaName:z,privileges:Array.from(q)});const S=[];for(const z of C.value)h.privileges.size>0&&S.push({objectType:"table",schemaName:z,privileges:Array.from(h.privileges),applyToFuture:h.applyToFuture}),p.privileges.size>0&&S.push({objectType:"function",schemaName:z,privileges:Array.from(p.privileges),applyToFuture:p.applyToFuture}),v.privileges.size>0&&S.push({objectType:"sequence",schemaName:z,privileges:Array.from(v.privileges),applyToFuture:v.applyToFuture});n("confirm",{roleData:{roleName:o.roleName,password:o.password||void 0,canLogin:o.canLogin,canCreateDb:o.canCreateDb,canCreateRole:o.canCreateRole,isReplication:o.isReplication,connectionLimit:o.connectionLimit>=0?o.connectionLimit:void 0,validUntil:o.validUntil||void 0,comment:o.comment||void 0},databaseGrants:r.value&&m.value?[{databaseName:r.value,privileges:["CONNECT"]}]:[],schemaGrants:G,objectGrants:S})},ie=()=>{l.value=1,o.roleName="",o.password="",o.canLogin=!0,o.canCreateDb=!1,o.canCreateRole=!1,o.isReplication=!1,o.connectionLimit=-1,o.validUntil="",o.comment="",r.value="",m.value=!1,u.value.clear(),h.privileges.clear(),h.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1,y.value=!1};xe(()=>a.open,G=>{G||ie()}),xe(l,()=>{n("clearError")});const ge=["User Info","Database","Schemas","Objects","Review"];return(G,S)=>{const z=me,q=Qa,Z=Ya,ve=Ka,oe=Xa,Se=ln,pe=So,he=Ja,je=nn,Oe=rn,_t=on,At=tn,Rt=Ke,nt=Co,pt=To,at=Io,_=xo,N=Re,j=_e,U=Ae,ee=De,ue=ua,le=Za,Be=Wa,ft=eo;return D(),te(ft,{open:G.open,"onUpdate:open":S[16]||(S[16]=mt=>n("update:open",mt))},{default:g(()=>[i(Be,{class:"w-[65vw] h-[60vh] max-w-[65vw]! gap-1 p-5 flex flex-col flex-1 overflow-hidden"},{default:g(()=>{var mt,Cn,In;return[i(ve,null,{default:g(()=>[i(q,{class:"flex items-center font-medium! gap-2"},{default:g(()=>[i(z,{name:"lucide:user-plus",class:"size-5 text-primary"}),S[17]||(S[17]=F(" Create New User/Role "))]),_:1}),i(Z,null,{default:g(()=>[E("div",vl,[E("span",gl,"Step "+ne(s(l))+": "+ne(ge[s(l)-1]),1),E("div",yl,[(D(),V(Te,null,$e(Qe,Q=>E("div",{key:Q,class:ye(["w-6 h-1 rounded-full transition-colors",Q<=s(l)?"bg-primary":"bg-muted"])},null,2)),64))])])]),_:1})]),_:1}),E("div",hl,[s(l)===1?(D(),V("div",bl,[E("div",wl,[i(oe,{for:"roleName"},{default:g(()=>S[18]||(S[18]=[F("Username "),E("span",{class:"text-destructive"},"*",-1)])),_:1}),i(Se,{id:"roleName",modelValue:s(o).roleName,"onUpdate:modelValue":S[0]||(S[0]=Q=>s(o).roleName=Q),placeholder:"Enter username",class:ye({"border-destructive":s(o).roleName&&s(w).some(Q=>Q.includes("Username"))})},null,8,["modelValue","class"])]),E("div",Sl,[E("div",xl,[i(oe,{for:"password"},{default:g(()=>S[19]||(S[19]=[F("Password")])),_:1}),E("div",Tl,[i(Se,{id:"password",modelValue:s(o).password,"onUpdate:modelValue":S[1]||(S[1]=Q=>s(o).password=Q),type:s(y)?"text":"password",placeholder:"Enter password",class:"pr-10"},null,8,["modelValue","type"]),E("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",onClick:S[2]||(S[2]=Q=>y.value=!s(y))},[i(z,{name:s(y)?"lucide:eye-off":"lucide:eye",class:"size-4"},null,8,["name"])])]),S[20]||(S[20]=E("p",{class:"text-xs text-amber-500 dark:text-amber-400"}," Leave blank to create a role without a password. ",-1))]),E("div",Cl,[i(oe,{for:"connectionLimit"},{default:g(()=>S[21]||(S[21]=[F("Connection Limit")])),_:1}),i(Se,{id:"connectionLimit",modelValue:s(o).connectionLimit,"onUpdate:modelValue":S[3]||(S[3]=Q=>s(o).connectionLimit=Q),modelModifiers:{number:!0},type:"number",min:-1,placeholder:"No limit"},null,8,["modelValue"]),S[22]||(S[22]=E("p",{class:"text-xs text-muted-foreground"}," Use `-1` for no limit. ",-1))])]),E("div",Il,[E("div",El,[i(pe,{id:"canLogin","model-value":s(o).canLogin,"onUpdate:modelValue":S[4]||(S[4]=Q=>s(o).canLogin=Q)},null,8,["model-value"]),i(oe,{for:"canLogin",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[23]||(S[23]=[F("Can Login")])),_:1})]),E("div",Dl,[i(pe,{id:"canCreateDb","model-value":s(o).canCreateDb,"onUpdate:modelValue":S[5]||(S[5]=Q=>s(o).canCreateDb=Q)},null,8,["model-value"]),i(oe,{for:"canCreateDb",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[24]||(S[24]=[F("Create DB")])),_:1})]),E("div",_l,[i(pe,{id:"canCreateRole","model-value":s(o).canCreateRole,"onUpdate:modelValue":S[6]||(S[6]=Q=>s(o).canCreateRole=Q)},null,8,["model-value"]),i(oe,{for:"canCreateRole",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[25]||(S[25]=[F("Create Role")])),_:1})]),E("div",Al,[i(pe,{id:"isReplication","model-value":s(o).isReplication,"onUpdate:modelValue":S[7]||(S[7]=Q=>s(o).isReplication=Q)},null,8,["model-value"]),i(oe,{for:"isReplication",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[26]||(S[26]=[F("Replication")])),_:1})])]),s(w).length>0&&s(o).roleName?(D(),V("div",Rl,[(D(!0),V(Te,null,$e(s(w),Q=>(D(),V("div",{key:Q,class:"flex items-center gap-1"},[i(z,{name:"lucide:x",class:"size-3"}),F(" "+ne(Q),1)]))),128))])):re("",!0)])):s(l)===2?(D(),V("div",$l,[E("div",Ol,[i(oe,null,{default:g(()=>S[27]||(S[27]=[F("Select Database")])),_:1}),i(At,{modelValue:s(r),"onUpdate:modelValue":S[8]||(S[8]=Q=>Ie(r)?r.value=Q:null),disabled:G.databasesLoading},{default:g(()=>[i(je,null,{default:g(()=>[i(he,{placeholder:G.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),i(_t,null,{default:g(()=>[(D(!0),V(Te,null,$e(G.databases,Q=>(D(),te(Oe,{key:Q.databaseName,value:Q.databaseName},{default:g(()=>[F(ne(Q.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),s(d)?(D(),V("div",Nl,[E("div",kl,[i(z,{name:"lucide:info",class:"size-4"}),E("span",null,[S[28]||(S[28]=F(" You're connected to ")),E("span",Ll,ne(s(c)),1),S[29]||(S[29]=F(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):re("",!0),s(r)&&!G.databasesLoading?(D(),V("div",Pl,[E("div",Fl,[i(pe,{id:"dbConnect","model-value":s(m),"onUpdate:modelValue":S[9]||(S[9]=Q=>Ie(m)?m.value=Q:null)},null,8,["model-value"]),i(oe,{for:"dbConnect",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[30]||(S[30]=[F(" Grant CONNECT permission ")])),_:1})]),S[31]||(S[31]=E("p",{class:"text-xs text-muted-foreground"}," CONNECT allows the user to connect to this database. ",-1))])):re("",!0),G.databasesLoading?(D(),V("div",Ml,[i(z,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),S[32]||(S[32]=E("p",{class:"text-sm"},"Loading databases...",-1))])):(mt=G.databases)!=null&&mt.length?re("",!0):(D(),te(Rt,{key:3,title:"No databases available",desc:"No databases were found for this connection."}))])):s(l)===3?(D(),V("div",Ul,[E("div",Vl,[i(oe,null,{default:g(()=>S[33]||(S[33]=[F("Schema Permissions")])),_:1}),S[34]||(S[34]=E("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),G.schemasLoading?(D(),V("div",zl,[i(z,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),S[35]||(S[35]=E("p",{class:"text-sm"},"Loading schemas...",-1))])):(Cn=G.schemas)!=null&&Cn.length?(D(),V("div",jl,[(D(!0),V(Te,null,$e(G.schemas,Q=>(D(),V("div",{key:Q.schemaName,class:"flex items-center justify-between p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors"},[E("div",Bl,[i(z,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),E("span",ql,ne(Q.schemaName),1)]),E("div",Hl,[E("div",Gl,[i(pe,{id:`schema-${Q.schemaName}-usage`,"model-value":X(Q.schemaName,"USAGE"),"onUpdate:modelValue":$t=>M(Q.schemaName,"USAGE")},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`schema-${Q.schemaName}-usage`,class:"text-xs cursor-pointer"},{default:g(()=>S[36]||(S[36]=[F("USAGE")])),_:2},1032,["for"])]),E("div",Wl,[i(pe,{id:`schema-${Q.schemaName}-create`,"model-value":X(Q.schemaName,"CREATE"),"onUpdate:modelValue":$t=>M(Q.schemaName,"CREATE")},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`schema-${Q.schemaName}-create`,class:"text-xs cursor-pointer"},{default:g(()=>S[37]||(S[37]=[F("CREATE")])),_:2},1032,["for"])])])]))),128))])):(D(),V("div",Kl,[i(z,{name:"lucide:folder",class:"size-12 mb-2 opacity-50"}),S[38]||(S[38]=E("p",{class:"text-sm"},"No schemas found",-1))])),!s(b)&&((In=G.schemas)!=null&&In.length)?(D(),V("div",Ql,[E("div",Yl,[i(z,{name:"lucide:alert-triangle",class:"size-4"}),S[39]||(S[39]=E("span",null,"Select at least one schema with USAGE permission to continue",-1))])])):re("",!0)])):s(l)===4?(D(),V("div",Xl,[i(_,{modelValue:s(f),"onUpdate:modelValue":S[14]||(S[14]=Q=>Ie(f)?f.value=Q:null),class:"w-full"},{default:g(()=>[i(pt,{class:"w-full grid grid-cols-3"},{default:g(()=>[i(nt,{value:"tables"},{default:g(()=>[i(z,{name:"lucide:table",class:"size-4 mr-1"}),S[40]||(S[40]=F(" Tables "))]),_:1}),i(nt,{value:"functions"},{default:g(()=>[i(z,{name:"lucide:function-square",class:"size-4 mr-1"}),S[41]||(S[41]=F(" Functions "))]),_:1}),i(nt,{value:"sequences"},{default:g(()=>[i(z,{name:"lucide:list-ordered",class:"size-4 mr-1"}),S[42]||(S[42]=F(" Sequences "))]),_:1})]),_:1}),i(at,{value:"tables",class:"space-y-2 pt-4"},{default:g(()=>[E("div",Jl,[i(oe,{class:"text-sm"},{default:g(()=>S[43]||(S[43]=[F("Table Privileges")])),_:1}),E("div",Zl,[(D(),V(Te,null,$e(["SELECT","INSERT","UPDATE","DELETE"],Q=>E("div",{key:Q,class:"flex items-center space-x-2"},[i(pe,{id:`table-${Q}`,"model-value":s(h).privileges.has(Q),"onUpdate:modelValue":$t=>J(Q)},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`table-${Q}`,class:"text-xs cursor-pointer"},{default:g(()=>[F(ne(Q),1)]),_:2},1032,["for"])])),64))])]),E("div",es,[i(pe,{id:"tablesFuture","model-value":s(h).applyToFuture,"onUpdate:modelValue":S[10]||(S[10]=Q=>s(h).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"tablesFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[44]||(S[44]=[F(" Apply to future tables (ALTER DEFAULT PRIVILEGES) ")])),_:1})])]),_:1}),i(at,{value:"functions",class:"space-y-2 pt-4"},{default:g(()=>[E("div",ts,[i(oe,{class:"text-sm"},{default:g(()=>S[45]||(S[45]=[F("Function Privileges")])),_:1}),E("div",ns,[i(pe,{id:"func-execute","model-value":s(p).privileges.has("EXECUTE"),"onUpdate:modelValue":S[11]||(S[11]=Q=>ae("EXECUTE"))},null,8,["model-value"]),i(oe,{for:"func-execute",class:"text-xs cursor-pointer"},{default:g(()=>S[46]||(S[46]=[F("EXECUTE")])),_:1})])]),E("div",as,[i(pe,{id:"funcFuture","model-value":s(p).applyToFuture,"onUpdate:modelValue":S[12]||(S[12]=Q=>s(p).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"funcFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[47]||(S[47]=[F(" Apply to future functions ")])),_:1})])]),_:1}),i(at,{value:"sequences",class:"space-y-2 pt-4"},{default:g(()=>[E("div",os,[i(oe,{class:"text-sm"},{default:g(()=>S[48]||(S[48]=[F("Sequence Privileges")])),_:1}),E("div",rs,[(D(),V(Te,null,$e(["USAGE","SELECT"],Q=>E("div",{key:Q,class:"flex items-center space-x-2"},[i(pe,{id:`seq-${Q}`,"model-value":s(v).privileges.has(Q),"onUpdate:modelValue":$t=>ce(Q)},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`seq-${Q}`,class:"text-xs cursor-pointer"},{default:g(()=>[F(ne(Q),1)]),_:2},1032,["for"])])),64))])]),E("div",ls,[i(pe,{id:"seqFuture","model-value":s(v).applyToFuture,"onUpdate:modelValue":S[13]||(S[13]=Q=>s(v).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"seqFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>S[49]||(S[49]=[F(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),E("p",ss," Permissions will be applied to all objects in selected schemas: "+ne(s(C).join(", ")||"none"),1)])):s(l)===5?(D(),V("div",is,[E("div",cs,[S[54]||(S[54]=E("h4",{class:"text-sm font-medium"},"Summary",-1)),E("div",us,[S[50]||(S[50]=E("div",{class:"text-muted-foreground"},"Username:",-1)),E("div",ds,ne(s(o).roleName),1),S[51]||(S[51]=E("div",{class:"text-muted-foreground"},"Type:",-1)),E("div",ps,ne(s(o).canLogin?"User (login)":"Role"),1),S[52]||(S[52]=E("div",{class:"text-muted-foreground"},"Database:",-1)),E("div",fs,ne(s(r)||"None"),1),S[53]||(S[53]=E("div",{class:"text-muted-foreground"},"Schemas:",-1)),E("div",ms,[s(d)?(D(),V("span",vs,"Skipped")):(D(),V("span",gs,ne(s(C).length)+" selected",1))])])]),G.error?(D(),V("div",ys,[E("div",hs,[i(z,{name:"lucide:alert-circle",class:"size-4 mt-0.5 shrink-0"}),E("div",bs,[S[55]||(S[55]=E("p",{class:"font-medium"},"Error creating user",-1)),E("p",ws,ne(G.error),1)])])])):re("",!0),E("div",Ss,[E("div",xs,[S[56]||(S[56]=E("h4",{class:"text-sm font-medium"},"Generated SQL",-1)),i(ee,null,{default:g(()=>[i(j,{"as-child":""},{default:g(()=>[i(N,{variant:"ghost",size:"xs",onClick:I},{default:g(()=>[i(z,{name:s(Y)(s(A)),class:ye(["size-3 mr-1",s($)(s(A))])},null,8,["name","class"]),F(" "+ne(s(k)(s(A),"Copy")),1)]),_:1})]),_:1}),i(U,null,{default:g(()=>[F(ne(s(k)(s(A),"Copy SQL")),1)]),_:1})]),_:1})]),E("div",Ts,[i(ue,{code:s(T),"max-height":"140px"},null,8,["code"])])])])):re("",!0)]),i(le,{class:"gap-2 sm:gap-0"},{default:g(()=>[s(l)>1?(D(),te(N,{key:0,variant:"outline",onClick:L,disabled:G.loading},{default:g(()=>[i(z,{name:"lucide:arrow-left",class:"size-4"}),S[57]||(S[57]=F(" Back "))]),_:1},8,["disabled"])):re("",!0),S[60]||(S[60]=E("div",{class:"flex-1"},null,-1)),E("div",Cs,[s(l)===1?(D(),te(N,{key:0,variant:"outline",onClick:S[15]||(S[15]=Q=>n("cancel")),disabled:G.loading},{default:g(()=>S[58]||(S[58]=[F(" Cancel ")])),_:1},8,["disabled"])):re("",!0),s(l)<Qe?(D(),te(N,{key:1,onClick:O,disabled:!s(R)},{default:g(()=>[F(ne(s(l)===4?"Review":"Next")+" ",1),i(z,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):re("",!0),s(l)===Qe?(D(),te(N,{key:2,onClick:de,disabled:G.loading||!s(x)},{default:g(()=>[G.loading?(D(),te(z,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):re("",!0),S[59]||(S[59]=F(" Create User "))]),_:1},8,["disabled"])):re("",!0)])]),_:1})]}),_:1})]),_:1},8,["open"])}}}),Es={class:"text-sm"},Ds={class:"font-semibold text-foreground"},_s={key:0,class:"flex items-start gap-2 p-3 rounded-md bg-destructive/10 border border-destructive/20"},As={class:"space-y-2"},Rs={class:"p-3 bg-muted/50 rounded-md border font-mono text-xs"},$s=se({__name:"DeleteUserDialog",props:{open:{type:Boolean},role:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const a=e,n=t,l=B(()=>a.role?`DROP ROLE IF EXISTS "${a.role.roleName}"`:"");return(o,r)=>{const m=me,c=fn,d=mn,u=pn,f=gn,h=Re,p=vn,v=dn,y=yn;return D(),te(y,{open:o.open,"onUpdate:open":r[2]||(r[2]=w=>n("update:open",w))},{default:g(()=>[i(v,{class:"max-w-md"},{default:g(()=>[i(u,null,{default:g(()=>[i(c,{class:"flex items-center gap-2"},{default:g(()=>[i(m,{name:"lucide:trash-2",class:"size-5 text-destructive"}),r[3]||(r[3]=F(" Delete User/Role "))]),_:1}),o.role?(D(),te(d,{key:0,class:"space-y-4"},{default:g(()=>[E("div",Es,[r[4]||(r[4]=F(" Are you sure you want to delete the role ")),E("span",Ds,ne(o.role.roleName),1),r[5]||(r[5]=F("? "))]),o.role.isSuperuser?(D(),V("div",_s,[i(m,{name:"lucide:alert-triangle",class:"size-5 text-destructive shrink-0 mt-0.5"}),r[6]||(r[6]=E("div",{class:"text-sm text-destructive"},[E("span",{class:"font-semibold"},"Warning:"),F(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):re("",!0),E("div",As,[r[7]||(r[7]=E("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),E("div",Rs,ne(s(l)),1)]),r[8]||(r[8]=E("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})):re("",!0)]),_:1}),i(p,null,{default:g(()=>[i(f,{onClick:r[0]||(r[0]=w=>n("cancel")),disabled:o.loading},{default:g(()=>r[9]||(r[9]=[F(" Cancel ")])),_:1},8,["disabled"]),i(h,{variant:"destructive",disabled:o.loading,onClick:r[1]||(r[1]=w=>n("confirm"))},{default:g(()=>[o.loading?(D(),te(m,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):re("",!0),r[10]||(r[10]=F(" Delete Role "))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Os={class:"flex flex-col gap-1 py-1 h-full relative"},Ns={class:"h-full"},ks=se({__name:"UserRolesTree",props:{roles:{},loading:{type:Boolean},selectedRoleName:{},onCreateUser:{type:Function},canCreateUser:{type:Boolean},createUserDisabledReason:{},onDeleteUser:{type:Function},onRefresh:{type:Function}},setup(e,{expose:t}){const a=e,n=cn(),l=to(),{workspaceId:o,connectionId:r,schemaId:m}=fe(l),c=ze("fileTreeRef"),d=H(null),u=H(!1),f=H(null),h=H(!1),p=[Ne.User],v=B(()=>{const $={},k=[],I=[],O=[];for(const R of a.roles)R.isSuperuser?k.push(R):R.canLogin?I.push(R):O.push(R);const L=(R,M,X)=>{$[R.roleName]={id:R.roleName,parentId:M,name:R.roleName,type:"file",depth:X,iconClose:R.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:R.isSuperuser?"text-yellow-500":R.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:K.UserPermissions,roleData:R}}};return k.length>0&&($[Ne.Superuser]={id:Ne.Superuser,parentId:null,name:`Superusers (${k.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:k.map(R=>R.roleName)},k.forEach(R=>L(R,Ne.Superuser,1))),I.length>0&&($[Ne.User]={id:Ne.User,parentId:null,name:`Users (${I.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:I.map(R=>R.roleName)},I.forEach(R=>L(R,Ne.User,1))),O.length>0&&($[Ne.Role]={id:Ne.Role,parentId:null,name:`Roles (${O.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:O.map(R=>R.roleName)},O.forEach(R=>L(R,Ne.Role,1))),$}),y=$=>a.roles.find(k=>k.roleName===$),w=($,k)=>{var O;const I=v.value[$];if(I)if(I.type==="folder")d.value={type:"category",category:I.id};else{const L=(O=I.data)==null?void 0:O.roleData;if(L)d.value={type:"role",role:L};else{const R=y(I.id);R&&(d.value={type:"role",role:R})}}},x=async $=>{var X;const k=v.value[$];if(!k||k.type==="folder"||!o.value||!r.value)return;const I=(X=k.data)==null?void 0:X.roleData,O=(I==null?void 0:I.roleName)||k.id,L=`user-permissions-${O}`,R=I!=null&&I.isSuperuser?"hugeicons:crown":I!=null&&I.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",M=I!=null&&I.isSuperuser?"text-yellow-500":I!=null&&I.canLogin?"text-blue-400":"text-purple-400";await n.openTab({workspaceId:o.value,connectionId:r.value,schemaId:m.value||"",id:L,name:`${O} Permissions`,icon:R,iconClass:M,type:K.UserPermissions,routeName:"workspaceId-connectionId-user-permissions-roleName",routeParams:{workspaceId:o.value,connectionId:r.value,roleName:O},metadata:{type:K.UserPermissions,roleName:O,treeNodeId:k.id}}),await n.selectTab(L)},b=B(()=>{const $=[];if(!d.value)return $.push({title:"Create User",icon:"lucide:user-plus",type:W.ACTION,select:()=>{var k;return(k=a.onCreateUser)==null?void 0:k.call(a)},disabled:a.canCreateUser===!1}),$.push({type:W.SEPARATOR}),$.push({title:"Refresh",icon:"lucide:refresh-cw",type:W.ACTION,select:()=>{var k;return(k=a.onRefresh)==null?void 0:k.call(a)}}),$;if(d.value.type==="category"&&($.push({title:"Users & Roles",type:W.LABEL}),$.push({title:"Create User",icon:"lucide:user-plus",type:W.ACTION,select:()=>{var k;return(k=a.onCreateUser)==null?void 0:k.call(a)},disabled:a.canCreateUser===!1}),$.push({type:W.SEPARATOR}),$.push({title:"Refresh",icon:"lucide:refresh-cw",type:W.ACTION,select:()=>{var k;return(k=a.onRefresh)==null?void 0:k.call(a)}})),d.value.type==="role"&&d.value.role){const k=d.value.role;$.push({title:k.roleName,type:W.LABEL}),$.push({title:"View Permissions",icon:"hugeicons:shield-01",type:W.ACTION,select:()=>{x(k.roleName)}}),$.push({type:W.SEPARATOR}),$.push({title:"Delete User",icon:"lucide:trash-2",type:W.ACTION,select:()=>{f.value=k,u.value=!0},disabled:k.isSuperuser}),$.push({type:W.SEPARATOR}),$.push({title:"Refresh",icon:"lucide:refresh-cw",type:W.ACTION,select:()=>{var I;return(I=a.onRefresh)==null?void 0:I.call(a)}})}return $}),C=()=>{d.value=null},T=async()=>{var $;if(f.value){h.value=!0;try{await(($=a.onDeleteUser)==null?void 0:$.call(a,f.value)),u.value=!1,f.value=null}finally{h.value=!1}}};xe(()=>n.activeTab,$=>{var k,I,O,L;if(!$){(k=c.value)==null||k.clearSelection();return}if(!((I=c.value)!=null&&I.isMouseInside)&&($==null?void 0:$.type)===K.UserPermissions&&typeof((O=$.metadata)==null?void 0:O.treeNodeId)=="string"){(L=c.value)==null||L.focusItem($.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const A=()=>{var $;($=c.value)==null||$.expandAll()},P=()=>{var $;($=c.value)==null||$.collapseAll()},Y=B(()=>{var $;return(($=c.value)==null?void 0:$.isExpandedAll)??!1});return t({expandAll:A,collapseAll:P,isExpandedAll:Y}),($,k)=>{const I=me,O=Re,L=Ke;return D(),V(Te,null,[E("div",Os,[$.loading?(D(),te(ra,{key:0,visible:""})):$.roles.length?(D(),te(Et,{key:2,"context-menu-items":s(b),onOnClearContextMenu:C},{default:g(()=>[E("div",Ns,[i(dt,{ref_key:"fileTreeRef",ref:c,"init-expanded-ids":p,"initial-data":s(v),"allow-drag-and-drop":!1,"delay-focus":0,"storage-key":`${s(r)}-user-roles-tree`,onClick:x,onContextmenu:w},null,8,["initial-data","storage-key"])])]),_:1},8,["context-menu-items"])):(D(),te(L,{key:1,title:"No roles found",desc:"There are no roles or users available for this connection."},{default:g(()=>[$.canCreateUser?(D(),te(O,{key:0,variant:"outline",size:"sm",onClick:$.onCreateUser},{default:g(()=>[i(I,{name:"hugeicons:user-add-01"}),k[2]||(k[2]=F(" Create User "))]),_:1},8,["onClick"])):re("",!0)]),_:1}))]),i($s,{open:s(u),"onUpdate:open":k[0]||(k[0]=R=>Ie(u)?u.value=R:null),role:s(f),loading:s(h),onConfirm:T,onCancel:k[1]||(k[1]=R=>{u.value=!1,f.value=null})},null,8,["open","role","loading"])],64)}}}),Ls={class:"flex flex-col h-full w-full overflow-hidden"},Ps={key:1,class:"flex-1 overflow-y-auto min-h-0"},Fs=se({__name:"ManagementUsersAndPermission",setup(e){const{wsStateStore:t,connectionStore:a}=Pe(),{connectionId:n,workspaceId:l}=fe(t),o=B(()=>{if(n.value)return a.connections.find(q=>q.id===n.value)}),r=B(()=>{var q;if(!o.value)return"";if(o.value.database)return o.value.database;if(o.value.connectionString)try{return((q=new URL(o.value.connectionString).pathname)==null?void 0:q.replace(/^\//,""))||""}catch{return""}return""}),m=B(()=>{if(!o.value)return"";if(o.value.username)return o.value.username;if(o.value.connectionString)try{return new URL(o.value.connectionString).username||""}catch{return""}return""}),{isLoading:c,roles:d,fetchRoles:u,refresh:f}=Eo(o),h=B(()=>m.value&&d.value.find(q=>q.roleName===m.value)||null),p=B(()=>!o.value||!h.value?!1:h.value.isSuperuser||h.value.canCreateRole),v=B(()=>o.value?h.value?p.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:y,createRole:w,deleteRole:x}=Do(o),{isLoading:b,databases:C,fetchDatabases:T}=_o(o),{isLoading:A,schemas:P,fetchSchemas:Y}=Ao(o),{isGranting:$,grantBulkPermissions:k}=Ro(o),I=Le(""),O=ut(I,Ze),L=H(!1),R=H(!1),M=H(null),X=B(()=>{if(!O.value)return d.value;const q=O.value.toLowerCase();return d.value.filter(Z=>Z.roleName.toLowerCase().includes(q))});xe(()=>o.value,async q=>{q&&await u()},{immediate:!0});const J=async()=>{L.value=!0,await f(),L.value=!1},ae=ze("userRolesTreeRef"),ce=B(()=>ae.value?!ae.value.isExpandedAll:!0),de=()=>{var q,Z;ce.value?(q=ae.value)==null||q.expandAll():(Z=ae.value)==null||Z.collapseAll()},ie=()=>{M.value=null},ge=()=>{p.value&&(R.value=!0,C.value=[],T())},G=async()=>{P.value=[],await Y()},S=async q=>{M.value=null;try{const Z=await w(q.roleData);if(!(Z!=null&&Z.success)){M.value=(Z==null?void 0:Z.message)||"Failed to create user. Please check the username and try again.";return}if(q.databaseGrants.length>0||q.schemaGrants.length>0||q.objectGrants.length>0){const oe=await k({roleName:q.roleData.roleName,databaseGrants:q.databaseGrants,schemaGrants:q.schemaGrants,objectGrants:q.objectGrants});if(oe&&!oe.success){M.value=`User created but some permissions failed: ${oe.totalFailed} of ${oe.results.length} grants failed.`;return}}R.value=!1,await f()}catch(Z){M.value=(Z==null?void 0:Z.message)||"Failed to create user"}},z=async q=>{const Z=await x(q.roleName);return Z!=null&&Z.success&&await f(),Z};return(q,Z)=>{const ve=me,oe=Re,Se=_e,pe=Ae,he=De,je=Ke;return D(),V("div",Ls,[i(s(et),{search:s(I),"onUpdate:search":Z[0]||(Z[0]=Oe=>Ie(I)?I.value=Oe:null),title:"Users & Roles","show-connection":!0,"workspace-id":s(l),"show-search":!0,"search-placeholder":"Search users/roles..."},{actions:g(()=>[i(he,null,{default:g(()=>[i(Se,{"as-child":""},{default:g(()=>[E("span",null,[i(oe,{size:"iconSm",variant:"ghost",onClick:ge,disabled:!s(p)},{default:g(()=>[i(ve,{name:"hugeicons:user-add-01",class:"size-4! min-w-4"})]),_:1},8,["disabled"])])]),_:1}),i(pe,null,{default:g(()=>[F(ne(s(v)),1)]),_:1})]),_:1}),i(he,null,{default:g(()=>[i(Se,{"as-child":""},{default:g(()=>[i(oe,{size:"iconSm",variant:"ghost",onClick:de},{default:g(()=>[i(ve,{name:s(ce)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(pe,null,{default:g(()=>[F(ne(s(ce)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(he,null,{default:g(()=>[i(Se,{"as-child":""},{default:g(()=>[i(oe,{size:"iconSm",variant:"ghost",onClick:J,disabled:s(L)||!s(o)},{default:g(()=>[i(ve,{name:"hugeicons:redo",class:ye(["size-4! min-w-4 ",s(L)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),i(pe,null,{default:g(()=>Z[3]||(Z[3]=[F("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),s(o)?(D(),V("div",Ps,[i(ks,{ref_key:"userRolesTreeRef",ref:ae,roles:s(X),loading:s(c),onCreateUser:ge,canCreateUser:s(p),createUserDisabledReason:s(v),onDeleteUser:z,onRefresh:J},null,8,["roles","loading","canCreateUser","createUserDisabledReason"])])):(D(),te(je,{key:0,title:"No selected connection",desc:"Select a connection to view roles"})),i(Is,{open:s(R),"onUpdate:open":Z[1]||(Z[1]=Oe=>Ie(R)?R.value=Oe:null),loading:s(y)||s($),databasesLoading:s(b),schemasLoading:s(A),databases:s(C),schemas:s(P),currentDatabase:s(r),error:s(M),onConfirm:S,onCancel:Z[2]||(Z[2]=Oe=>R.value=!1),onClearError:ie,onFetchSchemas:G},null,8,["open","loading","databasesLoading","schemasLoading","databases","schemas","currentDatabase","error"])])}}}),Ms={class:"h-full w-full overflow-y-auto"},Us={class:"h-full"},Vs={key:1,class:"flex items-center"},zs=se({__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(e,{expose:t,emit:a}){const n=a,l=ze("treeRef");return t({clearSelection:()=>{var o;return(o=l.value)==null?void 0:o.clearSelection()},collapseAll:()=>{var o;return(o=l.value)==null?void 0:o.collapseAll()},expandAll:()=>{var o;return(o=l.value)==null?void 0:o.expandAll()},focusItem:o=>{var r;return(r=l.value)==null?void 0:r.focusItem(o)},startEditing:o=>{var r;return(r=l.value)==null?void 0:r.startEditing(o)},get isExpandedAll(){var o;return((o=l.value)==null?void 0:o.isExpandedAll)??!1},get isMouseInside(){var o;return((o=l.value)==null?void 0:o.isMouseInside)??!1}}),(o,r)=>{const m=me,c=Re,d=_e,u=Ae,f=De;return D(),V("div",Ms,[i(Et,{"context-menu-items":o.contextMenuItems,onOnClearContextMenu:r[5]||(r[5]=h=>n("clear-context-menu"))},{default:g(()=>[E("div",Us,[i(dt,{ref_key:"treeRef",ref:l,class:"pt-1","storage-key":o.storageKey,"initial-data":o.treeData,"init-expanded-ids":o.initExpandedIds,"allow-drag-and-drop":!1,"allow-sort":!1,"validate-rename":o.validateRename,onClick:r[1]||(r[1]=h=>n("click-node",h)),onContextmenu:r[2]||(r[2]=h=>n("context-node",h)),onRename:r[3]||(r[3]=(h,p)=>n("rename-history",h,p)),onCancelRename:r[4]||(r[4]=h=>n("cancel-rename",h))},{actions:g(({node:h})=>[h.id===o.historySectionId?(D(),te(f,{key:0},{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"ghost",onClick:r[0]||(r[0]=Ee(p=>n("new-thread"),["stop"]))},{default:g(()=>[i(m,{name:"hugeicons:plus-sign",class:"size-3.5"})]),_:1})]),_:1}),i(u,null,{default:g(()=>r[6]||(r[6]=[F(" New thread ")])),_:1})]),_:1})):h.id.startsWith("agent-history-")?(D(),V("div",Vs,[i(f,null,{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"outline",class:"text-muted-foreground hover:text-primary",onClick:Ee(p=>{var v;return(v=s(l))==null?void 0:v.startEditing(h.id)},["stop"])},{default:g(()=>[i(m,{name:"hugeicons:edit-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),i(u,null,{default:g(()=>r[7]||(r[7]=[F(" Rename thread ")])),_:1})]),_:2},1024),i(f,null,{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"ghost",class:"text-muted-foreground hover:text-destructive",onClick:Ee(p=>n("delete-history",h.id),["stop"])},{default:g(()=>[i(m,{name:"hugeicons:delete-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),i(u,null,{default:g(()=>r[8]||(r[8]=[F(" Delete thread ")])),_:1})]),_:2},1024)])):re("",!0)]),_:1},8,["storage-key","initial-data","init-expanded-ids","validate-rename"])])]),_:1},8,["context-menu-items"])])}}}),js="agent-history-tree",fa=(e,t,a)=>{var l;if(a.has(t))return;a.add(t),(((l=e[t])==null?void 0:l.children)||[]).forEach(o=>fa(e,o,a))},Bs=e=>{const{wsStateStore:t,tabViewStore:a}=Pe(),{workspaceId:n,connectionId:l}=fe(t),o=Le(""),r=ut(o,Ze),m=H([]),{currentWorkspaceId:c,histories:d,selectedNodeId:u,selectNode:f,startNewChat:h,deleteHistory:p,renameHistory:v,sectionNodeIds:y}=Aa();un(()=>{c.value=n.value||""});const w=B(()=>{const I=y.history,O=d.value.map(L=>({id:`agent-history-${L.id}`,parentId:I,name:L.title,type:"file",depth:1,iconOpen:"hugeicons:chatting-01",iconClose:"hugeicons:chatting-01",data:{preview:L.preview,updatedAt:L.updatedAt}}));return{[I]:{id:I,parentId:null,name:"Chat History",type:"folder",depth:0,iconOpen:"hugeicons:clock-05",iconClose:"hugeicons:clock-05",children:O.map(L=>L.id)},...Object.fromEntries(O.map(L=>[L.id,L]))}}),x=B(()=>{if(!r.value.trim())return w.value;const I=r.value.trim().toLowerCase(),O=new Set,L=w.value;Object.values(L).forEach(M=>{var ae,ce;const X=typeof((ae=M.data)==null?void 0:ae.preview)=="string"?M.data.preview:"";if(!M.name.toLowerCase().includes(I)&&!X.toLowerCase().includes(I))return;fa(L,M.id,O);let J=M.parentId;for(;J;)O.add(J),J=((ce=L[J])==null?void 0:ce.parentId)||null});const R={};return O.forEach(M=>{const X=L[M];X&&(R[M]={...X,children:(X.children||[]).filter(J=>O.has(J))})}),R}),b=async I=>{if(!n.value||!l.value)return;const O="agent-workspace";await a.openTab({id:O,workspaceId:n.value,connectionId:l.value,schemaId:t.schemaId||"",name:"AI Agent",icon:"hugeicons:robotic",type:K.AgentChat,routeName:"workspaceId-connectionId-agent-tabViewId",routeParams:{tabViewId:O,connectionId:l.value},metadata:{type:K.AgentChat,historyId:I}}),await a.selectTab(O)},C=async()=>{h(),await b()},T=I=>{I.startsWith("agent-history-")&&p(I.replace("agent-history-",""))},A=async I=>{I!==y.history&&I.startsWith("agent-history-")&&(f(I),await b(I.replace("agent-history-","")))},P=(I,O)=>{v(I,O)},Y=I=>{if(I===y.history){m.value=[{title:"New Thread",icon:"hugeicons:quill-write-02",type:W.ACTION,select:()=>void C()}];return}if(!I.startsWith("agent-history-")){m.value=[];return}const O=I.replace("agent-history-","");m.value=[{title:"Open Thread",icon:"hugeicons:chat-spark-01",type:W.ACTION,select:()=>{f(I),b(O)}},{title:"Rename Thread",icon:"hugeicons:edit-02",type:W.ACTION,select:()=>{var L;(L=e.onRename)==null||L.call(e,I)}},{type:W.SEPARATOR},{title:"New Thread",icon:"hugeicons:quill-write-02",type:W.ACTION,select:()=>void C()},{type:W.SEPARATOR},{title:"Delete Thread",icon:"hugeicons:delete-02",type:W.ACTION,select:()=>p(O)}]},$=()=>{m.value=[]},k=()=>{if(e.isExpandedAll.value){e.collapseAll();return}e.expandAll()};return xe(()=>u.value,async I=>{await Ve(),!(!I||!x.value[I])&&e.focusNode(I)},{flush:"post",immediate:!0}),{contextMenuItems:m,defaultExpandedNodeIds:[y.history],filteredHistoryTreeData:x,historySectionId:y.history,historyStorageKey:js,isExpandedAll:e.isExpandedAll,onClearContextMenu:$,onClickNode:A,onCreateThread:C,onDeleteHistory:T,onRenameHistory:P,onToggleCollapseHistory:k,onTreeContextMenu:Y,searchInput:o}},qs={class:"flex h-full w-full flex-col overflow-hidden"},Hs={class:"flex flex-1 flex-col overflow-hidden"},Gs={class:"flex-1 overflow-y-auto"},Ws=se({__name:"ManagementAgent",setup(e){const{wsStateStore:t}=Pe(),{workspaceId:a}=fe(t),n=ze("treePanelRef"),{contextMenuItems:l,defaultExpandedNodeIds:o,filteredHistoryTreeData:r,historySectionId:m,historyStorageKey:c,isExpandedAll:d,onClearContextMenu:u,onClickNode:f,onCreateThread:h,onDeleteHistory:p,onRenameHistory:v,onToggleCollapseHistory:y,onTreeContextMenu:w,searchInput:x}=Bs({focusNode:T=>{var A;return(A=n.value)==null?void 0:A.focusItem(T)},collapseAll:()=>{var T;return(T=n.value)==null?void 0:T.collapseAll()},expandAll:()=>{var T;return(T=n.value)==null?void 0:T.expandAll()},isExpandedAll:B(()=>{var T;return((T=n.value)==null?void 0:T.isExpandedAll)??!1}),onRename:T=>{var A;return(A=n.value)==null?void 0:A.startEditing(T)}}),b=B(()=>!d.value),C=B(()=>{var A;const T=r.value[m];return!T||(((A=T.children)==null?void 0:A.length)??0)===0});return(T,A)=>{const P=me,Y=Re,$=Ke;return D(),V("div",qs,[i(s(et),{search:s(x),"onUpdate:search":A[0]||(A[0]=k=>Ie(x)?x.value=k:null),title:"Chat History","show-search":!0,"show-connection":!0,"show-schema":!1,"workspace-id":s(a),"search-placeholder":"Search threads..."},{actions:g(()=>[i(s(De),null,{default:g(()=>[i(s(_e),{"as-child":""},{default:g(()=>[i(Y,{size:"iconSm",variant:"ghost",onClick:s(h)},{default:g(()=>[i(P,{name:"hugeicons:plus-sign",class:"size-4"})]),_:1},8,["onClick"])]),_:1}),i(s(Ae),null,{default:g(()=>A[2]||(A[2]=[F(" New thread ")])),_:1})]),_:1}),i(s(De),null,{default:g(()=>[i(s(_e),{"as-child":""},{default:g(()=>[i(Y,{size:"iconSm",variant:"ghost",onClick:s(y)},{default:g(()=>[i(P,{name:s(b)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),i(s(Ae),null,{default:g(()=>[F(ne(s(b)?"Expand all":"Collapse all"),1)]),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),E("div",Hs,[E("div",Gs,[s(C)?(D(),te($,{key:0,title:"No chat history yet",desc:"Start a new thread to ask everything about your data!"},{default:g(()=>[i(Y,{variant:"outline",size:"xs",onClick:s(h)},{default:g(()=>[i(P,{name:"hugeicons:plus-sign"}),A[3]||(A[3]=F(" Start chat "))]),_:1},8,["onClick"])]),_:1})):re("",!0),i(zs,{ref_key:"treePanelRef",ref:n,"context-menu-items":s(l),"history-section-id":s(m),"storage-key":s(c),"tree-data":s(r),"init-expanded-ids":s(o),onClickNode:s(f),onContextNode:s(w),onClearContextMenu:s(u),onDeleteHistory:s(p),onRenameHistory:A[1]||(A[1]=(k,I)=>s(v)(k.replace("agent-history-",""),I)),onNewThread:s(h)},null,8,["context-menu-items","history-section-id","storage-key","tree-data","init-expanded-ids","onClickNode","onContextNode","onClearContextMenu","onDeleteHistory","onNewThread"])])])])}}}),Ks={key:0,class:"w-full h-full flex flex-col"},Qs=se({__name:"PrimarySideBar",setup(e){const t=da(),a=ct(),n=Le();return xe(()=>t.activityActive,()=>{t.activityActive===we.Explorer&&(n.value=Ar),t.activityActive===we.Schemas&&(n.value=nl),t.activityActive===we.ErdDiagram&&(n.value=wr),t.activityActive===we.UsersRoles&&(n.value=Fs),t.activityActive===we.DatabaseExport&&(n.value=ml),t.activityActive===we.Agent&&(n.value=Ws)},{immediate:!0}),(l,o)=>s(a).layoutSize[0]?(D(),V("div",Ks,[(D(),te(no,null,[(D(),te(Xe(s(n))))],1024))])):re("",!0)}}),Ys={class:"w-full h-full flex flex-col",id:"preview-select-row"},Xs=se({__name:"SecondarySideBar",setup(e){return(t,a)=>(D(),V("div",Ys))}}),Js=se({__name:"CurrentPositionPath",setup(e){const{workspaceStore:t,connectionStore:a,tabViewStore:n,schemaStore:l}=Pe(),{selectedWorkspace:o}=fe(t),{selectedConnection:r}=fe(a),{activeSchema:m}=fe(l),{activeTab:c}=fe(n);return B(()=>!!m.value&&!!r.value),B(()=>!!m.value&&!!r.value&&!!c.value),(d,u)=>{const f=me;return D(),te(s(ao),null,{default:g(()=>[i(s(oo),{class:"gap-0.5!"},{default:g(()=>{var h;return[i(s(_n),{class:"text-xs"},{default:g(()=>{var p,v;return[(p=s(o))!=null&&p.icon?(D(),te(f,{key:0,name:s(o).icon,class:"size-3!"},null,8,["name"])):re("",!0),F(" "+ne((v=s(o))==null?void 0:v.name),1)]}),_:1}),(h=s(r))!=null&&h.id?(D(),te(s(ro),{key:0})):re("",!0),i(s(_n),{class:"text-xs"},{default:g(()=>{var p,v,y,w;return[(p=s(r))!=null&&p.id?(D(),te(Xe((y=s(Bt)((v=s(r))==null?void 0:v.type))==null?void 0:y.icon),{key:0,class:"size-3!"})):re("",!0),F(" "+ne((w=s(r))==null?void 0:w.name),1)]}),_:1})]}),_:1})]),_:1})}}}),Zs={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between bg-sidebar-accent"},ei={class:"flex items-center gap-3 h-full"},ti={key:0,class:"text-muted-foreground text-xs"},ni={class:"text-foreground inline"},ai={class:"flex items-center gap-3"},oi=se({__name:"StatusBar",setup(e){const{tabViewStore:t,wsStateStore:a}=Pe(),{openChangelog:n}=so(),{openSettings:l}=io(),{openInstanceInsights:o}=lo(),{activeTab:r}=fe(t),{workspaceId:m,connectionId:c}=fe(a),d=B(()=>!!m.value&&!!c.value),u=async()=>{await co("/")},f=async()=>{await o()},h=B(()=>{var v;const p=(v=r.value)==null?void 0:v.type;if(!p)return"";switch(p){case K.AllERD:case K.DetailERD:return"erd";case K.TableOverview:case K.TableDetail:return"table";case K.FunctionsOverview:case K.FunctionsDetail:return"func";case K.ViewOverview:case K.ViewDetail:return"view";case K.CodeQuery:return"raw query";case K.DatabaseTools:return"db tools";case K.InstanceInsights:return"insights";default:return""}});return(p,v)=>{var C,T,A;const y=me,w=_e,x=Ae,b=De;return D(),V("div",Zs,[E("div",ei,[i(b,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center h-full gap-0.5 hover:bg-muted px-1 rounded cursor-pointer",onClick:u},[i(y,{name:"hugeicons:home-06",class:"size-4!"}),v[2]||(v[2]=E("p",{class:"text-xs inline"},"Home",-1))])]),_:1}),i(x,null,{default:g(()=>v[3]||(v[3]=[F(" Back to Home ")])),_:1})]),_:1}),i(Js)]),s(r)?(D(),V("div",ti,[F(ne(s(h))+": ",1),E("p",ni,ne((C=s(r))!=null&&C.schemaId?`${(T=s(r))==null?void 0:T.schemaId}.`:"")+ne((A=s(r))==null?void 0:A.name),1)])):re("",!0),E("div",ai,[i(b,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:ye(["flex items-center justify-center hover:bg-muted rounded cursor-pointer",!s(d)&&"opacity-50 cursor-not-allowed"]),onClick:f},[i(y,{name:"hugeicons:activity-02",class:"size-4!"})],2)]),_:1}),i(x,null,{default:g(()=>v[4]||(v[4]=[F(" Instance Insights ")])),_:1})]),_:1}),i(b,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:v[0]||(v[0]=(...P)=>s(n)&&s(n)(...P))},[i(y,{name:"hugeicons:notification-01",class:"size-4!"})])]),_:1}),i(x,null,{default:g(()=>v[5]||(v[5]=[F(" What's New ")])),_:1})]),_:1}),i(b,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:v[1]||(v[1]=P=>s(l)())},[i(y,{name:"hugeicons:settings-01",class:"size-4!"})])]),_:1}),i(x,null,{default:g(()=>v[6]||(v[6]=[F(" Settings (⌘,) ")])),_:1})]),_:1})])])}}});var Ft={},ot={},On;function ma(){if(On)return ot;On=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.bind=void 0;function e(t,a){var n=a.type,l=a.listener,o=a.options;return t.addEventListener(n,l,o),function(){t.removeEventListener(n,l,o)}}return ot.bind=e,ot}var Ge={},Nn;function ri(){if(Nn)return Ge;Nn=1;var e=Ge&&Ge.__assign||function(){return e=Object.assign||function(o){for(var r,m=1,c=arguments.length;m<c;m++){r=arguments[m];for(var d in r)Object.prototype.hasOwnProperty.call(r,d)&&(o[d]=r[d])}return o},e.apply(this,arguments)};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.bindAll=void 0;var t=ma();function a(o){if(!(typeof o>"u"))return typeof o=="boolean"?{capture:o}:o}function n(o,r){if(r==null)return o;var m=e(e({},o),{options:e(e({},a(r)),a(o.options))});return m}function l(o,r,m){var c=r.map(function(d){var u=n(d,m);return(0,t.bind)(o,u)});return function(){c.forEach(function(u){return u()})}}return Ge.bindAll=l,Ge}var kn;function li(){return kn||(kn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=e.bind=void 0;var t=ma();Object.defineProperty(e,"bind",{enumerable:!0,get:function(){return t.bind}});var a=ri();Object.defineProperty(e,"bindAll",{enumerable:!0,get:function(){return a.bindAll}})}(Ft)),Ft}var Je=li(),va="data-pdnd-honey-pot";function ga(e){return e instanceof Element&&e.hasAttribute(va)}function bn(e){var t=document.elementsFromPoint(e.x,e.y),a=sa(t,2),n=a[0],l=a[1];return n?ga(n)?l??null:n:null}function lt(e){"@babel/helpers - typeof";return lt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lt(e)}function si(e,t){if(lt(e)!="object"||!e)return e;var a=e[Symbol.toPrimitive];if(a!==void 0){var n=a.call(e,t);if(lt(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ii(e){var t=si(e,"string");return lt(t)=="symbol"?t:t+""}function ke(e,t,a){return(t=ii(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var ya=2147483647;function Ln(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function Pn(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Ln(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ln(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}var st=2,Fn=st/2;function ci(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function ui(e){return{x:e.x-Fn,y:e.y-Fn}}function di(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function pi(e){return{x:Math.min(e.x,window.innerWidth-st),y:Math.min(e.y,window.innerHeight-st)}}function Mn(e){var t=e.client,a=pi(di(ui(ci(t))));return DOMRect.fromRect({x:a.x,y:a.y,width:st,height:st})}function Un(e){var t=e.clientRect;return{left:"".concat(t.left,"px"),top:"".concat(t.top,"px"),width:"".concat(t.width,"px"),height:"".concat(t.height,"px")}}function fi(e){var t=e.client,a=e.clientRect;return t.x>=a.x&&t.x<=a.x+a.width&&t.y>=a.y&&t.y<=a.y+a.height}function mi(e){var t=e.initial,a=document.createElement("div");a.setAttribute(va,"true");var n=Mn({client:t});Object.assign(a.style,Pn(Pn({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},Un({clientRect:n})),{},{pointerEvents:"auto",zIndex:ya})),document.body.appendChild(a);var l=Je.bind(window,{type:"pointermove",listener:function(r){var m={x:r.clientX,y:r.clientY};n=Mn({client:m}),Object.assign(a.style,Un({clientRect:n}))},options:{capture:!0}});return function(r){var m=r.current;if(l(),fi({client:m,clientRect:n})){a.remove();return}function c(){d(),a.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 vi(){var e=null;function t(){return e=null,Je.bind(window,{type:"pointermove",listener:function(l){e={x:l.clientX,y:l.clientY}},options:{capture:!0}})}function a(){var n=null;return function(o){var r=o.eventName,m=o.payload;if(r==="onDragStart"){var c=m.location.initial.input,d=e??{x:c.clientX,y:c.clientY};n=mi({initial:d})}if(r==="onDrop"){var u,f=m.location.current.input;(u=n)===null||u===void 0||u({current:{x:f.clientX,y:f.clientY}}),n=null,e=null}}}return{bindEvents:t,getOnPostDispatch:a}}function gi(e){if(Array.isArray(e))return uo(e)}function yi(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function hi(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
64
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ha(e){return gi(e)||yi(e)||po(e)||hi()}function wn(e){var t=null;return function(){if(!t){for(var n=arguments.length,l=new Array(n),o=0;o<n;o++)l[o]=arguments[o];var r=e.apply(this,l);t={result:r}}return t.result}}var bi=wn(function(){return navigator.userAgent.includes("Firefox")}),Dt=wn(function(){var t=navigator,a=t.userAgent;return a.includes("AppleWebKit")&&!a.includes("Chrome")}),Wt={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function wi(e){var t=e.dragLeave;return Dt()?t.hasOwnProperty(Wt.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Dt())return;function t(){return{enterCount:0,isOverWindow:!1}}var a=t();function n(){a=t()}Je.bindAll(window,[{type:"dragstart",listener:function(){a.enterCount=0,a.isOverWindow=!0}},{type:"drop",listener:n},{type:"dragend",listener:n},{type:"dragenter",listener:function(o){!a.isOverWindow&&a.enterCount===0&&(o[Wt.isEnteringWindow]=!0),a.isOverWindow=!0,a.enterCount++}},{type:"dragleave",listener:function(o){a.enterCount--,a.isOverWindow&&a.enterCount===0&&(o[Wt.isLeavingWindow]=!0,a.isOverWindow=!1)}}],{capture:!0})})();function Si(e){return"nodeName"in e}function xi(e){return Si(e)&&e.ownerDocument!==document}function Ti(e){var t=e.dragLeave,a=t.type,n=t.relatedTarget;return a!=="dragleave"?!1:Dt()?wi({dragLeave:t}):n==null?!0:bi()?xi(n):n instanceof HTMLIFrameElement}function Ci(e){var t=e.onDragEnd;return[{type:"pointermove",listener:function(){var a=0;return function(){if(a<20){a++;return}t()}}()},{type:"pointerdown",listener:t}]}function rt(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var Ii=function(t){var a=[],n=null,l=function(){for(var r=arguments.length,m=new Array(r),c=0;c<r;c++)m[c]=arguments[c];a=m,!n&&(n=requestAnimationFrame(function(){n=null,t.apply(void 0,a)}))};return l.cancel=function(){n&&(cancelAnimationFrame(n),n=null)},l},Mt=Ii(function(e){return e()}),ht=function(){var e=null;function t(n){var l=requestAnimationFrame(function(){e=null,n()});e={frameId:l,fn:n}}function a(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return{schedule:t,flush:a}}();function Ei(e){var t=e.source,a=e.initial,n=e.dispatchEvent,l={dropTargets:[]};function o(m){n(m),l={dropTargets:m.payload.location.current.dropTargets}}var r={start:function(c){var d=c.nativeSetDragImage,u={current:a,previous:l,initial:a};o({eventName:"onGenerateDragPreview",payload:{source:t,location:u,nativeSetDragImage:d}}),ht.schedule(function(){o({eventName:"onDragStart",payload:{source:t,location:u}})})},dragUpdate:function(c){var d=c.current;ht.flush(),Mt.cancel(),o({eventName:"onDropTargetChange",payload:{source:t,location:{initial:a,previous:l,current:d}}})},drag:function(c){var d=c.current;Mt(function(){ht.flush();var u={initial:a,previous:l,current:d};o({eventName:"onDrag",payload:{source:t,location:u}})})},drop:function(c){var d=c.current,u=c.updatedSourcePayload;ht.flush(),Mt.cancel(),o({eventName:"onDrop",payload:{source:u??t,location:{current:d,previous:l,initial:a}}})}};return r}var Kt={isActive:!1};function ba(){return!Kt.isActive}function Di(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function _i(e){var t=e.current,a=e.next;if(t.length!==a.length)return!0;for(var n=0;n<t.length;n++)if(t[n].element!==a[n].element)return!0;return!1}function Ai(e){var t=e.event,a=e.dragType,n=e.getDropTargetsOver,l=e.dispatchEvent;if(!ba())return;var o=Ri({event:t,dragType:a,getDropTargetsOver:n});Kt.isActive=!0;var r={current:o};Ut({event:t,current:o.dropTargets});var m=Ei({source:a.payload,dispatchEvent:l,initial:o});function c(p){var v=_i({current:r.current.dropTargets,next:p.dropTargets});r.current=p,v&&m.dragUpdate({current:r.current})}function d(p){var v=rt(p),y=ga(p.target)?bn({x:v.clientX,y:v.clientY}):p.target,w=n({target:y,input:v,source:a.payload,current:r.current.dropTargets});w.length&&(p.preventDefault(),Ut({event:p,current:w})),c({dropTargets:w,input:v})}function u(){r.current.dropTargets.length&&c({dropTargets:[],input:r.current.input}),m.drop({current:r.current,updatedSourcePayload:null}),f()}function f(){Kt.isActive=!1,h()}var h=Je.bindAll(window,[{type:"dragover",listener:function(v){d(v),m.drag({current:r.current})}},{type:"dragenter",listener:d},{type:"dragleave",listener:function(v){Ti({dragLeave:v})&&(c({input:r.current.input,dropTargets:[]}),a.startedFrom==="external"&&u())}},{type:"drop",listener:function(v){if(r.current={dropTargets:r.current.dropTargets,input:rt(v)},!r.current.dropTargets.length){u();return}v.preventDefault(),Ut({event:v,current:r.current.dropTargets}),m.drop({current:r.current,updatedSourcePayload:a.type==="external"?a.getDropPayload(v):null}),f()}},{type:"dragend",listener:function(v){r.current={dropTargets:r.current.dropTargets,input:rt(v)},u()}}].concat(ha(Ci({onDragEnd:u}))),{capture:!0});m.start({nativeSetDragImage:Di(t)})}function Ut(e){var t,a=e.event,n=e.current,l=(t=n[0])===null||t===void 0?void 0:t.dropEffect;l!=null&&a.dataTransfer&&(a.dataTransfer.dropEffect=l)}function Ri(e){var t=e.event,a=e.dragType,n=e.getDropTargetsOver,l=rt(t);if(a.startedFrom==="external")return{input:l,dropTargets:[]};var o=n({input:l,source:a.payload,target:t.target,current:[]});return{input:l,dropTargets:o}}var Vn={canStart:ba,start:Ai},Qt=new Map;function $i(e){var t=e.typeKey,a=e.mount,n=Qt.get(t);if(n)return n.usageCount++,n;var l={typeKey:t,unmount:a(),usageCount:1};return Qt.set(t,l),l}function Oi(e){var t=$i(e);return function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),Qt.delete(e.typeKey))}}function tt(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return function(){t.forEach(function(l){return l()})}}function wa(e,t){var a=t.attribute,n=t.value;return e.setAttribute(a,n),function(){return e.removeAttribute(a)}}function zn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function qe(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?zn(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):zn(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Vt(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=Ni(e))||t){a&&(e=a);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
65
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){a=a.call(e)},n:function(){var d=a.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||a.return==null||a.return()}finally{if(m)throw o}}}}function Ni(e,t){if(e){if(typeof e=="string")return jn(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?jn(e,t):void 0}}function jn(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function zt(e){return e.slice(0).reverse()}function ki(e){var t=e.typeKey,a=e.defaultDropEffect,n=new WeakMap,l="data-drop-target-for-".concat(t),o="[".concat(l,"]");function r(p){return n.set(p.element,p),function(){return n.delete(p.element)}}function m(p){return tt(wa(p.element,{attribute:l,value:"true"}),r(p))}function c(p){var v,y,w,x,b=p.source,C=p.target,T=p.input,A=p.result,P=A===void 0?[]:A;if(C==null)return P;if(!(C instanceof Element))return C instanceof Node?c({source:b,target:C.parentElement,input:T,result:P}):P;var Y=C.closest(o);if(Y==null)return P;var $=n.get(Y);if($==null)return P;var k={input:T,source:b,element:$.element};if($.canDrop&&!$.canDrop(k))return c({source:b,target:$.element.parentElement,input:T,result:P});var I=(v=(y=$.getData)===null||y===void 0?void 0:y.call($,k))!==null&&v!==void 0?v:{},O=(w=(x=$.getDropEffect)===null||x===void 0?void 0:x.call($,k))!==null&&w!==void 0?w:a,L={data:I,element:$.element,dropEffect:O,isActiveDueToStickiness:!1};return c({source:b,target:$.element.parentElement,input:T,result:[].concat(ha(P),[L])})}function d(p){var v=p.eventName,y=p.payload,w=Vt(y.location.current.dropTargets),x;try{for(w.s();!(x=w.n()).done;){var b,C=x.value,T=n.get(C.element),A=qe(qe({},y),{},{self:C});T==null||(b=T[v])===null||b===void 0||b.call(T,A)}}catch(P){w.e(P)}finally{w.f()}}var u={onGenerateDragPreview:d,onDrag:d,onDragStart:d,onDrop:d,onDropTargetChange:function(v){var y=v.payload,w=new Set(y.location.current.dropTargets.map(function(ae){return ae.element})),x=new Set,b=Vt(y.location.previous.dropTargets),C;try{for(b.s();!(C=b.n()).done;){var T,A=C.value;x.add(A.element);var P=n.get(A.element),Y=w.has(A.element),$=qe(qe({},y),{},{self:A});if(P==null||(T=P.onDropTargetChange)===null||T===void 0||T.call(P,$),!Y){var k;P==null||(k=P.onDragLeave)===null||k===void 0||k.call(P,$)}}}catch(ae){b.e(ae)}finally{b.f()}var I=Vt(y.location.current.dropTargets),O;try{for(I.s();!(O=I.n()).done;){var L,R,M=O.value;if(!x.has(M.element)){var X=qe(qe({},y),{},{self:M}),J=n.get(M.element);J==null||(L=J.onDropTargetChange)===null||L===void 0||L.call(J,X),J==null||(R=J.onDragEnter)===null||R===void 0||R.call(J,X)}}}catch(ae){I.e(ae)}finally{I.f()}}};function f(p){u[p.eventName](p)}function h(p){var v=p.source,y=p.target,w=p.input,x=p.current,b=c({source:v,target:y,input:w});if(b.length>=x.length)return b;for(var C=zt(x),T=zt(b),A=[],P=0;P<C.length;P++){var Y,$=C[P],k=T[P];if(k!=null){A.push(k);continue}var I=A[P-1],O=C[P-1];if((I==null?void 0:I.element)!==(O==null?void 0:O.element))break;var L=n.get($.element);if(!L)break;var R={input:w,source:v,element:L.element};if(L.canDrop&&!L.canDrop(R)||!((Y=L.getIsSticky)!==null&&Y!==void 0&&Y.call(L,R)))break;A.push(qe(qe({},$),{},{isActiveDueToStickiness:!0}))}return zt(A)}return{dropTargetForConsumers:m,getIsOver:h,dispatchEvent:f}}function Li(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=Pi(e))||t){a&&(e=a);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
66
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){a=a.call(e)},n:function(){var d=a.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||a.return==null||a.return()}finally{if(m)throw o}}}}function Pi(e,t){if(e){if(typeof e=="string")return Bn(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Bn(e,t):void 0}}function Bn(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function qn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function Fi(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?qn(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):qn(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function Mi(){var e=new Set,t=null;function a(o){t&&(!o.canMonitor||o.canMonitor(t.canMonitorArgs))&&t.active.add(o)}function n(o){var r=Fi({},o);return e.add(r),a(r),function(){e.delete(r),t&&t.active.delete(r)}}function l(o){var r=o.eventName,m=o.payload;if(r==="onGenerateDragPreview"){t={canMonitorArgs:{initial:m.location.initial,source:m.source},active:new Set};var c=Li(e),d;try{for(c.s();!(d=c.n()).done;){var u=d.value;a(u)}}catch(w){c.e(w)}finally{c.f()}}if(t){for(var f=Array.from(t.active),h=0,p=f;h<p.length;h++){var v=p[h];if(t.active.has(v)){var y;(y=v[r])===null||y===void 0||y.call(v,m)}}r==="onDrop"&&(t.active.clear(),t=null)}}return{dispatchEvent:l,monitorForConsumers:n}}function Ui(e){var t=e.typeKey,a=e.mount,n=e.dispatchEventToSource,l=e.onPostDispatch,o=e.defaultDropEffect,r=Mi(),m=ki({typeKey:t,defaultDropEffect:o});function c(f){n==null||n(f),m.dispatchEvent(f),r.dispatchEvent(f),l==null||l(f)}function d(f){var h=f.event,p=f.dragType;Vn.start({event:h,dragType:p,getDropTargetsOver:m.getIsOver,dispatchEvent:c})}function u(){function f(){var h={canStart:Vn.canStart,start:d};return a(h)}return Oi({typeKey:t,mount:f})}return{registerUsage:u,dropTarget:m.dropTargetForConsumers,monitor:r.monitorForConsumers}}var Vi=wn(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),zi="pdnd:android-fallback",Hn="text/plain",ji="text/uri-list",Bi="application/vnd.pdnd",Ct=new WeakMap;function qi(e){return Ct.set(e.element,e),function(){Ct.delete(e.element)}}var Gn=vi(),Sn=Ui({typeKey:"element",defaultDropEffect:"move",mount:function(t){return tt(Gn.bindEvents(),Je.bind(document,{type:"dragstart",listener:function(n){var l,o,r,m,c,d;if(t.canStart(n)&&!n.defaultPrevented&&n.dataTransfer){var u=n.target;if(!(u instanceof HTMLElement))return null;var f=Ct.get(u);if(!f)return null;var h=rt(n),p={element:f.element,dragHandle:(l=f.dragHandle)!==null&&l!==void 0?l:null,input:h};if(f.canDrag&&!f.canDrag(p))return n.preventDefault(),null;if(f.dragHandle){var v=bn({x:h.clientX,y:h.clientY});if(!f.dragHandle.contains(v))return n.preventDefault(),null}var y=(o=(r=f.getInitialDataForExternal)===null||r===void 0?void 0:r.call(f,p))!==null&&o!==void 0?o:null;if(y)for(var w=0,x=Object.entries(y);w<x.length;w++){var b=sa(x[w],2),C=b[0],T=b[1];n.dataTransfer.setData(C,T??"")}Vi()&&!n.dataTransfer.types.includes(Hn)&&!n.dataTransfer.types.includes(ji)&&n.dataTransfer.setData(Hn,zi),n.dataTransfer.setData(Bi,"");var A={element:f.element,dragHandle:(m=f.dragHandle)!==null&&m!==void 0?m:null,data:(c=(d=f.getInitialData)===null||d===void 0?void 0:d.call(f,p))!==null&&c!==void 0?c:{}},P={type:"element",payload:A,startedFrom:"internal"};t.start({event:n,dragType:P})}}}))},dispatchEventToSource:function(t){var a,n,l=t.eventName,o=t.payload;(a=Ct.get(o.source.element))===null||a===void 0||(n=a[l])===null||n===void 0||n.call(a,o)},onPostDispatch:Gn.getOnPostDispatch()}),Hi=Sn.dropTarget,xn=Sn.monitor;function Gi(e){return tt(Sn.registerUsage(),qi(e),wa(e.element,{attribute:"draggable",value:"true"}))}var it=new Map,Tt=new Set;function Sa(e){Wi(e);var t=it.get(e);if(t)return t;var a={timeOfEngagementStart:Date.now()};return it.set(e,a),a}function Wi(e){Tt.add(e)}function Ki(e){Tt.clear(),e(),it.forEach(function(t,a){Tt.has(a)||it.delete(a)}),Tt.clear()}function Qi(){it.clear()}var Wn=new Map;function Yi(e){var t=Wn.get(e);if(t)return t;var a=Xi(e);return Wn.set(e,a),a}function Xi(e){var t={type:"idle"},a=[];function n(c){if(t.type==="running"){var d=c-t.timeLastFrameFinished,u=t,f=u.latestArgs,h=bn({x:f.location.current.input.clientX,y:f.location.current.input.clientY});Ki(function(){a.forEach(function(p){return p({underUsersPointer:h,latestArgs:f,timeSinceLastFrame:d})})}),t.timeLastFrameFinished=c,t.frameId=requestAnimationFrame(n)}}function l(){t.type!=="idle"&&(cancelAnimationFrame(t.frameId),Qi(),t={type:"idle"})}function o(c){t.type==="idle"&&(t={type:"initializing",latestArgs:c,frameId:requestAnimationFrame(function(d){t.type==="initializing"&&(t={type:"running",timeLastFrameFinished:d,latestArgs:t.latestArgs,frameId:requestAnimationFrame(n)})})})}function r(c){if(t.type==="idle"){o(c);return}t.latestArgs=c}e({onDragStart:o,onDropTargetChange:r,onDrag:r,onDrop:l});var m={onFrame:function(d){a.push(d)}};return m}var Yt="data-auto-scrollable",Ji="[".concat(Yt,'="true"]');function Zi(e){return e.setAttribute(Yt,"true"),function(){return e.removeAttribute(Yt)}}function Kn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function Qn(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Kn(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Kn(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}var ec={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},tc={standard:15*60,fast:25*60};function xa(e){var t;return Qn(Qn({},ec),{},{maxPixelScrollPerSecond:tc[(t=e==null?void 0:e.maxScrollSpeed)!==null&&t!==void 0?t:"standard"]})}var nc={top:function(t){return t.scrollTop>0},right:function(t){return Math.ceil(t.scrollLeft)+t.clientWidth<t.scrollWidth},bottom:function(t){return Math.ceil(t.scrollTop)+t.clientHeight<t.scrollHeight},left:function(t){return t.scrollLeft>0}},ac=["top","right","bottom","left"],oc={top:"vertical",right:"horizontal",bottom:"vertical",left:"horizontal"},Yn={start:"top",end:"bottom",point:"y",size:"height"},Xn={start:"left",end:"right",point:"x",size:"width"},Ta={vertical:{mainAxis:Yn,crossAxis:Xn},horizontal:{mainAxis:Xn,crossAxis:Yn}},Tn={top:"start",right:"end",bottom:"end",left:"start"};function bt(e){var t=e.edge,a=e.axis;return function(l){var o,r=l.clientRect,m=l.config,c=Ta[a],d=c.mainAxis,u=c.crossAxis,f=Tn[t],h=Math.min(m.startHitboxAtPercentageRemainingOfElement[t]*r[d.size],m.maxMainAxisHitboxSize);return DOMRect.fromRect((o={},ke(o,d.point,f==="start"?r[d.point]:r[d.point]+r[d.size]-h),ke(o,u.point,r[u.point]),ke(o,d.size,h),ke(o,u.size,r[u.size]),o))}}var rc={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 Xt(e){var t=e.startOfRange,a=e.endOfRange,n=e.value,l=t<a;if(!l||n<t)return 0;if(n>a)return 1;var o=a-t;return(n-t)/o}function lc(e){var t=e.timeSinceLastFrame,a=e.config,n=a.maxPixelScrollPerSecond/1e3,l=Math.ceil(n*t),o=a.maxPixelScrollPerSecond/60;return Math.min(l,o)}function sc(e){var t=e.client,a=e.axis,n=e.edge,l=e.hitbox,o=e.config,r=Ta[a].mainAxis,m=Tn[n],c=l[r.size]*o.maxScrollAtPercentageRemainingOfHitbox[n];if(m==="end")return Xt({startOfRange:l[r.start],endOfRange:l[r.end]-c,value:t[r.point]});var d=Xt({startOfRange:l[r.start]+c,endOfRange:l[r.end],value:t[r.point]});return 1-d}function wt(e){var t=e.client,a=e.timeSinceLastFrame,n=e.engagement,l=e.axis,o=e.hitbox,r=e.edge,m=e.isDistanceDampeningEnabled,c=e.config,d=lc({timeSinceLastFrame:a,config:c}),u=m?sc({client:t,edge:r,hitbox:o,axis:l,config:c}):1,f=Xt({startOfRange:n.timeOfEngagementStart,endOfRange:n.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),h=u*f,p=Math.max(d*h,1),v=Tn[r];return v==="end"?p:-1*p}function ic(e,t){return t==="all"||e===t}function cc(e){var t=e.client,a=e.clientRect;return t.x>=a.x&&t.x<=a.x+a.width&&t.y>=a.y&&t.y<=a.y+a.height}function uc(e){return e.getBoundingClientRect()}function Ca(e){var t=e.element,a=e.input,n=e.timeSinceLastFrame,l=e.engagement,o=e.config,r=e.allowedAxis,m=e.getRect,c=m===void 0?uc:m,d={x:a.clientX,y:a.clientY},u=c(t),f=ac.reduce(function(v,y){var w=rc[y]({clientRect:u,config:o}),x=oc[y];return!ic(x,r)||!cc({client:d,clientRect:w})||!nc[y](t)||v.set(y,{edge:y,hitbox:w}),v},new Map),h=function(){var v="horizontal",y=f.get("left");if(y)return wt({client:d,edge:y.edge,hitbox:y.hitbox,axis:v,timeSinceLastFrame:n,engagement:l,isDistanceDampeningEnabled:!0,config:o});var w=f.get("right");return w?wt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:n,engagement:l,isDistanceDampeningEnabled:!0,config:o}):0}(),p=function(){var v="vertical",y=f.get("bottom");if(y)return wt({client:d,edge:y.edge,hitbox:y.hitbox,axis:v,timeSinceLastFrame:n,engagement:l,isDistanceDampeningEnabled:!0,config:o});var w=f.get("top");return w?wt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:n,engagement:l,isDistanceDampeningEnabled:!0,config:o}):0}();return{left:h,top:p}}function dc(e,t){var a=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=pc(e))||t){a&&(e=a);var n=0,l=function(){};return{s:l,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
67
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){a=a.call(e)},n:function(){var d=a.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||a.return==null||a.return()}finally{if(m)throw o}}}}function pc(e,t){if(e){if(typeof e=="string")return Jn(e,t);var a={}.toString.call(e).slice(8,-1);return a==="Object"&&e.constructor&&(a=e.constructor.name),a==="Map"||a==="Set"?Array.from(e):a==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Jn(e,t):void 0}}function Jn(e,t){(t==null||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function Ia(e){return!!(e.top||e.left)}function Ea(e){var t,a,n,l=e.target,o=e.input,r=e.source,m=e.findEntry,c=e.timeSinceLastFrame,d=e.available,u=d===void 0?{top:!0,left:!0}:d;if(!Ia(u)||!l)return u;var f=l.closest(Ji);if(!f)return u;var h=m(f);if(!h)return u;function p(){var T;return Ea({target:(T=f==null?void 0:f.parentElement)!==null&&T!==void 0?T:null,findEntry:m,source:r,timeSinceLastFrame:c,input:o,available:u})}var v={input:o,source:r,element:f};if(h.canScroll&&!h.canScroll(v))return p();var y=Sa(f),w=xa((t=h.getConfiguration)===null||t===void 0?void 0:t.call(h,v)),x=(a=(n=h.getAllowedAxis)===null||n===void 0?void 0:n.call(h,v))!==null&&a!==void 0?a:"all",b=Ca({element:f,engagement:y,input:o,timeSinceLastFrame:c,allowedAxis:x,config:w}),C={top:0,left:0};return u.top&&b.top!==0&&(C.top=b.top,u.top=!1),u.left&&b.left!==0&&(C.left=b.left,u.left=!1),(C.top!==0||C.left!==0)&&f.scrollBy(C),p()}function fc(e){var t=e.input,a=e.timeSinceLastFrame,n=e.available,l=e.source,o=e.entries,r=document.documentElement,m={input:t,source:l,element:r},c=dc(o),d;try{for(c.s();!(d=c.n()).done;){var u,f,h,p=d.value;if(!(p.canScroll&&!p.canScroll(m))){var v=Sa(r),y=xa((u=p.getConfiguration)===null||u===void 0?void 0:u.call(p,m)),w=(f=(h=p.getAllowedAxis)===null||h===void 0?void 0:h.call(p,m))!==null&&f!==void 0?f:"all",x=Ca({element:r,engagement:v,input:t,config:y,allowedAxis:w,getRect:function(T){return DOMRect.fromRect({y:0,x:0,width:T.clientWidth,height:T.clientHeight})},timeSinceLastFrame:a}),b={top:n.top?x.top:0,left:n.left?x.left:0};(b.top!==0||b.left!==0)&&r.scrollBy(b);break}}}catch(C){c.e(C)}finally{c.f()}}function mc(e){var t=e.input,a=e.findEntry,n=e.timeSinceLastFrame,l=e.source,o=e.getWindowScrollEntries,r=e.underUsersPointer,m=Ea({target:r,timeSinceLastFrame:n,input:t,source:l,findEntry:a});Ia(m)&&fc({input:t,source:l,entries:o(),timeSinceLastFrame:n,available:m})}function Zn(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function vc(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Zn(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Zn(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}function gc(e){var t=e.monitor,a=new Map,n=new Set;function l(d){return a.set(d.element,d),tt(Zi(d.element),function(){return a.delete(d.element)})}function o(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},u=vc({},d);return n.add(u),function(){return n.delete(u)}}function r(d){var u;return(u=a.get(d))!==null&&u!==void 0?u:null}function m(){return Array.from(n)}function c(d){var u=d.latestArgs,f=d.underUsersPointer,h=d.timeSinceLastFrame;mc({input:u.location.current.input,source:u.source,findEntry:r,underUsersPointer:f,timeSinceLastFrame:h,getWindowScrollEntries:m})}return Yi(t).onFrame(c),{autoScroll:l,autoScrollWindow:o}}var yc=gc({monitor:xn}),hc=yc.autoScroll;function ea(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),a.push.apply(a,n)}return a}function ta(e){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?ea(Object(a),!0).forEach(function(n){ke(e,n,a[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ea(Object(a)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(a,n))})}return e}var bc={top:function(t,a){return Math.abs(a.y-t.top)},right:function(t,a){return Math.abs(t.right-a.x)},bottom:function(t,a){return Math.abs(t.bottom-a.y)},left:function(t,a){return Math.abs(a.x-t.left)}},Da=Symbol("closestEdge");function wc(e,t){var a,n,l=t.element,o=t.input,r=t.allowedEdges,m={x:o.clientX,y:o.clientY},c=l.getBoundingClientRect(),d=r.map(function(f){return{edge:f,value:bc[f](c,m)}}),u=(a=(n=d.sort(function(f,h){return f.value-h.value})[0])===null||n===void 0?void 0:n.edge)!==null&&a!==void 0?a:null;return ta(ta({},e),{},ke({},Da,u))}function _a(e){var t;return(t=e[Da])!==null&&t!==void 0?t:null}function Sc(e){var t=e.startIndex,a=e.closestEdgeOfTarget,n=e.indexOfTarget;if(t===-1||n===-1||t===n)return t;if(a==null)return n;var l=a==="right",o=t<n;return o?l?n:n-1:l?n+1:n}function xc(e){var t=e.element,a=e.input;return function(n){var l=n.container,o=t.getBoundingClientRect(),r=l.getBoundingClientRect(),m=Math.min(a.clientX-o.x,r.width),c=Math.min(a.clientY-o.y,r.height);return{x:m,y:c}}}function Tc(){return{x:0,y:0}}function Cc(e){var t=e.render,a=e.nativeSetDragImage,n=e.getOffset,l=n===void 0?Tc:n,o=document.createElement("div");Object.assign(o.style,{position:"fixed",top:0,left:0,zIndex:ya,pointerEvents:"none"}),document.body.append(o);var r=t({container:o});queueMicrotask(function(){var d=l({container:o});if(Dt()){var u=o.getBoundingClientRect();if(u.width===0)return;o.style.left="-".concat(u.width-1e-4,"px")}a==null||a(o,d.x,d.y)});function m(){c(),r==null||r(),document.body.removeChild(o)}var c=xn({onDragStart:m,onDrop:m})}const Ic={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"},Ec=se({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(e){return(t,a)=>(D(),V("div",Ic,ne(t.name),1))}}),Dc={class:"truncate"},_c=se({__name:"TabViewItem",props:{tab:{},isActive:{type:Boolean},selectTab:{type:Function},closeTab:{type:Function},onRightClickItem:{type:Function}},setup(e){const t=e,a=Le(),n=Le(),l=H(!1),o=H(!1),r=H(),m=H(!1);return un(c=>{const d=Gt(a),u=Gt(n);if(!d||!u)return;const f=tt(Gi({element:d,getInitialData:()=>t.tab,onDragStart:h=>{l.value=!0},onDrop:()=>{l.value=!1,t.selectTab(t.tab.id)},onGenerateDragPreview:({location:h,nativeSetDragImage:p})=>{Cc({nativeSetDragImage:p,getOffset:xc({element:d,input:h.current.input}),render({container:v}){return jt(na(Ec,{icon:t.tab.icon,name:t.tab.name},t.tab.name),v),()=>{jt(null,v)}}})}}),Hi({element:u,getData:({input:h,element:p})=>{const v={id:t.tab.id};return wc(v,{element:p,input:h,allowedEdges:["left","right"]})},canDrop:({source:h})=>!0,onDrag:({self:h,source:p,location:v})=>{const y=_a(h.data);y&&(r.value=y)},onDragEnter:({self:h,source:p})=>{var y,w;const v=((y=h.data)==null?void 0:y.id)!==p.data.id;t.tab.id===((w=h.data)==null?void 0:w.id)&&v&&(m.value=!0)},onDragLeave:()=>{o.value=!1,m.value=!1},onDrop:({location:h})=>{o.value=!1,m.value=!1},getIsSticky:()=>!1}));c(()=>f())}),(c,d)=>{const u=me,f=_e,h=Ae,p=De,v=Re;return D(),V("div",{class:"relative",onContextmenu:d[2]||(d[2]=Ee(()=>{c.onRightClickItem(c.tab)},["right"])),ref_key:"outerElementRef",ref:n},[E("div",{class:ye(["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"]])},[i(v,{ref_key:"innerElementRef",ref:a,variant:"ghost",size:"sm",class:ye(["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",l.value?"bg-primary/5":""]),onClick:d[1]||(d[1]=Ee(y=>c.selectTab(c.tab.id),["left"])),id:c.tab.id},{default:g(()=>[i(u,{name:c.tab.icon,class:ye(s(an)("size-4 min-w-4",c.tab.iconClass))},null,8,["name","class"]),i(p,{id:c.tab.id},{default:g(()=>[i(f,{"as-child":""},{default:g(()=>[E("div",Dc,ne(c.tab.name),1)]),_:1}),i(h,{side:"bottom"},{default:g(()=>[E("p",null,ne(c.tab.name),1)]),_:1})]),_:1},8,["id"]),E("div",{class:"hover:bg-accent p-0.5 rounded-full opacity-0",onClick:d[0]||(d[0]=Ee(()=>c.closeTab(c.tab.id),["stop"]))},[i(s(fo),{class:"size-3 stroke-[2.5]!"})])]),_:1},8,["class","id"])],2),m.value&&r.value?(D(),V("div",{key:0,class:"absolute h-7 w-0.5 top-0 rounded-md bg-accent-foreground",style:Ue({[r.value==="left"?"left":"right"]:"0px"})},null,4)):re("",!0)],544)}}}),Ac={class:"flex items-end"},Rc=se({__name:"TabViews",setup(e){const t=cn(),{tabViews:a}=fe(t),n=Le(),l=H(!1),o=H(),r=B(()=>{if(!o.value)return!1;const m=a.value.length,c=a.value.findIndex(d=>{var u;return d.id===((u=o.value)==null?void 0:u.id)});return m>c+1});return un(m=>{const c=Gt(n);if(!c)return;const d=tt(xn({onDragStart(u){l.value=!0},onDrop(u){l.value=!1;const{location:f,source:h}=u;if(!f.current.dropTargets.length)return;const p=h.data.id,v=f.current.dropTargets[0],y=v.data.id,w=_a(v.data);if(!w)return;const x=a.value.findIndex(T=>T.id===p),b=a.value.findIndex(T=>T.id===y),C=Sc({startIndex:x,indexOfTarget:b,closestEdgeOfTarget:w});t.moveTabTo(x,C)}}),hc({element:c}));m(()=>{d()})}),(m,c)=>{const d=Zt("auto-animate");return D(),V("div",{class:ye(["w-full flex items-end h-full space-x-2 mx-1 -mb-0.5 overflow-x-auto hidden-scroll-container relative",s(l)?"bg-purple-50":""]),ref_key:"elementRef",ref:n},[i(s(yo),null,{default:g(()=>[i(s(ho),null,{default:g(()=>[He((D(),V("div",Ac,[(D(!0),V(Te,null,$e(s(a),u=>{var f;return D(),te(_c,{key:u.id,tab:u,isActive:u.id===((f=s(t).activeTab)==null?void 0:f.id),selectTab:s(t).selectTab,closeTab:s(t).closeTab,onRightClickItem:()=>{o.value=u}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[d,{duration:120}]]),s(o)?(D(),te(s(bo),{key:0,hideWhenDetached:"",class:"w-56"},{default:g(()=>[i(s(Ot),{onSelect:c[0]||(c[0]=u=>s(t).closeTab(s(o).id))},{default:g(()=>[c[4]||(c[4]=F(" Close ")),i(s(kt),null,{default:g(()=>c[3]||(c[3]=[F("⌘W")])),_:1})]),_:1}),i(s(Ot),{onSelect:c[1]||(c[1]=u=>s(t).closeOtherTab(s(o).id))},{default:g(()=>[c[6]||(c[6]=F(" Close other ")),i(s(kt),null,{default:g(()=>c[5]||(c[5]=[F("⌘AO")])),_:1})]),_:1}),i(s(Ot),{disabled:!s(r),onSelect:c[2]||(c[2]=u=>s(t).closeToTheRight(s(o).id))},{default:g(()=>[c[8]||(c[8]=F(" Close to the right ")),i(s(kt),null,{default:g(()=>c[7]||(c[7]=[F("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):re("",!0)]),_:1})]),_:1})],2)}}}),$c={class:"flex justify-between items-center h-full"},Oc={key:0,class:"vitrual-light-trafic-button"},Nc=se({__name:"TabViewContainer",props:{primarySideBarWidth:{}},setup(e){const t=e,a=sn(),n=ct(),{isPrimarySidebarCollapsed:l,isSecondSidebarCollapsed:o}=fe(n),r=B(()=>$o()),m=B(()=>Oo()),c=B(()=>n.layoutSize[0]?`${t.primarySideBarWidth}px`:"2.25rem"),d=B(()=>!a.meta.notAllowRightPanel);return(u,f)=>{const h=me,p=Re,v=_e,y=Ae,w=De;return D(),V("div",{class:ye(["w-screen h-9 select-none border-b pr-2 electron-drag-region bg-sidebar-accent/50!",s(m)&&s(l)?"pl-[4.5rem]":"",s(r)&&s(l)?"pl-[6rem]":"",s(r)&&"h-10.5 header-tab-view-pwa"])},[E("div",$c,[E("div",{class:"flex items-center gap-1 h-full px-1",style:Ue({minWidth:s(c),justifyContent:s(l)?"center":"space-between"})},[s(r)&&!s(l)?(D(),V("div",Oc)):re("",!0),s(l)?re("",!0):(D(),V("div",{key:1,class:ye([s(m)?"pl-[4.5rem]":"","flex justify-center w-full"])},[i(s(zo))],2)),i(w,null,{default:g(()=>[i(v,{"as-child":""},{default:g(()=>[i(p,{variant:"ghost",size:"iconSm",onClick:f[0]||(f[0]=x=>s(n).onToggleActivityBarPanel())},{default:g(()=>[s(l)?(D(),te(h,{key:0,name:"hugeicons:sidebar-left",class:"size-5!"})):(D(),te(h,{key:1,name:"hugeicons:sidebar-left-01",class:"size-5!"}))]),_:1})]),_:1}),i(y,null,{default:g(()=>f[2]||(f[2]=[F(" Toggle Sidebar ")])),_:1})]),_:1})],4),i(Rc),i(w,null,{default:g(()=>[i(v,{"as-child":""},{default:g(()=>[s(d)?(D(),te(p,{key:0,variant:"ghost",size:"iconSm",onClick:f[1]||(f[1]=x=>s(n).onToggleSecondSidebar())},{default:g(()=>[s(o)?(D(),te(h,{key:0,name:"hugeicons:sidebar-right",class:"size-5!"})):(D(),te(h,{key:1,name:"hugeicons:sidebar-right-01",class:"size-5!"}))]),_:1})):re("",!0)]),_:1}),i(y,null,{default:g(()=>f[3]||(f[3]=[F(" Toggle Sidebar ")])),_:1})]),_:1})])],2)}}}),kc={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},Lc={class:"overflow-y-auto w-full h-full"},Pc={class:"flex flex-col overflow-y-auto w-full h-full"},Fc={class:"h-full"},lu=se({__name:"default",setup(e){const t=sn(),a=ze("primarySideBarPanel"),{width:n}=mo(a),l=ct(),{layoutSize:o,isPrimarySidebarCollapsed:r,bodySize:m}=fe(l),c=B(()=>({"--chat-font-size":`${l.chatUiConfigs.fontSize}px`,"--chat-code-font-size":`${l.chatUiConfigs.codeFontSize}px`})),d=B(()=>!t.meta.notAllowBottomPanel),u=B(()=>!t.meta.notAllowRightPanel);return vo([{key:"meta+shift+b",callback:()=>{u.value&&l.onToggleSecondSidebar()}},{key:"meta+b",callback:()=>{l.onToggleActivityBarPanel()}},{key:"meta+j",callback:()=>{d.value&&l.onToggleBottomPanel()}}]),(f,h)=>{const p=Ra,v=$a,y=Oa,w=Zt("auto-animate");return D(),te(y,{direction:"horizontal",id:"default-layout-group-1",onLayout:h[1]||(h[1]=x=>s(l).onResizeLayout(x))},{default:g(()=>[E("div",{class:"h-screen w-screen flex flex-col flex-1 max-h-screen overflow-y-auto",style:Ue(s(c))},[i(s(Nc),{primarySideBarWidth:s(n)},null,8,["primarySideBarWidth"]),He((D(),V("div",kc,[s(r)?(D(),te(s(Uo),{key:0})):re("",!0),i(p,{"min-size":10,"max-size":40,"default-size":s(o)[0],"collapsed-size":0,ref:"primarySideBarPanel",collapsible:"",id:"default-layout-group-1-panel-1",key:"primarySideBarPanel",class:"bg-sidebar/50 dark:bg-sidebar"},{default:g(()=>[i(s(Qs))]),_:1},8,["default-size"]),i(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-1","with-handle":""}),i(p,{id:"default-layout-group-1-panel-2",key:"contentPanel"},{default:g(()=>[E("div",Lc,[i(y,{id:"default-layout-body-group",direction:"vertical",modelValue:s(m),"onUpdate:modelValue":h[0]||(h[0]=x=>Ie(m)?m.value=x:null),onLayout:s(l).onResizeBody},{default:g(()=>[i(p,{id:"default-layout-body-group-panel-1",key:"default-layout-body-group-panel-1"},{default:g(()=>[E("div",Pc,[E("div",Fc,[It(f.$slots,"default")])])]),_:3}),He(i(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!","with-handle":""},null,512),[[gt,s(d)]]),He(i(p,{"min-size":10,"max-size":70,"default-size":s(m)[1],"collapsed-size":0,collapsible:"",id:"default-layout-body-group-panel-2",key:"default-layout-body-group-panel-2"},{default:g(()=>h[2]||(h[2]=[E("div",{class:"flex flex-col flex-1 h-full p-1",id:"bottom-panel"},null,-1)])),_:1},8,["default-size"]),[[gt,s(d)]])]),_:3},8,["modelValue","onLayout"])])]),_:3}),He(i(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),[[gt,s(u)]]),He(i(p,{id:"default-layout-group-1-panel-3","min-size":15,"max-size":40,"default-size":s(o)[2],"collapsed-size":0,collapsible:"",key:"secondarySideBarPanel",class:"bg-sidebar"},{default:g(()=>[i(s(Xs))]),_:1},8,["default-size"]),[[gt,s(u)]])])),[[w,{duration:s(Ze)}]]),i(s(oi))],4)]),_:3})}}});export{lu as default};
@@ -1 +0,0 @@
1
- {"id":"1e32d709-950d-49a3-8d61-1b3385318747","timestamp":1773800346872,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}