orcaq 1.0.21 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/AKIL8y6B.js +1 -0
- package/.output/public/_nuxt/B5vWsFeq.js +160 -0
- package/.output/public/_nuxt/B7OaQ1wH.js +8 -0
- package/.output/public/_nuxt/BG-9_o0s.js +3 -0
- package/.output/public/_nuxt/BHnp06h8.js +1 -0
- package/.output/public/_nuxt/BKxFOGv6.js +1 -0
- package/.output/public/_nuxt/{8qASMGdV.js → BNIRlgC1.js} +1 -1
- package/.output/public/_nuxt/BNdHe5KI.js +1 -0
- package/.output/public/_nuxt/BQANhp-y.js +1 -0
- package/.output/public/_nuxt/BUYy1lWT.js +215 -0
- package/.output/public/_nuxt/Bdtn2mn5.js +1 -0
- package/.output/public/_nuxt/Ber6tLDb.js +1 -0
- package/.output/public/_nuxt/BgEovngA.js +1 -0
- package/.output/public/_nuxt/BhgYrVrc.js +6 -0
- package/.output/public/_nuxt/{CrgoNCm2.js → BmnOz39b.js} +2 -2
- package/.output/public/_nuxt/BuKJVBv4.js +1 -0
- package/.output/public/_nuxt/BxMjn94S.js +4 -0
- package/.output/public/_nuxt/C1dxTB9p.js +39 -0
- package/.output/public/_nuxt/C4mc67xO.js +31 -0
- package/.output/public/_nuxt/CAOPafml.js +1 -0
- package/.output/public/_nuxt/CPxn9ATh.js +1 -0
- package/.output/public/_nuxt/CQ_P7x7z.js +3 -0
- package/.output/public/_nuxt/CS9PCQVw.js +6 -0
- package/.output/public/_nuxt/{CbcyysXi.js → CdEjcJco.js} +1 -1
- package/.output/public/_nuxt/CeQk_zaG.js +3867 -0
- package/.output/public/_nuxt/CgN2MmkB.js +47 -0
- package/.output/public/_nuxt/CijEBUIh.js +9 -0
- package/.output/public/_nuxt/Cn-07UHL.js +1 -0
- package/.output/public/_nuxt/Co87DPdr.js +18 -0
- package/.output/public/_nuxt/D0LmHvgn.js +13 -0
- package/.output/public/_nuxt/D4_A4fm4.js +1 -0
- package/.output/public/_nuxt/D8pqASdN.js +1 -0
- package/.output/public/_nuxt/DAs4584G.js +72 -0
- package/.output/public/_nuxt/DBO1CAN4.js +1 -0
- package/.output/public/_nuxt/DF7Phtj8.js +39 -0
- package/.output/public/_nuxt/DMMO4O3Y.js +1 -0
- package/.output/public/_nuxt/DP-hoxaC.js +1 -0
- package/.output/public/_nuxt/DREcM-oC.js +20 -0
- package/.output/public/_nuxt/DX-rdvVh.js +28 -0
- package/.output/public/_nuxt/DXei3mDv.js +1 -0
- package/.output/public/_nuxt/DZcRPyDc.js +26 -0
- package/.output/public/_nuxt/D_QjJZ_n.js +1 -0
- package/.output/public/_nuxt/DhSSuHOz.js +32 -0
- package/.output/public/_nuxt/Dj2IVxO7.js +1 -0
- package/.output/public/_nuxt/DmMeuvwr.js +1 -0
- package/.output/public/_nuxt/DqlhGxxN.js +32 -0
- package/.output/public/_nuxt/GmXmO94-.js +1 -0
- package/.output/public/_nuxt/HPyUOgdi.js +1 -0
- package/.output/public/_nuxt/MdxV8r4v.js +1 -0
- package/.output/public/_nuxt/Mp6jDt1I.js +1 -0
- package/.output/public/_nuxt/QuickQuery.h4epNPla.css +1 -0
- package/.output/public/_nuxt/{CustomEdge.BNBpjEHb.css → WrapperErdDiagram.DeMTjOwN.css} +1 -1
- package/.output/public/_nuxt/Zvfofmwe.js +1 -0
- package/.output/public/_nuxt/{_fileId_.DmPfwyyD.css → _fileId_.BHiWIaF7.css} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/db42d692-1628-4dd8-9442-d7621bdd9ac6.json +1 -0
- package/.output/public/_nuxt/cQYBDqKG.js +1 -0
- package/.output/public/_nuxt/default.BfdyU-m9.css +1 -0
- package/.output/public/_nuxt/entry.0UG0MnUy.css +1 -0
- package/.output/public/_nuxt/fIC3FurW.js +1 -0
- package/.output/public/_nuxt/{index.CrXmf4gr.css → index.BHg08rtV.css} +1 -1
- package/.output/public/_nuxt/kehy-5uo.js +1 -0
- package/.output/public/_nuxt/n9bD6NrC.js +2 -0
- package/.output/public/_nuxt/ykQL1ia3.js +271 -0
- package/.output/public/_nuxt/zD3bTrJp.js +1 -0
- package/.output/server/chunks/build/client.manifest.mjs +509 -358
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +504 -274
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +139 -0
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +178 -0
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/adapters/postgres.adapter.mjs +700 -0
- package/.output/server/chunks/routes/api/database-roles/adapters/postgres.adapter.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/adapters/types.mjs +2 -0
- package/.output/server/chunks/routes/api/database-roles/adapters/types.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +46 -0
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +34 -0
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +34 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +32 -0
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +32 -0
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +40 -0
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +26 -0
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +26 -0
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +38 -0
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +32 -0
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +43 -0
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +41 -0
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/index.mjs +39 -0
- package/.output/server/chunks/routes/api/database-roles/index.mjs.map +1 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +41 -0
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -0
- package/.output/server/chunks/routes/api/delete-function.mjs +65 -0
- package/.output/server/chunks/routes/api/delete-function.mjs.map +1 -0
- package/.output/server/chunks/routes/api/execute-bulk-delete.mjs +1 -1
- package/.output/server/chunks/routes/api/execute-bulk-delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/execute-bulk-update.mjs +1 -1
- package/.output/server/chunks/routes/api/execute-bulk-update.mjs.map +1 -1
- package/.output/server/chunks/routes/api/export-table-data.mjs +229 -0
- package/.output/server/chunks/routes/api/export-table-data.mjs.map +1 -0
- package/.output/server/chunks/routes/api/get-function-signature.mjs +96 -0
- package/.output/server/chunks/routes/api/get-function-signature.mjs.map +1 -0
- package/.output/server/chunks/routes/api/get-one-function.mjs +8 -2
- package/.output/server/chunks/routes/api/get-one-function.mjs.map +1 -1
- package/.output/server/chunks/routes/api/get-over-view-views.mjs +44 -0
- package/.output/server/chunks/routes/api/get-over-view-views.mjs.map +1 -0
- package/.output/server/chunks/routes/api/get-reverse-table-schemas.mjs +21 -10
- package/.output/server/chunks/routes/api/get-reverse-table-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/get-schema-meta-data.mjs +73 -5
- package/.output/server/chunks/routes/api/get-schema-meta-data.mjs.map +1 -1
- package/.output/server/chunks/routes/api/get-table-ddl.mjs +185 -0
- package/.output/server/chunks/routes/api/get-table-ddl.mjs.map +1 -0
- package/.output/server/chunks/routes/api/get-view-definition.mjs +57 -0
- package/.output/server/chunks/routes/api/get-view-definition.mjs.map +1 -0
- package/.output/server/chunks/routes/api/getMetricMonitor.mjs.map +1 -1
- package/.output/server/chunks/routes/api/raw-execute.mjs +1 -2
- package/.output/server/chunks/routes/api/raw-execute.mjs.map +1 -1
- package/.output/server/chunks/routes/api/rename-function.mjs +77 -0
- package/.output/server/chunks/routes/api/rename-function.mjs.map +1 -0
- package/.output/server/chunks/routes/api/update-function.mjs +65 -0
- package/.output/server/chunks/routes/api/update-function.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/index.mjs +1 -1
- package/.output/server/node_modules/cross-spawn/index.js +39 -0
- package/.output/server/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/.output/server/node_modules/cross-spawn/lib/parse.js +91 -0
- package/.output/server/node_modules/cross-spawn/lib/util/escape.js +47 -0
- package/.output/server/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/.output/server/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/.output/server/node_modules/cross-spawn/package.json +73 -0
- package/.output/server/node_modules/execa/index.js +268 -0
- package/.output/server/node_modules/execa/lib/command.js +52 -0
- package/.output/server/node_modules/execa/lib/error.js +88 -0
- package/.output/server/node_modules/execa/lib/kill.js +115 -0
- package/.output/server/node_modules/execa/lib/promise.js +46 -0
- package/.output/server/node_modules/execa/lib/stdio.js +52 -0
- package/.output/server/node_modules/execa/lib/stream.js +97 -0
- package/.output/server/node_modules/execa/package.json +74 -0
- package/.output/server/node_modules/get-stream/buffer-stream.js +52 -0
- package/.output/server/node_modules/get-stream/index.js +61 -0
- package/.output/server/node_modules/get-stream/package.json +47 -0
- package/.output/server/node_modules/human-signals/build/src/core.js +273 -0
- package/.output/server/node_modules/human-signals/build/src/main.js +71 -0
- package/.output/server/node_modules/human-signals/build/src/realtime.js +19 -0
- package/.output/server/node_modules/human-signals/build/src/signals.js +35 -0
- package/.output/server/node_modules/human-signals/package.json +64 -0
- package/.output/server/node_modules/is-stream/index.js +28 -0
- package/.output/server/node_modules/is-stream/package.json +42 -0
- package/.output/server/node_modules/isexe/index.js +57 -0
- package/.output/server/node_modules/isexe/mode.js +41 -0
- package/.output/server/node_modules/isexe/package.json +31 -0
- package/.output/server/node_modules/isexe/windows.js +42 -0
- package/.output/server/node_modules/merge-stream/index.js +41 -0
- package/.output/server/node_modules/merge-stream/package.json +19 -0
- package/.output/server/node_modules/mimic-fn/index.js +13 -0
- package/.output/server/node_modules/mimic-fn/package.json +42 -0
- package/.output/server/node_modules/npm-run-path/index.js +47 -0
- package/.output/server/node_modules/npm-run-path/package.json +44 -0
- package/.output/server/node_modules/onetime/index.js +44 -0
- package/.output/server/node_modules/onetime/package.json +43 -0
- package/.output/server/node_modules/path-key/index.js +16 -0
- package/.output/server/node_modules/path-key/package.json +39 -0
- package/.output/server/node_modules/pg-copy-streams/copy-both.js +267 -0
- package/.output/server/node_modules/pg-copy-streams/copy-from.js +173 -0
- package/.output/server/node_modules/pg-copy-streams/copy-to.js +177 -0
- package/.output/server/node_modules/pg-copy-streams/index.js +17 -0
- package/.output/server/node_modules/pg-copy-streams/message-formats.js +27 -0
- package/.output/server/node_modules/pg-copy-streams/obuf.js +376 -0
- package/.output/server/node_modules/pg-copy-streams/package.json +51 -0
- package/.output/server/node_modules/pg-dump-restore/lib/common.js +33 -0
- package/.output/server/node_modules/pg-dump-restore/lib/index.js +9 -0
- package/.output/server/node_modules/pg-dump-restore/lib/pg-dump.js +95 -0
- package/.output/server/node_modules/pg-dump-restore/lib/pg-restore.js +87 -0
- package/.output/server/node_modules/pg-dump-restore/package.json +66 -0
- package/.output/server/node_modules/pg-query-stream/esm/index.mjs +5 -0
- package/.output/server/node_modules/shebang-command/index.js +19 -0
- package/.output/server/node_modules/shebang-command/package.json +34 -0
- package/.output/server/node_modules/shebang-regex/index.js +2 -0
- package/.output/server/node_modules/shebang-regex/package.json +35 -0
- package/.output/server/node_modules/signal-exit/index.js +202 -0
- package/.output/server/node_modules/signal-exit/package.json +38 -0
- package/.output/server/node_modules/signal-exit/signals.js +53 -0
- package/.output/server/node_modules/strip-final-newline/index.js +16 -0
- package/.output/server/node_modules/strip-final-newline/package.json +40 -0
- package/.output/server/node_modules/which/package.json +43 -0
- package/.output/server/node_modules/which/which.js +125 -0
- package/.output/server/package.json +19 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/9lJACZIQ.js +0 -19
- package/.output/public/_nuxt/B2DnNiWd.js +0 -1
- package/.output/public/_nuxt/BH83_dXo.js +0 -39
- package/.output/public/_nuxt/BIKqrFbQ.js +0 -1
- package/.output/public/_nuxt/BNjPC06x.js +0 -1
- package/.output/public/_nuxt/BPQ-Pz1w.js +0 -39
- package/.output/public/_nuxt/BRpgKkVT.js +0 -51
- package/.output/public/_nuxt/BTCLPbPY.js +0 -4
- package/.output/public/_nuxt/BUV-RarV.js +0 -1
- package/.output/public/_nuxt/Bh6RgYlO.js +0 -1
- package/.output/public/_nuxt/Bq3cyzOD.js +0 -1
- package/.output/public/_nuxt/Bt9sU68B.js +0 -9
- package/.output/public/_nuxt/BwpH2ZxJ.js +0 -1
- package/.output/public/_nuxt/C25Tmn1m.js +0 -1
- package/.output/public/_nuxt/C2HlI1ss.js +0 -1
- package/.output/public/_nuxt/CU3ZV9iV.js +0 -1
- package/.output/public/_nuxt/CepyvMhE.js +0 -1
- package/.output/public/_nuxt/CuBKbBH_.js +0 -1
- package/.output/public/_nuxt/CulD8qYQ.js +0 -193
- package/.output/public/_nuxt/CylkLpwm.js +0 -1
- package/.output/public/_nuxt/D-bWLYHw.js +0 -1
- package/.output/public/_nuxt/D-zecHND.js +0 -1
- package/.output/public/_nuxt/D8vj6kFe.js +0 -160
- package/.output/public/_nuxt/DIETYtCL.js +0 -1
- package/.output/public/_nuxt/DJ4vUzxS.js +0 -1
- package/.output/public/_nuxt/DK-itzXx.js +0 -8
- package/.output/public/_nuxt/DL3T5jYo.js +0 -3867
- package/.output/public/_nuxt/DUsuhY9i.js +0 -1
- package/.output/public/_nuxt/DXV2HFBA.js +0 -224
- package/.output/public/_nuxt/Dh2zppOR.js +0 -1
- package/.output/public/_nuxt/DlAUqK2U.js +0 -1
- package/.output/public/_nuxt/DlmSeCnw.js +0 -5
- package/.output/public/_nuxt/DswTpYG4.js +0 -1
- package/.output/public/_nuxt/G830WtVn.js +0 -1
- package/.output/public/_nuxt/ICwM1E4-.js +0 -15
- package/.output/public/_nuxt/QZbJy9YW.js +0 -31
- package/.output/public/_nuxt/QuickQueryTable.DS_ON57S.css +0 -1
- package/.output/public/_nuxt/UXhX8z2W.js +0 -1
- package/.output/public/_nuxt/WrapperErdDiagram.DwhUd9Wr.css +0 -1
- package/.output/public/_nuxt/_tabViewId_.9Axt3zoi.css +0 -1
- package/.output/public/_nuxt/builds/meta/03cede5c-c45c-41b3-ac1a-73756bb8cff0.json +0 -1
- package/.output/public/_nuxt/default.DixIpIal.css +0 -1
- package/.output/public/_nuxt/entry.GqPNPe1e.css +0 -1
- package/.output/public/_nuxt/ivUnXl9B.js +0 -1
- package/.output/public/_nuxt/pAheHeBV.js +0 -36
- package/.output/public/_nuxt/s5fCn4j5.js +0 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import{c as Ut,w as tt,d as de,a6 as Ao,af as ye,G as En,aQ as Ro,u as Pa,r as W,C as K,au as xe,a as ie,o as T,f as x,g as Ue,e as i,ax as ke,P as In,av as La,a$ as $o,ba as Oo,bb as No,aj as ko,ah as Tn,D as Dn,l as Ct,j as U,b as ue,aB as Et,bc as Po,bd as We,k as I,F as Ee,s as _e,x as Le,p as m,_ as ze,I as be,y as Fe,v as se,z as Me,be as _n,t as st,X as Ne,n as he,bf as Lo,bg as zo,aR as Lt,aA as Xe,a1 as Pe,aG as nt,bh as Fo,aP as Mo,bi as Vo,bj as Uo,q,az as za,bk as fn,m as je,V as An,U as Te,al as Rn,Y as $n,Z as Fa,$ as jo,a0 as On,aI as pn,aJ as Ma,Q as Nn,a2 as jt,a3 as It,b6 as te,a5 as kn,a4 as Pn,M as mn,aL as Va,L as Se,bl as Bo,aZ as Go,b5 as qo,aF as _t,B as Ho,N as Wo,O as Ko,T as Qo,b2 as Xo,R as Yo,A as Jo,bm as Zo,bn as er,ar as tr,ap as nr,aq as na,bo as ar,bp as or,bq as rr,br as Ua,bs as lr,bt as sr,bu as ir,bv as vn,aH as ur,bw as cr,bx as At}from"./ykQL1ia3.js";import{a as dr,u as fr,b as aa}from"./BxMjn94S.js";import{u as pr,_ as ja}from"./B5vWsFeq.js";import{_ as Ln}from"./DP-hoxaC.js";import{_ as mr,a as vr}from"./C4mc67xO.js";import{g as gn,b as gr}from"./BQANhp-y.js";import{_ as zn,C as ae,b as yr,c as hr,g as br,d as Sr,e as wr,f as Zt}from"./BHnp06h8.js";import{u as oa}from"./kehy-5uo.js";import{u as xr,f as ra,g as en}from"./BhgYrVrc.js";import{_ as Cr}from"./GmXmO94-.js";import{a as Fn,b as Mn,c as Vn,d as Un,e as jn,f as Bn,g as Ba,_ as Gn}from"./Dj2IVxO7.js";import{u as Ga}from"./MdxV8r4v.js";import{_ as Er}from"./D_QjJZ_n.js";import{_ as Ir}from"./BNdHe5KI.js";import{a as Tr,b as Dr,c as _r,d as Ar,e as Rr}from"./BgEovngA.js";import{i as $r,a as Or}from"./D8pqASdN.js";import{_ as tn}from"./CAOPafml.js";import"./Bdtn2mn5.js";import"./BKxFOGv6.js";import"./DXei3mDv.js";/**
|
|
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 qa=Ut("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 Nr=Ut("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]);/**
|
|
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 Ha=Ut("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"}]]);/**
|
|
17
|
+
* @license lucide-vue-next v0.487.0 - ISC
|
|
18
|
+
*
|
|
19
|
+
* This source code is licensed under the ISC license.
|
|
20
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21
|
+
*/const kr=Ut("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"}]]),Tt=typeof document<"u";function ce(e,t="Assertion failed!"){if(!e)throw console.error(t),new Error(t)}function Wa(e,t=document){var a;if(!Tt)return null;if(t instanceof HTMLElement&&((a=t==null?void 0:t.dataset)==null?void 0:a.panelGroupId)===e)return t;const n=t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return n||null}function Bt(e,t=document){if(!Tt)return null;const n=t.querySelector(`[data-panel-resize-handle-id="${e}"]`);return n||null}function Ka(e,t,n=document){return Tt?yt(e,n).findIndex(o=>o.getAttribute("data-panel-resize-handle-id")===t)??null:null}function yt(e,t=document){return Tt?Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`)):[]}function Pr(e,t,n,a=document){var f,d;const r=Bt(t,a),o=yt(e,a),l=r?o.indexOf(r):-1,u=((f=n[l])==null?void 0:f.id)??null,s=((d=n[l+1])==null?void 0:d.id)??null;return[u,s]}function Qa(e){return e.type==="keydown"}function Xa(e){return e.type.startsWith("mouse")}function Ya(e){return e.type.startsWith("touch")}function Gt(e){if(Xa(e))return{x:e.clientX,y:e.clientY};if(Ya(e)){const t=e.touches[0];if(t&&t.clientX&&t.clientY)return{x:t.clientX,y:t.clientY}}return{x:Number.POSITIVE_INFINITY,y:Number.POSITIVE_INFINITY}}function Ja(e,t){const n=e==="horizontal",{x:a,y:r}=Gt(t);return n?a:r}function Lr(e,t,n,a,r){const o=n==="horizontal",l=Bt(t,r);ce(l);const u=l.getAttribute("data-panel-group-id");ce(u);const{initialCursorPosition:s}=a,f=Ja(n,e),d=Wa(u,r);ce(d);const c=d.getBoundingClientRect(),y=o?c.width:c.height;return(f-s)/y*100}function zr(e,t,n,a,r,o){if(Qa(e)){const l=n==="horizontal";let u=0;e.shiftKey?u=100:u=r??10;let s=0;switch(e.key){case"ArrowDown":s=l?0:u;break;case"ArrowLeft":s=l?-u:0;break;case"ArrowRight":s=l?u:0;break;case"ArrowUp":s=l?0:-u;break;case"End":s=100;break;case"Home":s=-100;break}return s}else return a==null?0:Lr(e,t,n,a,o)}function Fr({layout:e,panelsArray:t,pivotIndices:n}){let a=0,r=100,o=0,l=0;const u=n[0];ce(u!=null),t.forEach((c,y)=>{const{constraints:p}=c,{maxSize:v=100,minSize:h=0}=p;y===u?(a=h,r=v):(o+=h,l+=v)});const s=Math.min(r,100-o),f=Math.max(a,100-l),d=e[u];return{valueMax:s,valueMin:f,valueNow:d}}function Mr({panelDataArray:e}){const t=Array.from({length:e.length}),n=e.map(o=>o.constraints);let a=0,r=100;for(let o=0;o<e.length;o++){const l=n[o];ce(l);const{defaultSize:u}=l;u!=null&&(a++,t[o]=u,r-=u)}for(let o=0;o<e.length;o++){const l=n[o];ce(l);const{defaultSize:u}=l;if(u!=null)continue;const s=e.length-a,f=r/s;a++,t[o]=f,r-=f}return t}function ft(e,t,n){t.forEach((a,r)=>{const o=e[r];ce(o);const{callbacks:l,constraints:u,id:s}=o,{collapsedSize:f=0,collapsible:d}=u,c=n[s];if(c==null||a!==c){n[s]=a;const{onCollapse:y,onExpand:p,onResize:v}=l;v&&v(a,c),d&&(y||p)&&(p&&(c==null||c===f)&&a!==f&&p(),y&&(c==null||c!==f)&&a===f&&y())}})}function Vr(e,t=10){let n=null;return(...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}const qn=10;function ht(e,t,n=qn){e=Number.parseFloat(e.toFixed(n)),t=Number.parseFloat(t.toFixed(n));const a=e-t;return a===0?0:a>0?1:-1}function Ie(e,t,n){return ht(e,t,n)===0}function lt({panelConstraints:e,panelIndex:t,size:n}){const a=e[t];ce(a!=null);const{collapsedSize:r=0,collapsible:o,maxSize:l=100,minSize:u=0}=a;if(ht(n,u)<0)if(o){const s=(r+u)/2;ht(n,s)<0?n=r:n=u}else n=u;return n=Math.min(l,n),n=Number.parseFloat(n.toFixed(qn)),n}function Rt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function mt({delta:e,layout:t,panelConstraints:n,pivotIndices:a,trigger:r}){if(Ie(e,0))return t;const o=[...t],[l,u]=a;ce(l!=null),ce(u!=null);let s=0;if(r==="keyboard"){{const d=e<0?u:l,c=n[d];if(ce(c),c.collapsible){const y=t[d];ce(y!=null);const p=n[d];ce(p);const{collapsedSize:v=0,minSize:h=0}=p;if(Ie(y,v)){const g=h-y;ht(g,Math.abs(e))>0&&(e=e<0?0-g:g)}}}{const d=e<0?l:u,c=n[d];ce(c);const{collapsible:y}=c;if(y){const p=t[d];ce(p!=null);const v=n[d];ce(v);const{collapsedSize:h=0,minSize:g=0}=v;if(Ie(p,g)){const w=p-h;ht(w,Math.abs(e))>0&&(e=e<0?0-w:w)}}}}{const d=e<0?1:-1;let c=e<0?u:l,y=0;for(;;){const v=t[c];ce(v!=null);const g=lt({panelConstraints:n,panelIndex:c,size:100})-v;if(y+=g,c+=d,c<0||c>=n.length)break}const p=Math.min(Math.abs(e),Math.abs(y));e=e<0?0-p:p}{let c=e<0?l:u;for(;c>=0&&c<n.length;){const y=Math.abs(e)-Math.abs(s),p=t[c];ce(p!=null);const v=p-y,h=lt({panelConstraints:n,panelIndex:c,size:v});if(!Ie(p,h)&&(s+=p-h,o[c]=h,s.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?c--:c++}}if(Ie(s,0))return t;{const d=e<0?u:l,c=t[d];ce(c!=null);const y=c+s,p=lt({panelConstraints:n,panelIndex:d,size:y});if(o[d]=p,!Ie(p,y)){let v=y-p,g=e<0?u:l;for(;g>=0&&g<n.length;){const w=o[g];ce(w!=null);const S=w+v,C=lt({panelConstraints:n,panelIndex:g,size:S});if(Ie(w,C)||(v-=C-w,o[g]=C),Ie(v,0))break;e>0?g--:g++}}}const f=o.reduce((d,c)=>c+d,0);return Ie(f,100)?o:t}function Za(e,t,n){const a=Ka(e,t,n);return a!=null?[a,a+1]:[-1,-1]}function Ur(e,t,n){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function jr(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:ia(e),b:ia(t)};let a;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),a=e;ce(a);const r={a:sa(la(n.a)),b:sa(la(n.b))};if(r.a===r.b){const o=a.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let u=o.length;for(;u--;){const s=o[u];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(r.a-r.b)}const Br=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Gr(e){const t=getComputedStyle(eo(e)).display;return t==="flex"||t==="inline-flex"}function qr(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||Gr(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||Br.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function la(e){let t=e.length;for(;t--;){const n=e[t];if(ce(n),qr(n))return n}return null}function sa(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ia(e){const t=[];for(;e;)t.push(e),e=eo(e);return t}function eo(e){var t;return e.parentNode instanceof DocumentFragment&&((t=e.parentNode)==null?void 0:t.host)||e.parentNode}const to=1,no=2,ao=4,oo=8;function Hr(){if(typeof matchMedia=="function")return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}const Wr=Hr()==="coarse",Ye=[];let qt=!1;const Ke=new Map,Ht=new Map,bt=new Set;function Kr(e,t,n,a,r,o){const{ownerDocument:l}=t,u={direction:n,element:t,hitAreaMargins:a,nonce:r,setResizeHandlerState:o},s=Ke.get(l)??0;return Ke.set(l,s+1),bt.add(u),Mt(),function(){Ht.delete(e),bt.delete(u);const d=Ke.get(l)??1;Ke.set(l,d-1),Mt(),lo(),d===1&&Ke.delete(l)}}function $t(e){const{target:t}=e,{x:n,y:a}=Gt(e);qt=!0,Hn({target:t,x:n,y:a}),Mt(),Ye.length>0&&(Wn("down",e),e.preventDefault())}function Ge(e){const{x:t,y:n}=Gt(e);if(!qt){const{target:a}=e;Hn({target:a,x:t,y:n})}Wn("move",e),ro(),Ye.length>0&&e.preventDefault()}function qe(e){const{target:t}=e,{x:n,y:a}=Gt(e);Ht.clear(),qt=!1,Ye.length>0&&e.preventDefault(),Wn("up",e),Hn({target:t,x:n,y:a}),ro(),Mt()}function Hn({target:e,x:t,y:n}){Ye.splice(0);let a=null;e instanceof HTMLElement&&(a=e),bt.forEach(r=>{const{element:o,hitAreaMargins:l}=r,u=o.getBoundingClientRect(),{bottom:s,left:f,right:d,top:c}=u,y=Wr?l.coarse:l.fine;if(t>=f-y&&t<=d+y&&n>=c-y&&n<=s+y){if(a!==null&&o!==a&&!o.contains(a)&&!a.contains(o)&&jr(a,o)>0){let v=a,h=!1;for(;v&&!v.contains(o);){if(Ur(v.getBoundingClientRect(),u)){h=!0;break}v=v.parentElement}if(h)return}Ye.push(r)}})}function nn(e,t){Ht.set(e,t)}function ro(){let e=!1,t=!1,n;Ye.forEach(r=>{const{direction:o,nonce:l}=r;o.value==="horizontal"?e=!0:t=!0,n=l.value});let a=0;Ht.forEach(r=>{a|=r}),e&&t?an("intersection",a,n):e?an("horizontal",a,n):t?an("vertical",a,n):lo()}function Mt(){Ke.forEach((e,t)=>{const{body:n}=t;n.removeEventListener("contextmenu",qe),n.removeEventListener("mousedown",$t),n.removeEventListener("mouseleave",Ge),n.removeEventListener("mousemove",Ge),n.removeEventListener("touchmove",Ge),n.removeEventListener("touchstart",$t)}),window.removeEventListener("mouseup",qe),window.removeEventListener("touchcancel",qe),window.removeEventListener("touchend",qe),bt.size>0&&(qt?(Ye.length>0&&Ke.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("contextmenu",qe),n.addEventListener("mouseleave",Ge),n.addEventListener("mousemove",Ge),n.addEventListener("touchmove",Ge,{passive:!1}))}),window.addEventListener("mouseup",qe),window.addEventListener("touchcancel",qe),window.addEventListener("touchend",qe)):Ke.forEach((e,t)=>{const{body:n}=t;e>0&&(n.addEventListener("mousedown",$t),n.addEventListener("mousemove",Ge),n.addEventListener("touchmove",Ge,{passive:!1}),n.addEventListener("touchstart",$t))}))}function Wn(e,t){bt.forEach(n=>{const{setResizeHandlerState:a}=n,r=Ye.includes(n);a(e,r,t)})}let yn=null,Qe=null;function Qr(e,t){if(t){const n=(t&to)!==0,a=(t&no)!==0,r=(t&ao)!==0,o=(t&oo)!==0;if(n)return r?"se-resize":o?"ne-resize":"e-resize";if(a)return r?"sw-resize":o?"nw-resize":"w-resize";if(r)return"s-resize";if(o)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}function lo(){Qe!==null&&(document.head.removeChild(Qe),yn=null,Qe=null)}function an(e,t,n){const a=Qr(e,t);yn!==a&&(yn=a,Qe===null&&(Qe=document.createElement("style"),n&&(Qe.nonce=n),document.head.appendChild(Qe)),Qe.innerHTML=`*{cursor: ${a}!important;}`)}function Xr({defaultSize:e,dragState:t,layout:n,panelData:a,panelIndex:r,precision:o=3}){const l=n[r];let u;return l==null?u=e!==void 0?e.toPrecision(o):"1":a.length===1?u="1":u=l.toPrecision(o),{flexBasis:0,flexGrow:u,flexShrink:1,overflow:"hidden",pointerEvents:t!==null?"none":void 0}}function Yr({layout:e,panelConstraints:t}){const n=[...e],a=n.reduce((o,l)=>o+l,0);if(n.length!==t.length)throw new Error(`Invalid ${t.length} panel layout: ${n.map(o=>`${o}%`).join(", ")}`);if(!Ie(a,100)){console.warn(`WARNING: Invalid layout total size: ${n.map(o=>`${o}%`).join(", ")}. Layout normalization will be applied.`);for(let o=0;o<t.length;o++){const l=n[o];ce(l!=null);const u=100/a*l;n[o]=u}}let r=0;for(let o=0;o<t.length;o++){const l=n[o];ce(l!=null);const u=lt({panelConstraints:t,panelIndex:o,size:l});l!==u&&(r+=l-u,n[o]=u)}if(!Ie(r,0))for(let o=0;o<t.length;o++){const l=n[o];ce(l!=null);const u=l+r,s=lt({panelConstraints:t,panelIndex:o,size:u});if(l!==s&&(r-=s-l,n[o]=s,Ie(r,0)))break}return n}function Jr({eagerValuesRef:e,groupId:t,layout:n,panelDataArray:a,panelGroupElement:r,setLayout:o}){tt(l=>{const u=r.value;if(!u)return;const s=yt(t,u);for(let f=0;f<a.length-1;f++){const{valueMax:d,valueMin:c,valueNow:y}=Fr({layout:n.value,panelsArray:a,pivotIndices:[f,f+1]}),p=s[f];if(p!=null){const v=a[f];ce(v),p.setAttribute("aria-controls",v.id),p.setAttribute("aria-valuemax",`${Math.round(d)}`),p.setAttribute("aria-valuemin",`${Math.round(c)}`),p.setAttribute("aria-valuenow",y!=null?`${Math.round(y)}`:"")}}l(()=>{s.forEach(f=>{f.removeAttribute("aria-controls"),f.removeAttribute("aria-valuemax"),f.removeAttribute("aria-valuemin"),f.removeAttribute("aria-valuenow")})})}),tt(l=>{const u=r.value;if(!u)return;const s=e.value;ce(s);const{panelDataArray:f}=s,d=Wa(t,u);ce(d!=null,`No group found for id "${t}"`);const c=yt(t,u);ce(c);const y=c.map(p=>{const v=p.getAttribute("data-panel-resize-handle-id");ce(v);const[h,g]=Pr(t,v,f,u);if(h==null||g==null)return()=>{};const w=S=>{if(!S.defaultPrevented)switch(S.key){case"Enter":{S.preventDefault();const C=f.findIndex(E=>E.id===h);if(C>=0){const E=f[C];ce(E);const O=n.value[C],{collapsedSize:F=0,collapsible:J,minSize:_=0}=E.constraints;if(O!=null&&J){const R=mt({delta:Ie(O,F)?_-F:F-O,layout:n.value,panelConstraints:f.map(D=>D.constraints),pivotIndices:Za(t,v,u),trigger:"keyboard"});n.value!==R&&o(R)}}break}}};return p.addEventListener("keydown",w),()=>{p.removeEventListener("keydown",w)}});l(()=>{y.forEach(p=>p())})})}function ua(e){try{if(typeof localStorage<"u")e.getItem=t=>localStorage.getItem(t),e.setItem=(t,n)=>{localStorage.setItem(t,n)};else throw new TypeError("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function so(e){return`reka:${e}`}function io(e){return e.map(t=>{const{constraints:n,id:a,idIsFromProps:r,order:o}=t;return r?a:o?`${o}:${JSON.stringify(n)}`:JSON.stringify(n)}).sort((t,n)=>t.localeCompare(n)).join(",")}function uo(e,t){try{const n=so(e),a=t.getItem(n);if(a){const r=JSON.parse(a);if(typeof r=="object"&&r!=null)return r}}catch{}return null}function Zr(e,t,n){const a=uo(e,n)??{},r=io(t);return a[r]??null}function el(e,t,n,a,r){const o=so(e),l=io(t),u=uo(e,r)??{};u[l]={expandToSizes:Object.fromEntries(n.entries()),layout:a};try{r.setItem(o,JSON.stringify(u))}catch(s){console.error(s)}}const tl=100,vt={getItem:e=>(ua(vt),vt.getItem(e)),setItem:(e,t)=>{ua(vt),vt.setItem(e,t)}},[co,nl]=Ao("PanelGroup");var al=de({__name:"SplitterGroup",props:{id:{type:[String,null],required:!1},autoSaveId:{type:[String,null],required:!1,default:null},direction:{type:String,required:!0},keyboardResizeBy:{type:[Number,null],required:!1,default:10},storage:{type:Object,required:!1,default:()=>vt},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["layout"],setup(e,{emit:t}){const n=e,a=t,r={},{direction:o}=ye(n),l=En(n.id,"reka-splitter-group"),u=Ro(),{forwardRef:s,currentElement:f}=Pa(),d=W(null),c=W([]),y=W({}),p=W(new Map),v=W(0),h=K(()=>({autoSaveId:n.autoSaveId,direction:n.direction,dragState:d.value,id:l,keyboardResizeBy:n.keyboardResizeBy,storage:n.storage})),g=W({layout:c.value,panelDataArray:[],panelDataArrayChanged:!1}),w=P=>c.value=P;Jr({eagerValuesRef:g,groupId:l,layout:c,panelDataArray:g.value.panelDataArray,setLayout:w,panelGroupElement:f}),tt(()=>{const{panelDataArray:P}=g.value,{autoSaveId:Y}=n;if(Y){if(c.value.length===0||c.value.length!==P.length)return;let Q=r[Y];Q||(Q=Vr(el,tl),r[Y]=Q);const X=[...P],le=new Map(p.value);Q(Y,X,le,c.value,n.storage)}});function S(P,Y){const{panelDataArray:Q}=g.value,X=ee(Q,P);return Xr({defaultSize:Y,dragState:d.value,layout:c.value,panelData:Q,panelIndex:X})}function C(P){const{panelDataArray:Y}=g.value;Y.push(P),Y.sort((Q,X)=>{const le=Q.order,N=X.order;return le==null&&N==null?0:le==null?-1:N==null?1:le-N}),g.value.panelDataArrayChanged=!0}xe(()=>g.value.panelDataArrayChanged,()=>{if(g.value.panelDataArrayChanged){g.value.panelDataArrayChanged=!1;const{autoSaveId:P,storage:Y}=h.value,{layout:Q,panelDataArray:X}=g.value;let le=null;if(P){const b=Zr(P,X,Y);b&&(p.value=new Map(Object.entries(b.expandToSizes)),le=b.layout)}le===null&&(le=Mr({panelDataArray:X}));const N=Yr({layout:le,panelConstraints:X.map(b=>b.constraints)});dr(Q,N)||(w(N),g.value.layout=N,a("layout",N),ft(X,N,y.value))}});function E(P){return function(Q){Q.preventDefault();const X=f.value;if(!X)return()=>null;const{direction:le,dragState:N,id:b,keyboardResizeBy:M}=h.value,{layout:z,panelDataArray:V}=g.value,{initialLayout:fe}=N??{},re=Za(b,P,X);let ve=zr(Q,P,le,N,M,X);if(ve===0)return;const pe=le==="horizontal";u.value==="rtl"&&pe&&(ve=-ve);const De=V.map(ct=>ct.constraints),we=mt({delta:ve,layout:fe??z,panelConstraints:De,pivotIndices:re,trigger:Qa(Q)?"keyboard":"mouse-or-touch"}),Ve=!Rt(z,we);(Xa(Q)||Ya(Q))&&v.value!==ve&&(v.value=ve,Ve?nn(P,0):pe?nn(P,ve<0?to:no):nn(P,ve<0?ao:oo)),Ve&&(w(we),g.value.layout=we,a("layout",we),ft(V,we,y.value))}}function O(P,Y){const{layout:Q,panelDataArray:X}=g.value,le=X.map(fe=>fe.constraints),{panelSize:N,pivotIndices:b}=ne(X,P,Q);ce(N!=null);const z=ee(X,P)===X.length-1?N-Y:Y-N,V=mt({delta:z,layout:Q,panelConstraints:le,pivotIndices:b,trigger:"imperative-api"});Rt(Q,V)||(w(V),g.value.layout=V,a("layout",V),ft(X,V,y.value))}function F(P,Y){const{layout:Q,panelDataArray:X}=g.value,le=ee(X,P);X[le]=P,g.value.panelDataArrayChanged=!0;const{collapsedSize:N=0,collapsible:b}=Y,{collapsedSize:M=0,collapsible:z,maxSize:V=100,minSize:fe=0}=P.constraints,{panelSize:re}=ne(X,P,Q);re!==null&&(b&&z&&re===N?N!==M&&O(P,M):re<fe?O(P,fe):re>V&&O(P,V))}function J(P,Y){const{direction:Q}=h.value,{layout:X}=g.value;if(!f.value)return;const le=Bt(P,f.value);ce(le);const N=Ja(Q,Y);d.value={dragHandleId:P,dragHandleRect:le.getBoundingClientRect(),initialCursorPosition:N,initialLayout:X}}function _(){d.value=null}function R(P){const{panelDataArray:Y}=g.value,Q=ee(Y,P);Q>=0&&(Y.splice(Q,1),delete y.value[P.id],g.value.panelDataArrayChanged=!0)}function D(P){const{layout:Y,panelDataArray:Q}=g.value;if(P.constraints.collapsible){const X=Q.map(M=>M.constraints),{collapsedSize:le=0,panelSize:N,pivotIndices:b}=ne(Q,P,Y);if(ce(N!=null,`Panel size not found for panel "${P.id}"`),N!==le){p.value.set(P.id,N);const z=ee(Q,P)===Q.length-1?N-le:le-N,V=mt({delta:z,layout:Y,panelConstraints:X,pivotIndices:b,trigger:"imperative-api"});Rt(Y,V)||(w(V),g.value.layout=V,a("layout",V),ft(Q,V,y.value))}}}function L(P){const{layout:Y,panelDataArray:Q}=g.value;if(P.constraints.collapsible){const X=Q.map(z=>z.constraints),{collapsedSize:le=0,panelSize:N,minSize:b=0,pivotIndices:M}=ne(Q,P,Y);if(N===le){const z=p.value.get(P.id),V=z!=null&&z>=b?z:b,re=ee(Q,P)===Q.length-1?N-V:V-N,ve=mt({delta:re,layout:Y,panelConstraints:X,pivotIndices:M,trigger:"imperative-api"});Rt(Y,ve)||(w(ve),g.value.layout=ve,a("layout",ve),ft(Q,ve,y.value))}}}function B(P){const{layout:Y,panelDataArray:Q}=g.value,{panelSize:X}=ne(Q,P,Y);return ce(X!=null,`Panel size not found for panel "${P.id}"`),X}function $(P){const{layout:Y,panelDataArray:Q}=g.value,{collapsedSize:X=0,collapsible:le,panelSize:N}=ne(Q,P,Y);return le?N===void 0?P.constraints.defaultSize===P.constraints.collapsedSize:N===X:!1}function G(P){const{layout:Y,panelDataArray:Q}=g.value,{collapsedSize:X=0,collapsible:le,panelSize:N}=ne(Q,P,Y);return ce(N!=null,`Panel size not found for panel "${P.id}"`),!le||N>X}nl({direction:o,dragState:d.value,groupId:l,reevaluatePanelConstraints:F,registerPanel:C,registerResizeHandle:E,resizePanel:O,startDragging:J,stopDragging:_,unregisterPanel:R,panelGroupElement:f,collapsePanel:D,expandPanel:L,isPanelCollapsed:$,isPanelExpanded:G,getPanelSize:B,getPanelStyle:S});function ee(P,Y){return P.findIndex(Q=>Q===Y||Q.id===Y.id)}function ne(P,Y,Q){const X=ee(P,Y),N=X===P.length-1?[X-1,X]:[X,X+1],b=Q[X];return{...Y.constraints,panelSize:b,pivotIndices:N}}return(P,Y)=>(T(),ie(i(In),{ref:i(s),as:P.as,"as-child":P.asChild,style:ke({display:"flex",flexDirection:i(o)==="horizontal"?"row":"column",height:"100%",overflow:"hidden",width:"100%"}),"data-panel-group":"","data-orientation":i(o),"data-panel-group-id":i(l)},{default:x(()=>[Ue(P.$slots,"default",{layout:c.value})]),_:3},8,["as","as-child","style","data-orientation","data-panel-group-id"]))}}),ol=al,rl=de({__name:"SplitterPanel",props:{collapsedSize:{type:Number,required:!1},collapsible:{type:Boolean,required:!1},defaultSize:{type:Number,required:!1},id:{type:String,required:!1},maxSize:{type:Number,required:!1},minSize:{type:Number,required:!1},order:{type:Number,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["collapse","expand","resize"],setup(e,{expose:t,emit:n}){const a=e,r=n,o=co();if(o===null)throw new Error("SplitterPanel components must be rendered within a SplitterGroup container");const{collapsePanel:l,expandPanel:u,getPanelSize:s,getPanelStyle:f,isPanelCollapsed:d,resizePanel:c,groupId:y,reevaluatePanelConstraints:p,registerPanel:v,unregisterPanel:h}=o,g=En(a.id,"reka-splitter-panel"),w=K(()=>({callbacks:{onCollapse:()=>r("collapse"),onExpand:()=>r("expand"),onResize:(..._)=>r("resize",..._)},constraints:{collapsedSize:a.collapsedSize&&Number.parseFloat(a.collapsedSize.toFixed(qn)),collapsible:a.collapsible,defaultSize:a.defaultSize,maxSize:a.maxSize,minSize:a.minSize},id:g,idIsFromProps:a.id!==void 0,order:a.order}));xe(()=>w.value.constraints,(_,R)=>{(R.collapsedSize!==_.collapsedSize||R.collapsible!==_.collapsible||R.maxSize!==_.maxSize||R.minSize!==_.minSize)&&p(w.value,R)},{deep:!0}),La(()=>{v(w.value)}),$o(()=>{h(w.value)});const S=K(()=>f(w.value,a.defaultSize)),C=K(()=>d(w.value)),E=K(()=>!C.value);function O(){l(w.value)}function F(){u(w.value)}function J(_){c(w.value,_)}return t({collapse:O,expand:F,getSize(){return s(w.value)},resize:J,isCollapsed:C,isExpanded:E}),(_,R)=>(T(),ie(i(In),{id:i(g),style:ke(S.value),as:_.as,"as-child":_.asChild,"data-panel":"","data-panel-collapsible":_.collapsible||void 0,"data-panel-group-id":i(y),"data-panel-id":i(g),"data-panel-size":Number.parseFloat(`${S.value.flexGrow}`).toFixed(1),"data-state":_.collapsible?C.value?"collapsed":"expanded":void 0},{default:x(()=>[Ue(_.$slots,"default",{isCollapsed:C.value,isExpanded:E.value,expand:F,collapse:O,resize:J})]),_:3},8,["id","style","as","as-child","data-panel-collapsible","data-panel-group-id","data-panel-id","data-panel-size","data-state"]))}}),ll=rl;function sl({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:a}){tt(r=>{const o=a.value;if(e.value||n.value===null||o===null)return;const l=Bt(t,o);if(l==null)return;const u=s=>{var f;if(!s.defaultPrevented)switch(s.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":{s.preventDefault(),(f=n.value)==null||f.call(n,s);break}case"F6":{s.preventDefault();const d=l.getAttribute("data-panel-group-id");ce(d);const c=yt(d,o),y=Ka(d,t,o);ce(y!==null);const p=s.shiftKey?y>0?y-1:c.length-1:y+1<c.length?y+1:0;c[p].focus();break}}};l.addEventListener("keydown",u),r(()=>{l.removeEventListener("keydown",u)})})}var il=de({__name:"SplitterResizeHandle",props:{id:{type:String,required:!1},hitAreaMargins:{type:Object,required:!1},tabindex:{type:Number,required:!1,default:0},disabled:{type:Boolean,required:!1},nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["dragging"],setup(e,{emit:t}){const n=e,a=t,{forwardRef:r,currentElement:o}=Pa(),{disabled:l}=ye(n),u=co();if(u===null)throw new Error("PanelResizeHandle components must be rendered within a PanelGroup container");const{direction:s,groupId:f,registerResizeHandle:d,startDragging:c,stopDragging:y,panelGroupElement:p}=u,v=En(n.id,"reka-splitter-resize-handle"),h=W("inactive"),g=W(!1),w=W(null),{nonce:S}=ye(n),C=Oo(S);return xe(l,()=>{Tt&&(l.value?w.value=null:w.value=d(v))},{immediate:!0}),tt(E=>{var J,_;if(l.value||w.value===null)return;const O=o.value;if(!O)return;ce(O);const F=(R,D,L)=>{var B;if(D)switch(R){case"down":{h.value="drag",c(v,L),a("dragging",!0);break}case"move":{h.value!=="drag"&&(h.value="hover"),(B=w.value)==null||B.call(w,L);break}case"up":{h.value="hover",y(),a("dragging",!1);break}}else h.value="inactive"};E(Kr(v,O,s,{coarse:((J=n.hitAreaMargins)==null?void 0:J.coarse)??15,fine:((_=n.hitAreaMargins)==null?void 0:_.fine)??5},C,F))}),sl({disabled:l,resizeHandler:w,handleId:v,panelGroupElement:p}),(E,O)=>(T(),ie(i(In),{id:i(v),ref:i(r),style:{touchAction:"none",userSelect:"none"},as:E.as,"as-child":E.asChild,role:"separator","data-resize-handle":"",tabindex:E.tabindex,"data-state":h.value,"data-disabled":i(l)?"":void 0,"data-orientation":i(s),"data-panel-group-id":i(f),"data-resize-handle-active":h.value==="drag"?"pointer":g.value?"keyboard":void 0,"data-resize-handle-state":h.value,"data-panel-resize-handle-enabled":!i(l),"data-panel-resize-handle-id":i(v),onBlur:O[0]||(O[0]=F=>g.value=!1),onFocus:O[1]||(O[1]=F=>g.value=!1)},{default:x(()=>[Ue(E.$slots,"default")]),_:3},8,["id","as","as-child","tabindex","data-state","data-disabled","data-orientation","data-panel-group-id","data-resize-handle-active","data-resize-handle-state","data-panel-resize-handle-enabled","data-panel-resize-handle-id"]))}}),ul=il,Ce=(e=>(e.Explorer="Explorer",e.Schemas="Schemas",e.ErdDiagram="ERDiagram",e.UsersRoles="UsersRoles",e.DatabaseExport="DatabaseExport",e))(Ce||{});const fo=No("activity-bar",()=>{const e=W("Schemas"),t=d=>{e.value=d},n=W(["Tables"]),a=W(0),r=W([]),o=W(0),l=W([]),u=W(0);return{activityActive:e,setActivityActive:t,schemasExpandedState:n,schemaCurrentScrollTop:a,explorerExpandedState:r,explorerCurrentScrollTop:o,onCollapsedSchemaTree:()=>{n.value=[]},onCollapsedErdTree:()=>{l.value=[]},erdExpandedState:l,erdCurrentScrollTop:u}},{persist:!0}),cl={key:0,class:"bg-border z-10 flex h-7 w-1 min-w-1 items-center justify-center rounded-md border"},dl=de({__name:"ResizableHandle",props:{id:{},hitAreaMargins:{},tabindex:{},disabled:{type:Boolean},nonce:{},asChild:{type:Boolean},as:{},class:{},withHandle:{type:Boolean}},emits:["dragging"],setup(e,{emit:t}){const n=e,a=t,r=ko(n,"class","withHandle"),o=Tn(r,a);return(l,u)=>(T(),ie(i(ul),Dn({"data-slot":"resizable-handle"},i(o),{class:i(Ct)("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:-translate-y-1/2 data-[orientation=vertical]:after:translate-x-0 [&[data-orientation=vertical]>div]:rotate-90",n.class)}),{default:x(()=>[n.withHandle?(T(),U("div",cl)):ue("",!0)]),_:1},16,["class"]))}}),fl=de({__name:"ResizablePanel",props:{collapsedSize:{},collapsible:{type:Boolean},defaultSize:{},id:{},maxSize:{},minSize:{},order:{},asChild:{type:Boolean},as:{}},emits:["collapse","expand","resize"],setup(e,{expose:t,emit:n}){const a=e,r=n,o=W(),l=Tn(a,r);return t(o),(u,s)=>(T(),ie(i(ll),Dn({"data-slot":"resizable-panel"},i(l),{ref_key:"panelRef",ref:o}),{default:x(()=>[Ue(u.$slots,"default")]),_:3},16))}}),pl=de({__name:"ResizablePanelGroup",props:{id:{},autoSaveId:{},direction:{},keyboardResizeBy:{},storage:{},asChild:{type:Boolean},as:{},class:{}},emits:["layout"],setup(e,{emit:t}){const n=e,a=t,r=K(()=>{const{class:l,...u}=n;return u}),o=Tn(r,a);return(l,u)=>(T(),ie(i(ol),Dn({"data-slot":"resizable-panel-group"},i(o),{class:i(Ct)("flex h-full w-full data-[orientation=vertical]:flex-col",n.class)}),{default:x(()=>[Ue(l.$slots,"default")]),_:3},16,["class"]))}}),po=()=>{const e=fo(),t=Et(),{trackEvent:n}=Po();return{activity:K(()=>[{id:Ce.Explorer,title:"Files / Folders",icon:"hugeicons:folder-file-storage",isActive:e.activityActive===Ce.Explorer},{id:Ce.Schemas,title:"Schemas",icon:"hugeicons:database",isActive:e.activityActive===Ce.Schemas},{id:Ce.ErdDiagram,title:"ErdDiagram",icon:"hugeicons:hierarchy-square-02",isActive:e.activityActive===Ce.ErdDiagram},{id:Ce.UsersRoles,title:"Users & Roles",icon:"hugeicons:user-shield-01",isActive:e.activityActive===Ce.UsersRoles}]),onChangeActivity:(o,l)=>{e.setActivityActive(o),l&&t.onToggleActivityBarPanel(),n("activity_bar",{activity:o})}}},ml={class:"max-w-9 min-w-9 py-2"},vl={class:"flex flex-col justify-between h-full space-y-2"},gl={class:"flex flex-col items-center gap-1"},yl=de({__name:"ActivityBar",setup(e){const{activity:t,onChangeActivity:n}=po();return pr(),(a,r)=>{const o=be,l=ze,u=Fe,s=Me,f=Le,d=_n("auto-animate");return We((T(),U("div",ml,[I("div",vl,[I("div",gl,[(T(!0),U(Ee,null,_e(i(t),c=>(T(),ie(f,null,{default:x(()=>[m(u,{"as-child":""},{default:x(()=>[m(l,{size:"iconMd",variant:c.isActive?"default":"ghost",onClick:y=>i(n)(c.id,!0)},{default:x(()=>[m(o,{name:c.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),m(s,{side:"right"},{default:x(()=>[I("p",null,se(c.title),1)]),_:2},1024)]),_:2},1024))),256))]),ue("",!0)])])),[[d]])}}}),hl={class:"flex items-center gap-1"},bl=de({__name:"ActivityBarHorizontal",setup(e){const{activity:t,onChangeActivity:n}=po();return(a,r)=>{const o=be,l=ze,u=Fe,s=Me,f=Le;return T(),U("div",hl,[(T(!0),U(Ee,null,_e(i(t),d=>(T(),ie(f,null,{default:x(()=>[m(u,{"as-child":""},{default:x(()=>[m(l,{size:"iconMd",variant:d.isActive?"default":"ghost",onClick:c=>i(n)(d.id)},{default:x(()=>[m(o,{name:d.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),m(s,{side:"bottom"},{default:x(()=>[I("p",null,se(d.title),1)]),_:2},1024)]),_:2},1024))),256))])}}}),Sl={class:"drag-preview"},wl={class:"drag-preview__icon"},xl={class:"drag-preview__text"},Cl={key:0,class:"drag-preview__badge"},El=de({__name:"PseudomorphismDragItem",props:{count:{},itemName:{},itemType:{}},setup(e){const t=e,n=K(()=>t.count>1?kr:t.itemType==="folder"?Ha:qa),a=K(()=>t.count===1?t.itemName:`${t.count} items`),r=K(()=>t.count>1);return(o,l)=>(T(),U("div",Sl,[I("span",wl,[(T(),ie(st(n.value),{size:16,"stroke-width":2}))]),I("span",xl,se(a.value),1),r.value?(T(),U("span",Cl,se(o.count),1)):ue("",!0)]))}}),Il=Ln(El,[["__scopeId","data-v-93dbafcc"]]),Tl=["draggable"],Dl={key:1,class:"tree-row__spacer"},_l={key:4,class:"tree-row__name"},Al=["aria-invalid","aria-errormessage","onKeydown"],Rl=de({__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:n}){const a=e,r=n,o=W(a.node.name),l=W(null),u=()=>{const w=o.value.trim();w&&w!==a.node.name?r("rename",w):r("cancelRename")},s=K(()=>!!a.renameError),f=()=>{if(s.value){d();return}u()},d=()=>{o.value=a.node.name,r("cancelRename")},c=async()=>{var w,S;await Xe(),(w=l.value)==null||w.focus(),(S=l.value)==null||S.select()};xe(()=>a.isEditing,w=>{w&&(o.value=a.node.name,c())}),xe(()=>a.node.name,w=>{a.isEditing||(o.value=w)});const y=K(()=>({paddingLeft:`${a.node.depth*a.indentSize+a.baseIndent}px`,height:`${a.itemHeight}px`})),p=K(()=>a.node.type==="folder"&&a.isExpanded&&a.node.iconOpen||a.node.iconClose),v=K(()=>a.node.type==="folder"?a.isExpanded?Nr:Ha:qa),h=K(()=>{var w,S,C;return{"tree-row":!0,"tree-row--selected":a.isSelected,"tree-row--focused":a.isFocused&&!a.isEditing,"tree-row--drop-before":((w=a.dropIndicator)==null?void 0:w.position)==="before","tree-row--drop-after":((S=a.dropIndicator)==null?void 0:S.position)==="after","tree-row--drop-inside":((C=a.dropIndicator)==null?void 0:C.position)==="inside"}}),g=K(()=>({transform:a.isExpanded?"rotate(90deg)":"rotate(0deg)"}));return t({focusInput:c}),(w,S)=>(T(),U("div",{class:he(h.value),style:ke(y.value),draggable:w.allowDragAndDrop&&!w.isEditing,onClick:S[7]||(S[7]=C=>r("click",C)),onDblclick:S[8]||(S[8]=C=>r("dblclick",C)),onDragstart:S[9]||(S[9]=C=>r("dragstart",C)),onDragover:S[10]||(S[10]=C=>r("dragover",C)),onDragleave:S[11]||(S[11]=C=>r("dragleave",C)),onDragend:S[12]||(S[12]=C=>r("dragend",C)),onDrop:S[13]||(S[13]=C=>r("drop",C)),onContextmenu:S[14]||(S[14]=Ne(C=>r("contextmenu",C),["right"]))},[w.node.type==="folder"?(T(),U("button",{key:0,class:"tree-row__chevron",style:ke(g.value),onClick:S[0]||(S[0]=Ne(C=>r("toggle"),["stop"]))},[m(i(Lo),{size:16})],4)):(T(),U("div",Dl)),p.value?(T(),ie(i(be),{key:2,name:p.value,class:he(["tree-row__icon size-4!",w.node.iconClass])},null,8,["name","class"])):(T(),ie(st(v.value),{key:3,size:16,class:he(["tree-row__icon",w.node.iconClass])},null,8,["class"])),w.isEditing?We((T(),U("input",{key:5,ref_key:"inputRef",ref:l,"onUpdate:modelValue":S[1]||(S[1]=C=>o.value=C),type:"text",class:he(["tree-row__edit-input",{"tree-row__edit-input--error":s.value}]),"aria-invalid":s.value,"aria-errormessage":s.value?`rename-error-${w.node.id}`:void 0,onInput:S[2]||(S[2]=C=>r("editingChange",o.value)),onBlur:f,onKeydown:[Lt(Ne(u,["stop"]),["enter"]),Lt(d,["esc"]),S[3]||(S[3]=Lt(Ne(()=>{},["stop"]),["space"]))],onClick:S[4]||(S[4]=Ne(()=>{},["stop"])),onDblclick:S[5]||(S[5]=Ne(()=>{},["stop"]))},null,42,Al)),[[zo,o.value]]):(T(),U("span",_l,se(w.node.name),1)),w.isEditing?ue("",!0):(T(),U("div",{key:6,class:"tree-row__actions",onClick:S[6]||(S[6]=Ne(()=>{},["stop"]))},[Ue(w.$slots,"actions",{node:w.node},void 0,!0)]))],46,Tl))}}),$l=Ln(Rl,[["__scopeId","data-v-30a5f909"]]),on=e=>typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function",rt=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):null,Ot=e=>[...e],Ol=()=>{var t,n,a,r;if(typeof window>"u")return!1;const e=window;return(n=(t=e.process)==null?void 0:t.versions)!=null&&n.electron?!0:!!((r=(a=e.navigator)==null?void 0:a.userAgent)!=null&&r.includes("Electron"))},rn=()=>({loadExpandedIds:e=>{if(typeof window>"u")return null;const t=window.localStorage.getItem(`${e}_expanded`);if(!t)return null;try{return rt(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`)}}),Nl=(e={})=>{const t=e.pushDebounceMs??400,n=new Map,a=new Set,r=new Map,o=(c,y)=>{var p;(p=e.onError)==null||p.call(e,c,y)},l=()=>{const c=e.mode??"auto";return c==="web"?e.webStorage??rn():c==="electron"?e.electronStorage??e.webStorage??rn():Ol()&&e.electronStorage?e.electronStorage:e.webStorage??rn()},u=(c,y)=>{var w;const p=(w=e.apiSync)==null?void 0:w.pushExpandedIds;if(!p)return;const v=c.storageKey,h=r.get(v);h&&clearTimeout(h);const g=setTimeout(()=>{r.delete(v);const S=p(v,Ot(y)).catch(C=>{o(C,"push")});a.add(S),S.finally(()=>{a.delete(S)})},t);r.set(v,g)},s=(c,y)=>{const v=l().saveExpandedIds(c.storageKey,Ot(y));on(v)&&v.catch(h=>{o(h,"save")})},f=c=>{const p=l().loadExpandedIds(c.storageKey);return on(p)?(p.then(v=>{const h=rt(v);h&&n.set(c.storageKey,h)}).catch(v=>{o(v,"load")}),null):rt(p)};return{loadExpandedIds:c=>{const y=n.get(c.storageKey);if(y)return Ot(y);const p=f(c);return p&&n.set(c.storageKey,p),p},saveExpandedIds:(c,y)=>{const p=rt(c)??[];n.set(y.storageKey,p),s(y,p),u(y,p)},clearExpandedIds:c=>{var h;n.delete(c.storageKey);const y=r.get(c.storageKey);y&&(clearTimeout(y),r.delete(c.storageKey));const p=l(),v=(h=p.clearExpandedIds)==null?void 0:h.call(p,c.storageKey);on(v)&&v.catch(g=>{o(g,"clear")}),u(c,[])},preload:async c=>{var w;const y=l();let p=null;try{const S=await y.loadExpandedIds(c.storageKey);p=rt(S)}catch(S){o(S,"preload")}const v=(w=e.apiSync)==null?void 0:w.pullExpandedIds;if(!v)return p&&n.set(c.storageKey,p),p;let h=null;try{const S=await v(c.storageKey);h=rt(S)}catch(S){o(S,"pull")}const g=e.preferRemote?h??p:p??h;if(!g)return null;n.set(c.storageKey,g);try{await y.saveExpandedIds(c.storageKey,Ot(g))}catch(S){o(S,"save")}return g},flush:async()=>{await Promise.all(Array.from(a))}}},ca=window.setInterval,kl=["id"],Pl=de({__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:()=>Nl({mode:"web",pushDebounceMs:400})}},emits:["move","select","click","contextmenu","rename","cancel-rename"],setup(e,{expose:t,emit:n}){const a=e,r=n,o=Pe({}),l=W(new Set(a.initExpandedIds||[])),u=W(new Set),s=W(null),f=W(null),d=W({}),c=K(()=>({storageKey:`${a.storageKey}_expanded`})),y=A=>Array.isArray(A)?A.filter(k=>typeof k=="string"):null,p=K(()=>({load:()=>{var k;const A=(k=a.persistenceExtension)==null?void 0:k.loadExpandedIds;if(!A)return null;try{const H=A(c.value);return y(H)}catch(H){return console.error("Failed to load expanded ids from persistence extension",H),null}},save:A=>{var H;const k=(H=a.persistenceExtension)==null?void 0:H.saveExpandedIds;if(k)try{k(A,c.value)}catch(j){console.error("Failed to save expanded ids using persistence extension",j)}}})),v=K(()=>a.persistenceExtension?p.value:null),h=K(()=>Object.values(o.value).filter(A=>A.parentId===null).map(A=>A.id)),g=K(()=>{const A=[],k=H=>{for(const j of H){A.push(j);const oe=o.value[j];oe.children&&oe.children.length>0&&l.value.has(j)&&k(oe.children)}};return k(h.value),A}),w=nt("parentRef"),S=W(!1),C=W(0),E=fr({get count(){return g.value.length},getScrollElement:()=>w.value,estimateSize:()=>a.itemHeight,overscan:a.overscan});Fo(()=>{C.value=Math.round(E.value.scrollOffset??0)||0}),Mo(async()=>{await Xe(),setTimeout(()=>{E.value.scrollToOffset(C.value)},0)});const O=W(null),F=W(null),J=W(null),_=W(null),R=W(null),D=W(!1),L=W(null),B=K(()=>{if(!L.value||!D.value)return null;const A=L.value,k=g.value.indexOf(A);if(k===-1)return null;const H=o.value[A];if(!H)return null;let j=k;for(let oe=k+1;oe<g.value.length&&o.value[g.value[oe]].depth>H.depth;oe++)j=oe;return{top:k*a.itemHeight,height:(j-k+1)*a.itemHeight}}),$=K(()=>{if(!f.value)return null;const A=d.value[f.value];if(!A)return null;const k=g.value.indexOf(f.value);if(k===-1)return null;const H=o.value[f.value];if(!H)return null;const j=(k+1)*a.itemHeight+2,oe=H.depth*a.indentSize+a.baseIndent+20+22;return{top:j,left:oe,message:A}}),G=A=>{l.value.has(A)?l.value.delete(A):l.value.add(A),l.value=new Set(l.value)},ee=(A,k)=>{if(A.ctrlKey||A.metaKey)u.value.has(k)?u.value.delete(k):u.value.add(k),u.value=new Set(u.value);else if(A.shiftKey&&s.value){const H=g.value.indexOf(s.value),j=g.value.indexOf(k),[oe,ge]=H<j?[H,j]:[j,H];u.value=new Set(g.value.slice(oe,ge+1))}else u.value=new Set([k]);s.value=k,r("select",Array.from(u.value)),A.type==="click"&&r("click",k,A)},ne=A=>{o.value[A].type==="folder"&&G(A)},P=(A,k)=>{if(!a.allowDragAndDrop){A.preventDefault();return}O.value=k,D.value=!0;const H=o.value[k],j=u.value.has(k)&&u.value.size>1,oe=j?Array.from(u.value):[k];if(A.dataTransfer){A.dataTransfer.effectAllowed="move";const ge={nodeId:k,node:H,selectedNodeIds:j?oe:void 0};A.dataTransfer.setData("application/json",JSON.stringify(ge));const me=Y(oe.length,H.name,H.type);document.body.appendChild(me),A.dataTransfer.setDragImage(me,20,20),setTimeout(()=>{document.body.removeChild(me)},0)}},Y=(A,k,H)=>{const j=document.createElement("div"),oe=za(Il,{count:A,itemName:k,itemType:H});return fn(oe,j),j.firstElementChild},Q=A=>{if(!w.value||!D.value)return;const k=w.value,H=k.getBoundingClientRect(),j=a.autoScrollThreshold,oe=a.autoScrollSpeed,ge=A.clientY-H.top,me=H.height;R.value&&(clearInterval(R.value),R.value=null),ge<j&&ge>0?R.value=ca(()=>{k.scrollTop>0&&(k.scrollTop-=oe)},16):ge>me-j&&ge<me&&(R.value=ca(()=>{const Be=k.scrollHeight-k.clientHeight;k.scrollTop<Be&&(k.scrollTop+=oe)},16))},X=(A,k)=>{var j;let H=A;for(;H;){if(H===k)return!0;H=((j=o.value[H])==null?void 0:j.parentId)??null}return!1},le=(A,k)=>{const j=A.currentTarget.getBoundingClientRect(),oe=A.clientY-j.top,ge=j.height,me=o.value[k];return!a.allowSort||me.type==="folder"&&oe>ge*.2&&oe<ge*.8?"inside":oe<ge/2?"before":"after"},N=(A,k)=>{if(A.preventDefault(),!a.allowDragAndDrop||!O.value||O.value===k)return;const H=o.value[k];Q(A);let j=null;if(H.type==="folder"?j=k:H.parentId&&(j=H.parentId),j===O.value||j&&X(j,O.value)){L.value=null,F.value=null;return}if(j&&(L.value=j,F.value={nodeId:j,position:"inside"}),a.allowSort&&H.type==="folder"){const ge=le(A,k);ge!=="inside"&&(L.value=null,F.value={nodeId:k,position:ge})}const oe=j||k;if(oe!==_.value){clearTimeout(J.value),_.value=oe;const ge=o.value[oe];(ge==null?void 0:ge.type)==="folder"&&!l.value.has(oe)&&(J.value=setTimeout(()=>{_.value===oe&&D.value&&(l.value.add(oe),l.value=new Set(l.value))},a.autoExpandDelay))}},b=()=>{},M=()=>{clearTimeout(J.value),R.value&&(clearInterval(R.value),R.value=null),D.value=!1,O.value=null,F.value=null,_.value=null,L.value=null},z=(A,k)=>{var ge,me;if(A.preventDefault(),!a.allowDragAndDrop)return;if(clearTimeout(J.value),R.value&&(clearInterval(R.value),R.value=null),!O.value){M();return}let H;try{const Be=(ge=A.dataTransfer)==null?void 0:ge.getData("application/json");if(Be){const Je=JSON.parse(Be);H=Je.selectedNodeIds||[Je.nodeId]}else H=[O.value]}catch{H=[O.value]}const j=L.value||k,oe=L.value?"inside":((me=F.value)==null?void 0:me.position)||"inside";if(H.includes(j)||H.some(Be=>X(j,Be))){console.warn("Cannot drop item onto itself or into its own subtree"),M();return}if(!a.allowSort){r("move",H.length===1?H[0]:H,j,"inside"),M();return}r("move",H.length===1?H[0]:H,j,oe),M()},V=A=>{if(!w.value)return;const k=g.value.indexOf(A);k!==-1&&E.value.scrollToIndex(k,{align:"center",behavior:"auto"})},fe=A=>{if(!s.value)return;const k=g.value.indexOf(s.value);if(k===-1)return;let H=k;switch(A.key){case"ArrowDown":A.preventDefault(),H=Math.min(k+1,g.value.length-1);break;case"ArrowUp":A.preventDefault(),H=Math.max(k-1,0);break;case"ArrowRight":{A.preventDefault(),o.value[s.value].type==="folder"&&(l.value.has(s.value)?H=k+1:G(s.value));break}case"ArrowLeft":{A.preventDefault();const oe=o.value[s.value];oe.type==="folder"&&l.value.has(s.value)?G(s.value):oe.parentId&&(H=g.value.indexOf(oe.parentId));break}case"Enter":case" ":A.preventDefault(),o.value[s.value].type==="folder"?G(s.value):r("click",s.value,A);break}H!==k&&(s.value=g.value[H],V(s.value))},re=(A,k)=>{ee(A,k),r("contextmenu",k,A)},ve=(A,k)=>{if(a.validateRename){const H=a.validateRename(A,k);if(H!==!0){d.value={...d.value,[A]:H},f.value=A;return}}if(d.value[A]){const H={...d.value};delete H[A],d.value=H}f.value=null,r("rename",A,k)},pe=A=>{if(d.value[A]){const k={...d.value};delete k[A],d.value=k}f.value=null,r("cancel-rename",A)},De=(A,k)=>{if(!a.validateRename)return;const H=a.validateRename(A,k),j=!!d.value[A];if(H!==!0){d.value={...d.value,[A]:H};return}if(H===!0&&j){const oe={...d.value};delete oe[A],d.value=oe}},we=A=>{if(d.value[A]){const k={...d.value};delete k[A],d.value=k}f.value=A};xe(()=>Array.from(l.value),A=>{var k;(k=v.value)==null||k.save(A)}),La(()=>{var k;a.initialData&&(o.value=a.initialData);const A=(k=v.value)==null?void 0:k.load();A!=null&&(l.value=new Set(A))}),xe(()=>a.initialData,A=>{A&&(o.value=A)},{deep:!0});const Ve=K(()=>{const A=[];for(const k in o.value){const H=o.value[k];H.type==="folder"&&A.push(H.id)}return A}),ct=()=>{l.value=new Set(Ve.value)},Qt=()=>{l.value=new Set},dt=K(()=>{const A=Ve.value;if(A.length===0)return!1;for(const k of A)if(!l.value.has(k))return!1;return!0}),Xt=A=>{const k=o.value[A];if(!k){console.warn(`Node ${A} not found`);return}const H=[];let j=k;for(;j.parentId!==null;){const oe=o.value[j.parentId];if(oe&&oe.type==="folder"&&H.push(oe.id),j=oe,!j)break}H.length>0&&(H.forEach(oe=>l.value.add(oe)),l.value=new Set(l.value)),setTimeout(()=>{if(g.value.indexOf(A)===-1){console.warn(`Node ${A} still not visible after expanding parents`);return}s.value=A,u.value=new Set([A]),r("select",[A]),V(A)},a.delayFocus)},at=()=>{s.value=null,u.value=new Set,r("select",[])},Yt=A=>{A.target.closest(".tree-row")||at()};return t({expandAll:ct,collapseAll:Qt,focusItem:Xt,clearSelection:at,startEditing:we,isMouseInside:S,isExpandedAll:dt}),(A,k)=>{const H=be;return T(),U("div",{ref_key:"parentRef",ref:w,onMouseenter:k[1]||(k[1]=j=>S.value=!0),onMouseleave:k[2]||(k[2]=j=>S.value=!1),class:"file-tree",tabindex:"0",onKeydown:fe,onClick:Yt},[I("div",{style:ke({height:`${i(E).getTotalSize()}px`,width:"100%",position:"relative"})},[(T(!0),U(Ee,null,_e(i(E).getVirtualItems(),j=>{var oe;return T(),U("div",{key:String(j.key),style:ke({position:"absolute",top:0,left:0,width:"100%",height:`${j.size}px`,transform:`translateY(${j.start}px)`})},[Vo([o.value[g.value[j.index]],u.value.has(g.value[j.index]),l.value.has(g.value[j.index]),s.value===g.value[j.index],f.value===g.value[j.index],!L.value&&((oe=F.value)==null?void 0:oe.nodeId)===g.value[j.index]?F.value:null,a.itemHeight,a.indentSize,a.baseIndent,a.allowDragAndDrop,d.value[g.value[j.index]]],()=>{var ge;return m($l,{node:o.value[g.value[j.index]],"is-selected":u.value.has(g.value[j.index]),"is-expanded":l.value.has(g.value[j.index]),"is-focused":s.value===g.value[j.index],"is-editing":f.value===g.value[j.index],"rename-error":d.value[g.value[j.index]]||"","drop-indicator":!L.value&&((ge=F.value)==null?void 0:ge.nodeId)===g.value[j.index]?F.value:null,"item-height":a.itemHeight,"indent-size":a.indentSize,"base-indent":a.baseIndent,"allow-drag-and-drop":a.allowDragAndDrop,onClick:me=>ee(me,g.value[j.index]),onDblclick:me=>ne(g.value[j.index]),onToggle:me=>G(g.value[j.index]),onDragstart:me=>P(me,g.value[j.index]),onDragover:me=>N(me,g.value[j.index]),onDragleave:b,onDragend:M,onDrop:me=>z(me,g.value[j.index]),onContextmenu:me=>re(me,g.value[j.index]),onRename:me=>ve(g.value[j.index],me),onEditingChange:me=>De(g.value[j.index],me),onCancelRename:me=>pe(g.value[j.index])},{actions:x(({node:me})=>[Ue(A.$slots,"actions",{node:me},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"])},k,0)],4)}),128)),m(Uo,{name:"tree-error"},{default:x(()=>[$.value?(T(),U("div",{key:0,id:`rename-error-${f.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:ke({position:"absolute",top:`${$.value.top}px`,left:`${$.value.left}px`,right:"8px"}),role:"alert","aria-live":"assertive"},[m(H,{name:"lucide:alert-circle",class:"text-destructive size-4!","aria-hidden":"true"}),q(" "+se($.value.message),1)],12,kl)):ue("",!0)]),_:1}),B.value&&D.value?(T(),U("div",{key:0,class:"tree-drop-overlay",style:ke({position:"absolute",top:`${B.value.top}px`,left:0,width:"100%",height:`${B.value.height}px`})},null,4)):ue("",!0)],4)],544)}}}),Wt=Ln(Pl,[["__scopeId","data-v-4940049d"]]);var et=(e=>(e.Tables="Tables",e.Functions="Functions",e.Views="Views",e))(et||{}),Oe=(e=>(e.Root="Root",e))(Oe||{});const Ll={key:0,class:"flex items-center gap-2 w-44 truncate"},zl={key:1,class:"opacity-50"},Fl={class:"flex items-center gap-2"},Ml=de({__name:"ConnectionSelector",props:{class:{},workspaceId:{}},setup(e){const{connectionStore:t,createConnection:n,wsStateStore:a,openWorkspaceWithConnection:r}=je(),{connectionId:o}=ye(a),{selectedConnection:l}=ye(t),u=e,s=W(!1),f=async v=>{typeof v=="string"&&v!==o.value&&await r({connId:v,wsId:u.workspaceId})},d=W(!1),c=v=>{n(v)},y=()=>{d.value=!0,s.value=!1},p=K(()=>t.getConnectionsByWorkspaceId(u.workspaceId));return(v,h)=>{const g=be,w=jo,S=$n;return T(),U(Ee,null,[m(mr,{open:i(d),"editing-connection":null,"onUpdate:open":h[0]||(h[0]=C=>d.value=C),onAddNew:c,workspaceId:v.workspaceId},null,8,["open","workspaceId"]),m(i(An),{"onUpdate:modelValue":f,"model-value":i(o),open:i(s),"onUpdate:open":h[1]||(h[1]=C=>Te(s)?s.value=C:null)},{default:x(()=>[m(i(Rn),{class:he(i(Ct)(u.class,"w-48 cursor-pointer")),size:"sm"},{default:x(()=>{var C,E;return[i(l)?(T(),U("div",Ll,[(T(),ie(st((C=i(gn)(i(l).type))==null?void 0:C.icon),{class:"size-4! min-w-4!"})),q(" "+se((E=i(l))==null?void 0:E.name),1)])):(T(),U("div",zl,"Select connection"))]}),_:1},8,["class"]),m(S,null,{default:x(()=>[m(i(Fa),null,{default:x(()=>[I("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:y},[m(g,{name:"lucide:plus"}),h[2]||(h[2]=q(" Add new connection "))]),i(p).length?(T(),ie(w,{key:0})):ue("",!0),(T(!0),U(Ee,null,_e(i(p),C=>(T(),ie(i(On),{class:"cursor-pointer",value:C.id},{default:x(()=>{var E;return[I("div",Fl,[(T(),ie(st((E=i(gn)(C.type))==null?void 0:E.icon),{class:"size-4!"})),q(" "+se(C.name),1)])]}),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),Vl={key:0,class:"flex items-center gap-2 w-44 truncate"},Ul={key:1,class:"opacity-50"},jl=de({__name:"SchemaSelector",props:{class:{}},setup(e){const t=e,{schemaStore:n,wsStateStore:a,setSchemaId:r}=je(),{activeSchema:o,schemasByContext:l}=ye(n),{schemaId:u}=ye(a);return(s,f)=>{const d=$n;return T(),ie(i(An),{"onUpdate:modelValue":f[0]||(f[0]=c=>{i(r)(c)}),"model-value":i(u)},{default:x(()=>[m(i(Rn),{class:he(i(Ct)(t.class,"w-48 cursor-pointer")),size:"sm"},{default:x(()=>{var c;return[i(o)?(T(),U("div",Vl,se((c=i(o))==null?void 0:c.name),1)):(T(),U("div",Ul,"Select connection"))]}),_:1},8,["class"]),m(d,null,{default:x(()=>[m(i(Fa),null,{default:x(()=>[(T(!0),U(Ee,null,_e(i(l),c=>(T(),ie(i(On),{value:c.name,class:"cursor-pointer"},{default:x(()=>[q(se(c.name),1)]),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),Bl={class:"flex flex-col w-full shrink-0"},Gl={key:0,class:"relative w-full items-center px-2 pt-1.5 space-y-1"},ql={key:0},Hl={key:1},Wl={class:"text-sm leading-none"},Kl={key:0,class:"flex items-center"},Ql={key:1,class:"px-2 pb-1"},Xl={class:"relative w-full"},Dt=de({__name:"ManagementSidebarHeader",props:pn({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=Ma(e,"search"),n=()=>{t.value=""};return(a,r)=>(T(),U("div",Bl,[a.showConnection||a.showSchema?(T(),U("div",Gl,[a.showConnection?(T(),U("div",ql,[r[1]||(r[1]=I("p",{class:"text-sm leading-none block pb-1"},"Connections",-1)),m(Ml,{class:"w-full!",workspaceId:a.workspaceId},null,8,["workspaceId"])])):ue("",!0),a.showSchema?(T(),U("div",Hl,[r[2]||(r[2]=I("p",{class:"text-sm leading-none block pb-1"},"Schemas",-1)),m(jl,{class:"w-full!"})])):ue("",!0)])):ue("",!0),I("div",{class:he(["px-2 flex items-center justify-between",a.showConnection||a.showSchema?"pt-2":"pt-0.5"])},[I("p",Wl,se(a.title),1),a.$slots.actions?(T(),U("div",Kl,[Ue(a.$slots,"actions")])):ue("",!0)],2),a.showSearch?(T(),U("div",Ql,[I("div",Xl,[m(i(Nn),{type:"text",placeholder:a.searchPlaceholder,class:"pr-6 w-full h-8",modelValue:t.value,"onUpdate:modelValue":r[0]||(r[0]=o=>t.value=o)},null,8,["placeholder","modelValue"]),t.value?(T(),U("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:n},[m(i(be),{name:"hugeicons:cancel-01",class:"stroke-3! text-muted-foreground"})])):ue("",!0)])])):ue("",!0)]))}}),Yl={class:"flex flex-col h-full w-full overflow-y-auto"},Jl={key:0,class:"flex flex-col items-center h-full justify-center"},Zl=de({__name:"ManagementErdDiagram",setup(e){const{schemaStore:t,connectToConnection:n,wsStateStore:a,tabViewStore:r}=je(),{activeSchema:o}=ye(t),{connectionId:l,workspaceId:u,schemaId:s}=ye(a),f=W(!1),d=W(null),c=Pe(""),y=jt(c,It),p=[Oe.Root],v=K(()=>{var F,J;const E={},O=((F=o==null?void 0:o.value)==null?void 0:F.tables)||[];if(E[Oe.Root]={id:Oe.Root,parentId:null,name:"All Tables",type:"folder",depth:0,iconOpen:"hugeicons:structure-folder",iconClose:"hugeicons:structure-folder",children:[],data:{tabViewType:te.AllERD}},O.forEach(_=>{var D;const R=aa({schemaName:((D=o.value)==null?void 0:D.name)||"",tableName:_});E[R]={id:R,parentId:Oe.Root,name:_,type:"file",depth:1,iconOpen:"hugeicons:flowchart-01",iconClose:"hugeicons:flowchart-01",data:{tabViewType:te.DetailERD}},E[Oe.Root].children.push(R)}),y.value){const _=y.value.toLowerCase(),R={},D=E[Oe.Root],L=(J=D.children)==null?void 0:J.filter(B=>E[B].name.toLowerCase().includes(_));return L&&L.length>0&&(R[Oe.Root]={...D,children:L},L.forEach(B=>{R[B]=E[B]})),R}return E}),h=async()=>{if(!l.value)throw new Error("No connection selected");f.value=!0,await n({wsId:u.value,connId:l.value,isRefresh:!0}),f.value=!1},g=K(()=>d.value?!d.value.isExpandedAll:!0),w=()=>{var E,O;g.value?(E=d.value)==null||E.expandAll():(O=d.value)==null||O.collapseAll()},S=async E=>{var D,L,B;if(!u.value)throw new Error("No workspace selected");if(!l.value)throw new Error("No connection selected");const O=(D=E.data)==null?void 0:D.tabViewType;if(O!==te.AllERD&&O!==te.DetailERD)return;const F=s.value||((L=o.value)==null?void 0:L.name)||"",J=O===te.AllERD,_=J?void 0:E.id||aa({schemaName:((B=o.value)==null?void 0:B.name)||"",tableName:E.name}),R=J?`erd-overview-${F||"all"}`:`erd-${_}`;await r.openTab({id:R,name:J?"All Tables":E.name,icon:E.iconOpen||E.iconClose||"hugeicons:structure-folder",iconClass:E.iconClass,type:O,routeName:J?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:J?{workspaceId:u.value,connectionId:l.value}:{workspaceId:u.value,connectionId:l.value,tableId:_||""},connectionId:l.value,workspaceId:u.value,schemaId:F,metadata:{type:O,tableName:J?void 0:E.name,treeNodeId:E.id}}),await r.selectTab(R)},C=async E=>{const O=v.value[E];O&&await S(O)};return xe(()=>r.activeTab,E=>{var O,F,J,_,R;if(!E){(O=d.value)==null||O.clearSelection();return}if(!((F=d.value)!=null&&F.isMouseInside)){if(E.type===te.AllERD){v.value[Oe.Root]&&((J=d.value)==null||J.focusItem(Oe.Root));return}if(E.type===te.DetailERD&&typeof((_=E.metadata)==null?void 0:_.treeNodeId)=="string"){(R=d.value)==null||R.focusItem(E.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(E,O)=>{const F=be,J=ze,_=Fe,R=Me,D=Le;return T(),U("div",Yl,[m(i(Dt),{search:i(c),"onUpdate:search":O[0]||(O[0]=L=>Te(c)?c.value=L:null),title:"ERD Diagram","show-connection":!0,"show-schema":!0,"workspace-id":i(u),"show-search":!0,"search-placeholder":"Search in diagram..."},{actions:x(()=>[m(D,null,{default:x(()=>[m(_,{"as-child":""},{default:x(()=>[m(J,{size:"iconSm",variant:"ghost",onClick:w},{default:x(()=>[m(F,{name:i(g)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),m(R,null,{default:x(()=>[q(se(i(g)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),m(D,null,{default:x(()=>[m(_,{"as-child":""},{default:x(()=>[m(J,{size:"iconSm",variant:"ghost",onClick:h},{default:x(()=>[m(F,{name:"hugeicons:redo",class:he(["size-4! min-w-4",i(f)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),m(R,null,{default:x(()=>O[1]||(O[1]=[q(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(i(v)).length===0?(T(),U("div",Jl," No data! ")):ue("",!0),m(Wt,{ref_key:"fileTreeRef",ref:d,"init-expanded-ids":p,"storage-key":`${i(l)}-erd-tree`,"initial-data":i(v),"allow-drag-and-drop":!1,onClick:C},null,8,["storage-key","initial-data"])])}}}),es={class:"w-full h-full overflow-y-auto"},ts={class:"h-full"},ns=de({__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:n}){const a=e,r=n,o=nt("fileTreeRef"),l=p=>{var v;(v=o.value)==null||v.startEditing(p)},u=p=>{var v;(v=o.value)==null||v.focusItem(p)},s=()=>{var p;(p=o.value)==null||p.collapseAll()},f=()=>{var p;(p=o.value)==null||p.expandAll()},d=()=>{var p;(p=o.value)==null||p.clearSelection()},c=K(()=>{var p;return((p=o.value)==null?void 0:p.isMouseInside)??!1}),y=K(()=>{var p;return((p=o.value)==null?void 0:p.isExpandedAll)||!1});return t({startEditing:l,focusItem:u,collapseAll:s,expandAll:f,clearSelection:d,isMouseInside:c,isExpandedAll:y}),(p,v)=>(T(),U("div",es,[m(zn,{"context-menu-items":p.contextMenuItems,onOnClearContextMenu:v[6]||(v[6]=h=>r("clear-context-menu"))},{default:x(()=>[I("div",ts,[m(Wt,{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":a.persistenceExtension,onClick:v[0]||(v[0]=h=>r("click-node",h)),onRename:v[1]||(v[1]=(h,g)=>r("rename-node",h,g)),onCancelRename:v[2]||(v[2]=h=>r("cancel-rename",h)),onContextmenu:v[3]||(v[3]=h=>r("context-node",h)),onSelect:v[4]||(v[4]=h=>r("select-node",h)),onMove:v[5]||(v[5]=(h,g,w)=>r("move-node",h,g,w))},null,8,["initial-data","validate-rename","storage-key","persistence-extension"])])]),_:1},8,["context-menu-items"])]))}}),as=e=>{const t=W(null),n=o=>{t.value=e.resolveNodeById(o)},a=()=>{t.value=null},r=K(()=>{const o=[],l=t.value,u=(l==null?void 0:l.isFolder)||!l;return l&&o.push({title:l.title,type:ae.LABEL}),u&&(o.push({title:"Add new file",icon:"lucide:file-plus-2",type:ae.ACTION,select:()=>{var f;const s=(f=t.value)==null?void 0:f.id;Xe(()=>e.onCreateFile(s))}}),o.push({title:"Add new folder",icon:"lucide:folder-plus",type:ae.ACTION,select:()=>{var f;const s=(f=t.value)==null?void 0:f.id;Xe(()=>e.onCreateFolder(s))}})),l&&(u&&o.push({type:ae.SEPARATOR}),o.push({title:"Rename...",icon:"lucide:pencil",type:ae.ACTION,select:()=>{var f;const s=(f=t.value)==null?void 0:f.id;s&&Xe(()=>e.onRename(s))}}),o.push({title:"Delete",icon:"lucide:trash",type:ae.ACTION,select:()=>{const s=t.value;s&&Xe(()=>e.onDelete(s.id))}})),o});return{selectedItem:t,contextMenuItems:r,onRightClickItem:n,onClearContextMenu:a}},os=e=>{const t={},n=(a,r,o)=>{a.forEach(l=>{var s,f;const u=((s=l.children)==null?void 0:s.map(d=>d.id))??[];t[l.id]={id:l.id,parentId:r,name:l.title,type:l.isFolder?"folder":"file",depth:o,iconOpen:l.icon,iconClose:l.closeIcon||l.icon,iconClass:l.iconClass,children:l.isFolder?u:void 0},(f=l.children)!=null&&f.length&&n(l.children,l.id,o+1)})};return n(e,null,0),t},rs=({startEditingNode:e,focusNode:t,collapseAll:n,expandAll:a,isExpandedAll:r})=>{const o=kn(),l=xr(),u=Pn(),s=Pe(""),f=jt(s,It),{treeNodeRef:d}=ye(l),c=Pe([]),y=K(()=>f.value?d.value.searchByTitle(f.value):d.value.tree),p=K(()=>os(y.value)),v=K(()=>String(o.params.workspaceId)),h=async({nodeId:$,isFolder:G})=>{const ee=$?d.value.findNode($):null,ne=o.params.connectionId,P=o.params.workspaceId,Y={title:"",id:oa(),icon:"lucide:folder-open",closeIcon:"lucide:folder",connectionId:ne,workspaceId:P,createdAt:mn().toISOString(),isFolder:!0,path:"",children:[]},Q={title:"",id:oa(),icon:"lucide:file",connectionId:ne,workspaceId:P,createdAt:mn().toISOString(),isFolder:!1,path:"",children:void 0},X=G?Y:Q;d.value.insertNode((ee==null?void 0:ee.id)||null,X),d.value.sortByTitle(),await Xe(),t(X.id),e(X.id)},g=()=>{if(c.value.length===0)return null;const $=c.value[0],G=d.value.findNode($);return G?G.isFolder?G.id:G.parentId:null},w=()=>{h({nodeId:g(),isFolder:!1})},S=()=>{h({nodeId:g(),isFolder:!0})},C=$=>{c.value=$},E=$=>{d.value.deleteNode($)},O=$=>{const G=d.value.findNode($);G&&G.title===""&&E(G.id)},F=($,G)=>{const ee=d.value.findNode($);if(!ee)return;const ne=G.trim();if(!d.value.isExitNodeNameInFolder(ne,ee.id,ee.parentId||"")){if(!ne){O($);return}d.value.updateNode(ee.id,{title:ne}),Xe(()=>{t(ee.id)})}},J=($,G)=>{const ee=d.value.findNode($);if(!ee)return!0;const ne=G.trim();return ne?d.value.isExitNodeNameInFolder(ne,ee.id,ee.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},_=$=>{const G=d.value.findNode($);G&&(t(G.id),e(G.id))},R=($,G,ee)=>{const ne=d.value.findNode(G);if(!ne)return;const P=ne.isFolder?ne.id:ne.parentId;(Array.isArray($)?$:[$]).forEach(Q=>{const X=d.value.findNode(Q);X&&(X.parentId||null)!==(P||null)&&(d.value.moveNode(X.id,P||null),d.value.sortByTitle())})},D=as({resolveNodeById:$=>d.value.findNode($),onCreateFile:$=>{h({nodeId:$,isFolder:!1})},onCreateFolder:$=>{h({nodeId:$,isFolder:!0})},onRename:$=>{_($)},onDelete:$=>{E($)}}),L=()=>{r.value?n():a()},B=$=>{const G=d.value.findNode($);!G||G.isFolder||(u.openTab({icon:G.icon,id:G.id,name:G.title,type:te.CodeQuery,routeName:"workspaceId-connectionId-explorer-fileId",routeParams:{fileId:G.id},connectionId:o.params.connectionId,schemaId:"",workspaceId:o.params.workspaceId,metadata:{type:te.CodeQuery,tableName:G.title,treeNodeId:G.id}}),u.selectTab(G.id))};return{contextMenuItems:D.contextMenuItems,explorerStorageKey:v,mappedExplorerFileTreeData:p,onAddFile:w,onAddFolder:S,onSelectNode:C,onCancelEditNode:O,onClearContextMenu:D.onClearContextMenu,onClickNode:B,isExpandedAll:r,onToggleCollapseExplorer:L,onMoveNode:R,onRenameFile:F,onTreeContextMenu:D.onRightClickItem,searchInput:s,validateRename:J}},ls={class:"flex flex-col h-full w-full overflow-y-auto"},ss=de({__name:"ManagementExplorer",setup(e){const{tabViewStore:t}=je(),n=nt("treePanelRef"),{contextMenuItems:a,explorerStorageKey:r,mappedExplorerFileTreeData:o,onAddFile:l,onAddFolder:u,onCancelEditNode:s,onClearContextMenu:f,onClickNode:d,isExpandedAll:c,onToggleCollapseExplorer:y,onMoveNode:p,onRenameFile:v,onSelectNode:h,onTreeContextMenu:g,searchInput:w,validateRename:S}=rs({startEditingNode:C=>{var E;return(E=n.value)==null?void 0:E.startEditing(C)},focusNode:C=>{var E;return(E=n.value)==null?void 0:E.focusItem(C)},collapseAll:()=>{var C;return(C=n.value)==null?void 0:C.collapseAll()},expandAll:()=>{var C;return(C=n.value)==null?void 0:C.expandAll()},isExpandedAll:K(()=>{var C;return((C=n.value)==null?void 0:C.isExpandedAll)??!1})});return xe(()=>t.activeTab,C=>{var E,O,F,J;if(!C){(E=n.value)==null||E.clearSelection();return}if(!((O=n.value)!=null&&O.isMouseInside)&&(C==null?void 0:C.type)===te.CodeQuery){const _=(F=C.metadata)==null?void 0:F.treeNodeId;typeof _=="string"&&((J=n.value)==null||J.focusItem(_))}},{flush:"post",immediate:!0}),(C,E)=>{const O=be,F=ze,J=Fe,_=Me,R=Le;return T(),U("div",ls,[m(i(Dt),{search:i(w),"onUpdate:search":E[0]||(E[0]=D=>Te(w)?w.value=D:null),title:"Explorer","show-search":!0},{actions:x(()=>[m(R,null,{default:x(()=>[m(J,{"as-child":""},{default:x(()=>[m(F,{size:"iconSm",variant:"ghost",onClick:i(l)},{default:x(()=>[m(O,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),m(_,null,{default:x(()=>E[1]||(E[1]=[q(" New File ")])),_:1})]),_:1}),m(R,null,{default:x(()=>[m(J,{"as-child":""},{default:x(()=>[m(F,{size:"iconSm",variant:"ghost",onClick:i(u)},{default:x(()=>[m(O,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),m(_,null,{default:x(()=>E[2]||(E[2]=[q(" New Folder ")])),_:1})]),_:1}),m(R,null,{default:x(()=>[m(J,{"as-child":""},{default:x(()=>[m(F,{size:"iconSm",variant:"ghost",onClick:i(y)},{default:x(()=>[m(O,{name:i(c)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),m(_,null,{default:x(()=>[q(se(i(c)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),m(ns,{ref_key:"treePanelRef",ref:n,"tree-data":i(o),"storage-key":i(r),"context-menu-items":i(a),"validate-rename":i(S),onClickNode:i(d),onSelectNode:i(h),onRenameNode:i(v),onCancelRename:i(s),onContextNode:i(g),onMoveNode:i(p),onClearContextMenu:i(f)},null,8,["tree-data","storage-key","context-menu-items","validate-rename","onClickNode","onSelectNode","onRenameNode","onCancelRename","onContextNode","onMoveNode","onClearContextMenu"])])}}});function is(e,t,n){return`CALL "${e}"."${t}"();`}function us(e,t,n){return`SELECT * FROM "${e}"."${t}"();`}const Kn=e=>(e||"").split(",").map(t=>t.trim().split(" ")[1]).join(", ");function cs(e,t,n=!1,a){const r=Kn(a);return`DROP FUNCTION IF EXISTS "${e}"."${t}"(${r})${n?" CASCADE":""};`}function ds(e,t,n,a){const r=Kn(a);return`ALTER FUNCTION "${e}"."${t}"(${r}) RENAME TO "${n}";`}function fs(e,t,n=!1){return`DROP TABLE IF EXISTS "${e}"."${t}"${n?" CASCADE":""};`}function ps(e,t,n){return`ALTER TABLE "${e}"."${t}" RENAME TO "${n}";`}function ms(e,t,n=!1,a=!1){return`DROP ${n?"MATERIALIZED VIEW":"VIEW"} IF EXISTS "${e}"."${t}"${a?" CASCADE":""};`}function vs(e,t,n,a=!1){return`ALTER ${a?"MATERIALIZED VIEW":"VIEW"} "${e}"."${t}" RENAME TO "${n}";`}function gs(e,t,n=!1){return`REFRESH MATERIALIZED VIEW ${n?"CONCURRENTLY ":""}"${e}"."${t}";`}function ys(e,t,n){return`SELECT ${n!=null&&n.length?n.map(r=>`"${r}"`).join(", "):"*"}
|
|
22
|
+
FROM "${e}"."${t}"
|
|
23
|
+
WHERE 1=1
|
|
24
|
+
-- Add your conditions here
|
|
25
|
+
LIMIT 100;`}var hn=(e=>(e.Function="FUNCTION",e.Procedure="PROCEDURE",e))(hn||{}),Re=(e=>(e.View="VIEW",e.MaterializedView="MATERIALIZED_VIEW",e))(Re||{}),Ae=(e=>(e.Superuser="superuser",e.User="user",e.Role="role",e))(Ae||{});const hs=(e,t)=>{const n=K(()=>{var r;return`${(r=e==null?void 0:e.value)==null?void 0:r.schemaName}.${et.Tables}`});return{fileTreeData:K(()=>{var v,h,g,w;const r=(v=e==null?void 0:e.value)==null?void 0:v.schemaName,o=((h=e==null?void 0:e.value)==null?void 0:h.tables)||[],l=((g=e==null?void 0:e.value)==null?void 0:g.functions)||[],u=((w=e==null?void 0:e.value)==null?void 0:w.views)||[],s={},f=(S,C)=>{const E=Kn(C);return`${S}(${E})`},d=(S,C,E,O,F,J)=>{s[S]={id:S,parentId:null,name:C,type:"folder",depth:0,iconOpen:E,iconClose:O,iconClass:J,children:[],data:{tabViewType:F}}},c=`${r}.${et.Functions}`,y=n.value,p=`${r}.${et.Views}`;if(d(c,et.Functions,"material-icon-theme:folder-functions-open","material-icon-theme:folder-functions",te.FunctionsOverview),d(y,et.Tables,"material-icon-theme:folder-database-open","material-icon-theme:folder-database",te.TableOverview),d(p,et.Views,"material-icon-theme:folder-enum-open","material-icon-theme:folder-enum",te.ViewOverview),l.forEach(({name:S,oId:C,type:E,parameters:O})=>{const F=`${r}.${String(C)}`,J=f(S,O);s[F]={id:F,parentId:c,name:J,type:"file",depth:1,iconOpen:"gravity-ui:function",iconClose:"gravity-ui:function",iconClass:E===hn.Function?"text-blue-400":"text-orange-400",data:{tabViewType:te.FunctionsDetail,itemValue:{title:J,name:S,id:C,parameters:O,tabViewType:te.FunctionsDetail,icon:"gravity-ui:function",iconClass:E===hn.Function?"text-blue-400":"text-orange-400"},parameters:O}},s[c].children.push(F)}),o.forEach(S=>{const C=`${r}.${S}`;s[C]={id:C,parentId:y,name:S,type:"file",depth:1,iconOpen:"hugeicons:grid-table",iconClose:"hugeicons:grid-table",iconClass:"text-yellow-400",data:{tabViewType:te.TableDetail,itemValue:{title:S,name:S,id:S,tabViewType:te.TableDetail,icon:"hugeicons:grid-table",iconClass:"text-yellow-400"}}},s[y].children.push(C)}),u.forEach(({name:S,oid:C,type:E})=>{const O=`${r}.${String(C)}`;s[O]={id:O,parentId:p,name:S,type:"file",depth:1,iconOpen:E===Re.View?"hugeicons:property-view":"hugeicons:property-new",iconClose:E===Re.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:E===Re.View?"text-green-700":"text-orange-500",data:{tabViewType:te.ViewDetail,itemValue:{title:S,name:S,id:C,tabViewType:te.ViewDetail,icon:E===Re.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:E===Re.View?"text-green-700":"text-orange-500"}}},s[p].children.push(O)}),t.value){const S=t.value.toLowerCase(),C={};return[c,y,p].forEach(E=>{var J;const O=s[E];if(!O)return;const F=(J=O.children)==null?void 0:J.filter(_=>{const R=s[_];return R==null?void 0:R.name.toLowerCase().includes(S)});F&&F.length>0&&(C[E]={...O,children:F},F.forEach(_=>{C[_]=s[_]}))}),C}return s}),defaultFolderOpenId:n}},bs={class:"py-2"},Ss=de({__name:"RenameDialog",props:pn({open:{type:Boolean},tabViewType:{},currentName:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:pn(["confirm","cancel"],["update:open"]),setup(e,{emit:t}){const n=e,a=Ma(e,"open"),r=t,o=W("");xe(a,s=>{s&&(o.value=n.currentName||"")});const l=()=>{o.value&&o.value!==n.currentName?r("confirm",o.value):a.value=!1},u=()=>{a.value=!1,r("cancel")};return(s,f)=>(T(),ie(i(Gn),{open:a.value,"onUpdate:open":f[1]||(f[1]=d=>a.value=d)},{default:x(()=>[m(i(Fn),{class:"border w-96!"},{default:x(()=>[m(i(Mn),null,{default:x(()=>[m(i(Vn),null,{default:x(()=>[q(" Rename "+se(s.tabViewType===i(te).FunctionsDetail?"Function":"Table"),1)]),_:1}),m(i(Un),null,{default:x(()=>[q(" Enter a new name for the "+se(s.tabViewType===i(te).FunctionsDetail?"function":"table")+". ",1)]),_:1})]),_:1}),I("div",bs,[m(i(Nn),{modelValue:i(o),"onUpdate:modelValue":f[0]||(f[0]=d=>Te(o)?o.value=d:null),placeholder:`New ${s.tabViewType===i(te).FunctionsDetail?"function":"table"} name`,class:"w-full",onKeyup:Lt(l,["enter"])},null,8,["modelValue","placeholder"])]),m(i(jn),null,{default:x(()=>[m(i(Bn),{onClick:u},{default:x(()=>f[2]||(f[2]=[q(" Cancel ")])),_:1}),m(i(Ba),{onClick:l},{default:x(()=>f[3]||(f[3]=[q(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),ws=de({__name:"SqlPreviewDialog",props:{open:{type:Boolean},sql:{},title:{},isLoading:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{copied:r,handleCopy:o,getCopyIcon:l,getCopyTooltip:u}=Ga(),s=()=>o(n.sql),f=()=>{a("update:open",!1)};return(d,c)=>{const y=be,p=ja;return T(),ie(i(Gn),{open:d.open,"onUpdate:open":c[0]||(c[0]=v=>a("update:open",v))},{default:x(()=>[m(i(Fn),{class:"border w-[55vw]! max-w-[55vw]!"},{default:x(()=>[m(Va,{visible:d.isLoading},null,8,["visible"]),m(i(Mn),null,{default:x(()=>[m(i(Vn),{class:"flex items-center text-base font-medium"},{default:x(()=>[m(y,{name:"lucide:code",class:"size-4 mr-2"}),q(" "+se(d.title),1)]),_:1}),m(i(Un),null,{default:x(()=>c[1]||(c[1]=[q(" Generated SQL statement. Click copy to use. ")])),_:1})]),_:1}),m(p,{code:d.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),m(i(jn),null,{default:x(()=>[m(i(Bn),{class:"border font-normal",onClick:f},{default:x(()=>c[2]||(c[2]=[q(" Close ")])),_:1}),m(i(Ba),{class:"border font-normal flex gap-1",onClick:s},{default:x(()=>[m(y,{name:i(l)(i(r)),class:"size-4"},null,8,["name"]),q(" "+se(i(u)(i(r),"Copy to Clipboard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function xs(e,t,n){const{getSchemaName:a,executeWithSafeMode:r,showSqlPreview:o,executeWithLoading:l}=n;return{onDeleteFunction:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.FunctionsDetail||!t.selectedItem.value.name)return;const p=cs(a(),t.selectedItem.value.name,!1,t.selectedItem.value.parameters),v=t.selectedItem.value.name;await r(p,"delete",async()=>{await l(async()=>{await $fetch("/api/delete-function",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,schemaName:a(),functionName:v}}),Se.success("Function deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete function")})},onRenameFunction:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.FunctionsDetail||!t.selectedItem.value.name||(t.renameDialogType.value=te.FunctionsDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=t.selectedItem.value.parameters||"")},performRenameFunction:async p=>{const v=ds(a(),t.renameDialogValue.value,p,t.renameDialogParameters.value);await r(v,"save",async()=>{await l(async()=>{await $fetch("/api/rename-function",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,schemaName:a(),oldName:t.renameDialogValue.value,newName:p}}),Se.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 l(async()=>{const p=await $fetch("/api/get-function-signature",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,functionId:t.selectedItem.value.id}}),v=a(),h=(p==null?void 0:p.name)||"";let g;if(p!=null&&p.parameters&&p.parameters.length>0){const w=p.parameters.filter(S=>S.mode==="IN"||S.mode==="INOUT"||S.mode==="VARIADIC");if(w.length>0){const S=w.map(E=>`${E.name}::${E.type}`).join(", "),C=w.map(E=>`:${E.name}`).join(", ");g=`-- ${S}
|
|
26
|
+
CALL "${v}"."${h}"(${C});`}else g=`CALL "${v}"."${h}"();`}else g=is(v,h);t.sqlPreviewDialogSQL.value=g},t.isFetching,"Failed to get function signature"))},onGenFunctionSelectSQL:async()=>{t.selectedItem.value&&(o("","SELECT Function"),t.isFetching.value=!0,await l(async()=>{const p=await $fetch("/api/get-function-signature",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,functionId:t.selectedItem.value.id}}),v=a(),h=(p==null?void 0:p.name)||"";let g;if(p!=null&&p.parameters&&p.parameters.length>0){const w=p.parameters.filter(S=>S.mode==="IN"||S.mode==="INOUT"||S.mode==="VARIADIC");if(w.length>0){const S=w.map(E=>`${E.name}::${E.type}`).join(", "),C=w.map(E=>`:${E.name}`).join(", ");g=`-- ${S}
|
|
27
|
+
SELECT * FROM "${v}"."${h}"(${C});`}else g=`SELECT * FROM "${v}"."${h}"();`}else g=us(v,h);t.sqlPreviewDialogSQL.value=g},t.isFetching,"Failed to get function signature"))},onGenFunctionDDL:async()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.FunctionsDetail||await l(async()=>{o("","Function DDL");const p=await $fetch("/api/get-one-function",{method:"POST",body:{dbConnectionString:e.currentConnectionString.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 Cs(){const e=W(!1),t=W(0),n=W(null);return{isDownloading:e,downloadedBytes:t,error:n,downloadStream:async r=>{const{url:o,method:l="POST",body:u,filename:s,contentType:f}=r;e.value=!0,t.value=0,n.value=null;const d=Se.loading(`Exporting ${s}...`,{description:"Starting download..."});try{const c=await fetch(o,{method:l,headers:{"Content-Type":"application/json"},body:u?JSON.stringify(u):void 0});if(!c.ok){let C="Export failed";try{C=(await c.json()).message||C}catch{}throw new Error(C)}if(!c.body)throw new Error("Response body is not available for streaming");const y=c.body.getReader(),p=[];let v=0;for(;;){const{done:C,value:E}=await y.read();if(C)break;p.push(E),v+=E.length,t.value=v;const O=ra(v);Se.loading(`Exporting ${s}...`,{id:d,description:`Downloaded ${O}`,position:"bottom-right"})}const h=new Blob(p,{type:f||c.headers.get("Content-Type")||"application/octet-stream"}),g=URL.createObjectURL(h),w=document.createElement("a");w.href=g,w.download=s,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(g);const S=ra(v);return Se.success(`Exported ${s}`,{id:d,description:`${S} downloaded`,position:"bottom-right"}),{success:!0,size:v}}catch(c){const y=c;return n.value=y,Se.error("Export failed",{id:d,description:y.message,position:"bottom-right"}),{success:!1,error:y}}finally{e.value=!1}}}}var zt=(e=>(e.CSV="csv",e.JSON="json",e.SQL="sql",e))(zt||{});function Es(e,t,n){const{getSchemaName:a,executeWithSafeMode:r,showSqlPreview:o,getTableColumns:l,getTableColumnsMetadata:u,getPrimaryKeyColumns:s,getColumnPlaceholder:f,executeWithLoading:d}=n;return{onExportTableData:D=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.TableDetail||!t.selectedItem.value.name)return;const L=t.selectedItem.value.name,B=document.createElement("form");B.method="POST",B.action="/api/export-table-data",B.style.display="none";const $={dbConnectionString:e.currentConnectionString.value,schemaName:a(),tableName:L,format:D};for(const[G,ee]of Object.entries($)){const ne=document.createElement("input");ne.type="hidden",ne.name=G,ne.value=ee,B.appendChild(ne)}document.body.appendChild(B),B.submit(),document.body.removeChild(B),Se.info(`Exporting ${L} as ${D.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async D=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.TableDetail||!t.selectedItem.value.name)return;const L=t.selectedItem.value.name,{downloadStream:B}=Cs(),$={sql:"application/sql",json:"application/json",csv:"text/csv"},G=mn().format("YYYY-MM-DD_HH-mm");await B({url:"/api/export-table-data",method:"POST",body:{dbConnectionString:e.currentConnectionString.value,schemaName:a(),tableName:L,format:D},filename:`${L}_${G}.${D}`,contentType:$[D]})},onImportTableData:()=>{Se.info("Import feature coming soon")},onDeleteTable:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.TableDetail||!t.selectedItem.value.name)return;const D=fs(a(),t.selectedItem.value.name,!1);await r(D,"delete",async()=>{await d(async()=>{await $fetch("/api/execute",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,query:D}}),Se.success("Table deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete table")})},onRenameTable:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.TableDetail||!t.selectedItem.value.name||(t.renameDialogType.value=te.TableDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value="")},performRenameTable:async D=>{const L=ps(a(),t.renameDialogValue.value,D);await r(L,"save",async()=>{await d(async()=>{await $fetch("/api/execute",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,query:L}}),Se.success("Table renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename table")})},onGenSelectSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=l(t.selectedItem.value.name),L=a(),B=t.selectedItem.value.name,G=`SELECT ${D.length>0?D.map(ee=>`"${ee}"`).join(", "):"*"}
|
|
28
|
+
FROM "${L}"."${B}";
|
|
29
|
+
-- WHERE ?
|
|
30
|
+
-- LIMIT 100 OFFSET 0`;o(G,"SELECT Statement")},onGenInsertSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=u(t.selectedItem.value.name),L=a(),B=t.selectedItem.value.name;if(D.length>0){const $=D.map(ne=>`"${ne.name}"`).join(", "),G=D.map(ne=>f(ne)).join(", "),ee=`INSERT INTO "${L}"."${B}" (${$})
|
|
31
|
+
VALUES (${G});`;o(ee,"INSERT Statement")}else{const $=`INSERT INTO "${L}"."${B}" ("column1", "column2", ...)
|
|
32
|
+
VALUES (value1, value2, ...);`;o($,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=u(t.selectedItem.value.name),L=s(t.selectedItem.value.name),B=a(),$=t.selectedItem.value.name,G=D.filter(Y=>!L.includes(Y.name)),ee=G.length>0?G.map(Y=>` "${Y.name}" = ${f(Y)}`).join(`,
|
|
33
|
+
`):` "column1" = value1,
|
|
34
|
+
"column2" = value2`,ne=L.length>0?L.map(Y=>`"${Y}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",P=`UPDATE "${B}"."${$}"
|
|
35
|
+
SET
|
|
36
|
+
${ee}
|
|
37
|
+
WHERE ${ne};`;o(P,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=s(t.selectedItem.value.name),L=a(),B=t.selectedItem.value.name,$=D.length>0?D.map(ee=>`"${ee}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",G=`DELETE FROM "${L}"."${B}"
|
|
38
|
+
WHERE ${$};`;o(G,"DELETE Statement")},onGenMergeSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=l(t.selectedItem.value.name),L=s(t.selectedItem.value.name),B=a(),$=t.selectedItem.value.name,G=en($),ee=D.length>0?D.map(le=>`"${le}"`).join(", "):'"column1", "column2"',ne=`"${G}"`,P=L.length>0?L.map(le=>`${ne}."${le}" = src."${le}"`).join(" AND "):`${ne}."id" = src."id"`,Y=D.length>0?D.filter(le=>!L.includes(le)).map(le=>` "${le}" = src."${le}"`).join(`,
|
|
39
|
+
`):' "column1" = src."column1"',Q=D.length>0?D.map(le=>`src."${le}"`).join(", "):'src."column1", src."column2"',X=`MERGE INTO "${B}"."${$}" AS ${ne}
|
|
40
|
+
USING (SELECT ${ee} FROM source_table) AS src
|
|
41
|
+
ON ${P}
|
|
42
|
+
WHEN MATCHED THEN
|
|
43
|
+
UPDATE SET
|
|
44
|
+
${Y}
|
|
45
|
+
WHEN NOT MATCHED THEN
|
|
46
|
+
INSERT (${ee})
|
|
47
|
+
VALUES (${Q});`;o(X,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=u(t.selectedItem.value.name),L=s(t.selectedItem.value.name),B=a(),$=t.selectedItem.value.name,G=D.length>0?D.map(X=>`"${X.name}"`).join(", "):'"column1", "column2"',ee=D.length>0?D.map(X=>f(X)).join(", "):"value1, value2",ne=L.length>0?L.map(X=>`"${X}"`).join(", "):'"id"',P=D.filter(X=>!L.includes(X.name)),Y=P.length>0?P.map(X=>` "${X.name}" = EXCLUDED."${X.name}"`).join(`,
|
|
48
|
+
`):' "column1" = EXCLUDED."column1"',Q=`INSERT INTO "${B}"."${$}" (${G})
|
|
49
|
+
VALUES (${ee})
|
|
50
|
+
ON CONFLICT (${ne})
|
|
51
|
+
DO UPDATE SET
|
|
52
|
+
${Y};`;o(Q,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=l(t.selectedItem.value.name),L=s(t.selectedItem.value.name),B=a(),$=t.selectedItem.value.name,ee=`"${en($)}"`,ne=D.length>0?D.filter(Q=>!L.includes(Q)).map(Q=>` "${Q}" = src."${Q}"`).join(`,
|
|
53
|
+
`):' "column1" = src."column1"',P=L.length>0?L.map(Q=>`${ee}."${Q}" = src."${Q}"`).join(" AND "):`${ee}."id" = src."id"`,Y=`UPDATE "${B}"."${$}" AS ${ee}
|
|
54
|
+
SET
|
|
55
|
+
${ne}
|
|
56
|
+
FROM source_table AS src
|
|
57
|
+
WHERE ${P};`;o(Y,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=s(t.selectedItem.value.name),L=a(),B=t.selectedItem.value.name,G=`"${en(B)}"`,ee=D.length>0?D.map(P=>`${G}."${P}" = src."${P}"`).join(" AND "):`${G}."id" = src."id"`,ne=`DELETE FROM "${L}"."${B}" AS ${G}
|
|
58
|
+
USING source_table AS src
|
|
59
|
+
WHERE ${ee};`;o(ne,"DELETE USING")},onGenTableDDL:async()=>{!t.selectedItem.value||!t.selectedItem.value.name||(o("","Table DDL"),await d(async()=>{const D=await $fetch("/api/get-table-ddl",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,schemaName:a(),tableName:t.selectedItem.value.name}});o(D,"Table DDL")},t.isFetching,"Failed to get table DDL"))}}}function Is(e,t,n){const{getSchemaName:a,executeWithSafeMode:r,showSqlPreview:o,executeWithLoading:l}=n,u=h=>{var w;return(((w=e.activeSchema.value)==null?void 0:w.views)||[]).find(S=>S.oid===h)},s=h=>{var w,S;const g=(w=e.activeSchema.value)==null?void 0:w.viewDetails;return(S=g==null?void 0:g[h])!=null&&S.columns?g[h].columns.map(C=>C.name):[]};return{getViewInfo:u,getViewColumns:s,onGenViewSelectSQL:()=>{if(!t.selectedItem.value)return;const h=u(t.selectedItem.value.id),g=(h==null?void 0:h.name)||t.selectedItem.value.title,w=s(g),S=a(),C=ys(S,g,w);o(C,"SELECT Statement")},onGenViewDDL:async()=>{if(!t.selectedItem.value)return;const h=u(t.selectedItem.value.id),g=(h==null?void 0:h.name)||t.selectedItem.value.title,w=(h==null?void 0:h.type)===Re.MaterializedView?"MATERIALIZED VIEW":"VIEW";o("",`${w} DDL`),await l(async()=>{const S=await $fetch("/api/get-view-definition",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,viewId:t.selectedItem.value.id,schemaName:a(),viewName:g}});if(S&&S.definition)o(S.definition,`${w} 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!==te.ViewDetail)return;const h=u(t.selectedItem.value.id),g=(h==null?void 0:h.name)||t.selectedItem.value.title;t.renameDialogType.value=te.ViewDetail,t.renameDialogValue.value=g,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=""},performRenameView:async h=>{var E;const w=(((E=e.activeSchema.value)==null?void 0:E.views)||[]).find(O=>O.name===t.renameDialogValue.value),S=(w==null?void 0:w.type)===Re.MaterializedView,C=vs(a(),t.renameDialogValue.value,h,S);await r(C,"save",async()=>{await l(async()=>{await $fetch("/api/execute",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,query:C}}),Se.success("View renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename view")})},onDeleteView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.ViewDetail)return;const h=u(t.selectedItem.value.id),g=(h==null?void 0:h.name)||t.selectedItem.value.title,w=(h==null?void 0:h.type)===Re.MaterializedView,S=ms(a(),g,w,!1);await r(S,"delete",async()=>{await l(async()=>{await $fetch("/api/execute",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,query:S}}),Se.success("View deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete view")})},onRefreshMaterializedView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==te.ViewDetail)return;const h=u(t.selectedItem.value.id);if((h==null?void 0:h.type)!==Re.MaterializedView){Se.error("Only materialized views can be refreshed");return}const g=(h==null?void 0:h.name)||t.selectedItem.value.title,w=gs(a(),g,!1);await r(w,"save",async()=>{await l(async()=>{await $fetch("/api/execute",{method:"POST",body:{dbConnectionString:e.currentConnectionString.value,query:w}}),Se.success("Materialized view refreshed successfully")},t.isFetching,"Failed to refresh materialized view")})}}}const Ts=e=>K(()=>[{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:ae.ACTION,select:e.onRenameFunction},{title:"Delete",icon:"hugeicons:delete-02",type:ae.ACTION,select:e.onDeleteFunction},{type:ae.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:ae.SUBMENU,items:[{title:"CALL",icon:"hugeicons:play",type:ae.ACTION,select:e.onGenFunctionCallSQL},{title:"SELECT",icon:"hugeicons:table",type:ae.ACTION,select:e.onGenFunctionSelectSQL},{type:ae.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:ae.ACTION,select:e.onGenFunctionDDL}]}]),Ds=(e,t)=>K(()=>[{title:"Export Data",icon:"hugeicons:download-01",type:ae.SUBMENU,items:[{title:"SQL (INSERT statements)",icon:"hugeicons:code",type:ae.ACTION,select:()=>e.onExportTableData(zt.SQL)},{title:"JSON",icon:"hugeicons:file-script",type:ae.ACTION,select:()=>e.onExportTableData(zt.JSON)},{title:"CSV",icon:"hugeicons:file-script",type:ae.ACTION,select:()=>e.onExportTableData(zt.CSV)}]},{title:"Import Data",icon:"hugeicons:upload-01",type:ae.ACTION,disabled:!0},{type:ae.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:ae.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:ae.ACTION,select:e.onGenSelectSQL},{title:"INSERT",icon:"hugeicons:plus-sign",type:ae.ACTION,select:e.onGenInsertSQL},{title:"UPDATE",icon:"hugeicons:pencil-edit-02",type:ae.ACTION,select:e.onGenUpdateSQL},{title:"DELETE",icon:"hugeicons:delete-01",type:ae.ACTION,select:e.onGenDeleteSQL},{type:ae.SEPARATOR},{title:"MERGE",icon:"hugeicons:git-merge",type:ae.ACTION,select:e.onGenMergeSQL},{title:"INSERT ON CONFLICT",icon:"hugeicons:git-pull-request",type:ae.ACTION,select:e.onGenInsertOnConflictSQL},{title:"UPDATE FROM",icon:"hugeicons:arrow-right-01",type:ae.ACTION,select:e.onGenUpdateFromSQL},{title:"DELETE USING",icon:"hugeicons:delete-02",type:ae.ACTION,select:e.onGenDeleteUsingSQL},{type:ae.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:ae.ACTION,select:e.onGenTableDDL}]},{type:ae.SEPARATOR},{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:ae.ACTION,select:e.onRenameTable},{title:"Delete",icon:"hugeicons:delete-02",type:ae.ACTION,select:e.onDeleteTable},{type:ae.SEPARATOR},t]),_s=(e,t,n)=>K(()=>{const a=t.selectedItem.value?e.getViewInfo(t.selectedItem.value.id):null,r=(a==null?void 0:a.type)===Re.MaterializedView,o=[{title:"Generate SQL",icon:"hugeicons:code",type:ae.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:ae.ACTION,select:e.onGenViewSelectSQL},{type:ae.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:ae.ACTION,select:e.onGenViewDDL}]},{type:ae.SEPARATOR}];return r&&(o.push({title:"Refresh Materialized View",icon:"hugeicons:refresh",type:ae.ACTION,select:e.onRefreshMaterializedView}),o.push({type:ae.SEPARATOR})),o.push({title:"Rename...",icon:"hugeicons:pencil-edit-02",type:ae.ACTION,select:e.onRenameView},{title:"Delete",icon:"hugeicons:delete-02",type:ae.ACTION,select:e.onDeleteView},{type:ae.SEPARATOR},n),o});function As(e,t){const n=Et(),a=Bo(n,"quickQuerySafeModeEnabled"),r=W(!1),o=()=>{var w;return((w=e.activeSchema.value)==null?void 0:w.name)||"public"},l=w=>{const S=e.activeSchema.value;return S!=null&&S.tableDetails&&S.tableDetails[w]||null},u=w=>{const S=l(w);return S!=null&&S.columns?S.columns.sort((C,E)=>C.ordinal_position-E.ordinal_position):[]};return{getSchemaName:o,getTableMetadata:l,getTableColumnsMetadata:u,getTableColumns:w=>u(w).map(S=>S.name),getPrimaryKeyColumns:w=>{const S=l(w);return S!=null&&S.primary_keys?S.primary_keys.map(C=>C.column):[]},getColumnPlaceholder:w=>w.default_value?w.default_value:w.is_nullable?"NULL":`:${w.name}`,onRightClickItem:(w,S)=>{t.selectedItem.value=Go(S.value)},showSqlPreview:(w,S)=>{t.sqlPreviewDialogSQL.value=w,t.sqlPreviewDialogTitle.value=S,t.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(w,S,C)=>{a.value?(t.safeModeDialogSQL.value=w,t.safeModeDialogType.value=S,t.pendingAction.value=C,t.safeModeDialogOpen.value=!0):await C()},onSafeModeConfirm:async()=>{t.pendingAction.value&&(r.value=!0,await t.pendingAction.value(),r.value=!1,t.pendingAction.value=null),t.safeModeDialogOpen.value=!1},onSafeModeCancel:()=>{t.pendingAction.value=null,t.safeModeDialogOpen.value=!1},executeWithLoading:async(w,S=t.isFetching,C="An error occurred")=>{try{S.value=!0,await w()}catch(E){console.error(E);const O=E;Se.error(O.message||C),t.sqlPreviewDialogOpen.value=!1}finally{S.value=!1}},safeModeLoading:r}}function Rs(){const e=W(null),t=W(!1),n=W(""),a=W("delete"),r=W(null),o=W(null),l=W(!1),u=W(""),s=W(""),f=W(!1),d=W(""),c=W("Generated SQL"),y=W(!1);return{selectedItem:e,safeModeDialogOpen:t,safeModeDialogSQL:n,safeModeDialogType:a,pendingAction:r,renameDialogType:o,renameDialogOpen:l,renameDialogValue:u,renameDialogParameters:s,sqlPreviewDialogOpen:f,sqlPreviewDialogSQL:d,sqlPreviewDialogTitle:c,isFetching:y}}function $s(e){const t=qo(),n=K(()=>{var g;return(g=t.selectedConnection)==null?void 0:g.connectionString}),a={...e,currentConnectionString:n},r=Rs(),o=As(a,r),l=xs(a,r,o),u=Es(a,r,o),s=Is(a,r,o),f=async()=>{const g=Se.loading("Refreshing schema...");try{await e.onRefreshSchema(),Se.success("Schema refreshed",{id:g})}catch(w){const S=w;Se.error(S.message||"Failed to refresh schema",{id:g})}},d={title:"Refresh Schema",icon:"hugeicons:refresh",type:ae.ACTION,select:f},c=Ts(l),y=Ds(u,d),p=_s(s,r,d),v=async g=>{r.renameDialogOpen.value=!1,r.renameDialogType.value===te.FunctionsDetail?await l.performRenameFunction(g):r.renameDialogType.value===te.TableDetail?await u.performRenameTable(g):r.renameDialogType.value===te.ViewDetail&&await s.performRenameView(g)},h=K(()=>{if(!r.selectedItem.value)return[d];switch(r.selectedItem.value.tabViewType){case te.FunctionsDetail:return c.value;case te.TableDetail:return y.value;case te.ViewDetail:return p.value;default:return[d]}});return{selectedItem:r.selectedItem,contextMenuItems:h,safeModeLoading:o.safeModeLoading,safeModeDialogOpen:r.safeModeDialogOpen,safeModeDialogSQL:r.safeModeDialogSQL,safeModeDialogType:r.safeModeDialogType,onSafeModeConfirm:o.onSafeModeConfirm,onSafeModeCancel:o.onSafeModeCancel,renameDialogType:r.renameDialogType,renameDialogOpen:r.renameDialogOpen,renameDialogValue:r.renameDialogValue,onConfirmRename:v,sqlPreviewDialogOpen:r.sqlPreviewDialogOpen,sqlPreviewDialogSQL:r.sqlPreviewDialogSQL,sqlPreviewDialogTitle:r.sqlPreviewDialogTitle,isFetching:r.isFetching,onRightClickItem:o.onRightClickItem}}const Os={class:"flex flex-col h-full w-full overflow-y-auto relative"},Ns={key:0,class:"flex flex-col items-center h-full justify-center"},ks={class:"h-full"},Ps=de({__name:"ManagementSchemas",setup(e){const{schemaStore:t,connectToConnection:n,wsStateStore:a,tabViewStore:r}=je(),{activeSchema:o}=ye(t),{connectionId:l,schemaId:u,workspaceId:s}=ye(a),f=W(!1),d=nt("fileTreeRef"),c=W(!1),y=Pe(""),p=jt(y,It),{fileTreeData:v,defaultFolderOpenId:h}=hs(o,p),g=K(()=>Object.keys(v.value).length>0),w=async()=>{if(!l.value)throw new Error("No connection selected");f.value=!0,await n({wsId:s.value,connId:l.value,isRefresh:!0}),f.value=!1},S=()=>{d.value&&(c.value?(d.value.expandAll(),c.value=!1):(d.value.collapseAll(),c.value=!0))},C=K(()=>{var b;return((b=o.value)==null?void 0:b.name)||"public"}),{selectedItem:E,contextMenuItems:O,safeModeDialogOpen:F,safeModeDialogSQL:J,safeModeDialogType:_,onSafeModeConfirm:R,onSafeModeCancel:D,renameDialogType:L,renameDialogOpen:B,renameDialogValue:$,onConfirmRename:G,sqlPreviewDialogOpen:ee,sqlPreviewDialogSQL:ne,sqlPreviewDialogTitle:P,onRightClickItem:Y,isFetching:Q,safeModeLoading:X}=$s({schemaName:C,activeSchema:o,onRefreshSchema:w}),le=async b=>{var De,we;const M=v.value[b];if(!M)return;const z=(De=M.data)==null?void 0:De.tabViewType,V=(we=M.data)==null?void 0:we.itemValue;if(!u.value||!z)return;let fe=null,re;const ve=`${M.name}-${u.value}`;fe="workspaceId-connectionId-quick-query-tabViewId",re={tabViewId:ve};const pe=z===te.ViewDetail?String((V==null?void 0:V.id)??M.id??""):void 0;if(fe){const Ve=(V==null?void 0:V.icon)||M.iconOpen||M.iconClose||"hugeicons:grid-table";await r.openTab({icon:Ve,iconClass:(V==null?void 0:V.iconClass)||M.iconClass,id:ve,name:M.name,type:z,routeName:fe,routeParams:re,connectionId:l.value,schemaId:u.value||"",workspaceId:s.value||"",metadata:{type:z,tableName:M.name,virtualTableId:pe,functionId:String((V==null?void 0:V.id)||""),treeNodeId:M.id}}),await r.selectTab(ve)}},N=(b,M)=>{var fe,re;const z=v.value[b];if(!z)return;const V=((fe=z.data)==null?void 0:fe.itemValue)||{title:z.name,name:z.name,id:z.id,tabViewType:(re=z.data)==null?void 0:re.tabViewType,icon:z.iconOpen||z.iconClose,iconClass:z.iconClass};Y(M,{value:V})};return xe(()=>r.activeTab,b=>{var M,z,V,fe;if(!b){(M=d.value)==null||M.clearSelection();return}if(!((z=d.value)!=null&&z.isMouseInside)&&((b==null?void 0:b.type)===te.TableDetail||(b==null?void 0:b.type)===te.TableOverview||(b==null?void 0:b.type)===te.ViewDetail||(b==null?void 0:b.type)===te.ViewOverview||(b==null?void 0:b.type)===te.FunctionsDetail||(b==null?void 0:b.type)===te.FunctionsOverview)){const re=(V=b.metadata)==null?void 0:V.treeNodeId;typeof re=="string"&&((fe=d.value)==null||fe.focusItem(re))}},{flush:"post",immediate:!0}),(b,M)=>{const z=be,V=ze,fe=Fe,re=Me,ve=Le;return T(),U("div",Os,[m(i(Dt),{search:i(y),"onUpdate:search":M[0]||(M[0]=pe=>Te(y)?y.value=pe:null),title:"Schemas","show-connection":!0,"show-schema":!0,"workspace-id":i(s),"show-search":!0,"search-placeholder":"Search in all tables or functions"},{actions:x(()=>[m(ve,null,{default:x(()=>[m(fe,{"as-child":""},{default:x(()=>[m(V,{size:"iconSm",variant:"ghost",onClick:S},{default:x(()=>[m(z,{name:i(c)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),m(re,null,{default:x(()=>[q(se(i(c)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),m(ve,null,{default:x(()=>[m(fe,{"as-child":""},{default:x(()=>[m(V,{size:"iconSm",variant:"ghost",onClick:w},{default:x(()=>[m(z,{name:"hugeicons:redo",class:he(["size-4! min-w-4",i(f)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),m(re,null,{default:x(()=>M[5]||(M[5]=[q(" Refresh Schema ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),i(g)?ue("",!0):(T(),U("div",Ns," No data! ")),m(zn,{"context-menu-items":i(O),onOnClearContextMenu:M[1]||(M[1]=pe=>E.value=null)},{default:x(()=>[I("div",ks,[m(Wt,{ref_key:"fileTreeRef",ref:d,"init-expanded-ids":[i(h)],"initial-data":i(v),"storage-key":`${i(l)}-schemas-tree`,"allow-drag-and-drop":!1,"delay-focus":0,onClick:le,onContextmenu:N},null,8,["init-expanded-ids","initial-data","storage-key"])])]),_:1},8,["context-menu-items"]),m(Cr,{loading:i(X),open:i(F),sql:i(J),type:i(_),"onUpdate:open":M[2]||(M[2]=pe=>F.value=pe),onConfirm:i(R),onCancel:i(D)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),m(Ss,{open:i(B),"onUpdate:open":M[3]||(M[3]=pe=>Te(B)?B.value=pe:null),tabViewType:i(L),"current-name":i($),onConfirm:i(G)},null,8,["open","tabViewType","current-name","onConfirm"]),m(ws,{open:i(ee),sql:i(ne),title:i(P),isLoading:i(Q),"onUpdate:open":M[4]||(M[4]=pe=>ee.value=pe)},null,8,["open","sql","title","isLoading"])])}}}),Ls={class:"flex flex-col h-full w-full overflow-hidden"},zs={key:0,class:"flex-1 flex flex-col items-center justify-center text-muted-foreground px-4"},Fs={key:1,class:"flex-1 overflow-y-auto px-3 pb-4"},Ms={class:"mb-4 p-3 bg-muted/30 rounded-lg"},Vs={class:"flex items-center gap-2"},Us={class:"text-sm font-medium"},js={class:"space-y-2"},Bs={class:"p-2 rounded-md bg-blue-500/10"},Gs={class:"p-2 rounded-md bg-green-500/10"},qs={class:"mt-4 p-3 bg-muted/30 rounded-lg text-xs text-muted-foreground"},Hs={class:"flex items-start gap-2"},Ws=de({__name:"ManagementExport",setup(e){const{wsStateStore:t,connectionStore:n,tabViewStore:a}=je(),{connectionId:r,workspaceId:o}=ye(t),l=K(()=>r.value?n.connections.find(d=>d.id===r.value):null),u=K(()=>{var d;return((d=l.value)==null?void 0:d.connectionString)||""}),s=K(()=>{var d,c;return((d=l.value)==null?void 0:d.database)||((c=l.value)==null?void 0:c.name)||"database"}),f=async d=>{if(!o.value||!r.value)return;const c=`database-tools-${r.value}`;await a.openTab({workspaceId:o.value,connectionId:r.value,schemaId:"",id:c,name:`${s.value} - Tools`,icon:"lucide:database",iconClass:"text-primary",type:te.DatabaseTools,routeName:"workspaceId-connectionId-database-tools-name",routeParams:{workspaceId:o.value,connectionId:r.value,name:d}}),await a.selectTab(c)};return(d,c)=>{const y=be;return T(),U("div",Ls,[m(i(Dt),{title:"Database Tools","show-connection":!0,"workspace-id":i(o)},null,8,["workspace-id"]),i(u)?(T(),U("div",Fs,[I("div",Ms,[I("div",Vs,[m(y,{name:"lucide:database",class:"size-5 text-primary"}),I("div",null,[I("p",Us,se(i(s)),1),c[3]||(c[3]=I("p",{class:"text-xs text-muted-foreground"},"Connected database",-1))])])]),I("div",js,[I("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:c[0]||(c[0]=p=>f("export"))},[I("div",Bs,[m(y,{name:"lucide:download",class:"size-5 text-blue-500"})]),c[4]||(c[4]=I("div",{class:"flex-1"},[I("p",{class:"text-sm font-medium"},"Export Database"),I("p",{class:"text-xs text-muted-foreground"}," Backup schema and data using pg_dump ")],-1)),m(y,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})]),I("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:c[1]||(c[1]=p=>f("import"))},[I("div",Gs,[m(y,{name:"lucide:upload",class:"size-5 text-green-500"})]),c[5]||(c[5]=I("div",{class:"flex-1"},[I("p",{class:"text-sm font-medium"},"Import Database"),I("p",{class:"text-xs text-muted-foreground"}," Restore from backup using pg_restore ")],-1)),m(y,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})])]),I("div",qs,[I("div",Hs,[m(y,{name:"lucide:info",class:"size-4 mt-0.5 shrink-0"}),c[6]||(c[6]=I("div",null,[I("p",{class:"font-medium"},"Requirements"),I("p",{class:"mt-1"},[I("code",{class:"bg-muted px-1 rounded"},"pg_dump"),q(" and "),I("code",{class:"bg-muted px-1 rounded"},"pg_restore"),q(" must be installed on the server. ")])],-1))])])])):(T(),U("div",zs,[m(y,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),c[2]||(c[2]=I("p",{class:"text-sm text-center"},"Select a connection",-1))]))])}}}),Ks={class:"flex items-center justify-between"},Qs={class:"text-sm"},Xs={class:"flex items-center gap-1"},Ys={class:"h-full mt-4"},Js={key:0,class:"space-y-2"},Zs={class:"space-y-2"},ei={class:"grid grid-cols-2 gap-4"},ti={class:"space-y-2"},ni={class:"relative"},ai={class:"space-y-2"},oi={class:"grid grid-cols-2 gap-3 pt-2"},ri={class:"flex items-center space-x-2"},li={class:"flex items-center space-x-2"},si={class:"flex items-center space-x-2"},ii={class:"flex items-center space-x-2"},ui={key:0,class:"text-sm text-destructive space-y-1"},ci={key:1,class:"space-y-2"},di={class:"space-y-2"},fi={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"},pi={class:"flex items-center gap-2"},mi={class:"font-medium"},vi={key:1,class:"space-y-2 pt-2"},gi={class:"flex items-center space-x-2"},yi={key:2,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},hi={key:3,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},bi={key:2,class:"space-y-2"},Si={class:"flex items-center justify-between"},wi={key:0,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},xi={key:1,class:"space-y-2 max-h-[50vh] overflow-y-auto"},Ci={class:"flex items-center gap-2"},Ei={class:"text-sm font-medium"},Ii={class:"flex items-center gap-4"},Ti={class:"flex items-center space-x-2"},Di={class:"flex items-center space-x-2"},_i={key:2,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},Ai={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"},Ri={class:"flex items-center gap-2"},$i={key:3,class:"space-y-2"},Oi={class:"space-y-2"},Ni={class:"grid grid-cols-4 gap-2"},ki={class:"flex items-center space-x-2 pt-2"},Pi={class:"space-y-2"},Li={class:"flex items-center space-x-2"},zi={class:"flex items-center space-x-2 pt-2"},Fi={class:"space-y-2"},Mi={class:"grid grid-cols-3 gap-2"},Vi={class:"flex items-center space-x-2 pt-2"},Ui={class:"text-xs text-muted-foreground"},ji={key:4,class:"space-y-2"},Bi={class:"space-y-2"},Gi={class:"grid grid-cols-2 gap-1 text-sm"},qi={class:"font-normal"},Hi={class:"font-normal"},Wi={class:"font-normal"},Ki={class:"font-normal"},Qi={key:0},Xi={key:1},Yi={key:0,class:"p-3 rounded-md bg-destructive/10 border border-destructive/30 text-destructive text-sm"},Ji={class:"flex items-start gap-2"},Zi={class:"flex-1"},eu={class:"text-xs mt-1 opacity-90"},tu={class:"space-y-2"},nu={class:"flex items-center justify-between"},au={class:"max-h-[140px] w-full overflow-y-auto rounded-md border bg-muted/50"},ou={class:"flex gap-2 items-center"},ot=5,ru=de({__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 n=e,a=t,r=W(1),o=_t({roleName:"",password:"",canLogin:!0,canCreateDb:!1,canCreateRole:!1,isReplication:!1,connectionLimit:-1,validUntil:"",comment:""}),l=W(""),u=W(!1),s=K(()=>{var N;return((N=n.currentDatabase)==null?void 0:N.trim())||""}),f=K(()=>!l.value||!s.value?!1:l.value!==s.value),d=W(new Map),c=W("tables"),y=_t({scope:"all",privileges:new Set,applyToFuture:!1}),p=_t({scope:"all",privileges:new Set,applyToFuture:!1}),v=_t({scope:"all",privileges:new Set,applyToFuture:!1}),h=W(!1),g=K(()=>{const N=[];return o.roleName.trim()||N.push("Username is required"),o.roleName.includes(" ")&&N.push("Username cannot contain spaces"),N}),w=K(()=>g.value.length===0),S=K(()=>{for(const[,N]of d.value)if(N.has("USAGE"))return!0;return!1}),C=K(()=>{const N=[];for(const[b,M]of d.value)M.has("USAGE")&&N.push(b);return N}),E=K(()=>{const N=[];o.canLogin?(N.push("LOGIN"),o.password&&N.push(`PASSWORD '${o.password.replace(/'/g,"''")}'`)):N.push("NOLOGIN"),o.canCreateDb&&N.push("CREATEDB"),o.canCreateRole&&N.push("CREATEROLE"),o.isReplication&&N.push("REPLICATION"),o.connectionLimit>=0&&N.push(`CONNECTION LIMIT ${o.connectionLimit}`),o.validUntil&&N.push(`VALID UNTIL '${o.validUntil}'`);let b=`CREATE ROLE "${o.roleName}" WITH ${N.join(" ")};
|
|
60
|
+
`;l.value&&u.value&&(b+=`GRANT CONNECT ON DATABASE "${l.value}" TO "${o.roleName}";
|
|
61
|
+
`);for(const[M,z]of d.value)z.size>0&&(b+=`GRANT ${Array.from(z).join(", ")} ON SCHEMA "${M}" TO "${o.roleName}";
|
|
62
|
+
`);for(const M of C.value)if(y.privileges.size>0){const z=Array.from(y.privileges).join(", ");b+=`GRANT ${z} ON ALL TABLES IN SCHEMA "${M}" TO "${o.roleName}";
|
|
63
|
+
`,y.applyToFuture&&(b+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${M}" GRANT ${z} ON TABLES TO "${o.roleName}";
|
|
64
|
+
`)}for(const M of C.value)if(p.privileges.size>0){const z=Array.from(p.privileges).join(", ");b+=`GRANT ${z} ON ALL FUNCTIONS IN SCHEMA "${M}" TO "${o.roleName}";
|
|
65
|
+
`,p.applyToFuture&&(b+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${M}" GRANT ${z} ON FUNCTIONS TO "${o.roleName}";
|
|
66
|
+
`)}for(const M of C.value)if(v.privileges.size>0){const z=Array.from(v.privileges).join(", ");b+=`GRANT ${z} ON ALL SEQUENCES IN SCHEMA "${M}" TO "${o.roleName}";
|
|
67
|
+
`,v.applyToFuture&&(b+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${M}" GRANT ${z} ON SEQUENCES TO "${o.roleName}";
|
|
68
|
+
`)}return b}),{copied:O,handleCopy:F,getCopyIcon:J,getCopyIconClass:_,getCopyTooltip:R}=Ga(),D=()=>F(E.value),L=()=>{if(r.value<ot){if(r.value===2&&l.value){if(f.value){r.value=ot;return}a("fetchSchemas")}r.value++}},B=()=>{if(r.value===ot&&f.value){r.value=2;return}r.value>1&&r.value--},$=K(()=>r.value===1?w.value:r.value===2?!!l.value&&!n.databasesLoading:r.value===3?S.value:!0);xe(l,()=>{d.value.clear(),y.privileges.clear(),y.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1});const G=(N,b)=>{const M=d.value.get(N)??new Set,z=new Set(M);z.has(b)?z.delete(b):z.add(b),d.value.set(N,z)},ee=(N,b)=>{var M;return((M=d.value.get(N))==null?void 0:M.has(b))??!1},ne=N=>{y.privileges.has(N)?y.privileges.delete(N):y.privileges.add(N)},P=N=>{p.privileges.has(N)?p.privileges.delete(N):p.privileges.add(N)},Y=N=>{v.privileges.has(N)?v.privileges.delete(N):v.privileges.add(N)},Q=()=>{const N=[];for(const[M,z]of d.value)z.size>0&&N.push({schemaName:M,privileges:Array.from(z)});const b=[];for(const M of C.value)y.privileges.size>0&&b.push({objectType:"table",schemaName:M,privileges:Array.from(y.privileges),applyToFuture:y.applyToFuture}),p.privileges.size>0&&b.push({objectType:"function",schemaName:M,privileges:Array.from(p.privileges),applyToFuture:p.applyToFuture}),v.privileges.size>0&&b.push({objectType:"sequence",schemaName:M,privileges:Array.from(v.privileges),applyToFuture:v.applyToFuture});a("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:l.value&&u.value?[{databaseName:l.value,privileges:["CONNECT"]}]:[],schemaGrants:N,objectGrants:b})},X=()=>{r.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="",l.value="",u.value=!1,d.value.clear(),y.privileges.clear(),y.applyToFuture=!1,p.privileges.clear(),p.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1,h.value=!1};xe(()=>n.open,N=>{N||X()}),xe(r,()=>{a("clearError")});const le=["User Info","Database","Schemas","Objects","Review"];return(N,b)=>{const M=be,z=Ko,V=Qo,fe=Wo,re=Er,ve=Nn,pe=Ir,De=Xo,we=Rn,Ve=On,ct=$n,Qt=An,dt=hr,Xt=yr,at=vr,Yt=gr,A=ze,k=Fe,H=Me,j=Le,oe=ja,ge=Yo,me=Ho,Be=Jo;return T(),ie(Be,{open:N.open,"onUpdate:open":b[16]||(b[16]=Je=>a("update:open",Je))},{default:x(()=>[m(me,{class:"w-[65vw] h-[60vh] max-w-[65vw]! gap-1 p-5 flex flex-col flex-1 overflow-hidden"},{default:x(()=>{var Je,ea,ta;return[m(fe,null,{default:x(()=>[m(z,{class:"flex items-center font-medium! gap-2"},{default:x(()=>[m(M,{name:"lucide:user-plus",class:"size-5 text-primary"}),b[17]||(b[17]=q(" Create New User/Role "))]),_:1}),m(V,null,{default:x(()=>[I("div",Ks,[I("span",Qs,"Step "+se(i(r))+": "+se(le[i(r)-1]),1),I("div",Xs,[(T(),U(Ee,null,_e(ot,Z=>I("div",{key:Z,class:he(["w-6 h-1 rounded-full transition-colors",Z<=i(r)?"bg-primary":"bg-muted"])},null,2)),64))])])]),_:1})]),_:1}),I("div",Ys,[i(r)===1?(T(),U("div",Js,[I("div",Zs,[m(re,{for:"roleName"},{default:x(()=>b[18]||(b[18]=[q("Username "),I("span",{class:"text-destructive"},"*",-1)])),_:1}),m(ve,{id:"roleName",modelValue:i(o).roleName,"onUpdate:modelValue":b[0]||(b[0]=Z=>i(o).roleName=Z),placeholder:"Enter username",class:he({"border-destructive":i(o).roleName&&i(g).some(Z=>Z.includes("Username"))})},null,8,["modelValue","class"])]),I("div",ei,[I("div",ti,[m(re,{for:"password"},{default:x(()=>b[19]||(b[19]=[q("Password")])),_:1}),I("div",ni,[m(ve,{id:"password",modelValue:i(o).password,"onUpdate:modelValue":b[1]||(b[1]=Z=>i(o).password=Z),type:i(h)?"text":"password",placeholder:"Enter password",class:"pr-10"},null,8,["modelValue","type"]),I("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",onClick:b[2]||(b[2]=Z=>h.value=!i(h))},[m(M,{name:i(h)?"lucide:eye-off":"lucide:eye",class:"size-4"},null,8,["name"])])]),b[20]||(b[20]=I("p",{class:"text-xs text-amber-500 dark:text-amber-400"}," Leave blank to create a role without a password. ",-1))]),I("div",ai,[m(re,{for:"connectionLimit"},{default:x(()=>b[21]||(b[21]=[q("Connection Limit")])),_:1}),m(ve,{id:"connectionLimit",modelValue:i(o).connectionLimit,"onUpdate:modelValue":b[3]||(b[3]=Z=>i(o).connectionLimit=Z),modelModifiers:{number:!0},type:"number",min:-1,placeholder:"No limit"},null,8,["modelValue"]),b[22]||(b[22]=I("p",{class:"text-xs text-muted-foreground"}," Use `-1` for no limit. ",-1))])]),I("div",oi,[I("div",ri,[m(pe,{id:"canLogin","model-value":i(o).canLogin,"onUpdate:modelValue":b[4]||(b[4]=Z=>i(o).canLogin=Z)},null,8,["model-value"]),m(re,{for:"canLogin",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[23]||(b[23]=[q("Can Login")])),_:1})]),I("div",li,[m(pe,{id:"canCreateDb","model-value":i(o).canCreateDb,"onUpdate:modelValue":b[5]||(b[5]=Z=>i(o).canCreateDb=Z)},null,8,["model-value"]),m(re,{for:"canCreateDb",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[24]||(b[24]=[q("Create DB")])),_:1})]),I("div",si,[m(pe,{id:"canCreateRole","model-value":i(o).canCreateRole,"onUpdate:modelValue":b[6]||(b[6]=Z=>i(o).canCreateRole=Z)},null,8,["model-value"]),m(re,{for:"canCreateRole",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[25]||(b[25]=[q("Create Role")])),_:1})]),I("div",ii,[m(pe,{id:"isReplication","model-value":i(o).isReplication,"onUpdate:modelValue":b[7]||(b[7]=Z=>i(o).isReplication=Z)},null,8,["model-value"]),m(re,{for:"isReplication",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[26]||(b[26]=[q("Replication")])),_:1})])]),i(g).length>0&&i(o).roleName?(T(),U("div",ui,[(T(!0),U(Ee,null,_e(i(g),Z=>(T(),U("div",{key:Z,class:"flex items-center gap-1"},[m(M,{name:"lucide:x",class:"size-3"}),q(" "+se(Z),1)]))),128))])):ue("",!0)])):i(r)===2?(T(),U("div",ci,[I("div",di,[m(re,null,{default:x(()=>b[27]||(b[27]=[q("Select Database")])),_:1}),m(Qt,{modelValue:i(l),"onUpdate:modelValue":b[8]||(b[8]=Z=>Te(l)?l.value=Z:null),disabled:N.databasesLoading},{default:x(()=>[m(we,null,{default:x(()=>[m(De,{placeholder:N.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),m(ct,null,{default:x(()=>[(T(!0),U(Ee,null,_e(N.databases,Z=>(T(),ie(Ve,{key:Z.databaseName,value:Z.databaseName},{default:x(()=>[q(se(Z.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),i(f)?(T(),U("div",fi,[I("div",pi,[m(M,{name:"lucide:info",class:"size-4"}),I("span",null,[b[28]||(b[28]=q(" You're connected to ")),I("span",mi,se(i(s)),1),b[29]||(b[29]=q(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):ue("",!0),i(l)&&!N.databasesLoading?(T(),U("div",vi,[I("div",gi,[m(pe,{id:"dbConnect","model-value":i(u),"onUpdate:modelValue":b[9]||(b[9]=Z=>Te(u)?u.value=Z:null)},null,8,["model-value"]),m(re,{for:"dbConnect",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[30]||(b[30]=[q(" Grant CONNECT permission ")])),_:1})]),b[31]||(b[31]=I("p",{class:"text-xs text-muted-foreground"}," CONNECT allows the user to connect to this database. ",-1))])):ue("",!0),N.databasesLoading?(T(),U("div",yi,[m(M,{name:"lucide:loader",class:"size-5 animate-spin text-muted-foreground"}),b[32]||(b[32]=I("p",{class:"text-sm"},"Loading databases...",-1))])):(Je=N.databases)!=null&&Je.length?ue("",!0):(T(),U("div",hi,[m(M,{name:"lucide:database",class:"size-12 mb-2 opacity-50"}),b[33]||(b[33]=I("p",{class:"text-sm"},"No databases available",-1))]))])):i(r)===3?(T(),U("div",bi,[I("div",Si,[m(re,null,{default:x(()=>b[34]||(b[34]=[q("Schema Permissions")])),_:1}),b[35]||(b[35]=I("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),N.schemasLoading?(T(),U("div",wi,[m(M,{name:"lucide:loader",class:"size-5 animate-spin text-muted-foreground"}),b[36]||(b[36]=I("p",{class:"text-sm"},"Loading schemas...",-1))])):(ea=N.schemas)!=null&&ea.length?(T(),U("div",xi,[(T(!0),U(Ee,null,_e(N.schemas,Z=>(T(),U("div",{key:Z.schemaName,class:"flex items-center justify-between p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors"},[I("div",Ci,[m(M,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),I("span",Ei,se(Z.schemaName),1)]),I("div",Ii,[I("div",Ti,[m(pe,{id:`schema-${Z.schemaName}-usage`,"model-value":ee(Z.schemaName,"USAGE"),"onUpdate:modelValue":Jt=>G(Z.schemaName,"USAGE")},null,8,["id","model-value","onUpdate:modelValue"]),m(re,{for:`schema-${Z.schemaName}-usage`,class:"text-xs cursor-pointer"},{default:x(()=>b[37]||(b[37]=[q("USAGE")])),_:2},1032,["for"])]),I("div",Di,[m(pe,{id:`schema-${Z.schemaName}-create`,"model-value":ee(Z.schemaName,"CREATE"),"onUpdate:modelValue":Jt=>G(Z.schemaName,"CREATE")},null,8,["id","model-value","onUpdate:modelValue"]),m(re,{for:`schema-${Z.schemaName}-create`,class:"text-xs cursor-pointer"},{default:x(()=>b[38]||(b[38]=[q("CREATE")])),_:2},1032,["for"])])])]))),128))])):(T(),U("div",_i,[m(M,{name:"lucide:folder",class:"size-12 mb-2 opacity-50"}),b[39]||(b[39]=I("p",{class:"text-sm"},"No schemas found",-1))])),!i(S)&&((ta=N.schemas)!=null&&ta.length)?(T(),U("div",Ai,[I("div",Ri,[m(M,{name:"lucide:alert-triangle",class:"size-4"}),b[40]||(b[40]=I("span",null,"Select at least one schema with USAGE permission to continue",-1))])])):ue("",!0)])):i(r)===4?(T(),U("div",$i,[m(Yt,{modelValue:i(c),"onUpdate:modelValue":b[14]||(b[14]=Z=>Te(c)?c.value=Z:null),class:"w-full"},{default:x(()=>[m(Xt,{class:"w-full grid grid-cols-3"},{default:x(()=>[m(dt,{value:"tables"},{default:x(()=>[m(M,{name:"lucide:table",class:"size-4 mr-1"}),b[41]||(b[41]=q(" Tables "))]),_:1}),m(dt,{value:"functions"},{default:x(()=>[m(M,{name:"lucide:function-square",class:"size-4 mr-1"}),b[42]||(b[42]=q(" Functions "))]),_:1}),m(dt,{value:"sequences"},{default:x(()=>[m(M,{name:"lucide:list-ordered",class:"size-4 mr-1"}),b[43]||(b[43]=q(" Sequences "))]),_:1})]),_:1}),m(at,{value:"tables",class:"space-y-2 pt-4"},{default:x(()=>[I("div",Oi,[m(re,{class:"text-sm"},{default:x(()=>b[44]||(b[44]=[q("Table Privileges")])),_:1}),I("div",Ni,[(T(),U(Ee,null,_e(["SELECT","INSERT","UPDATE","DELETE"],Z=>I("div",{key:Z,class:"flex items-center space-x-2"},[m(pe,{id:`table-${Z}`,"model-value":i(y).privileges.has(Z),"onUpdate:modelValue":Jt=>ne(Z)},null,8,["id","model-value","onUpdate:modelValue"]),m(re,{for:`table-${Z}`,class:"text-xs cursor-pointer"},{default:x(()=>[q(se(Z),1)]),_:2},1032,["for"])])),64))])]),I("div",ki,[m(pe,{id:"tablesFuture","model-value":i(y).applyToFuture,"onUpdate:modelValue":b[10]||(b[10]=Z=>i(y).applyToFuture=Z)},null,8,["model-value"]),m(re,{for:"tablesFuture",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[45]||(b[45]=[q(" Apply to future tables (ALTER DEFAULT PRIVILEGES) ")])),_:1})])]),_:1}),m(at,{value:"functions",class:"space-y-2 pt-4"},{default:x(()=>[I("div",Pi,[m(re,{class:"text-sm"},{default:x(()=>b[46]||(b[46]=[q("Function Privileges")])),_:1}),I("div",Li,[m(pe,{id:"func-execute","model-value":i(p).privileges.has("EXECUTE"),"onUpdate:modelValue":b[11]||(b[11]=Z=>P("EXECUTE"))},null,8,["model-value"]),m(re,{for:"func-execute",class:"text-xs cursor-pointer"},{default:x(()=>b[47]||(b[47]=[q("EXECUTE")])),_:1})])]),I("div",zi,[m(pe,{id:"funcFuture","model-value":i(p).applyToFuture,"onUpdate:modelValue":b[12]||(b[12]=Z=>i(p).applyToFuture=Z)},null,8,["model-value"]),m(re,{for:"funcFuture",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[48]||(b[48]=[q(" Apply to future functions ")])),_:1})])]),_:1}),m(at,{value:"sequences",class:"space-y-2 pt-4"},{default:x(()=>[I("div",Fi,[m(re,{class:"text-sm"},{default:x(()=>b[49]||(b[49]=[q("Sequence Privileges")])),_:1}),I("div",Mi,[(T(),U(Ee,null,_e(["USAGE","SELECT"],Z=>I("div",{key:Z,class:"flex items-center space-x-2"},[m(pe,{id:`seq-${Z}`,"model-value":i(v).privileges.has(Z),"onUpdate:modelValue":Jt=>Y(Z)},null,8,["id","model-value","onUpdate:modelValue"]),m(re,{for:`seq-${Z}`,class:"text-xs cursor-pointer"},{default:x(()=>[q(se(Z),1)]),_:2},1032,["for"])])),64))])]),I("div",Vi,[m(pe,{id:"seqFuture","model-value":i(v).applyToFuture,"onUpdate:modelValue":b[13]||(b[13]=Z=>i(v).applyToFuture=Z)},null,8,["model-value"]),m(re,{for:"seqFuture",class:"text-sm font-normal cursor-pointer"},{default:x(()=>b[50]||(b[50]=[q(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),I("p",Ui," Permissions will be applied to all objects in selected schemas: "+se(i(C).join(", ")||"none"),1)])):i(r)===5?(T(),U("div",ji,[I("div",Bi,[b[55]||(b[55]=I("h4",{class:"text-sm font-medium"},"Summary",-1)),I("div",Gi,[b[51]||(b[51]=I("div",{class:"text-muted-foreground"},"Username:",-1)),I("div",qi,se(i(o).roleName),1),b[52]||(b[52]=I("div",{class:"text-muted-foreground"},"Type:",-1)),I("div",Hi,se(i(o).canLogin?"User (login)":"Role"),1),b[53]||(b[53]=I("div",{class:"text-muted-foreground"},"Database:",-1)),I("div",Wi,se(i(l)||"None"),1),b[54]||(b[54]=I("div",{class:"text-muted-foreground"},"Schemas:",-1)),I("div",Ki,[i(f)?(T(),U("span",Qi,"Skipped")):(T(),U("span",Xi,se(i(C).length)+" selected",1))])])]),N.error?(T(),U("div",Yi,[I("div",Ji,[m(M,{name:"lucide:alert-circle",class:"size-4 mt-0.5 shrink-0"}),I("div",Zi,[b[56]||(b[56]=I("p",{class:"font-medium"},"Error creating user",-1)),I("p",eu,se(N.error),1)])])])):ue("",!0),I("div",tu,[I("div",nu,[b[57]||(b[57]=I("h4",{class:"text-sm font-medium"},"Generated SQL",-1)),m(j,null,{default:x(()=>[m(k,{"as-child":""},{default:x(()=>[m(A,{variant:"ghost",size:"sm",class:"h-7 text-xs",onClick:D},{default:x(()=>[m(M,{name:i(J)(i(O)),class:he(["size-3 mr-1",i(_)(i(O))])},null,8,["name","class"]),q(" "+se(i(R)(i(O),"Copy")),1)]),_:1})]),_:1}),m(H,null,{default:x(()=>[q(se(i(R)(i(O),"Copy SQL")),1)]),_:1})]),_:1})]),I("div",au,[m(oe,{code:i(E),"max-height":"140px"},null,8,["code"])])])])):ue("",!0)]),m(ge,{class:"gap-2 sm:gap-0"},{default:x(()=>[i(r)>1?(T(),ie(A,{key:0,variant:"outline",onClick:B,disabled:N.loading},{default:x(()=>[m(M,{name:"lucide:arrow-left",class:"size-4"}),b[58]||(b[58]=q(" Back "))]),_:1},8,["disabled"])):ue("",!0),b[61]||(b[61]=I("div",{class:"flex-1"},null,-1)),I("div",ou,[i(r)===1?(T(),ie(A,{key:0,variant:"outline",onClick:b[15]||(b[15]=Z=>a("cancel")),disabled:N.loading},{default:x(()=>b[59]||(b[59]=[q(" Cancel ")])),_:1},8,["disabled"])):ue("",!0),i(r)<ot?(T(),ie(A,{key:1,onClick:L,disabled:!i($)},{default:x(()=>[q(se(i(r)===4?"Review":"Next")+" ",1),m(M,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):ue("",!0),i(r)===ot?(T(),ie(A,{key:2,onClick:Q,disabled:N.loading||!i(w)},{default:x(()=>[N.loading?(T(),ie(M,{key:0,name:"lucide:loader",class:"size-4 mr-2 animate-spin"})):ue("",!0),b[60]||(b[60]=q(" Create User "))]),_:1},8,["disabled"])):ue("",!0)])]),_:1})]}),_:1})]),_:1},8,["open"])}}}),lu={class:"text-sm"},su={class:"font-semibold text-foreground"},iu={key:0,class:"flex items-start gap-2 p-3 rounded-md bg-destructive/10 border border-destructive/20"},uu={class:"space-y-2"},cu={class:"p-3 bg-muted/50 rounded-md border font-mono text-xs"},du=de({__name:"DeleteUserDialog",props:{open:{type:Boolean},role:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,a=t,r=K(()=>n.role?`DROP ROLE IF EXISTS "${n.role.roleName}"`:"");return(o,l)=>{const u=be,s=Vn,f=Un,d=Mn,c=Bn,y=ze,p=jn,v=Fn,h=Gn;return T(),ie(h,{open:o.open,"onUpdate:open":l[2]||(l[2]=g=>a("update:open",g))},{default:x(()=>[m(v,{class:"max-w-md"},{default:x(()=>[m(d,null,{default:x(()=>[m(s,{class:"flex items-center gap-2"},{default:x(()=>[m(u,{name:"lucide:trash-2",class:"size-5 text-destructive"}),l[3]||(l[3]=q(" Delete User/Role "))]),_:1}),o.role?(T(),ie(f,{key:0,class:"space-y-4"},{default:x(()=>[I("div",lu,[l[4]||(l[4]=q(" Are you sure you want to delete the role ")),I("span",su,se(o.role.roleName),1),l[5]||(l[5]=q("? "))]),o.role.isSuperuser?(T(),U("div",iu,[m(u,{name:"lucide:alert-triangle",class:"size-5 text-destructive shrink-0 mt-0.5"}),l[6]||(l[6]=I("div",{class:"text-sm text-destructive"},[I("span",{class:"font-semibold"},"Warning:"),q(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):ue("",!0),I("div",uu,[l[7]||(l[7]=I("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),I("div",cu,se(i(r)),1)]),l[8]||(l[8]=I("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})):ue("",!0)]),_:1}),m(p,null,{default:x(()=>[m(c,{onClick:l[0]||(l[0]=g=>a("cancel")),disabled:o.loading},{default:x(()=>l[9]||(l[9]=[q(" Cancel ")])),_:1},8,["disabled"]),m(y,{variant:"destructive",disabled:o.loading,onClick:l[1]||(l[1]=g=>a("confirm"))},{default:x(()=>[o.loading?(T(),ie(u,{key:0,name:"lucide:loader",class:"size-4 mr-2 animate-spin"})):ue("",!0),l[10]||(l[10]=q(" Delete Role "))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),fu={class:"flex flex-col gap-1 py-1 h-full relative"},pu={key:1,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},mu={class:"h-full"},vu=de({__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 n=e,a=Pn(),r=Zo(),{workspaceId:o,connectionId:l,schemaId:u}=ye(r),s=nt("fileTreeRef"),f=W(null),d=W(!1),c=W(null),y=W(!1),p=[Ae.User],v=K(()=>{const _={},R=[],D=[],L=[];for(const $ of n.roles)$.isSuperuser?R.push($):$.canLogin?D.push($):L.push($);const B=($,G,ee)=>{_[$.roleName]={id:$.roleName,parentId:G,name:$.roleName,type:"file",depth:ee,iconClose:$.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:$.isSuperuser?"text-yellow-500":$.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:te.UserPermissions,roleData:$}}};return R.length>0&&(_[Ae.Superuser]={id:Ae.Superuser,parentId:null,name:`Superusers (${R.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:R.map($=>$.roleName)},R.forEach($=>B($,Ae.Superuser,1))),D.length>0&&(_[Ae.User]={id:Ae.User,parentId:null,name:`Users (${D.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:D.map($=>$.roleName)},D.forEach($=>B($,Ae.User,1))),L.length>0&&(_[Ae.Role]={id:Ae.Role,parentId:null,name:`Roles (${L.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:L.map($=>$.roleName)},L.forEach($=>B($,Ae.Role,1))),_}),h=_=>n.roles.find(R=>R.roleName===_),g=(_,R)=>{var L;const D=v.value[_];if(D)if(D.type==="folder")f.value={type:"category",category:D.id};else{const B=(L=D.data)==null?void 0:L.roleData;if(B)f.value={type:"role",role:B};else{const $=h(D.id);$&&(f.value={type:"role",role:$})}}},w=async _=>{var ee;const R=v.value[_];if(!R||R.type==="folder"||!o.value||!l.value)return;const D=(ee=R.data)==null?void 0:ee.roleData,L=(D==null?void 0:D.roleName)||R.id,B=`user-permissions-${L}`,$=D!=null&&D.isSuperuser?"hugeicons:crown":D!=null&&D.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",G=D!=null&&D.isSuperuser?"text-yellow-500":D!=null&&D.canLogin?"text-blue-400":"text-purple-400";await a.openTab({workspaceId:o.value,connectionId:l.value,schemaId:u.value||"",id:B,name:`${L} Permissions`,icon:$,iconClass:G,type:te.UserPermissions,routeName:"workspaceId-connectionId-user-permissions-roleName",routeParams:{workspaceId:o.value,connectionId:l.value,roleName:L},metadata:{type:te.UserPermissions,roleName:L,treeNodeId:R.id}}),await a.selectTab(B)},S=K(()=>{const _=[];if(!f.value)return _.push({title:"Create User",icon:"lucide:user-plus",type:ae.ACTION,select:()=>{var R;return(R=n.onCreateUser)==null?void 0:R.call(n)},disabled:n.canCreateUser===!1}),_.push({type:ae.SEPARATOR}),_.push({title:"Refresh",icon:"lucide:refresh-cw",type:ae.ACTION,select:()=>{var R;return(R=n.onRefresh)==null?void 0:R.call(n)}}),_;if(f.value.type==="category"&&(_.push({title:"Users & Roles",type:ae.LABEL}),_.push({title:"Create User",icon:"lucide:user-plus",type:ae.ACTION,select:()=>{var R;return(R=n.onCreateUser)==null?void 0:R.call(n)},disabled:n.canCreateUser===!1}),_.push({type:ae.SEPARATOR}),_.push({title:"Refresh",icon:"lucide:refresh-cw",type:ae.ACTION,select:()=>{var R;return(R=n.onRefresh)==null?void 0:R.call(n)}})),f.value.type==="role"&&f.value.role){const R=f.value.role;_.push({title:R.roleName,type:ae.LABEL}),_.push({title:"View Permissions",icon:"hugeicons:shield-01",type:ae.ACTION,select:()=>{w(R.roleName)}}),_.push({type:ae.SEPARATOR}),_.push({title:"Delete User",icon:"lucide:trash-2",type:ae.ACTION,select:()=>{c.value=R,d.value=!0},disabled:R.isSuperuser}),_.push({type:ae.SEPARATOR}),_.push({title:"Refresh",icon:"lucide:refresh-cw",type:ae.ACTION,select:()=>{var D;return(D=n.onRefresh)==null?void 0:D.call(n)}})}return _}),C=()=>{f.value=null},E=async()=>{var _;if(c.value){y.value=!0;try{await((_=n.onDeleteUser)==null?void 0:_.call(n,c.value)),d.value=!1,c.value=null}finally{y.value=!1}}};xe(()=>a.activeTab,_=>{var R,D,L,B;if(!_){(R=s.value)==null||R.clearSelection();return}if(!((D=s.value)!=null&&D.isMouseInside)&&(_==null?void 0:_.type)===te.UserPermissions&&typeof((L=_.metadata)==null?void 0:L.treeNodeId)=="string"){(B=s.value)==null||B.focusItem(_.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const O=()=>{var _;(_=s.value)==null||_.expandAll()},F=()=>{var _;(_=s.value)==null||_.collapseAll()},J=K(()=>{var _;return((_=s.value)==null?void 0:_.isExpandedAll)??!1});return t({expandAll:O,collapseAll:F,isExpandedAll:J}),(_,R)=>{const D=be;return T(),U(Ee,null,[I("div",fu,[_.loading?(T(),ie(Va,{key:0,visible:""})):_.roles.length?(T(),ie(zn,{key:2,"context-menu-items":i(S),onOnClearContextMenu:C},{default:x(()=>[I("div",mu,[m(Wt,{ref_key:"fileTreeRef",ref:s,"init-expanded-ids":p,"initial-data":i(v),"allow-drag-and-drop":!1,"delay-focus":0,"storage-key":`${i(l)}-user-roles-tree`,onClick:w,onContextmenu:g},null,8,["initial-data","storage-key"])])]),_:1},8,["context-menu-items"])):(T(),U("div",pu,[m(D,{name:"hugeicons:user-group",class:"size-12 mb-2 opacity-50"}),R[2]||(R[2]=I("p",{class:"text-sm"},"No roles found",-1))]))]),m(du,{open:i(d),"onUpdate:open":R[0]||(R[0]=L=>Te(d)?d.value=L:null),role:i(c),loading:i(y),onConfirm:E,onCancel:R[1]||(R[1]=L=>{d.value=!1,c.value=null})},null,8,["open","role","loading"])],64)}}}),gu={class:"flex flex-col h-full w-full overflow-hidden"},yu={key:0,class:"flex-1 flex flex-col items-center justify-center text-muted-foreground"},hu={key:1,class:"flex-1 overflow-y-auto min-h-0"},bu=de({__name:"ManagementUsersAndPermission",setup(e){const{wsStateStore:t,connectionStore:n}=je(),{connectionId:a,workspaceId:r}=ye(t),o=K(()=>{if(!a.value)return"";const z=n.connections.find(V=>V.id===a.value);return(z==null?void 0:z.connectionString)||""}),l=K(()=>{var V;if(!a.value)return"";const z=n.connections.find(fe=>fe.id===a.value);if(!z)return"";if(z.database)return z.database;if(z.connectionString)try{return((V=new URL(z.connectionString).pathname)==null?void 0:V.replace(/^\//,""))||""}catch{return""}return""}),u=K(()=>{if(!a.value)return"";const z=n.connections.find(V=>V.id===a.value);if(!z)return"";if(z.username)return z.username;if(z.connectionString)try{return new URL(z.connectionString).username||""}catch{return""}return""}),{isLoading:s,roles:f,fetchRoles:d,refresh:c}=Tr(o),y=K(()=>u.value&&f.value.find(z=>z.roleName===u.value)||null),p=K(()=>!o.value||!y.value?!1:y.value.isSuperuser||y.value.canCreateRole),v=K(()=>o.value?y.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:h,createRole:g,deleteRole:w}=Dr(o),{isLoading:S,databases:C,fetchDatabases:E}=_r(o),{isLoading:O,schemas:F,fetchSchemas:J}=Ar(o),{isGranting:_,grantBulkPermissions:R}=Rr(o),D=Pe(""),L=jt(D,It),B=W(!1),$=W(!1),G=W(null),ee=K(()=>{if(!L.value)return f.value;const z=L.value.toLowerCase();return f.value.filter(V=>V.roleName.toLowerCase().includes(z))});xe(()=>o.value,async z=>{z&&await d()},{immediate:!0});const ne=async()=>{B.value=!0,await c(),B.value=!1},P=nt("userRolesTreeRef"),Y=K(()=>P.value?!P.value.isExpandedAll:!0),Q=()=>{var z,V;Y.value?(z=P.value)==null||z.expandAll():(V=P.value)==null||V.collapseAll()},X=()=>{G.value=null},le=()=>{p.value&&($.value=!0,C.value=[],E())},N=async()=>{F.value=[],await J()},b=async z=>{G.value=null;try{const V=await g(z.roleData);if(!(V!=null&&V.success)){G.value=(V==null?void 0:V.message)||"Failed to create user. Please check the username and try again.";return}if(z.databaseGrants.length>0||z.schemaGrants.length>0||z.objectGrants.length>0){const re=await R({roleName:z.roleData.roleName,databaseGrants:z.databaseGrants,schemaGrants:z.schemaGrants,objectGrants:z.objectGrants});if(re&&!re.success){G.value=`User created but some permissions failed: ${re.totalFailed} of ${re.results.length} grants failed.`;return}}$.value=!1,await c()}catch(V){G.value=(V==null?void 0:V.message)||"Failed to create user"}},M=async z=>{const V=await w(z.roleName);return V!=null&&V.success&&await c(),V};return(z,V)=>{const fe=be,re=ze,ve=Fe,pe=Me,De=Le;return T(),U("div",gu,[m(i(Dt),{search:i(D),"onUpdate:search":V[0]||(V[0]=we=>Te(D)?D.value=we:null),title:"Users & Roles","show-connection":!0,"workspace-id":i(r),"show-search":!0,"search-placeholder":"Search users/roles..."},{actions:x(()=>[m(De,null,{default:x(()=>[m(ve,{"as-child":""},{default:x(()=>[I("span",null,[m(re,{size:"iconSm",variant:"ghost",onClick:le,disabled:!i(p)},{default:x(()=>[m(fe,{name:"hugeicons:user-add-01",class:"size-4! min-w-4"})]),_:1},8,["disabled"])])]),_:1}),m(pe,null,{default:x(()=>[q(se(i(v)),1)]),_:1})]),_:1}),m(De,null,{default:x(()=>[m(ve,{"as-child":""},{default:x(()=>[m(re,{size:"iconSm",variant:"ghost",onClick:Q},{default:x(()=>[m(fe,{name:i(Y)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),m(pe,null,{default:x(()=>[q(se(i(Y)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),m(De,null,{default:x(()=>[m(ve,{"as-child":""},{default:x(()=>[m(re,{size:"iconSm",variant:"ghost",onClick:ne,disabled:i(B)||!i(o)},{default:x(()=>[m(fe,{name:"hugeicons:redo",class:he(["size-4! min-w-4 ",i(B)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),m(pe,null,{default:x(()=>V[3]||(V[3]=[q("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),i(o)?(T(),U("div",hu,[m(vu,{ref_key:"userRolesTreeRef",ref:P,roles:i(ee),loading:i(s),onCreateUser:le,canCreateUser:i(p),createUserDisabledReason:i(v),onDeleteUser:M,onRefresh:ne},null,8,["roles","loading","canCreateUser","createUserDisabledReason"])])):(T(),U("div",yu,[m(fe,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),V[4]||(V[4]=I("p",{class:"text-sm"},"Select a connection to view roles",-1))])),m(ru,{open:i($),"onUpdate:open":V[1]||(V[1]=we=>Te($)?$.value=we:null),loading:i(h)||i(_),databasesLoading:i(S),schemasLoading:i(O),databases:i(C),schemas:i(F),currentDatabase:i(l),error:i(G),onConfirm:b,onCancel:V[2]||(V[2]=we=>$.value=!1),onClearError:X,onFetchSchemas:N},null,8,["open","loading","databasesLoading","schemasLoading","databases","schemas","currentDatabase","error"])])}}}),Su={key:0,class:"w-full h-full flex flex-col"},wu=de({__name:"PrimarySideBar",setup(e){const t=fo(),n=Et(),a=Pe();return xe(()=>t.activityActive,()=>{t.activityActive===Ce.Explorer&&(a.value=ss),t.activityActive===Ce.Schemas&&(a.value=Ps),t.activityActive===Ce.ErdDiagram&&(a.value=Zl),t.activityActive===Ce.UsersRoles&&(a.value=bu),t.activityActive===Ce.DatabaseExport&&(a.value=Ws)},{immediate:!0}),(r,o)=>i(n).layoutSize[0]?(T(),U("div",Su,[(T(),ie(er,null,[(T(),ie(st(i(a))))],1024))])):ue("",!0)}}),xu={class:"w-full h-full flex flex-col",id:"preview-select-row"},Cu=de({__name:"SecondarySideBar",setup(e){return(t,n)=>(T(),U("div",xu))}}),Eu=de({__name:"CurrentPositionPath",setup(e){const{workspaceStore:t,connectionStore:n,tabViewStore:a,schemaStore:r}=je(),{selectedWorkspace:o}=ye(t),{selectedConnection:l}=ye(n),{activeSchema:u}=ye(r),{activeTab:s}=ye(a);return K(()=>!!u.value&&!!l.value),K(()=>!!u.value&&!!l.value&&!!s.value),(f,d)=>{const c=be;return T(),ie(i(tr),null,{default:x(()=>[m(i(nr),{class:"gap-0.5!"},{default:x(()=>{var y;return[m(i(na),{class:"text-xs"},{default:x(()=>{var p,v;return[(p=i(o))!=null&&p.icon?(T(),ie(c,{key:0,name:i(o).icon,class:"size-3!"},null,8,["name"])):ue("",!0),q(" "+se((v=i(o))==null?void 0:v.name),1)]}),_:1}),(y=i(l))!=null&&y.id?(T(),ie(i(ar),{key:0})):ue("",!0),m(i(na),{class:"text-xs"},{default:x(()=>{var p,v,h,g;return[(p=i(l))!=null&&p.id?(T(),ie(st((h=i(gn)((v=i(l))==null?void 0:v.type))==null?void 0:h.icon),{key:0,class:"size-3!"})):ue("",!0),q(" "+se((g=i(l))==null?void 0:g.name),1)]}),_:1})]}),_:1})]),_:1})}}}),Iu={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between bg-sidebar"},Tu={class:"flex items-center gap-3 h-full"},Du={key:0,class:"text-muted-foreground text-xs"},_u={class:"text-black/80 inline"},Au={class:"flex items-center gap-3"},Ru=de({__name:"StatusBar",setup(e){const{tabViewStore:t}=je(),{openChangelog:n}=or(),{activeTab:a}=ye(t),r=async()=>{await rr("/")},o=K(()=>{var u;const l=(u=a.value)==null?void 0:u.type;if(!l)return"";switch(l){case te.AllERD:case te.DetailERD:return"erd";case te.TableOverview:case te.TableDetail:return"table";case te.FunctionsOverview:case te.FunctionsDetail:return"func";case te.ViewOverview:case te.ViewDetail:return"view";case te.CodeQuery:return"raw query";default:return""}});return(l,u)=>{var y,p,v;const s=be,f=Fe,d=Me,c=Le;return T(),U("div",Iu,[I("div",Tu,[m(c,null,{default:x(()=>[m(f,{"as-child":""},{default:x(()=>[I("div",{class:"flex items-center h-full gap-0.5 hover:bg-muted px-1 rounded cursor-pointer",onClick:r},[m(s,{name:"hugeicons:home-06",class:"size-4!"}),u[1]||(u[1]=I("p",{class:"text-xs inline"},"Home",-1))])]),_:1}),m(d,null,{default:x(()=>u[2]||(u[2]=[q(" Back to Home ")])),_:1})]),_:1}),m(Eu)]),i(a)?(T(),U("div",Du,[q(se(i(o))+": ",1),I("p",_u,se((y=i(a))!=null&&y.schemaId?`${(p=i(a))==null?void 0:p.schemaId}.`:"")+se((v=i(a))==null?void 0:v.name),1)])):ue("",!0),I("div",Au,[m(c,null,{default:x(()=>[m(f,{"as-child":""},{default:x(()=>[I("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:u[0]||(u[0]=(...h)=>i(n)&&i(n)(...h))},[m(s,{name:"hugeicons:notification-01",class:"size-4!"})])]),_:1}),m(d,null,{default:x(()=>u[3]||(u[3]=[q(" What's New ")])),_:1})]),_:1})])])}}});var ln={},pt={},da;function mo(){if(da)return pt;da=1,Object.defineProperty(pt,"__esModule",{value:!0}),pt.bind=void 0;function e(t,n){var a=n.type,r=n.listener,o=n.options;return t.addEventListener(a,r,o),function(){t.removeEventListener(a,r,o)}}return pt.bind=e,pt}var Ze={},fa;function $u(){if(fa)return Ze;fa=1;var e=Ze&&Ze.__assign||function(){return e=Object.assign||function(o){for(var l,u=1,s=arguments.length;u<s;u++){l=arguments[u];for(var f in l)Object.prototype.hasOwnProperty.call(l,f)&&(o[f]=l[f])}return o},e.apply(this,arguments)};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.bindAll=void 0;var t=mo();function n(o){if(!(typeof o>"u"))return typeof o=="boolean"?{capture:o}:o}function a(o,l){if(l==null)return o;var u=e(e({},o),{options:e(e({},n(l)),n(o.options))});return u}function r(o,l,u){var s=l.map(function(f){var d=a(f,u);return(0,t.bind)(o,d)});return function(){s.forEach(function(d){return d()})}}return Ze.bindAll=r,Ze}var pa;function Ou(){return pa||(pa=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=e.bind=void 0;var t=mo();Object.defineProperty(e,"bind",{enumerable:!0,get:function(){return t.bind}});var n=$u();Object.defineProperty(e,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}(ln)),ln}var it=Ou(),vo="data-pdnd-honey-pot";function go(e){return e instanceof Element&&e.hasAttribute(vo)}function Qn(e){var t=document.elementsFromPoint(e.x,e.y),n=Ua(t,2),a=n[0],r=n[1];return a?go(a)?r??null:a:null}function St(e){"@babel/helpers - typeof";return St=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},St(e)}function Nu(e,t){if(St(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var a=n.call(e,t);if(St(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function ku(e){var t=Nu(e,"string");return St(t)=="symbol"?t:t+""}function $e(e,t,n){return(t=ku(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yo=2147483647;function ma(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function va(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ma(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ma(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}var wt=2,ga=wt/2;function Pu(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function Lu(e){return{x:e.x-ga,y:e.y-ga}}function zu(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function Fu(e){return{x:Math.min(e.x,window.innerWidth-wt),y:Math.min(e.y,window.innerHeight-wt)}}function ya(e){var t=e.client,n=Fu(zu(Lu(Pu(t))));return DOMRect.fromRect({x:n.x,y:n.y,width:wt,height:wt})}function ha(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 Mu(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function Vu(e){var t=e.initial,n=document.createElement("div");n.setAttribute(vo,"true");var a=ya({client:t});Object.assign(n.style,va(va({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},ha({clientRect:a})),{},{pointerEvents:"auto",zIndex:yo})),document.body.appendChild(n);var r=it.bind(window,{type:"pointermove",listener:function(l){var u={x:l.clientX,y:l.clientY};a=ya({client:u}),Object.assign(n.style,ha({clientRect:a}))},options:{capture:!0}});return function(l){var u=l.current;if(r(),Mu({client:u,clientRect:a})){n.remove();return}function s(){f(),n.remove()}var f=it.bindAll(window,[{type:"pointerdown",listener:s},{type:"pointermove",listener:s},{type:"focusin",listener:s},{type:"focusout",listener:s},{type:"dragstart",listener:s},{type:"dragenter",listener:s},{type:"dragover",listener:s}],{capture:!0})}}function Uu(){var e=null;function t(){return e=null,it.bind(window,{type:"pointermove",listener:function(r){e={x:r.clientX,y:r.clientY}},options:{capture:!0}})}function n(){var a=null;return function(o){var l=o.eventName,u=o.payload;if(l==="onDragStart"){var s=u.location.initial.input,f=e??{x:s.clientX,y:s.clientY};a=Vu({initial:f})}if(l==="onDrop"){var d,c=u.location.current.input;(d=a)===null||d===void 0||d({current:{x:c.clientX,y:c.clientY}}),a=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function ju(e){if(Array.isArray(e))return lr(e)}function Bu(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Gu(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
69
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ho(e){return ju(e)||Bu(e)||sr(e)||Gu()}function Xn(e){var t=null;return function(){if(!t){for(var a=arguments.length,r=new Array(a),o=0;o<a;o++)r[o]=arguments[o];var l=e.apply(this,r);t={result:l}}return t.result}}var qu=Xn(function(){return navigator.userAgent.includes("Firefox")}),Kt=Xn(function(){var t=navigator,n=t.userAgent;return n.includes("AppleWebKit")&&!n.includes("Chrome")}),bn={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function Hu(e){var t=e.dragLeave;return Kt()?t.hasOwnProperty(bn.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Kt())return;function t(){return{enterCount:0,isOverWindow:!1}}var n=t();function a(){n=t()}it.bindAll(window,[{type:"dragstart",listener:function(){n.enterCount=0,n.isOverWindow=!0}},{type:"drop",listener:a},{type:"dragend",listener:a},{type:"dragenter",listener:function(o){!n.isOverWindow&&n.enterCount===0&&(o[bn.isEnteringWindow]=!0),n.isOverWindow=!0,n.enterCount++}},{type:"dragleave",listener:function(o){n.enterCount--,n.isOverWindow&&n.enterCount===0&&(o[bn.isLeavingWindow]=!0,n.isOverWindow=!1)}}],{capture:!0})})();function Wu(e){return"nodeName"in e}function Ku(e){return Wu(e)&&e.ownerDocument!==document}function Qu(e){var t=e.dragLeave,n=t.type,a=t.relatedTarget;return n!=="dragleave"?!1:Kt()?Hu({dragLeave:t}):a==null?!0:qu()?Ku(a):a instanceof HTMLIFrameElement}function Xu(e){var t=e.onDragEnd;return[{type:"pointermove",listener:function(){var n=0;return function(){if(n<20){n++;return}t()}}()},{type:"pointerdown",listener:t}]}function gt(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 Yu=function(t){var n=[],a=null,r=function(){for(var l=arguments.length,u=new Array(l),s=0;s<l;s++)u[s]=arguments[s];n=u,!a&&(a=requestAnimationFrame(function(){a=null,t.apply(void 0,n)}))};return r.cancel=function(){a&&(cancelAnimationFrame(a),a=null)},r},sn=Yu(function(e){return e()}),Nt=function(){var e=null;function t(a){var r=requestAnimationFrame(function(){e=null,a()});e={frameId:r,fn:a}}function n(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return{schedule:t,flush:n}}();function Ju(e){var t=e.source,n=e.initial,a=e.dispatchEvent,r={dropTargets:[]};function o(u){a(u),r={dropTargets:u.payload.location.current.dropTargets}}var l={start:function(s){var f=s.nativeSetDragImage,d={current:n,previous:r,initial:n};o({eventName:"onGenerateDragPreview",payload:{source:t,location:d,nativeSetDragImage:f}}),Nt.schedule(function(){o({eventName:"onDragStart",payload:{source:t,location:d}})})},dragUpdate:function(s){var f=s.current;Nt.flush(),sn.cancel(),o({eventName:"onDropTargetChange",payload:{source:t,location:{initial:n,previous:r,current:f}}})},drag:function(s){var f=s.current;sn(function(){Nt.flush();var d={initial:n,previous:r,current:f};o({eventName:"onDrag",payload:{source:t,location:d}})})},drop:function(s){var f=s.current,d=s.updatedSourcePayload;Nt.flush(),sn.cancel(),o({eventName:"onDrop",payload:{source:d??t,location:{current:f,previous:r,initial:n}}})}};return l}var Sn={isActive:!1};function bo(){return!Sn.isActive}function Zu(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function ec(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var a=0;a<t.length;a++)if(t[a].element!==n[a].element)return!0;return!1}function tc(e){var t=e.event,n=e.dragType,a=e.getDropTargetsOver,r=e.dispatchEvent;if(!bo())return;var o=nc({event:t,dragType:n,getDropTargetsOver:a});Sn.isActive=!0;var l={current:o};un({event:t,current:o.dropTargets});var u=Ju({source:n.payload,dispatchEvent:r,initial:o});function s(p){var v=ec({current:l.current.dropTargets,next:p.dropTargets});l.current=p,v&&u.dragUpdate({current:l.current})}function f(p){var v=gt(p),h=go(p.target)?Qn({x:v.clientX,y:v.clientY}):p.target,g=a({target:h,input:v,source:n.payload,current:l.current.dropTargets});g.length&&(p.preventDefault(),un({event:p,current:g})),s({dropTargets:g,input:v})}function d(){l.current.dropTargets.length&&s({dropTargets:[],input:l.current.input}),u.drop({current:l.current,updatedSourcePayload:null}),c()}function c(){Sn.isActive=!1,y()}var y=it.bindAll(window,[{type:"dragover",listener:function(v){f(v),u.drag({current:l.current})}},{type:"dragenter",listener:f},{type:"dragleave",listener:function(v){Qu({dragLeave:v})&&(s({input:l.current.input,dropTargets:[]}),n.startedFrom==="external"&&d())}},{type:"drop",listener:function(v){if(l.current={dropTargets:l.current.dropTargets,input:gt(v)},!l.current.dropTargets.length){d();return}v.preventDefault(),un({event:v,current:l.current.dropTargets}),u.drop({current:l.current,updatedSourcePayload:n.type==="external"?n.getDropPayload(v):null}),c()}},{type:"dragend",listener:function(v){l.current={dropTargets:l.current.dropTargets,input:gt(v)},d()}}].concat(ho(Xu({onDragEnd:d}))),{capture:!0});u.start({nativeSetDragImage:Zu(t)})}function un(e){var t,n=e.event,a=e.current,r=(t=a[0])===null||t===void 0?void 0:t.dropEffect;r!=null&&n.dataTransfer&&(n.dataTransfer.dropEffect=r)}function nc(e){var t=e.event,n=e.dragType,a=e.getDropTargetsOver,r=gt(t);if(n.startedFrom==="external")return{input:r,dropTargets:[]};var o=a({input:r,source:n.payload,target:t.target,current:[]});return{input:r,dropTargets:o}}var ba={canStart:bo,start:tc},wn=new Map;function ac(e){var t=e.typeKey,n=e.mount,a=wn.get(t);if(a)return a.usageCount++,a;var r={typeKey:t,unmount:n(),usageCount:1};return wn.set(t,r),r}function oc(e){var t=ac(e);return function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),wn.delete(e.typeKey))}}function ut(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(){t.forEach(function(r){return r()})}}function So(e,t){var n=t.attribute,a=t.value;return e.setAttribute(n,a),function(){return e.removeAttribute(n)}}function Sa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function He(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Sa(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sa(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function cn(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=rc(e))||t){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(f){throw f},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
70
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,l=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var f=n.next();return l=f.done,f},e:function(f){u=!0,o=f},f:function(){try{l||n.return==null||n.return()}finally{if(u)throw o}}}}function rc(e,t){if(e){if(typeof e=="string")return wa(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?wa(e,t):void 0}}function wa(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function dn(e){return e.slice(0).reverse()}function lc(e){var t=e.typeKey,n=e.defaultDropEffect,a=new WeakMap,r="data-drop-target-for-".concat(t),o="[".concat(r,"]");function l(p){return a.set(p.element,p),function(){return a.delete(p.element)}}function u(p){return ut(So(p.element,{attribute:r,value:"true"}),l(p))}function s(p){var v,h,g,w,S=p.source,C=p.target,E=p.input,O=p.result,F=O===void 0?[]:O;if(C==null)return F;if(!(C instanceof Element))return C instanceof Node?s({source:S,target:C.parentElement,input:E,result:F}):F;var J=C.closest(o);if(J==null)return F;var _=a.get(J);if(_==null)return F;var R={input:E,source:S,element:_.element};if(_.canDrop&&!_.canDrop(R))return s({source:S,target:_.element.parentElement,input:E,result:F});var D=(v=(h=_.getData)===null||h===void 0?void 0:h.call(_,R))!==null&&v!==void 0?v:{},L=(g=(w=_.getDropEffect)===null||w===void 0?void 0:w.call(_,R))!==null&&g!==void 0?g:n,B={data:D,element:_.element,dropEffect:L,isActiveDueToStickiness:!1};return s({source:S,target:_.element.parentElement,input:E,result:[].concat(ho(F),[B])})}function f(p){var v=p.eventName,h=p.payload,g=cn(h.location.current.dropTargets),w;try{for(g.s();!(w=g.n()).done;){var S,C=w.value,E=a.get(C.element),O=He(He({},h),{},{self:C});E==null||(S=E[v])===null||S===void 0||S.call(E,O)}}catch(F){g.e(F)}finally{g.f()}}var d={onGenerateDragPreview:f,onDrag:f,onDragStart:f,onDrop:f,onDropTargetChange:function(v){var h=v.payload,g=new Set(h.location.current.dropTargets.map(function(P){return P.element})),w=new Set,S=cn(h.location.previous.dropTargets),C;try{for(S.s();!(C=S.n()).done;){var E,O=C.value;w.add(O.element);var F=a.get(O.element),J=g.has(O.element),_=He(He({},h),{},{self:O});if(F==null||(E=F.onDropTargetChange)===null||E===void 0||E.call(F,_),!J){var R;F==null||(R=F.onDragLeave)===null||R===void 0||R.call(F,_)}}}catch(P){S.e(P)}finally{S.f()}var D=cn(h.location.current.dropTargets),L;try{for(D.s();!(L=D.n()).done;){var B,$,G=L.value;if(!w.has(G.element)){var ee=He(He({},h),{},{self:G}),ne=a.get(G.element);ne==null||(B=ne.onDropTargetChange)===null||B===void 0||B.call(ne,ee),ne==null||($=ne.onDragEnter)===null||$===void 0||$.call(ne,ee)}}}catch(P){D.e(P)}finally{D.f()}}};function c(p){d[p.eventName](p)}function y(p){var v=p.source,h=p.target,g=p.input,w=p.current,S=s({source:v,target:h,input:g});if(S.length>=w.length)return S;for(var C=dn(w),E=dn(S),O=[],F=0;F<C.length;F++){var J,_=C[F],R=E[F];if(R!=null){O.push(R);continue}var D=O[F-1],L=C[F-1];if((D==null?void 0:D.element)!==(L==null?void 0:L.element))break;var B=a.get(_.element);if(!B)break;var $={input:g,source:v,element:B.element};if(B.canDrop&&!B.canDrop($)||!((J=B.getIsSticky)!==null&&J!==void 0&&J.call(B,$)))break;O.push(He(He({},_),{},{isActiveDueToStickiness:!0}))}return dn(O)}return{dropTargetForConsumers:u,getIsOver:y,dispatchEvent:c}}function sc(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ic(e))||t){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(f){throw f},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
71
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,l=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var f=n.next();return l=f.done,f},e:function(f){u=!0,o=f},f:function(){try{l||n.return==null||n.return()}finally{if(u)throw o}}}}function ic(e,t){if(e){if(typeof e=="string")return xa(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?xa(e,t):void 0}}function xa(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Ca(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function uc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ca(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ca(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function cc(){var e=new Set,t=null;function n(o){t&&(!o.canMonitor||o.canMonitor(t.canMonitorArgs))&&t.active.add(o)}function a(o){var l=uc({},o);return e.add(l),n(l),function(){e.delete(l),t&&t.active.delete(l)}}function r(o){var l=o.eventName,u=o.payload;if(l==="onGenerateDragPreview"){t={canMonitorArgs:{initial:u.location.initial,source:u.source},active:new Set};var s=sc(e),f;try{for(s.s();!(f=s.n()).done;){var d=f.value;n(d)}}catch(g){s.e(g)}finally{s.f()}}if(t){for(var c=Array.from(t.active),y=0,p=c;y<p.length;y++){var v=p[y];if(t.active.has(v)){var h;(h=v[l])===null||h===void 0||h.call(v,u)}}l==="onDrop"&&(t.active.clear(),t=null)}}return{dispatchEvent:r,monitorForConsumers:a}}function dc(e){var t=e.typeKey,n=e.mount,a=e.dispatchEventToSource,r=e.onPostDispatch,o=e.defaultDropEffect,l=cc(),u=lc({typeKey:t,defaultDropEffect:o});function s(c){a==null||a(c),u.dispatchEvent(c),l.dispatchEvent(c),r==null||r(c)}function f(c){var y=c.event,p=c.dragType;ba.start({event:y,dragType:p,getDropTargetsOver:u.getIsOver,dispatchEvent:s})}function d(){function c(){var y={canStart:ba.canStart,start:f};return n(y)}return oc({typeKey:t,mount:c})}return{registerUsage:d,dropTarget:u.dropTargetForConsumers,monitor:l.monitorForConsumers}}var fc=Xn(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),pc="pdnd:android-fallback",Ea="text/plain",mc="text/uri-list",vc="application/vnd.pdnd",Vt=new WeakMap;function gc(e){return Vt.set(e.element,e),function(){Vt.delete(e.element)}}var Ia=Uu(),Yn=dc({typeKey:"element",defaultDropEffect:"move",mount:function(t){return ut(Ia.bindEvents(),it.bind(document,{type:"dragstart",listener:function(a){var r,o,l,u,s,f;if(t.canStart(a)&&!a.defaultPrevented&&a.dataTransfer){var d=a.target;if(!(d instanceof HTMLElement))return null;var c=Vt.get(d);if(!c)return null;var y=gt(a),p={element:c.element,dragHandle:(r=c.dragHandle)!==null&&r!==void 0?r:null,input:y};if(c.canDrag&&!c.canDrag(p))return a.preventDefault(),null;if(c.dragHandle){var v=Qn({x:y.clientX,y:y.clientY});if(!c.dragHandle.contains(v))return a.preventDefault(),null}var h=(o=(l=c.getInitialDataForExternal)===null||l===void 0?void 0:l.call(c,p))!==null&&o!==void 0?o:null;if(h)for(var g=0,w=Object.entries(h);g<w.length;g++){var S=Ua(w[g],2),C=S[0],E=S[1];a.dataTransfer.setData(C,E??"")}fc()&&!a.dataTransfer.types.includes(Ea)&&!a.dataTransfer.types.includes(mc)&&a.dataTransfer.setData(Ea,pc),a.dataTransfer.setData(vc,"");var O={element:c.element,dragHandle:(u=c.dragHandle)!==null&&u!==void 0?u:null,data:(s=(f=c.getInitialData)===null||f===void 0?void 0:f.call(c,p))!==null&&s!==void 0?s:{}},F={type:"element",payload:O,startedFrom:"internal"};t.start({event:a,dragType:F})}}}))},dispatchEventToSource:function(t){var n,a,r=t.eventName,o=t.payload;(n=Vt.get(o.source.element))===null||n===void 0||(a=n[r])===null||a===void 0||a.call(n,o)},onPostDispatch:Ia.getOnPostDispatch()}),yc=Yn.dropTarget,Jn=Yn.monitor;function hc(e){return ut(Yn.registerUsage(),gc(e),So(e.element,{attribute:"draggable",value:"true"}))}var xt=new Map,Ft=new Set;function wo(e){bc(e);var t=xt.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return xt.set(e,n),n}function bc(e){Ft.add(e)}function Sc(e){Ft.clear(),e(),xt.forEach(function(t,n){Ft.has(n)||xt.delete(n)}),Ft.clear()}function wc(){xt.clear()}var Ta=new Map;function xc(e){var t=Ta.get(e);if(t)return t;var n=Cc(e);return Ta.set(e,n),n}function Cc(e){var t={type:"idle"},n=[];function a(s){if(t.type==="running"){var f=s-t.timeLastFrameFinished,d=t,c=d.latestArgs,y=Qn({x:c.location.current.input.clientX,y:c.location.current.input.clientY});Sc(function(){n.forEach(function(p){return p({underUsersPointer:y,latestArgs:c,timeSinceLastFrame:f})})}),t.timeLastFrameFinished=s,t.frameId=requestAnimationFrame(a)}}function r(){t.type!=="idle"&&(cancelAnimationFrame(t.frameId),wc(),t={type:"idle"})}function o(s){t.type==="idle"&&(t={type:"initializing",latestArgs:s,frameId:requestAnimationFrame(function(f){t.type==="initializing"&&(t={type:"running",timeLastFrameFinished:f,latestArgs:t.latestArgs,frameId:requestAnimationFrame(a)})})})}function l(s){if(t.type==="idle"){o(s);return}t.latestArgs=s}e({onDragStart:o,onDropTargetChange:l,onDrag:l,onDrop:r});var u={onFrame:function(f){n.push(f)}};return u}var xn="data-auto-scrollable",Ec="[".concat(xn,'="true"]');function Ic(e){return e.setAttribute(xn,"true"),function(){return e.removeAttribute(xn)}}function Da(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function _a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Da(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Da(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}var Tc={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},Dc={standard:15*60,fast:25*60};function xo(e){var t;return _a(_a({},Tc),{},{maxPixelScrollPerSecond:Dc[(t=e==null?void 0:e.maxScrollSpeed)!==null&&t!==void 0?t:"standard"]})}var _c={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"],Rc={top:"vertical",right:"horizontal",bottom:"vertical",left:"horizontal"},Aa={start:"top",end:"bottom",point:"y",size:"height"},Ra={start:"left",end:"right",point:"x",size:"width"},Co={vertical:{mainAxis:Aa,crossAxis:Ra},horizontal:{mainAxis:Ra,crossAxis:Aa}},Zn={top:"start",right:"end",bottom:"end",left:"start"};function kt(e){var t=e.edge,n=e.axis;return function(r){var o,l=r.clientRect,u=r.config,s=Co[n],f=s.mainAxis,d=s.crossAxis,c=Zn[t],y=Math.min(u.startHitboxAtPercentageRemainingOfElement[t]*l[f.size],u.maxMainAxisHitboxSize);return DOMRect.fromRect((o={},$e(o,f.point,c==="start"?l[f.point]:l[f.point]+l[f.size]-y),$e(o,d.point,l[d.point]),$e(o,f.size,y),$e(o,d.size,l[d.size]),o))}}var $c={top:kt({axis:"vertical",edge:"top"}),right:kt({axis:"horizontal",edge:"right"}),bottom:kt({axis:"vertical",edge:"bottom"}),left:kt({axis:"horizontal",edge:"left"})};function Cn(e){var t=e.startOfRange,n=e.endOfRange,a=e.value,r=t<n;if(!r||a<t)return 0;if(a>n)return 1;var o=n-t;return(a-t)/o}function Oc(e){var t=e.timeSinceLastFrame,n=e.config,a=n.maxPixelScrollPerSecond/1e3,r=Math.ceil(a*t),o=n.maxPixelScrollPerSecond/60;return Math.min(r,o)}function Nc(e){var t=e.client,n=e.axis,a=e.edge,r=e.hitbox,o=e.config,l=Co[n].mainAxis,u=Zn[a],s=r[l.size]*o.maxScrollAtPercentageRemainingOfHitbox[a];if(u==="end")return Cn({startOfRange:r[l.start],endOfRange:r[l.end]-s,value:t[l.point]});var f=Cn({startOfRange:r[l.start]+s,endOfRange:r[l.end],value:t[l.point]});return 1-f}function Pt(e){var t=e.client,n=e.timeSinceLastFrame,a=e.engagement,r=e.axis,o=e.hitbox,l=e.edge,u=e.isDistanceDampeningEnabled,s=e.config,f=Oc({timeSinceLastFrame:n,config:s}),d=u?Nc({client:t,edge:l,hitbox:o,axis:r,config:s}):1,c=Cn({startOfRange:a.timeOfEngagementStart,endOfRange:a.timeOfEngagementStart+s.timeDampeningDurationMs,value:Date.now()}),y=d*c,p=Math.max(f*y,1),v=Zn[l];return v==="end"?p:-1*p}function kc(e,t){return t==="all"||e===t}function Pc(e){var t=e.client,n=e.clientRect;return t.x>=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function Lc(e){return e.getBoundingClientRect()}function Eo(e){var t=e.element,n=e.input,a=e.timeSinceLastFrame,r=e.engagement,o=e.config,l=e.allowedAxis,u=e.getRect,s=u===void 0?Lc:u,f={x:n.clientX,y:n.clientY},d=s(t),c=Ac.reduce(function(v,h){var g=$c[h]({clientRect:d,config:o}),w=Rc[h];return!kc(w,l)||!Pc({client:f,clientRect:g})||!_c[h](t)||v.set(h,{edge:h,hitbox:g}),v},new Map),y=function(){var v="horizontal",h=c.get("left");if(h)return Pt({client:f,edge:h.edge,hitbox:h.hitbox,axis:v,timeSinceLastFrame:a,engagement:r,isDistanceDampeningEnabled:!0,config:o});var g=c.get("right");return g?Pt({client:f,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:a,engagement:r,isDistanceDampeningEnabled:!0,config:o}):0}(),p=function(){var v="vertical",h=c.get("bottom");if(h)return Pt({client:f,edge:h.edge,hitbox:h.hitbox,axis:v,timeSinceLastFrame:a,engagement:r,isDistanceDampeningEnabled:!0,config:o});var g=c.get("top");return g?Pt({client:f,edge:g.edge,hitbox:g.hitbox,axis:v,timeSinceLastFrame:a,engagement:r,isDistanceDampeningEnabled:!0,config:o}):0}();return{left:y,top:p}}function zc(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Fc(e))||t){n&&(e=n);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(f){throw f},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
72
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,l=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var f=n.next();return l=f.done,f},e:function(f){u=!0,o=f},f:function(){try{l||n.return==null||n.return()}finally{if(u)throw o}}}}function Fc(e,t){if(e){if(typeof e=="string")return $a(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$a(e,t):void 0}}function $a(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Io(e){return!!(e.top||e.left)}function To(e){var t,n,a,r=e.target,o=e.input,l=e.source,u=e.findEntry,s=e.timeSinceLastFrame,f=e.available,d=f===void 0?{top:!0,left:!0}:f;if(!Io(d)||!r)return d;var c=r.closest(Ec);if(!c)return d;var y=u(c);if(!y)return d;function p(){var E;return To({target:(E=c==null?void 0:c.parentElement)!==null&&E!==void 0?E:null,findEntry:u,source:l,timeSinceLastFrame:s,input:o,available:d})}var v={input:o,source:l,element:c};if(y.canScroll&&!y.canScroll(v))return p();var h=wo(c),g=xo((t=y.getConfiguration)===null||t===void 0?void 0:t.call(y,v)),w=(n=(a=y.getAllowedAxis)===null||a===void 0?void 0:a.call(y,v))!==null&&n!==void 0?n:"all",S=Eo({element:c,engagement:h,input:o,timeSinceLastFrame:s,allowedAxis:w,config:g}),C={top:0,left:0};return d.top&&S.top!==0&&(C.top=S.top,d.top=!1),d.left&&S.left!==0&&(C.left=S.left,d.left=!1),(C.top!==0||C.left!==0)&&c.scrollBy(C),p()}function Mc(e){var t=e.input,n=e.timeSinceLastFrame,a=e.available,r=e.source,o=e.entries,l=document.documentElement,u={input:t,source:r,element:l},s=zc(o),f;try{for(s.s();!(f=s.n()).done;){var d,c,y,p=f.value;if(!(p.canScroll&&!p.canScroll(u))){var v=wo(l),h=xo((d=p.getConfiguration)===null||d===void 0?void 0:d.call(p,u)),g=(c=(y=p.getAllowedAxis)===null||y===void 0?void 0:y.call(p,u))!==null&&c!==void 0?c:"all",w=Eo({element:l,engagement:v,input:t,config:h,allowedAxis:g,getRect:function(E){return DOMRect.fromRect({y:0,x:0,width:E.clientWidth,height:E.clientHeight})},timeSinceLastFrame:n}),S={top:a.top?w.top:0,left:a.left?w.left:0};(S.top!==0||S.left!==0)&&l.scrollBy(S);break}}}catch(C){s.e(C)}finally{s.f()}}function Vc(e){var t=e.input,n=e.findEntry,a=e.timeSinceLastFrame,r=e.source,o=e.getWindowScrollEntries,l=e.underUsersPointer,u=To({target:l,timeSinceLastFrame:a,input:t,source:r,findEntry:n});Io(u)&&Mc({input:t,source:r,entries:o(),timeSinceLastFrame:a,available:u})}function Oa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function Uc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Oa(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Oa(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function jc(e){var t=e.monitor,n=new Map,a=new Set;function r(f){return n.set(f.element,f),ut(Ic(f.element),function(){return n.delete(f.element)})}function o(){var f=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},d=Uc({},f);return a.add(d),function(){return a.delete(d)}}function l(f){var d;return(d=n.get(f))!==null&&d!==void 0?d:null}function u(){return Array.from(a)}function s(f){var d=f.latestArgs,c=f.underUsersPointer,y=f.timeSinceLastFrame;Vc({input:d.location.current.input,source:d.source,findEntry:l,underUsersPointer:c,timeSinceLastFrame:y,getWindowScrollEntries:u})}return xc(t).onFrame(s),{autoScroll:r,autoScrollWindow:o}}var Bc=jc({monitor:Jn}),Gc=Bc.autoScroll;function Na(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,a)}return n}function ka(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Na(Object(n),!0).forEach(function(a){$e(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Na(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}var qc={top:function(t,n){return Math.abs(n.y-t.top)},right:function(t,n){return Math.abs(t.right-n.x)},bottom:function(t,n){return Math.abs(t.bottom-n.y)},left:function(t,n){return Math.abs(n.x-t.left)}},Do=Symbol("closestEdge");function Hc(e,t){var n,a,r=t.element,o=t.input,l=t.allowedEdges,u={x:o.clientX,y:o.clientY},s=r.getBoundingClientRect(),f=l.map(function(c){return{edge:c,value:qc[c](s,u)}}),d=(n=(a=f.sort(function(c,y){return c.value-y.value})[0])===null||a===void 0?void 0:a.edge)!==null&&n!==void 0?n:null;return ka(ka({},e),{},$e({},Do,d))}function _o(e){var t;return(t=e[Do])!==null&&t!==void 0?t:null}function Wc(e){var t=e.startIndex,n=e.closestEdgeOfTarget,a=e.indexOfTarget;if(t===-1||a===-1||t===a)return t;if(n==null)return a;var r=n==="right",o=t<a;return o?r?a:a-1:r?a+1:a}function Kc(e){var t=e.element,n=e.input;return function(a){var r=a.container,o=t.getBoundingClientRect(),l=r.getBoundingClientRect(),u=Math.min(n.clientX-o.x,l.width),s=Math.min(n.clientY-o.y,l.height);return{x:u,y:s}}}function Qc(){return{x:0,y:0}}function Xc(e){var t=e.render,n=e.nativeSetDragImage,a=e.getOffset,r=a===void 0?Qc:a,o=document.createElement("div");Object.assign(o.style,{position:"fixed",top:0,left:0,zIndex:yo,pointerEvents:"none"}),document.body.append(o);var l=t({container:o});queueMicrotask(function(){var f=r({container:o});if(Kt()){var d=o.getBoundingClientRect();if(d.width===0)return;o.style.left="-".concat(d.width-1e-4,"px")}n==null||n(o,f.x,f.y)});function u(){s(),l==null||l(),document.body.removeChild(o)}var s=Jn({onDragStart:u,onDrop:u})}const Yc={class:"bg-white w-44 max-w-44 text-blackA11 rounded-md flex items-center gap-2 text-sm font-medium h-7 px-3 py-1.5"},Jc=de({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(e){return(t,n)=>(T(),U("div",Yc,se(t.name),1))}}),Zc={class:"truncate"},ed=de({__name:"TabViewItem",props:{tab:{},isActive:{type:Boolean},selectTab:{type:Function},closeTab:{type:Function},onRightClickItem:{type:Function}},setup(e){const t=e,n=Pe(),a=Pe(),r=W(!1),o=W(!1),l=W(),u=W(!1);return tt(s=>{const f=vn(n),d=vn(a);if(!f||!d)return;const c=ut(hc({element:f,getInitialData:()=>t.tab,onDragStart:y=>{r.value=!0},onDrop:()=>{r.value=!1,t.selectTab(t.tab.id)},onGenerateDragPreview:({location:y,nativeSetDragImage:p})=>{Xc({nativeSetDragImage:p,getOffset:Kc({element:f,input:y.current.input}),render({container:v}){return fn(za(Jc,{icon:t.tab.icon,name:t.tab.name},t.tab.name),v),()=>{fn(null,v)}}})}}),yc({element:d,getData:({input:y,element:p})=>{const v={id:t.tab.id};return Hc(v,{element:p,input:y,allowedEdges:["left","right"]})},canDrop:({source:y})=>!0,onDrag:({self:y,source:p,location:v})=>{const h=_o(y.data);h&&(l.value=h)},onDragEnter:({self:y,source:p})=>{var h,g;const v=((h=y.data)==null?void 0:h.id)!==p.data.id;t.tab.id===((g=y.data)==null?void 0:g.id)&&v&&(u.value=!0)},onDragLeave:()=>{o.value=!1,u.value=!1},onDrop:({location:y})=>{o.value=!1,u.value=!1},getIsSticky:()=>!1}));s(()=>c())}),(s,f)=>{const d=be,c=Fe,y=Me,p=Le,v=ze;return T(),U("div",{class:"relative",onContextmenu:f[2]||(f[2]=Ne(()=>{s.onRightClickItem(s.tab)},["right"])),ref_key:"outerElementRef",ref:a},[I("div",{class:he(["pb-[1px]",["border rounded-t-md transition-all duration-300 ease-out",s.isActive?"bg-white shadow-xl border-b-transparent rounded-b-none":"border-transparent"]])},[m(v,{ref_key:"innerElementRef",ref:n,variant:"ghost",size:"sm",class:he(["h-7! max-w-44 justify-start! font-normal p-2! hover:[&>div]:opacity-100 border border-transparent",s.isActive?"bg-white rounded-b-none hover:bg-transparent ":"hover:bg-primary/10 hover:border-border",r.value?"bg-primary/5":""]),onClick:f[1]||(f[1]=Ne(h=>s.selectTab(s.tab.id),["left"])),id:s.tab.id},{default:x(()=>[m(d,{name:s.tab.icon,class:he(i(Ct)("size-4 min-w-4",s.tab.iconClass))},null,8,["name","class"]),m(p,{id:s.tab.id},{default:x(()=>[m(c,{"as-child":""},{default:x(()=>[I("div",Zc,se(s.tab.name),1)]),_:1}),m(y,{side:"bottom"},{default:x(()=>[I("p",null,se(s.tab.name),1)]),_:1})]),_:1},8,["id"]),I("div",{class:"hover:bg-accent p-0.5 rounded-full opacity-0",onClick:f[0]||(f[0]=Ne(()=>s.closeTab(s.tab.id),["stop"]))},[m(i(ir),{class:"size-3 stroke-[2.5]!"})])]),_:1},8,["class","id"])],2),u.value&&l.value?(T(),U("div",{key:0,class:"absolute h-7 w-0.5 top-0 rounded-md bg-accent-foreground",style:ke({[l.value==="left"?"left":"right"]:"0px"})},null,4)):ue("",!0)],544)}}}),td={class:"flex items-end"},nd=de({__name:"TabViews",setup(e){const t=Pn(),{tabViews:n}=ye(t),a=Pe(),r=W(!1),o=W(),l=K(()=>{if(!o.value)return!1;const u=n.value.length,s=n.value.findIndex(f=>{var d;return f.id===((d=o.value)==null?void 0:d.id)});return u>s+1});return tt(u=>{const s=vn(a);if(!s)return;const f=ut(Jn({onDragStart(d){r.value=!0},onDrop(d){r.value=!1;const{location:c,source:y}=d;if(!c.current.dropTargets.length)return;const p=y.data.id,v=c.current.dropTargets[0],h=v.data.id,g=_o(v.data);if(!g)return;const w=n.value.findIndex(E=>E.id===p),S=n.value.findIndex(E=>E.id===h),C=Wc({startIndex:w,indexOfTarget:S,closestEdgeOfTarget:g});t.moveTabTo(w,C)}}),Gc({element:s}));u(()=>{f()})}),(u,s)=>{const f=_n("auto-animate");return T(),U("div",{class:he(["w-full flex items-end h-full space-x-2 mx-1 -mb-0.5 overflow-x-auto hidden-scroll-container relative",i(r)?"bg-purple-50":""]),ref_key:"elementRef",ref:a},[m(i(br),null,{default:x(()=>[m(i(Sr),null,{default:x(()=>[We((T(),U("div",td,[(T(!0),U(Ee,null,_e(i(n),d=>{var c;return T(),ie(ed,{key:d.id,tab:d,isActive:d.id===((c=i(t).activeTab)==null?void 0:c.id),selectTab:i(t).selectTab,closeTab:i(t).closeTab,onRightClickItem:()=>{o.value=d}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[f,{duration:120}]]),i(o)?(T(),ie(i(wr),{key:0,hideWhenDetached:"",class:"w-56"},{default:x(()=>[m(i(Zt),{onSelect:s[0]||(s[0]=d=>i(t).closeTab(i(o).id))},{default:x(()=>[s[4]||(s[4]=q(" Close ")),m(i(tn),null,{default:x(()=>s[3]||(s[3]=[q("⌘W")])),_:1})]),_:1}),m(i(Zt),{onSelect:s[1]||(s[1]=d=>i(t).closeOtherTab(i(o).id))},{default:x(()=>[s[6]||(s[6]=q(" Close other ")),m(i(tn),null,{default:x(()=>s[5]||(s[5]=[q("⌘AO")])),_:1})]),_:1}),m(i(Zt),{disabled:!i(l),onSelect:s[2]||(s[2]=d=>i(t).closeToTheRight(i(o).id))},{default:x(()=>[s[8]||(s[8]=q(" Close to the right ")),m(i(tn),null,{default:x(()=>s[7]||(s[7]=[q("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):ue("",!0)]),_:1})]),_:1})],2)}}}),ad={class:"flex justify-between items-center h-full"},od={key:0,class:"vitrual-light-trafic-button"},rd=de({__name:"TabViewContainer",props:{primarySideBarWidth:{}},setup(e){const t=e,n=kn(),a=Et(),{isPrimarySidebarCollapsed:r,isSecondSidebarCollapsed:o}=ye(a),l=K(()=>$r()),u=K(()=>Or()),s=K(()=>a.layoutSize[0]?`${t.primarySideBarWidth}px`:"2.25rem"),f=K(()=>!n.meta.notAllowRightPanel);return(d,c)=>{const y=be,p=ze,v=Fe,h=Me,g=Le;return T(),U("div",{class:he(["w-screen h-9 select-none border-b pr-2 electron-drag-region bg-sidebar!",i(u)&&i(r)?"pl-[4.5rem]":"",i(l)&&i(r)?"pl-[6rem]":"",i(l)&&"h-10.5 header-tab-view-pwa"])},[I("div",ad,[I("div",{class:"flex items-center gap-1 h-full px-1",style:ke({minWidth:i(s),justifyContent:i(r)?"center":"space-between"})},[i(l)&&!i(r)?(T(),U("div",od)):ue("",!0),i(r)?ue("",!0):(T(),U("div",{key:1,class:he([i(u)?"pl-[4.5rem]":"","flex justify-center w-full"])},[m(i(bl))],2)),m(g,null,{default:x(()=>[m(v,{"as-child":""},{default:x(()=>[m(p,{variant:"ghost",size:"iconSm",onClick:c[0]||(c[0]=w=>i(a).onToggleActivityBarPanel())},{default:x(()=>[i(r)?(T(),ie(y,{key:0,name:"hugeicons:sidebar-left",class:"size-5!"})):(T(),ie(y,{key:1,name:"hugeicons:sidebar-left-01",class:"size-5!"}))]),_:1})]),_:1}),m(h,null,{default:x(()=>c[2]||(c[2]=[q(" Toggle Sidebar ")])),_:1})]),_:1})],4),m(nd),m(g,null,{default:x(()=>[m(v,{"as-child":""},{default:x(()=>[i(f)?(T(),ie(p,{key:0,variant:"ghost",size:"iconSm",onClick:c[1]||(c[1]=w=>i(a).onToggleSecondSidebar())},{default:x(()=>[i(o)?(T(),ie(y,{key:0,name:"hugeicons:sidebar-right",class:"size-5!"})):(T(),ie(y,{key:1,name:"hugeicons:sidebar-right-01",class:"size-5!"}))]),_:1})):ue("",!0)]),_:1}),m(h,null,{default:x(()=>c[3]||(c[3]=[q(" Toggle Sidebar ")])),_:1})]),_:1})])],2)}}}),ld={class:"h-screen w-screen flex flex-col flex-1 max-h-screen overflow-y-auto"},sd={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},id={class:"overflow-y-auto w-full h-full"},ud={class:"flex flex-col overflow-y-auto w-full h-full"},Rd=de({__name:"default",setup(e){const t=kn(),n=nt("primarySideBarPanel"),{width:a}=ur(n),r=Et(),{layoutSize:o,isPrimarySidebarCollapsed:l,bodySize:u}=ye(r),s=K(()=>!t.meta.notAllowBottomPanel),f=K(()=>!t.meta.notAllowRightPanel);return cr([{key:"meta+shift+b",callback:()=>{f.value&&r.onToggleSecondSidebar()}},{key:"meta+b",callback:()=>{r.onToggleActivityBarPanel()}},{key:"meta+j",callback:()=>{s.value&&r.onToggleBottomPanel()}}]),(d,c)=>{const y=fl,p=dl,v=pl,h=_n("auto-animate");return T(),ie(v,{direction:"horizontal",id:"default-layout-group-1",onLayout:c[1]||(c[1]=g=>i(r).onResizeLayout(g))},{default:x(()=>[I("div",ld,[m(i(rd),{primarySideBarWidth:i(a)},null,8,["primarySideBarWidth"]),We((T(),U("div",sd,[i(l)?(T(),ie(i(yl),{key:0})):ue("",!0),m(y,{"min-size":10,"max-size":40,"default-size":i(o)[0],"collapsed-size":0,ref:"primarySideBarPanel",collapsible:"",id:"default-layout-group-1-panel-1",key:"primarySideBarPanel"},{default:x(()=>[m(i(wu))]),_:1},8,["default-size"]),m(p,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-1","with-handle":""}),m(y,{id:"default-layout-group-1-panel-2",key:"contentPanel"},{default:x(()=>[I("div",id,[m(v,{id:"default-layout-body-group",direction:"vertical",modelValue:i(u),"onUpdate:modelValue":c[0]||(c[0]=g=>Te(u)?u.value=g:null),onLayout:i(r).onResizeBody},{default:x(()=>[m(y,{id:"default-layout-body-group-panel-1",key:"default-layout-body-group-panel-1"},{default:x(()=>[I("div",ud,[Ue(d.$slots,"default")])]),_:3}),We(m(p,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!","with-handle":""},null,512),[[At,i(s)]]),We(m(y,{"min-size":10,"max-size":70,"default-size":i(u)[1],"collapsed-size":0,collapsible:"",id:"default-layout-body-group-panel-2",key:"default-layout-body-group-panel-2"},{default:x(()=>c[2]||(c[2]=[I("div",{class:"flex flex-col flex-1 h-full p-1",id:"bottom-panel"},null,-1)])),_:1},8,["default-size"]),[[At,i(s)]])]),_:3},8,["modelValue","onLayout"])])]),_:3}),We(m(p,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-2","with-handle":""},null,512),[[At,i(f)]]),We(m(y,{id:"default-layout-group-1-panel-3","min-size":15,"max-size":40,"default-size":i(o)[2],"collapsed-size":0,collapsible:"",key:"secondarySideBarPanel"},{default:x(()=>[m(i(Cu))]),_:1},8,["default-size"]),[[At,i(f)]])])),[[h,{duration:i(It)}]]),m(i(Ru))])]),_:3})}}});export{Rd as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as r,u as d,a6 as i,r as p,a as o,o as l,f as n,g as u,e,P as _,n as c,l as f}from"./ykQL1ia3.js";const[R,v]=i("AvatarRoot");var h=r({__name:"AvatarRoot",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(s){return d(),v({imageLoadingStatus:p("idle")}),(a,t)=>(l(),o(e(_),{"as-child":a.asChild,as:a.as},{default:n(()=>[u(a.$slots,"default")]),_:3},8,["as-child","as"]))}}),m=h;const x=r({__name:"Avatar",props:{class:{}},setup(s){const a=s;return(t,C)=>(l(),o(e(m),{"data-slot":"avatar",class:c(e(f)("relative flex size-8 shrink-0 overflow-hidden rounded-full",a.class))},{default:n(()=>[u(t.$slots,"default")]),_:3},8,["class"]))}});export{x as _,R as i};
|