db-studio 2.0.0 → 2.0.1

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/README.md +1 -1
  2. package/dist/index.js +22 -22
  3. package/dist/index.js.map +1 -1
  4. package/dist/web-dist/assets/{_pathlessLayout-BQk5gSGn.js → _pathlessLayout-aKKQKRJX.js} +1 -1
  5. package/dist/web-dist/assets/_pathlessLayout-s6cwJxH6.js +2 -0
  6. package/dist/web-dist/assets/{_queryId-Buy3oA5p.js → _queryId-DnPgn-AJ.js} +1 -1
  7. package/dist/web-dist/assets/{_table-CQ2NX0I8.js → _table-Bgt0zJ9m.js} +1 -1
  8. package/dist/web-dist/assets/{_table-BnMBHUzk.js → _table-CU8PHZQE.js} +1 -1
  9. package/dist/web-dist/assets/{_table-CE0TjrEn.js → _table-DIbpzW3q.js} +1 -1
  10. package/dist/web-dist/assets/{abap-B7CMCXo3.js → abap-DQayJW6v.js} +1 -1
  11. package/dist/web-dist/assets/{apex-D6pniLV0.js → apex-Djzlm7in.js} +1 -1
  12. package/dist/web-dist/assets/{azcli-DayXln6N.js → azcli-Bbikkqe4.js} +1 -1
  13. package/dist/web-dist/assets/{badge-BIuMcm7O.js → badge-HtbO9hWg.js} +1 -1
  14. package/dist/web-dist/assets/{bat-knBi4IWo.js → bat-BUFda2RT.js} +1 -1
  15. package/dist/web-dist/assets/{bicep-CqySwd8I.js → bicep-CuUgDHWX.js} +1 -1
  16. package/dist/web-dist/assets/{browser-DQEdJbyz.js → browser-B6gU7HWo.js} +1 -1
  17. package/dist/web-dist/assets/{bundle-mjs-qYDTi1yn.js → bundle-mjs-DEMZsBkP.js} +1 -1
  18. package/dist/web-dist/assets/{cameligo-D1w-uj2C.js → cameligo-DITobApP.js} +1 -1
  19. package/dist/web-dist/assets/{chat-sidebar-CApWlRXq.js → chat-sidebar-Cr2fVFDF.js} +4 -4
  20. package/dist/web-dist/assets/{clojure-D7bkK2B8.js → clojure-DTFcSI8F.js} +1 -1
  21. package/dist/web-dist/assets/{code-editor-Dwq67W-h.js → code-editor-BpsclD2u.js} +1 -1
  22. package/dist/web-dist/assets/{coffee-Dpij46Wn.js → coffee-CmIRg0oP.js} +1 -1
  23. package/dist/web-dist/assets/{connect-B0x9CNlf.js → connect-BM4hZPnz.js} +1 -1
  24. package/dist/web-dist/assets/{constants-BFCsZ8ll.js → constants-BBxXyYPa.js} +3 -3
  25. package/dist/web-dist/assets/{cpp-DWDORc6B.js → cpp-BwBWpZT1.js} +1 -1
  26. package/dist/web-dist/assets/{csharp-FpOMvD_o.js → csharp-BnWK75m3.js} +1 -1
  27. package/dist/web-dist/assets/{csp-4WiITR2R.js → csp-Dohj3XYI.js} +1 -1
  28. package/dist/web-dist/assets/{css-DMOWqvgH.js → css-DN4GbnxY.js} +1 -1
  29. package/dist/web-dist/assets/{cssMode-DHL98brF.js → cssMode-CiAtMuTk.js} +1 -1
  30. package/dist/web-dist/assets/{cypher-Byev8hZE.js → cypher-CKAK8eD4.js} +1 -1
  31. package/dist/web-dist/assets/{dart--T4f3SxI.js → dart-imWXBTLy.js} +1 -1
  32. package/dist/web-dist/assets/{database.store-BAbH5Geu.js → database.store-73Wsz2L5.js} +10 -10
  33. package/dist/web-dist/assets/{dist-D4lNl-zm.js → dist-D4HUXaJv.js} +1 -1
  34. package/dist/web-dist/assets/{dist-C_AEsM_Y.js → dist-DwRWhVwY.js} +1 -1
  35. package/dist/web-dist/assets/{dockerfile-CTL_qQGw.js → dockerfile-CXOK4zpC.js} +1 -1
  36. package/dist/web-dist/assets/{ecl-D2-VZ5jm.js → ecl-lOrW9o9k.js} +1 -1
  37. package/dist/web-dist/assets/{editor.api-DaW7cLxE.js → editor.api-DSevzNN8.js} +1 -1
  38. package/dist/web-dist/assets/{elixir-C__1cTub.js → elixir-DgvzEwPU.js} +1 -1
  39. package/dist/web-dist/assets/{esm-DHRCgDAS.js → esm-DC8GK2En.js} +1 -1
  40. package/dist/web-dist/assets/{flow9-U08FhG_o.js → flow9-l3BJy5NQ.js} +1 -1
  41. package/dist/web-dist/assets/{format-cell-value-BDXXdObX.js → format-cell-value-CuhjnBNV.js} +1 -1
  42. package/dist/web-dist/assets/{freemarker2-EL1xRRz-.js → freemarker2-73G2DeCz.js} +1 -1
  43. package/dist/web-dist/assets/{fsharp-BYeUdvUi.js → fsharp-sfou20I_.js} +1 -1
  44. package/dist/web-dist/assets/{go-D7V_ae37.js → go-DnjkNg4Q.js} +1 -1
  45. package/dist/web-dist/assets/{graphql-C-zVsbUk.js → graphql-BJFXvNDL.js} +1 -1
  46. package/dist/web-dist/assets/{handlebars-BgZpkJkF.js → handlebars-DXg2L0KG.js} +1 -1
  47. package/dist/web-dist/assets/{hcl-B7_QCGTQ.js → hcl-B4FYtDde.js} +1 -1
  48. package/dist/web-dist/assets/{highlighted-body-OFNGDK62-D8XE2uMh.js → highlighted-body-OFNGDK62-Bi4CQl8I.js} +1 -1
  49. package/dist/web-dist/assets/{html-e4Xrzf8r.js → html-BvAUQUXw.js} +1 -1
  50. package/dist/web-dist/assets/{htmlMode-B6WabTqV.js → htmlMode-hZ3EloXT.js} +1 -1
  51. package/dist/web-dist/assets/{icons-D72QQyd5.js → icons-CheF8KGp.js} +1 -1
  52. package/dist/web-dist/assets/{index-DlECfzV9.js → index-YCx2RIFq.js} +4 -4
  53. package/dist/web-dist/assets/{indexes-BBz0Je_a.js → indexes-BYqaS45O.js} +1 -1
  54. package/dist/web-dist/assets/{ini-B8RMyZP2.js → ini-H3EW14Oa.js} +1 -1
  55. package/dist/web-dist/assets/{java-B0bzjGsf.js → java-Cu5qHMXc.js} +1 -1
  56. package/dist/web-dist/assets/{javascript-BSAFurIc.js → javascript-bJHYh6Or.js} +1 -1
  57. package/dist/web-dist/assets/{json-editor-DoEopjNh.js → json-editor-ZcSS1MRc.js} +1 -1
  58. package/dist/web-dist/assets/{jsonMode-CMXGrtoZ.js → jsonMode-CDMOUPss.js} +1 -1
  59. package/dist/web-dist/assets/{julia-Bg58EZ4Y.js → julia-CZ0npMib.js} +1 -1
  60. package/dist/web-dist/assets/{keys-6E3ilH7R.js → keys-By5o7bPm.js} +1 -1
  61. package/dist/web-dist/assets/{kotlin-DW9Z0gYb.js → kotlin-BpW0qHIt.js} +1 -1
  62. package/dist/web-dist/assets/{label-Dcwj4aRe.js → label-C93T1BbF.js} +1 -1
  63. package/dist/web-dist/assets/{less-Bx9gqQ4s.js → less-DTBM-Kxp.js} +1 -1
  64. package/dist/web-dist/assets/{lexon-CSuDDXgE.js → lexon-CLOvNp8v.js} +1 -1
  65. package/dist/web-dist/assets/{liquid-BmNDruwv.js → liquid-IpfBCIUY.js} +1 -1
  66. package/dist/web-dist/assets/{logs-BgfXuAGG.js → logs-CnLvqVtL.js} +1 -1
  67. package/dist/web-dist/assets/{lspLanguageFeatures-CvWt81ki.js → lspLanguageFeatures-CnYZSn_O.js} +1 -1
  68. package/dist/web-dist/assets/{lua-CyCE05f5.js → lua-BERpVknn.js} +1 -1
  69. package/dist/web-dist/assets/{m3-B4TowLdg.js → m3-B_gILjHh.js} +1 -1
  70. package/dist/web-dist/assets/{markdown-DUAXYKYX.js → markdown-DamaZSqy.js} +1 -1
  71. package/dist/web-dist/assets/{mdx-DWKx4rlR.js → mdx-BTw_ghf-.js} +1 -1
  72. package/dist/web-dist/assets/{mermaid-GHXKKRXX-Ci1jaQj_.js → mermaid-GHXKKRXX-B7fOqMvZ.js} +1 -1
  73. package/dist/web-dist/assets/{middleware-YebY3a0i.js → middleware-DKaxoFZs.js} +1 -1
  74. package/dist/web-dist/assets/{mips-B8pYMMky.js → mips-BkjI-_01.js} +1 -1
  75. package/dist/web-dist/assets/{module-BfdI0fnl.js → module-BbdCXsK0.js} +1 -1
  76. package/dist/web-dist/assets/{monaco-theme-C8nJMjlg.js → monaco-theme-DkPj5STI.js} +4 -4
  77. package/dist/web-dist/assets/{msdax-Dl7lqaqA.js → msdax-5OSOIuww.js} +1 -1
  78. package/dist/web-dist/assets/{mysql-CxF1irIT.js → mysql-CMtxQW5J.js} +1 -1
  79. package/dist/web-dist/assets/{objective-c-nxQNwVWR.js → objective-c-CoW52So-.js} +1 -1
  80. package/dist/web-dist/assets/{overlay.store-D93IGU3a.js → overlay.store-BL-3zX6X.js} +1 -1
  81. package/dist/web-dist/assets/{pascal-CJDb1n8F.js → pascal-BxyU4sPJ.js} +1 -1
  82. package/dist/web-dist/assets/{pascaligo-DNMesjCc.js → pascaligo-C63_040U.js} +1 -1
  83. package/dist/web-dist/assets/{perl-Ct14C4yC.js → perl-ayfptt23.js} +1 -1
  84. package/dist/web-dist/assets/{personal-preferences.store-BXE0mRKp.js → personal-preferences.store-BIr71Re8.js} +1 -1
  85. package/dist/web-dist/assets/{pgsql-B2EenuF0.js → pgsql-CPGqMVI3.js} +1 -1
  86. package/dist/web-dist/assets/{php-D953oiSq.js → php-DA-YJ6wI.js} +1 -1
  87. package/dist/web-dist/assets/{pla-DTXlQw1d.js → pla-DesDCKWW.js} +1 -1
  88. package/dist/web-dist/assets/{postiats-JN8Ouz04.js → postiats-B8yhii_n.js} +1 -1
  89. package/dist/web-dist/assets/{powerquery-5V8-uvAS.js → powerquery-CG8tCOct.js} +1 -1
  90. package/dist/web-dist/assets/{powershell-CB8eXyFq.js → powershell-C68aZHza.js} +1 -1
  91. package/dist/web-dist/assets/{preload-helper-B3GI5Aqe.js → preload-helper-DZhPwQp1.js} +1 -1
  92. package/dist/web-dist/assets/{protobuf-B9TJJ9C4.js → protobuf-OaVxpJrs.js} +1 -1
  93. package/dist/web-dist/assets/{pug-Bm8fNuV-.js → pug-0lOSC2rA.js} +1 -1
  94. package/dist/web-dist/assets/{python-C5yAejbi.js → python-C8ab8TeJ.js} +1 -1
  95. package/dist/web-dist/assets/{qsharp-R8gbdykE.js → qsharp-BmHeDwNl.js} +1 -1
  96. package/dist/web-dist/assets/{queries.store-Qbtkt7ze.js → queries.store-Dwdw-Gej.js} +1 -1
  97. package/dist/web-dist/assets/{query-runner-DwuQkpxh.js → query-runner-C430BH5I.js} +3 -3
  98. package/dist/web-dist/assets/{r-M-_jtR31.js → r-DoHxhOJg.js} +1 -1
  99. package/dist/web-dist/assets/{radix-ui-41WpuKNR.js → radix-ui-ByvuE8TW.js} +1 -1
  100. package/dist/web-dist/assets/{razor-C1QqRako.js → razor-DynaHCXX.js} +1 -1
  101. package/dist/web-dist/assets/{react-46S5qMHL.js → react-CKF1H7h0.js} +1 -1
  102. package/dist/web-dist/assets/{react-dom-BmawA5F6.js → react-dom-DQQG0g0D.js} +1 -1
  103. package/dist/web-dist/assets/{redis-Se45CWCe.js → redis-CSL-jfR-.js} +1 -1
  104. package/dist/web-dist/assets/{redis-value-DG_0UKZy.js → redis-value-Bf0tOet0.js} +1 -1
  105. package/dist/web-dist/assets/{redshift-6LxiBjWf.js → redshift-Cb-LWZ8f.js} +1 -1
  106. package/dist/web-dist/assets/{restructuredtext-DQZZ8qkw.js → restructuredtext-DTqnvYsu.js} +1 -1
  107. package/dist/web-dist/assets/{rolldown-runtime-CpVMLIgb.js → rolldown-runtime-0wqQW3ea.js} +1 -1
  108. package/dist/web-dist/assets/{ruby-CCIHgGuA.js → ruby-DbgDuslH.js} +1 -1
  109. package/dist/web-dist/assets/{runner-DOkX5y17.js → runner-DFzqBXp0.js} +1 -1
  110. package/dist/web-dist/assets/{rust-DE79jE85.js → rust-CWzrsIL_.js} +1 -1
  111. package/dist/web-dist/assets/{sb-vTusoyll.js → sb-BghszYt-.js} +1 -1
  112. package/dist/web-dist/assets/{scala-BfDNOQ4o.js → scala-Cw9RU1Qz.js} +1 -1
  113. package/dist/web-dist/assets/schema-B_EtHxTf.js +1 -0
  114. package/dist/web-dist/assets/{schema-CgNnxiB7.js → schema-iTfBKwXl.js} +1 -1
  115. package/dist/web-dist/assets/{scheme-07Nz-Ikg.js → scheme-DeYmvmAH.js} +1 -1
  116. package/dist/web-dist/assets/{scss-C2T-BIyo.js → scss-D_S6B2H1.js} +1 -1
  117. package/dist/web-dist/assets/{select-DzeVPveq.js → select-DU0HoKZ4.js} +1 -1
  118. package/dist/web-dist/assets/{separator-3IoeVup6.js → separator-CZgXYjVQ.js} +1 -1
  119. package/dist/web-dist/assets/{sheet-sidebar-Bne7asEZ.js → sheet-sidebar-KvxY47ZZ.js} +1 -1
  120. package/dist/web-dist/assets/{shell-CYk99G96.js → shell-B59ItoUV.js} +1 -1
  121. package/dist/web-dist/assets/{solidity-DZfw6XST.js → solidity-De0h6YhL.js} +1 -1
  122. package/dist/web-dist/assets/{sophia-9ELY8Wd6.js → sophia-DWmKHYE0.js} +1 -1
  123. package/dist/web-dist/assets/{sparql-DBCoTLhO.js → sparql-0sKQlAae.js} +1 -1
  124. package/dist/web-dist/assets/{spinner-Z77kD_hS.js → spinner-FJ-tXoFX.js} +1 -1
  125. package/dist/web-dist/assets/{sql-DSSHZrVP.js → sql-Cafrv7gm.js} +1 -1
  126. package/dist/web-dist/assets/{st-9goatbhG.js → st-qkFqcB41.js} +1 -1
  127. package/dist/web-dist/assets/{swift-C8IWUoth.js → swift-CDPKFfVs.js} +1 -1
  128. package/dist/web-dist/assets/{systemverilog-DFmMGPsp.js → systemverilog-rjtBmhAJ.js} +1 -1
  129. package/dist/web-dist/assets/{table-Cwbi0FDw.js → table-DmoKTp5U.js} +1 -1
  130. package/dist/web-dist/assets/{tables-BPh2zM7Q.js → tables-By-PTDwU.js} +4 -4
  131. package/dist/web-dist/assets/{tanstack-BE6ru2gB.js → tanstack-Cb7WFPRi.js} +1 -1
  132. package/dist/web-dist/assets/{tcl-9sp6ieFk.js → tcl-C0NrUCCP.js} +1 -1
  133. package/dist/web-dist/assets/{tsMode-BjCfzjtF.js → tsMode-C2yuf0pi.js} +1 -1
  134. package/dist/web-dist/assets/{twig-PTQx-ucO.js → twig-RBrBABOf.js} +1 -1
  135. package/dist/web-dist/assets/{typescript-BGXEvFAl.js → typescript-DWkZjHjp.js} +1 -1
  136. package/dist/web-dist/assets/{typespec-k1Hrq-4g.js → typespec-DfQiGud4.js} +1 -1
  137. package/dist/web-dist/assets/{use-database-engine-CKCp55rb.js → use-database-engine-Mwmv8X7V.js} +1 -1
  138. package/dist/web-dist/assets/{use-theme-CLKCtULg.js → use-theme-BLw5dtZV.js} +1 -1
  139. package/dist/web-dist/assets/{utils-Cr2_fSDl.js → utils-awMbhLwX.js} +1 -1
  140. package/dist/web-dist/assets/{vb-BBuEtOk5.js → vb-BslxQW9i.js} +1 -1
  141. package/dist/web-dist/assets/{visualizer-XPaDmMrd.js → visualizer-LoD_yU5U.js} +1 -1
  142. package/dist/web-dist/assets/{vscode-jtB6jKBB.js → vscode-Ba8jYSS7.js} +1 -1
  143. package/dist/web-dist/assets/{wgsl-MO-DpoEc.js → wgsl-Bq67ZIFU.js} +1 -1
  144. package/dist/web-dist/assets/{workers-7JruDoqH.js → workers-rMl5Xrk2.js} +1 -1
  145. package/dist/web-dist/assets/{xml-C0nHIB7q.js → xml-PfDqoe6w.js} +1 -1
  146. package/dist/web-dist/assets/{yaml-CN9StMra.js → yaml-CIuY3cB5.js} +1 -1
  147. package/dist/web-dist/index.html +30 -30
  148. package/package.json +2 -3
  149. package/dist/web-dist/assets/_pathlessLayout-WF7WipqP.js +0 -2
  150. package/dist/web-dist/assets/schema-B8WxzFU1.js +0 -1
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chat-sidebar-CApWlRXq.js","assets/rolldown-runtime-CpVMLIgb.js","assets/icons-D72QQyd5.js","assets/radix-ui-41WpuKNR.js","assets/bundle-mjs-qYDTi1yn.js","assets/utils-Cr2_fSDl.js","assets/overlay.store-D93IGU3a.js","assets/react-46S5qMHL.js","assets/sheet-sidebar-Bne7asEZ.js","assets/label-Dcwj4aRe.js","assets/constants-BFCsZ8ll.js","assets/database.store-BAbH5Geu.js","assets/preload-helper-B3GI5Aqe.js","assets/separator-3IoeVup6.js","assets/index-DlECfzV9.js","assets/tanstack-BE6ru2gB.js","assets/react-dom-BmawA5F6.js","assets/dist-D4lNl-zm.js","assets/spinner-Z77kD_hS.js","assets/dist-C_AEsM_Y.js","assets/schema-B8WxzFU1.js","assets/badge-BIuMcm7O.js","assets/use-database-engine-CKCp55rb.js","assets/keys-6E3ilH7R.js","assets/format-cell-value-BDXXdObX.js","assets/tables-BPh2zM7Q.js","assets/select-DzeVPveq.js","assets/middleware-YebY3a0i.js","assets/personal-preferences.store-BXE0mRKp.js","assets/vscode-jtB6jKBB.js","assets/use-theme-CLKCtULg.js","assets/index-mbFBVmHb.css"])))=>i.map(i=>d[i]);
2
- import{n as cs,r as ds}from"./rolldown-runtime-CpVMLIgb.js";import{_ as oe,b as he,f as us,g as He,n as hs,s as J,v as te,w as ms}from"./tanstack-BE6ru2gB.js";import{$ as xs,A as fs,Ct as bs,E as ee,Et as ps,G as gs,H as vs,It as js,N as ys,Ot as Cs,P as Ve,Q as Ss,R as Ns,T as qe,X as ws,Z as Ue,_ as ks,a as Ts,b as Ne,bt as Fe,ct as Es,f as _s,g as Ds,k as we,m as Rs,mt as Is,nt as Os,p as Fs,r as As,rt as Ls,s as ke,tt as Ms,ut as zs,v as Ps,x as $s}from"./icons-D72QQyd5.js";import{a as Ks,i as Qs,jt as Bs,n as Hs,o as Vs,r as qs,t as Us}from"./radix-ui-41WpuKNR.js";import{n as z}from"./dist-D4lNl-zm.js";import{t as T}from"./utils-Cr2_fSDl.js";import{t as Ws}from"./spinner-Z77kD_hS.js";import{a as Te,c as Ee,n as S,o as _e,t as Z}from"./overlay.store-D93IGU3a.js";import{n as L}from"./dist-C_AEsM_Y.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 Ce,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 R,v as De}from"./schema-B8WxzFU1.js";import{n as M,t as Ae}from"./label-Dcwj4aRe.js";import{i as Zs,n as et,s as st,t as tt}from"./sheet-sidebar-Bne7asEZ.js";import{c as at,d as se,l as rt,r as nt,s as es,u as lt}from"./tables-BPh2zM7Q.js";import{B as it,r as ot,t as I}from"./constants-BFCsZ8ll.js";import{i as ct,t as ss}from"./database.store-BAbH5Geu.js";import{t as dt}from"./preload-helper-B3GI5Aqe.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-BIuMcm7O.js";import{a as ae,i as re,n as ne,r as P,t as le}from"./select-DzeVPveq.js";import{t as Q}from"./use-database-engine-CKCp55rb.js";import{t as jt}from"./keys-6E3ilH7R.js";import{r as yt,t as Ct}from"./separator-3IoeVup6.js";import{r as Re}from"./personal-preferences.store-BXE0mRKp.js";import{t as St}from"./use-theme-CLKCtULg.js";import{S as Nt,a as wt,b as kt,c as Tt,g as Et,h as _t,l as Dt,p as Rt,u as It,v as H,x as V,y as Le}from"./index-DlECfzV9.js";import{t as me}from"./queries.store-Qbtkt7ze.js";import{i as Ot,n as je,o as Ft,r as At,s as Lt}from"./redis-value-DG_0UKZy.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@2.0.0"};var t=new s.Error().stack;t&&(s._sentryDebugIds=s._sentryDebugIds||{},s._sentryDebugIds[t]="fb88fa8d-d095-48bc-86d6-0f9c741db753",s._sentryDebugIdIdentifier="sentry-dbid-fb88fa8d-d095-48bc-86d6-0f9c741db753")}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),Mt=({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),zt=["attr","size","title"];function Pt(s,t){if(s==null)return{};var a,r,n=$t(s,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(s);for(r=0;r<o.length;r++)a=o[r],t.indexOf(a)===-1&&{}.propertyIsEnumerable.call(s,a)&&(n[a]=s[a])}return n}function $t(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){Kt(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 Kt(s,t,a){return(t=Qt(t))in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function Qt(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(Vt,de({attr:ue({},s.attr)},t),as(s.child))}function Vt(s){var t=a=>{var{attr:r,size:n,title:o}=s,c=Pt(s,zt),i=n||a.size||"1em",d;return a.className&&(d=a.className),s.className&&(d=(d?d+" ":"")+s.className),l.createElement("svg",de({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},a.attr,r,c,{className:d,style:ue(ue({color:s.color||a.color},a.style),s.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),o&&l.createElement("title",null,o),s.children)};return ze!==void 0?l.createElement(ze.Consumer,null,a=>t(a)):t(ts)}function qt(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=Bs(),Se=()=>dt(()=>import("./chat-sidebar-CApWlRXq.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])),Ut=(0,l.lazy)(()=>Se().then(s=>({default:s.ChatSidebar}))),Wt=()=>{const{openOverlay:s,isOverlayOpen:t}=Z(),[a,r]=(0,l.useState)(!1);t("chat.assistant")&&!a&&r(!0);const{dbType:n}=ss(),{provider:o}=Dt(),c=It(Rt),i=wt(),d=c.status[o],h=d?.state==="set"||d?.state==="locked",{rateLimit:g,isLoadingRateLimit:m,errorRateLimit:f}=Mt({enabled:i&&o==="gemini"&&!h}),{remaining:p=0,limit:x=0}=g??{remaining:0,limit:0},y=h?"bg-emerald-500":m||f?"bg-zinc-500":o!=="gemini"||p===0?"bg-red-500":p<=5?"bg-yellow-500":"bg-emerald-500";return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(Te,{children:[(0,e.jsx)(Ee,{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:Se,onFocus:Se,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)(_e,{side:"right",className:"text-xs",children:h?(0,e.jsxs)("p",{children:["AI Assistant · personal ",o," key"]}):!m&&!f?p>0?(0,e.jsxs)("p",{children:[p,"/",x," 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)(Ut,{})})]})},Gt={table:_s,runner:Ds,schema:zs,indexes:Ns,logs:$s,visualizer:As,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",Ie=({label:s,children:t})=>(0,e.jsxs)(Te,{children:[(0,e.jsx)(Ee,{asChild:!0,children:t}),(0,e.jsx)(_e,{side:"right",children:(0,e.jsx)("p",{className:"capitalize",children:s})})]}),Yt=()=>{const{pathname:s}=J(),t=he({strict:!1}),a=Q(),r=s.split("/")[1]||"table",n=a?.dataModel==="key-value"?["browser","runner","logs"]:ot.filter(i=>(i!=="indexes"||a?.indexes)&&(i!=="logs"||a?.serverLogs)),o=t.table,c=De();return n.map(i=>{const d=Gt[i],h=(i==="table"||i==="schema"||i==="indexes")&&o,g=r===i;return(0,e.jsx)(Ie,{label:i,children:(0,e.jsx)(He,{to:h?`/${i}/$table`:`/${i}`,params:h?{table:o}:void 0,search:h?{[I.TABLE_SCHEMA]:c}:void 0,"aria-label":i,"aria-current":g?"page":void 0,className:T(xe,g&&"bg-muted text-foreground"),children:(0,e.jsx)(d,{className:"size-5"})})},i)})},Xt=()=>{const{sidebar:{isOpen:s},setSidebarOpen:t,setSidebarPinned:a}=Re();return(0,e.jsx)(Ie,{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:Fs},{value:"dark",label:"Dark",icon:ys},{value:"system",label:"System",icon:Ve}],Jt=()=>{const{theme:s,setTheme:t}=St(),a=$e.find(r=>r.value===s)?.icon??Ve;return(0,e.jsxs)(Ze,{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:o})=>(0,e.jsxs)(R,{onClick:()=>t(r),children:[(0,e.jsx)(o,{}),n,s===r&&(0,e.jsx)(bs,{className:"ml-auto"})]},r))})]}),(0,e.jsx)(Ce,{}),(0,e.jsx)(R,{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)(R,{asChild:!0,children:(0,e.jsxs)("a",{href:Me.SITE_GITHUB_LINK,target:"_blank",rel:"noopener noreferrer",children:[(0,e.jsx)(qt,{}),"View on GitHub"]})})]})]})},Ke=()=>(0,e.jsx)("div",{className:"h-px w-full shrink-0 bg-border"}),Zt=()=>{const{openOverlay:s}=Z(),{pathname:t}=J(),a=t.split("/")[1]!=="visualizer";return(0,e.jsxs)("nav",{"aria-label":"Main",className:"flex shrink-0 flex-col border-r border-border bg-background",style:{width:I.RAIL_WIDTH},children:[a&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(Xt,{}),(0,e.jsx)(Ke,{})]}),(0,e.jsx)(Yt,{}),(0,e.jsxs)("div",{className:"mt-auto flex flex-col",children:[(0,e.jsx)(Ke,{}),(0,e.jsx)(Wt,{}),(0,e.jsx)(Ie,{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)(Jt,{})]})]})};function rs({...s}){return(0,e.jsx)(Qs,{"data-slot":"context-menu",...s})}function ns({className:s,...t}){return(0,e.jsx)(Vs,{"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-150 data-closed:duration-100 ease-out 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)(Hs,{"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-sm 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 ye=({folderId:s,isExpanded:t,onToggle:a,count:r,name:n,showContextMenu:o=!1})=>{const c=te(),{deleteFolder:i,getQueriesByFolder:d,addQuery:h,updateFolder:g}=me(),[m,f]=(0,l.useState)(!1),[p,x]=(0,l.useState)(""),[v,y]=(0,l.useState)(!1),b=(0,l.useCallback)(()=>{if(s){if(d(s).length>0){y(!0);return}i(s)}},[i,s,d]),w=(0,l.useCallback)(()=>{s&&(i(s),y(!1))},[i,s]),E=(0,l.useCallback)(()=>{const k=h(void 0,s);c({to:"/runner/$queryId",params:{queryId:k}})},[h,s,c]),u=(0,l.useCallback)(()=>{x(n),f(!0)},[n]),j=(0,l.useCallback)(()=>{s&&p.trim()&&(g(s,{name:p.trim()}),f(!1),x(""))},[s,p,g]);return(0,e.jsxs)(e.Fragment,{children:[o?(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)(Fe,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(se,{children:r})]})}),(0,e.jsxs)(ls,{children:[(0,e.jsxs)($,{onClick:E,children:[(0,e.jsx)(ee,{className:"size-4"}),"Add a new query"]}),(0,e.jsxs)($,{onClick:u,children:[(0,e.jsx)(we,{className:"size-4"}),"Rename folder"]}),(0,e.jsxs)($,{onClick:b,children:[(0,e.jsx)(ke,{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)(Fe,{className:T("size-4 transition-transform duration-200",t?"rotate-90":"")}),(0,e.jsx)("span",{className:"flex-1",children:n}),(0,e.jsx)(se,{children:r})]}),(0,e.jsx)(G,{open:m,onOpenChange:f,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:p,onChange:k=>x(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:()=>{f(!1),x("")},children:"Cancel"}),(0,e.jsx)(S,{onClick:j,disabled:!p.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:o,addQuery:c,getQuery:i,toggleFavorite:d,updateQuery:h,moveQuery:g,folders:m,addFolder:f}=me(),{queryId:p}=he({strict:!1}),x=p===s,v=i(s),y=v?.isFavorite??!1,[b,w]=(0,l.useState)(!1),[E,u]=(0,l.useState)(""),[j,k]=(0,l.useState)(!1),[B,O]=(0,l.useState)(void 0),[F,_]=(0,l.useState)(!1),[D,A]=(0,l.useState)(""),ie=(0,l.useCallback)(()=>{n({to:"/runner/$queryId",params:{queryId:s}})},[n,s]),fe=(0,l.useCallback)(()=>{o(s),p===s&&n({to:"/runner"}),z.success("Query deleted successfully")},[o,s,n,p]),be=(0,l.useCallback)(()=>{const C=i(s),os=c(`${C?.name} (Copy)`);n({to:"/runner/$queryId",params:{queryId:os}}),z.success("Query duplicated successfully")},[c,i,n,s]),pe=(0,l.useCallback)(()=>{d(s),z.success("Query favorited successfully")},[d,s]),ge=(0,l.useCallback)(()=>{u(v?.name??""),w(!0)},[v?.name]),N=(0,l.useCallback)(()=>{E.trim()&&(h(s,{name:E.trim()}),w(!1),u(""),z.success("Query renamed successfully"))},[s,E,h]),ve=(0,l.useCallback)(()=>{O(v?.folderId),_(!1),A(""),k(!0)},[v?.folderId]),is=(0,l.useCallback)(C=>{C==="__create_new__"?(_(!0),O(void 0)):(_(!1),O(C==="__none__"?void 0:C))},[]),Oe=(0,l.useCallback)(()=>{if(F&&D.trim()){const C=Math.random().toString(36).substring(2,15);f({id:C,name:D.trim(),isExpanded:!0,isFavorite:!1}),g(s,C),z.success("Query moved to new folder successfully")}else F||(g(s,B),z.success("Query moved to selected folder successfully"));k(!1),_(!1),A(""),O(void 0)},[F,D,B,s,f,g]);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",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",a?"px-4 pl-12":"px-4"),children:[x&&(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:ge,children:[(0,e.jsx)(we,{className:"size-4"}),"Rename query"]}),(0,e.jsxs)($,{onClick:be,children:[(0,e.jsx)(Es,{className:"size-4"}),"Duplicate query"]}),(0,e.jsxs)($,{onClick:pe,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:ve,children:[(0,e.jsx)(ws,{className:"size-4"}),"Move to folder"]}),(0,e.jsx)(Qe,{}),(0,e.jsxs)($,{onClick:fe,children:[(0,e.jsx)(ke,{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",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",a?"px-4 pl-12":"px-4"),children:[x&&(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=>u(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),u("")},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),A(""),O(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=>A(C.target.value),placeholder:"Folder name",onKeyDown:C=>{C.key==="Enter"&&D.trim()&&Oe(),C.key==="Escape"&&(_(!1),A(""))},autoFocus:!0}):(0,e.jsxs)(le,{value:B??"__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"}),m.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),A(""),O(void 0)},children:"Cancel"}),(0,e.jsx)(S,{onClick:Oe,disabled:F&&!D.trim(),children:F?"Create & Move":"Move"})]})]})})]})},ea=()=>{const[s]=L(I.SIDEBAR_SEARCH,{defaultValue:""}),{folders:t,queries:a,getFavoriteQueries:r,getQueriesByFolder:n,toggleFolder:o}=me(),[c,i]=(0,l.useState)(!0),[d,h]=(0,l.useState)(!0),g=a.filter(x=>!x.isFavorite).length,m=r(),f=m.length,p=a.filter(x=>!x.folderId&&!x.isFavorite);if(s){const x=a.filter(v=>v.name.toLowerCase().includes(s.toLowerCase()));return x.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:x.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)(ye,{name:"Favorites",isExpanded:c,onToggle:()=>i(!c),count:f}),c&&m.map(x=>(0,e.jsx)(ce,{id:x.id,tableName:x.name},x.id)),(0,e.jsx)(Ct,{className:"bg-sidebar-border"}),(0,e.jsx)(ye,{name:"Queries",isExpanded:d,onToggle:()=>h(!d),count:g}),d&&(0,e.jsxs)(e.Fragment,{children:[t.map(x=>{const v=n(x.id),y=v.length;return(0,e.jsxs)("div",{children:[(0,e.jsx)(ye,{folderId:x.id,name:x.name,isExpanded:x.isExpanded,onToggle:()=>o(x.id),count:y,showContextMenu:!0}),x.isExpanded&&v.map(b=>(0,e.jsx)(ce,{id:b.id,tableName:b.name,isNested:!0,showContextMenu:!0},b.id))]},x.id)}),p.map(x=>(0,e.jsx)(ce,{id:x.id,tableName:x.name,showContextMenu:!0},x.id))]})]})},sa=()=>{const{addQuery:s,addFolder:t}=me(),a=te(),r=(0,l.useRef)(null),[n,o]=L(I.SIDEBAR_SEARCH,{defaultValue:""}),c=h=>{o(h.target.value)},i=()=>{const h=s();a({to:"/runner/$queryId",params:{queryId:h}})},d=()=>{const h=Math.random().toString(36).substring(2,15);t({id:h,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:i,children:[(0,e.jsx)(ee,{className:"size-4"}),"Add Query"]}),(0,e.jsxs)(S,{className:"flex-1 justify-start h-8",onClick:d,children:[(0,e.jsx)(Ue,{className:"size-4"}),"Add Folder"]})]}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)(Ne,{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)(se,{className:"absolute right-2 top-1/2 -translate-y-1/2 text-xs",children:"/"})]})]})},ta=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(sa,{}),(0,e.jsx)(ea,{})]}),aa=({tableName:s,schemaName:t})=>{const a=te(),r=he({strict:!1}),{pathname:n}=J(),o=De(),{copyTableSchema:c,isCopyingSchema:i}=Nt(),{exportFile:d,isExportingFile:h}=rt(),{deleteTable:g,forceDeleteTable:m,isDeletingTable:f}=lt(),{renameTable:p,isRenamingTable:x}=at({tableName:s,schemaName:t}),{openOverlay:v,closeOverlay:y,isOverlayOpen:b}=Z(),{setEditingTable:w}=Gs(),E=Js(),[u,j]=(0,l.useState)(s),[k,B]=(0,l.useState)([]),O=t?`${t}.${s}`:s,F=`tables.rename-table.${O}`,_=`tables.delete-table.${O}`,D=`tables.force-delete-table.${O}`,A=N=>{N?(j(s),v(F)):y(F)},ie=async()=>{const N=u.trim();if(!(!N||N===s))try{if(await p({newTableName:N,schemaName:t}),A(!1),r.table===s&&o===t){const ve=n.startsWith("/schema")?"/schema/$table":n.startsWith("/indexes")?"/indexes/$table":"/table/$table";a({to:ve,params:{table:N},search:{[I.TABLE_SCHEMA]:t}})}}catch{}},fe=()=>{navigator.clipboard.writeText(s),z.success("Table name copied to clipboard")},be=async()=>{const N=await g(s,t);N.fkViolation?(B(N.relatedRecords),y(_),v(D)):(y(_),a({to:"/"}))},pe=async()=>{await m(s,t),y(D),a({to:"/"})},ge=()=>{y(D),B([])};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)(R,{onClick:fe,children:[(0,e.jsx)(Is,{className:"size-4"}),"Copy name"]}),(0,e.jsxs)(R,{onClick:()=>c(s,t),disabled:i,children:[(0,e.jsx)(xs,{className:"size-4"}),"Copy table schema"]}),(0,e.jsx)(Ce,{}),(0,e.jsxs)(R,{onClick:()=>A(!0),children:[(0,e.jsx)(Ts,{className:"size-4"}),"Rename table"]}),!E&&(0,e.jsxs)(R,{onClick:()=>{w({tableName:s,schemaName:t}),v("schema.edit-table")},children:[(0,e.jsx)(we,{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)(R,{onClick:()=>d({tableName:s,schemaName:t,format:"csv"}),disabled:h,children:"Export as CSV"}),(0,e.jsx)(R,{onClick:()=>d({tableName:s,schemaName:t,format:"json"}),disabled:h,children:"Export as JSON"}),(0,e.jsx)(R,{onClick:()=>d({tableName:s,schemaName:t,format:"xlsx"}),disabled:h,children:"Export as Excel"})]})]}),(0,e.jsx)(Ce,{}),(0,e.jsxs)(R,{variant:"destructive",onClick:()=>v(_),children:[(0,e.jsx)(ke,{className:"size-4"}),"Delete table"]})]})})]}),(0,e.jsx)(ra,{tableName:s,newTableName:u,setNewTableName:j,isOpen:b(F),onOpenChange:A,onRename:ie,isRenaming:x}),(0,e.jsx)(na,{isOpen:b(_),onOpenChange:N=>{N||y(_)},tableName:s,onDelete:be,isDeleting:f}),(0,e.jsx)(la,{isOpen:b(D),onOpenChange:N=>{N||y(D)},tableName:s,relatedRecords:k,onForceDelete:pe,onCancel:ge,isDeleting:f})]})},ra=({tableName:s,newTableName:t,setNewTableName:a,isOpen:r,onOpenChange:n,onRename:o,isRenaming:c})=>{const i=t.trim(),d=!i||i===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)(Ae,{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)(Ae,{htmlFor:"new-table-name",children:"New name"}),(0,e.jsx)(M,{id:"new-table-name",value:t,onChange:h=>a(h.target.value),placeholder:"table_name",autoFocus:!0,disabled:c,onKeyDown:h=>{h.key==="Enter"&&!d&&!c&&o()}})]})]}),(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:o,disabled:d||c,children:c?"Renaming...":"Rename Table"})]})]})})},na=({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"})]})]})}),la=({isOpen:s,onOpenChange:t,tableName:a,relatedRecords:r,onForceDelete:n,onCancel:o,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((i,d)=>(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:i.tableName}),(0,e.jsxs)("span",{className:"text-muted-foreground ml-2",children:["(",i.records.length," record",i.records.length!==1?"s":"",")"]})]}),(0,e.jsxs)("div",{className:"text-xs text-muted-foreground mb-2",children:["References column: ",i.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(i.records.slice(0,5),null,2),i.records.length>5&&(0,e.jsxs)("div",{className:"text-muted-foreground mt-2",children:["... and ",i.records.length-5," more"]})]})})]},`${i.tableName}-${i.columnName}-${d}`))}),(0,e.jsxs)(X,{className:"gap-2",children:[(0,e.jsx)(S,{variant:"outline",onClick:o,disabled:c,children:"Cancel"}),(0,e.jsx)(S,{variant:"destructive",onClick:n,disabled:c,children:c?"Deleting...":"Force Delete All"})]})]})}),ia=({tableName:s,rowCount:t,rowCountEstimated:a,schemaName:r,showSchemaName:n})=>{const o=he({strict:!1}),{pathname:c}=J(),i=o.table,d=De(),h=i===s&&(d===void 0||d===r),g=c.startsWith("/schema")?"/schema/$table":c.startsWith("/indexes")?"/indexes/$table":"/table/$table",m=(0,e.jsxs)("span",{className:"flex-1 truncate",children:[n&&r&&r!=="public"&&(0,e.jsxs)("span",{className:"text-muted-foreground/60",children:[r,"."]}),s]});return(0,e.jsxs)("li",{className:"relative group",children:[h&&(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",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"),children:[(0,e.jsx)(He,{to:g,params:{table:s},search:{[I.TABLE_SCHEMA]:r},className:"flex-1 flex items-center gap-1 min-w-0 focus:outline-none",children:m}),(0,e.jsxs)("div",{className:"flex items-center gap-1 h-5 shrink-0",children:[(0,e.jsx)("div",{className:T(h?"opacity-100":"opacity-0 group-hover:opacity-100 focus-within:opacity-100"),children:(0,e.jsx)(aa,{tableName:s,schemaName:r})}),(0,e.jsxs)(se,{children:[a&&"~",t]})]})]})]})},oa=()=>{const[s]=L(I.SIDEBAR_SEARCH,{defaultValue:""}),[t,a]=L(I.ACTIVE_SCHEMA,{defaultValue:"all"}),r=Q(),{tablesList:n=[],isLoadingTablesList:o,errorTablesList:c}=es(),i=(0,l.useMemo)(()=>Array.from(new Set(n.reduce((m,f)=>(f.schemaName&&m.push(f.schemaName),m),[]))).sort(),[n]),d=(r?.schemaSelector??!1)&&i.length>1,h=t==="all"&&i.length>1,g=n?.filter(m=>{const f=t==="all"||m.schemaName===t,p=m.tableName.toLowerCase().includes(s.toLowerCase());return f&&p});return(0,l.useEffect)(()=>{!d||t==="all"||i.includes(t)||a("all")},[i,t,a,d]),o?(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:g&&g.length>0?(0,e.jsx)("ul",{children:g?.map(m=>(0,e.jsx)(ia,{schemaName:m.schemaName,showSchemaName:h,tableName:m.tableName,rowCount:m.rowCount,rowCountEstimated:m.rowCountEstimated},m.schemaName?`${m.schemaName}.${m.tableName}`:m.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,{})]})},ca=()=>{const s=(0,l.useRef)(null),[t,a]=L(I.SIDEBAR_SEARCH,{defaultValue:""}),{openOverlay:r}=Z(),n=Q();return nt("/",o=>{o.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)(Ne,{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:o=>a(o.target.value.trim()),className:"rounded-sm h-8 pl-8 pr-8"}),(0,e.jsx)(se,{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)(ee,{className:"size-4"})})]})})},da=()=>{const[s,t]=L(I.ACTIVE_SCHEMA,{defaultValue:"all"}),a=Q(),{tablesList:r=[]}=es(),n=(0,l.useMemo)(()=>Array.from(new Set(r.reduce((o,c)=>(c.schemaName&&o.push(c.schemaName),o),[]))).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(o=>(0,e.jsx)(P,{value:o,children:o},o))]})]})}):null},Be=()=>(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(da,{}),(0,e.jsx)(ca,{}),(0,e.jsx)(yt,{className:"flex-1 overflow-y-auto pb-3 block h-full w-full [&_[data-slot=scroll-area-viewport]>div]:block!",children:(0,e.jsx)(oa,{})})]});function ua(){const{databases:s,isLoadingDatabases:t,refetchDatabases:a,isRefetchingDatabases:r}=Et(),{selectedDatabase:n,setSelectedDatabase:o}=ss(),c=Q(),i=te(),d=t||r,h=m=>{o(m),i({to:c?.dataModel==="key-value"?"/browser":"/table",search:{}})},g=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)(_t,{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:h,children:[(0,e.jsx)(re,{variant:"outline","aria-label":"Database",disabled:d,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(m=>(0,e.jsx)(P,{value:m.name,className:"font-mono text-xs",children:m.name},m.name))})]}),(0,e.jsxs)(Te,{children:[(0,e.jsx)(Ee,{asChild:!0,children:(0,e.jsx)(S,{variant:"ghost",size:"icon-sm","aria-label":"Refresh databases",onClick:g,disabled:d,children:(0,e.jsx)(qe,{className:T(d&&"animate-spin")})})}),(0,e.jsx)(_e,{children:"Refresh databases"})]})]})}var ha=({children:s})=>{const{sidebar:{width:t,isOpen:a,isPinned:r},setSidebarWidth:n,setSidebarOpen:o}=Re(),c=(0,l.useRef)(!1),i=(0,l.useRef)(0),d=(0,l.useRef)(0),h=(0,l.useRef)(null),g=(0,l.useRef)(u=>{}),m=(0,l.useRef)(()=>{}),f=(0,l.useRef)(()=>{}),p=(0,l.useRef)(()=>{}),x=(0,l.useCallback)(u=>{c.current&&requestAnimationFrame(()=>{const j=u.clientX-i.current,k=d.current+j;n(Math.abs(k-300)<=16?300:k)})},[n]),v=(0,l.useCallback)(()=>{c.current=!1,Object.assign(document.body.style,{cursor:"",userSelect:""});const u=document.getElementById("resize-overlay");u&&u.remove()},[]),y=(0,l.useCallback)(u=>{u.preventDefault(),c.current=!0,i.current=u.clientX,d.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||o(!0)},[r,o]),w=(0,l.useCallback)(()=>{r||o(!1)},[r,o]);g.current=x,m.current=v,f.current=b,p.current=w;const E=u=>{r||o(u)};return(0,l.useEffect)(()=>{const u=k=>g.current(k),j=()=>m.current();return document.addEventListener("mousemove",u),document.addEventListener("mouseup",j),()=>{document.removeEventListener("mousemove",u),document.removeEventListener("mouseup",j)}},[]),(0,l.useEffect)(()=>{const u=h.current;if(!u)return;const j=()=>f.current(),k=()=>p.current();return u.addEventListener("mouseenter",j),u.addEventListener("mouseleave",k),()=>{u.removeEventListener("mouseenter",j),u.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:h,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:`${I.RAIL_WIDTH}px`},onOpenAutoFocus:u=>u.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"})]})})]})},ma=["string","hash","list","set","zset","stream"],K=Ot(""),xa=()=>{const{closeOverlay:s,isOverlayOpen:t}=Z(),[a,r]=(0,l.useState)(K),[n,o]=(0,l.useState)("string"),[c,i]=(0,l.useState)(K),[d,h]=(0,l.useState)(K),[g,m]=(0,l.useState)("0"),[f,p]=(0,l.useState)(""),{createKey:x,isPending:v}=Ft(),y=t("redis-browser.create-key"),b=n==="hash"||n==="stream",w=a===null||c===null||b&&d===null,E=async()=>{const u=b?d:K;if(a===null||c===null||u===null)return;let j;switch(n){case"string":j={kind:"string",value:c};break;case"hash":j={kind:"hash",entries:[{field:c,value:u}]};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(g)}]};break;case"stream":j={kind:"stream",id:"*",fields:[{field:c,value:u}]}}await x({key:a,type:n,value:j,ttlMs:f?Number(f)*1e3:null}),r(K),o("string"),i(K),h(K),m("0"),p(""),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:u=>{u||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)(kt,{className:"gap-4",children:[(0,e.jsxs)(H,{children:[(0,e.jsx)(V,{htmlFor:"redis-key-name",children:"Key"}),(0,e.jsx)(je,{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)(V,{htmlFor:"redis-key-type",children:"Type"}),(0,e.jsxs)(le,{value:n,onValueChange:u=>o(u),children:[(0,e.jsx)(re,{id:"redis-key-type",className:"h-8!",children:(0,e.jsx)(ae,{})}),(0,e.jsx)(ne,{children:ma.map(u=>(0,e.jsx)(P,{value:u,children:u},u))})]})]}),(0,e.jsxs)(H,{children:[(0,e.jsx)(V,{htmlFor:"redis-key-first-value",children:n==="hash"||n==="stream"?"Initial field":n==="zset"?"Initial member":"Initial value"}),(0,e.jsx)(je,{id:"redis-key-first-value",value:c,onChange:i})]}),(n==="hash"||n==="stream")&&(0,e.jsxs)(H,{children:[(0,e.jsx)(V,{htmlFor:"redis-key-second-value",children:"Initial value"}),(0,e.jsx)(je,{id:"redis-key-second-value",value:d,onChange:h})]}),n==="zset"&&(0,e.jsxs)(H,{children:[(0,e.jsx)(V,{htmlFor:"redis-key-score",children:"Score"}),(0,e.jsx)(M,{id:"redis-key-score",type:"number",value:g,onChange:u=>m(u.target.value),className:"font-mono"})]}),(0,e.jsxs)(H,{children:[(0,e.jsx)(V,{htmlFor:"redis-key-ttl",children:"TTL in seconds"}),(0,e.jsx)(M,{id:"redis-key-ttl",type:"number",min:1,value:f,onChange:u=>p(u.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"})]})]})},fa=["string","hash","list","set","zset","stream"],ba={string:"STR",hash:"HASH",list:"LIST",set:"SET",zset:"ZSET",stream:"XSTR"},pa=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`,ga=s=>s===null?"—":s<1024?`${s} B`:`${(s/1024).toFixed(1)} KiB`,va=(s,t)=>t!==void 0?t||"(empty key)":`0x${Array.from(At(s),a=>a.toString(16).padStart(2,"0")).join("")}`,ja=()=>{const{openOverlay:s}=Z(),[t,a]=L("key"),[r,n]=L("search",{defaultValue:""}),[o,c]=(0,l.useState)(r),[i,d]=L("type",{defaultValue:""}),[h,g]=L("glob",{defaultValue:"false"}),m=h==="true",f=Lt({search:o,type:i,exactPattern:m}),p=(0,l.useMemo)(()=>f.data?.pages.flatMap(b=>b.keys)??[],[f.data]),x=(0,l.useRef)(null),v=hs({count:p.length,getScrollElement:()=>x.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>=p.length-5&&f.hasNextPage&&!f.isFetchingNextPage&&f.fetchNextPage()},[y,p.length,f.hasNextPage,f.isFetchingNextPage,f.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)(Ne,{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:m?"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(f.refetch({throwOnError:!0}),{loading:"Refreshing Redis keys...",success:"Redis keys refreshed",error:"Failed to refresh Redis keys"}),disabled:f.isFetching,"aria-label":"Refresh Redis keys",children:(0,e.jsx)(qe,{className:T(f.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)(ee,{})})]}),(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsxs)(le,{value:i||"all",onValueChange:b=>d(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"}),fa.map(b=>(0,e.jsx)(P,{value:b,children:b},b))]})]}),(0,e.jsxs)(Tt,{variant:"outline",size:"lg",pressed:m,onPressedChange:b=>g(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:[p.length," loaded"]}),(0,e.jsx)("span",{children:f.dataUpdatedAt>0?new Date(f.dataUpdatedAt).toLocaleTimeString():"not scanned"})]})]}),(0,e.jsxs)("div",{ref:x,className:"min-h-0 flex-1 overflow-auto",children:[f.isLoading?(0,e.jsx)("div",{className:"px-3 py-4 text-xs text-muted-foreground",children:"Scanning keyspace…"}):p.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)(ee,{})," Create key"]})]}):(0,e.jsx)("div",{className:"relative w-full",style:{height:`${v.getTotalSize()}px`},children:y.map(b=>{const w=p[b.index],E=w.key.base64||"-",u=va(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:u,children:[(0,e.jsx)("span",{className:"min-w-0 flex-1 truncate text-left text-current",children:u}),(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:ba[w.type]??"?"}),(0,e.jsxs)("span",{className:"shrink-0 text-[9px] text-muted-foreground",children:[ga(w.memoryBytes)," ·"," ",w.ttlMs===-1?(0,e.jsx)(gs,{className:"inline size-3 align-[-2px]","aria-label":"No expiry"}):pa(w.ttlMs)]})]},`${E}-${b.index}`)})}),f.isFetchingNextPage&&(0,e.jsx)("div",{className:"px-2 py-1 text-center text-[10px] text-muted-foreground",children:"Scanning more…"})]}),(0,e.jsx)(xa,{})]})},ya=()=>{const{pathname:s}=J(),t=s.split("/")[1],a=Q()?.dataModel==="key-value",r=(0,l.useMemo)(()=>{if(a&&t!=="runner")return(0,e.jsx)(ja,{});switch(t){case"":case"table":case"schema":case"indexes":return(0,e.jsx)(Be,{});case"runner":return(0,e.jsx)(ta,{});default:return(0,e.jsx)(Be,{})}},[a,t]);return(0,e.jsxs)(ha,{children:[r,(0,e.jsx)(ua,{})]})},Ga=cs({component:()=>Ca});function Ca(){const s=Q(),t=s?.dataModel==="key-value",{pathname:a}=J(),r=a.split("/")[1],{sidebar:{isPinned:n,width:o}}=Re();if(t&&r!=="browser"&&r!=="runner"&&r!=="logs")return(0,e.jsx)(oe,{to:"/browser"});if(!t&&r==="browser")return(0,e.jsx)(oe,{to:"/"});if(s&&!s.indexes&&r==="indexes")return(0,e.jsx)(oe,{to:"/table"});if(s&&!s.serverLogs&&r==="logs")return(0,e.jsx)(oe,{to:"/table"});const c=r!=="visualizer";return(0,e.jsxs)("div",{className:"bg-background text-foreground w-dvw flex h-dvh max-h-dvh overflow-hidden relative",children:[(0,e.jsx)(Zt,{}),c&&(0,e.jsx)(ya,{}),(0,e.jsx)("div",{className:"rail-content relative flex-1 flex flex-col h-full overflow-hidden",style:{marginLeft:c&&n?`${o}px`:"0"},children:(0,e.jsx)(us,{})})]})}export{Ca as component,Mt as n,Ga as t};
@@ -1 +0,0 @@
1
- import{r as Wa}from"./rolldown-runtime-CpVMLIgb.js";import{C as Xe,E as et,a as Qa,g as Ya,i as Ja,n as qr,r as Kr,w as Za,y as Xa}from"./tanstack-BE6ru2gB.js";import{B as Gr,Ct as tt,E as es,H as ts,It as rs,Mt as xr,St as as,T as ss,V as ns,a as is,b as ls,bt as os,ct as us,f as ds,k as cs,n as fs,nt as ms,s as gs,v as hs}from"./icons-D72QQyd5.js";import{A as vs,D as ps,E as ys,F as bs,I as xs,L as Cs,M as js,N as _s,O as ws,Ot as Pe,P as Ns,R as Ss,T as As,_t as Hr,dt as ke,gt as Wr,ht as ks,j as Vs,jt as Es,k as Fs,kt as Ye,mt as Qr,pt as Yr,vt as Jr,yt as Ds}from"./radix-ui-41WpuKNR.js";import{n as rt}from"./dist-D4lNl-zm.js";import{t as U}from"./utils-Cr2_fSDl.js";import{t as Ts}from"./spinner-Z77kD_hS.js";import{a as Zr,c as Xr,n as ne,o as ea,t as Ve}from"./overlay.store-D93IGU3a.js";import{n as Le,r as Rs,t as he}from"./label-Dcwj4aRe.js";import{c as Is,l as zs,t as Wt}from"./sheet-sidebar-Bne7asEZ.js";import{t as Os}from"./react-46S5qMHL.js";import{a as ta,c as Ms,i as Ps,p as $s,t as Cr,v as ra}from"./constants-BFCsZ8ll.js";import{_ as je,b as Je,g as Ls,i as Us,p as jr,t as Be,u as _r,v as Ue,x as aa}from"./database.store-BAbH5Geu.js";import{a as Bs,c as qs,d as Ks,f as Gs,i as Hs,l as Ws,m as Qs,n as Ys,o as Js,p as Zs,s as Xs,t as Ze,u as en}from"./badge-BIuMcm7O.js";import{t as Qt}from"./use-database-engine-CKCp55rb.js";import{s as be}from"./keys-6E3ilH7R.js";import{t as tn}from"./format-cell-value-BDXXdObX.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"db-studio@2.0.0"};var r=new e.Error().stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="1a309529-986e-4785-acbd-3e012d387cc5",e._sentryDebugIdIdentifier="sentry-dbid-1a309529-986e-4785-acbd-3e012d387cc5")}catch{}})();var g=Wa(rs(),1),wr=1,rn=.9,an=.8,sn=.17,_t=.1,wt=.999,nn=.9999,ln=.99,on=/[\\\/_+.#"@\[\(\{&]/,un=/[\\\/_+.#"@\[\(\{&]/g,dn=/[\s-]/,sa=/[\s-]/g;function Pt(e,r,t,a,i,s,l){if(s===r.length)return i===e.length?wr:ln;var o=`${i},${s}`;if(l[o]!==void 0)return l[o];for(var c=a.charAt(s),m=t.indexOf(c,i),v=0,h,_,w,R;m>=0;)h=Pt(e,r,t,a,m+1,s+1,l),h>v&&(m===i?h*=wr:on.test(e.charAt(m-1))?(h*=an,w=e.slice(i,m-1).match(un),w&&i>0&&(h*=Math.pow(wt,w.length))):dn.test(e.charAt(m-1))?(h*=rn,R=e.slice(i,m-1).match(sa),R&&i>0&&(h*=Math.pow(wt,R.length))):(h*=sn,i>0&&(h*=Math.pow(wt,m-i))),e.charAt(m)!==r.charAt(s)&&(h*=nn)),(h<_t&&t.charAt(m-1)===a.charAt(s+1)||a.charAt(s+1)===a.charAt(s)&&t.charAt(m-1)!==a.charAt(s))&&(_=Pt(e,r,t,a,m+1,s+2,l),_*_t>h&&(h=_*_t)),h>v&&(v=h),m=t.indexOf(c,m+1);return l[o]=v,v}function Nr(e){return e.toLowerCase().replace(sa," ")}function cn(e,r,t){return e=t&&t.length>0?`${e+" "+t.join(" ")}`:e,Pt(e,r,Nr(e),Nr(r),0,0,{})}var Ge='[cmdk-group=""]',Nt='[cmdk-group-items=""]',fn='[cmdk-group-heading=""]',na='[cmdk-item=""]',Sr=`${na}:not([aria-disabled="true"])`,$t="cmdk-item-select",ze="data-value",mn=(e,r,t)=>cn(e,r,t),ia=g.createContext(void 0),at=()=>g.useContext(ia),la=g.createContext(void 0),Yt=()=>g.useContext(la),oa=g.createContext(void 0),ua=g.forwardRef((e,r)=>{let t=Oe(()=>{var y,F;return{search:"",value:(F=(y=e.value)!=null?y:e.defaultValue)!=null?F:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),a=Oe(()=>new Set),i=Oe(()=>new Map),s=Oe(()=>new Map),l=Oe(()=>new Set),o=da(e),{label:c,children:m,value:v,onValueChange:h,filter:_,shouldFilter:w,loop:R,disablePointerSelection:z=!1,vimBindings:I=!0,...P}=e,A=Pe(),M=Pe(),j=Pe(),x=g.useRef(null),p=wn();Fe(()=>{if(v!==void 0){let y=v.trim();t.current.value=y,E.emit()}},[v]),Fe(()=>{p(6,W)},[]);let E=g.useMemo(()=>({subscribe:y=>(l.current.add(y),()=>l.current.delete(y)),snapshot:()=>t.current,setState:(y,F,O)=>{var V,B,H,te;if(!Object.is(t.current[y],F)){if(t.current[y]=F,y==="search")T(),ve(),p(1,Ce);else if(y==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let re=document.getElementById(j);re?re.focus():(V=document.getElementById(A))==null||V.focus()}if(p(7,()=>{var re;t.current.selectedItemId=(re=$())==null?void 0:re.id,E.emit()}),O||p(5,W),((B=o.current)==null?void 0:B.value)!==void 0){let re=F??"";(te=(H=o.current).onValueChange)==null||te.call(H,re);return}}E.emit()}},emit:()=>{l.current.forEach(y=>y())}}),[]),Z=g.useMemo(()=>({value:(y,F,O)=>{var V;F!==((V=s.current.get(y))==null?void 0:V.value)&&(s.current.set(y,{value:F,keywords:O}),t.current.filtered.items.set(y,ee(F,O)),p(2,()=>{ve(),E.emit()}))},item:(y,F)=>(a.current.add(y),F&&(i.current.has(F)?i.current.get(F).add(y):i.current.set(F,new Set([y]))),p(3,()=>{T(),ve(),t.current.value||Ce(),E.emit()}),()=>{s.current.delete(y),a.current.delete(y),t.current.filtered.items.delete(y);let O=$();p(4,()=>{T(),O?.getAttribute("id")===y&&Ce(),E.emit()})}),group:y=>(i.current.has(y)||i.current.set(y,new Set),()=>{s.current.delete(y),i.current.delete(y)}),filter:()=>o.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>o.current.disablePointerSelection,listId:A,inputId:j,labelId:M,listInnerRef:x}),[]);function ee(y,F){var O,V;let B=(V=(O=o.current)==null?void 0:O.filter)!=null?V:mn;return y?B(y,t.current.search,F):0}function ve(){if(!t.current.search||o.current.shouldFilter===!1)return;let y=t.current.filtered.items,F=[];t.current.filtered.groups.forEach(V=>{let B=i.current.get(V),H=0;B.forEach(te=>{let re=y.get(te);H=Math.max(re,H)}),F.push([V,H])});let O=x.current;Q().sort((V,B)=>{var H,te;let re=V.getAttribute("id"),pt=B.getAttribute("id");return((H=y.get(pt))!=null?H:0)-((te=y.get(re))!=null?te:0)}).forEach(V=>{let B=V.closest(Nt);B?B.appendChild(V.parentElement===B?V:V.closest(`${Nt} > *`)):O.appendChild(V.parentElement===O?V:V.closest(`${Nt} > *`))}),F.sort((V,B)=>B[1]-V[1]).forEach(V=>{var B;let H=(B=x.current)==null?void 0:B.querySelector(`${Ge}[${ze}="${encodeURIComponent(V[0])}"]`);H?.parentElement.appendChild(H)})}function Ce(){let y=Q().find(O=>O.getAttribute("aria-disabled")!=="true"),F=y?.getAttribute(ze);E.setState("value",F||void 0)}function T(){var y,F,O,V;if(!t.current.search||o.current.shouldFilter===!1){t.current.filtered.count=a.current.size;return}t.current.filtered.groups=new Set;let B=0;for(let H of a.current){let te=ee((F=(y=s.current.get(H))==null?void 0:y.value)!=null?F:"",(V=(O=s.current.get(H))==null?void 0:O.keywords)!=null?V:[]);t.current.filtered.items.set(H,te),te>0&&B++}for(let[H,te]of i.current)for(let re of te)if(t.current.filtered.items.get(re)>0){t.current.filtered.groups.add(H);break}t.current.filtered.count=B}function W(){var y,F,O;let V=$();V&&(((y=V.parentElement)==null?void 0:y.firstChild)===V&&((O=(F=V.closest(Ge))==null?void 0:F.querySelector(fn))==null||O.scrollIntoView({block:"nearest"})),V.scrollIntoView({block:"nearest"}))}function $(){var y;return(y=x.current)==null?void 0:y.querySelector(`${na}[aria-selected="true"]`)}function Q(){var y;return Array.from(((y=x.current)==null?void 0:y.querySelectorAll(Sr))||[])}function ue(y){let F=Q()[y];F&&E.setState("value",F.getAttribute(ze))}function ie(y){var F;let O=$(),V=Q(),B=V.findIndex(te=>te===O),H=V[B+y];(F=o.current)!=null&&F.loop&&(H=B+y<0?V[V.length-1]:B+y===V.length?V[0]:V[B+y]),H&&E.setState("value",H.getAttribute(ze))}function _e(y){let F=$(),O=F?.closest(Ge),V;for(;O&&!V;)O=y>0?jn(O,Ge):_n(O,Ge),V=O?.querySelector(Sr);V?E.setState("value",V.getAttribute(ze)):ie(y)}let pe=()=>ue(Q().length-1),Re=y=>{y.preventDefault(),y.metaKey?pe():y.altKey?_e(1):ie(1)},Ke=y=>{y.preventDefault(),y.metaKey?ue(0):y.altKey?_e(-1):ie(-1)};return g.createElement(ke.div,{ref:r,tabIndex:-1,...P,"cmdk-root":"",onKeyDown:y=>{var F;(F=P.onKeyDown)==null||F.call(P,y);let O=y.nativeEvent.isComposing||y.keyCode===229;if(!(y.defaultPrevented||O))switch(y.key){case"n":case"j":I&&y.ctrlKey&&Re(y);break;case"ArrowDown":Re(y);break;case"p":case"k":I&&y.ctrlKey&&Ke(y);break;case"ArrowUp":Ke(y);break;case"Home":y.preventDefault(),ue(0);break;case"End":y.preventDefault(),pe();break;case"Enter":{y.preventDefault();let V=$();if(V){let B=new Event($t);V.dispatchEvent(B)}}}}},g.createElement("label",{"cmdk-label":"",htmlFor:Z.inputId,id:Z.labelId,style:Sn},c),ut(e,y=>g.createElement(la.Provider,{value:E},g.createElement(ia.Provider,{value:Z},y))))}),gn=g.forwardRef((e,r)=>{var t,a;let i=Pe(),s=g.useRef(null),l=g.useContext(oa),o=at(),c=da(e),m=(a=(t=c.current)==null?void 0:t.forceMount)!=null?a:l?.forceMount;Fe(()=>{if(!m)return o.item(i,l?.id)},[m]);let v=ca(i,s,[e.value,e.children,s],e.keywords),h=Yt(),_=Ae(p=>p.value&&p.value===v.current),w=Ae(p=>m||o.filter()===!1?!0:p.search?p.filtered.items.get(i)>0:!0);g.useEffect(()=>{let p=s.current;if(!(!p||e.disabled))return p.addEventListener($t,R),()=>p.removeEventListener($t,R)},[w,e.onSelect,e.disabled]);function R(){var p,E;z(),(E=(p=c.current).onSelect)==null||E.call(p,v.current)}function z(){h.setState("value",v.current,!0)}if(!w)return null;let{disabled:I,value:P,onSelect:A,forceMount:M,keywords:j,...x}=e;return g.createElement(ke.div,{ref:Ye(s,r),...x,id:i,"cmdk-item":"",role:"option","aria-disabled":!!I,"aria-selected":!!_,"data-disabled":!!I,"data-selected":!!_,onPointerMove:I||o.getDisablePointerSelection()?void 0:z,onClick:I?void 0:R},e.children)}),hn=g.forwardRef((e,r)=>{let{heading:t,children:a,forceMount:i,...s}=e,l=Pe(),o=g.useRef(null),c=g.useRef(null),m=Pe(),v=at(),h=Ae(w=>i||v.filter()===!1?!0:w.search?w.filtered.groups.has(l):!0);Fe(()=>v.group(l),[]),ca(l,o,[e.value,e.heading,c]);let _=g.useMemo(()=>({id:l,forceMount:i}),[i]);return g.createElement(ke.div,{ref:Ye(o,r),...s,"cmdk-group":"",role:"presentation",hidden:h?void 0:!0},t&&g.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:m},t),ut(e,w=>g.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":t?m:void 0},g.createElement(oa.Provider,{value:_},w))))}),vn=g.forwardRef((e,r)=>{let{alwaysRender:t,...a}=e,i=g.useRef(null),s=Ae(l=>!l.search);return!t&&!s?null:g.createElement(ke.div,{ref:Ye(i,r),...a,"cmdk-separator":"",role:"separator"})}),pn=g.forwardRef((e,r)=>{let{onValueChange:t,...a}=e,i=e.value!=null,s=Yt(),l=Ae(m=>m.search),o=Ae(m=>m.selectedItemId),c=at();return g.useEffect(()=>{e.value!=null&&s.setState("search",e.value)},[e.value]),g.createElement(ke.input,{ref:r,...a,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":o,id:c.inputId,type:"text",value:i?e.value:l,onChange:m=>{i||s.setState("search",m.target.value),t?.(m.target.value)}})}),yn=g.forwardRef((e,r)=>{let{children:t,label:a="Suggestions",...i}=e,s=g.useRef(null),l=g.useRef(null),o=Ae(m=>m.selectedItemId),c=at();return g.useEffect(()=>{if(l.current&&s.current){let m=l.current,v=s.current,h,_=new ResizeObserver(()=>{h=requestAnimationFrame(()=>{let w=m.offsetHeight;v.style.setProperty("--cmdk-list-height",w.toFixed(1)+"px")})});return _.observe(m),()=>{cancelAnimationFrame(h),_.unobserve(m)}}},[]),g.createElement(ke.div,{ref:Ye(s,r),...i,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":o,"aria-label":a,id:c.listId},ut(e,m=>g.createElement("div",{ref:Ye(l,c.listInnerRef),"cmdk-list-sizer":""},m)))}),bn=g.forwardRef((e,r)=>{let{open:t,onOpenChange:a,overlayClassName:i,contentClassName:s,container:l,...o}=e;return g.createElement(Jr,{open:t,onOpenChange:a},g.createElement(Hr,{container:l},g.createElement(Wr,{"cmdk-overlay":"",className:i}),g.createElement(Qr,{"aria-label":e.label,"cmdk-dialog":"",className:s},g.createElement(ua,{ref:r,...o}))))}),xn=g.forwardRef((e,r)=>Ae(t=>t.filtered.count===0)?g.createElement(ke.div,{ref:r,...e,"cmdk-empty":"",role:"presentation"}):null),Cn=g.forwardRef((e,r)=>{let{progress:t,children:a,label:i="Loading...",...s}=e;return g.createElement(ke.div,{ref:r,...s,"cmdk-loading":"",role:"progressbar","aria-valuenow":t,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},ut(e,l=>g.createElement("div",{"aria-hidden":!0},l)))}),De=Object.assign(ua,{List:yn,Item:gn,Input:pn,Group:hn,Separator:vn,Dialog:bn,Empty:xn,Loading:Cn});function jn(e,r){let t=e.nextElementSibling;for(;t;){if(t.matches(r))return t;t=t.nextElementSibling}}function _n(e,r){let t=e.previousElementSibling;for(;t;){if(t.matches(r))return t;t=t.previousElementSibling}}function da(e){let r=g.useRef(e);return Fe(()=>{r.current=e}),r}var Fe=typeof window>"u"?g.useEffect:g.useLayoutEffect;function Oe(e){let r=g.useRef();return r.current===void 0&&(r.current=e()),r}function Ae(e){let r=Yt(),t=()=>e(r.snapshot());return g.useSyncExternalStore(r.subscribe,t,t)}function ca(e,r,t,a=[]){let i=g.useRef(),s=at();return Fe(()=>{var l;let o=(()=>{var m;for(let v of t){if(typeof v=="string")return v.trim();if(typeof v=="object"&&"current"in v)return v.current?(m=v.current.textContent)==null?void 0:m.trim():i.current}})(),c=a.map(m=>m.trim());s.value(e,o,c),(l=r.current)==null||l.setAttribute(ze,o),i.current=o}),i}var wn=()=>{let[e,r]=g.useState(),t=Oe(()=>new Map);return Fe(()=>{t.current.forEach(a=>a()),t.current=new Map},[e]),(a,i)=>{t.current.set(a,i),r({})}};function Nn(e){let r=e.type;return typeof r=="function"?r(e.props):"render"in r?r.render(e.props):e}function ut({asChild:e,children:r},t){return e&&g.isValidElement(r)?g.cloneElement(Nn(r),{ref:r.ref},t(r.props.children)):t(r)}var Sn={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},n=Es();function Jt({...e}){return(0,n.jsx)(Jr,{"data-slot":"dialog",...e})}function An({...e}){return(0,n.jsx)(Hr,{"data-slot":"dialog-portal",...e})}function kn({className:e,...r}){return(0,n.jsx)(Wr,{"data-slot":"dialog-overlay",className:U("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-50",e),...r})}function Zt({className:e,children:r,showCloseButton:t=!0,animated:a=!0,...i}){const s=!a&&"data-open:animate-none data-closed:animate-none";return(0,n.jsxs)(An,{children:[(0,n.jsx)(kn,{className:U(s)}),(0,n.jsxs)(Qr,{"data-slot":"dialog-content",className:U("bg-background 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 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-4 rounded-xl p-4 text-xs/relaxed ring-1 duration-150 data-closed:duration-100 ease-out sm:max-w-sm fixed top-1/2 left-1/2 z-50 w-full -translate-x-1/2 -translate-y-1/2",s,e),...i,children:[(0,n.jsx)(Rs.Provider,{value:!0,children:r}),t&&(0,n.jsx)(Yr,{"data-slot":"dialog-close",asChild:!0,children:(0,n.jsxs)(ne,{variant:"ghost",className:"absolute top-2 right-2",size:"icon-sm",children:[(0,n.jsx)(fs,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})})]})]})}function Xt({className:e,...r}){return(0,n.jsx)("div",{"data-slot":"dialog-header",className:U("gap-1 flex flex-col",e),...r})}function fa({className:e,showCloseButton:r=!1,children:t,...a}){return(0,n.jsxs)("div",{"data-slot":"dialog-footer",className:U("gap-2 flex flex-col-reverse sm:flex-row sm:justify-end",e),...a,children:[t,r&&(0,n.jsx)(Yr,{asChild:!0,children:(0,n.jsx)(ne,{variant:"outline",children:"Close"})})]})}function er({className:e,...r}){return(0,n.jsx)(Ds,{"data-slot":"dialog-title",className:U("text-sm font-medium",e),...r})}function tr({className:e,...r}){return(0,n.jsx)(ks,{"data-slot":"dialog-description",className:U("text-muted-foreground *:[a]:hover:text-foreground text-xs/relaxed *:[a]:underline *:[a]:underline-offset-3",e),...r})}function ma({className:e,...r}){return(0,n.jsx)(De,{"data-slot":"command",className:U("bg-popover text-popover-foreground rounded-xl flex size-full flex-col overflow-hidden",e),...r})}function ll({title:e="Command Palette",description:r="Search for a command to run...",children:t,className:a,showCloseButton:i=!1,...s}){return(0,n.jsxs)(Jt,{...s,children:[(0,n.jsxs)(Xt,{className:"sr-only",children:[(0,n.jsx)(er,{children:e}),(0,n.jsx)(tr,{children:r})]}),(0,n.jsx)(Zt,{className:U("rounded-xl! p-0 overflow-hidden",a),showCloseButton:i,animated:!1,children:(0,n.jsx)(ma,{className:"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-2 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:t})})]})}function Vn({className:e,...r}){return(0,n.jsx)("div",{"data-slot":"command-input-wrapper",className:"p-2 w-full",children:(0,n.jsxs)(Is,{className:"bg-input/20 dark:bg-input/30 h-8!",children:[(0,n.jsx)(De.Input,{"data-slot":"command-input",className:U("w-full text-xs/relaxed outline-hidden disabled:cursor-not-allowed disabled:opacity-50",e),...r}),(0,n.jsx)(zs,{children:(0,n.jsx)(ls,{className:"size-3.5 shrink-0 opacity-50"})})]})})}function En({className:e,...r}){return(0,n.jsx)(De.List,{"data-slot":"command-list",className:U("max-h-72 scroll-py-1 outline-none overflow-x-hidden overflow-y-auto",e),...r})}function Fn({className:e,...r}){return(0,n.jsx)(De.Empty,{"data-slot":"command-empty",className:U("py-6 text-center text-xs/relaxed",e),...r})}function Dn({className:e,...r}){return(0,n.jsx)(De.Group,{"data-slot":"command-group",className:U("text-foreground **:[[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",e),...r})}function ol({className:e,...r}){return(0,n.jsx)(De.Separator,{"data-slot":"command-separator",className:U("bg-border/50 -mx-1 my-1 h-px",e),...r})}function Tn({className:e,children:r,...t}){return(0,n.jsxs)(De.Item,{"data-slot":"command-item",className:U("data-selected:bg-muted data-selected:text-foreground data-selected:*:[svg]:text-foreground relative flex min-h-3 cursor-default items-center gap-2 rounded-sm px-2.5 py-1.5 text-xs/relaxed outline-hidden select-none [&_svg:not([class*='size-'])]:size-3.5 [[data-slot=dialog-content]_&]:rounded-md group/command-item data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...t,children:[r,(0,n.jsx)(tt,{className:"ml-auto opacity-0 group-has-[[data-slot=command-shortcut]]/command-item:hidden group-data-[checked=true]/command-item:opacity-100"})]})}function ul({className:e,...r}){return(0,n.jsx)("span",{"data-slot":"command-shortcut",className:U("text-muted-foreground group-data-selected/command-item:text-foreground ml-auto text-[0.625rem] tracking-widest",e),...r})}var st=e=>e.type==="checkbox",Ee=e=>e instanceof Date,oe=e=>e==null,ga=e=>typeof e=="object",Y=e=>!oe(e)&&!Array.isArray(e)&&ga(e)&&!Ee(e),ha=e=>Y(e)&&e.target?st(e.target)?e.target.checked:e.target.value:e,va=(e,r)=>r.split(".").some((t,a,i)=>!isNaN(Number(t))&&e.has(i.slice(0,a).join("."))),Rn=e=>{const r=e.constructor&&e.constructor.prototype;return Y(r)&&r.hasOwnProperty("isPrototypeOf")},rr=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function G(e){if(e instanceof Date)return new Date(e);const r=typeof FileList<"u"&&e instanceof FileList;if(rr&&(e instanceof Blob||r))return e;const t=Array.isArray(e);if(!t&&!(Y(e)&&Rn(e)))return e;const a=t?[]:Object.create(Object.getPrototypeOf(e));for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a[i]=G(e[i]));return a}var dt=e=>/^\w*$/.test(e),q=e=>e===void 0,ct=e=>Array.isArray(e)?e.filter(Boolean):[],ar=e=>ct(e.replace(/["|']|\]/g,"").split(/\.|\[/)),b=(e,r,t)=>{if(!r||!Y(e))return t;const a=(dt(r)?[r]:ar(r)).reduce((i,s)=>oe(i)?void 0:i[s],e);return q(a)||a===e?q(e[r])?t:e[r]:a},fe=e=>typeof e=="boolean",ae=e=>typeof e=="function",L=(e,r,t)=>{let a=-1;const i=dt(r)?[r]:ar(r),s=i.length,l=s-1;for(;++a<s;){const o=i[a];let c=t;if(a!==l){const m=e[o];c=Y(m)||Array.isArray(m)?m:isNaN(+i[a+1])?{}:[]}if(o==="__proto__"||o==="constructor"||o==="prototype")return;e[o]=c,e=e[o]}},Ne={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change",SUBMIT:"submit",TRIGGER:"trigger",VALID:"valid"},ge={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ye={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},St="form",pa="root",sr=g.createContext(null);sr.displayName="HookFormControlContext";var ft=()=>g.useContext(sr),ya=(e,r,t,a=!0)=>{const i={};for(const s in e)Object.defineProperty(i,s,{get:()=>{const l=s;return r._proxyFormState[l]!==ge.all&&(r._proxyFormState[l]=!a||ge.all),t&&(t[l]=!0),e[l]}});return i},mt=typeof window<"u"?g.useLayoutEffect:g.useEffect;function In(e){const r=ft(),{control:t=r,disabled:a,name:i,exact:s}=e||{},[l,o]=g.useState(()=>({...t._formState,defaultValues:t._defaultValues})),c=g.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return mt(()=>t._subscribe({name:i,formState:c.current,exact:s,callback:m=>{!a&&o({...t._formState,...m,defaultValues:t._defaultValues})}}),[i,a,s]),g.useEffect(()=>{c.current.isValid&&t._setValid(!0)},[t]),g.useMemo(()=>ya(l,t,c.current,!1),[l,t])}var se=e=>typeof e=="string",Lt=(e,r,t,a,i)=>se(e)?(a&&r.watch.add(e),b(t,e,i)):Array.isArray(e)?e.map(s=>(a&&r.watch.add(s),b(t,s))):(a&&(r.watchAll=!0),t),Ut=e=>oe(e)||!ga(e);function me(e,r,t=new WeakSet){if(e===r)return!0;if(Ut(e)||Ut(r))return Object.is(e,r);if(Ee(e)&&Ee(r))return Object.is(e.getTime(),r.getTime());const a=Object.keys(e),i=Object.keys(r);if(a.length!==i.length)return!1;if(t.has(e)||t.has(r))return!0;t.add(e),t.add(r);for(const s of a){const l=e[s];if(!(s in r))return!1;if(s!=="ref"){const o=r[s];if(Ee(l)&&Ee(o)||(Y(l)||Array.isArray(l))&&(Y(o)||Array.isArray(o))?!me(l,o,t):!Object.is(l,o))return!1}}return!0}function Se(e){const r=ft(),{control:t=r,name:a,defaultValue:i,disabled:s,exact:l,compute:o}=e||{},c=g.useRef(i),m=g.useRef(o),v=g.useRef(void 0),h=g.useRef(t),_=g.useRef(a);m.current=o;const[w,R]=g.useState(()=>{const j=t._getWatch(a,c.current);return m.current?m.current(j):j}),z=g.useCallback(j=>{const x=Lt(a,t._names,j||t._formValues,!1,c.current);return m.current?m.current(x):x},[t._formValues,t._names,a]),I=g.useCallback(j=>{if(!s){const x=Lt(a,t._names,j||t._formValues,!1,c.current);if(m.current){const p=m.current(x);me(p,v.current)||(R(p),v.current=p)}else R(x)}},[t._formValues,t._names,s,a]);mt(()=>((h.current!==t||!me(_.current,a))&&(h.current=t,_.current=a,I()),t._subscribe({name:a,formState:{values:!0},exact:l,callback:j=>{I(j.values)}})),[t,l,a,I]),g.useEffect(()=>t._removeUnmounted());const P=h.current!==t,A=_.current,M=g.useMemo(()=>{if(s)return null;const j=!P&&!me(A,a);return P||j?z():null},[s,P,a,A,z]);return M!==null?M:w}function zn(e){const r=ft(),{name:t,disabled:a,control:i=r,shouldUnregister:s,defaultValue:l,exact:o=!0}=e,c=va(i._names.array,t),m=Se({control:i,name:t,defaultValue:g.useMemo(()=>b(i._formValues,t,b(i._defaultValues,t,l)),[i,t,l]),exact:o}),v=In({control:i,name:t,exact:o}),h=g.useRef(e),_=g.useRef(i.register(t,{...e.rules,value:m,...fe(e.disabled)?{disabled:e.disabled}:{}}));h.current=e;const w=g.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!b(v.errors,t)},isDirty:{enumerable:!0,get:()=>!!b(v.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!b(v.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!b(v.validatingFields,t)},error:{enumerable:!0,get:()=>b(v.errors,t)}}),[v,t]),R=g.useCallback(A=>_.current.onChange({target:{value:ha(A),name:t},type:Ne.CHANGE}),[t]),z=g.useCallback(()=>_.current.onBlur({target:{value:b(i._formValues,t),name:t},type:Ne.BLUR}),[t,i._formValues]),I=g.useCallback(A=>{const M=b(i._fields,t);M&&M._f&&A&&(M._f.ref={focus:()=>ae(A.focus)&&A.focus(),select:()=>ae(A.select)&&A.select(),setCustomValidity:j=>ae(A.setCustomValidity)&&A.setCustomValidity(j),reportValidity:()=>ae(A.reportValidity)&&A.reportValidity()})},[i._fields,t]),P=g.useMemo(()=>({name:t,value:m,...fe(a)||v.disabled?{disabled:v.disabled||a}:{},onChange:R,onBlur:z,ref:I}),[t,a,v.disabled,R,z,I,m]);return g.useEffect(()=>{const A=i._options.shouldUnregister||s;i.register(t,{...h.current.rules,...fe(h.current.disabled)?{disabled:h.current.disabled}:{}});const M=(j,x)=>{const p=b(i._fields,j);p&&p._f&&(p._f.mount=x)};if(M(t,!0),A){const j=G(b(i._options.defaultValues,t,h.current.defaultValue));L(i._defaultValues,t,j),q(b(i._formValues,t))&&L(i._formValues,t,j)}return!c&&i.register(t),()=>{(c?A&&!i._state.action:A)?i.unregister(t):M(t,!1)}},[t,i,c,s]),g.useEffect(()=>{i._setDisabledField({disabled:a,name:t})},[a,t,i]),g.useMemo(()=>({field:P,formState:v,fieldState:w}),[P,v,w])}var qe=e=>e.render(zn(e)),nr=g.createContext(null);nr.displayName="HookFormContext";var Te=()=>g.useContext(nr),ir=e=>{const{children:r,watch:t,getValues:a,getFieldState:i,setError:s,clearErrors:l,setValue:o,setValues:c,trigger:m,formState:v,resetField:h,reset:_,handleSubmit:w,unregister:R,control:z,register:I,setFocus:P,subscribe:A}=e,M=g.useMemo(()=>({watch:t,getValues:a,getFieldState:i,setError:s,clearErrors:l,setValue:o,setValues:c,trigger:m,formState:v,resetField:h,reset:_,handleSubmit:w,unregister:R,control:z,register:I,setFocus:P,subscribe:A}),[l,z,v,i,a,w,I,_,h,s,P,o,c,A,m,R,t]);return g.createElement(nr.Provider,{value:M},g.createElement(sr.Provider,{value:M.control},r))},lr=(e,r,t,a,i)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[a]:i||!0}}:{},ce=e=>Array.isArray(e)?e:[e],Ar=()=>{let e=[];return{get observers(){return e},next:i=>{for(const s of e)s.next&&s.next(i)},subscribe:i=>(e.push(i),{unsubscribe:()=>{e=e.filter(s=>s!==i)}}),unsubscribe:()=>{e=[]}}};function ba(e,r){const t={};for(const a in e)if(e.hasOwnProperty(a)){const i=e[a],s=r[a];if(i&&Y(i)&&s){const l=ba(i,s);Y(l)&&(t[a]=l)}else e[a]&&(t[a]=s)}return t}var X=e=>Y(e)&&!Object.keys(e).length,or=e=>e.type==="file",lt=e=>{if(!rr)return!1;const r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},xa=e=>e.type==="select-multiple",ur=e=>e.type==="radio",On=e=>ur(e)||st(e),At=e=>lt(e)&&e.isConnected;function Mn(e,r){const t=r.slice(0,-1).length;let a=0;for(;a<t;){if(oe(e)){e=void 0;break}e=e[r[a]],a++}return e}function Pn(e){for(const r in e)if(e.hasOwnProperty(r)&&!q(e[r]))return!1;return!0}function J(e,r){if(se(r)&&Object.prototype.hasOwnProperty.call(e,r))return delete e[r],e;const t=Array.isArray(r)?r:dt(r)?[r]:ar(r),a=t.length===1?e:Mn(e,t),i=t.length-1,s=t[i];return a&&delete a[s],i!==0&&(Y(a)&&X(a)||Array.isArray(a)&&Pn(a))&&J(e,t.slice(0,-1)),e}var $n=e=>{for(const r in e)if(ae(e[r]))return!0;return!1};function Ca(e){return Array.isArray(e)||Y(e)&&!$n(e)}function Bt(e,r={}){for(const t in e){const a=e[t];Ca(a)?(r[t]=Array.isArray(a)?[]:{},Bt(a,r[t])):q(a)||(r[t]=!0)}return r}function qt(e){if(e!==!1){if(e===!0)return!0;if(Array.isArray(e)){const r=e.map(t=>qt(t));return r.some(t=>t!==void 0)?r:void 0}if(Y(e)){const r={};for(const t in e){const a=qt(e[t]);q(a)||(r[t]=a)}return Object.keys(r).length?r:void 0}}}function Qe(e,r,t){t||(t=Bt(r));for(const a in e){const i=e[a];if(Ca(i))q(r)||Ut(t[a])?t[a]=Bt(i,Array.isArray(i)?[]:{}):Qe(i,oe(r)?{}:r[a],t[a]);else{const s=r[a];t[a]=!me(i,s)}}return qt(t)||{}}var kr={value:!1,isValid:!1},Vr={value:!0,isValid:!0},ja=e=>{if(Array.isArray(e)){if(e.length>1){const r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!q(e[0].attributes.value)?q(e[0].value)||e[0].value===""?Vr:{value:e[0].value,isValid:!0}:Vr:kr}return kr},_a=(e,{valueAsNumber:r,valueAsDate:t,setValueAs:a})=>q(e)?e:r?e===""?NaN:e&&+e:t&&se(e)?new Date(e):a?a(e):e,Er={isValid:!1,value:null},wa=e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,Er):Er;function Fr(e){const r=e.ref;return or(r)?r.files:ur(r)?wa(e.refs).value:xa(r)?[...r.selectedOptions].map(({value:t})=>t):st(r)?ja(e.refs).value:_a(q(r.value)?e.ref.value:r.value,e)}var Ln=(e,r,t,a)=>{const i={};for(const s of e){const l=b(r,s);l&&L(i,s,l._f)}return{criteriaMode:t,names:[...e],fields:i,shouldUseNativeValidation:a}},ot=e=>e instanceof RegExp,He=e=>q(e)?e:ot(e)?e.source:Y(e)?ot(e.value)?e.value.source:e.value:e,Me=e=>({isOnSubmit:!e||e===ge.onSubmit,isOnBlur:e===ge.onBlur,isOnChange:e===ge.onChange,isOnAll:e===ge.all,isOnTouch:e===ge.onTouched}),Dr="AsyncFunction",Un=e=>!!e&&!!e.validate&&!!(ae(e.validate)&&e.validate.constructor.name===Dr||Y(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===Dr)),Bn=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),Kt=(e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length)))),$e=(e,r,t,a)=>{for(const i of t||Object.keys(e)){const s=b(e,i);if(s){const{_f:l,...o}=s;if(l){if(l.refs&&l.refs[0]&&r(l.refs[0],i)&&!a)return!0;if(l.ref&&r(l.ref,l.name)&&!a)return!0;if($e(o,r))break}else if(Y(o)&&$e(o,r))break}}};function Tr(e,r,t){const a=b(e,t);if(a||dt(t))return{error:a,name:t};const i=t.split(".");for(;i.length;){const s=i.join("."),l=b(r,s),o=b(e,s);if(l&&!Array.isArray(l)&&t!==s)return{name:t};if(o&&o.type)return{name:s,error:o};if(o&&o.root&&o.root.type)return{name:`${s}.root`,error:o.root};i.pop()}return{name:t}}var qn=(e,r,t,a)=>{t(e);const{name:i,...s}=e;return X(s)||a&&Object.keys(s).length>=Object.keys(r).length||Object.keys(s).find(l=>r[l]===(!a||ge.all))},Kn=(e,r,t)=>!e||!r||e===r||ce(e).some(a=>a&&(t?a===r:a.startsWith(r)||r.startsWith(a))),Gn=(e,r,t,a,i)=>i.isOnAll?!1:!t&&i.isOnTouch?!(r||e):(t?a.isOnBlur:i.isOnBlur)?!e:(t?a.isOnChange:i.isOnChange)?e:!0,Hn=(e,r)=>!ct(b(e,r)).length&&J(e,r),Na=(e,r,t)=>{const a=ce(b(e,t));return L(a,pa,r[t]),L(e,t,a),e};function Rr(e,r,t="validate"){if(se(e)||Array.isArray(e)&&e.every(se)||fe(e)&&!e)return{type:t,message:se(e)?e:"",ref:r}}var Ie=e=>Y(e)&&!ot(e)?e:{value:e,message:""},Gt=async(e,r,t,a,i,s)=>{const{ref:l,refs:o,required:c,maxLength:m,minLength:v,min:h,max:_,pattern:w,validate:R,name:z,valueAsNumber:I,mount:P}=e._f,A=b(t,z);if(!P||r.has(z))return{};const M=o?o[0]:l,j=T=>{i&&M.reportValidity&&(M.setCustomValidity(fe(T)?"":T||""),M.reportValidity())},x={},p=ur(l),E=st(l),Z=p||E,ee=(I||or(l))&&q(l.value)&&q(A)||lt(l)&&l.value===""||A===""||Array.isArray(A)&&!A.length||I&&typeof A=="number"&&isNaN(A),ve=lr.bind(null,z,a,x),Ce=(T,W,$,Q=ye.maxLength,ue=ye.minLength)=>{const ie=T?W:$;x[z]={type:T?Q:ue,message:ie,ref:l,...ve(T?Q:ue,ie)}};if(s?!Array.isArray(A)||!A.length:c&&(!Z&&(ee||oe(A))||fe(A)&&!A||E&&!ja(o).isValid||p&&!wa(o).isValid)){const{value:T,message:W}=se(c)?{value:!!c,message:c}:Ie(c);if(T&&(x[z]={type:ye.required,message:W,ref:M,...ve(ye.required,W)},!a))return j(W),x}if(!ee&&(!oe(h)||!oe(_))){let T,W;const $=Ie(_),Q=Ie(h);if(!oe(A)&&!isNaN(A)){const ue=l.valueAsNumber||A&&+A;oe($.value)||(T=ue>$.value),oe(Q.value)||(W=ue<Q.value)}else{const ue=l.valueAsDate||new Date(A),ie=Re=>new Date(new Date().toDateString()+" "+Re),_e=l.type=="time",pe=l.type=="week";se($.value)&&A&&(T=_e?ie(A)>ie($.value):pe?A>$.value:ue>new Date($.value)),se(Q.value)&&A&&(W=_e?ie(A)<ie(Q.value):pe?A<Q.value:ue<new Date(Q.value))}if((T||W)&&(Ce(!!T,$.message,Q.message,ye.max,ye.min),!a))return j(x[z].message),x}if((m||v)&&!ee&&(se(A)||s&&Array.isArray(A))){const T=Ie(m),W=Ie(v),$=!oe(T.value)&&A.length>+T.value,Q=!oe(W.value)&&A.length<+W.value;if(($||Q)&&(Ce($,T.message,W.message),!a))return j(x[z].message),x}if(w&&!ee&&se(A)){const{value:T,message:W}=Ie(w);if(ot(T)&&!A.match(T)&&(x[z]={type:ye.pattern,message:W,ref:l,...ve(ye.pattern,W)},!a))return j(W),x}if(R){if(ae(R)){const T=Rr(await R(A,t),M);if(T&&(x[z]={...T,...ve(ye.validate,T.message)},!a))return j(T.message),x}else if(Y(R)){let T={};for(const W in R){if(!X(T)&&!a)break;const $=Rr(await R[W](A,t),M,W);$&&(T={...$,...ve(W,$.message)},j($.message),a&&(x[z]=T))}if(!X(T)&&(x[z]={ref:M,...T},!a))return x}}return j(!0),x},Wn={mode:ge.onSubmit,reValidateMode:ge.onChange,shouldFocusError:!0},Sa={submitCount:0,isDirty:!1,isReady:!1,isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{}};function Qn(e={}){let r={...Wn,...e},t={...G(Sa),isLoading:ae(r.defaultValues),errors:r.errors||{},disabled:r.disabled||!1},a={},i=Y(r.defaultValues)||Y(r.values)?G(r.defaultValues||r.values)||{}:{},s=r.shouldUnregister?{}:G(i),l={action:!1,mount:!1,watch:!1,keepIsValid:!1},o={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},c,m=0;const v={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={...v};let _={...h};const w={array:Ar(),state:Ar()},R=r.criteriaMode===ge.all,z=u=>d=>{clearTimeout(m),m=setTimeout(u,d)},I=async u=>{if(!l.keepIsValid&&!r.disabled&&(h.isValid||_.isValid||u)){let d;r.resolver?(d=X((await ee()).errors),P()):d=await T({fields:a,onlyCheckValid:!0,eventType:Ne.VALID}),d!==t.isValid&&w.state.next({isValid:d})}},P=(u,d)=>{!r.disabled&&(h.isValidating||h.validatingFields||_.isValidating||_.validatingFields)&&((u||Array.from(o.mount)).forEach(f=>{f&&(d?L(t.validatingFields,f,d):J(t.validatingFields,f))}),w.state.next({validatingFields:t.validatingFields,isValidating:!X(t.validatingFields)}))},A=()=>{t.dirtyFields=Qe(i,s)},M=(u,d=[],f,N,S=!0,C=!0)=>{if(N&&f&&!r.disabled){if(l.action=!0,C&&Array.isArray(b(a,u))){const k=f(b(a,u),N.argA,N.argB);S&&L(a,u,k)}if(C&&Array.isArray(b(t.errors,u))){const k=f(b(t.errors,u),N.argA,N.argB);S&&L(t.errors,u,k),Hn(t.errors,u)}if((h.touchedFields||_.touchedFields)&&C&&Array.isArray(b(t.touchedFields,u))){const k=f(b(t.touchedFields,u),N.argA,N.argB);S&&L(t.touchedFields,u,k)}(h.dirtyFields||_.dirtyFields)&&A(),w.state.next({name:u,isDirty:$(u,d),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else L(s,u,d)},j=(u,d)=>{L(t.errors,u,d),w.state.next({errors:t.errors})},x=u=>{t.errors=u,w.state.next({errors:t.errors,isValid:!1})},p=(u,d,f,N)=>{const S=b(a,u);if(S){const C=q(b(s,u)),k=b(s,u,q(f)?b(i,u):f);q(k)||N&&N.defaultChecked||d?L(s,u,d?k:Fr(S._f)):ie(u,k),l.mount&&!l.action&&(I(),C&&t.isDirty&&(h.isDirty||_.isDirty)&&($()||(t.isDirty=!1,w.state.next({...t}))))}},E=(u,d,f,N,S)=>{let C=!1,k=!1;const D={name:u};if(!r.disabled){if(!f||N){(h.isDirty||_.isDirty)&&(k=t.isDirty,t.isDirty=D.isDirty=$(),C=k!==D.isDirty);const K=me(b(i,u),d);k=!!b(t.dirtyFields,u),K?J(t.dirtyFields,u):L(t.dirtyFields,u,!0),D.dirtyFields=t.dirtyFields,C=C||(h.dirtyFields||_.dirtyFields)&&k!==!K}if(f){const K=b(t.touchedFields,u);K||(L(t.touchedFields,u,f),D.touchedFields=t.touchedFields,C=C||(h.touchedFields||_.touchedFields)&&K!==f)}C&&S&&w.state.next(D)}return C?D:{}},Z=(u,d,f,N)=>{const S=b(t.errors,u),C=(h.isValid||_.isValid)&&fe(d)&&t.isValid!==d;if(r.delayError&&f?(c=z(()=>j(u,f)),c(r.delayError)):(clearTimeout(m),c=null,f?L(t.errors,u,f):J(t.errors,u)),(f?!me(S,f):S)||!X(N)||C){const k={...N,...C&&fe(d)?{isValid:d}:{},errors:t.errors,name:u};t={...t,...k},w.state.next(k)}},ee=async u=>(P(u,!0),await r.resolver(s,r.context,Ln(u||o.mount,a,r.criteriaMode,r.shouldUseNativeValidation))),ve=async u=>{const{errors:d}=await ee(u);if(P(u),u)for(const f of u){const N=b(d,f);N?L(t.errors,f,N):J(t.errors,f)}else t.errors=d;return d},Ce=async({name:u,eventType:d})=>{if(e.validate){const f=await e.validate({formValues:s,formState:t,name:u,eventType:d});if(Y(f))for(const N in f)f[N]&&H(`${St}.${N}`,{message:se(f.message)?f.message:"",type:ye.validate});else se(f)||!f?H(St,{message:f||"",type:ye.validate}):B(St);return f}return!0},T=async({fields:u,onlyCheckValid:d,name:f,eventType:N,context:S={valid:!0,runRootValidation:!1}})=>{if(e.validate&&(S.runRootValidation=!0,!await Ce({name:f,eventType:N})&&(S.valid=!1,d)))return S.valid;for(const C in u){const k=u[C];if(k){const{_f:D,...K}=k;if(D){const le=o.array.has(D.name),xe=k._f&&Un(k._f);xe&&h.validatingFields&&P([D.name],!0);const de=await Gt(k,o.disabled,s,R,r.shouldUseNativeValidation&&!d,le);if(xe&&h.validatingFields&&P([D.name]),de[D.name]&&(S.valid=!1,d)||(!d&&(b(de,D.name)?le?Na(t.errors,de,D.name):L(t.errors,D.name,de[D.name]):J(t.errors,D.name)),e.shouldUseNativeValidation&&de[D.name]))break}!X(K)&&await T({context:S,onlyCheckValid:d,fields:K,name:C,eventType:N})}}return S.valid},W=()=>{for(const u of o.unMount){const d=b(a,u);d&&(d._f.refs?d._f.refs.every(f=>!At(f)):!At(d._f.ref))&&yt(u)}o.unMount=new Set},$=(u,d)=>!r.disabled&&(u&&d&&L(s,u,d),!me(O(),i)),Q=(u,d,f)=>Lt(u,o,{...l.mount?s:q(d)?i:se(u)?{[u]:d}:d},f,d),ue=u=>ct(b(l.mount?s:i,u,r.shouldUnregister?b(i,u,[]):[])),ie=(u,d,f={})=>{const N=b(a,u);let S=d;if(N){const C=N._f;C&&(!C.disabled&&L(s,u,_a(d,C)),S=lt(C.ref)&&oe(d)?"":d,xa(C.ref)?[...C.ref.options].forEach(k=>k.selected=S.includes(k.value)):C.refs?st(C.ref)?C.refs.forEach(k=>{(!k.defaultChecked||!k.disabled)&&(Array.isArray(S)?k.checked=!!S.find(D=>D===k.value):k.checked=S===k.value||!!S)}):C.refs.forEach(k=>k.checked=k.value===S):or(C.ref)?C.ref.value="":(C.ref.value=S,C.ref.type||w.state.next({name:u,values:G(s)})))}(f.shouldDirty||f.shouldTouch)&&E(u,S,f.shouldTouch,f.shouldDirty,!0),f.shouldValidate&&F(u)},_e=(u,d,f)=>{for(const N in d){if(!d.hasOwnProperty(N))return;const S=d[N],C=u+"."+N,k=b(a,C);(o.array.has(u)||Y(S)||k&&!k._f)&&!Ee(S)?_e(C,S,f):ie(C,S,f)}},pe=(u,d,f={})=>{const N=b(a,u),S=o.array.has(u),C=G(d),k=me(b(s,u),C);if(L(s,u,C),S)w.array.next({name:u,values:G(s)}),(h.isDirty||h.dirtyFields||_.isDirty||_.dirtyFields)&&f.shouldDirty&&(A(),w.state.next({name:u,dirtyFields:t.dirtyFields,isDirty:$(u,C)}));else{const D=Array.isArray(C)&&!C.length||X(C);!N||N._f||oe(C)||D?ie(u,C,f):_e(u,C,f)}if(!k){const D=Kt(u,o);w.state.next({...D&&t,name:l.mount||D?u:void 0,values:G(s)})}},Re=u=>{const d=ae(u)?u(s):u;me(s,d)||(s={...s,...d},w.state.next({...t,values:s}))},Ke=async u=>{l.mount=!0;const d=u.target;let f=d.name,N=!0;const S=b(a,f),C=K=>{N=Number.isNaN(K)||Ee(K)&&isNaN(K.getTime())||me(K,b(s,f,K))},k=Me(r.mode),D=Me(r.reValidateMode);if(S){let K,le;const xe=d.type?Fr(S._f):ha(u),de=u.type===Ne.BLUR||u.type===Ne.FOCUS_OUT,Ka=!Bn(S._f)&&!e.validate&&!r.resolver&&!b(t.errors,f)&&!S._f.deps||Gn(de,b(t.touchedFields,f),t.isSubmitted,D,k),Ct=Kt(f,o,de);L(s,f,xe),de?(!d||!d.readOnly)&&(S._f.onBlur&&S._f.onBlur(u),c&&c(0)):S._f.onChange&&S._f.onChange(u);const jt=E(f,xe,de),Ga=!X(jt)||Ct;if(!de&&w.state.next({name:f,type:u.type,values:G(s)}),Ka)return(h.isValid||_.isValid)&&(r.mode==="onBlur"?de&&I():de||I()),Ga&&w.state.next({name:f,...Ct?{}:jt});if(!r.resolver&&e.validate&&await Ce({name:f,eventType:u.type}),!de&&Ct&&w.state.next({...t}),r.resolver){const{errors:yr}=await ee([f]);if(P([f]),C(xe),N){const Ha=Tr(t.errors,a,f),br=Tr(yr,a,Ha.name||f);K=br.error,f=br.name,le=X(yr)}}else P([f],!0),K=(await Gt(S,o.disabled,s,R,r.shouldUseNativeValidation))[f],P([f]),C(xe),N&&(K?le=!1:(h.isValid||_.isValid)&&(le=await T({fields:a,onlyCheckValid:!0,name:f,eventType:u.type})));N&&(S._f.deps&&(!Array.isArray(S._f.deps)||S._f.deps.length>0)&&F(S._f.deps),Z(f,le,K,jt))}},y=(u,d)=>{if(b(t.errors,d)&&u.focus)return u.focus(),1},F=async(u,d={})=>{let f,N;const S=ce(u);if(r.resolver){const C=await ve(q(u)?u:S);f=X(C),N=u?!S.some(k=>b(C,k)):f}else u?(N=(await Promise.all(S.map(async C=>{const k=b(a,C);return await T({fields:k&&k._f?{[C]:k}:k,eventType:Ne.TRIGGER})}))).every(Boolean),!(!N&&!t.isValid)&&I()):N=f=await T({fields:a,name:u,eventType:Ne.TRIGGER});return w.state.next({...!se(u)||(h.isValid||_.isValid)&&f!==t.isValid?{}:{name:u},...r.resolver||!u?{isValid:f}:{},errors:t.errors}),d.shouldFocus&&!N&&$e(a,y,u?S:o.mount),N},O=(u,d)=>{let f={...l.mount?s:i};return d&&(f=ba(d.dirtyFields?t.dirtyFields:t.touchedFields,f)),q(u)?f:se(u)?b(f,u):u.map(N=>b(f,N))},V=(u,d)=>({invalid:!!b((d||t).errors,u),isDirty:!!b((d||t).dirtyFields,u),error:b((d||t).errors,u),isValidating:!!b(t.validatingFields,u),isTouched:!!b((d||t).touchedFields,u)}),B=u=>{const d=u?ce(u):void 0;d?.forEach(f=>J(t.errors,f)),d?d.forEach(f=>{w.state.next({name:f,errors:t.errors})}):w.state.next({errors:{}})},H=(u,d,f)=>{const N=(b(a,u,{_f:{}})._f||{}).ref,{ref:S,message:C,type:k,...D}=b(t.errors,u)||{};L(t.errors,u,{...D,...d,ref:N}),w.state.next({name:u,errors:t.errors,isValid:!1}),f&&f.shouldFocus&&N&&N.focus&&N.focus()},te=(u,d)=>ae(u)?w.state.subscribe({next:f=>"values"in f&&u(f.values||Q(void 0,d),f)}):Q(u,d,!0),re=u=>w.state.subscribe({next:d=>{if(Kn(u.name,d.name,u.exact)&&qn(d,u.formState||h,qa,u.reRenderRoot)){const f={...s};u.callback({values:f,...t,...d,defaultValues:i})}}}).unsubscribe,pt=u=>(l.mount=!0,_={..._,...u.formState},re({...u,formState:{...v,...u.formState}})),yt=(u,d={})=>{for(const f of u?ce(u):o.mount)o.mount.delete(f),o.array.delete(f),d.keepValue||(J(a,f),J(s,f)),!d.keepError&&J(t.errors,f),!d.keepDirty&&J(t.dirtyFields,f),!d.keepTouched&&J(t.touchedFields,f),!d.keepIsValidating&&J(t.validatingFields,f),!r.shouldUnregister&&!d.keepDefaultValue&&J(i,f);w.state.next({values:G(s)}),w.state.next({...t,...d.keepDirty?{isDirty:$()}:{}}),!d.keepIsValid&&I()},mr=({disabled:u,name:d})=>{if(fe(u)&&l.mount||u||o.disabled.has(d)){const f=o.disabled.has(d)!==!!u;u?o.disabled.add(d):o.disabled.delete(d),f&&l.mount&&!l.action&&I()}},bt=(u,d={})=>{let f=b(a,u);const N=fe(d.disabled)||fe(r.disabled),S=!o.registerName.has(u)&&f&&f._f&&!f._f.mount;return L(a,u,{...f||{},_f:{...f&&f._f?f._f:{ref:{name:u}},name:u,mount:!0,...d}}),o.mount.add(u),f&&!S?mr({disabled:fe(d.disabled)?d.disabled:r.disabled,name:u}):p(u,!0,d.value),{...N?{disabled:d.disabled||r.disabled}:{},...r.progressive?{required:!!d.required,min:He(d.min),max:He(d.max),minLength:He(d.minLength),maxLength:He(d.maxLength),pattern:He(d.pattern)}:{},name:u,onChange:Ke,onBlur:Ke,ref:C=>{if(C){o.registerName.add(u),bt(u,d),o.registerName.delete(u),f=b(a,u);const k=q(C.value)&&C.querySelectorAll&&C.querySelectorAll("input,select,textarea")[0]||C,D=On(k),K=f._f.refs||[];if(D?K.find(le=>le===k):k===f._f.ref)return;L(a,u,{_f:{...f._f,...D?{refs:[...K.filter(At),k,...Array.isArray(b(i,u))?[{}]:[]],ref:{type:k.type,name:u}}:{ref:k}}}),p(u,!1,void 0,k)}else f=b(a,u,{}),f._f&&(f._f.mount=!1),(r.shouldUnregister||d.shouldUnregister)&&!(va(o.array,u)&&l.action)&&o.unMount.add(u)}}},xt=()=>r.shouldFocusError&&$e(a,y,o.mount),La=u=>{fe(u)&&(w.state.next({disabled:u}),$e(a,(d,f)=>{const N=b(a,f);N&&(d.disabled=N._f.disabled||u,Array.isArray(N._f.refs)&&N._f.refs.forEach(S=>{S.disabled=N._f.disabled||u}))},0,!1))},gr=(u,d)=>async f=>{let N;f&&(f.preventDefault&&f.preventDefault(),f.persist&&f.persist());let S=G(s);if(w.state.next({isSubmitting:!0}),r.resolver){const{errors:C,values:k}=await ee();P(),t.errors=C,S=G(k)}else await T({fields:a,eventType:Ne.SUBMIT});if(o.disabled.size)for(const C of o.disabled)J(S,C);if(J(t.errors,pa),X(t.errors)){w.state.next({errors:{}});try{await u(S,f)}catch(C){N=C}}else d&&await d({...t.errors},f),xt(),setTimeout(xt);if(w.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:X(t.errors)&&!N,submitCount:t.submitCount+1,errors:t.errors}),N)throw N},Ua=(u,d={})=>{b(a,u)&&(q(d.defaultValue)?pe(u,G(b(i,u))):(pe(u,d.defaultValue),L(i,u,G(d.defaultValue))),d.keepTouched||J(t.touchedFields,u),d.keepDirty||(J(t.dirtyFields,u),t.isDirty=d.defaultValue?$(u,G(b(i,u))):$()),d.keepError||(J(t.errors,u),h.isValid&&I()),w.state.next({...t}))},hr=(u,d={})=>{const f=u?G(u):i,N=G(f),S=X(u),C=S?i:N;if(d.keepDefaultValues||(i=f),!d.keepValues){if(d.keepDirtyValues){const k=new Set([...o.mount,...Object.keys(Qe(i,s))]);for(const D of Array.from(k)){const K=b(t.dirtyFields,D),le=b(s,D),xe=b(C,D);K&&!q(le)?L(C,D,le):!K&&!q(xe)&&pe(D,xe)}}else{if(rr&&q(u))for(const k of o.mount){const D=b(a,k);if(D&&D._f){const K=Array.isArray(D._f.refs)?D._f.refs[0]:D._f.ref;if(lt(K)){const le=K.closest("form");if(le){le.reset();break}}}}if(d.keepFieldsRef)for(const k of o.mount)pe(k,b(C,k));else a={}}s=r.shouldUnregister?d.keepDefaultValues?G(i):{}:G(C),w.array.next({values:{...C}}),w.state.next({values:{...C}})}o={mount:d.keepDirtyValues?o.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},l.mount=!h.isValid||!!d.keepIsValid||!!d.keepDirtyValues||!r.shouldUnregister&&!X(C),l.watch=!!r.shouldUnregister,l.keepIsValid=!!d.keepIsValid,l.action=!1,d.keepErrors||(t.errors={}),w.state.next({submitCount:d.keepSubmitCount?t.submitCount:0,isDirty:S?!1:d.keepDirty?t.isDirty:!!(d.keepDefaultValues&&!me(u,i)),isSubmitted:d.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:S?{}:d.keepDirtyValues?d.keepDefaultValues&&s?Qe(i,s):t.dirtyFields:d.keepDefaultValues&&u?Qe(i,u):d.keepDirty?t.dirtyFields:{},touchedFields:d.keepTouched?t.touchedFields:{},errors:d.keepErrors?t.errors:{},isSubmitSuccessful:d.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},vr=(u,d)=>hr(ae(u)?u(s):u,{...r.resetOptions,...d}),Ba=(u,d={})=>{const f=b(a,u),N=f&&f._f;if(N){const S=N.refs?N.refs[0]:N.ref;S.focus&&setTimeout(()=>{S.focus(),d.shouldSelect&&ae(S.select)&&S.select()})}},qa=u=>{t={...t,...u}},pr={control:{register:bt,unregister:yt,getFieldState:V,handleSubmit:gr,setError:H,_subscribe:re,_runSchema:ee,_updateIsValidating:P,_focusError:xt,_getWatch:Q,_getDirty:$,_setValid:I,_setFieldArray:M,_setDisabledField:mr,_setErrors:x,_getFieldArray:ue,_reset:hr,_resetDefaultValues:()=>ae(r.defaultValues)&&r.defaultValues().then(u=>{vr(u,r.resetOptions),w.state.next({isLoading:!1})}),_removeUnmounted:W,_disableForm:La,_subjects:w,_proxyFormState:h,get _fields(){return a},get _formValues(){return s},get _state(){return l},set _state(u){l=u},get _defaultValues(){return i},get _names(){return o},set _names(u){o=u},get _formState(){return t},get _options(){return r},set _options(u){r={...r,...u}}},subscribe:pt,trigger:F,register:bt,handleSubmit:gr,watch:te,setValue:pe,setValues:Re,getValues:O,reset:vr,resetField:Ua,clearErrors:B,unregister:yt,setError:H,setFocus:Ba,getFieldState:V};return{...pr,formControl:pr}}var we=()=>{if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();const e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{const t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},kt=(e,r,t={})=>t.shouldFocus||q(t.shouldFocus)?t.focusName||`${e}.${q(t.focusIndex)?r:t.focusIndex}.`:"",Vt=(e,r)=>[...e,...ce(r)],Et=e=>Array.isArray(e)?e.map(()=>{}):void 0;function Ft(e,r,t){return[...e.slice(0,r),...ce(t),...e.slice(r)]}var Dt=(e,r,t)=>Array.isArray(e)?(q(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],Tt=(e,r)=>[...ce(r),...ce(e)];function Yn(e,r){let t=0;const a=[...e];for(const i of r)a.splice(i-t,1),t++;return ct(a).length?a:[]}var Rt=(e,r)=>q(r)?[]:Yn(e,ce(r).sort((t,a)=>t-a)),It=(e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},Ir=(e,r,t)=>(e[r]=t,e);function dl(e){const r=ft(),{control:t=r,name:a,keyName:i="id",shouldUnregister:s,rules:l}=e,[o,c]=g.useState(t._getFieldArray(a)),m=g.useRef(t._getFieldArray(a).map(we)),v=g.useRef(!1);t._names.array.add(a),g.useMemo(()=>l&&o.length>=0&&t.register(a,l),[t,a,o.length,l]),mt(()=>t._subjects.array.subscribe({next:({values:j,name:x})=>{if(x===a||!x){const p=b(j,a);Array.isArray(p)&&(c(p),m.current=p.map(we))}}}).unsubscribe,[t,a]);const h=g.useCallback(j=>{v.current=!0,t._setFieldArray(a,j)},[t,a]),_=(j,x)=>{const p=ce(G(j)),E=Vt(t._getFieldArray(a),p);t._names.focus=kt(a,E.length-1,x),m.current=Vt(m.current,p.map(we)),h(E),c(E),t._setFieldArray(a,E,Vt,{argA:Et(j)})},w=(j,x)=>{const p=ce(G(j)),E=Tt(t._getFieldArray(a),p);t._names.focus=kt(a,0,x),m.current=Tt(m.current,p.map(we)),h(E),c(E),t._setFieldArray(a,E,Tt,{argA:Et(j)})},R=j=>{const x=Rt(t._getFieldArray(a),j);m.current=Rt(m.current,j),h(x),c(x),!Array.isArray(b(t._fields,a))&&L(t._fields,a,void 0),t._setFieldArray(a,x,Rt,{argA:j})},z=(j,x,p)=>{const E=ce(G(x)),Z=Ft(t._getFieldArray(a),j,E);t._names.focus=kt(a,j,p),m.current=Ft(m.current,j,E.map(we)),h(Z),c(Z),t._setFieldArray(a,Z,Ft,{argA:j,argB:Et(x)})},I=(j,x)=>{const p=t._getFieldArray(a);It(p,j,x),It(m.current,j,x),h(p),c(p),t._setFieldArray(a,p,It,{argA:j,argB:x},!1)},P=(j,x)=>{const p=t._getFieldArray(a);Dt(p,j,x),Dt(m.current,j,x),h(p),c(p),t._setFieldArray(a,p,Dt,{argA:j,argB:x},!1)},A=(j,x)=>{const p=G(x),E=Ir(t._getFieldArray(a),j,p);m.current=[...E].map((Z,ee)=>!Z||ee===j?we():m.current[ee]),h(E),c([...E]),t._setFieldArray(a,E,Ir,{argA:j,argB:p},!0,!1)},M=j=>{const x=ce(G(j));m.current=x.map(we),h([...x]),c([...x]),t._setFieldArray(a,[...x],p=>p,{},!0,!1)};return g.useEffect(()=>{t._state.action=!1,Kt(a,t._names)&&t._subjects.state.next({...t._formState});const j=Me(t._options.mode);if(v.current&&(!j.isOnSubmit||t._formState.isSubmitted)&&!Me(t._options.reValidateMode).isOnSubmit&&!j.isOnBlur)if(t._options.resolver)t._runSchema([a]).then(x=>{t._updateIsValidating([a]);const p=b(x.errors,a),E=b(t._formState.errors,a);(E?!p&&E.type||p&&(E.type!==p.type||E.message!==p.message):p&&p.type)&&(p?L(t._formState.errors,a,p):J(t._formState.errors,a),t._subjects.state.next({errors:t._formState.errors}))});else{const x=b(t._fields,a);x&&x._f&&!(Me(t._options.reValidateMode).isOnSubmit&&Me(t._options.mode).isOnSubmit)&&Gt(x,t._names.disabled,t._formValues,t._options.criteriaMode===ge.all,t._options.shouldUseNativeValidation,!0).then(p=>!X(p)&&t._subjects.state.next({errors:Na(t._formState.errors,p,a)}))}t._subjects.state.next({name:a,values:G(t._formValues)}),t._names.focus&&$e(t._fields,(x,p)=>{if(t._names.focus&&p.startsWith(t._names.focus)&&x.focus)return x.focus(),1}),t._names.focus="",t._setValid(),v.current=!1},[o,a,t]),g.useEffect(()=>(!b(t._formValues,a)&&t._setFieldArray(a),()=>{const j=!(t._options.shouldUnregister||s),x=(p,E)=>{const Z=b(t._fields,p);Z&&Z._f&&(Z._f.mount=E)};v.current&&j&&t._subjects.state.next({name:a,values:G(t._formValues)}),j?x(a,!1):t.unregister(a)}),[a,t,i,s]),{swap:g.useCallback(I,[h,a,t]),move:g.useCallback(P,[h,a,t]),prepend:g.useCallback(w,[h,a,t]),append:g.useCallback(_,[h,a,t]),remove:g.useCallback(R,[h,a,t]),insert:g.useCallback(z,[h,a,t]),update:g.useCallback(A,[h,a,t]),replace:g.useCallback(M,[h,a,t]),fields:g.useMemo(()=>o.map((j,x)=>({...j,[i]:m.current[x]||we()})),[o,i])}}function dr(e={}){const r=g.useRef(void 0),t=g.useRef(void 0),[a,i]=g.useState(()=>({...G(Sa),isLoading:ae(e.defaultValues),errors:e.errors||{},disabled:e.disabled||!1,defaultValues:ae(e.defaultValues)?void 0:e.defaultValues}));if(!r.current)if(e.formControl)r.current={...e.formControl,formState:a},e.defaultValues&&!ae(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:l,...o}=Qn(e);r.current={...o,formState:a}}const s=r.current.control;return s._options=e,mt(()=>{const l=s._subscribe({formState:s._proxyFormState,callback:()=>i({...s._formState}),reRenderRoot:!0});return i(o=>({...o,isReady:!0})),s._formState.isReady=!0,l},[s]),g.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),g.useEffect(()=>{e.mode&&(s._options.mode=e.mode),e.reValidateMode&&(s._options.reValidateMode=e.reValidateMode)},[s,e.mode,e.reValidateMode]),g.useEffect(()=>{e.errors&&(s._setErrors(e.errors),s._focusError())},[s,e.errors]),g.useEffect(()=>{e.shouldUnregister&&s._subjects.state.next({values:s._getWatch()})},[s,e.shouldUnregister]),g.useEffect(()=>{if(s._proxyFormState.isDirty){const l=s._getDirty();l!==a.isDirty&&s._subjects.state.next({isDirty:l})}},[s,a.isDirty]),g.useEffect(()=>{var l;e.values&&!me(e.values,t.current)?(s._reset(e.values,{keepFieldsRef:!0,...s._options.resetOptions}),!((l=s._options.resetOptions)===null||l===void 0)&&l.keepIsValid||s._setValid(),t.current=e.values,i(o=>({...o}))):s._resetDefaultValues()},[s,e.values]),g.useEffect(()=>{s._state.mount||(s._setValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),r.current.formState=g.useMemo(()=>ya(a,s),[s,a]),r.current}var zr=(e,r,t)=>{if(e&&"reportValidity"in e){const a=b(t,r);e.setCustomValidity(a&&a.message||""),e.reportValidity()}},Ht=(e,r)=>{for(const t in r.fields){const a=r.fields[t];a&&a.ref&&"reportValidity"in a.ref?zr(a.ref,t,e):a&&a.refs&&a.refs.forEach(i=>zr(i,t,e))}},Or=(e,r)=>{r.shouldUseNativeValidation&&Ht(e,r);const t={};for(const a in e){const i=b(r.fields,a),s=Object.assign(e[a]||{},{ref:i&&i.ref});if(Jn(r.names||Object.keys(e),a)){const l=Object.assign({},b(t,a));L(l,"root",s),L(t,a,l)}else L(t,a,s)}return t},Jn=(e,r)=>{const t=Mr(r);return e.some(a=>Mr(a).match(`^${t}\\.\\d+`))};function Mr(e){return e.replace(/\]|\[/g,"")}var Pr;function Aa(e,r,t){function a(o,c){if(o._zod||Object.defineProperty(o,"_zod",{value:{def:c,constr:l,traits:new Set},enumerable:!1}),o._zod.traits.has(e))return;o._zod.traits.add(e),r(o,c);const m=l.prototype,v=Object.keys(m);for(let h=0;h<v.length;h++){const _=v[h];_ in o||(o[_]=m[_].bind(o))}}const i=t?.Parent??Object;class s extends i{}Object.defineProperty(s,"name",{value:e});function l(o){var c;const m=t?.Parent?new s:this;a(m,o),(c=m._zod).deferred??(c.deferred=[]);for(const v of m._zod.deferred)v();return m}return Object.defineProperty(l,"init",{value:a}),Object.defineProperty(l,Symbol.hasInstance,{value:o=>t?.Parent&&o instanceof t.Parent?!0:o?._zod?.traits?.has(e)}),Object.defineProperty(l,"name",{value:e}),l}var Zn=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(Pr=globalThis).__zod_globalConfig??(Pr.__zod_globalConfig={});var $r=globalThis.__zod_globalConfig;function ka(e){return e&&Object.assign($r,e),$r}function Xn(e,r){return typeof r=="bigint"?r.toString():r}var Va="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{},cl={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function nt(e){return typeof e=="string"?e:e?.message}function Ea(e,r,t){const a=e.message?e.message:nt(e.inst?._zod.def?.error?.(e))??nt(r?.error?.(e))??nt(t.customError?.(e))??nt(t.localeError?.(e))??"Invalid input",{inst:i,continue:s,input:l,...o}=e;return o.path??(o.path=[]),o.message=a,r?.reportInput&&(o.input=l),o}var Fa=(e,r)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:r,enumerable:!1}),e.message=JSON.stringify(r,Xn,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},ei=Aa("$ZodError",Fa),Da=Aa("$ZodError",Fa,{Parent:Error}),ti=e=>(r,t,a,i)=>{const s=a?{...a,async:!1}:{async:!1},l=r._zod.run({value:t,issues:[]},s);if(l instanceof Promise)throw new Zn;if(l.issues.length){const o=new(i?.Err??e)(l.issues.map(c=>Ea(c,s,ka())));throw Va(o,i?.callee),o}return l.value},ri=ti(Da),ai=e=>async(r,t,a,i)=>{const s=a?{...a,async:!0}:{async:!0};let l=r._zod.run({value:t,issues:[]},s);if(l instanceof Promise&&(l=await l),l.issues.length){const o=new(i?.Err??e)(l.issues.map(c=>Ea(c,s,ka())));throw Va(o,i?.callee),o}return l.value},si=ai(Da);function Lr(e,r){try{var t=e()}catch(a){return r(a)}return t&&t.then?t.then(void 0,r):t}function ni(e,r){for(var t={};e.length;){var a=e[0],i=a.code,s=a.message,l=a.path.join(".");if(!t[l])if("unionErrors"in a){var o=a.unionErrors[0].errors[0];t[l]={message:o.message,type:o.code}}else t[l]={message:s,type:i};if("unionErrors"in a&&a.unionErrors.forEach(function(v){return v.errors.forEach(function(h){return e.push(h)})}),r){var c=t[l].types,m=c&&c[a.code];t[l]=lr(l,r,t,i,m?[].concat(m,a.message):a.message)}e.shift()}return t}function ii(e,r){for(var t={};e.length;){var a=e[0],i=a.code,s=a.message,l=a.path.join(".");if(!t[l])if(a.code==="invalid_union"&&a.errors.length>0){var o=a.errors[0][0];t[l]={message:o.message,type:o.code}}else t[l]={message:s,type:i};if(a.code==="invalid_union"&&a.errors.forEach(function(v){return v.forEach(function(h){return e.push(h)})}),r){var c=t[l].types,m=c&&c[a.code];t[l]=lr(l,r,t,i,m?[].concat(m,a.message):a.message)}e.shift()}return t}function cr(e,r,t){if(t===void 0&&(t={}),(function(a){return"_def"in a&&typeof a._def=="object"&&"typeName"in a._def})(e))return function(a,i,s){try{return Promise.resolve(Lr(function(){return Promise.resolve(e[t.mode==="sync"?"parse":"parseAsync"](a,r)).then(function(l){return s.shouldUseNativeValidation&&Ht({},s),{errors:{},values:t.raw?Object.assign({},a):l}})},function(l){if((function(o){return Array.isArray(o?.issues)})(l))return{values:{},errors:Or(ni(l.errors,!s.shouldUseNativeValidation&&s.criteriaMode==="all"),s)};throw l}))}catch(l){return Promise.reject(l)}};if((function(a){return"_zod"in a&&typeof a._zod=="object"})(e))return function(a,i,s){try{return Promise.resolve(Lr(function(){return Promise.resolve((t.mode==="sync"?ri:si)(e,a,r)).then(function(l){return s.shouldUseNativeValidation&&Ht({},s),{errors:{},values:t.raw?Object.assign({},a):l}})},function(l){if((function(o){return o instanceof ei})(l))return{values:{},errors:Or(ii(l.issues,!s.shouldUseNativeValidation&&s.criteriaMode==="all"),s)};throw l}))}catch(l){return Promise.reject(l)}};throw new Error("Invalid input: not a Zod schema")}var Ta=({onCancel:e,isLoading:r})=>(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(ne,{type:"button",variant:"outline",size:"lg",onClick:e,disabled:r,children:"Cancel"}),(0,n.jsx)(ne,{type:"submit",variant:"default",size:"lg",disabled:r,children:"Save"})]}),li={numeric:[{value:"int2",label:"int2",description:"Signed two-byte integer"},{value:"int4",label:"int4",description:"Signed four-byte integer"},{value:"int8",label:"int8",description:"Signed eight-byte integer"},{value:"float4",label:"float4",description:"Single precision floating-point number (4 bytes)"},{value:"float8",label:"float8",description:"Double precision floating-point number (8 bytes)"},{value:"numeric",label:"numeric",description:"Exact numeric of selectable precision"},{value:"serial",label:"serial",description:"Auto-incrementing four-byte integer"},{value:"bigserial",label:"bigserial",description:"Auto-incrementing eight-byte integer"}],text:[{value:"text",label:"text",description:"Variable-length character string"},{value:"varchar",label:"varchar",description:"Variable-length character string"},{value:"char",label:"char",description:"Fixed-length character string"},{value:"uuid",label:"uuid",description:"Universally unique identifier"}],boolean:[{value:"boolean",label:"boolean",description:"Logical boolean (true/false)"}],datetime:[{value:"date",label:"date",description:"Calendar date (year, month, day)"},{value:"time",label:"time",description:"Time of day (no time zone)"},{value:"timestamp",label:"timestamp",description:"Date and time (no time zone)"},{value:"timestamptz",label:"timestamptz",description:"Date and time with time zone"},{value:"interval",label:"interval",description:"Time span"}],json:[{value:"json",label:"json",description:"Textual JSON data"},{value:"jsonb",label:"jsonb",description:"Binary JSON data, decomposed"}],binary:[{value:"bytea",label:"bytea",description:'Binary data ("byte array")'}],network:[{value:"inet",label:"inet",description:"IPv4 or IPv6 host address"},{value:"cidr",label:"cidr",description:"IPv4 or IPv6 network address"},{value:"macaddr",label:"macaddr",description:"MAC (Media Access Control) address"},{value:"macaddr8",label:"macaddr8",description:"MAC address (EUI-64 format)"}],geometric:[{value:"point",label:"point",description:"Geometric point on a plane"},{value:"line",label:"line",description:"Infinite line on a plane"},{value:"polygon",label:"polygon",description:"Closed geometric path on a plane"}],other:[{value:"xml",label:"xml",description:"XML data"}]},oi={numeric:[{value:"double",label:"double",description:"64-bit floating point number"},{value:"int",label:"int",description:"32-bit signed integer"},{value:"long",label:"long",description:"64-bit signed integer"},{value:"decimal",label:"decimal",description:"128-bit decimal value"}],text:[{value:"string",label:"string",description:"UTF-8 string"},{value:"javascript",label:"javascript",description:"JavaScript code"},{value:"javascriptWithScope",label:"javascriptWithScope",description:"JavaScript code with scope"},{value:"symbol",label:"symbol",description:"Symbol (deprecated)"}],boolean:[{value:"bool",label:"bool",description:"Boolean true/false"}],datetime:[{value:"date",label:"date",description:"UTC datetime"},{value:"timestamp",label:"timestamp",description:"MongoDB timestamp"}],document:[{value:"object",label:"object",description:"Embedded document"},{value:"array",label:"array",description:"Array value"},{value:"objectId",label:"objectId",description:"ObjectId value"}],binary:[{value:"binData",label:"binData",description:"Binary data"},{value:"regex",label:"regex",description:"Regular expression"}],legacy:[{value:"undefined",label:"undefined",description:"Undefined (deprecated)"},{value:"dbPointer",label:"dbPointer",description:"DB pointer (deprecated)"}],special:[{value:"null",label:"null",description:"Null value"},{value:"minKey",label:"minKey",description:"Minimum BSON value"},{value:"maxKey",label:"maxKey",description:"Maximum BSON value"}]},Ra=["serial","bigserial"],Ia=["int2","int4","int8","float4","float8","numeric","text","varchar","char","uuid","boolean","date","time","timestamp","timestamptz","interval","json","jsonb","bytea","inet","cidr","macaddr","macaddr8"],Ur=[{name:"isNullable",label:"Is Nullable",description:"Specify if the column can assume a NULL value if no value is provided"},{name:"isUnique",label:"Is Unique",description:"Enforce if values in the column should be unique across rows"},{name:"isIdentity",label:"Is Identity",description:"Automatically assign a sequential unique number to the column"},{name:"isArray",label:"Define as Array",description:"Define your column as a variable-length multidimensional array"}],fl=[{value:"NO ACTION",label:"No action"},{value:"RESTRICT",label:"Restrict"},{value:"CASCADE",label:"Cascade"},{value:"SET NULL",label:"Set null"},{value:"SET DEFAULT",label:"Set default"}],fr=({index:e})=>{const[r,t]=(0,g.useState)(!1),a=Qt()?.dataModel==="document",i=a?oi:li,{control:s,setValue:l,formState:{errors:o}}=Te();return(0,n.jsx)(qe,{control:s,name:`fields.${e}.columnType`,render:({field:c})=>(0,n.jsxs)(Ys,{modal:!0,open:r,onOpenChange:t,children:[(0,n.jsx)(Bs,{asChild:!0,children:(0,n.jsxs)(ne,{id:`columnType-${e}`,role:"combobox","aria-expanded":r,"aria-controls":`columnType-${e}-listbox`,variant:"outline",className:U("w-full justify-between border-input bg-background px-3 font-normal hover:bg-background",o?.fields?.[e]?.columnType?"border-destructive ring-destructive ring-1":""),children:[c.value||"Select type",(0,n.jsx)(as,{"aria-hidden":"true",className:"-me-1 opacity-60",size:16})]})}),(0,n.jsx)(Hs,{id:`columnType-${e}-listbox`,align:"start",className:"w-full min-w-[--radix-popper-anchor-width] border-input p-0",children:(0,n.jsxs)(ma,{children:[(0,n.jsx)(Vn,{placeholder:"Search type..."}),(0,n.jsxs)(En,{children:[(0,n.jsx)(Fn,{children:"No type found."}),Object.entries(i).map(([m,v])=>(0,n.jsx)(Dn,{heading:m,children:v.map(h=>(0,n.jsxs)(Tn,{value:`${h.label} ${h.description}`,onSelect:()=>{c.onChange(h.value),!a&&Ra.includes(h.value)&&l(`fields.${e}.isIdentity`,!1),!a&&h.value&&!Ia.includes(h.value)&&l(`fields.${e}.isArray`,!1),t(!1)},children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1 items-start flex-1",children:[(0,n.jsx)("p",{className:"font-medium",children:h.label}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:h.description})]}),c.value===h.value&&(0,n.jsx)(tt,{className:"ml-auto shrink-0",size:16})]},h.value))},m))]})]})})]})})},Br=(e,r)=>e.flatMap((t,a)=>{const i=r.fields[a];if(!i)return[];const s=i.columnType!==t.dataTypeLabel?{columnType:i.columnType,isNullable:t.isNullable,defaultValue:t.columnDefault}:void 0,l=i.columnName.trim(),o=l!==t.columnName?l:void 0;return s||o!==void 0?[{columnName:t.columnName,alter:s,newColumnName:o}]:[]}),ui=({tableName:e,schemaName:r})=>{const t=et(),{selectedDatabase:a}=Be(),{mutateAsync:i,isPending:s}=Xe({mutationFn:async o=>{for(const{columnName:c,alter:m,newColumnName:v}of o)m&&await ta({tableName:e,schemaName:r,columnName:c,data:m,db:a}),v!==void 0&&await ra({tableName:e,schemaName:r,columnName:c,data:{newColumnName:v},db:a});return o.length},onSettled:async()=>{await Promise.all([t.invalidateQueries({queryKey:be.columnsByTable(e),exact:!1}),t.invalidateQueries({queryKey:be.dataByTable(e),exact:!1})])}});return{editTable:o=>rt.promise(i(o),{loading:"Saving table changes...",success:c=>`Updated ${c} ${c===1?"column":"columns"}`,error:c=>typeof c.details=="string"&&c.details||c.message||"Failed to update table"}).unwrap(),isEditingTable:s}},za=({tableName:e,schemaName:r})=>{const{selectedDatabase:t}=Be(),{data:a,isLoading:i,isRefetching:s,error:l,refetch:o}=Za({queryKey:be.columns(e,t,r),queryFn:()=>$s(e,t,r),select:c=>c.data.data,enabled:!!e&&!!t});return{tableCols:a,isLoadingTableCols:i,isRefetchingTableCols:s,errorTableCols:l,refetchTableCols:o}},gt=Os()(e=>({editingColumn:null,setEditingColumn:r=>e({editingColumn:r}),editingTable:null,setEditingTable:r=>e({editingTable:r})})),di=Ue({fields:Ls(Ue({columnName:Je().trim().min(1,"Column name is required"),columnType:Je()})).superRefine((e,r)=>{const t=new Set;e.forEach((a,i)=>{const s=a.columnName.toLowerCase();t.has(s)&&r.addIssue({code:"custom",message:"Column name must be unique",path:[i,"columnName"]}),t.add(s)})})}),zt=e=>({fields:e.map(r=>({columnName:r.columnName,columnType:r.dataTypeLabel}))}),ml=()=>{const{editingTable:e}=gt();return(0,n.jsx)(ci,{tableName:e?.tableName??"",schemaName:e?.schemaName},e?`${e.schemaName}.${e.tableName}`:"")},ci=({tableName:e,schemaName:r})=>{const{openOverlay:t,closeOverlay:a,isOverlayOpen:i}=Ve(),{tableCols:s,isLoadingTableCols:l}=za({tableName:e,schemaName:r}),{editTable:o,isEditingTable:c}=ui({tableName:e,schemaName:r}),m=dr({mode:"onSubmit",defaultValues:zt(s??[]),resolver:cr(di)}),{handleSubmit:v,watch:h,reset:_}=m;(0,g.useEffect)(()=>{s&&_(zt(s),{keepDirtyValues:!0})},[s,_]);const w=h("fields"),R=s!==void 0&&w.length===s.length,z=R?Br(s,{fields:w}):[],I=z.length>0,P=new Map(z.map(p=>[p.columnName,p])),A=()=>a("schema.edit-table"),M=()=>{c||(I?t("schema.edit-table-discard-changes"):A())},j=()=>{_(zt(s??[])),a("schema.edit-table-discard-changes"),A()},x=async p=>{if(!s)return;const E=Br(s,p);if(E.length!==0)try{await o(E),_(p),A()}catch{}};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Wt,{title:"Edit table",description:e,open:i("schema.edit-table"),onOpenChange:p=>{p||M()},children:s&&s.length>0&&R?(0,n.jsx)(ir,{...m,children:(0,n.jsxs)("form",{onSubmit:v(x),className:"flex flex-col h-full",children:[(0,n.jsx)("div",{className:"-mx-5 -mt-6 divide-y divide-border",children:s.map((p,E)=>(0,n.jsx)(fi,{col:p,index:E,change:P.get(p.columnName),newColumnName:w[E]?.columnName.trim()??""},p.columnName))}),(0,n.jsxs)("div",{className:"sticky -bottom-6 -mx-5 -mb-6 flex items-center justify-between gap-2 border-t border-border bg-background px-5 py-4",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:I?`${z.length} ${z.length===1?"column":"columns"} changed`:"No changes"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(ne,{type:"button",variant:"outline",size:"lg",disabled:c,onClick:M,children:"Close"}),(0,n.jsx)(ne,{type:"submit",size:"lg",disabled:c||!I,children:"Save changes"})]})]})]})}):(0,n.jsx)("div",{className:"flex flex-col h-full",children:(0,n.jsx)("div",{className:"space-y-6",children:l||s&&s.length>0?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:"Loading columns..."}):(0,n.jsx)(Qs,{variant:"info",title:"No columns found",message:"This table has no columns to edit."})})})}),(0,n.jsx)(Js,{open:i("schema.edit-table-discard-changes"),onOpenChange:p=>{p||a("schema.edit-table-discard-changes")},children:(0,n.jsxs)(Ws,{children:[(0,n.jsxs)(Gs,{children:[(0,n.jsx)(Zs,{children:"Discard unsaved changes?"}),(0,n.jsx)(en,{children:"This table has unsaved column changes. Discard them and close?"})]}),(0,n.jsxs)(Ks,{children:[(0,n.jsx)(qs,{children:"Keep editing"}),(0,n.jsx)(Xs,{onClick:j,children:"Discard changes"})]})]})})]})},We=({children:e,className:r,title:t})=>(0,n.jsx)("span",{title:t,className:U("truncate rounded border border-border bg-muted/40 px-1.5 font-mono text-[10px] leading-4 text-muted-foreground",r),children:e}),fi=({col:e,index:r,change:t,newColumnName:a})=>{const{register:i,formState:s}=Te(),l=s.errors.fields?.[r]?.columnName?.message;return(0,n.jsxs)("div",{className:U("grid grid-cols-3 gap-4 px-5 py-3",t&&"bg-primary/5"),children:[(0,n.jsxs)("div",{className:"col-span-1 flex min-w-0 flex-col gap-1.5",children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5",children:[e.isPrimaryKey?(0,n.jsx)(ts,{"aria-label":"Primary key",className:"size-3.5 shrink-0 text-amber-500"}):e.isForeignKey?(0,n.jsx)(ns,{"aria-label":`References ${e.referencedTable}.${e.referencedColumn}`,className:"size-3.5 shrink-0 text-sky-500"}):(0,n.jsx)("span",{className:"size-3.5 shrink-0"}),(0,n.jsx)("span",{className:"truncate font-mono text-sm font-medium",children:e.columnName})]}),(0,n.jsxs)("div",{className:"flex min-w-0 flex-wrap items-center gap-1 pl-5",children:[t?.alter?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(We,{className:"line-through",children:e.dataTypeLabel}),(0,n.jsx)(xr,{className:"size-3 text-muted-foreground"}),(0,n.jsx)(We,{className:"border-primary/40 text-primary",children:t.alter.columnType})]}):(0,n.jsx)(We,{children:e.dataTypeLabel}),!e.isNullable&&(0,n.jsx)(We,{children:"not null"}),e.columnDefault&&(0,n.jsxs)(We,{title:e.columnDefault,className:"max-w-full",children:["default ",e.columnDefault]})]}),t?.newColumnName!==void 0&&(0,n.jsxs)("span",{className:"flex min-w-0 items-center gap-1 pl-5 font-mono text-[11px] text-primary",children:[(0,n.jsx)(xr,{className:"size-3 shrink-0"}),(0,n.jsx)("span",{className:"truncate",children:a})]})]}),(0,n.jsxs)("div",{className:"col-span-2 grid grid-cols-2 items-start gap-2",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,n.jsx)(Le,{"aria-label":`Name of ${e.columnName}`,"aria-invalid":l?!0:void 0,className:"font-mono",...i(`fields.${r}.columnName`)}),l&&(0,n.jsx)("span",{className:"text-xs text-destructive",children:l})]}),(0,n.jsx)(fr,{index:r})]})]})},mi=()=>{const e=et(),{selectedDatabase:r}=Be(),{mutateAsync:t,isPending:a}=Xe({mutationFn:async({tableName:s,schemaName:l,columnName:o,cascade:c})=>(await Ms({tableName:s,schemaName:l,columnName:o,cascade:c,db:r??""})).data.data,onSuccess:async(s,l)=>{await Promise.all([e.invalidateQueries({queryKey:be.columnsByTable(l.tableName),exact:!1}),e.invalidateQueries({queryKey:be.dataByTable(l.tableName),exact:!1}),e.invalidateQueries({queryKey:be.lists(),exact:!1})])}});return{deleteColumn:async({tableName:s,schemaName:l,columnName:o,cascade:c})=>rt.promise(t({tableName:s,schemaName:l,columnName:o,cascade:c,db:""}),{loading:"Deleting column...",success:m=>m||"Column deleted successfully",error:m=>m.message||"Failed to delete column"}),isDeletingColumn:a}},gi=({columnVirtualizer:e,renderCellAccessory:r,row:t,rowVirtualizer:a,virtualPaddingLeft:i,virtualPaddingRight:s,virtualRow:l})=>{const o=t.getVisibleCells(),c=e.getVirtualItems();return(0,n.jsxs)("tr",{"data-index":l.index,ref:m=>a.measureElement(m),className:"flex absolute w-fit border-b items-center text-sm hover:bg-accent/20 data-[state=open]:bg-accent/40 [&_svg]:size-4",style:{transform:`translateY(${l.start}px)`},children:[i?(0,n.jsx)("td",{style:{display:"flex",width:i}}):null,c.map(m=>{const v=o[m.index];return(0,n.jsxs)("td",{className:"group relative flex border-r border-border h-8 items-center px-3 truncate",style:{width:v.column.getSize()},children:[Kr(v.column.columnDef.cell,v.getContext()),r?.(v.getValue())]},v.id)}),s?(0,n.jsx)("td",{style:{display:"flex",width:s}}):null]},t.id)},hi=({columnVirtualizer:e,renderCellAccessory:r,table:t,tableContainerRef:a,virtualPaddingLeft:i,virtualPaddingRight:s})=>{const{rows:l}=t.getRowModel(),o=qr({count:l.length,estimateSize:()=>33,getScrollElement:()=>a.current,measureElement:typeof window<"u"&&navigator.userAgent.indexOf("Firefox")===-1?m=>m?.getBoundingClientRect().height:void 0,overscan:5}),c=o.getVirtualItems();return(0,n.jsx)("tbody",{style:{display:"grid",height:`${o.getTotalSize()}px`,position:"relative"},children:c.map(m=>{const v=l[m.index];return(0,n.jsx)(gi,{columnVirtualizer:e,renderCellAccessory:r,row:v,rowVirtualizer:o,virtualPaddingLeft:i,virtualPaddingRight:s,virtualRow:m},v.id)})})};function vi({header:e,table:r,label:t}){const a=r._getDefaultColumnDef(),i=(0,g.useCallback)(()=>{r.setColumnSizing(s=>{const l={...s};return delete l[e.column.id],l})},[e.column.id,r]);return(0,n.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":`Resize ${t} column`,"aria-valuenow":e.column.getSize(),"aria-valuemin":a.minSize,"aria-valuemax":a.maxSize,tabIndex:0,className:U("after:-translate-x-1/2 -right-px absolute top-0 z-50 h-full w-0.5 cursor-ew-resize touch-none select-none bg-border transition-opacity after:absolute after:inset-y-0 after:left-1/2 after:h-full after:w-[18px] after:content-[''] hover:bg-primary focus:bg-primary focus:outline-none",e.column.getIsResizing()?"bg-primary":"opacity-0 hover:opacity-100"),onDoubleClick:i,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})}var pi=(0,g.memo)(vi,(e,r)=>{const t=e.header.column,a=r.header.column;return!(t.getIsResizing()!==a.getIsResizing()||t.getSize()!==a.getSize()||e.label!==r.label)}),yi=({columnVirtualizer:e,table:r,virtualPaddingLeft:t,virtualPaddingRight:a})=>{const i=e.getVirtualItems(),s=r.getState().columnSizingInfo.isResizingColumn;return(0,n.jsx)("thead",{className:"h-9 grid sticky top-0 z-10 supports-backdrop-filter:backdrop-blur-sm",children:r.getHeaderGroups().map(l=>(0,n.jsxs)("tr",{className:U("flex w-fit bg-muted/40 border-b border-border items-center text-sm [&_svg]:size-4",s&&"pointer-events-none"),children:[t?(0,n.jsx)("th",{style:{display:"flex",width:t}}):null,i.map(o=>{const c=l.headers[o.index];return(0,n.jsxs)("th",{className:"relative h-full flex items-center border-r border-border text-xs font-medium text-muted-foreground",style:{width:c.getSize()},children:[(0,n.jsx)("div",{className:"flex w-full h-full items-center px-3",children:Kr(c.column.columnDef.header,c.getContext())}),c.column.getCanResize()&&(0,n.jsx)(pi,{header:c,table:r,label:c.column.id})]},c.id)}),a?(0,n.jsx)("th",{style:{display:"flex",width:a}}):null]},l.id))})},bi=({table:e,renderCellAccessory:r})=>{const t=e.getVisibleLeafColumns(),a=(0,g.useRef)(null),i=qr({count:t.length,estimateSize:c=>t[c].getSize(),getScrollElement:()=>a.current,horizontal:!0,overscan:3}),s=i.getVirtualItems();let l,o;return i&&s?.length&&(l=s[0]?.start??0,o=i.getTotalSize()-(s[s.length-1]?.end??0)),(0,n.jsx)("div",{className:"w-full flex-1 overflow-auto",ref:a,style:{position:"relative"},children:(0,n.jsxs)("table",{style:{display:"grid"},children:[(0,n.jsx)(yi,{columnVirtualizer:i,table:e,virtualPaddingLeft:l,virtualPaddingRight:o}),(0,n.jsx)(hi,{columnVirtualizer:i,renderCellAccessory:r,table:e,tableContainerRef:a,virtualPaddingLeft:l,virtualPaddingRight:o})]})})},xi=({columns:e,data:r,renderCellAccessory:t})=>{const a=Ja({data:r,columns:e,getCoreRowModel:Qa(),enableColumnResizing:!0,columnResizeMode:"onChange"});return(0,n.jsx)(bi,{table:a,renderCellAccessory:t})},Ci=({value:e,className:r})=>{const[t,a]=(0,g.useState)(!1),i=(0,g.useRef)(null);(0,g.useEffect)(()=>()=>{i.current&&window.clearTimeout(i.current)},[]);const s=tn(e),l=(0,g.useCallback)(async o=>{o.stopPropagation();try{await navigator.clipboard.writeText(s),a(!0)}catch(c){console.error("Failed to copy cell value:",c);return}i.current&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{a(!1)},1200)},[s]);return s?(0,n.jsx)("button",{type:"button",className:U("absolute right-0.5 top-1/2 inline-flex size-5 -translate-y-1/2 items-center justify-center","text-muted-foreground opacity-0 transition-opacity","hover:text-foreground focus-visible:opacity-100 focus-visible:outline-none","group-hover:opacity-100",r),onClick:l,"aria-label":t?"Copied":"Copy",children:t?(0,n.jsx)(tt,{className:"size-3.5"}):(0,n.jsx)(us,{className:"size-3.5"})}):null},ht=()=>{const e=Xa({strict:!1}),r=Cr.TABLE_SCHEMA in e&&e[Cr.TABLE_SCHEMA];return typeof r=="string"?r:void 0};function vt({className:e,...r}){return(0,n.jsx)(Cs,{"data-slot":"checkbox",className:U("border-input dark:bg-input/20 dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[4px] border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-[2px] aria-invalid:ring-[2px] peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:(0,n.jsx)(Ss,{"data-slot":"checkbox-indicator",className:"[&>svg]:size-3.5 grid place-content-center text-current transition-none",children:(0,n.jsx)(tt,{})})})}function Oa({...e}){return(0,n.jsx)(Vs,{"data-slot":"dropdown-menu",...e})}function Ma({...e}){return(0,n.jsx)(xs,{"data-slot":"dropdown-menu-trigger",...e})}function Pa({className:e,align:r="start",sideOffset:t=4,...a}){return(0,n.jsx)(vs,{children:(0,n.jsx)(ys,{"data-slot":"dropdown-menu-content",sideOffset:t,align:r,className:U("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-150 data-closed:duration-100 ease-out z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden",e),...a})})}function ji({...e}){return(0,n.jsx)(ps,{"data-slot":"dropdown-menu-group",...e})}function Ot({className:e,inset:r,variant:t="default",...a}){return(0,n.jsx)(ws,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":t,className:U("focus:bg-accent cursor-pointer 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-sm px-2 py-1 text-xs/relaxed [&_svg:not([class*='size-'])]:size-3.5 group/dropdown-menu-item relative flex 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",e),...a})}function gl({className:e,children:r,checked:t,...a}){return(0,n.jsxs)(As,{"data-slot":"dropdown-menu-checkbox-item",className:U("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground min-h-7 gap-2 rounded-sm py-1.5 pr-8 pl-2 text-xs [&_svg:not([class*='size-'])]:size-3.5 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),checked:t,...a,children:[(0,n.jsx)("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,n.jsx)(Fs,{children:(0,n.jsx)(tt,{})})}),r]})}function _i({className:e,...r}){return(0,n.jsx)(js,{"data-slot":"dropdown-menu-separator",className:U("bg-border/50 -mx-1 my-1 h-px",e),...r})}function hl({...e}){return(0,n.jsx)(_s,{"data-slot":"dropdown-menu-sub",...e})}function vl({className:e,inset:r,children:t,...a}){return(0,n.jsxs)(bs,{"data-slot":"dropdown-menu-sub-trigger","data-inset":r,className:U("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground min-h-7 gap-2 rounded-sm px-2 py-1 text-xs [&_svg:not([class*='size-'])]:size-3.5 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...a,children:[t,(0,n.jsx)(os,{className:"ml-auto"})]})}function pl({className:e,...r}){return(0,n.jsx)(Ns,{"data-slot":"dropdown-menu-sub-content",className:U("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-150 data-closed:duration-100 ease-out z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden",e),...r})}var wi=({index:e,isDisabled:r})=>{const{control:t}=Te(),a=Qt()?.dataModel==="document",i=Se({control:t,name:`fields.${e}.columnType`}),s=Se({control:t,name:`fields.${e}.isPrimaryKey`}),l=Se({control:t,name:`fields.${e}.isNullable`}),o=Se({control:t,name:`fields.${e}.isUnique`}),c=Se({control:t,name:`fields.${e}.isIdentity`}),m=Se({control:t,name:`fields.${e}.isArray`}),v=(0,g.useCallback)(_=>{if(a)switch(_){case"isIdentity":return!1;case"isArray":return!!i&&i!=="array";default:return!0}switch(_){case"isNullable":return!s;case"isIdentity":return!Ra.includes(i);case"isArray":return Ia.includes(i);default:return!0}},[a,s,i]),h=(0,g.useMemo)(()=>{const _={isNullable:l,isUnique:o,isIdentity:c,isArray:m};return Ur.filter(w=>v(w.name)?!!_[w.name]:!1).length},[l,o,c,m,v]);return(0,n.jsx)("div",{className:"flex items-end justify-end",children:(0,n.jsxs)(Oa,{children:[(0,n.jsx)(Ma,{asChild:!0,children:(0,n.jsxs)(ne,{"aria-label":"Advanced options",type:"button",variant:"ghost",size:"icon",disabled:r,className:"size-9 relative",children:[(0,n.jsx)(hs,{className:"size-4"}),h>0&&(0,n.jsx)(Ze,{className:"absolute -top-2 leading-0! left-full -translate-x-1/2 size-5 flex items-center justify-center text-xs",children:h>99?"99+":h})]})}),(0,n.jsx)(Pa,{className:"w-96 space-y-1",side:"bottom",align:"end",children:Ur.map(_=>v(_.name)?(0,n.jsx)(qe,{control:t,name:`fields.${e}.${_.name}`,render:({field:w})=>(0,n.jsxs)(he,{htmlFor:`${_.name}-${e}`,className:"flex items-start gap-3 rounded-lg p-3 cursor-pointer hover:bg-accent/50 has-checked:bg-primary-foreground has-checked:border-blue-600",children:[(0,n.jsx)(vt,{id:`${_.name}-${e}`,checked:!!w.value,onCheckedChange:R=>w.onChange(!!R),className:"data-[state=checked]:bg-blue-600 data-[state=checked]:border-blue-600",type:"button"}),(0,n.jsxs)("div",{className:"grid gap-1.5 font-normal",children:[(0,n.jsx)("p",{className:"text-sm leading-none font-medium",children:_.label}),(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:_.description})]})]})},_.name):null)})]})})},Ni=({index:e,showForeignKeyButton:r=!0})=>{const{openOverlay:t}=Ve(),{control:a,register:i,formState:{errors:s},watch:l}=Te(),o=r?l(`foreignKeys.${e}.referencedTable`):void 0,c=()=>{t(`table-builder.add-foreign-key-${e}`)};return(0,n.jsx)(qe,{control:a,name:`fields.${e}.columnName`,render:()=>(0,n.jsxs)("div",{className:"flex",children:[(0,n.jsx)(Le,{id:`fields.${e}.columnName`,...i(`fields.${e}.columnName`,{required:"Column name is required"}),placeholder:"column_name",className:U(r?"-me-px flex-1 rounded-e-none shadow-none focus-visible:z-10":"flex-1",s?.fields?.[e]?.columnName?"border-destructive ring-destructive ring-1":"")}),r&&(0,n.jsx)("button",{"aria-label":"Generate column name",className:U("inline-flex w-7 h-7 items-center justify-center rounded-e-md border border-input bg-background text-muted-foreground/80 text-sm outline-none transition-[color,box-shadow] hover:text-accent-foreground focus:z-10 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",o?"":"border-dashed"),type:"button",onClick:c,children:(0,n.jsx)(Gr,{"aria-hidden":"true",className:"size-3"})})]})})},$a=({index:e,isRequired:r=!0})=>{const{control:t,register:a,formState:{errors:i}}=Te();return(0,n.jsx)(qe,{control:t,name:`fields.${e}.defaultValue`,render:()=>(0,n.jsx)("div",{className:"flex flex-col gap-2",children:(0,n.jsx)(Le,{id:`fields.${e}.defaultValue`,...a(`fields.${e}.defaultValue`,r?{required:"Default value is required"}:void 0),placeholder:"NULL",className:i?.fields?.[e]?.defaultValue?"border-destructive ring-destructive ring-1":""})})})},Si=({index:e})=>{const{watch:r,control:t,register:a,setValue:i}=Te(),s=r(`fields.${e}.isPrimaryKey`);return(0,n.jsx)(qe,{control:t,name:`fields.${e}.isPrimaryKey`,render:()=>(0,n.jsx)("div",{className:"flex flex-1 items-center justify-start",children:(0,n.jsx)(vt,{id:`fields.${e}.isPrimaryKey`,...a(`fields.${e}.isPrimaryKey`),onCheckedChange:l=>{i(`fields.${e}.isPrimaryKey`,!!l),i(`fields.${e}.isNullable`,!1)},checked:s,className:"size-5"})})})},Ai=e=>({...e,defaultValue:e.defaultValue?.trim()?e.defaultValue.trim():void 0}),ki=({tableName:e,schemaName:r})=>{const t=et(),{closeOverlay:a}=Ve(),{selectedDatabase:i,dbType:s}=Be(),{mutateAsync:l,isPending:o}=Xe({mutationFn:async m=>(await Ps({tableName:e,schemaName:r,data:Ai(m),db:i})).data.data,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:be.columnsByTable(e),exact:!1}),t.invalidateQueries({queryKey:be.dataByTable(e),exact:!1})]),a("schema.add-column"),s&&Us.capture("column_added",{db_type:s})}});return{addColumn:async(m,v)=>rt.promise(l(m,v),{loading:"Adding column...",success:h=>h||"Column added successfully",error:h=>typeof h.details=="string"&&h.details||h.message||"Failed to add column"}),isAddingColumn:o}},Vi=Ue({fields:aa([Ue({columnName:jr.shape.columnName,columnType:jr.shape.columnType,defaultValue:Je(),isPrimaryKey:je(),isNullable:je(),isUnique:je(),isIdentity:je(),isArray:je()})])}),Mt={fields:[{columnName:"",columnType:"",defaultValue:"",isPrimaryKey:!1,isNullable:!0,isUnique:!1,isIdentity:!1,isArray:!1}]},Ei=()=>{const e=Te(),r=Se({control:e.control,name:"fields.0.isPrimaryKey"});return(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"grid grid-cols-4 px-2",children:[(0,n.jsx)(he,{className:"text-xs",children:"Column Name"}),(0,n.jsx)(he,{className:"text-xs",children:"Column Type"}),(0,n.jsx)(he,{className:"text-xs",children:"Default Value"}),(0,n.jsx)(he,{className:"text-xs",children:"Primary"})]}),(0,n.jsx)("div",{className:"px-2 py-3",children:(0,n.jsxs)("div",{className:"grid grid-cols-4 gap-4",children:[(0,n.jsx)(Ni,{index:0,showForeignKeyButton:!1}),(0,n.jsx)(fr,{index:0}),(0,n.jsx)($a,{index:0,isRequired:!1}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(Si,{index:0}),(0,n.jsx)(wi,{index:0,isDisabled:!!r})]})]})})]})},Fi=({tableName:e})=>{const{closeOverlay:r,isOverlayOpen:t}=Ve(),{addColumn:a,isAddingColumn:i}=ki({tableName:e,schemaName:ht()}),s=dr({mode:"onSubmit",defaultValues:Mt,resolver:cr(Vi)}),l=()=>{s.reset(Mt),r("schema.add-column")},o=async c=>{await a(c.fields[0]),s.reset(Mt)};return(0,n.jsx)(Wt,{title:"Add column",description:`Add a new column to "${e}".`,open:t("schema.add-column"),onOpenChange:c=>{c||l()},children:(0,n.jsx)(ir,{...s,children:(0,n.jsxs)("form",{onSubmit:s.handleSubmit(o),className:"space-y-6",children:[(0,n.jsx)(Ei,{}),(0,n.jsx)(Ta,{onCancel:l,isLoading:i})]})})})},Di=e=>({...e,defaultValue:e.defaultValue?.trim()?e.defaultValue.trim():null}),Ti=({tableName:e,schemaName:r,columnName:t})=>{const a=et(),{closeOverlay:i}=Ve(),{setEditingColumn:s}=gt(),{selectedDatabase:l}=Be(),{mutateAsync:o,isPending:c}=Xe({mutationFn:async v=>(await ta({tableName:e,schemaName:r,columnName:t,data:Di(v),db:l})).data.data,onSuccess:async()=>{await a.invalidateQueries({queryKey:be.columnsByTable(e),exact:!1}),s(null),i("schema.edit-column")}});return{alterColumn:async(v,h)=>rt.promise(o(v,h),{loading:"Updating column...",success:_=>_||"Column updated successfully",error:_=>typeof _.details=="string"&&_.details||_.message||"Failed to update column"}),isAlteringColumn:c}},Ri=Ue({fields:aa([Ue({columnName:Je(),columnType:_r.shape.columnType,defaultValue:Je(),isPrimaryKey:je(),isNullable:_r.shape.isNullable,isUnique:je(),isIdentity:je(),isArray:je()})])}),it=e=>({fields:[{columnName:e?.columnName??"",columnType:e?.dataTypeLabel??"",defaultValue:e?.columnDefault??"",isPrimaryKey:!1,isNullable:e?.isNullable??!0,isUnique:!1,isIdentity:!1,isArray:e?.dataType==="array"}]}),Ii=({tableName:e})=>{const{closeOverlay:r,isOverlayOpen:t}=Ve(),{editingColumn:a,setEditingColumn:i}=gt(),s=dr({mode:"onSubmit",defaultValues:it(null),resolver:cr(Ri)}),{alterColumn:l,isAlteringColumn:o}=Ti({tableName:e,schemaName:ht(),columnName:a?.columnName??""});(0,g.useEffect)(()=>{s.reset(it(a))},[a,s]);const c=()=>{i(null),s.reset(it(null)),r("schema.edit-column")},m=async v=>{await l({columnType:v.fields[0].columnType,isNullable:v.fields[0].isNullable,defaultValue:v.fields[0].defaultValue}),s.reset(it(null))};return(0,n.jsx)(Wt,{title:a?`Edit ${a.columnName}`:"Edit column",description:a?`Update the type, nullability, and default value for "${a.columnName}".`:"Update the selected column.",open:t("schema.edit-column"),onOpenChange:v=>{v||c()},children:(0,n.jsx)(ir,{...s,children:(0,n.jsxs)("form",{onSubmit:s.handleSubmit(m),className:"space-y-6",children:[(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(he,{htmlFor:"edit-column-name",children:"Column name"}),(0,n.jsx)(Le,{id:"edit-column-name",value:a?.columnName??"",readOnly:!0,disabled:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(he,{children:"Column type"}),(0,n.jsx)(fr,{index:0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(he,{children:"Default value"}),(0,n.jsx)($a,{index:0,isRequired:!1})]}),(0,n.jsx)(qe,{control:s.control,name:"fields.0.isNullable",render:({field:v})=>(0,n.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border p-3",children:[(0,n.jsx)(vt,{id:"edit-column-nullable",checked:!!v.value,onCheckedChange:h=>v.onChange(h===!0)}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(he,{htmlFor:"edit-column-nullable",className:"cursor-pointer",children:"Nullable"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Allow this column to store NULL values."})]})]})})]}),(0,n.jsx)(Ta,{onCancel:c,isLoading:o})]})})})},zi=({tableName:e,schemaName:r,columnName:t})=>{const a=et(),{selectedDatabase:i}=Be(),{mutateAsync:s,isPending:l}=Xe({mutationFn:async c=>(await ra({tableName:e,schemaName:r,columnName:t,data:c,db:i})).data.data,onSuccess:async()=>{await Promise.all([a.invalidateQueries({queryKey:be.columnsByTable(e),exact:!1}),a.invalidateQueries({queryKey:be.dataByTable(e),exact:!1})])}});return{renameColumn:async(c,m)=>rt.promise(s(c,m),{loading:"Renaming column...",success:v=>v||"Column renamed successfully",error:v=>typeof v.details=="string"&&v.details||v.message||"Failed to rename column"}),isRenamingColumn:l}},Oi=({col:e,tableName:r})=>{const{openOverlay:t}=Ve(),{setEditingColumn:a}=gt(),i=ht(),{renameColumn:s,isRenamingColumn:l}=zi({tableName:r,schemaName:i,columnName:e.columnName}),{deleteColumn:o,isDeletingColumn:c}=mi(),[m,v]=(0,g.useState)(!1),[h,_]=(0,g.useState)(!1),[w,R]=(0,g.useState)(e.columnName),[z,I]=(0,g.useState)(!1),P=()=>{a(e),t("schema.edit-column")},A=p=>{v(p),p||R(e.columnName)},M=p=>{_(p),p||I(!1)},j=async()=>{await s({newColumnName:w.trim()}),A(!1)},x=async()=>{await o({db:"",tableName:r,schemaName:i,columnName:e.columnName,cascade:z}),M(!1)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(Oa,{children:[(0,n.jsx)(Ma,{asChild:!0,children:(0,n.jsx)(ne,{variant:"ghost",size:"icon-sm",children:(0,n.jsx)(ms,{className:"size-4"})})}),(0,n.jsx)(Pa,{align:"end",className:"w-48",children:(0,n.jsxs)(ji,{children:[(0,n.jsxs)(Ot,{onClick:P,children:[(0,n.jsx)(cs,{className:"size-4"}),"Edit Column"]}),(0,n.jsxs)(Ot,{onClick:()=>A(!0),children:[(0,n.jsx)(is,{className:"size-4"}),"Rename Column"]}),(0,n.jsx)(_i,{}),(0,n.jsxs)(Ot,{variant:"destructive",onClick:()=>M(!0),children:[(0,n.jsx)(gs,{className:"size-4"}),"Drop Column"]})]})})]}),(0,n.jsx)(Mi,{columnName:e.columnName,newColumnName:w,setNewColumnName:R,isOpen:m,onOpenChange:A,onRename:j,isRenaming:l}),(0,n.jsx)(Pi,{columnName:e.columnName,isOpen:h,onOpenChange:M,cascadeDelete:z,setCascadeDelete:I,onDrop:x,isDropping:c})]})},Mi=({columnName:e,newColumnName:r,setNewColumnName:t,isOpen:a,onOpenChange:i,onRename:s,isRenaming:l})=>{const o=!r.trim()||r.trim()===e;return(0,n.jsx)(Jt,{open:a,onOpenChange:i,children:(0,n.jsxs)(Zt,{className:"max-w-md",children:[(0,n.jsxs)(Xt,{children:[(0,n.jsx)(er,{children:"Rename Column"}),(0,n.jsx)(tr,{children:"Update the column name while keeping the rest of the schema unchanged."})]}),(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(he,{htmlFor:"current-column-name",children:"Current name"}),(0,n.jsx)(Le,{id:"current-column-name",value:e,readOnly:!0,disabled:!0})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)(he,{htmlFor:"new-column-name",children:"New name"}),(0,n.jsx)(Le,{id:"new-column-name",value:r,onChange:c=>t(c.target.value),placeholder:"column_name",autoFocus:!0})]})]}),(0,n.jsxs)(fa,{className:"gap-2",children:[(0,n.jsx)(ne,{variant:"outline",onClick:()=>i(!1),disabled:l,children:"Cancel"}),(0,n.jsx)(ne,{onClick:s,disabled:o||l,children:l?"Renaming...":"Rename Column"})]})]})})},Pi=({columnName:e,isOpen:r,onOpenChange:t,cascadeDelete:a,setCascadeDelete:i,onDrop:s,isDropping:l})=>(0,n.jsx)(Jt,{open:r,onOpenChange:t,children:(0,n.jsxs)(Zt,{className:"max-w-md",children:[(0,n.jsxs)(Xt,{children:[(0,n.jsx)(er,{children:"Drop Column"}),(0,n.jsxs)(tr,{children:["Are you sure you want to drop the column"," ",(0,n.jsxs)("span",{className:"font-semibold text-foreground",children:['"',e,'"']}),"? This action cannot be undone and permanently removes the data stored in it."]})]}),(0,n.jsxs)("div",{className:"flex gap-3 rounded-lg border border-border p-3",children:[(0,n.jsx)(vt,{id:`drop-column-cascade-${e}`,checked:a,onCheckedChange:o=>i(o===!0)}),(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)(he,{htmlFor:`drop-column-cascade-${e}`,className:"cursor-pointer",children:"Drop with CASCADE"}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:"Also remove dependent indexes, constraints, and foreign key references."})]})]}),(0,n.jsxs)(fa,{className:"gap-2",children:[(0,n.jsx)(ne,{variant:"outline",onClick:()=>t(!1),disabled:l,children:"Cancel"}),(0,n.jsx)(ne,{variant:"destructive",onClick:s,disabled:l,children:l?"Dropping...":"Drop Column"})]})]})}),$i=()=>{const e=Qt();return e!==void 0&&e.dataModel!=="relational"},Li=({tableName:e,refetch:r,isRefetching:t=!1})=>{const{openOverlay:a}=Ve(),i=$i();return(0,n.jsxs)("header",{className:"max-h-8 overflow-hidden border-b border-border w-full flex items-center bg-background text-foreground sticky top-0 left-0 right-0 z-0",children:[(0,n.jsx)(ne,{type:"button",variant:"ghost",className:"size-8! aspect-square border-x-0 border-y-0 border-border rounded-none text-muted-foreground hover:text-foreground hover:bg-muted/60 transition-colors",onClick:()=>{r()},"aria-label":`Refetch schema for ${e}`,disabled:t,children:(0,n.jsx)(ss,{className:"size-4"})}),(0,n.jsx)(ne,{variant:"ghost",asChild:!0,className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2 text-muted-foreground hover:text-foreground",children:(0,n.jsxs)(Ya,{to:"/table/$table",params:{table:e},"aria-label":`View data for ${e}`,children:[(0,n.jsx)(ds,{className:"size-4"}),"View data"]})}),!i&&(0,n.jsxs)(ne,{type:"button",variant:"default",className:"h-8! border-l border-y-0 border-r-0 border-border rounded-none flex items-center gap-2",onClick:()=>a("schema.add-column"),children:[(0,n.jsx)(es,{className:"size-4"}),"Add Column"]})]})},Ui=({col:e})=>e.dataTypeLabel==="enum"&&e.enumValues&&e.enumValues.length>0?(0,n.jsxs)(Zr,{children:[(0,n.jsx)(Xr,{asChild:!0,children:(0,n.jsx)(Ze,{variant:"outline",className:"font-mono cursor-default truncate",children:e.dataTypeLabel})}),(0,n.jsx)(ea,{side:"right",children:(0,n.jsxs)("div",{className:"text-xs space-y-0.5",children:[(0,n.jsx)("p",{className:"text-muted-foreground mb-1",children:"Enum values:"}),e.enumValues.map(r=>(0,n.jsx)("p",{className:"font-mono",children:r},r))]})})]}):(0,n.jsx)(Ze,{variant:"outline",className:"font-mono",children:e.dataTypeLabel}),yl=({tableName:e})=>{const{tableCols:r,isLoadingTableCols:t,isRefetchingTableCols:a,errorTableCols:i,refetchTableCols:s}=za({tableName:e,schemaName:ht()}),l=(0,g.useMemo)(()=>[{id:"index",header:"",cell:({row:o})=>(0,n.jsx)("span",{className:"text-xs text-muted-foreground/60",children:o.index+1}),size:47,minSize:47,enableResizing:!1},{id:"columnName",header:"Name",accessorKey:"columnName",cell:({getValue:o})=>(0,n.jsx)("span",{className:"font-mono text-foreground font-medium truncate",children:o()}),minSize:100,size:200},{id:"dataTypeLabel",header:"Type",cell:({row:o})=>(0,n.jsx)(Ui,{col:o.original}),size:100,minSize:100},{id:"columnDefault",header:"Default",accessorKey:"columnDefault",cell:({getValue:o})=>{const c=o();return c?(0,n.jsx)("span",{className:"font-mono text-xs text-muted-foreground truncate",children:c}):(0,n.jsx)("span",{className:"text-muted-foreground/50",children:"—"})},minSize:100,size:180},{id:"isNullable",header:"Nullable",accessorKey:"isNullable",cell:({getValue:o})=>o()?(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"yes"}):(0,n.jsx)("span",{className:"text-xs text-muted-foreground/50",children:"no"}),minSize:100},{id:"key",header:"Key",cell:({row:o})=>{const{isPrimaryKey:c,isForeignKey:m}=o.original;return(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[c&&(0,n.jsx)(Ze,{variant:"default",className:"text-[0.6rem] px-1.5",children:"PK"}),m&&(0,n.jsx)(Ze,{variant:"secondary",className:"text-[0.6rem] px-1.5",children:"FK"})]})},minSize:100,size:90},{id:"references",header:"References",cell:({row:o})=>{const{isForeignKey:c,referencedTable:m,referencedColumn:v}=o.original;return!c||!m||!v?(0,n.jsx)("span",{className:"text-muted-foreground/50",children:"—"}):(0,n.jsxs)(Zr,{children:[(0,n.jsx)(Xr,{asChild:!0,children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground cursor-default",children:[(0,n.jsx)(Gr,{className:"size-3 text-muted-foreground/70"}),(0,n.jsxs)("span",{className:"font-mono",children:[m,".",v]})]})}),(0,n.jsx)(ea,{side:"left",children:(0,n.jsxs)("p",{children:["References"," ",(0,n.jsxs)("span",{className:"font-mono font-medium",children:[m,".",v]})]})})]})},size:160,minSize:100},{id:"actions",header:"",cell:({row:o})=>(0,n.jsx)("div",{className:"flex justify-center items-center",children:(0,n.jsx)(Oi,{col:o.original,tableName:e})}),size:50,enableResizing:!1}],[e]);return t?(0,n.jsx)("div",{className:"size-full flex items-center justify-center",children:(0,n.jsx)(Ts,{size:"size-7"})}):i?(0,n.jsxs)("div",{className:"size-full flex flex-col items-center justify-center gap-2",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:"Failed to load schema"}),(0,n.jsx)("div",{className:"text-sm text-muted-foreground",children:i.message})]}):(0,n.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden",children:[(0,n.jsx)(Li,{tableName:e,refetch:s,isRefetching:a}),(0,n.jsx)(xi,{columns:l,data:r??[],renderCellAccessory:o=>(0,n.jsx)(Ci,{value:o})}),(0,n.jsx)(Fi,{tableName:e}),(0,n.jsx)(Ii,{tableName:e})]})};export{ir as A,Tn as B,gt as C,Ta as D,fl as E,ma as F,Zt as G,ol as H,ll as I,Xt as J,tr as K,Fn as L,dr as M,Te as N,cr as O,Se as P,Dn as R,ml as S,fr as T,ul as U,En as V,Jt as W,er as Y,vt as _,Ni as a,xi as b,Pa as c,_i as d,hl as f,gl as g,Ma as h,$a as i,dl as j,qe as k,ji as l,vl as m,$i as n,wi as o,pl as p,fa as q,Si as r,Oa as s,yl as t,Ot as u,ht as v,za as w,mi as x,Ci as y,Vn as z};