orcaq 1.0.30 → 1.0.32
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/{DzJD_fir.js → -p9JbKy8.js} +3 -3
- package/.output/public/_nuxt/019vQzZn.js +1 -0
- package/.output/public/_nuxt/0lRW_xjL.js +1 -0
- package/.output/public/_nuxt/{BV6TSzbC.js → 3UJtAGbG.js} +3 -2
- package/.output/public/_nuxt/ACOLmAuq.js +15 -0
- package/.output/public/_nuxt/B1X10hvy.js +261 -0
- package/.output/public/_nuxt/B27ECqWz.js +220 -0
- package/.output/public/_nuxt/B6EI6PpE.js +1 -0
- package/.output/public/_nuxt/B8JnYxjr.js +2 -0
- package/.output/public/_nuxt/B9Mt45db.js +1 -0
- package/.output/public/_nuxt/B9zSkyFO.js +1 -0
- package/.output/public/_nuxt/BCcTASq_.js +139 -0
- package/.output/public/_nuxt/BJxYuvXF.js +7 -0
- package/.output/public/_nuxt/{FyrDS92w.js → BM4vnZvX.js} +101 -101
- package/.output/public/_nuxt/BNYR501z.js +1 -0
- package/.output/public/_nuxt/BQOaPJzs.js +145 -0
- package/.output/public/_nuxt/BUDtG__q.js +1 -0
- package/.output/public/_nuxt/BVLVn__t.js +9 -0
- package/.output/public/_nuxt/{KlH93fIm.js → BY1l0S_M.js} +1 -1
- package/.output/public/_nuxt/{ClnidwGv.js → B_PBOfFN.js} +2 -2
- package/.output/public/_nuxt/{y68LmDX2.js → BcvJQkv0.js} +1 -1
- package/.output/public/_nuxt/{llxtZpFD.js → BdN9B2_l.js} +2 -2
- package/.output/public/_nuxt/BflvengI.js +1 -0
- package/.output/public/_nuxt/BgolbRTO.js +1 -0
- package/.output/public/_nuxt/BhUkpIlA.js +1 -0
- package/.output/public/_nuxt/BsoQBloB.js +24 -0
- package/.output/public/_nuxt/BwISH3M4.js +1 -0
- package/.output/public/_nuxt/C-M4q4KX.js +1 -0
- package/.output/public/_nuxt/C07rlnlv.js +1 -0
- package/.output/public/_nuxt/C27bL9Es.js +1 -0
- package/.output/public/_nuxt/C2Ziircr.js +1 -0
- package/.output/public/_nuxt/C3NWXcpd.js +39 -0
- package/.output/public/_nuxt/C5p44jKD.js +1 -0
- package/.output/public/_nuxt/C617vhDd.js +1 -0
- package/.output/public/_nuxt/C6Vqzp-9.js +7 -0
- package/.output/public/_nuxt/C7C8tPlA.js +65 -0
- package/.output/public/_nuxt/C8S0o4Gy.js +1 -0
- package/.output/public/_nuxt/CHOD7i6O.js +4 -0
- package/.output/public/_nuxt/CNlsVoWh.js +1 -0
- package/.output/public/_nuxt/CQb_mUBo.js +1 -0
- package/.output/public/_nuxt/{MLO1tLKS.js → CSTzT9hP.js} +1 -1
- package/.output/public/_nuxt/CVliJ52o.js +162 -0
- package/.output/public/_nuxt/CWGdTiOD.js +1 -0
- package/.output/public/_nuxt/{CzF1NEwP.js → CWkPMmwS.js} +2 -2
- package/.output/public/_nuxt/CffFK_qY.js +189 -0
- package/.output/public/_nuxt/Cgy4ijjN.js +67 -0
- package/.output/public/_nuxt/ChkFTcxr.js +43 -0
- package/.output/public/_nuxt/Cjgqfl1g.js +10 -0
- package/.output/public/_nuxt/ClBBUcFW.js +1 -0
- package/.output/public/_nuxt/{DFd73eNR.js → ClYziJpO.js} +1 -1
- package/.output/public/_nuxt/CmKTTxBW.js +1 -0
- package/.output/public/_nuxt/CuRyxljq.js +1 -0
- package/.output/public/_nuxt/CvTHaPAO.js +1 -0
- package/.output/public/_nuxt/{HQyqkOpZ.js → CwdIiq6J.js} +1 -1
- package/.output/public/_nuxt/Cx4Bnfq1.js +2 -0
- package/.output/public/_nuxt/CyJtwmzi.js +331 -0
- package/.output/public/_nuxt/{ubO-cWd-.js → D-H6_V16.js} +1 -1
- package/.output/public/_nuxt/D-SDqguC.js +1 -0
- package/.output/public/_nuxt/{6I72R6kW.js → D-XwprNU.js} +1 -1
- package/.output/public/_nuxt/D3G5Xy_-.js +1 -0
- package/.output/public/_nuxt/D4jn2f-6.js +255 -0
- package/.output/public/_nuxt/D9o5Pdvp.js +1 -0
- package/.output/public/_nuxt/DDYV6jDr.js +1 -0
- package/.output/public/_nuxt/DFArp87o.js +1 -0
- package/.output/public/_nuxt/{C_CjS9Yt.js → DFZIXzfU.js} +1 -1
- package/.output/public/_nuxt/DHRNt0p9.js +1 -0
- package/.output/public/_nuxt/DLHYqHwF.js +24 -0
- package/.output/public/_nuxt/{D8pqASdN.js → DLKku6fV.js} +1 -1
- package/.output/public/_nuxt/DNZpxuwM.js +1 -0
- package/.output/public/_nuxt/DRKnK1N_.js +132 -0
- package/.output/public/_nuxt/DVxTxYP4.js +34 -0
- package/.output/public/_nuxt/{DQiMjOqm.js → DWgjNKGq.js} +1 -1
- package/.output/public/_nuxt/DX6XiGOO.js +1 -0
- package/.output/public/_nuxt/DYm57BZk.js +2 -0
- package/.output/public/_nuxt/DaQw8gVp.js +1 -0
- package/.output/public/_nuxt/DcfsxCxL.js +36 -0
- package/.output/public/_nuxt/DgnsV5Qb.js +1 -0
- package/.output/public/_nuxt/DkY69STm.js +292 -0
- package/.output/public/_nuxt/DkggUtNN.js +30 -0
- package/.output/public/_nuxt/Dnx67EG9.js +68 -0
- package/.output/public/_nuxt/{DVe5MHjS.js → DnxDSFih.js} +1 -1
- package/.output/public/_nuxt/Do5Fyo7J.js +1 -0
- package/.output/public/_nuxt/{h2fvG4Xe.js → Dqirx7MF.js} +1 -1
- package/.output/public/_nuxt/{WrapperErdDiagram.DsE2QNGr.css → ErdDiagram.Cnqgwj9d.css} +1 -1
- package/.output/public/_nuxt/FIJP2AmN.js +73 -0
- package/.output/public/_nuxt/Gi6I4Gst.js +1 -0
- package/.output/public/_nuxt/{C26aAkUg.js → GoTwJjoS.js} +1 -1
- package/.output/public/_nuxt/Hs25HoUO.js +22 -0
- package/.output/public/_nuxt/IitECNfD.js +89 -0
- package/.output/public/_nuxt/J2CvNR3L.js +1 -0
- package/.output/public/_nuxt/LFK46Fls.js +61 -0
- package/.output/public/_nuxt/LK6Q8l0D.js +1 -0
- package/.output/public/_nuxt/Oh9SO2qg.js +1 -0
- package/.output/public/_nuxt/{CtRc_P0d.js → P_8UoGnr.js} +2 -2
- package/.output/public/_nuxt/UqWhjgOc.js +10 -0
- package/.output/public/_nuxt/V5yaR3hv.js +2 -0
- package/.output/public/_nuxt/XWTuAj6n.js +1 -0
- package/.output/public/_nuxt/XqwbcqcW.js +1 -0
- package/.output/public/_nuxt/ZdjmUBoX.js +70 -0
- package/.output/public/_nuxt/_8UrUcVF.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/27a307c3-bfc5-4ccd-94b8-387eb94981bb.json +1 -0
- package/.output/public/_nuxt/cKBf5-av.js +1 -0
- package/.output/public/_nuxt/c_huf6xz.js +162 -0
- package/.output/public/_nuxt/entry.DeK5kcSi.css +1 -0
- package/.output/public/_nuxt/gO22NLpn.js +1 -0
- package/.output/public/_nuxt/index.xxedlMJo.css +1 -0
- package/.output/public/_nuxt/kc-op4gz.js +12 -0
- package/.output/public/_nuxt/lSaGvORn.js +10 -0
- package/.output/public/_nuxt/lY3EyFEK.js +1 -0
- package/.output/public/_nuxt/qsFoMdT2.js +1 -0
- package/.output/public/_nuxt/sE-55p4e.js +1 -0
- package/.output/public/_nuxt/tMhdAKU2.js +3 -0
- package/.output/public/_nuxt/trZyeId5.js +70 -0
- package/.output/public/_nuxt/uyCIL8xw.js +1 -0
- package/.output/server/chunks/_/db-connection.mjs +17 -3
- package/.output/server/chunks/_/db-connection.mjs.map +1 -1
- package/.output/server/chunks/_/instance-insights.factory.mjs.map +1 -1
- package/.output/server/chunks/_/metadata.factory.mjs +4 -5
- package/.output/server/chunks/_/metadata.factory.mjs.map +1 -1
- package/.output/server/chunks/_/query.factory.mjs +31 -2
- package/.output/server/chunks/_/query.factory.mjs.map +1 -1
- package/.output/server/chunks/build/client.manifest.mjs +1302 -546
- package/.output/server/chunks/build/client.manifest.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +712 -364
- package/.output/server/chunks/routes/api/ai/agent.mjs +258 -89
- package/.output/server/chunks/routes/api/ai/agent.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/chat.mjs +1 -2
- package/.output/server/chunks/routes/api/ai/chat.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-export/export-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-export/export-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-import/import-database.mjs +1 -2
- package/.output/server/chunks/routes/api/database-import/import-database.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/create-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/delete-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases-with-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-databases.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role-inheritance.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-role.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-roles.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schema-objects.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/get-schemas.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-bulk-permissions.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/grant-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs +1 -2
- package/.output/server/chunks/routes/api/database-roles/revoke-permission.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/overview.post.mjs +12 -10
- package/.output/server/chunks/routes/api/functions/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/rename.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/rename.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/signature.post.mjs +5 -3
- package/.output/server/chunks/routes/api/functions/signature.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/functions/update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/functions/update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/cancel-query.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/configuration.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/dashboard.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/drop-slot.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/replication.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/state.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/terminate-connection.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs +1 -2
- package/.output/server/chunks/routes/api/instance-insights/toggle-slot-status.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs +1 -2
- package/.output/server/chunks/routes/api/managment-connection/health-check.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/erd.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs +14 -12
- package/.output/server/chunks/routes/api/metadata/meta-data.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metadata/reverse-schemas.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs +12 -10
- package/.output/server/chunks/routes/api/metrics/monitor.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute-stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs +14 -12
- package/.output/server/chunks/routes/api/query/raw-execute.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-delete.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/bulk-update.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/ddl.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/export.post.mjs +1 -2
- package/.output/server/chunks/routes/api/tables/export.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/meta.post.mjs +12 -10
- package/.output/server/chunks/routes/api/tables/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rls.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rls.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/rules.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/rules.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/size.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/size.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/structure.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/structure.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs +5 -3
- package/.output/server/chunks/routes/api/tables/triggers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/definition.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/definition.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/dependencies.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/explain.post.mjs +1 -2
- package/.output/server/chunks/routes/api/views/explain.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/indexes.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/indexes.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/meta.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/meta.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/views/overview.post.mjs +5 -3
- package/.output/server/chunks/routes/api/views/overview.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -2
- package/.output/server/index.mjs +1 -2
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/README.md +8 -2
- package/package.json +1 -1
- package/.output/public/_nuxt/8_EuFD3X.js +0 -1
- package/.output/public/_nuxt/B6H7odCi.js +0 -1
- package/.output/public/_nuxt/B7nSJBpY.js +0 -1
- package/.output/public/_nuxt/BBNxNerU.js +0 -1
- package/.output/public/_nuxt/BDKd-SA5.js +0 -1
- package/.output/public/_nuxt/BDRdbLz0.js +0 -1
- package/.output/public/_nuxt/BKWWO5HE.js +0 -1
- package/.output/public/_nuxt/BVKG-F8j.js +0 -1
- package/.output/public/_nuxt/BoGW82nK.js +0 -1
- package/.output/public/_nuxt/Bs_ItSbk.js +0 -1
- package/.output/public/_nuxt/Btu7FO8S.js +0 -1
- package/.output/public/_nuxt/C04Tz2vC.js +0 -67
- package/.output/public/_nuxt/C4JPKbJK.js +0 -1
- package/.output/public/_nuxt/C5KSeJUi.js +0 -8
- package/.output/public/_nuxt/CDnZBTSk.js +0 -1
- package/.output/public/_nuxt/CKq06U7u.js +0 -19
- package/.output/public/_nuxt/CQpD-JHn.js +0 -1
- package/.output/public/_nuxt/Chcc8yNZ.js +0 -1
- package/.output/public/_nuxt/CpzDNDcD.js +0 -1
- package/.output/public/_nuxt/Cs1HkKH7.js +0 -1
- package/.output/public/_nuxt/CsYOf3m-.js +0 -39
- package/.output/public/_nuxt/Ctr2mpV9.js +0 -2
- package/.output/public/_nuxt/D2j2esR5.js +0 -3
- package/.output/public/_nuxt/D4ZGn1tW.js +0 -1
- package/.output/public/_nuxt/D6YseYA6.js +0 -1
- package/.output/public/_nuxt/D7EPcL9i.js +0 -1
- package/.output/public/_nuxt/DCMJS6Fh.js +0 -1
- package/.output/public/_nuxt/D_G1mAJ8.js +0 -3
- package/.output/public/_nuxt/De1hkrJC.js +0 -1
- package/.output/public/_nuxt/DnCs9xpG.js +0 -1
- package/.output/public/_nuxt/DvJ2MjiW.js +0 -2
- package/.output/public/_nuxt/Dzr_z_mY.js +0 -9
- package/.output/public/_nuxt/OEVyCyyD.js +0 -1
- package/.output/public/_nuxt/builds/meta/0ab6db39-d52b-46b9-a687-0df3b4c65db5.json +0 -1
- package/.output/public/_nuxt/builds/meta/dev.json +0 -1
- package/.output/public/_nuxt/e_Ir8LP9.js +0 -1
- package/.output/public/_nuxt/entry.XV7TCKso.css +0 -1
- package/.output/public/_nuxt/fRxmPZZB.js +0 -8
- package/.output/public/_nuxt/logo.BsJ2Dfin.png +0 -0
- package/.output/public/_nuxt/q4KcRwD-.js +0 -1
- package/.output/public/_nuxt/qIKg23Pc.js +0 -1
- package/.output/public/_nuxt/txD20ixW.js +0 -1
- package/.output/public/_nuxt/x2HBvptj.js +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import{u as ka,_ as La,a as Pa,b as Fa}from"./LK6Q8l0D.js";import{aF as Ma,r as H,a as on,c8 as ct,eu as Ua,c as q,d as se,ee as Va,l as Be,m as z,C as E,F as ae,G as Te,a9 as $e,b as te,at as De,w as g,h as i,A as Re,u as s,j as me,au as Ie,t as ee,av as Ae,dz as ln,o as _,a6 as Xe,cp as rn,ad as Se,aX as _e,L as Me,n as ye,v as za,bR as Ct,f as It,a2 as Ue,am as ke,da as Ve,cU as ja,cr as Ba,cs as qa,J as Ha,ev as Ga,ew as Wa,i as M,ab as ra,ac as Kt,dk as At,O as ut,dr as Fe,R as xe,aO as sn,p as Ee,aR as cn,e as un,cu as Qt,aT as dn,dp as sa,dq as Ka,aV as fn,ax as Rt,Q as $t,dE as Yt,dF as ia,aP as pn,D as qe,cq as dt,df as Ze,a8 as X,aG as Rn,a7 as Ke,es as Qa,ex as ft,cF as Xt,ey as $n,ez as Pe,_ as ca,g as Ce,aE as he,al as ua,dI as Ya,ai as ht,q as Xa,s as Ja,x as Za,y as eo,aQ as to,aS as no,z as ao,B as oo,ag as mn,dJ as lo,dn as ro,dK as so,dL as io,dM as On,dN as co,eA as uo,eB as fo,dA as po,eC as mo,eD as da,eE as vo,eF as go,eG as yo,eH as Jt,E as fa,dP as ho,eI as bo,aN as wo,ah as bt}from"./BM4vnZvX.js";import{_ as xo}from"./C8S0o4Gy.js";import{_ as Ot,C as K,b as So,c as To,d as Co,f as Mt}from"./ClBBUcFW.js";import{u as Nn}from"./kehy-5uo.js";import{_ as Eo}from"./BflvengI.js";import{a as vn,b as gn,c as yn,d as hn,e as bn,f as wn,g as pa,_ as xn}from"./uyCIL8xw.js";import{u as ma,_ as va}from"./-p9JbKy8.js";import{g as Ut}from"./C617vhDd.js";import{f as kn}from"./BKltSiU0.js";import{_ as _o}from"./0lRW_xjL.js";import{_ as Do,b as Io,c as Ao}from"./BNYR501z.js";import{_ as Ro}from"./D3G5Xy_-.js";import{a as $o,b as Oo,c as No,d as ko,e as Lo}from"./DNZpxuwM.js";import{a as Po,i as Fo}from"./DLKku6fV.js";import{_ as Vt}from"./J2CvNR3L.js";import"./D9o5Pdvp.js";import"./DgnsV5Qb.js";import"./C2Ziircr.js";import"./BhUkpIlA.js";import"./Bdtn2mn5.js";import"./DWgjNKGq.js";var we=(e=>(e.Explorer="Explorer",e.Schemas="Schemas",e.ErdDiagram="ERDiagram",e.UsersRoles="UsersRoles",e.DatabaseExport="DatabaseExport",e.Agent="Agent",e))(we||{});const ga=Ma("activity-bar",()=>{const e=H("Schemas"),t=p=>{e.value=p},n=H(["Tables"]),a=H(0),l=H([]),o=H(0),r=H([]),m=H(0);return{activityActive:e,setActivityActive:t,schemasExpandedState:n,schemaCurrentScrollTop:a,explorerExpandedState:l,explorerCurrentScrollTop:o,onCollapsedSchemaTree:()=>{n.value=[]},onCollapsedErdTree:()=>{r.value=[]},erdExpandedState:r,erdCurrentScrollTop:m}},{persist:!0});/**
|
|
2
|
+
* @license lucide-vue-next v0.487.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const Mo=on("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 Uo=on("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/**
|
|
12
|
+
* @license lucide-vue-next v0.487.0 - ISC
|
|
13
|
+
*
|
|
14
|
+
* This source code is licensed under the ISC license.
|
|
15
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
16
|
+
*/const Vo=on("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);var Oe=(e=>(e.Superuser="superuser",e.User="user",e.Role="role",e))(Oe||{});const ya=()=>{const e=ga(),t=ct(),{trackEvent:n}=Ua();return{activity:q(()=>[{id:we.Explorer,title:"Files / Folders",icon:"hugeicons:folder-file-storage",isActive:e.activityActive===we.Explorer},{id:we.Schemas,title:"Schemas",icon:"hugeicons:database",isActive:e.activityActive===we.Schemas},{id:we.ErdDiagram,title:"ErdDiagram",icon:"hugeicons:hierarchy-square-02",isActive:e.activityActive===we.ErdDiagram},{id:we.UsersRoles,title:"Users & Roles",icon:"hugeicons:user-shield-01",isActive:e.activityActive===we.UsersRoles},{id:we.Agent,title:"AI Agent",icon:"hugeicons:robotic",isActive:e.activityActive===we.Agent}]),onChangeActivity:(o,r)=>{e.setActivityActive(o),r&&t.onToggleActivityBarPanel(),n("activity_bar",{activity:o})}}},zo={class:"max-w-9 min-w-9 py-2"},jo={class:"flex flex-col justify-between h-full space-y-2"},Bo={class:"flex flex-col items-center gap-1"},qo=se({__name:"ActivityBar",setup(e){const{activity:t,onChangeActivity:n}=ya();return Va(),(a,l)=>{const o=me,r=Re,m=Ie,c=Ae,d=De,p=ln("auto-animate");return Be((_(),z("div",zo,[E("div",jo,[E("div",Bo,[(_(!0),z(Te,null,$e(s(t),f=>(_(),te(d,null,{default:g(()=>[i(m,{"as-child":""},{default:g(()=>[i(r,{size:"iconMd",variant:f.isActive?"default":"ghost",onClick:b=>s(n)(f.id,!0)},{default:g(()=>[i(o,{name:f.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),i(c,{side:"right"},{default:g(()=>[E("p",null,ee(f.title),1)]),_:2},1024)]),_:2},1024))),256))]),ae("",!0)])])),[[p]])}}}),Ho={class:"flex items-center gap-1"},Go=se({__name:"ActivityBarHorizontal",setup(e){const{activity:t,onChangeActivity:n}=ya();return(a,l)=>{const o=me,r=Re,m=Ie,c=Ae,d=De;return _(),z("div",Ho,[(_(!0),z(Te,null,$e(s(t),p=>(_(),te(d,null,{default:g(()=>[i(m,{"as-child":""},{default:g(()=>[i(r,{size:"iconMd",variant:p.isActive?"default":"ghost",onClick:f=>s(n)(p.id)},{default:g(()=>[i(o,{name:p.icon,class:"size-5!"},null,8,["name"])]),_:2},1032,["variant","onClick"])]),_:2},1024),i(c,{side:"bottom"},{default:g(()=>[E("p",null,ee(p.title),1)]),_:2},1024)]),_:2},1024))),256))])}}}),Wo={class:"drag-preview"},Ko={class:"drag-preview__icon"},Qo={class:"drag-preview__text"},Yo={key:0,class:"drag-preview__badge"},Xo=se({__name:"PseudomorphismDragItem",props:{count:{},itemName:{},itemType:{}},setup(e){const t=e,n=q(()=>t.count>1?Vo:t.itemType==="folder"?Uo:Mo),a=q(()=>t.count===1?t.itemName:`${t.count} items`),l=q(()=>t.count>1);return(o,r)=>(_(),z("div",Wo,[E("span",Ko,[(_(),te(Xe(n.value),{size:16,"stroke-width":2}))]),E("span",Qo,ee(a.value),1),l.value?(_(),z("span",Yo,ee(o.count),1)):ae("",!0)]))}}),Jo=rn(Xo,[["__scopeId","data-v-93dbafcc"]]),Zo=["draggable"],el={key:1,class:"tree-row__spacer"},tl={key:4,class:"tree-row__name"},nl=["aria-invalid","aria-errormessage","onKeydown"],al=se({__name:"TreeRow",props:{node:{},isSelected:{type:Boolean},isExpanded:{type:Boolean},isFocused:{type:Boolean},dropIndicator:{},isEditing:{type:Boolean,default:!1},renameError:{default:""},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8}},emits:["click","dblclick","toggle","dragstart","dragover","dragleave","dragend","drop","contextmenu","rename","editingChange","cancelRename"],setup(e,{expose:t,emit:n}){const a=e,l=n,o=H(a.node.name),r=H(null),m=()=>{const S=o.value.trim();S&&S!==a.node.name?l("rename",S):l("cancelRename")},c=q(()=>!!a.renameError),d=()=>{if(c.value){p();return}m()},p=()=>{o.value=a.node.name,l("cancelRename")},f=async()=>{var S,y;await Ue(),(S=r.value)==null||S.focus(),(y=r.value)==null||y.select()};Se(()=>a.isEditing,S=>{S&&(o.value=a.node.name,f())}),Se(()=>a.node.name,S=>{a.isEditing||(o.value=S)});const b=q(()=>({paddingLeft:`${a.node.depth*a.indentSize+a.baseIndent}px`,height:`${a.itemHeight}px`})),u=q(()=>a.node.type==="folder"&&a.isExpanded&&a.node.iconOpen||a.node.iconClose),v=q(()=>a.node.type==="folder"?a.isExpanded?"hugeicons:folder-02":"hugeicons:folder-01":"hugeicons:file-01"),h=q(()=>{var S,y,x;return{"tree-row":!0,"tree-row--selected":a.isSelected,"tree-row--focused":a.isFocused&&!a.isEditing,"tree-row--drop-before":((S=a.dropIndicator)==null?void 0:S.position)==="before","tree-row--drop-after":((y=a.dropIndicator)==null?void 0:y.position)==="after","tree-row--drop-inside":((x=a.dropIndicator)==null?void 0:x.position)==="inside"}}),w=q(()=>({transform:a.isExpanded?"rotate(90deg)":"rotate(0deg)"}));return t({focusInput:f}),(S,y)=>(_(),z("div",{class:ye(h.value),style:Me(b.value),draggable:S.allowDragAndDrop&&!S.isEditing,onClick:y[7]||(y[7]=x=>l("click",x)),onDblclick:y[8]||(y[8]=x=>l("dblclick",x)),onDragstart:y[9]||(y[9]=x=>l("dragstart",x)),onDragover:y[10]||(y[10]=x=>l("dragover",x)),onDragleave:y[11]||(y[11]=x=>l("dragleave",x)),onDragend:y[12]||(y[12]=x=>l("dragend",x)),onDrop:y[13]||(y[13]=x=>l("drop",x)),onContextmenu:y[14]||(y[14]=_e(x=>l("contextmenu",x),["right"]))},[S.node.type==="folder"?(_(),z("button",{key:0,class:"tree-row__chevron",style:Me(w.value),onClick:y[0]||(y[0]=_e(x=>l("toggle"),["stop"]))},[i(s(me),{name:"hugeicons:arrow-right-01",class:"size-4"})],4)):(_(),z("div",el)),u.value?(_(),te(s(me),{key:2,name:u.value,class:ye(["tree-row__icon size-4!",S.node.iconClass])},null,8,["name","class"])):(_(),te(Xe(s(me)),{key:3,name:v.value,class:ye(["tree-row__icon",S.node.iconClass])},null,8,["name","class"])),S.isEditing?Be((_(),z("input",{key:5,ref_key:"inputRef",ref:r,"onUpdate:modelValue":y[1]||(y[1]=x=>o.value=x),type:"text",class:ye(["tree-row__edit-input",{"tree-row__edit-input--error":c.value}]),"aria-invalid":c.value,"aria-errormessage":c.value?`rename-error-${S.node.id}`:void 0,onInput:y[2]||(y[2]=x=>l("editingChange",o.value)),onBlur:d,onKeydown:[Ct(_e(m,["stop"]),["enter"]),Ct(p,["esc"]),y[3]||(y[3]=Ct(_e(()=>{},["stop"]),["space"]))],onClick:y[4]||(y[4]=_e(()=>{},["stop"])),onDblclick:y[5]||(y[5]=_e(()=>{},["stop"]))},null,42,nl)),[[za,o.value]]):(_(),z("span",tl,ee(S.node.name),1)),S.isEditing?ae("",!0):(_(),z("div",{key:6,class:"tree-row__actions",onClick:y[6]||(y[6]=_e(()=>{},["stop"]))},[It(S.$slots,"actions",{node:S.node},void 0,!0)]))],46,Zo))}}),ol=rn(al,[["__scopeId","data-v-af018028"]]),zt=e=>typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function",Ye=e=>Array.isArray(e)?e.filter(t=>typeof t=="string"):null,wt=e=>[...e],ll=()=>{var t,n,a,l;if(typeof window>"u")return!1;const e=window;return(n=(t=e.process)==null?void 0:t.versions)!=null&&n.electron?!0:!!((l=(a=e.navigator)==null?void 0:a.userAgent)!=null&&l.includes("Electron"))},jt=()=>({loadExpandedIds:e=>{if(typeof window>"u")return null;const t=window.localStorage.getItem(`${e}_expanded`);if(!t)return null;try{return Ye(JSON.parse(t))}catch{return null}},saveExpandedIds:(e,t)=>{typeof window>"u"||window.localStorage.setItem(`${e}_expanded`,JSON.stringify(t))},clearExpandedIds:e=>{typeof window>"u"||window.localStorage.removeItem(`${e}_expanded`)}}),rl=(e={})=>{const t=e.pushDebounceMs??400,n=new Map,a=new Set,l=new Map,o=(f,b)=>{var u;(u=e.onError)==null||u.call(e,f,b)},r=()=>{const f=e.mode??"auto";return f==="web"?e.webStorage??jt():f==="electron"?e.electronStorage??e.webStorage??jt():ll()&&e.electronStorage?e.electronStorage:e.webStorage??jt()},m=(f,b)=>{var S;const u=(S=e.apiSync)==null?void 0:S.pushExpandedIds;if(!u)return;const v=f.storageKey,h=l.get(v);h&&clearTimeout(h);const w=setTimeout(()=>{l.delete(v);const y=u(v,wt(b)).catch(x=>{o(x,"push")});a.add(y),y.finally(()=>{a.delete(y)})},t);l.set(v,w)},c=(f,b)=>{const v=r().saveExpandedIds(f.storageKey,wt(b));zt(v)&&v.catch(h=>{o(h,"save")})},d=f=>{const u=r().loadExpandedIds(f.storageKey);return zt(u)?(u.then(v=>{const h=Ye(v);h&&n.set(f.storageKey,h)}).catch(v=>{o(v,"load")}),null):Ye(u)};return{loadExpandedIds:f=>{const b=n.get(f.storageKey);if(b)return wt(b);const u=d(f);return u&&n.set(f.storageKey,u),u},saveExpandedIds:(f,b)=>{const u=Ye(f)??[];n.set(b.storageKey,u),c(b,u),m(b,u)},clearExpandedIds:f=>{var h;n.delete(f.storageKey);const b=l.get(f.storageKey);b&&(clearTimeout(b),l.delete(f.storageKey));const u=r(),v=(h=u.clearExpandedIds)==null?void 0:h.call(u,f.storageKey);zt(v)&&v.catch(w=>{o(w,"clear")}),m(f,[])},preload:async f=>{var S;const b=r();let u=null;try{const y=await b.loadExpandedIds(f.storageKey);u=Ye(y)}catch(y){o(y,"preload")}const v=(S=e.apiSync)==null?void 0:S.pullExpandedIds;if(!v)return u&&n.set(f.storageKey,u),u;let h=null;try{const y=await v(f.storageKey);h=Ye(y)}catch(y){o(y,"pull")}const w=e.preferRemote?h??u:u??h;if(!w)return null;n.set(f.storageKey,w);try{await b.saveExpandedIds(f.storageKey,wt(w))}catch(y){o(y,"save")}return w},flush:async()=>{await Promise.all(Array.from(a))}}},Ln=window.setInterval,sl=["id"],il=se({__name:"FileTree",props:{initExpandedIds:{},initialData:{},validateRename:{},storageKey:{default:"vscode_tree_state"},allowSort:{type:Boolean,default:!1},allowDragAndDrop:{type:Boolean,default:!0},itemHeight:{default:24},indentSize:{default:20},baseIndent:{default:8},autoExpandDelay:{default:100},delayFocus:{default:50},autoScrollThreshold:{default:50},autoScrollSpeed:{default:10},overscan:{default:10},persistenceExtension:{default:()=>rl({mode:"web",pushDebounceMs:400})}},emits:["move","select","click","contextmenu","rename","cancel-rename"],setup(e,{expose:t,emit:n}){const a=e,l=n,o=ke({}),r=H(new Set(a.initExpandedIds||[])),m=H(new Set),c=H(null),d=H(null),p=H({}),f=q(()=>({storageKey:`${a.storageKey}_expanded`})),b=A=>Array.isArray(A)?A.filter(O=>typeof O=="string"):null,u=q(()=>({load:()=>{var O;const A=(O=a.persistenceExtension)==null?void 0:O.loadExpandedIds;if(!A)return null;try{const B=A(f.value);return b(B)}catch(B){return console.error("Failed to load expanded ids from persistence extension",B),null}},save:A=>{var B;const O=(B=a.persistenceExtension)==null?void 0:B.saveExpandedIds;if(O)try{O(A,f.value)}catch(U){console.error("Failed to save expanded ids using persistence extension",U)}}})),v=q(()=>a.persistenceExtension?u.value:null),h=q(()=>Object.values(o.value).filter(A=>A.parentId===null).map(A=>A.id)),w=q(()=>{const A=[],O=B=>{for(const U of B){A.push(U);const Z=o.value[U];Z.children&&Z.children.length>0&&r.value.has(U)&&O(Z.children)}};return O(h.value),A}),S=Ve("parentRef"),y=H(!1),x=H(0),T=ja({get count(){return w.value.length},getScrollElement:()=>S.value,estimateSize:()=>a.itemHeight,overscan:a.overscan});Ba(()=>{x.value=Math.round(T.value.scrollOffset??0)||0}),qa(async()=>{await Ue(),setTimeout(()=>{T.value.scrollToOffset(x.value)},0)});const L=H(null),F=H(null),R=H(null),N=H(null),P=H(null),D=H(!1),$=H(null),I=q(()=>{if(!$.value||!D.value)return null;const A=$.value,O=w.value.indexOf(A);if(O===-1)return null;const B=o.value[A];if(!B)return null;let U=O;for(let Z=O+1;Z<w.value.length&&o.value[w.value[Z]].depth>B.depth;Z++)U=Z;return{top:O*a.itemHeight,height:(U-O+1)*a.itemHeight}}),J=q(()=>{if(!d.value)return null;const A=p.value[d.value];if(!A)return null;const O=w.value.indexOf(d.value);if(O===-1)return null;const B=o.value[d.value];if(!B)return null;const U=(O+1)*a.itemHeight+2,Z=B.depth*a.indentSize+a.baseIndent+20+22;return{top:U,left:Z,message:A}}),V=A=>{r.value.has(A)?r.value.delete(A):r.value.add(A),r.value=new Set(r.value)},G=(A,O)=>{if(A.ctrlKey||A.metaKey)m.value.has(O)?m.value.delete(O):m.value.add(O),m.value=new Set(m.value);else if(A.shiftKey&&c.value){const B=w.value.indexOf(c.value),U=w.value.indexOf(O),[Z,ue]=B<U?[B,U]:[U,B];m.value=new Set(w.value.slice(Z,ue+1))}else m.value=new Set([O]);c.value=O,l("select",Array.from(m.value)),A.type==="click"&&l("click",O,A)},Y=A=>{o.value[A].type==="folder"&&V(A)},ne=(A,O)=>{if(!a.allowDragAndDrop){A.preventDefault();return}L.value=O,D.value=!0;const B=o.value[O],U=m.value.has(O)&&m.value.size>1,Z=U?Array.from(m.value):[O];if(A.dataTransfer){A.dataTransfer.effectAllowed="move";const ue={nodeId:O,node:B,selectedNodeIds:U?Z:void 0};A.dataTransfer.setData("application/json",JSON.stringify(ue));const le=ie(Z.length,B.name,B.type);document.body.appendChild(le),A.dataTransfer.setDragImage(le,20,20),setTimeout(()=>{document.body.removeChild(le)},0)}},ie=(A,O,B)=>{const U=document.createElement("div"),Z=ra(Jo,{count:A,itemName:O,itemType:B});return Kt(Z,U),U.firstElementChild},de=A=>{if(!S.value||!D.value)return;const O=S.value,B=O.getBoundingClientRect(),U=a.autoScrollThreshold,Z=a.autoScrollSpeed,ue=A.clientY-B.top,le=B.height;P.value&&(clearInterval(P.value),P.value=null),ue<U&&ue>0?P.value=Ln(()=>{O.scrollTop>0&&(O.scrollTop-=Z)},16):ue>le-U&&ue<le&&(P.value=Ln(()=>{const ze=O.scrollHeight-O.clientHeight;O.scrollTop<ze&&(O.scrollTop+=Z)},16))},fe=(A,O)=>{var U;let B=A;for(;B;){if(B===O)return!0;B=((U=o.value[B])==null?void 0:U.parentId)??null}return!1},pe=(A,O)=>{const U=A.currentTarget.getBoundingClientRect(),Z=A.clientY-U.top,ue=U.height,le=o.value[O];return!a.allowSort||le.type==="folder"&&Z>ue*.2&&Z<ue*.8?"inside":Z<ue/2?"before":"after"},W=(A,O)=>{if(A.preventDefault(),!a.allowDragAndDrop||!L.value||L.value===O)return;const B=o.value[O];de(A);let U=null;if(B.type==="folder"?U=O:B.parentId&&(U=B.parentId),U===L.value||U&&fe(U,L.value)){$.value=null,F.value=null;return}if(U&&($.value=U,F.value={nodeId:U,position:"inside"}),a.allowSort&&B.type==="folder"){const ue=pe(A,O);ue!=="inside"&&($.value=null,F.value={nodeId:O,position:ue})}const Z=U||O;if(Z!==N.value){clearTimeout(R.value),N.value=Z;const ue=o.value[Z];(ue==null?void 0:ue.type)==="folder"&&!r.value.has(Z)&&(R.value=setTimeout(()=>{N.value===Z&&D.value&&(r.value.add(Z),r.value=new Set(r.value))},a.autoExpandDelay))}},C=()=>{},k=()=>{clearTimeout(R.value),P.value&&(clearInterval(P.value),P.value=null),D.value=!1,L.value=null,F.value=null,N.value=null,$.value=null},j=(A,O)=>{var ue,le;if(A.preventDefault(),!a.allowDragAndDrop)return;if(clearTimeout(R.value),P.value&&(clearInterval(P.value),P.value=null),!L.value){k();return}let B;try{const ze=(ue=A.dataTransfer)==null?void 0:ue.getData("application/json");if(ze){const gt=JSON.parse(ze);B=gt.selectedNodeIds||[gt.nodeId]}else B=[L.value]}catch{B=[L.value]}const U=$.value||O,Z=$.value?"inside":((le=F.value)==null?void 0:le.position)||"inside";if(B.includes(U)||B.some(ze=>fe(U,ze))){console.warn("Cannot drop item onto itself or into its own subtree"),k();return}if(!a.allowSort){l("move",B.length===1?B[0]:B,U,"inside"),k();return}l("move",B.length===1?B[0]:B,U,Z),k()},ce=A=>{if(!S.value)return;const O=w.value.indexOf(A);O!==-1&&T.value.scrollToIndex(O,{align:"center",behavior:"auto"})},re=A=>{if(!c.value)return;const O=w.value.indexOf(c.value);if(O===-1)return;let B=O;switch(A.key){case"ArrowDown":A.preventDefault(),B=Math.min(O+1,w.value.length-1);break;case"ArrowUp":A.preventDefault(),B=Math.max(O-1,0);break;case"ArrowRight":{A.preventDefault(),o.value[c.value].type==="folder"&&(r.value.has(c.value)?B=O+1:V(c.value));break}case"ArrowLeft":{A.preventDefault();const Z=o.value[c.value];Z.type==="folder"&&r.value.has(c.value)?V(c.value):Z.parentId&&(B=w.value.indexOf(Z.parentId));break}case"Enter":case" ":A.preventDefault(),o.value[c.value].type==="folder"?V(c.value):l("click",c.value,A);break}B!==O&&(c.value=w.value[B],ce(c.value))},oe=(A,O)=>{G(A,O),l("contextmenu",O,A)},ge=(A,O)=>{if(a.validateRename){const B=a.validateRename(A,O);if(B!==!0){p.value={...p.value,[A]:B},d.value=A;return}}if(p.value[A]){const B={...p.value};delete B[A],p.value=B}d.value=null,l("rename",A,O)},ve=A=>{if(p.value[A]){const O={...p.value};delete O[A],p.value=O}d.value=null,l("cancel-rename",A)},He=(A,O)=>{if(!a.validateRename)return;const B=a.validateRename(A,O),U=!!p.value[A];if(B!==!0){p.value={...p.value,[A]:B};return}if(B===!0&&U){const Z={...p.value};delete Z[A],p.value=Z}},be=A=>{if(p.value[A]){const O={...p.value};delete O[A],p.value=O}d.value=A};Se(()=>Array.from(r.value),A=>{var O;(O=v.value)==null||O.save(A)}),Ha(()=>{var O;a.initialData&&(o.value=a.initialData);const A=(O=v.value)==null?void 0:O.load();A!=null&&(r.value=new Set(A))}),Se(()=>a.initialData,A=>{A&&(o.value=A)},{deep:!0});const mt=q(()=>{const A=[];for(const O in o.value){const B=o.value[O];B.type==="folder"&&A.push(B.id)}return A}),kt=()=>{r.value=new Set(mt.value)},Lt=()=>{r.value=new Set},Pt=q(()=>{const A=mt.value;if(A.length===0)return!1;for(const O of A)if(!r.value.has(O))return!1;return!0}),nt=A=>{const O=o.value[A];if(!O){console.warn(`Node ${A} not found`);return}const B=[];let U=O;for(;U.parentId!==null;){const Z=o.value[U.parentId];if(Z&&Z.type==="folder"&&B.push(Z.id),U=Z,!U)break}B.length>0&&(B.forEach(Z=>r.value.add(Z)),r.value=new Set(r.value)),setTimeout(()=>{if(w.value.indexOf(A)===-1){console.warn(`Node ${A} still not visible after expanding parents`);return}c.value=A,m.value=new Set([A]),l("select",[A]),ce(A)},a.delayFocus)},vt=()=>{c.value=null,m.value=new Set,l("select",[])},at=A=>{A.target.closest(".tree-row")||vt()};return t({expandAll:kt,collapseAll:Lt,focusItem:nt,clearSelection:vt,startEditing:be,isMouseInside:y,isExpandedAll:Pt}),(A,O)=>{const B=me;return _(),z("div",{ref_key:"parentRef",ref:S,onMouseenter:O[1]||(O[1]=U=>y.value=!0),onMouseleave:O[2]||(O[2]=U=>y.value=!1),class:"file-tree",tabindex:"0",onKeydown:re,onClick:at},[E("div",{style:Me({height:`${s(T).getTotalSize()}px`,width:"100%",position:"relative"})},[(_(!0),z(Te,null,$e(s(T).getVirtualItems(),U=>{var Z;return _(),z("div",{key:String(U.key),style:Me({position:"absolute",top:0,left:0,width:"100%",height:`${U.size}px`,transform:`translateY(${U.start}px)`})},[Ga([o.value[w.value[U.index]],m.value.has(w.value[U.index]),r.value.has(w.value[U.index]),c.value===w.value[U.index],d.value===w.value[U.index],!$.value&&((Z=F.value)==null?void 0:Z.nodeId)===w.value[U.index]?F.value:null,a.itemHeight,a.indentSize,a.baseIndent,a.allowDragAndDrop,p.value[w.value[U.index]]],()=>{var ue;return i(ol,{node:o.value[w.value[U.index]],"is-selected":m.value.has(w.value[U.index]),"is-expanded":r.value.has(w.value[U.index]),"is-focused":c.value===w.value[U.index],"is-editing":d.value===w.value[U.index],"rename-error":p.value[w.value[U.index]]||"","drop-indicator":!$.value&&((ue=F.value)==null?void 0:ue.nodeId)===w.value[U.index]?F.value:null,"item-height":a.itemHeight,"indent-size":a.indentSize,"base-indent":a.baseIndent,"allow-drag-and-drop":a.allowDragAndDrop,onClick:le=>G(le,w.value[U.index]),onDblclick:le=>Y(w.value[U.index]),onToggle:le=>V(w.value[U.index]),onDragstart:le=>ne(le,w.value[U.index]),onDragover:le=>W(le,w.value[U.index]),onDragleave:C,onDragend:k,onDrop:le=>j(le,w.value[U.index]),onContextmenu:le=>oe(le,w.value[U.index]),onRename:le=>ge(w.value[U.index],le),onEditingChange:le=>He(w.value[U.index],le),onCancelRename:le=>ve(w.value[U.index])},{actions:g(({node:le})=>[It(A.$slots,"actions",{node:le},void 0,!0)]),_:2},1032,["node","is-selected","is-expanded","is-focused","is-editing","rename-error","drop-indicator","item-height","indent-size","base-indent","allow-drag-and-drop","onClick","onDblclick","onToggle","onDragstart","onDragover","onDrop","onContextmenu","onRename","onEditingChange","onCancelRename"])},O,0)],4)}),128)),i(Wa,{name:"tree-error"},{default:g(()=>[J.value?(_(),z("div",{key:0,id:`rename-error-${d.value}`,class:"flex items-start gap-1 text-xs font-normal pointer-events-none text-muted-foreground z-30 whitespace-break-spaces px-1 py-2 shadow-md border border-destructive border-l-[3px] rounded-md bg-popover",style:Me({position:"absolute",top:`${J.value.top}px`,left:`${J.value.left}px`,right:"8px"}),role:"alert","aria-live":"assertive"},[i(B,{name:"lucide:alert-circle",class:"text-destructive size-4!","aria-hidden":"true"}),M(" "+ee(J.value.message),1)],12,sl)):ae("",!0)]),_:1}),I.value&&D.value?(_(),z("div",{key:0,class:"tree-drop-overlay",style:Me({position:"absolute",top:`${I.value.top}px`,left:0,width:"100%",height:`${I.value.height}px`})},null,4)):ae("",!0)],4)],544)}}}),pt=rn(il,[["__scopeId","data-v-4940049d"]]);var We=(e=>(e.Tables="Tables",e.Functions="Functions",e.Views="Views",e))(We||{}),Le=(e=>(e.Root="Root",e))(Le||{});const cl={key:0,class:"flex items-center gap-2 w-44 truncate"},ul={key:1,class:"opacity-50"},dl={class:"flex items-center gap-2"},fl=se({__name:"ConnectionSelector",props:{class:{},workspaceId:{}},setup(e){const{createConnection:t,openWorkspaceWithConnection:n}=At(),a=ut(),{connectionId:l}=Fe(),{selectedConnection:o}=xe(a),r=e,m=H(!1),c=async u=>{typeof u=="string"&&u!==l.value&&await n({connId:u,wsId:r.workspaceId})},d=H(!1),p=u=>{t(u)},f=()=>{d.value=!0,m.value=!1},b=q(()=>a.getConnectionsByWorkspaceId(r.workspaceId));return(u,v)=>{const h=me,w=Ka,S=dn;return _(),z(Te,null,[i(s(xo),{open:s(d),"editing-connection":null,"onUpdate:open":v[0]||(v[0]=y=>d.value=y),onAddNew:p,workspaceId:u.workspaceId},null,8,["open","workspaceId"]),i(s(sn),{"onUpdate:modelValue":c,"model-value":s(l),open:s(m),"onUpdate:open":v[1]||(v[1]=y=>Ee(m)?m.value=y:null)},{default:g(()=>[i(s(cn),{class:ye(s(un)(r.class,"w-48 cursor-pointer")),size:"sm"},{default:g(()=>{var y,x;return[s(o)?(_(),z("div",cl,[(_(),te(Xe((y=s(Qt)(s(o).type))==null?void 0:y.icon),{class:"size-4! min-w-4!"})),M(" "+ee((x=s(o))==null?void 0:x.name),1)])):(_(),z("div",ul,"Select connection"))]}),_:1},8,["class"]),i(S,null,{default:g(()=>[i(s(sa),null,{default:g(()=>[E("div",{class:"flex px-2 py-0.5 h-8 hover:bg-muted rounded-md font-normal text-sm items-center gap-1 cursor-pointer",onClick:f},[i(h,{name:"lucide:plus"}),v[2]||(v[2]=M(" Add new connection "))]),s(b).length?(_(),te(w,{key:0})):ae("",!0),(_(!0),z(Te,null,$e(s(b),y=>(_(),te(s(fn),{class:"cursor-pointer",value:y.id},{default:g(()=>{var x;return[E("div",dl,[(_(),te(Xe((x=s(Qt)(y.type))==null?void 0:x.icon),{class:"size-4!"})),M(" "+ee(y.name),1)])]}),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value","open"])],64)}}}),pl={key:0,class:"flex items-center gap-2 w-44 truncate"},ml={key:1,class:"opacity-50"},vl=se({__name:"SchemaSelector",props:{class:{}},setup(e){const t=e,{setSchemaId:n}=At(),a=Rt(),l=$t(),{activeSchema:o,schemasByContext:r}=xe(a),{schemaId:m}=xe(l);return(c,d)=>{const p=dn;return _(),te(s(sn),{"onUpdate:modelValue":d[0]||(d[0]=f=>{s(n)(f)}),"model-value":s(m)},{default:g(()=>[i(s(cn),{class:ye(s(un)(t.class,"w-48 cursor-pointer")),size:"sm"},{default:g(()=>{var f;return[s(o)?(_(),z("div",pl,ee((f=s(o))==null?void 0:f.name),1)):(_(),z("div",ml,"Select connection"))]}),_:1},8,["class"]),i(p,null,{default:g(()=>[i(s(sa),null,{default:g(()=>[(_(!0),z(Te,null,$e(s(r),f=>(_(),te(s(fn),{value:f.name,class:"cursor-pointer"},{default:g(()=>[M(ee(f.name),1)]),_:2},1032,["value"]))),256))]),_:1})]),_:1})]),_:1},8,["model-value"])}}}),gl={class:"flex flex-col w-full shrink-0"},yl={key:0,class:"relative w-full items-center px-2 pt-1.5 space-y-1"},hl={key:0},bl={key:1},wl={class:"text-sm leading-none"},xl={key:0,class:"flex items-center"},Sl={key:1,class:"px-2 pb-1"},Tl={class:"relative w-full"},et=se({__name:"ManagementSidebarHeader",props:Yt({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=ia(e,"search"),n=()=>{t.value=""};return(a,l)=>(_(),z("div",gl,[a.showConnection||a.showSchema?(_(),z("div",yl,[a.showConnection?(_(),z("div",hl,[l[1]||(l[1]=E("p",{class:"text-sm leading-none block pb-1"},"Connections",-1)),i(fl,{class:"w-full!",workspaceId:a.workspaceId},null,8,["workspaceId"])])):ae("",!0),a.showSchema?(_(),z("div",bl,[l[2]||(l[2]=E("p",{class:"text-sm leading-none block pb-1"},"Schemas",-1)),i(vl,{class:"w-full!"})])):ae("",!0)])):ae("",!0),E("div",{class:ye(["px-2 flex items-center justify-between",a.showConnection||a.showSchema?"pt-2":"pt-0.5"])},[E("p",wl,ee(a.title),1),a.$slots.actions?(_(),z("div",xl,[It(a.$slots,"actions")])):ae("",!0)],2),a.showSearch?(_(),z("div",Sl,[E("div",Tl,[i(s(pn),{type:"text",placeholder:a.searchPlaceholder,class:"pr-6 w-full h-8",modelValue:t.value,"onUpdate:modelValue":l[0]||(l[0]=o=>t.value=o)},null,8,["placeholder","modelValue"]),t.value?(_(),z("div",{key:0,class:"absolute right-2 top-1.5 w-4 cursor-pointer hover:bg-accent",onClick:n},[i(s(me),{name:"hugeicons:cancel-01",class:"stroke-3! text-muted-foreground"})])):ae("",!0)])])):ae("",!0)]))}}),Cl={class:"flex flex-col h-full w-full overflow-y-auto"},El=se({__name:"ManagementErdDiagram",setup(e){const{connectToConnection:t}=At(),n=Rt(),a=$t(),l=qe(),{activeSchema:o}=xe(n),{connectionId:r,workspaceId:m}=Fe(),{schemaId:c}=xe(a),d=H(!1),p=H(null),f=ke(""),b=dt(f,Ze),u=[Le.Root],v=q(()=>{var F,R;const T={},L=((F=o==null?void 0:o.value)==null?void 0:F.tables)||[];if(T[Le.Root]={id:Le.Root,parentId:null,name:"All Tables",type:"folder",depth:0,iconOpen:"hugeicons:structure-folder",iconClose:"hugeicons:structure-folder",children:[],data:{tabViewType:X.AllERD}},L.forEach(N=>{var D;const P=Rn({schemaName:((D=o.value)==null?void 0:D.name)||"",tableName:N});T[P]={id:P,parentId:Le.Root,name:N,type:"file",depth:1,iconOpen:"hugeicons:flow-connection",iconClose:"hugeicons:flow-connection",data:{tabViewType:X.DetailERD}},T[Le.Root].children.push(P)}),b.value){const N=b.value.toLowerCase(),P={},D=T[Le.Root],$=(R=D.children)==null?void 0:R.filter(I=>T[I].name.toLowerCase().includes(N));return $&&$.length>0&&(P[Le.Root]={...D,children:$},$.forEach(I=>{P[I]=T[I]})),P}return T}),h=async()=>{if(!r.value)throw new Error("No connection selected");d.value=!0,await t({wsId:m.value,connId:r.value,isRefresh:!0}),d.value=!1},w=q(()=>p.value?!p.value.isExpandedAll:!0),S=()=>{var T,L;w.value?(T=p.value)==null||T.expandAll():(L=p.value)==null||L.collapseAll()},y=async T=>{var D,$,I;if(!m.value)throw new Error("No workspace selected");if(!r.value)throw new Error("No connection selected");const L=(D=T.data)==null?void 0:D.tabViewType;if(L!==X.AllERD&&L!==X.DetailERD)return;const F=c.value||(($=o.value)==null?void 0:$.name)||"",R=L===X.AllERD,N=R?void 0:T.id||Rn({schemaName:((I=o.value)==null?void 0:I.name)||"",tableName:T.name}),P=R?`erd-overview-${F||"all"}`:`erd-${N}`;await l.openTab({id:P,name:R?"All Tables":T.name,icon:T.iconOpen||T.iconClose||"hugeicons:structure-folder",iconClass:T.iconClass,type:L,routeName:R?"workspaceId-connectionId-erd":"workspaceId-connectionId-erd-tableId",routeParams:R?{workspaceId:m.value,connectionId:r.value}:{workspaceId:m.value,connectionId:r.value,tableId:N||""},connectionId:r.value,workspaceId:m.value,schemaId:F,metadata:{type:L,tableName:R?void 0:T.name,treeNodeId:T.id}}),await l.selectTab(P)},x=async T=>{const L=v.value[T];L&&await y(L)};return Se(()=>l.activeTab,T=>{var L,F,R,N,P;if(!T){(L=p.value)==null||L.clearSelection();return}if(!((F=p.value)!=null&&F.isMouseInside)){if(T.type===X.AllERD){v.value[Le.Root]&&((R=p.value)==null||R.focusItem(Le.Root));return}if(T.type===X.DetailERD&&typeof((N=T.metadata)==null?void 0:N.treeNodeId)=="string"){(P=p.value)==null||P.focusItem(T.metadata.treeNodeId);return}}},{flush:"post",immediate:!0}),(T,L)=>{const F=me,R=Re,N=Ie,P=Ae,D=De,$=Ke;return _(),z("div",Cl,[i(s(et),{search:s(f),"onUpdate:search":L[0]||(L[0]=I=>Ee(f)?f.value=I:null),title:"ERD Diagram","show-connection":!0,"show-schema":!0,"workspace-id":s(m),"show-search":!0,"search-placeholder":"Search in diagram..."},{actions:g(()=>[i(D,null,{default:g(()=>[i(N,{"as-child":""},{default:g(()=>[i(R,{size:"iconSm",variant:"ghost",onClick:S},{default:g(()=>[i(F,{name:s(w)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(P,null,{default:g(()=>[M(ee(s(w)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(D,null,{default:g(()=>[i(N,{"as-child":""},{default:g(()=>[i(R,{size:"iconSm",variant:"ghost",onClick:h},{default:g(()=>[i(F,{name:"hugeicons:redo",class:ye(["size-4! min-w-4",s(d)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),i(P,null,{default:g(()=>L[1]||(L[1]=[M(" Refresh ERD Data ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),Object.keys(s(v)).length===0?(_(),te($,{key:0,title:"No tables found",desc:"There are no tables available to display in the ERD."})):ae("",!0),i(pt,{ref_key:"fileTreeRef",ref:p,"init-expanded-ids":u,"storage-key":`${s(r)}-erd-tree`,"initial-data":s(v),"allow-drag-and-drop":!1,onClick:x},null,8,["storage-key","initial-data"])])}}}),_l={class:"w-full h-full overflow-y-auto"},Dl={class:"h-full"},Il=se({__name:"ManagementExplorerTree",props:{treeData:{},storageKey:{},persistenceExtension:{},contextMenuItems:{},validateRename:{type:Function}},emits:["click-node","rename-node","cancel-rename","context-node","move-node","select-node","clear-context-menu"],setup(e,{expose:t,emit:n}){const a=e,l=n,o=Ve("fileTreeRef"),r=u=>{var v;(v=o.value)==null||v.startEditing(u)},m=u=>{var v;(v=o.value)==null||v.focusItem(u)},c=()=>{var u;(u=o.value)==null||u.collapseAll()},d=()=>{var u;(u=o.value)==null||u.expandAll()},p=()=>{var u;(u=o.value)==null||u.clearSelection()},f=q(()=>{var u;return((u=o.value)==null?void 0:u.isMouseInside)??!1}),b=q(()=>{var u;return((u=o.value)==null?void 0:u.isExpandedAll)||!1});return t({startEditing:r,focusItem:m,collapseAll:c,expandAll:d,clearSelection:p,isMouseInside:f,isExpandedAll:b}),(u,v)=>(_(),z("div",_l,[i(Ot,{"context-menu-items":u.contextMenuItems,onOnClearContextMenu:v[6]||(v[6]=h=>l("clear-context-menu"))},{default:g(()=>[E("div",Dl,[i(pt,{ref_key:"fileTreeRef",ref:o,class:"pt-1","initial-data":u.treeData,"allow-drag-and-drop":!0,"allow-sort":!1,"validate-rename":u.validateRename,"storage-key":u.storageKey,"persistence-extension":a.persistenceExtension,onClick:v[0]||(v[0]=h=>l("click-node",h)),onRename:v[1]||(v[1]=(h,w)=>l("rename-node",h,w)),onCancelRename:v[2]||(v[2]=h=>l("cancel-rename",h)),onContextmenu:v[3]||(v[3]=h=>l("context-node",h)),onSelect:v[4]||(v[4]=h=>l("select-node",h)),onMove:v[5]||(v[5]=(h,w,S)=>l("move-node",h,w,S))},null,8,["initial-data","validate-rename","storage-key","persistence-extension"])])]),_:1},8,["context-menu-items"])]))}}),Al=e=>{const t=H(null),n=o=>{t.value=e.resolveNodeById(o)},a=()=>{t.value=null},l=q(()=>{const o=[],r=t.value,m=(r==null?void 0:r.isFolder)||!r;return r&&o.push({title:r.title,type:K.LABEL}),m&&(o.push({title:"Add new file",icon:"lucide:file-plus-2",type:K.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;Ue(()=>e.onCreateFile(c))}}),o.push({title:"Add new folder",icon:"lucide:folder-plus",type:K.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;Ue(()=>e.onCreateFolder(c))}})),r&&(m&&o.push({type:K.SEPARATOR}),o.push({title:"Rename...",icon:"lucide:pencil",type:K.ACTION,select:()=>{var d;const c=(d=t.value)==null?void 0:d.id;c&&Ue(()=>e.onRename(c))}}),o.push({title:"Delete",icon:"lucide:trash",type:K.ACTION,select:()=>{const c=t.value;c&&Ue(()=>e.onDelete(c.id))}})),o});return{selectedItem:t,contextMenuItems:l,onRightClickItem:n,onClearContextMenu:a}},Rl=e=>{const t={},n=(a,l,o)=>{a.forEach(r=>{var c,d;const m=((c=r.children)==null?void 0:c.map(p=>p.id))??[];t[r.id]={id:r.id,parentId:l,name:r.title,type:r.isFolder?"folder":"file",depth:o,iconOpen:r.icon,iconClose:r.closeIcon||r.icon,iconClass:r.iconClass,children:r.isFolder?m:void 0},(d=r.children)!=null&&d.length&&n(r.children,r.id,o+1)})};return n(e,null,0),t},$l=({startEditingNode:e,focusNode:t,collapseAll:n,expandAll:a,isExpandedAll:l})=>{const{workspaceId:o,connectionId:r}=Fe(),m=Qa(),{openCodeQueryTab:c}=ft(),d=ke(""),p=dt(d,Ze),{treeNodeRef:f}=xe(m),b=ke([]),u=q(()=>p.value?f.value.searchByTitle(p.value):f.value.tree),v=q(()=>Rl(u.value)),h=q(()=>String(o.value)),w=async({nodeId:V,isFolder:G})=>{const Y=V?f.value.findNode(V):null,ne={title:"",id:Nn(),icon:"lucide:folder-open",closeIcon:"lucide:folder",connectionId:r.value,workspaceId:o.value,createdAt:Xt().toISOString(),isFolder:!0,path:"",children:[]},ie={title:"",id:Nn(),icon:"lucide:file",connectionId:r.value,workspaceId:o.value,createdAt:Xt().toISOString(),isFolder:!1,path:"",children:void 0},de=G?ne:ie;f.value.insertNode((Y==null?void 0:Y.id)||null,de),f.value.sortByTitle(),await Ue(),t(de.id),e(de.id)},S=()=>{if(b.value.length===0)return null;const V=b.value[0],G=f.value.findNode(V);return G?G.isFolder?G.id:G.parentId:null},y=()=>{w({nodeId:S(),isFolder:!1})},x=()=>{w({nodeId:S(),isFolder:!0})},T=V=>{b.value=V},L=V=>{f.value.deleteNode(V)},F=V=>{const G=f.value.findNode(V);G&&G.title===""&&L(G.id)},R=(V,G)=>{const Y=f.value.findNode(V);if(!Y)return;const ne=G.trim();if(!f.value.isExitNodeNameInFolder(ne,Y.id,Y.parentId||"")){if(!ne){F(V);return}f.value.updateNode(Y.id,{title:ne}),Ue(()=>{t(Y.id)})}},N=(V,G)=>{const Y=f.value.findNode(V);if(!Y)return!0;const ne=G.trim();return ne?f.value.isExitNodeNameInFolder(ne,Y.id,Y.parentId||"")?"A file or folder with this name already exists":!0:"Name cannot be empty"},P=V=>{const G=f.value.findNode(V);G&&(t(G.id),e(G.id))},D=(V,G,Y)=>{const ne=f.value.findNode(G);if(!ne)return;const ie=ne.isFolder?ne.id:ne.parentId;(Array.isArray(V)?V:[V]).forEach(fe=>{const pe=f.value.findNode(fe);pe&&(pe.parentId||null)!==(ie||null)&&(f.value.moveNode(pe.id,ie||null),f.value.sortByTitle())})},$=Al({resolveNodeById:V=>f.value.findNode(V),onCreateFile:V=>{w({nodeId:V,isFolder:!1})},onCreateFolder:V=>{w({nodeId:V,isFolder:!0})},onRename:V=>{P(V)},onDelete:V=>{L(V)}}),I=()=>{l.value?n():a()},J=V=>{const G=f.value.findNode(V);!G||G.isFolder||c({id:G.id,name:G.title,icon:G.icon})};return{contextMenuItems:$.contextMenuItems,explorerStorageKey:h,mappedExplorerFileTreeData:v,onAddFile:y,onAddFolder:x,onSelectNode:T,onCancelEditNode:F,onClearContextMenu:$.onClearContextMenu,onClickNode:J,isExpandedAll:l,onToggleCollapseExplorer:I,onMoveNode:D,onRenameFile:R,onTreeContextMenu:$.onRightClickItem,searchInput:d,validateRename:N}},Ol={class:"flex flex-col h-full w-full overflow-y-auto"},Nl={class:"flex gap-2 justify-center"},kl=se({__name:"ManagementExplorer",setup(e){const t=qe(),n=Ve("treePanelRef"),{contextMenuItems:a,explorerStorageKey:l,mappedExplorerFileTreeData:o,onAddFile:r,onAddFolder:m,onCancelEditNode:c,onClearContextMenu:d,onClickNode:p,isExpandedAll:f,onToggleCollapseExplorer:b,onMoveNode:u,onRenameFile:v,onSelectNode:h,onTreeContextMenu:w,searchInput:S,validateRename:y}=$l({startEditingNode:x=>{var T;return(T=n.value)==null?void 0:T.startEditing(x)},focusNode:x=>{var T;return(T=n.value)==null?void 0:T.focusItem(x)},collapseAll:()=>{var x;return(x=n.value)==null?void 0:x.collapseAll()},expandAll:()=>{var x;return(x=n.value)==null?void 0:x.expandAll()},isExpandedAll:q(()=>{var x;return((x=n.value)==null?void 0:x.isExpandedAll)??!1})});return Se(()=>t.activeTab,x=>{var T,L,F,R;if(!x){(T=n.value)==null||T.clearSelection();return}if(!((L=n.value)!=null&&L.isMouseInside)&&(x==null?void 0:x.type)===X.CodeQuery){const N=(F=x.metadata)==null?void 0:F.treeNodeId;typeof N=="string"&&((R=n.value)==null||R.focusItem(N))}},{flush:"post",immediate:!0}),(x,T)=>{const L=me,F=Re,R=Ie,N=Ae,P=De,D=Ke;return _(),z("div",Ol,[i(s(et),{search:s(S),"onUpdate:search":T[0]||(T[0]=$=>Ee(S)?S.value=$:null),title:"Explorer","show-search":!0},{actions:g(()=>[i(P,null,{default:g(()=>[i(R,{"as-child":""},{default:g(()=>[i(F,{size:"iconSm",variant:"ghost",onClick:s(r)},{default:g(()=>[i(L,{name:"hugeicons:file-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),i(N,null,{default:g(()=>T[1]||(T[1]=[M(" New File ")])),_:1})]),_:1}),i(P,null,{default:g(()=>[i(R,{"as-child":""},{default:g(()=>[i(F,{size:"iconSm",variant:"ghost",onClick:s(m)},{default:g(()=>[i(L,{name:"hugeicons:folder-add",class:"size-4! min-w-4"})]),_:1},8,["onClick"])]),_:1}),i(N,null,{default:g(()=>T[2]||(T[2]=[M(" New Folder ")])),_:1})]),_:1}),i(P,null,{default:g(()=>[i(R,{"as-child":""},{default:g(()=>[i(F,{size:"iconSm",variant:"ghost",onClick:s(b)},{default:g(()=>[i(L,{name:s(f)?"hugeicons:unfold-less":"hugeicons:unfold-more",class:"size-4! min-w-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),i(N,null,{default:g(()=>[M(ee(s(f)?"Collapse All":"Expand All"),1)]),_:1})]),_:1})]),_:1},8,["search"]),Object.keys(s(o)).length===0?(_(),te(D,{key:0,title:"No files found",desc:"Create your first file or folder to get started."},{default:g(()=>[E("div",Nl,[i(F,{size:"xs",variant:"outline",onClick:s(r)},{default:g(()=>[i(L,{name:"hugeicons:file-add"}),T[3]||(T[3]=M(" New File "))]),_:1},8,["onClick"]),i(F,{size:"xs",variant:"outline",onClick:s(m)},{default:g(()=>[i(L,{name:"hugeicons:folder-add"}),T[4]||(T[4]=M(" New Folder "))]),_:1},8,["onClick"])])]),_:1})):(_(),te(Il,{key:1,ref_key:"treePanelRef",ref:n,"tree-data":s(o),"storage-key":s(l),"context-menu-items":s(a),"validate-rename":s(y),onClickNode:s(p),onSelectNode:s(h),onRenameNode:s(v),onCancelRename:s(c),onContextNode:s(w),onMoveNode:s(u),onClearContextMenu:s(d)},null,8,["tree-data","storage-key","context-menu-items","validate-rename","onClickNode","onSelectNode","onRenameNode","onCancelRename","onContextNode","onMoveNode","onClearContextMenu"]))])}}});function Ll(e,t,n){return`CALL "${e}"."${t}"();`}function Pl(e,t,n){return`SELECT * FROM "${e}"."${t}"();`}const Sn=e=>(e||"").split(",").map(t=>t.trim().split(" ")[1]).join(", ");function Fl(e,t,n=!1,a){const l=Sn(a);return`DROP FUNCTION IF EXISTS "${e}"."${t}"(${l})${n?" CASCADE":""};`}function Ml(e,t,n,a){const l=Sn(a);return`ALTER FUNCTION "${e}"."${t}"(${l}) RENAME TO "${n}";`}function Ul(e,t,n=!1){return`DROP TABLE IF EXISTS "${e}"."${t}"${n?" CASCADE":""};`}function Vl(e,t,n){return`ALTER TABLE "${e}"."${t}" RENAME TO "${n}";`}function zl(e,t,n=!1,a=!1){return`DROP ${n?"MATERIALIZED VIEW":"VIEW"} IF EXISTS "${e}"."${t}"${a?" CASCADE":""};`}function jl(e,t,n,a=!1){return`ALTER ${a?"MATERIALIZED VIEW":"VIEW"} "${e}"."${t}" RENAME TO "${n}";`}function Bl(e,t,n=!1){return`REFRESH MATERIALIZED VIEW ${n?"CONCURRENTLY ":""}"${e}"."${t}";`}function ql(e,t,n){return`SELECT ${n!=null&&n.length?n.map(l=>`"${l}"`).join(", "):"*"}
|
|
17
|
+
FROM "${e}"."${t}"
|
|
18
|
+
WHERE 1=1
|
|
19
|
+
-- Add your conditions here
|
|
20
|
+
LIMIT 100;`}const Hl=(e,t)=>{const n=q(()=>{var l;return`${(l=e==null?void 0:e.value)==null?void 0:l.schemaName}.${We.Tables}`});return{fileTreeData:q(()=>{var v,h,w,S;const l=(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)||[],r=((w=e==null?void 0:e.value)==null?void 0:w.functions)||[],m=((S=e==null?void 0:e.value)==null?void 0:S.views)||[],c={},d=(y,x)=>{const T=Sn(x);return`${y}(${T})`},p=(y,x,T,L,F,R)=>{c[y]={id:y,parentId:null,name:x,type:"folder",depth:0,iconOpen:T,iconClose:L,iconClass:R,children:[],data:{tabViewType:F}}},f=`${l}.${We.Functions}`,b=n.value,u=`${l}.${We.Views}`;if(p(f,We.Functions,"material-icon-theme:folder-functions-open","material-icon-theme:folder-functions",X.FunctionsOverview),p(b,We.Tables,"material-icon-theme:folder-database-open","material-icon-theme:folder-database",X.TableOverview),p(u,We.Views,"material-icon-theme:folder-enum-open","material-icon-theme:folder-enum",X.ViewOverview),r.forEach(({name:y,oId:x,type:T,parameters:L})=>{const F=`${l}.${String(x)}`,R=d(y,L);c[F]={id:F,parentId:f,name:R,type:"file",depth:1,iconOpen:"gravity-ui:function",iconClose:"gravity-ui:function",iconClass:T===$n.Function?"text-blue-400":"text-orange-400",data:{tabViewType:X.FunctionsDetail,itemValue:{title:R,name:y,id:x,parameters:L,tabViewType:X.FunctionsDetail,icon:"gravity-ui:function",iconClass:T===$n.Function?"text-blue-400":"text-orange-400"},parameters:L}},c[f].children.push(F)}),o.forEach(y=>{const x=`${l}.${y}`;c[x]={id:x,parentId:b,name:y,type:"file",depth:1,iconOpen:"hugeicons:grid-table",iconClose:"hugeicons:grid-table",iconClass:"text-yellow-400",data:{tabViewType:X.TableDetail,itemValue:{title:y,name:y,id:y,tabViewType:X.TableDetail,icon:"hugeicons:grid-table",iconClass:"text-yellow-400"}}},c[b].children.push(x)}),m.forEach(({name:y,oid:x,type:T})=>{const L=`${l}.${String(x)}`;c[L]={id:L,parentId:u,name:y,type:"file",depth:1,iconOpen:T===Pe.View?"hugeicons:property-view":"hugeicons:property-new",iconClose:T===Pe.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:T===Pe.View?"text-green-700":"text-orange-500",data:{tabViewType:X.ViewDetail,itemValue:{title:y,name:y,id:x,tabViewType:X.ViewDetail,icon:T===Pe.View?"hugeicons:property-view":"hugeicons:property-new",iconClass:T===Pe.View?"text-green-700":"text-orange-500"}}},c[u].children.push(L)}),t.value){const y=t.value.toLowerCase(),x={};return[f,b,u].forEach(T=>{var R;const L=c[T];if(!L)return;const F=(R=L.children)==null?void 0:R.filter(N=>{const P=c[N];return P==null?void 0:P.name.toLowerCase().includes(y)});F&&F.length>0&&(x[T]={...L,children:F},F.forEach(N=>{x[N]=c[N]}))}),x}return c}),defaultFolderOpenId:n}},Gl={class:"py-2"},Wl=se({__name:"RenameDialog",props:Yt({open:{type:Boolean},tabViewType:{},currentName:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:Yt(["confirm","cancel"],["update:open"]),setup(e,{emit:t}){const n=e,a=ia(e,"open"),l=t,o=H("");Se(a,c=>{c&&(o.value=n.currentName||"")});const r=()=>{o.value&&o.value!==n.currentName?l("confirm",o.value):a.value=!1},m=()=>{a.value=!1,l("cancel")};return(c,d)=>(_(),te(s(xn),{open:a.value,"onUpdate:open":d[1]||(d[1]=p=>a.value=p)},{default:g(()=>[i(s(vn),{class:"border w-96!"},{default:g(()=>[i(s(gn),null,{default:g(()=>[i(s(yn),null,{default:g(()=>[M(" Rename "+ee(c.tabViewType===s(X).FunctionsDetail?"Function":"Table"),1)]),_:1}),i(s(hn),null,{default:g(()=>[M(" Enter a new name for the "+ee(c.tabViewType===s(X).FunctionsDetail?"function":"table")+". ",1)]),_:1})]),_:1}),E("div",Gl,[i(s(pn),{modelValue:s(o),"onUpdate:modelValue":d[0]||(d[0]=p=>Ee(o)?o.value=p:null),placeholder:`New ${c.tabViewType===s(X).FunctionsDetail?"function":"table"} name`,class:"w-full",onKeyup:Ct(r,["enter"])},null,8,["modelValue","placeholder"])]),i(s(bn),null,{default:g(()=>[i(s(wn),{onClick:m},{default:g(()=>d[2]||(d[2]=[M(" Cancel ")])),_:1}),i(s(pa),{onClick:r},{default:g(()=>d[3]||(d[3]=[M(" Rename ")])),_:1})]),_:1})]),_:1})]),_:1},8,["open"]))}}),Kl=se({__name:"SqlPreviewDialog",props:{open:{type:Boolean},sql:{},title:{},isLoading:{type:Boolean}},emits:["update:open"],setup(e,{emit:t}){const n=e,a=t,{copied:l,handleCopy:o,getCopyIcon:r,getCopyTooltip:m}=ma(),c=()=>o(n.sql),d=()=>{a("update:open",!1)};return(p,f)=>{const b=me,u=va;return _(),te(s(xn),{open:p.open,"onUpdate:open":f[0]||(f[0]=v=>a("update:open",v))},{default:g(()=>[i(s(vn),{class:"border w-[55vw]! max-w-[55vw]!"},{default:g(()=>[i(ca,{visible:p.isLoading},null,8,["visible"]),i(s(gn),null,{default:g(()=>[i(s(yn),{class:"flex items-center text-base font-medium"},{default:g(()=>[i(b,{name:"lucide:code",class:"size-4 mr-2"}),M(" "+ee(p.title),1)]),_:1}),i(s(hn),null,{default:g(()=>f[1]||(f[1]=[M(" Generated SQL statement. Click copy to use. ")])),_:1})]),_:1}),i(u,{code:p.sql,"show-copy-button":"","max-height":"24rem"},null,8,["code"]),i(s(bn),null,{default:g(()=>[i(s(wn),{class:"border font-normal",onClick:d},{default:g(()=>f[2]||(f[2]=[M(" Close ")])),_:1}),i(s(pa),{class:"border font-normal flex gap-1",onClick:c},{default:g(()=>[i(b,{name:s(r)(s(l)),class:"size-4"},null,8,["name"]),M(" "+ee(s(m)(s(l),"Copy to Clipboard")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}});function Ql(e,t,n){const{getSchemaName:a,executeWithSafeMode:l,showSqlPreview:o,executeWithLoading:r}=n;return{onDeleteFunction:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.FunctionsDetail||!t.selectedItem.value.name)return;const u=Fl(a(),t.selectedItem.value.name,!1,t.selectedItem.value.parameters),v=t.selectedItem.value.name;await l(u,"delete",async()=>{await r(async()=>{await $fetch("/api/functions/delete",{method:"POST",body:{...Ce(e.connection.value),schemaName:a(),functionName:v}}),he.success("Function deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete function")})},onRenameFunction:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.FunctionsDetail||!t.selectedItem.value.name||(t.renameDialogType.value=X.FunctionsDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=t.selectedItem.value.parameters||"")},performRenameFunction:async u=>{const v=Ml(a(),t.renameDialogValue.value,u,t.renameDialogParameters.value);await l(v,"save",async()=>{await r(async()=>{await $fetch("/api/functions/rename",{method:"POST",body:{...Ce(e.connection.value),schemaName:a(),oldName:t.renameDialogValue.value,newName:u}}),he.success("Function renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename function")})},onGenFunctionCallSQL:async()=>{t.selectedItem.value&&(o("","CALL Statement"),t.isFetching.value=!0,await r(async()=>{const u=await $fetch("/api/functions/signature",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}}),v=a(),h=(u==null?void 0:u.name)||"";let w;if(u!=null&&u.parameters&&u.parameters.length>0){const S=u.parameters.filter(y=>y.mode==="IN"||y.mode==="INOUT"||y.mode==="VARIADIC");if(S.length>0){const y=S.map(T=>`${T.name}::${T.type}`).join(", "),x=S.map(T=>`:${T.name}`).join(", ");w=`-- ${y}
|
|
21
|
+
CALL "${v}"."${h}"(${x});`}else w=`CALL "${v}"."${h}"();`}else w=Ll(v,h);t.sqlPreviewDialogSQL.value=w},t.isFetching,"Failed to get function signature"))},onGenFunctionSelectSQL:async()=>{t.selectedItem.value&&(o("","SELECT Function"),t.isFetching.value=!0,await r(async()=>{const u=await $fetch("/api/functions/signature",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}}),v=a(),h=(u==null?void 0:u.name)||"";let w;if(u!=null&&u.parameters&&u.parameters.length>0){const S=u.parameters.filter(y=>y.mode==="IN"||y.mode==="INOUT"||y.mode==="VARIADIC");if(S.length>0){const y=S.map(T=>`${T.name}::${T.type}`).join(", "),x=S.map(T=>`:${T.name}`).join(", ");w=`-- ${y}
|
|
22
|
+
SELECT * FROM "${v}"."${h}"(${x});`}else w=`SELECT * FROM "${v}"."${h}"();`}else w=Pl(v,h);t.sqlPreviewDialogSQL.value=w},t.isFetching,"Failed to get function signature"))},onGenFunctionDDL:async()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.FunctionsDetail||await r(async()=>{o("","Function DDL");const u=await $fetch("/api/functions/definition",{method:"POST",body:{...Ce(e.connection.value),functionId:t.selectedItem.value.id}});if(u)o(u,"Function DDL");else throw new Error("Could not retrieve function definition")},t.isFetching,"Failed to get function DDL")}}}function Yl(){const e=H(!1),t=H(0),n=H(null);return{isDownloading:e,downloadedBytes:t,error:n,downloadStream:async l=>{const{url:o,method:r="POST",body:m,filename:c,contentType:d}=l;e.value=!0,t.value=0,n.value=null;const p=he.loading(`Exporting ${c}...`,{description:"Starting download..."});try{const f=await fetch(o,{method:r,headers:{"Content-Type":"application/json"},body:m?JSON.stringify(m):void 0});if(!f.ok){let x="Export failed";try{x=(await f.json()).message||x}catch{}throw new Error(x)}if(!f.body)throw new Error("Response body is not available for streaming");const b=f.body.getReader(),u=[];let v=0;for(;;){const{done:x,value:T}=await b.read();if(x)break;u.push(T),v+=T.length,t.value=v;const L=kn(v);he.loading(`Exporting ${c}...`,{id:p,description:`Downloaded ${L}`,position:"bottom-right"})}const h=new Blob(u,{type:d||f.headers.get("Content-Type")||"application/octet-stream"}),w=URL.createObjectURL(h),S=document.createElement("a");S.href=w,S.download=c,document.body.appendChild(S),S.click(),document.body.removeChild(S),URL.revokeObjectURL(w);const y=kn(v);return he.success(`Exported ${c}`,{id:p,description:`${y} downloaded`,position:"bottom-right"}),{success:!0,size:v}}catch(f){const b=f;return n.value=b,he.error("Export failed",{id:p,description:b.message,position:"bottom-right"}),{success:!1,error:b}}finally{e.value=!1}}}}var Et=(e=>(e.CSV="csv",e.JSON="json",e.SQL="sql",e))(Et||{});function Xl(e,t,n){const{getSchemaName:a,executeWithSafeMode:l,showSqlPreview:o,getTableColumns:r,getTableColumnsMetadata:m,getPrimaryKeyColumns:c,getColumnPlaceholder:d,executeWithLoading:p}=n;return{onExportTableData:D=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.TableDetail||!t.selectedItem.value.name)return;const $=t.selectedItem.value.name,I=document.createElement("form");I.method="POST",I.action="/api/tables/export",I.style.display="none";const V={...Ce(e.connection.value),schemaName:a(),tableName:$,format:D};for(const[G,Y]of Object.entries(V))if(Y!==void 0){const ne=document.createElement("input");ne.type="hidden",ne.name=G,ne.value=typeof Y=="object"?JSON.stringify(Y):Y.toString(),I.appendChild(ne)}document.body.appendChild(I),I.submit(),document.body.removeChild(I),he.info(`Exporting ${$} as ${D.toUpperCase()}...`)},onExportTableDataWithProgressInClient:async D=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.TableDetail||!t.selectedItem.value.name)return;const $=t.selectedItem.value.name,{downloadStream:I}=Yl(),J={sql:"application/sql",json:"application/json",csv:"text/csv"},V=Xt().format("YYYY-MM-DD_HH-mm");await I({url:"/api/tables/export",method:"POST",body:{...Ce(e.connection.value),schemaName:a(),tableName:$,format:D},filename:`${$}_${V}.${D}`,contentType:J[D]})},onImportTableData:()=>{he.info("Import feature coming soon")},onDeleteTable:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.TableDetail||!t.selectedItem.value.name)return;const D=Ul(a(),t.selectedItem.value.name,!1);await l(D,"delete",async()=>{await p(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:D}}),he.success("Table deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete table")})},onRenameTable:()=>{!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.TableDetail||!t.selectedItem.value.name||(t.renameDialogType.value=X.TableDetail,t.renameDialogValue.value=t.selectedItem.value.name,t.renameDialogOpen.value=!0,t.renameDialogParameters.value="")},performRenameTable:async D=>{const $=Vl(a(),t.renameDialogValue.value,D);await l($,"save",async()=>{await p(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:$}}),he.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=r(t.selectedItem.value.name),$=a(),I=t.selectedItem.value.name,V=`SELECT ${D.length>0?D.map(G=>`"${G}"`).join(", "):"*"}
|
|
23
|
+
FROM "${$}"."${I}";
|
|
24
|
+
-- WHERE ?
|
|
25
|
+
-- LIMIT 100 OFFSET 0`;o(V,"SELECT Statement")},onGenInsertSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=m(t.selectedItem.value.name),$=a(),I=t.selectedItem.value.name;if(D.length>0){const J=D.map(Y=>`"${Y.name}"`).join(", "),V=D.map(Y=>d(Y)).join(", "),G=`INSERT INTO "${$}"."${I}" (${J})
|
|
26
|
+
VALUES (${V});`;o(G,"INSERT Statement")}else{const J=`INSERT INTO "${$}"."${I}" ("column1", "column2", ...)
|
|
27
|
+
VALUES (value1, value2, ...);`;o(J,"INSERT Statement")}},onGenUpdateSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=m(t.selectedItem.value.name),$=c(t.selectedItem.value.name),I=a(),J=t.selectedItem.value.name,V=D.filter(ie=>!$.includes(ie.name)),G=V.length>0?V.map(ie=>` "${ie.name}" = ${d(ie)}`).join(`,
|
|
28
|
+
`):` "column1" = value1,
|
|
29
|
+
"column2" = value2`,Y=$.length>0?$.map(ie=>`"${ie}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause",ne=`UPDATE "${I}"."${J}"
|
|
30
|
+
SET
|
|
31
|
+
${G}
|
|
32
|
+
WHERE ${Y};`;o(ne,"UPDATE Statement")},onGenDeleteSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=c(t.selectedItem.value.name),$=a(),I=t.selectedItem.value.name,J=D.length>0?D.map(G=>`"${G}" = ?`).join(" AND "):"1=0 -- Add your WHERE clause (safety: 1=0 to prevent accidental deletes)",V=`DELETE FROM "${$}"."${I}"
|
|
33
|
+
WHERE ${J};`;o(V,"DELETE Statement")},onGenMergeSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=r(t.selectedItem.value.name),$=c(t.selectedItem.value.name),I=a(),J=t.selectedItem.value.name,V=Ut(J),G=D.length>0?D.map(pe=>`"${pe}"`).join(", "):'"column1", "column2"',Y=`"${V}"`,ne=$.length>0?$.map(pe=>`${Y}."${pe}" = src."${pe}"`).join(" AND "):`${Y}."id" = src."id"`,ie=D.length>0?D.filter(pe=>!$.includes(pe)).map(pe=>` "${pe}" = src."${pe}"`).join(`,
|
|
34
|
+
`):' "column1" = src."column1"',de=D.length>0?D.map(pe=>`src."${pe}"`).join(", "):'src."column1", src."column2"',fe=`MERGE INTO "${I}"."${J}" AS ${Y}
|
|
35
|
+
USING (SELECT ${G} FROM source_table) AS src
|
|
36
|
+
ON ${ne}
|
|
37
|
+
WHEN MATCHED THEN
|
|
38
|
+
UPDATE SET
|
|
39
|
+
${ie}
|
|
40
|
+
WHEN NOT MATCHED THEN
|
|
41
|
+
INSERT (${G})
|
|
42
|
+
VALUES (${de});`;o(fe,"MERGE Statement")},onGenInsertOnConflictSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=m(t.selectedItem.value.name),$=c(t.selectedItem.value.name),I=a(),J=t.selectedItem.value.name,V=D.length>0?D.map(fe=>`"${fe.name}"`).join(", "):'"column1", "column2"',G=D.length>0?D.map(fe=>d(fe)).join(", "):"value1, value2",Y=$.length>0?$.map(fe=>`"${fe}"`).join(", "):'"id"',ne=D.filter(fe=>!$.includes(fe.name)),ie=ne.length>0?ne.map(fe=>` "${fe.name}" = EXCLUDED."${fe.name}"`).join(`,
|
|
43
|
+
`):' "column1" = EXCLUDED."column1"',de=`INSERT INTO "${I}"."${J}" (${V})
|
|
44
|
+
VALUES (${G})
|
|
45
|
+
ON CONFLICT (${Y})
|
|
46
|
+
DO UPDATE SET
|
|
47
|
+
${ie};`;o(de,"INSERT ON CONFLICT")},onGenUpdateFromSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=r(t.selectedItem.value.name),$=c(t.selectedItem.value.name),I=a(),J=t.selectedItem.value.name,G=`"${Ut(J)}"`,Y=D.length>0?D.filter(de=>!$.includes(de)).map(de=>` "${de}" = src."${de}"`).join(`,
|
|
48
|
+
`):' "column1" = src."column1"',ne=$.length>0?$.map(de=>`${G}."${de}" = src."${de}"`).join(" AND "):`${G}."id" = src."id"`,ie=`UPDATE "${I}"."${J}" AS ${G}
|
|
49
|
+
SET
|
|
50
|
+
${Y}
|
|
51
|
+
FROM source_table AS src
|
|
52
|
+
WHERE ${ne};`;o(ie,"UPDATE FROM")},onGenDeleteUsingSQL:()=>{if(!t.selectedItem.value||!t.selectedItem.value.name)return;const D=c(t.selectedItem.value.name),$=a(),I=t.selectedItem.value.name,V=`"${Ut(I)}"`,G=D.length>0?D.map(ne=>`${V}."${ne}" = src."${ne}"`).join(" AND "):`${V}."id" = src."id"`,Y=`DELETE FROM "${$}"."${I}" AS ${V}
|
|
53
|
+
USING source_table AS src
|
|
54
|
+
WHERE ${G};`;o(Y,"DELETE USING")},onGenTableDDL:async()=>{!t.selectedItem.value||!t.selectedItem.value.name||(o("","Table DDL"),await p(async()=>{const D=await $fetch("/api/tables/ddl",{method:"POST",body:{...Ce(e.connection.value),schemaName:a(),tableName:t.selectedItem.value.name}});o(D,"Table DDL")},t.isFetching,"Failed to get table DDL"))}}}function Jl(e,t,n){const{getSchemaName:a,executeWithSafeMode:l,showSqlPreview:o,executeWithLoading:r}=n,m=h=>{var S;return(((S=e.activeSchema.value)==null?void 0:S.views)||[]).find(y=>y.oid===h)},c=h=>{var S,y;const w=(S=e.activeSchema.value)==null?void 0:S.viewDetails;return(y=w==null?void 0:w[h])!=null&&y.columns?w[h].columns.map(x=>x.name):[]};return{getViewInfo:m,getViewColumns:c,onGenViewSelectSQL:()=>{if(!t.selectedItem.value)return;const h=m(t.selectedItem.value.id),w=(h==null?void 0:h.name)||t.selectedItem.value.title,S=c(w),y=a(),x=ql(y,w,S);o(x,"SELECT Statement")},onGenViewDDL:async()=>{if(!t.selectedItem.value)return;const h=m(t.selectedItem.value.id),w=(h==null?void 0:h.name)||t.selectedItem.value.title,S=(h==null?void 0:h.type)===Pe.MaterializedView?"MATERIALIZED VIEW":"VIEW";o("",`${S} DDL`),await r(async()=>{const y=await $fetch("/api/views/definition",{method:"POST",body:{...Ce(e.connection.value),viewId:t.selectedItem.value.id,schemaName:a(),viewName:w}});if(y&&y.definition)o(y.definition,`${S} 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!==X.ViewDetail)return;const h=m(t.selectedItem.value.id),w=(h==null?void 0:h.name)||t.selectedItem.value.title;t.renameDialogType.value=X.ViewDetail,t.renameDialogValue.value=w,t.renameDialogOpen.value=!0,t.renameDialogParameters.value=""},performRenameView:async h=>{var T;const S=(((T=e.activeSchema.value)==null?void 0:T.views)||[]).find(L=>L.name===t.renameDialogValue.value),y=(S==null?void 0:S.type)===Pe.MaterializedView,x=jl(a(),t.renameDialogValue.value,h,y);await l(x,"save",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:x}}),he.success("View renamed successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to rename view")})},onDeleteView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.ViewDetail)return;const h=m(t.selectedItem.value.id),w=(h==null?void 0:h.name)||t.selectedItem.value.title,S=(h==null?void 0:h.type)===Pe.MaterializedView,y=zl(a(),w,S,!1);await l(y,"delete",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:y}}),he.success("View deleted successfully"),await e.onRefreshSchema()},t.isFetching,"Failed to delete view")})},onRefreshMaterializedView:async()=>{if(!t.selectedItem.value||t.selectedItem.value.tabViewType!==X.ViewDetail)return;const h=m(t.selectedItem.value.id);if((h==null?void 0:h.type)!==Pe.MaterializedView){he.error("Only materialized views can be refreshed");return}const w=(h==null?void 0:h.name)||t.selectedItem.value.title,S=Bl(a(),w,!1);await l(S,"save",async()=>{await r(async()=>{await $fetch("/api/query/execute",{method:"POST",body:{...Ce(e.connection.value),query:S}}),he.success("Materialized view refreshed successfully")},t.isFetching,"Failed to refresh materialized view")})}}}const Zl=e=>q(()=>[{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:K.ACTION,select:e.onRenameFunction},{title:"Delete",icon:"hugeicons:delete-02",type:K.ACTION,select:e.onDeleteFunction},{type:K.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:K.SUBMENU,items:[{title:"CALL",icon:"hugeicons:play",type:K.ACTION,select:e.onGenFunctionCallSQL},{title:"SELECT",icon:"hugeicons:table",type:K.ACTION,select:e.onGenFunctionSelectSQL},{type:K.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:K.ACTION,select:e.onGenFunctionDDL}]}]),er=(e,t)=>q(()=>[{title:"Export Data",icon:"hugeicons:download-01",type:K.SUBMENU,items:[{title:"SQL (INSERT statements)",icon:"hugeicons:code",type:K.ACTION,select:()=>e.onExportTableData(Et.SQL)},{title:"JSON",icon:"hugeicons:file-script",type:K.ACTION,select:()=>e.onExportTableData(Et.JSON)},{title:"CSV",icon:"hugeicons:file-script",type:K.ACTION,select:()=>e.onExportTableData(Et.CSV)}]},{title:"Import Data",icon:"hugeicons:upload-01",type:K.ACTION,disabled:!0},{type:K.SEPARATOR},{title:"Generate SQL",icon:"hugeicons:code",type:K.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:K.ACTION,select:e.onGenSelectSQL},{title:"INSERT",icon:"hugeicons:plus-sign",type:K.ACTION,select:e.onGenInsertSQL},{title:"UPDATE",icon:"hugeicons:pencil-edit-02",type:K.ACTION,select:e.onGenUpdateSQL},{title:"DELETE",icon:"hugeicons:delete-01",type:K.ACTION,select:e.onGenDeleteSQL},{type:K.SEPARATOR},{title:"MERGE",icon:"hugeicons:git-merge",type:K.ACTION,select:e.onGenMergeSQL},{title:"INSERT ON CONFLICT",icon:"hugeicons:git-pull-request",type:K.ACTION,select:e.onGenInsertOnConflictSQL},{title:"UPDATE FROM",icon:"hugeicons:arrow-right-01",type:K.ACTION,select:e.onGenUpdateFromSQL},{title:"DELETE USING",icon:"hugeicons:delete-02",type:K.ACTION,select:e.onGenDeleteUsingSQL},{type:K.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:K.ACTION,select:e.onGenTableDDL}]},{type:K.SEPARATOR},{title:"Rename...",icon:"hugeicons:pencil-edit-02",type:K.ACTION,select:e.onRenameTable},{title:"Delete",icon:"hugeicons:delete-02",type:K.ACTION,select:e.onDeleteTable},{type:K.SEPARATOR},t]),tr=(e,t,n)=>q(()=>{const a=t.selectedItem.value?e.getViewInfo(t.selectedItem.value.id):null,l=(a==null?void 0:a.type)===Pe.MaterializedView,o=[{title:"Generate SQL",icon:"hugeicons:code",type:K.SUBMENU,items:[{title:"SELECT",icon:"hugeicons:table",type:K.ACTION,select:e.onGenViewSelectSQL},{type:K.SEPARATOR},{title:"DDL",icon:"hugeicons:document-code",type:K.ACTION,select:e.onGenViewDDL}]},{type:K.SEPARATOR}];return l&&(o.push({title:"Refresh Materialized View",icon:"hugeicons:refresh",type:K.ACTION,select:e.onRefreshMaterializedView}),o.push({type:K.SEPARATOR})),o.push({title:"Rename...",icon:"hugeicons:pencil-edit-02",type:K.ACTION,select:e.onRenameView},{title:"Delete",icon:"hugeicons:delete-02",type:K.ACTION,select:e.onDeleteView},{type:K.SEPARATOR},n),o});function nr(e,t){const n=ct(),a=ua(n,"quickQuerySafeModeEnabled"),l=H(!1),o=()=>{var S;return((S=e.activeSchema.value)==null?void 0:S.name)||"public"},r=S=>{const y=e.activeSchema.value;return y!=null&&y.tableDetails&&y.tableDetails[S]||null},m=S=>{const y=r(S);return y!=null&&y.columns?y.columns.sort((x,T)=>x.ordinal_position-T.ordinal_position):[]};return{getSchemaName:o,getTableMetadata:r,getTableColumnsMetadata:m,getTableColumns:S=>m(S).map(y=>y.name),getPrimaryKeyColumns:S=>{const y=r(S);return y!=null&&y.primary_keys?y.primary_keys.map(x=>x.column):[]},getColumnPlaceholder:S=>S.default_value?S.default_value:S.is_nullable?"NULL":`:${S.name}`,onRightClickItem:(S,y)=>{t.selectedItem.value=Ya(y.value)},showSqlPreview:(S,y)=>{t.sqlPreviewDialogSQL.value=S,t.sqlPreviewDialogTitle.value=y,t.sqlPreviewDialogOpen.value=!0},executeWithSafeMode:async(S,y,x)=>{a.value?(t.safeModeDialogSQL.value=S,t.safeModeDialogType.value=y,t.pendingAction.value=x,t.safeModeDialogOpen.value=!0):await x()},onSafeModeConfirm:async()=>{t.pendingAction.value&&(l.value=!0,await t.pendingAction.value(),l.value=!1,t.pendingAction.value=null),t.safeModeDialogOpen.value=!1},onSafeModeCancel:()=>{t.pendingAction.value=null,t.safeModeDialogOpen.value=!1},executeWithLoading:async(S,y=t.isFetching,x="An error occurred")=>{try{y.value=!0,await S()}catch(T){console.error(T);const L=T;he.error(L.message||x),t.sqlPreviewDialogOpen.value=!1}finally{y.value=!1}},safeModeLoading:l}}function ar(){const e=H(null),t=H(!1),n=H(""),a=H("delete"),l=H(null),o=H(null),r=H(!1),m=H(""),c=H(""),d=H(!1),p=H(""),f=H("Generated SQL"),b=H(!1);return{selectedItem:e,safeModeDialogOpen:t,safeModeDialogSQL:n,safeModeDialogType:a,pendingAction:l,renameDialogType:o,renameDialogOpen:r,renameDialogValue:m,renameDialogParameters:c,sqlPreviewDialogOpen:d,sqlPreviewDialogSQL:p,sqlPreviewDialogTitle:f,isFetching:b}}function or(e){const t=ut(),n={...e,connection:ua(t,"selectedConnection")},a=ar(),l=nr(n,a),o=Ql(n,a,l),r=Xl(n,a,l),m=Jl(n,a,l),c=async()=>{const h=he.loading("Refreshing schema...");try{await e.onRefreshSchema(),he.success("Schema refreshed",{id:h})}catch(w){const S=w;he.error(S.message||"Failed to refresh schema",{id:h})}},d={title:"Refresh Schema",icon:"hugeicons:refresh",type:K.ACTION,select:c},p=Zl(o),f=er(r,d),b=tr(m,a,d),u=async h=>{a.renameDialogOpen.value=!1,a.renameDialogType.value===X.FunctionsDetail?await o.performRenameFunction(h):a.renameDialogType.value===X.TableDetail?await r.performRenameTable(h):a.renameDialogType.value===X.ViewDetail&&await m.performRenameView(h)},v=q(()=>{if(!a.selectedItem.value)return[d];switch(a.selectedItem.value.tabViewType){case X.FunctionsDetail:return p.value;case X.TableDetail:return f.value;case X.ViewDetail:return b.value;default:return[d]}});return{selectedItem:a.selectedItem,contextMenuItems:v,safeModeLoading:l.safeModeLoading,safeModeDialogOpen:a.safeModeDialogOpen,safeModeDialogSQL:a.safeModeDialogSQL,safeModeDialogType:a.safeModeDialogType,onSafeModeConfirm:l.onSafeModeConfirm,onSafeModeCancel:l.onSafeModeCancel,renameDialogType:a.renameDialogType,renameDialogOpen:a.renameDialogOpen,renameDialogValue:a.renameDialogValue,onConfirmRename:u,sqlPreviewDialogOpen:a.sqlPreviewDialogOpen,sqlPreviewDialogSQL:a.sqlPreviewDialogSQL,sqlPreviewDialogTitle:a.sqlPreviewDialogTitle,isFetching:a.isFetching,onRightClickItem:l.onRightClickItem}}const lr={class:"flex flex-col h-full w-full overflow-y-auto relative"},rr={class:"h-full"},sr=se({__name:"ManagementSchemas",setup(e){const{connectToConnection:t}=At(),n=Rt(),a=$t(),l=qe(),{openSchemaItemTab:o}=ft(),{activeSchema:r}=xe(n),{connectionId:m,workspaceId:c}=Fe(),{schemaId:d}=xe(a),p=H(!1),f=Ve("fileTreeRef"),b=H(!1),u=ke(""),v=dt(u,Ze),{fileTreeData:h,defaultFolderOpenId:w}=Hl(r,v),S=q(()=>Object.keys(h.value).length>0),y=async()=>{if(!m.value)throw new Error("No connection selected");p.value=!0,await t({wsId:c.value,connId:m.value,isRefresh:!0}),p.value=!1},x=()=>{f.value&&(b.value?(f.value.expandAll(),b.value=!1):(f.value.collapseAll(),b.value=!0))},T=q(()=>{var k;return((k=r.value)==null?void 0:k.name)||"public"}),{selectedItem:L,contextMenuItems:F,safeModeDialogOpen:R,safeModeDialogSQL:N,safeModeDialogType:P,onSafeModeConfirm:D,onSafeModeCancel:$,renameDialogType:I,renameDialogOpen:J,renameDialogValue:V,onConfirmRename:G,sqlPreviewDialogOpen:Y,sqlPreviewDialogSQL:ne,sqlPreviewDialogTitle:ie,onRightClickItem:de,isFetching:fe,safeModeLoading:pe}=or({schemaName:T,activeSchema:r,onRefreshSchema:y}),W=async k=>{var oe,ge;const j=h.value[k];if(!j)return;const ce=(oe=j.data)==null?void 0:oe.tabViewType,re=(ge=j.data)==null?void 0:ge.itemValue;!d.value||!ce||await o({id:k,name:j.name,type:ce,icon:(re==null?void 0:re.icon)||j.iconOpen||j.iconClose,iconClass:(re==null?void 0:re.iconClass)||j.iconClass,itemValueId:re==null?void 0:re.id,treeNodeId:j.id})},C=(k,j)=>{var oe,ge;const ce=h.value[k];if(!ce)return;const re=((oe=ce.data)==null?void 0:oe.itemValue)||{title:ce.name,name:ce.name,id:ce.id,tabViewType:(ge=ce.data)==null?void 0:ge.tabViewType,icon:ce.iconOpen||ce.iconClose,iconClass:ce.iconClass};de(j,{value:re})};return Se(()=>l.activeTab,k=>{var j,ce,re,oe;if(!k){(j=f.value)==null||j.clearSelection();return}if(!((ce=f.value)!=null&&ce.isMouseInside)&&((k==null?void 0:k.type)===X.TableDetail||(k==null?void 0:k.type)===X.TableOverview||(k==null?void 0:k.type)===X.ViewDetail||(k==null?void 0:k.type)===X.ViewOverview||(k==null?void 0:k.type)===X.FunctionsDetail||(k==null?void 0:k.type)===X.FunctionsOverview)){const ge=(re=k.metadata)==null?void 0:re.treeNodeId;typeof ge=="string"&&((oe=f.value)==null||oe.focusItem(ge))}},{flush:"post",immediate:!0}),(k,j)=>{const ce=me,re=Re,oe=Ie,ge=Ae,ve=De,He=Ke;return _(),z("div",lr,[i(s(et),{search:s(u),"onUpdate:search":j[0]||(j[0]=be=>Ee(u)?u.value=be:null),title:"Schemas","show-connection":!0,"show-schema":!0,"workspace-id":s(c),"show-search":!0,"search-placeholder":"Search in all tables or functions"},{actions:g(()=>[i(ve,null,{default:g(()=>[i(oe,{"as-child":""},{default:g(()=>[i(re,{size:"iconSm",variant:"ghost",onClick:x},{default:g(()=>[i(ce,{name:s(b)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(ge,null,{default:g(()=>[M(ee(s(b)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(ve,null,{default:g(()=>[i(oe,{"as-child":""},{default:g(()=>[i(re,{size:"iconSm",variant:"ghost",onClick:y},{default:g(()=>[i(ce,{name:"hugeicons:redo",class:ye(["size-4! min-w-4",s(p)&&"animate-spin"])},null,8,["class"])]),_:1})]),_:1}),i(ge,null,{default:g(()=>j[5]||(j[5]=[M(" Refresh Schema ")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),s(S)?ae("",!0):(_(),te(He,{key:0,title:"No data found",desc:"There is no schemas data available for this connection."})),i(Ot,{"context-menu-items":s(F),onOnClearContextMenu:j[1]||(j[1]=be=>L.value=null)},{default:g(()=>[E("div",rr,[i(pt,{ref_key:"fileTreeRef",ref:f,"init-expanded-ids":[s(w)],"initial-data":s(h),"storage-key":`${s(m)}-schemas-tree`,"allow-drag-and-drop":!1,"delay-focus":0,onClick:W,onContextmenu:C},null,8,["init-expanded-ids","initial-data","storage-key"])])]),_:1},8,["context-menu-items"]),i(Eo,{loading:s(pe),open:s(R),sql:s(N),type:s(P),"onUpdate:open":j[2]||(j[2]=be=>R.value=be),onConfirm:s(D),onCancel:s($)},null,8,["loading","open","sql","type","onConfirm","onCancel"]),i(Wl,{open:s(J),"onUpdate:open":j[3]||(j[3]=be=>Ee(J)?J.value=be:null),tabViewType:s(I),"current-name":s(V),onConfirm:s(G)},null,8,["open","tabViewType","current-name","onConfirm"]),i(Kl,{open:s(Y),sql:s(ne),title:s(ie),isLoading:s(fe),"onUpdate:open":j[4]||(j[4]=be=>Y.value=be)},null,8,["open","sql","title","isLoading"])])}}}),ir={class:"flex flex-col h-full w-full overflow-hidden"},cr={key:0,class:"flex-1 flex flex-col items-center justify-center text-muted-foreground px-4"},ur={key:1,class:"flex-1 overflow-y-auto px-3 pb-4"},dr={class:"mb-4 p-3 bg-muted/30 rounded-lg"},fr={class:"flex items-center gap-2"},pr={class:"text-sm font-medium"},mr={class:"space-y-2"},vr={class:"p-2 rounded-md bg-blue-500/10"},gr={class:"p-2 rounded-md bg-green-500/10"},yr={class:"mt-4 p-3 bg-muted/30 rounded-lg text-xs text-muted-foreground"},hr={class:"flex items-start gap-2"},br=se({__name:"ManagementExport",setup(e){const t=ut(),{openDatabaseToolsTab:n}=ft(),{connectionId:a,workspaceId:l}=Fe(),o=q(()=>a.value?t.connections.find(d=>d.id===a.value):null),r=q(()=>{var d;return((d=o.value)==null?void 0:d.connectionString)||""}),m=q(()=>{var d,p;return((d=o.value)==null?void 0:d.database)||((p=o.value)==null?void 0:p.name)||"database"}),c=async d=>{await n({type:d,databaseName:m.value})};return(d,p)=>{const f=me;return _(),z("div",ir,[i(s(et),{title:"Database Tools","show-connection":!0,"workspace-id":s(l)},null,8,["workspace-id"]),s(r)?(_(),z("div",ur,[E("div",dr,[E("div",fr,[i(f,{name:"lucide:database",class:"size-5 text-primary"}),E("div",null,[E("p",pr,ee(s(m)),1),p[3]||(p[3]=E("p",{class:"text-xs text-muted-foreground"},"Connected database",-1))])])]),E("div",mr,[E("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:p[0]||(p[0]=b=>c("export"))},[E("div",vr,[i(f,{name:"lucide:download",class:"size-5 text-blue-500"})]),p[4]||(p[4]=E("div",{class:"flex-1"},[E("p",{class:"text-sm font-medium"},"Export Database"),E("p",{class:"text-xs text-muted-foreground"}," Backup schema and data using pg_dump ")],-1)),i(f,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})]),E("button",{class:"w-full flex items-center gap-3 p-3 rounded-lg border hover:bg-accent/50 transition-colors text-left",onClick:p[1]||(p[1]=b=>c("import"))},[E("div",gr,[i(f,{name:"lucide:upload",class:"size-5 text-green-500"})]),p[5]||(p[5]=E("div",{class:"flex-1"},[E("p",{class:"text-sm font-medium"},"Import Database"),E("p",{class:"text-xs text-muted-foreground"}," Restore from backup using pg_restore ")],-1)),i(f,{name:"lucide:external-link",class:"size-4 text-muted-foreground"})])]),E("div",yr,[E("div",hr,[i(f,{name:"lucide:info",class:"size-4 mt-0.5 shrink-0"}),p[6]||(p[6]=E("div",null,[E("p",{class:"font-medium"},"Requirements"),E("p",{class:"mt-1"},[E("code",{class:"bg-muted px-1 rounded"},"pg_dump"),M(" and "),E("code",{class:"bg-muted px-1 rounded"},"pg_restore"),M(" must be installed on the server. ")])],-1))])])])):(_(),z("div",cr,[i(f,{name:"hugeicons:plug-socket",class:"size-12 mb-2 opacity-50"}),p[2]||(p[2]=E("p",{class:"text-sm text-center"},"Select a connection",-1))]))])}}}),wr={class:"flex items-center justify-between"},xr={class:"text-sm"},Sr={class:"flex items-center gap-1"},Tr={class:"h-full mt-4"},Cr={key:0,class:"space-y-2"},Er={class:"space-y-2"},_r={class:"grid grid-cols-2 gap-4"},Dr={class:"space-y-2"},Ir={class:"relative"},Ar={class:"space-y-2"},Rr={class:"grid grid-cols-2 gap-3 pt-2"},$r={class:"flex items-center space-x-2"},Or={class:"flex items-center space-x-2"},Nr={class:"flex items-center space-x-2"},kr={class:"flex items-center space-x-2"},Lr={key:0,class:"text-sm text-destructive space-y-1"},Pr={key:1,class:"space-y-2"},Fr={class:"space-y-2"},Mr={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"},Ur={class:"flex items-center gap-2"},Vr={class:"font-medium"},zr={key:1,class:"space-y-2 pt-2"},jr={class:"flex items-center space-x-2"},Br={key:2,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},qr={key:2,class:"space-y-2"},Hr={class:"flex items-center justify-between"},Gr={key:0,class:"flex items-center justify-center gap-2 py-8 text-muted-foreground"},Wr={key:1,class:"space-y-2 max-h-[50vh] overflow-y-auto"},Kr={class:"flex items-center gap-2"},Qr={class:"text-sm font-medium"},Yr={class:"flex items-center gap-4"},Xr={class:"flex items-center space-x-2"},Jr={class:"flex items-center space-x-2"},Zr={key:2,class:"flex flex-col items-center justify-center py-8 text-muted-foreground"},es={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"},ts={class:"flex items-center gap-2"},ns={key:3,class:"space-y-2"},as={class:"space-y-2"},os={class:"grid grid-cols-4 gap-2"},ls={class:"flex items-center space-x-2 pt-2"},rs={class:"space-y-2"},ss={class:"flex items-center space-x-2"},is={class:"flex items-center space-x-2 pt-2"},cs={class:"space-y-2"},us={class:"grid grid-cols-3 gap-2"},ds={class:"flex items-center space-x-2 pt-2"},fs={class:"text-xs text-muted-foreground"},ps={key:4,class:"space-y-2"},ms={class:"space-y-2"},vs={class:"grid grid-cols-2 gap-1 text-sm"},gs={class:"font-normal"},ys={class:"font-normal"},hs={class:"font-normal"},bs={class:"font-normal"},ws={key:0},xs={key:1},Ss={key:0,class:"p-3 rounded-md bg-destructive/10 border border-destructive/30 text-destructive text-sm"},Ts={class:"flex items-start gap-2"},Cs={class:"flex-1"},Es={class:"text-xs mt-1 opacity-90"},_s={class:"space-y-2"},Ds={class:"flex items-center justify-between"},Is={class:"max-h-[140px] w-full overflow-y-auto rounded-md border bg-muted/50"},As={class:"flex gap-2 items-center"},Qe=5,Rs=se({__name:"CreateUserModal",props:{open:{type:Boolean},loading:{type:Boolean},databasesLoading:{type:Boolean},schemasLoading:{type:Boolean},databases:{},schemas:{},schemaObjects:{},currentDatabase:{},error:{}},emits:["update:open","confirm","cancel","clearError","fetchSchemas","fetchSchemaObjects"],setup(e,{emit:t}){const n=e,a=t,l=H(1),o=ht({roleName:"",password:"",canLogin:!0,canCreateDb:!1,canCreateRole:!1,isReplication:!1,connectionLimit:-1,validUntil:"",comment:""}),r=H(""),m=H(!1),c=q(()=>{var W;return((W=n.currentDatabase)==null?void 0:W.trim())||""}),d=q(()=>!r.value||!c.value?!1:r.value!==c.value),p=H(new Map),f=H("tables"),b=ht({scope:"all",privileges:new Set,applyToFuture:!1}),u=ht({scope:"all",privileges:new Set,applyToFuture:!1}),v=ht({scope:"all",privileges:new Set,applyToFuture:!1}),h=H(!1),w=q(()=>{const W=[];return o.roleName.trim()||W.push("Username is required"),o.roleName.includes(" ")&&W.push("Username cannot contain spaces"),W}),S=q(()=>w.value.length===0),y=q(()=>{for(const[,W]of p.value)if(W.has("USAGE"))return!0;return!1}),x=q(()=>{const W=[];for(const[C,k]of p.value)k.has("USAGE")&&W.push(C);return W}),T=q(()=>{const W=[];o.canLogin?(W.push("LOGIN"),o.password&&W.push(`PASSWORD '${o.password.replace(/'/g,"''")}'`)):W.push("NOLOGIN"),o.canCreateDb&&W.push("CREATEDB"),o.canCreateRole&&W.push("CREATEROLE"),o.isReplication&&W.push("REPLICATION"),o.connectionLimit>=0&&W.push(`CONNECTION LIMIT ${o.connectionLimit}`),o.validUntil&&W.push(`VALID UNTIL '${o.validUntil}'`);let C=`CREATE ROLE "${o.roleName}" WITH ${W.join(" ")};
|
|
55
|
+
`;r.value&&m.value&&(C+=`GRANT CONNECT ON DATABASE "${r.value}" TO "${o.roleName}";
|
|
56
|
+
`);for(const[k,j]of p.value)j.size>0&&(C+=`GRANT ${Array.from(j).join(", ")} ON SCHEMA "${k}" TO "${o.roleName}";
|
|
57
|
+
`);for(const k of x.value)if(b.privileges.size>0){const j=Array.from(b.privileges).join(", ");C+=`GRANT ${j} ON ALL TABLES IN SCHEMA "${k}" TO "${o.roleName}";
|
|
58
|
+
`,b.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${k}" GRANT ${j} ON TABLES TO "${o.roleName}";
|
|
59
|
+
`)}for(const k of x.value)if(u.privileges.size>0){const j=Array.from(u.privileges).join(", ");C+=`GRANT ${j} ON ALL FUNCTIONS IN SCHEMA "${k}" TO "${o.roleName}";
|
|
60
|
+
`,u.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${k}" GRANT ${j} ON FUNCTIONS TO "${o.roleName}";
|
|
61
|
+
`)}for(const k of x.value)if(v.privileges.size>0){const j=Array.from(v.privileges).join(", ");C+=`GRANT ${j} ON ALL SEQUENCES IN SCHEMA "${k}" TO "${o.roleName}";
|
|
62
|
+
`,v.applyToFuture&&(C+=`ALTER DEFAULT PRIVILEGES IN SCHEMA "${k}" GRANT ${j} ON SEQUENCES TO "${o.roleName}";
|
|
63
|
+
`)}return C}),{copied:L,handleCopy:F,getCopyIcon:R,getCopyIconClass:N,getCopyTooltip:P}=ma(),D=()=>F(T.value),$=()=>{if(l.value<Qe){if(l.value===2&&r.value){if(d.value){l.value=Qe;return}a("fetchSchemas")}l.value++}},I=()=>{if(l.value===Qe&&d.value){l.value=2;return}l.value>1&&l.value--},J=q(()=>l.value===1?S.value:l.value===2?!!r.value&&!n.databasesLoading:l.value===3?y.value:!0);Se(r,()=>{p.value.clear(),b.privileges.clear(),b.applyToFuture=!1,u.privileges.clear(),u.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1});const V=(W,C)=>{const k=p.value.get(W)??new Set,j=new Set(k);j.has(C)?j.delete(C):j.add(C),p.value.set(W,j)},G=(W,C)=>{var k;return((k=p.value.get(W))==null?void 0:k.has(C))??!1},Y=W=>{b.privileges.has(W)?b.privileges.delete(W):b.privileges.add(W)},ne=W=>{u.privileges.has(W)?u.privileges.delete(W):u.privileges.add(W)},ie=W=>{v.privileges.has(W)?v.privileges.delete(W):v.privileges.add(W)},de=()=>{const W=[];for(const[k,j]of p.value)j.size>0&&W.push({schemaName:k,privileges:Array.from(j)});const C=[];for(const k of x.value)b.privileges.size>0&&C.push({objectType:"table",schemaName:k,privileges:Array.from(b.privileges),applyToFuture:b.applyToFuture}),u.privileges.size>0&&C.push({objectType:"function",schemaName:k,privileges:Array.from(u.privileges),applyToFuture:u.applyToFuture}),v.privileges.size>0&&C.push({objectType:"sequence",schemaName:k,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:r.value&&m.value?[{databaseName:r.value,privileges:["CONNECT"]}]:[],schemaGrants:W,objectGrants:C})},fe=()=>{l.value=1,o.roleName="",o.password="",o.canLogin=!0,o.canCreateDb=!1,o.canCreateRole=!1,o.isReplication=!1,o.connectionLimit=-1,o.validUntil="",o.comment="",r.value="",m.value=!1,p.value.clear(),b.privileges.clear(),b.applyToFuture=!1,u.privileges.clear(),u.applyToFuture=!1,v.privileges.clear(),v.applyToFuture=!1,h.value=!1};Se(()=>n.open,W=>{W||fe()}),Se(l,()=>{a("clearError")});const pe=["User Info","Database","Schemas","Objects","Review"];return(W,C)=>{const k=me,j=Za,ce=eo,re=Ja,oe=to,ge=pn,ve=_o,He=no,be=cn,mt=fn,kt=dn,Lt=sn,Pt=Ke,nt=Ao,vt=Io,at=Ro,A=Do,O=Re,B=Ie,U=Ae,Z=De,ue=va,le=ao,ze=Xa,gt=oo;return _(),te(gt,{open:W.open,"onUpdate:open":C[16]||(C[16]=yt=>a("update:open",yt))},{default:g(()=>[i(ze,{class:"w-[65vw] h-[60vh] max-w-[65vw]! gap-1 p-5 flex flex-col flex-1 overflow-hidden"},{default:g(()=>{var yt,In,An;return[i(re,null,{default:g(()=>[i(j,{class:"flex items-center font-medium! gap-2"},{default:g(()=>[i(k,{name:"lucide:user-plus",class:"size-5 text-primary"}),C[17]||(C[17]=M(" Create New User/Role "))]),_:1}),i(ce,null,{default:g(()=>[E("div",wr,[E("span",xr,"Step "+ee(s(l))+": "+ee(pe[s(l)-1]),1),E("div",Sr,[(_(),z(Te,null,$e(Qe,Q=>E("div",{key:Q,class:ye(["w-6 h-1 rounded-full transition-colors",Q<=s(l)?"bg-primary":"bg-muted"])},null,2)),64))])])]),_:1})]),_:1}),E("div",Tr,[s(l)===1?(_(),z("div",Cr,[E("div",Er,[i(oe,{for:"roleName"},{default:g(()=>C[18]||(C[18]=[M("Username "),E("span",{class:"text-destructive"},"*",-1)])),_:1}),i(ge,{id:"roleName",modelValue:s(o).roleName,"onUpdate:modelValue":C[0]||(C[0]=Q=>s(o).roleName=Q),placeholder:"Enter username",class:ye({"border-destructive":s(o).roleName&&s(w).some(Q=>Q.includes("Username"))})},null,8,["modelValue","class"])]),E("div",_r,[E("div",Dr,[i(oe,{for:"password"},{default:g(()=>C[19]||(C[19]=[M("Password")])),_:1}),E("div",Ir,[i(ge,{id:"password",modelValue:s(o).password,"onUpdate:modelValue":C[1]||(C[1]=Q=>s(o).password=Q),type:s(h)?"text":"password",placeholder:"Enter password",class:"pr-10"},null,8,["modelValue","type"]),E("button",{type:"button",class:"absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground",onClick:C[2]||(C[2]=Q=>h.value=!s(h))},[i(k,{name:s(h)?"lucide:eye-off":"lucide:eye",class:"size-4"},null,8,["name"])])]),C[20]||(C[20]=E("p",{class:"text-xs text-amber-500 dark:text-amber-400"}," Leave blank to create a role without a password. ",-1))]),E("div",Ar,[i(oe,{for:"connectionLimit"},{default:g(()=>C[21]||(C[21]=[M("Connection Limit")])),_:1}),i(ge,{id:"connectionLimit",modelValue:s(o).connectionLimit,"onUpdate:modelValue":C[3]||(C[3]=Q=>s(o).connectionLimit=Q),modelModifiers:{number:!0},type:"number",min:-1,placeholder:"No limit"},null,8,["modelValue"]),C[22]||(C[22]=E("p",{class:"text-xs text-muted-foreground"}," Use `-1` for no limit. ",-1))])]),E("div",Rr,[E("div",$r,[i(ve,{id:"canLogin","model-value":s(o).canLogin,"onUpdate:modelValue":C[4]||(C[4]=Q=>s(o).canLogin=Q)},null,8,["model-value"]),i(oe,{for:"canLogin",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[23]||(C[23]=[M("Can Login")])),_:1})]),E("div",Or,[i(ve,{id:"canCreateDb","model-value":s(o).canCreateDb,"onUpdate:modelValue":C[5]||(C[5]=Q=>s(o).canCreateDb=Q)},null,8,["model-value"]),i(oe,{for:"canCreateDb",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[24]||(C[24]=[M("Create DB")])),_:1})]),E("div",Nr,[i(ve,{id:"canCreateRole","model-value":s(o).canCreateRole,"onUpdate:modelValue":C[6]||(C[6]=Q=>s(o).canCreateRole=Q)},null,8,["model-value"]),i(oe,{for:"canCreateRole",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[25]||(C[25]=[M("Create Role")])),_:1})]),E("div",kr,[i(ve,{id:"isReplication","model-value":s(o).isReplication,"onUpdate:modelValue":C[7]||(C[7]=Q=>s(o).isReplication=Q)},null,8,["model-value"]),i(oe,{for:"isReplication",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[26]||(C[26]=[M("Replication")])),_:1})])]),s(w).length>0&&s(o).roleName?(_(),z("div",Lr,[(_(!0),z(Te,null,$e(s(w),Q=>(_(),z("div",{key:Q,class:"flex items-center gap-1"},[i(k,{name:"lucide:x",class:"size-3"}),M(" "+ee(Q),1)]))),128))])):ae("",!0)])):s(l)===2?(_(),z("div",Pr,[E("div",Fr,[i(oe,null,{default:g(()=>C[27]||(C[27]=[M("Select Database")])),_:1}),i(Lt,{modelValue:s(r),"onUpdate:modelValue":C[8]||(C[8]=Q=>Ee(r)?r.value=Q:null),disabled:W.databasesLoading},{default:g(()=>[i(be,null,{default:g(()=>[i(He,{placeholder:W.databasesLoading?"Loading databases...":"Choose a database"},null,8,["placeholder"])]),_:1}),i(kt,null,{default:g(()=>[(_(!0),z(Te,null,$e(W.databases,Q=>(_(),te(mt,{key:Q.databaseName,value:Q.databaseName},{default:g(()=>[M(ee(Q.databaseName),1)]),_:2},1032,["value"]))),128))]),_:1})]),_:1},8,["modelValue","disabled"])]),s(d)?(_(),z("div",Mr,[E("div",Ur,[i(k,{name:"lucide:info",class:"size-4"}),E("span",null,[C[28]||(C[28]=M(" You're connected to ")),E("span",Vr,ee(s(c)),1),C[29]||(C[29]=M(". Schema and object permissions can only be configured for the connected database, so you'll go directly to Review for database-level grants. "))])])])):ae("",!0),s(r)&&!W.databasesLoading?(_(),z("div",zr,[E("div",jr,[i(ve,{id:"dbConnect","model-value":s(m),"onUpdate:modelValue":C[9]||(C[9]=Q=>Ee(m)?m.value=Q:null)},null,8,["model-value"]),i(oe,{for:"dbConnect",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[30]||(C[30]=[M(" Grant CONNECT permission ")])),_:1})]),C[31]||(C[31]=E("p",{class:"text-xs text-muted-foreground"}," CONNECT allows the user to connect to this database. ",-1))])):ae("",!0),W.databasesLoading?(_(),z("div",Br,[i(k,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),C[32]||(C[32]=E("p",{class:"text-sm"},"Loading databases...",-1))])):(yt=W.databases)!=null&&yt.length?ae("",!0):(_(),te(Pt,{key:3,title:"No databases available",desc:"No databases were found for this connection."}))])):s(l)===3?(_(),z("div",qr,[E("div",Hr,[i(oe,null,{default:g(()=>C[33]||(C[33]=[M("Schema Permissions")])),_:1}),C[34]||(C[34]=E("span",{class:"text-xs text-muted-foreground"},"At least one USAGE required",-1))]),W.schemasLoading?(_(),z("div",Gr,[i(k,{name:"hugeicons:loading-03",class:"size-5 animate-spin text-muted-foreground"}),C[35]||(C[35]=E("p",{class:"text-sm"},"Loading schemas...",-1))])):(In=W.schemas)!=null&&In.length?(_(),z("div",Wr,[(_(!0),z(Te,null,$e(W.schemas,Q=>(_(),z("div",{key:Q.schemaName,class:"flex items-center justify-between p-3 rounded-lg border bg-card hover:bg-accent/50 transition-colors"},[E("div",Kr,[i(k,{name:"lucide:folder",class:"size-4 text-muted-foreground"}),E("span",Qr,ee(Q.schemaName),1)]),E("div",Yr,[E("div",Xr,[i(ve,{id:`schema-${Q.schemaName}-usage`,"model-value":G(Q.schemaName,"USAGE"),"onUpdate:modelValue":Ft=>V(Q.schemaName,"USAGE")},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`schema-${Q.schemaName}-usage`,class:"text-xs cursor-pointer"},{default:g(()=>C[36]||(C[36]=[M("USAGE")])),_:2},1032,["for"])]),E("div",Jr,[i(ve,{id:`schema-${Q.schemaName}-create`,"model-value":G(Q.schemaName,"CREATE"),"onUpdate:modelValue":Ft=>V(Q.schemaName,"CREATE")},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`schema-${Q.schemaName}-create`,class:"text-xs cursor-pointer"},{default:g(()=>C[37]||(C[37]=[M("CREATE")])),_:2},1032,["for"])])])]))),128))])):(_(),z("div",Zr,[i(k,{name:"lucide:folder",class:"size-12 mb-2 opacity-50"}),C[38]||(C[38]=E("p",{class:"text-sm"},"No schemas found",-1))])),!s(y)&&((An=W.schemas)!=null&&An.length)?(_(),z("div",es,[E("div",ts,[i(k,{name:"lucide:alert-triangle",class:"size-4"}),C[39]||(C[39]=E("span",null,"Select at least one schema with USAGE permission to continue",-1))])])):ae("",!0)])):s(l)===4?(_(),z("div",ns,[i(A,{modelValue:s(f),"onUpdate:modelValue":C[14]||(C[14]=Q=>Ee(f)?f.value=Q:null),class:"w-full"},{default:g(()=>[i(vt,{class:"w-full grid grid-cols-3"},{default:g(()=>[i(nt,{value:"tables"},{default:g(()=>[i(k,{name:"lucide:table",class:"size-4 mr-1"}),C[40]||(C[40]=M(" Tables "))]),_:1}),i(nt,{value:"functions"},{default:g(()=>[i(k,{name:"lucide:function-square",class:"size-4 mr-1"}),C[41]||(C[41]=M(" Functions "))]),_:1}),i(nt,{value:"sequences"},{default:g(()=>[i(k,{name:"lucide:list-ordered",class:"size-4 mr-1"}),C[42]||(C[42]=M(" Sequences "))]),_:1})]),_:1}),i(at,{value:"tables",class:"space-y-2 pt-4"},{default:g(()=>[E("div",as,[i(oe,{class:"text-sm"},{default:g(()=>C[43]||(C[43]=[M("Table Privileges")])),_:1}),E("div",os,[(_(),z(Te,null,$e(["SELECT","INSERT","UPDATE","DELETE"],Q=>E("div",{key:Q,class:"flex items-center space-x-2"},[i(ve,{id:`table-${Q}`,"model-value":s(b).privileges.has(Q),"onUpdate:modelValue":Ft=>Y(Q)},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`table-${Q}`,class:"text-xs cursor-pointer"},{default:g(()=>[M(ee(Q),1)]),_:2},1032,["for"])])),64))])]),E("div",ls,[i(ve,{id:"tablesFuture","model-value":s(b).applyToFuture,"onUpdate:modelValue":C[10]||(C[10]=Q=>s(b).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"tablesFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[44]||(C[44]=[M(" Apply to future tables (ALTER DEFAULT PRIVILEGES) ")])),_:1})])]),_:1}),i(at,{value:"functions",class:"space-y-2 pt-4"},{default:g(()=>[E("div",rs,[i(oe,{class:"text-sm"},{default:g(()=>C[45]||(C[45]=[M("Function Privileges")])),_:1}),E("div",ss,[i(ve,{id:"func-execute","model-value":s(u).privileges.has("EXECUTE"),"onUpdate:modelValue":C[11]||(C[11]=Q=>ne("EXECUTE"))},null,8,["model-value"]),i(oe,{for:"func-execute",class:"text-xs cursor-pointer"},{default:g(()=>C[46]||(C[46]=[M("EXECUTE")])),_:1})])]),E("div",is,[i(ve,{id:"funcFuture","model-value":s(u).applyToFuture,"onUpdate:modelValue":C[12]||(C[12]=Q=>s(u).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"funcFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[47]||(C[47]=[M(" Apply to future functions ")])),_:1})])]),_:1}),i(at,{value:"sequences",class:"space-y-2 pt-4"},{default:g(()=>[E("div",cs,[i(oe,{class:"text-sm"},{default:g(()=>C[48]||(C[48]=[M("Sequence Privileges")])),_:1}),E("div",us,[(_(),z(Te,null,$e(["USAGE","SELECT"],Q=>E("div",{key:Q,class:"flex items-center space-x-2"},[i(ve,{id:`seq-${Q}`,"model-value":s(v).privileges.has(Q),"onUpdate:modelValue":Ft=>ie(Q)},null,8,["id","model-value","onUpdate:modelValue"]),i(oe,{for:`seq-${Q}`,class:"text-xs cursor-pointer"},{default:g(()=>[M(ee(Q),1)]),_:2},1032,["for"])])),64))])]),E("div",ds,[i(ve,{id:"seqFuture","model-value":s(v).applyToFuture,"onUpdate:modelValue":C[13]||(C[13]=Q=>s(v).applyToFuture=Q)},null,8,["model-value"]),i(oe,{for:"seqFuture",class:"text-sm font-normal cursor-pointer"},{default:g(()=>C[49]||(C[49]=[M(" Apply to future sequences ")])),_:1})])]),_:1})]),_:1},8,["modelValue"]),E("p",fs," Permissions will be applied to all objects in selected schemas: "+ee(s(x).join(", ")||"none"),1)])):s(l)===5?(_(),z("div",ps,[E("div",ms,[C[54]||(C[54]=E("h4",{class:"text-sm font-medium"},"Summary",-1)),E("div",vs,[C[50]||(C[50]=E("div",{class:"text-muted-foreground"},"Username:",-1)),E("div",gs,ee(s(o).roleName),1),C[51]||(C[51]=E("div",{class:"text-muted-foreground"},"Type:",-1)),E("div",ys,ee(s(o).canLogin?"User (login)":"Role"),1),C[52]||(C[52]=E("div",{class:"text-muted-foreground"},"Database:",-1)),E("div",hs,ee(s(r)||"None"),1),C[53]||(C[53]=E("div",{class:"text-muted-foreground"},"Schemas:",-1)),E("div",bs,[s(d)?(_(),z("span",ws,"Skipped")):(_(),z("span",xs,ee(s(x).length)+" selected",1))])])]),W.error?(_(),z("div",Ss,[E("div",Ts,[i(k,{name:"lucide:alert-circle",class:"size-4 mt-0.5 shrink-0"}),E("div",Cs,[C[55]||(C[55]=E("p",{class:"font-medium"},"Error creating user",-1)),E("p",Es,ee(W.error),1)])])])):ae("",!0),E("div",_s,[E("div",Ds,[C[56]||(C[56]=E("h4",{class:"text-sm font-medium"},"Generated SQL",-1)),i(Z,null,{default:g(()=>[i(B,{"as-child":""},{default:g(()=>[i(O,{variant:"ghost",size:"xs",onClick:D},{default:g(()=>[i(k,{name:s(R)(s(L)),class:ye(["size-3 mr-1",s(N)(s(L))])},null,8,["name","class"]),M(" "+ee(s(P)(s(L),"Copy")),1)]),_:1})]),_:1}),i(U,null,{default:g(()=>[M(ee(s(P)(s(L),"Copy SQL")),1)]),_:1})]),_:1})]),E("div",Is,[i(ue,{code:s(T),"max-height":"140px"},null,8,["code"])])])])):ae("",!0)]),i(le,{class:"gap-2 sm:gap-0"},{default:g(()=>[s(l)>1?(_(),te(O,{key:0,variant:"outline",onClick:I,disabled:W.loading},{default:g(()=>[i(k,{name:"lucide:arrow-left",class:"size-4"}),C[57]||(C[57]=M(" Back "))]),_:1},8,["disabled"])):ae("",!0),C[60]||(C[60]=E("div",{class:"flex-1"},null,-1)),E("div",As,[s(l)===1?(_(),te(O,{key:0,variant:"outline",onClick:C[15]||(C[15]=Q=>a("cancel")),disabled:W.loading},{default:g(()=>C[58]||(C[58]=[M(" Cancel ")])),_:1},8,["disabled"])):ae("",!0),s(l)<Qe?(_(),te(O,{key:1,onClick:$,disabled:!s(J)},{default:g(()=>[M(ee(s(l)===4?"Review":"Next")+" ",1),i(k,{name:"lucide:arrow-right",class:"size-4"})]),_:1},8,["disabled"])):ae("",!0),s(l)===Qe?(_(),te(O,{key:2,onClick:de,disabled:W.loading||!s(S)},{default:g(()=>[W.loading?(_(),te(k,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):ae("",!0),C[59]||(C[59]=M(" Create User "))]),_:1},8,["disabled"])):ae("",!0)])]),_:1})]}),_:1})]),_:1},8,["open"])}}}),$s={class:"text-sm"},Os={class:"font-semibold text-foreground"},Ns={key:0,class:"flex items-start gap-2 p-3 rounded-md bg-destructive/10 border border-destructive/20"},ks={class:"space-y-2"},Ls={class:"p-3 bg-muted/50 rounded-md border font-mono text-xs"},Ps=se({__name:"DeleteUserDialog",props:{open:{type:Boolean},role:{},loading:{type:Boolean}},emits:["update:open","confirm","cancel"],setup(e,{emit:t}){const n=e,a=t,l=q(()=>n.role?`DROP ROLE IF EXISTS "${n.role.roleName}"`:"");return(o,r)=>{const m=me,c=yn,d=hn,p=gn,f=wn,b=Re,u=bn,v=vn,h=xn;return _(),te(h,{open:o.open,"onUpdate:open":r[2]||(r[2]=w=>a("update:open",w))},{default:g(()=>[i(v,{class:"max-w-md"},{default:g(()=>[i(p,null,{default:g(()=>[i(c,{class:"flex items-center gap-2"},{default:g(()=>[i(m,{name:"lucide:trash-2",class:"size-5 text-destructive"}),r[3]||(r[3]=M(" Delete User/Role "))]),_:1}),o.role?(_(),te(d,{key:0,class:"space-y-4"},{default:g(()=>[E("div",$s,[r[4]||(r[4]=M(" Are you sure you want to delete the role ")),E("span",Os,ee(o.role.roleName),1),r[5]||(r[5]=M("? "))]),o.role.isSuperuser?(_(),z("div",Ns,[i(m,{name:"lucide:alert-triangle",class:"size-5 text-destructive shrink-0 mt-0.5"}),r[6]||(r[6]=E("div",{class:"text-sm text-destructive"},[E("span",{class:"font-semibold"},"Warning:"),M(" This is a superuser role. Deleting it may affect system functionality. ")],-1))])):ae("",!0),E("div",ks,[r[7]||(r[7]=E("p",{class:"text-xs font-medium text-muted-foreground"}," Generated SQL: ",-1)),E("div",Ls,ee(s(l)),1)]),r[8]||(r[8]=E("div",{class:"text-xs text-muted-foreground"}," This action cannot be undone. Objects owned by this role must be reassigned or dropped first. ",-1))]),_:1})):ae("",!0)]),_:1}),i(u,null,{default:g(()=>[i(f,{onClick:r[0]||(r[0]=w=>a("cancel")),disabled:o.loading},{default:g(()=>r[9]||(r[9]=[M(" Cancel ")])),_:1},8,["disabled"]),i(b,{variant:"destructive",disabled:o.loading,onClick:r[1]||(r[1]=w=>a("confirm"))},{default:g(()=>[o.loading?(_(),te(m,{key:0,name:"hugeicons:loading-03",class:"size-4 mr-2 animate-spin"})):ae("",!0),r[10]||(r[10]=M(" Delete Role "))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])}}}),Fs={class:"flex flex-col gap-1 py-1 h-full relative"},Ms={class:"h-full"},Us=se({__name:"UserRolesTree",props:{roles:{},loading:{type:Boolean},selectedRoleName:{},onCreateUser:{type:Function},canCreateUser:{type:Boolean},createUserDisabledReason:{},onDeleteUser:{type:Function},onRefresh:{type:Function}},setup(e,{expose:t}){const n=e,a=qe(),{openUserPermissionsTab:l}=ft(),{workspaceId:o,connectionId:r}=Fe(),m=Ve("fileTreeRef"),c=H(null),d=H(!1),p=H(null),f=H(!1),b=[Oe.User],u=q(()=>{const R={},N=[],P=[],D=[];for(const I of n.roles)I.isSuperuser?N.push(I):I.canLogin?P.push(I):D.push(I);const $=(I,J,V)=>{R[I.roleName]={id:I.roleName,parentId:J,name:I.roleName,type:"file",depth:V,iconClose:I.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",iconClass:I.isSuperuser?"text-yellow-500":I.canLogin?"text-blue-400":"text-purple-400",data:{tabViewType:X.UserPermissions,roleData:I}}};return N.length>0&&(R[Oe.Superuser]={id:Oe.Superuser,parentId:null,name:`Superusers (${N.length})`,type:"folder",depth:0,iconOpen:"hugeicons:crown",iconClose:"hugeicons:crown",iconClass:"text-yellow-500",children:N.map(I=>I.roleName)},N.forEach(I=>$(I,Oe.Superuser,1))),P.length>0&&(R[Oe.User]={id:Oe.User,parentId:null,name:`Users (${P.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user",iconClose:"hugeicons:user",iconClass:"text-blue-500",children:P.map(I=>I.roleName)},P.forEach(I=>$(I,Oe.User,1))),D.length>0&&(R[Oe.Role]={id:Oe.Role,parentId:null,name:`Roles (${D.length})`,type:"folder",depth:0,iconOpen:"hugeicons:user-group",iconClose:"hugeicons:user-group",iconClass:"text-purple-500",children:D.map(I=>I.roleName)},D.forEach(I=>$(I,Oe.Role,1))),R}),v=R=>n.roles.find(N=>N.roleName===R),h=(R,N)=>{var D;const P=u.value[R];if(P)if(P.type==="folder")c.value={type:"category",category:P.id};else{const $=(D=P.data)==null?void 0:D.roleData;if($)c.value={type:"role",role:$};else{const I=v(P.id);I&&(c.value={type:"role",role:I})}}},w=async R=>{var J;const N=u.value[R];if(!N||N.type==="folder"||!o.value||!r.value)return;const P=(J=N.data)==null?void 0:J.roleData,D=(P==null?void 0:P.roleName)||N.id,$=P!=null&&P.isSuperuser?"hugeicons:crown":P!=null&&P.canLogin?"hugeicons:user-circle":"hugeicons:user-lock-01",I=P!=null&&P.isSuperuser?"text-yellow-500":P!=null&&P.canLogin?"text-blue-400":"text-purple-400";await l({roleName:D,icon:$,iconClass:I,treeNodeId:N.id})},S=q(()=>{const R=[];if(!c.value)return R.push({title:"Create User",icon:"lucide:user-plus",type:K.ACTION,select:()=>{var N;return(N=n.onCreateUser)==null?void 0:N.call(n)},disabled:n.canCreateUser===!1}),R.push({type:K.SEPARATOR}),R.push({title:"Refresh",icon:"lucide:refresh-cw",type:K.ACTION,select:()=>{var N;return(N=n.onRefresh)==null?void 0:N.call(n)}}),R;if(c.value.type==="category"&&(R.push({title:"Users & Roles",type:K.LABEL}),R.push({title:"Create User",icon:"lucide:user-plus",type:K.ACTION,select:()=>{var N;return(N=n.onCreateUser)==null?void 0:N.call(n)},disabled:n.canCreateUser===!1}),R.push({type:K.SEPARATOR}),R.push({title:"Refresh",icon:"lucide:refresh-cw",type:K.ACTION,select:()=>{var N;return(N=n.onRefresh)==null?void 0:N.call(n)}})),c.value.type==="role"&&c.value.role){const N=c.value.role;R.push({title:N.roleName,type:K.LABEL}),R.push({title:"View Permissions",icon:"hugeicons:shield-01",type:K.ACTION,select:()=>{w(N.roleName)}}),R.push({type:K.SEPARATOR}),R.push({title:"Delete User",icon:"lucide:trash-2",type:K.ACTION,select:()=>{p.value=N,d.value=!0},disabled:N.isSuperuser}),R.push({type:K.SEPARATOR}),R.push({title:"Refresh",icon:"lucide:refresh-cw",type:K.ACTION,select:()=>{var P;return(P=n.onRefresh)==null?void 0:P.call(n)}})}return R}),y=()=>{c.value=null},x=async()=>{var R;if(p.value){f.value=!0;try{await((R=n.onDeleteUser)==null?void 0:R.call(n,p.value)),d.value=!1,p.value=null}finally{f.value=!1}}};Se(()=>a.activeTab,R=>{var N,P,D,$;if(!R){(N=m.value)==null||N.clearSelection();return}if(!((P=m.value)!=null&&P.isMouseInside)&&(R==null?void 0:R.type)===X.UserPermissions&&typeof((D=R.metadata)==null?void 0:D.treeNodeId)=="string"){($=m.value)==null||$.focusItem(R.metadata.treeNodeId);return}},{flush:"post",immediate:!0});const T=()=>{var R;(R=m.value)==null||R.expandAll()},L=()=>{var R;(R=m.value)==null||R.collapseAll()},F=q(()=>{var R;return((R=m.value)==null?void 0:R.isExpandedAll)??!1});return t({expandAll:T,collapseAll:L,isExpandedAll:F}),(R,N)=>{const P=me,D=Re,$=Ke;return _(),z(Te,null,[E("div",Fs,[R.loading?(_(),te(ca,{key:0,visible:""})):R.roles.length?(_(),te(Ot,{key:2,"context-menu-items":s(S),onOnClearContextMenu:y},{default:g(()=>[E("div",Ms,[i(pt,{ref_key:"fileTreeRef",ref:m,"init-expanded-ids":b,"initial-data":s(u),"allow-drag-and-drop":!1,"delay-focus":0,"storage-key":`${s(r)}-user-roles-tree`,onClick:w,onContextmenu:h},null,8,["initial-data","storage-key"])])]),_:1},8,["context-menu-items"])):(_(),te($,{key:1,title:"No roles found",desc:"There are no roles or users available for this connection."},{default:g(()=>[R.canCreateUser?(_(),te(D,{key:0,variant:"outline",size:"sm",onClick:R.onCreateUser},{default:g(()=>[i(P,{name:"hugeicons:user-add-01"}),N[2]||(N[2]=M(" Create User "))]),_:1},8,["onClick"])):ae("",!0)]),_:1}))]),i(Ps,{open:s(d),"onUpdate:open":N[0]||(N[0]=I=>Ee(d)?d.value=I:null),role:s(p),loading:s(f),onConfirm:x,onCancel:N[1]||(N[1]=I=>{d.value=!1,p.value=null})},null,8,["open","role","loading"])],64)}}}),Vs={class:"flex flex-col h-full w-full overflow-hidden"},zs={key:1,class:"flex-1 overflow-y-auto min-h-0"},js=se({__name:"ManagementUsersAndPermission",setup(e){const t=ut(),{connectionId:n,workspaceId:a}=Fe(),l=q(()=>{if(n.value)return t.connections.find(k=>k.id===n.value)}),o=q(()=>{var k;if(!l.value)return"";if(l.value.database)return l.value.database;if(l.value.connectionString)try{return((k=new URL(l.value.connectionString).pathname)==null?void 0:k.replace(/^\//,""))||""}catch{return""}return""}),r=q(()=>{if(!l.value)return"";if(l.value.username)return l.value.username;if(l.value.connectionString)try{return new URL(l.value.connectionString).username||""}catch{return""}return""}),{isLoading:m,roles:c,fetchRoles:d,refresh:p}=$o(l),f=q(()=>r.value&&c.value.find(k=>k.roleName===r.value)||null),b=q(()=>!l.value||!f.value?!1:f.value.isSuperuser||f.value.canCreateRole),u=q(()=>l.value?f.value?b.value?"Create User":"Your role lacks CREATEROLE or SUPERUSER privileges":"Unable to verify role privileges for this connection":"Select a connection to create users"),{isCreating:v,createRole:h,deleteRole:w}=Oo(l),{isLoading:S,databases:y,fetchDatabases:x}=No(l),{isLoading:T,schemas:L,fetchSchemas:F}=ko(l),{isGranting:R,grantBulkPermissions:N}=Lo(l),P=ke(""),D=dt(P,Ze),$=H(!1),I=H(!1),J=H(null),V=q(()=>{if(!D.value)return c.value;const k=D.value.toLowerCase();return c.value.filter(j=>j.roleName.toLowerCase().includes(k))});Se(()=>l.value,async k=>{k&&await d()},{immediate:!0});const G=async()=>{$.value=!0,await p(),$.value=!1},Y=Ve("userRolesTreeRef"),ne=q(()=>Y.value?!Y.value.isExpandedAll:!0),ie=()=>{var k,j;ne.value?(k=Y.value)==null||k.expandAll():(j=Y.value)==null||j.collapseAll()},de=()=>{J.value=null},fe=()=>{b.value&&(I.value=!0,y.value=[],x())},pe=async()=>{L.value=[],await F()},W=async k=>{J.value=null;try{const j=await h(k.roleData);if(!(j!=null&&j.success)){J.value=(j==null?void 0:j.message)||"Failed to create user. Please check the username and try again.";return}if(k.databaseGrants.length>0||k.schemaGrants.length>0||k.objectGrants.length>0){const re=await N({roleName:k.roleData.roleName,databaseGrants:k.databaseGrants,schemaGrants:k.schemaGrants,objectGrants:k.objectGrants});if(re&&!re.success){J.value=`User created but some permissions failed: ${re.totalFailed} of ${re.results.length} grants failed.`;return}}I.value=!1,await p()}catch(j){J.value=(j==null?void 0:j.message)||"Failed to create user"}},C=async k=>{const j=await w(k.roleName);return j!=null&&j.success&&await p(),j};return(k,j)=>{const ce=me,re=Re,oe=Ie,ge=Ae,ve=De,He=Ke;return _(),z("div",Vs,[i(s(et),{search:s(P),"onUpdate:search":j[0]||(j[0]=be=>Ee(P)?P.value=be:null),title:"Users & Roles","show-connection":!0,"workspace-id":s(a),"show-search":!0,"search-placeholder":"Search users/roles..."},{actions:g(()=>[i(ve,null,{default:g(()=>[i(oe,{"as-child":""},{default:g(()=>[E("span",null,[i(re,{size:"iconSm",variant:"ghost",onClick:fe,disabled:!s(b)},{default:g(()=>[i(ce,{name:"hugeicons:user-add-01",class:"size-4! min-w-4"})]),_:1},8,["disabled"])])]),_:1}),i(ge,null,{default:g(()=>[M(ee(s(u)),1)]),_:1})]),_:1}),i(ve,null,{default:g(()=>[i(oe,{"as-child":""},{default:g(()=>[i(re,{size:"iconSm",variant:"ghost",onClick:ie},{default:g(()=>[i(ce,{name:s(ne)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4! min-w-4"},null,8,["name"])]),_:1})]),_:1}),i(ge,null,{default:g(()=>[M(ee(s(ne)?"Expand All":"Collapse All"),1)]),_:1})]),_:1}),i(ve,null,{default:g(()=>[i(oe,{"as-child":""},{default:g(()=>[i(re,{size:"iconSm",variant:"ghost",onClick:G,disabled:s($)||!s(l)},{default:g(()=>[i(ce,{name:"hugeicons:redo",class:ye(["size-4! min-w-4 ",s($)&&"animate-spin"])},null,8,["class"])]),_:1},8,["disabled"])]),_:1}),i(ge,null,{default:g(()=>j[3]||(j[3]=[M("Refresh Roles")])),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),s(l)?(_(),z("div",zs,[i(Us,{ref_key:"userRolesTreeRef",ref:Y,roles:s(V),loading:s(m),onCreateUser:fe,canCreateUser:s(b),createUserDisabledReason:s(u),onDeleteUser:C,onRefresh:G},null,8,["roles","loading","canCreateUser","createUserDisabledReason"])])):(_(),te(He,{key:0,title:"No selected connection",desc:"Select a connection to view roles"})),i(Rs,{open:s(I),"onUpdate:open":j[1]||(j[1]=be=>Ee(I)?I.value=be:null),loading:s(v)||s(R),databasesLoading:s(S),schemasLoading:s(T),databases:s(y),schemas:s(L),currentDatabase:s(o),error:s(J),onConfirm:W,onCancel:j[2]||(j[2]=be=>I.value=!1),onClearError:de,onFetchSchemas:pe},null,8,["open","loading","databasesLoading","schemasLoading","databases","schemas","currentDatabase","error"])])}}}),Bs={class:"h-full w-full overflow-y-auto"},qs={class:"h-full"},Hs={key:1,class:"flex items-center"},Gs=se({__name:"ManagementAgentHistoryTree",props:{contextMenuItems:{},historySectionId:{},storageKey:{},treeData:{},initExpandedIds:{},validateRename:{type:Function}},emits:["clear-context-menu","click-node","context-node","delete-history","rename-history","cancel-rename","new-thread"],setup(e,{expose:t,emit:n}){const a=n,l=Ve("treeRef");return t({clearSelection:()=>{var o;return(o=l.value)==null?void 0:o.clearSelection()},collapseAll:()=>{var o;return(o=l.value)==null?void 0:o.collapseAll()},expandAll:()=>{var o;return(o=l.value)==null?void 0:o.expandAll()},focusItem:o=>{var r;return(r=l.value)==null?void 0:r.focusItem(o)},startEditing:o=>{var r;return(r=l.value)==null?void 0:r.startEditing(o)},get isExpandedAll(){var o;return((o=l.value)==null?void 0:o.isExpandedAll)??!1},get isMouseInside(){var o;return((o=l.value)==null?void 0:o.isMouseInside)??!1}}),(o,r)=>{const m=me,c=Re,d=Ie,p=Ae,f=De;return _(),z("div",Bs,[i(Ot,{"context-menu-items":o.contextMenuItems,onOnClearContextMenu:r[5]||(r[5]=b=>a("clear-context-menu"))},{default:g(()=>[E("div",qs,[i(pt,{ref_key:"treeRef",ref:l,class:"pt-1","storage-key":o.storageKey,"initial-data":o.treeData,"init-expanded-ids":o.initExpandedIds,"allow-drag-and-drop":!1,"allow-sort":!1,"validate-rename":o.validateRename,onClick:r[1]||(r[1]=b=>a("click-node",b)),onContextmenu:r[2]||(r[2]=b=>a("context-node",b)),onRename:r[3]||(r[3]=(b,u)=>a("rename-history",b,u)),onCancelRename:r[4]||(r[4]=b=>a("cancel-rename",b))},{actions:g(({node:b})=>[b.id===o.historySectionId?(_(),te(f,{key:0},{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"ghost",onClick:r[0]||(r[0]=_e(u=>a("new-thread"),["stop"]))},{default:g(()=>[i(m,{name:"hugeicons:plus-sign",class:"size-3.5"})]),_:1})]),_:1}),i(p,null,{default:g(()=>r[6]||(r[6]=[M(" New thread ")])),_:1})]),_:1})):b.id.startsWith("agent-history-")?(_(),z("div",Hs,[i(f,null,{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"outline",class:"text-muted-foreground hover:text-primary",onClick:_e(u=>{var v;return(v=s(l))==null?void 0:v.startEditing(b.id)},["stop"])},{default:g(()=>[i(m,{name:"hugeicons:edit-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),i(p,null,{default:g(()=>r[7]||(r[7]=[M(" Rename thread ")])),_:1})]),_:2},1024),i(f,null,{default:g(()=>[i(d,{"as-child":""},{default:g(()=>[i(c,{size:"iconSm",variant:"ghost",class:"text-muted-foreground hover:text-destructive",onClick:_e(u=>a("delete-history",b.id),["stop"])},{default:g(()=>[i(m,{name:"hugeicons:delete-02",class:"size-3.5"})]),_:2},1032,["onClick"])]),_:2},1024),i(p,null,{default:g(()=>r[8]||(r[8]=[M(" Delete thread ")])),_:1})]),_:2},1024)])):ae("",!0)]),_:1},8,["storage-key","initial-data","init-expanded-ids","validate-rename"])])]),_:1},8,["context-menu-items"])])}}}),Ws="agent-history-tree",ha=(e,t,n)=>{var l;if(n.has(t))return;n.add(t),(((l=e[t])==null?void 0:l.children)||[]).forEach(o=>ha(e,o,n))},Ks=e=>{const t=$t(),n=qe(),{workspaceId:a,connectionId:l}=Fe(),o=ke(""),r=dt(o,Ze),m=H([]),{currentWorkspaceId:c,histories:d,selectedNodeId:p,selectNode:f,startNewChat:b,deleteHistory:u,renameHistory:v,sectionNodeIds:h}=ka();mn(()=>{c.value=a.value||""});const w=q(()=>{const D=h.history,$=d.value.map(I=>({id:`agent-history-${I.id}`,parentId:D,name:I.title,type:"file",depth:1,iconOpen:"hugeicons:chatting-01",iconClose:"hugeicons:chatting-01",data:{preview:I.preview,updatedAt:I.updatedAt}}));return{[D]:{id:D,parentId:null,name:"Chat History",type:"folder",depth:0,iconOpen:"hugeicons:clock-05",iconClose:"hugeicons:clock-05",children:$.map(I=>I.id)},...Object.fromEntries($.map(I=>[I.id,I]))}}),S=q(()=>{if(!r.value.trim())return w.value;const D=r.value.trim().toLowerCase(),$=new Set,I=w.value;Object.values(I).forEach(V=>{var ne,ie;const G=typeof((ne=V.data)==null?void 0:ne.preview)=="string"?V.data.preview:"";if(!V.name.toLowerCase().includes(D)&&!G.toLowerCase().includes(D))return;ha(I,V.id,$);let Y=V.parentId;for(;Y;)$.add(Y),Y=((ie=I[Y])==null?void 0:ie.parentId)||null});const J={};return $.forEach(V=>{const G=I[V];G&&(J[V]={...G,children:(G.children||[]).filter(Y=>$.has(Y))})}),J}),y=async D=>{if(!a.value||!l.value)return;const $="agent-workspace";await n.openTab({id:$,workspaceId:a.value,connectionId:l.value,schemaId:t.schemaId||"",name:"AI Agent",icon:"hugeicons:robotic",type:X.AgentChat,routeName:"workspaceId-connectionId-agent-tabViewId",routeParams:{tabViewId:$,connectionId:l.value},metadata:{type:X.AgentChat,historyId:D}}),await n.selectTab($)},x=async()=>{b(),await y()},T=D=>{D.startsWith("agent-history-")&&u(D.replace("agent-history-",""))},L=async D=>{D!==h.history&&D.startsWith("agent-history-")&&(f(D),await y(D.replace("agent-history-","")))},F=(D,$)=>{v(D,$)},R=D=>{if(D===h.history){m.value=[{title:"New Thread",icon:"hugeicons:quill-write-02",type:K.ACTION,select:()=>void x()}];return}if(!D.startsWith("agent-history-")){m.value=[];return}const $=D.replace("agent-history-","");m.value=[{title:"Open Thread",icon:"hugeicons:chat-spark-01",type:K.ACTION,select:()=>{f(D),y($)}},{title:"Rename Thread",icon:"hugeicons:edit-02",type:K.ACTION,select:()=>{var I;(I=e.onRename)==null||I.call(e,D)}},{type:K.SEPARATOR},{title:"New Thread",icon:"hugeicons:quill-write-02",type:K.ACTION,select:()=>void x()},{type:K.SEPARATOR},{title:"Delete Thread",icon:"hugeicons:delete-02",type:K.ACTION,select:()=>u($)}]},N=()=>{m.value=[]},P=()=>{if(e.isExpandedAll.value){e.collapseAll();return}e.expandAll()};return Se(()=>p.value,async D=>{await Ue(),!(!D||!S.value[D])&&e.focusNode(D)},{flush:"post",immediate:!0}),{contextMenuItems:m,defaultExpandedNodeIds:[h.history],filteredHistoryTreeData:S,historySectionId:h.history,historyStorageKey:Ws,isExpandedAll:e.isExpandedAll,onClearContextMenu:N,onClickNode:L,onCreateThread:x,onDeleteHistory:T,onRenameHistory:F,onToggleCollapseHistory:P,onTreeContextMenu:R,searchInput:o}},Qs={class:"flex h-full w-full flex-col overflow-hidden"},Ys={class:"flex flex-1 flex-col overflow-hidden"},Xs={class:"flex-1 overflow-y-auto"},Js=se({__name:"ManagementAgent",setup(e){const{workspaceId:t}=Fe(),n=Ve("treePanelRef"),{contextMenuItems:a,defaultExpandedNodeIds:l,filteredHistoryTreeData:o,historySectionId:r,historyStorageKey:m,isExpandedAll:c,onClearContextMenu:d,onClickNode:p,onCreateThread:f,onDeleteHistory:b,onRenameHistory:u,onToggleCollapseHistory:v,onTreeContextMenu:h,searchInput:w}=Ks({focusNode:x=>{var T;return(T=n.value)==null?void 0:T.focusItem(x)},collapseAll:()=>{var x;return(x=n.value)==null?void 0:x.collapseAll()},expandAll:()=>{var x;return(x=n.value)==null?void 0:x.expandAll()},isExpandedAll:q(()=>{var x;return((x=n.value)==null?void 0:x.isExpandedAll)??!1}),onRename:x=>{var T;return(T=n.value)==null?void 0:T.startEditing(x)}}),S=q(()=>!c.value),y=q(()=>{var T;const x=o.value[r];return!x||(((T=x.children)==null?void 0:T.length)??0)===0});return(x,T)=>{const L=me,F=Re,R=Ke;return _(),z("div",Qs,[i(s(et),{search:s(w),"onUpdate:search":T[0]||(T[0]=N=>Ee(w)?w.value=N:null),title:"Chat History","show-search":!0,"show-connection":!0,"show-schema":!1,"workspace-id":s(t),"search-placeholder":"Search threads..."},{actions:g(()=>[i(s(De),null,{default:g(()=>[i(s(Ie),{"as-child":""},{default:g(()=>[i(F,{size:"iconSm",variant:"ghost",onClick:s(f)},{default:g(()=>[i(L,{name:"hugeicons:plus-sign",class:"size-4"})]),_:1},8,["onClick"])]),_:1}),i(s(Ae),null,{default:g(()=>T[2]||(T[2]=[M(" New thread ")])),_:1})]),_:1}),i(s(De),null,{default:g(()=>[i(s(Ie),{"as-child":""},{default:g(()=>[i(F,{size:"iconSm",variant:"ghost",onClick:s(v)},{default:g(()=>[i(L,{name:s(S)?"hugeicons:unfold-more":"hugeicons:unfold-less",class:"size-4"},null,8,["name"])]),_:1},8,["onClick"])]),_:1}),i(s(Ae),null,{default:g(()=>[M(ee(s(S)?"Expand all":"Collapse all"),1)]),_:1})]),_:1})]),_:1},8,["search","workspace-id"]),E("div",Ys,[E("div",Xs,[s(y)?(_(),te(R,{key:0,title:"No chat history yet",desc:"Start a new thread to ask everything about your data!"},{default:g(()=>[i(F,{variant:"outline",size:"xs",onClick:s(f)},{default:g(()=>[i(L,{name:"hugeicons:plus-sign"}),T[3]||(T[3]=M(" Start chat "))]),_:1},8,["onClick"])]),_:1})):ae("",!0),i(Gs,{ref_key:"treePanelRef",ref:n,"context-menu-items":s(a),"history-section-id":s(r),"storage-key":s(m),"tree-data":s(o),"init-expanded-ids":s(l),onClickNode:s(p),onContextNode:s(h),onClearContextMenu:s(d),onDeleteHistory:s(b),onRenameHistory:T[1]||(T[1]=(N,P)=>s(u)(N.replace("agent-history-",""),P)),onNewThread:s(f)},null,8,["context-menu-items","history-section-id","storage-key","tree-data","init-expanded-ids","onClickNode","onContextNode","onClearContextMenu","onDeleteHistory","onNewThread"])])])])}}}),Zs={key:0,class:"w-full h-full flex flex-col"},ei=se({__name:"PrimarySideBar",setup(e){const t=ga(),n=ct(),a=ke();return Se(()=>t.activityActive,()=>{t.activityActive===we.Explorer&&(a.value=kl),t.activityActive===we.Schemas&&(a.value=sr),t.activityActive===we.ErdDiagram&&(a.value=El),t.activityActive===we.UsersRoles&&(a.value=js),t.activityActive===we.DatabaseExport&&(a.value=br),t.activityActive===we.Agent&&(a.value=Js)},{immediate:!0}),(l,o)=>s(n).layoutSize[0]?(_(),z("div",Zs,[(_(),te(lo,null,[(_(),te(Xe(s(a))))],1024))])):ae("",!0)}}),ti={class:"w-full h-full flex flex-col",id:"preview-select-row"},ni=se({__name:"SecondarySideBar",setup(e){return(t,n)=>(_(),z("div",ti))}}),ai=se({__name:"CurrentPositionPath",setup(e){const t=ro(),n=ut(),a=qe(),l=Rt(),{selectedWorkspace:o}=xe(t),{selectedConnection:r}=xe(n),{activeSchema:m}=xe(l),{activeTab:c}=xe(a);return q(()=>!!m.value&&!!r.value),q(()=>!!m.value&&!!r.value&&!!c.value),(d,p)=>{const f=me;return _(),te(s(so),null,{default:g(()=>[i(s(io),{class:"gap-0.5!"},{default:g(()=>{var b;return[i(s(On),{class:"text-xs"},{default:g(()=>{var u,v;return[(u=s(o))!=null&&u.icon?(_(),te(f,{key:0,name:s(o).icon,class:"size-3!"},null,8,["name"])):ae("",!0),M(" "+ee((v=s(o))==null?void 0:v.name),1)]}),_:1}),(b=s(r))!=null&&b.id?(_(),te(s(co),{key:0})):ae("",!0),i(s(On),{class:"text-xs"},{default:g(()=>{var u,v,h,w;return[(u=s(r))!=null&&u.id?(_(),te(Xe((h=s(Qt)((v=s(r))==null?void 0:v.type))==null?void 0:h.icon),{key:0,class:"size-3!"})):ae("",!0),M(" "+ee((w=s(r))==null?void 0:w.name),1)]}),_:1})]}),_:1})]),_:1})}}}),oi={class:"w-full h-6 min-h-6 shadow px-2 flex items-center justify-between bg-sidebar-accent"},li={class:"flex items-center gap-3 h-full"},ri={key:0,class:"text-muted-foreground text-xs"},si={class:"text-foreground inline"},ii={class:"flex items-center gap-3"},ci={class:"text-xxs text-foreground"},ui=se({__name:"StatusBar",setup(e){const t=qe(),{openChangelog:n}=uo(),{openSettings:a}=po(),{openInstanceInsightsTab:l}=ft(),o=fo(),{activeTab:r}=xe(t),{workspaceId:m,connectionId:c}=Fe(),d=q(()=>!!m.value&&!!c.value),p=async()=>{await mo("/")},f=async()=>{await l()},b=q(()=>{var v;const u=(v=r.value)==null?void 0:v.type;if(!u)return"";switch(u){case X.AllERD:case X.DetailERD:return"erd";case X.TableOverview:case X.TableDetail:return"table";case X.FunctionsOverview:case X.FunctionsDetail:return"func";case X.ViewOverview:case X.ViewDetail:return"view";case X.CodeQuery:return"raw query";case X.DatabaseTools:return"db tools";case X.InstanceInsights:return"insights";default:return""}});return(u,v)=>{var x,T,L;const h=me,w=Ie,S=Ae,y=De;return _(),z("div",oi,[E("div",li,[i(y,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center h-full gap-0.5 hover:bg-muted px-1 rounded cursor-pointer",onClick:p},[i(h,{name:"hugeicons:home-06",class:"size-4!"}),v[2]||(v[2]=E("p",{class:"text-xs inline"},"Home",-1))])]),_:1}),i(S,null,{default:g(()=>v[3]||(v[3]=[M(" Back to Home ")])),_:1})]),_:1}),i(ai)]),s(r)?(_(),z("div",ri,[M(ee(s(b))+": ",1),E("p",si,ee((x=s(r))!=null&&x.schemaId?`${(T=s(r))==null?void 0:T.schemaId}.`:"")+ee((L=s(r))==null?void 0:L.name),1)])):ae("",!0),E("div",ii,[i(y,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center gap-1 rounded hover:bg-muted cursor-pointer",onClick:v[0]||(v[0]=(...F)=>s(n)&&s(n)(...F))},[i(h,{name:"hugeicons:git-merge",class:"size-4!"}),E("span",ci,ee(s(o).public.version),1)])]),_:1}),i(S,null,{default:g(()=>[M(" Version: "+ee(s(o).public.version),1)]),_:1})]),_:1}),i(y,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:ye(["flex items-center justify-center hover:bg-muted rounded cursor-pointer",!s(d)&&"opacity-50 cursor-not-allowed"]),onClick:f},[i(h,{name:"hugeicons:activity-02",class:"size-4!"})],2)]),_:1}),i(S,null,{default:g(()=>v[4]||(v[4]=[M(" Instance Insights ")])),_:1})]),_:1}),i(y,null,{default:g(()=>[i(w,{"as-child":""},{default:g(()=>[E("div",{class:"flex items-center justify-center hover:bg-muted rounded cursor-pointer",onClick:v[1]||(v[1]=F=>s(a)())},[i(h,{name:"hugeicons:settings-01",class:"size-4!"})])]),_:1}),i(S,null,{default:g(()=>v[5]||(v[5]=[M(" Settings (⌘,) ")])),_:1})]),_:1})])])}}});var Bt={},ot={},Pn;function ba(){if(Pn)return ot;Pn=1,Object.defineProperty(ot,"__esModule",{value:!0}),ot.bind=void 0;function e(t,n){var a=n.type,l=n.listener,o=n.options;return t.addEventListener(a,l,o),function(){t.removeEventListener(a,l,o)}}return ot.bind=e,ot}var Ge={},Fn;function di(){if(Fn)return Ge;Fn=1;var e=Ge&&Ge.__assign||function(){return e=Object.assign||function(o){for(var r,m=1,c=arguments.length;m<c;m++){r=arguments[m];for(var d in r)Object.prototype.hasOwnProperty.call(r,d)&&(o[d]=r[d])}return o},e.apply(this,arguments)};Object.defineProperty(Ge,"__esModule",{value:!0}),Ge.bindAll=void 0;var t=ba();function n(o){if(!(typeof o>"u"))return typeof o=="boolean"?{capture:o}:o}function a(o,r){if(r==null)return o;var m=e(e({},o),{options:e(e({},n(r)),n(o.options))});return m}function l(o,r,m){var c=r.map(function(d){var p=a(d,m);return(0,t.bind)(o,p)});return function(){c.forEach(function(p){return p()})}}return Ge.bindAll=l,Ge}var Mn;function fi(){return Mn||(Mn=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.bindAll=e.bind=void 0;var t=ba();Object.defineProperty(e,"bind",{enumerable:!0,get:function(){return t.bind}});var n=di();Object.defineProperty(e,"bindAll",{enumerable:!0,get:function(){return n.bindAll}})}(Bt)),Bt}var Je=fi(),wa="data-pdnd-honey-pot";function xa(e){return e instanceof Element&&e.hasAttribute(wa)}function Tn(e){var t=document.elementsFromPoint(e.x,e.y),n=da(t,2),a=n[0],l=n[1];return a?xa(a)?l??null:a:null}function rt(e){"@babel/helpers - typeof";return rt=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},rt(e)}function pi(e,t){if(rt(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var a=n.call(e,t);if(rt(a)!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function mi(e){var t=pi(e,"string");return rt(t)=="symbol"?t:t+""}function Ne(e,t,n){return(t=mi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Sa=2147483647;function Un(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function Vn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Un(Object(n),!0).forEach(function(a){Ne(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Un(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}var st=2,zn=st/2;function vi(e){return{x:Math.floor(e.x),y:Math.floor(e.y)}}function gi(e){return{x:e.x-zn,y:e.y-zn}}function yi(e){return{x:Math.max(e.x,0),y:Math.max(e.y,0)}}function hi(e){return{x:Math.min(e.x,window.innerWidth-st),y:Math.min(e.y,window.innerHeight-st)}}function jn(e){var t=e.client,n=hi(yi(gi(vi(t))));return DOMRect.fromRect({x:n.x,y:n.y,width:st,height:st})}function Bn(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 bi(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 wi(e){var t=e.initial,n=document.createElement("div");n.setAttribute(wa,"true");var a=jn({client:t});Object.assign(n.style,Vn(Vn({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},Bn({clientRect:a})),{},{pointerEvents:"auto",zIndex:Sa})),document.body.appendChild(n);var l=Je.bind(window,{type:"pointermove",listener:function(r){var m={x:r.clientX,y:r.clientY};a=jn({client:m}),Object.assign(n.style,Bn({clientRect:a}))},options:{capture:!0}});return function(r){var m=r.current;if(l(),bi({client:m,clientRect:a})){n.remove();return}function c(){d(),n.remove()}var d=Je.bindAll(window,[{type:"pointerdown",listener:c},{type:"pointermove",listener:c},{type:"focusin",listener:c},{type:"focusout",listener:c},{type:"dragstart",listener:c},{type:"dragenter",listener:c},{type:"dragover",listener:c}],{capture:!0})}}function xi(){var e=null;function t(){return e=null,Je.bind(window,{type:"pointermove",listener:function(l){e={x:l.clientX,y:l.clientY}},options:{capture:!0}})}function n(){var a=null;return function(o){var r=o.eventName,m=o.payload;if(r==="onDragStart"){var c=m.location.initial.input,d=e??{x:c.clientX,y:c.clientY};a=wi({initial:d})}if(r==="onDrop"){var p,f=m.location.current.input;(p=a)===null||p===void 0||p({current:{x:f.clientX,y:f.clientY}}),a=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function Si(e){if(Array.isArray(e))return vo(e)}function Ti(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Ci(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
64
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ta(e){return Si(e)||Ti(e)||go(e)||Ci()}function Cn(e){var t=null;return function(){if(!t){for(var a=arguments.length,l=new Array(a),o=0;o<a;o++)l[o]=arguments[o];var r=e.apply(this,l);t={result:r}}return t.result}}var Ei=Cn(function(){return navigator.userAgent.includes("Firefox")}),Nt=Cn(function(){var t=navigator,n=t.userAgent;return n.includes("AppleWebKit")&&!n.includes("Chrome")}),Zt={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};function _i(e){var t=e.dragLeave;return Nt()?t.hasOwnProperty(Zt.isLeavingWindow):!1}(function(){if(typeof window>"u"||!Nt())return;function t(){return{enterCount:0,isOverWindow:!1}}var n=t();function a(){n=t()}Je.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[Zt.isEnteringWindow]=!0),n.isOverWindow=!0,n.enterCount++}},{type:"dragleave",listener:function(o){n.enterCount--,n.isOverWindow&&n.enterCount===0&&(o[Zt.isLeavingWindow]=!0,n.isOverWindow=!1)}}],{capture:!0})})();function Di(e){return"nodeName"in e}function Ii(e){return Di(e)&&e.ownerDocument!==document}function Ai(e){var t=e.dragLeave,n=t.type,a=t.relatedTarget;return n!=="dragleave"?!1:Nt()?_i({dragLeave:t}):a==null?!0:Ei()?Ii(a):a instanceof HTMLIFrameElement}function Ri(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 lt(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 $i=function(t){var n=[],a=null,l=function(){for(var r=arguments.length,m=new Array(r),c=0;c<r;c++)m[c]=arguments[c];n=m,!a&&(a=requestAnimationFrame(function(){a=null,t.apply(void 0,n)}))};return l.cancel=function(){a&&(cancelAnimationFrame(a),a=null)},l},qt=$i(function(e){return e()}),xt=function(){var e=null;function t(a){var l=requestAnimationFrame(function(){e=null,a()});e={frameId:l,fn:a}}function n(){e&&(cancelAnimationFrame(e.frameId),e.fn(),e=null)}return{schedule:t,flush:n}}();function Oi(e){var t=e.source,n=e.initial,a=e.dispatchEvent,l={dropTargets:[]};function o(m){a(m),l={dropTargets:m.payload.location.current.dropTargets}}var r={start:function(c){var d=c.nativeSetDragImage,p={current:n,previous:l,initial:n};o({eventName:"onGenerateDragPreview",payload:{source:t,location:p,nativeSetDragImage:d}}),xt.schedule(function(){o({eventName:"onDragStart",payload:{source:t,location:p}})})},dragUpdate:function(c){var d=c.current;xt.flush(),qt.cancel(),o({eventName:"onDropTargetChange",payload:{source:t,location:{initial:n,previous:l,current:d}}})},drag:function(c){var d=c.current;qt(function(){xt.flush();var p={initial:n,previous:l,current:d};o({eventName:"onDrag",payload:{source:t,location:p}})})},drop:function(c){var d=c.current,p=c.updatedSourcePayload;xt.flush(),qt.cancel(),o({eventName:"onDrop",payload:{source:p??t,location:{current:d,previous:l,initial:n}}})}};return r}var en={isActive:!1};function Ca(){return!en.isActive}function Ni(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function ki(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 Li(e){var t=e.event,n=e.dragType,a=e.getDropTargetsOver,l=e.dispatchEvent;if(!Ca())return;var o=Pi({event:t,dragType:n,getDropTargetsOver:a});en.isActive=!0;var r={current:o};Ht({event:t,current:o.dropTargets});var m=Oi({source:n.payload,dispatchEvent:l,initial:o});function c(u){var v=ki({current:r.current.dropTargets,next:u.dropTargets});r.current=u,v&&m.dragUpdate({current:r.current})}function d(u){var v=lt(u),h=xa(u.target)?Tn({x:v.clientX,y:v.clientY}):u.target,w=a({target:h,input:v,source:n.payload,current:r.current.dropTargets});w.length&&(u.preventDefault(),Ht({event:u,current:w})),c({dropTargets:w,input:v})}function p(){r.current.dropTargets.length&&c({dropTargets:[],input:r.current.input}),m.drop({current:r.current,updatedSourcePayload:null}),f()}function f(){en.isActive=!1,b()}var b=Je.bindAll(window,[{type:"dragover",listener:function(v){d(v),m.drag({current:r.current})}},{type:"dragenter",listener:d},{type:"dragleave",listener:function(v){Ai({dragLeave:v})&&(c({input:r.current.input,dropTargets:[]}),n.startedFrom==="external"&&p())}},{type:"drop",listener:function(v){if(r.current={dropTargets:r.current.dropTargets,input:lt(v)},!r.current.dropTargets.length){p();return}v.preventDefault(),Ht({event:v,current:r.current.dropTargets}),m.drop({current:r.current,updatedSourcePayload:n.type==="external"?n.getDropPayload(v):null}),f()}},{type:"dragend",listener:function(v){r.current={dropTargets:r.current.dropTargets,input:lt(v)},p()}}].concat(Ta(Ri({onDragEnd:p}))),{capture:!0});m.start({nativeSetDragImage:Ni(t)})}function Ht(e){var t,n=e.event,a=e.current,l=(t=a[0])===null||t===void 0?void 0:t.dropEffect;l!=null&&n.dataTransfer&&(n.dataTransfer.dropEffect=l)}function Pi(e){var t=e.event,n=e.dragType,a=e.getDropTargetsOver,l=lt(t);if(n.startedFrom==="external")return{input:l,dropTargets:[]};var o=a({input:l,source:n.payload,target:t.target,current:[]});return{input:l,dropTargets:o}}var qn={canStart:Ca,start:Li},tn=new Map;function Fi(e){var t=e.typeKey,n=e.mount,a=tn.get(t);if(a)return a.usageCount++,a;var l={typeKey:t,unmount:n(),usageCount:1};return tn.set(t,l),l}function Mi(e){var t=Fi(e);return function(){t.usageCount--,!(t.usageCount>0)&&(t.unmount(),tn.delete(e.typeKey))}}function tt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(){t.forEach(function(l){return l()})}}function Ea(e,t){var n=t.attribute,a=t.value;return e.setAttribute(n,a),function(){return e.removeAttribute(n)}}function Hn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function je(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Hn(Object(n),!0).forEach(function(a){Ne(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hn(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function Gt(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=Ui(e))||t){n&&(e=n);var a=0,l=function(){};return{s:l,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
65
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){n=n.call(e)},n:function(){var d=n.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||n.return==null||n.return()}finally{if(m)throw o}}}}function Ui(e,t){if(e){if(typeof e=="string")return Gn(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)?Gn(e,t):void 0}}function Gn(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 Wt(e){return e.slice(0).reverse()}function Vi(e){var t=e.typeKey,n=e.defaultDropEffect,a=new WeakMap,l="data-drop-target-for-".concat(t),o="[".concat(l,"]");function r(u){return a.set(u.element,u),function(){return a.delete(u.element)}}function m(u){return tt(Ea(u.element,{attribute:l,value:"true"}),r(u))}function c(u){var v,h,w,S,y=u.source,x=u.target,T=u.input,L=u.result,F=L===void 0?[]:L;if(x==null)return F;if(!(x instanceof Element))return x instanceof Node?c({source:y,target:x.parentElement,input:T,result:F}):F;var R=x.closest(o);if(R==null)return F;var N=a.get(R);if(N==null)return F;var P={input:T,source:y,element:N.element};if(N.canDrop&&!N.canDrop(P))return c({source:y,target:N.element.parentElement,input:T,result:F});var D=(v=(h=N.getData)===null||h===void 0?void 0:h.call(N,P))!==null&&v!==void 0?v:{},$=(w=(S=N.getDropEffect)===null||S===void 0?void 0:S.call(N,P))!==null&&w!==void 0?w:n,I={data:D,element:N.element,dropEffect:$,isActiveDueToStickiness:!1};return c({source:y,target:N.element.parentElement,input:T,result:[].concat(Ta(F),[I])})}function d(u){var v=u.eventName,h=u.payload,w=Gt(h.location.current.dropTargets),S;try{for(w.s();!(S=w.n()).done;){var y,x=S.value,T=a.get(x.element),L=je(je({},h),{},{self:x});T==null||(y=T[v])===null||y===void 0||y.call(T,L)}}catch(F){w.e(F)}finally{w.f()}}var p={onGenerateDragPreview:d,onDrag:d,onDragStart:d,onDrop:d,onDropTargetChange:function(v){var h=v.payload,w=new Set(h.location.current.dropTargets.map(function(ne){return ne.element})),S=new Set,y=Gt(h.location.previous.dropTargets),x;try{for(y.s();!(x=y.n()).done;){var T,L=x.value;S.add(L.element);var F=a.get(L.element),R=w.has(L.element),N=je(je({},h),{},{self:L});if(F==null||(T=F.onDropTargetChange)===null||T===void 0||T.call(F,N),!R){var P;F==null||(P=F.onDragLeave)===null||P===void 0||P.call(F,N)}}}catch(ne){y.e(ne)}finally{y.f()}var D=Gt(h.location.current.dropTargets),$;try{for(D.s();!($=D.n()).done;){var I,J,V=$.value;if(!S.has(V.element)){var G=je(je({},h),{},{self:V}),Y=a.get(V.element);Y==null||(I=Y.onDropTargetChange)===null||I===void 0||I.call(Y,G),Y==null||(J=Y.onDragEnter)===null||J===void 0||J.call(Y,G)}}}catch(ne){D.e(ne)}finally{D.f()}}};function f(u){p[u.eventName](u)}function b(u){var v=u.source,h=u.target,w=u.input,S=u.current,y=c({source:v,target:h,input:w});if(y.length>=S.length)return y;for(var x=Wt(S),T=Wt(y),L=[],F=0;F<x.length;F++){var R,N=x[F],P=T[F];if(P!=null){L.push(P);continue}var D=L[F-1],$=x[F-1];if((D==null?void 0:D.element)!==($==null?void 0:$.element))break;var I=a.get(N.element);if(!I)break;var J={input:w,source:v,element:I.element};if(I.canDrop&&!I.canDrop(J)||!((R=I.getIsSticky)!==null&&R!==void 0&&R.call(I,J)))break;L.push(je(je({},N),{},{isActiveDueToStickiness:!0}))}return Wt(L)}return{dropTargetForConsumers:m,getIsOver:b,dispatchEvent:f}}function zi(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=ji(e))||t){n&&(e=n);var a=0,l=function(){};return{s:l,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
66
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){n=n.call(e)},n:function(){var d=n.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||n.return==null||n.return()}finally{if(m)throw o}}}}function ji(e,t){if(e){if(typeof e=="string")return Wn(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)?Wn(e,t):void 0}}function Wn(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 Kn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function Bi(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Kn(Object(n),!0).forEach(function(a){Ne(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kn(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function qi(){var e=new Set,t=null;function n(o){t&&(!o.canMonitor||o.canMonitor(t.canMonitorArgs))&&t.active.add(o)}function a(o){var r=Bi({},o);return e.add(r),n(r),function(){e.delete(r),t&&t.active.delete(r)}}function l(o){var r=o.eventName,m=o.payload;if(r==="onGenerateDragPreview"){t={canMonitorArgs:{initial:m.location.initial,source:m.source},active:new Set};var c=zi(e),d;try{for(c.s();!(d=c.n()).done;){var p=d.value;n(p)}}catch(w){c.e(w)}finally{c.f()}}if(t){for(var f=Array.from(t.active),b=0,u=f;b<u.length;b++){var v=u[b];if(t.active.has(v)){var h;(h=v[r])===null||h===void 0||h.call(v,m)}}r==="onDrop"&&(t.active.clear(),t=null)}}return{dispatchEvent:l,monitorForConsumers:a}}function Hi(e){var t=e.typeKey,n=e.mount,a=e.dispatchEventToSource,l=e.onPostDispatch,o=e.defaultDropEffect,r=qi(),m=Vi({typeKey:t,defaultDropEffect:o});function c(f){a==null||a(f),m.dispatchEvent(f),r.dispatchEvent(f),l==null||l(f)}function d(f){var b=f.event,u=f.dragType;qn.start({event:b,dragType:u,getDropTargetsOver:m.getIsOver,dispatchEvent:c})}function p(){function f(){var b={canStart:qn.canStart,start:d};return n(b)}return Mi({typeKey:t,mount:f})}return{registerUsage:p,dropTarget:m.dropTargetForConsumers,monitor:r.monitorForConsumers}}var Gi=Cn(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),Wi="pdnd:android-fallback",Qn="text/plain",Ki="text/uri-list",Qi="application/vnd.pdnd",Dt=new WeakMap;function Yi(e){return Dt.set(e.element,e),function(){Dt.delete(e.element)}}var Yn=xi(),En=Hi({typeKey:"element",defaultDropEffect:"move",mount:function(t){return tt(Yn.bindEvents(),Je.bind(document,{type:"dragstart",listener:function(a){var l,o,r,m,c,d;if(t.canStart(a)&&!a.defaultPrevented&&a.dataTransfer){var p=a.target;if(!(p instanceof HTMLElement))return null;var f=Dt.get(p);if(!f)return null;var b=lt(a),u={element:f.element,dragHandle:(l=f.dragHandle)!==null&&l!==void 0?l:null,input:b};if(f.canDrag&&!f.canDrag(u))return a.preventDefault(),null;if(f.dragHandle){var v=Tn({x:b.clientX,y:b.clientY});if(!f.dragHandle.contains(v))return a.preventDefault(),null}var h=(o=(r=f.getInitialDataForExternal)===null||r===void 0?void 0:r.call(f,u))!==null&&o!==void 0?o:null;if(h)for(var w=0,S=Object.entries(h);w<S.length;w++){var y=da(S[w],2),x=y[0],T=y[1];a.dataTransfer.setData(x,T??"")}Gi()&&!a.dataTransfer.types.includes(Qn)&&!a.dataTransfer.types.includes(Ki)&&a.dataTransfer.setData(Qn,Wi),a.dataTransfer.setData(Qi,"");var L={element:f.element,dragHandle:(m=f.dragHandle)!==null&&m!==void 0?m:null,data:(c=(d=f.getInitialData)===null||d===void 0?void 0:d.call(f,u))!==null&&c!==void 0?c:{}},F={type:"element",payload:L,startedFrom:"internal"};t.start({event:a,dragType:F})}}}))},dispatchEventToSource:function(t){var n,a,l=t.eventName,o=t.payload;(n=Dt.get(o.source.element))===null||n===void 0||(a=n[l])===null||a===void 0||a.call(n,o)},onPostDispatch:Yn.getOnPostDispatch()}),Xi=En.dropTarget,_n=En.monitor;function Ji(e){return tt(En.registerUsage(),Yi(e),Ea(e.element,{attribute:"draggable",value:"true"}))}var it=new Map,_t=new Set;function _a(e){Zi(e);var t=it.get(e);if(t)return t;var n={timeOfEngagementStart:Date.now()};return it.set(e,n),n}function Zi(e){_t.add(e)}function ec(e){_t.clear(),e(),it.forEach(function(t,n){_t.has(n)||it.delete(n)}),_t.clear()}function tc(){it.clear()}var Xn=new Map;function nc(e){var t=Xn.get(e);if(t)return t;var n=ac(e);return Xn.set(e,n),n}function ac(e){var t={type:"idle"},n=[];function a(c){if(t.type==="running"){var d=c-t.timeLastFrameFinished,p=t,f=p.latestArgs,b=Tn({x:f.location.current.input.clientX,y:f.location.current.input.clientY});ec(function(){n.forEach(function(u){return u({underUsersPointer:b,latestArgs:f,timeSinceLastFrame:d})})}),t.timeLastFrameFinished=c,t.frameId=requestAnimationFrame(a)}}function l(){t.type!=="idle"&&(cancelAnimationFrame(t.frameId),tc(),t={type:"idle"})}function o(c){t.type==="idle"&&(t={type:"initializing",latestArgs:c,frameId:requestAnimationFrame(function(d){t.type==="initializing"&&(t={type:"running",timeLastFrameFinished:d,latestArgs:t.latestArgs,frameId:requestAnimationFrame(a)})})})}function r(c){if(t.type==="idle"){o(c);return}t.latestArgs=c}e({onDragStart:o,onDropTargetChange:r,onDrag:r,onDrop:l});var m={onFrame:function(d){n.push(d)}};return m}var nn="data-auto-scrollable",oc="[".concat(nn,'="true"]');function lc(e){return e.setAttribute(nn,"true"),function(){return e.removeAttribute(nn)}}function Jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function Zn(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Jn(Object(n),!0).forEach(function(a){Ne(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jn(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}var rc={startHitboxAtPercentageRemainingOfElement:{top:.25,right:.25,bottom:.25,left:.25},maxScrollAtPercentageRemainingOfHitbox:{top:.5,right:.5,bottom:.5,left:.5},timeDampeningDurationMs:400,maxMainAxisHitboxSize:180},sc={standard:15*60,fast:25*60};function Da(e){var t;return Zn(Zn({},rc),{},{maxPixelScrollPerSecond:sc[(t=e==null?void 0:e.maxScrollSpeed)!==null&&t!==void 0?t:"standard"]})}var ic={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}},cc=["top","right","bottom","left"],uc={top:"vertical",right:"horizontal",bottom:"vertical",left:"horizontal"},ea={start:"top",end:"bottom",point:"y",size:"height"},ta={start:"left",end:"right",point:"x",size:"width"},Ia={vertical:{mainAxis:ea,crossAxis:ta},horizontal:{mainAxis:ta,crossAxis:ea}},Dn={top:"start",right:"end",bottom:"end",left:"start"};function St(e){var t=e.edge,n=e.axis;return function(l){var o,r=l.clientRect,m=l.config,c=Ia[n],d=c.mainAxis,p=c.crossAxis,f=Dn[t],b=Math.min(m.startHitboxAtPercentageRemainingOfElement[t]*r[d.size],m.maxMainAxisHitboxSize);return DOMRect.fromRect((o={},Ne(o,d.point,f==="start"?r[d.point]:r[d.point]+r[d.size]-b),Ne(o,p.point,r[p.point]),Ne(o,d.size,b),Ne(o,p.size,r[p.size]),o))}}var dc={top:St({axis:"vertical",edge:"top"}),right:St({axis:"horizontal",edge:"right"}),bottom:St({axis:"vertical",edge:"bottom"}),left:St({axis:"horizontal",edge:"left"})};function an(e){var t=e.startOfRange,n=e.endOfRange,a=e.value,l=t<n;if(!l||a<t)return 0;if(a>n)return 1;var o=n-t;return(a-t)/o}function fc(e){var t=e.timeSinceLastFrame,n=e.config,a=n.maxPixelScrollPerSecond/1e3,l=Math.ceil(a*t),o=n.maxPixelScrollPerSecond/60;return Math.min(l,o)}function pc(e){var t=e.client,n=e.axis,a=e.edge,l=e.hitbox,o=e.config,r=Ia[n].mainAxis,m=Dn[a],c=l[r.size]*o.maxScrollAtPercentageRemainingOfHitbox[a];if(m==="end")return an({startOfRange:l[r.start],endOfRange:l[r.end]-c,value:t[r.point]});var d=an({startOfRange:l[r.start]+c,endOfRange:l[r.end],value:t[r.point]});return 1-d}function Tt(e){var t=e.client,n=e.timeSinceLastFrame,a=e.engagement,l=e.axis,o=e.hitbox,r=e.edge,m=e.isDistanceDampeningEnabled,c=e.config,d=fc({timeSinceLastFrame:n,config:c}),p=m?pc({client:t,edge:r,hitbox:o,axis:l,config:c}):1,f=an({startOfRange:a.timeOfEngagementStart,endOfRange:a.timeOfEngagementStart+c.timeDampeningDurationMs,value:Date.now()}),b=p*f,u=Math.max(d*b,1),v=Dn[r];return v==="end"?u:-1*u}function mc(e,t){return t==="all"||e===t}function vc(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 gc(e){return e.getBoundingClientRect()}function Aa(e){var t=e.element,n=e.input,a=e.timeSinceLastFrame,l=e.engagement,o=e.config,r=e.allowedAxis,m=e.getRect,c=m===void 0?gc:m,d={x:n.clientX,y:n.clientY},p=c(t),f=cc.reduce(function(v,h){var w=dc[h]({clientRect:p,config:o}),S=uc[h];return!mc(S,r)||!vc({client:d,clientRect:w})||!ic[h](t)||v.set(h,{edge:h,hitbox:w}),v},new Map),b=function(){var v="horizontal",h=f.get("left");if(h)return Tt({client:d,edge:h.edge,hitbox:h.hitbox,axis:v,timeSinceLastFrame:a,engagement:l,isDistanceDampeningEnabled:!0,config:o});var w=f.get("right");return w?Tt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:a,engagement:l,isDistanceDampeningEnabled:!0,config:o}):0}(),u=function(){var v="vertical",h=f.get("bottom");if(h)return Tt({client:d,edge:h.edge,hitbox:h.hitbox,axis:v,timeSinceLastFrame:a,engagement:l,isDistanceDampeningEnabled:!0,config:o});var w=f.get("top");return w?Tt({client:d,edge:w.edge,hitbox:w.hitbox,axis:v,timeSinceLastFrame:a,engagement:l,isDistanceDampeningEnabled:!0,config:o}):0}();return{left:b,top:u}}function yc(e,t){var n=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=hc(e))||t){n&&(e=n);var a=0,l=function(){};return{s:l,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(d){throw d},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
67
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o,r=!0,m=!1;return{s:function(){n=n.call(e)},n:function(){var d=n.next();return r=d.done,d},e:function(d){m=!0,o=d},f:function(){try{r||n.return==null||n.return()}finally{if(m)throw o}}}}function hc(e,t){if(e){if(typeof e=="string")return na(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)?na(e,t):void 0}}function na(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 Ra(e){return!!(e.top||e.left)}function $a(e){var t,n,a,l=e.target,o=e.input,r=e.source,m=e.findEntry,c=e.timeSinceLastFrame,d=e.available,p=d===void 0?{top:!0,left:!0}:d;if(!Ra(p)||!l)return p;var f=l.closest(oc);if(!f)return p;var b=m(f);if(!b)return p;function u(){var T;return $a({target:(T=f==null?void 0:f.parentElement)!==null&&T!==void 0?T:null,findEntry:m,source:r,timeSinceLastFrame:c,input:o,available:p})}var v={input:o,source:r,element:f};if(b.canScroll&&!b.canScroll(v))return u();var h=_a(f),w=Da((t=b.getConfiguration)===null||t===void 0?void 0:t.call(b,v)),S=(n=(a=b.getAllowedAxis)===null||a===void 0?void 0:a.call(b,v))!==null&&n!==void 0?n:"all",y=Aa({element:f,engagement:h,input:o,timeSinceLastFrame:c,allowedAxis:S,config:w}),x={top:0,left:0};return p.top&&y.top!==0&&(x.top=y.top,p.top=!1),p.left&&y.left!==0&&(x.left=y.left,p.left=!1),(x.top!==0||x.left!==0)&&f.scrollBy(x),u()}function bc(e){var t=e.input,n=e.timeSinceLastFrame,a=e.available,l=e.source,o=e.entries,r=document.documentElement,m={input:t,source:l,element:r},c=yc(o),d;try{for(c.s();!(d=c.n()).done;){var p,f,b,u=d.value;if(!(u.canScroll&&!u.canScroll(m))){var v=_a(r),h=Da((p=u.getConfiguration)===null||p===void 0?void 0:p.call(u,m)),w=(f=(b=u.getAllowedAxis)===null||b===void 0?void 0:b.call(u,m))!==null&&f!==void 0?f:"all",S=Aa({element:r,engagement:v,input:t,config:h,allowedAxis:w,getRect:function(T){return DOMRect.fromRect({y:0,x:0,width:T.clientWidth,height:T.clientHeight})},timeSinceLastFrame:n}),y={top:a.top?S.top:0,left:a.left?S.left:0};(y.top!==0||y.left!==0)&&r.scrollBy(y);break}}}catch(x){c.e(x)}finally{c.f()}}function wc(e){var t=e.input,n=e.findEntry,a=e.timeSinceLastFrame,l=e.source,o=e.getWindowScrollEntries,r=e.underUsersPointer,m=$a({target:r,timeSinceLastFrame:a,input:t,source:l,findEntry:n});Ra(m)&&bc({input:t,source:l,entries:o(),timeSinceLastFrame:a,available:m})}function aa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function xc(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aa(Object(n),!0).forEach(function(a){Ne(e,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aa(Object(n)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(n,a))})}return e}function Sc(e){var t=e.monitor,n=new Map,a=new Set;function l(d){return n.set(d.element,d),tt(lc(d.element),function(){return n.delete(d.element)})}function o(){var d=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},p=xc({},d);return a.add(p),function(){return a.delete(p)}}function r(d){var p;return(p=n.get(d))!==null&&p!==void 0?p:null}function m(){return Array.from(a)}function c(d){var p=d.latestArgs,f=d.underUsersPointer,b=d.timeSinceLastFrame;wc({input:p.location.current.input,source:p.source,findEntry:r,underUsersPointer:f,timeSinceLastFrame:b,getWindowScrollEntries:m})}return nc(t).onFrame(c),{autoScroll:l,autoScrollWindow:o}}var Tc=Sc({monitor:_n}),Cc=Tc.autoScroll;function oa(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(l){return Object.getOwnPropertyDescriptor(e,l).enumerable})),n.push.apply(n,a)}return n}function la(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){Ne(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}var Ec={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)}},Oa=Symbol("closestEdge");function _c(e,t){var n,a,l=t.element,o=t.input,r=t.allowedEdges,m={x:o.clientX,y:o.clientY},c=l.getBoundingClientRect(),d=r.map(function(f){return{edge:f,value:Ec[f](c,m)}}),p=(n=(a=d.sort(function(f,b){return f.value-b.value})[0])===null||a===void 0?void 0:a.edge)!==null&&n!==void 0?n:null;return la(la({},e),{},Ne({},Oa,p))}function Na(e){var t;return(t=e[Oa])!==null&&t!==void 0?t:null}function Dc(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 l=n==="right",o=t<a;return o?l?a:a-1:l?a+1:a}function Ic(e){var t=e.element,n=e.input;return function(a){var l=a.container,o=t.getBoundingClientRect(),r=l.getBoundingClientRect(),m=Math.min(n.clientX-o.x,r.width),c=Math.min(n.clientY-o.y,r.height);return{x:m,y:c}}}function Ac(){return{x:0,y:0}}function Rc(e){var t=e.render,n=e.nativeSetDragImage,a=e.getOffset,l=a===void 0?Ac:a,o=document.createElement("div");Object.assign(o.style,{position:"fixed",top:0,left:0,zIndex:Sa,pointerEvents:"none"}),document.body.append(o);var r=t({container:o});queueMicrotask(function(){var d=l({container:o});if(Nt()){var p=o.getBoundingClientRect();if(p.width===0)return;o.style.left="-".concat(p.width-1e-4,"px")}n==null||n(o,d.x,d.y)});function m(){c(),r==null||r(),document.body.removeChild(o)}var c=_n({onDragStart:m,onDrop:m})}const $c={class:"bg-background w-44 max-w-44 text-foreground rounded-md flex items-center gap-2 text-sm font-medium h-7 px-3 py-1.5"},Oc=se({__name:"TabViewItemPreview",props:{icon:{},name:{}},setup(e){return(t,n)=>(_(),z("div",$c,ee(t.name),1))}}),Nc={class:"truncate"},kc=se({__name:"TabViewItem",props:{tab:{},isActive:{type:Boolean},selectTab:{type:Function},closeTab:{type:Function},onRightClickItem:{type:Function}},setup(e){const t=e,n=ke(),a=ke(),l=H(!1),o=H(!1),r=H(),m=H(!1);return mn(c=>{const d=Jt(n),p=Jt(a);if(!d||!p)return;const f=tt(Ji({element:d,getInitialData:()=>t.tab,onDragStart:b=>{l.value=!0},onDrop:()=>{l.value=!1,t.selectTab(t.tab.id)},onGenerateDragPreview:({location:b,nativeSetDragImage:u})=>{Rc({nativeSetDragImage:u,getOffset:Ic({element:d,input:b.current.input}),render({container:v}){return Kt(ra(Oc,{icon:t.tab.icon,name:t.tab.name},t.tab.name),v),()=>{Kt(null,v)}}})}}),Xi({element:p,getData:({input:b,element:u})=>{const v={id:t.tab.id};return _c(v,{element:u,input:b,allowedEdges:["left","right"]})},canDrop:({source:b})=>!0,onDrag:({self:b,source:u,location:v})=>{const h=Na(b.data);h&&(r.value=h)},onDragEnter:({self:b,source:u})=>{var h,w;const v=((h=b.data)==null?void 0:h.id)!==u.data.id;t.tab.id===((w=b.data)==null?void 0:w.id)&&v&&(m.value=!0)},onDragLeave:()=>{o.value=!1,m.value=!1},onDrop:({location:b})=>{o.value=!1,m.value=!1},getIsSticky:()=>!1}));c(()=>f())}),(c,d)=>{const p=me,f=Ie,b=Ae,u=De,v=Re;return _(),z("div",{class:"relative",onContextmenu:d[2]||(d[2]=_e(()=>{c.onRightClickItem(c.tab)},["right"])),ref_key:"outerElementRef",ref:a},[E("div",{class:ye(["pb-[1px]",["border rounded-t-md transition-all duration-300 ease-out",c.isActive?"bg-background shadow-xl border-b-transparent rounded-b-none":"border-transparent"]])},[i(v,{ref_key:"innerElementRef",ref:n,variant:"ghost",size:"sm",class:ye(["h-7! max-w-44 justify-start! font-normal p-2! hover:[&>div]:opacity-100 border border-transparent",c.isActive?"bg-background rounded-b-none hover:bg-transparent ":"hover:bg-primary/10 hover:border-border",l.value?"bg-primary/5":""]),onClick:d[1]||(d[1]=_e(h=>c.selectTab(c.tab.id),["left"])),id:c.tab.id},{default:g(()=>[i(p,{name:c.tab.icon,class:ye(s(un)("size-4 min-w-4",c.tab.iconClass))},null,8,["name","class"]),i(u,{id:c.tab.id},{default:g(()=>[i(f,{"as-child":""},{default:g(()=>[E("div",Nc,ee(c.tab.name),1)]),_:1}),i(b,{side:"bottom"},{default:g(()=>[E("p",null,ee(c.tab.name),1)]),_:1})]),_:1},8,["id"]),E("div",{class:"hover:bg-accent p-0.5 rounded-full opacity-0",onClick:d[0]||(d[0]=_e(()=>c.closeTab(c.tab.id),["stop"]))},[i(s(yo),{class:"size-3 stroke-[2.5]!"})])]),_:1},8,["class","id"])],2),m.value&&r.value?(_(),z("div",{key:0,class:"absolute h-7 w-0.5 top-0 rounded-md bg-accent-foreground",style:Me({[r.value==="left"?"left":"right"]:"0px"})},null,4)):ae("",!0)],544)}}}),Lc={class:"flex items-end"},Pc=se({__name:"TabViews",setup(e){const t=qe(),{tabViews:n}=xe(t),a=ke(),l=H(!1),o=H(),r=q(()=>{if(!o.value)return!1;const m=n.value.length,c=n.value.findIndex(d=>{var p;return d.id===((p=o.value)==null?void 0:p.id)});return m>c+1});return mn(m=>{const c=Jt(a);if(!c)return;const d=tt(_n({onDragStart(p){l.value=!0},onDrop(p){l.value=!1;const{location:f,source:b}=p;if(!f.current.dropTargets.length)return;const u=b.data.id,v=f.current.dropTargets[0],h=v.data.id,w=Na(v.data);if(!w)return;const S=n.value.findIndex(T=>T.id===u),y=n.value.findIndex(T=>T.id===h),x=Dc({startIndex:S,indexOfTarget:y,closestEdgeOfTarget:w});t.moveTabTo(S,x)}}),Cc({element:c}));m(()=>{d()})}),(m,c)=>{const d=ln("auto-animate");return _(),z("div",{class:ye(["w-full flex items-end h-full space-x-2 mx-1 -mb-0.5 overflow-x-auto hidden-scroll-container relative",s(l)?"bg-purple-50":""]),ref_key:"elementRef",ref:a},[i(s(So),null,{default:g(()=>[i(s(To),null,{default:g(()=>[Be((_(),z("div",Lc,[(_(!0),z(Te,null,$e(s(n),p=>{var f;return _(),te(kc,{key:p.id,tab:p,isActive:p.id===((f=s(t).activeTab)==null?void 0:f.id),selectTab:s(t).selectTab,closeTab:s(t).closeTab,onRightClickItem:()=>{o.value=p}},null,8,["tab","isActive","selectTab","closeTab","onRightClickItem"])}),128))])),[[d,{duration:120}]]),s(o)?(_(),te(s(Co),{key:0,hideWhenDetached:"",class:"w-56"},{default:g(()=>[i(s(Mt),{onSelect:c[0]||(c[0]=p=>s(t).closeTab(s(o).id))},{default:g(()=>[c[4]||(c[4]=M(" Close ")),i(s(Vt),null,{default:g(()=>c[3]||(c[3]=[M("⌘W")])),_:1})]),_:1}),i(s(Mt),{onSelect:c[1]||(c[1]=p=>s(t).closeOtherTab(s(o).id))},{default:g(()=>[c[6]||(c[6]=M(" Close other ")),i(s(Vt),null,{default:g(()=>c[5]||(c[5]=[M("⌘AO")])),_:1})]),_:1}),i(s(Mt),{disabled:!s(r),onSelect:c[2]||(c[2]=p=>s(t).closeToTheRight(s(o).id))},{default:g(()=>[c[8]||(c[8]=M(" Close to the right ")),i(s(Vt),null,{default:g(()=>c[7]||(c[7]=[M("⌘AX")])),_:1})]),_:1},8,["disabled"])]),_:1})):ae("",!0)]),_:1})]),_:1})],2)}}}),Fc={class:"flex justify-between items-center h-full"},Mc={key:0,class:"vitrual-light-trafic-button"},Uc=se({__name:"TabViewContainer",props:{primarySideBarWidth:{}},setup(e){const t=e,n=fa(),a=ct(),{isPrimarySidebarCollapsed:l,isSecondSidebarCollapsed:o}=xe(a),r=q(()=>Po()),m=q(()=>Fo()),c=q(()=>a.layoutSize[0]?`${t.primarySideBarWidth}px`:"2.25rem"),d=q(()=>!n.meta.notAllowRightPanel);return(p,f)=>{const b=me,u=Re,v=Ie,h=Ae,w=De;return _(),z("div",{class:ye(["w-screen h-9 select-none border-b pr-2 electron-drag-region bg-sidebar-accent/50!",s(m)&&s(l)?"pl-[4.5rem]":"",s(r)&&s(l)?"pl-[6rem]":"",s(r)&&"h-10.5 header-tab-view-pwa"])},[E("div",Fc,[E("div",{class:"flex items-center gap-1 h-full px-1",style:Me({minWidth:s(c),justifyContent:s(l)?"center":"space-between"})},[s(r)&&!s(l)?(_(),z("div",Mc)):ae("",!0),s(l)?ae("",!0):(_(),z("div",{key:1,class:ye([s(m)?"pl-[4.5rem]":"","flex justify-center w-full"])},[i(s(Go))],2)),i(w,null,{default:g(()=>[i(v,{"as-child":""},{default:g(()=>[i(u,{variant:"ghost",size:"iconSm",onClick:f[0]||(f[0]=S=>s(a).onToggleActivityBarPanel())},{default:g(()=>[s(l)?(_(),te(b,{key:0,name:"hugeicons:sidebar-left",class:"size-5!"})):(_(),te(b,{key:1,name:"hugeicons:sidebar-left-01",class:"size-5!"}))]),_:1})]),_:1}),i(h,null,{default:g(()=>f[2]||(f[2]=[M(" Toggle Sidebar ")])),_:1})]),_:1})],4),i(Pc),i(w,null,{default:g(()=>[i(v,{"as-child":""},{default:g(()=>[s(d)?(_(),te(u,{key:0,variant:"ghost",size:"iconSm",onClick:f[1]||(f[1]=S=>s(a).onToggleSecondSidebar())},{default:g(()=>[s(o)?(_(),te(b,{key:0,name:"hugeicons:sidebar-right",class:"size-5!"})):(_(),te(b,{key:1,name:"hugeicons:sidebar-right-01",class:"size-5!"}))]),_:1})):ae("",!0)]),_:1}),i(h,null,{default:g(()=>f[3]||(f[3]=[M(" Toggle Sidebar ")])),_:1})]),_:1})])],2)}}}),Vc={class:"h-full flex overflow-y-auto w-screen max-w-screen overflow-x-hidden"},zc={class:"overflow-y-auto w-full h-full"},jc={class:"flex flex-col overflow-y-auto w-full h-full"},Bc={class:"h-full"},fu=se({__name:"default",setup(e){const t=fa(),n=Ve("primarySideBarPanel"),{width:a}=ho(n),l=ct(),{layoutSize:o,isPrimarySidebarCollapsed:r,bodySize:m}=xe(l),{chatUiVars:c}=bo(),d=q(()=>!t.meta.notAllowBottomPanel),p=q(()=>!t.meta.notAllowRightPanel);return wo([{key:"meta+shift+b",callback:()=>{p.value&&l.onToggleSecondSidebar()}},{key:"meta+b",callback:()=>{l.onToggleActivityBarPanel()}},{key:"meta+j",callback:()=>{d.value&&l.onToggleBottomPanel()}}]),(f,b)=>{const u=La,v=Pa,h=Fa,w=ln("auto-animate");return _(),te(h,{direction:"horizontal",id:"default-layout-group-1",onLayout:b[1]||(b[1]=S=>s(l).onResizeLayout(S))},{default:g(()=>[E("div",{class:"h-screen w-screen flex flex-col flex-1 max-h-screen overflow-y-auto",style:Me(s(c))},[i(s(Uc),{primarySideBarWidth:s(a)},null,8,["primarySideBarWidth"]),Be((_(),z("div",Vc,[s(r)?(_(),te(s(qo),{key:0})):ae("",!0),i(u,{"min-size":10,"max-size":40,"default-size":s(o)[0],"collapsed-size":0,ref:"primarySideBarPanel",collapsible:"",id:"default-layout-group-1-panel-1",key:"primarySideBarPanel",class:"bg-sidebar/50 dark:bg-sidebar"},{default:g(()=>[i(s(ei))]),_:1},8,["default-size"]),i(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-1","with-handle":""}),i(u,{id:"default-layout-group-1-panel-2",key:"contentPanel"},{default:g(()=>[E("div",zc,[i(h,{id:"default-layout-body-group",direction:"vertical",modelValue:s(m),"onUpdate:modelValue":b[0]||(b[0]=S=>Ee(m)?m.value=S:null),onLayout:s(l).onResizeBody},{default:g(()=>[i(u,{id:"default-layout-body-group-panel-1",key:"default-layout-body-group-panel-1"},{default:g(()=>[E("div",jc,[E("div",Bc,[It(f.$slots,"default")])])]),_:3}),Be(i(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!","with-handle":""},null,512),[[bt,s(d)]]),Be(i(u,{"min-size":10,"max-size":70,"default-size":s(m)[1],"collapsed-size":0,collapsible:"",id:"default-layout-body-group-panel-2",key:"default-layout-body-group-panel-2"},{default:g(()=>b[2]||(b[2]=[E("div",{class:"flex flex-col flex-1 h-full p-1",id:"bottom-panel"},null,-1)])),_:1},8,["default-size"]),[[bt,s(d)]])]),_:3},8,["modelValue","onLayout"])])]),_:3}),Be(i(v,{class:"[&[data-state=hover]]:bg-primary/30! [&[data-state=drag]]:bg-primary/20!",id:"default-layout-group-1-resize-2","with-handle":""},null,512),[[bt,s(p)]]),Be(i(u,{id:"default-layout-group-1-panel-3","min-size":15,"max-size":40,"default-size":s(o)[2],"collapsed-size":0,collapsible:"",key:"secondarySideBarPanel",class:"bg-sidebar"},{default:g(()=>[i(s(ni))]),_:1},8,["default-size"]),[[bt,s(p)]])])),[[w,{duration:s(Ze)}]]),i(s(ui))],4)]),_:3})}}});export{fu as default};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import{_ as l,s as k,g as I,t as R,q as _,a as E,b as F,L as D,A as G,G as y,H as C,I as z,l as P,a1 as W,e as B}from"./D4jn2f-6.js";import{p as H}from"./sE-55p4e.js";import{p as V}from"./c_huf6xz.js";import"./BM4vnZvX.js";var m={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},w={axes:[],curves:[],options:m},x=structuredClone(w),j=z.radar,q=l(()=>y({...j,...C().radar}),"getConfig"),b=l(()=>x.axes,"getAxes"),N=l(()=>x.curves,"getCurves"),U=l(()=>x.options,"getOptions"),X=l(a=>{x.axes=a.map(t=>({name:t.name,label:t.label??t.name}))},"setAxes"),Y=l(a=>{x.curves=a.map(t=>({name:t.name,label:t.label??t.name,entries:Z(t.entries)}))},"setCurves"),Z=l(a=>{if(a[0].axis==null)return a.map(e=>e.value);const t=b();if(t.length===0)throw new Error("Axes must be populated before curves for reference entries");return t.map(e=>{const r=a.find(s=>{var o;return((o=s.axis)==null?void 0:o.$refText)===e.name});if(r===void 0)throw new Error("Missing entry for axis "+e.label);return r.value})},"computeCurveEntries"),J=l(a=>{var e,r,s,o,i;const t=a.reduce((n,c)=>(n[c.name]=c,n),{});x.options={showLegend:((e=t.showLegend)==null?void 0:e.value)??m.showLegend,ticks:((r=t.ticks)==null?void 0:r.value)??m.ticks,max:((s=t.max)==null?void 0:s.value)??m.max,min:((o=t.min)==null?void 0:o.value)??m.min,graticule:((i=t.graticule)==null?void 0:i.value)??m.graticule}},"setOptions"),K=l(()=>{G(),x=structuredClone(w)},"clear"),$={getAxes:b,getCurves:N,getOptions:U,setAxes:X,setCurves:Y,setOptions:J,getConfig:q,clear:K,setAccTitle:F,getAccTitle:E,setDiagramTitle:_,getDiagramTitle:R,getAccDescription:I,setAccDescription:k},Q=l(a=>{H(a,$);const{axes:t,curves:e,options:r}=a;$.setAxes(t),$.setCurves(e),$.setOptions(r)},"populate"),tt={parse:l(async a=>{const t=await V("radar",a);P.debug(t),Q(t)},"parse")},et=l((a,t,e,r)=>{const s=r.db,o=s.getAxes(),i=s.getCurves(),n=s.getOptions(),c=s.getConfig(),d=s.getDiagramTitle(),p=D(t),u=at(p,c),g=n.max??Math.max(...i.map(f=>Math.max(...f.entries))),h=n.min,v=Math.min(c.width,c.height)/2;rt(u,o,v,n.ticks,n.graticule),st(u,o,v,c),M(u,o,i,h,g,n.graticule,c),T(u,i,n.showLegend,c),u.append("text").attr("class","radarTitle").text(d).attr("x",0).attr("y",-c.height/2-c.marginTop)},"draw"),at=l((a,t)=>{const e=t.width+t.marginLeft+t.marginRight,r=t.height+t.marginTop+t.marginBottom,s={x:t.marginLeft+t.width/2,y:t.marginTop+t.height/2};return B(a,r,e,t.useMaxWidth??!0),a.attr("viewBox",`0 0 ${e} ${r}`),a.append("g").attr("transform",`translate(${s.x}, ${s.y})`)},"drawFrame"),rt=l((a,t,e,r,s)=>{if(s==="circle")for(let o=0;o<r;o++){const i=e*(o+1)/r;a.append("circle").attr("r",i).attr("class","radarGraticule")}else if(s==="polygon"){const o=t.length;for(let i=0;i<r;i++){const n=e*(i+1)/r,c=t.map((d,p)=>{const u=2*p*Math.PI/o-Math.PI/2,g=n*Math.cos(u),h=n*Math.sin(u);return`${g},${h}`}).join(" ");a.append("polygon").attr("points",c).attr("class","radarGraticule")}}},"drawGraticule"),st=l((a,t,e,r)=>{const s=t.length;for(let o=0;o<s;o++){const i=t[o].label,n=2*o*Math.PI/s-Math.PI/2;a.append("line").attr("x1",0).attr("y1",0).attr("x2",e*r.axisScaleFactor*Math.cos(n)).attr("y2",e*r.axisScaleFactor*Math.sin(n)).attr("class","radarAxisLine"),a.append("text").text(i).attr("x",e*r.axisLabelFactor*Math.cos(n)).attr("y",e*r.axisLabelFactor*Math.sin(n)).attr("class","radarAxisLabel")}},"drawAxes");function M(a,t,e,r,s,o,i){const n=t.length,c=Math.min(i.width,i.height)/2;e.forEach((d,p)=>{if(d.entries.length!==n)return;const u=d.entries.map((g,h)=>{const v=2*Math.PI*h/n-Math.PI/2,f=A(g,r,s,c),S=f*Math.cos(v),O=f*Math.sin(v);return{x:S,y:O}});o==="circle"?a.append("path").attr("d",L(u,i.curveTension)).attr("class",`radarCurve-${p}`):o==="polygon"&&a.append("polygon").attr("points",u.map(g=>`${g.x},${g.y}`).join(" ")).attr("class",`radarCurve-${p}`)})}l(M,"drawCurves");function A(a,t,e,r){const s=Math.min(Math.max(a,t),e);return r*(s-t)/(e-t)}l(A,"relativeRadius");function L(a,t){const e=a.length;let r=`M${a[0].x},${a[0].y}`;for(let s=0;s<e;s++){const o=a[(s-1+e)%e],i=a[s],n=a[(s+1)%e],c=a[(s+2)%e],d={x:i.x+(n.x-o.x)*t,y:i.y+(n.y-o.y)*t},p={x:n.x-(c.x-i.x)*t,y:n.y-(c.y-i.y)*t};r+=` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`}return`${r} Z`}l(L,"closedRoundCurve");function T(a,t,e,r){if(!e)return;const s=(r.width/2+r.marginRight)*3/4,o=-(r.height/2+r.marginTop)*3/4,i=20;t.forEach((n,c)=>{const d=a.append("g").attr("transform",`translate(${s}, ${o+c*i})`);d.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${c}`),d.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(n.label)})}l(T,"drawLegend");var nt={draw:et},ot=l((a,t)=>{let e="";for(let r=0;r<a.THEME_COLOR_LIMIT;r++){const s=a[`cScale${r}`];e+=`
|
|
2
|
+
.radarCurve-${r} {
|
|
3
|
+
color: ${s};
|
|
4
|
+
fill: ${s};
|
|
5
|
+
fill-opacity: ${t.curveOpacity};
|
|
6
|
+
stroke: ${s};
|
|
7
|
+
stroke-width: ${t.curveStrokeWidth};
|
|
8
|
+
}
|
|
9
|
+
.radarLegendBox-${r} {
|
|
10
|
+
fill: ${s};
|
|
11
|
+
fill-opacity: ${t.curveOpacity};
|
|
12
|
+
stroke: ${s};
|
|
13
|
+
}
|
|
14
|
+
`}return e},"genIndexStyles"),it=l(a=>{const t=W(),e=C(),r=y(t,e.themeVariables),s=y(r.radar,a);return{themeVariables:r,radarOptions:s}},"buildRadarStyleOptions"),lt=l(({radar:a}={})=>{const{themeVariables:t,radarOptions:e}=it(a);return`
|
|
15
|
+
.radarTitle {
|
|
16
|
+
font-size: ${t.fontSize};
|
|
17
|
+
color: ${t.titleColor};
|
|
18
|
+
dominant-baseline: hanging;
|
|
19
|
+
text-anchor: middle;
|
|
20
|
+
}
|
|
21
|
+
.radarAxisLine {
|
|
22
|
+
stroke: ${e.axisColor};
|
|
23
|
+
stroke-width: ${e.axisStrokeWidth};
|
|
24
|
+
}
|
|
25
|
+
.radarAxisLabel {
|
|
26
|
+
dominant-baseline: middle;
|
|
27
|
+
text-anchor: middle;
|
|
28
|
+
font-size: ${e.axisLabelFontSize}px;
|
|
29
|
+
color: ${e.axisColor};
|
|
30
|
+
}
|
|
31
|
+
.radarGraticule {
|
|
32
|
+
fill: ${e.graticuleColor};
|
|
33
|
+
fill-opacity: ${e.graticuleOpacity};
|
|
34
|
+
stroke: ${e.graticuleColor};
|
|
35
|
+
stroke-width: ${e.graticuleStrokeWidth};
|
|
36
|
+
}
|
|
37
|
+
.radarLegendText {
|
|
38
|
+
text-anchor: start;
|
|
39
|
+
font-size: ${e.legendFontSize}px;
|
|
40
|
+
dominant-baseline: hanging;
|
|
41
|
+
}
|
|
42
|
+
${ot(t,e)}
|
|
43
|
+
`},"styles"),gt={parser:tt,db:$,renderer:nt,styles:lt};export{gt as diagram};
|