db-studio 1.20.1 → 1.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/index.js +48 -48
  2. package/dist/index.js.map +1 -1
  3. package/dist/web-dist/assets/_pathlessLayout-B1Kz-W33.js +2 -0
  4. package/dist/web-dist/assets/{_pathlessLayout-CgyUHraA.js → _pathlessLayout-VlxJ22m7.js} +1 -1
  5. package/dist/web-dist/assets/{_queryId-BnuSc4Gg.js → _queryId-Dbj-IcwP.js} +1 -1
  6. package/dist/web-dist/assets/{_table-nJp2Qmo-.js → _table-BX2mnK0X.js} +1 -1
  7. package/dist/web-dist/assets/{_table-jgPgSLci.js → _table-C51xDj3B.js} +1 -1
  8. package/dist/web-dist/assets/{_table-AVlcvRq-.js → _table-zomRrDzJ.js} +1 -1
  9. package/dist/web-dist/assets/{abap-duFG9vHh.js → abap-WFOkJ0Iq.js} +1 -1
  10. package/dist/web-dist/assets/{apex-CHT1d-hI.js → apex-YVFiOjrR.js} +1 -1
  11. package/dist/web-dist/assets/{azcli-59FA8HWi.js → azcli-CNCyjR-l.js} +1 -1
  12. package/dist/web-dist/assets/{badge-CG7r6a9N.js → badge-toiaU9we.js} +1 -1
  13. package/dist/web-dist/assets/{bat-QcLLunbg.js → bat-MCIBQfPZ.js} +1 -1
  14. package/dist/web-dist/assets/{bicep-CJmWYRSE.js → bicep-dF6uY2qF.js} +1 -1
  15. package/dist/web-dist/assets/{browser-CqZN3B0S.js → browser-tIWI45_M.js} +1 -1
  16. package/dist/web-dist/assets/{bundle-mjs-DH214At4.js → bundle-mjs-D0ioGaqI.js} +1 -1
  17. package/dist/web-dist/assets/{cameligo-BX5t3vHu.js → cameligo-BQUsXhaa.js} +1 -1
  18. package/dist/web-dist/assets/{chat-sidebar-CxNuyvq5.js → chat-sidebar-DgxY1Pbe.js} +4 -4
  19. package/dist/web-dist/assets/{clojure-D37tjeCV.js → clojure-BhZRzslc.js} +1 -1
  20. package/dist/web-dist/assets/{code-editor-C1XfcGd6.js → code-editor-BZb9MYGN.js} +1 -1
  21. package/dist/web-dist/assets/{coffee-BdEhZOMU.js → coffee-C8HNjPDJ.js} +1 -1
  22. package/dist/web-dist/assets/{connect-BrEj5a0G.js → connect-D1_593bU.js} +1 -1
  23. package/dist/web-dist/assets/{constants-BkGar8jH.js → constants-BQTFFySQ.js} +3 -3
  24. package/dist/web-dist/assets/{cpp-BHF9hDmq.js → cpp-B8qti7_b.js} +1 -1
  25. package/dist/web-dist/assets/{csharp-DjAaT1jO.js → csharp-C0cZzzkE.js} +1 -1
  26. package/dist/web-dist/assets/{csp-d0k7YMoe.js → csp-MhIFVcNf.js} +1 -1
  27. package/dist/web-dist/assets/{css-BPsdjDFR.js → css-DBN9tA4J.js} +1 -1
  28. package/dist/web-dist/assets/{cssMode-B5mLfsCz.js → cssMode-BWRNCxOx.js} +1 -1
  29. package/dist/web-dist/assets/{cypher-BhCMEHyj.js → cypher-DJ_pw7h5.js} +1 -1
  30. package/dist/web-dist/assets/{dart-BN8smezN.js → dart-F3nMHSfK.js} +1 -1
  31. package/dist/web-dist/assets/{database.store-5J6CCWFz.js → database.store-B1rRjEg4.js} +2 -2
  32. package/dist/web-dist/assets/{dist-BQ7Ozl0J.js → dist-CVJtjQTa.js} +1 -1
  33. package/dist/web-dist/assets/{dist-BqxvWDcc.js → dist-ChADfney.js} +1 -1
  34. package/dist/web-dist/assets/{dockerfile-Cv8Os2yO.js → dockerfile-CysYjGrO.js} +1 -1
  35. package/dist/web-dist/assets/{ecl-BYo4IitV.js → ecl-DIUXSvGP.js} +1 -1
  36. package/dist/web-dist/assets/{editor.api-CwXgGCa7.js → editor.api-CuMlpyu0.js} +1 -1
  37. package/dist/web-dist/assets/{elixir-D0hFO03E.js → elixir-B7ult7Ux.js} +1 -1
  38. package/dist/web-dist/assets/{esm-Cdx5se1b.js → esm-BknY1CA1.js} +1 -1
  39. package/dist/web-dist/assets/{flow9-Cf5HA10W.js → flow9-BFvvZ9ik.js} +1 -1
  40. package/dist/web-dist/assets/{format-cell-value-CKoxM_-A.js → format-cell-value-DqIzj4LE.js} +1 -1
  41. package/dist/web-dist/assets/{freemarker2-CvLlaxZK.js → freemarker2-BhR2Ql4x.js} +1 -1
  42. package/dist/web-dist/assets/{fsharp-CGpm-CA_.js → fsharp-BdsIEhwp.js} +1 -1
  43. package/dist/web-dist/assets/{go-BI9uoy-z.js → go-DWe2xaHS.js} +1 -1
  44. package/dist/web-dist/assets/{graphql-B8ypcCAI.js → graphql-kWxQb-iM.js} +1 -1
  45. package/dist/web-dist/assets/{handlebars-qdh3kI27.js → handlebars-CUcn1o_r.js} +1 -1
  46. package/dist/web-dist/assets/{hcl-SdNOgxez.js → hcl-JeQo50WC.js} +1 -1
  47. package/dist/web-dist/assets/{highlighted-body-OFNGDK62-CYUQZmJZ.js → highlighted-body-OFNGDK62-BdEluyYo.js} +1 -1
  48. package/dist/web-dist/assets/{html-DJkTdr1S.js → html-C_JUNAt1.js} +1 -1
  49. package/dist/web-dist/assets/{htmlMode-HXj_9pyU.js → htmlMode-EwQz6V0Q.js} +1 -1
  50. package/dist/web-dist/assets/{icons-H-Vzd-BV.js → icons-GcbEpn9M.js} +1 -1
  51. package/dist/web-dist/assets/{index-_UqpH2Ck.js → index-C5X9j38l.js} +4 -4
  52. package/dist/web-dist/assets/{index-DFMk_Cii.css → index-DqujaEeP.css} +1 -1
  53. package/dist/web-dist/assets/{indexes-tS7wQWTR.js → indexes-DLb1Uw4h.js} +1 -1
  54. package/dist/web-dist/assets/{ini-De3M253-.js → ini-BxF77OPh.js} +1 -1
  55. package/dist/web-dist/assets/{java-DCsDI5ZY.js → java-35HWAIfL.js} +1 -1
  56. package/dist/web-dist/assets/{javascript-DsKKDrO4.js → javascript-EhgBTSbU.js} +1 -1
  57. package/dist/web-dist/assets/{json-editor-DB-iUUNR.js → json-editor-ByvySVR1.js} +1 -1
  58. package/dist/web-dist/assets/{jsonMode-DH30HM75.js → jsonMode-Dcapyp_k.js} +1 -1
  59. package/dist/web-dist/assets/{julia-D3Bxrq3x.js → julia-BNuPscTy.js} +1 -1
  60. package/dist/web-dist/assets/{keys-DZfEDq02.js → keys-IL-jue3e.js} +1 -1
  61. package/dist/web-dist/assets/{kotlin-C6SnMHJH.js → kotlin-WhqpDSL9.js} +1 -1
  62. package/dist/web-dist/assets/{label-By2JKga3.js → label-DnmSND3X.js} +1 -1
  63. package/dist/web-dist/assets/{less-D8CtZa46.js → less-B7ZalX3Q.js} +1 -1
  64. package/dist/web-dist/assets/{lexon-CpHHi_ak.js → lexon-Dv-iKJBo.js} +1 -1
  65. package/dist/web-dist/assets/{liquid-CD0OIjwg.js → liquid-xjLeLKWY.js} +1 -1
  66. package/dist/web-dist/assets/{logs-DUcem5Oh.js → logs-Dgscz_qB.js} +1 -1
  67. package/dist/web-dist/assets/{lspLanguageFeatures-DIl5PADA.js → lspLanguageFeatures-txWi423T.js} +1 -1
  68. package/dist/web-dist/assets/{lua-CDh6JxUk.js → lua-Dw0Ng6_o.js} +1 -1
  69. package/dist/web-dist/assets/{m3-5WjxeUbe.js → m3-BzTFxX8n.js} +1 -1
  70. package/dist/web-dist/assets/{markdown-D4lEAyiw.js → markdown-DH-yzTwm.js} +1 -1
  71. package/dist/web-dist/assets/{mdx-BZXQg63z.js → mdx-DDFyRire.js} +1 -1
  72. package/dist/web-dist/assets/{mermaid-GHXKKRXX-CQkNWdMN.js → mermaid-GHXKKRXX-BZrvxC2B.js} +1 -1
  73. package/dist/web-dist/assets/{middleware-DbgBRn8Y.js → middleware-5iFNnPjv.js} +1 -1
  74. package/dist/web-dist/assets/{mips-B0O7p6Ie.js → mips-CzaU_zzk.js} +1 -1
  75. package/dist/web-dist/assets/{module-nSMr-a3X.js → module-DUcNetq9.js} +1 -1
  76. package/dist/web-dist/assets/{monaco-theme-DhnYgjD0.js → monaco-theme-CbhwGI2X.js} +4 -4
  77. package/dist/web-dist/assets/{msdax-AC3oqIh0.js → msdax-DFJmYuq_.js} +1 -1
  78. package/dist/web-dist/assets/{mysql-DFuTdw4w.js → mysql-BCChwFZe.js} +1 -1
  79. package/dist/web-dist/assets/{objective-c-DUPiY2Ga.js → objective-c-H6bRbDo4.js} +1 -1
  80. package/dist/web-dist/assets/{pascal-BldeRVgS.js → pascal-tUfSUg9_.js} +1 -1
  81. package/dist/web-dist/assets/{pascaligo-Ef6AYwUI.js → pascaligo-BRyiH7-C.js} +1 -1
  82. package/dist/web-dist/assets/{perl-aC0R9z_I.js → perl-2nv9yZa2.js} +1 -1
  83. package/dist/web-dist/assets/personal-preferences.store-Bn1jjoS7.js +1 -0
  84. package/dist/web-dist/assets/{pgsql-Crbukx2g.js → pgsql-Y8XdTuXS.js} +1 -1
  85. package/dist/web-dist/assets/{php-Bma62jDl.js → php-DLR7NjyO.js} +1 -1
  86. package/dist/web-dist/assets/{pla-CYBBeKcX.js → pla-t-iWqHXX.js} +1 -1
  87. package/dist/web-dist/assets/{postiats-BIR9JmCY.js → postiats-DdliQ1Xg.js} +1 -1
  88. package/dist/web-dist/assets/{powerquery-DrvBPBM1.js → powerquery-DBzKYhdM.js} +1 -1
  89. package/dist/web-dist/assets/{powershell-CLbYzVv0.js → powershell-BYjZe9jw.js} +1 -1
  90. package/dist/web-dist/assets/{preload-helper-dVMjxauq.js → preload-helper-BKGvvwaw.js} +1 -1
  91. package/dist/web-dist/assets/{protobuf-BqQHo4vH.js → protobuf-BMpz808_.js} +1 -1
  92. package/dist/web-dist/assets/{pug-9GdK4rJq.js → pug-m-9DaP5r.js} +1 -1
  93. package/dist/web-dist/assets/{python-D9Ks8Q-D.js → python-ByM6owOE.js} +1 -1
  94. package/dist/web-dist/assets/{qsharp-Dsl_5m_r.js → qsharp-C722_gk8.js} +1 -1
  95. package/dist/web-dist/assets/{queries.store-Ch4T0KvI.js → queries.store-DvoUxjik.js} +1 -1
  96. package/dist/web-dist/assets/{query-runner-sXKrmBnA.js → query-runner-JR3riBgI.js} +3 -3
  97. package/dist/web-dist/assets/{r-CnZl0fNO.js → r-MN5LGctm.js} +1 -1
  98. package/dist/web-dist/assets/{radix-ui-CK6Wlu2t.js → radix-ui-C_RxnUOP.js} +1 -1
  99. package/dist/web-dist/assets/{razor-BSf23BbB.js → razor-DWh-N5ct.js} +1 -1
  100. package/dist/web-dist/assets/{react-DL_vU9Np.js → react-DbIG49vF.js} +1 -1
  101. package/dist/web-dist/assets/{react-dom-COpto5Lq.js → react-dom-C2TrwR2T.js} +1 -1
  102. package/dist/web-dist/assets/{redis-DC2OPuLp.js → redis-BD0-ddb4.js} +1 -1
  103. package/dist/web-dist/assets/{redis-value-xvAVURGl.js → redis-value-BuCNWzYH.js} +1 -1
  104. package/dist/web-dist/assets/{redshift-BrZNe2RI.js → redshift-CYs4no-J.js} +1 -1
  105. package/dist/web-dist/assets/{restructuredtext-9lyyEKVX.js → restructuredtext-_ytOx-UI.js} +1 -1
  106. package/dist/web-dist/assets/{rolldown-runtime-CeWvkXQy.js → rolldown-runtime-Di8pEKbV.js} +1 -1
  107. package/dist/web-dist/assets/{ruby-DwRWLbkb.js → ruby-CAgA9FIu.js} +1 -1
  108. package/dist/web-dist/assets/{runner-BMb-g_Lu.js → runner-BCzRHwKz.js} +1 -1
  109. package/dist/web-dist/assets/{rust-BGsYECjK.js → rust-PbfiuCov.js} +1 -1
  110. package/dist/web-dist/assets/{sb-CSFgGykN.js → sb-Sia-CghV.js} +1 -1
  111. package/dist/web-dist/assets/{scala-DLAkwcvG.js → scala-ZImQRTRc.js} +1 -1
  112. package/dist/web-dist/assets/{schema-iwj5Z9v8.js → schema-A-a9is-Y.js} +1 -1
  113. package/dist/web-dist/assets/{schema-jxssWSuG.js → schema-fFTe1BzV.js} +1 -1
  114. package/dist/web-dist/assets/{scheme-Bwcup24z.js → scheme-BoZtbC5A.js} +1 -1
  115. package/dist/web-dist/assets/{scss-CdC3b4Dp.js → scss-BjhuhmFV.js} +1 -1
  116. package/dist/web-dist/assets/{select-DhDDLj0V.js → select-M2uunOZt.js} +1 -1
  117. package/dist/web-dist/assets/{separator-Cwgx1C4x.js → separator-DB8KbaN1.js} +1 -1
  118. package/dist/web-dist/assets/{sheet-sidebar-hCeoPsOI.js → sheet-sidebar-xMAbhIed.js} +1 -1
  119. package/dist/web-dist/assets/{shell-CBkgxBul.js → shell-D3tqEZva.js} +1 -1
  120. package/dist/web-dist/assets/{solidity-B-xcx5ON.js → solidity-CkleyNm-.js} +1 -1
  121. package/dist/web-dist/assets/{sophia-iaeYN2wb.js → sophia-DE5Yfv56.js} +1 -1
  122. package/dist/web-dist/assets/{sparql-BLHFKfct.js → sparql-CqGQVKaz.js} +1 -1
  123. package/dist/web-dist/assets/{spinner-D1DwAXJ-.js → spinner-2NEuRz3N.js} +1 -1
  124. package/dist/web-dist/assets/{sql-LfAout4-.js → sql-DRhhaTM-.js} +1 -1
  125. package/dist/web-dist/assets/{st-BdoZiErP.js → st-BEzw-XCi.js} +1 -1
  126. package/dist/web-dist/assets/{swift-B84tcKMw.js → swift-BUCDz8m3.js} +1 -1
  127. package/dist/web-dist/assets/{systemverilog-Du5Sb4k1.js → systemverilog-CleMVTkC.js} +1 -1
  128. package/dist/web-dist/assets/{table-CXZBqhzf.js → table-CdX2vE_K.js} +1 -1
  129. package/dist/web-dist/assets/{tables-CPGZlzJ_.js → tables-DXy1sCpY.js} +6 -6
  130. package/dist/web-dist/assets/{tanstack-BloKOdxi.js → tanstack-BA1WGGtm.js} +1 -1
  131. package/dist/web-dist/assets/{tcl-CrgaTdtx.js → tcl-DWM_3q8Z.js} +1 -1
  132. package/dist/web-dist/assets/{tooltip-BIH07T2F.js → tooltip-H8tZ3i8c.js} +1 -1
  133. package/dist/web-dist/assets/{tsMode-CL7chhRV.js → tsMode-DiuMLMwz.js} +1 -1
  134. package/dist/web-dist/assets/{twig-Ca33_3Re.js → twig-C-X1D37B.js} +1 -1
  135. package/dist/web-dist/assets/{typescript-BsSatc9U.js → typescript-Bfr8I-2Y.js} +1 -1
  136. package/dist/web-dist/assets/{typespec-BxFsPGnQ.js → typespec-C7OUJVKC.js} +1 -1
  137. package/dist/web-dist/assets/{use-database-engine-DxO5g9Kw.js → use-database-engine-OQf6N706.js} +1 -1
  138. package/dist/web-dist/assets/{use-theme-Det5Wi5e.js → use-theme-DWjF47vb.js} +1 -1
  139. package/dist/web-dist/assets/{utils-J1-rY_xI.js → utils-nVh8q9zh.js} +1 -1
  140. package/dist/web-dist/assets/{vb-CLpwIxeU.js → vb-DyBFoTZO.js} +1 -1
  141. package/dist/web-dist/assets/{visualizer-OhGshi3C.js → visualizer-iAzNS5sw.js} +1 -1
  142. package/dist/web-dist/assets/{vscode-Cg3uemAE.js → vscode-C1sSF23w.js} +1 -1
  143. package/dist/web-dist/assets/{wgsl-DQEHK3Ok.js → wgsl-5-zJj1gX.js} +1 -1
  144. package/dist/web-dist/assets/{workers-BEBrJbPz.js → workers-CzfLEsle.js} +1 -1
  145. package/dist/web-dist/assets/{xml-CodX5bPM.js → xml-CJ62tlSX.js} +1 -1
  146. package/dist/web-dist/assets/{yaml-CgUK140i.js → yaml-DCMtlpln.js} +1 -1
  147. package/dist/web-dist/index.html +31 -31
  148. package/package.json +1 -1
  149. package/dist/web-dist/assets/_pathlessLayout-B5zH_a7e.js +0 -2
  150. package/dist/web-dist/assets/personal-preferences.store-DL_QEySc.js +0 -1
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chat-sidebar-CxNuyvq5.js","assets/rolldown-runtime-CeWvkXQy.js","assets/icons-H-Vzd-BV.js","assets/radix-ui-CK6Wlu2t.js","assets/bundle-mjs-DH214At4.js","assets/utils-J1-rY_xI.js","assets/tooltip-BIH07T2F.js","assets/react-DL_vU9Np.js","assets/sheet-sidebar-hCeoPsOI.js","assets/label-By2JKga3.js","assets/constants-BkGar8jH.js","assets/database.store-5J6CCWFz.js","assets/preload-helper-dVMjxauq.js","assets/separator-Cwgx1C4x.js","assets/index-_UqpH2Ck.js","assets/tanstack-BloKOdxi.js","assets/react-dom-COpto5Lq.js","assets/dist-BQ7Ozl0J.js","assets/spinner-D1DwAXJ-.js","assets/dist-BqxvWDcc.js","assets/schema-iwj5Z9v8.js","assets/badge-CG7r6a9N.js","assets/use-database-engine-DxO5g9Kw.js","assets/keys-DZfEDq02.js","assets/format-cell-value-CKoxM_-A.js","assets/tables-CPGZlzJ_.js","assets/select-DhDDLj0V.js","assets/middleware-DbgBRn8Y.js","assets/personal-preferences.store-DL_QEySc.js","assets/vscode-Cg3uemAE.js","assets/use-theme-Det5Wi5e.js","assets/index-DFMk_Cii.css"])))=>i.map(i=>d[i]);
2
- import{n as cs,r as ds}from"./rolldown-runtime-CeWvkXQy.js";import{_ as oe,b as he,f as us,g as Be,n as hs,s as se,v as te,w as ms}from"./tanstack-BloKOdxi.js";import{$ as xs,A as fs,Ct as bs,E as Z,Et as ps,G as gs,H as vs,It as js,N as ys,Ot as Cs,P as He,Q as Ss,R as Ns,T as qe,X as ws,Z as Ue,_ as ks,a as Ts,b as we,bt as Ae,ct as Es,f as _s,g as Ds,k as ke,m as Rs,mt as Is,nt as Os,p as As,r as Fs,rt as Ls,s as Te,tt as Ms,ut as zs,v as Ps,x as $s}from"./icons-H-Vzd-BV.js";import{a as Ks,i as Qs,jt as Vs,n as Bs,o as Hs,r as qs,t as Us}from"./radix-ui-CK6Wlu2t.js";import{n as z}from"./dist-BQ7Ozl0J.js";import{t as T}from"./utils-J1-rY_xI.js";import{t as Ws}from"./spinner-D1DwAXJ-.js";import{n as O}from"./dist-BqxvWDcc.js";import{C as Gs,G as q,J as U,K as W,S as Ys,W as G,Y,c as We,d as Se,f as Ge,h as Ye,l as Xs,m as Xe,n as Js,p as Je,q as X,s as Ze,u as I,v as Ee}from"./schema-iwj5Z9v8.js";import{n as M,t as Fe}from"./label-By2JKga3.js";import{a as J,i as _e,n as De,o as S,t as Re}from"./tooltip-BIH07T2F.js";import{i as Zs,n as et,s as st,t as tt}from"./sheet-sidebar-hCeoPsOI.js";import{c as at,d as ee,l as rt,r as nt,s as es,u as lt}from"./tables-CPGZlzJ_.js";import{B as it,r as ot,t as R}from"./constants-BkGar8jH.js";import{i as ct,t as ss}from"./database.store-5J6CCWFz.js";import{t as dt}from"./preload-helper-dVMjxauq.js";import{c as ut,d as ht,f as mt,l as xt,o as ft,p as bt,s as pt,t as gt,u as vt}from"./badge-CG7r6a9N.js";import{a as ae,i as re,n as ne,r as P,t as le}from"./select-DhDDLj0V.js";import{t as Q}from"./use-database-engine-DxO5g9Kw.js";import{t as jt}from"./keys-DZfEDq02.js";import{r as yt,t as Ct}from"./separator-Cwgx1C4x.js";import{r as Ie}from"./personal-preferences.store-DL_QEySc.js";import{t as St}from"./use-theme-Det5Wi5e.js";import{C as Nt,S as B,a as wt,b as Le,c as kt,g as Tt,h as Et,l as _t,p as Dt,u as Rt,v as It,x as Ot,y as H}from"./index-_UqpH2Ck.js";import{t as me}from"./queries.store-Ch4T0KvI.js";import{i as At,n as ye,o as Ft,r as Lt,s as Mt}from"./redis-value-xvAVURGl.js";(function(){try{var s=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};s.SENTRY_RELEASE={id:"db-studio@1.20.1"};var t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="91470a05-1213-4bfb-a051-b808ca17b399",s._sentryDebugIdIdentifier="sentry-dbid-91470a05-1213-4bfb-a051-b808ca17b399")}catch{}})();var Me={AUTHOR:"Hüsam 🥑 <husam@ql3.dev>",AUTHOR_NAME:"Hüsam",AUTHOR_AVATAR:"/avocado.png",AUTHOR_USERNAME:"husamql3",AUTHOR_GITHUB_LINK:"https://github.com/husamql3",SITE_DESCRIPTION:"The modern pgAdmin alternative that works with every database.",SITE_KEYWORDS:["pgadmin alternative","database client","database gui","database browser","sql editor","postgresql client","mysql client","table editor","ai sql","er diagram"],SITE_TITLE:"db-studio",SITE_NAME:"dbstudio.sh",SITE_URL:"https://dbstudio.sh",SITE_X_LINK:"https://x.com/dbstudio_sh",SITE_GITHUB_LINK:"https://github.com/husamql3/db-studio",SITE_GITHUB_NEW_ISSUE_LINK:"https://github.com/husamql3/db-studio/issues/new/choose",SITE_DOCS_LINK:"https://dbstudio.sh/docs",SITE_CHANGELOG_LINK:"https://dbstudio.sh/changelog",SITE_ROADMAP_LINK:"https://dbstudio.sh/roadmap",SITE_IMAGE:"https://dbstudio.sh/og-image.png",SITE_IMAGE_WIDTH:"1200",SITE_IMAGE_HEIGHT:"630",SITE_IMAGE_ALT:"dbstudio.sh – Modern database management studio",SITE_COLOR:"#1447e6"},l=ds(js(),1),zt=({enabled:s=!0}={})=>{const{data:t,isLoading:a,error:r,refetch:n}=ms({queryKey:jt.rateLimit(),queryFn:async()=>(await it()).data,enabled:s});return{rateLimit:t,isLoadingRateLimit:a,errorRateLimit:r,refetchRateLimit:n}},ts={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ze=l.createContext&&l.createContext(ts),Pt=["attr","size","title"];function $t(s,t){if(s==null)return{};var a,r,n=Kt(s,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(s,a)&&(n[a]=s[a])}return n}function Kt(s,t){if(s==null)return{};var a={};for(var r in s)if({}.hasOwnProperty.call(s,r)){if(t.indexOf(r)!==-1)continue;a[r]=s[r]}return a}function de(){return de=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(s[r]=a[r])}return s},de.apply(null,arguments)}function Pe(s,t){var a=Object.keys(s);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(s);t&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(s,n).enumerable})),a.push.apply(a,r)}return a}function ue(s){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?Pe(Object(a),!0).forEach(function(r){Qt(s,r,a[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(a)):Pe(Object(a)).forEach(function(r){Object.defineProperty(s,r,Object.getOwnPropertyDescriptor(a,r))})}return s}function Qt(s,t,a){return(t=Vt(t))in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function Vt(s){var t=Bt(s,"string");return typeof t=="symbol"?t:t+""}function Bt(s,t){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var r=a.call(s,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}function as(s){return s&&s.map((t,a)=>l.createElement(t.tag,ue({key:a},t.attr),as(t.child)))}function Ht(s){return t=>l.createElement(qt,de({attr:ue({},s.attr)},t),as(s.child))}function qt(s){var t=a=>{var{attr:r,size:n,title:i}=s,c=$t(s,Pt),o=n||a.size||"1em",u;return a.className&&(u=a.className),s.className&&(u=(u?u+" ":"")+s.className),l.createElement("svg",de({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,r,c,{className:u,style:ue(ue({color:s.color||a.color},a.style),s.style),height:o,width:o,xmlns:"http://www.w3.org/2000/svg"}),i&&l.createElement("title",null,i),s.children)};return ze!==void 0?l.createElement(ze.Consumer,null,a=>t(a)):t(ts)}function Ut(s){return Ht({tag:"svg",attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4"},child:[]},{tag:"path",attr:{d:"M9 18c-4.51 2-5-2-7-2"},child:[]}]})(s)}var e=Vs(),Ne=()=>dt(()=>import("./chat-sidebar-CxNuyvq5.js").then(s=>s.t),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31])),Wt=(0,l.lazy)(()=>Ne().then(s=>({default:s.ChatSidebar}))),Gt=()=>{const{openOverlay:s,isOverlayOpen:t}=J(),[a,r]=(0,l.useState)(!1);t("chat.assistant")&&!a&&r(!0);const{dbType:n}=ss(),{provider:i}=_t(),c=Rt(Dt),o=wt(),u=c.status[i],m=u?.state==="set"||u?.state==="locked",{rateLimit:f,isLoadingRateLimit:p,errorRateLimit:x}=zt({enabled:o&&i==="gemini"&&!m}),{remaining:g=0,limit:h=0}=f??{remaining:0,limit:0},y=m?"bg-emerald-500":p||x?"bg-zinc-500":i!=="gemini"||g===0?"bg-red-500":g<=5?"bg-yellow-500":"bg-emerald-500";return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(Re,{children:[(0,e.jsx)(_e,{asChild:!0,children:(0,e.jsxs)(S,{variant:"ghost",className:"rounded-none size-12 relative text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors","aria-label":"Open AI assistant",onPointerEnter:Ne,onFocus:Ne,onClick:()=>{s("chat.assistant"),n&&ct.capture("chat_opened",{db_type:n})},children:[(0,e.jsx)(ks,{className:"size-5"}),(0,e.jsx)("span",{"data-testid":"chat-status-indicator",className:T("absolute top-2 right-2 h-2 w-2 rounded-full ring-2 ring-background",y)})]})}),(0,e.jsx)(De,{side:"right",className:"text-xs",children:m?(0,e.jsxs)("p",{children:["AI Assistant · personal ",i," key"]}):!p&&!x?g>0?(0,e.jsxs)("p",{children:[g,"/",h," messages remaining"]}):(0,e.jsx)("p",{children:"AI Assistant"}):(0,e.jsx)("p",{children:"AI status unavailable"})})]}),a&&(0,e.jsx)(l.Suspense,{children:(0,e.jsx)(Wt,{})})]})},Yt={table:_s,runner:Ds,schema:zs,indexes:Ns,logs:$s,visualizer:Fs,browser:Ss},xe="relative flex size-12 shrink-0 items-center justify-center text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",fe=({label:s,children:t})=>(0,e.jsxs)(Re,{children:[(0,e.jsx)(_e,{asChild:!0,children:t}),(0,e.jsx)(De,{side:"right",children:(0,e.jsx)("p",{className:"capitalize",children:s})})]}),Xt=()=>{const{pathname:s}=se(),t=he({strict:!1}),a=Q(),r=s.split("/")[1]||"table",n=a?.dataModel==="key-value"?["browser","runner","logs"]:ot.filter(o=>(o!=="indexes"||a?.indexes)&&(o!=="logs"||a?.serverLogs)),i=t.table,c=Ee();return n.map(o=>{const u=Yt[o],m=(o==="table"||o==="schema"||o==="indexes")&&i,f=r===o;return(0,e.jsx)(fe,{label:o,children:(0,e.jsx)(Be,{to:m?`/${o}/$table`:`/${o}`,params:m?{table:i}:void 0,search:m?{[R.TABLE_SCHEMA]:c}:void 0,"aria-label":o,"aria-current":f?"page":void 0,className:T(xe,f&&"bg-muted text-foreground"),children:(0,e.jsx)(u,{className:"size-5"})})},o)})},Jt=()=>{const{sidebar:{isOpen:s},setSidebarOpen:t,setSidebarPinned:a}=Ie();return(0,e.jsx)(fe,{label:s?"Hide sidebar":"Show sidebar",children:(0,e.jsx)("button",{type:"button","aria-label":"Toggle sidebar",className:xe,onClick:()=>{t(!s),a(!s)},children:(0,e.jsx)(fs,{className:"size-5"})})})},$e=[{value:"light",label:"Light",icon:As},{value:"dark",label:"Dark",icon:ys},{value:"system",label:"System",icon:He}],Zt=()=>{const{theme:s,setTheme:t}=St(),a=$e.find(r=>r.value===s)?.icon??He;return(0,e.jsxs)(Ze,{children:[(0,e.jsx)(fe,{label:"More",children:(0,e.jsx)(Ye,{asChild:!0,children:(0,e.jsx)("button",{type:"button","aria-label":"More",className:xe,children:(0,e.jsx)(Ms,{className:"size-5"})})})}),(0,e.jsxs)(We,{side:"right",align:"end",sideOffset:8,className:"w-48",children:[(0,e.jsxs)(Ge,{children:[(0,e.jsxs)(Xe,{children:[(0,e.jsx)(a,{}),"Theme"]}),(0,e.jsx)(Je,{children:$e.map(({value:r,label:n,icon:i})=>(0,e.jsxs)(I,{onClick:()=>t(r),children:[(0,e.jsx)(i,{}),n,s===r&&(0,e.jsx)(bs,{className:"ml-auto"})]},r))})]}),(0,e.jsx)(Se,{}),(0,e.jsx)(I,{asChild:!0,children:(0,e.jsxs)("a",{href:Me.SITE_GITHUB_NEW_ISSUE_LINK,target:"_blank",rel:"noopener noreferrer",children:[(0,e.jsx)(ps,{}),"Report a bug"]})}),(0,e.jsx)(I,{asChild:!0,children:(0,e.jsxs)("a",{href:Me.SITE_GITHUB_LINK,target:"_blank",rel:"noopener noreferrer",children:[(0,e.jsx)(Ut,{}),"View on GitHub"]})})]})]})},Ke=()=>(0,e.jsx)("div",{className:"h-px w-full shrink-0 bg-border"}),ea=()=>{const{openOverlay:s}=J();return(0,e.jsxs)("nav",{"aria-label":"Main",className:"flex shrink-0 flex-col border-r border-border bg-background",style:{width:R.RAIL_WIDTH},children:[(0,e.jsx)(Jt,{}),(0,e.jsx)(Ke,{}),(0,e.jsx)(Xt,{}),(0,e.jsxs)("div",{className:"mt-auto flex flex-col",children:[(0,e.jsx)(Ke,{}),(0,e.jsx)(Gt,{}),(0,e.jsx)(fe,{label:"Settings",children:(0,e.jsx)("button",{type:"button","aria-label":"Open settings",className:xe,onClick:()=>s("settings.app"),children:(0,e.jsx)(Ps,{className:"size-5"})})}),(0,e.jsx)(Zt,{})]})]})};function rs({...s}){return(0,e.jsx)(Qs,{"data-slot":"context-menu",...s})}function ns({className:s,...t}){return(0,e.jsx)(Hs,{"data-slot":"context-menu-trigger",className:T("select-none",s),...t})}function ls({className:s,...t}){return(0,e.jsx)(qs,{children:(0,e.jsx)(Us,{"data-slot":"context-menu-content",className:T("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-context-menu-content-available-height) origin-(--radix-context-menu-content-transform-origin) overflow-x-hidden overflow-y-auto",s),...t})})}function $({className:s,inset:t,variant:a="default",...r}){return(0,e.jsx)(Bs,{"data-slot":"context-menu-item","data-inset":t,"data-variant":a,className:T("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-md px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/context-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",s),...r})}function Qe({className:s,...t}){return(0,e.jsx)(Ks,{"data-slot":"context-menu-separator",className:T("bg-border/50 -mx-1 my-1 h-px",s),...t})}var Ce=({folderId:s,isExpanded:t,onToggle:a,count:r,name:n,showContextMenu:i=!1})=>{const c=te(),{deleteFolder:o,getQueriesByFolder:u,addQuery:m,updateFolder:f}=me(),[p,x]=(0,l.useState)(!1),[g,h]=(0,l.useState)(""),[v,y]=(0,l.useState)(!1),b=(0,l.useCallback)(()=>{if(s){if(u(s).length>0){y(!0);return}o(s)}},[o,s,u]),w=(0,l.useCallback)(()=>{s&&(o(s),y(!1))},[o,s]),E=(0,l.useCallback)(()=>{const k=m(void 0,s);c({to:"/runner/$queryId",params:{queryId:k}})},[m,s,c]),d=(0,l.useCallback)(()=>{h(n),x(!0)},[n]),j=(0,l.useCallback)(()=>{s&&g.trim()&&(f(s,{name:g.trim()}),x(!1),h(""))},[s,g,f]);return(0,e.jsxs)(e.Fragment,{children:[i?(0,e.jsxs)(rs,{children:[(0,e.jsx)(ns,{asChild:!0,children:(0,e.jsxs)("button",{type:"button",onClick:a,className:T("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-sidebar-accent/50 hover:text-sidebar-foreground focus:outline-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground","text-sidebar-foreground/70 items-center"),children:[(0,e.jsx)(Ae,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(ee,{children:r})]})}),(0,e.jsxs)(ls,{children:[(0,e.jsxs)($,{onClick:E,children:[(0,e.jsx)(Z,{className:"size-4"}),"Add a new query"]}),(0,e.jsxs)($,{onClick:d,children:[(0,e.jsx)(ke,{className:"size-4"}),"Rename folder"]}),(0,e.jsxs)($,{onClick:b,children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete folder"]})]})]}):(0,e.jsxs)("button",{type:"button",onClick:a,className:T("w-full flex gap-2 px-4 py-2 text-sm transition-colors text-left","hover:bg-sidebar-accent/50 hover:text-sidebar-foreground focus:outline-none focus:bg-sidebar-accent focus:text-sidebar-accent-foreground","text-sidebar-foreground/70 items-center"),children:[(0,e.jsx)(Ae,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(ee,{children:r})]}),(0,e.jsx)(G,{open:p,onOpenChange:x,children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Rename Folder"}),(0,e.jsx)(W,{children:"Enter a new name for this folder."})]}),(0,e.jsx)(M,{value:g,onChange:k=>h(k.target.value),placeholder:"Folder name",onKeyDown:k=>{k.key==="Enter"&&j()},autoFocus:!0}),(0,e.jsxs)(X,{children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>{x(!1),h("")},children:"Cancel"}),(0,e.jsx)(S,{onClick:j,disabled:!g.trim(),children:"Rename"})]})]})}),(0,e.jsx)(ft,{open:v,onOpenChange:y,children:(0,e.jsxs)(xt,{children:[(0,e.jsxs)(mt,{children:[(0,e.jsx)(bt,{children:"Delete Folder"}),(0,e.jsxs)(vt,{children:["This folder contains ",r," ",r===1?"query":"queries",". Deleting this folder will also delete all queries inside it. This action cannot be undone."]})]}),(0,e.jsxs)(ht,{children:[(0,e.jsx)(ut,{children:"Cancel"}),(0,e.jsx)(pt,{onClick:w,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:"Delete Folder"})]})]})})]})},ce=({id:s,tableName:t,isNested:a=!1,showContextMenu:r=!0})=>{const n=te(),{deleteQuery:i,addQuery:c,getQuery:o,toggleFavorite:u,updateQuery:m,moveQuery:f,folders:p,addFolder:x}=me(),{queryId:g}=he({strict:!1}),h=g===s,v=o(s),y=v?.isFavorite??!1,[b,w]=(0,l.useState)(!1),[E,d]=(0,l.useState)(""),[j,k]=(0,l.useState)(!1),[V,A]=(0,l.useState)(void 0),[F,_]=(0,l.useState)(!1),[D,L]=(0,l.useState)(""),ie=(0,l.useCallback)(()=>{n({to:"/runner/$queryId",params:{queryId:s}})},[n,s]),be=(0,l.useCallback)(()=>{i(s),g===s&&n({to:"/runner"}),z.success("Query deleted successfully")},[i,s,n,g]),pe=(0,l.useCallback)(()=>{const C=o(s),os=c(`${C?.name} (Copy)`);n({to:"/runner/$queryId",params:{queryId:os}}),z.success("Query duplicated successfully")},[c,o,n,s]),ge=(0,l.useCallback)(()=>{u(s),z.success("Query favorited successfully")},[u,s]),ve=(0,l.useCallback)(()=>{d(v?.name??""),w(!0)},[v?.name]),N=(0,l.useCallback)(()=>{E.trim()&&(m(s,{name:E.trim()}),w(!1),d(""),z.success("Query renamed successfully"))},[s,E,m]),je=(0,l.useCallback)(()=>{A(v?.folderId),_(!1),L(""),k(!0)},[v?.folderId]),is=(0,l.useCallback)(C=>{C==="__create_new__"?(_(!0),A(void 0)):(_(!1),A(C==="__none__"?void 0:C))},[]),Oe=(0,l.useCallback)(()=>{if(F&&D.trim()){const C=Math.random().toString(36).substring(2,15);x({id:C,name:D.trim(),isExpanded:!0,isFavorite:!1}),f(s,C),z.success("Query moved to new folder successfully")}else F||(f(s,V),z.success("Query moved to selected folder successfully"));k(!1),_(!1),L(""),A(void 0)},[F,D,V,s,x,f]);return(0,e.jsxs)("li",{className:"relative",children:[r?(0,e.jsxs)(rs,{children:[(0,e.jsx)(ns,{asChild:!0,children:(0,e.jsxs)("button",{type:"button",onClick:ie,className:T("w-full flex gap-2 py-2 text-sm transition-colors text-left justify-start items-center focus:outline-none",h?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground",a?"px-4 pl-12":"px-4"),children:[h&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary"}),(0,e.jsx)("span",{className:"flex-1",children:t})]})}),(0,e.jsxs)(ls,{children:[(0,e.jsxs)($,{onClick:ve,children:[(0,e.jsx)(ke,{className:"size-4"}),"Rename query"]}),(0,e.jsxs)($,{onClick:pe,children:[(0,e.jsx)(Es,{className:"size-4"}),"Duplicate query"]}),(0,e.jsxs)($,{onClick:ge,children:[(0,e.jsx)(Rs,{className:y?"size-4 fill-current":"size-4"}),y?"Remove from favorites":"Add to favorites"]}),(0,e.jsx)(Qe,{}),(0,e.jsxs)($,{onClick:je,children:[(0,e.jsx)(ws,{className:"size-4"}),"Move to folder"]}),(0,e.jsx)(Qe,{}),(0,e.jsxs)($,{onClick:be,children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete query"]})]})]}):(0,e.jsxs)("button",{type:"button",onClick:ie,className:T("w-full flex gap-2 py-2 text-sm transition-colors text-left justify-start items-center focus:outline-none",h?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground",a?"px-4 pl-12":"px-4"),children:[h&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary"}),(0,e.jsx)("span",{className:"flex-1",children:t})]}),(0,e.jsx)(G,{open:b,onOpenChange:w,children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Rename Query"}),(0,e.jsx)(W,{children:"Enter a new name for this query."})]}),(0,e.jsx)(M,{value:E,onChange:C=>d(C.target.value),placeholder:"Query name",onKeyDown:C=>{C.key==="Enter"&&N()},autoFocus:!0}),(0,e.jsxs)(X,{children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>{w(!1),d("")},children:"Cancel"}),(0,e.jsx)(S,{onClick:N,disabled:!E.trim(),children:"Rename"})]})]})}),(0,e.jsx)(G,{open:j,onOpenChange:C=>{k(C),C||(_(!1),L(""),A(void 0))},children:(0,e.jsxs)(q,{children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Move to Folder"}),(0,e.jsx)(W,{children:"Select a folder to move this query to."})]}),(0,e.jsx)("div",{className:"space-y-4",children:F?(0,e.jsx)(M,{value:D,onChange:C=>L(C.target.value),placeholder:"Folder name",onKeyDown:C=>{C.key==="Enter"&&D.trim()&&Oe(),C.key==="Escape"&&(_(!1),L(""))},autoFocus:!0}):(0,e.jsxs)(le,{value:V??"__none__",onValueChange:is,children:[(0,e.jsx)(re,{className:"w-full",children:(0,e.jsx)(ae,{placeholder:"Select a folder"})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"__none__",children:"No folder"}),p.map(C=>(0,e.jsx)(P,{value:C.id,children:C.name},C.id)),(0,e.jsx)(P,{value:"__create_new__",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(Ue,{className:"size-4"}),"Create a new folder"]})})]})]})}),(0,e.jsxs)(X,{children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>{k(!1),_(!1),L(""),A(void 0)},children:"Cancel"}),(0,e.jsx)(S,{onClick:Oe,disabled:F&&!D.trim(),children:F?"Create & Move":"Move"})]})]})})]})},sa=()=>{const[s]=O(R.SIDEBAR_SEARCH,{defaultValue:""}),{folders:t,queries:a,getFavoriteQueries:r,getQueriesByFolder:n,toggleFolder:i}=me(),[c,o]=(0,l.useState)(!0),[u,m]=(0,l.useState)(!0),f=a.filter(h=>!h.isFavorite).length,p=r(),x=p.length,g=a.filter(h=>!h.folderId&&!h.isFavorite);if(s){const h=a.filter(v=>v.name.toLowerCase().includes(s.toLowerCase()));return h.length===0?(0,e.jsx)("div",{className:"flex-1 overflow-y-auto p-4",children:"No queries found matching"}):(0,e.jsx)("div",{className:"flex-1 overflow-y-auto",children:h.map(v=>(0,e.jsx)(ce,{id:v.id,tableName:v.name},v.id))})}return(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto",children:[(0,e.jsx)(Ce,{name:"Favorites",isExpanded:c,onToggle:()=>o(!c),count:x}),c&&p.map(h=>(0,e.jsx)(ce,{id:h.id,tableName:h.name},h.id)),(0,e.jsx)(Ct,{className:"bg-sidebar-border"}),(0,e.jsx)(Ce,{name:"Queries",isExpanded:u,onToggle:()=>m(!u),count:f}),u&&(0,e.jsxs)(e.Fragment,{children:[t.map(h=>{const v=n(h.id),y=v.length;return(0,e.jsxs)("div",{children:[(0,e.jsx)(Ce,{folderId:h.id,name:h.name,isExpanded:h.isExpanded,onToggle:()=>i(h.id),count:y,showContextMenu:!0}),h.isExpanded&&v.map(b=>(0,e.jsx)(ce,{id:b.id,tableName:b.name,isNested:!0,showContextMenu:!0},b.id))]},h.id)}),g.map(h=>(0,e.jsx)(ce,{id:h.id,tableName:h.name,showContextMenu:!0},h.id))]})]})},ta=()=>{const{addQuery:s,addFolder:t}=me(),a=te(),r=(0,l.useRef)(null),[n,i]=O(R.SIDEBAR_SEARCH,{defaultValue:""}),c=m=>{i(m.target.value)},o=()=>{const m=s();a({to:"/runner/$queryId",params:{queryId:m}})},u=()=>{const m=Math.random().toString(36).substring(2,15);t({id:m,name:"New Folder",isExpanded:!0,isFavorite:!1})};return(0,e.jsxs)("div",{className:"p-3 space-y-2 border-b border-sidebar-border",children:[(0,e.jsxs)("div",{className:"flex gap-2",children:[(0,e.jsxs)(S,{className:"flex-1 justify-start h-8",onClick:o,children:[(0,e.jsx)(Z,{className:"size-4"}),"Add Query"]}),(0,e.jsxs)(S,{className:"flex-1 justify-start h-8",onClick:u,children:[(0,e.jsx)(Ue,{className:"size-4"}),"Add Folder"]})]}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(M,{ref:r,placeholder:"Search queries",value:n??"",onChange:c,className:"rounded-sm h-8 pl-8 pr-8"}),(0,e.jsx)(ee,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]})]})},aa=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(ta,{}),(0,e.jsx)(sa,{})]}),ra=({tableName:s,schemaName:t})=>{const a=te(),r=he({strict:!1}),{pathname:n}=se(),i=Ee(),{copyTableSchema:c,isCopyingSchema:o}=Nt(),{exportFile:u,isExportingFile:m}=rt(),{deleteTable:f,forceDeleteTable:p,isDeletingTable:x}=lt(),{renameTable:g,isRenamingTable:h}=at({tableName:s,schemaName:t}),{openOverlay:v,closeOverlay:y,isOverlayOpen:b}=J(),{setEditingTable:w}=Gs(),E=Js(),[d,j]=(0,l.useState)(s),[k,V]=(0,l.useState)([]),A=t?`${t}.${s}`:s,F=`tables.rename-table.${A}`,_=`tables.delete-table.${A}`,D=`tables.force-delete-table.${A}`,L=N=>{N?(j(s),v(F)):y(F)},ie=async()=>{const N=d.trim();if(!(!N||N===s))try{if(await g({newTableName:N,schemaName:t}),L(!1),r.table===s&&i===t){const je=n.startsWith("/schema")?"/schema/$table":n.startsWith("/indexes")?"/indexes/$table":"/table/$table";a({to:je,params:{table:N},search:{[R.TABLE_SCHEMA]:t}})}}catch{}},be=()=>{navigator.clipboard.writeText(s),z.success("Table name copied to clipboard")},pe=async()=>{const N=await f(s,t);N.fkViolation?(V(N.relatedRecords),y(_),v(D)):(y(_),a({to:"/"}))},ge=async()=>{await p(s,t),y(D),a({to:"/"})},ve=()=>{y(D),V([])};return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(Ze,{children:[(0,e.jsx)(Ye,{asChild:!0,children:(0,e.jsx)(S,{variant:"ghost",size:"icon-sm",onClick:N=>{N.stopPropagation(),N.preventDefault()},onPointerDown:N=>{N.stopPropagation()},children:(0,e.jsx)(Os,{})})}),(0,e.jsx)(We,{className:"w-56",align:"start",children:(0,e.jsxs)(Xs,{children:[(0,e.jsxs)(I,{onClick:be,children:[(0,e.jsx)(Is,{className:"size-4"}),"Copy name"]}),(0,e.jsxs)(I,{onClick:()=>c(s,t),disabled:o,children:[(0,e.jsx)(xs,{className:"size-4"}),"Copy table schema"]}),(0,e.jsx)(Se,{}),(0,e.jsxs)(I,{onClick:()=>L(!0),children:[(0,e.jsx)(Ts,{className:"size-4"}),"Rename table"]}),!E&&(0,e.jsxs)(I,{onClick:()=>{w({tableName:s,schemaName:t}),v("schema.edit-table")},children:[(0,e.jsx)(ke,{className:"size-4"}),"Edit table"]}),(0,e.jsxs)(Ge,{children:[(0,e.jsxs)(Xe,{children:[(0,e.jsx)(Ls,{className:"size-4"}),"Export data"]}),(0,e.jsxs)(Je,{children:[(0,e.jsx)(I,{onClick:()=>u({tableName:s,schemaName:t,format:"csv"}),disabled:m,children:"Export as CSV"}),(0,e.jsx)(I,{onClick:()=>u({tableName:s,schemaName:t,format:"json"}),disabled:m,children:"Export as JSON"}),(0,e.jsx)(I,{onClick:()=>u({tableName:s,schemaName:t,format:"xlsx"}),disabled:m,children:"Export as Excel"})]})]}),(0,e.jsx)(Se,{}),(0,e.jsxs)(I,{variant:"destructive",onClick:()=>v(_),children:[(0,e.jsx)(Te,{className:"size-4"}),"Delete table"]})]})})]}),(0,e.jsx)(na,{tableName:s,newTableName:d,setNewTableName:j,isOpen:b(F),onOpenChange:L,onRename:ie,isRenaming:h}),(0,e.jsx)(la,{isOpen:b(_),onOpenChange:N=>{N||y(_)},tableName:s,onDelete:pe,isDeleting:x}),(0,e.jsx)(ia,{isOpen:b(D),onOpenChange:N=>{N||y(D)},tableName:s,relatedRecords:k,onForceDelete:ge,onCancel:ve,isDeleting:x})]})},na=({tableName:s,newTableName:t,setNewTableName:a,isOpen:r,onOpenChange:n,onRename:i,isRenaming:c})=>{const o=t.trim(),u=!o||o===s;return(0,e.jsx)(G,{open:r,onOpenChange:n,children:(0,e.jsxs)(q,{className:"max-w-md",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Rename Table"}),(0,e.jsx)(W,{children:"Update the table name while keeping all data and schema unchanged."})]}),(0,e.jsxs)("div",{className:"space-y-4",children:[(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(Fe,{htmlFor:"current-table-name",children:"Current name"}),(0,e.jsx)(M,{id:"current-table-name",value:s,readOnly:!0,disabled:!0})]}),(0,e.jsxs)("div",{className:"space-y-2",children:[(0,e.jsx)(Fe,{htmlFor:"new-table-name",children:"New name"}),(0,e.jsx)(M,{id:"new-table-name",value:t,onChange:m=>a(m.target.value),placeholder:"table_name",autoFocus:!0,disabled:c,onKeyDown:m=>{m.key==="Enter"&&!u&&!c&&i()}})]})]}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>n(!1),disabled:c,children:"Cancel"}),(0,e.jsx)(S,{onClick:i,disabled:u||c,children:c?"Renaming...":"Rename Table"})]})]})})},la=({isOpen:s,onOpenChange:t,tableName:a,onDelete:r,isDeleting:n})=>(0,e.jsx)(G,{open:s,onOpenChange:t,children:(0,e.jsxs)(q,{className:"max-w-md",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Delete Table"}),(0,e.jsxs)(W,{children:["Are you sure you want to delete the table"," ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',a,'"']}),"? This action cannot be undone and all data will be permanently lost."]})]}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>t(!1),disabled:n,children:"Cancel"}),(0,e.jsx)(S,{variant:"destructive",onClick:r,disabled:n,children:n?"Deleting...":"Delete Table"})]})]})}),ia=({isOpen:s,onOpenChange:t,tableName:a,relatedRecords:r,onForceDelete:n,onCancel:i,isDeleting:c})=>(0,e.jsx)(G,{open:s,onOpenChange:t,children:(0,e.jsxs)(q,{className:"max-w-xl! max-h-[calc(100vh-1rem)]!",children:[(0,e.jsxs)(U,{children:[(0,e.jsx)(Y,{children:"Cannot Delete - Foreign Key Constraint"}),(0,e.jsxs)(W,{children:["The table ",(0,e.jsxs)("span",{className:"font-semibold text-foreground",children:['"',a,'"']})," ","cannot be deleted because it is referenced by records in other tables. You can either cancel the operation or force delete, which will also delete all related records."]})]}),(0,e.jsx)("div",{className:"space-y-4 max-h-64 overflow-y-auto",children:r.map((o,u)=>(0,e.jsxs)("div",{className:"border border-border rounded-md p-3",children:[(0,e.jsxs)("div",{className:"font-medium text-sm mb-2",children:["Table: ",(0,e.jsx)("span",{className:"text-primary",children:o.tableName}),(0,e.jsxs)("span",{className:"text-muted-foreground ml-2",children:["(",o.records.length," record",o.records.length!==1?"s":"",")"]})]}),(0,e.jsxs)("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",o.columnName]}),(0,e.jsx)("div",{className:"bg-muted rounded p-2 text-xs overflow-x-auto",children:(0,e.jsxs)("pre",{className:"whitespace-pre-wrap",children:[JSON.stringify(o.records.slice(0,5),null,2),o.records.length>5&&(0,e.jsxs)("div",{className:"text-muted-foreground mt-2",children:["... and ",o.records.length-5," more"]})]})})]},`${o.tableName}-${o.columnName}-${u}`))}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(S,{variant:"outline",onClick:i,disabled:c,children:"Cancel"}),(0,e.jsx)(S,{variant:"destructive",onClick:n,disabled:c,children:c?"Deleting...":"Force Delete All"})]})]})}),oa=({tableName:s,rowCount:t,rowCountEstimated:a,schemaName:r})=>{const n=he({strict:!1}),{pathname:i}=se(),c=n.table,[o,u]=O(R.ACTIVE_TABLE),m=i.startsWith("/visualizer"),f=It({schemaName:r,tableName:s}),p=Ee(),x=m?o===f:c===s&&(p===void 0||p===r),g=i.startsWith("/schema")?"/schema/$table":i.startsWith("/indexes")?"/indexes/$table":"/table/$table",h=(0,e.jsxs)("span",{className:"flex-1 truncate",children:[r&&r!=="public"?`${r}.`:"",s]});return(0,e.jsxs)("li",{className:"relative group",children:[x&&(0,e.jsx)("span",{className:"absolute left-0 top-0 bottom-0 w-1 bg-primary z-10"}),(0,e.jsxs)("div",{className:T("w-full flex gap-0.5 pl-4 pr-2 py-1.5 text-sm transition-colors text-left justify-start items-center focus:outline-none",x?"text-sidebar-accent-foreground bg-sidebar-accent font-medium":"text-sidebar-foreground/70 hover:text-sidebar-foreground hover:bg-sidebar-accent/50 focus:bg-sidebar-accent focus:text-sidebar-accent-foreground"),children:[m?(0,e.jsx)("button",{type:"button",onClick:()=>{u(f)},className:"flex-1 flex items-center gap-1 min-w-0 text-left focus:outline-none",children:h}):(0,e.jsx)(Be,{to:g,params:{table:s},search:{[R.TABLE_SCHEMA]:r},className:"flex-1 flex items-center gap-1 min-w-0 focus:outline-none",children:h}),(0,e.jsxs)("div",{className:"flex items-center gap-1 h-5 shrink-0",children:[(0,e.jsx)("div",{className:T(x?"opacity-100":"opacity-0 group-hover:opacity-100 focus-within:opacity-100"),children:(0,e.jsx)(ra,{tableName:s,schemaName:r})}),(0,e.jsxs)(ee,{children:[a&&"~",t]})]})]})]})},ca=()=>{const[s]=O(R.SIDEBAR_SEARCH,{defaultValue:""}),[t,a]=O(R.ACTIVE_SCHEMA,{defaultValue:"all"}),r=Q(),{tablesList:n=[],isLoadingTablesList:i,errorTablesList:c}=es(),o=(0,l.useMemo)(()=>Array.from(new Set(n.reduce((f,p)=>(p.schemaName&&f.push(p.schemaName),f),[]))).sort(),[n]),u=(r?.schemaSelector??!1)&&o.length>1,m=n?.filter(f=>{const p=t==="all"||f.schemaName===t,x=f.tableName.toLowerCase().includes(s.toLowerCase());return p&&x});return(0,l.useEffect)(()=>{!u||t==="all"||o.includes(t)||a("all")},[o,t,a,u]),i?(0,e.jsx)("div",{className:"flex-1 h-full overflow-y-auto pb-3 flex items-center justify-center",children:(0,e.jsx)(Ws,{size:"size-6"})}):c?(0,e.jsxs)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:["Error: ",c.message]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3",children:m&&m.length>0?(0,e.jsx)("ul",{children:m?.map(f=>(0,e.jsx)(oa,{schemaName:f.schemaName,tableName:f.tableName,rowCount:f.rowCount,rowCountEstimated:f.rowCountEstimated},f.schemaName?`${f.schemaName}.${f.tableName}`:f.tableName))}):s?(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables found matching"}):(0,e.jsx)("div",{className:"flex-1 overflow-y-auto pb-3 h-full flex items-center justify-center",children:"No tables available"})}),(0,e.jsx)(Ys,{})]})},da=()=>{const s=(0,l.useRef)(null),[t,a]=O(R.SIDEBAR_SEARCH,{defaultValue:""}),{openOverlay:r}=J(),n=Q();return nt("/",i=>{i.preventDefault(),s.current&&s.current.focus()},{preventDefault:!0}),(0,e.jsx)("div",{className:"px-3 pb-3 pt-2 space-y-2",children:(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(M,{ref:s,variant:"outline",placeholder:"Search tables",value:t??"",onChange:i=>a(i.target.value.trim()),className:"rounded-sm h-8 pl-8 pr-8"}),(0,e.jsx)(ee,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]}),n?.dataModel!=="document"&&(0,e.jsx)(S,{size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>r("table-builder.create-table"),"aria-label":"Add table",children:(0,e.jsx)(Z,{className:"size-4"})})]})})},ua=()=>{const[s,t]=O(R.ACTIVE_SCHEMA,{defaultValue:"all"}),a=Q(),{tablesList:r=[]}=es(),n=(0,l.useMemo)(()=>Array.from(new Set(r.reduce((i,c)=>(c.schemaName&&i.push(c.schemaName),i),[]))).sort(),[r]);return(a?.schemaSelector??!1)&&n.length>1?(0,e.jsx)("div",{className:"px-3 pt-3",children:(0,e.jsxs)(le,{value:s,onValueChange:t,children:[(0,e.jsx)(re,{variant:"outline",className:"h-8! w-full justify-between rounded-sm",children:(0,e.jsx)(ae,{placeholder:"Select schema"})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"all",children:"All schemas"}),n.map(i=>(0,e.jsx)(P,{value:i,children:i},i))]})]})}):null},Ve=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(ua,{}),(0,e.jsx)(da,{}),(0,e.jsx)(yt,{className:"flex-1 overflow-y-auto pb-3 block h-full w-full",children:(0,e.jsx)(ca,{})})]});function ha(){const{databases:s,isLoadingDatabases:t,refetchDatabases:a,isRefetchingDatabases:r}=Tt(),{selectedDatabase:n,setSelectedDatabase:i}=ss(),c=Q(),o=te(),u=t||r,m=p=>{i(p),o({to:c?.dataModel==="key-value"?"/browser":"/table",search:{}})},f=async()=>{await a(),z.success("Databases refreshed")};return(0,e.jsxs)("div",{className:"mt-auto flex h-11 items-center gap-0.5 border-t border-sidebar-border bg-sidebar px-2 text-sidebar-foreground",children:[(0,e.jsx)(Et,{databasesCount:s?.length??0}),(0,e.jsx)("span",{"aria-hidden":!0,className:"text-xs text-muted-foreground/50",children:"/"}),(0,e.jsxs)(le,{value:n||"",onValueChange:m,children:[(0,e.jsx)(re,{variant:"outline","aria-label":"Database",disabled:u,className:"h-7 min-w-0 flex-1 border-0 px-2 font-mono shadow-none hover:bg-muted/60",children:(0,e.jsx)(ae,{placeholder:"Select database…"})}),(0,e.jsx)(ne,{children:s?.map(p=>(0,e.jsx)(P,{value:p.name,className:"font-mono text-xs",children:p.name},p.name))})]}),(0,e.jsxs)(Re,{children:[(0,e.jsx)(_e,{asChild:!0,children:(0,e.jsx)(S,{variant:"ghost",size:"icon-sm","aria-label":"Refresh databases",onClick:f,disabled:u,children:(0,e.jsx)(qe,{className:T(u&&"animate-spin")})})}),(0,e.jsx)(De,{children:"Refresh databases"})]})]})}var ma=({children:s})=>{const{sidebar:{width:t,isOpen:a,isPinned:r},setSidebarWidth:n,setSidebarOpen:i}=Ie(),c=(0,l.useRef)(!1),o=(0,l.useRef)(0),u=(0,l.useRef)(0),m=(0,l.useRef)(null),f=(0,l.useRef)(d=>{}),p=(0,l.useRef)(()=>{}),x=(0,l.useRef)(()=>{}),g=(0,l.useRef)(()=>{}),h=(0,l.useCallback)(d=>{c.current&&requestAnimationFrame(()=>{const j=d.clientX-o.current,k=u.current+j;n(k)})},[n]),v=(0,l.useCallback)(()=>{c.current=!1,Object.assign(document.body.style,{cursor:"",userSelect:""});const d=document.getElementById("resize-overlay");d&&d.remove()},[]),y=(0,l.useCallback)(d=>{d.preventDefault(),c.current=!0,o.current=d.clientX,u.current=t,Object.assign(document.body.style,{cursor:"col-resize",userSelect:"none"});const j=document.createElement("div");j.id="resize-overlay",j.style.cssText="position:fixed;inset:0;z-index:9999;cursor:col-resize;",document.body.appendChild(j)},[t]),b=(0,l.useCallback)(()=>{r||i(!0)},[r,i]),w=(0,l.useCallback)(()=>{r||i(!1)},[r,i]);f.current=h,p.current=v,x.current=b,g.current=w;const E=d=>{r||i(d)};return(0,l.useEffect)(()=>{const d=k=>f.current(k),j=()=>p.current();return document.addEventListener("mousemove",d),document.addEventListener("mouseup",j),()=>{document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",j)}},[]),(0,l.useEffect)(()=>{const d=m.current;if(!d)return;const j=()=>x.current(),k=()=>g.current();return d.addEventListener("mouseenter",j),d.addEventListener("mouseleave",k),()=>{d.removeEventListener("mouseenter",j),d.removeEventListener("mouseleave",k)}},[]),(0,e.jsxs)(et,{open:a,onOpenChange:E,modal:!1,children:[(0,e.jsx)(st,{className:"sr-only",children:"Open Sidebar"}),(0,e.jsx)(Zs,{ref:m,side:"left",showCloseButton:!1,isPinned:r,className:"sidebar-behind-rail bg-sidebar border-r border-sidebar-border text-sidebar-foreground p-0",style:{width:`${t}px`,left:`${R.RAIL_WIDTH}px`},onOpenAutoFocus:d=>d.preventDefault(),children:(0,e.jsxs)("div",{className:"relative h-full flex flex-col",children:[s,(0,e.jsx)("div",{role:"button",tabIndex:0,onMouseDown:y,className:T("absolute inset-y-0 -right-1.5 w-3 cursor-col-resize z-50 outline-none","after:absolute after:inset-y-0 after:left-1/2 after:w-px after:transition-colors","hover:after:bg-blue-400/70 active:after:bg-blue-400/70 focus-visible:after:bg-blue-400/70"),title:"Drag to resize sidebar"})]})})]})},xa=["string","hash","list","set","zset","stream"],K=At(""),fa=()=>{const{closeOverlay:s,isOverlayOpen:t}=J(),[a,r]=(0,l.useState)(K),[n,i]=(0,l.useState)("string"),[c,o]=(0,l.useState)(K),[u,m]=(0,l.useState)(K),[f,p]=(0,l.useState)("0"),[x,g]=(0,l.useState)(""),{createKey:h,isPending:v}=Ft(),y=t("redis-browser.create-key"),b=n==="hash"||n==="stream",w=a===null||c===null||b&&u===null,E=async()=>{const d=b?u:K;if(a===null||c===null||d===null)return;let j;switch(n){case"string":j={kind:"string",value:c};break;case"hash":j={kind:"hash",entries:[{field:c,value:d}]};break;case"list":j={kind:"list",entries:[c]};break;case"set":j={kind:"set",members:[c]};break;case"zset":j={kind:"zset",entries:[{member:c,score:Number(f)}]};break;case"stream":j={kind:"stream",id:"*",fields:[{field:c,value:d}]}}await h({key:a,type:n,value:j,ttlMs:x?Number(x)*1e3:null}),r(K),i("string"),o(K),m(K),p("0"),g(""),s("redis-browser.create-key")};return(0,e.jsxs)(tt,{title:"Create Redis key",description:"Creates the key atomically and never overwrites an existing key.",open:y,onOpenChange:d=>{d||s("redis-browser.create-key")},size:"sm:max-w-md!",headerClassName:"border-b border-border p-4",titleClassName:"text-sm font-medium",contentClassName:"space-y-4 px-4 py-4",children:[(0,e.jsxs)(Ot,{className:"gap-4",children:[(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-name",children:"Key"}),(0,e.jsx)(ye,{id:"redis-key-name",value:a,onChange:r,className:"h-8",placeholder:"cache:user:42"}),(0,e.jsx)(Le,{children:"Text, hexadecimal, and Base64 keys are supported."})]}),(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-type",children:"Type"}),(0,e.jsxs)(le,{value:n,onValueChange:d=>i(d),children:[(0,e.jsx)(re,{id:"redis-key-type",className:"h-8!",children:(0,e.jsx)(ae,{})}),(0,e.jsx)(ne,{children:xa.map(d=>(0,e.jsx)(P,{value:d,children:d},d))})]})]}),(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-first-value",children:n==="hash"||n==="stream"?"Initial field":n==="zset"?"Initial member":"Initial value"}),(0,e.jsx)(ye,{id:"redis-key-first-value",value:c,onChange:o})]}),(n==="hash"||n==="stream")&&(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-second-value",children:"Initial value"}),(0,e.jsx)(ye,{id:"redis-key-second-value",value:u,onChange:m})]}),n==="zset"&&(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-score",children:"Score"}),(0,e.jsx)(M,{id:"redis-key-score",type:"number",value:f,onChange:d=>p(d.target.value),className:"font-mono"})]}),(0,e.jsxs)(H,{children:[(0,e.jsx)(B,{htmlFor:"redis-key-ttl",children:"TTL in seconds"}),(0,e.jsx)(M,{id:"redis-key-ttl",type:"number",min:1,value:x,onChange:d=>g(d.target.value),placeholder:"Persistent",className:"font-mono h-8"}),(0,e.jsx)(Le,{children:"Leave empty to create a persistent key."})]})]}),(0,e.jsxs)("div",{className:"flex justify-end gap-2 border-t border-border pt-4",children:[(0,e.jsx)(S,{variant:"outline",onClick:()=>s("redis-browser.create-key"),children:"Cancel"}),(0,e.jsx)(S,{disabled:v||w,onClick:E,children:"Create key"})]})]})},ba=["string","hash","list","set","zset","stream"],pa={string:"STR",hash:"HASH",list:"LIST",set:"SET",zset:"ZSET",stream:"XSTR"},ga=s=>s===-1?"∞":s<0?"gone":s<1e3?`${s}ms`:s<6e4?`${Math.ceil(s/1e3)}s`:s<36e5?`${Math.ceil(s/6e4)}m`:`${Math.ceil(s/36e5)}h`,va=s=>s===null?"—":s<1024?`${s} B`:`${(s/1024).toFixed(1)} KiB`,ja=(s,t)=>t!==void 0?t||"(empty key)":`0x${Array.from(Lt(s),a=>a.toString(16).padStart(2,"0")).join("")}`,ya=()=>{const{openOverlay:s}=J(),[t,a]=O("key"),[r,n]=O("search",{defaultValue:""}),[i,c]=(0,l.useState)(r),[o,u]=O("type",{defaultValue:""}),[m,f]=O("glob",{defaultValue:"false"}),p=m==="true",x=Mt({search:i,type:o,exactPattern:p}),g=(0,l.useMemo)(()=>x.data?.pages.flatMap(b=>b.keys)??[],[x.data]),h=(0,l.useRef)(null),v=hs({count:g.length,getScrollElement:()=>h.current,estimateSize:()=>33,overscan:10}),y=v.getVirtualItems();return(0,l.useEffect)(()=>{const b=window.setTimeout(()=>c(r),250);return()=>window.clearTimeout(b)},[r]),(0,l.useEffect)(()=>{const b=y.at(-1);b&&b.index>=g.length-5&&x.hasNextPage&&!x.isFetchingNextPage&&x.fetchNextPage()},[y,g.length,x.hasNextPage,x.isFetchingNextPage,x.fetchNextPage]),(0,e.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col bg-background font-mono",children:[(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:"space-y-2 px-3 pb-3 pt-2",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,e.jsx)(we,{className:"absolute left-2 top-1/2 -translate-y-1/2 size-4 text-muted-foreground"}),(0,e.jsx)(M,{variant:"outline",value:r,onChange:b=>n(b.target.value),placeholder:p?"Redis glob pattern":"Find keys","aria-label":"Find Redis keys",className:"h-8 rounded-sm pl-8"})]}),(0,e.jsx)(S,{variant:"outline",size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>z.promise(x.refetch({throwOnError:!0}),{loading:"Refreshing Redis keys...",success:"Redis keys refreshed",error:"Failed to refresh Redis keys"}),disabled:x.isFetching,"aria-label":"Refresh Redis keys",children:(0,e.jsx)(qe,{className:T(x.isFetching&&"animate-spin")})}),(0,e.jsx)(S,{size:"icon-lg",className:"shrink-0 rounded-sm",onClick:()=>s("redis-browser.create-key"),"aria-label":"Create Redis key",children:(0,e.jsx)(Z,{})})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)(le,{value:o||"all",onValueChange:b=>u(b==="all"?"":b),children:[(0,e.jsx)(re,{variant:"outline","aria-label":"Filter Redis key type",className:"h-8! min-w-0 flex-1 justify-between rounded-sm",children:(0,e.jsx)(ae,{})}),(0,e.jsxs)(ne,{children:[(0,e.jsx)(P,{value:"all",children:"All types"}),ba.map(b=>(0,e.jsx)(P,{value:b,children:b},b))]})]}),(0,e.jsxs)(kt,{variant:"outline",size:"lg",pressed:p,onPressedChange:b=>f(b?"true":"false"),className:"shrink-0 rounded-sm px-2 text-xs/relaxed uppercase","aria-label":"Use Redis glob pattern",children:[(0,e.jsx)(Cs,{className:"size-4"})," Glob"]})]})]}),(0,e.jsxs)("div",{className:"flex h-6 items-center justify-between px-4 text-[9px] uppercase tracking-wider text-muted-foreground",children:[(0,e.jsxs)("span",{children:[g.length," loaded"]}),(0,e.jsx)("span",{children:x.dataUpdatedAt>0?new Date(x.dataUpdatedAt).toLocaleTimeString():"not scanned"})]})]}),(0,e.jsxs)("div",{ref:h,className:"min-h-0 flex-1 overflow-auto",children:[x.isLoading?(0,e.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground",children:"Scanning keyspace…"}):g.length===0?(0,e.jsxs)("div",{className:"flex min-h-32 flex-col items-center justify-center gap-2 px-4 text-center text-muted-foreground",children:[(0,e.jsx)(vs,{className:"size-4"}),(0,e.jsx)("span",{className:"text-xs",children:"No keys in this scan."}),(0,e.jsxs)(S,{variant:"outline",size:"sm",onClick:()=>s("redis-browser.create-key"),children:[(0,e.jsx)(Z,{})," Create key"]})]}):(0,e.jsx)("div",{className:"relative w-full",style:{height:`${v.getTotalSize()}px`},children:y.map(b=>{const w=g[b.index],E=w.key.base64||"-",d=ja(w.key.base64,w.key.utf8);return(0,e.jsxs)(S,{variant:"ghost",onClick:()=>a(E),className:T("absolute left-0 top-0 h-auto w-full justify-start gap-2 rounded-none px-4 py-1.5 text-sm font-normal transition-colors",t===E?"bg-sidebar-accent text-sidebar-accent-foreground font-medium before:absolute before:inset-y-0 before:left-0 before:w-1 before:bg-primary":"text-sidebar-foreground/70 hover:bg-sidebar-accent/50 hover:text-sidebar-foreground"),style:{transform:`translateY(${b.start}px)`},title:d,children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-current",children:d}),(0,e.jsx)(gt,{variant:"outline",className:"h-4 w-10 shrink-0 justify-center rounded-sm px-1 text-[8px] font-normal text-muted-foreground",children:pa[w.type]??"?"}),(0,e.jsxs)("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:[va(w.memoryBytes)," ·"," ",w.ttlMs===-1?(0,e.jsx)(gs,{className:"inline size-3 align-[-2px]","aria-label":"No expiry"}):ga(w.ttlMs)]})]},`${E}-${b.index}`)})}),x.isFetchingNextPage&&(0,e.jsx)("div",{className:"px-2 py-1 text-center text-[10px] text-muted-foreground",children:"Scanning more…"})]}),(0,e.jsx)(fa,{})]})},Ca=()=>{const{pathname:s}=se(),t=s.split("/")[1],a=Q()?.dataModel==="key-value",r=(0,l.useMemo)(()=>{if(a&&t!=="runner")return(0,e.jsx)(ya,{});switch(t){case"":case"table":case"schema":case"indexes":return(0,e.jsx)(Ve,{});case"runner":return(0,e.jsx)(aa,{});default:return(0,e.jsx)(Ve,{})}},[a,t]);return(0,e.jsxs)(ma,{children:[r,(0,e.jsx)(ha,{})]})},Ya=cs({component:()=>Sa});function Sa(){const s=Q(),t=s?.dataModel==="key-value",{pathname:a}=se(),r=a.split("/")[1],{sidebar:{isPinned:n,width:i}}=Ie();return t&&r!=="browser"&&r!=="runner"&&r!=="logs"?(0,e.jsx)(oe,{to:"/browser"}):!t&&r==="browser"?(0,e.jsx)(oe,{to:"/"}):s&&!s.indexes&&r==="indexes"?(0,e.jsx)(oe,{to:"/table"}):s&&!s.serverLogs&&r==="logs"?(0,e.jsx)(oe,{to:"/table"}):(0,e.jsxs)("div",{className:"bg-background text-foreground w-dvw flex h-dvh max-h-dvh overflow-hidden relative",children:[(0,e.jsx)(ea,{}),(0,e.jsx)(Ca,{}),(0,e.jsx)("div",{className:"rail-content relative flex-1 flex flex-col h-full overflow-hidden",style:{marginLeft:n?`${i}px`:"0"},children:(0,e.jsx)(us,{})})]})}export{Sa as component,zt as n,Ya as t};
@@ -1 +0,0 @@
1
- import{t}from"./react-DL_vU9Np.js";import{t as a}from"./middleware-DbgBRn8Y.js";(function(){try{var r=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};r.SENTRY_RELEASE={id:"db-studio@1.20.1"};var d=new r.Error().stack;d&&(r._sentryDebugIds=r._sentryDebugIds||{},r._sentryDebugIds[d]="02cd4303-bb98-4353-ac43-63b82c80950a",r._sentryDebugIdIdentifier="sentry-dbid-02cd4303-bb98-4353-ac43-63b82c80950a")}catch{}})();var b="(prefers-color-scheme: dark)";function n(r){return r==="system"?typeof window<"u"&&typeof window.matchMedia=="function"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":"dark":r}var u=[2,4,8],h=[12,14,16,18],f=t()(a((r,d)=>({sidebar:{width:400,isOpen:!0,isPinned:!0},runnerResults:{height:300},editor:{tabSize:2,fontSize:14,wordWrap:!0},theme:"dark",setTheme:e=>r({theme:e}),toggleTheme:()=>r({theme:n(d().theme)==="dark"?"light":"dark"}),setSidebarWidth:e=>r(i=>({sidebar:{...i.sidebar,width:Math.max(250,Math.min(500,e))}})),setSidebarOpen:e=>r(i=>({sidebar:{...i.sidebar,isOpen:e}})),setSidebarPinned:e=>r(i=>({sidebar:{...i.sidebar,isPinned:e}})),toggleSidebarOpen:()=>r(e=>({sidebar:{...e.sidebar,isOpen:!e.sidebar.isOpen}})),toggleSidebarPinned:()=>r(e=>({sidebar:{...e.sidebar,isPinned:!e.sidebar.isPinned}})),setRunnerResultsHeight:e=>r(i=>({runnerResults:{...i.runnerResults,height:Math.max(150,Math.min(800,e))}})),setTabSize:e=>r(i=>({editor:{...i.editor,tabSize:e}})),setEditorFontSize:e=>r(i=>({editor:{...i.editor,fontSize:e}})),setEditorWordWrap:e=>r(i=>({editor:{...i.editor,wordWrap:e}}))}),{name:"db-studio-personal-preferences"}));export{b as i,u as n,f as r,h as t};